/* Layout: a block-printed protest poster. Indigo ground (the colour of India's first satyagraha), rani-pink and peacock-teal inks, gold for detail. Big Devanagari-rooted display type, one calm reading column. */
:root{
  --bg:#12143d; --panel:#1b1f5c; --panel-2:#252a72; --fg:#f7f0e6; --muted:#bdb9e0;
  --pink:#ff4f96; --teal:#35d6c4; --gold:#f2c14e; --line:rgba(247,240,230,.18); --on:#12143d;
  --f-display:"Rozha One","Noto Serif Devanagari",Georgia,serif;
  --f-body:"Newsreader",Georgia,"Times New Roman",serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){
    --bg:#f5f1fb; --panel:#e9e2f7; --panel-2:#ddd3f2; --fg:#181a4e; --muted:#4f4c7d;
    --pink:#c2185b; --teal:#00796b; --gold:#9a6a00; --line:rgba(24,26,78,.18); --on:#ffffff;
    color-scheme:light;
  }
}
:root[data-theme="light"]{
  --bg:#f5f1fb; --panel:#e9e2f7; --panel-2:#ddd3f2; --fg:#181a4e; --muted:#4f4c7d;
  --pink:#c2185b; --teal:#00796b; --gold:#9a6a00; --line:rgba(24,26,78,.18); --on:#ffffff;
  color-scheme:light;
}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:1.15rem;line-height:1.65;margin:0}
a{color:var(--teal);text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{padding-inline:clamp(16px,4vw,48px)}

/* ---------- ornaments ---------- */
.zig{height:18px;background:conic-gradient(from 135deg at 50% 0,var(--pink) 90deg,transparent 0) 0 0/24px 100%;}
.zig.teal{background:conic-gradient(from -45deg at 50% 100%,var(--teal) 90deg,transparent 0) 0 0/24px 100%;}
.print{
  background-color:var(--panel);
  background-image:
    radial-gradient(circle,var(--gold) 0 2.5px,transparent 3.5px),
    radial-gradient(circle,transparent 0 7px,var(--pink) 7.5px 9px,transparent 9.5px),
    radial-gradient(circle,var(--teal) 0 3px,transparent 4px);
  background-size:40px 40px,40px 40px,40px 40px;
  background-position:0 0,20px 20px,20px 20px;
}

/* ---------- top bar ---------- */
.draft{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;background:var(--gold);color:var(--on);padding:8px 16px;text-align:center}
header.mast{padding-block:28px 22px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;position:relative;overflow:hidden}
.brand{position:relative;min-width:0}
.brand .deva{font-family:var(--f-display);color:var(--pink);font-size:clamp(4.5rem,16vw,11rem);line-height:.8;position:absolute;left:-.04em;top:-.12em;opacity:.28;pointer-events:none;white-space:nowrap}
.brand .name{font-family:var(--f-display);font-size:clamp(3rem,9vw,6.2rem);line-height:.9;margin:0;position:relative;letter-spacing:.01em}
.brand .name span{color:var(--gold)}
.brand .tag{font-family:var(--f-mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:10px 0 0;position:relative}
nav{display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--f-mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}
nav a{color:var(--fg);text-decoration:none;border-bottom:2px solid transparent;padding-bottom:2px}
nav a:hover{border-color:var(--pink)}
@media (max-width:640px){header.mast{grid-template-columns:1fr}}

/* ---------- ticker ---------- */
.ticker{background:var(--pink);color:var(--on);font-family:var(--f-mono);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;overflow:hidden;white-space:nowrap;padding-block:10px}
.ticker .track{display:inline-flex;gap:48px;padding-left:16px;will-change:transform}
.ticker .track span::before{content:"✶";margin-right:14px;color:var(--on)}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker{overflow-x:auto}}

/* ---------- hero ---------- */
.hero{padding-block:clamp(36px,7vw,90px) clamp(28px,5vw,60px);display:grid;grid-template-columns:minmax(0,1fr);gap:22px;position:relative}
.kicker{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-family:var(--f-mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.chip{border:2px solid var(--teal);color:var(--teal);padding:3px 10px;border-radius:999px}
.chip.pink{border-color:var(--pink);color:var(--pink)}
.hero h1{font-family:var(--f-display);font-weight:400;font-size:clamp(48px,12vw,160px);line-height:.86;margin:0;text-wrap:balance;max-width:12ch}
.hero h1 em{font-style:normal;color:var(--pink);display:inline-block;transform:rotate(-2deg);text-shadow:4px 4px 0 var(--panel-2)}
.updated{margin:.6em 0 0;font-size:.95rem;color:var(--muted,var(--fg));max-width:60ch}
.finding p+p{margin-top:.7em}
.dek{font-size:clamp(1.25rem,2.4vw,1.6rem);font-style:italic;max-width:42ch;margin:0;color:var(--fg)}
.meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-family:var(--f-mono);font-size:.82rem;color:var(--muted)}
.meta b{color:var(--gold);font-weight:600}

/* ---------- stats ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:0;border-block:3px solid var(--fg)}
.stat{padding:22px 20px;border-right:1px dashed var(--line);min-width:0}
.stat:last-child{border-right:0}
@media (max-width:640px){.stat{border-right:0;border-bottom:1px dashed var(--line);padding:16px 4px}.stat:last-child{border-bottom:0}}
.stat .n{font-family:var(--f-display);font-size:clamp(2.6rem,6vw,3.8rem);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}
.stat:nth-child(2) .n{color:var(--pink)}
.stat:nth-child(3) .n{color:var(--teal)}
.stat p{margin:8px 0 0;font-size:.98rem;line-height:1.4;color:var(--muted)}
.stat sup a{font-family:var(--f-mono);font-size:.7rem}

/* ---------- article ---------- */
article{padding-block:48px 24px}
.col{max-width:66ch;margin-inline:auto}
.col > p{margin:0 0 1.15em}
.lede::first-letter{font-family:var(--f-display);float:left;font-size:5.4em;line-height:.78;padding:.08em .1em 0 0;color:var(--pink)}
h2{font-family:var(--f-display);font-weight:400;font-size:clamp(2.2rem,5.5vw,3.6rem);line-height:1;margin:2.2em 0 .6em;text-wrap:balance}
h2 .mark{display:inline-block;background:var(--pink);color:var(--on);padding:0 .18em;transform:rotate(-1deg)}
h3{font-family:var(--f-display);font-weight:400;font-size:clamp(1.5rem,3.2vw,2rem);line-height:1.1;margin:1.8em 0 .5em;color:var(--teal);text-wrap:balance}
sup.r a{font-family:var(--f-mono);font-size:.62em;text-decoration:none;color:var(--gold);padding-inline:1px}
sup.r a:hover{text-decoration:underline}

/* cases */
.cases{display:grid;gap:26px;margin:28px auto 0;max-width:1100px}
.case{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);background:var(--panel);border:2px solid var(--fg);box-shadow:8px 8px 0 var(--pink)}
.case:nth-child(even){box-shadow:8px 8px 0 var(--teal)}
.case .yr{font-family:var(--f-display);font-size:clamp(3rem,7vw,4.8rem);line-height:1;padding:20px 18px;border-right:2px solid var(--fg);color:var(--gold);font-variant-numeric:tabular-nums;display:flex;flex-direction:column;gap:10px}
.case .yr small{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.case .body{padding:20px 24px 22px;min-width:0}
.case h3{margin:0 0 14px;color:var(--fg)}
.beats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.beat{min-width:0}
.beat .lbl{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:6px;padding-bottom:6px;border-bottom:2px solid var(--pink)}
.beat:nth-child(2) .lbl{border-color:var(--gold)}
.beat:nth-child(3) .lbl{border-color:var(--teal)}
.beat p{margin:0;font-size:1rem;line-height:1.55}
@media (max-width:860px){.beats{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.case{grid-template-columns:minmax(0,1fr)}.case .yr{border-right:0;border-bottom:2px solid var(--fg);flex-direction:row;align-items:baseline;padding:14px 18px}}

/* pull quote */
.pull{margin:2.4em auto;max-width:900px;padding:34px clamp(18px,4vw,44px);position:relative}
.pull blockquote{margin:0;background:var(--bg);border:3px solid var(--fg);padding:26px clamp(18px,3vw,34px);font-family:var(--f-display);font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.15;text-wrap:balance}
.pull blockquote span{color:var(--pink)}

/* boxes */
.limits{background:var(--panel);border-left:6px solid var(--gold);padding:6px 24px 4px;margin:1.5em 0}
.findings{display:grid;gap:14px;margin:1.2em 0 1.6em}
.finding{border:2px solid var(--line);padding:16px 18px;background:var(--panel)}
.finding strong{font-family:var(--f-display);font-weight:400;font-size:1.3rem;display:block;color:var(--gold);margin-bottom:4px;line-height:1.2}
.finding p{margin:0;font-size:1.02rem}
ul.qs{list-style:none;padding:0;margin:0 0 1.2em;display:grid;gap:10px}
ul.qs li{padding-left:42px;position:relative}
ul.qs li::before{content:"?";position:absolute;left:0;top:-4px;font-family:var(--f-display);font-size:1.9rem;color:var(--pink);line-height:1}
.reply{border:3px dashed var(--gold);padding:16px 20px;font-family:var(--f-mono);font-size:.88rem;line-height:1.55;color:var(--muted);margin:1.6em 0}
.reply b{color:var(--gold)}
.opinion{display:inline-block;font-family:var(--f-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;background:var(--teal);color:var(--on);padding:3px 10px;margin-bottom:.6em}
.contrast{font-family:var(--f-display);font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.2;margin:1em 0 1.4em;color:var(--pink)}
.col ul.plain{padding-left:1.2em;margin:0 0 1.2em}
.col ul.plain li{margin-bottom:.5em}

/* engagement */
.engage{max-width:66ch;margin:56px auto 0;display:grid;gap:22px}
.views{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;justify-content:space-between;border-block:3px solid var(--fg);padding-block:16px;font-family:var(--f-mono);font-size:.85rem}
.views .count{font-family:var(--f-display);font-size:2rem;color:var(--gold);line-height:1}
.share{display:flex;flex-wrap:wrap;gap:10px}
.btn{font-family:var(--f-mono);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;background:transparent;color:var(--fg);border:2px solid var(--fg);padding:8px 14px;cursor:pointer}
.btn:hover{background:var(--fg);color:var(--bg)}
.btn.solid{background:var(--pink);border-color:var(--pink);color:var(--on)}
.comments h2{margin-top:.4em}
.cform{display:grid;gap:12px;background:var(--panel);padding:20px;border:2px solid var(--fg)}
.cform label{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:grid;gap:6px}
.cform input,.cform textarea{font:inherit;font-size:1rem;background:var(--bg);color:var(--fg);border:2px solid var(--line);padding:10px 12px;width:100%}
.cform textarea{min-height:110px;resize:vertical}
.note{font-family:var(--f-mono);font-size:.78rem;color:var(--muted);margin:0}
.empty{font-style:italic;color:var(--muted);margin:0}

/* refs */
.refs{max-width:66ch;margin:56px auto 0}
.refs ol{padding-left:2.2em;font-size:.95rem;line-height:1.5;display:grid;gap:8px;margin:0}
.refs li::marker{font-family:var(--f-mono);color:var(--gold)}
.refs li:target{background:var(--panel-2);outline:2px solid var(--gold)}

/* footer */
footer{margin-top:70px}
.foot{padding-block:36px 44px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:28px}
.foot h4{font-family:var(--f-display);font-weight:400;font-size:1.6rem;margin:0 0 8px;color:var(--gold)}
.foot p{margin:0;font-size:1rem;color:var(--muted)}
.signup{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.signup input{flex:1 1 180px;min-width:0;font:inherit;font-size:1rem;background:var(--bg);color:var(--fg);border:2px solid var(--fg);padding:8px 10px}
.toast{font-family:var(--f-mono);font-size:.8rem;color:var(--teal);margin-top:8px;min-height:1.2em}

/* ---------- front page ---------- */
.front{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);padding-block:clamp(36px,6vw,80px) 40px;align-items:stretch}
.lead{display:grid;gap:20px;align-content:start;min-width:0}
.lead-title{font-family:var(--f-display);font-weight:400;font-size:clamp(48px,7.2vw,112px);line-height:.86;margin:0;text-wrap:balance}
.lead-title a{color:var(--fg);text-decoration:none}
.lead-title a:hover em{text-decoration:underline;text-decoration-thickness:4px}
.lead-title em{font-style:normal;color:var(--pink);display:inline-block;transform:rotate(-2deg);text-shadow:4px 4px 0 var(--panel-2)}
.excerpt{margin:0;max-width:56ch;color:var(--muted)}
.btn.big{font-size:.95rem;padding:14px 22px;justify-self:start;text-decoration:none;box-shadow:6px 6px 0 var(--teal)}
.lead-side{padding:clamp(18px,3vw,30px);border:2px solid var(--fg);display:flex;align-items:center;min-width:0}
.side-card{background:var(--bg);border:2px solid var(--fg);padding:22px;width:100%}
.side-h{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 12px}
.side-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.side-list li{font-size:1rem;line-height:1.4;border-top:1px dashed var(--line);padding-top:12px}
.side-list li:first-child{border-top:0;padding-top:0}
.side-list b{font-family:var(--f-display);font-weight:400;font-size:1.9rem;color:var(--pink);display:block;line-height:1;font-variant-numeric:tabular-nums}
.more{padding-block:10px 20px}
.more-h{margin-top:.6em}
.back{padding-block:22px 0;font-family:var(--f-mono);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}
.back a{color:var(--fg);text-decoration:none}
.back a:hover{color:var(--pink)}
.ticker .track span.live{background:var(--on);color:var(--pink);padding:0 8px}
.ticker .track span.live::before{content:none}
.ticker i{font-style:normal;opacity:.75;font-weight:400;margin-left:.6em;text-transform:none;letter-spacing:.02em}
@media (max-width:820px){.front{grid-template-columns:minmax(0,1fr)}}

/* ---------- live site additions ---------- */
.ticker a{color:inherit;text-decoration:none}
.ticker a:hover{text-decoration:underline}
.ticker[hidden]{display:none!important}
.clist{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.c{background:var(--panel);border:2px solid var(--line);padding:14px 16px;min-width:0}
.c-head{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font-family:var(--f-mono);font-size:.78rem;color:var(--muted)}
.c-head b{color:var(--gold);font-weight:600;font-size:.9rem}
.c p{margin:8px 0 0;font-size:1rem;white-space:pre-wrap;overflow-wrap:anywhere}
.c-report{margin-left:auto;background:none;border:0;color:var(--muted);font:inherit;font-size:.75rem;text-decoration:underline;cursor:pointer;padding:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.views .count{font-variant-numeric:tabular-nums}

/* ---------- the page as a sheet on a plain ground (laptops and up) ---------- */
.sheet{background:var(--bg);min-height:100vh}
@media (min-width:900px){
  body{background:var(--panel);padding-block:36px 56px}
  .sheet{max-width:min(1080px,calc(100% - 120px));margin-inline:auto;border:3px solid var(--fg);box-shadow:14px 14px 0 var(--pink);overflow:hidden}
  .cases{max-width:none}
}
@media (min-width:1200px){body .col{font-size:1.25rem}}

/* ---------- story in short + text size ---------- */
.tldr{border:3px solid var(--fg);background:var(--panel);padding:20px 24px;margin:0 0 2.2em;box-shadow:8px 8px 0 var(--teal)}
.tldr-h{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.tldr ul{margin:0;padding-left:1.1em;display:grid;gap:8px}
.tldr li{font-size:1rem;line-height:1.55}
.tldr li::marker{color:var(--pink)}
.sizer{display:flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sizer span{margin-right:4px}
.sizer button{font-family:var(--f-display);font-size:1rem;line-height:1;background:transparent;color:var(--fg);border:2px solid var(--fg);padding:6px 10px;cursor:pointer;min-width:40px}
.sizer button:hover{background:var(--fg);color:var(--bg)}
.sizer button[aria-pressed="true"]{background:var(--pink);border-color:var(--pink);color:var(--on)}
