
@font-face{font-family:"ZX Sans";font-weight:300;font-display:swap;src:url(asset.a8cff79fbb18.woff2) format("woff2")}
@font-face{font-family:"ZX Sans";font-weight:400;font-display:swap;src:url(asset.95e3633b6a98.woff2) format("woff2")}
@font-face{font-family:"ZX Sans";font-weight:500;font-display:swap;src:url(asset.885f52ca6a25.woff2) format("woff2")}
@font-face{font-family:"ZX Num";font-weight:300;font-display:swap;src:url(asset.8e0eaa0d5d89.woff2) format("woff2")}
@font-face{font-family:"ZX Num";font-weight:400;font-display:swap;src:url(asset.7fff1bb22e57.woff2) format("woff2")}
:root{
  --ink:#03121B;
  --deep:#062636;
  --tide:#0C3F57;
  --text:#EAF3F5;
  --mute:#8FA9B3;
  --dim:#5E7A86;
  --accent:#74D7E8;
  --line:rgba(234,243,245,.12);
  --sans:"ZX Sans","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,sans-serif;
  --num:"ZX Num","ZX Sans",system-ui,sans-serif;
  --pad:clamp(20px,6vw,96px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.75;color:var(--text);
  background:linear-gradient(180deg,#083247 0,#052233 100vh,#031722 55%,var(--ink) 100%);
  background-color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:inherit}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
b,strong{font-weight:500}
.num{font-family:var(--num);font-variant-numeric:tabular-nums;letter-spacing:.01em}
:focus-visible{outline:1.5px solid var(--accent);outline-offset:4px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--text);color:var(--ink);padding:8px 14px;z-index:99}
.skip:focus{left:8px}

/* ---------- Type scale ---------- */
h1,h2,h3{font-weight:500;letter-spacing:-.01em}
h1,h2,.spec-t{font-feature-settings:"palt" 1}
h1{font-size:clamp(40px,5vw,76px);line-height:1.12;margin-bottom:28px;letter-spacing:-.02em}
h1 .ln{display:block}
h2{font-size:clamp(34px,4.6vw,68px);line-height:1.14;margin-bottom:24px;letter-spacing:-.02em;text-wrap:balance}
.eyebrow{font-size:15px;font-weight:400;color:var(--accent);margin-bottom:18px;letter-spacing:.04em}
.sub{font-size:clamp(16px,1.3vw,19px);color:var(--mute);max-width:36em;line-height:1.8}
.sub b{color:var(--text)}

/* ---------- Hero ---------- */
.hero-scroll{height:220vh;position:relative}
.hero{position:sticky;top:0;height:100vh;height:100svh;min-height:600px;overflow:hidden;isolation:isolate}
#stage{position:absolute;inset:0;z-index:0;touch-action:pan-y;cursor:grab}
#stage.dragging{cursor:grabbing}
#stage canvas{display:block;width:100%;height:100%}
.hero.no-gl #stage{background-size:cover;background-position:center;filter:saturate(.7) brightness(.5)}
.hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(3,18,27,.8) 0,rgba(3,18,27,.3) 40%,rgba(3,18,27,0) 62%),linear-gradient(0deg,rgba(3,18,27,.9) 0,rgba(3,18,27,0) 32%)}
.nav{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:22px var(--pad)}
.mark{font-weight:500;font-size:19px;letter-spacing:.02em;text-decoration:none;display:flex;align-items:center;gap:10px;color:var(--text)}
.mark svg{width:24px;height:24px}
.nav-links{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:400}
.nav-links a{text-decoration:none;color:var(--mute);transition:color .2s}
.nav-links a:hover{color:var(--text)}
.nav-links .nav-cta{color:var(--ink);background:var(--text);padding:7px 18px;border-radius:999px;font-weight:500}
.nav-links .nav-cta:hover{color:var(--ink);background:#fff}
.hero-copy{position:absolute;z-index:2;left:var(--pad);bottom:clamp(56px,12vh,136px);max-width:min(800px,calc(100% - 2*var(--pad)));will-change:opacity,transform}
.kicker{font-size:15px;color:var(--mute);margin-bottom:26px;display:flex;align-items:center;gap:14px;letter-spacing:.04em;font-weight:400}
.kicker .sep{width:28px;height:1px;background:var(--accent)}
.lede{font-size:clamp(16px,1.3vw,19px);color:var(--mute);max-width:32em;margin-bottom:40px;line-height:1.85}
@media (min-width:641px){h1 .ln{white-space:nowrap}}
.actions{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 30px;border-radius:999px;font-size:16px;font-weight:500;text-decoration:none;letter-spacing:.04em;transition:background-color .25s,border-color .25s,color .25s}
.btn-main{background:var(--text);color:var(--ink)}
.btn-main:hover{background:#fff}
.btn-ghost{border:1px solid rgba(234,243,245,.3);color:var(--text)}
.btn-ghost:hover{border-color:var(--text)}
.drag-hint{position:absolute;z-index:2;right:var(--pad);bottom:clamp(56px,12vh,136px);font-size:13px;color:var(--mute);text-align:right;line-height:1.7;pointer-events:none;letter-spacing:.04em}
.drag-hint span{display:block;color:var(--dim)}
.tag{position:absolute;z-index:2;left:0;top:0;pointer-events:none;font-size:13px;line-height:1.3;color:var(--text);white-space:nowrap;opacity:0;transition:opacity .4s;will-change:transform;letter-spacing:.04em}
.tag i{position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(116,215,232,.18)}
.tag em{font-style:normal;position:absolute;left:12px;top:-28px;padding:4px 10px 4px 0;border-bottom:1px solid rgba(234,243,245,.4)}
.tag.left em{left:auto;right:12px;padding:4px 0 4px 10px}
.tag.on{opacity:1}
.spec{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:clamp(44px,9vh,96px);opacity:0;pointer-events:none;will-change:opacity,transform;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}
.spec-t{font-size:clamp(28px,3vw,44px);font-weight:500;letter-spacing:-.01em;line-height:1.2}
.spec-row{display:flex;gap:clamp(24px,4vw,64px)}
.spec-row div{border-left:1px solid var(--line);padding-left:16px}
.spec-row dt{font-size:13px;color:var(--mute);letter-spacing:.06em;margin-bottom:2px}
.spec-row dd{font-size:clamp(28px,3vw,44px);line-height:1.1;font-weight:400}
.spec-row dd small{font-family:var(--sans);font-size:.4em;color:var(--mute);margin-left:4px}
/* ---------- Sections ---------- */
section.block{padding:clamp(96px,13vw,180px) var(--pad);position:relative}
section.block.tight{padding-top:clamp(48px,6vw,88px)}
section.intro{padding-bottom:clamp(40px,5vw,72px)}
.wrap{max-width:1240px;margin:0 auto}

/* photo expand */
.expand{height:200vh;position:relative}
.expand-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.expand-fig{position:absolute;inset:0;margin:0;clip-path:inset(var(--ci,18%) var(--cx,24%) round var(--cr,12px));will-change:clip-path}
.expand-fig img{width:100%;height:100%;object-fit:cover;transform:scale(var(--sc,1.12));will-change:transform}
.expand-fig::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,18,27,.88),rgba(3,18,27,0) 46%);pointer-events:none}
.expand-fig figcaption{position:absolute;z-index:1;left:var(--pad);right:var(--pad);bottom:clamp(32px,7vh,72px);opacity:var(--co,0)}
.cap-k{display:block;font-size:14px;color:var(--accent);letter-spacing:.06em;margin-bottom:12px;font-weight:400}
.expand-fig figcaption b{display:block;font-size:clamp(24px,2.8vw,40px);font-weight:500;line-height:1.3;letter-spacing:-.01em;max-width:18em}

/* bento */
.bento{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-auto-rows:minmax(190px,auto);gap:12px}
.tile{position:relative;overflow:hidden;border-radius:14px;padding:30px;background:linear-gradient(160deg,rgba(12,63,87,.42),rgba(6,38,54,.28));border:1px solid rgba(234,243,245,.08)}
.spot::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(460px circle at var(--mx,50%) var(--my,50%),rgba(116,215,232,.10),transparent 60%)}
.spot:hover::before{opacity:1}
.tk{font-size:13px;color:var(--mute);letter-spacing:.06em;margin-bottom:10px;font-weight:400}
.t-photo{grid-row:span 2;padding:0;background:#0a2533}
.t-photo img{width:100%;height:100%;object-fit:cover}
.t-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:48px 22px 18px;font-size:14px;color:var(--text);background:linear-gradient(0deg,rgba(3,18,27,.85),rgba(3,18,27,0));letter-spacing:.03em}
.t-num{display:flex;flex-direction:column}
.t-num .big{font-size:clamp(56px,6vw,92px);font-weight:300;line-height:1;margin:auto 0 14px;letter-spacing:-.01em}
.t-num p:last-child{color:var(--mute);font-size:15px}
.t-wide{grid-column:span 2}
.t-wide h3{font-size:clamp(24px,2.2vw,32px);font-weight:500;margin-bottom:12px;line-height:1.3}
.t-wide p:last-child{color:var(--mute);font-size:16px;max-width:32em}
.t-track{grid-column:1 / -1;padding:40px 30px 26px}

/* track */
.track{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.track li{position:relative;padding:30px 20px 0 0}
.track li::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(234,243,245,.16)}
.track li.done::before{background:var(--text)}
.track li.now::before{background:linear-gradient(90deg,var(--text),var(--accent))}
.track li::after{content:"";position:absolute;left:0;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--ink);border:1px solid rgba(234,243,245,.4)}
.track li.done::after{background:var(--text);border-color:var(--text)}
.track li.now::after{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 6px rgba(116,215,232,.16)}
.state{font-size:13px;color:var(--dim);margin-bottom:8px;display:block;letter-spacing:.06em}
.done .state{color:var(--mute)}
.now .state{color:var(--accent)}
.track h3{font-size:18px;font-weight:500;line-height:1.4;margin-bottom:6px}
.track p{font-size:14px;color:var(--mute);line-height:1.65}

/* promise */
.promise{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,7vw,120px);align-items:start}
.promise h2{font-size:clamp(40px,4.6vw,68px);line-height:1.14}
.promise h2 .ln{display:block;white-space:nowrap}
.traits{list-style:none;border-top:1px solid var(--line)}
.traits li{display:grid;grid-template-columns:6.5em 1fr;gap:20px;padding:26px 0;border-bottom:1px solid var(--line);align-items:baseline}
.traits b{font-size:20px;font-weight:500;letter-spacing:.02em}
.traits span{color:var(--mute)}
.fine{margin-top:26px;font-size:14.5px;color:var(--dim);line-height:1.8}

/* directions */
.dirs{display:grid;grid-template-columns:minmax(270px,4fr) 8fr;gap:clamp(24px,4vw,72px);margin-top:64px}
.tablist{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.tab{text-align:left;padding:22px 16px 22px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:3em 1fr;gap:4px 8px;align-items:baseline;position:relative;transition:color .25s;color:var(--dim)}
.tab .no{font-size:15px;color:var(--dim)}
.tab .nm{font-size:19px;font-weight:400}
.tab .gist{grid-column:2;font-size:13.5px;color:var(--dim);display:none;letter-spacing:.03em}
.tab:hover{color:var(--text)}
.tab[aria-selected="true"]{color:var(--text)}
.tab[aria-selected="true"] .nm{font-weight:500}
.tab[aria-selected="true"] .no{color:var(--accent)}
.tab[aria-selected="true"] .gist{display:block}
.tab[aria-selected="true"]::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:linear-gradient(90deg,var(--accent),transparent)}
.panel{position:relative;background:linear-gradient(160deg,rgba(12,63,87,.5),rgba(6,38,54,.25));border:1px solid rgba(234,243,245,.08);border-radius:16px;padding:clamp(28px,3.6vw,56px);overflow:hidden}
.panel[hidden]{display:none}
.p-no{position:absolute;right:clamp(20px,3vw,44px);top:clamp(4px,1vw,16px);font-size:clamp(90px,10vw,150px);line-height:1;font-weight:300;color:rgba(234,243,245,.05);pointer-events:none}
.panel h3{font-size:clamp(26px,2.6vw,38px);font-weight:500;line-height:1.25;margin-bottom:14px;position:relative}
.panel .pos{font-size:17px;color:var(--mute);margin-bottom:38px;max-width:30em;position:relative}
.cols{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;position:relative}
.panel h4{font-size:13px;font-weight:400;color:var(--accent);margin-bottom:16px;letter-spacing:.08em}
.panel ul{list-style:none}
.do li{position:relative;padding-left:20px;margin-bottom:11px;font-size:15.5px;line-height:1.6}
.do li::before{content:"";position:absolute;left:0;top:.8em;width:8px;height:1px;background:var(--mute)}
.learn{display:flex;flex-wrap:wrap;gap:8px}
.learn li{font-size:14px;padding:6px 14px;border-radius:999px;border:1px solid rgba(234,243,245,.16);color:var(--text);line-height:1.5;background:rgba(234,243,245,.03)}
.fit{margin-top:36px;padding-top:24px;border-top:1px solid var(--line);display:grid;gap:10px;font-size:14.5px;color:var(--mute);position:relative}
.fit b{display:inline-block;min-width:5em;color:var(--text);font-weight:500}
/* gains */
.gains{display:grid;grid-template-columns:repeat(4,1fr);margin-top:64px;border-top:1px solid var(--line)}
.gains div{padding:32px 28px 8px 0}
.gains div + div{padding-left:28px;border-left:1px solid var(--line)}
.g-no{font-size:15px;color:var(--accent);margin-bottom:28px}
.gains h3{font-size:22px;font-weight:500;margin-bottom:10px}
.gains p:last-child{font-size:15px;color:var(--mute)}

/* join */
.join{background:var(--ink)}
.join-grid{display:grid;grid-template-columns:1fr minmax(300px,400px);gap:clamp(40px,7vw,120px);align-items:center}
.steps{list-style:none;margin:48px 0 0;counter-reset:st}
.steps li{counter-increment:st;display:grid;grid-template-columns:56px 1fr;gap:12px;padding:24px 0;border-top:1px solid var(--line)}
.steps li::before{content:counter(st,decimal-leading-zero);font-family:var(--num);font-size:17px;color:var(--accent);line-height:1.6}
.steps h3{font-size:19px;font-weight:500;line-height:1.5;margin-bottom:4px}
.steps p{font-size:15px;color:var(--mute)}
.mail{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 6px}
.mail a{font-size:22px;color:var(--text);text-decoration:none;border-bottom:1px solid rgba(116,215,232,.6);line-height:1.3}
.mail a:hover{border-color:var(--accent)}
.copy{font-size:13px;padding:4px 14px;border-radius:999px;border:1px solid rgba(234,243,245,.24);color:var(--mute);letter-spacing:.04em}
.copy:hover{color:var(--text);border-color:var(--text)}
.card{background:linear-gradient(170deg,rgba(12,63,87,.6),rgba(6,38,54,.4));border:1px solid rgba(234,243,245,.1);border-radius:20px;padding:34px;text-align:center}
.card .when{font-size:13px;color:var(--mute);letter-spacing:.08em}
.card .date{font-size:clamp(64px,6vw,88px);font-weight:300;line-height:1.05;margin:6px 0 4px}
.card .left{font-size:14px;color:var(--accent);margin-bottom:28px;min-height:1.5em;letter-spacing:.04em}
.qr{position:relative;width:100%;max-width:240px;aspect-ratio:1;margin:0 auto 16px;border-radius:12px;border:1px dashed rgba(234,243,245,.3);display:grid;place-items:center;overflow:hidden;background:rgba(3,18,27,.4);cursor:pointer}
.qr img{width:100%;height:100%;object-fit:contain;background:#fff}
.qr .ph{font-size:13px;color:var(--mute);line-height:1.7;padding:16px}
.qr .ph b{display:block;font-size:15px;color:var(--text);margin-bottom:4px}
.qr:has(img){border:0}
.card .scan{font-size:14px;color:var(--mute);letter-spacing:.04em}

footer{padding:40px var(--pad) 56px;background:var(--ink);border-top:1px solid var(--line);font-size:13px;color:var(--dim);letter-spacing:.03em}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--text);color:var(--ink);font-weight:500;font-size:14px;padding:10px 20px;border-radius:999px;opacity:0;transition:.25s;pointer-events:none;z-index:50}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .promise,.join-grid{grid-template-columns:1fr}
  .dirs{grid-template-columns:1fr}
  .tablist{flex-direction:row;overflow-x:auto;border-top:0;border-bottom:1px solid var(--line);gap:2px;scrollbar-width:none;margin:0 calc(-1*var(--pad));padding:0 var(--pad)}
  .tablist::-webkit-scrollbar{display:none}
  .tab{border-bottom:0;padding:12px 14px 14px;grid-template-columns:auto;white-space:nowrap;flex:0 0 auto}
  .tab .no,.tab .gist{display:none!important}
  .tab .nm{font-size:15.5px}
  .tab[aria-selected="true"]::after{background:var(--accent)}
  .gains{grid-template-columns:1fr 1fr}
  .gains div:nth-child(3){padding-left:0;border-left:0}
  .gains div:nth-child(n+3){border-top:1px solid var(--line)}
  .track{grid-template-columns:1fr}
  .track li{padding:0 0 28px 30px}
  .track li::before{left:4px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .track li::after{left:0;top:6px}
  .track li.now::before{background:linear-gradient(180deg,var(--text),var(--accent))}
  .bento{grid-template-columns:1fr 1fr}
  .t-wide,.t-track{grid-column:1 / -1}
  .drag-hint,.nav-links .wide{display:none}
}
@media (max-width:640px){
  body{font-size:16px}
  br.wide{display:none}
  .hero::after{background:linear-gradient(0deg,rgba(3,18,27,.95) 0,rgba(3,18,27,.6) 44%,rgba(3,18,27,0) 70%)}
  .hero-copy{bottom:36px}
  .kicker{font-size:13px;gap:10px;margin-bottom:18px}
  .kicker .sep{width:16px}
  .lede{margin-bottom:30px}
  .btn{flex:1 1 auto;padding:0 20px}
  .cols{grid-template-columns:1fr;gap:28px}
  .traits li{grid-template-columns:1fr;gap:4px}
  .gains{grid-template-columns:1fr}
  .gains div,.gains div + div{padding:26px 0 6px;border-left:0}
  .gains div + div{border-top:1px solid var(--line)}
  .g-no{margin-bottom:12px}
  .tag{display:none}
  .hero-scroll{height:180vh}
  .expand{height:160vh}
  .bento{gap:10px}
  .t-photo{grid-column:1 / -1;grid-row:auto;aspect-ratio:4/5}
  .tile{padding:22px}
  .t-num .big{font-size:56px}
  .spec{flex-direction:column;align-items:flex-start;gap:18px}
  .spec-row{gap:18px}
  .spec-row div{padding-left:10px}
  .spec-row dd{font-size:26px}
  .mail a{font-size:19px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .hero-scroll,.expand{height:auto}
  .hero,.expand-pin{position:relative}
  .expand-pin{height:auto;padding:0 var(--pad)}
  .expand-fig{clip-path:none;aspect-ratio:4/3;border-radius:12px;overflow:hidden}
  .expand-fig img{transform:none}
  .expand-fig figcaption{opacity:1}
  .spec{display:none}
}
/* A deep-water field station: sea-glass light, dark metal and instrument lines. */
:root{--ink:#020e16;--deep:#051f2d;--tide:#075565;--accent:#9ff8e3;--text:#eff8f7;--mute:#a0b8bf;--dim:#829da8;--line:rgba(159,248,227,.16)}
body{background:radial-gradient(ellipse at 95% 40%,#07334466,transparent 45%),linear-gradient(#041b27,#020e16 75%)}
::selection{background:var(--accent);color:var(--ink)}
.reading-progress{position:fixed;z-index:90;top:0;left:0;height:2px;background:var(--accent);width:100%;transform:scaleX(0);transform-origin:left;box-shadow:0 0 16px #9ff8e377;pointer-events:none}
.hero{background:#031722}
.hero::after{background:linear-gradient(90deg,#020e16d9 0,#020e1680 34%,transparent 63%),linear-gradient(0deg,#020e16 0,transparent 35%)}
.nav{padding:24px 0;margin:0 var(--pad);border-bottom:1px solid var(--line)}
.mark{gap:12px;font-size:20px}.mark svg{width:28px;height:28px}
.nav-links a{min-height:44px;display:inline-flex;align-items:center}
.nav-links .nav-cta{border-radius:4px;padding:0 24px;background:var(--accent)}
.nav-links .nav-cta:hover{background:#c7fff2}
.hero-copy{bottom:24%;max-width:60%;pointer-events:none}
.hero-copy a{pointer-events:auto}
.kicker{font-size:13px;letter-spacing:.13em;margin-bottom:28px;color:var(--accent)}
.signal{display:inline-block;width:5px;height:5px;flex:none;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #9ff8e3aa}
h1{font-size:clamp(40px,4.45vw,72px);line-height:1.22;letter-spacing:-.04em;margin-bottom:26px}
.ocean-title{color:var(--accent)}
.lede{font-size:15px;line-height:1.9;max-width:32em;margin-bottom:32px;color:#b5cbd0}
.btn{height:52px;border-radius:4px;font-size:14px;gap:30px;letter-spacing:.06em;padding:0 24px;transition:background .25s,box-shadow .25s,transform .25s}
.btn-main{background:var(--accent)}.btn-main:hover{background:#c7fff2;box-shadow:0 0 35px #9ff8e326;transform:translateY(-3px)}
.btn-ghost{background:#061e2c66;border-color:#9ff8e34d}.btn-ghost:hover{background:#9ff8e30f;transform:translateY(-3px)}
.btn span{font-size:19px}
.ocean-word{position:absolute;z-index:1;pointer-events:none;top:16%;left:var(--pad);font:300 clamp(45px,8.7vw,160px)/1 var(--num);letter-spacing:.08em;color:#9ff8e309;white-space:nowrap}
.model-caption{position:absolute;z-index:2;right:var(--pad);top:22%;display:flex;align-items:center;gap:12px;font:400 15px var(--num);letter-spacing:.14em;pointer-events:none}
.model-caption>span:last-child{font:300 11px var(--sans);letter-spacing:.05em;color:var(--mute);border-left:1px solid var(--line);padding-left:12px}
.model-tools{position:absolute;z-index:4;right:var(--pad);bottom:20%;display:flex;gap:8px}
.model-tools button{border:1px solid #9ff8e32e;background:#03172288;backdrop-filter:blur(12px);min-height:44px;padding:0 16px;border-radius:4px;font-size:12px;color:var(--mute);transition:background .2s,color .2s,border-color .2s}
.model-tools button:hover,.model-tools button:focus-visible{color:var(--accent);border-color:var(--accent);background:#0b3442cc}
.model-tools button[aria-pressed=false]{color:var(--accent)}
.drag-hint{right:var(--pad);bottom:29%;font-size:12px;letter-spacing:.08em}.drag-hint span{font:300 12px var(--num);letter-spacing:.18em;margin-top:4px;color:var(--mute)}
.hero-bottom{position:absolute;z-index:3;left:var(--pad);right:var(--pad);bottom:28px;display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--line);padding-top:24px;font-size:11px;color:var(--mute)}
.hero-bottom>.num{font-size:13px;letter-spacing:.18em}.hero-footnote{letter-spacing:.16em}
.dive-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);min-height:44px}.dive-link .num{font-size:12px;letter-spacing:.18em;color:var(--mute)}
.scroll-line{width:1px;height:28px;background:#9ff8e333;position:relative;overflow:hidden;margin-right:5px}.scroll-line::after{content:"";position:absolute;inset:0;background:var(--accent);animation:dive 2.4s ease-in-out infinite}
@keyframes dive{0%{transform:translateY(-100%)}70%,100%{transform:translateY(100%)}}
.depth-rail{position:absolute;right:20px;top:37%;height:170px;display:flex;flex-direction:column;align-items:center;gap:12px;color:#9ff8e373;font:300 10px var(--num);letter-spacing:.15em;pointer-events:none}
.depth-rail i{height:100%;width:5px;background:repeating-linear-gradient(0deg,#9ff8e333 0 1px,transparent 1px 12px)}
.spec{bottom:22%;padding-top:24px;border-top:1px solid var(--line)}
.spec-t::before{content:"GEN 02 / ENGINEERING";display:block;font:300 13px var(--num);letter-spacing:.15em;color:var(--accent);margin-bottom:12px}
.inspect-mode .model-tools{top:110px;bottom:auto}
section.block{isolation:isolate}
section.block::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 90% 15%,#07556522,transparent 65%)}
.eyebrow{font-size:12px;letter-spacing:.18em;display:flex;align-items:center;gap:14px}.eyebrow::before{content:"";width:28px;height:1px;background:var(--accent)}
.tile,.panel,.card{border-radius:8px;border-color:var(--line);background:linear-gradient(135deg,#0b3140a3,#051c29b3)}
.tile{transition:border-color .3s,transform .3s,box-shadow .3s}.tile:hover{border-color:#9ff8e366;box-shadow:0 16px 48px #0003}
.spot::before{background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),#9ff8e31f,transparent 70%)}
.t-photo{padding:0!important}.t-photo img{transition:transform .7s}.t-photo:hover img{transform:scale(1.035)}
.t-num .big{color:var(--accent)}.t-num{background:radial-gradient(ellipse at 100% 0,#0b53694d,transparent 70%),#051c29}
.traits li{transition:padding .3s,background .3s}.traits li:hover{padding-left:16px;background:linear-gradient(90deg,#9ff8e309,transparent)}
.tab{padding-left:14px;transition:color .25s,background .25s}.tab[aria-selected=true]{background:linear-gradient(90deg,#9ff8e30d,transparent)}
.panel:not([hidden]){animation:panel-in .4s ease both}@keyframes panel-in{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}
.panel::after{content:"";position:absolute;right:-80px;bottom:-130px;width:300px;height:300px;border:1px solid #9ff8e312;border-radius:50%;box-shadow:0 0 0 35px #9ff8e305,0 0 0 70px #9ff8e303;pointer-events:none}
.gains div{transition:background .3s}.gains div:hover{background:linear-gradient(#9ff8e30b,transparent)}
.join{background:radial-gradient(ellipse at 80% 50%,#07556544,transparent 60%),var(--ink)}
.card{position:relative;box-shadow:0 30px 100px #0003}.card::before{content:"";position:absolute;top:-1px;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.card .date{color:var(--accent)}.copy{min-height:44px}.qr{border-radius:4px}
.reveal-ready{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.reveal-ready.in-view{opacity:1;transform:none}
.no-gl .model-tools,.no-gl .drag-hint,.no-gl .model-caption,.no-gl .depth-rail{display:none}
@media(min-width:1500px){.hero-copy{bottom:25%}.lede{font-size:17px}}
@media(max-width:1000px){.hero-copy{max-width:73%;bottom:24%}.hero-footnote,.depth-rail{display:none}.model-caption{top:18%}.nav-links{gap:18px}.model-tools{bottom:17%}.drag-hint{display:none}}
@media (min-width:641px) and (max-width:999px), (min-width:641px) and (max-aspect-ratio:1.1/1){
  .hero{min-height:900px}.hero-copy{bottom:150px;max-width:88%}h1{font-size:clamp(36px,4.4vw,52px)}
  .model-caption{left:var(--pad);right:auto;top:130px}.model-tools{top:164px;bottom:auto}
  .ocean-word{top:24%}.drag-hint,.depth-rail,.hero-footnote{display:none}
}
@media(max-width:640px){
  .nav{padding:14px 0}.mark{font-size:18px}.nav-links .nav-cta{padding:0 20px}
  .hero{min-height:740px}.hero::after{background:linear-gradient(0deg,#020e16 0,#020e16d9 24%,#020e1688 44%,transparent 66%)}
  .hero-copy{max-width:calc(100% - 40px);bottom:115px}.kicker{font-size:10px;letter-spacing:.09em;gap:9px;margin-bottom:16px}.kicker .sep{width:12px}
  h1{font-size:clamp(28px,7.65vw,42px);line-height:1.25;margin-bottom:16px}h1 .ln{white-space:nowrap}
  .lede{font-size:12px;line-height:1.85;margin-bottom:20px;max-width:29em}.btn{height:46px;min-height:44px;padding:0 16px;gap:12px;font-size:12px;flex:0 1 auto}
  .actions{gap:10px}.model-caption{left:20px;right:auto;top:106px;font-size:13px;gap:8px}.model-caption>span:last-child{font-size:10px}
  .model-tools{bottom:auto;top:140px;right:20px;gap:6px}.model-tools button{padding:0 10px;font-size:10px;min-height:44px;background:#0317224d}
  .ocean-word{top:24%;left:20px;font-size:47px;color:#9ff8e30c;letter-spacing:.07em}
  .hero-bottom{left:20px;right:20px;bottom:16px;padding-top:14px;gap:12px}.hero-bottom>.num{font-size:10px;letter-spacing:.1em}.dive-link{font-size:10px;gap:8px}.dive-link .num{display:none}
  .spec{bottom:140px}.spec-t{font-size:28px}.spec-row{gap:18px}.spec-row dd{font-size:24px}
  .panel,.card{border-radius:6px}.p-no{font-size:100px}.tab{padding-left:14px}.eyebrow{font-size:11px}.sub{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  .reveal-ready{opacity:1;transform:none}.expand-fig{position:relative}.expand-pin{overflow:visible}
  .scroll-line::after{transform:none}.ocean-word{display:none}
}
/* The same water field continues behind every scene. */
body{background:var(--ink);isolation:isolate}
#ocean-world{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 75% 0,#115b65,#031722 65%)}
#ocean-world canvas{display:block;width:100%;height:100%}
#ocean-world::after{content:"";position:absolute;inset:0;background:#020e16;opacity:0;transition:opacity 1s}
.reading-content #ocean-world::after{opacity:.46}
.hero-scroll,main,.voyage-footer{position:relative;z-index:1}
.hero{background:none}.hero-scroll{height:210vh}
.hero-copy .lede{max-width:29em;line-height:1.85}
.mark .brand-symbol{width:44px;height:36px;flex:none}
.nav-links a{color:#d1e4e5;text-shadow:0 1px 12px #001016}.nav-links .nav-cta{text-shadow:none}
.motion-control{position:fixed;right:20px;bottom:16px;z-index:60;border:1px solid #9ff8e340;background:#031722e8;backdrop-filter:blur(12px);border-radius:5px;padding:0 15px;min-height:44px;font-size:11px;color:#bfd5d8;letter-spacing:.05em;box-shadow:0 5px 20px #0003}
.motion-control:hover{border-color:var(--accent);color:var(--accent)}.motion-control span{display:inline-block;margin-right:5px}.motion-control:disabled{cursor:default}
main{background:linear-gradient(90deg,#020e1677,transparent 75%)}
.voyage-section{padding:110px var(--pad);scroll-margin-top:25px;position:relative}
.voyage-section .wrap{max-width:1320px}
.section-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:end;margin-bottom:48px}
.voyage-section h2{font-size:clamp(36px,4.1vw,64px);line-height:1.2;letter-spacing:-.04em;margin-bottom:0}
.voyage-section h2 span{color:var(--accent)}
.section-intro{font-size:16px;line-height:1.95;color:#b4c9d0;max-width:36em}
.mini-label{font-size:11px;letter-spacing:.14em;color:var(--accent);font-weight:400}
.mini-label .num{color:var(--mute);font-size:12px;letter-spacing:.16em}
.glass-panel{position:relative;border:1px solid #9ff8e32e;border-radius:12px;overflow:hidden;background:linear-gradient(125deg,#092b37cf,#041923d9);box-shadow:0 25px 100px #0002}
.glass-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(550px circle at var(--mx,80%) var(--my,0),#9ff8e30c,transparent 70%);pointer-events:none}
.project-stage{display:grid;grid-template-columns:1.45fr 1fr;min-height:530px}
.project-visual{position:relative;min-width:0;min-height:530px;overflow:hidden;background:#05222c}
.photo-open{display:block;width:100%;height:100%;position:absolute;inset:0;text-align:left;overflow:hidden}
.photo-open img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transition:transform .9s,filter .5s;filter:brightness(.85) saturate(.75)}
.photo-open:hover img{transform:scale(1.035);filter:brightness(.98) saturate(.9)}
.photo-zoom{position:absolute;z-index:2;top:20px;right:20px;padding:7px 13px;background:#041923d9;border:1px solid #eaf3f53b;font-size:11px;border-radius:4px;color:#eaf3f5}
.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:70px 32px 30px;background:linear-gradient(transparent,#020e16ed);pointer-events:none}
.photo-caption p{font-size:20px;line-height:1.5;margin-top:10px;max-width:22em}
.project-log{padding:32px;position:relative;background:#04192399}
.project-log>.mini-label{display:flex;justify-content:space-between;gap:12px;padding-bottom:24px}
.phase-list{position:relative;margin-left:6px}
.phase-list::before{content:"";position:absolute;left:0;top:40px;bottom:40px;width:1px;background:linear-gradient(#9ff8e34d,var(--accent))}
.phase{display:flex;align-items:center;gap:18px;position:relative;padding:18px 8px 18px 26px;width:100%;text-align:left;min-height:80px;border-bottom:1px solid #9ff8e315;color:var(--mute);transition:color .25s,background .25s}
.phase-node{position:absolute;width:7px;height:7px;left:-3px;border:1px solid #9ff8e366;background:#062533;border-radius:50%}
.phase-index{font-size:16px;color:#91aaa8}.phase b{font-size:17px;font-weight:400;display:block}.phase small{display:block;font-size:11px;color:#99afb4;margin-top:5px}.phase-arrow{margin-left:auto;opacity:0;font-size:20px;color:var(--accent)}
.phase:hover{color:var(--text)}.phase[aria-selected=true]{color:var(--accent);background:linear-gradient(90deg,#9ff8e30c,transparent)}
.phase[aria-selected=true] .phase-node{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px #9ff8e30f,0 0 18px #9ff8e344}
.phase[aria-selected=true] .phase-arrow{opacity:1}.phase[aria-selected=true] small{color:var(--accent)}
.phase-detail{padding:27px 4px 0}.status-chip{display:inline-block;border:1px solid #9ff8e333;padding:3px 9px;border-radius:3px;color:var(--accent);font-size:10px}
.phase-detail h3{font-size:23px;margin:13px 0 9px;line-height:1.4}.phase-detail p{color:var(--mute);font-size:14px;line-height:1.85}
.project-notes{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-top:28px}
.project-notes>p{font-size:14px;line-height:1.9;color:var(--mute)}.project-notes .mini-label{display:block;margin-bottom:9px}
.project-no-photo{height:100%;padding:80px 40px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at center,#0b4f5755,transparent 70%)}
.project-no-photo>.num{font-size:84px;font-weight:300;line-height:1;color:#9ff8e355;letter-spacing:.04em}
.project-no-photo svg{width:65%;fill:none;stroke:#9ff8e333;stroke-width:.8;margin:20px 0}.project-no-photo p{font-size:24px}.project-no-photo b{font-size:14px;font-weight:300;color:var(--mute);margin-top:12px}
[hidden]{display:none!important}
.people-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}
.people-layout .section-intro{margin-top:30px}.people-note{color:#91aab4;font-size:13px;line-height:1.9;margin-top:24px;max-width:35em}
.trait-stack{position:relative;padding:10px 0}
.trait-item{display:flex;gap:28px;align-items:center;position:relative;padding:36px 12px 36px 24px;border-top:1px solid var(--line);transition:background .3s}
.trait-item:last-child{border-bottom:1px solid var(--line)}.trait-item:hover{background:linear-gradient(90deg,#9ff8e30b,transparent)}
.trait-symbol{width:40px;height:44px;flex:none;fill:none;stroke:var(--accent);stroke-width:1.2;color:var(--accent);font:300 48px/1 var(--num)}
.trait-item h3{font-size:22px;margin-bottom:8px}.trait-item p{font-size:15px;color:var(--mute);line-height:1.8}
.recruit-note{margin-top:16px;color:var(--mute);font-size:13px}.recruit-note b{color:var(--accent);font-weight:400}
.direction-workbench{position:relative}.direction-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative;gap:2px;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#031722c9}
.selection-glow{position:absolute;left:0;top:0;background:linear-gradient(145deg,#9ff8e31c,#9ff8e304);border:1px solid #9ff8e36b;border-bottom:2px solid var(--accent);border-radius:6px;pointer-events:none;transition:transform .4s cubic-bezier(.2,.8,.2,1),width .4s,height .4s}
@property --edge-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes edge-pass{to{--edge-angle:360deg}}
.selection-glow::after,.application-panel::after{content:"";position:absolute;inset:0;height:auto;padding:1px;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--edge-angle),transparent 0 70%,#9ff8e3b3 80%,transparent 90% 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:edge-pass 9s linear infinite}
.direction{padding:23px 15px;min-height:160px;text-align:left;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;min-width:0;color:#afc4cc;transition:color .25s}
.direction svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.direction>.num{font-size:11px;letter-spacing:.14em;color:#829eaa}.direction>b{font-size:14px;font-weight:400;line-height:1.6;white-space:nowrap;letter-spacing:-.03em}
.direction-tip{position:absolute;right:15px;top:24px;opacity:0;transition:opacity .25s}.direction[aria-selected=true],.direction:hover{color:var(--accent)}.direction[aria-selected=true] .direction-tip{opacity:1}
.direction-panels{margin-top:22px;position:relative}.direction-panels::before{content:"";display:block;height:22px;width:1px;position:absolute;top:-22px;left:var(--connection-x,10%);background:linear-gradient(var(--accent),#9ff8e333);transition:left .4s cubic-bezier(.2,.8,.2,1)}
.direction-panel{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:20px 55px;padding:44px;min-height:590px;isolation:isolate}
.direction-panel::after{content:"";position:absolute;left:0;top:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#9ff8e3aa,transparent);pointer-events:none}
.direction-panel .mini-label{display:flex;align-items:center;gap:18px}.direction-panel .mini-label>span{font-family:var(--sans);font-size:10px;letter-spacing:.05em;color:var(--mute)}
.direction-copy{min-width:0}.direction-copy>h3{font-size:clamp(25px,2.5vw,38px);line-height:1.35;margin:15px 0}
.role-description{font-size:16px;color:#b9cdd3;line-height:1.9;max-width:36em;margin-bottom:26px}
.direction-copy h4,.role-learning h4{font-size:11px;letter-spacing:.13em;color:var(--accent);font-weight:400;margin-bottom:12px}
.role-tasks{list-style:none;display:grid;gap:10px}.role-tasks li{font-size:15px;line-height:1.8;position:relative;padding-left:18px;color:#d3e1e4}.role-tasks li::before{content:"";width:5px;height:5px;border:1px solid #9ff8e388;position:absolute;left:0;top:.75em;transform:rotate(45deg)}
.role-learning{margin-top:25px}.role-learning>p{font-size:14px;color:var(--mute);line-height:1.9}
.starter-task{align-self:stretch;position:relative;padding:20px 0 16px 30px;border-left:1px solid var(--line);min-width:0}
.task-symbol{height:120px;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:25px}
.task-symbol::before{content:"";position:absolute;width:100px;height:100px;border:1px solid #9ff8e329;border-radius:50%;box-shadow:0 0 0 15px #9ff8e305,0 0 0 30px #9ff8e303}
.task-symbol::after{content:"";position:absolute;width:110px;height:110px;border:1px solid transparent;border-top-color:var(--accent);border-radius:50%;animation:orbit 12s linear infinite;opacity:.5}
.task-symbol svg{width:52px;height:52px;fill:none;stroke:var(--accent);stroke-width:.8;stroke-linecap:round;stroke-linejoin:round}
@keyframes orbit{to{transform:rotate(360deg)}}
.starter-task h4{font-size:20px;margin:14px 0}.starter-task>p:not(.mini-label){font-size:14px;line-height:1.85;color:#c3d5d8}.task-footnote{display:block;color:#91aab4;font-size:11px;margin-top:20px}
.role-bottom{grid-column:1/-1;display:flex;align-items:flex-start;gap:30px;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:5px}
.role-details{flex:1;max-width:650px}.role-details summary,.application-materials summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;font-size:13px;color:#b6ccd2}.role-details summary::-webkit-details-marker,.application-materials summary::-webkit-details-marker{display:none}.role-details summary>span,.application-materials summary>span{font-size:20px;color:var(--accent);transition:transform .3s}
.role-details[open] summary>span,.application-materials[open] summary>span{transform:rotate(45deg)}
.role-details p{font-size:14px;line-height:1.85;color:var(--mute);margin-top:10px}.role-details p>b{display:block;color:var(--text);margin-bottom:6px;font-weight:400}
.interest-button{display:flex;gap:20px;align-items:center;text-decoration:none;color:var(--accent);border:1px solid #9ff8e34d;border-radius:4px;min-height:46px;padding:0 19px;font-size:13px;flex:none;transition:background .25s,border-color .25s}
.interest-button:hover{background:#9ff8e315;border-color:var(--accent)}
.learning-route{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;position:relative;gap:0}
.learning-route li{position:relative;padding:40px 28px 0 0;border-top:1px solid #9ff8e34d}.learning-route li+li{padding-left:24px}.learning-route li::before{content:"";position:absolute;height:2px;top:-1px;left:0;width:0;background:var(--accent);transition:width 1s .15s}
.learning-route li.in-view::before{width:100%}.route-node{position:absolute;left:0;top:-20px;width:40px;height:40px;display:grid;place-items:center;border:1px solid #9ff8e34d;border-radius:50%;background:#04222b;color:var(--accent);font-size:15px}
.learning-route li+li .route-node{left:24px}.learning-route .mini-label{font-size:12px;letter-spacing:.14em;margin-top:4px;color:#91b5bc}
.learning-route h3{font-size:22px;margin:16px 0 12px}.learning-route p:last-child{font-size:15px;line-height:1.85;color:var(--mute)}
.learning-note{border-top:1px solid var(--line);margin-top:45px;padding-top:22px;color:#97b0ba;font-size:13px;line-height:1.9}
.application-intro{margin:26px 0 40px}.application-section h2 span{margin-left:.2em}
.application-panel{display:grid;grid-template-columns:minmax(0,1fr) 290px;padding:0;border-color:#9ff8e34d}
.application-main{padding:42px;min-width:0;position:relative}
.selected-direction{display:flex;align-items:center;gap:16px;margin-bottom:40px;padding-bottom:22px;border-bottom:1px solid var(--line);flex-wrap:wrap}.selected-direction .mini-label{color:var(--mute);font-size:11px}
.selected-direction strong{font-size:14px;font-weight:400;color:#adbec5}.selected-direction .has-choice{color:var(--accent)}.selected-direction>a{margin-left:auto;font-size:11px;color:var(--accent);text-decoration:none;min-height:44px;display:flex;align-items:center;gap:10px}
.application-email{font-family:var(--num);font-size:clamp(28px,3.4vw,46px);line-height:1.4;text-decoration:none;display:block;margin:14px 0 10px;letter-spacing:.01em;color:var(--text);overflow-wrap:anywhere}
.email-subject{font-size:12px;color:var(--mute);line-height:1.9}.application-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.application-actions .btn{font-size:13px}
.application-materials{margin-top:30px;padding-top:12px;border-top:1px solid var(--line)}.application-materials>p{font-size:14px;color:#bccfd4;line-height:1.95;padding:12px 0 8px}
.application-side{padding:38px 30px;background:#06263088;border-left:1px solid var(--line)}
.deadline .mini-label{display:flex;justify-content:space-between}.deadline-date{font-size:88px;line-height:1.3;font-weight:300;color:var(--accent);white-space:nowrap}.deadline-date>span{font-size:40px;color:#9ff8e366}.deadline>p:last-child{color:var(--mute);font-size:12px}
.community{margin-top:32px;padding-top:25px;border-top:1px solid var(--line);position:relative}.community h3{font-size:16px;margin-bottom:12px}.community-icon{position:absolute;right:0;top:23px;color:var(--accent);font-size:20px}.community p{font-size:13px;color:var(--mute);line-height:1.9}.community-qr{width:180px;height:180px;object-fit:contain;background:white;padding:10px;margin:16px 0;border-radius:3px}
.voyage-footer{background:#020e1666;border-top:1px solid var(--line);padding:40px var(--pad) 80px}
.voyage-footer>.wrap{display:flex;justify-content:space-between;gap:35px;align-items:center}.footer-brand{display:flex;gap:30px;align-items:center}.footer-brand>svg{width:120px;height:115px;display:block}.footer-brand>p{font-size:17px;color:var(--text);line-height:1.9}.footer-brand>p>span{font-size:12px;color:var(--mute)}
.footer-info{font-size:11px;color:var(--mute);line-height:1.9;text-align:right}.footer-info>a{color:var(--accent);text-decoration:none;display:inline-flex;min-height:44px;align-items:center;margin-top:8px}
.photo-dialog{max-width:min(92vw,1100px);max-height:90vh;margin:auto;padding:40px 18px 15px;background:#031722;color:var(--text);border:1px solid var(--line);border-radius:8px}.photo-dialog::backdrop{background:#010a10e8;backdrop-filter:blur(10px)}
.photo-dialog img{max-width:100%;max-height:72vh;margin:auto;object-fit:contain}.photo-dialog>p{font-size:13px;color:var(--mute);padding:15px 8px 0}.dialog-close{position:absolute;top:0;right:6px;min-height:40px;padding:0 14px;font-size:12px;color:var(--accent)}
.spec{bottom:19%;align-items:flex-end;gap:28px;pointer-events:auto}.spec-t{font-size:29px;line-height:1.4}.inspect-sub{font-size:12px;color:var(--mute);margin-top:10px}.spec-row{gap:25px}.spec-row dd{font-size:33px}.spec-row dt{font-size:11px}
.part-picker{display:flex;gap:6px;margin-top:14px}.part-picker>button{padding:0 10px;font-size:11px;border:1px solid var(--line);min-height:44px;border-radius:3px;color:var(--mute);background:#041c26aa}.part-picker>button:hover,.part-picker>.part-active{color:var(--accent);border-color:var(--accent)}
.part-info{max-width:36em;font-size:12px;line-height:1.8;color:#c0d1d5;margin-top:10px;min-height:44px}
.tag{pointer-events:none;min-height:44px;min-width:44px}.tag.on{pointer-events:auto}.tag em{background:#031722a6;padding:6px 10px;font-size:11px;line-height:1.5;color:#c1d9dd}.tag.on:focus-visible{outline:1px solid var(--accent)}.tag.part-active em{color:var(--accent);border-color:var(--accent)}
[data-motion=paused] *,[data-motion=paused] *::before,[data-motion=paused] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
[data-motion=paused]{scroll-behavior:auto!important}
[data-motion=paused] .reveal-ready{opacity:1;transform:none}
[data-motion=paused] .learning-route li::before{width:100%}
@media(min-width:1500px){.voyage-section{padding-top:135px;padding-bottom:135px}.project-stage,.project-visual{min-height:580px}}
@media(max-width:1100px){
 .direction>b{font-size:12px}.direction{padding:20px 11px;min-height:145px}.direction>.num{font-size:10px}
 .section-heading{gap:40px}.people-layout{gap:50px}.direction-panel{padding:32px;gap:20px 35px;grid-template-columns:minmax(0,1fr) 210px}
 .application-panel{grid-template-columns:minmax(0,1fr) 250px}.application-main{padding:32px}.application-side{padding:32px 24px}.deadline-date{font-size:74px}
 .spec-row{display:none}.spec{bottom:18%}
}
@media(max-width:800px){
 .voyage-section{padding:80px var(--pad)}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.section-intro{font-size:16px;max-width:40em}
 .project-stage{grid-template-columns:1fr;min-height:0}.project-visual{min-height:400px}.project-log{padding:25px}.project-notes{gap:25px}.project-notes>p{font-size:14px}
 .people-layout{grid-template-columns:1fr;gap:35px}.trait-item{padding:25px 12px;gap:24px}.trait-stack{padding:0}.trait-item p{font-size:16px}
 .direction-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.direction{min-height:130px;padding:15px}.direction>b{font-size:12px;white-space:normal}.direction svg{width:26px;height:26px}.direction>.num{font-size:10px}
 .direction-panel{grid-template-columns:1fr;min-height:0;padding:28px}.direction-copy>h3{font-size:28px}.starter-task{border-left:0;border-top:1px solid var(--line);padding:24px 0 0;display:grid;grid-template-columns:80px 1fr;column-gap:22px}
 .task-symbol{grid-row:1/5;height:100px;margin:0;align-self:center}.task-symbol::before{width:65px;height:65px;box-shadow:0 0 0 10px #9ff8e305}.task-symbol::after{width:76px;height:76px}.task-symbol svg{width:35px;height:35px}.starter-task h4{font-size:17px;margin:10px 0}.starter-task .task-footnote{margin-top:12px}
 .role-bottom{flex-direction:column;gap:18px}.role-details{width:100%}.interest-button{align-self:flex-start}.role-tasks li,.role-learning>p,.role-details p,.starter-task>p:not(.mini-label){font-size:16px}
 .learning-route{grid-template-columns:repeat(2,1fr);gap:55px 0}.learning-route li:nth-child(3){padding-left:0}.learning-route li:nth-child(3) .route-node{left:0}.learning-route p:last-child{font-size:16px}
 .application-panel{grid-template-columns:1fr}.application-side{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:35px}.community{margin:0;padding:0;border:0}.community-icon{top:0}.deadline-date{font-size:72px}.application-materials>p{font-size:16px}
 .voyage-footer>.wrap{align-items:flex-start}.footer-brand{gap:20px}.footer-info{max-width:220px}.hero-copy .lede{font-size:16px}
}
@media(max-width:640px){
 .hero{min-height:850px}.hero-copy{bottom:120px}.hero-copy .lede{font-size:15px;line-height:1.8;max-width:24em}.hero-copy .btn{font-size:12px;gap:10px;padding:0 14px}
 .model-caption{top:99px}.model-tools{top:130px}.hero-copy h1{font-size:7.45vw}.hero-bottom>.num{font-size:9px}.hero-bottom .dive-link{font-size:11px}.mark .brand-symbol{width:37px;height:30px}
 .spec{bottom:135px;left:20px;right:20px;align-items:flex-start}.spec-t{font-size:26px}.inspect-sub{font-size:11px}.part-info{font-size:13px}.inspect-mode .model-tools{top:130px}
 .voyage-section{padding:70px 20px}.voyage-section h2{font-size:34px;line-height:1.25}.section-intro{font-size:16px;line-height:1.9}.section-heading{gap:23px;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:.1em}
 .project-visual{min-height:330px}.project-log{padding:24px 22px}.photo-caption{padding:60px 22px 22px}.photo-caption p{font-size:18px}.photo-zoom{right:12px;top:12px}.phase{gap:16px;padding-left:22px}.phase b{font-size:17px}.phase-detail p{font-size:16px}
 .project-notes{grid-template-columns:1fr;gap:22px}.project-notes>p{font-size:15px}.people-layout .section-intro{margin-top:25px}.people-note{font-size:14px}.trait-symbol{width:34px;height:38px}.trait-item{gap:22px}.trait-item h3{font-size:21px}
 .direction{min-height:125px;padding:14px 10px;gap:8px}.direction>b{font-size:11px}.direction>.num{font-size:9px;letter-spacing:.06em}.direction svg{width:25px;height:25px}.direction-tip{right:10px;top:15px;font-size:15px}
 .direction-picker .direction:last-child{grid-column:span 2}.direction-panel{padding:24px 20px;gap:24px}.direction-panel .mini-label{gap:10px;font-size:11px}.direction-panel .mini-label>span{font-size:9px}.direction-copy>h3{font-size:26px}.role-description{font-size:16px;margin-bottom:25px}
 .starter-task{grid-template-columns:56px 1fr;gap:0 20px}.task-symbol{height:80px}.task-symbol::before{width:50px;height:50px}.task-symbol::after{width:62px;height:62px}.task-symbol svg{width:30px;height:30px}.task-footnote{font-size:12px}
 .interest-button{font-size:13px;padding:0 14px;gap:15px;width:100%;justify-content:space-between}.role-details summary{font-size:14px}.role-bottom{padding-top:16px}
 .learning-route{grid-template-columns:1fr;gap:0;margin-top:40px;padding-left:20px}.learning-route li,.learning-route li+li{border-top:0;border-left:1px solid #9ff8e34d;padding:0 0 40px 40px}.learning-route li:nth-child(3){padding-left:40px}
 .learning-route li .route-node,.learning-route li+li .route-node,.learning-route li:nth-child(3) .route-node{left:-20px;top:0}.learning-route li::before{left:-1px;top:0;width:2px!important;height:0;transition:height .8s}.learning-route li.in-view::before{height:100%}.learning-route li:last-child{padding-bottom:0;border-left-color:transparent}.learning-route li:last-child::before{display:none}
 .learning-route h3{margin:12px 0;font-size:23px}.learning-route .mini-label{margin:0;padding-top:4px}.learning-note{font-size:14px;margin-top:35px}
 .application-intro{margin:24px 0 28px}.application-section h2 span{margin-left:0}.application-main{padding:24px 20px}.selected-direction{gap:12px;margin-bottom:27px;padding-bottom:15px}.selected-direction strong{font-size:13px}.selected-direction>a{font-size:11px}
 .application-email{font-size:30px}.email-subject{font-size:12px}.application-actions{gap:10px}.application-actions .btn{font-size:12px;gap:9px;padding:0 14px}.application-materials summary{font-size:14px}
 .application-side{padding:25px 20px;gap:22px;grid-template-columns:1fr 1fr}.deadline-date{font-size:56px}.deadline-date>span{font-size:26px}.deadline .mini-label{display:block}.deadline .mini-label .num{margin-left:8px}.deadline>p:last-child{font-size:11px}.community h3{font-size:15px}.community p{font-size:14px}.community-icon{display:none}.community-qr{width:125px;height:125px;padding:7px}
 .voyage-footer{padding:28px 20px 90px}.voyage-footer>.wrap{flex-direction:column;gap:24px}.footer-brand>svg{width:105px;height:100px}.footer-info{text-align:left;max-width:100%}.footer-brand>p{font-size:16px}.motion-control{right:12px;bottom:12px;font-size:10px;padding:0 12px}
 .glass-panel{border-radius:8px}.project-no-photo{min-height:330px;padding:45px 25px}
}
@media(prefers-reduced-motion:reduce){.hero-scroll{height:180vh}.hero{position:sticky}.reveal-ready{opacity:1;transform:none}}

/* Approved v2.2: open reading surfaces, light boundaries only at controls. */
.purpose-copy{display:grid;gap:20px}.purpose-copy .section-intro{max-width:none}
.context-note{font-size:13px;line-height:1.9;color:#a0bac3;margin-top:24px;max-width:88em}
.vision-pipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.vision-pipeline details{border-top:1px solid #9ff8e333;padding:22px 0;position:relative}
.vision-pipeline details[open]{border-top-color:var(--accent)}
.vision-pipeline summary{display:grid;grid-template-columns:1fr auto;gap:15px;cursor:pointer;list-style:none;min-height:68px}
.vision-pipeline summary .num{grid-column:1/-1;color:#97b3bf;font-size:12px;letter-spacing:.12em}
.vision-pipeline summary b{font-size:21px;font-weight:400}.vision-pipeline summary>span:last-child{color:var(--accent)}
.vision-pipeline details p{font-size:15px;color:#b8cdd3;line-height:1.9;margin-top:18px}
.vision-pipeline summary::-webkit-details-marker,details>summary::-webkit-details-marker{display:none}
.project-stage{border:0;border-radius:0;background:none;box-shadow:none;gap:40px;min-height:440px;overflow:visible}
.project-stage::before,.project-stage::after{display:none}.project-visual{min-height:440px;border-radius:8px;overflow:hidden}
.project-log{padding:0;background:none;align-self:center}.project-log>.mini-label{padding-bottom:15px}
.phase{min-height:75px}.phase-detail{padding-top:20px}.phase-detail h3{font-size:22px}.phase-detail p{font-size:15px}
.architecture{margin-top:42px;border-top:1px solid var(--line);padding-top:30px}
.architecture-heading{display:grid;grid-template-columns:1fr 1.15fr;column-gap:65px}
.architecture-heading>.eyebrow{grid-column:1/-1;margin-bottom:18px}
.architecture-heading h3{font-size:clamp(24px,2.2vw,34px);font-weight:400;line-height:1.5;max-width:12em}
.architecture-heading>p:last-child{color:#b4c9d0;font-size:16px;line-height:1.95}
.architecture-detail{margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.architecture-detail>summary,.competition-list summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;min-height:64px;font-size:15px}
.architecture-detail>summary>span,.competition-list summary>span{font-size:22px;font-weight:300;color:var(--accent);flex:none;transition:transform .25s}
.architecture-detail[open]>summary>span,.competition-list details[open] summary>span{transform:rotate(45deg)}
.architecture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 35px;padding:20px 0 10px}
.architecture-grid h4{font-size:18px;line-height:1.5;font-weight:400;margin:12px 0}.architecture-grid p{font-size:15px;line-height:1.9;color:#b4c9d0}
.architecture-detail>.context-note{padding-bottom:25px}
.competition-list{margin-left:20%;}.competition-list>.mini-label{margin-bottom:16px}
.competition-list details{border-top:1px solid var(--line)}.competition-list details:last-child{border-bottom:1px solid var(--line)}
.competition-list summary{padding:16px 0;min-height:74px}.competition-list h3{font-size:clamp(16px,1.6vw,23px);line-height:1.6;font-weight:400}
.competition-list details p{color:#b4c9d0;font-size:15px;line-height:1.9;padding:0 40px 24px 0}
.people-layout{grid-template-columns:1fr 1.15fr;gap:65px;align-items:start}.team-copy{display:grid;gap:24px;padding-top:35px}
.team-copy>p{font-size:17px;line-height:2;color:#bed1d7}.team-copy strong{color:var(--accent);font-weight:400}
.people-note{max-width:31em;font-size:14px;margin-top:28px}
.direction-picker{grid-template-columns:repeat(3,minmax(0,1fr));border:0;border-radius:0;background:none;gap:8px 24px;overflow:visible}
.direction{padding:20px 18px;min-height:118px;gap:7px;justify-content:center;border-bottom:1px solid var(--line);border-radius:4px}
.direction>.num{font-size:10px;letter-spacing:.12em}.direction>b{font-size:18px;letter-spacing:-.02em;white-space:normal}.direction>small{font-size:13px;color:#adc5ce;line-height:1.6}
.direction-picker .direction:last-child{grid-column:auto}.direction-tip{top:20px;right:16px}
.selection-glow{background:linear-gradient(105deg,#9ff8e310,transparent);border:0;border-bottom:1px solid var(--accent);border-radius:4px}
.selection-glow::after{background:conic-gradient(from var(--edge-angle),transparent 0 75%,#9ff8e370 85%,transparent 95%)}
.direction-panels{margin-top:30px}.direction-panels::before{display:none}
.direction-panel{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px 64px;padding:32px 0 0;min-height:0;border-top:1px solid #9ff8e333;background:none;box-shadow:none;border-radius:0;overflow:visible;position:relative}
.direction-panel::after{display:none}.direction-copy>h3{font-size:clamp(25px,2.4vw,36px);line-height:1.45;margin:14px 0}
.direction-copy h4,.role-learning h4{font-size:13px;letter-spacing:.04em}.role-description{font-size:16px;margin-bottom:22px}
.role-tasks{gap:10px}.role-tasks li{font-size:16px}.role-learning>p{font-size:15px;color:#b4c9d0}
.starter-task{display:block;border-left:1px solid var(--line);border-top:0;padding:4px 0 0 32px;align-self:start}
.starter-task h4{font-size:19px;line-height:1.6;font-weight:400;margin:12px 0}.starter-task>p:not(.mini-label){font-size:15px;color:#b8ced5;line-height:1.95}
.starter-task h4:not(:first-of-type){margin-top:27px}.task-footnote{font-size:13px;line-height:1.9;color:#a0bac3}
.role-bottom{padding-top:16px;margin-top:0}.role-details summary{font-size:14px}.role-details p{color:#b4c9d0;font-size:15px}
.benefits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 65px}
.benefits-grid article{padding-top:23px;border-top:1px solid var(--line)}
.benefits-grid h3{font-size:clamp(22px,2vw,28px);font-weight:400;line-height:1.5;margin:14px 0 18px}
.benefits-grid article>p:not(.mini-label){color:#b7cdd4;font-size:16px;line-height:1.95}
.benefits-grid article>p+p:not(.mini-label){margin-top:15px}.benefit-research{grid-column:2;grid-row:1/span 2}
.benefits-grid article:last-child{grid-column:1/-1;max-width:840px}
.application-panel{background:none;border:0;border-radius:0;box-shadow:none;overflow:visible;gap:65px;grid-template-columns:minmax(0,1fr) 240px}
.application-panel::before,.application-panel::after{display:none}.application-main{padding:28px 0 0;border-top:1px solid #9ff8e333}
.application-side{padding:28px 0 0 28px;border-left:1px solid var(--line);background:none}.selected-direction{margin-bottom:28px}
.materials-intro{margin-top:32px}.materials-intro h3{font-size:19px;font-weight:400}.materials-intro p{color:#b4c9d0;font-size:14px;line-height:1.9;margin-top:10px}
.material-sections{margin-top:20px}.application-materials{margin-top:0;padding-top:0}.application-materials:last-child{border-bottom:1px solid var(--line)}
.application-materials summary{min-height:60px;font-size:15px}.application-materials>div{padding:0 0 22px;color:#b8ced5;font-size:15px;line-height:1.95}
.application-materials p+p{margin-top:13px}.application-materials ul{padding-left:20px;margin-bottom:15px}.application-materials li+li{margin-top:8px}
.material-examples b{display:block;color:var(--text);font-weight:400;margin-bottom:5px}.material-examples>p+p{margin-top:22px}
.photo-dialog{border:1px solid #9ff8e333;background:#020f19;border-radius:10px;box-shadow:0 40px 120px #0008}
.direction:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(min-width:1500px){.project-stage,.project-visual{min-height:500px}}
@media(max-width:1000px){.direction>b{font-size:16px}.direction-panel{gap:25px 35px}.architecture-heading,.people-layout{gap:35px}.application-panel{gap:35px}.competition-list{margin-left:10%}}
@media(max-width:800px){
 .vision-pipeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}.architecture-heading{grid-template-columns:1fr;gap:18px}.architecture-heading>.eyebrow{margin:0}.architecture-heading h3{max-width:none}.architecture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .project-stage{gap:28px;grid-template-columns:1fr}.project-visual{min-height:430px}.project-log{padding:0}.project-log>.mini-label{padding-bottom:12px}.phase-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.phase-list::before,.phase-node,.phase-arrow{display:none}.phase{padding:12px 0;gap:9px;min-height:80px}.phase b{font-size:15px}.phase small{font-size:11px}.phase-index{display:none}.phase-detail{padding:18px 0 0}.phase-detail h3{font-size:20px}
 .people-layout{grid-template-columns:1fr;gap:25px}.team-copy{padding:0}.competition-list{margin-left:0}
 .direction-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.direction{min-height:115px;padding:16px}.direction>b{font-size:16px}
 .direction-panel{grid-template-columns:1fr;padding:28px 0 0;gap:28px}.starter-task{padding:23px 0 0;border-top:1px solid var(--line);border-left:0}.role-bottom{gap:15px}
 .benefits-grid{gap:28px 35px}.benefits-grid h3{font-size:23px}.application-panel{grid-template-columns:1fr}.application-side{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-left:0;padding:26px 0 0}.application-main{padding:25px 0 0}.application-email{font-size:38px}
}
@media(max-width:640px){
 .vision-pipeline{gap:10px 24px}.vision-pipeline summary b{font-size:18px}.vision-pipeline summary .num{font-size:10px}.vision-pipeline details p{font-size:15px}.context-note{font-size:14px}
 .project-visual{min-height:360px}.photo-caption{padding:60px 22px 22px}.architecture{margin-top:30px}.architecture-heading h3{font-size:25px}.architecture-grid{grid-template-columns:1fr;gap:25px}.architecture-heading>p:last-child,.architecture-grid p{font-size:16px}.architecture-detail>summary{font-size:15px}
 .team-copy>p{font-size:16px}.people-note{font-size:14px}.competition-list h3{font-size:16px}.competition-list details p{font-size:16px}
 .direction-picker{gap:8px 12px}.direction{padding:16px 11px;min-height:124px;gap:7px}.direction>b{font-size:15px;line-height:1.6}.direction>small{font-size:12px}.direction>.num{font-size:9px}.direction-tip{top:15px;right:10px}
 .direction-copy>h3{font-size:26px}.direction-panel .mini-label>span{display:none}.starter-task{display:block;padding-top:22px}.starter-task>p:not(.mini-label),.role-learning>p,.role-details p{font-size:16px}.starter-task h4{font-size:20px}
 .benefits-grid{grid-template-columns:1fr;gap:28px}.benefit-research{grid-column:auto;grid-row:auto}.benefits-grid article:last-child{grid-column:auto}.benefits-grid h3{font-size:23px}.benefits-grid article>p:not(.mini-label){font-size:16px}
 .application-main{padding:24px 0 0}.application-panel{gap:28px}.application-side{padding:24px 0 0}.application-email{font-size:32px}.application-materials summary{font-size:15px}.application-materials>div{font-size:16px}.materials-intro p{font-size:15px}
 .photo-dialog{width:94vw;padding:44px 12px 14px}.photo-dialog img{display:block}
}
@media(min-width:801px){.spec{bottom:11%}}
.vision-pipeline details[open] summary>span:last-child{transform:rotate(45deg)}
@media(prefers-reduced-motion:reduce){.spec{display:flex}}
.structure-anchor{position:absolute;top:85vh;left:0;width:1px;height:1px;pointer-events:none}
.voyage-section h2,.voyage-section h3{text-wrap:balance}
.qr-open{display:block;width:100%;text-align:left;margin:16px 0 12px;color:var(--accent)}
.qr-crop{display:block;width:100%;max-width:220px;aspect-ratio:1;position:relative;overflow:hidden;border-radius:8px;background:#181818}
.qr-crop img{position:absolute;width:139.1304%;max-width:none;height:auto;left:-19.5652%;top:-63.9130%;}
.qr-open-label{display:block;margin-top:12px;font-size:12px;line-height:1.8}.community .qr-validity{font-size:12px;line-height:1.85;color:#b4c9d0}
@media(max-width:640px){.application-side{grid-template-columns:1fr}.community{padding-top:24px;border-top:1px solid var(--line)}.qr-crop{width:220px;max-width:100%}.qr-open-label,.community .qr-validity{font-size:14px}.deadline-date{font-size:64px}}
/* Keep the approved workstation name intact and align the four process descriptions. */
.vision-pipeline summary{align-items:start}
.vision-pipeline summary b{line-height:1.5;min-height:3em}
@media(max-width:640px){.vision-pipeline summary b{font-size:16px;font-weight:500}}
@media(max-width:360px){.vision-pipeline{grid-template-columns:1fr}.vision-pipeline summary b{font-size:18px;min-height:0}}
/* Scene controls belong to the ROV section, while the ambient ocean continues. */
.model-tools{top:108px;bottom:auto;gap:8px}
.model-tools button{font-size:12px;color:#c2d9dc}
.tag em{background:none;border:0;padding:4px 8px;font-size:16px;color:#eaf3f5;text-shadow:0 2px 8px #020e16}
.tag.part-active em{border:0}
.part-spotlight{position:absolute;z-index:3;top:178px;left:var(--pad);right:var(--pad);pointer-events:none;max-width:650px}
.part-spotlight h2{display:flex;align-items:baseline;gap:24px;margin:12px 0;font-size:clamp(34px,4vw,58px);font-weight:500;line-height:1.2;color:#eaf3f5}
#part-count{font-family:var(--sans);font-size:.5em;font-weight:300;color:var(--accent)}

.has-part-focus .spec-t,.has-part-focus .inspect-sub,.has-part-focus .part-info{display:none}
.has-part-focus .spec{border-top:0;padding-top:0}
.has-part-focus .spec-row{display:none}
.has-part-focus .part-picker{margin-top:0}
@media(max-width:800px){.part-spotlight{top:190px;max-width:520px}.part-spotlight h2{font-size:38px}}
@media(max-width:640px){.model-tools,.inspect-mode .model-tools{top:126px;left:20px;right:20px;justify-content:flex-end;gap:6px}.model-tools button{padding:0 10px;font-size:11px;min-height:44px}.part-spotlight{top:190px;left:20px;right:20px}.part-spotlight h2{font-size:32px;margin:10px 0;gap:18px}.has-part-focus .spec{bottom:125px}}
.has-part-focus .part-info{display:block;font-size:15px;line-height:1.8;color:#c2d9dc;max-width:38em;min-height:28px}
@media(min-width:801px){.has-part-focus .spec{bottom:16%}}
@media(max-width:640px){.has-part-focus .part-info{font-size:14px;max-width:26em}}
.project-visual.is-gen1{background:#fff}
.project-visual.is-gen1 .photo-open img{object-fit:contain;padding:14px 20px 100px;background:#fff;filter:none}
.project-visual.is-gen1 .photo-caption{padding:15px 24px 17px;background:#05222c}
.project-visual.is-gen1 .photo-caption p{font-size:18px;margin-top:4px}
@media(max-width:640px){.project-visual.is-gen1 .photo-open img{padding:10px 12px 96px}.project-visual.is-gen1 .photo-caption{padding:13px 20px 15px}}

