/* Shared tide reveal for both site versions. No canvas or continuous animation. */
body.intro-active{overflow:hidden}
#introScreen,.intro-screen{position:fixed;inset:0;z-index:99999;display:block;overflow:hidden;isolation:isolate;background:#07110f;color:#e7e0d2;visibility:visible;transform:translate3d(0,0,0);transition:transform .82s cubic-bezier(.76,0,.24,1) .58s,visibility 0s linear 1.42s;will-change:transform;animation:intro-failsafe-hide 5.2s steps(1,end) forwards}
#introScreen::before,#introScreen::after{display:none!important}
#introScreen:focus{outline:none}

.intro-brand{position:absolute;left:clamp(22px,4vw,60px);top:clamp(22px,4vw,54px);z-index:3;color:rgba(231,224,210,.58);font:600 10px/1 "Avenir Next","PingFang SC",sans-serif;letter-spacing:.24em;opacity:0;transform:translateY(8px);transition:opacity .48s ease .12s,transform .48s ease .12s}
.intro-copy{position:absolute;left:50%;top:39%;z-index:3;display:grid;justify-items:center;gap:13px;width:min(760px,88vw);text-align:center;pointer-events:none;opacity:0;transform:translate3d(-50%,calc(-50% + 15px),0);transition:opacity .62s ease .2s,transform .62s cubic-bezier(.22,1,.36,1) .2s}
.intro-title{color:#e7e0d2;font:500 clamp(52px,7vw,96px)/.95 "Avenir Next","PingFang SC","Hiragino Sans GB",sans-serif;letter-spacing:-.055em;text-shadow:none;opacity:1;filter:none;transform:none;transition:none}
.intro-role{color:rgba(231,224,210,.64);font:500 clamp(11px,1.1vw,14px)/1.4 "Avenir Next","PingFang SC","Hiragino Sans GB",sans-serif;letter-spacing:.12em;opacity:1;filter:none;transform:none;transition:none}
.intro-ready .intro-brand,.intro-ready .intro-copy{opacity:1}.intro-ready .intro-copy{transform:translate3d(-50%,-50%,0)}.intro-ready .intro-brand{transform:none}

.intro-tide{position:absolute;left:-3%;right:-3%;bottom:0;z-index:2;height:46%;transform:scaleY(1);transform-origin:50% 100%;transition:transform .66s cubic-bezier(.7,0,.2,1);will-change:transform}
.intro-tide svg{position:absolute;left:0;bottom:calc(100% - 1px);display:block;width:106%;height:72px;fill:#123338;transform:translate3d(-2.5%,0,0);animation:intro-wave-drift 3.4s ease-in-out infinite alternate;will-change:transform}
.intro-tide>span{position:absolute;inset:0;background:#123338}
.intro-tide::after{position:absolute;left:3%;right:3%;top:-1px;height:1px;background:rgba(184,144,93,.58);content:""}

.intro-skip{position:absolute;right:clamp(18px,3vw,42px);bottom:clamp(18px,3vw,36px);z-index:4;padding:8px 13px;border:1px solid rgba(231,224,210,.32);border-radius:4px;background:transparent;color:rgba(231,224,210,.7);font:500 11px/1 "Avenir Next","PingFang SC",sans-serif;letter-spacing:.08em;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease,color .2s ease,border-color .2s ease}
.intro-can-skip .intro-skip{opacity:1;visibility:visible;pointer-events:auto}.intro-skip:hover{border-color:rgba(231,224,210,.72);color:#e7e0d2}.intro-skip:focus-visible{outline:2px solid #b8905d;outline-offset:4px}

.intro-screen.intro-opening{transform:translate3d(0,-100%,0);pointer-events:none}
.intro-screen.intro-opening .intro-tide{transform:scaleY(2.35)}
.intro-screen.intro-opening .intro-copy{opacity:0;transform:translate3d(-50%,calc(-50% - 14px),0);transition-delay:0s;transition-duration:.34s}
.intro-screen.intro-opening .intro-brand,.intro-screen.intro-opening .intro-skip{opacity:0;visibility:hidden;pointer-events:none;transition-delay:0s}
.intro-screen.intro-fast-exit{transition-duration:.48s;transition-delay:.22s}
.intro-screen.intro-fast-exit .intro-tide{transition-duration:.3s}
.intro-screen.intro-exit{visibility:hidden;pointer-events:none}

.intro-replay{position:fixed;left:18px;bottom:18px;z-index:10000;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(184,144,93,.28);border-radius:50%;background:rgba(7,17,15,.76);color:rgba(231,224,210,.62);box-shadow:0 8px 24px rgba(0,0,0,.22);cursor:pointer;transition:color .2s ease,border-color .2s ease,transform .2s ease}
.intro-replay svg{width:18px;height:18px}.intro-replay:hover{border-color:rgba(184,144,93,.7);color:#e7e0d2;transform:rotate(-12deg)}.intro-replay:focus-visible{outline:2px solid #b8905d;outline-offset:4px}
.skip-link{position:absolute;left:-999px;top:8px;z-index:9999;padding:10px 12px;border-radius:6px;background:#07110f;color:#e7e0d2}.skip-link:focus{left:12px;outline:2px solid #b8905d;outline-offset:3px}

@keyframes intro-wave-drift{to{transform:translate3d(0,4px,0)}}
@keyframes intro-failsafe-hide{to{visibility:hidden;pointer-events:none}}

@media(max-width:720px){.intro-copy{top:37%;gap:10px}.intro-title{font-size:clamp(50px,17vw,72px)}.intro-role{font-size:11px;letter-spacing:.09em}.intro-tide{height:43%}.intro-tide svg{height:54px}.intro-replay{left:12px;bottom:12px;width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){#introScreen,.intro-screen,.intro-brand,.intro-copy,.intro-tide,.intro-skip{transition-duration:.01ms!important;transition-delay:0ms!important}.intro-tide svg{animation:none}}
