#india{--pw:clamp(760px,66vw,1120px);--in-f0:#ffffff;--in-f1:#ebe8e2;--in-f2:#dcd8d0;--in-f3:#c9c4ba;--in-w:#ece9e3}

/* ---------- head ---------- */
#india .in-head{position:relative;padding-top:clamp(110px,16vh,190px);padding-bottom:clamp(28px,5vh,56px)}
#india .in-head .h2{max-width:17ch;margin-top:26px}
#india .in-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-top:34px}
#india .in-head .lede{max-width:54ch}
#india .in-cue{display:flex;align-items:center;gap:12px;white-space:nowrap;opacity:.7}
#india .in-cue span{width:46px;height:1px;background:var(--orange);position:relative;overflow:hidden}
#india .in-cue span:after{content:"";position:absolute;inset:0;background:var(--paper);transform:translateX(-100%);animation:in-cue 2.4s var(--ease) infinite}
@keyframes in-cue{to{transform:translateX(100%)}}

/* ---------- spectrum stage ---------- */
#india .in-spec{position:relative}
#india .in-stage{touch-action:pan-y}
#india .in-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 64% 55%,#ffffff 0%,#ffffff00 70%);pointer-events:none}
#india .in-gl{z-index:0}
#india .in-bar{position:absolute;top:clamp(70px,10vh,96px);left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:32px;z-index:3}
#india .in-bar-l{opacity:1;color:var(--mute);display:flex;gap:16px;align-items:baseline;white-space:nowrap}
#india .in-count{color:var(--ink);font-weight:700}
#india .in-cur{color:var(--orange)}
#india .in-ruler{flex:1;max-width:620px;display:flex;align-items:center;gap:16px;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
#india .in-rail{flex:1;height:1px;background:var(--line);position:relative}
#india .in-fill{position:absolute;inset:0;background:var(--orange);transform-origin:0 50%;transform:scaleX(0)}
#india .in-ticks button{position:absolute;top:-11px;width:23px;height:23px;margin-left:-11.5px;display:grid;place-items:center;cursor:pointer}
#india .in-ticks button:after{content:"";width:9px;height:9px;background:var(--paper);border:1px solid #12182966;transform:rotate(45deg);transition:background .4s,border-color .4s,transform .4s}
#india .in-ticks button.on:after{background:var(--orange);border-color:var(--orange)}
#india .in-ticks button[aria-current="step"]:after{transform:rotate(45deg) scale(1.35)}
#india .in-ticks button:hover:after{border-color:var(--orange)}

#india .in-copies{position:absolute;left:0;right:0;top:clamp(150px,21vh,200px);display:grid;z-index:2;pointer-events:none}
#india .in-panel{grid-area:1/1;max-width:400px;display:flex;flex-direction:column;gap:12px;will-change:opacity,transform}
#india .in-panel>*{pointer-events:auto}
#india .in-idx{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);display:flex;gap:12px;align-items:center}
#india .in-idx b{color:var(--orange)}
#india .in-panel .h3{font-size:clamp(34px,3.3vw,54px);margin-top:4px}
#india .in-sub{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);opacity:.75}
#india .in-txt{font-size:16.5px;line-height:1.55;color:#3e4558;max-width:38ch;margin-top:4px}
#india .in-tasks{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
#india .in-tasks li{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:-.005em;padding:7px 12px 7px 10px;border:1px solid var(--line);background:#ffffffb3;display:flex;align-items:center;gap:9px}
#india .in-tasks li:before{content:"";width:6px;height:6px;border:1.5px solid var(--orange);transform:rotate(45deg);flex:none}
#india .in-tasks li:first-child:before{background:var(--orange)}

/* partner card */
#india .in-partner{position:relative;background:var(--ink);color:var(--paper);padding:16px 20px 16px 22px;margin-top:10px;box-shadow:0 30px 60px -30px #12182980}
#india .in-partner:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--orange)}
#india .in-p-tag{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--orange-hi)}
#india .in-p-tag sup{font-size:9px}
#india .in-p-name{font-family:var(--display);font-weight:800;font-size:26px;letter-spacing:-.035em;line-height:1;margin-top:8px}
#india .in-p-desc{font-size:12.5px;line-height:1.45;color:var(--mute-d);margin-top:6px}
#india .in-p-stats{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:10px 14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-d)}
#india .in-p-stats:has(>div:nth-child(3):last-child){grid-template-columns:repeat(3,auto)}
#india .in-p-stats dt{font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.03em;line-height:1;color:#fff}
#india .in-p-stats dd{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute-d);margin-top:5px;line-height:1.35;max-width:12ch}
#india .in-p-notes{list-style:none;margin-top:12px;padding-top:10px;border-top:1px solid var(--line-d);display:flex;flex-direction:column;gap:6px}
#india .in-p-notes li{font-size:12.5px;line-height:1.4;color:#d8dbe4;padding-left:16px;position:relative}
#india .in-p-notes li:before{content:"";position:absolute;left:0;top:.5em;width:7px;height:1px;background:var(--orange)}

#india .in-legend{position:absolute;right:var(--gut);bottom:calc(clamp(14px,3vh,28px) + 30px);z-index:2;display:flex;align-items:center;gap:10px;opacity:.8;color:var(--ink)}
#india .in-legend i{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px #e35b3226}
#india .in-foot{position:absolute;bottom:clamp(14px,3vh,28px);left:0;right:0;color:var(--ink);z-index:2;max-width:calc(var(--max) - 320px);margin:0}
#india .in-foot sup{color:var(--orange)}

/* ---------- on the ground ---------- */
#india .in-ground{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,5vw,90px);align-items:center;padding-top:clamp(40px,6vh,80px);padding-bottom:clamp(40px,6vh,80px);border-top:1px solid var(--line)}
#india .in-g-copy .h3{margin-top:22px;max-width:17ch}
#india .in-g-stats{display:grid;grid-template-columns:1fr 1fr;gap:34px 28px;margin-top:44px}
#india .in-g-stats>div{border-top:1px solid var(--line);padding-top:16px}
#india .in-g-stats .stat{font-size:clamp(46px,5vw,76px)}
#india .in-g-stats dd{margin-top:10px;opacity:.75}
#india .in-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
#india .in-chips li{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:10px 14px;border:1px solid var(--ink);display:flex;align-items:center;gap:10px}
#india .in-chips li:before{content:"";width:6px;height:6px;background:var(--orange);border-radius:50%}
#india .in-g-states{margin-top:26px;max-width:52ch}

#india .in-map{position:relative;margin:0}
#india .in-map svg{width:100%;height:auto;overflow:visible}
#india .in-map .m-out{fill:none;stroke:var(--ink);stroke-width:1.3;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 2.6s var(--ease)}
#india .in-map .md{fill:#12182938;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .8s var(--ease)}
#india .in-map .md.hot{fill:var(--orange)}
#india .in-map.drawn .m-out{stroke-dashoffset:0}
#india .in-map.drawn .md{transform:scale(1);transition-delay:.6s}
#india .in-map .m-pin{opacity:0;transition:opacity .8s ease calc(1.4s + var(--i) * .12s)}
#india .in-map.drawn .m-pin{opacity:1}
#india .in-map .m-dot{fill:var(--orange);stroke:var(--paper);stroke-width:2}
#india .in-map .m-pulse{fill:none;stroke:var(--orange);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:in-pulse 2.4s ease-out infinite;animation-delay:calc(var(--i) * .3s)}
#india .in-map text{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round}
@keyframes in-pulse{from{transform:scale(1);opacity:.9}to{transform:scale(4.2);opacity:0}}
#india.in-rm .in-map .m-out{stroke-dashoffset:0;transition:none}
#india.in-rm .in-map .md{transform:none;transition:none}
#india.in-rm .in-map .m-pin{opacity:1;transition:none}

/* ---------- mobile / tablet ---------- */
@media (max-width:860px){
  #india .in-head-row{flex-direction:column;align-items:flex-start;gap:20px}
  #india .in-stage:before{background:radial-gradient(80% 40% at 50% 34%,#fff 0%,#fff0 70%)}
  #india .in-bar{top:84px;flex-direction:column;align-items:stretch;gap:10px}
  #india .in-bar-l{font-size:10px}
  #india .in-ruler{max-width:none;font-size:9px;gap:10px}
  #india .in-copies{top:auto;bottom:0;padding-bottom:40px;align-items:end}
  #india .in-panel{max-width:none;gap:7px;align-self:end;margin:0 calc(var(--gut) * -1) -40px;padding:44px var(--gut) 72px;background:linear-gradient(#f4f3f000,var(--paper) 44px)}
  #india .in-panel .h3{font-size:30px}
  #india .in-sub{display:none}
  #india .in-txt{font-size:14.5px;line-height:1.45}
  #india .in-tasks{gap:6px}
  #india .in-tasks li{font-size:12px;padding:5px 9px 5px 8px}
  #india .in-partner{padding:11px 14px 11px 16px;margin-top:4px}
  #india .in-p-tag{font-size:9px}
  #india .in-p-name{font-size:19px;margin-top:5px}
  #india .in-p-desc{display:none}
  #india .in-p-stats{margin-top:8px;padding-top:8px;gap:8px 10px}
  #india .in-p-stats dt{font-size:16px}
  #india .in-p-stats dd{font-size:8px;letter-spacing:.06em}
  #india .in-p-notes{margin-top:8px;padding-top:7px;gap:3px}
  #india .in-p-notes li{font-size:11px}
  #india .in-legend{display:none}
  @media (max-height:760px){#india .in-p-notes{display:none}}
  #india .in-foot{bottom:10px;font-size:10px;line-height:1.35}
  #india .in-map text{font-size:17px;letter-spacing:.08em;stroke-width:5px}
  #india .in-ground{grid-template-columns:1fr}
  #india .in-map{order:-1;max-width:460px;margin:0 auto;width:100%}
  #india .in-g-stats{gap:26px 18px;margin-top:32px}
}
#india.in-rm .in-panel{transition:none}
/* ---------- hand-off to the loop (bleed to void) ---------- */
#india .in-out{background:linear-gradient(var(--paper) 0%,#cfcfcf 12%,#2c3242 34%,var(--void) 60%);color:var(--paper);padding-top:clamp(160px,30vh,320px);padding-bottom:clamp(90px,16vh,180px)}
#india .in-out-l{color:var(--mute-d);opacity:1}
#india .in-out-q{font-family:var(--display);font-weight:800;letter-spacing:-.045em;line-height:.95;font-size:clamp(40px,6.4vw,104px);max-width:14ch;margin-top:18px}
/* short desktop viewports (e.g. 1024×768): compact the copy column so it clears the footnote */
@media (min-width:861px) and (max-height:820px){
  #india .in-bar{top:86px}
  #india .in-copies{top:128px}
  #india .in-panel{gap:9px}
  #india .in-panel .h3{font-size:clamp(30px,3vw,40px)}
  #india .in-sub{display:none}
  #india .in-txt{font-size:15px;line-height:1.5}
  #india .in-tasks li{font-size:13px;padding:5px 10px 5px 9px}
  #india .in-partner{padding:12px 16px 12px 18px;margin-top:6px}
  #india .in-p-name{font-size:21px;margin-top:6px}
  #india .in-p-desc{font-size:12px}
  #india .in-p-stats{margin-top:9px;padding-top:9px}
  #india .in-p-stats dt{font-size:18px}
  #india .in-p-notes{margin-top:9px;padding-top:8px;gap:4px}
  #india .in-p-notes li{font-size:11.5px}
}
