
/* ---------- 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}
}

/* ---------- long-form apparatus (case notes) ---------- */
.prose .sect{
  display:block;font:600 .78rem/1 var(--sans);letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);margin-bottom:.5rem;
}
.prose sup.fnref{font-size:.72em;line-height:0;vertical-align:super}
.prose sup.fnref a{text-decoration:none;font-weight:600}
.prose sup.fnref a:hover{text-decoration:underline}
.prose .pull{
  margin:2rem 0;padding:1.1rem 1.4rem;background:var(--paper-2);
  border-left:2px solid var(--accent);font-size:1.02rem;line-height:1.6;
}
.prose .pull p:last-child{margin-bottom:0}
.datawrap{max-width:54rem;margin:2rem auto;overflow-x:auto}
.datatable{border-collapse:collapse;width:100%;font:400 .93rem/1.4 var(--sans);min-width:34rem}
.datatable caption{
  caption-side:top;text-align:left;font:600 .78rem/1.4 var(--sans);
  letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding-bottom:.6rem;
}
.datatable th,.datatable td{padding:.5rem .7rem;border-bottom:1px solid var(--hairline);text-align:right}
.datatable th:first-child,.datatable td:first-child{text-align:left}
.datatable thead th{border-bottom:1px solid var(--ink);font-weight:600;white-space:nowrap}
.datatable tbody tr:last-child td{border-bottom:1px solid var(--ink)}
.datatable td{font-variant-numeric:tabular-nums}
.source-note{
  max-width:54rem;margin:-1rem auto 2.4rem;font:400 .88rem/1.6 var(--sans);color:var(--ink-soft);
}
.footnotes{
  max-width:var(--measure);margin:3rem auto 0;padding-top:1.4rem;
  border-top:1px solid var(--hairline);
}
.footnotes h2{
  font:600 .78rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);margin:0 0 1.2rem;
}
.footnotes ol{margin:0 0 0 1.3rem;padding:0}
.footnotes li{
  margin-bottom:.7rem;font:400 .92rem/1.62 var(--serif-text);color:var(--ink-soft);
}
.footnotes li a{color:var(--accent)}
.footnotes li:target{background:var(--paper-2)}

/* ---------- comprehensive.litigation.blog additions ---------- */
/* Layout: the litigation.blog article page, with a three-column case ledger under the standfirst. */
:root{--paper-deep:#EAE3D2}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#15120E;--paper-2:#1E1A14;--paper-deep:#262118;--ink:#EDE6D8;--ink-soft:#B3A995;
    --accent:#D98080;--accent-deep:#E89A9A;--hairline:#332D24;color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#15120E;--paper-2:#1E1A14;--paper-deep:#262118;--ink:#EDE6D8;--ink-soft:#B3A995;
  --accent:#D98080;--accent-deep:#E89A9A;--hairline:#332D24;color-scheme:dark;
}
.shell{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media(min-width:720px){.shell{padding-left:max(2.5rem,env(safe-area-inset-left,0px));padding-right:max(2.5rem,env(safe-area-inset-right,0px))}}
.wordmark{font-size:clamp(1.75rem,5.2vw,3.6rem)}
.wordmark .tld{display:block;font-size:.5em;font-weight:700;letter-spacing:-.01em;margin-top:.35em}
.wordmark .tld em{font-style:normal;color:var(--ink-soft)}
@media(min-width:720px){.wordmark .tld{display:inline;font-size:1em;font-weight:900;margin:0}}

.ledger{max-width:66rem;margin:3rem auto 0;border-top:2px solid var(--ink);display:grid;gap:0}
.ledger>div{padding:1.4rem 0 1.6rem;border-bottom:1px solid var(--hairline);min-width:0}
.ledger .kicker{margin-bottom:.55rem}
.ledger h2{font:600 1.22rem/1.25 var(--serif-display);letter-spacing:-.014em;margin-bottom:.55rem}
.ledger h2 a{text-decoration:none}
.ledger h2 a:hover{color:var(--accent-deep);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.ledger p{font:400 .98rem/1.55 var(--serif-text);color:var(--ink-soft)}
.ledger .meta{margin-top:.7rem}
@media(min-width:880px){
  .ledger{grid-template-columns:1fr 1fr 1fr}
  .ledger>div{padding-right:2.2rem;border-bottom:0}
  .ledger>div+div{border-left:1px solid var(--hairline);padding-left:2.2rem}
  .ledger>div:last-child{padding-right:0}
}

.refusals{list-style:none;margin:1.6rem 0 1.8rem!important;padding:0;display:grid;gap:1rem}
.refusals li{margin:0;padding:1.1rem 1.3rem;background:var(--paper-2);border-top:2px solid var(--accent);min-width:0}
.refusals b{display:block;font:700 1.05rem/1.3 var(--serif-display);letter-spacing:-.01em;margin-bottom:.35rem}
.refusals li p{margin:0;font-size:1.02rem;line-height:1.55;color:var(--ink-soft)}

.prose h3{font:700 1.45rem/1.25 var(--serif-display);letter-spacing:-.014em;margin:2.6rem 0 1rem;color:var(--ink)}
/* section numerals: a rule, then the numeral as a label on its own line, then the heading */
.prose h2{border-top:1px solid var(--ink);padding-top:1.2rem;margin-top:3.2rem}
.prose .sect{font:600 .9rem/1 var(--sans);letter-spacing:.22em;margin-bottom:.8rem}
.casehead{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;border-top:1px solid var(--ink);padding-top:1.2rem;margin:3.2rem 0 0}
.casehead .sect{margin:0}
.casehead .chip{border-color:var(--ink-soft);white-space:normal;line-height:1.5;text-align:left}
.prose h2.casetitle{border-top:0;padding-top:0;margin-top:.9rem}
.cite{font:500 .86rem/1.5 var(--sans);color:var(--ink-soft);letter-spacing:.01em}
.cite em{font-style:italic}

.practice{list-style:none;margin:1.4rem 0 0!important;padding:0}
.practice li{margin:0;padding:1.1rem 0;border-top:1px solid var(--hairline);display:grid;gap:.45rem}
.practice li:last-child{border-bottom:1px solid var(--ink)}
.practice b{display:block;font:700 1.18rem/1.3 var(--serif-display);letter-spacing:-.012em}
.practice span{color:var(--ink-soft);font-size:1.02rem;line-height:1.55}
@media(min-width:720px){.practice li{grid-template-columns:15rem 1fr;gap:1.5rem}}

.who{max-width:var(--measure);margin:3rem auto 0;padding:1.6rem 0 0;border-top:2px solid var(--ink)}
.who .kicker{margin-bottom:.8rem}
.who p{margin-bottom:1rem}
.who .addr{font:500 .92rem/1.7 var(--sans);color:var(--ink-soft)}
.who .addr b{color:var(--ink);font-weight:600}
.site-foot .foot-mark{font-size:1.45rem}
@media(min-width:760px){.foot-grid{grid-template-columns:1.5fr 1fr}}
.site-foot .foot-mark .tld{display:block;font-size:.72em;margin-top:.3em}
@media(min-width:720px){.site-foot .foot-mark .tld{display:inline;font-size:1em;margin:0}}
