:root{
  --ink:#1a1612;
  --ink-soft:#3a342e;
  --paper:#faf7f1;
  --paper-2:#f3eee4;
  --paper-3:#ece6d8;
  --rule:#d9d2c2;
  --rule-soft:#e9e3d4;
  --red:#a01b1b;
  --red-deep:#7a1212;
  --gold:#a47a2e;
  --shadow:0 1px 0 rgba(26,22,18,.04), 0 8px 24px -16px rgba(26,22,18,.18);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Source Serif 4', Georgia, 'Times New Roman', serif;
  font-feature-settings:"liga","onum","kern";
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
@media (max-width:640px){.wrap{padding:0 18px}}

a{color:var(--red-deep);text-decoration:none;border-bottom:1px solid rgba(160,27,27,.25)}
a:hover{color:var(--red);border-bottom-color:var(--red)}

h1,h2,h3{font-weight:700;letter-spacing:-.012em;color:var(--ink);margin:0}
p{margin:0 0 .9em 0}

/* MASTHEAD */
.masthead{
  background:linear-gradient(180deg, #1f1a14 0%, #2a231a 100%);
  color:var(--paper);
  border-bottom:4px double rgba(255,255,255,.08);
  padding:34px 0 22px;
  position:relative;
}
.masthead .wrap{display:flex;flex-direction:column;gap:22px}
.brand{display:flex;align-items:flex-start;gap:22px}
.seal{
  width:64px;height:64px;flex:0 0 64px;
  display:grid;place-items:center;
  background:radial-gradient(circle at 30% 30%, #c1a572, #8a6d34 60%, #5a4519 100%);
  color:#1f1a14;
  border-radius:50%;
  font-family:'Source Serif 4',serif;
  font-weight:700;font-size:32px;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.18), 0 4px 14px rgba(0,0,0,.3);
}
.kicker{
  font-family:'Inter', system-ui, sans-serif;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:rgba(250,247,241,.55);
  margin-bottom:4px;
}
.masthead-title{
  font-family:'Source Serif 4',serif;
  font-size:clamp(34px, 5vw, 56px);
  line-height:1.03;
  color:var(--paper);
  letter-spacing:-.02em;
}
.subtitle{
  margin-top:8px;
  color:rgba(250,247,241,.7);
  font-style:italic;
  font-size:16px;
}
.topnav{
  display:flex;flex-wrap:wrap;gap:22px;
  padding-top:14px;border-top:1px solid rgba(255,255,255,.08);
  font-family:'Inter',system-ui,sans-serif;
  font-size:13px;letter-spacing:.05em;text-transform:uppercase;
}
.topnav a{
  color:rgba(250,247,241,.75);
  border:none;
  padding-bottom:2px;
  border-bottom:1px solid transparent;
}
.topnav a:hover{color:var(--paper);border-bottom-color:rgba(255,255,255,.4)}

/* OVERVIEW */
.overview{
  display:grid;grid-template-columns:1fr 360px;gap:48px;
  padding:64px 28px;
  border-bottom:1px solid var(--rule);
}
@media (max-width:900px){.overview{grid-template-columns:1fr;gap:32px;padding:44px 18px}}
.lede{font-size:19px;line-height:1.65;color:var(--ink-soft)}
.lede p{margin-bottom:1.1em}
.dropcap::first-letter{
  font-family:'Source Serif 4',serif;
  font-weight:700;
  font-size:64px;
  line-height:.85;
  float:left;
  margin:6px 10px 0 0;
  color:var(--red-deep);
}
.stats{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
  align-content:start;
  padding:24px 22px;
  background:var(--paper-2);
  border:1px solid var(--rule);
  border-radius:4px;
}
.stat{
  padding:14px 6px;
  border-right:1px dashed var(--rule);
  border-bottom:1px dashed var(--rule);
}
.stat:nth-child(2n){border-right:none}
.stat:nth-last-child(-n+2){border-bottom:none}
.stat .num{
  font-family:'Source Serif 4',serif;
  font-size:36px;line-height:1;font-weight:700;
  color:var(--red-deep);letter-spacing:-.02em;
}
.stat .lbl{
  margin-top:6px;
  font-family:'Inter',system-ui,sans-serif;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-soft);
}

/* SECTIONS */
.section{padding:72px 0;border-bottom:1px solid var(--rule)}
.section-alt{background:var(--paper-2)}
.sec-head{max-width:760px;margin-bottom:44px}
.sec-eyebrow{
  font-family:'Inter',system-ui,sans-serif;
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);font-weight:600;
  margin-bottom:10px;
}
.sec-head h2{
  font-size:clamp(28px, 3.4vw, 42px);
  line-height:1.05;margin-bottom:14px;
  letter-spacing:-.02em;
}
.sec-blurb{color:var(--ink-soft);font-size:17px;font-style:italic;line-height:1.6}

/* INCIDENT CARDS */
.cards{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(340px,1fr));
  gap:22px;
}
.card{
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:4px;
  padding:24px 24px 22px;
  position:relative;
  box-shadow:var(--shadow);
  transition:transform .15s ease, box-shadow .15s ease;
}
.card:hover{
  transform:translateY(-2px);
  box-shadow:0 1px 0 rgba(26,22,18,.04), 0 18px 36px -22px rgba(26,22,18,.28);
}
.card header{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  margin-bottom:14px;
  font-family:'Inter',system-ui,sans-serif;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-soft);
}
.badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:3px;
  font-size:10px;font-weight:600;letter-spacing:.1em;
}
.badge-ssc{background:#f5e6c4;color:#6e4f0a}
.badge-adhikari{background:#e6d6f5;color:#4b2e7a}
.badge-flag{background:#f7cdcd;color:#7a1212}
.badge-fir{background:#d9e9f7;color:#1c4a78}
.badge-rgkar{background:#f1d9c2;color:#7a3a0f}
.badge-soft{background:#dfe7d6;color:#3e5524}
.when{color:var(--ink-soft)}
.when em{color:var(--red);font-style:italic;font-weight:600;text-transform:none;letter-spacing:0}
.card h3{
  font-size:22px;line-height:1.18;
  margin-bottom:8px;
  letter-spacing:-.012em;
}
.card .who{
  color:var(--ink-soft);font-size:14px;font-style:italic;
  margin-bottom:12px;line-height:1.45;
}
.card .who strong{color:var(--ink);font-weight:600;font-style:normal}
.card p{font-size:15.5px;line-height:1.6;color:var(--ink-soft)}
.card .reason{
  margin-top:14px;padding-top:12px;
  border-top:1px dashed var(--rule);
  font-family:'Inter',system-ui,sans-serif;
  font-size:13px;color:var(--ink-soft);
}
.card .reason strong{color:var(--ink);font-weight:600}
.card-flag{border:1px solid #d9a8a8;background:linear-gradient(180deg, #fdf5f3 0%, var(--paper) 60%)}
.card-flag h3{color:var(--red-deep)}
.card-recent{position:relative}
.card-recent::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, var(--red), var(--red-deep));
  border-radius:4px 4px 0 0;
}
.card-soft{opacity:.94}

/* JUDGES */
.judges{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(320px,1fr));
  gap:22px;
}
.judge{
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:4px;
  padding:22px 22px 18px;
  box-shadow:var(--shadow);
}
.judge-feature{grid-column:span 2;background:linear-gradient(180deg, #fdfaf3, var(--paper))}
@media (max-width:760px){.judge-feature{grid-column:span 1}}
.judge-head{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--rule-soft)}
.judge h3{font-size:21px;line-height:1.2;letter-spacing:-.012em}
.judge .role{
  margin-top:4px;
  font-family:'Inter',system-ui,sans-serif;
  font-size:12.5px;color:var(--gold);font-weight:500;letter-spacing:.02em;
}
.judge-dl{display:grid;grid-template-columns:1fr;gap:8px;margin:0 0 14px;font-size:14px}
.judge-dl > div{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:baseline}
.judge-dl dt{
  font-family:'Inter',system-ui,sans-serif;
  font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:600;margin:0;
}
.judge-dl dd{margin:0;color:var(--ink);font-size:14px;line-height:1.5}
.judge-note{font-size:14.5px;line-height:1.6;color:var(--ink-soft);font-style:italic}
.judge-tags{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px}
.judge-tags span{
  font-family:'Inter',system-ui,sans-serif;
  font-size:10.5px;letter-spacing:.06em;
  padding:3px 8px;border:1px solid var(--rule);
  border-radius:3px;background:var(--paper-2);
  color:var(--ink-soft);
}

/* TIMELINE */
.timeline{
  list-style:none;margin:0;padding:0;
  position:relative;
  max-width:880px;
}
.timeline::before{
  content:"";position:absolute;left:140px;top:8px;bottom:8px;
  width:2px;background:var(--rule);
}
@media (max-width:680px){.timeline::before{left:0}}
.tl-item{
  display:grid;grid-template-columns:130px 1fr;gap:30px;
  padding:14px 0;position:relative;
  align-items:start;
}
@media (max-width:680px){
  .tl-item{grid-template-columns:1fr;gap:6px;padding-left:24px}
}
.tl-date{
  font-family:'Inter',system-ui,sans-serif;
  font-size:12px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:600;
  text-align:right;
}
@media (max-width:680px){.tl-date{text-align:left;color:var(--gold)}}
.tl-body{
  position:relative;font-size:15.5px;line-height:1.6;color:var(--ink-soft);
}
.tl-body::before{
  content:"";position:absolute;left:-22px;top:9px;
  width:10px;height:10px;border-radius:50%;
  background:var(--paper-2);border:2px solid var(--rule);
}
@media (max-width:680px){.tl-body::before{left:-22px}}
.tl-recusal .tl-body{color:var(--ink)}
.tl-recusal .tl-body::before{background:var(--red);border-color:var(--red-deep)}
.tl-flag .tl-body{color:var(--ink);font-weight:500}
.tl-flag .tl-body::before{background:#fff;border-color:var(--red);box-shadow:0 0 0 3px rgba(160,27,27,.15)}
.tl-now .tl-body::before{box-shadow:0 0 0 4px rgba(160,27,27,.18); animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 4px rgba(160,27,27,.16)}50%{box-shadow:0 0 0 8px rgba(160,27,27,.08)}}

/* PATTERNS */
.patterns{
  display:grid;grid-template-columns:repeat(auto-fill, minmax(320px,1fr));
  gap:22px;
}
.pattern{
  padding:24px 22px;
  background:var(--paper);
  border:1px solid var(--rule);
  border-radius:4px;
  position:relative;
}
.pattern h3{
  font-size:18px;margin-bottom:10px;letter-spacing:-.01em;
}
.pattern h3::before{
  content:"";display:inline-block;width:18px;height:1px;
  background:var(--red);vertical-align:middle;margin-right:10px;
}
.pattern p{font-size:14.5px;line-height:1.6;color:var(--ink-soft);margin:0}

/* SOURCES */
.sources{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:32px;
}
.src-col h3{
  font-size:14px;font-family:'Inter',system-ui,sans-serif;
  text-transform:uppercase;letter-spacing:.14em;
  color:var(--ink);font-weight:600;
  margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--rule);
}
.src-col ul{list-style:none;margin:0;padding:0}
.src-col li{
  padding:8px 0;border-bottom:1px dashed var(--rule-soft);
  font-size:14px;line-height:1.45;
}
.src-col li:last-child{border-bottom:none}
.src-col a{border-bottom:none}
.src-col a:hover{text-decoration:underline}

/* FOOTER */
.foot{
  background:#1f1a14;color:rgba(250,247,241,.65);
  padding:42px 0;font-size:14px;
}
.foot p{margin:0 0 8px 0;max-width:760px}
.foot-meta{
  font-family:'Inter',system-ui,sans-serif;font-size:12px;
  color:rgba(250,247,241,.4);letter-spacing:.04em;
}

/* SELECTION + FOCUS */
::selection{background:rgba(160,27,27,.18);color:var(--ink)}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:3px}

/* PRINT */
@media print{
  .masthead,.topnav,.foot{background:#fff;color:#000}
  .card,.judge,.pattern{box-shadow:none;break-inside:avoid}
}
