/* Shared polish: progressive enhancement only, so content stays visible without JS. */
.has-motion .reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}
.has-motion .reveal-ready.is-visible{opacity:1;transform:none}
.has-motion .reveal-ready:nth-child(2){transition-delay:.08s}.has-motion .reveal-ready:nth-child(3){transition-delay:.14s}.has-motion .reveal-ready:nth-child(4){transition-delay:.2s}
.menu a:not(.cta){position:relative}.menu a:not(.cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:#03B3E8;transition:right .22s ease}.menu a:not(.cta):hover::after,.menu a:not(.cta):focus-visible::after{right:0}
.btn,.menu .cta{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover,.menu .cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(7,19,113,.18)}
.hero-logo img{will-change:transform}.page-progress{position:fixed;z-index:100;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,#03B3E8,#1B4EB8,#F2BE01);pointer-events:none}
img{max-width:100%}html,body{overflow-x:clip}
html[lang="en"] .brand img{object-fit:contain}
@media(max-width:900px){
  .about-hero-grid{grid-template-columns:1fr!important;gap:32px;padding-top:62px!important;padding-bottom:62px!important}
  .about-mark{display:grid!important;width:min(300px,100%);min-height:190px!important;justify-self:start!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.32);padding:28px 0 0!important}
  .about-mark img{width:min(220px,68vw)!important;animation:none!important}
  .phero .hero-grid{grid-template-columns:1fr!important;gap:34px!important}
  .phero .hero-logo{display:grid!important;width:min(210px,62vw)!important;height:min(210px,62vw)!important;justify-self:start!important;margin-top:4px}
  .phero .hero-logo img{max-width:78%!important;max-height:78%!important}
}
@media(max-width:720px){
  .wrap{padding-left:18px!important;padding-right:18px!important}
  section{padding-top:58px;padding-bottom:58px}
  .hero-inner{grid-template-columns:1fr!important;gap:32px!important;padding:54px 18px 60px!important}
  .hero>.hero-inner>.hero-logo{display:block!important;justify-self:center!important}
  .hero>.hero-inner>.hero-logo img{display:block!important;width:min(230px,68vw)!important;height:auto!important;margin:auto;opacity:1!important;transform:none!important;animation:none!important}
  .about-hero h1{font-size:clamp(34px,12vw,48px)!important}
  .about-mark{justify-self:center!important;text-align:center}
  .map-shell{overflow:hidden!important}
  .map-shell .map-image{display:block!important;width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}
  .map-shell .hotspot{display:grid!important}
  .map-shell .aero-marker{display:flex!important}
  .map-legend{grid-template-columns:1fr 1fr!important}
  .map-legend a{min-height:54px}
}
@media(prefers-reduced-motion:reduce){.has-motion .reveal-ready{opacity:1;transform:none;transition:none}.page-progress{display:none}.btn,.menu .cta{transition:none}}
