/* Motion enhances the existing layout; the static page is always usable. */
.header-tools{display:flex;align-items:center;gap:12px}
.motion-toggle{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:inherit}
.motion-icon{display:flex;gap:4px;align-items:center;justify-content:center;width:12px;height:12px}
.motion-icon i{height:10px;width:2px;background:currentColor}
.motion-toggle[aria-pressed=true] .motion-icon{width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor;margin-left:3px}
.motion-toggle[aria-pressed=true] .motion-icon i{display:none}
.page-progress{display:none;position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--secondary);transform:scaleX(0);transform-origin:left;pointer-events:none}
.motion-ready .page-progress{display:block}
html.lenis,html.lenis body{height:auto;scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent]{overscroll-behavior:contain}
.hero-art .voyage-graphic{position:relative;z-index:1}
.hero-sea-stage{position:absolute;z-index:0;pointer-events:none;overflow:hidden;clip-path:polygon(0 34.5%,10% 31%,25% 29.8%,50% 31.3%,75% 32.8%,100% 31.3%,100% 100%,0 100%)}
.hero-sea-stage canvas{display:block;width:100%;height:100%}
.hero-art.has-webgl .sea-surface{fill-opacity:0}
.hero-art.has-webgl .sea-lines{opacity:.24}
.hero-art .art-caption{z-index:2}
.voyage-ship,.floating-ice path{transform-box:fill-box;transform-origin:center}
.vision-route.lottie-ready>span{visibility:hidden}
.lottie-route-canvas{position:absolute;left:0;top:0;width:230px;height:90px}
.lottie-route-canvas svg{display:block;width:100%;height:100%}
.motion-ready .section-label{position:relative}
.motion-ready .section-label::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--secondary);transform:scaleX(var(--line-progress,1));transform-origin:left;pointer-events:none}
@media(min-width:600px){.header-tools{gap:20px}}
@media(max-width:359px){.header-tools{gap:6px}.motion-toggle{width:40px;flex-basis:40px}}
@media(prefers-reduced-motion:reduce){
  .motion-toggle{display:none}
  .motion-ready .section-label::before{transform:none}
}
