/* Header + menu behaviour that cannot be expressed inline.
   SiteHeader, MegaPanel and MobileMenu apply these class names. */
.wem-nav-burger{display:none !important}
.wem-hdr-lang-label{display:inline}
@media (max-width:1240px){
  .wem-mega-grid{grid-template-columns:minmax(0,1fr) minmax(240px,34%) !important}
  .wem-mega-img img{height:180px !important}
}
@media (max-width:1100px){
  .wem-hdr-nav{gap:14px !important}
  .wem-hdr-nav > a,.wem-hdr-nav > button{font-size:11.5px !important;letter-spacing:.1em !important}
}
@media (max-width:760px){
  .wem-hdr-nav-row{display:none !important}
  .wem-nav-burger{display:flex !important}
  .wem-hdr-lang-label{display:none !important}
  .wem-mega-img{display:none !important}
  .wem-mega-grid{grid-template-columns:1fr !important}
}
@media (max-width:640px){
  .wem-hdr-hide-sm{display:none !important}
  .wem-menu-panel{width:100% !important;background:rgba(10,47,143,.9) !important}
  .wem-menu-grid{grid-template-columns:1fr !important}
  .wem-menu-big a{font-size:clamp(36px,9vw,48px) !important}
}

/* Full-screen menu — three beats: photo 700ms, blue panel +300ms, links +700ms. Closing is a plain 300ms fade. */
.wem-menu{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}
.wem-menu[data-open="1"]{opacity:1;visibility:visible;transition:opacity .15s ease}
.wem-menu-img{transform:translateX(100%)}
.wem-menu-panel{transform:translateX(100%)}
.wem-menu-inner{opacity:0;transform:translateX(40px)}
.wem-menu[data-open="1"] .wem-menu-img{transform:none;transition:transform var(--wem-dur-menu) var(--wem-ease-standard)}
.wem-menu[data-open="1"] .wem-menu-panel{transform:none;transition:transform var(--wem-dur-menu) var(--wem-ease-standard) var(--wem-menu-panel-delay)}
.wem-menu[data-open="1"] .wem-menu-inner{opacity:1;transform:none;transition:opacity .45s ease var(--wem-menu-links-delay),transform .6s var(--wem-ease-standard) var(--wem-menu-links-delay)}
.wem-menu-grid{grid-template-columns:calc(44vw - var(--wem-gutter)) minmax(0,1fr);gap:clamp(28px,4vw,64px)}
.wem-menu-big a{text-shadow:0 2px 20px rgba(0,0,0,.45);font-size:clamp(30px,3.4vw,64px)}
.wem-menu a:hover,.wem-menu a:focus-visible{color:var(--wem-sky) !important}

/* Hero copy must clear the 128px fixed header (76px utility + 52px nav). */
:root{--wem-hero-pad-top:140px; /* @kind spacing */}
@media (max-width:760px){:root{--wem-hero-pad-top:150px}}
@media (max-height:760px){:root{--wem-hero-pad-top:150px}}
