:root{--paper:#fdfcfa;--panel:#ffffff;--ink:#1a1a1e;--ink-soft:#484850;--faint:#63636b;--accent:#9c0e3a;--link:#9c0e3a;--rule:#dbd8d2;--c-white:#fff;--c-orange:#e07b1f;--c-cream:#efe1a8;--c-tan:#c8a56b;--c-blue:#7fa8cf;--c-red:#cf5f5f;--c-lgreen:#7fb069;--c-dgreen:#2f6b3d;--c-yellow:#e9cb3f;--c-neutral:#bcae90;--nav-max:54rem}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{font-family:'Newsreader',Georgia,serif;font-size:19px;line-height:1.6;color:var(--ink);background:var(--paper);margin:0;font-feature-settings:'onum' 1}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E")}
.case{max-width:54rem;margin:0 auto;padding:2.8rem 1.5rem 4rem}
a{color:var(--accent)}
.kicker{font:600 .74rem/1 'Newsreader';letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 .8rem}
h1{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:clamp(1.8rem,4.5vw,2.8rem);line-height:1.05;letter-spacing:-.015em;margin:0 0 .5rem}
.posture{font-size:1.02rem;color:var(--ink-soft);margin:.2rem 0 0}
.brule{border:0;border-top:2px solid var(--ink);margin:1.2rem 0 1.4rem;position:relative}
.brule::after{content:'';position:absolute;left:0;top:4px;width:100%;border-top:1px solid var(--rule)}
h2{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.02rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:2rem 0 .7rem;padding-bottom:.35rem;border-bottom:1px solid var(--rule)}
h3{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.14em;color:var(--faint);margin:0 0 .6rem}
p{margin:.5rem 0}
.disp{display:flex;align-items:center;gap:1.2rem;background:var(--panel);border:1px solid var(--rule);border-left:4px solid var(--accent);padding:1rem 1.3rem;margin:.4rem 0 0}
.disp-num{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:2.9rem;line-height:.9;color:var(--accent);white-space:nowrap}
.disp-lab{font-size:.98rem;color:var(--ink)}
.disp-lab span{color:var(--faint);font-size:.86rem}
.disp-sig{font-size:.9rem;color:var(--ink-soft);font-style:italic;margin-top:.15rem}
.disp-sub{font-size:.86rem;color:var(--faint);margin-top:.15rem}
.disp-word{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.5rem;color:var(--accent);line-height:1.1}
.forecast-why{margin:.55rem 0 0;font-size:.95rem;line-height:1.5;color:var(--ink-soft);max-width:46rem}
.disp-word a{color:inherit;text-decoration:underline;text-decoration-color:rgba(156,14,58,.4);text-underline-offset:4px}
.qp{font-size:1.05rem;line-height:1.55}.qp ol,.qp ul{padding-left:1.2rem;margin:.3rem 0}.qp li{margin:.35rem 0}.qp p{margin:.4rem 0}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.6rem}
.panel{background:var(--panel);border:1px solid var(--rule);padding:1rem 1.2rem}
.panel.wide{grid-column:1/-1}
.side{font:600 .72rem/1.3 'Newsreader';letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.cslot{margin:.2rem 0 .9rem}.cname{font-weight:600}.firm{color:var(--ink-soft);font-size:.94rem}
.amic-side{font-size:.86rem;color:var(--faint)}
.timeline{list-style:none;margin:.4rem 0 0;padding:0;position:relative}
.timeline::before{content:'';position:absolute;left:7.4rem;top:.3rem;bottom:.3rem;border-left:1px solid var(--rule)}
.timeline li{display:grid;grid-template-columns:7rem 1fr;gap:1.1rem;padding:.4rem 0;position:relative}
.tl-date{font-variant-numeric:tabular-nums;font-size:.86rem;color:var(--faint);text-align:right;padding-top:.1rem;padding-right:.28rem}
.tl-body{font-size:.98rem;position:relative}
.tl-body::before{content:'';position:absolute;left:-.9rem;top:.5rem;width:8px;height:8px;border-radius:50%;background:var(--dot,var(--link));border:1px solid rgba(26,26,30,.45);box-shadow:0 0 0 3px var(--paper)}
.timeline li.proc .tl-body::before{width:11px;height:0;left:-1.05rem;top:.82rem;border-radius:0;background:none;border:0;border-top:1.5px solid var(--faint);opacity:.7;box-shadow:none}
.tl-legend{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;margin:.1rem 0 1rem;font-size:.78rem;color:var(--faint)}
.tl-legend span{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}
.tl-legend i{width:9px;height:9px;border-radius:50%;border:1px solid rgba(26,26,30,.45);flex:none}
.tl-legend i.hollow{width:11px;height:0;border-radius:0;background:none;border:0;border-top:1.5px solid var(--faint);opacity:.7;align-self:center}
.tl-none{font-size:.94rem;color:var(--faint);font-style:italic;margin:.2rem 0 0}
.tl-docs{margin-top:.2rem;display:flex;flex-wrap:wrap;gap:.2rem .8rem}
.tl-docs a{font-size:.85rem;color:var(--link);border-bottom:1px solid rgba(156,14,58,.4);text-decoration:none}
.kicker a{color:inherit;border-bottom:1px solid rgba(156,14,58,.4)}
@media(max-width:640px){.grid{grid-template-columns:1fr}.timeline li{grid-template-columns:5rem 1fr}.timeline::before{left:5.4rem}}
/* ---- masthead ---- */
.smast-in{max-width:var(--nav-max,54rem);margin:0 auto;padding:.85rem 1.5rem .5rem;
  display:flex;align-items:baseline;justify-content:space-between;gap:1.4rem;flex-wrap:wrap}
.smast-wm{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.02rem;
  letter-spacing:.005em;color:var(--ink,#1a1a1e);text-decoration:none;white-space:nowrap;flex:none}
.smast-wm em{font-style:italic;font-weight:500;color:var(--accent,#9c0e3a)}
.smast-wm:hover{color:var(--accent,#9c0e3a)}
/* Row gap first, then column. At 1.35rem the six section links measured 596px
   of max-content -- 4px wider than the 592px row the 40rem index container
   leaves them -- so ABOUT alone wrapped to a third line under the wordmark, on
   every page page_style.R writes. 1.05rem brings the row to 572px: 20px of
   slack at 40rem, and 45px on the 54rem case pages, which were themselves only
   21px from wrapping. The .4rem row gap is for the day a seventh section
   overruns it anyway -- a nav that wraps should read as a stack, not an orphan. */
.snav{display:flex;gap:.4rem 1.05rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.snav a{font:600 .72rem/1 'Newsreader',Georgia,serif;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-soft,var(--soft,#484850));text-decoration:none;display:inline-block;
  padding:.5rem 0;border-bottom:1.5px solid transparent}
.snav a:hover{color:var(--accent,#9c0e3a);border-bottom-color:var(--rule,#dbd8d2)}
.snav a[aria-current='page']{color:var(--accent,#9c0e3a);
  border-bottom-color:var(--accent,#9c0e3a)}
.smast-rule-w{max-width:var(--nav-max,54rem);margin:0 auto;padding:0 1.5rem}
.smast-rule{border:0;height:0;border-top:2px solid var(--ink,#1a1a1e);margin:0;position:relative}
.smast-rule::after{content:'';position:absolute;left:0;top:4px;width:100%;
  border-top:1px solid var(--rule,#dbd8d2)}
.skip{position:absolute;left:-9999px;top:0;background:var(--panel,#ffffff);
  color:var(--accent,#9c0e3a);padding:.6rem 1rem;
  border:1px solid var(--accent,#9c0e3a);
  font:600 .8rem/1 'Newsreader',Georgia,serif;letter-spacing:.1em;text-transform:uppercase;z-index:10}
.skip:focus{left:.5rem;top:.5rem}
/* ---- breadcrumb ---- */
.bcrumb{margin:.7rem 0 0}
.bcrumb ol{list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;
  gap:.1rem .45rem;margin:0;padding:0}
.bcrumb li{display:inline-flex;align-items:baseline;gap:.45rem}
.bcrumb a{font:400 .8rem/1.5 'Newsreader',Georgia,serif;color:var(--ink-soft,var(--soft,#484850));
  text-decoration:none;border-bottom:1px solid var(--rule,#dbd8d2)}
.bcrumb a:hover{color:var(--accent,#9c0e3a);border-bottom-color:var(--accent,#9c0e3a)}
.bcrumb .sep{color:var(--faint,#63636b);font-size:.8rem;line-height:1.5}
.bcrumb [aria-current='page']{font:400 .8rem/1.5 'Newsreader',Georgia,serif;
  color:var(--faint,#63636b);font-variant-numeric:tabular-nums}
/* ---- case footer ---- */
.cfoot{margin:2.4rem 0 0}
.cfoot-rule{border:0;height:0;border-top:2px solid var(--ink,#1a1a1e);margin:0 0 1rem;position:relative}
.cfoot-rule::after{content:'';position:absolute;left:0;top:4px;width:100%;
  border-top:1px solid var(--rule,#dbd8d2)}
.cfoot-off{font-size:.95rem;margin:0 0 1.1rem}
.cfoot-off a{color:var(--link,#9c0e3a);text-decoration:none;border-bottom:1px solid rgba(156,14,58,.4)}
.cfoot-off a:hover{border-bottom-color:var(--link,#9c0e3a)}
.cfoot-lab{font:600 .68rem/1 'Newsreader',Georgia,serif;letter-spacing:.18em;text-transform:uppercase;
  color:var(--faint,#63636b);margin:0 0 .5rem}
.cfoot-nav{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;list-style:none;margin:0;padding:0}
.cfoot-nav a{font-size:.92rem;color:var(--ink-soft,var(--soft,#484850));text-decoration:none;
  border-bottom:1px solid var(--rule,#dbd8d2);padding-bottom:1px}
.cfoot-nav a:hover{color:var(--accent,#9c0e3a);border-bottom-color:var(--accent,#9c0e3a)}
.cfoot-stamp{margin:1.2rem 0 0;font-size:.8rem;color:var(--faint,#63636b);font-style:italic}
/* ---- prev / next ---- */
.pnav{margin:2.2rem 0 0;border-top:1px solid var(--rule,#dbd8d2);padding-top:1rem;
  display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.pnav a,.pnav span.none{text-decoration:none;color:inherit;display:block;padding:.5rem .2rem}
.pnav a:hover{background:rgba(156,14,58,.05)}
.pnav .dir{font:600 .66rem/1 'Newsreader',Georgia,serif;letter-spacing:.18em;text-transform:uppercase;
  color:var(--faint,#63636b);display:block;margin-bottom:.3rem}
.pnav .lab{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1rem;line-height:1.25;
  color:var(--accent,#9c0e3a);display:block}
.pnav a:hover .lab{text-decoration:underline;text-underline-offset:3px}
.pnav .nx{text-align:right}
.pnav .none{opacity:.35}
@media(max-width:640px){
  .smast-in{padding:.7rem 1.1rem .25rem;gap:.15rem}
  .smast-wm{font-size:.98rem}
  .smast-in nav{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg,#000 86%,transparent);
    mask-image:linear-gradient(90deg,#000 86%,transparent)}
  .smast-in nav::-webkit-scrollbar{display:none}
  .snav{flex-wrap:nowrap;gap:1.15rem;padding-right:2.4rem}
  .snav a{padding:.7rem 0;white-space:nowrap}
  .smast-rule-w{padding:0 1.1rem}
  .cfoot-nav{gap:.5rem 1rem}
  .cfoot-nav a{padding-bottom:.3rem}
  .pnav{grid-template-columns:1fr;gap:.2rem}
  .pnav .nx{text-align:left;border-top:1px solid var(--rule,#dbd8d2)}
}

