/* Text is reduced by 1px; headings keep 70% of their original size. */
.site-shell{--im-type-scale:1;--im-type-offset:1px}
.site-shell :is(h1,h2,h3,h4,h5,h6){--im-type-scale:.7;--im-type-offset:0px}
.site-footer .footer-title{--im-type-scale:.7;--im-type-offset:0px;font-size:calc((13.5px) * var(--im-type-scale, 1) - var(--im-type-offset, 1px));line-height:1.25;font-weight:bold;letter-spacing:.08em;text-transform:uppercase;color:#aed3b0;margin:.83em 0}
.site-footer .footer-logo{padding:10px 12px}
.site-footer .footer-logo img{height:58px;max-width:140px;width:auto;object-fit:contain}
.site-footer .supporters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:320px}
.site-footer .supporters>a{display:flex;align-items:center;justify-content:center;width:100%;max-width:180px;min-height:82px;padding:10px;background:#fff;border-radius:10px}
.site-footer .supporters img{width:100%;height:56px;object-fit:contain}
.site-shell .im-detail-return{display:inline-flex!important;align-items:center;gap:8px;margin-bottom:24px!important}
.im-resource-actions{display:flex;flex-direction:column;gap:16px}
.im-resource-actions>a{display:block;width:100%;text-align:center;line-height:1.5}
.single-im_ressource .sticky-panel dl>div{display:grid!important;grid-template-columns:minmax(88px,.8fr) minmax(0,1.2fr);gap:12px}
.single-im_ressource .sticky-panel :is(dt,dd){min-width:0}
.site-shell .site-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;min-height:104px;padding-top:14px!important;padding-bottom:14px!important}
.site-header>.brand,.site-header>.custom-logo-link{grid-column:1;margin:0}
.site-header .brand img,.site-header .custom-logo{height:104px!important;max-width:240px}
.site-header>.navigation-panel{grid-column:2;min-width:0}
.mobile-menu-toolbar{display:none}
.site-header .site-nav{grid-column:2;order:initial;width:auto;min-width:0}
.site-nav>.menu{justify-content:center;gap:2px}
.site-header>.reference-link{grid-column:3}
.site-nav .mobile-reference-link{display:none}
.site-nav .menu-item-has-children{display:flex;align-items:center;flex-wrap:wrap}
.site-nav a{padding:12px 9px}
.site-nav .menu-item-has-children>a{padding-right:3px}
.site-nav>.menu>li>a:hover,.site-nav>.menu>.current-menu-item>a,.site-nav>.menu>li>a[aria-current=page]{background:transparent;color:#3358a4}
.site-nav .submenu-toggle{border:0;box-shadow:none;background:transparent;color:#232f5d;border-radius:0;display:inline-flex;align-items:center;justify-content:center;width:26px;min-height:40px;padding:0}
.submenu-toggle>span{display:block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-4px}
.submenu-open>.submenu-toggle>span{transform:rotate(225deg);margin-top:3px}
.site-nav .sub-menu{left:0;top:100%;width:280px;padding:8px;border:1px solid #dfe4f2;border-radius:12px;box-shadow:0 12px 32px #232f5d1a;background:#fff}
.site-nav .sub-menu a{padding:12px 14px;line-height:1.5;border-radius:6px}
.site-nav .sub-menu a:hover,.site-nav .sub-menu a:focus-visible{background:#eef2fb;color:#232f5d}
.site-nav:not([data-im-nav-ready]) .menu-item-has-children:is(:hover,:focus-within)>.sub-menu{display:block}
.site-shell .im-catalog-layout{grid-template-columns:230px minmax(0,1fr);gap:24px}
.im-cards,.im-catalog-layout .im-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.site-shell .im-card>img,.site-shell .resource-card img{width:100%;height:clamp(220px,20vw,320px);object-fit:contain;object-position:center;background:#f4f6fc;padding:12px}
.site-shell .resource-card>.resource-image{height:auto;aspect-ratio:4/3;background-size:contain;background-repeat:no-repeat;background-color:#f4f6fc}
.im-card-body{padding:20px;gap:12px}
.im-slider__slide{min-height:470px}
.im-slider__copy{padding-top:40px;padding-bottom:110px}
/* The map uses the site's palette and keeps the existing OpenStreetMap tiles. */
.im-map-panel{border:1px solid #dfe4f2;background:#fff;border-radius:18px;box-shadow:0 8px 30px #232f5d08;padding:8px;margin-bottom:28px;overflow:hidden}
.im-map-heading{padding:18px 18px 16px}
.im-map-eyebrow{margin:0 0 6px;color:#3358a4;letter-spacing:.08em;text-transform:uppercase;font-size:calc((12px) * var(--im-type-scale, 1) - var(--im-type-offset, 1px));font-weight:bold}
.site-shell .im-map-heading h2{margin:0 0 8px;font-size:calc((24px) * var(--im-type-scale, 1) - var(--im-type-offset, 1px));color:#232f5d}
.im-map-heading .im-map-status{margin:0;color:#4b5168;font-size:calc((14px) * var(--im-type-scale, 1) - var(--im-type-offset, 1px))}
.site-shell .im-map{height:clamp(360px,34vw,500px);border:0;border-radius:12px;background:#eef2f8;margin:0;font-family:inherit}
.im-map .leaflet-tile-pane{filter:saturate(.35) contrast(.94) brightness(1.04)}
.im-map .leaflet-control-zoom{border:1px solid #dfe4f2!important;border-radius:10px;overflow:hidden;box-shadow:0 4px 14px #232f5d1f}
.im-map .leaflet-control-zoom a{width:36px;height:36px;line-height:36px;color:#232f5d;background:#fff;border-color:#dfe4f2}
.im-map .leaflet-control-zoom a:hover{background:#eef2fb;color:#3358a4}
.im-map .leaflet-control-attribution{background:#fffffff0;color:#4b5168;padding:4px 8px;border-radius:6px 0 0 0}
.im-map .leaflet-control-attribution a{color:#3358a4}
.im-map-marker{background:transparent;border:0}
.im-map-pin{position:absolute;left:3px;top:3px;display:flex;align-items:center;justify-content:center;width:30px;height:30px;transform:rotate(-45deg);background:#3358a4;border:3px solid #fff;border-radius:50% 50% 50% 0;box-shadow:0 3px 10px #232f5d55}
.im-map-pin>span{width:10px;height:10px;background:#fff;border-radius:50%}
.im-map-marker:hover .im-map-pin,.im-map-marker:focus .im-map-pin{background:#ed679c}
.im-map .leaflet-popup-content-wrapper{border:1px solid #dfe4f2;border-radius:12px;box-shadow:0 8px 24px #232f5d26;color:#3a3f52;font-family:inherit}
.im-map .leaflet-popup-content{margin:18px 22px;font-size:calc((15px) * var(--im-type-scale, 1) - var(--im-type-offset, 1px));line-height:1.65}
.im-map-popup-title{font-weight:bold;color:#232f5d!important;text-decoration:none;display:block;padding-right:12px}
.im-map-popup-title:hover{text-decoration:underline}
.im-map .leaflet-popup-content p{margin:8px 0 0;color:#4b5168}
.im-map .leaflet-popup-close-button{color:#232f5d;width:30px;height:30px;line-height:30px}
.im-map-key{display:flex;align-items:center;gap:9px;padding:14px 18px 8px;font-size:calc((13px) * var(--im-type-scale, 1) - var(--im-type-offset, 1px));color:#4b5168}
.im-map-key>span{width:10px;height:10px;background:#3358a4;border:2px solid #fff;box-shadow:0 0 0 1px #3358a4;border-radius:50%;flex:none}
@media(max-width:1279px) and (min-width:1024px){.site-shell .site-header{gap:16px}.site-header .brand img,.site-header .custom-logo{height:86px!important;max-width:200px}.site-nav a{padding-left:7px;padding-right:7px}}
@media(max-width:1023px){
  .site-shell .site-header{grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;min-height:114px;padding-top:12px!important;padding-bottom:12px!important}
  .site-header .menu-toggle{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:8px;border:0;border-radius:8px;background:transparent;color:#232f5d}
  .site-header:not(.has-menu-js) .menu-toggle{display:none}
  .menu-toggle-bars{display:flex;flex-direction:column;gap:5px;width:24px}
  .menu-toggle-bars>span{display:block;width:24px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
  .menu-toggle[aria-expanded=true] .menu-toggle-bars>span:first-child{transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] .menu-toggle-bars>span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded=true] .menu-toggle-bars>span:last-child{transform:translateY(-7px) rotate(-45deg)}
  .site-header>.brand,.site-header>.custom-logo-link{grid-column:2;grid-row:1;justify-self:center;margin:0!important}
  .site-header .brand img,.site-header .custom-logo{height:90px!important;max-width:100%;width:auto}
  .site-header>.reference-link{display:none}
  .site-header>.navigation-panel{grid-column:1/-1;grid-row:2;width:100%;min-width:0}
  .site-header .site-nav{width:100%;display:block!important;padding:10px 0 6px;border-top:1px solid #dfe4f2}
  .site-header.has-menu-js>.navigation-panel{position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;background:#fff;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-16px);transition:opacity .26s ease,transform .32s cubic-bezier(.2,.7,.2,1),visibility 0s linear .32s}
  .site-header.has-menu-js>.navigation-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition-delay:0s}
  .has-menu-js .mobile-menu-toolbar{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:center;flex:none;min-height:122px;padding:calc(16px + env(safe-area-inset-top)) clamp(20px,4.45vw,40px) 16px;background:#fff;border-bottom:1px solid #eef2fb}
  .mobile-menu-brand{grid-column:2;justify-self:center;min-width:0}
  .mobile-menu-brand .brand,.mobile-menu-brand .custom-logo-link{margin:0!important}
  .mobile-menu-brand img{height:90px!important;max-width:100%;object-fit:contain}
  .menu-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:#232f5d;padding:10px}
  .menu-close>span{position:relative;display:block;width:24px;height:24px}
  .menu-close>span::before,.menu-close>span::after{content:"";position:absolute;top:11px;left:0;width:24px;height:2px;border-radius:2px;background:currentColor;transform:rotate(45deg)}
  .menu-close>span::after{transform:rotate(-45deg)}
  .has-menu-js .navigation-panel .site-nav{flex:1;max-width:640px;margin:0 auto;padding:18px clamp(20px,4.45vw,40px) calc(32px + env(safe-area-inset-bottom));border:0}
  .has-menu-js .navigation-panel .menu>li{opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}
  .has-menu-js .navigation-panel.is-open .menu>li{opacity:1;transform:translateY(0);transition-delay:calc(var(--im-nav-order,0) * 22ms)}
  .site-nav>.menu{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:0}
  .site-nav>.menu>li{border-bottom:1px solid #eef2fb}
  .site-nav a{display:block;padding:14px 10px;font-size:calc((16px) * var(--im-type-scale, 1) - var(--im-type-offset, 1px))}
  .has-menu-js .site-nav>.menu>li>a{padding:17px 8px;font-size:calc((19px) * var(--im-type-scale, 1) - var(--im-type-offset, 1px));font-weight:600}
  .site-nav .menu-item-has-children>a{flex:1}
  .site-nav .submenu-toggle{width:44px;min-height:44px}
  .site-nav .sub-menu{position:static;flex-basis:100%;width:100%;max-width:none;border:0;border-left:2px solid #dfe4f2;border-radius:0;box-shadow:none;padding:0 0 6px 12px;margin:0 0 8px 10px}
  .site-nav:not([data-im-nav-ready]) .sub-menu{display:block}
  .site-nav .mobile-reference-link{display:block;text-align:center;margin-top:18px;padding:14px 20px;background:#ed679c;color:#fff;font-weight:bold}
  .has-menu-js .site-nav .mobile-reference-link{margin-top:28px;padding:17px 20px}
  .site-shell .im-catalog-layout{grid-template-columns:220px minmax(0,1fr);gap:20px}
  .im-cards,.im-catalog-layout .im-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){.site-shell .im-catalog-layout{grid-template-columns:minmax(0,1fr)}.im-map-heading{padding:16px 12px}.site-shell .im-map{height:360px}}
@media(max-width:900px){.im-slider__copy{padding-top:32px;padding-bottom:32px}}
@media(max-width:1000px){.site-footer .footer-title{font-size:calc((28px) * var(--im-type-scale, 1) - var(--im-type-offset, 1px))}}
@media(max-width:700px){
  .site-footer .footer-title{font-size:calc((26px) * var(--im-type-scale, 1) - var(--im-type-offset, 1px))}
  .site-shell .im-cards,.site-shell .im-catalog-layout .im-cards{grid-template-columns:minmax(0,1fr)}
  .site-shell .im-card>img{max-height:360px}
  .im-slider__slide{min-height:0}
  /* Keep iOS from zooming the page when a form field receives focus. */
  .site-shell :is(input:not([type=checkbox]):not([type=hidden]),textarea,select){font-size:16px}
}
