/* ==========================================================================
   Mullaperiyar — design system
   Direction: "The Standing Order" — case-file / archival record aesthetic
   ========================================================================== */

@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/spectral-400.woff2') format('woff2');}
@font-face{font-family:'Spectral';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/spectral-500.woff2') format('woff2');}
@font-face{font-family:'Spectral';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/spectral-600.woff2') format('woff2');}
@font-face{font-family:'Spectral';font-style:italic;font-weight:500;font-display:swap;src:url('/fonts/spectral-500-italic.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/ibm-plex-sans-400.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/ibm-plex-mono-400.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/ibm-plex-mono-500.woff2') format('woff2');}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/ibm-plex-mono-600.woff2') format('woff2');}

:root{
  /* palette — "masonry & monsoon", document register */
  --pine-950:#101E16;
  --pine-900:#152A20;
  --pine-800:#1A2E21;
  --pine-700:#233A2A;
  --pine-600:#2E4B37;
  --sage-400:#7F9484;
  --sage-300:#9FB197;
  --paper-0:#F5F6F2;
  --paper-100:#ECEEE7;
  --paper-200:#E2E5DA;
  --paper-line:#D3D6CB;
  --white:#FFFFFF;
  --red-700:#9A1B1B;
  --red-600:#B91C1C;
  --red-500:#DC2626;
  --red-100:#FDF4F3;
  --red-glow:rgba(220,38,38,.4);
  --ink-900:#14140F;
  --ink-700:#2C2B24;
  --ink-600:#54544A;
  --ink-400:#7A7A6E;

  --font-display:'Spectral',Georgia,'Times New Roman',serif;
  --font-body:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,monospace;

  --content-w:1280px;
  --prose-w:72ch;
  --radius:2px;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
body{margin:0;background:var(--paper-0);color:var(--ink-900);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;margin:0;letter-spacing:-0.005em;}
p{margin:0 0 1em;}
ul,ol{margin:0 0 1em;padding-left:1.3em;}
table{border-collapse:collapse;width:100%;}
:focus-visible{outline:2px solid var(--red-600);outline-offset:2px;}

.mono{font-family:var(--font-mono);}
.label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.wrap{max-width:var(--content-w);margin:0 auto;padding:0 48px;}
@media (max-width:900px){.wrap{padding:0 24px;}}

/* animated underline link */
.u-link{position:relative;text-decoration:none;}
.u-link::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:currentColor;transition:right .25s cubic-bezier(.4,0,.2,1);}
.u-link:hover::after{right:0;}

@keyframes fade-up{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@keyframes pulse-dot{0%,100%{box-shadow:0 0 0 0 var(--red-glow);}50%{box-shadow:0 0 0 5px rgba(220,38,38,0);}}
@keyframes stamp-in{0%{opacity:0;transform:scale(1.4) rotate(-6deg);}60%{opacity:1;}100%{opacity:1;transform:scale(1) rotate(-2deg);}}
@keyframes fill-bar{to{width:var(--fill,14%);}}

/* ==========================================================================
   Doc bar + nav
   ========================================================================== */
.docbar{background:var(--pine-950);color:var(--paper-100);padding:9px 48px;display:flex;justify-content:space-between;gap:10px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;}
.docbar>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media (max-width:900px){.docbar{padding:9px 24px;}.docbar .stamp span.long{display:none;}}
@media (max-width:380px){.docbar{font-size:.6rem;letter-spacing:.04em;padding:8px 16px;}}
.docbar .stamp{color:var(--red-500);font-weight:600;position:relative;padding-left:14px;}
.docbar .stamp::before{content:"";position:absolute;left:0;top:3px;width:6px;height:6px;border-radius:50%;background:var(--red-500);animation:pulse-dot 2.2s ease-in-out infinite;}

.site-nav{display:flex;align-items:center;justify-content:space-between;padding:20px 48px;background:var(--paper-0);border-bottom:1px solid var(--pine-950);position:relative;}
@media (max-width:900px){.site-nav{padding:16px 24px;}}
.brand{font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--pine-950);text-decoration:none;display:inline-block;}
.brand .file-no{font-family:var(--font-mono);font-size:.62rem;color:var(--ink-600);display:block;letter-spacing:.05em;margin-top:2px;font-weight:400;}
.navlinks{display:flex;gap:0;}
.navlinks a{color:var(--ink-900);font-size:.82rem;padding:8px 18px;border-left:1px solid var(--paper-line);transition:background .18s ease,color .18s ease;}
.navlinks a:first-child{border-left:none;}
.navlinks a:hover{background:var(--paper-100);}
.navlinks a[aria-current="page"]{color:var(--pine-950);font-weight:600;text-decoration:underline;text-decoration-color:var(--sage-400);text-decoration-thickness:2px;text-underline-offset:5px;}
.nav-toggle{display:none;background:none;border:1px solid var(--pine-950);padding:8px 12px;min-height:44px;min-width:44px;font-family:var(--font-mono);font-size:.72rem;cursor:pointer;}
@media (max-width:900px){
  .nav-toggle{display:block;}
  .navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper-0);flex-direction:column;border-bottom:1px solid var(--pine-950);z-index:20;max-height:calc(100vh - 60px);overflow-y:auto;}
  .navlinks.open{display:flex;}
  .navlinks a{border-left:none;border-top:1px solid var(--paper-line);padding:14px 24px;min-height:44px;display:flex;align-items:center;}
}

/* ==========================================================================
   Hero (homepage)
   ========================================================================== */
.hero{position:relative;background:var(--pine-950);color:var(--white);overflow:hidden;padding:64px 48px 0;}
@media (max-width:900px){.hero{padding:40px 24px 0;}}
.hero-inner{max-width:var(--content-w);margin:0 auto;}
.case-meta{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.18);margin-bottom:44px;animation:fade-up .6s ease both;}
@media (max-width:700px){.case-meta{grid-template-columns:repeat(2,1fr);}}
.case-meta div{padding:16px 20px;border-left:1px solid rgba(255,255,255,.18);transition:background .2s ease;}
.case-meta div:nth-child(1){border-left:none;}
@media (max-width:700px){.case-meta div:nth-child(3){border-left:none;}}
.case-meta div:hover{background:rgba(255,255,255,.04);}
.case-meta .k{font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--sage-400);}
.case-meta .v{font-family:var(--font-mono);font-size:.92rem;margin-top:6px;color:var(--white);}
.case-meta .v.risk{color:var(--red-500);}

.hero-main{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:start;}
@media (max-width:900px){.hero-main{grid-template-columns:1fr;gap:32px;}}
.hero h1{font-size:clamp(1.7rem,7vw,3.5rem);line-height:1.16;color:var(--white);animation:fade-up .7s ease .05s both;}
.hero h1 .flag{color:var(--red-500);}
.hero p.sub{font-size:1.06rem;line-height:1.65;color:#C9CFC4;max-width:48ch;margin:24px 0 14px;font-weight:400;animation:fade-up .7s ease .1s both;}
.hero p.sub em{color:var(--red-500);font-style:italic;}
.quote-src{font-family:var(--font-mono);font-size:.68rem;color:var(--sage-400);letter-spacing:.04em;margin-bottom:28px;animation:fade-up .7s ease .14s both;}
.cta-row{display:flex;gap:0;flex-wrap:wrap;animation:fade-up .7s ease .18s both;}
.btn{font-family:var(--font-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;padding:13px 22px;text-decoration:none;display:inline-block;border:1px solid;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;cursor:pointer;}
.btn-primary{background:var(--red-600);border-color:var(--red-600);color:var(--white);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(185,28,28,.4);}
.btn-ghost{border-color:rgba(255,255,255,.4);color:var(--white);border-left:none;}
.btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.06);}
@media (max-width:500px){.btn-ghost{border-left:1px solid rgba(255,255,255,.4);border-top:none;}}

.exhibit{border:1px solid rgba(255,255,255,.18);position:relative;overflow:hidden;animation:fade-up .8s ease .1s both;}
.exhibit img{width:100%;height:340px;object-fit:cover;filter:grayscale(.25) sepia(.08) contrast(1.05);display:block;transition:filter .4s ease,transform 6s ease;}
.exhibit:hover img{filter:grayscale(0) sepia(0) contrast(1.02);transform:scale(1.05);}
.exhibit-cap{padding:12px 16px;font-family:var(--font-mono);font-size:.66rem;color:var(--sage-400);border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;}

/* lease ledger bar — signature element */
.ledger{max-width:var(--content-w);margin:44px auto 0;border-top:1px solid rgba(255,255,255,.18);padding:24px 48px;}
@media (max-width:900px){.ledger{padding:24px;}}
.ledger-row{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.72rem;color:#C9CFC4;margin-bottom:10px;flex-wrap:wrap;gap:6px;}
.ledger-row .stamped{background:var(--red-600);color:var(--white);padding:2px 10px;font-weight:600;display:inline-block;animation:stamp-in .5s ease .4s both;}
.ledger-bar{height:6px;background:rgba(255,255,255,.14);position:relative;overflow:hidden;}
.ledger-fill{height:100%;width:0%;background:var(--red-500);--fill:14%;animation:fill-bar 1.4s cubic-bezier(.16,1,.3,1) .3s forwards;}

/* page header for inner pages (non-hero, simpler) */
.page-header{background:var(--pine-950);color:var(--white);padding:56px 48px;}
@media (max-width:900px){.page-header{padding:36px 24px;}}
.page-header .wrap{max-width:var(--content-w);}
.page-header .label{color:var(--red-500);margin-bottom:14px;display:block;}
.page-header h1{font-size:clamp(1.5rem,6vw,2.8rem);color:var(--white);line-height:1.18;max-width:22ch;}
.page-header p.sub{font-size:1.02rem;line-height:1.6;color:#C9CFC4;max-width:60ch;margin:18px 0 0;}
.page-meta{display:flex;gap:28px;margin-top:28px;flex-wrap:wrap;font-family:var(--font-mono);font-size:.72rem;color:var(--sage-400);}
.page-meta strong{color:var(--white);}

/* ==========================================================================
   Facts strip
   ========================================================================== */
.facts{background:var(--paper-100);border-bottom:1px solid var(--pine-950);}
.facts-grid{max-width:var(--content-w);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);}
@media (max-width:700px){.facts-grid{grid-template-columns:repeat(2,1fr);}}
.fact{padding:30px 38px;border-left:1px solid var(--paper-line);transition:background .2s ease;position:relative;}
@media (max-width:900px){.fact{padding:22px 24px;}}
.fact:nth-child(1){border-left:none;}
@media (max-width:700px){.fact:nth-child(3){border-left:none;}}
.fact:hover{background:var(--white);}
.fact .num{font-family:var(--font-display);font-size:1.9rem;font-weight:600;color:var(--pine-950);}
.fact.risk .num{color:var(--red-600);}
.fact.risk::before{content:"";position:absolute;top:14px;right:18px;width:7px;height:7px;border-radius:50%;background:var(--red-500);animation:pulse-dot 2.2s ease-in-out infinite;}
.fact .desc{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-600);margin-top:6px;}
.fact .human{font-size:.76rem;color:var(--ink-600);margin-top:8px;font-style:italic;font-family:var(--font-display);}

/* ==========================================================================
   Recent developments (homepage)
   ========================================================================== */
.recent-list{list-style:none;margin:0;padding:0;border:1px solid var(--paper-line);background:var(--white);}
.recent-item{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:18px 24px;border-top:1px solid var(--paper-line);align-items:baseline;}
.recent-item:first-child{border-top:none;}
@media (max-width:700px){.recent-item{grid-template-columns:minmax(0,1fr);gap:6px;padding:16px 20px;}}
.recent-item .r-date{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;color:var(--pine-600);font-weight:600;white-space:nowrap;}
.recent-item .r-body{font-size:.9rem;line-height:1.65;color:var(--ink-700);}
.recent-item .r-body strong{color:var(--ink-900);}
.recent-item .r-body .tag{margin-right:8px;vertical-align:1px;}
.recent-item .r-body a{margin-left:6px;font-size:.72rem;white-space:nowrap;}

/* ==========================================================================
   Generic sections / topic grid
   ========================================================================== */
.section{max-width:var(--content-w);margin:0 auto;padding:80px 48px;}
@media (max-width:900px){.section{padding:52px 24px;}}
.section-head{margin-bottom:40px;border-bottom:1px solid var(--pine-950);padding-bottom:18px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:10px;}
.section-head h2{font-size:1.9rem;}

.topics{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--paper-line);}
@media (max-width:900px){.topics{grid-template-columns:1fr;}}
.topic{background:var(--white);padding:32px 28px;border-left:1px solid var(--paper-line);border-top:1px solid var(--paper-line);min-height:180px;position:relative;text-decoration:none;display:block;transition:background .2s ease,transform .2s ease;}
.topic:nth-child(-n+3){border-top:none;}
@media (max-width:900px){.topic{border-top:1px solid var(--paper-line) !important;}.topic:first-child{border-top:none !important;}}
.topic:nth-child(3n+1){border-left:none;}
@media (max-width:900px){.topic{border-left:none !important;}}
.topic:hover{background:var(--paper-100);transform:translateY(-2px);}
.topic .idx{font-family:var(--font-mono);font-size:.68rem;color:var(--sage-400);}
.topic h3{font-size:1.15rem;margin-top:12px;color:var(--pine-950);transition:color .2s ease;}
.topic:hover h3{color:var(--pine-600);}
.topic p{font-size:.84rem;color:var(--ink-600);line-height:1.5;margin-top:8px;}
.topic.risk{background:var(--red-100);}
.topic.risk:hover{background:#FBE7E5;}
.topic.risk:hover h3{color:var(--red-600);}
.topic.risk::after{content:"FLAGGED";position:absolute;top:14px;right:14px;font-family:var(--font-mono);font-size:.58rem;color:var(--white);background:var(--red-600);padding:2px 7px;letter-spacing:.06em;animation:pulse-dot 2.4s ease-in-out infinite;}

/* ==========================================================================
   Risk band (full-bleed callout)
   ========================================================================== */
.risk-band{background:var(--red-600);color:var(--white);padding:60px 48px;}
@media (max-width:900px){.risk-band{padding:40px 24px;}}
.risk-band-inner{max-width:var(--content-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
@media (max-width:900px){.risk-band-inner{grid-template-columns:1fr;gap:20px;}}
.risk-band .label{color:rgba(255,255,255,.75);margin-bottom:14px;}
.risk-band h2{font-size:2rem;line-height:1.2;color:var(--white);}
.risk-band p{font-size:.94rem;line-height:1.6;color:rgba(255,255,255,.92);margin-top:14px;}
.risk-band .btn{margin-top:22px;background:var(--white);border-color:var(--white);color:var(--red-600);}
.risk-band .btn:hover{background:var(--paper-100);}

/* ==========================================================================
   Split (two-sides) panels
   ========================================================================== */
.split{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--pine-950);}
@media (max-width:800px){.split{grid-template-columns:1fr;}}
.split-panel{padding:56px;min-height:250px;transition:background .3s ease;}
@media (max-width:900px){.split-panel{padding:32px 24px;}}
.split-panel.kerala{background:var(--pine-950);color:var(--paper-100);border-right:1px solid rgba(255,255,255,.15);}
.split-panel.kerala:hover{background:var(--pine-800);}
.split-panel.tn{background:var(--pine-800);color:var(--paper-100);}
.split-panel.tn:hover{background:var(--pine-600);}
.split-panel .label{opacity:.7;margin-bottom:16px;display:block;}
.split-panel h3{font-size:1.5rem;font-style:italic;max-width:24ch;line-height:1.25;color:var(--white);}
.split-panel p{margin-top:16px;font-size:.86rem;line-height:1.6;max-width:40ch;opacity:.85;}

/* ==========================================================================
   Article / long-form content (inner pages)
   ========================================================================== */
.article-layout{max-width:var(--content-w);margin:0 auto;padding:64px 48px 96px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px;align-items:start;}
@media (max-width:1000px){.article-layout{grid-template-columns:minmax(0,1fr);padding:40px 24px 64px;}}

.toc,.prose{min-width:0;}
.toc{position:sticky;top:24px;font-family:var(--font-mono);font-size:.72rem;}
@media (max-width:1000px){.toc{position:static;border:1px solid var(--paper-line);padding:16px;margin-bottom:8px;background:var(--paper-100);}}
.toc .label{display:block;margin-bottom:12px;color:var(--ink-600);}
.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.toc a{display:block;padding:6px 0 6px 12px;border-left:2px solid var(--paper-line);color:var(--ink-600);text-decoration:none;transition:border-color .15s ease,color .15s ease;}
.toc a:hover{color:var(--ink-900);border-left-color:var(--sage-400);}
.toc a.active{color:var(--red-600);border-left-color:var(--red-600);font-weight:600;}

.prose{max-width:var(--prose-w);}
.prose h2{font-size:1.7rem;margin:2.6em 0 .6em;padding-top:.2em;scroll-margin-top:24px;}
.prose h2:first-child{margin-top:0;}
.prose h3{font-size:1.25rem;margin:1.8em 0 .5em;scroll-margin-top:24px;}
.prose p{line-height:1.7;color:var(--ink-700);margin-bottom:1.15em;}
.prose p.lede{font-size:1.15rem;color:var(--ink-900);font-weight:400;}
.prose ul,.prose ol{line-height:1.7;color:var(--ink-700);margin-bottom:1.3em;}
.prose li{margin-bottom:.4em;}
.prose strong{color:var(--ink-900);}
.prose a:not(.u-link){text-decoration:underline;text-decoration-color:var(--paper-line);text-underline-offset:3px;}
.prose a:not(.u-link):hover{text-decoration-color:var(--red-600);}

blockquote.pull{border-left:3px solid var(--red-600);margin:2em 0;padding:.2em 0 .2em 1.6em;}
blockquote.pull p{font-family:var(--font-display);font-style:italic;font-size:1.3rem;line-height:1.5;color:var(--ink-900);margin-bottom:.4em;}
blockquote.pull cite{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-600);font-style:normal;text-transform:uppercase;letter-spacing:.06em;}

/* callout boxes */
.callout{border:1px solid var(--paper-line);background:var(--paper-100);padding:22px 26px;margin:1.8em 0;border-radius:var(--radius);}
.callout .label{margin-bottom:8px;display:block;color:var(--ink-600);}
.callout p:last-child{margin-bottom:0;}
.callout.disputed{border-color:#E7B9A8;background:var(--red-100);}
.callout.disputed .label{color:var(--red-600);}
.callout.disputed::before{content:"⚑ DISPUTED / UNVERIFIED";font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;color:var(--red-600);display:block;margin-bottom:8px;font-weight:600;}
.callout.verified{border-color:var(--sage-300);}
.callout.verified::before{content:"✓ WELL-CORROBORATED";font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;color:var(--pine-600);display:block;margin-bottom:8px;font-weight:600;}

/* inline tag/badge */
.tag{display:inline-block;font-family:var(--font-mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:2px;background:var(--paper-200);color:var(--ink-600);}
.tag.risk{background:var(--red-600);color:var(--white);}
.tag.outline{background:transparent;border:1px solid var(--paper-line);}

/* data tables */
.data-table{margin:1.6em 0;font-size:.88rem;border:1px solid var(--paper-line);}
.data-table caption{caption-side:top;text-align:left;font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-600);padding:10px 0;}
.data-table th,.data-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--paper-line);vertical-align:top;}
.data-table thead th{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-600);background:var(--paper-100);border-bottom:1px solid var(--pine-950);}
.data-table tbody tr:hover{background:var(--paper-100);}
.data-table tbody tr:last-child td{border-bottom:none;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* timeline */
.timeline{list-style:none;margin:1.8em 0;padding:0;border-left:2px solid var(--paper-line);}
.timeline li{position:relative;padding:0 0 28px 28px;}
.timeline li::before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--paper-0);border:2px solid var(--pine-600);}
.timeline li.risk::before{border-color:var(--red-600);background:var(--red-100);}
.timeline .t-year{font-family:var(--font-mono);font-size:.7rem;color:var(--red-600);font-weight:600;letter-spacing:.04em;display:block;margin-bottom:4px;}
.timeline .t-body{color:var(--ink-700);line-height:1.6;font-size:.92rem;}

/* details/accordion */
details.disclose{border:1px solid var(--paper-line);margin:1em 0;background:var(--white);}
details.disclose summary{padding:14px 18px;cursor:pointer;font-family:var(--font-mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-700);list-style:none;display:flex;justify-content:space-between;align-items:center;}
details.disclose summary::-webkit-details-marker{display:none;}
details.disclose summary::after{content:"+";font-size:1.1rem;color:var(--sage-400);}
details.disclose[open] summary::after{content:"–";}
details.disclose .disclose-body{padding:0 18px 18px;font-size:.9rem;color:var(--ink-700);line-height:1.65;}

/* figure / photo credit */
figure.photo{margin:1.8em 0;}
figure.photo img{width:100%;border:1px solid var(--paper-line);}
figure.photo figcaption{font-family:var(--font-mono);font-size:.68rem;color:var(--ink-600);margin-top:8px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}

/* two-column comparison card (used on dispute.html for TN/Kerala cases) */
.case-columns{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--paper-line);margin:1.8em 0;}
@media (max-width:800px){.case-columns{grid-template-columns:1fr;}}
.case-col{padding:26px 28px;}
.case-col.kerala{background:var(--pine-950);color:var(--paper-100);}
.case-col.tn{background:var(--red-600);color:var(--white);}
.case-col h4{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;opacity:.85;}
.case-col p{font-size:.88rem;line-height:1.65;color:inherit;opacity:.94;}
.case-col ul{font-size:.86rem;line-height:1.6;padding-left:1.1em;}

/* stat grid embedded in prose */
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--paper-line);border:1px solid var(--paper-line);margin:1.8em 0;}
@media (max-width:700px){.stat-row{grid-template-columns:1fr;}}
.stat-row .stat{background:var(--white);padding:20px 22px;}
.stat-row .stat .num{font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--pine-950);}
.stat-row .stat.risk .num{color:var(--red-600);}
.stat-row .stat .lbl{font-family:var(--font-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-600);margin-top:4px;}

/* sources list */
.sources{margin-top:4em;padding-top:2em;border-top:1px solid var(--paper-line);}
.sources h2{font-size:1.1rem;margin-bottom:1em;}
.sources ol{font-size:.82rem;color:var(--ink-600);line-height:1.8;padding-left:1.4em;}
.sources a{color:var(--ink-600);}

/* cross-link cards at bottom of article */
.next-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--paper-line);border:1px solid var(--paper-line);margin-top:3em;}
@media (max-width:800px){.next-topics{grid-template-columns:1fr;}}
.next-topics a{background:var(--white);padding:22px 24px;text-decoration:none;display:block;transition:background .2s ease;}
.next-topics a:hover{background:var(--paper-100);}
.next-topics .label{color:var(--sage-400);margin-bottom:8px;display:block;}
.next-topics h4{font-family:var(--font-display);font-size:1.05rem;color:var(--pine-950);}

/* ==========================================================================
   Footer
   ========================================================================== */
.site-footer{padding:36px 48px;font-family:var(--font-mono);font-size:.68rem;color:var(--ink-600);border-top:1px solid var(--pine-950);}
@media (max-width:900px){.site-footer{padding:24px;}}
.site-footer .wrap{max-width:var(--content-w);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.site-footer .foot-note{max-width:60ch;margin-top:14px;line-height:1.6;color:var(--ink-400);}
