/* Slow, transform-only coastal motion. Decorative layers never receive input. */
.island-scene{position:relative;overflow:hidden;isolation:isolate}
.hero-art .logo-window{z-index:2;animation-duration:10s}
.hero-art .stamp{z-index:4}
.hero-art .art-caption{z-index:5;bottom:16px;color:#fff;letter-spacing:1.7px}
.sun-glow{position:absolute;width:430px;height:430px;top:-130px;right:-170px;border-radius:50%;background:radial-gradient(circle,#fff6c85c 0,#fff9d72e 32%,#fff0 70%);animation:sun-drift 18s ease-in-out infinite;pointer-events:none;z-index:0}
.palm{position:absolute;pointer-events:none;user-select:none;z-index:1;transform-origin:50% 98%;animation:palm-sway 10s ease-in-out infinite;object-fit:contain;object-position:bottom;width:220px;height:340px;bottom:60px;left:-72px;opacity:.28}
.palm-right{left:auto;right:-65px;bottom:175px;width:190px;height:285px;opacity:.17;scale:-1 1;animation-duration:13s;animation-delay:-5s}
.shoreline{position:absolute;left:0;bottom:-1px;width:100%;height:115px;overflow:hidden;pointer-events:none;z-index:3}
.wave{position:absolute;bottom:0;left:0;width:200%;height:90px;animation:shore-drift 19s linear infinite;fill:#09263c}
.wave-far{fill:#e6fbff;opacity:.3;bottom:24px;animation-duration:29s;animation-delay:-11s}
.wave-middle{fill:#1554ba;opacity:.45;bottom:12px;animation-duration:23s;animation-direction:reverse;animation-delay:-7s}
.wave-near{fill:#09263c;opacity:.95;animation-delay:-3s}
.order-band{padding-top:78px;padding-bottom:95px}
.order-band>div:not(.shoreline){position:relative;z-index:2}
.order-shore{height:65px;z-index:1}
.order-shore .wave{height:55px;fill:var(--paper);opacity:1}
.order-shore .wave-far{opacity:.2;bottom:15px;animation-duration:36s}
.order-shore .wave-middle{opacity:.35;bottom:7px;animation-duration:28s}
.order-shore .wave-near{animation-duration:24s}
.order-palm{left:auto;right:-45px;bottom:25px;width:200px;height:270px;opacity:.13;z-index:0;scale:-1 1;animation-delay:-3s}
.coast-strip span:nth-child(even){animation:compass-turn 24s linear infinite;display:inline-block}
.hero .actions .button span{animation:invitation 4.8s ease-in-out infinite}
footer{position:relative;flex-wrap:wrap;padding-bottom:84px}
.motion-toggle{position:absolute;right:5%;bottom:22px;display:inline-flex;gap:10px;align-items:center;color:#e0f1f2;background:transparent;border:1px solid #ffffff45;border-radius:25px;padding:7px 14px;font-size:12px;cursor:pointer}
.motion-toggle[hidden]{display:none}
.motion-toggle:hover{background:#ffffff12;border-color:#fff}
.motion-toggle:focus-visible{outline-color:#fff}
html.motion-paused *,html.motion-paused *::before,html.motion-paused *::after{animation-play-state:paused!important}
html.motion-paused .reveal{opacity:1;transform:none;transition:none}
.scene-resting *, .scene-resting::before,.scene-resting::after{animation-play-state:paused!important}
@keyframes shore-drift{to{transform:translateX(-50%)}}
@keyframes palm-sway{0%,100%{transform:rotate(-3deg) skewX(-1deg)}50%{transform:rotate(3deg) skewX(1deg)}}
@keyframes sun-drift{0%,100%{transform:translate3d(0,0,0);opacity:.65}50%{transform:translate3d(-24px,18px,0);opacity:1}}
@keyframes compass-turn{to{transform:rotate(360deg)}}
@keyframes invitation{0%,65%,100%{transform:translateY(0)}76%{transform:translateY(4px)}87%{transform:translateY(0)}}
@media(max-width:700px){
 .hero-art{min-height:460px;padding-bottom:35px}
 .hero-art .logo-window{width:73%}
 .palm{width:170px;height:260px;left:-57px;bottom:60px}
 .palm-right{left:auto;right:-42px;width:150px;height:230px;bottom:145px}
 .hero-art .stamp{bottom:23%;right:8%;width:95px;height:95px;font-size:9px}
 .hero-art .art-caption{font-size:9px;bottom:13px;letter-spacing:1px}
 .shoreline{height:85px}.wave{height:70px}
 .order-band{padding-top:50px;padding-bottom:85px}
 .order-shore{height:60px}.order-shore .wave{height:45px}
 .order-palm{left:auto;right:-55px;width:160px;height:235px;bottom:20px;opacity:.09}
 footer{padding-bottom:155px}.motion-toggle{left:6%;right:auto;bottom:97px}
}
@media(prefers-reduced-motion:reduce){
 .island-scene *, .coast-strip span, .hero .actions .button span{animation:none!important}
 .reveal{opacity:1!important;transform:none!important;transition:none!important}
 .motion-toggle{display:none}
}
