/* v007: both opening compositions share the same living sea and game chapters. */
.hero-sea{position:relative;min-height:0;overflow:hidden;background:#083953 url('/assets/v007-ocean-still.webp') center/cover;color:#f3f7f8;isolation:isolate}
.ocean-host,.ocean-host canvas,.hero-sea-shade,.hero-water-interaction,.tower-controls{position:absolute;inset:0;width:100%;height:100%}
.ocean-host{z-index:0;overflow:hidden}.ocean-host canvas{pointer-events:none}
.hero-sea-shade{z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,20,34,.22),transparent 25%,transparent 70%,rgba(0,20,34,.36))}
.hero-water-interaction{z-index:2;touch-action:pan-y pinch-zoom;cursor:grab}.hero-water-interaction:active{cursor:grabbing}
.hero-water-interaction:focus-visible{outline:2px solid #e7f5f3;outline-offset:-8px}
.tower-controls{z-index:3;pointer-events:none}
.ocean-tower{position:absolute;transform:translate(-50%,-50%);background:none;pointer-events:auto;touch-action:pan-y pinch-zoom;border:1px solid transparent;border-radius:50%;padding:0}
.ocean-tower span{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);padding:5px 9px;background:rgba(3,23,37,.86);color:#e5f0ed;font-size:12px;line-height:1.4;white-space:nowrap;opacity:0;transition:opacity .2s;pointer-events:none}
.ocean-tower:hover span,.ocean-tower:focus-visible span{opacity:1}.ocean-tower:focus-visible{outline-offset:2px;outline-color:rgba(225,247,240,.7)}
.hero-water-tools{position:absolute;right:24px;top:12px;z-index:4;display:flex;gap:24px}
.hero-water-tools .quiet{font-size:12px;text-shadow:0 1px 8px #001a2b}
.hero-water-note{position:absolute;bottom:18px;left:24px;z-index:4;font-size:12px;line-height:1.5;pointer-events:none;color:#e4f1f3;text-shadow:0 1px 8px #001a2b}
.version-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:13px;color:inherit;line-height:1.4}
.version-link:hover{text-decoration:underline;text-underline-offset:5px}
.scene-game img,.scene-gallery img{transform:translate3d(0,var(--drift,0px),0) scale(1.04);object-position:50% 52%}
.scene-game .scene-scrim{background:linear-gradient(90deg,rgba(0,13,24,.82),rgba(0,13,24,.25) 60%,rgba(0,13,24,.1)),linear-gradient(0deg,rgba(0,10,22,.78),transparent 40%)}
.game-chapter h2{font-size:clamp(48px,5.6vw,88px);max-width:670px;line-height:1.05;letter-spacing:-.05em}
.game-intro{font-size:clamp(17px,1.5vw,22px);line-height:1.5;margin-top:26px;color:#e0ebef}
.game-chapter{justify-content:space-between;gap:80px}
.principles{max-width:1200px}
.scene-ecology img{object-position:50% 50%;filter:none;transform:translate3d(0,var(--drift,0px),0) scale(1.025)}
.scene-ecology .scene-scrim{background:linear-gradient(90deg,rgba(0,12,24,.08) 15%,rgba(0,12,24,.1) 42%,rgba(0,12,24,.76) 72%,rgba(0,12,24,.82))}
.ecology-chapter{display:flex;justify-content:flex-end;min-height:100svh;padding-top:70px;padding-bottom:70px}
.ecology-copy{width:36%;max-width:540px}.ecology-copy h2{font-size:clamp(44px,4.6vw,76px)}
.habitat-panel>p:not(.habitat-detail){font-size:clamp(22px,2.2vw,34px)}
.habitat-detail{max-width:370px}.habitat-tabs{gap:20px}
.scene-gallery .scene-scrim{background:linear-gradient(0deg,rgba(0,10,22,.84),rgba(0,10,22,.12) 52%,rgba(0,10,22,.05))}
.scene-gallery:after{display:none}.scene-gallery .gallery-image{transition:opacity .85s var(--ease)}
.immersive-page{background:#061e2e}.immersive-page .site-header{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(1,17,29,.32),rgba(1,17,29,.12));color:#f3f7f8;z-index:10;padding-top:22px;padding-bottom:22px;min-height:92px}
.immersive-page .site-header:after{background:rgba(225,240,245,.24)}
.immersive-page .download-nav{background:rgba(5,29,47,.26);border:1px solid rgba(233,245,250,.62);color:#f3f7f8;padding:10px 19px}
.immersive-page .download-nav:hover{background:#ecf5f3;color:#10232d}
.immersive-hero{height:100svh;min-height:700px;padding:0;background:#061e2e;color:#f3f7f8;display:block;isolation:isolate}
.immersive-hero .hero-sea{position:absolute;inset:0;min-height:100%}
.immersive-hero .hero-sea-shade{background:linear-gradient(90deg,rgba(0,15,30,.63),rgba(0,18,33,.27) 40%,transparent 66%),linear-gradient(180deg,rgba(0,15,30,.46),transparent 24%,transparent 75%,rgba(0,15,30,.55))}
.immersive-intro{position:absolute;top:clamp(142px,22svh,250px);left:var(--gutter);z-index:4;pointer-events:none}
.hero-kicker{font-size:clamp(14px,1.18vw,18px);margin-bottom:27px;letter-spacing:.005em;color:#dbe9ed}
.immersive-hero h1{font-size:clamp(88px,min(9.6vw,15.5svh),166px);font-weight:500;line-height:.9;letter-spacing:-.065em;max-width:680px}
.immersive-description{font-size:clamp(20px,1.8vw,28px);line-height:1.3;letter-spacing:-.025em;color:#dcebf0;margin-top:30px}
.hero-links{display:flex;align-items:center;gap:32px;margin-top:25px;pointer-events:auto;width:max-content}
.hero-links .text-link{font-size:17px;border-bottom-color:rgba(229,245,249,.65)}
.workflow-link{font-size:13px;min-height:44px;display:inline-flex;align-items:center;gap:10px;color:#dce9ef}.workflow-link:hover{text-decoration:underline;text-underline-offset:5px}
.immersive-hero .hero-water-tools{right:var(--gutter);top:auto;bottom:79px;gap:26px}
.immersive-hero .hero-water-note{display:none}
.immersive-bottom{position:absolute;bottom:20px;left:var(--gutter);right:var(--gutter);z-index:4;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(222,239,248,.27);padding-top:12px;font-size:12px;color:#e0edf1;pointer-events:none}
.immersive-bottom .version-link{pointer-events:auto}
.immersive-page:not(.is-dark) .motion-control{display:none}
@media(min-width:761px){.hero-media{grid-template-rows:minmax(0,1fr) auto}.hero-sea{height:100%}.immersive-page .hero{min-height:690px}.ecology-copy .eyebrow{margin-bottom:18px}}
@media(min-width:1800px){.immersive-intro{top:23svh}.immersive-hero h1{font-size:clamp(130px,9.2vw,190px)}}
@media(max-width:1050px) and (min-width:761px){.ecology-copy{width:42%}.ecology-copy h2{font-size:48px}.habitat-panel>p:not(.habitat-detail){font-size:26px}.hero-links{gap:24px}.hero-links .text-link{font-size:16px}.workflow-link{font-size:12px}.immersive-hero h1{font-size:10.6vw}.hero-kicker{font-size:14px}}
@media(max-width:760px){
  .hero{padding-top:30px}.hero-intro{margin-bottom:27px}.hero-copy{margin-top:24px}.hero-copy h2{font-size:24px}.hero-copy p{font-size:16px;margin:12px 0}.hero-media{display:block}.hero-sea{height:320px;min-height:300px;margin-top:16px}.hero-water-tools{top:8px;right:17px;gap:20px}.hero-water-note{left:17px;bottom:14px;font-size:11px}.hero-media figcaption{align-items:flex-start;gap:14px}.hero-media .text-link{font-size:14px;white-space:nowrap}.hero-media .version-link{font-size:11px;max-width:145px;text-align:right}
  .game-chapter h2{font-size:clamp(45px,8vw,64px)}.game-intro{font-size:17px;max-width:360px}.game-intro br{display:none}.scene-game img{object-position:51% 50%}.scene-game .scene-scrim{background:linear-gradient(180deg,rgba(0,12,25,.82),rgba(0,12,25,.23) 38%,rgba(0,12,25,.86) 77%)}
  .ecology-chapter{display:flex;min-height:max(810px,100svh);justify-content:flex-end;padding-top:370px;padding-bottom:36px}.ecology-copy{width:100%;max-width:none}.ecology-copy h2{font-size:clamp(40px,10vw,64px)}.habitat-panel>p:not(.habitat-detail){font-size:25px;max-width:430px}.habitat-detail{font-size:16px;max-width:430px}.scene-ecology img{object-position:34% 28%;height:55%;top:0;transform:scale(1.03);object-fit:cover}.scene-ecology .scene-scrim{background:linear-gradient(180deg,rgba(0,13,26,.03),rgba(0,13,26,.06) 27%,#061e2e 55%)}
  .immersive-page .site-header{min-height:80px;padding:17px var(--gutter)}.immersive-page .wordmark{font-size:22px}.immersive-page .mobile-menu:not([hidden]){background:#082c42;color:#edf6f6;border-bottom-color:#547184}.immersive-page .mobile-menu a{border-bottom-color:rgba(225,240,247,.25)}
  .immersive-page .hero{height:100svh;min-height:790px;padding:0}.immersive-hero .hero-sea{margin:0;height:100%}.immersive-hero .hero-sea-shade{background:linear-gradient(180deg,rgba(0,17,32,.68),rgba(0,17,32,.65) 46%,transparent 60%,rgba(0,15,30,.20) 80%,rgba(0,15,30,.68))}.immersive-intro{top:127px;left:var(--gutter);right:var(--gutter)}.hero-kicker{font-size:12px;max-width:none;margin-bottom:19px}.immersive-hero h1{font-size:clamp(58px,17vw,124px);line-height:.91}.immersive-description{font-size:19px;margin-top:23px;line-height:1.25}.immersive-description br{display:block}.hero-links{gap:24px;margin-top:19px}.hero-links .text-link{font-size:14px}.workflow-link{font-size:12px;gap:6px;color:#f3f7f8}.immersive-bottom{bottom:16px;padding-top:8px;display:block;font-size:11px}.immersive-bottom .version-link{font-size:11px;margin-top:0}.immersive-hero .hero-water-tools{bottom:74px;right:var(--gutter);gap:22px}.immersive-hero .hero-water-tools .quiet{font-size:11px}.ocean-tower span{font-size:10px;top:auto;bottom:calc(100% + 4px)}
}
@media(max-width:370px){.immersive-intro{top:114px}.hero-links{gap:16px}.hero-links .text-link{font-size:13px}.workflow-link{font-size:10px}.hero-kicker{font-size:11px}.immersive-page .hero{min-height:760px}.hero-water-note{max-width:180px}.version-link{gap:7px}.hero-media figcaption{gap:8px}}
@media(prefers-reduced-motion:reduce){.ocean-tower span{transition:none}.scene-gallery .gallery-image{transition:none}}
