/* litigation.blog — editorial design system
   Fraunces (display) · Newsreader (text) · Inter (UI) — all self-hosted, no third-party requests.
   Cache-busting: HTML references this file as main.css?v=N — bump N on every edit. */

/* ---------- fonts ---------- */
@font-face{font-family:Fraunces;src:url(/assets/fonts/fraunces-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Fraunces;src:url(/assets/fonts/fraunces-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Fraunces;src:url(/assets/fonts/fraunces-900-normal.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:Fraunces;src:url(/assets/fonts/fraunces-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Newsreader;src:url(/assets/fonts/newsreader-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url(/assets/fonts/newsreader-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Newsreader;src:url(/assets/fonts/newsreader-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url(/assets/fonts/newsreader-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/fonts/inter-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/fonts/inter-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/fonts/inter-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}

/* ---------- tokens ---------- */
:root{
  --paper:#FBF8F1;
  --paper-2:#F3EEE1;
  --ink:#1B1712;
  --ink-soft:#5F5747;
  --accent:#7C1D1D;
  --accent-deep:#5E1616;
  --hairline:#E3DCCB;
  --serif-display:Fraunces,Georgia,"Times New Roman",serif;
  --serif-text:Newsreader,Georgia,"Times New Roman",serif;
  --sans:Inter,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --shell:76rem;
  --measure:42rem;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--paper);
  color:var(--ink);
  font:400 1.155rem/1.7 var(--serif-text);
  font-feature-settings:"liga","kern";
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--accent);color:var(--paper)}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
img{max-width:100%;height:auto}
.shell{max-width:var(--shell);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2.5rem)}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;font:600 .8rem var(--sans);z-index:10}
.skip:focus{left:0}

/* ---------- masthead ---------- */
.topbar{height:5px;background:var(--ink)}
.masthead{text-align:center;padding-top:2.2rem}
.folio{
  font:600 .68rem var(--sans);letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-soft);display:flex;align-items:center;gap:1.2rem;justify-content:center;
}
.folio::before,.folio::after{content:"";height:1px;background:var(--hairline);flex:1;max-width:11rem}
.wordmark{
  font:900 clamp(2.7rem,6.5vw,4.6rem)/1 var(--serif-display);
  letter-spacing:-.03em;margin-top:1.4rem;
}
.wordmark a{text-decoration:none;color:var(--ink)}
.wordmark a:hover{color:var(--ink)}
.wordmark .tld{color:var(--accent)}
.tagline{
  font-family:var(--serif-text);font-style:italic;font-size:1.06rem;line-height:1.4;
  color:var(--ink-soft);margin:.9rem auto 1.6rem;max-width:34rem;
}

/* ---------- nav between double rules ---------- */
.nav{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
.nav ul{
  list-style:none;display:flex;flex-wrap:wrap;justify-content:center;
  gap:.4rem 2.6rem;padding:.78rem 0;
}
.nav a{
  font:600 .8rem var(--sans);letter-spacing:.13em;text-transform:uppercase;
  text-decoration:none;color:var(--ink);
}
.nav a:hover{color:var(--accent)}
.nav a[aria-current=page]{color:var(--accent)}

/* ---------- kickers, meta, chips ---------- */
.kicker{
  font:600 .72rem var(--sans);letter-spacing:.17em;text-transform:uppercase;
  color:var(--accent);display:block;
}
.meta{font:500 .78rem var(--sans);letter-spacing:.02em;color:var(--ink-soft)}
.meta b{color:var(--ink);font-weight:600}
.chip{
  font:600 .62rem var(--sans);letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);border:1px solid var(--hairline);border-radius:999px;
  padding:.18rem .6rem;white-space:nowrap;display:inline-block;
}

/* ---------- home hero ---------- */
.hero{display:grid;gap:2.6rem;padding:3rem 0 3.2rem}
.hero-lead .kicker{margin-bottom:1.1rem}
.hero-lead h1{
  font:700 clamp(2.15rem,4.6vw,3.8rem)/1.05 var(--serif-display);
  letter-spacing:-.022em;text-wrap:balance;
}
.hero-lead h1 a{text-decoration:none}
.hero-lead h1 a:hover{color:var(--accent-deep);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.standfirst{
  font:400 1.24rem/1.52 var(--serif-text);color:var(--ink-soft);
  margin-top:1.2rem;max-width:38rem;
}
.hero-lead .meta{margin-top:1.3rem}
.readon{font:600 .78rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);text-decoration:none;display:inline-block;margin-top:1.5rem}
.readon::after{content:" \2192"}
.readon:hover{text-decoration:underline;text-underline-offset:4px}

.docketlist h2{
  font:700 1.02rem var(--serif-display);letter-spacing:-.01em;
  border-bottom:1px solid var(--ink);padding-bottom:.55rem;margin-bottom:.2rem;
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
}
.docketlist h2 .kicker{color:var(--ink-soft);letter-spacing:.14em}
.docketlist ol{list-style:none}
.docketlist li{padding:1.05rem 0;border-bottom:1px solid var(--hairline)}
.docketlist li:last-child{border-bottom:0}
.docketlist .kicker{margin-bottom:.35rem}
.docketlist h3{font:600 1.08rem/1.3 var(--serif-display);letter-spacing:-.012em}
.docketlist .chiprow{margin-top:.5rem}

@media(min-width:960px){
  .hero{grid-template-columns:1.62fr 1fr;gap:0}
  .hero-lead{padding-right:3rem}
  .hero-aside{border-left:1px solid var(--hairline);padding-left:3rem}
}

/* ---------- section rails ---------- */
.rulehead{border-top:2px solid var(--ink)}
.rails{display:grid;padding-bottom:1rem}
.rail{padding:2.1rem 0 2.4rem}
.rail-head{margin-bottom:.4rem}
.rail-head h2{font:700 1.55rem/1.1 var(--serif-display);letter-spacing:-.02em}
.rail-head h2 a{text-decoration:none}
.rail-head h2 a:hover{color:var(--accent)}
.rail-intro{font:400 1.02rem/1.55 var(--serif-text);color:var(--ink-soft);max-width:30rem}
.rail ol{list-style:none;margin-top:.6rem}
.rail li{padding:1.15rem 0;border-top:1px solid var(--hairline)}
.rail li:first-child{margin-top:1rem}
.rail h3{font:600 1.28rem/1.22 var(--serif-display);letter-spacing:-.015em;margin:.4rem 0 .45rem}
.rail h3 a{text-decoration:none}
.rail h3 a:hover{color:var(--accent-deep);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.rail .summary{font:400 1rem/1.55 var(--serif-text);color:var(--ink-soft);max-width:31rem}
.rail .meta{margin-top:.55rem;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
@media(min-width:880px){
  .rails{grid-template-columns:1fr 1fr}
  .rail:first-child{border-right:1px solid var(--hairline);padding-right:3rem}
  .rail:last-child{padding-left:3rem}
}

/* ---------- article pages ---------- */
.article-head{max-width:52rem;margin:3.2rem auto 0;text-align:center}
.article-head .kicker{margin-bottom:1.1rem}
.article-head h1{
  font:700 clamp(2.1rem,4.4vw,3.4rem)/1.07 var(--serif-display);
  letter-spacing:-.022em;text-wrap:balance;
}
.article-head .standfirst{margin:1.3rem auto 0;max-width:40rem}
.byline{
  max-width:var(--measure);margin:2rem auto 0;padding:.75rem 0;
  border-top:1px solid var(--ink);border-bottom:1px solid var(--hairline);
  font:500 .8rem var(--sans);letter-spacing:.02em;color:var(--ink-soft);
  display:flex;justify-content:center;gap:.55rem;flex-wrap:wrap;
}
.byline b{color:var(--ink);font-weight:600}
.prose{max-width:var(--measure);margin:2.4rem auto 0}
.prose p{margin-bottom:1.25rem}
.prose>p:first-of-type::first-letter{
  font:700 3.9em/.82 var(--serif-display);float:left;
  padding:.06em .09em 0 0;color:var(--accent);
}
.prose h2{font:700 1.5rem/1.2 var(--serif-display);letter-spacing:-.018em;margin:2.6rem 0 1rem}
.prose h3{font:600 1.2rem/1.3 var(--serif-display);margin:2rem 0 .8rem}
.prose a{color:var(--accent)}
.prose a:hover{color:var(--accent-deep);text-decoration-thickness:2px}
.prose blockquote{
  border-left:2px solid var(--accent);padding-left:1.4rem;margin:1.8rem 0;
  font-style:italic;font-size:1.22rem;line-height:1.55;color:var(--ink-soft);
}
.prose ul,.prose ol{margin:0 0 1.25rem 1.4rem}
.prose li{margin-bottom:.45rem}
.prose hr{border:0;border-top:1px solid var(--hairline);margin:2.4rem auto;max-width:8rem}
.endmark{color:var(--accent);font-weight:600}
.article-foot{
  max-width:var(--measure);margin:2.8rem auto 0;padding-top:1.2rem;
  border-top:1px solid var(--ink);
}
.article-foot .meta{line-height:1.6}

/* ---------- listing pages (section indexes) ---------- */
.page-head{max-width:52rem;margin:3rem auto 0;text-align:center;padding-bottom:2.2rem}
.page-head .kicker{margin-bottom:1rem}
.page-head h1{font:700 clamp(2rem,4vw,3rem)/1.08 var(--serif-display);letter-spacing:-.02em}
.page-head .standfirst{margin:1.1rem auto 0;max-width:37rem}
.listing{max-width:52rem;margin:0 auto;padding-bottom:2.4rem;list-style:none}
.listing>li{border-top:1px solid var(--hairline);padding:1.6rem 0}
.listing h2{font:600 1.5rem/1.2 var(--serif-display);letter-spacing:-.015em;margin:.45rem 0 .5rem}
.listing h2 a{text-decoration:none}
.listing h2 a:hover{color:var(--accent-deep);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.listing .summary{color:var(--ink-soft);max-width:44rem;font-size:1.05rem;line-height:1.6}
.listing .meta{margin-top:.6rem;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.note-well{
  max-width:52rem;margin:0 auto 3rem;background:var(--paper-2);
  border:1px solid var(--hairline);padding:1.4rem 1.8rem;
  font:400 1rem/1.6 var(--serif-text);color:var(--ink-soft);
}

/* ---------- footer ---------- */
.site-foot{background:var(--ink);color:var(--paper);margin-top:2.5rem}
.site-foot .shell{padding-top:3rem;padding-bottom:2.6rem}
.foot-grid{display:grid;gap:2.2rem}
.foot-mark{font:900 1.9rem/1 var(--serif-display);letter-spacing:-.025em}
.foot-mark .tld{color:#D8A0A0}
.foot-tag{font-family:var(--serif-text);font-style:italic;font-size:.98rem;line-height:1.5;color:#CFC8BB;margin-top:.7rem;max-width:22rem}
.foot-head{font:600 .68rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#A79F90;margin-bottom:.9rem}
.foot-nav ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.foot-nav a{font:500 .82rem var(--sans);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:var(--paper)}
.foot-nav a:hover{color:#D8A0A0}
.foot-small{
  border-top:1px solid #3A342B;margin-top:2.4rem;padding-top:1.4rem;
  font:400 .78rem/1.65 var(--sans);color:#A79F90;
}
.foot-small a{color:#CFC8BB}
@media(min-width:760px){
  .foot-grid{grid-template-columns:1.5fr 1fr 1fr}
}
