
:root{
  --paper:#FBFAF7; --paper-alt:#F2EEDF;
  --ink:#0D1117; --ink-soft:#3A3D44; --ink-muted:#6B6F78;
  --rule:#E5E0CE;
  --isr-navy:#081C50; --isr-steel:#22577E; --isr-accent:#C9A86A;
  --bl-accent:#0B5FFF;
  /* Legacy aliases — use ISR navy/steel where the old code references blue/orange */
  --blue:#22577E; --blue-dark:#081C50;
  --orange:#C9A86A; --orange-warm:#C9A86A;
  --ink-900:#081C50; --ink-800:#0E2D63; --ink-700:#163A78;
  --on-dark:#F4F2EC; --on-dark-soft:#A3B0CA;
  --serif:"Instrument Serif", "Fraunces", Georgia, serif;
  --sans:"Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --col:680px;
  --col-wide:880px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.55;font-size:16.5px;font-feature-settings:"ss01","cv11"}
a{color:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; text-decoration-color:rgba(13,17,23,.25)}
a:hover{text-decoration-color:var(--blue)}
img,svg{display:block; max-width:100%}

/* ===== READING PROGRESS BAR ===== */
.progress{position:fixed; top:0; left:0; height:2px; background:var(--blue); width:0%; z-index:100; transition:width .15s ease-out}

/* ===== LOADING SCREEN — Variant 2: Horizontal current ===== */
.loader{position:fixed; inset:0; z-index:9999; background:var(--isr-navy); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:28px; opacity:1; visibility:visible; transition:opacity .45s ease, visibility .45s ease}
.loader.hidden{opacity:0; visibility:hidden; pointer-events:none}
.loader-video{width:min(280px, 60vw); height:auto; aspect-ratio:1/1; background:var(--isr-navy); object-fit:contain; display:block}
.loader-caption{font-family:var(--serif); font-style:italic; font-size:18px; color:#D5DCEC; letter-spacing:.01em; opacity:.92}

/* ===== APP SHELL ===== */
.shell{display:grid; grid-template-columns:280px 1fr; min-height:100vh}
@media (max-width:1024px){.shell{grid-template-columns:1fr}}

/* ===== SIDEBAR ===== */
.sidebar{position:sticky; top:0; height:100vh; background:var(--paper); border-right:1px solid var(--rule); padding:28px 22px 28px 32px; overflow-y:auto; font-size:14px}

/* Mobile drawer */
.mobile-bar{display:none; position:sticky; top:0; z-index:90; background:var(--paper); border-bottom:1px solid var(--rule); padding:18px 24px; align-items:center; justify-content:space-between; gap:16px}
.mobile-bar a.brand{display:flex; align-items:center; gap:12px; color:var(--ink); text-decoration:none}
.mobile-bar a.brand img{width:28px; height:28px; flex-shrink:0}
.mobile-bar a.brand .name-stack{display:flex; flex-direction:column; line-height:1.05}
.mobile-bar a.brand .eyebrow{font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-muted); font-weight:600}
.mobile-bar a.brand .name{font-family:var(--serif); font-size:17px; letter-spacing:-.01em; margin-top:3px}
.mobile-bar button{background:transparent; border:0; padding:8px; cursor:pointer; display:flex; flex-direction:column; gap:4px; width:44px; height:44px; align-items:center; justify-content:center; flex-shrink:0}
.mobile-bar button span{display:block; width:20px; height:1.5px; background:var(--ink); transition:transform .2s, opacity .2s}
body.nav-open .mobile-bar button span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
body.nav-open .mobile-bar button span:nth-child(2){opacity:0}
body.nav-open .mobile-bar button span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
@media (max-width:1024px){
  .shell{display:block}
  .mobile-bar{display:flex}
  .sidebar{position:fixed; top:64px; left:0; right:0; bottom:0; height:calc(100vh - 64px); max-height:calc(100vh - 64px); width:100vw; padding:8px 24px 40px; transform:translateY(-110%); transition:transform .28s cubic-bezier(.2,.7,.3,1); z-index:80; overflow-y:auto; border-right:0; border-bottom:0; background:var(--paper); -webkit-overflow-scrolling:touch}
  .sidebar.open{transform:translateY(0); box-shadow:0 12px 32px -8px rgba(8,28,80,.18)}
  body.nav-open{overflow:hidden}
  /* Drawer-internal brand lockup hidden on mobile — the mobile-bar above already shows it */
  .sidebar .brand-lockup, .sidebar .sidebar-divider, .sidebar .sidebar-colophon{display:none}
  .sidebar .nav-search{margin-top:18px}
  /* Slightly larger tap targets on mobile */
  .nav-link{padding:12px 12px; font-size:15.5px; min-height:44px}
  .nav-link .n{font-size:16px; min-width:30px}
  .nav-eyebrow{font-size:11px; margin:32px 0 12px}
  .nav-eyebrow:first-of-type{margin-top:8px}
}

.brand-lockup{display:flex; align-items:center; gap:12px; padding:0 0 22px; margin-bottom:0; text-decoration:none; color:var(--ink)}
.brand-lockup:hover{text-decoration:none}
.brand-lockup .isr-mark{width:42px; height:42px; flex-shrink:0}
.brand-lockup .brand-stack{display:flex; flex-direction:column; line-height:1.1}
.brand-lockup .eyebrow{font-size:9.5px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-muted); font-weight:600}
.brand-lockup .name{font-family:var(--serif); font-size:18px; line-height:1.05; letter-spacing:-.01em; font-weight:400; margin-top:4px; color:var(--ink)}

/* Tiny BL colophon in sidebar footer */
.sidebar-colophon{margin-top:28px; padding-top:16px; border-top:1px solid var(--rule); font-size:11px; line-height:1.5; color:var(--ink-muted)}
.sidebar-colophon a{color:var(--ink-soft); text-decoration:none; display:inline-flex; align-items:center; gap:6px; font-weight:600}
.sidebar-colophon a img{width:14px; height:auto}
.sidebar-colophon a:hover{color:var(--bl-accent)}

.sidebar-divider{height:1px; background:var(--rule); margin:0 -22px 24px -32px}

.nav-eyebrow{font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--isr-navy); font-weight:700; margin:28px 0 10px; padding-bottom:8px; border-bottom:1px solid var(--rule)}
.nav-eyebrow:first-of-type{margin-top:0}

.nav-link{display:flex; align-items:baseline; gap:14px; padding:9px 10px; margin:0 -10px; border-radius:6px; color:var(--ink-soft); text-decoration:none; line-height:1.35; font-size:14px; transition:background .12s, color .12s}
.nav-link:hover{background:rgba(13,17,23,.04); color:var(--ink); text-decoration:none}
.nav-link.active{background:var(--isr-navy); color:#fff}
.nav-link.active:hover{background:var(--isr-navy)}
.nav-link .n{display:inline-block; min-width:24px; color:var(--isr-accent); font-family:var(--serif); font-variant-numeric:tabular-nums; font-size:15px; font-weight:400; line-height:1}
.nav-link.active .n{color:var(--isr-accent)}
.nav-link .n:empty::before{content:""; display:inline-block; width:4px; height:4px; border-radius:50%; background:var(--isr-accent); margin-bottom:3px; margin-left:9px; opacity:.7}
.nav-link.active .n:empty::before{background:var(--isr-accent); opacity:1}
.nav-link-overview{font-family:var(--serif); font-style:italic; font-size:14.5px; color:var(--ink-muted)}
.nav-link-overview:hover{color:var(--ink)}
.nav-link-overview.active{color:#fff}

.nav-search{width:100%; padding:11px 14px; background:#fff; border:1px solid var(--rule); border-radius:6px; color:var(--ink); font-size:13.5px; font-family:inherit; margin-bottom:4px}
.nav-search:focus{outline:none; border-color:var(--isr-navy); box-shadow:0 0 0 3px rgba(8,28,80,.08)}
.nav-search::placeholder{color:var(--ink-muted)}

/* ===== MAIN COLUMN ===== */
main{padding:0; overflow-x:hidden}

/* ===== COVER HERO (denser, more impact) ===== */
.hero{position:relative; min-height:88vh; background:var(--ink-900); color:var(--on-dark); display:flex; flex-direction:column; overflow:hidden}
.hero-img{position:absolute; inset:0; background-size:cover; background-position:center; opacity:.58; filter:saturate(1.05) contrast(1.05)}
.hero-grad{position:absolute; inset:0; background:linear-gradient(180deg, rgba(8,28,80,.65) 0%, rgba(8,28,80,.80) 55%, rgba(8,28,80,.96) 100%)}
.hero-inner{position:relative; z-index:2; padding:32px 56px 48px; flex:1; display:flex; flex-direction:column}
.hero-meta{display:flex; justify-content:space-between; align-items:center; gap:24px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#D5DCEC; font-weight:600; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.18)}
.hero-meta a{color:var(--on-dark); text-decoration:none; display:inline-flex; align-items:center; gap:10px}
.hero-meta a:hover{color:#fff}
.hero-meta .orange-dot{color:var(--orange)}
.hero-body{margin-top:auto; max-width:920px}
.hero-eyebrow{display:inline-block; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--orange); font-weight:700; margin-bottom:20px; padding:6px 12px; border:1px solid var(--orange); border-radius:2px}
.hero h1{font-family:var(--serif); font-size:clamp(56px, 9vw, 128px); line-height:.92; letter-spacing:-.03em; font-weight:400; margin:0 0 22px; color:#fff}
.hero h1 .accent{color:var(--orange); font-style:italic}
.hero-tagline{font-family:var(--serif); font-size:clamp(22px,2.4vw,28px); line-height:1.3; color:var(--on-dark); max-width:680px; margin:0 0 36px; font-weight:400; font-style:italic}
.hero-tagline strong{color:#fff; font-style:normal; font-weight:400; background:linear-gradient(transparent 60%, rgba(255,138,0,.35) 60%)}
.hero-stats{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:0; max-width:760px; border-top:1px solid rgba(255,255,255,.12); padding-top:24px}
.hero-stat{padding-right:24px; border-right:1px solid rgba(255,255,255,.08); padding-left:24px}
.hero-stat:first-child{padding-left:0}
.hero-stat:last-child{border-right:0}
.hero-stat .big{font-family:var(--serif); font-size:clamp(48px,6.5vw,80px); line-height:1; color:#fff; font-weight:400; letter-spacing:-.02em}
.hero-stat .lbl{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--on-dark-soft); margin-top:8px; font-weight:600}
.hero-scroll{position:absolute; bottom:24px; right:56px; z-index:2; font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--on-dark-soft); display:flex; align-items:center; gap:10px}
.hero-scroll .arrow{display:inline-block; width:20px; height:1px; background:var(--on-dark-soft); position:relative}
.hero-scroll .arrow::after{content:""; position:absolute; right:0; top:-3px; width:7px; height:7px; border-right:1px solid var(--on-dark-soft); border-bottom:1px solid var(--on-dark-soft); transform:rotate(-45deg)}
@media (max-width:768px){
  .hero{min-height:auto; padding-bottom:8px}
  .hero-inner{padding:20px 24px 32px}
  .hero-img{opacity:.42; filter:saturate(.95) contrast(1.02)}
  .hero-grad{background:linear-gradient(180deg, rgba(8,28,80,.55) 0%, rgba(8,28,80,.82) 50%, rgba(8,28,80,.98) 100%)}
  /* meta bar: hide redundant brand link (already in mobile bar above), keep one tagline line */
  .hero-meta{font-size:10px; letter-spacing:.18em; padding-bottom:14px; gap:8px; flex-wrap:nowrap; min-height:auto}
  .hero-meta .brand-link{display:none}
  .hero-meta .meta-tag{display:block; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; flex:1}
  .hero-eyebrow{font-size:10px; padding:5px 10px; margin-bottom:16px}
  .hero h1{font-size:48px; line-height:.95; margin-bottom:16px}
  .hero-tagline{font-size:18px; line-height:1.35; margin-bottom:24px}
  .hero-stats{grid-template-columns:repeat(3, minmax(0,1fr)); gap:0; padding-top:16px}
  .hero-stat{padding:0 8px; border-right:1px solid rgba(255,255,255,.1); border-bottom:0; text-align:left}
  .hero-stat:first-child{padding-left:0}
  .hero-stat:last-child{border-right:0}
  .hero-stat .big{font-size:36px}
  .hero-stat .lbl{font-size:9px; letter-spacing:.14em}
  .hero-scroll{display:none}
}

/* ===== COVER SECTIONS BELOW HERO ===== */
.cover-meta-band{background:var(--paper-alt); padding:56px 56px; border-bottom:1px solid var(--rule)}
.cover-meta-grid{max-width:var(--col-wide); margin:0 auto; display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:start}
.cover-meta-grid h2{font-family:var(--serif); font-size:28px; line-height:1.15; letter-spacing:-.01em; font-weight:400; margin:0 0 14px; color:var(--ink)}
.cover-meta-grid h2 .accent{color:var(--orange); font-style:italic}
.cover-meta-grid p{font-size:15.5px; line-height:1.65; color:var(--ink-soft); margin:0 0 10px}
.cover-meta-grid p strong{color:var(--ink); font-weight:600}
@media (max-width:768px){.cover-meta-band{padding:36px 24px} .cover-meta-grid{grid-template-columns:1fr; gap:28px}}

.cover-browse{padding:64px 56px 80px; max-width:var(--col-wide); margin:0 auto}
.cover-browse-head{display:flex; align-items:baseline; justify-content:space-between; gap:24px; padding-bottom:18px; margin-bottom:8px; border-bottom:2px solid var(--ink)}
.cover-browse h2{font-family:var(--serif); font-size:56px; line-height:1; letter-spacing:-.03em; font-weight:400; margin:0; color:var(--ink)}
.cover-browse-meta{font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-muted); font-weight:600}
.cover-browse > p.intro{font-size:16.5px; color:var(--ink-soft); margin:0 0 40px; max-width:560px; line-height:1.5}

.cover-part{padding-top:36px; border-top:1px solid var(--rule); margin-top:0; position:relative}
.cover-part:first-of-type{padding-top:32px; border-top:0; margin-top:0}
.cover-part-head{display:grid; grid-template-columns:120px 1fr auto; gap:28px; align-items:baseline; margin-bottom:8px}
.cover-part-num{font-family:var(--serif); font-size:80px; line-height:.9; color:var(--ink); font-weight:400; letter-spacing:-.04em}
.cover-part-num .pre{font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-muted); display:block; font-weight:600; margin-bottom:6px; font-family:var(--sans)}
.cover-part-title{font-family:var(--serif); font-size:32px; line-height:1.1; letter-spacing:-.02em; font-weight:400; margin:0; color:var(--ink)}
.cover-part-count{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-muted); font-weight:600; white-space:nowrap}
.cover-part-sections{display:grid; grid-template-columns:120px 1fr; gap:28px; margin-top:8px}
.cover-sec-list{display:grid; gap:0}
.cover-sec-link{display:grid; grid-template-columns:48px 1fr auto; gap:18px; padding:14px 12px 14px 0; border-top:1px solid var(--rule); color:var(--ink); text-decoration:none; align-items:baseline; transition:padding .15s, background .15s; position:relative}
.cover-sec-link:first-child{border-top:0}
.cover-sec-link:hover{padding-left:12px; background:var(--paper-alt); text-decoration:none}
.cover-sec-link:hover .ttl{color:var(--blue)}
.cover-sec-link .n{font-family:var(--serif); font-size:22px; color:var(--orange); font-weight:400; line-height:1; font-variant-numeric:tabular-nums}
.cover-sec-link .ttl{font-family:var(--serif); font-size:21px; line-height:1.2; font-weight:400; transition:color .15s}
.cover-sec-link .arr{color:var(--ink-muted); font-size:14px}
.cover-sec-link:hover .arr{color:var(--blue); transform:translateX(4px)}
@media (max-width:768px){
  .cover-browse{padding:48px 24px 56px}
  .cover-browse h2{font-size:42px}
  .cover-part-head{grid-template-columns:1fr}
  .cover-part-sections{grid-template-columns:1fr; gap:8px}
  .cover-part-num{font-size:56px}
  .cover-sec-link{grid-template-columns:40px 1fr auto; gap:12px}
  .cover-sec-link .ttl{font-size:18px}
}

/* ===== SUPPORTED BY (cover only) ===== */
.cover-partners{background:var(--paper); padding:64px 56px 80px; border-top:1px solid var(--rule)}
.cover-partners-inner{max-width:var(--col-wide); margin:0 auto}
.cover-partners-eyebrow{font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-muted); font-weight:600; text-align:center; margin-bottom:32px}
.cover-partners-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:32px; align-items:center; justify-items:center}
.cover-partners-grid a{display:flex; align-items:center; justify-content:center; height:64px; width:100%; opacity:.72; transition:opacity .15s; text-decoration:none; min-width:0}
.cover-partners-grid a:hover{opacity:1}
.cover-partners-grid img{max-height:54px; max-width:100%; width:auto; height:auto; object-fit:contain; filter:grayscale(1)}
.cover-partners-grid img[src$=".svg"]{width:100%; height:54px}
.cover-partners-grid a:hover img{filter:grayscale(0)}
@media (max-width:768px){
  .cover-partners{padding:48px 24px 56px}
  .cover-partners-grid{grid-template-columns:repeat(2,1fr); gap:36px 24px}
  .cover-partners-grid a{height:52px}
  .cover-partners-grid img{max-height:48px}
}

/* ===== PART LANDING ===== */
.part-hero{background:var(--ink-900); color:var(--on-dark); padding:64px 56px 56px; position:relative}
.part-hero::before{content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--orange)}
.part-hero-inner{max-width:var(--col-wide); margin:0 auto; display:grid; grid-template-columns:120px 1fr; gap:32px; align-items:start}
.part-hero-num{font-family:var(--serif); font-size:96px; line-height:.9; color:var(--orange); font-weight:400; letter-spacing:-.04em}
.part-hero-body .eyebrow{font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--orange); font-weight:700; margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,.12)}
.part-hero h1{font-family:var(--serif); font-size:clamp(48px,6vw,80px); line-height:1; letter-spacing:-.03em; font-weight:400; color:#fff; margin:0 0 20px}
.part-hero .lede{font-family:var(--serif); font-size:22px; line-height:1.4; color:var(--on-dark); max-width:680px; font-style:italic; margin:0}
.part-toc{padding:48px 56px 24px; max-width:var(--col-wide); margin:0 auto}
.part-toc h2{font-family:var(--serif); font-size:14px; font-weight:600; margin:0 0 18px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-muted); font-family:var(--sans)}
@media (max-width:768px){
  .part-hero{padding:40px 24px}
  .part-hero-inner{grid-template-columns:1fr; gap:16px}
  .part-hero-num{font-size:56px}
  .part-toc{padding:32px 24px 16px}
}

/* ===== SECTION READING VIEW (tighter, more punch) ===== */
.reader{padding:40px 56px 0; max-width:var(--col-wide); margin:0 auto}
.reader-head{padding-bottom:28px; margin-bottom:36px; border-bottom:2px solid var(--ink); position:relative}
.reader-head::before{content:""; position:absolute; left:0; bottom:-2px; width:80px; height:2px; background:var(--orange)}
.reader .crumbs{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-muted); font-weight:600; margin:0 0 20px}
.reader .crumbs a{color:var(--ink-muted); text-decoration:none}
.reader .crumbs a:hover{color:var(--ink)}
.reader .sec-eyebrow{display:inline-block; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--orange); font-weight:700; margin:0 0 14px; padding:5px 10px; border:1px solid var(--orange); border-radius:2px}
.reader h1{font-family:var(--serif); font-size:clamp(44px,5.5vw,72px); line-height:1; letter-spacing:-.03em; font-weight:400; margin:0; max-width:780px; color:var(--ink)}

.reader-body{max-width:var(--col); margin:0 auto}
.reader-body > *{margin-left:auto; margin-right:auto}
.reader-body p{font-size:17.5px; line-height:1.65; margin:0 0 18px; color:var(--ink)}
.reader-body p strong{font-weight:600; color:var(--ink)}
.reader-body p em{font-style:italic}
.reader-body ul, .reader-body ol{font-size:17.5px; line-height:1.65; padding-left:24px; margin:0 0 24px}
.reader-body li{margin-bottom:8px; padding-left:6px}
.reader-body li::marker{color:var(--orange); font-weight:700}
.reader-body blockquote{margin:32px 0; padding:18px 22px; border-left:3px solid var(--orange); background:var(--paper-alt); font-family:var(--serif); font-size:22px; line-height:1.35; color:var(--ink); font-style:italic}
.reader-body hr{border:0; height:1px; background:var(--rule); margin:36px auto; max-width:60px}

/* Lede paragraph — slightly larger, no drop cap */
.reader-body > p:first-of-type{font-size:19.5px; line-height:1.55; margin-bottom:22px; color:var(--ink); font-weight:400}
.reader-body > p:first-of-type::first-letter{font-size:inherit; float:none; padding:0; color:inherit; font-weight:inherit}

/* Figures (images break out of the column) */
.reader-body figure, .reader-body p:has(> img:only-child){
  margin:40px calc((var(--col) - var(--col-wide))/2); max-width:var(--col-wide)
}
.reader-body img{
  width:100%; height:auto; border-radius:2px;
  box-shadow:0 1px 0 var(--rule), 0 24px 60px -20px rgba(13,17,23,.18)
}
.reader-body p > img:only-child{display:block; margin:0 auto}

/* Tables — denser, more authoritative. Wrap in scroll container on small screens */
.reader-body table{width:100%; border-collapse:collapse; margin:0; font-size:14.5px; font-feature-settings:"tnum"; min-width:520px}
.reader-body .table-scroll{margin:32px calc((var(--col) - var(--col-wide))/2); max-width:var(--col-wide); overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--rule); border-radius:2px}
@media (max-width:768px){
  .reader-body .table-scroll{margin:24px 0}
}
.reader-body th, .reader-body td{padding:10px 12px; text-align:left; vertical-align:top; border-bottom:1px solid var(--rule)}
.reader-body th{font-weight:700; background:var(--ink); color:var(--paper); border-bottom:0; text-transform:uppercase; font-size:10.5px; letter-spacing:.12em}
.reader-body tr:nth-child(even) td{background:var(--paper-alt)}
.reader-body table caption{caption-side:bottom; font-size:12.5px; color:var(--ink-muted); padding-top:8px; text-align:left; font-style:italic}

/* Figure captions */
.reader-body p.figure-caption, .reader-body figcaption, .reader-body .auto-figcaption{
  font-size:12.5px; color:var(--ink-muted); font-style:italic; line-height:1.45;
  margin:12px auto 0; max-width:var(--col-wide); text-align:center
}
.reader-body p.figure-caption{margin:-28px auto 36px}

/* Subsection headings — outdented teal eyebrow headings (notes 14 & 27) */
.reader-body p.subhead{
  max-width:var(--col-wide);
  margin:44px calc((var(--col) - var(--col-wide))/2) 14px;
  font-family:var(--sans); font-weight:700; font-size:14px; line-height:1.3;
  letter-spacing:.06em; text-transform:uppercase; color:#0A7B86;
}
.reader-body p.subhead strong{font-weight:inherit; color:inherit}
.reader-body p.subhead + p{margin-top:0}
@media (max-width:768px){.reader-body p.subhead{margin-left:0; margin-right:0}}

/* Figures with title above the image, credit below (notes 44–59) */
.reader-body figure.fig{margin:40px calc((var(--col) - var(--col-wide))/2); max-width:var(--col-wide)}
.reader-body figure.fig .fig-title{font-family:var(--sans); font-weight:600; font-size:13.5px; line-height:1.4; color:var(--ink); letter-spacing:.01em; margin:0 0 12px; text-align:left; font-style:normal}
.reader-body figure.fig img{margin:0}
.reader-body figure.fig .fig-credit{font-family:var(--sans); font-size:11.5px; line-height:1.4; color:var(--ink-muted); margin:10px 0 0; text-align:left; font-style:italic}
@media (max-width:768px){.reader-body figure.fig{margin-left:0; margin-right:0}}

/* Footnotes page + in-text reference anchors (notes 28 & 29) */
.reader-body sup a{text-decoration:none; color:var(--isr-steel); font-weight:600; padding:0 1px}
.reader-body ol li[id^="footnote-"]{scroll-margin-top:84px; font-size:14.5px; line-height:1.5; color:var(--ink-soft)}
.reader-body ol li[id^="footnote-"] a{word-break:break-word}

/* 2-cell Word "text + headshot" tables → side-by-side card */
.reader-body .portrait-card{
  display:grid; grid-template-columns:1fr 280px; gap:32px; align-items:start;
  margin:32px calc((var(--col) - var(--col-wide))/2); max-width:var(--col-wide);
  padding:24px; background:var(--paper-alt); border-top:1px solid var(--ink); border-bottom:1px solid var(--ink)
}
.reader-body .portrait-card-text > p{margin:0 0 12px; font-size:16.5px; line-height:1.55}
.reader-body .portrait-card-text > p:first-of-type::first-letter{font-size:inherit; float:none; padding:0; color:inherit}
.reader-body .portrait-card-text > p:first-child strong{font-family:var(--serif); font-size:24px; font-weight:400; display:block; margin-bottom:4px}
.reader-body .portrait-card-img{margin:0; width:280px; height:280px; overflow:hidden; border-radius:2px}
.reader-body .portrait-card-img img{width:100%; height:100%; object-fit:cover; object-position:center top; box-shadow:none; border-radius:0; display:block}
@media (max-width:768px){
  .reader-body .portrait-card{grid-template-columns:1fr; margin:24px 0}
  .reader-body .portrait-card-img{width:100%; height:auto; aspect-ratio:1/1}
}

/* Single-cell "band-heading" tables (e.g. SCOTLAND / ENGLAND / WALES section dividers) */
.reader-body .band-heading{
  margin:40px calc((var(--col) - var(--col-wide))/2) 24px; max-width:var(--col-wide);
  padding:18px 24px; background:var(--ink); color:var(--paper); border-radius:2px
}
.reader-body .band-heading p{margin:0; font-family:var(--sans); font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--paper); font-weight:700}

/* Pull-quote variant — give Brendan something memorable */
.reader-body p.pull{
  font-family:var(--serif); font-size:32px; line-height:1.2; color:var(--ink);
  margin:40px auto; padding:24px 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink);
  font-style:italic; text-align:left; max-width:var(--col)
}

/* In-body strong key-stats: big italic orange number inline with paragraph */
.reader-body .stat-callout{display:block; font-family:var(--serif); font-size:64px; line-height:.95; color:var(--orange); font-weight:400; margin:24px 0 0; letter-spacing:-.02em}
.reader-body .stat-callout + p{margin-top:4px; font-size:13.5px; color:var(--ink-muted); letter-spacing:.04em; text-transform:uppercase; font-weight:600; line-height:1.4}

@media (max-width:768px){
  .reader{padding:32px 24px 0}
  .reader-body figure, .reader-body p:has(> img:only-child){margin:28px 0}
}

/* ===== PREV / NEXT ===== */
.pager{max-width:var(--col-wide); margin:48px auto 0; padding:28px 0 0; border-top:1px solid var(--rule); display:grid; grid-template-columns:1fr 1fr; gap:24px}
.pager a{display:block; padding:24px 0; text-decoration:none; color:var(--ink)}
.pager .lbl{font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-muted); font-weight:600; margin-bottom:8px}
.pager .ttl{font-family:var(--serif); font-size:24px; line-height:1.2; font-weight:400}
.pager .next{text-align:right}
.pager a:hover .ttl{color:var(--blue)}
.pager a:hover{text-decoration:none}
@media (max-width:768px){.pager{grid-template-columns:1fr; gap:0} .pager .next{text-align:left; border-top:1px solid var(--rule)}}

/* ===== FOOTER ===== */
.footer{margin-top:64px; padding:32px 56px; background:var(--ink-900); color:var(--on-dark-soft); font-size:12.5px}
.footer-inner{max-width:var(--col-wide); margin:0 auto; display:flex; justify-content:space-between; gap:32px; align-items:center; flex-wrap:wrap}
.footer a{color:var(--on-dark); text-decoration:none}
.footer a:hover{color:#fff; text-decoration:underline}
.footer-credit{display:flex; align-items:center; gap:10px}
.footer-credit img{width:18px; height:auto}
@media (max-width:768px){.footer{padding:36px 24px}}

/* ===== ABOUT / COLOPHON ===== */
.colophon{padding:56px 56px 0; max-width:var(--col-wide); margin:0 auto}
.colophon .eyebrow{font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--orange); font-weight:600; margin-bottom:24px}
.colophon h1{font-family:var(--serif); font-size:clamp(48px,6vw,80px); line-height:1.02; letter-spacing:-.02em; font-weight:400; margin:0 0 32px; max-width:760px}
.colophon .lede{font-family:var(--serif); font-size:24px; line-height:1.4; color:var(--ink-soft); max-width:640px; font-style:italic; margin:0 0 64px}
.colophon-body{max-width:var(--col); font-size:18px; line-height:1.7; color:var(--ink-soft)}
.colophon-body p{margin:0 0 22px}
.colophon-body h2{font-family:var(--serif); font-size:28px; font-weight:400; margin:48px 0 16px; color:var(--ink)}
.colophon-cta{margin:64px auto; max-width:var(--col); padding:36px; background:var(--ink-900); color:var(--on-dark); border-radius:4px}
.colophon-cta h3{font-family:var(--serif); font-size:28px; font-weight:400; margin:0 0 12px; color:#fff}
.colophon-cta p{margin:0 0 20px; color:var(--on-dark); font-size:16px; line-height:1.55}
.colophon-cta a{display:inline-block; padding:12px 22px; background:#fff; color:var(--ink)!important; text-decoration:none!important; border-radius:2px; font-weight:600; font-size:14px; letter-spacing:.02em}
.colophon-cta a:hover{background:var(--orange); color:#fff!important}
@media (max-width:768px){.colophon{padding:64px 24px 0}}

/* ===== COVER — original document cover ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cover-main{display:flex;flex-direction:column;min-height:100vh}
.cover-doc{flex:1;background:var(--isr-navy);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;padding:56px 24px;text-align:center}
.cover-doc-img{width:min(560px,86vw);height:auto;border-radius:3px;box-shadow:0 40px 90px -30px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06)}
.cover-doc-cta{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;background:#fff;color:var(--isr-navy)!important;font-weight:600;font-size:15px;letter-spacing:.01em;text-decoration:none!important;border-radius:2px;transition:background .15s,transform .15s,color .15s}
.cover-doc-cta span{transition:transform .15s}
.cover-doc-cta:hover{background:var(--isr-accent);color:#fff!important}
.cover-doc-cta:hover span{transform:translateX(4px)}
@media (max-width:768px){.cover-doc{padding:40px 20px;gap:28px}.cover-doc-img{width:min(440px,90vw)}}
