/* =====================================================================
   HattaKatta /welcome/ — static landing (23 Sep).
   Base = A "dark cinema"; B se chapters + pull-quote + sticky side labels;
   C se Devanagari marquee bands + counters. Koi CDN nahi, koi inline
   script nahi (CSP). Fonts subset woff2 (landing/fonts, README dekho).
   ===================================================================== */
@font-face{font-family:Deva;font-weight:700;font-display:swap;src:url(/welcome/fonts/NotoSansDevanagari_700Bold.woff2) format("woff2")}
@font-face{font-family:Archivo;font-weight:700;font-display:swap;src:url(/welcome/fonts/Archivo_700Bold.woff2) format("woff2")}
@font-face{font-family:Archivo;font-weight:600;font-display:swap;src:url(/welcome/fonts/Archivo_600SemiBold.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(/welcome/fonts/Inter_400Regular.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(/welcome/fonts/Inter_500Medium.woff2) format("woff2")}
@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/welcome/fonts/Fraunces_500Italic.woff2) format("woff2")}

:root{
 /* tokens.ts / theme.tsx (CLIENT_DARK) ke hi rang */
 --ink:#0E1512;--ink2:#141B17;--ink3:#1B231E;--gold:#CDA353;--gold2:#E6C98A;--goldD:#B08D3F;
 --ivory:#F4EFE6;--mute:#9A9384;--body:#C9C2B4;--line:rgba(244,239,230,.10);
 --ease:cubic-bezier(.2,.7,.1,1);
 --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
 color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--ink);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--ink);color:var(--ivory);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden;position:relative;
 padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
body::after{content:"";position:fixed;inset:0;background-image:var(--grain);opacity:.06;pointer-events:none;mix-blend-mode:overlay;z-index:60}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}
ol,ul{list-style:none}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px;position:relative}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--gold);color:var(--ink);padding:10px 16px;border-radius:99px;font-weight:500}
.skip:focus{top:12px}
.eyebrow{font-family:Archivo,sans-serif;font-weight:600;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.g{color:var(--gold)}
.soft{color:rgba(244,239,230,.35)}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:40;padding:16px 0;padding-top:max(16px,env(safe-area-inset-top));transition:background .5s var(--ease),padding .5s var(--ease),border-color .5s;border-bottom:1px solid transparent}
.nav.scrolled{background:rgba(14,21,18,.78);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom-color:var(--line);padding-bottom:12px}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:16px}
.lock{display:inline-flex;align-items:center;gap:8px;font-family:Archivo,sans-serif;font-weight:700;font-size:14px;letter-spacing:.16em}
.lock .g{color:var(--gold)}
.bb{display:inline-flex;align-items:center;gap:2px}
.bb i{display:block;background:var(--ivory);border-radius:1px}
.bb .p1{width:3px;height:10px}.bb .p2{width:2px;height:7px}.bb .bar{width:30px;height:2px;background:var(--gold);border-radius:2px}
.nav-r{display:flex;gap:26px;align-items:center;font-size:13px;color:var(--mute)}
.nav-r .lk{display:none;transition:color .3s}
.nav-r .lk:hover{color:var(--ivory)}
.pill{border:1px solid rgba(205,163,83,.5);color:var(--gold2);padding:9px 18px;border-radius:999px;font-size:13px;font-weight:500;letter-spacing:.02em;transition:background .4s,color .4s,transform .35s var(--ease);display:inline-block}
.pill:hover{background:var(--gold);color:var(--ink)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:112px 0 64px;overflow:hidden;isolation:isolate}
.leak{position:absolute;border-radius:50%;filter:blur(60px);z-index:-1;pointer-events:none;will-change:transform}
.leak.a{width:80vw;height:80vw;max-width:900px;max-height:900px;left:-24vw;top:-20vw;background:radial-gradient(circle,rgba(205,163,83,.36),rgba(205,163,83,0) 65%)}
.leak.b{width:60vw;height:60vw;max-width:700px;max-height:700px;right:-22vw;top:34%;background:radial-gradient(circle,rgba(214,120,60,.20),rgba(214,120,60,0) 65%)}
.vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,transparent 40%,rgba(0,0,0,.55));z-index:-1}
.hero>.wrap,.final>.wrap,.still>.wrap{width:100%}
.hero .eyebrow{display:flex;gap:14px;align-items:center;margin-bottom:18px}
@media (max-width:420px){.hero .eyebrow{letter-spacing:.22em;font-size:10.5px}}
.hero .eyebrow::before{content:"";width:28px;height:1px;background:var(--gold);flex:none}
.big{font-family:Deva,"Noto Sans Devanagari",serif;font-weight:700;font-size:clamp(72px,24vw,300px);line-height:1.08;letter-spacing:-.01em;margin-left:-.04em;white-space:nowrap}
.big-in{display:inline-block;background:linear-gradient(180deg,#FBF6EC 0%,#F4EFE6 45%,#CDA353 120%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--ivory);
 animation:rise 1.2s var(--ease) both}
@keyframes rise{from{transform:translateY(.18em);clip-path:inset(0 0 100% 0)}to{transform:none;clip-path:inset(-10% 0 -20% 0)}}
.barline{display:block;width:100%;max-width:1060px;height:34px;margin:2px 0 26px;overflow:visible}
.barline line,.barline rect{fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linecap:round}
.draw{stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 2.4s cubic-bezier(.65,0,.35,1) .35s forwards}
.draw.d2{animation-delay:1.3s;stroke-dasharray:120;stroke-dashoffset:120}
@keyframes draw{to{stroke-dashoffset:0}}
.hero-in{animation:fadeup 1s var(--ease) both;animation-delay:var(--d,0s)}
@keyframes fadeup{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero-row{display:grid;gap:26px}
.lede{font-family:Archivo,sans-serif;font-weight:600;font-size:clamp(21px,2.4vw,30px);line-height:1.28;letter-spacing:-.01em;max-width:620px}
.lede em{font-style:normal;color:var(--gold2)}
.hero-act{display:grid;gap:20px}
.sub{color:var(--mute);max-width:440px;font-size:15px}
.cta-row{display:flex;gap:14px 20px;align-items:center;flex-wrap:wrap}
.fine{color:var(--mute);font-size:12px;letter-spacing:.04em}
.cta{display:inline-flex;align-items:center;gap:14px;background:var(--gold);color:var(--ink);padding:17px 26px;border-radius:999px;font-weight:500;font-size:15px;letter-spacing:.01em;
 box-shadow:0 20px 60px -20px rgba(205,163,83,.6);transition:transform .35s var(--ease),box-shadow .4s}
.cta:hover{box-shadow:0 24px 70px -18px rgba(205,163,83,.8)}
.cta .ar{width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--gold);display:grid;place-items:center;font-size:14px;transition:transform .35s var(--ease)}
.cta:hover .ar{transform:translateX(3px)}
.cta.ink{background:var(--ink);color:var(--ivory);box-shadow:0 20px 60px -24px rgba(14,21,18,.7)}
.cta.ink .ar{background:var(--gold);color:var(--ink)}
.ghost{display:inline-block;color:var(--ivory);border-bottom:1px solid rgba(205,163,83,.6);padding:4px 0;font-size:15px;font-weight:500;transition:color .3s,transform .35s var(--ease)}
.ghost:hover{color:var(--gold2)}
.scroll{position:absolute;right:20px;bottom:26px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.4em;color:var(--mute);text-transform:uppercase;display:none}

/* ---------- reveal (JS ho tabhi chhupta hai — landing.js `rvon`) ---------- */
.rvon .rv{opacity:0;transform:translateY(36px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);transition-delay:var(--rd,0s)}
.rvon .rv.in{opacity:1;transform:none}

/* ---------- marquee (C) ---------- */
.mq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;contain:paint}
.mq-row{overflow:hidden;white-space:nowrap;padding:2px 0}
.mq-row+.mq-row{border-top:1px solid var(--line)}
.mq-tr{display:inline-flex;animation:mq 42s linear infinite;will-change:transform}
.mq-row.rev .mq-tr{animation-direction:reverse;animation-duration:52s}
.mq.paused .mq-tr{animation-play-state:paused}
.mq span{font-family:Deva,"Noto Sans Devanagari",serif;font-weight:700;font-size:clamp(48px,8.5vw,116px);line-height:1.35;padding:0 .32em;display:inline-flex;align-items:center;gap:.64em;color:var(--ivory)}
.mq span::after{content:"";width:.24em;height:.24em;background:var(--gold);transform:rotate(45deg);display:inline-block}
.mq-row.o span{color:transparent;-webkit-text-stroke:1.2px rgba(244,239,230,.55)}
.mq.gold{background:var(--gold);border:0}
.mq.gold span{color:var(--ink)}
.mq.gold span::after{background:var(--ink)}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- chapters (B) ---------- */
section{position:relative}
.chap{padding:88px 0}
.chap-grid{display:grid;gap:22px}
.chap-body{min-width:0}
.side{display:flex;align-items:center;gap:14px}
.side-no{font-family:Archivo,sans-serif;font-weight:700;font-size:44px;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px var(--gold)}
.side-lb{font-family:Archivo,sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:12px;flex:1}
.side-lb::after{content:"";flex:1;height:1px;background:var(--gold);opacity:.4}
h2{font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(38px,6.4vw,92px);line-height:.98;letter-spacing:-.03em;margin-bottom:48px}
.lead{font-size:17px;color:var(--body);max-width:560px;margin-top:-24px}

/* cards (A) */
.cards{display:grid;gap:16px}
.card{position:relative;border-radius:22px;overflow:hidden;background:var(--ink2);border:1px solid var(--line);min-height:400px;display:flex;flex-direction:column;justify-content:flex-end;padding:26px;isolation:isolate;
 transition:transform .6s var(--ease),border-color .6s}
.card:hover{border-color:rgba(205,163,83,.3)}
.card .ph{position:absolute;inset:0;z-index:-1;transition:transform 1.4s var(--ease)}
.card:hover .ph{transform:scale(1.04)}
.card .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,21,18,0) 30%,rgba(14,21,18,.94) 78%)}
.card .n{position:absolute;top:20px;left:22px;background:rgba(14,21,18,.72);padding:5px 10px;border-radius:99px;font-family:Archivo,sans-serif;font-weight:600;font-size:12px;letter-spacing:.3em;color:var(--gold)}
.card .tag{position:absolute;top:20px;right:22px;font-size:10px;letter-spacing:.2em;color:rgba(244,239,230,.55);border:1px solid var(--line);padding:5px 10px;border-radius:99px;text-transform:uppercase;background:rgba(14,21,18,.4)}
.card h3{font-family:Archivo,sans-serif;font-weight:700;font-size:28px;line-height:1.05;letter-spacing:-.02em;margin-bottom:10px}
.card p{color:var(--body);font-size:15px;max-width:380px}
.duo1{background:radial-gradient(circle at 70% 30%,#E6C98A 0,#A7803F 18%,#3A2E1C 45%,#0E1512 75%)}
.duo2{background:conic-gradient(from 200deg at 30% 40%,#0E1512,#2A3A31 25%,#CDA353 38%,#1B231E 52%,#0E1512 80%)}
.duo3{background:linear-gradient(115deg,#0E1512 20%,#23302A 40%,#8C6A33 62%,#E6C98A 70%,#1B231E 82%)}
.duo4{background:radial-gradient(ellipse at 20% 80%,#CDA353,#5A4424 30%,#0E1512 65%),#0E1512}
.fig{position:absolute;inset:0;display:grid;place-items:center}
.fig svg{width:58%;max-width:260px;stroke:rgba(14,21,18,.85);stroke-width:5;fill:none;stroke-linecap:round;stroke-linejoin:round;transform:translateY(-14%)}

/* pull-quote (B) */
.pull{padding:96px 0;background:var(--ink2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pull .mark{display:block;font-family:Fraunces,Georgia,serif;font-style:italic;color:var(--gold);font-size:120px;line-height:.5;height:44px}
.pull blockquote{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(36px,6.2vw,100px);line-height:1.04;letter-spacing:-.02em;max-width:1100px}
.pull cite{display:block;margin-top:26px;font-style:normal;font-family:Archivo,sans-serif;font-weight:600;font-size:11px;letter-spacing:.28em;color:var(--mute);text-transform:uppercase}

/* trainer story — film still (A) + reel */
.story{padding:0}
.still{position:relative;min-height:82vh;min-height:82svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;padding:96px 0 64px}
.still-bg{position:absolute;inset:-12% 0;z-index:-2;background:
 radial-gradient(ellipse at 72% 38%,rgba(230,201,138,.85) 0,rgba(205,163,83,.55) 10%,rgba(90,68,36,.6) 26%,rgba(14,21,18,0) 55%),
 linear-gradient(90deg,#0E1512 0,#101813 40%,#1B231E 100%);will-change:transform}
.still-bg::before{content:"";position:absolute;right:8%;top:16%;width:min(50vw,420px);-webkit-mask-image:linear-gradient(180deg,#000 35%,transparent 92%);mask-image:linear-gradient(180deg,#000 35%,transparent 92%);aspect-ratio:3/4;border-radius:200px 200px 0 0;background:linear-gradient(180deg,rgba(14,21,18,0),rgba(14,21,18,.9)),radial-gradient(circle at 50% 28%,#3a2e1c 0 16%,transparent 17%);opacity:.55}
.still-media{position:absolute;inset:0;z-index:-1}
.still-media video,.still-media img{width:100%;height:100%;object-fit:cover;opacity:.55;filter:grayscale(1) sepia(.35) contrast(1.05)}
.still::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,var(--ink) 0,rgba(14,21,18,0) 55%)}
.frame-tl,.frame-tr{position:absolute;top:84px;font-size:10px;letter-spacing:.3em;color:rgba(244,239,230,.55);font-family:Archivo,sans-serif;font-weight:600}
.frame-tl{left:20px}
.frame-tr{right:20px;display:flex;gap:8px;align-items:center}
.frame-tr::before{content:"";width:7px;height:7px;border-radius:50%;background:#D2553B;box-shadow:0 0 12px #D2553B;animation:blink 1.6s steps(2,start) infinite}
@keyframes blink{50%{opacity:.2}}
.story h2{margin-bottom:44px}
.story .lead{margin-top:-20px}
.reel{display:flex;gap:14px;overflow-x:auto;padding:36px 20px 88px;scroll-snap-type:x mandatory;scroll-padding-left:20px;scrollbar-width:none;max-width:1240px;margin:0 auto;cursor:grab}
.reel::-webkit-scrollbar{display:none}
.reel.drag{cursor:grabbing;scroll-snap-type:none}
.tr{flex:0 0 70%;max-width:300px;scroll-snap-align:start;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--ink2);user-select:none}
.tr .img{aspect-ratio:4/5;position:relative;display:block;overflow:hidden}
.slot::before{content:"";position:absolute;left:50%;top:24%;width:28%;aspect-ratio:1;border-radius:50%;transform:translateX(-50%);background:rgba(14,21,18,.5)}
.slot::after{content:"";position:absolute;left:50%;bottom:0;width:64%;height:36%;border-radius:50% 50% 0 0/60% 60% 0 0;transform:translateX(-50%);background:rgba(14,21,18,.5)}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;filter:grayscale(1) sepia(.3) contrast(1.05)}
.slot em{position:absolute;bottom:12px;left:12px;font-style:normal;font-size:9px;letter-spacing:.24em;color:rgba(244,239,230,.6);text-transform:uppercase;z-index:2}
.tr figcaption{padding:16px 18px 18px;display:grid;gap:2px}
.tr figcaption b{font-family:Archivo,sans-serif;font-weight:600;font-size:17px}
.tr figcaption small{color:var(--mute);font-size:12px}
.tr .chk{color:var(--gold);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;margin-top:8px}
.tr.you .img{display:grid;place-items:center;background:repeating-linear-gradient(135deg,rgba(205,163,83,.06) 0 12px,transparent 12px 24px)}
.tr.you .plus{width:64px;height:64px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-size:28px;transition:transform .5s var(--ease),background .4s}
.tr.you .img:hover .plus{transform:rotate(90deg);background:rgba(205,163,83,.12)}

/* steps (A) */
.steps{display:grid;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:52px 1fr;column-gap:14px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}
.step .k{font-family:Archivo,sans-serif;font-weight:600;color:var(--gold);font-size:13px;letter-spacing:.2em;padding-top:9px}
.step h3{font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(24px,3vw,40px);letter-spacing:-.02em;line-height:1.1}
.step p{color:var(--mute);margin-top:8px;max-width:520px;grid-column:2}

/* counters (C) */
.counts-band{padding:72px 0 0;border-top:1px solid var(--line)}
.counts-band .eyebrow{margin-bottom:30px}
.counts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.ct{padding:26px 16px 30px 0;border-bottom:1px solid var(--line)}
.ct:nth-child(odd){border-right:1px solid var(--line);padding-right:16px}
.ct:nth-child(even){padding-left:16px}
.ct b{font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(60px,10vw,150px);line-height:.88;letter-spacing:-.05em;display:block;color:var(--gold);font-variant-numeric:tabular-nums}
.ct b small{font-size:.36em;letter-spacing:0;margin-left:3px;color:var(--ivory)}
.ct p{color:var(--mute);font-size:13.5px;margin-top:14px;max-width:260px}

/* chapter 04 — gold (C) + ink text */
.biz{background:var(--gold);color:var(--ink);overflow:hidden;padding:96px 0}
.biz .side-no{-webkit-text-stroke-color:var(--ink)}
.biz .side-lb{color:var(--ink)}
.biz .side-lb::after{background:var(--ink)}
.biz h2 .it{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:500;letter-spacing:-.02em}
.biz .lead{color:rgba(14,21,18,.78)}
.ghost-deva{position:absolute;right:-6vw;bottom:-4vw;font-family:Deva,serif;font-weight:700;font-size:clamp(160px,30vw,440px);line-height:1;color:var(--ink);opacity:.07;white-space:nowrap;pointer-events:none;will-change:transform}
.biz-list{margin-top:44px;border-top:1px solid rgba(14,21,18,.85)}
.biz-list li{padding:16px 0;border-bottom:1px solid rgba(14,21,18,.2);display:flex;flex-direction:column;gap:2px;font-size:17px;font-weight:500}
.biz-list li span{color:rgba(14,21,18,.65);font-size:13px;font-weight:400}
.biz-cta{margin-top:40px}

/* final */
.final{text-align:center;padding:150px 0 96px;overflow:hidden;isolation:isolate}
.final .leak.a{left:10vw;top:-16vw}
.final h2{font-size:clamp(44px,9vw,140px);margin-bottom:0}
.deva-s{font-family:Deva,serif;font-weight:700;font-size:clamp(20px,3vw,28px);color:var(--gold);margin-bottom:24px}
.final-cta{margin-top:44px;display:flex;flex-direction:column;align-items:center;gap:22px}
.text-link{color:var(--mute);font-size:14px;border-bottom:1px solid var(--line);padding-bottom:2px;transition:color .3s}
.text-link:hover{color:var(--gold2)}

/* footer */
.foot{border-top:1px solid var(--line);padding:38px 0;padding-bottom:max(44px,env(safe-area-inset-bottom));font-size:13px;color:var(--mute)}
.foot-in{display:grid;gap:24px}
.foot-l{display:grid;gap:12px}
.made{font-family:Archivo,sans-serif;font-weight:600;font-size:10px;letter-spacing:.3em;color:var(--ivory)}
.made i{color:var(--gold);font-style:normal}
.pol{display:flex;flex-wrap:wrap;gap:10px 22px}
.pol a{transition:color .3s}
.pol a:hover{color:var(--gold2)}

/* ---------- tablet+ ---------- */
@media (min-width:760px){
 .wrap{padding:0 44px}
 .nav-r .lk{display:inline}
 .hero{justify-content:flex-end;padding-bottom:84px}
 .hero-row{grid-template-columns:1.2fr 1fr;align-items:end}
 .scroll{display:block;right:44px}
 .chap{padding:128px 0}
 .cards{grid-template-columns:repeat(2,1fr)}
 .card{min-height:500px}
 .card.w{grid-column:span 2;min-height:460px}
 .tr{flex-basis:270px}
 .reel{padding-left:44px;padding-right:44px;scroll-padding-left:44px}
 .step{grid-template-columns:110px 1fr 1fr;column-gap:32px}
 .step p{margin-top:6px;grid-column:auto}
 .biz-list li{flex-direction:row;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0}
 .biz-list li span{text-align:right}
 .still-bg::before{right:14%;top:20%;width:min(34vw,420px)}
 .counts{grid-template-columns:repeat(4,1fr)}
 .ct,.ct:nth-child(odd),.ct:nth-child(even){padding:30px 22px 34px;border-right:1px solid var(--line)}
 .ct:first-child{padding-left:0}
 .ct:last-child{border-right:0}
 .frame-tl{left:44px}.frame-tr{right:44px}
 .foot-in{grid-template-columns:1fr auto;align-items:end}
}
/* ---------- desktop: sticky side labels (B) ---------- */
@media (min-width:1000px){
 .chap-grid{grid-template-columns:170px 1fr;gap:48px}
 .side{position:sticky;top:110px;align-self:start;flex-direction:column;align-items:flex-start;gap:18px}
 .side-no{font-size:72px}
 .side-lb{writing-mode:vertical-rl;transform:rotate(180deg);flex:none;height:auto}
 .side-lb::after{width:1px;height:60px;flex:none}
 .cards{grid-template-columns:repeat(3,1fr)}
 .card{min-height:540px}
 .card.w{grid-column:span 2}
}
@media (hover:hover) and (pointer:fine){.mag{will-change:transform}}

/* ---------- reduced motion: sab band ---------- */
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .big-in,.hero-in{animation:none}
 .draw,.draw.d2{animation:none;stroke-dashoffset:0}
 .mq-tr{animation:none}
 .frame-tr::before{animation:none}
 .rvon .rv{opacity:1;transform:none;transition:none}
 .card .ph,.cta,.pill{transition:none}
}

/* 23 Sep: abhi sirf Pune — naye sheher aayein to landing/index.html ki line badlo (app ka card DB se khud) */
.hero .fine.cities{display:block;margin-top:6px;color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}
