/* Revision: the fork is a decision gate and the two currents are real routes. */
body.at-fork,body.lagoon-locked{overflow:hidden}
.waterline .line{left:0;width:100%;transform:none}
.route{display:none!important}.contact{display:none}
body.route-lagoon #lagoon{display:block!important}body.route-deep #deep{display:block!important}
body.route-lagoon .contact,body.route-deep .contact{display:flex}
.sound{display:none}body.route-lagoon .sound,body.route-deep .sound{display:block}
.currents{height:100vh;min-height:680px;padding-top:86px;padding-bottom:54px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.currents .fathom{margin-bottom:14px}.currents h2{margin-bottom:12px}.currents>.lede{margin-bottom:34px}.current{min-height:270px;padding:58px 48px 42px;border-radius:140px 140px 14px 14px}.current h3{margin-top:22px}.fork-note{margin-top:24px;color:rgba(159,192,181,.62);letter-spacing:.12em}
.current{transition:transform 1.15s cubic-bezier(.16,1,.3,1),box-shadow 1.15s cubic-bezier(.16,1,.3,1),filter 1.15s cubic-bezier(.16,1,.3,1)}.current i{transition:transform 1.6s cubic-bezier(.16,1,.3,1),opacity 1.2s ease}.current:hover{transform:translateY(-4px);box-shadow:0 28px 80px rgba(0,0,0,.22);filter:saturate(1.04)}.current:hover i{transform:scale(1.025)}
.route-back{display:block;margin:46px auto 0;border:0;background:none;color:#9FC0B5;text-decoration:underline;text-underline-offset:5px;cursor:pointer}.route-back:hover{color:#FBF9F4}

/* Parchment behaves like preserved material suspended in moving water. */
.estate{overflow:hidden}.estate:before,.estate:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.estate:before{width:48vw;height:48vw;right:-18vw;top:18%;background:radial-gradient(circle,rgba(114,181,163,.18),transparent 68%)}.estate:after{width:36vw;height:36vw;left:-14vw;bottom:12%;background:radial-gradient(circle,rgba(217,178,95,.1),transparent 70%)}
.paper,.paper-wide{--base-y:0px;--base-rot:0deg;--hover-x:0px;--hover-y:0px;--tilt-x:0deg;--tilt-y:0deg;isolation:isolate;overflow:hidden;background-color:#EFE4CD;background-image:radial-gradient(circle at 16% 22%,rgba(255,255,255,.52) 0 1px,transparent 2px),radial-gradient(circle at 76% 68%,rgba(114,88,42,.13) 0 1px,transparent 2px),repeating-linear-gradient(7deg,rgba(112,83,39,.035) 0 1px,transparent 1px 5px),linear-gradient(135deg,rgba(255,255,255,.38),transparent 34%,rgba(119,87,39,.06));background-size:19px 23px,29px 31px,auto,auto;border:1px solid rgba(94,69,30,.2);box-shadow:0 28px 65px rgba(0,0,0,.25),inset 0 0 38px rgba(109,79,35,.09);transform:perspective(1050px) translate3d(var(--hover-x),calc(var(--base-y) + var(--hover-y)),0) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) rotateZ(var(--base-rot));transform-style:preserve-3d;will-change:transform,translate;transition:box-shadow .9s cubic-bezier(.16,1,.3,1),filter .9s cubic-bezier(.16,1,.3,1)}
.paper:before,.paper-wide:before{content:"";position:absolute;inset:9px;border:1px solid rgba(120,89,41,.12);pointer-events:none}.paper:after,.paper-wide:after{content:"WARDMERE";position:absolute;right:-8px;bottom:4px;font-size:42px;letter-spacing:.16em;color:rgba(129,93,40,.035);z-index:-1}
.paper:nth-child(1){--base-y:6px;--base-rot:-1.3deg;animation:paperFloat1 10s ease-in-out infinite}.paper:nth-child(2){--base-y:28px;--base-rot:.9deg;animation:paperFloat2 12s ease-in-out infinite}.paper:nth-child(3){--base-y:-5px;--base-rot:-.5deg;animation:paperFloat1 13.5s ease-in-out infinite reverse}.paper:nth-child(4){--base-y:10px;--base-rot:.7deg;animation:paperFloat2 11s ease-in-out infinite reverse}.paper:nth-child(5){--base-y:32px;--base-rot:-1deg;animation:paperFloat1 12.5s ease-in-out infinite}.paper:nth-child(6){--base-y:0px;--base-rot:.6deg;animation:paperFloat2 14s ease-in-out infinite}
.paper-wide{--base-rot:-.45deg;animation:paperFloat1 15s ease-in-out infinite}.foundation{--base-rot:.55deg;animation:paperFloat2 17s ease-in-out infinite}
.paper:hover,.paper:nth-child(n):hover,.paper-wide:hover{box-shadow:0 42px 95px rgba(0,0,0,.31),0 0 0 1px rgba(255,255,255,.28),inset 0 0 42px rgba(109,79,35,.07);filter:brightness(1.035) saturate(1.025)}
@keyframes paperFloat1{0%,100%{translate:0 0}32%{translate:4px -7px}68%{translate:-3px -11px}}@keyframes paperFloat2{0%,100%{translate:0 0}38%{translate:-5px -8px}74%{translate:3px -12px}}

/* Lagoon starts as a framed window, then consumes the viewport through scroll. */
.lagoon{padding:0;background:radial-gradient(circle at 50% 0,#18877D 0,#0B514D 35%,#062A2A 75%,#041D20 100%);text-align:center;overflow:hidden}
.lagoon-stage{position:relative;height:100vh;min-height:650px;display:flex;align-items:center;justify-content:center;padding-top:62px}.lagoon-stage>.fathom{position:absolute;top:92px;left:50%;translate:-50% 0;z-index:5;white-space:nowrap}
.lagoon-frame{width:340px;height:460px;min-height:0;max-width:none;margin:0;border-radius:24px;will-change:width,height,border-radius;box-shadow:0 0 0 1px rgba(244,239,227,.14),0 34px 80px rgba(0,0,0,.42);background:#0d6763}.lagoon-frame:before,.lagoon-frame:after{content:"";position:absolute;inset:-18%;z-index:2;pointer-events:none;mix-blend-mode:screen}.lagoon-frame:before{background:radial-gradient(ellipse at 20% 35%,rgba(205,255,243,.22),transparent 34%),radial-gradient(ellipse at 78% 64%,rgba(152,232,219,.18),transparent 38%);animation:lagoonDrift 14s ease-in-out infinite alternate}.lagoon-frame:after{background:repeating-radial-gradient(ellipse at 50% 50%,transparent 0 18px,rgba(211,255,246,.06) 20px 21px,transparent 24px 35px);opacity:.6;animation:lagoonBreathe 9s ease-in-out infinite}.lagoon-frame.expanded{position:absolute;inset:0;width:100vw!important;height:100vh!important;border-radius:0!important}.lagoon-frame.expanded .lagoon-title,.lagoon-frame.expanded .lagoon-cue{opacity:0!important}
#lagoonRipple{z-index:1!important}#lagoonCaustics{z-index:3!important;pointer-events:none;mix-blend-mode:screen;opacity:.92}.lagoon-tint{z-index:4!important;pointer-events:none;background:linear-gradient(180deg,rgba(4,72,72,.03),rgba(3,29,32,.38))!important}.lagoon-title{z-index:5!important;padding:25px}.lagoon-title h2{font-size:clamp(38px,5vw,60px)}.lagoon-title p{font-size:15px}.lagoon-cue{position:absolute;z-index:6;left:0;right:0;bottom:18px;display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(244,239,227,.72);font-size:10px;letter-spacing:.2em;text-transform:uppercase}.lagoon-cue i{width:18px;height:28px;border:1px solid rgba(244,239,227,.5);border-radius:20px;position:relative}.lagoon-cue i:after{content:"";position:absolute;left:7px;top:5px;width:3px;height:6px;border-radius:3px;background:#F4EFE3;animation:cueBob 1.6s ease-in-out infinite}@keyframes cueBob{50%{translate:0 8px;opacity:.35}}@keyframes lagoonDrift{0%{transform:translate3d(-4%,-2%,0) rotate(-3deg) scale(1)}100%{transform:translate3d(5%,4%,0) rotate(4deg) scale(1.08)}}@keyframes lagoonBreathe{0%,100%{transform:scale(1) rotate(0);opacity:.42}50%{transform:scale(1.09) rotate(3deg);opacity:.72}}
.lagoon-content{opacity:0;transform:translateY(45px);pointer-events:none;padding:90px max(28px,calc((100vw - 850px)/2)) 120px;background:linear-gradient(rgba(3,32,33,.88),#03191B);transition:opacity .7s,transform .7s}.lagoon-content.on{opacity:1;transform:none;pointer-events:auto}.lagoon-ledger{max-width:850px}.lagoon-content .route-back{margin-top:30px}

/* The Deep is a responsive field, not a static black page. */
.deep{position:relative;overflow:hidden}.deep-content{position:relative;z-index:2}.deep>#biolumeCanvas{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.deep-back{position:relative;z-index:3;margin:72px auto 20px}.deep-back+.trench-door-wrap{padding-top:34px}.machine-block,.engine-room,.deep-intro{position:relative}

/* A closed Trench renders nothing. An opened Trench owns the full viewport. */
.trench[aria-hidden="true"]{display:none!important}.trench.open{display:block!important;min-height:100vh;background:radial-gradient(circle at 50% 0,#07130E,#000403 55%)}
.trench-inner{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.trench h2{font-size:clamp(38px,5vw,58px);line-height:1.02;max-width:760px;font-weight:500}.trench .mono-label{font-size:10px}.trench-door-wrap button.ready{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.trench-door-wrap button.ready span{font-family:"JetBrains Mono",monospace}

@media(max-width:820px){.currents{height:auto;min-height:100vh;overflow:auto}.current-map{grid-template-columns:1fr 1fr}.current{min-height:240px;padding:30px 22px}.current h3{font-size:38px}.lagoon-stage{min-height:620px}.lagoon-frame{width:290px;height:410px}.paper:nth-child(n),.paper-wide,.foundation{--base-y:0px;--base-rot:0deg;animation-duration:14s}}
@media(max-width:560px){.currents{height:100vh;min-height:0;padding:72px 18px 18px;overflow:hidden}.currents .fathom{margin-bottom:8px}.currents h2{font-size:40px;margin-bottom:7px}.currents>.lede{font-size:16px;line-height:1.3;margin-bottom:14px}.current-map{grid-template-columns:1fr;gap:10px}.current{min-height:150px;padding:18px 24px;border-radius:70px 70px 12px 12px}.current>span{font-size:9px}.current h3{font-size:32px;margin:10px 0 2px}.current p{font-size:15px;line-height:1.25;margin-bottom:0}.fork-note{font-size:10px;margin-top:9px}.lagoon-stage>.fathom{top:84px}.lagoon-frame{width:270px;height:380px}.lagoon-title h2{font-size:38px}.lagoon-title p{font-size:13px}.lagoon-content{padding-left:20px;padding-right:20px}.trench-inner{padding-top:90px;padding-bottom:100px}}
@media(prefers-reduced-motion:reduce){.paper:nth-child(n),.paper-wide,.foundation{animation:none;--hover-x:0px!important;--hover-y:0px!important;--tilt-x:0deg!important;--tilt-y:0deg!important}.lagoon-content{transition:none}.lagoon-frame:before,.lagoon-frame:after{animation:none}#lagoonCaustics{display:none}}
