/*
Theme Name: Field Notes
Theme URI: https://fieldnotes.mx
Description: Field Notes from a Very Cool World — stories, interviews, and more from Stephen Casimiro. Subsumes Wild Words, Wild Books, and Wild Journals.
Version: 1.8.17
Author: Stephen Casimiro
Author URI: https://fieldnotes.mx
Text Domain: field-notes
*/

/* ════════════════════════════════════
   RESET & VARIABLES
   ════════════════════════════════════ */
:root {
  /* Shared */
  --bg: #F4EEE1;
  --bg-warm: #ECE4D2;
  --text: #272320;
  --text-light: #5C544A;
  --text-faint: #8C8273;
  --text-lighter: #A89C88;
  --dark: #1C1A17;
  --rule: #D2C7B0;
  --cream: #F4EEE1;
  /* Field Notes additions */
  --ink: #272320;
  --panel: #E7DEC9;
  --accent: #9C5C2E;
  --accent-deep: #7A4521;
  --accent-soft: rgba(156,92,46,0.12);
  --serif: 'Literata', Georgia, serif;
  --display: 'Fraunces', 'Literata', Georgia, serif;
  --sans: 'DM Sans', system-ui, sans-serif;
  --mono: 'DM Mono', ui-monospace, monospace;
  --jt: url("data:image/png;base64,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");
  /* Words palette */
  --yellow: #9C5C2E;
  --yellow-soft: rgba(156,92,46,0.15);
  /* Books palette */
  --green: #9C5C2E;
  --green-light: #B0703A;
  --green-dark: #7A4521;
  --green-hover: rgba(156,92,46,0.12);
  --green-faint: rgba(156,92,46,0.07);
  --green-soft: rgba(156,92,46,0.12);
  /* Journals palette */
  --lichen: #9C5C2E;
  --lichen-soft: rgba(156,92,46,0.12);
}

/* Section accent overrides */
.section-words { --accent: var(--yellow); --accent-soft: var(--yellow-soft); }
.section-books { --accent: var(--green); --accent-soft: var(--green-soft); }
.section-journals { --accent: var(--lichen); --accent-soft: var(--lichen-soft); }

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

body {
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  font-family: 'Literata', Georgia, serif;
}

a { color: inherit; text-decoration: none; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ════════════════════════════════════
   NAV
   ════════════════════════════════════ */
.site-nav {
  background: var(--bg);
  padding: 0 32px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid var(--rule);
}
.nav-logo { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.nav-bug {
  width: 24px; height: 30px; flex: none;
  background: var(--ink);
  -webkit-mask: var(--jt) center/contain no-repeat;
          mask: var(--jt) center/contain no-repeat;
}
.nav-wordmark { font-family: var(--display); color: var(--ink); font-size: 20px; font-weight: 500; line-height: 1; }
.nav-wordmark span { display: block; font-family: var(--sans); font-size: 9.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--text-faint); margin-top: 4px; font-weight: 500; }
.nav-accent { color: var(--accent); }
.nav-right { display: flex; align-items: center; gap: 24px; }
.nav-link {
  font-family: var(--sans); color: var(--text-light);
  font-size: 12px; font-weight: 500; letter-spacing: .09em;
  text-transform: uppercase; text-decoration: none; transition: color .2s;
}
.nav-link:hover { color: var(--ink); }
.nav-join {
  font-family: var(--sans); font-size: 12px; font-weight: 500; letter-spacing: .09em;
  text-transform: uppercase; color: #fff; background: var(--accent);
  padding: 9px 17px; border-radius: 3px; text-decoration: none; transition: background .2s;
}
.nav-join:hover { background: var(--accent-deep); }
.nav-search-btn {
  background: none; border: 1px solid var(--rule); color: var(--text-light);
  width: 32px; height: 32px; border-radius: 50%; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: border-color .2s, color .2s; text-decoration: none;
}
.nav-search-btn:hover { border-color: var(--accent); color: var(--accent); }
.nav-search-btn svg { width: 14px; height: 14px; }
@media (max-width: 840px) { .nav-link:not(.nav-join) { display: none; } }

/* ════════════════════════════════════
   FOOTER
   ════════════════════════════════════ */
.site-footer { background: var(--dark); padding: 88px 24px; text-align: center; }
.footer-bug {
  width: 34px; height: 42px; margin: 0 auto 14px;
  background: var(--accent);
  -webkit-mask: var(--jt) center/contain no-repeat;
          mask: var(--jt) center/contain no-repeat;
}
.footer-bug-link { text-decoration: none; display: inline-block; transition: opacity 0.2s; }
.footer-bug-link:hover { opacity: 0.7; }
.footer-links { font-family: var(--sans); font-size: 12px; color: rgba(244,238,225,0.3); }
.footer-links a { color: rgba(244,238,225,0.5); text-decoration: none; transition: color 0.15s; }
.footer-links a:hover { color: var(--bg); }
.footer-siblings { font-family: var(--sans); font-size: 12px; color: rgba(244,238,225,0.3); margin-top: 12px; }
.footer-siblings a { color: rgba(244,238,225,0.4); text-decoration: none; transition: color 0.15s; }
.footer-siblings a:hover { color: var(--bg); }

/* ════════════════════════════════════
   SHARED COMPONENTS
   ════════════════════════════════════ */
.random-btn {
  display: block;
  margin: 0 auto 64px;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text);
  background: transparent;
  border: 1.5px solid var(--rule);
  border-radius: 6px;
  padding: 12px 28px;
  cursor: pointer;
  transition: all 0.25s;
  text-decoration: none;
  text-align: center;
}
.random-btn:hover {
  border-color: var(--accent);
  background: var(--accent-soft);
}

/* ════════════════════════════════════
   WILD WORDS: HOMEPAGE
   ════════════════════════════════════ */
.manifesto {
  max-width: 640px;
  margin: 0 auto;
  padding: 80px 24px 0;
  text-align: center;
}
.manifesto-line {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 26px;
  line-height: 1.3;
  color: var(--text);
  margin-bottom: 0;
  font-weight: normal;
}
.manifesto-line span { color: var(--yellow); }
@media (min-width: 480px) { .manifesto-line { font-size: 30px; } }

.featured-word {
  max-width: 640px;
  margin: 0 auto;
  padding: 120px 24px 120px;
  text-align: center;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.featured-word-link { text-decoration: none; display: block; transition: opacity 0.2s; }
.featured-word-link:hover { opacity: 0.8; }
.featured-headword {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 72px;
  line-height: 1.0;
  color: var(--text);
  margin-bottom: 12px;
}
@media (min-width: 480px) { .featured-headword { font-size: 96px; } }
.featured-pronunciation {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 16px;
  color: var(--text-faint);
  letter-spacing: 0.06em;
  margin-bottom: 24px;
}
.featured-definition {
  font-family: 'Literata', Georgia, serif;
  font-size: 18px;
  line-height: 1.7;
  color: var(--text-light);
  max-width: 480px;
  margin: 0 auto 20px;
}
.featured-readmore {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--yellow);
}
.featured-loading {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 14px;
  color: var(--text-faint);
  padding: 40px 0;
}

.home-buttons { text-align: center; padding: 56px 24px 0; }
.home-buttons .random-btn { display: inline-block; margin: 0 6px; }

.home-search { max-width: 480px; margin: 0 auto; padding: 28px 24px 80px; }
.home-search input[type="text"] {
  width: 100%;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 15px;
  padding: 14px 18px;
  background: var(--bg-warm);
  border: 1.5px solid var(--rule);
  border-radius: 6px;
  color: var(--text);
  outline: none;
  transition: border-color 0.2s;
  text-align: center;
}
.home-search input[type="text"]:focus { border-color: var(--yellow); }
.home-search input[type="text"]::placeholder { color: var(--text-faint); }

/* ════════════════════════════════════
   WILD WORDS: SINGLE ENTRY
   ════════════════════════════════════ */
.post {
  max-width: 640px;
  margin: 0 auto;
  padding: 0 24px;
}
.headword-block { padding: 90px 0 0; }
.headword {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 56px;
  line-height: 1.0;
  color: var(--text);
  margin-bottom: 12px;
}
@media (min-width: 480px) { .headword { font-size: 72px; } }
.pronunciation {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 15px;
  color: var(--text-faint);
  letter-spacing: 0.06em;
  margin-top: 16px;
  margin-bottom: 0;
}
.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: 0;
  margin-bottom: 48px;
}
.tags span, .tags a {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 4px 10px;
  border-radius: 3px;
  background: var(--yellow-soft);
  color: var(--text-light);
  text-decoration: none;
  transition: background 0.2s;
}
.tags a:hover { background: rgba(184,155,47,0.28); }

.accent-rule {
  width: 48px;
  height: 3px;
  background: var(--yellow);
  border: none;
  border-radius: 2px;
  margin: 36px 0 48px;
}

.definition {
  font-family: 'Literata', Georgia, serif;
  font-size: 18px;
  line-height: 1.8;
  color: var(--text);
  margin-bottom: 56px;
}
@media (min-width: 480px) { .definition { font-size: 19px; } }
.definition em { font-style: italic; }

.etym-label, .notes-label {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 12px;
}
.etym-label { color: var(--yellow); }
.notes-label { color: var(--text-faint); }

.etymology {
  font-family: 'Literata', Georgia, serif;
  font-size: 16px;
  line-height: 1.75;
  color: var(--text-light);
  padding-left: 18px;
  border-left: 2.5px solid var(--yellow);
  margin-bottom: 56px;
}
.etymology em { font-style: italic; }

.notes {
  font-family: 'Literata', Georgia, serif;
  font-size: 16px;
  font-style: italic;
  line-height: 1.75;
  color: var(--text-light);
  margin-bottom: 56px;
}

.reading-label {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--green);
  margin-bottom: 12px;
}
.reading {
  font-family: 'Literata', Georgia, serif;
  font-size: 15px;
  line-height: 1.75;
  color: var(--text-light);
  margin-bottom: 56px;
}

.definition a, .etymology a, .notes a, .reading a {
  color: var(--yellow);
  text-decoration: underline;
  text-decoration-color: rgba(184,155,47,0.4);
  text-underline-offset: 2px;
  transition: text-decoration-color 0.2s;
}
.definition a:hover, .etymology a:hover, .notes a:hover, .reading a:hover {
  text-decoration-color: var(--yellow);
}
a.book-autolink {
  color: var(--green);
  text-decoration-color: rgba(107,140,42,0.4);
}
a.book-autolink:hover {
  text-decoration-color: var(--green);
}
a.word-autolink {
  color: var(--yellow);
  text-decoration: underline;
  text-decoration-color: rgba(184,155,47,0.4);
  text-underline-offset: 2px;
}
a.word-autolink:hover {
  text-decoration-color: var(--yellow);
}

/* Words end bug */
.section-words .end-bug {
  font-size: 94px;
  color: var(--yellow);
  letter-spacing: 0;
  line-height: 1;
}
.section-words .bottom-rule { margin: 0 0 40px; }

/* Word nav */
.word-nav {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 56px;
}
.word-nav a { text-decoration: none; transition: opacity 0.2s; }
.word-nav a:hover { opacity: 0.7; }
.word-nav .label {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--text-faint);
  display: block;
  margin-bottom: 4px;
}
.word-nav .adjacent-word {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 22px;
  color: var(--text);
  display: block;
}
.word-nav .next { text-align: right; }

/* Letter navigation */
.letter-nav {
  max-width: 640px;
  margin: 0 auto;
  padding: 0 24px 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.letter-nav a {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  text-decoration: none;
  padding: 2px 4px;
}
.letter-nav a:hover { color: var(--yellow); }

.letter-group { margin-bottom: 16px; }
.letter-heading {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 28px;
  color: var(--text);
  border-bottom: 2px solid var(--yellow);
  padding-bottom: 4px;
  margin-bottom: 8px;
  display: inline-block;
}

/* Related books on word page */
.word-books-section { padding: 32px 0; border-top: 1px solid var(--rule); }
.word-books-label {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-faint);
  margin-bottom: 16px;
}
.word-books-grid { display: flex; gap: 16px; flex-wrap: wrap; }
.word-book-item { text-decoration: none; width: 100px; text-align: center; }
.word-book-item img { width: 100px; height: auto; border-radius: 2px; box-shadow: 2px 3px 10px rgba(0,0,0,0.12); margin-bottom: 8px; }
.word-book-title { font-family: 'Fraunces', serif; font-size: 12px; color: var(--text); line-height: 1.2; margin-bottom: 2px; }
.word-book-author { font-family: 'DM Sans', sans-serif; font-size: 11px; color: var(--text-faint); }

/* ════════════════════════════════════
   WILD WORDS: ARCHIVES
   ════════════════════════════════════ */
.archive-header {
  max-width: 640px;
  margin: 0 auto;
  padding: 56px 24px 16px;
}
.archive-header h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 36px;
  line-height: 1.1;
  color: var(--text);
  margin-bottom: 8px;
}
.archive-header h1 span { color: var(--accent); }
.archive-header p {
  font-family: 'Literata', Georgia, serif;
  font-size: 17px;
  color: var(--text-light);
  line-height: 1.5;
}

.search-form {
  max-width: 640px;
  margin: 0 auto;
  padding: 0 24px 24px;
}
.search-form input[type="text"] {
  width: 100%;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 15px;
  padding: 12px 16px;
  background: var(--bg-warm);
  border: 1.5px solid var(--rule);
  border-radius: 6px;
  color: var(--text);
  outline: none;
  transition: border-color 0.2s;
}
.search-form input[type="text"]:focus { border-color: var(--accent); }
.search-form input[type="text"]::placeholder { color: var(--text-faint); }

.word-list {
  max-width: 640px;
  margin: 0 auto;
  padding: 0 24px 48px;
}
.word-item {
  padding: 20px 0;
  border-bottom: 1px solid var(--rule);
}
.word-item:first-child { border-top: 1px solid var(--rule); }
.word-item a { text-decoration: none; display: block; }
.word-title {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 22px;
  color: var(--text);
  margin-bottom: 6px;
}
.word-preview {
  font-family: 'Literata', Georgia, serif;
  font-size: 15px;
  color: var(--text-light);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Single Word */
.word-entry {
  max-width: 640px;
  margin: 0 auto;
  padding: 56px 24px 0;
}
.word-entry h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 48px;
  line-height: 1.05;
  color: var(--text);
  margin-bottom: 8px;
}
.word-pronunciation {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 15px;
  color: var(--text-faint);
  margin-bottom: 28px;
}
.word-definition {
  font-family: 'Literata', Georgia, serif;
  font-size: 17px;
  line-height: 1.8;
  color: var(--text);
  margin-bottom: 32px;
}
.word-section-label {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-faint);
  margin-bottom: 8px;
  padding-top: 16px;
  border-top: 2px solid var(--yellow);
  display: inline-block;
}
.word-section-text {
  font-family: 'Literata', Georgia, serif;
  font-size: 15px;
  color: var(--text-light);
  line-height: 1.7;
  margin-bottom: 24px;
}
.word-tags { padding: 20px 0 32px; display: flex; flex-wrap: wrap; gap: 8px; }
.word-tag {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-light);
  border: 1px solid var(--rule);
  padding: 4px 10px;
  border-radius: 3px;
  text-decoration: none;
  transition: all 0.2s;
}
.word-tag:hover { border-color: var(--yellow); background: var(--yellow-soft); }
.word-nav {
  display: flex;
  justify-content: space-between;
  padding: 32px 0;
  border-top: 1px solid var(--rule);
}
.word-nav a { text-decoration: none; }
.word-nav .label {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-faint);
  display: block;
  margin-bottom: 2px;
}
.word-nav .adjacent-word {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 18px;
  color: var(--text);
}
.word-nav .next { text-align: right; }

/* Related books on word page */
.word-books-section { padding: 32px 0; border-top: 1px solid var(--rule); }
.word-books-label {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-faint);
  margin-bottom: 16px;
}
.word-books-grid { display: flex; gap: 16px; flex-wrap: wrap; }
.word-book-item { text-decoration: none; width: 100px; text-align: center; }
.word-book-item img { width: 100px; height: auto; border-radius: 2px; box-shadow: 2px 3px 10px rgba(0,0,0,0.12); margin-bottom: 8px; }
.word-book-title { font-family: 'Fraunces', serif; font-size: 12px; color: var(--text); line-height: 1.2; margin-bottom: 2px; }
.word-book-author { font-family: 'DM Sans', sans-serif; font-size: 11px; color: var(--text-faint); }

/* ════════════════════════════════════
   WILD BOOKS: HOMEPAGE
   ════════════════════════════════════ */
.hero {
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 60px 40px 40px;
  position: relative;
}
.hero-label {
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-lighter);
  margin-bottom: 40px;
  opacity: 0;
  animation: fadeUp 0.6s ease 0.2s forwards;
}
.hero-compact {
  min-height: 50vh;
  padding-top: 40px;
  padding-bottom: 24px;
}
.sentence {
  text-align: center;
  max-width: 820px;
  line-height: 1.6;
  opacity: 0;
  animation: fadeUp 0.8s ease 0.4s forwards;
}
.s-text {
  font-family: 'Fraunces', serif;
  font-size: clamp(22px, 2.8vw, 32px);
  color: var(--text);
}
.s-dd-wrap {
  display: inline-block;
  position: relative;
  vertical-align: baseline;
}
.s-dd {
  font-family: 'Fraunces', serif;
  font-size: clamp(18px, 2.2vw, 24px);
  color: var(--green);
  background: none;
  border: none;
  border-bottom: 2px solid var(--green);
  padding: 0 28px 2px 4px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  line-height: 1.6;
  transition: border-color 0.2s;
  width: auto;
  max-width: 90vw;
  text-overflow: clip;
  overflow: visible;
}
.s-dd:hover { border-bottom-color: var(--green-dark); }
.s-dd option {
  font-family: 'Literata', Georgia, serif;
  font-size: 16px;
  color: var(--text);
  background: var(--cream);
}
.dd-arrow {
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: var(--green);
  font-size: clamp(9px, 1.2vw, 12px);
}
.hero-count {
  margin-top: 32px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: var(--text-light);
  opacity: 0;
  animation: fadeUp 0.6s ease 0.6s forwards;
}
.hero-count strong {
  color: var(--green);
  font-weight: 700;
}

/* Discover Shelf */
.discover {
  padding: 40px 0 40px;
  overflow: hidden;
  opacity: 0;
  animation: fadeUp 0.6s ease 0.8s forwards;
}
.discover-label {
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-lighter);
  text-align: center;
  margin-bottom: 28px;
}
.shelf {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 0 48px;
  flex-wrap: wrap;
  max-width: 1100px;
  margin: 0 auto;
}
.shelf-book {
  display: block;
  width: 140px;
  flex-shrink: 0;
  position: relative;
  transition: transform 0.2s;
}
.shelf-book:hover { transform: translateY(-4px); }
.shelf-book img { width: 100%; height: auto; border-radius: 2px; box-shadow: 2px 3px 10px rgba(0,0,0,0.12); }
.shelf-book-info { display: none; }

.section-rule { max-width: 740px; margin: 48px auto 0; border: none; border-top: 1px solid var(--rule); }

/* Browse Themes & Places */
.themes, .places {
  max-width: 740px;
  margin: 0 auto;
  padding: 40px 40px 16px;
  text-align: center;
}
.themes-label, .places-label {
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-lighter);
  margin-bottom: 20px;
}
.themes-list, .places-list { line-height: 2.4; }
.theme-link {
  font-family: 'Fraunces', serif;
  font-size: 26px;
  color: var(--text);
  text-decoration: none;
  transition: color 0.15s;
}
.theme-link:hover { color: var(--green); }
.place-link {
  font-family: 'Literata', serif;
  font-size: 20px;
  color: var(--text-lighter);
  text-decoration: none;
  transition: color 0.15s;
  font-style: italic;
}
.place-link:hover { color: var(--text); }
.theme-sep { padding: 0 10px; color: var(--rule); font-size: 14px; }

/* Results */
.results-section { max-width: 860px; margin: 0 auto; padding: 0 40px; }
.results-header { padding: 16px 0 8px; border-bottom: 1px solid var(--rule); margin-bottom: 16px; }
.results-title-bar { display: flex; justify-content: space-between; align-items: baseline; }
.results-title { font-family: 'Fraunces', serif; font-size: 24px; color: var(--text); }
.results-clear { font-family: 'DM Sans', sans-serif; font-size: 13px; color: var(--text-faint); text-decoration: none; }
.results-clear:hover { color: var(--text); }
.results-count-label { font-family: 'DM Sans', sans-serif; font-size: 13px; color: var(--text-faint); }

.no-results { padding: 48px 0; text-align: center; }
.no-results-text { font-family: 'Fraunces', serif; font-size: 22px; color: var(--text); margin-bottom: 8px; }
.no-results-sub { font-family: 'Literata', serif; font-size: 15px; color: var(--text-light); font-style: italic; }

/* Book List (results + taxonomy archives) */
.book-list {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 40px 48px;
}
.book-list-item { display: flex; gap: 32px; padding: 32px 0; border-bottom: 1px solid var(--rule); align-items: center; }
.book-list-cover { flex-shrink: 0; width: 160px; }
.book-list-cover img { width: 160px; height: auto; border-radius: 2px; box-shadow: 2px 4px 12px rgba(0,0,0,0.15); }
.book-list-info { flex: 1; }
.book-list-title { font-family: 'Fraunces', serif; font-size: 20px; color: var(--text); text-decoration: none; display: block; margin-bottom: 2px; }
.book-list-author { font-family: 'Literata', serif; font-size: 15px; color: var(--text-light); font-style: italic; margin-bottom: 0; }
.book-list-desc { font-family: 'Literata', serif; font-size: 14px; color: var(--text-light); line-height: 1.6; margin-top: 20px; margin-bottom: 20px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.book-list-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 0; margin-bottom: 6px; }
.result-tag { font-family: 'DM Sans', sans-serif; font-size: 11px; font-weight: 500; color: var(--text-light); border: 1px solid var(--rule); padding: 2px 8px; border-radius: 3px; text-transform: uppercase; letter-spacing: 0.04em; }
.result-bookshop { font-family: 'DM Sans', sans-serif; font-size: 12px; font-weight: 600; color: var(--green); text-decoration: none; }
.result-bookshop:hover { color: var(--green-hover); }

/* ════════════════════════════════════
   WILD BOOKS: SINGLE BOOK
   ════════════════════════════════════ */
.breadcrumb {
  max-width: 860px; margin: 0 auto; padding: 16px 40px;
  font-family: 'DM Sans', sans-serif; font-size: 13px; color: var(--text-faint);
}
.breadcrumb a { color: var(--green); text-decoration: none; }
.breadcrumb span { padding: 0 6px; color: var(--text-lighter); }

.book-header {
  max-width: 860px; margin: 0 auto; padding: 64px 40px 32px 16px;
  display: flex; gap: 40px; align-items: flex-start;
  opacity: 0; animation: fadeUp 0.5s ease 0.15s forwards;
}
.book-cover { position: relative; flex-shrink: 0; }
.book-cover img {
  width: 240px; height: auto; display: block;
  box-shadow: 4px 6px 20px rgba(0,0,0,0.18), 0 2px 6px rgba(0,0,0,0.1);
  border-radius: 2px;
}
.book-info { flex: 1; padding-top: 0; }
.book-title { font-family: 'Fraunces', serif; font-size: 38px; line-height: 1.15; color: var(--text); margin-bottom: 8px; }
.book-author { font-family: 'Literata', serif; font-size: 20px; font-style: italic; color: var(--text-light); margin-bottom: 28px; }
.book-author a { color: var(--text-light); text-decoration: none; }
.book-author a:hover { color: var(--green); }
.book-description { font-family: 'Literata', serif; font-size: 16px; line-height: 1.7; color: var(--text-light); margin-bottom: 24px; }
.book-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.book-tag {
  font-family: 'DM Sans', sans-serif; font-size: 12px; font-weight: 500;
  color: var(--text-light); border: 1px solid var(--rule); padding: 4px 12px;
  border-radius: 3px; text-decoration: none; text-transform: uppercase;
  letter-spacing: 0.04em; transition: all 0.2s;
}
.book-tag:hover { border-color: var(--green); background: var(--green-soft); }
.book-cta {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 600;
  color: var(--cream); background: var(--green);
  padding: 14px 28px; border-radius: 6px; text-decoration: none;
  text-transform: uppercase; letter-spacing: 0.06em; transition: background 0.2s;
}
.book-cta:hover { background: var(--green-hover); }
.book-cta svg { width: 20px; height: 20px; }

/* Meta Bar */
.book-meta-section { max-width: 860px; margin: 0 auto; padding: 72px 40px 0; opacity: 0; animation: fadeUp 0.5s ease 0.35s forwards; }
.book-meta-bar { display: flex; justify-content: center; gap: 40px; padding: 24px 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.book-meta-item { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.book-meta-label { font-family: 'DM Sans', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--text-lighter); }
.book-meta-value { font-family: 'Literata', serif; font-size: 15px; color: var(--text); }
.book-meta-value a { color: var(--text); text-decoration: none; }
.book-meta-value a:hover { color: var(--green); }

/* Key Quotes */
.book-quotes-section { max-width: 860px; margin: 0 auto; padding: 48px 40px 0; }
.book-quotes-header { font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--text-lighter); margin-bottom: 32px; text-align: center; }
.book-quotes-inner { max-width: 600px; margin: 0 auto; }
.book-quote { margin: 0 0 32px 0; padding: 0 0 32px 0; border-bottom: 1px solid var(--rule); }
.book-quote:last-child { border-bottom: none; padding-bottom: 0; }
.book-quote-text { font-family: 'Literata', serif; font-size: 18px; line-height: 1.75; color: var(--text); font-style: italic; margin: 0 0 10px 0; }
.book-quote-ref { font-family: 'DM Sans', sans-serif; font-size: 12px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-lighter); font-style: normal; }

/* Wild Words on book page */
.wild-words-section { max-width: 860px; margin: 0 auto; padding: 80px 40px 0; }
.section-label { font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--text-lighter); margin-bottom: 32px; text-align: center; }
.wild-words-list { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.wild-word-link {
  font-family: 'Fraunces', serif; font-size: 18px;
  color: var(--text); text-decoration: none; padding: 8px 20px;
  border: 1px solid var(--rule); border-radius: 4px; transition: all 0.2s;
}
.wild-word-link:hover { border-color: var(--yellow); background: var(--yellow-soft); }
.wild-word-pron { font-family: 'DM Sans', sans-serif; font-size: 12px; color: var(--text-faint); margin-left: 8px; }

/* Related Books */
.related-section { max-width: 860px; margin: 0 auto; padding: 80px 40px 0; }
.related-grid { display: flex; gap: 24px; justify-content: center; flex-wrap: wrap; }
.related-book { width: 140px; text-align: center; text-decoration: none; transition: transform 0.2s; }
.related-book:hover { transform: translateY(-4px); }
.related-book img { width: 140px; height: auto; border-radius: 2px; box-shadow: 2px 3px 10px rgba(0,0,0,0.12); margin-bottom: 10px; }
.related-book-title { font-family: 'Fraunces', serif; font-size: 14px; color: var(--text); line-height: 1.2; margin-bottom: 4px; }
.related-book-author { font-family: 'DM Sans', sans-serif; font-size: 12px; color: var(--text-faint); }

.end-bug { text-align: center; font-family: 'DM Sans', sans-serif; font-weight: 700; font-size: 24px; letter-spacing: 5px; color: var(--green); padding: 80px 0 16px; }
.bottom-rule { border: none; border-top: 1px solid var(--rule); }

/* ════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════ */
@media (max-width: 700px) {
  .book-header { flex-direction: column; align-items: center; text-align: center; padding: 24px 24px 32px; }
  .book-cover img { width: 180px; }
  .book-tags { justify-content: center; }
  .book-meta-bar { flex-wrap: wrap; gap: 20px; }
  .hero { padding: 40px 24px 32px; }
  .s-text, .s-dd { font-size: 24px; }
  .shelf-book { width: 110px; }
  .themes, .places { padding: 32px 24px 16px; }
  .theme-link { font-size: 20px; }
  .place-link { font-size: 17px; }
  .results-section { padding: 0 24px; }
}

/* ════════════════════════════════════
   WILD JOURNALS: PALETTE
   ════════════════════════════════════ */
/* Note: --lichen and --lichen-soft are defined in :root above */

/* ════════════════════════════════════
   WILD JOURNALS: HOMEPAGE
   ════════════════════════════════════ */
.journal-landing {
  max-width: 1100px;
  margin: 0 auto;
  min-height: calc(100vh - 52px);
}
.journal-hero {
  text-align: center;
  padding: 4rem 2rem 0;
}
.journal-tagline {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 26px;
  font-weight: normal;
  line-height: 1.3;
}
.journal-tagline-dark { color: var(--text); }
.journal-tagline-accent { color: var(--lichen); }
@media (min-width: 480px) { .journal-tagline { font-size: 30px; } }

.journal-featured {
  padding: 2.5rem 1.5rem 0;
  text-align: center;
}
.journal-featured img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 3px;
}
.journal-featured-caption {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 13px;
  color: var(--text-faint);
  text-align: center;
  padding: 14px 0 0;
}
.journal-featured-caption strong { color: var(--text-light); font-weight: 500; }
.journal-featured-caption em {
  font-family: 'Literata', Georgia, serif;
  font-style: italic;
}
.journal-featured-loading {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 14px;
  color: var(--text-faint);
  padding: 120px 0;
  text-align: center;
}

.journal-home-buttons { text-align: center; padding: 2.5rem 2rem 5rem; }
.journal-home-buttons .random-btn { display: inline-block; margin: 0 6px; }

.journal-home-subnav {
  text-align: center;
  padding: 1.5rem 2rem 0;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 13px;
  color: var(--text-lighter);
}
.journal-home-subnav a {
  color: var(--text-lighter);
  text-decoration: none;
  transition: color 0.2s;
}
.journal-home-subnav a:hover { color: var(--text); }

/* ════════════════════════════════════
   WILD JOURNALS: SINGLE JOURNAL
   ════════════════════════════════════ */
.journal-header {
  max-width: 800px;
  margin: 0 auto;
  padding: 80px 24px 0;
  text-align: center;
}
.journal-title {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 42px;
  font-weight: 400;
  color: var(--text);
  line-height: 1.15;
  margin-bottom: 12px;
}
.journal-single-meta {
  font-family: 'Literata', Georgia, serif;
  font-size: 17px;
  font-style: italic;
  color: var(--text-faint);
  margin-bottom: 8px;
}
.journal-single-meta a {
  color: var(--text-light);
  text-decoration: none;
  font-style: normal;
}
.journal-single-meta a:hover { color: var(--lichen); }
.journal-themes-list {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 16px 0 0;
}
.journal-theme-tag {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 4px 10px;
  border-radius: 3px;
  background: var(--lichen-soft);
  color: var(--text-light);
  text-decoration: none;
  transition: background 0.2s;
}
.journal-theme-tag:hover { background: rgba(196,188,0,0.24); }

.journal-desc {
  max-width: 640px;
  margin: 0 auto;
  padding: 32px 24px 0;
  font-family: 'Literata', Georgia, serif;
  font-size: 16px;
  line-height: 1.75;
  color: var(--text-light);
  text-align: center;
}

.section-journals .accent-rule { background: var(--lichen); margin: 48px auto 56px; }

.journal-gallery {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.journal-gallery-image { margin-bottom: 2.5rem; }
.journal-gallery-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 3px;
}
.journal-gallery-caption {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 12px;
  color: var(--text-lighter);
  text-align: center;
  padding: 10px 0 0;
  font-style: italic;
}

/* Contributor card */
.contributor-card {
  max-width: 640px;
  margin: 0 auto;
  padding: 56px 24px 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 16px;
  border-top: 1px solid var(--rule);
}
.contributor-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.contributor-info { flex: 1; text-align: center; }
.contributor-name {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 20px;
  color: var(--text);
  margin-bottom: 4px;
}
.contributor-name a { color: var(--text); text-decoration: none; }
.contributor-name a:hover { color: var(--lichen); }
.contributor-bio {
  font-family: 'Literata', Georgia, serif;
  font-size: 14px;
  line-height: 1.65;
  color: var(--text-light);
  margin-bottom: 8px;
}
.contributor-links a {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: var(--lichen);
  text-decoration: none;
  margin-right: 12px;
}
.contributor-links a:hover { text-decoration: underline; }

/* Journal nav */
.journal-nav {
  max-width: 640px;
  margin: 40px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 40px 24px 56px;
  border-top: 1px solid var(--rule);
}
.journal-nav a { text-decoration: none; transition: opacity 0.2s; }
.journal-nav a:hover { opacity: 0.7; }
.journal-nav .label {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 10px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--text-faint);
  display: block;
  margin-bottom: 4px;
}
.journal-nav .adjacent-journal {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 18px;
  color: var(--text);
  display: block;
}
.journal-nav .next { text-align: right; }

/* Journals end bug + bottom rule */
.section-journals .end-bug {
  font-size: 94px;
  color: var(--lichen);
  letter-spacing: 0;
  line-height: 1;
}
.section-journals .bottom-rule { margin: 0 0 40px; }

/* ════════════════════════════════════
   WILD JOURNALS: ARCHIVE
   ════════════════════════════════════ */
.journal-archive-header {
  max-width: 800px;
  margin: 0 auto;
  padding: 56px 24px 32px;
  text-align: center;
}
.journal-archive-header h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 36px;
  color: var(--text);
  margin-bottom: 8px;
}
.journal-archive-header h1 span { color: var(--lichen); }
.journal-archive-header p {
  font-family: 'Literata', Georgia, serif;
  font-size: 15px;
  color: var(--text-light);
}

.journal-grid {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px 48px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 32px;
}
.journal-card {
  text-decoration: none;
  display: block;
  transition: transform 0.2s;
}
.journal-card:hover { transform: translateY(-3px); }
.journal-card img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 3px;
  margin-bottom: 12px;
}
.journal-card-title {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 18px;
  color: var(--text);
  margin-bottom: 4px;
}
.journal-card-meta {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 13px;
  color: var(--text-faint);
}

/* ════════════════════════════════════
   WILD JOURNALS: CONTRIBUTOR PAGE
   ════════════════════════════════════ */
.contributor-header {
  max-width: 640px;
  margin: 0 auto;
  padding: 56px 24px 32px;
  text-align: center;
}
.contributor-header-photo {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 20px;
  display: block;
}
.contributor-header h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 36px;
  color: var(--text);
  margin-bottom: 12px;
}
.contributor-header-bio {
  font-family: 'Literata', Georgia, serif;
  font-size: 16px;
  line-height: 1.75;
  color: var(--text-light);
  margin-bottom: 16px;
}
.contributor-header-links a {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: var(--lichen);
  text-decoration: none;
  margin: 0 8px;
}
.contributor-header-links a:hover { text-decoration: underline; }

@media (max-width: 700px) {
  .journal-title { font-size: 32px; }
  .journal-grid { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════
   PEOPLE I'VE MET (PIM) — single entry
   Mirrors field-notes-pim-entry-v0.8.html, with three hero
   orientation variants driven by .lead-landscape / .lead-square /
   .lead-vertical classes on the lead wrapper. The .pim-entry-inner
   block keeps the text column at 720px; the lead can break out of
   that column for landscape (full bleed) but stays within it for
   square (column width) and vertical (narrower, centered).
   ════════════════════════════════════ */

.pim-entry { display: block; }
.pim-entry-inner { max-width: 720px; margin: 0 auto; padding: 0 28px; }

.pim-breadcrumb {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-faint);
  text-decoration: none;
  display: inline-block;
  margin: 30px 0 0;
}
.pim-breadcrumb:hover { color: var(--accent-deep); }

/* Entry header block */
.pim-entry-head { padding: 34px 0 18px; }
.pim-entry-kicker {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--accent-deep);
  margin-bottom: 16px;
}
.pim-entry-title {
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(38px, 6vw, 62px);
  line-height: 1.02;
  letter-spacing: -.015em;
  color: var(--ink);
}
.pim-entry-sub {
  font-family: var(--display);
  font-weight: 300;
  font-style: italic;
  font-size: clamp(19px, 2.4vw, 24px);
  line-height: 1.32;
  color: var(--text-light);
  margin-top: 16px;
  max-width: 30ch;
}
.pim-entry-meta {
  font-family: var(--sans);
  font-size: 12.5px;
  letter-spacing: .04em;
  color: var(--text-faint);
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--rule);
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}
.pim-entry-meta b { color: var(--text-light); font-weight: 500; }

/* Lead image — orientation variants */
.lead { margin: 30px auto 8px; }
.lead img { width: 100%; border-radius: 2px; display: block; }
.lead .pim-cap,
.pim-cap {
  font-family: var(--sans);
  font-size: 12px;
  color: var(--text-faint);
  margin-top: 9px;
  line-height: 1.45;
}
.pim-cap b { color: var(--text-light); font-weight: 500; }

/* Landscape — wider than the text column but no longer full-bleed.
   Centered at 1080px max with comfortable cream margins on viewports
   wider than that. Bleed becomes a future opt-in (.lead.bleed) for
   images that genuinely earn it; the default treatment lets press
   shots and chest-up portraits sit without dominating the page. */
.lead-landscape {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 28px;
}
.lead-landscape .pim-cap {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* Square — sits inside the 720px text column */
.lead-square {
  max-width: 720px;
  padding: 0 28px;
}

/* Vertical — narrower, centered; balances tall image against text */
.lead-vertical {
  max-width: 480px;
  padding: 0 28px;
}

/* Body prose */
.pim-prose { padding: 14px 0 0; max-width: 720px; margin: 0 auto; }
.pim-prose p {
  font-size: 19px;
  line-height: 1.68;
  color: var(--ink);
  margin: 0 0 26px;
}
.pim-prose p.lead-para::first-letter {
  font-family: var(--display);
  font-weight: 500;
  float: left;
  font-size: 64px;
  line-height: .82;
  padding: 6px 10px 0 0;
  color: var(--accent-deep);
}
.pim-prose h2 {
  font-family: var(--display);
  font-weight: 500;
  font-size: 27px;
  line-height: 1.2;
  margin: 40px 0 16px;
  color: var(--ink);
}
.pim-prose blockquote {
  margin: 34px 0;
  padding: 0 0 0 24px;
  border-left: 2px solid var(--accent);
}
.pim-prose blockquote p {
  font-family: var(--display);
  font-weight: 300;
  font-style: italic;
  font-size: 25px;
  line-height: 1.4;
  color: var(--ink);
}
.pim-prose a {
  color: var(--accent-deep);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}

/* Inline figures inside prose (editor wraps these as needed) */
.pim-prose figure { margin: 34px 0; }
.pim-prose figure.wide {
  max-width: 1080px;
  margin-left: 50%;
  transform: translateX(-50%);
  width: min(1080px, 100vw);
}
.pim-prose figure img { width: 100%; border-radius: 2px; }
.pim-prose .duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 34px 0;
}
.pim-prose .duo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 2px;
}

/* Footer block under the prose */
.pim-entry-end {
  margin: 46px 0 0;
  padding: 30px 0 0;
  border-top: 1px solid var(--rule);
  font-family: var(--sans);
  font-size: 13px;
  color: var(--text-faint);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}
.pim-entry-end a {
  color: var(--accent-deep);
  text-decoration: none;
}
.pim-entry-end a:hover { text-decoration: underline; }

/* More people grid */
.pim-more {
  background: var(--bg-warm);
  margin-top: 48px;
  padding: 44px 0 50px;
}
.pim-more-in {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 32px;
}
.pim-more h3 {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 20px;
}
.pim-more-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.pim-more-grid a {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 2px;
  background: var(--panel);
  display: block;
  text-decoration: none;
}
.pim-more-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.pim-more-grid .pim-nm {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 30px 12px 11px;
  color: #F6F1E7;
  font-family: var(--display);
  font-size: 18px;
  font-weight: 500;
  background: linear-gradient(to top, rgba(20,16,12,.8), transparent);
}

@media (max-width: 680px) {
  .pim-more-grid { grid-template-columns: repeat(2, 1fr); }
  .pim-prose .duo { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════
   STORIES — single entry
   Mirrors field-notes-story-v0.4.html. Essay-style: full-bleed hero,
   centered title block, prose with drop cap, inline figures at three
   scales (colw / wide / bleed), pullquote, standalone italic line,
   ornament divider. Hero is always full-bleed by design — Stories
   open with the cinematic establishing shot.
   ════════════════════════════════════ */

/* Hero — full bleed up to 1080px */
.story-hero {
  width: 100vw;
  max-width: min(1080px, 100vw);
  margin-left: 50%;
  transform: translateX(-50%);
  background: var(--panel);
}
.story-hero img {
  width: 100%;
  height: auto;
  display: block;
}

/* Column container shared by head and prose */
.story-col {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 28px;
  padding-right: 28px;
}

/* Story head — centered essay title block */
.story-head {
  text-align: center;
  padding: 48px 0 14px;
}
.story-head .kicker {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--accent-deep);
  margin-bottom: 22px;
}
.story-head .title {
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(40px, 6.4vw, 66px);
  line-height: 1.0;
  letter-spacing: -.02em;
  color: var(--ink);
}
.story-head .deck {
  font-family: var(--display);
  font-weight: 300;
  font-style: italic;
  font-size: clamp(20px, 2.5vw, 25px);
  line-height: 1.34;
  color: var(--text-light);
  margin: 18px auto 0;
  max-width: 30ch;
}
.story-head .byline {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-faint);
  margin-top: 26px;
}
.story-head .byline b {
  color: var(--text-light);
  font-weight: 500;
}
.story-head .head-rule {
  width: 54px;
  height: 1px;
  background: var(--rule);
  margin: 30px auto 0;
}

/* Prose */
.story-prose {
  padding-top: 30px;
}
.story-prose p {
  font-size: 19px;
  line-height: 1.74;
  color: var(--ink);
  margin: 0 0 26px;
}
.story-prose p.story-lead::first-letter {
  font-family: var(--display);
  font-weight: 500;
  float: left;
  font-size: 74px;
  line-height: .78;
  padding: 7px 12px 0 0;
  color: var(--accent-deep);
}
.story-prose p.standalone {
  font-family: var(--display);
  font-weight: 400;
  font-style: italic;
  font-size: 23px;
  color: var(--ink);
  text-align: center;
  margin: 30px 0;
}
.story-prose blockquote {
  margin: 30px 0;
  padding: 2px 0 2px 22px;
  border-left: 2px solid var(--rule);
}
.story-prose blockquote p {
  font-size: 17.5px;
  line-height: 1.6;
  color: var(--text-light);
  font-style: italic;
  margin: 0 0 10px;
}
.story-prose blockquote cite {
  font-family: var(--sans);
  font-style: normal;
  font-size: 12.5px;
  letter-spacing: .04em;
  color: var(--text-faint);
}

/* Inline figures — three scales */
.story-prose .fig {
  margin: 38px auto;
}
.story-prose .fig img {
  width: 100%;
  border-radius: 2px;
}
.story-prose .fig.colw {
  max-width: 680px;
}
.story-prose .fig.wide {
  width: min(1080px, 94vw);
  margin-left: 50%;
  transform: translateX(-50%);
}
.story-prose .fig.bleed {
  width: min(1080px, 100vw);
  margin-left: 50%;
  transform: translateX(-50%);
}
.story-prose .fig.bleed img,
.story-prose .fig.wide img {
  border-radius: 0;
}
.story-prose .cap {
  font-family: var(--sans);
  font-size: 12px;
  color: var(--text-faint);
  margin-top: 9px;
  line-height: 1.45;
}
.story-prose .cap b {
  color: var(--text-light);
  font-weight: 500;
}
.story-prose .fig.wide .cap,
.story-prose .fig.bleed .cap {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 28px;
}

/* Pullquote */
.story-prose .pull {
  margin: 42px auto;
  max-width: 620px;
  text-align: center;
}
.story-prose .pull p {
  font-family: var(--display);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(26px, 3.6vw, 34px);
  line-height: 1.28;
  color: var(--ink);
  margin: 0;
  letter-spacing: -.01em;
}

/* Ornament divider — joshua tree bug, uses the same --jt mask as the nav */
.story-prose .orn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 50px 0;
  color: var(--accent);
}
.story-prose .orn::before,
.story-prose .orn::after {
  content: "";
  height: 1px;
  width: 46px;
  background: var(--rule);
}
.story-prose .orn .bug {
  display: inline-block;
  width: 17px;
  height: 21px;
  background: var(--accent);
  -webkit-mask: var(--jt) center/contain no-repeat;
  mask: var(--jt) center/contain no-repeat;
}

/* Byline-end footer (under the prose) */
.story-prose .byline-end {
  margin: 50px auto 0;
  padding: 28px 0 0;
  border-top: 1px solid var(--rule);
  font-family: var(--sans);
  font-size: 13px;
  color: var(--text-faint);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}
.story-prose .byline-end a {
  color: var(--accent-deep);
  text-decoration: none;
}
.story-prose .byline-end a:hover {
  text-decoration: underline;
}

/* More section — mixed Stories + Dispatches, 3-up grid */
.story-more {
  background: var(--bg-warm);
  margin-top: 54px;
  padding: 46px 0 52px;
}
.story-more-in {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 32px;
}
.story-more h3 {
  font-family: var(--display);
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 18px;
}
.story-more-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.story-more-row a {
  text-decoration: none;
}
.story-more-row .ph {
  aspect-ratio: 3 / 2;
  background: var(--panel);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 11px;
}
.story-more-row .ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.story-more-row .k {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent-deep);
}
.story-more-row .t {
  font-family: var(--display);
  font-size: 20px;
  font-weight: 500;
  color: var(--ink);
  line-height: 1.12;
  margin-top: 4px;
}

@media (max-width: 680px) {
  .story-more-row { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════
   FIELD NOTES HOMEPAGE
   Ported from field-notes-home-mockup-v0_7.html (v1.4.2).
   All selectors scoped under .fn-home.
   ════════════════════════════════════ */

/* --- Hero (title + flanking-rule byline) --- */
.fn-home .hero {
  text-align: center;
  padding: 100px 32px 80px;
  max-width: 760px;
  margin: 0 auto;
}
.fn-home .hero h1 {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(48px, 6.5vw, 76px);
  line-height: 1.0;
  letter-spacing: -.025em;
  color: var(--ink);
  margin: 0 0 22px;
}
.fn-home .hero h1 em {
  font-style: italic;
  font-weight: 300;
  color: var(--accent-deep);
}
.fn-home .hero .byline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 34px;
}
.fn-home .hero .byline .line {
  display: block;
  width: 52px;
  height: 1px;
  background: var(--accent-deep);
  opacity: .45;
}
.fn-home .hero .byline .name {
  font-family: var(--display);
  font-style: italic;
  font-weight: 400;
  font-size: 26px;
  letter-spacing: -.005em;
  color: var(--accent-deep);
}

/* --- Section opener (bug + label, centered) --- */
.fn-home .section-opener {
  text-align: center;
  padding: 90px 32px 44px;
  max-width: 720px;
  margin: 0 auto;
}
.fn-home .section-opener .jt-bug {
  width: 34px;
  height: 40px;
  margin: 0 auto 22px;
  display: block;
  -webkit-mask: var(--jt) center/contain no-repeat;
          mask: var(--jt) center/contain no-repeat;
  background-color: var(--ink);
}
.fn-home .section-opener h2 {
  font-family: var(--display);
  font-weight: 500;
  font-size: 38px;
  line-height: 1.05;
  letter-spacing: -.018em;
  color: var(--ink);
  margin: 0;
}

/* --- People I've Met — 4-col mosaic --- */
.fn-home .mosaic {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px 30px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 200px;
  gap: 10px;
}
.fn-home .tile {
  position: relative;
  overflow: hidden;
  background: var(--panel);
  border-radius: 2px;
  text-decoration: none;
}
.fn-home .tile.big  { grid-column: span 2; grid-row: span 2; }
.fn-home .tile.tall { grid-row: span 2; }
.fn-home .tile.wide { grid-column: span 2; }
.fn-home .tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.fn-home .tile .ovl {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 14px 14px 11px;
  color: #F6F1E7;
  background: linear-gradient(to top, rgba(28,26,23,.78) 0%, rgba(28,26,23,.4) 60%, transparent 100%);
}
.fn-home .tile .who {
  font-family: var(--display);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: -.005em;
  line-height: 1.15;
}
.fn-home .tile.big  .who { font-size: 22px; }
.fn-home .tile.tall .who { font-size: 17px; }
.fn-home .tile.wide .who { font-size: 19px; }
.fn-home .tile .what {
  font-family: var(--sans);
  font-size: 10.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.78);
  margin-top: 3px;
}
@media (min-width: 841px) {
  .fn-home .tile img { transition: transform .4s ease; }
  .fn-home .tile:hover img { transform: scale(1.04); }
}

/* --- Dispatches list (numbered, no thumbnail) --- */
.fn-home .disp-list {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 32px;
}
.fn-home .dispatch {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 22px;
  align-items: start;
  padding: 26px 0;
  border-bottom: 1px solid var(--rule);
  color: inherit;
  text-decoration: none;
}
.fn-home .dispatch:first-child {
  border-top: 1px solid var(--rule);
}
.fn-home .dispatch .play-ic {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--rule);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent-deep);
  background: var(--bg);
  transition: background .2s;
}
.fn-home .dispatch:hover .play-ic {
  background: var(--bg-warm);
}
.fn-home .dispatch .play-ic svg {
  width: 13px;
  height: 13px;
}
.fn-home .dispatch .body .kicker {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .22em;
  color: var(--accent-deep);
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  margin-bottom: 6px;
}
.fn-home .dispatch h3 {
  font-family: var(--display);
  font-weight: 500;
  font-size: 22px;
  line-height: 1.18;
  letter-spacing: -.012em;
  color: var(--ink);
  margin: 0 0 6px;
}
.fn-home .dispatch:hover h3 {
  color: var(--accent-deep);
}
.fn-home .dispatch .meta {
  font-family: var(--sans);
  font-size: 12px;
  color: var(--text-faint);
  letter-spacing: .02em;
}
.fn-home .dispatch .dur {
  font-family: var(--sans);
  font-size: 12px;
  color: var(--text-faint);
  font-variant-numeric: tabular-nums;
  padding-top: 14px;
  white-space: nowrap;
}

/* --- Newsletter (dark, CTA — no section opener around it) --- */
.fn-home .news {
  background: var(--dark);
  color: var(--bg);
  margin-top: 80px;
}
.fn-home .news-in {
  max-width: 680px;
  margin: 0 auto;
  padding: 62px 32px 66px;
  text-align: center;
}
.fn-home .news .eyebrow {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 16px;
}
.fn-home .news h3 {
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(25px, 3vw, 33px);
  line-height: 1.24;
  margin-bottom: 14px;
}
.fn-home .news p {
  font-size: 17px;
  font-weight: 300;
  color: #D7CDBB;
  line-height: 1.6;
  max-width: 44ch;
  margin: 0 auto 26px;
}
.fn-home .signup {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.fn-home .signup input {
  font-family: var(--serif);
  font-size: 16px;
  padding: 13px 16px;
  width: min(320px, 80vw);
  border: 1px solid #45403a;
  border-radius: 3px;
  background: #2b2723;
  color: var(--bg);
}
.fn-home .signup input::placeholder {
  color: #938a7d;
}
.fn-home .signup button {
  font-family: var(--sans);
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 13px 22px;
  border: 0;
  border-radius: 3px;
  cursor: pointer;
  background: var(--accent);
  color: #fff;
}
.fn-home .signup button:hover {
  background: var(--accent-deep);
}
.fn-home .news .fine {
  margin-top: 16px;
  font-family: var(--sans);
  font-size: 12px;
  color: #8c8275;
}

/* --- Stories feature wrap (lead + 2 cards) --- */
.fn-home .feat-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 6px 32px 14px;
}
.fn-home .feat-lead {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 36px;
  align-items: center;
  text-decoration: none;
  color: inherit;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--rule);
}
.fn-home .feat-lead .img {
  aspect-ratio: 3 / 2;
  border-radius: 2px;
  overflow: hidden;
  background: var(--panel);
}
.fn-home .feat-lead .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.fn-home .feat-lead:hover .img img {
  transform: scale(1.03);
}
.fn-home .feat-lead .kicker {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--accent-deep);
  margin-bottom: 13px;
}
.fn-home .feat-lead h3 {
  font-family: var(--display);
  font-weight: 500;
  font-size: clamp(29px, 3.4vw, 42px);
  line-height: 1.02;
  letter-spacing: -.015em;
  color: var(--ink);
}
.fn-home .feat-lead .deck {
  font-family: var(--display);
  font-weight: 300;
  font-style: italic;
  font-size: 19px;
  line-height: 1.36;
  color: var(--text-light);
  margin-top: 13px;
  max-width: 34ch;
}
.fn-home .feat-lead .m {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: .03em;
  color: var(--text-faint);
  margin-top: 20px;
}
.fn-home .feat-lead:hover h3 {
  color: var(--accent-deep);
}

.fn-home .feat-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  padding-top: 30px;
}
.fn-home .feat-card {
  text-decoration: none;
  color: inherit;
}
.fn-home .feat-card .img {
  aspect-ratio: 16 / 9;
  border-radius: 2px;
  overflow: hidden;
  background: var(--panel);
  margin-bottom: 15px;
}
.fn-home .feat-card .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease;
}
.fn-home .feat-card:hover .img img {
  transform: scale(1.03);
}
.fn-home .feat-card .kicker {
  font-family: var(--sans);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--accent-deep);
  margin-bottom: 8px;
}
.fn-home .feat-card h3 {
  font-family: var(--display);
  font-weight: 500;
  font-size: 23px;
  line-height: 1.12;
  color: var(--ink);
}
.fn-home .feat-card .deck {
  font-size: 14.5px;
  font-weight: 300;
  color: var(--text-light);
  line-height: 1.5;
  margin-top: 8px;
  max-width: 46ch;
}
.fn-home .feat-card:hover h3 {
  color: var(--accent-deep);
}

/* --- Responsive --- */
@media (max-width: 840px) {
  .fn-home .hero { padding: 70px 28px 70px; }
  .fn-home .section-opener { padding: 70px 28px 36px; }
  .fn-home .section-opener h2 { font-size: 30px; }
  .fn-home .mosaic { grid-template-columns: repeat(2, 1fr); }
  .fn-home .tile.big  { grid-column: span 2; grid-row: span 2; }
  .fn-home .tile.tall { grid-row: span 2; grid-column: span 1; }
  .fn-home .tile.wide { grid-column: span 2; }
  .fn-home .feat-lead { grid-template-columns: 1fr; gap: 18px; }
  .fn-home .feat-row { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 680px) {
  .fn-home .dispatch { grid-template-columns: 44px 1fr; }
  .fn-home .dispatch .dur { display: none; }
}

/* ════════════════════════════════════
   MAP PAGE
   Ported from AJ's historical-badass.css (.map-* and .hb-* prefixes
   renamed to .fn-map-* / .fn-* for Field Notes). One pin type only
   (Place); category color rules omitted in v1 — chips use --accent
   when active. Per-category color theming can be added later by
   defining --place-{slug} CSS variables and rules below.
   ════════════════════════════════════ */

.fn-map-page {
  background: var(--bg);
  color: var(--ink);
  padding-top: 24px;
}

.fn-map-controls {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 32px 16px;
}

.fn-map-filters {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
}

.fn-map-filters .filter-label {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-faint);
  margin-right: 4px;
}

.fn-map-chip {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 8px 14px;
  border: 1px solid var(--rule);
  background: var(--bg-warm);
  color: var(--text-light);
  cursor: pointer;
  transition: all 0.18s ease;
  outline: none;
  line-height: 1;
}

.fn-map-chip:focus,
.fn-map-chip:focus-visible { outline: none; }

.fn-map-chip:hover {
  border-color: var(--accent-deep);
  color: var(--accent-deep);
}

.fn-map-chip.is-active {
  background: var(--accent-deep);
  border-color: var(--accent-deep);
  color: var(--bg);
}

/* Fullscreen toggle */
.fn-fullscreen-toggle {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: var(--bg);
  border: 1.5px solid var(--text-light);
  color: var(--text-light);
  cursor: pointer;
  transition: all 0.18s ease;
  margin-left: 4px;
  padding: 0;
  position: relative;
  z-index: 10;
  gap: 6px;
}
.fn-fullscreen-toggle svg {
  display: block !important;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}
.fn-fullscreen-toggle svg path {
  stroke: currentColor !important;
  fill: none !important;
}
.fn-fullscreen-toggle .fs-icon-close,
.fn-fullscreen-toggle .fs-label { display: none !important; }
.fn-fullscreen-toggle:hover {
  background: var(--accent-deep);
  border-color: var(--accent-deep);
  color: var(--bg);
}

/* Fullscreen mode — hide chrome, float close button at top right */
body.fn-fullscreen-map .site-nav,
body.fn-fullscreen-map .site-footer,
body.fn-fullscreen-map footer,
body.fn-fullscreen-map nav { display: none !important; }

body.fn-fullscreen-map .fn-map-page { position: relative; }
body.fn-fullscreen-map .fn-map-controls {
  position: static !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}
body.fn-fullscreen-map .fn-map-controls .filter-label,
body.fn-fullscreen-map .fn-map-controls .fn-map-chip { display: none !important; }
body.fn-fullscreen-map .fn-map-filters {
  display: block !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: none !important;
}
body.fn-fullscreen-map .fn-fullscreen-toggle {
  display: inline-flex !important;
  position: absolute !important;
  top: 12px;
  right: 12px;
  z-index: 9999;
  width: auto;
  height: 40px;
  padding: 0 16px 0 12px;
  background: var(--accent-deep);
  border-color: var(--accent-deep);
  color: var(--bg);
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
}
body.fn-fullscreen-map .fn-fullscreen-toggle:hover {
  background: var(--accent);
  border-color: var(--accent);
}
body.fn-fullscreen-map .fn-fullscreen-toggle .fs-icon-expand { display: none !important; }
body.fn-fullscreen-map .fn-fullscreen-toggle .fs-icon-close { display: block !important; }
body.fn-fullscreen-map .fn-fullscreen-toggle .fs-label {
  display: inline-block !important;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  line-height: 1;
}
body.fn-fullscreen-map #fn-map { height: 100vh; }
body.fn-fullscreen-map { overflow: hidden; }

/* Map container */
#fn-map {
  width: 100%;
  height: calc(100vh - 120px);
  min-height: 480px;
  background: var(--bg);
  margin: 0;
  display: block;
}

/* Markers */
.fn-marker { background: transparent; border: none; }
.fn-marker .fn-marker-dot {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: var(--accent);
  border: 2px solid var(--bg);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  transition: transform 0.15s ease;
}
.fn-marker:hover .fn-marker-dot { transform: scale(1.25); }

/* Cluster bubble */
.fn-cluster-wrap { background: transparent; border: none; }
.fn-cluster {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--accent);
  color: var(--bg);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--sans);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.04em;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

/* Popover (floats above the map; same instance reused for every pin) */
.fn-map-popover {
  position: absolute;
  z-index: 9100;
  width: 340px;
  background: var(--bg);
  color: var(--ink);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.22);
  font-family: var(--serif);
  pointer-events: auto;
  overflow: hidden;
}
.fn-map-popover .pop-thumb {
  display: block;
  width: 100%;
  height: auto;
}
.fn-map-popover .pop-body { padding: 18px 20px 18px; }
.fn-map-popover .pop-eyebrow {
  font-family: var(--sans);
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent-deep);
  margin-bottom: 10px;
}
.fn-map-popover .pop-title {
  font-family: var(--display);
  font-weight: 500;
  font-size: 22px;
  letter-spacing: -.01em;
  line-height: 1.12;
  color: var(--ink);
  margin: 0 0 8px;
}
.fn-map-popover .pop-desc {
  font-family: var(--serif);
  font-size: 14px;
  line-height: 1.5;
  color: var(--text-light);
  margin-bottom: 0;
}
.fn-map-popover .pop-link {
  display: inline-block;
  font-family: var(--sans);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent-deep);
  text-decoration: none;
  margin-top: 12px;
  padding: 4px 0;
}
.fn-map-popover .pop-link:hover { color: var(--accent); }

@media (max-width: 600px) {
  .fn-map-popover { width: calc(100vw - 24px); }
}

/* ════════════════════════════════════════════════════════════════════════
   FIELD NOTES REDESIGN — v1.6.0
   The river homepage, slim-nav lens toggle, squat Dispatch single, and
   full-page field-survey map. New class names; the older .mosaic / .disp-list
   / .feat-wrap rules above are now dead (their markup is gone) and harmless.
   All rules use the existing :root tokens.
   ════════════════════════════════════════════════════════════════════════ */

/* ── Nav: Latest / Map lens toggle ── */
.nav-toggle { display: flex; border: 1px solid var(--rule); border-radius: 22px; overflow: hidden; }
.nav-toggle-btn {
  font-family: var(--sans); font-size: 11px; font-weight: 500; letter-spacing: .08em;
  text-transform: uppercase; color: var(--text-light); text-decoration: none;
  padding: 8px 16px; transition: background .2s, color .2s;
}
.nav-toggle-btn.is-active { background: var(--ink); color: var(--bg); }
.nav-toggle-btn:hover:not(.is-active) { color: var(--ink); }

/* ── River filter (typographic, hairline + ochre active underline) ── */
.fn-home-river .fn-filter {
  max-width: 640px; margin: 6px auto 0; padding: 0 26px;
  display: flex; justify-content: center; gap: 26px; border-bottom: 1px solid var(--rule);
}
.fn-filter-chip {
  font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: var(--text-faint); background: none; border: none;
  cursor: pointer; padding: 0 0 12px; position: relative; transition: color .18s;
}
.fn-filter-chip:hover, .fn-filter-chip.is-active { color: var(--ink); }
.fn-filter-chip.is-active::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--accent);
}

/* ── The river (variable-size randomized mosaic — v1.8.17) ──
   CSS grid masonry: cards vary in width as well as height. Column spans and
   row spans are assigned client-side in front-page-root.php (re-rolled every
   visit, on resize, after each infinite-scroll batch, and on the dice).
   row-gap is 0 by design — vertical rhythm is baked into each tile's row
   span via the +30 gutter in the layout math. */
.fn-river {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 10px;
  row-gap: 0;
  column-gap: 30px;
  grid-auto-flow: row dense;
  align-items: start;
  max-width: 1500px;
  margin: 0 auto;
  padding: 30px 34px 0;
}
@media (max-width: 1100px) { .fn-river { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px)  { .fn-river { grid-template-columns: repeat(2, 1fr); column-gap: 18px; padding: 24px 18px 0; } }
@media (max-width: 460px)  { .fn-river { grid-template-columns: 1fr; } }
.fn-tile { display: block; text-decoration: none; color: inherit; }
.fn-tile-img { display: block; margin-bottom: 12px; overflow: hidden; border-radius: 3px; }
.fn-tile-img img { display: block; width: 100%; height: auto; transition: transform .4s ease; }
.fn-tile:hover .fn-tile-img img { transform: scale(1.03); }
.fn-tile-kicker {
  display: block; font-family: var(--sans); font-size: 10px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin-bottom: 5px;
}
.fn-tile-title {
  display: block; font-family: var(--display); font-weight: 500; font-size: 21px;
  line-height: 1.14; letter-spacing: -.01em; color: var(--ink);
}
.fn-tile:hover .fn-tile-title { color: var(--accent-deep); }
.fn-tile-sub { display: block; font-family: var(--sans); font-size: 12px; color: var(--text-faint); margin-top: 6px; line-height: 1.4; }

/* Newsletter card woven into the river */
.fn-news-tile { background: var(--panel); border-radius: 3px; padding: 24px 22px; }
.fn-news-tile .fn-tile-title { font-size: 19px; }
.fn-news-copy { font-family: var(--serif); font-size: 14px; line-height: 1.55; color: var(--text-light); margin: 10px 0 14px; }
.fn-news-form { display: flex; gap: 8px; flex-wrap: wrap; }
.fn-news-form input {
  flex: 1; min-width: 140px; font-family: var(--sans); font-size: 13px; padding: 9px 12px;
  border: 1px solid var(--rule); border-radius: 3px; background: var(--bg); color: var(--ink);
}
.fn-news-form button {
  font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; color: #fff; background: var(--accent); border: none;
  border-radius: 3px; padding: 9px 16px; cursor: pointer; transition: background .2s;
}
.fn-news-form button:hover { background: var(--accent-deep); }

/* Empty state + bounded pager */
.fn-river-empty { font-family: var(--serif); font-style: italic; color: var(--text-faint); text-align: center; padding: 40px 0; }
.fn-pager {
  max-width: 1340px; margin: 8px auto 0; padding: 26px 34px 6px; border-top: 1px solid var(--rule);
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px;
}
.fn-pager-now { font-family: var(--sans); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--text-faint); }
.fn-pager-more { font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); text-decoration: none; }
.fn-pager-more:hover { color: var(--accent-deep); }

/* ── Dispatch single: squat landscape "opened card" ── */
.fn-disp-page { max-width: 1000px; margin: 0 auto; padding: 48px 26px 8px; }
.fn-disp { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; align-items: center; max-width: 980px; margin: 0 auto; }
.fn-disp.text { grid-template-columns: 1fr; max-width: 580px; }
.fn-disp-media img { display: block; width: 100%; height: clamp(300px, 46vh, 460px); object-fit: cover; border-radius: 2px; }
.fn-disp-kicker { font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.fn-disp-title { font-family: var(--display); font-weight: 500; font-size: clamp(24px, 3vw, 33px); line-height: 1.08; letter-spacing: -.015em; color: var(--ink); margin: 9px 0 11px; }
.fn-disp-meta { font-family: var(--sans); font-size: 12px; color: var(--text-faint); padding-bottom: 15px; border-bottom: 1px solid var(--rule); margin-bottom: 18px; }
.fn-disp-content { font-family: var(--serif); font-size: 16px; line-height: 1.66; color: var(--ink); }
.fn-disp-content p { margin: 0 0 14px; }
.fn-disp-content p:last-child { margin-bottom: 0; }
.fn-disp-content blockquote {
  font-family: var(--display); font-weight: 500; font-style: italic; font-size: 22px; line-height: 1.32;
  color: var(--ink); margin: 4px 0 0; padding-left: 16px; border-left: 3px solid var(--accent);
}
.fn-disp-player { display: inline-flex; align-items: center; gap: 12px; border: 1px solid var(--rule); border-radius: 4px; padding: 12px 16px; margin-top: 18px; text-decoration: none; color: var(--ink); }
.fn-disp-play svg { width: 26px; height: 26px; fill: var(--accent); display: block; }
.fn-disp-play-label { font-family: var(--sans); font-size: 13px; }
.fn-disp-play-label span { display: block; font-size: 11px; color: var(--text-faint); margin-top: 2px; }
@media (max-width: 720px) { .fn-disp { grid-template-columns: 1fr; gap: 18px; max-width: 560px; } .fn-disp-media img { height: clamp(220px, 38vh, 340px); } }

/* Dispatch onward tail */
.fn-dmore { max-width: 980px; margin: 54px auto 0; padding-top: 30px; border-top: 1px solid var(--rule); }
.fn-dmore-head { font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); text-align: center; margin: 0 0 22px; }
.fn-dmore-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 620px) { .fn-dmore-row { grid-template-columns: 1fr; max-width: 360px; margin: 0 auto; } }
.fn-dmore-card { display: block; text-decoration: none; color: inherit; }
.fn-dmore-img { display: block; overflow: hidden; border-radius: 2px; margin-bottom: 9px; }
.fn-dmore-img img { display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; }
.fn-dmore-kicker { display: block; font-family: var(--sans); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); margin-bottom: 3px; }
.fn-dmore-title { display: block; font-family: var(--display); font-weight: 500; font-size: 15px; line-height: 1.18; color: var(--ink); }
.fn-dmore-card:hover .fn-dmore-title { color: var(--accent-deep); }
.fn-dmore-back { text-align: center; margin-top: 30px; }
.fn-dmore-back a { font-family: var(--sans); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); text-decoration: none; }

/* ── Map: full-page field-survey ── */
.fn-map-page { padding-top: 0; position: relative; }
.fn-map-controls { position: absolute; top: 18px; left: 0; right: 0; z-index: 1000; max-width: none; margin: 0; padding: 0 18px; pointer-events: none; display: block; text-align: center; }
.fn-map-filters {
  pointer-events: auto; display: inline-flex; flex-wrap: wrap; gap: 8px; justify-content: center;
  background: rgba(244, 238, 225, .92); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  border: 1px solid var(--rule); border-radius: 30px; padding: 8px 12px; box-shadow: 0 4px 18px rgba(40, 36, 32, .12);
}
.fn-map-chip { border-radius: 18px; }
#fn-map { height: calc(100vh - 64px); min-height: 0; }
/* map footer shown (hidden only in fullscreen) */
/* warm the light CartoDB tiles into a bleached field-survey skin */
#fn-map .leaflet-tile-pane { filter: grayscale(1) brightness(1.04) contrast(.96); }
/* photo-bloom marker */
.fn-marker.is-photo .fn-marker-photo {
  display: block; width: 100%; height: 100%; border-radius: 50%;
  background-size: cover; background-position: center; border: 2px solid var(--bg);
  box-shadow: 0 1px 5px rgba(0, 0, 0, .3); transition: transform .15s ease;
}
.fn-marker.is-photo:hover .fn-marker-photo { transform: scale(1.2); }

/* ════════════════════════════════════════════════════════════════════════
   STORY SINGLE + HERO DIAL-DOWN — v1.7.0
   ════════════════════════════════════════════════════════════════════════ */

/* ── Story single: no hero, measure text, frame-width photos ── */
.fn-story { max-width: 950px; margin: 0 auto; padding: 72px 32px 8px; }
.fn-story-head { font-family: var(--display); font-weight: 400; font-size: clamp(30px, 3.6vw, 42px); line-height: 1.05; letter-spacing: -.015em; color: var(--ink); margin: 0; white-space: nowrap; }
.fn-story-deck { font-family: var(--serif); font-size: 19px; line-height: 1.5; color: var(--text-light); max-width: 600px; margin: 18px 0 0; }
.fn-story-byline { font-family: var(--sans); font-size: 12px; letter-spacing: .04em; color: var(--text-faint); margin: 24px 0 0; padding-bottom: 30px; border-bottom: 1px solid var(--rule); }

.fn-story-body { max-width: 640px; margin: 34px auto 0; }
.fn-story-body p { font-family: var(--serif); font-size: 18px; line-height: 1.72; color: var(--ink); margin: 0 0 20px; }
.fn-story-body > p:first-child::first-letter { font-family: var(--display); font-weight: 500; font-size: 58px; line-height: .8; float: left; padding: 7px 10px 0 0; color: var(--accent-deep); }
.fn-story-body h2, .fn-story-body h3 { font-family: var(--display); font-weight: 500; color: var(--ink); margin: 34px 0 10px; line-height: 1.15; }
.fn-story-body h2 { font-size: 25px; }
.fn-story-body h3 { font-size: 20px; }
.fn-story-body a { color: var(--accent-deep); text-decoration: underline; text-underline-offset: 2px; }
.fn-story-body ul, .fn-story-body ol { font-family: var(--serif); font-size: 18px; line-height: 1.7; color: var(--ink); margin: 0 0 20px; padding-left: 22px; }

/* photographs break out to the frame; text holds the measure */
.fn-story-body figure,
.fn-story-body .wp-block-image,
.fn-story-body img.size-large,
.fn-story-body img.size-full {
  width: 950px; max-width: calc(100vw - 48px);
  margin-left: 50%; transform: translateX(-50%);
  margin-top: 40px; margin-bottom: 40px;
}
.fn-story-body figure img, .fn-story-body .wp-block-image img { display: block; width: 100%; height: auto; border-radius: 2px; }
.fn-story-body figcaption, .fn-story-body .wp-block-image figcaption { font-family: var(--serif); font-style: italic; font-size: 13.5px; color: var(--text-faint); text-align: left; max-width: 640px; margin: 9px auto 0; }

.fn-story-body blockquote, .fn-story-body .wp-block-quote, .fn-story-body .wp-block-pullquote {
  font-family: var(--display); font-style: italic; font-weight: 400; font-size: 25px; line-height: 1.36; color: var(--ink);
  text-align: center; max-width: 600px; margin: 36px auto; padding: 24px 0;
  border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); border-left: none;
}
.fn-story-body blockquote p { font-family: inherit; font-size: inherit; line-height: inherit; margin: 0; color: inherit; }

.fn-story-end { max-width: 640px; margin: 40px auto 0; text-align: center; }
.fn-story-end .end-bug { display: inline-block; width: 26px; height: 32px; background: var(--accent); -webkit-mask: var(--jt) center/contain no-repeat; mask: var(--jt) center/contain no-repeat; opacity: .85; }

.fn-story-foot { max-width: 950px; margin: 54px auto 0; padding: 0 32px; }
.fn-smore { max-width: 640px; margin: 0 auto; padding-top: 30px; border-top: 1px solid var(--rule); }
.fn-smore-label { font-family: var(--sans); font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin-bottom: 14px; }
.fn-smore-item { display: block; text-decoration: none; color: inherit; padding: 13px 0; border-top: 1px solid var(--rule); }
.fn-smore-item:last-child { border-bottom: 1px solid var(--rule); }
.fn-smore-title { font-family: var(--display); font-weight: 500; font-size: 18px; line-height: 1.2; color: var(--ink); }
.fn-smore-item:hover .fn-smore-title { color: var(--accent-deep); }
.fn-story-tail { text-align: center; padding: 46px 0 80px; }
.fn-story-tail a { font-family: var(--sans); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); text-decoration: none; }
@media (max-width: 740px) { .fn-story { padding: 48px 20px 8px; } .fn-story-head { white-space: normal; } .fn-story-foot, .fn-story-tail { padding-left: 20px; padding-right: 20px; } }

/* ── Homepage hero: dialed down + de-centered (kills the inherited .hero 70vh min-height gap) ── */
.fn-home .hero { padding: 96px 32px 96px; min-height: 0; display: block; }
.fn-home .fn-filter { margin-top: 0; }
.fn-home .hero h1 { font-size: clamp(30px, 3.6vw, 44px); line-height: 1.06; margin: 0 0 14px; }
.fn-home .hero .byline { margin-top: 24px; gap: 14px; }
.fn-home .hero .byline .name { font-size: 18px; }
.fn-home .hero .byline .line { width: 42px; }

/* ════════════════════════════════════════════════════════════════════════
   v1.7.2 — Story photo-led + centered head, mobile nav, footer bug,
   dispatch landscape variant, Words polish
   ════════════════════════════════════════════════════════════════════════ */

/* Story / PIM: photo leads, centered Title-Case head */
.fn-story--photo-led { padding-top: 44px; }
.fn-story-lead { width: 950px; max-width: 100%; margin: 0 auto 30px; }
.fn-story-lead img { display: block; width: 100%; height: auto; border-radius: 2px; }
.fn-story-lead figcaption { font-family: var(--serif); font-style: italic; font-size: 13.5px; color: var(--text-faint); text-align: center; margin: 9px auto 0; max-width: 640px; }
.fn-story-head-wrap { text-align: center; max-width: 760px; margin: 0 auto; }
.fn-story-kicker { font-family: var(--sans); font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
.fn-story--photo-led .fn-story-head { white-space: normal; text-transform: capitalize; text-align: center; max-width: none; margin: 0 auto; }
.fn-story--photo-led .fn-story-deck { text-align: center; margin: 16px auto 0; }
.fn-story-personmeta { font-family: var(--sans); font-size: 12.5px; letter-spacing: .02em; color: var(--text-light); margin: 10px 0 0; }
.fn-story--photo-led .fn-story-byline { text-align: center; border-bottom: none; padding-bottom: 0; margin-top: 18px; }
.fn-story--photo-led .fn-story-body { border-top: 1px solid var(--rule); padding-top: 34px; margin-top: 34px; }
.fn-story-audio { margin-top: 26px; }
.fn-story-audio a { font-family: var(--sans); font-size: 13px; letter-spacing: .04em; color: var(--accent); text-decoration: none; }
.fn-story-audio a:hover { color: var(--accent-deep); }

/* Mobile nav: drop the wordmark text, keep the bug */
@media (max-width: 600px) {
  .nav-wordmark { display: none; }
  .nav-logo { gap: 0; }
}

/* Footer: faint oversized joshua-tree bug behind the links */
.site-footer { position: relative; overflow: hidden; }
.footer-ghost { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 190px; height: 230px; background-color: var(--bg); -webkit-mask: var(--jt) center/contain no-repeat; mask: var(--jt) center/contain no-repeat; opacity: .055; pointer-events: none; z-index: 0; }
.site-footer > *:not(.footer-ghost) { position: relative; z-index: 1; }

/* Dispatch: landscape image runs full-width on top */
.fn-disp.wide { grid-template-columns: 1fr; gap: 18px; max-width: 680px; }
.fn-disp.wide .fn-disp-media img { width: 100%; height: auto; max-height: none; object-fit: contain; border-radius: 2px; }

/* Words: back-to-top on the browse page */
.word-backtop { text-align: center; padding: 30px 0 60px; }
.word-backtop a { font-family: var(--sans); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); text-decoration: none; }
.word-backtop a:hover { color: var(--accent-deep); }

/* ════════════════════════════════════════════════════════════════════════
   FIELD SURVEY MAP — v1.8.0
   Replaces the OSM/grayscale chip map. Left index (conventional-signs key),
   ink glyph markers in thin rings, count-only cluster tokens, and a floating
   specimen card. Palette is scoped to .fn-survey / map elements so it does
   not touch the rest of the theme. Overrides the older .fn-map-* rules above.
   ════════════════════════════════════════════════════════════════════════ */

.fn-survey{
  --fs-paper:#F4EEE1; --fs-paper2:#ECE4D2; --fs-ink:#2A251F; --fs-inksoft:#6A6051; --fs-faint:#9C927E;
  --fs-rule:#DACFB6; --fs-accent:#B0563B; --fs-accentdeep:#90422A;
  --fs-mono:'DM Mono', ui-monospace, monospace;
}
.fn-map-page.fn-survey{ padding:0; position:relative; background:var(--fs-paper); }
.fn-survey #fn-map{ height:calc(100vh - 64px); min-height:0; background:#ECE1C9; isolation:isolate; margin:0; }
/* map footer shown (hidden only in fullscreen) */
/* warm the gray tiles into aged paper (overrides the prior grayscale filter) */
body.fn-map-view #fn-map .leaflet-tile-pane{ filter:grayscale(1) contrast(1.05); mix-blend-mode:multiply; opacity:1; }
.fn-survey .leaflet-control-zoom{ border:1px solid var(--fs-rule)!important; border-radius:3px!important; overflow:hidden; box-shadow:0 2px 8px rgba(42,37,31,.1)!important; }
.fn-survey .leaflet-control-zoom a{ background:var(--fs-paper)!important; color:var(--fs-ink)!important; border-bottom:1px solid var(--fs-rule)!important; }
.fn-survey .fn-map-controls{ display:none!important; }

/* left index */
.fn-survey-index{ position:absolute; top:24px; left:24px; z-index:1000; width:252px; background:var(--fs-paper); border:1px solid var(--fs-rule); border-radius:4px; box-shadow:0 10px 30px rgba(42,37,31,.13); font-family:var(--sans); }
.fn-survey-index .fn-si-head{ display:flex; align-items:flex-start; gap:8px; padding:13px 15px 11px; border-bottom:1px solid var(--fs-rule); cursor:pointer; }
.fn-survey-index .fn-si-head .tt{ flex:1; }
.fn-survey-index .fn-si-head .t{ font-family:var(--display); font-weight:500; font-size:18px; line-height:1; color:var(--fs-ink); }
.fn-survey-index .fn-si-head .meta{ font-family:var(--fs-mono); font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--fs-faint); margin-top:5px; }
.fn-survey-index .fn-si-head .car{ font-family:var(--fs-mono); font-size:13px; color:var(--fs-faint); margin-top:2px; }
.fn-survey-index .fn-si-scroll{ max-height:62vh; overflow:auto; }
.fn-survey-index .fn-si-row{ display:flex; align-items:center; gap:11px; padding:7px 15px; cursor:pointer; }
.fn-survey-index .fn-si-row + .fn-si-row{ border-top:1px dotted var(--fs-rule); }
.fn-survey-index .fn-si-row:hover{ background:var(--fs-paper2); }
.fn-survey-index .fn-si-row .gly{ width:23px; height:23px; flex:none; display:flex; align-items:center; justify-content:center; color:var(--fs-ink); border:1px solid var(--fs-ink); border-radius:50%; }
.fn-survey-index .fn-si-row .gly svg{ width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.fn-survey-index .fn-si-row .nm{ font-family:var(--display); font-size:15px; color:var(--fs-ink); }
.fn-survey-index .fn-si-row .ct{ margin-left:auto; font-family:var(--fs-mono); font-size:11px; color:var(--fs-faint); }
.fn-survey-index .fn-si-row.off{ opacity:.34; }
.fn-survey-index .fn-si-row.off .gly{ color:var(--fs-faint); border-color:var(--fs-faint); }
.fn-survey-index .fn-si-row.allrow{ border-bottom:1px solid var(--fs-rule); }
.fn-survey-index .fn-si-row.allrow .nm{ font-style:italic; color:var(--fs-accentdeep); }
.fn-survey-index .fn-si-row.allrow .gly{ border-color:var(--fs-accent); }
.fn-survey-index .fn-si-row.allrow .gly .ring{ width:8px; height:8px; border-radius:50%; border:1px solid var(--fs-accent); }
.fn-survey-index .fn-si-foot{ padding:8px 15px; border-top:1px solid var(--fs-rule); font-family:var(--fs-mono); font-size:8.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--fs-faint); display:flex; justify-content:space-between; }
.fn-survey-index.collapsed .fn-si-scroll, .fn-survey-index.collapsed .fn-si-foot{ display:none; }

/* fullscreen toggle — small floating control, top-right under the zoom */
.fn-survey .fn-fullscreen-toggle{ position:absolute; top:24px; right:74px; z-index:1000; display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; background:var(--fs-paper); border:1px solid var(--fs-rule); border-radius:3px; box-shadow:0 2px 8px rgba(42,37,31,.1); cursor:pointer; }
.fn-survey .fn-fullscreen-toggle svg{ width:15px; height:15px; }
.fn-survey .fn-fullscreen-toggle svg path{ fill:none; stroke:var(--fs-ink); stroke-width:1.6; }
.fn-survey .fn-fullscreen-toggle .fs-icon-close, .fn-survey .fn-fullscreen-toggle .fs-label{ display:none; }
body.fn-fullscreen-map .fn-survey .fn-fullscreen-toggle .fs-icon-expand{ display:none; }
body.fn-fullscreen-map .fn-survey .fn-fullscreen-toggle .fs-icon-close{ display:block; }
body.fn-fullscreen-map .fn-survey #fn-map{ height:100vh; }

/* markers */
.fn-mk{ background:none; border:none; }
.fn-mk .fn-mk-disc{ display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:var(--fs-paper); border:1px solid var(--fs-ink); box-shadow:0 1px 3px rgba(42,37,31,.2); color:var(--fs-ink); transition:transform .12s, border-color .12s, color .12s; }
.fn-mk .fn-mk-disc svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.fn-mk:hover .fn-mk-disc{ transform:scale(1.14); border-color:var(--fs-accent); color:var(--fs-accent); z-index:9999; }
.fn-cl{ display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--fs-paper); border:1px solid var(--fs-ink); box-shadow:0 2px 6px rgba(42,37,31,.22); font-family:var(--fs-mono); font-weight:500; color:var(--fs-ink); }

/* floating specimen card */
#fn-fcard{ position:absolute; right:9%; top:50%; transform:translateY(-50%) scale(.98); z-index:1100; display:none; opacity:0; transition:opacity .14s ease, transform .14s ease; pointer-events:none; }
#fn-fcard.pinned{ pointer-events:auto; }
#fn-fcard.show{ display:block; opacity:1; transform:translateY(-50%) scale(1); }
.fn-spec{ position:relative; width:440px; max-width:calc(100vw - 48px); background:var(--fs-paper); border:1px solid var(--fs-ink); border-radius:3px; box-shadow:0 16px 44px rgba(34,29,23,.28); overflow:hidden; font-family:var(--sans); }
.fn-spec .fn-spec-top{ display:flex; justify-content:space-between; align-items:center; padding:9px 40px 9px 16px; border-bottom:1px solid var(--fs-rule); font-family:var(--fs-mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--fs-inksoft); }
.fn-spec .fn-spec-top .no{ color:var(--fs-faint); }
.fn-spec .fn-spec-x{ position:absolute; top:7px; right:10px; z-index:4; width:20px; height:20px; border:none; background:none; color:var(--fs-inksoft); font-size:18px; line-height:1; cursor:pointer; }
.fn-spec .fn-spec-photo{ display:block; width:100%; height:auto; max-height:56vh; object-fit:contain; background:var(--fs-paper2); border-bottom:1px solid var(--fs-rule); }
.fn-spec .fn-spec-plate{ height:176px; border-bottom:1px solid var(--fs-rule); display:flex; align-items:center; justify-content:center; background:repeating-linear-gradient(45deg, var(--fs-paper2) 0 8px, var(--fs-paper) 8px 16px); color:var(--fs-inksoft); }
.fn-spec .fn-spec-plate svg{ width:50px; height:50px; fill:none; stroke:currentColor; stroke-width:1.1; stroke-linecap:round; stroke-linejoin:round; opacity:.5; }
.fn-spec .fn-spec-body{ padding:17px 20px 19px; }
.fn-spec .fn-spec-stamp{ display:inline-flex; align-items:center; gap:8px; font-family:var(--fs-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--fs-inksoft); margin-bottom:11px; }
.fn-spec .fn-spec-stamp svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.4; }
.fn-spec .fn-spec-nm{ font-family:var(--display); font-weight:400; font-size:27px; line-height:1.12; color:var(--fs-ink); margin-bottom:13px; }
.fn-spec .fn-spec-grid{ display:grid; grid-template-columns:auto 1fr; gap:5px 16px; font-family:var(--fs-mono); font-size:12px; color:var(--fs-inksoft); border-top:1px solid var(--fs-rule); border-bottom:1px solid var(--fs-rule); padding:11px 0; margin-bottom:13px; }
.fn-spec .fn-spec-grid .k{ color:var(--fs-faint); letter-spacing:.06em; text-transform:uppercase; font-size:9.5px; align-self:center; }
.fn-spec .fn-spec-note{ font-family:var(--serif); font-style:italic; font-size:17px; line-height:1.45; color:var(--fs-inksoft); margin-bottom:15px; }
.fn-spec .fn-spec-foot{ display:flex; justify-content:space-between; align-items:center; font-family:var(--fs-mono); font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--fs-faint); }
.fn-spec .fn-spec-go{ color:var(--fs-accent); text-decoration:none; }
.fn-spec .fn-spec-go:hover{ color:var(--fs-accentdeep); }

@media (max-width:760px){
  .fn-survey-index{ width:212px; left:14px; top:14px; }
  .fn-survey .fn-fullscreen-toggle{ top:14px; right:64px; }
  #fn-fcard{ right:auto; left:50%; transform:translate(-50%,-50%) scale(.98); }
  #fn-fcard.show{ transform:translate(-50%,-50%) scale(1); }
  .fn-spec{ width:340px; }
  .fn-spec .fn-spec-photo{ max-height:42vh; }
}

/* ── Dispatch: always-on inline audio player (v1.8.1) ── */
.fn-disp-audio { display: flex; align-items: center; gap: 15px; position: relative; overflow: hidden; margin: 22px 0 0; padding: 15px 19px; border: 1px solid var(--rule); border-radius: 8px; background: var(--bg); }
.fn-disp-audio-btn { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 0; background: none; color: var(--accent); cursor: pointer; -webkit-appearance: none; appearance: none; }
.fn-disp-audio-btn svg { width: 30px; height: 30px; fill: currentColor; display: block; }
.fn-disp-audio-btn .ico-pause { display: none; }
.fn-disp-audio.is-playing .fn-disp-audio-btn .ico-play { display: none; }
.fn-disp-audio.is-playing .fn-disp-audio-btn .ico-pause { display: block; }
.fn-disp-audio-text { flex: 1 1 auto; min-width: 0; }
.fn-disp-audio-title { font-family: var(--sans); font-size: 15px; font-weight: 600; line-height: 1.2; color: var(--ink); }
.fn-disp-audio-sub { font-family: var(--sans); font-size: 12.5px; line-height: 1.3; color: var(--text-faint); margin-top: 2px; font-variant-numeric: tabular-nums; }
.fn-disp-audio-track { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--rule); }
.fn-disp-audio-fill { display: block; width: 0; height: 100%; background: var(--accent); transition: width .12s linear; }
.fn-disp-audio-el { display: none; }


/* ── Portrait featured image lives inside the story, never as a top hero (v1.8.6) ── */
.fn-story-inset { float: right; width: 42%; max-width: 340px; margin: 4px 0 20px 30px; }
.fn-story-inset img { display: block; width: 100%; height: auto; border-radius: 2px; }
.fn-story-inset figcaption { font-family: var(--sans); font-size: 12px; color: var(--text-faint); margin-top: 7px; }
@media (max-width: 640px) { .fn-story-inset { float: none; width: 100%; max-width: none; margin: 0 0 20px; } }


/* ===== Story footnotes (bottom notes) — v1.8.7 ===== */
.fn-story-body .fn-ref { font-family: var(--mono); font-weight: 500; font-size: .62em; line-height: 0; vertical-align: super; color: var(--accent); text-decoration: none; padding: 0 1px; scroll-margin-top: 80px; }
.fn-story-body .fn-ref:hover { color: var(--accent-deep); }
.fn-story-body .fn-ref:focus-visible { outline: 2px solid var(--accent-deep); outline-offset: 2px; border-radius: 2px; }
.story-footnotes { max-width: 640px; margin: 54px auto 0; padding-top: 26px; border-top: 1px solid var(--rule); }
.story-footnotes h2 { font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--text-faint); margin: 0 0 20px; }
.story-footnotes ol { list-style: none; margin: 0; padding: 0; }
.story-footnotes li { display: flex; gap: 13px; font-family: var(--serif); font-size: 15px; line-height: 1.6; color: var(--text-light); margin: 0 0 16px; scroll-margin-top: 80px; }
.story-footnotes li:target { background: var(--accent-soft); border-radius: 3px; box-shadow: 0 0 0 8px var(--accent-soft); }
.story-footnotes .fn-num { font-family: var(--mono); font-size: 13px; font-weight: 500; color: var(--accent-deep); flex: 0 0 auto; padding-top: 2px; }
.story-footnotes li div { flex: 1; }
.story-footnotes .fn-back { color: var(--accent); text-decoration: none; margin-left: 6px; }
.story-footnotes .fn-back:hover { color: var(--accent-deep); }


/* ===== Rough Notes tile + homepage audio marker — v1.8.8 ===== */
.fn-tile-rough { background: var(--bg-warm); border: 1px solid var(--rule); border-radius: 3px; padding: 24px 24px 26px; }
.fn-rough-body { font-family: var(--serif); font-size: 17px; line-height: 1.52; color: var(--text-light); margin-top: 0; }
.fn-rough-body p { margin: 0 0 10px; }
.fn-rough-body p:last-child { margin-bottom: 0; }
.fn-tile-audio { display: inline-block; width: 16px; height: 16px; vertical-align: middle; margin-right: 6px; color: var(--accent); }


/* ===== River foot — infinite scroll + finished end-cap (v1.8.13) ===== */
.fn-river-foot { max-width: 1340px; margin: 0 auto; padding: 56px 34px 92px; text-align: center; }
.fn-river-sentinel { height: 1px; }
.fn-river-loading { display: flex; justify-content: center; gap: 7px; }
.fn-river-loading[hidden] { display: none; }
.fn-river-loading span { width: 6px; height: 6px; border-radius: 50%; background: var(--text-lighter); animation: fn-river-bounce 1.1s infinite ease-in-out both; }
.fn-river-loading span:nth-child(2) { animation-delay: .15s; }
.fn-river-loading span:nth-child(3) { animation-delay: .30s; }
@keyframes fn-river-bounce { 0%, 80%, 100% { transform: scale(.6); opacity: .3; } 40% { transform: scale(1); opacity: .8; } }
.fn-river-end { display: flex; flex-direction: column; align-items: center; gap: 13px; }
.fn-river-end[hidden] { display: none; }
.fn-river-end::before { content: ""; width: 60px; height: 1px; background: var(--rule); }
.fn-river-end-mark { font-family: var(--serif); font-size: 21px; line-height: 1; color: var(--accent); }
.fn-river-end-label { font-family: var(--sans); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--text-faint); }
@media (max-width: 760px) { .fn-river-foot { padding: 44px 18px 72px; } }

/* ===== River-end dice — a surprise for those who reach the beginning (v1.8.17) =====
   Revealed alongside the end-cap. Click tumbles them and re-rolls the mosaic. */
#fn-dice { display: flex; justify-content: center; margin: 30px 0 74px; }
#fn-dice[hidden] { display: none; }
#fn-dice button { background: none; border: 0; padding: 12px; cursor: pointer; display: inline-flex; gap: 13px; color: var(--ink); opacity: .3; transition: opacity .3s, color .3s; }
#fn-dice button:hover { opacity: .95; color: var(--accent); }
#fn-dice .die { transition: transform .55s cubic-bezier(.2, .8, .2, 1); }
#fn-dice .die2 { transform: rotate(11deg); }
#fn-dice button.rolling .die1 { transform: rotate(-345deg); }
#fn-dice button.rolling .die2 { transform: rotate(371deg); }
