/* =====================================================================
   transpersonalfacilitation.com — site stylesheet
   Family: Embodied Masculine redesign (ink/gold/maroon/cream, Jost,
   Cormorant Garamond, Cinzel). Room: a bone reading surface for sustained
   scholarly reading, with EM's dark ground kept for thresholds.
   ===================================================================== */

@font-face{font-family:"Source Serif 4";src:url("../fonts/source-serif-4-Roman.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url("../fonts/source-serif-4-Italic.woff2") format("woff2");font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-500-italic.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/jost-latin-wght-normal.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Jost";src:url("../fonts/jost-latin-ext-wght-normal.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Cinzel";src:url("../fonts/cinzel-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
/* Arrows, ≠, ≈ and other symbols used by the manuscript, drawn from Source Serif 4 */
@font-face{font-family:"TFM Symbols";src:url("../fonts/source-serif-4-Roman.woff2") format("woff2");unicode-range:U+2190-21FF,U+2200-22FF,U+2020-2021,U+00A7;font-display:swap}

:root{
  /* EM tokens, carried verbatim from the live redesign */
  --em-ink:#0b0a08; --em-ink2:#161209; --em-maroon:#3a0f12; --em-maroon2:#210a0c;
  --em-gold:#c9a227; --em-gold-lt:#e9cd7b; --em-gold-pale:#f4e6bd;
  --em-cream:#efe6d3; --em-cream-dim:#c9bfa9; --em-line:rgba(201,162,39,.35);

  /* TFM reading room (light) */
  --bg:#f1ebdf; --bg-raised:#f8f4ec; --bg-sunk:#e7dfcf;
  --text:#1d1812; --text-2:#51483b; --text-3:#6f6555;
  --rule:#d5c8ad; --rule-2:#c3b38f;
  --link:#7a2a2f; --link-hover:#3a0f12;
  --mark:#8a6a14;            /* deepened EM gold for marks on light */
  --cm-bg:#ebe3d2; --cm-text:#5b5041; --cm-rule:#cbbb99;
  --hl:#f0dc9a; --hl-bar:#b08a1e;
  --focus:#7a2a2f;

  --serif:"Source Serif 4","TFM Symbols",Georgia,"Times New Roman",serif;
  --display:"Cormorant Garamond","TFM Symbols",Georgia,serif;
  --sans:"Jost","TFM Symbols","Helvetica Neue",Arial,sans-serif;
  --caps:"Cinzel",Georgia,serif;

  --measure:35rem;
  --gutter:clamp(1.25rem,4vw,2.5rem);
  --header-h:3.75rem;
  color-scheme:light;
}

/* Dark mode = the EM ground */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#14110c; --bg-raised:#1b170f; --bg-sunk:#0f0d09;
    --text:#ece3d0; --text-2:#c9bfa9; --text-3:#a39883;
    --rule:#3a3122; --rule-2:#54462c;
    --link:#e9cd7b; --link-hover:#f4e6bd; --mark:#c9a227;
    --cm-bg:#221c12; --cm-text:#cdbf9f; --cm-rule:#4a3e27;
    --hl:#4b3c12; --hl-bar:#c9a227; --focus:#e9cd7b;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#14110c; --bg-raised:#1b170f; --bg-sunk:#0f0d09;
  --text:#ece3d0; --text-2:#c9bfa9; --text-3:#a39883;
  --rule:#3a3122; --rule-2:#54462c;
  --link:#e9cd7b; --link-hover:#f4e6bd; --mark:#c9a227;
  --cm-bg:#221c12; --cm-text:#cdbf9f; --cm-rule:#4a3e27;
  --hl:#4b3c12; --hl-bar:#c9a227; --focus:#e9cd7b;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:var(--link);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--link-hover)}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--em-ink);color:var(--em-cream);padding:.6rem 1rem;z-index:100}
.skip:focus{left:.5rem;top:.5rem}

/* ---------------------------------------------------------- staging */
.staging-bar{background:#5c1f23;color:#f4e6bd;font:500 .8125rem/1.4 var(--sans);text-align:center;padding:.45rem 1rem;letter-spacing:.01em}
.staging-bar strong{font-weight:600}

/* ---------------------------------------------------------- header */
.site-header{position:sticky;top:0;z-index:50;background:var(--em-ink);color:var(--em-cream);border-bottom:1px solid var(--em-line)}
.site-header .in{display:flex;align-items:center;gap:1.5rem;height:var(--header-h);padding:0 var(--gutter);max-width:84rem;margin:0 auto}
.wordmark{display:flex;align-items:baseline;gap:.7rem;color:var(--em-cream);text-decoration:none;white-space:nowrap}
.wordmark .mono{font-family:var(--caps);font-weight:500;letter-spacing:.14em;color:var(--em-gold);font-size:.95rem}
.wordmark .name{font-family:var(--display);font-weight:500;font-size:1.2rem;letter-spacing:.01em}
.wordmark:hover{color:var(--em-gold-pale)}
.site-nav{margin-left:auto}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.35rem}
.site-nav a{color:var(--em-cream-dim);text-decoration:none;font-size:.9375rem;letter-spacing:.01em;padding:.35rem 0;border-bottom:1px solid transparent}
.site-nav a:hover{color:var(--em-cream)}
.site-nav a[aria-current="page"],.site-nav a.is-section{color:var(--em-cream);border-bottom-color:var(--em-gold)}
.hdr-tools{display:flex;gap:.25rem;align-items:center}
.icon-btn{background:none;border:0;color:var(--em-cream-dim);width:2.5rem;height:2.5rem;display:inline-grid;place-items:center;cursor:pointer;border-radius:2px;text-decoration:none}
.icon-btn:hover{color:var(--em-cream)}
.icon-btn svg{width:1.15rem;height:1.15rem;stroke:currentColor;fill:none;stroke-width:1.5}
.nav-toggle{display:none}
@media (max-width:980px){
  .wordmark .name{font-size:1.05rem}
  .nav-toggle{display:inline-grid}
  .site-nav{position:fixed;inset:var(--header-h) 0 auto 0;background:var(--em-ink);border-bottom:1px solid var(--em-line);display:none;margin:0}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column;gap:0;padding:.5rem var(--gutter) 1.25rem}
  .site-nav a{display:block;padding:.8rem 0;font-size:1.0625rem;border-bottom:1px solid rgba(201,162,39,.12)}
  .hdr-tools{margin-left:auto}
}
@media (max-width:420px){.wordmark .name{display:none}}

/* ---------------------------------------------------------- thresholds */
.threshold{background:radial-gradient(ellipse at 50% 0%,var(--em-maroon2),var(--em-ink) 72%);color:var(--em-cream);border-bottom:1px solid var(--em-line)}
.threshold a{color:var(--em-gold-lt)}
.threshold a:hover{color:var(--em-gold-pale)}
.threshold .in{max-width:64rem;margin:0 auto;padding:clamp(3rem,7vw,5.5rem) var(--gutter) clamp(2.5rem,5vw,4rem)}

.rule-mark{display:flex;align-items:center;gap:.8rem;margin:1.75rem 0}
.rule-mark i{display:block;width:4rem;height:1px;background:linear-gradient(90deg,transparent,var(--em-gold),transparent)}
.rule-mark b{display:block;width:.55rem;height:.55rem;border:1px solid var(--em-gold);border-radius:50%}
.rule-mark.center{justify-content:center}

/* ---------------------------------------------------------- buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.7rem 1.4rem;font:500 .9375rem/1.2 var(--sans);letter-spacing:.02em;text-decoration:none;border:1px solid var(--em-gold);border-radius:2px;transition:background-color .25s,color .25s}
.btn-solid{background:linear-gradient(135deg,var(--em-gold-lt),var(--em-gold));color:var(--em-ink)}
.btn-solid:hover{background:var(--em-gold-pale);color:var(--em-ink)}
.threshold .btn-solid,.threshold .btn-solid:hover{color:var(--em-ink)}
.threshold .btn-line{color:var(--em-gold-lt)}
.btn-line{color:var(--em-gold-lt);background:transparent}
.btn-line:hover{background:rgba(201,162,39,.12);color:var(--em-gold-pale)}
.btn-quiet{border-color:var(--rule-2);color:var(--text);background:transparent}
.btn-quiet:hover{border-color:var(--link);color:var(--link)}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}

/* ---------------------------------------------------------- home hero */
.hero .in{max-width:68rem;padding-top:clamp(4rem,11vw,8.5rem);padding-bottom:0}
.hero h1{font-family:var(--display);font-weight:500;font-size:clamp(2.6rem,6.2vw,5.2rem);line-height:1;letter-spacing:-.005em;margin:0;max-width:17ch;color:var(--em-cream)}
.hero .sub{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(1.25rem,2.4vw,1.7rem);line-height:1.35;color:var(--em-cream-dim);max-width:38ch;margin:1.5rem 0 0}
.hero .status{font-size:.9375rem;color:var(--em-cream-dim);margin:1.75rem 0 2.25rem;line-height:1.55}
.hero .status span{display:block}
.hero .status span:first-child{color:var(--em-gold-lt)}
.phase-rule{padding:0;margin-bottom:0;margin-top:clamp(3.5rem,8vw,6rem);border-top:1px solid var(--em-line);display:grid;grid-template-columns:repeat(6,1fr);position:relative}
.phase-rule li{list-style:none;position:relative;padding:1rem .25rem 1.35rem 0;font-size:.875rem;letter-spacing:.03em;color:var(--em-cream-dim)}
.phase-rule li::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:var(--em-ink);border:1px solid var(--em-gold)}
.phase-rule li span{display:block;font-family:var(--display);font-size:1.3rem;color:var(--em-cream);letter-spacing:0}
.phase-rule-cap{font-size:.8125rem;color:var(--em-cream-dim);padding:0 0 1.5rem;margin:0}
@media (max-width:640px){.phase-rule{grid-template-columns:repeat(3,1fr)}.phase-rule li span{font-size:1.15rem}}

/* ---------------------------------------------------------- page intro */
.page-intro .in{max-width:68rem}
.page-intro h1{font-family:var(--display);font-weight:500;font-size:clamp(2.3rem,5.5vw,3.9rem);line-height:1.04;margin:0 0 1rem;color:var(--em-cream)}
.page-intro .lede{font-size:1.1875rem;line-height:1.6;color:var(--em-cream-dim);max-width:40rem;margin:0}
.crumbs{font-size:.875rem;color:var(--em-cream-dim);margin:0 0 1.25rem}
.crumbs a{color:var(--em-cream-dim)}
.crumbs a:hover{color:var(--em-gold-lt)}

/* ---------------------------------------------------------- content pages */
.wrap{max-width:68rem;margin:0 auto;padding:0 var(--gutter)}
.section{padding:clamp(3rem,6vw,4.75rem) 0;border-bottom:1px solid var(--rule)}
.section:last-of-type{border-bottom:0}
.section > .wrap{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:1.5rem 3.5rem}
.section h2{font-family:var(--display);font-weight:600;font-size:clamp(1.65rem,2.8vw,2.1rem);line-height:1.12;margin:0;color:var(--text)}
.section .aside-note{font-size:.9375rem;color:var(--text-3);margin:.75rem 0 0}
.section .body{max-width:var(--measure)}
.section .body > p{margin:0 0 1.1rem;color:var(--text-2)}
.section .body > p.lead-in{color:var(--text)}
@media (max-width:820px){.section > .wrap{grid-template-columns:1fr}}

.voice-note{font-size:.9rem;line-height:1.55;color:var(--text-3);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.9rem 0;margin:0}
.voice-note strong{color:var(--text-2);font-weight:500}
.threshold .voice-note{color:var(--em-cream-dim);border-color:var(--em-line);margin-top:2rem}
.threshold .voice-note strong{color:var(--em-cream)}

/* Verbatim quotation from Version 1.0 */
.vq{margin:0 0 1.5rem;padding:0 0 0 1.35rem;border-left:1px solid var(--mark);font-family:var(--serif);font-size:1.125rem;line-height:1.62;color:var(--text)}
.vq p{margin:0 0 .75rem}
.vq ul,.vq ol{margin:0 0 .75rem;padding-left:1.2rem}
.vq li{margin:.2rem 0}
.vq > footer{font-family:var(--sans);font-size:.8125rem;color:var(--text-3);letter-spacing:.01em}
.vq > footer a{color:var(--text-3)}
.vq > footer a:hover{color:var(--link)}
.vq.large{font-size:1.3125rem;line-height:1.55}
.threshold .vq{border-left-color:var(--em-gold);color:var(--em-cream)}
.threshold .vq > footer, .threshold .vq > footer a{color:var(--em-cream-dim)}

.staging-note{font-size:.9375rem;border:1px dashed #9a4a4f;background:rgba(122,42,47,.06);color:var(--text);padding:1rem 1.15rem;margin:0 0 1.25rem;border-radius:2px}
.staging-note strong{color:var(--link)}
.pending{font-size:.9375rem;color:var(--text-3);font-style:normal}

.link-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.link-list li{border-bottom:1px solid var(--rule)}
.link-list a{display:grid;grid-template-columns:6.5rem 1fr;gap:1rem;padding:.8rem 0;text-decoration:none;color:var(--text)}
.link-list a:hover .t{color:var(--link);text-decoration:underline;text-underline-offset:.18em}
.link-list .n{font-size:.875rem;color:var(--text-3);padding-top:.1rem}
.link-list .t{font-family:var(--serif);font-size:1.0625rem;line-height:1.45}
@media (max-width:520px){.link-list a{grid-template-columns:1fr;gap:.1rem}}

.facts{display:grid;grid-template-columns:minmax(0,12rem) minmax(0,1fr);margin:0;border-top:1px solid var(--rule)}
.facts dt,.facts dd{margin:0;padding:.8rem 0;border-bottom:1px solid var(--rule)}
.facts dt{font-size:.9rem;color:var(--text-3);padding-right:1rem}
.facts dd{font-family:var(--serif);font-size:1rem}
.facts code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;word-break:break-all}
@media (max-width:560px){.facts{grid-template-columns:1fr}.facts dt{border-bottom:0;padding-bottom:0}}

/* ---------------------------------------------------------- architecture */
.arch{background:var(--em-ink);color:var(--em-cream);border-radius:2px;padding:clamp(1.25rem,3vw,2.25rem);border:1px solid var(--em-line)}
.arch-fig{margin:0}
.arch a{color:var(--em-gold-lt)}
.arch a:hover{color:var(--em-gold-pale)}
.arch strong{font-weight:600}
.arch-caption{font-size:.875rem;line-height:1.55;color:var(--text-3);margin:1rem 0 0;max-width:46rem}
.arch-row{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:1.25rem;padding:1.35rem 0;border-top:1px solid rgba(201,162,39,.22)}
.arch-row:first-child{border-top:0;padding-top:.25rem}
.arch-level{font-size:.8125rem;line-height:1.45;color:var(--em-gold-lt);letter-spacing:.02em}
.arch-level em{display:block;font-style:italic;font-family:var(--display);font-size:1rem;color:var(--em-cream-dim);margin-top:.35rem;letter-spacing:0}
.arch-el{font-family:var(--display);font-weight:600;font-size:clamp(1.4rem,2.4vw,1.8rem);line-height:1.15;margin:0 0 .5rem;color:var(--em-cream)}
.arch-desc{font-family:var(--serif);font-size:.98rem;line-height:1.55;color:var(--em-cream-dim);margin:0;max-width:44rem}
.phases{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;counter-reset:ph}
.phase{position:relative;border-left:1px solid rgba(201,162,39,.35);padding:0 .75rem 0 .8rem}
.phase:first-child{border-left-color:var(--em-gold)}
.phase > details > summary{list-style:none;cursor:pointer;display:block}
.phase > details > summary::-webkit-details-marker{display:none}
.phase .ph-n{display:block;font-size:.75rem;color:var(--em-gold);letter-spacing:.06em}
.phase .ph-t{display:block;font-family:var(--display);font-weight:600;font-size:1.35rem;line-height:1.1;color:var(--em-cream)}
.phase .ph-more{display:block;font-size:.75rem;color:var(--em-cream-dim);margin-top:.3rem}
.phase details[open] .ph-more{color:var(--em-gold-lt)}
.phase .ph-body{font-family:var(--serif);font-size:.875rem;line-height:1.5;color:var(--em-cream-dim);margin-top:.6rem}
.phase .ph-body p{margin:0 0 .5rem}
.hist{display:none;font-family:var(--sans);font-size:.8125rem;line-height:1.5;color:var(--em-cream);border-top:1px dotted rgba(201,162,39,.4);padding-top:.5rem;margin-top:.5rem}
.hist b{display:block;font-weight:500;color:var(--em-gold-lt);font-size:.75rem;letter-spacing:.03em}
.show-hist .hist{display:block}
@media (max-width:860px){.phases{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 0}}
@media (max-width:640px){.arch-row{grid-template-columns:1fr;gap:.6rem}}
.span-band{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{display:inline-block}
.chip > summary{list-style:none;cursor:pointer;font-size:.9375rem;color:var(--em-cream);border:1px solid rgba(201,162,39,.45);padding:.4rem .75rem;border-radius:2px;background:rgba(201,162,39,.05)}
.chip > summary::-webkit-details-marker{display:none}
.chip > summary:hover{border-color:var(--em-gold)}
.chip[open] > summary{background:rgba(201,162,39,.16);border-color:var(--em-gold)}
.chip-body{flex-basis:100%;font-family:var(--serif);font-size:.9rem;line-height:1.5;color:var(--em-cream-dim);padding:.75rem 0 .25rem;max-width:44rem}
.chip-body p{margin:0 0 .4rem}
.chip-body b{font-family:var(--sans);font-weight:500;font-size:.75rem;letter-spacing:.03em;color:var(--em-gold-lt);display:block}
.band-note{font-size:.8125rem;color:var(--em-cream-dim);margin:.75rem 0 0;font-style:italic;font-family:var(--display);font-size:1rem}
.constraints{margin:.2rem 0 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}
.constraints li{font-size:.875rem;color:var(--em-cream);border-bottom:1px solid rgba(201,162,39,.4);padding:0 .15rem}
.arch-controls{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:0 0 1.25rem}
.toggle{display:inline-flex;align-items:center;gap:.55rem;font-size:.9375rem;cursor:pointer;color:var(--text)}
.toggle input{width:1.05rem;height:1.05rem;accent-color:#7a2a2f}
.models{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:0 2rem;border-top:1px solid var(--rule)}
.model{padding:1.1rem 0;border-bottom:1px solid var(--rule)}
.model h3{font-family:var(--serif);font-weight:600;font-size:1.05rem;line-height:1.35;margin:0 0 .4rem}
.model p{font-family:var(--serif);font-size:.95rem;line-height:1.5;margin:0 0 .35rem;color:var(--text-2)}
.model .k{font-family:var(--sans);font-size:.75rem;color:var(--text-3);letter-spacing:.03em;display:block}
.model .hist{color:var(--text-2);border-top-color:var(--rule-2)}
.model .hist b{color:var(--mark)}

/* ---------------------------------------------------------- claim markers */
.cm{font-family:var(--sans);font-size:.7em;font-weight:500;letter-spacing:.02em;line-height:1;color:var(--cm-text);background:var(--cm-bg);border:1px solid var(--cm-rule);border-radius:2px;padding:.12em .3em .1em;white-space:nowrap;vertical-align:.12em;cursor:help}
.threshold .cm,.arch .cm{background:rgba(201,162,39,.08);border-color:rgba(201,162,39,.35);color:var(--em-cream-dim)}
.cm-pop{position:absolute;z-index:60;max-width:22rem;background:var(--em-ink);color:var(--em-cream);border:1px solid var(--em-line);border-radius:2px;padding:.85rem 1rem;font:400 .875rem/1.5 var(--sans);box-shadow:0 12px 30px -12px rgba(0,0,0,.5)}
.cm-pop b{display:block;color:var(--em-gold-lt);font-weight:500;margin-bottom:.3rem}
.cm-pop p{font-family:var(--serif);margin:0 0 .5rem}
.cm-pop a{color:var(--em-gold-lt);font-size:.8125rem}

/* ---------------------------------------------------------- paper reader */
.reader{display:grid;grid-template-columns:17.5rem minmax(0,1fr);max-width:84rem;margin:0 auto;gap:0}
.toc{position:sticky;top:var(--header-h);align-self:start;max-height:calc(100vh - var(--header-h));overflow:auto;padding:2rem 1.5rem 3rem var(--gutter);border-right:1px solid var(--rule);font-size:.875rem;line-height:1.4;scrollbar-width:thin}
.toc h2{font-family:var(--sans);font-size:.8125rem;font-weight:500;color:var(--text-3);letter-spacing:.03em;margin:0 0 .75rem}
.toc ol{list-style:none;margin:0;padding:0}
.toc > nav > ol > li{border-bottom:1px solid var(--rule)}
.toc a{display:block;text-decoration:none;color:var(--text-2);padding:.45rem 0}
.toc a:hover{color:var(--link)}
.toc a[aria-current="page"]{color:var(--text);font-weight:500}
.toc .u-n{display:block;font-size:.75rem;color:var(--text-3)}
.toc ol ol{margin:0 0 .6rem .7rem;border-left:1px solid var(--rule)}
.toc ol ol a{padding:.28rem 0 .28rem .7rem;font-size:.8125rem}
.toc ol ol ol{margin-left:.6rem}
.toc ol ol a.is-active{color:var(--link);box-shadow:inset 2px 0 0 var(--link);margin-left:-1px}
.tools{margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--rule-2)}
.tools h2{margin-bottom:.5rem}
.tools p{margin:0 0 .75rem;color:var(--text-3);font-size:.8125rem}
.hl-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .6rem}
.hl-chips button{font:500 .78rem/1 var(--sans);padding:.42rem .5rem;border:1px solid var(--rule-2);background:var(--bg-raised);color:var(--text-2);border-radius:2px;cursor:pointer}
.hl-chips button[aria-pressed="true"]{background:var(--hl);border-color:var(--hl-bar);color:var(--text)}
.hl-chips button .c{color:var(--text-3);font-weight:400;margin-left:.25rem}
.hl-nav{display:flex;gap:.35rem;align-items:center;font-size:.8125rem;color:var(--text-3)}
.hl-nav button{font:500 .78rem/1 var(--sans);padding:.42rem .6rem;border:1px solid var(--rule-2);background:none;color:var(--text-2);border-radius:2px;cursor:pointer}
.hl-nav button:disabled{opacity:.45;cursor:default}
.toc-bar{display:none}
@media (max-width:1100px){
  .reader{grid-template-columns:1fr}
  .toc{position:fixed;inset:var(--header-h) auto 0 0;width:min(22rem,88vw);max-height:none;z-index:45;background:var(--bg);transform:translateX(-102%);transition:transform .25s ease;border-right:1px solid var(--rule-2);box-shadow:0 0 40px rgba(0,0,0,.18)}
  .toc.open{transform:none}
  .toc-bar{display:flex;position:sticky;top:var(--header-h);z-index:40;background:var(--bg);border-bottom:1px solid var(--rule);padding:.5rem var(--gutter);gap:.75rem;align-items:center;font-size:.875rem}
  .toc-bar button{font:500 .875rem/1 var(--sans);background:none;border:1px solid var(--rule-2);color:var(--text);padding:.55rem .8rem;border-radius:2px;cursor:pointer}
  .toc-bar .where{color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media (prefers-reduced-motion:reduce){.toc{transition:none}}

.ms-head{background:radial-gradient(ellipse at 30% 0%,var(--em-maroon2),var(--em-ink) 70%);color:var(--em-cream);border-bottom:1px solid var(--em-line)}
.ms-head .in{max-width:46rem;padding:clamp(2.5rem,6vw,4.25rem) var(--gutter) clamp(2rem,4vw,2.75rem);margin:0 0 0 clamp(0rem,4vw,3.5rem)}
.ms-head .edition{font-size:.8125rem;line-height:1.5;color:var(--em-cream-dim);margin:0 0 1.35rem}
.ms-head .edition a{color:var(--em-cream-dim)}
.ms-head .edition a:hover{color:var(--em-gold-lt)}
.ms-head .edition .v{color:var(--em-gold-lt)}
.ms-head h1{font-family:var(--display);font-weight:500;font-size:clamp(2rem,4.6vw,3.25rem);line-height:1.06;margin:0;color:var(--em-cream);letter-spacing:-.003em}
.ms-head .unit-n{display:block;font-family:var(--sans);font-size:.875rem;letter-spacing:.04em;color:var(--em-gold);margin-bottom:.6rem}

.ms-main{min-width:0}
.ms-body{max-width:calc(var(--measure) + 4rem);padding:clamp(2rem,5vw,3.25rem) var(--gutter) 3rem;margin:0 0 0 clamp(0rem,4vw,3.5rem);font-family:var(--serif);font-size:1.1875rem;line-height:1.64;font-optical-sizing:auto;hanging-punctuation:first}
.ms-body > *{max-width:var(--measure)}
.ms-body > .table-wrap{max-width:none;width:min(62rem,calc(100vw - 2*var(--gutter)))}
@media (min-width:1101px){.ms-body > .table-wrap{width:min(62rem,calc(100vw - 17.5rem - 2*var(--gutter) - 3.5rem))}}
.ms-body p{margin:0 0 1.05em}
.ms-body h2{font-family:var(--display);font-weight:600;font-size:1.85rem;line-height:1.15;margin:2.4em 0 .7em;color:var(--text);position:relative}
.ms-body h3{font-family:var(--serif);font-weight:600;font-size:1.1875rem;line-height:1.35;margin:2em 0 .6em;position:relative}
.ms-body strong{font-weight:620}
.ms-body ul,.ms-body ol{margin:0 0 1.1em;padding-left:1.4em}
.ms-body li{margin:.3em 0;padding-left:.15em}
.ms-body li p{margin:0 0 .4em}
.ms-body ul li::marker{color:var(--mark)}
.ms-body ol li::marker{color:var(--text-3);font-family:var(--sans);font-size:.85em}
.ms-body blockquote.ms-indent{margin:0 0 1.1em;padding:0 0 0 1.4em;border-left:1px solid var(--rule-2)}
.ms-body a.xref{color:var(--link);text-decoration-color:color-mix(in srgb,var(--link) 40%,transparent)}
.ms-body p[data-loc],.ms-body li[data-loc]{position:relative}
.ploc,.hloc{position:absolute;left:-2.1rem;top:.12em;width:1.6rem;text-align:right;font:400 .75rem/1.9 var(--sans);color:var(--text-3);text-decoration:none;opacity:0;transition:opacity .15s}
.hloc{top:.35em;font-size:.85rem}
li > .ploc{left:-3.3rem}
p[data-loc]:hover > .ploc,li[data-loc]:hover > .ploc,.ploc:focus,h2:hover > .hloc,h3:hover > .hloc,.hloc:focus{opacity:1}
:target{scroll-margin-top:calc(var(--header-h) + 3.5rem)}
p:target,li:target{background:linear-gradient(90deg,var(--hl),transparent 85%);box-shadow:-.6rem 0 0 var(--hl)}
@media (max-width:700px){.ploc,.hloc{display:none}}

/* Tables */
.table-wrap{overflow-x:auto;margin:1.5em 0 2em;border-top:1px solid var(--rule-2);border-bottom:1px solid var(--rule-2);-webkit-overflow-scrolling:touch;position:relative}
.table-wrap:focus-visible{outline-offset:0}
.ms-body table,.table-wrap table{border-collapse:collapse;width:100%;min-width:44rem;font-family:var(--serif);font-size:.9rem;line-height:1.45}
.table-wrap th{font-family:var(--sans);font-weight:500;font-size:.78rem;letter-spacing:.02em;text-align:left;color:var(--text-2);background:var(--bg-sunk);padding:.7rem .75rem;vertical-align:bottom;border-bottom:1px solid var(--rule-2)}
.table-wrap td{padding:.65rem .75rem;vertical-align:top;border-bottom:1px solid var(--rule)}
.table-wrap tr:last-child td{border-bottom:0}
.table-wrap td:first-child,.table-wrap th:first-child{position:sticky;left:0;background:var(--bg);z-index:1;box-shadow:1px 0 0 var(--rule)}
.table-wrap th:first-child{background:var(--bg-sunk)}
.table-wrap td p{margin:0 0 .4em}
.table-wrap td p:last-child{margin:0}
.table-wrap tr:target td{background:var(--hl)}

/* Reviewer highlighting */
body[data-hl] .cm{opacity:.55}
body[data-hl="P"] .cm-P,body[data-hl="S"] .cm-S,body[data-hl="HD"] .cm-HD,body[data-hl="HU"] .cm-HU,body[data-hl="HT"] .cm-HT,body[data-hl="Ph"] .cm-Ph{opacity:1;background:var(--hl);border-color:var(--hl-bar);color:var(--text)}
.hl-host{box-shadow:-.9rem 0 0 -.75rem var(--hl-bar)}
.cm.hl-current{outline:2px solid var(--hl-bar);outline-offset:2px}

/* Withheld (website-level, not manuscript text) */
.web-withheld{font-family:var(--sans);font-size:.8em;color:var(--em-gold-lt);border:1px dashed rgba(233,205,123,.6);padding:.05em .4em;border-radius:2px;white-space:normal}

/* prev / next */
.pn{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:calc(var(--measure) + 4rem);margin:0 0 4rem clamp(0rem,4vw,3.5rem);padding:0 var(--gutter)}
.pn a{display:block;text-decoration:none;border-top:1px solid var(--rule-2);padding:1rem 0 0;color:var(--text)}
.pn a:hover .t{color:var(--link)}
.pn .k{display:block;font-size:.8125rem;color:var(--text-3)}
.pn .t{display:block;font-family:var(--serif);font-size:1rem;line-height:1.35;margin-top:.2rem}
.pn .next{text-align:right;grid-column:2}
@media (max-width:560px){.pn{grid-template-columns:1fr}.pn .next{grid-column:1;text-align:left}}

/* Edition landing */
.edition-grid{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:3.5rem;max-width:76rem;margin:0 auto;padding:clamp(2rem,5vw,3.5rem) var(--gutter) 4rem}
.edition-grid .ms-body{margin:0;padding:0}
.front-head h1{font-family:var(--display);font-weight:500;font-size:clamp(2.2rem,5.6vw,4rem);line-height:1.02;margin:0;color:var(--em-cream)}
.front-head .subtitle{font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(1.25rem,2.4vw,1.65rem);line-height:1.3;color:var(--em-cream-dim);margin:.9rem 0 1.75rem;max-width:44ch}
.front-head .in{max-width:76rem}
.front-head .fm p{margin:.15rem 0;font-size:1rem;color:var(--em-cream-dim);font-family:var(--serif)}
.front-head .fm p strong{color:var(--em-cream);font-weight:600}
.side-panel{border-top:1px solid var(--rule-2);padding-top:1rem;margin-bottom:2.25rem}
.side-panel h2{font-family:var(--sans);font-size:.8125rem;font-weight:500;letter-spacing:.03em;color:var(--text-3);margin:0 0 .75rem}
.side-panel ol{list-style:none;margin:0;padding:0;font-size:.9rem;line-height:1.35}
.side-panel ol li{padding:.32rem 0}
.side-panel ol a{text-decoration:none;color:var(--text)}
.side-panel ol a:hover{color:var(--link);text-decoration:underline}
.side-panel ol .u-n{color:var(--text-3);font-size:.78rem;display:block}
.cite-box{font-family:var(--serif);font-size:.9rem;line-height:1.5;background:var(--bg-raised);border:1px solid var(--rule);padding:.8rem .9rem;margin:0 0 .6rem;border-radius:2px;overflow-wrap:anywhere}
.cite-box pre{margin:0;font:400 .72rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}
.cite-tabs{display:flex;gap:.3rem;margin:0 0 .5rem}
.cite-tabs button{font:500 .78rem/1 var(--sans);padding:.45rem .6rem;border:1px solid var(--rule-2);background:none;color:var(--text-2);border-radius:2px;cursor:pointer}
.cite-tabs button[aria-selected="true"]{background:var(--em-ink);color:var(--em-cream);border-color:var(--em-ink)}
.small{font-size:.8125rem;color:var(--text-3);line-height:1.5}
.copy-btn{font:500 .8125rem/1 var(--sans);padding:.5rem .75rem;border:1px solid var(--rule-2);background:none;color:var(--text);border-radius:2px;cursor:pointer}
.copy-btn:hover{border-color:var(--link);color:var(--link)}
.dl-list{list-style:none;margin:0;padding:0}
.dl-list li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--rule);font-size:.9rem}
@media (max-width:980px){.edition-grid{grid-template-columns:1fr;gap:2rem}}

/* Full edition */
.full .unit{border-top:1px solid var(--rule-2);margin-top:3rem;padding-top:.5rem}
.full .unit > h1,.full .unit-title{font-family:var(--display);font-weight:500;font-size:2.3rem;line-height:1.1;margin:1.5rem 0 1rem}

/* Search */
.search-wrap{max-width:46rem;margin:0 auto;padding:2.5rem var(--gutter) 5rem}
.pagefind-ui{--pagefind-ui-font:var(--sans);--pagefind-ui-primary:var(--link);--pagefind-ui-text:var(--text);--pagefind-ui-background:var(--bg-raised);--pagefind-ui-border:var(--rule-2);--pagefind-ui-tag:var(--bg-sunk);--pagefind-ui-border-radius:2px;--pagefind-ui-border-width:1px}

/* ---------------------------------------------------------- footer */
.site-footer{background:radial-gradient(ellipse at 50% 100%,var(--em-maroon2),var(--em-ink) 70%);color:var(--em-cream-dim);border-top:1px solid var(--em-line);font-size:.9rem;line-height:1.55}
.site-footer .in{max-width:84rem;margin:0 auto;padding:3.5rem var(--gutter) 2.5rem;display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:2.5rem}
.site-footer a{color:var(--em-cream-dim);text-decoration:none}
.site-footer a:hover{color:var(--em-gold-lt);text-decoration:underline}
.site-footer h2{font-family:var(--sans);font-size:.8125rem;font-weight:500;letter-spacing:.03em;color:var(--em-gold-lt);margin:0 0 .75rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:.3rem 0}
.site-footer .f-title{font-family:var(--display);font-size:1.4rem;color:var(--em-cream);margin:0 0 .5rem;line-height:1.2}
.site-footer .legal{grid-column:1/-1;border-top:1px solid rgba(201,162,39,.2);padding-top:1.25rem;font-size:.8125rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}
@media (max-width:760px){.site-footer .in{grid-template-columns:1fr}}

/* ---------------------------------------------------------- print */
@media print{
  :root{--bg:#fff;--text:#000;--text-2:#222;--text-3:#444;--rule:#bbb;--rule-2:#999;--link:#000;--cm-bg:#fff;--cm-text:#333;--cm-rule:#999}
  .site-header,.site-footer,.toc,.toc-bar,.pn,.staging-bar,.skip,.tools,.ploc,.hloc,.btn-row,.no-print{display:none!important}
  body{font-size:10.5pt;background:#fff}
  .reader{display:block}
  .ms-head,.threshold{background:none!important;color:#000!important;border:0}
  .ms-head *,.threshold *{color:#000!important}
  .ms-head .in{margin:0;padding:0 0 1rem}
  .ms-body{margin:0;padding:0;font-size:10.5pt;line-height:1.45;max-width:none}
  .ms-body > *{max-width:none}
  .ms-body a{color:#000;text-decoration:none}
  .table-wrap{overflow:visible;width:auto!important}
  .table-wrap table{min-width:0;font-size:8.5pt}
  .table-wrap td:first-child,.table-wrap th:first-child{position:static;box-shadow:none}
  h2,h3{break-after:avoid}
  tr,li,p{break-inside:avoid-page}
  .full .unit{break-before:page;border:0;margin:0}
  .web-withheld{border:1px dashed #666;color:#000}
}
