/* Scoped to the replacement world, never Surface or Case Reading interiors. */
.descent-body:has(.vertical-descent){--deep-sea-master-height:2400svh;background:#041320}
.vertical-descent .downstream-world-scene,.vertical-descent .descent-layer-distant,.vertical-descent .descent-layer-middle,.vertical-descent .descent-layer-foreground,.vertical-descent .surface-look-up{display:none!important}
.vertical-descent:not(.is-vertical-ready) .descent-stage{visibility:hidden}
.vertical-descent:not(.is-vertical-ready) .vertical-darkness{opacity:.12}
.vertical-descent .descent-stage{isolation:auto;overflow:visible}
.vertical-descent .vertical-environment{position:absolute;inset:0;z-index:0;overflow:hidden;background:#061b2a;pointer-events:none}
.vertical-water,.vertical-water-preview{position:absolute;top:-18vh;left:0;width:100%;height:440vh;object-fit:cover;object-position:center top;mask-image:linear-gradient(#000 0 85%,transparent 100%)}
.vertical-water{z-index:1;filter:saturate(.65) brightness(.7);will-change:transform}
.vertical-water-preview{z-index:0;filter:saturate(.82) brightness(.77)}
.vertical-rock-filter-defs{position:absolute;width:0;height:0;overflow:hidden}
.vertical-darkness{position:absolute;inset:0;z-index:3;background:#020b17;pointer-events:none}
.vertical-rock{position:absolute;top:0;will-change:transform;pointer-events:none;filter:saturate(.6) brightness(.56);mask-image:linear-gradient(transparent,#000 12% 85%,transparent)}
.vertical-rock img{width:100%;height:100%;object-fit:fill}
.vertical-rock--middle{opacity:.44;filter:saturate(.5) brightness(.6) blur(1px)}
.vertical-rock--arch{z-index:2;opacity:.84;filter:saturate(.63) brightness(.58);mask-image:none}
.vertical-near{position:absolute;inset:0;z-index:64;overflow:hidden;pointer-events:none}
.vertical-near .vertical-rock{filter:saturate(.5) brightness(.43);opacity:.94}
.vertical-descent .vertical-content{position:absolute;inset:0;height:100%;z-index:46;transform:none!important}
.vertical-descent .vertical-content>.quiet-professional,.vertical-descent .vertical-content>.profile-coordinates{position:absolute;top:0;margin:0;opacity:1!important;filter:none!important;will-change:transform}
.vertical-descent .quiet-professional{width:min(44vw,580px)}
.vertical-descent .quiet-professional b{font-size:30px}
.vertical-descent .quiet-professional strong{font-size:15px}
.vertical-descent .quiet-professional i,.vertical-descent .quiet-professional em{font-size:13px;line-height:2}
.vertical-descent .profile-coordinates{width:min(70vw,980px);display:grid;grid-template-columns:1.35fr 1fr;gap:9vw;color:#ccdee0;font:13px/1.7 'PingFang SC',sans-serif}
.vertical-descent .profile-coordinate>span{display:block;margin-bottom:28px;color:#93b8bf;font:10px/1.4 monospace;letter-spacing:.22em}
.vertical-descent .profile-coordinate p{display:grid;grid-template-columns:1fr auto;gap:5px 15px;margin:0 0 25px}
.vertical-descent .profile-coordinate b{font-size:17px;font-weight:400}.vertical-descent .profile-coordinate i{font-style:normal}.vertical-descent .profile-coordinate em{grid-column:1/-1;color:#8eadb7;font:11px/1.7 monospace}
.vertical-descent .vertical-case{top:0;width:min(40vw,600px);min-height:0;height:auto;filter:none;transform-style:flat;opacity:var(--v2-node-alpha);cursor:pointer}
.vertical-case-route{--case-route-focus:0%;position:absolute;left:0;top:0;z-index:0;width:100%;overflow:visible;pointer-events:none;will-change:transform,opacity}
.vertical-case-route path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.vertical-case-route-base{stroke:rgba(137,183,188,.105);stroke-width:.68}
.vertical-case-route-focus{stroke:rgba(169,215,213,.28);stroke-width:.82;filter:drop-shadow(0 0 3px rgba(132,202,203,.12));-webkit-mask-image:linear-gradient(to bottom,transparent calc(var(--case-route-focus) - 3.6%),#000 calc(var(--case-route-focus) - 1.4%),#000 calc(var(--case-route-focus) + 1.4%),transparent calc(var(--case-route-focus) + 3.6%));mask-image:linear-gradient(to bottom,transparent calc(var(--case-route-focus) - 3.6%),#000 calc(var(--case-route-focus) - 1.4%),#000 calc(var(--case-route-focus) + 1.4%),transparent calc(var(--case-route-focus) + 3.6%))}
.vertical-descent .vertical-content>.quiet-professional,.vertical-descent .vertical-content>.profile-coordinates,.vertical-descent .vertical-case{z-index:1}
.vertical-case .v2-site-geology,.vertical-case .v2-hundred-mark,.vertical-case .v2-beijing-year{display:none}
.vertical-case .v2-site-index{margin-bottom:25px;color:#91b6be;font-size:10px}
.vertical-case .v2-site-meta{font-size:12px;color:#b4cfd3}
.vertical-case .v2-site-enter{position:static;display:table;margin-top:30px;font-size:10px;opacity:1;transform:none}
.vertical-case>strong{font-size:clamp(48px,6vw,94px)}
.vertical-case.v2-case-site--media>strong,.vertical-case.v2-case-site--beijing>strong{font-size:clamp(34px,4.6vw,70px)}
.vertical-descent .descent-diver{z-index:61;opacity:.88;filter:saturate(.6) brightness(.8);width:115px}
.vertical-descent .descent-onboarding{display:none}
.vertical-descent.is-case-reading .vertical-near,.vertical-descent.is-case-reading .vertical-environment{visibility:hidden}
.vertical-descent[data-motion-phase="writing"] .vertical-content{visibility:hidden}
.vertical-descent:not([data-motion-phase="writing"]) .deep-v2-world{opacity:0!important}
@media(max-width:759px){
 .vertical-descent .quiet-professional{width:76vw}.vertical-descent .quiet-professional i,.vertical-descent .quiet-professional em{font-size:11px}
 .vertical-descent .profile-coordinates{width:78vw;gap:7vw;font-size:10px}.vertical-descent .profile-coordinate p{display:block}.vertical-descent .profile-coordinate p>*{display:block}.vertical-descent .profile-coordinate b{font-size:14px}
 .vertical-descent .vertical-case{width:72vw}.vertical-descent .descent-diver{width:88px}
 .vertical-case-route{left:31%;width:72%}
 .vertical-case-route-base{stroke:rgba(151,197,200,.18);stroke-width:.8}
 .vertical-case-route-focus{stroke:rgba(181,222,218,.38);stroke-width:.98;filter:drop-shadow(0 0 4px rgba(144,207,207,.16))}
 .vertical-rock{min-width:160vw}
}
@media(prefers-reduced-motion:reduce){.vertical-descent .deep-v2-water>i{animation:none}.vertical-case-route{will-change:auto}.vertical-case-route-focus{display:none}}

.vertical-descent .quiet-professional b,.vertical-descent .quiet-professional strong,.vertical-descent .quiet-professional i,.vertical-descent .quiet-professional em{display:block;font-style:normal}
/* The scroll track is the sole camera input; transformed world objects must
   never become browser scroll anchors and feed their motion back into scrollY. */
html:has(.vertical-descent),.descent-body:has(.vertical-descent),.vertical-descent,.vertical-descent *{overflow-anchor:none}
/* The same blue/aqua environmental grade across the existing descent. */
.vertical-water{filter:saturate(1.12) brightness(.92)}
.vertical-rock{filter:saturate(1.08) brightness(.72)}
.vertical-rock--middle{filter:saturate(1.1) brightness(.78) blur(1px)}
.vertical-rock--arch{filter:saturate(1.08) brightness(.75)}
.vertical-near .vertical-rock{filter:saturate(1.06) brightness(.6)}
.vertical-descent .descent-diver{filter:saturate(.95) brightness(.95)}
.descent-body:has(.vertical-descent){--deep-sea-master-height:2050svh}
.vertical-descent .seabed-writing{position:absolute;inset:0;z-index:48;pointer-events:none;opacity:0;overflow:hidden;color:#c8edf0}
.seabed-scene{position:absolute;inset:0;background:#062438;pointer-events:none}
.seabed-scene>img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;filter:saturate(1.05) brightness(.85)}
.seabed-scene>.seabed-floor{opacity:.55}
.seabed-scene>.seabed-foreground{opacity:.22}
.seabed-writing-heading{position:absolute;left:8%;top:32%;z-index:2;color:rgba(202,226,234,.62);font:150 10px/1.2 "Helvetica Neue",Arial,sans-serif;letter-spacing:.42em}
.seabed-covers{position:absolute;inset:0;perspective:1200px;perspective-origin:50% 49%;transform-style:preserve-3d;pointer-events:none}
.seabed-cover{position:absolute;top:49%;left:50%;width:auto;height:55vh;display:block;text-decoration:none;color:#c7e4e7;transform-style:preserve-3d;will-change:transform,opacity;opacity:0;pointer-events:none;backface-visibility:hidden;transition:filter .22s ease;box-shadow:0 12px 60px rgba(0,0,0,.34)}
.seabed-cover>img{width:auto;height:100%;display:block;object-fit:contain;filter:brightness(.9) contrast(.92) saturate(.86);transition:filter .22s ease}
.seabed-cover::after{content:"";position:absolute;inset:0;pointer-events:none;background:rgba(18,48,74,.14);transition:background .22s ease}
.seabed-cover[data-writing-current="true"]::after{background:rgba(18,48,74,.105)}
.seabed-cover[data-writing-current="true"]:hover{--writing-hover-scale:1.015;--writing-hover-z:12px;filter:brightness(1.035)}
.seabed-cover[data-writing-current="true"]:hover .seabed-cover-caption>span:last-child{opacity:1;color:#d8eff0}
.seabed-cover-caption{display:flex;justify-content:space-between;margin-top:17px;font:9px/1.5 monospace;letter-spacing:.16em}
.seabed-cover-caption>span:last-child{color:#98bbc6;opacity:.42;transition:opacity .22s ease,color .22s ease}
.seabed-cover:focus-visible{outline:2px solid #eed8a5;outline-offset:8px}
.seabed-contact{position:absolute;left:50%;top:48%;width:max-content;max-width:90%;text-align:center;opacity:0;pointer-events:auto}
.seabed-contact>span{font:9px/1.5 monospace;letter-spacing:.27em;color:#a8d1dc}
.seabed-contact>a{display:block;color:#e7e4cd;text-decoration:none}
.seabed-contact strong{display:block;font:italic clamp(70px,10vw,150px)/1.2 Georgia,serif;letter-spacing:-.06em;text-shadow:0 0 45px #9ad4dd44}
.seabed-contact strong>span{display:inline-block;font:normal .3em/1 Georgia,serif;margin-left:.4em;vertical-align:middle}
.contact-number{display:block;margin-top:24px;font:clamp(16px,2vw,25px)/1.5 monospace;letter-spacing:.17em;color:#ccedf0}
.contact-ripple{position:absolute;z-index:-1;left:50%;top:50%;width:70vw;height:70vw;max-width:1000px;max-height:1000px;border:1px solid #b9e7e82e;border-radius:50%;transform:translate(-50%,-50%) scale(.4);animation:seabed-call 7s linear infinite;pointer-events:none}
.contact-ripple:nth-child(2){animation-delay:-3.5s}
@keyframes seabed-call{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}25%{opacity:.6}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
.vertical-descent.is-case-reading .seabed-writing{visibility:hidden}
.vertical-descent.is-writing-archive .descent-diver,.vertical-descent.is-writing-archive .descent-lifeline{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:759px){.seabed-cover{height:52vh;max-width:70vw}.seabed-cover-caption{font-size:8px;letter-spacing:.07em}.seabed-writing-heading{left:10%}.seabed-contact>span{font-size:7px}}
@media(prefers-reduced-motion:reduce){.contact-ripple{animation:none}.seabed-cover{will-change:opacity}}

/* Writing follows the reference corridor: a shared horizon, alternating lanes. */
@media(min-width:761px){
  .dive-descent.is-writing-archive,.dive-descent.is-writing-archive *{cursor:none!important}
  .dive-descent.is-writing-archive .cursor-layer[data-cursor-mode="reading"]{position:fixed!important;inset:0!important;z-index:140!important;display:block!important;visibility:visible!important;overflow:visible!important;pointer-events:none!important;opacity:1!important}
  .dive-descent.is-writing-archive .cursor-layer[data-cursor-mode="reading"] .glow{display:none!important}
  .dive-descent.is-writing-archive .cursor-layer[data-cursor-mode="reading"] .cursor-light{left:0;top:0;width:38px!important;height:35px!important;border-radius:48% 52% 55% 45% / 54% 43% 57% 46%!important;background:radial-gradient(ellipse at 38% 33%,#FFF8C9 0 9%,#FFF4A8 19%,rgba(244,223,121,.82) 40%,rgba(232,214,138,.42) 60%,rgba(183,231,234,.16) 74%,transparent 82%)!important;box-shadow:0 0 0 1px rgba(232,214,138,.68),0 0 12px rgba(244,223,121,.38),0 0 46px rgba(183,231,234,.15)!important;transform:translate(-50%,-50%)!important;animation:ltpo-reading-cursor-breathe 6s ease-in-out infinite!important;transition:width .22s ease,height .22s ease,border-radius .22s ease,box-shadow .22s ease!important}
  .dive-descent.is-writing-archive .cursor-layer[data-cursor-mode="reading"][data-cursor-kind="body"] .cursor-light{width:44px!important;height:39px!important}
  .dive-descent.is-writing-archive .cursor-layer[data-cursor-mode="reading"][data-cursor-kind="link"] .cursor-light{width:42px!important;height:25px!important;border-radius:60% 40% 58% 42% / 48% 62% 38% 52%!important;transform:translate(-50%,-50%) rotate(-8deg) scale(1.06,.86)!important;animation:none!important}
}

/* September polish: retain the descent and reading lifecycles. */
.water-phrase{display:inline-block!important;white-space:pre;transform-origin:0 60%}
.quiet-professional .water-phrase,.profile-coordinates .water-phrase{font:inherit;color:inherit;letter-spacing:inherit}
.water-breath{position:absolute;inset:-8%;pointer-events:none;background:radial-gradient(ellipse at 34% 0,rgba(173,223,229,.4),transparent 65%);animation:water-breath 19s ease-in-out infinite alternate}
@keyframes water-breath{to{transform:translate3d(3%,2%,0) scale(1.04);filter:brightness(.65)}}
.descent-ecology{position:absolute;inset:0;pointer-events:none;z-index:1}
.descent-ecology img{position:absolute;filter:brightness(.12) saturate(.2) blur(.7px);animation:far-fish var(--fish-duration) ease-in-out var(--fish-delay) infinite alternate}
@keyframes far-fish{to{transform:translate3d(65px,-16px,0)}}
.water-dust{position:absolute;inset:0;z-index:49;pointer-events:none;overflow:hidden}
.water-dust i{position:absolute;width:2px;height:2px;background:#a8c9cd;border-radius:50%;opacity:.4;animation:quiet-dust var(--drift) linear infinite}
.water-dust i:nth-child(3n){width:1px;height:1px;opacity:.25}
@keyframes quiet-dust{to{transform:translate3d(20px,-110px,0)}}
.descent-silt{position:absolute;inset:-12%;z-index:65;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 12% 40%,#194353 0,transparent 65%),radial-gradient(ellipse at 85% 65%,#153548 5%,transparent 70%),linear-gradient(110deg,#0a2939bb,#173f4eeb 48%,#092332cc);filter:blur(12px)}
.seabed-scene>.writing-mid-left{inset:auto auto -5% -7%;width:29%;height:100%;object-fit:contain;object-position:left bottom;opacity:.44;filter:saturate(.65) brightness(.59)}
.writing-near-right{position:absolute;bottom:-13%;right:-12%;width:36%;height:110%;object-fit:contain;object-position:right bottom;z-index:24;pointer-events:none;opacity:.53;filter:saturate(.65) brightness(.48)}
.seabed-cover{height:46vh;box-shadow:0 12px 50px #00131f33}
.seabed-cover>img{filter:brightness(.78) contrast(.88) saturate(.65)}
.seabed-cover::after,.seabed-cover[data-writing-current="true"]::after{background:rgba(24,65,83,var(--cover-haze,.16))}
.seabed-contact{z-index:26;width:min(80vw,820px)}
.seabed-contact>span{font:9px/1.5 "SF Mono",ui-monospace,monospace;letter-spacing:.24em;color:#96babc}
.contact-copy{display:block;width:100%;border:0;background:none;padding:28px 0 23px;color:#aed0ce;cursor:pointer;font:500 clamp(27px,5.8vw,76px)/1.2 Futura,"Avenir Next",sans-serif;letter-spacing:-.065em}
.contact-digits{display:flex;align-items:center;justify-content:center}
.contact-digits>span{display:inline-block;min-width:.62em;transform-origin:center 70%;transition:transform .35s cubic-bezier(.2,.7,.3,1)}
.contact-digits>.digit-gap{margin-left:.22em}
.contact-copy:focus-visible{outline:1px solid #c4d9c4;outline-offset:5px}
.seabed-contact small{font:9px/1.6 "SF Mono",ui-monospace,monospace;letter-spacing:.15em;color:#82a7ad}
.seabed-contact .contact-status{display:block;min-height:1.5em;margin-top:18px;font-size:9px;letter-spacing:.12em}
.contact-cursor-label{position:absolute;left:50%;top:calc(100% + 12px);width:max-content;transform:translateX(-50%);font:9px/1.3 "SF Mono",ui-monospace,monospace;letter-spacing:.08em;color:#d6e7df;text-shadow:0 1px 8px #031923}
.vertical-descent.is-case-reading .water-dust,.vertical-descent.is-case-reading .descent-silt{visibility:hidden}
@media(max-width:759px){.seabed-cover{height:43vh}.seabed-scene>.writing-mid-left{left:-15%;width:38%;opacity:.3}.writing-near-right{right:-24%;width:49%;opacity:.35}.contact-copy{font-size:7.2vw}.seabed-contact{width:88vw}}
@media(prefers-reduced-motion:reduce){.water-breath,.descent-ecology img,.water-dust i{animation:none}.contact-digits>span{transition:none}}
.vertical-descent .quiet-professional .water-phrase,.vertical-descent .profile-coordinates .water-phrase{font:inherit;color:inherit;letter-spacing:inherit;margin:0}
@media(min-width:760px){.vertical-descent .vertical-case{width:min(32vw,520px)}}
/* Ecology is located in world depth; only its local swimming loops use time. */
.world-school{position:absolute;top:0;width:140px;height:80px;pointer-events:none}
.descent-ecology img{filter:brightness(.17) saturate(.1) blur(.45px);animation:far-fish var(--fish-duration) ease-in-out var(--fish-delay) infinite alternate;animation-play-state:var(--school-play,paused)}
@keyframes far-fish{from{transform:translate3d(0,0,0) scaleX(var(--fish-turn))}to{transform:translate3d(var(--fish-travel),var(--fish-rise),0) scaleX(var(--fish-turn))}}
.seabed-ecology{z-index:1}.seabed-ecology img{filter:brightness(.14) blur(1.1px)}
.shallow-caustics{position:absolute;left:15%;top:-14%;width:75%;height:65%;pointer-events:none;mask-image:radial-gradient(ellipse,#000,transparent 68%);background:repeating-radial-gradient(ellipse at 20% -20%,transparent 0 32px,#c3e9e533 34px,#c3e9e566 35px,transparent 39px 85px);transform:rotate(-14deg);animation:caustic-flow 13s ease-in-out infinite alternate}
@keyframes caustic-flow{to{transform:translate3d(4%,3%,0) rotate(-10deg) scale(1.12,.94)}}
.wall-bubbles{position:absolute;top:0;left:81%;width:55px;height:120px;pointer-events:none}
.wall-bubbles i{position:absolute;bottom:0;width:4px;height:5px;border:1px solid #afdcdf99;border-radius:50%;animation:wall-bubble-rise var(--rise) linear infinite}
@keyframes wall-bubble-rise{0%{transform:translate3d(0,0,0);opacity:0}20%{opacity:.75}100%{transform:translate3d(13px,-150px,0);opacity:0}}
.vertical-rock--middle img{transform-origin:bottom center;animation:reef-current 17s ease-in-out infinite alternate}
@keyframes reef-current{to{transform:skewX(.22deg) translate3d(2px,0,0)}}
.contact-copy{font-family:"Arial Black","Helvetica Neue",Arial,sans-serif;font-weight:900;font-size:clamp(30px,5.9vw,82px);letter-spacing:-.06em}
.contact-digits>span{min-width:.62em;transform-origin:center center;transition:transform .48s cubic-bezier(.16,1,.3,1)}
@media(max-width:759px){.contact-copy{font-size:7.5vw}.world-school{transform-origin:center}.wall-bubbles{left:89%}}
@media(prefers-reduced-motion:reduce){.descent-ecology img,.shallow-caustics,.wall-bubbles i,.vertical-rock--middle img{animation:none!important}}
@font-face{font-family:'Space Grotesk';src:url('assets/fonts/space-grotesk/SpaceGrotesk-Variable.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
.contact-copy{font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:-.065em}
.seabed-contact>span:first-child{font-family:'Space Grotesk',sans-serif;font-weight:400;font-size:10px;letter-spacing:.2em}

/* Final polish: atmospheric depth without changing either reading lifecycle. */
.vertical-water{filter:saturate(.82) brightness(.77)}
.vertical-rock--middle{opacity:.32;filter:saturate(.58) brightness(.66) blur(1.4px)}
.vertical-near .vertical-rock{filter:saturate(.72) brightness(.49)}
.vertical-rock--middle img{animation:none}
.vertical-darkness{background:linear-gradient(180deg,#06243222,#031322 70%,#020b16)}
.shallow-caustics{display:none}
.water-breath{background:radial-gradient(ellipse at 39% -8%,#92c7ce55,transparent 65%);mix-blend-mode:soft-light}
.water-dust i{width:1.5px;height:1.5px;opacity:.3}
.water-dust i:nth-child(4n){width:3px;height:3px;filter:blur(.7px);opacity:.22;animation-duration:24s}
.water-dust i:nth-child(5n){width:1px;height:1px;opacity:.2;animation-duration:91s}
.water-glyph{display:inline-block;transform-origin:50% 65%;font:inherit;letter-spacing:inherit}
.vertical-case .water-phrase,.vertical-case .water-glyph{font:inherit;letter-spacing:inherit;color:inherit}
.vertical-descent .quiet-professional{color:#d0e4e5;text-shadow:0 2px 16px #041c2b55}
.vertical-descent .profile-coordinates{color:#c6dfe0}
.cave-passage{position:absolute;inset:0;z-index:66;overflow:hidden;pointer-events:none;visibility:hidden}
.cave-passage>img{position:absolute;left:-5%;bottom:-10%;width:110%;height:110%;object-fit:fill;transform-origin:58% 100%;will-change:transform}
.cave-passage-mid{filter:saturate(.56) brightness(.6) blur(.7px)}
.cave-passage-front{filter:saturate(.63) brightness(.66)}
.descent-silt{inset:-15%;z-index:67;background:url('assets/deep-descent/polish/02_transition_water_fog_overlay.png') center/cover no-repeat;filter:brightness(.44) saturate(.5) blur(3px);mix-blend-mode:screen}
.vertical-descent.is-case-reading .cave-passage{display:none}
.seabed-scene>.writing-mid-right{inset:auto -10% -6% auto;width:30%;height:99%;object-fit:contain;object-position:right bottom;opacity:.3;filter:saturate(.5) brightness(.55) blur(.7px)}
.writing-near-left{position:absolute;left:-17%;bottom:-18%;width:40%;height:112%;object-fit:contain;object-position:left bottom;z-index:24;pointer-events:none;opacity:.5;filter:saturate(.6) brightness(.42)}
.seabed-scene>.writing-mid-left{opacity:.37;filter:saturate(.55) brightness(.58) blur(.6px)}
.writing-near-right{opacity:.55;filter:saturate(.58) brightness(.43)}
.seabed-scene::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 52% 48%,#5b88901b,transparent 49%);pointer-events:none}
.writing-current{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;fill:none;stroke:#80b5b5;stroke-width:.65;mask-image:linear-gradient(transparent 30%,#000 58%,transparent 100%)}
.seabed-cover>img{filter:brightness(.76) contrast(.83) saturate(.57) blur(var(--cover-distance-blur,0px))}
.seabed-cover::after{background:rgba(24,65,83,var(--cover-haze,.16))}
@font-face{font-family:'Teko';src:url('assets/fonts/teko/Teko-Variable.ttf') format('truetype');font-weight:300 700;font-style:normal;font-display:swap}
.seabed-contact{width:min(88vw,1060px);top:49%}
.contact-connect{display:block;width:clamp(174px,46vw,180px);height:auto;margin:0 auto 38px;color:#aacac9;overflow:visible}
.contact-connect text{font:200 36px "SF Mono","Roboto Mono",ui-monospace,monospace;letter-spacing:5px}
.contact-copy{font-family:'Teko','Arial Narrow',sans-serif;font-weight:700;font-size:clamp(80px,12vw,170px);line-height:.85;letter-spacing:0;color:#a5e6d7;padding:15px 0 27px}
.contact-digits>span{min-width:0;width:.45em;transition:none}
.contact-digits>.digit-gap{margin-left:.12em}
.contact-digits i{display:block;font:inherit;transform-origin:50% 66%;will-change:transform}
.seabed-contact small{color:#9ebeba;font-size:10px;letter-spacing:.2em}
.seabed-contact .contact-status{color:#c9e5dc;min-height:16px}
@media(max-width:759px){
 .contact-connect{width:clamp(174px,46vw,180px);margin-bottom:30px}
 .contact-copy{font-size:14.9vw}
 .seabed-contact{width:92vw}
 .seabed-scene>.writing-mid-right{right:-19%;width:42%;opacity:.23}
 .writing-near-left{left:-31%;width:54%;opacity:.33}
 .writing-current{stroke-width:.85}
 .cave-passage>img{left:-30%;width:160%;transform-origin:58% 100%}
}
@media(prefers-reduced-motion:reduce){
 .water-glyph,.water-phrase,.contact-digits i{will-change:auto}
 .cave-passage{display:none}
}
.vertical-descent .quiet-professional .water-glyph,.vertical-descent .profile-coordinates .water-glyph{font:inherit;color:inherit;letter-spacing:inherit;margin:0;display:inline-block}

/* The curtain is textured water; its two irregular edges travel across the lens. */
.descent-silt{inset:0;z-index:67;background:none;filter:none;mix-blend-mode:normal;overflow:hidden;visibility:hidden}
.descent-silt>svg{display:block;width:100%;height:100%;filter:brightness(.67) saturate(.68)}
.cave-passage>img{will-change:transform}
@media(prefers-reduced-motion:reduce){.descent-silt{display:none}}

.vertical-descent .vertical-content .water-word{display:inline-block;font:inherit;color:inherit;letter-spacing:inherit;margin:0;white-space:pre}

/* Round 1: original header, near reef and continuous cave passage only. */
.vertical-descent .dive-nav>span:first-child{position:static;transform:none;max-width:55vw;text-align:left}
.cave-passage>img{left:-5%;bottom:-10%;width:110%;height:110%;object-fit:fill;transform-origin:60% 32%}
.descent-silt>svg{filter:none;overflow:visible}
.vertical-descent.is-case-reading .seabed-writing{visibility:hidden}
@media(max-width:759px){
 .cave-passage>img{left:-30%;width:160%;transform-origin:60% 32%}
 .vertical-descent .dive-nav>span:first-child{font-size:7px;max-width:50vw}
}

/* Writing uses its own soft near coral, with the middle ledges behind covers. */
.seabed-scene>.writing-mid-left{left:-8%;bottom:-9%;width:27%;height:100%;opacity:.52}
.seabed-scene>.writing-mid-right{right:-8%;bottom:-8%;width:26%;height:98%;opacity:.44}
.writing-near-left{left:-5%;bottom:-7%;width:27%;height:auto;opacity:.78;filter:saturate(.65) brightness(.58)}
.writing-near-right{right:-5%;bottom:-6%;width:29%;height:auto;opacity:.78;filter:saturate(.65) brightness(.58)}
@media(max-width:759px){
 .seabed-scene>.writing-mid-left{left:-15%;width:33%}
 .seabed-scene>.writing-mid-right{right:-15%;width:33%}
 .writing-near-left{left:-19%;width:36%}
 .writing-near-right{right:-19%;width:36%}
}

/* Environment only: suspended matter in softly lit water, not a snow overlay. */
.vertical-descent .water-dust{z-index:45;mask-image:radial-gradient(ellipse at 37% 13%,#000 20%,transparent 95%),radial-gradient(ellipse at 68% 59%,#000b 12%,transparent 88%);}
.vertical-descent .water-dust i,.vertical-descent .water-dust i:nth-child(n){width:var(--grain-size);height:var(--grain-size);background:rgba(157,192,197,var(--grain-alpha));filter:blur(var(--grain-softness,0px));animation:suspended-matter var(--drift) ease-in-out var(--grain-delay) infinite alternate;animation-play-state:var(--ambient-play,running)}
@keyframes suspended-matter{0%{transform:translate3d(0,0,0)}43%{transform:translate3d(var(--eddy-x),var(--eddy-y),0)}100%{transform:translate3d(var(--drift-x),var(--drift-y),0)}}
.vertical-descent .descent-ecology img{filter:grayscale(1) sepia(.3) hue-rotate(135deg) saturate(.45) brightness(.65) blur(.65px);animation:far-fish var(--fish-duration) ease-in-out var(--fish-delay) infinite alternate,distant-visit var(--visit-duration) ease-in-out var(--visit-delay) infinite;animation-play-state:var(--ambient-play,running);}
@keyframes distant-visit{0%,8%,52%,100%{opacity:0}19%,35%{opacity:.75}}
.vertical-descent .world-school{animation-play-state:var(--school-play,paused)}
.vertical-descent .world-school[style*="visibility: hidden"] img{animation-play-state:paused}
.vertical-descent .water-breath{background:radial-gradient(ellipse at 37% -8%,#92c7ce55,transparent 64%);mix-blend-mode:soft-light;animation:ambient-water-breath 31s ease-in-out infinite alternate;animation-play-state:var(--ambient-play,running)}
.vertical-descent .water-breath::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 68% 28%,#76a6b323,transparent 46%);animation:ambient-water-breath 43s ease-in-out -17s infinite alternate-reverse;animation-play-state:var(--ambient-play,running)}
@keyframes ambient-water-breath{from{transform:translate3d(-.6%,0,0) scale(1);opacity:.68}to{transform:translate3d(.9%,.6%,0) scale(1.015);opacity:1}}
.vertical-descent.is-case-reading .water-breath,.vertical-descent.is-case-reading .descent-ecology{visibility:hidden}
@media(max-width:759px){.vertical-descent .water-dust i:nth-child(n+45){display:none}.vertical-descent .descent-ecology img{max-width:34px}}
@media(prefers-reduced-motion:reduce){.vertical-descent .water-dust i,.vertical-descent .descent-ecology img,.vertical-descent .water-breath,.vertical-descent .water-breath::after{animation:none!important}.vertical-descent .descent-ecology{display:none}}
/* Keep distant life in open water above the water tint, below all content. */
.vertical-descent .descent-ecology{z-index:4}

/* September 14: exterior water, sparse ecology, and local text currents. */
.vertical-descent .deep-water-life{position:absolute;inset:0;z-index:44;overflow:hidden;pointer-events:none;contain:layout paint}
.vertical-descent .deep-water-life[hidden]{display:none}
.vertical-descent .deep-living-water{position:absolute;inset:0}
.vertical-descent .deep-specimen{position:absolute;left:0;top:0;color:#83a9b0;pointer-events:none;filter:blur(.35px);will-change:transform}
.vertical-descent .small-school{position:absolute;width:165px;height:58px;transform:translate(-50%,-50%) scaleX(var(--swim-heading,1))}
.vertical-descent .small-school i{position:absolute;animation:school-eddy var(--individual) ease-in-out var(--offset) infinite alternate}
.vertical-descent .small-school svg,.vertical-descent .single-swimmer svg{width:100%;height:auto;fill:currentColor;overflow:visible}
.vertical-descent .small-fish-tail{transform-origin:6px 8px;animation:fish-tail-beat var(--beat) ease-in-out var(--phase) infinite alternate}
.vertical-descent .single-swimmer{width:28px;transform:translate(-50%,-50%) scaleX(var(--swim-heading,1))}
.vertical-descent .distant-jelly{position:absolute;left:-12px;top:-20px;width:24px;height:48px;overflow:visible;fill:#81a8b04d;stroke:#92b9bf;stroke-width:.7}
.vertical-descent .jelly-bell{transform-origin:20px 25px;animation:jelly-pulse 4.6s ease-in-out infinite}
.vertical-descent .jelly-arms{transform-origin:20px 30px;animation:jelly-drift 6.8s ease-in-out infinite alternate}
@keyframes school-eddy{to{transform:translate3d(7px,-4px,0)}}
@keyframes fish-tail-beat{to{transform:scaleX(.57) scaleY(.83)}}
@keyframes jelly-pulse{0%,100%{transform:scale(1,1)}38%{transform:scale(.83,1.11)}65%{transform:scale(1.03,.96)}}
@keyframes jelly-drift{to{transform:skewX(9deg) scaleY(.93)}}
.vertical-descent.is-case-reading .deep-water-life,.vertical-descent.is-writing-archive .deep-water-life{display:none!important}
.vertical-descent .deep-water-life *{animation-play-state:var(--ambient-play,running)}
.vertical-descent .water-breath{display:none}
.vertical-descent .dive-nav>span:first-child .water-word,.vertical-descent .dive-nav>span:first-child .water-phrase,.vertical-descent .dive-nav>span:first-child .water-glyph{display:inline-block;font:inherit;letter-spacing:inherit;white-space:pre}
@media(max-width:759px){.vertical-descent .small-school{transform:translate(-50%,-50%) scale(.67) scaleX(var(--swim-heading,1))}}
@media(prefers-reduced-motion:reduce){.vertical-descent .deep-water-life{display:none!important}}

.vertical-descent .deep-water-bitmap{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:saturate(.82) brightness(.77)}
.vertical-descent .deep-water-bitmap{opacity:0}

.vertical-descent.is-case-reading .deep-water-bitmap{display:none!important}

/* One distant animal, composited from the three supplied poses. */
.vertical-descent .deep-manta{position:absolute;left:0;top:0;width:clamp(108px,15vw,205px);aspect-ratio:1456/1080;pointer-events:none;visibility:hidden;filter:grayscale(.7) sepia(.2) hue-rotate(145deg) saturate(.55) brightness(.68) blur(.65px);will-change:transform;transform-origin:50% 56%}
.vertical-descent .deep-manta img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform-origin:34% 59%}

/* Deep Sea narrow viewports: preserve the authored desktop world while giving
   the same content its own mobile spacing, safe water lane and reading scale. */
@media(max-width:900px){
 .descent-body:has(.vertical-descent){--deep-sea-master-height:1700svh}
 .vertical-descent .quiet-professional{width:min(78vw,520px);max-width:calc(100vw - 40px)}
 .vertical-descent .quiet-professional b{font-size:clamp(24px,7.2vw,30px);line-height:1.28}
 .vertical-descent .quiet-professional strong{font-size:clamp(12px,3.5vw,15px);line-height:1.55}
 .vertical-descent .quiet-professional i,.vertical-descent .quiet-professional em{font-size:clamp(11px,3.15vw,13px);line-height:1.82}
 .vertical-descent .profile-coordinates{width:min(82vw,620px);max-width:calc(100vw - 36px);gap:clamp(14px,5vw,34px);font-size:clamp(10px,2.7vw,12px);line-height:1.65}
 .vertical-descent .profile-coordinate>span{margin-bottom:20px;font-size:9px}
 .vertical-descent .profile-coordinate p{margin-bottom:21px}
 .vertical-descent .profile-coordinate b{font-size:clamp(14px,3.8vw,16px);line-height:1.4}
 .vertical-descent .profile-coordinate em{font-size:10px;line-height:1.55}
 .vertical-descent .vertical-case{box-sizing:border-box;width:min(74vw,500px);padding:0 clamp(8px,2.5vw,18px) 0 clamp(20px,5.5vw,38px)}
 .vertical-case .v2-site-index{margin-bottom:clamp(20px,3.2vh,30px)}
 .vertical-case>strong{font-size:clamp(46px,12vw,76px);line-height:.92}
 .vertical-case.v2-case-site--media>strong,.vertical-case.v2-case-site--beijing>strong{font-size:clamp(34px,8.5vw,54px);line-height:1.12}
 .vertical-case .v2-site-meta{max-width:88%;font-size:clamp(10px,2.6vw,12px);line-height:1.65}
 .vertical-case .v2-site-enter{min-height:44px;margin-top:18px;padding:12px 0 8px;font-size:9px;box-sizing:border-box}
 .vertical-case-route{left:38%;width:58%}
 .vertical-case-route-base{stroke:rgba(151,197,200,.15)}
 .vertical-descent .descent-diver{width:clamp(68px,9.5vw,82px)}
 .vertical-rock--middle{opacity:.25}
 .vertical-near .vertical-rock{min-width:0;opacity:.78}
 .vertical-near .vertical-rock[data-rock-side="left"]{-webkit-mask-image:linear-gradient(to right,#000 0 38%,rgba(0,0,0,.72) 47%,transparent 58%);mask-image:linear-gradient(to right,#000 0 38%,rgba(0,0,0,.72) 47%,transparent 58%)}
 .vertical-near .vertical-rock[data-rock-side="right"]{-webkit-mask-image:linear-gradient(to left,#000 0 38%,rgba(0,0,0,.72) 47%,transparent 58%);mask-image:linear-gradient(to left,#000 0 38%,rgba(0,0,0,.72) 47%,transparent 58%)}
 .vertical-descent .descent-lifeline{z-index:68}
 .vertical-descent .lifeline-prompt{top:48px;transform:none!important}
 .cave-passage>img{filter:brightness(.92) saturate(.82)}
 .seabed-cover{height:min(43svh,420px);max-width:calc(100vw - 42px)}
 .seabed-cover-caption{font-size:8px;letter-spacing:.08em}
 .seabed-writing-heading{left:max(20px,7vw);top:27%}
 .seabed-scene>.writing-mid-left{left:-18%;width:34%;opacity:.38}
 .seabed-scene>.writing-mid-right{right:-18%;width:34%;opacity:.31}
 .writing-near-left{left:-22%;width:38%;opacity:.54}
 .writing-near-right{right:-22%;width:38%;opacity:.54}
 .seabed-contact{width:calc(100vw - 36px);max-width:720px}
 .contact-connect{width:clamp(156px,42vw,180px);margin-bottom:clamp(24px,4vh,34px)}
 .contact-copy{min-height:64px;padding:12px 0 20px;font-size:clamp(48px,14vw,112px)}
 .seabed-contact small{font-size:9px;line-height:1.6}
 .vertical-descent .water-dust i:nth-child(n+49){display:none}
 .vertical-descent .deep-manta{width:clamp(82px,13vw,128px);filter:grayscale(.72) sepia(.2) hue-rotate(145deg) saturate(.5) brightness(.64) blur(.7px)}
 .vertical-descent:has(.polish-menu.is-open) .lifeline-prompt{opacity:0!important}

  /* Phone-only: content's parent is the stacking context. Raise that parent,
     rather than only its children, above the near reef. */
  .vertical-descent .descent-layer-content{z-index:65}
  .vertical-descent .vertical-content{z-index:auto}
  .vertical-descent .descent-diver{z-index:66}
  /* Preserve the existing narrow-layout side fade. Phones add a vertical
     source-edge feather in the stricter media query below. */
  .vertical-descent .vertical-near .vertical-rock--foreground[data-rock-side="left"]{
    -webkit-mask-image:radial-gradient(ellipse 92% 92% at 0 50%,#000 0 58%,rgba(0,0,0,.86) 72%,transparent 100%);
    mask-image:radial-gradient(ellipse 92% 92% at 0 50%,#000 0 58%,rgba(0,0,0,.86) 72%,transparent 100%);
  }
  .vertical-descent .vertical-near .vertical-rock--foreground[data-rock-side="right"]{
    -webkit-mask-image:radial-gradient(ellipse 92% 92% at 100% 50%,#000 0 58%,rgba(0,0,0,.86) 72%,transparent 100%);
    mask-image:radial-gradient(ellipse 92% 92% at 100% 50%,#000 0 58%,rgba(0,0,0,.86) 72%,transparent 100%);
  }
}
@media(max-width:760px){
  /* Intersect the existing side fade with a short top/bottom feather so
     consecutive foreground bitmaps do not expose a horizontal source edge. */
  .vertical-descent .vertical-near .vertical-rock--foreground[data-rock-side="left"]{
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 92%,transparent 100%),linear-gradient(to right,#000 0 38%,rgba(0,0,0,.72) 47%,transparent 58%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 92%,transparent 100%),linear-gradient(to right,#000 0 38%,rgba(0,0,0,.72) 47%,transparent 58%);
    mask-composite:intersect;
  }
  .vertical-descent .vertical-near .vertical-rock--foreground[data-rock-side="right"]{
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 92%,transparent 100%),linear-gradient(to left,#000 0 38%,rgba(0,0,0,.72) 47%,transparent 58%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 92%,transparent 100%),linear-gradient(to left,#000 0 38%,rgba(0,0,0,.72) 47%,transparent 58%);
    mask-composite:intersect;
  }
  .vertical-descent .vertical-rock--arch{
    opacity:.84!important;
    filter:url(#vertical-arch-alpha-hold) saturate(1.08) brightness(.75)!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
    transition:none!important;
  }
  .vertical-descent .vertical-near .vertical-rock--foreground[data-ltpo-overlay="true"]{
    opacity:calc(.78 * var(--ltpo-overlay-visibility,1));
  }
}
@media(max-width:360px){
 .vertical-descent .quiet-professional{max-width:calc(100vw - 36px)}
 .vertical-descent .profile-coordinates{width:calc(100vw - 32px);gap:12px}
 .vertical-descent .profile-coordinate>span{letter-spacing:.16em}
 .vertical-descent .vertical-case{width:78vw;padding-left:20px}
 .contact-copy{font-size:13.6vw}
}
@media(max-width:900px) and (orientation:landscape) and (max-height:560px){
 .vertical-descent .quiet-professional{width:min(64vw,520px)}
 .vertical-descent .profile-coordinates{width:min(76vw,650px);grid-template-columns:1fr 1fr}
 .vertical-descent .vertical-case{width:min(64vw,500px)}
 .seabed-cover{height:min(58svh,320px)}
 .contact-connect{width:142px;margin-bottom:16px}
 .contact-copy{font-size:clamp(52px,10vw,90px);padding-block:8px 14px}
}
