/* ============================================================
   SELF-HOSTED FONTS — generated from src/assets/fonts/ (Session 25).
   Cormorant Garamond (display) + EB Garamond (text); no sans, no CDN.
   License: SIL OFL 1.1 — see assets/fonts/LICENSE.txt.

   ⚠ THE latin-ext FILES ARE CUSTOM SUBSETS (audit 2026-07-19). Google ships
   latin-ext with the whole Vietnamese block (U+1E00-1EFF) and more — 571 KB
   across nine files — to serve the only four latin-ext glyphs this site
   actually renders: ğ İ Ş ş. They were re-subset to Latin Extended-A
   (U+0100-017F, a deliberate margin covering every European diacritic, so new
   Turkish/Polish/Czech content cannot silently fall back), taking those nine
   files to 145 KB. First-visit font payload: ~270 KB -> ~156 KB.

   Their `unicode-range` below was narrowed to U+0100-017F TO MATCH. The two
   must stay in sync: a range wider than the file makes the browser download a
   font that lacks the glyph and render tofu/fallback.

   ⚠ `python tools/fetch-fonts.py` re-downloads the FULL Google files and will
   silently undo the subsetting. If you run it, either re-subset the latin-ext
   files (pyftsubset --unicodes=U+0100-017F --flavor=woff2 --layout-features='*')
   or restore the original wide unicode-range for them.
   ============================================================ */

@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'Cormorant Garamond'; font-style:italic; font-weight:400; font-display:swap; src:url('../fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'Cormorant Garamond'; font-style:italic; font-weight:500; font-display:swap; src:url('../fonts/cormorant-garamond-latin-500-italic.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/cormorant-garamond-latin-ext-400-normal.woff2') format('woff2');
  unicode-range:U+0100-017F; }
@font-face { font-family:'Cormorant Garamond'; font-style:italic; font-weight:400; font-display:swap; src:url('../fonts/cormorant-garamond-latin-ext-400-italic.woff2') format('woff2');
  unicode-range:U+0100-017F; }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/cormorant-garamond-latin-ext-500-normal.woff2') format('woff2');
  unicode-range:U+0100-017F; }
@font-face { font-family:'Cormorant Garamond'; font-style:italic; font-weight:500; font-display:swap; src:url('../fonts/cormorant-garamond-latin-ext-500-italic.woff2') format('woff2');
  unicode-range:U+0100-017F; }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/cormorant-garamond-latin-ext-600-normal.woff2') format('woff2');
  unicode-range:U+0100-017F; }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/cormorant-garamond-cyrillic-400-normal.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family:'Cormorant Garamond'; font-style:italic; font-weight:400; font-display:swap; src:url('../fonts/cormorant-garamond-cyrillic-400-italic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/cormorant-garamond-cyrillic-500-normal.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family:'Cormorant Garamond'; font-style:italic; font-weight:500; font-display:swap; src:url('../fonts/cormorant-garamond-cyrillic-500-italic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/cormorant-garamond-cyrillic-600-normal.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family:'EB Garamond'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/eb-garamond-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'EB Garamond'; font-style:italic; font-weight:400; font-display:swap; src:url('../fonts/eb-garamond-latin-400-italic.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'EB Garamond'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/eb-garamond-latin-500-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'EB Garamond'; font-style:italic; font-weight:500; font-display:swap; src:url('../fonts/eb-garamond-latin-500-italic.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family:'EB Garamond'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/eb-garamond-latin-ext-400-normal.woff2') format('woff2');
  unicode-range:U+0100-017F; }
@font-face { font-family:'EB Garamond'; font-style:italic; font-weight:400; font-display:swap; src:url('../fonts/eb-garamond-latin-ext-400-italic.woff2') format('woff2');
  unicode-range:U+0100-017F; }
@font-face { font-family:'EB Garamond'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/eb-garamond-latin-ext-500-normal.woff2') format('woff2');
  unicode-range:U+0100-017F; }
@font-face { font-family:'EB Garamond'; font-style:italic; font-weight:500; font-display:swap; src:url('../fonts/eb-garamond-latin-ext-500-italic.woff2') format('woff2');
  unicode-range:U+0100-017F; }
@font-face { font-family:'EB Garamond'; font-style:normal; font-weight:400; font-display:swap; src:url('../fonts/eb-garamond-cyrillic-400-normal.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family:'EB Garamond'; font-style:italic; font-weight:400; font-display:swap; src:url('../fonts/eb-garamond-cyrillic-400-italic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family:'EB Garamond'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/eb-garamond-cyrillic-500-normal.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family:'EB Garamond'; font-style:italic; font-weight:500; font-display:swap; src:url('../fonts/eb-garamond-cyrillic-500-italic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }

/* ============================================================
   hulkiokantabak.com — "The Reader's Index"
   Session-25 faithful rebuild of _archive/design-candidates-2026-06/v1.html.
   The site set as the front matter + table of contents of a book: a title
   page + frontispiece photograph, then numbered Parts, each a contents list
   with leader lines resolving to where each work lives. Data-driven from
   links.json + identity.json. Palette: oxblood on cream. GoatCounter is the
   only script (in base.njk). Hulki's title-page adjustments applied on top of
   v1: photo LEFT; smaller/gentler nameplate (Cormorant 400); the 5-line
   tagline below the name; the "A single page…" wayfinding line below it.
   ============================================================ */

:root{
  --paper:#f7f3ea;
  --paper-deep:#efe8d8;
  --ink:#2b2620;
  --ink-soft:#5c554a;       /* supporting prose — ~6.7:1 on paper (AA/AAA) */
  --ink-faint:#736a58;      /* small labels — ~4.8:1 on paper (AA); darkened from v1 #8a8170 to clear the accessibility floor */
  --rule:#cfc6b2;
  --rule-soft:#ddd4c0;
  --oxblood:#7b2418;        /* ~9:1 on paper */
  --oxblood-deep:#641c12;
  --plate:#1f1b15;
  --measure:64rem;
  --serif-display:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --serif-text:'EB Garamond',Georgia,'Times New Roman',serif;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--serif-text);
  font-size:clamp(1.02rem,0.95rem + 0.4vw,1.18rem);
  line-height:1.6;
  font-feature-settings:"onum" 1,"liga" 1,"kern" 1;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }
}
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth;}
}

a{color:inherit;}
:focus-visible{outline:2px solid var(--oxblood);outline-offset:3px;border-radius:1px;}

/* skip-link — base.njk emits <a class="skip-link" href="#main"> (catch #002) */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:50;
  background:var(--ink);color:var(--paper);
  padding:.6rem 1rem;border-radius:0 0 4px 0;
  font-family:var(--serif-text);letter-spacing:.02em;text-decoration:none;
}
.skip-link:focus{left:0;top:0;}

/* Visually hidden, still announced. Carries the "(opens in a new tab)" hint
   inside entry links. It replaces the former aria-label, which REPLACED the
   whole accessible name and therefore discarded the lang-tagged Turkish and
   Cyrillic spans (a screen reader read Turkish titles in an English voice) and
   dropped the visible form-tag and destination word from the name — a WCAG
   2.5.3 "Label in Name" failure. Audit 2026-07-19. */
.vh{
  position:absolute;width:1px;height:1px;
  margin:-1px;padding:0;border:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}

.wrap{
  max-width:var(--measure);
  margin:0 auto;
  padding:clamp(1.4rem,1rem + 3vw,3.5rem) clamp(1.25rem,0.8rem + 4vw,4rem) 4rem;
}

/* ---------- TITLE PAGE + FRONTISPIECE ---------- */
.titlepage{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.8rem,1rem + 5vw,3.5rem);
  align-items:center;
  padding-block:clamp(1rem,0.5rem + 3vw,2.5rem) clamp(2rem,1.5rem + 4vw,3.5rem);
  border-bottom:1px solid var(--rule);
}
/* frontispiece plate (photograph) — LEFT at desktop, per Hulki */
.plate{margin:0;}
.plate-frame{
  background:var(--plate);
  padding:clamp(.7rem,.4rem + 1.4vw,1.1rem);
  box-shadow:0 1px 0 var(--paper) inset, 0 18px 40px -28px rgba(31,27,21,.85);
}
.plate-frame picture,.plate-frame img{display:block;}
.plate img{
  width:100%;height:auto;
  filter:saturate(.92) contrast(1.02);
}
.plate-caption{
  margin-top:.75rem;
  font-style:italic;
  font-size:.86em;
  letter-spacing:.01em;
  color:var(--ink-soft);
  line-height:1.45;
}
.plate-caption .frontis{
  display:block;
  font-style:normal;
  font-variant:small-caps;
  letter-spacing:.18em;
  font-size:.78em;
  color:var(--ink-faint);
  margin-bottom:.2rem;
}

.titleblock{text-align:left;}
.pubmark{
  font-variant:small-caps;
  letter-spacing:.28em;
  font-size:.72rem;
  color:var(--ink-faint);
  margin:0 0 1.2rem;
}
/* nameplate — Hulki: smaller + gentler than v1 (was Cormorant 500). */
.nameplate{
  font-family:var(--serif-display);
  font-weight:400;
  font-size:clamp(2.1rem,1.55rem + 2.7vw,3.4rem);
  line-height:1.02;
  letter-spacing:.01em;
  margin:0;
  color:var(--ink);
  text-wrap:balance;       /* keep the name from breaking to a lone "Tabak" (v1 used &nbsp;) */
}
.rule-orn{
  border:0;height:1px;background:var(--rule);
  width:clamp(8rem,40%,16rem);margin:1.3rem 0;
  position:relative;
}
.rule-orn::after{
  content:"\2766"; /* FLEURON */
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  background:var(--paper);
  color:var(--oxblood);
  padding:0 .6rem;
  font-size:1rem;line-height:1;
}
/* tagline — 5 lines, BELOW the name (Hulki). v1 colophon styling: roman, ink. */
.tagline{
  margin:0;
  font-size:clamp(1.18rem,1rem + .9vw,1.6rem);
  line-height:1.4;
  color:var(--ink);
  font-weight:400;
}
.tagline__line{display:block;}
/* wayfinding — the "A single page…" sentence, BELOW the tagline (Hulki). */
.wayfinding{
  margin:1.4rem 0 0;
  font-style:italic;
  color:var(--ink-soft);
  font-size:.9em;          /* a notch quieter — it's a caption, not a heading (keeps AA at --ink-soft) */
  line-height:1.5;
  max-width:34em;
  text-wrap:pretty;
}

@media(min-width:46rem){
  .titlepage{grid-template-columns:minmax(0,18rem) 1fr;}
  /* Photo is second in source (name+text open the page on mobile); on desktop
     pull it back to the LEFT column. */
  .plate{align-self:start;order:-1;}
}

/* ---------- CONTENTS HEADING ---------- */
.contents-head{
  text-align:center;
  margin:clamp(2.4rem,1.5rem + 4vw,4rem) 0 clamp(1.6rem,1rem + 3vw,3rem);
}
.contents-head h2{
  font-family:var(--serif-display);
  font-weight:500;
  font-variant:small-caps;
  letter-spacing:.3em;
  font-size:clamp(1.5rem,1.2rem + 1.6vw,2.2rem);
  margin:0;
  color:var(--ink);
}
.contents-head p{
  margin:.6rem 0 0;
  font-style:italic;
  color:var(--ink-soft);
  font-size:.95em;
}

/* ---------- PARTS ---------- */
.part{margin:0 0 clamp(2.2rem,1.4rem + 3vw,3.4rem);}
.part-head{
  display:flex;
  align-items:baseline;
  gap:.85rem;
  margin:0 0 1.1rem;
  padding-bottom:.55rem;
  border-bottom:1.5px solid var(--ink);
}
.part-no{
  font-family:var(--serif-display);
  font-weight:600;
  font-size:clamp(1rem,0.9rem + 0.5vw,1.25rem);
  color:var(--oxblood);
  font-variant:small-caps;
  letter-spacing:.14em;
  white-space:nowrap;
}
.part-title{
  font-family:var(--serif-display);
  font-weight:500;
  font-size:clamp(1.5rem,1.2rem + 1.5vw,2.1rem);
  line-height:1;
  margin:0;
  color:var(--ink);
  flex:1 1 auto;
  text-wrap:pretty;
}
.part-form{
  font-style:italic;
  color:var(--ink-faint);
  font-size:.86rem;
  white-space:nowrap;
}

/* ---------- ENTRY (contents line) ---------- */
.contents{list-style:none;margin:0;padding:0;}
.entry{margin:0 0 1.25rem;padding-bottom:.1rem;}
.entry--featured{margin-bottom:1.7rem;} /* the lede (Vera) earns a little more air */
.entry-line{
  display:flex;
  align-items:baseline;
  gap:.4rem;
  width:100%;
  text-decoration:none;
  color:var(--ink);
}
a.entry-line:hover .entry-title,
a.entry-line:focus-visible .entry-title{
  color:var(--oxblood);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.entry-title{
  font-size:clamp(1.12rem,1rem + 0.6vw,1.4rem);
  font-weight:500;
  line-height:1.2;
  flex:0 1 auto;
  min-width:0;             /* let long titles shrink/wrap rather than crush the leader */
  overflow-wrap:break-word;
  text-wrap:pretty;        /* progressive-enhancement widow control; older engines no-op */
  transition:color .18s ease;
}
.entry-title .form-tag{
  font-style:italic;
  font-size:.74em;
  color:var(--ink-faint);
  font-weight:400;
  margin-left:.45em;
  letter-spacing:.01em;
}
.cyr-frag{font-style:italic;color:var(--ink-faint);font-size:.84em;}
.leader{
  flex:1 1 auto;
  border-bottom:1.5px dotted var(--rule);
  transform:translateY(-.28em);
  min-width:1.5rem;
}
.dest{
  flex:0 0 auto;
  font-variant:small-caps;
  letter-spacing:.07em;
  font-size:.82rem;
  color:var(--ink-soft);
  white-space:nowrap;
}
.dest::after{
  content:"\2009\2197"; /* thin space + NE arrow — link opens off-site */
  color:var(--ink-faint);
}
a.entry-line:hover .dest,
a.entry-line:focus-visible .dest,
a.entry-line:hover .dest::after,
a.entry-line:focus-visible .dest::after{color:var(--oxblood);}
.entry-line--none{cursor:default;}
.entry-line--none .dest{font-style:italic;}
.entry-line--none .dest::after{content:"";}
.entry-blurb{
  margin:.32rem 0 0;
  color:var(--ink-soft);
  font-size:.95em;
  line-height:1.52;
  max-width:46rem;
  text-wrap:pretty;
}
/* Не я — the Vera tattoo fragment, set apart, with v1's roman gloss ("not I") */
.cyr-inline{
  display:block;
  margin:.3rem 0 0;
  font-style:italic;
  color:var(--oxblood);
  font-size:.95em;
}
.cyr-gloss{color:var(--ink-soft);} /* the translation reads quieter than the tattoo */

/* Vera / lead-work emphasis (L-25 heat-dominant; no "Current" badge) */
.entry--featured .entry-title{
  color:var(--oxblood);
  font-size:clamp(1.3rem,1.1rem + 0.9vw,1.7rem);
}
.entry--featured a.entry-line:hover .entry-title,
.entry--featured a.entry-line:focus-visible .entry-title{color:var(--oxblood-deep);}

/* sibling-pair note (bilingual editions; mirror platforms) */
.sibling-note{
  font-style:italic;
  color:var(--ink-faint);
  font-size:.86em;
  margin:.25rem 0 0;
  letter-spacing:.01em;
  max-width:46rem;
}
.sibling-note a{color:var(--oxblood);text-decoration:none;border-bottom:1px solid var(--rule);}
.sibling-note a:hover,.sibling-note a:focus-visible{border-color:var(--oxblood);}

/* ---------- OpenSea series sublist (chapters within a part) ---------- */
.series{
  margin:.7rem 0 0;
  padding:.85rem 0 .2rem;
  border-top:1px solid var(--rule-soft);
}
.series-eyebrow{
  font-variant:small-caps;
  letter-spacing:.16em;
  font-size:.74rem;
  color:var(--ink-faint);
  margin:0 0 .55rem;
}
.series-list{
  list-style:none;margin:0;padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:.3rem .9rem;
}
.series-list li{font-size:.95em;}
.series-list .s-link{
  display:flex;align-items:baseline;gap:.4rem;
  text-decoration:none;color:inherit;
}
.series-list .s-name{flex:0 1 auto;color:var(--ink);}
.series-list .s-link:hover .s-name,
.series-list .s-link:focus-visible .s-name{color:var(--oxblood);}
.series-list .s-leader{
  flex:1 1 auto;border-bottom:1px dotted var(--rule);
  transform:translateY(-.28em);min-width:1rem;
}
.series-list .s-count{
  flex:0 0 auto;color:var(--ink-faint);
  font-variant:tabular-nums;font-size:.92em;white-space:nowrap;
}
.series-list .s-dest{flex:0 0 auto;color:var(--ink-faint);}
.series-list .s-dest::after{content:"\2197";} /* NE arrow — opens off-site */
.series-list .s-link:hover .s-dest,
.series-list .s-link:focus-visible .s-dest{color:var(--oxblood);}
.provenance{
  margin:.7rem 0 0;
  font-style:italic;font-size:.86em;
  color:var(--ink-soft);line-height:1.5;max-width:46rem;
}
@media(min-width:40rem){
  .series-list{grid-template-columns:1fr 1fr;}
}

/* ---------- ABOUT / COLOPHON ---------- */
.about{
  margin-top:clamp(2.5rem,1.6rem + 4vw,4rem);
  padding-top:clamp(1.8rem,1.2rem + 3vw,3rem);
  border-top:1px solid var(--rule);
}
.about-head{
  font-variant:small-caps;
  letter-spacing:.26em;
  font-size:.78rem;
  color:var(--ink-faint);
  margin:0 0 1.2rem;
  text-align:center;
}
.about-body{max-width:42rem;margin:0 auto;}
.about-body > p:first-of-type::first-letter{
  font-family:var(--serif-display);
  font-size:3.4em;
  line-height:.78;
  float:left;
  padding:.05em .12em 0 0;
  color:var(--oxblood);
  font-weight:600;
}
.about-body p{margin:0 0 1.1rem;text-wrap:pretty;}
.about-body p:last-child{margin-bottom:0;}

/* ---------- INDEX (socials, end matter) ---------- */
.endmatter{
  margin-top:clamp(2.5rem,1.6rem + 4vw,3.5rem);
  padding-top:clamp(1.6rem,1rem + 3vw,2.6rem);
  border-top:1px solid var(--rule);
}
.endmatter h2{
  font-family:var(--serif-display);
  font-weight:500;font-variant:small-caps;letter-spacing:.22em;
  font-size:clamp(1.2rem,1rem + 1vw,1.6rem);
  text-align:center;margin:0 0 1.4rem;color:var(--ink);
}
.social-row{
  text-align:center;
  margin:0;
  line-height:2.1;
  font-size:1.05rem;
}
.social-link{
  font-variant:small-caps;
  letter-spacing:.06em;
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px solid var(--rule);
  white-space:nowrap;
}
.social-link:hover,.social-link:focus-visible{color:var(--oxblood);border-color:var(--oxblood);}
.social-sep{color:var(--ink-faint);margin:0 .55em;}

/* ---------- FOOTER (base.njk .site-footer) ---------- */
.site-footer{
  max-width:var(--measure);
  margin:clamp(2.2rem,1.4rem + 3vw,3rem) auto 0;
  padding:1.25rem clamp(1.25rem,0.8rem + 4vw,4rem) 3rem;
  text-align:center;
}
.colophon{
  margin:0;
  font-style:italic;
  color:var(--ink-faint);
  font-size:.88em;
  line-height:1.6;
}
.imprint{
  margin:.5rem 0 0;
  color:var(--ink-faint);
  font-size:.82em;
  letter-spacing:.04em;
}

/* ---------- MOBILE: hide leaders, stack destination ---------- */
@media(max-width:37.5rem){
  .entry-line{flex-wrap:wrap;}
  .leader{display:none;}
  .entry-title{flex:1 1 100%;}
  .dest{flex:0 0 auto;margin-top:.15rem;font-size:.78rem;}
  .series-list .s-leader{display:none;}
  .series-list .s-link{justify-content:space-between;}
  .series-list li{justify-content:space-between;}
  /* the italic part-form descriptor is nowrap on desktop; let it drop to its
     own line on narrow screens instead of overflowing the part-head flex row */
  .part-head{flex-wrap:wrap;}
  .part-form{flex-basis:100%;white-space:normal;}
}
