:root{
  --ink:#07100f; --sand:#dfece9; --cream:#f2f7f5; --accent:#5fd8c9; --accent-deep:#2fb3a4;
  --chrome:linear-gradient(120deg,#eafffb 0%,#a6e9df 26%,#4fc3b6 46%,#f4fffd 62%,#7fd6ca 82%,#2b8f84 100%);
  --pad:clamp(20px,5vw,84px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--ink);color:var(--cream);
  font-family:'Manrope',system-ui,sans-serif;font-weight:300;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
h1,h2,.stat b,.legacy__title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;letter-spacing:.004em}
.tag,.nav__logo,.btn,.loader__label{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;text-transform:uppercase;letter-spacing:.34em}
em{font-style:normal;background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
a{color:inherit;text-decoration:none}

#scene{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block;touch-action:pan-y}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.12;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
main{position:relative;z-index:2}

/* loader */
.loader{position:fixed;inset:0;z-index:50;background:var(--ink);display:grid;place-items:center;transition:opacity .8s ease,visibility .8s}
.loader.done{opacity:0;visibility:hidden}
.loader__inner{width:min(78vw,420px);text-align:center}
.loader__label{font-size:13px;letter-spacing:.42em;color:#7fa8a1}
.loader__bar{margin:18px 0 10px;height:1px;background:#17302d;overflow:hidden}
.loader__bar i{display:block;height:100%;width:0;background:var(--accent);transition:width .3s ease}
.loader__pct{font-size:11px;letter-spacing:.3em;color:#7fa8a1}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;
  padding:22px var(--pad)}
.nav__logo{font-size:16px;letter-spacing:.36em;color:var(--cream)}
.nav__logo span{color:var(--accent)}
.nav__links{display:flex;gap:clamp(14px,2.4vw,34px);font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.nav__links a{position:relative;padding-bottom:3px;opacity:.72;transition:opacity .3s,color .3s}
.nav__links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.nav__links a:hover{opacity:1;color:var(--accent)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__burger{display:none;background:none;border:0;cursor:pointer;width:30px;height:18px;position:relative}
.nav__burger span{position:absolute;left:0;right:0;height:1.5px;background:var(--accent);transition:.35s}
.nav__burger span:first-child{top:3px}.nav__burger span:last-child{bottom:3px}
.nav__burger.open span:first-child{top:8px;transform:rotate(45deg)}
.nav__burger.open span:last-child{bottom:8.5px;transform:rotate(-45deg)}

/* panels */
.panel{min-height:100svh;padding:clamp(96px,12vh,140px) var(--pad) clamp(60px,9vh,110px);display:flex;flex-direction:column;justify-content:center;position:relative}
.tag{display:inline-block;font-size:12px;letter-spacing:.44em;color:var(--accent);margin-bottom:18px}

/* hero */
.hero__meta{display:flex;gap:26px;flex-wrap:wrap;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#8fb3ad;margin-bottom:18px}
.hero__title{font-size:clamp(58px,15vw,220px);line-height:.92;letter-spacing:-.004em}
.hero__title .line{display:block;overflow:hidden}
.hero__title .line>*{display:block}
.hero__lead{max-width:34ch;text-shadow:0 2px 28px rgba(7,16,15,.92);max-inline-size:34ch;margin-top:26px;font-size:clamp(14px,1.15vw,17px);line-height:1.7;color:#c3d6d2}
.hero__cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-block;padding:6px 0;font-size:13px;letter-spacing:.3em;color:var(--accent);
  border-bottom:1px solid rgba(95,216,201,.45);transition:.4s cubic-bezier(.2,.8,.2,1)}
.btn:hover{color:var(--cream);border-color:var(--cream);letter-spacing:.36em}
.btn--ghost{color:var(--cream);border-color:rgba(242,247,245,.28)}
.btn--ghost:hover{color:var(--accent);border-color:var(--accent)}
.hint{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#7fa8a1}
.scrollcue{position:absolute;left:var(--pad);bottom:26px;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:#7fa8a1;display:flex;align-items:center;gap:10px}
.scrollcue i{display:block;width:34px;height:1px;background:var(--accent);animation:cue 2.2s infinite}
@keyframes cue{0%,100%{transform:scaleX(.3);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}}

/* side blocks */
.side{align-items:flex-start}
.side--right{align-items:flex-end}
.card{width:min(100%,500px);padding:0;border:0;background:none;text-shadow:0 2px 30px rgba(7,16,15,.94)}
.card h2{font-size:clamp(32px,3.9vw,56px);line-height:1.04}
.card p{margin-top:16px;font-size:15px;line-height:1.75;color:#c3d6d2}
.card__sub,.specs__sub{margin-top:12px;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(16px,1.5vw,22px);
  letter-spacing:.06em;color:var(--accent)}
.specs__sub{margin-top:10px}
.legacy p+p{margin-top:12px}
.ticks{list-style:none;margin-top:22px;display:grid;gap:10px}
.ticks li{font-size:13px;letter-spacing:.04em;color:#c3d6d2;padding-left:20px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:1px;background:var(--accent)}

/* specs */
.specs h2{font-size:clamp(34px,5.4vw,86px);line-height:1;max-width:14ch;text-shadow:0 2px 30px rgba(7,16,15,.92)}
.grid{margin-top:clamp(22px,3.4vh,52px);display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.6vw,44px);background:none;border:0}
.stat{background:none;padding:0;text-shadow:0 2px 30px rgba(7,16,15,.92)}
.stat b{font-weight:300;font-size:clamp(42px,4.8vw,76px);line-height:1;background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .unit{font-size:12px;letter-spacing:.26em;color:var(--accent);margin-left:8px;text-transform:uppercase}
.stat p{margin-top:14px;font-size:13px;line-height:1.65;color:#9fbdb8}
.specs__note{margin-top:clamp(14px,2vh,26px);max-width:52ch;font-size:13px;line-height:1.7;color:#7fa8a1}

/* legacy */
.legacy{align-items:center;text-align:center;justify-content:flex-start}
.legacy__inner{width:min(100%,780px);padding:0;background:none;display:flex;flex-direction:column;
  min-height:calc(100svh - clamp(150px,20vh,240px));text-shadow:0 2px 34px rgba(7,16,15,.95)}
.legacy p{margin-top:14px;font-size:clamp(13px,1.05vw,16px);line-height:1.7;color:#c3d6d2}
.legacy__row{margin-top:22px;display:flex;gap:26px;align-items:center;justify-content:center;flex-wrap:wrap}
.foot{margin-top:auto;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  border-top:1px solid rgba(95,216,201,.18);padding-top:18px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#6c908b}

/* reveal */
.reveal,.card,.stat,.legacy__title,.hero__title .line>*{opacity:0;transform:translateY(26px);
  transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.in .reveal,.in.card,.in.stat,.in .legacy__title,.in .hero__title .line>*,.reveal.in,.card.in,.stat.in{opacity:1;transform:none}
.hero__title .line:nth-child(2)>*{transition-delay:.12s}
.stat:nth-child(2){transition-delay:.08s}.stat:nth-child(3){transition-delay:.16s}.stat:nth-child(4){transition-delay:.24s}

@media (max-width:1024px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .card{width:min(100%,520px)}
  .side,.side--right{align-items:stretch;justify-content:flex-end}
  .panel{min-height:100svh}
}
@media (max-width:720px){
  .nav__links{position:fixed;inset:0;flex-direction:column;justify-content:center;align-items:center;gap:26px;
    background:rgba(7,16,15,.96);font-size:18px;transform:translateY(-100%);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
  .nav__links.open{transform:none}
  .nav__burger{display:block}
  .grid{grid-template-columns:1fr}
  .hero__lead{font-size:14px}
  .scrollcue{display:none}
  .foot{justify-content:center;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01ms!important}}