/* =============================================================================
   HSI LONG-FORM READER                                    assets/hsi-reader.css
   House standard for Horizon Scans. v1.0, October 2026.

   One grid, one measure, one type scale, so every Scan reads the same way.

   Grid (desktop)  contents 240 | 48 | text 640 | 48 | margin 240  = 1216 + 2×32
                   Running text never exceeds the 640px measure (~70 characters).
                   The right margin carries the rail (Scan 001) or lets exhibits
                   run wide (Scan 002 onward: 928px).
   Tablet <1100    contents collapse into a sticky "In this Scan" bar.
   Phone  <760     single column; exhibit titles and notes return as live text
                   because the plate's own lettering becomes too small to read.

   Type            Masthead   Newsreader 72/75, italic deck
                   Section    Archivo 11 caps label · Newsreader 46/50
                   Body       Newsreader 19/32, ink            Lead  23/35
                   Sub-head   Newsreader 28/35                 Notes Archivo 13/21

   Markup          .scan-hero ........ shared masthead (Scan 001 and 002)
                   .scan-reader ...... reader template (Scan 002 onward)
                   Scan 001 keeps its original body markup; its look is the
                   reference this file reproduces for the reader template.
   ============================================================================= */

:root{
  --r-measure:640px;
  --r-wide:928px;
  --r-ink:var(--ink,#1b2a41);
  --r-slate:var(--slate,#3f4b5e);
  --r-muted:var(--muted,#526071);
  --r-rule:var(--border,#c9c5ba);
  --r-accent:var(--lapis,#293f60);
  --r-tint:#eee9dc;
  --r-card:#faf7ef;
  --r-field:#e8ebe4;               /* the Horizon Scan field colour */
  --r-serif:var(--ed-serif,"Newsreader",Georgia,serif);
  --r-sans:var(--ed-sans,"Archivo",-apple-system,sans-serif);
}

/* -----------------------------------------------------------------------------
   1. Masthead, shared by every Scan
   -------------------------------------------------------------------------- */
body.hsi-identity .hero.scan-hero{
  padding:clamp(108px,11vw,136px) 32px clamp(48px,6vw,72px);
  background:var(--r-field);
  border-bottom:1px solid var(--r-ink);
}
body.hsi-identity .scan-hero .hero-wrap{max-width:1216px;margin:0 auto}
body.hsi-identity .scan-hero .hero-grid{
  display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:48px;align-items:start;
}
body.hsi-identity .scan-hero .hero-main{min-width:0}
body.hsi-identity .scan-hero .hero-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;
  margin:0 0 28px;padding:0 0 18px;border-bottom:1px solid #9da99c;
}
body.hsi-identity .scan-hero .hero-issue{
  font:500 11px/1.6 var(--r-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--r-ink);
}
body.hsi-identity .scan-hero .hero-tag{font:500 11px/1.6 var(--r-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold,#765c28);background:transparent;border:0;padding:0}
body.hsi-identity .scan-hero .hero-issue strong{font-weight:600;margin-right:4px;color:var(--r-ink)}
body.hsi-identity .scan-hero .hero-title{
  font:400 clamp(2.75rem,1.6rem + 3.4vw,4.5rem)/1.04 var(--r-serif);
  letter-spacing:-.032em;color:var(--r-ink);max-width:14.5em;margin:0 0 22px;
}
body.hsi-identity .scan-hero .hero-title .accent{font-style:italic;color:var(--r-ink)}
body.hsi-identity .scan-hero .hero-subtitle{
  font:italic 400 clamp(1.2rem,1rem + .7vw,1.55rem)/1.45 var(--r-serif);
  color:var(--r-slate);max-width:32em;margin:0 0 36px;
}
body.hsi-identity .scan-hero .hero-byline{
  display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:20px 40px;
  max-width:none;margin:0;padding:22px 0 0;border-top:1px solid #9da99c;background:transparent;
}
body.hsi-identity .scan-hero .hero-byline-item{grid-column:auto!important;min-width:0}
body.hsi-identity .scan-hero .hero-byline .label{
  font:500 10.5px/1.6 var(--r-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--r-muted);margin:0 0 6px;
}
body.hsi-identity .scan-hero .hero-byline .value{font:400 14px/1.55 var(--r-sans);color:var(--r-ink)}
body.hsi-identity .scan-hero .hero-byline .value.serif-val{font:500 17px/1.4 var(--r-serif);color:var(--r-ink)}
body.hsi-identity .scan-hero .hero-byline .hero-note{
  font:400 12.5px/1.55 var(--r-sans)!important;color:var(--r-muted)!important;margin-top:6px;letter-spacing:0;
}
body.hsi-identity .scan-hero .hero-byline .hero-note a{color:var(--r-ink);text-underline-offset:3px}
body.hsi-identity .scan-hero .hero-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 0}
body.hsi-identity .scan-hero .btn{
  display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:12px 20px;border-radius:0;
  font:500 14px/1.3 var(--r-sans);letter-spacing:.01em;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;
}
body.hsi-identity .scan-hero .btn-dark{background:var(--r-ink);color:#f6f2e7;border:1px solid var(--r-ink)}
body.hsi-identity .scan-hero .btn-dark:hover{background:var(--r-accent);border-color:var(--r-accent)}
body.hsi-identity .scan-hero .btn-ghost{background:transparent;color:var(--r-ink);border:1px solid #9da99c}
body.hsi-identity .scan-hero .btn-ghost:hover{border-color:var(--r-ink);background:rgba(255,255,255,.35)}
body.hsi-identity .scan-hero .hero-file-note{font:400 12px/1.6 var(--r-sans);color:var(--r-muted);margin:14px 0 0}
body.hsi-identity .scan-hero .hero-file-note a{color:var(--r-slate);text-underline-offset:3px}
body.hsi-identity .scan-hero .hero-cover{margin:0;align-self:start}
body.hsi-identity .scan-hero .hero-cover a{display:block}
body.hsi-identity .scan-hero .hero-cover img{
  display:block;width:100%;height:auto;background:#fff;
  border:1px solid rgba(27,42,65,.14);
  box-shadow:0 1px 1px rgba(27,42,65,.06),0 22px 44px -22px rgba(27,42,65,.42);
}
body.hsi-identity .scan-hero .hero-cover figcaption{
  font:400 12px/1.5 var(--r-sans);color:var(--r-muted);margin-top:12px;
}
@media (max-width:1100px){
  body.hsi-identity .scan-hero .hero-grid{grid-template-columns:minmax(0,1fr) 180px;gap:36px}
  body.hsi-identity .scan-hero .hero-byline{grid-template-columns:1fr 1fr}
  body.hsi-identity .scan-hero .hero-byline-item:first-child{grid-column:1 / -1!important}
}
@media (max-width:760px){
  body.hsi-identity .hero.scan-hero{padding:100px 22px 44px}
  body.hsi-identity .scan-hero .hero-grid{grid-template-columns:1fr;gap:0}
  body.hsi-identity .scan-hero .hero-cover{display:none}
  body.hsi-identity .scan-hero .hero-meta{margin-bottom:22px}
  body.hsi-identity .scan-hero .hero-subtitle{margin-bottom:28px}
  body.hsi-identity .scan-hero .btn{flex:1 1 auto;justify-content:center}
}
@media (max-width:480px){
  body.hsi-identity .scan-hero .hero-byline{grid-template-columns:1fr}
}

/* -----------------------------------------------------------------------------
   2. Reader template (.scan-reader): grid
   -------------------------------------------------------------------------- */
html.hsi-scan-reader{scroll-padding-top:0;--scan-site-nav:72px}
.scan-reader .reader-layout{
  display:grid;grid-template-columns:240px minmax(0,1fr);gap:0 48px;
  max-width:1280px;margin:0 auto;padding:64px 32px 104px;align-items:start;
}
.scan-reader .reader-article{min-width:0;max-width:var(--r-wide)}
/* Running text keeps the measure; exhibits may use the full width. */
.scan-reader .reader-section>*:not(.reader-figure),
.scan-reader .reader-prose>*{max-width:var(--r-measure);margin-left:0;margin-right:0}
.scan-reader .reader-prose{max-width:none}

/* -----------------------------------------------------------------------------
   3. Contents rail (matches Scan 001)
   -------------------------------------------------------------------------- */
.scan-reader .reader-sidebar{
  position:sticky;top:calc(var(--scan-site-nav) + 28px);
  max-height:calc(100dvh - var(--scan-site-nav) - 56px);overflow-y:auto;scrollbar-width:thin;
  padding:0 8px 16px 0;border-top:1px solid var(--r-ink);
}
.scan-reader .reader-sidebar nav{background:transparent;border:0;box-shadow:none;padding-top:12px}
.scan-reader .reader-sidebar .reader-eyebrow{
  font:500 10px/1.7 var(--r-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--r-muted);
  padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid var(--r-rule);
}
.scan-reader .reader-sidebar ol{list-style:none;margin:0;padding:0}
.scan-reader .reader-sidebar li{border:0;margin:0 0 4px}
.scan-reader .reader-sidebar li a{
  display:block;padding:7px 12px 7px 14px;border-left:2px solid transparent;
  font:400 14px/1.5 var(--r-serif);color:var(--r-slate);text-decoration:none;
  transition:color .15s,background-color .15s;
}
.scan-reader .reader-sidebar li a:hover{color:var(--r-ink);background:var(--r-tint)}
.scan-reader .reader-sidebar li a[aria-current="location"]{
  color:var(--r-ink);font-weight:500;background:var(--r-tint);border-left-color:var(--r-accent);padding-left:14px;
}
.scan-reader .toc-num{
  display:inline-block;min-width:22px;margin-right:6px;
  font:500 10px/1 var(--r-sans);letter-spacing:.06em;color:var(--r-muted);vertical-align:1px;
}
.scan-reader a[aria-current="location"] .toc-num{color:var(--r-accent)}
.scan-reader .reader-sidebar li.toc-end{margin-top:14px;padding-top:10px;border-top:1px solid var(--r-rule)}
.scan-reader .reader-sidebar li.toc-end+li.toc-end{margin-top:0;padding-top:0;border-top:0}
.scan-reader .reader-sidebar li.toc-end a{font-size:13px}
.scan-reader .reader-top{
  display:inline-block;margin:18px 0 0 16px;padding:6px 0;
  font:400 12px/1.5 var(--r-sans);color:var(--r-muted);text-underline-offset:4px;
}

/* Contents entries are navigation, not inline links: no underline in either template. */
.scan-reader .reader-sidebar li a[href],
.scan-reader .reader-mobile-nav li a[href],
body.hsi-identity .scan-body .toc-list li a[href],
body.hsi-identity .scan-body .mobile-toc li a[href]{text-decoration:none}

/* Scan 001 body sits on the same 1280 grid as the masthead and the reader template. */
body.hsi-identity .scan-body{max-width:1280px}
body.hsi-identity .scan-body .reading{max-width:var(--r-measure)}

/* -----------------------------------------------------------------------------
   4. Sections and running text
   -------------------------------------------------------------------------- */
.scan-reader .reader-section{
  margin-top:88px;padding-top:48px;border-top:1px solid var(--r-rule);
  scroll-margin-top:calc(var(--scan-site-nav) + 24px);
}
.scan-reader .reader-section:first-child{margin-top:0;padding-top:0;border-top:0}
.scan-reader .reader-section:focus{outline:none}
.scan-reader .reader-section-head{margin:0 0 36px}
.scan-reader .reader-section-head .reader-eyebrow{
  display:block;font:500 11px/1.8 var(--r-sans);letter-spacing:.18em;text-transform:uppercase;
  color:var(--program,#3c5964);margin:0 0 16px;
}
.scan-reader .reader-section-head h2{
  font:400 clamp(2.25rem,1.55rem + 1.6vw,2.875rem)/1.08 var(--r-serif);
  letter-spacing:-.025em;color:var(--r-ink);margin:0 0 18px;text-wrap:balance;
}
.scan-reader .reader-section-deck{
  font:italic 400 clamp(1.15rem,1rem + .45vw,1.35rem)/1.5 var(--r-serif);color:var(--r-slate);margin:0;
}
.scan-reader .reader-paragraph,
.scan-reader .reader-prose>p{
  font:400 19px/1.7 var(--r-serif);color:var(--r-ink);margin:0 0 24px;overflow-wrap:break-word;
}
.scan-reader .reader-paragraph strong{font-weight:600;color:var(--r-ink)}
.scan-reader .reader-paragraph a,.scan-reader .reader-prose a{color:var(--r-ink);text-underline-offset:3px;text-decoration-thickness:1px}
.scan-reader .reader-lead{
  font:400 clamp(1.25rem,1.05rem + .6vw,1.45rem)/1.5 var(--r-serif);color:var(--r-ink);
  letter-spacing:-.005em;margin:0 0 32px;
}
.scan-reader .reader-subheading{
  font:400 28px/1.25 var(--r-serif);letter-spacing:-.02em;color:var(--r-ink);
  margin:56px 0 20px;text-wrap:balance;scroll-margin-top:calc(var(--scan-site-nav) + 28px);
}
.scan-reader .reader-priority-number{
  display:block;font:500 11px/1.6 var(--r-sans);letter-spacing:.14em;color:var(--program,#3c5964);margin:0 0 8px;
}
.scan-reader .reader-permalink{display:none}

/* Quotations stand on type and space alone, as in Scan 001. */
.scan-reader .reader-pullquote{margin:44px 0;padding:0;border:0;background:none}
.scan-reader .reader-pullquote p{
  font:italic 400 clamp(1.4rem,1.15rem + .8vw,1.7rem)/1.45 var(--r-serif);
  letter-spacing:-.005em;color:var(--r-ink);margin:0;
}
/* A single statistic is set as Scan 001's stat tile. */
.scan-reader .reader-stat{margin:40px 0;padding:22px 24px 20px;background:var(--r-card);border:1px solid var(--r-rule)}
.scan-reader .reader-stat .reader-stat-value{
  font:600 clamp(2.25rem,1.9rem + 1vw,2.75rem)/1 var(--r-serif);letter-spacing:-.02em;color:var(--r-ink);margin:0 0 10px;
}
.scan-reader .reader-stat p{font:400 14px/1.55 var(--r-sans);color:var(--r-muted);margin:0}

/* -----------------------------------------------------------------------------
   5. Exhibits: the plate carries its own title and notes at reading sizes,
      so the live caption is kept for assistive technology and returns on
      phones, where the plate's lettering becomes too small.
      Plates are printed on the page's own paper (#f6f2e7), so an exhibit sits
      in the text like the house figures: a 2px ink rule above, no box.
   -------------------------------------------------------------------------- */
.scan-reader .reader-figure{
  position:relative;margin:56px 0 64px;padding:14px 0 0;border:0;border-top:2px solid var(--r-ink);max-width:var(--r-wide);
  scroll-margin-top:calc(var(--scan-site-nav) + 24px);
}
.scan-reader .reader-figure figcaption,
.scan-reader .reader-figure .reader-figure-notes{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.scan-reader .reader-figure-open{
  display:block;position:relative;background:transparent;border:0;padding:0;
  text-decoration:none;cursor:zoom-in;box-shadow:none;
}
.scan-reader .reader-figure-open img{display:block;width:100%;height:auto;background:transparent}
/* "Enlarge" sits in the row beneath the plate, never over the exhibit. */
.scan-reader .reader-enlarge{
  position:absolute;right:0;top:calc(100% + 1px);z-index:1;display:inline-flex;align-items:center;gap:6px;
  min-height:44px;padding:0 0 0 12px;background:transparent;border:0;
  font:500 12.5px/1.4 var(--r-sans);letter-spacing:0;color:var(--r-slate);
}
.scan-reader .reader-figure-open:hover .reader-enlarge,
.scan-reader .reader-figure-open:focus-visible .reader-enlarge{color:var(--r-ink);text-decoration:underline;text-underline-offset:3px}
.scan-reader .reader-data{margin:0;padding:0;border:0;border-bottom:1px solid var(--r-rule);background:transparent}
.scan-reader .reader-data>summary{
  display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 150px 10px 0;cursor:pointer;list-style:none;
  font:500 12.5px/1.4 var(--r-sans);color:var(--r-slate);
}
.scan-reader .reader-data>summary::-webkit-details-marker{display:none}
.scan-reader .reader-data>summary::before{display:none!important}
.scan-reader .reader-data>summary::after{content:"+";margin-left:2px;font:400 18px/1 var(--r-sans);color:var(--r-muted)}
.scan-reader .reader-data[open]>summary::after{content:"\2212"}
.scan-reader .reader-data>summary:hover{color:var(--r-ink)}
.scan-reader .reader-data>p{font:400 14px/1.6 var(--r-sans);color:var(--r-slate);margin:6px 0 14px;max-width:var(--r-measure)}
.scan-reader .reader-table-scroll{max-width:100%;overflow-x:auto;margin:8px 0 20px;border:0;overscroll-behavior-inline:contain}
.scan-reader .reader-table-scroll table{border-collapse:collapse;width:100%;min-width:520px;background:transparent;font:400 13px/1.5 var(--r-sans);font-variant-numeric:tabular-nums}
.scan-reader .reader-table-scroll caption{caption-side:top;padding:0 0 10px;text-align:left;font:500 12.5px/1.5 var(--r-sans);color:var(--r-ink);background:transparent}
.scan-reader .reader-table-scroll th,.scan-reader .reader-table-scroll td{padding:9px 12px 9px 0;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--r-rule);color:var(--r-ink);min-width:72px}
.scan-reader .reader-table-scroll thead th{font-weight:600;font-size:11.5px;letter-spacing:.04em;color:var(--r-muted);border-bottom:1px solid var(--r-ink);background:transparent}
.scan-reader .reader-table-scroll tbody th{font-weight:500;background:transparent}

/* -----------------------------------------------------------------------------
   6. End matter: references, credits, citation, corrections
   -------------------------------------------------------------------------- */
.scan-reader #works-cited .reader-subheading{
  font:400 18px/1.3 var(--r-serif);letter-spacing:-.01em;margin:44px 0 0;padding:0 0 12px;border-bottom:1px solid var(--r-ink);
}
.scan-reader .reader-reference-category{
  font:500 10.5px/1.6 var(--r-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--r-muted);margin:26px 0 4px;
}
.scan-reader .reader-reference{
  font:400 13.5px/1.6 var(--r-sans);color:var(--r-ink);margin:0;padding:12px 0;
  border-bottom:1px solid var(--r-rule);text-indent:0;overflow-wrap:anywhere;
}
.scan-reader .reader-reference a{color:var(--r-accent);text-decoration:none;border-bottom:1px solid rgba(41,63,96,.3)}
.scan-reader .reader-reference a:hover{border-bottom-color:currentColor}
.scan-reader .reader-credits{display:grid;gap:16px;margin:0 0 28px}
.scan-reader .reader-credits dt{font:500 10.5px/1.6 var(--r-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--r-muted);margin:0 0 4px}
.scan-reader .reader-credits dd{font:400 17px/1.5 var(--r-serif);color:var(--r-ink);margin:0}
.scan-reader .reader-contributors{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;padding-top:24px;border-top:1px solid var(--r-rule)}
.scan-reader .reader-credit-pending{font-size:15px!important;color:var(--r-muted)!important}
.scan-reader .reader-citation{margin:28px 0;padding:20px 22px;background:var(--r-card);border:1px solid var(--r-rule)}
.scan-reader .reader-citation h3{font:500 10.5px/1.6 var(--r-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--r-muted);margin:0 0 10px}
.scan-reader .reader-citation p{font:400 15px/1.6 var(--r-serif);color:var(--r-ink);margin:0}
.scan-reader #corrections .reader-prose>p{font:400 15.5px/1.65 var(--r-sans);color:var(--r-slate)}

/* -----------------------------------------------------------------------------
   7. Progress line and focus
   -------------------------------------------------------------------------- */
.scan-reader .reader-progress{position:fixed;top:var(--scan-site-nav);left:0;right:0;height:2px;z-index:90;pointer-events:none}
.scan-reader .reader-progress span{display:block;width:var(--reader-progress,0%);height:100%;background:var(--r-accent)}
.scan-reader a:focus-visible,.scan-reader button:focus-visible,.scan-reader summary:focus-visible,
.scan-reader [tabindex="0"]:focus-visible{outline:2px solid var(--r-accent);outline-offset:3px}

/* -----------------------------------------------------------------------------
   8. Exhibit viewer (dialog)
   -------------------------------------------------------------------------- */
.scan-reader .reader-lightbox{width:calc(100vw - 40px);height:calc(100dvh - 40px);max-width:1800px;max-height:none;margin:auto;padding:0;border:0;background:#f6f2e7;color:var(--r-ink);overflow:hidden}
.scan-reader .reader-lightbox::backdrop{background:rgba(15,25,41,.84)}
.scan-reader .reader-lightbox[open]{display:flex;flex-direction:column}
.scan-reader .reader-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:10px 18px;border-bottom:1px solid var(--r-rule);background:#f6f2e7}
.scan-reader .reader-lightbox-bar h2{font:400 19px/1.4 var(--r-serif);margin:0;color:var(--r-ink)}
.scan-reader .reader-lightbox-bar>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.scan-reader .reader-lightbox-bar button,.scan-reader .reader-lightbox-bar a{font:500 12px/1.4 var(--r-sans);color:var(--r-ink);background:transparent;border:1px solid #a9adad;padding:9px 13px;min-height:40px;cursor:pointer;text-decoration:none}
.scan-reader .reader-lightbox-bar button:hover,.scan-reader .reader-lightbox-bar a:hover{border-color:var(--r-ink)}
.scan-reader .reader-lightbox-image{overflow:auto;flex:1;min-height:0;padding:20px;display:flex;align-items:flex-start;justify-content:center;overscroll-behavior:contain}
.scan-reader .reader-lightbox-image img{max-width:100%;width:auto;height:auto;max-height:100%;object-fit:contain;margin:auto}
.scan-reader .reader-lightbox.is-zoomed .reader-lightbox-image{display:block}
.scan-reader .reader-lightbox.is-zoomed img{max-width:none;max-height:none;width:auto;height:auto;margin:0}

/* -----------------------------------------------------------------------------
   9. Tablet and phone
   -------------------------------------------------------------------------- */
.scan-reader .reader-mobile-nav{display:none}
@media (max-width:1100px){
  .scan-reader .reader-layout{grid-template-columns:minmax(0,1fr);max-width:var(--r-wide);padding:48px 40px 80px}
  .scan-reader .reader-sidebar{display:none}
  .scan-reader .reader-mobile-nav{
    display:block;position:sticky;top:var(--scan-site-nav);z-index:60;
    background:var(--paper,#f6f2e7);border-bottom:1px solid var(--r-rule);
  }
  .scan-reader .reader-mobile-nav details{max-width:var(--r-wide);margin:auto}
  .scan-reader .reader-mobile-nav summary{
    display:flex;align-items:center;gap:16px;min-height:50px;padding:12px 40px;cursor:pointer;list-style:none;
    font:500 11px/1.5 var(--r-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--r-ink);
  }
  .scan-reader .reader-mobile-nav summary::-webkit-details-marker{display:none}
  .scan-reader .reader-mobile-nav details>summary::before{display:none!important}
  .scan-reader .reader-mobile-nav summary::after{content:"+";font:400 20px/1 var(--r-sans);color:var(--r-muted);letter-spacing:0}
  .scan-reader .reader-mobile-nav details[open] summary::after{content:"\2212"}
  .scan-reader .reader-current{
    margin-left:auto;max-width:55%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;
    font:italic 400 14px/1.4 var(--r-serif);letter-spacing:0;text-transform:none;color:var(--r-slate);
  }
  .scan-reader .reader-mobile-nav nav{max-height:calc(75dvh - var(--scan-site-nav));overflow-y:auto;padding:0 40px 16px;background:transparent;border:0;box-shadow:none}
  .scan-reader .reader-mobile-nav ol{list-style:none;margin:0;padding:0}
  .scan-reader .reader-mobile-nav a{
    display:block;padding:11px 0;border-top:1px solid var(--r-rule);
    font:400 16px/1.4 var(--r-serif);color:var(--r-ink);text-decoration:none;
  }
  .scan-reader .reader-mobile-nav a[aria-current="location"]{font-weight:500}
  .scan-reader :is(.reader-section,.reader-subheading,.reader-figure){scroll-margin-top:calc(var(--scan-site-nav) + 72px)}
}
@media (max-width:760px){
  .scan-reader .reader-layout{padding:32px 22px 64px}
  .scan-reader .reader-mobile-nav summary{padding:12px 22px}
  .scan-reader .reader-mobile-nav nav{padding:0 22px 14px}
  .scan-reader .reader-section{margin-top:64px;padding-top:36px}
  .scan-reader .reader-section-head{margin-bottom:28px}
  .scan-reader .reader-paragraph,.scan-reader .reader-prose>p{font-size:18px;line-height:1.68;margin-bottom:22px}
  .scan-reader .reader-subheading{font-size:24px;margin-top:44px}
  .scan-reader .reader-pullquote{margin:36px 0}
  .scan-reader .reader-stat{padding:20px}
  /* On phones the plate's lettering is too small: restore the live caption. */
  .scan-reader .reader-figure{margin:44px 0 52px}
  .scan-reader .reader-figure-open{padding:0;margin-bottom:44px}
  .scan-reader .reader-figure .reader-figure-notes{border-top:1px solid var(--r-rule);padding-top:10px}
  .scan-reader .reader-figure figcaption,
  .scan-reader .reader-figure .reader-figure-notes{
    position:static!important;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;
  }
  .scan-reader .reader-figure figcaption{padding-top:0;border-top:0;margin-bottom:14px}
  .scan-reader .reader-figure figcaption .reader-eyebrow{display:block;font:500 10.5px/1.6 var(--r-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--program,#3c5964);margin:0 0 6px}
  .scan-reader .reader-figure figcaption h3{font:400 21px/1.3 var(--r-serif);color:var(--r-ink);margin:0 0 6px}
  .scan-reader .reader-figure-subtitle{font:400 13px/1.5 var(--r-sans);color:var(--r-slate);margin:0}
  .scan-reader .reader-figure .reader-figure-notes{margin:10px 0 0}
  .scan-reader .reader-figure-notes p{font:400 12px/1.55 var(--r-sans);color:var(--r-muted);margin:0 0 6px}
  .scan-reader .reader-lightbox{width:100vw;height:100dvh}
  .scan-reader .reader-lightbox-bar{padding:8px 12px}
  .scan-reader .reader-lightbox-image{padding:8px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* -----------------------------------------------------------------------------
   10. Print
   -------------------------------------------------------------------------- */
@media print{
  .scan-reader .reader-sidebar,.scan-reader .reader-mobile-nav,.scan-reader .reader-progress,
  .scan-reader .reader-lightbox,.scan-reader .reader-enlarge,.scan-reader .reader-data,
  body.hsi-identity .scan-hero .hero-cta-row,body.hsi-identity .scan-hero .hero-cover{display:none!important}
  body.hsi-identity .hero.scan-hero{background:none;padding:0 0 18px}
  .scan-reader .reader-layout{display:block;max-width:none;padding:0}
  .scan-reader .reader-article{max-width:none}
  .scan-reader .reader-section{break-before:page;margin-top:0;border:0}
  .scan-reader .reader-paragraph,.scan-reader .reader-prose>p,.scan-reader .reader-reference{font-size:10.5pt;line-height:1.5;max-width:none}
  .scan-reader .reader-figure{break-inside:avoid}
  .scan-reader .reader-figure-open{border:0}
}
