
:root{
  --night:#0B0907; --night-2:#16110D; --diya:#FFB547; --kesudo:#F0701E; --kesudo-ink:#A83A06;
  --kumkum:#B3122B; --rani:#D12F6E; --mirror:#DAD6CE; --leaf:#2E6A3E; --chandan:#F3E7D3; --rain:#C8E1F0;
  --ink:var(--chandan); --ink-2:rgba(243,231,211,.66); --line:rgba(243,231,211,.16);
  --f-display:"Archivo","Arial Narrow",system-ui,sans-serif;
  --f-serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --f-gu:"Hind Vadodara","Nirmala UI","Shruti",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --g:clamp(16px,4vw,56px);
  --ease-out:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{background:var(--night);color:var(--ink);-webkit-text-size-adjust:100%;scrollbar-gutter:stable}
html.fonts-pending .hero-name{visibility:hidden}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:transparent;color:var(--ink);font-family:var(--f-display);font-size:16px;line-height:1.5;overflow-x:clip;-webkit-font-smoothing:antialiased}
html.is-intro,html.is-intro body{overflow:hidden}
a{color:inherit}
img{display:block;max-width:100%}
button{font:inherit;color:inherit}
h1,h2,h3{font-weight:inherit}
.mono{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;line-height:1.5}
.serif{font-family:var(--f-serif);font-weight:400}
.display{font-family:var(--f-display);font-stretch:62%;font-weight:700;text-transform:uppercase;line-height:.84;letter-spacing:-.005em}
.gu{font-family:var(--f-gu);text-transform:none;font-stretch:normal;letter-spacing:0}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--diya);outline-offset:3px;border-radius:6px}

/* ---------- stage layers ---------- */
.stage{position:fixed;inset:0;z-index:-3;background:var(--night)}
.bandhani{position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.045;background-image:radial-gradient(circle at center,var(--chandan) .9px,transparent 1.5px);background-size:11px 11px;transition:opacity .8s}
#embers{position:fixed;inset:0;z-index:-1;pointer-events:none;width:100%;height:100%;transition:opacity .8s}
body.is-light #embers,body.is-rain #embers{opacity:0}
body.is-light .bandhani{opacity:.07;filter:invert(1)}

/* ---------- intro ---------- */
.intro{position:fixed;inset:0;z-index:200;background:var(--night);display:none;cursor:pointer;--r:0px;
  -webkit-mask-image:radial-gradient(circle at 50% 50%,transparent var(--r),#000 calc(var(--r) + 1.5px));
  mask-image:radial-gradient(circle at 50% 50%,transparent var(--r),#000 calc(var(--r) + 1.5px))}
html.is-intro .intro{display:block}
.intro canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.intro-mark{position:absolute;left:var(--g);top:22px;display:flex;align-items:center;gap:14px;color:var(--ink-2)}
.intro-mark i{display:block;width:0;height:1px;background:var(--mirror);animation:introLine 1.2s var(--ease-out) .2s forwards}
@keyframes introLine{to{width:min(22vw,220px)}}
.intro-skip{position:absolute;right:var(--g);bottom:22px}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px var(--g);pointer-events:none;transition:color .6s}
.nav>*{pointer-events:auto}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-mono);font-size:12px;letter-spacing:.18em;font-weight:500}
.brand .star{color:var(--kesudo)}
.brand small{color:var(--ink-2);font-size:11px;letter-spacing:.14em;font-weight:400}
.nav-right{display:flex;align-items:center;gap:8px}
.chapter-ind{margin-right:10px;color:var(--ink-2);white-space:nowrap;transition:color .6s;width:30ch;text-align:right;overflow:hidden}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:rgba(11,9,7,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;position:relative;white-space:nowrap;transition:background .35s,border-color .35s,color .35s}
.pill:hover{border-color:rgba(243,231,211,.5)}
.pill.solid{background:var(--chandan);color:var(--night);border-color:var(--chandan)}
.pill .roll{display:inline-grid;overflow:hidden;height:1.3em;line-height:1.3em}
.pill .roll>span{grid-area:1/1;transition:transform .5s var(--ease-out)}
.pill .roll>span+span{transform:translateY(110%)}
.pill:hover .roll>span:first-child{transform:translateY(-110%)}
.pill:hover .roll>span+span{transform:translateY(0)}
.pill:not([data-magnetic]):active{transform:scale(.97)}
.pill svg{width:14px;height:14px;flex:none}
.pill[aria-pressed="true"]{border-color:var(--diya);color:var(--diya)}
body.is-light .nav{color:var(--night)}
body.is-light .chapter-ind{color:rgba(11,9,7,.62)}
body.is-light .brand small{color:rgba(11,9,7,.62)}
body.is-light .pill{background:rgba(243,231,211,.6);border-color:rgba(11,9,7,.22)}
body.is-light .pill.solid{background:var(--night);color:var(--chandan);border-color:var(--night)}
body.is-light .pill[aria-pressed="true"]{color:var(--kesudo-ink);border-color:var(--kesudo-ink)}
.progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:51;pointer-events:none;display:none}
html.js .progress{display:block}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--kesudo),var(--diya));transform-origin:0 50%}

/* ---------- cursor ---------- */
.cursor{position:fixed;left:0;top:0;z-index:300;pointer-events:none;width:0;height:0;display:none}
html.has-cursor .cursor{display:block}
html.has-cursor,html.has-cursor *{cursor:none!important}
.cursor .dot{position:absolute;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--diya);box-shadow:0 0 18px 4px rgba(255,181,71,.45);transition:width .4s var(--ease-out),height .4s var(--ease-out),margin .4s var(--ease-out),background .3s,box-shadow .3s}
.cursor .lbl{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;color:var(--night);opacity:0;transition:opacity .2s;white-space:nowrap}
.cursor.is-active .dot{width:78px;height:78px;margin:-39px 0 0 -39px;background:var(--chandan);box-shadow:0 0 34px 6px rgba(255,181,71,.25)}
.cursor.is-active .lbl{opacity:1}
body.is-light .cursor.is-active .dot{background:var(--night)}
body.is-light .cursor .lbl{color:var(--chandan)}

/* ---------- slots: still, local photo, or mirror-work placeholder ---------- */
.slot{display:block;position:relative;overflow:hidden;background:#120e0b;isolation:isolate}
.slot .media{display:block;position:absolute;inset:0;will-change:transform}
.slot .art{display:block;position:absolute;inset:-5%;background:center/cover no-repeat}
.slot .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.slot::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(255,236,200,.5),transparent 62%);mix-blend-mode:color-dodge;opacity:0;transition:opacity .45s}
.slot:hover::after{opacity:1}
.slot .tw{position:absolute;z-index:3;width:16px;height:16px;margin:-8px;pointer-events:none;opacity:0;background:radial-gradient(circle,#fff 0 1.4px,transparent 2.2px),linear-gradient(#fff,#fff) center/1px 100% no-repeat,linear-gradient(#fff,#fff) center/100% 1px no-repeat;animation:tw 6s infinite;animation-delay:var(--d)}
@keyframes tw{0%,84%,100%{opacity:0;transform:scale(.2) rotate(0)}90%{opacity:.95;transform:scale(1) rotate(45deg)}}
.slot-tag{position:absolute;left:10px;bottom:10px;z-index:4;max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;color:rgba(243,231,211,.86);background:rgba(11,9,7,.62);padding:4px 9px;border-radius:999px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;pointer-events:none}
.slot.has-photo .tw{display:none}
.slot.has-photo:not(.has-still) .slot-tag{display:none}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;padding:88px var(--g) 26px;display:flex;flex-direction:column;overflow:hidden}
.hero-top{position:relative;z-index:3}
.hero-meta{display:flex;gap:10px 28px;flex-wrap:wrap;color:var(--ink-2)}
.hero-sub{max-width:30ch;font-size:clamp(17px,min(1.7vw,3.3svh),26px);line-height:1.15;margin:18px 0 0;color:var(--chandan)}
.hero-sub em{color:var(--diya)}
.hero-slot{position:absolute;right:calc(var(--g) + 5vw);top:max(76px,11svh);width:min(29vw,400px);height:min(76svh,600px);border-radius:50% 50% 14px 14px / 33% 33% 14px 14px;z-index:1;box-shadow:0 40px 120px rgba(240,112,30,.12)}
.hero-name{margin:auto 0 0;position:relative;z-index:3;font-size:clamp(56px,min(14.5vw,24svh),230px);pointer-events:none;text-shadow:0 6px 40px rgba(11,9,7,.45)}
.hero-name .gu{display:block;font-size:clamp(20px,min(2.3vw,4.6svh),34px);font-weight:600;color:var(--diya);margin:0 0 .12em;line-height:1.45}
.hero-name .line{display:block;overflow:hidden;padding-bottom:.03em}
.hero-name .line+.line{padding-left:11vw}
.hero-name .ch{display:inline-block;will-change:transform}
.hero-foot{position:relative;z-index:3;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--ink-2);margin-top:18px}
.hero-foot .cue{display:flex;align-items:center;gap:10px}
.hero-foot .cue i{display:block;width:1px;height:22px;background:var(--diya);animation:cue 2.2s var(--ease-out) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- statement & kinetic ---------- */
.statement{padding:clamp(100px,22svh,240px) var(--g) clamp(60px,12svh,140px)}
.statement p{font-family:var(--f-serif);font-size:clamp(30px,4.5vw,74px);line-height:1.05;margin:0;max-width:17.5em}
.statement em{color:var(--kesudo)}
.statement p.by{margin-top:36px;color:var(--ink-2);font-family:var(--f-mono);font-size:11px;line-height:1.5;max-width:none}
.kinetic{padding:4svh 0 12svh;overflow:hidden}
.k-row{display:flex;gap:.3em;white-space:nowrap;font-size:clamp(64px,13vw,210px);will-change:transform;width:max-content}
.k-row .o{color:transparent;-webkit-text-stroke:1.5px var(--chandan)}
.k-row .plus{color:var(--kesudo);font-weight:300}
.k-row.gu-row{font-family:var(--f-gu);font-weight:600;text-transform:none;font-stretch:normal;font-size:clamp(38px,6.4vw,104px);color:var(--diya);line-height:1.4;margin-top:.1em}

/* ---------- chapters ---------- */
.chapter{position:relative;padding:clamp(90px,16svh,180px) var(--g)}
.ch-label{color:var(--ink-2);display:flex;gap:14px;align-items:center;margin:0 0 26px}
.ch-label::before{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.ch-title{font-family:var(--f-serif);font-size:clamp(40px,6vw,98px);line-height:.96;margin:0 0 .35em;letter-spacing:-.01em}
.ch-title em{color:var(--kesudo)}
.lede{font-size:clamp(17px,1.3vw,20px);max-width:46ch;color:var(--ink-2);margin:0 0 1em}
.lede strong{color:var(--chandan);font-weight:600}

.origin-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,6vw,96px);align-items:center}
.origin-slot{aspect-ratio:4/5;max-height:80svh;border-radius:16px;width:100%}
.origin-slot .wipe{position:absolute;inset:0;z-index:5;background:var(--kesudo);transform-origin:right center;pointer-events:none}
html.rm .origin-slot .wipe{display:none}
.facts{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:0;max-width:520px}
.facts li{display:grid;grid-template-columns:8.5em 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line);font-size:15px}
.facts li span:first-child{color:var(--ink-2)}

/* monsoon: pinned, with rain */
.mon{position:relative;min-height:100svh;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:4vw;padding:80px var(--g) 40px;overflow:hidden}
.rain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.mon-left,.mon-right{position:relative;z-index:1}
.mon-frame{position:relative;aspect-ratio:4/5;height:min(66svh,560px);max-width:100%;border-radius:16px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.mon-frame>.slot{position:absolute;inset:0}
.mon-frame .slot-tag{bottom:auto;top:10px}
.mon-year{position:absolute;left:14px;bottom:8px;z-index:6;font-size:clamp(56px,12svh,112px);color:var(--chandan);text-shadow:0 4px 30px rgba(0,0,0,.6);pointer-events:none}
.mon .ch-title{font-size:clamp(34px,3.8vw,60px)}
.roller{display:inline-block;height:1em;overflow:hidden;line-height:1;vertical-align:bottom}
.roller-track{display:flex;flex-direction:column}
.roller-track>span{display:block;height:1em;line-height:1}
.steps{list-style:none;margin:0;padding:0}
.steps li{display:grid;grid-template-columns:4.6em 1fr;gap:4px 18px;padding:15px 0;border-top:1px solid var(--line);opacity:.28;transition:opacity .5s}
.steps li.on{opacity:1}
.steps li.past{opacity:.42}
.steps .yr{color:var(--ink-2);padding-top:6px}
.steps b{display:block;font-size:clamp(20px,2vw,28px);font-weight:600;font-stretch:80%;line-height:1.1}
.steps p{margin:4px 0 0;color:var(--ink-2);font-size:15px}
.tag{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:999px;background:var(--rain);color:var(--night);font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}

/* the cover */
.bahne-card{border:1px solid var(--line);border-radius:18px;padding:clamp(22px,4vw,48px);background:rgba(22,17,13,.6);max-width:1180px}
.cover-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(20px,4vw,56px);align-items:center}
.bahne-row{display:flex;gap:clamp(20px,4vw,50px);align-items:flex-end;flex-wrap:wrap}
.bahne-year{font-size:clamp(72px,11vw,160px);color:var(--rain)}
.bahne-row h2{font-family:var(--f-serif);font-size:clamp(34px,4.4vw,64px);margin:0;line-height:1}
.bahne-row p{margin:8px 0 0;color:var(--ink-2);max-width:34ch}
.cover-grid .lede{margin-top:20px}
.cover-slot{aspect-ratio:16/10;border-radius:12px;width:100%}
.wave{display:block;width:100%;height:80px;margin-top:26px}
.wave path{fill:none;stroke:var(--rain);stroke-width:1.6;stroke-linecap:round}

/* the poets' songs */
.ram{overflow:hidden}
.bells{position:absolute;left:0;right:0;top:0;height:64px;display:flex;justify-content:space-around;pointer-events:none;padding:0 var(--g)}
.bells::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,213,138,.7),transparent)}
.bells i{position:relative;display:block;width:14px;height:14px;margin-top:18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3c4,#d9a441 45%,#7a5a1a);transform-origin:50% -18px}
.bells i::before{content:"";position:absolute;left:50%;top:-18px;width:1px;height:18px;background:rgba(255,213,138,.6)}
.bells i::after{content:"";position:absolute;left:3px;right:3px;top:8px;height:2px;border-radius:2px;background:rgba(40,25,5,.7)}
.ram-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.ram-year{font-size:clamp(48px,8vw,120px);color:var(--diya)}
.ram-title{font-size:clamp(72px,min(16vw,28svh),270px);margin:.12em 0 .3em;line-height:.86}
.ram-title span{display:block}
.ram-title span:nth-child(2){padding-left:13vw}
.ram-title span:nth-child(3){padding-left:5vw;color:transparent;-webkit-text-stroke:2px var(--chandan)}
.ram-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,80px);align-items:start}
.ram-slot{aspect-ratio:3/4;border-radius:14px;width:100%;max-height:80svh}
.credits{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;margin:0 0 10px;font-size:16px}
.credits dt{color:var(--ink-2);font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding-top:3px}
.credits dd{margin:0}
.awards{list-style:none;padding:0;margin:26px 0 0}
.awards li{display:grid;grid-template-columns:4em 1fr auto;gap:16px;align-items:baseline;padding:13px 0;border-top:1px solid rgba(243,231,211,.24)}
.awards li b{font-weight:600}
.awards li small{display:block;color:var(--ink-2);font-size:14px}
.res{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid currentColor;white-space:nowrap}
.res.won{background:var(--diya);color:var(--night);border-color:var(--diya)}

.dandiya{position:relative;height:88svh;min-height:420px;display:grid;place-items:center;overflow:hidden}
.stick{position:absolute;left:50%;top:50%;width:min(64vw,720px);height:16px;margin:-8px 0 0 calc(min(64vw,720px) / -2);border-radius:8px;background:repeating-linear-gradient(90deg,var(--kumkum) 0 22px,var(--diya) 22px 28px,var(--leaf) 28px 48px,var(--mirror) 48px 52px,var(--rani) 52px 72px,var(--diya) 72px 76px);box-shadow:0 0 0 1px rgba(0,0,0,.35),0 14px 40px rgba(0,0,0,.55)}
html.rm .stick,html.rm .clack{display:none}
.clack{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px;border-radius:50%;background:radial-gradient(circle,#fff,var(--diya) 40%,transparent 70%);opacity:0;pointer-events:none}
.dandiya-text{font-size:clamp(60px,13vw,210px);text-align:center}
html.motion .dandiya-text{opacity:0}
.dandiya-text small{display:block;font-family:var(--f-mono);font-size:12px;letter-spacing:.2em;font-weight:400;color:var(--ink-2);margin-top:18px}

.reel{padding:88px 0 40px;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.reel-head{padding:0 var(--g);display:flex;justify-content:space-between;align-items:flex-end;gap:18px 30px;flex-wrap:wrap;margin-bottom:26px}
.reel-head .ch-title{margin:0;font-size:clamp(40px,5.2vw,84px)}
.reel-head .ch-label{margin-bottom:14px}
.reel-side{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.reel-year{font-size:clamp(52px,7.5vw,110px);color:var(--kesudo);min-width:2.4em;text-align:right;display:block}
.chips{display:flex;gap:6px;position:relative;flex-wrap:wrap}
.chip{position:relative;z-index:1;height:32px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:color .35s}
.chip[aria-pressed="true"]{color:var(--night)}
.chip-ind{position:absolute;left:0;top:0;z-index:0;border-radius:999px;background:var(--chandan);pointer-events:none}
.reel-viewport{overflow:hidden;padding:0 var(--g)}
html.rm .reel-viewport{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}
html.rm .card{scroll-snap-align:start}
.reel-track{display:flex;gap:18px;width:max-content;will-change:transform}
.card{position:relative;width:clamp(236px,21vw,300px);flex:none;border:1px solid var(--line);border-radius:16px;padding:12px 12px 18px;background:rgba(22,17,13,.78);transition:border-color .35s}
.card[hidden]{display:none}
.card:hover{border-color:rgba(255,181,71,.5)}
.card-art{height:clamp(140px,24svh,210px);border-radius:10px;margin-bottom:14px}
.card-art .media{transition:transform .9s var(--ease-out)}
.card:hover .card-art .media{transform:scale(1.06)}
.card .meta{color:var(--ink-2)}
.card h3{font-family:var(--f-display);font-stretch:75%;font-weight:700;font-size:27px;line-height:1.02;margin:6px 0 4px;text-transform:uppercase}
.card .film{font-family:var(--f-serif);font-style:italic;font-size:19px;color:var(--diya);margin:0 0 8px;line-height:1.2}
.card .credit{font-size:13.5px;color:var(--ink-2);margin:0;line-height:1.45}
.fx{position:absolute;pointer-events:none;z-index:6}
.fx-kite{right:14px;top:14px;width:120px;height:80px;overflow:visible}
.fx-kite .str{fill:none;stroke:var(--chandan);stroke-width:1;stroke-dasharray:140;stroke-dashoffset:140;transition:stroke-dashoffset 1s var(--ease-out)}
.fx-kite .kt{fill:var(--kesudo);opacity:0;transform:translate(-12px,12px);transition:opacity .6s var(--ease-out) .3s,transform .9s var(--ease-out) .3s}
.card:hover .fx-kite .str{stroke-dashoffset:0}
.card:hover .fx-kite .kt{opacity:1;transform:none}
.fx-dhol{left:50%;top:26%;width:60px;height:60px;margin:-30px;border-radius:50%;border:2px solid var(--diya);opacity:0}
.card:hover .fx-dhol{animation:ripple 1.2s var(--ease-out)}
@keyframes ripple{0%{opacity:.95;transform:scale(.3)}100%{opacity:0;transform:scale(3.2)}}
.fx-gulal{left:50%;top:26%}
.fx-gulal i{position:absolute;width:44px;height:44px;margin:-22px;border-radius:50%;filter:blur(9px);opacity:0}
.fx-gulal i:nth-child(1){background:var(--rani);--dx:-46px;--dy:-18px}
.fx-gulal i:nth-child(2){background:var(--kesudo);--dx:40px;--dy:-26px}
.fx-gulal i:nth-child(3){background:var(--diya);--dx:6px;--dy:30px}
.card:hover .fx-gulal i{animation:puff 1.3s var(--ease-out)}
@keyframes puff{0%{opacity:.95;transform:translate(0,0) scale(.3)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(2.6)}}

.numbers{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:clamp(60px,12svh,140px) var(--g)}
.num{padding:30px 18px 26px;border-left:1px solid var(--line)}
.num:first-child{border-left:0}
.num b{display:block;font-family:var(--f-display);font-stretch:62%;font-weight:700;font-size:clamp(56px,6.8vw,108px);line-height:.9;color:var(--chandan)}
.num span{display:block;margin-top:10px;color:var(--ink-2)}

.garba{position:relative;min-height:100svh;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:3vw;padding:80px var(--g) 30px}
.garba .ch-title{font-size:clamp(40px,4.8vw,78px)}
.ring-now{min-height:3.2em;margin:18px 0 0;font-size:16px;color:var(--ink-2);border-top:1px solid var(--line);padding-top:14px}
.ring-now b{display:block;color:var(--chandan);font-family:var(--f-display);font-stretch:70%;font-size:26px;text-transform:uppercase;line-height:1.1}
.ring-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:20px}
.icon-btn{width:40px;height:40px;padding:0;border-radius:50%}
.hold{height:52px;padding:0 20px 0 58px;border-color:rgba(255,181,71,.45);user-select:none;-webkit-user-select:none;touch-action:none}
.hold .hold-prog{position:absolute;left:8px;top:8px;width:36px;height:36px;transform:rotate(-90deg)}
.hold .hold-prog circle{fill:none;stroke-width:2}
.hold .hold-prog .bg{stroke:rgba(243,231,211,.18)}
.hold .hold-prog .fg{stroke:var(--diya)}
.hold .dhol-ico{position:absolute;left:19px;top:19px;width:14px;height:14px;border-radius:50%;background:var(--kesudo);box-shadow:0 0 12px var(--kesudo)}
.hold.is-holding{background:rgba(240,112,30,.14)}
.ring{position:relative;width:min(100%,640px,calc(92svh * 1.25));aspect-ratio:5/4;margin:0 auto;touch-action:pan-y;outline-offset:8px}
.garbo{position:absolute;left:50%;top:50%;width:26%;transform:translate(-50%,-56%);z-index:50;pointer-events:none;filter:drop-shadow(0 0 40px rgba(255,160,60,.28))}
.garbo .hole{fill:#FFD58A;animation:hole 3.2s ease-in-out infinite;animation-delay:var(--d)}
@keyframes hole{0%,100%{opacity:1}50%{opacity:.55}}
.garbo .gflame{transform-origin:100px 36px;animation:flick 2.4s ease-in-out infinite}
.ring-floor{position:absolute;left:10%;right:10%;top:62%;height:30%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,181,71,.13),transparent);pointer-events:none}
.ring-card{position:absolute;left:50%;top:50%;width:clamp(92px,22%,150px);aspect-ratio:3/4;margin:0;will-change:transform}
.ring-card .slot{position:absolute;inset:0;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.ring-card figcaption{position:absolute;left:0;right:0;top:calc(100% + 8px);text-align:center;color:var(--ink-2);font-size:10px;opacity:0;transition:opacity .4s}
.ring-card.front figcaption{opacity:1;color:var(--chandan)}
.ring-card .slot-tag{display:none}
.ring.is-list{aspect-ratio:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px;width:100%}
.ring.is-list .garbo,.ring.is-list .ring-floor{display:none}
.ring.is-list .ring-card{position:relative;left:auto;top:auto;width:100%;transform:none!important;opacity:1!important}
.ring.is-list .ring-card figcaption{opacity:1;position:static;margin-top:8px;text-align:left}
.ring.is-list .ring-card .slot{position:relative;aspect-ratio:3/4}

.marquee{overflow:hidden;padding:4svh 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:6svh}
.mq-track{display:flex;width:max-content;animation:mq 40s linear infinite}
.mq-track span{font-size:clamp(56px,10.5vw,176px);padding-right:.3em;white-space:nowrap}
.mq-track .o{color:transparent;-webkit-text-stroke:1.5px var(--chandan)}
.mq-track .plus{color:var(--kesudo);font-weight:300}
.marquee.paused .mq-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.mq-note{padding:14px var(--g) 0;color:var(--ink-2)}

.looks-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:36px}
.looks{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;align-items:start}
.look{position:relative;display:block;border-radius:14px;overflow:hidden;cursor:pointer;border:0;padding:0;background:#120e0b;text-align:left;width:100%}
.look:nth-child(1){grid-column:1/6;aspect-ratio:4/5}
.look:nth-child(2){grid-column:6/10;aspect-ratio:3/4;margin-top:12svh}
.look:nth-child(3){grid-column:10/13;aspect-ratio:3/5}
.look:nth-child(4){grid-column:2/5;aspect-ratio:3/4}
.look:nth-child(5){grid-column:5/9;aspect-ratio:1/1;margin-top:4svh}
.look:nth-child(6){grid-column:9/13;aspect-ratio:4/5}
.look .slot{position:absolute;inset:0}
.look .slot .media{transition:transform 1s var(--ease-out)}
.look:hover .slot .media{transform:scale(1.06)}
.look .cap{position:absolute;left:0;right:0;bottom:0;z-index:6;padding:16px 14px 14px;display:flex;justify-content:space-between;gap:10px;background:linear-gradient(transparent,rgba(11,9,7,.88));transform:translateY(100%);transition:transform .55s var(--ease-out)}
.look:hover .cap,.look:focus-visible .cap{transform:none}
.look:hover .slot-tag,.look:focus-visible .slot-tag{opacity:0}

.lb{position:fixed;inset:0;z-index:150;display:none;background:rgba(6,5,4,.94)}
.lb.open{display:block}
.lb-media{position:fixed;overflow:hidden;border-radius:10px;background:#120e0b center/cover no-repeat}
.lb-media img{width:100%;height:100%;object-fit:cover}
.lb-close{position:fixed;top:16px;right:var(--g);z-index:2}
.lb-ui{position:fixed;left:0;right:0;bottom:0;padding:16px var(--g) 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:2}
.lb-cap{margin:0}
.lb-nav{display:flex;gap:8px}

.kesudo{color:var(--night);min-height:100svh;overflow:hidden;background:var(--chandan)}
html.js .kesudo{background:transparent}
.kesudo .ch-label{color:rgba(11,9,7,.62)}
.kesudo .ch-title em{color:var(--kesudo-ink)}
.kesudo .lede{color:rgba(11,9,7,.74)}
.kesudo .lede strong{color:var(--night)}
.kesudo-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.gu-titles{display:flex;flex-direction:column;gap:2px;margin:6px 0 4px;font-weight:600;font-size:clamp(24px,2.6vw,38px);line-height:1.45;color:var(--kesudo-ink)}
.gu-titles span{display:block;width:max-content;max-width:100%}
.video{position:relative;display:block;width:100%;aspect-ratio:16/10;border-radius:16px;overflow:hidden;border:0;padding:0;cursor:pointer;background:#120e0b}
.video .slot{position:absolute;inset:0}
.video .play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px;border-radius:50%;background:var(--chandan);display:grid;place-items:center;z-index:6;transition:transform .5s var(--ease-out)}
.video:hover .play{transform:scale(1.08)}
.video .play svg{width:24px;height:24px;margin-left:4px}
.video .video-cap{position:absolute;left:14px;top:14px;z-index:6;color:var(--chandan);background:rgba(11,9,7,.6);padding:4px 9px;border-radius:999px}
.video .slot-tag{display:none}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:7}
.yt-link{display:inline-block;margin-top:12px;color:var(--night);font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.releases{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid rgba(11,9,7,.18)}
.releases li{border-bottom:1px solid rgba(11,9,7,.18)}
.releases a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;text-decoration:none;font-size:17px}
.releases a span:last-child{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;color:rgba(11,9,7,.62);text-transform:uppercase;white-space:nowrap}
.releases a:hover span:first-child{text-decoration:underline;text-underline-offset:4px}
.petals{position:absolute;inset:0;pointer-events:none;z-index:1}
.petal{position:absolute;width:30px;height:30px}

.finale{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;padding:120px var(--g)}
.ghosts{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);gap:5vw;padding:12svh 8vw;opacity:.06;pointer-events:none}
html.motion .ghosts{opacity:0}
.ghosts .slot{border-radius:14px}
.ghosts .slot:nth-child(2){margin-top:14svh}
.ghosts .slot-tag{display:none}
.finale-inner{position:relative;z-index:2}
.flame-wrap{width:60px;height:104px;margin:0 auto 16px}
.flame-wrap svg{width:100%;height:100%;overflow:visible}
.flame-wrap .fl{transform-origin:30px 92px;animation:flick 2.6s ease-in-out infinite}
@keyframes flick{0%,100%{transform:scale(1,1) skewX(0)}30%{transform:scale(.96,1.05) skewX(1.6deg)}60%{transform:scale(1.03,.96) skewX(-1.6deg)}}
.finale-gu{font-size:clamp(28px,4vw,58px);color:var(--diya);margin:0;font-weight:600;line-height:1.45}
.finale-name{font-size:clamp(56px,min(13vw,23svh),220px);margin:.06em 0 .22em}
.finale-name .ch{display:inline-block}
.finale-name .line{display:block;overflow:hidden}
.ctas{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:26px}

.foot{padding:56px var(--g) 40px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:32px;font-size:14px;color:var(--ink-2);position:relative;background:var(--night)}
.foot h4{margin:0 0 12px;color:var(--chandan)}
.foot p{margin:0 0 12px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.foot a{color:var(--chandan);text-underline-offset:3px}
.foot .foot-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.foot-bar{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:14px 28px;flex-wrap:wrap;margin-top:10px;padding-top:24px;border-top:1px solid var(--line)}
.foot-bar .star{color:var(--kesudo)}
.credit-line{display:inline-flex;align-items:center;gap:14px;margin:0}
.credit-line::before{content:"";width:28px;height:1px;background:var(--kesudo)}
.credit-line strong{font-family:var(--f-display);font-stretch:75%;font-weight:700;font-size:16px;letter-spacing:.18em;text-transform:uppercase;color:var(--chandan)}
.credit-line>*{white-space:nowrap}
@media (max-width: 767px){
  .foot-bar{flex-direction:column;align-items:flex-start}
  .credit-line{flex-direction:column;align-items:flex-start;gap:6px}
  .credit-line::before{display:none}
  .credit-line strong{font-size:18px}
}

.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);z-index:160;padding:12px 18px;border-radius:999px;background:var(--chandan);color:var(--night);font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;opacity:0;transition:opacity .4s,transform .4s var(--ease-out);pointer-events:none;max-width:calc(100vw - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.spark{position:fixed;left:0;top:0;width:6px;height:6px;margin:-3px;border-radius:50%;pointer-events:none;z-index:120}

@media (max-width: 1023px){
  .chapter-ind{display:none}
}
@media (max-width: 767px){
  .brand small{display:none}
  .pill{height:32px;padding:0 12px}
  .nav .pill .txt{display:none}
  .hero{padding-top:74px}
  .hero-slot{position:relative;right:auto;top:auto;width:76vw;height:min(56svh,440px);margin:20px auto 0}
  .hero-slot .slot-tag{bottom:auto;top:20%;left:50%;transform:translateX(-50%)}
  .hero-name{margin-top:-12vw;font-size:16.5vw}
  .hero-name .line+.line{padding-left:7vw}
  .origin-grid,.ram-grid,.kesudo-grid,.garba,.mon,.cover-grid{grid-template-columns:minmax(0,1fr)}
  .mon{padding-top:90px}
  .mon-frame{height:auto;width:100%}
  .reel{min-height:0}
  .reel-side{align-items:flex-start}
  .reel-year{text-align:left}
  .reel-viewport{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:6px}
  .reel-viewport::-webkit-scrollbar{display:none}
  .card{scroll-snap-align:start;width:78vw}
  .numbers{grid-template-columns:repeat(2,1fr)}
  .num{border-left:0;border-top:1px solid var(--line)}
  .num:nth-child(even){border-left:1px solid var(--line)}
  .num:first-child,.num:nth-child(2){border-top:0}
  .looks{grid-template-columns:repeat(2,1fr)}
  .look:nth-child(n){grid-column:auto;margin-top:0;aspect-ratio:3/4}
  .look .cap{transform:none}
  .ghosts{grid-template-columns:repeat(2,1fr)}
  .ghosts .slot:nth-child(3){display:none}
  .foot{grid-template-columns:1fr}
  .facts li{grid-template-columns:7em 1fr}
  .bells i:nth-child(n+11){display:none}
}
/* Motion off (system setting or the visitor's choice): no CSS motion at all. */
html.rm *,html.rm *::before,html.rm *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
html.rm .mq-track{animation:none}
html.rm .slot .tw{display:none}
.foot-bar .starbio-line{font-size:12px;color:var(--ink-2)}.foot-bar .starbio-line a{color:inherit;text-decoration:underline;text-underline-offset:3px}
