/* PRAVAH · pravah.life */
:root{
  --black:#000; --ink:#f2f1ee; --ink-2:rgba(242,241,238,.62); --ink-3:rgba(242,241,238,.38); --line:rgba(242,241,238,.14);
  --paper:#f3f2ef; --pk:#0a0a0a; --pk-2:rgba(10,10,10,.6); --pk-3:rgba(10,10,10,.4); --pline:rgba(10,10,10,.12);
  --signal:#ff3b30;
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --gut:clamp(20px,3.4vw,56px);
  --ease:cubic-bezier(.19,1,.22,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--black);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--black);font-family:var(--sans);font-weight:300;font-size:clamp(15px,1.05vw,17px);line-height:1.5;overflow-x:hidden}
body.is-loading{overflow:hidden;height:100vh}
a{color:inherit;text-decoration:none}
b{font-weight:400}
sup{font-family:var(--mono);font-size:.55em;margin-left:.15em;color:var(--ink-3);vertical-align:super;line-height:0}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--ink);color:var(--black)}

/* type */
.cap{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.eyebrow{margin-bottom:clamp(24px,3vw,40px)}
.display{font-weight:300;font-size:clamp(3.2rem,9.4vw,10.5rem);line-height:.92;letter-spacing:-.055em}
.h1{font-weight:300;font-size:clamp(2.6rem,6.4vw,6.8rem);line-height:.95;letter-spacing:-.05em}
.h2{font-weight:300;font-size:clamp(2.1rem,4.4vw,4.6rem);line-height:1;letter-spacing:-.045em}
.h3{font-weight:300;font-size:clamp(1.35rem,2.1vw,2.2rem);line-height:1.15;letter-spacing:-.03em}
.lede{font-size:clamp(1.05rem,1.35vw,1.35rem);line-height:1.4;color:var(--ink-2);max-width:30ch;letter-spacing:-.01em}
.body{font-size:clamp(1rem,1.15vw,1.18rem);line-height:1.55;color:var(--ink-2);max-width:44ch;letter-spacing:-.005em}
.reveal-lines .line{padding-bottom:.08em;margin-bottom:-.08em}

/* pills */
.pill{display:inline-flex;align-items:center;gap:.6em;height:40px;padding:0 18px;border-radius:999px;border:1px solid var(--line);font-size:14px;font-weight:400;letter-spacing:-.01em;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s}
.pill:hover{background:var(--ink);color:var(--black);border-color:var(--ink)}

/* fixed stage */
#stage{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;display:block;pointer-events:none;opacity:0}
#callouts{position:fixed;inset:0;z-index:3;pointer-events:none}
.co{position:absolute;left:0;top:0;opacity:0;will-change:transform,opacity}
.co i{position:absolute;left:0;top:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--ink)}
.co s{position:absolute;left:0;top:0;height:1px;width:var(--len,90px);background:var(--ink-3);transform-origin:left;text-decoration:none}
.co span{position:absolute;left:calc(var(--len,90px) + 8px);top:-11px;padding:3px 7px;border-radius:3px;background:rgba(0,0,0,.72);white-space:nowrap;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.co.is-left s{left:auto;right:0;transform-origin:right}
.co.is-left span{left:auto;right:calc(var(--len,90px) + 10px)}

/* loader */
#loader{position:fixed;inset:0;z-index:100;background:var(--black);display:flex;flex-direction:column;justify-content:center}
.loader__line{width:100%;height:120px;overflow:visible}
.loader__line path{fill:none;stroke:var(--ink);stroke-width:1.2;vector-effect:non-scaling-stroke}
.loader__foot{position:absolute;left:var(--gut);right:var(--gut);bottom:var(--gut);display:flex;justify-content:space-between}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gut);color:#fff;transition:color .4s var(--ease)}
.nav.is-light{color:#0a0a0a}
.nav.is-light .pill--nav{border-color:rgba(10,10,10,.25)}
.nav.is-light .pill--nav:hover{background:#0a0a0a;color:#fff}
.brand{display:flex;align-items:center;gap:12px}
.brand svg{width:34px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.brand span{font-size:13px;font-weight:500;letter-spacing:.22em}
.nav__links{display:flex;gap:28px;font-size:14px;font-weight:400;letter-spacing:-.005em}
.nav__links a{opacity:.7;transition:opacity .3s}
.nav__links a:hover{opacity:1}
.pill--nav{border-color:rgba(255,255,255,.4);height:36px}
.pill--nav:hover{background:#fff;color:#000}
@media (max-width:860px){.nav__links{display:none}}

/* sections */
section,footer{position:relative;z-index:2}
.sheet{padding:clamp(110px,16vh,190px) var(--gut)}
.sheet--light{background:var(--paper);color:var(--pk)}
.sheet--light .cap,.sheet--light sup{color:var(--pk-3)}
.sheet--light .body,.sheet--light .lede{color:var(--pk-2)}
.sheet--dark{background:var(--black)}
.grid12{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gut)}
.col-l{grid-column:1/span 9}
@media (max-width:860px){.col-l{grid-column:1/-1}}

/* hero */
.hero{height:100vh;min-height:640px;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--gut) clamp(40px,7vh,80px)}
.hero__copy{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--gut)}
.hero__side{display:flex;flex-direction:column;gap:24px;align-items:flex-start;padding-bottom:.9vw}
.hero__scroll{position:absolute;left:50%;top:calc(100vh - 54px);transform:translateX(-50%);display:none}
@media (max-width:860px){
  .hero__copy{flex-direction:column;align-items:flex-start}
  .display{font-size:clamp(3rem,15vw,6rem)}
}

/* manifesto + arm */
.manifesto{padding-top:clamp(140px,22vh,240px)}
.manifesto__text{font-size:clamp(1.8rem,3.9vw,4.2rem);font-weight:300;line-height:1.08;letter-spacing:-.04em;max-width:22ch}
.manifesto__text .w{opacity:.14}
.arm{margin-top:clamp(80px,14vh,160px)}
.arm svg{width:100%;height:auto;overflow:visible}
.arm figcaption{margin-top:18px}
.arm__outline{fill:none;stroke:var(--pk-3);stroke-width:1;stroke-dasharray:2 6}
.arm__vessel{fill:none;stroke-width:1.6;stroke-linecap:round}
.arm__vein{stroke:var(--pk)}
.arm__art{stroke:var(--signal)}
.arm__node{fill:var(--pk);opacity:0}
.arm__ring{fill:none;stroke:var(--pk);stroke-width:1;opacity:0}
.arm__zone rect{fill:rgba(10,10,10,.04);stroke:var(--pk);stroke-width:1;stroke-dasharray:3 4;opacity:0}
.arm__flow circle{fill:var(--pk)}
.arm__lbl{opacity:0}
.arm__lbl line{stroke:var(--pk-3);stroke-width:1}
.arm__lbl text{font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;fill:var(--pk);text-anchor:middle}
@media (max-width:700px){.arm__lbl text{font-size:22px}}

/* numbers */
.numbers{padding-top:0}
.nums{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(60px,10vh,120px);border-top:1px solid var(--pline)}
.num{padding:28px 24px 0 0;display:flex;flex-direction:column;gap:20px}
.num+.num{padding-left:24px;border-left:1px solid var(--pline)}
.num__v{font-size:clamp(3.6rem,7vw,7.4rem);font-weight:200;line-height:.9;letter-spacing:-.06em;white-space:nowrap}
.num__v small{font-size:.32em;letter-spacing:-.02em;margin-left:.12em;color:var(--pk-3);font-weight:300}
.num__v small.pre{margin:0 .12em 0 0}
.num p{color:var(--pk-2);max-width:28ch;font-size:15px}
@media (max-width:1000px){.nums{grid-template-columns:1fr 1fr}.num:nth-child(3){padding-left:0;border-left:0}.num:nth-child(n+3){margin-top:40px}}
@media (max-width:560px){.nums{grid-template-columns:1fr}.num+.num{padding-left:0;border-left:0;margin-top:36px}}

/* device */
.device{position:relative}
.device__pin{position:relative;height:100vh;padding:0 var(--gut)}
.device__intro{position:absolute;left:var(--gut);top:clamp(110px,16vh,160px)}
.index{position:absolute;left:var(--gut);bottom:clamp(40px,8vh,90px);list-style:none;display:flex;flex-direction:column;gap:6px;width:min(380px,34vw)}
.index li{position:relative;display:grid;grid-template-columns:28px 1fr;column-gap:14px;padding:8px 0 8px 18px;opacity:.32;transition:opacity .5s var(--ease)}
.index li::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;background:var(--ink);transform:scaleY(.35);transform-origin:top;transition:transform .6s var(--ease)}
.index li b{font-size:18px;letter-spacing:-.02em}
.index li p{grid-column:2;font-size:14px;line-height:1.45;color:var(--ink-2);max-height:0;overflow:hidden;transition:max-height .6s var(--ease),margin .6s var(--ease)}
.index li .cap{padding-top:4px}
.index li.is-on{opacity:1}
.index li.is-on::before{transform:scaleY(1)}
.index li.is-on p{max-height:120px;margin-top:6px}
.device__note{position:absolute;right:var(--gut);bottom:clamp(40px,8vh,90px);max-width:26ch;text-align:right}
@media (max-width:860px){
  .index{width:auto;right:var(--gut);bottom:28px}
  .index li{padding:4px 0 4px 14px}
  .index li:not(.is-on){display:none}
  .device__note{display:none}
  .device__intro{top:96px}
}

/* how */
.how{padding:0}
.how__pin{height:100vh;display:grid;grid-template-columns:minmax(300px,.9fr) 1.4fr;gap:var(--gut);padding:clamp(100px,14vh,140px) var(--gut) clamp(40px,7vh,70px)}
.how__left{display:flex;flex-direction:column}
.steps{list-style:none;display:flex;flex-direction:column;gap:2px;margin-top:auto}
.steps li{display:grid;grid-template-columns:28px 1fr;column-gap:14px;padding:10px 0 10px 18px;position:relative;opacity:.3;transition:opacity .5s var(--ease)}
.steps li::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:var(--ink);transform:scaleY(.35);transform-origin:top;transition:transform .6s var(--ease)}
.steps li .cap{padding-top:5px}
.steps b{font-size:clamp(18px,1.5vw,22px);letter-spacing:-.02em}
.steps p{font-size:14px;color:var(--ink-2);max-width:36ch;max-height:0;overflow:hidden;transition:max-height .6s var(--ease),margin .6s}
.steps li.is-on{opacity:1}
.steps li.is-on::before{transform:scaleY(1)}
.steps li.is-on p{max-height:90px;margin-top:6px}
.how__viz{position:relative;border:1px solid var(--line);border-radius:4px;overflow:hidden}
#signal{position:absolute;inset:0;width:100%;height:100%}
.how__axis{position:absolute;left:20px;top:18px;color:var(--ink-2)}
.sound{position:absolute;right:16px;top:12px;display:flex;align-items:center;gap:10px;color:var(--ink-2);padding:6px 4px;transition:color .3s}
.sound:hover,.sound[aria-pressed="true"]{color:var(--ink)}
.sound i{width:8px;height:8px;border-radius:50%;border:1px solid currentColor}
.sound[aria-pressed="true"] i{background:var(--signal);border-color:var(--signal);box-shadow:0 0 0 4px rgba(255,59,48,.18)}
@media (max-width:860px){
  .how__pin{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:20px;padding-top:96px}
  .steps li:not(.is-on){display:none}
  .steps{margin-top:0}
  .how__left .eyebrow{margin-bottom:12px}
}

/* physics */
.physics{padding:0}
.physics__pin{height:100vh;display:grid;grid-template-columns:minmax(300px,.85fr) 1.4fr;gap:var(--gut);align-items:center;padding:clamp(100px,14vh,140px) var(--gut) clamp(40px,7vh,70px)}
.physics__copy .h2{margin-bottom:28px}
.readout{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;border-top:1px solid var(--pline)}
.readout div{padding-top:14px}
.readout div+div{padding-left:16px;border-left:1px solid var(--pline)}
.readout dd{font-size:clamp(1.4rem,2.2vw,2.3rem);letter-spacing:-.04em;margin-top:8px;font-weight:300}
.physics__viz{position:relative;height:100%;min-height:320px}
#flow{position:absolute;inset:0;width:100%;height:100%}
.physics__cap{position:absolute;right:0;bottom:0;text-transform:none;font-size:12px}
@media (max-width:860px){
  .physics__pin{grid-template-columns:1fr;grid-template-rows:auto 1fr;padding-top:92px;gap:12px}
  .physics__copy .h2{margin-bottom:12px;font-size:2rem}
  .physics__copy .body{font-size:.9rem}
  .readout{margin-top:18px}
  .physics__viz{min-height:200px}
}

/* evidence */
.papers{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);margin-top:clamp(70px,11vh,130px)}
.paper{border-top:1px solid var(--line);padding-top:24px;display:flex;flex-direction:column;gap:22px}
.paper h3{font-size:clamp(1.3rem,1.8vw,1.9rem);font-weight:300;letter-spacing:-.03em;line-height:1.15;max-width:24ch}
.paper__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:12px}
.paper__stats b{display:block;font-size:clamp(2rem,3.4vw,3.6rem);font-weight:200;letter-spacing:-.05em;line-height:1}
.paper__stats div > span{display:block;margin-top:10px;font-size:13px;color:var(--ink-2);line-height:1.4}
.paper__note{font-size:14px;color:var(--ink-3);max-width:52ch}
.evidence__close{margin-top:clamp(80px,13vh,150px);max-width:30ch;color:var(--ink)}
@media (max-width:860px){.papers{grid-template-columns:1fr}.paper__stats{grid-template-columns:1fr 1fr 1fr}}

/* app */
.app{padding:0}
.app__pin{height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--gut);padding:clamp(100px,13vh,130px) var(--gut) 40px}
.app__copy .h2{margin-bottom:28px}
.app__states{list-style:none;display:flex;gap:28px;margin-top:40px}
.app__states li{opacity:.35;transition:opacity .4s;position:relative;padding-top:12px}
.app__states li::before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.app__states li.is-on{opacity:1}
.app__states li.is-on::before{transform:scaleX(1)}
.app__note{position:absolute;right:var(--gut);bottom:28px}
.phone{justify-self:center;width:min(340px,78vw);aspect-ratio:9/19.3;border-radius:52px;background:#0a0a0a;padding:11px;box-shadow:0 0 0 1px rgba(0,0,0,.08),0 60px 120px -30px rgba(0,0,0,.35),inset 0 0 0 2px #2a2a2a}
.phone__screen{width:100%;height:100%;border-radius:42px;background:#fbfbfa;color:#0a0a0a;padding:22px 20px;display:flex;flex-direction:column;gap:14px;overflow:hidden;position:relative}
.ui__top{display:flex;justify-content:space-between;font-size:11px;font-weight:500;letter-spacing:.18em;padding:0 6px}
.ui__top span:last-child{letter-spacing:0;font-weight:500}
.ui__ring{position:relative;width:78%;margin:16px auto 4px;aspect-ratio:1}
.ui__ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ui__ringbg{fill:none;stroke:#ecebe8;stroke-width:6}
.ui__ringfg{fill:none;stroke:#0a0a0a;stroke-width:6;stroke-linecap:round;stroke-dasharray:552.9;stroke-dashoffset:60;transition:stroke .6s,stroke-dashoffset 1s var(--ease)}
.ui__ringtxt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:0 18%}
.ui__ringtxt b{font-size:21px;font-weight:400;letter-spacing:-.03em;line-height:1.1;transition:color .5s}
.ui__ringtxt span{font-size:12px;color:#777}
.ui__spark{width:100%;height:60px;display:block}
.ui__list{list-style:none;font-size:12.5px;display:flex;flex-direction:column}
.ui__list li{display:flex;justify-content:space-between;padding:10px 4px;border-top:1px solid #ecebe8}
.ui__list li span{color:#777}
.ui__list li b{font-weight:500}
.ui__cta{margin-top:auto;text-align:center;font-size:13px;font-weight:500;padding:14px;border-radius:999px;background:#0a0a0a;color:#fff;opacity:.08;transition:opacity .6s,background .6s}
.ui__cta.is-on{opacity:1}
@media (max-width:860px){
  .app__pin{grid-template-columns:1fr;grid-template-rows:auto 1fr;padding-top:92px;gap:18px;align-items:start}
  .app__copy .body{display:none}
  .app__copy .h2{margin-bottom:0;font-size:2rem}
  .app__states{margin-top:16px}
  .phone{width:min(250px,62vw);border-radius:40px}
  .phone__screen{border-radius:32px;padding:16px 14px;gap:8px}
  .ui__ringtxt b{font-size:16px}
}

/* india */
.india__grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(70px,11vh,130px);border-top:1px solid var(--line)}
.stat{padding:28px 24px 0 0}
.stat+.stat{padding-left:24px;border-left:1px solid var(--line)}
.stat b{display:block;font-size:clamp(3.2rem,6.2vw,6.6rem);font-weight:200;line-height:.9;letter-spacing:-.06em;white-space:nowrap}
.stat b small{font-size:.34em;color:var(--ink-3);letter-spacing:-.02em;margin-left:.1em}
.stat p{margin-top:20px;color:var(--ink-2);font-size:15px;max-width:30ch}
@media (max-width:860px){.india__grid{grid-template-columns:1fr}.stat+.stat{padding-left:0;border-left:0;margin-top:36px}}

/* roadmap */
.road{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:clamp(70px,11vh,130px);border-top:1px solid var(--pline);position:relative}
.road::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:25%;background:var(--pk)}
.road__item{padding:24px 24px 0 0;display:flex;flex-direction:column;gap:14px}
.road__item+.road__item{padding-left:24px;border-left:1px solid var(--pline)}
.road__item h3{font-size:clamp(1.3rem,1.7vw,1.7rem);font-weight:300;letter-spacing:-.03em}
.road__item p{font-size:14.5px;color:var(--pk-2);max-width:30ch}
.tag{align-self:flex-start;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--pk);color:var(--paper)}
.tag--next{background:transparent;color:var(--pk);box-shadow:inset 0 0 0 1px var(--pk)}
.tag--plan{background:transparent;color:var(--pk-3);box-shadow:inset 0 0 0 1px var(--pline)}
@media (max-width:900px){.road{grid-template-columns:1fr 1fr}.road__item:nth-child(3){padding-left:0;border-left:0}.road__item:nth-child(n+3){margin-top:36px}}
@media (max-width:560px){.road{grid-template-columns:1fr}.road__item+.road__item{padding-left:0;border-left:0;margin-top:32px}}

/* story */
.story{padding-top:clamp(140px,22vh,240px);padding-bottom:clamp(140px,22vh,240px)}
.story__q{font-size:clamp(1.8rem,3.8vw,4rem);font-weight:300;line-height:1.1;letter-spacing:-.04em;max-width:24ch}
.story__q .w{opacity:.14}
.story__by{margin-top:48px;display:flex;flex-direction:column;gap:6px}
.story__by b{font-size:18px}
.story__by span{color:var(--ink-3);font-size:14px}
.story__line{margin-top:clamp(90px,15vh,170px);max-width:28ch;color:var(--ink-2)}

/* footer */
.foot{background:var(--black);padding:clamp(80px,12vh,140px) var(--gut) 28px;border-top:1px solid var(--line)}
.foot__mark{font-size:min(19.5vw,22rem);font-weight:200;letter-spacing:-.07em;line-height:.8;margin-left:-.05em;white-space:nowrap}
.foot__cols{display:grid;grid-template-columns:1fr 2.4fr;gap:var(--gut);margin-top:clamp(60px,10vh,110px);padding-top:28px;border-top:1px solid var(--line)}
.foot__cols>div:first-child{display:flex;flex-direction:column;gap:10px}
.foot__cols>div:first-child a{font-size:18px;letter-spacing:-.02em;color:var(--ink-2);transition:color .3s}
.foot__cols>div:first-child a:hover{color:var(--ink)}
.foot__refs ol{list-style:decimal;padding-left:20px;display:grid;grid-template-columns:1fr 1fr;column-gap:40px;row-gap:10px;margin-top:12px;font-size:12.5px;color:var(--ink-3);line-height:1.5}
.foot__refs a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--line)}
.foot__legal{margin-top:56px;font-size:12.5px;color:var(--ink-3);max-width:90ch}
.foot__bar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
@media (max-width:860px){.foot__cols{grid-template-columns:1fr}.foot__refs ol{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media (max-width:860px){.sound{top:auto;bottom:10px;left:14px;right:auto}}

/* ═════════ v3 motion layer ═════════ */
.cursor{position:fixed;left:0;top:0;z-index:90;pointer-events:none;mix-blend-mode:difference}
.cursor__dot{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#fff}
.cursor__ring{position:absolute;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;border:1px solid rgba(255,255,255,.55);display:grid;place-items:center;transition:width .5s var(--ease),height .5s var(--ease),margin .5s var(--ease),background .4s}
.cursor.is-hover .cursor__ring{width:84px;height:84px;margin:-42px 0 0 -42px;background:#fff;border-color:#fff}
.cursor__label{font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#000;opacity:0;transition:opacity .25s}
.cursor.is-hover .cursor__label{opacity:1}

.ch{display:inline-block;will-change:transform}
.hero__meta{position:absolute;left:var(--gut);right:var(--gut);top:96px;display:flex;justify-content:space-between}
@media (max-width:860px){.hero__meta span:last-child{display:none}}

.sheet--clear{background:transparent}
.sheet--clear .paper__note,.sheet--clear .stat p{color:var(--ink-2)}

/* statement */
.statement__pin{height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;position:relative}
.statement__line{font-size:clamp(5rem,15vw,17rem);font-weight:200;letter-spacing:-.06em;line-height:1;white-space:nowrap;will-change:transform;padding-left:2vw}
.statement__sub{position:absolute;left:var(--gut);bottom:clamp(40px,8vh,80px);color:var(--ink-2)}

/* how progress */
.how__bar{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left;z-index:2}

/* finale */
.finale__pin{height:100vh;display:flex;align-items:flex-end;justify-content:center;padding-bottom:clamp(60px,14vh,140px)}
.finale__copy{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
.finale__copy .h3{color:var(--ink-2)}

/* drawn rules */
.nums,.india__grid,.road{border-top:0}
.paper{border-top:0}
.num,.stat,.road__item,.paper{position:relative}
.num::before,.stat::before,.road__item::before,.paper::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:currentColor;opacity:.16;transform:scaleX(var(--rule,1));transform-origin:left}
.road::before{display:none}
.road__item.is-done::before{opacity:1}
.phone{transform-style:preserve-3d;will-change:transform}
.app__pin{perspective:1400px}
#loader{clip-path:inset(0 0 0 0)}
.loader__foot .cap:last-child{font-size:13px;color:var(--ink)}

/* ═════════ v4 ═════════ */
.count.is-odo{display:inline-flex;align-items:flex-start}
.odo{display:inline-block;height:1em;overflow:hidden;line-height:1;font-variant-numeric:tabular-nums;margin-right:-.05em}
.odo__col{display:block}
.odo__col i{display:block;height:1em;line-height:1;font-style:normal;text-align:center}
.odo__sep{line-height:1}
.num__v,.stat b,.paper__stats b{line-height:1}
.sch{display:inline-block}
.brand svg .b0{opacity:.35}
.brand svg .b1{stroke-dasharray:16 44;animation:ecg .83s linear infinite}
@keyframes ecg{from{stroke-dashoffset:60}to{stroke-dashoffset:0}}
.paper,.stat,.num,.road__item{transform-style:preserve-3d;will-change:transform}

/* ═════════ v5: hook hero, scrims, moments ═════════ */
.hero{height:auto;min-height:0;display:block;padding:0}
.hero__pin{position:relative;height:100vh;overflow:hidden}
.hero__type{position:absolute;left:0;right:0;top:19vh;text-align:center;padding:0 var(--gut);z-index:2}
.hero__type .display{font-size:clamp(3.2rem,9vw,10.5rem);line-height:.9;letter-spacing:-.055em}
.hero__kicker{margin-bottom:28px;color:var(--ink-2)}
#ecg{position:absolute;left:0;top:58vh;width:100%;height:18vh;display:block;z-index:1}
.hero__scrim{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:linear-gradient(to top,#000 0%,rgba(0,0,0,.92) 22%,rgba(0,0,0,0) 48%)}
.hero__caption{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(36px,7vh,72px);z-index:2;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;opacity:0}
.hero__caption .lede{max-width:34ch;color:var(--ink)}
.hero__hint{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:2}
.hero__hint i{width:1px;height:44px;background:linear-gradient(var(--ink),transparent);animation:drip 1.8s var(--ease) infinite;transform-origin:top}
@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:860px){
  .hero__type{top:18vh}
  .hero__type .display{font-size:clamp(2.9rem,14vw,5rem)}
  #ecg{top:56vh;height:14vh}
  .hero__caption{flex-direction:column;align-items:flex-start}
}

/* device: left scrim keeps copy readable over the 3D */
.device__pin::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 28%,rgba(0,0,0,0) 52%)}
.device__intro,.index,.device__note{z-index:1}
@media (max-width:860px){.device__pin::before{background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.8) 24%,rgba(0,0,0,0) 40%,rgba(0,0,0,0) 72%,#000 88%)}}

/* statement: particles sit behind, copy stays bold enough */
.statement__line{font-weight:300}

/* terrain moment */
.terrain__pin{position:relative;height:100vh;padding:0 var(--gut)}
.terrain__pin::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.85) 30%,rgba(0,0,0,0) 52%)}
.terrain__copy{position:absolute;left:var(--gut);top:clamp(110px,15vh,150px);z-index:1}
.terrain__legend{position:absolute;left:var(--gut);bottom:clamp(36px,6vh,64px);max-width:46ch;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink-2);z-index:1}
.evidence{padding-top:clamp(60px,8vh,100px)}
.evidence .papers{margin-top:0}

/* finale: wordmark above, copy below on clean black */
.finale__pin::before{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;pointer-events:none;background:linear-gradient(to top,#000 30%,rgba(0,0,0,0))}
.finale__pin{position:relative}
.finale__copy{position:relative;z-index:1}
.terrain__legend{top:clamp(120px,16vh,160px);bottom:auto;left:auto;right:var(--gut);text-align:right;max-width:34ch}
@media (max-width:860px){.terrain__legend{top:auto;bottom:auto;left:var(--gut);right:var(--gut);text-align:left;top:calc(clamp(110px,15vh,150px) + 150px)}}
