/* ==========================================================================
 * MarkFord Archive — additive styles
 * The archive loads the main WP theme stylesheet for brand parity.
 * This file only adds the archive-specific layout and controls.
 * ========================================================================== */

/* Baseline reset — the archive is a standalone PHP app, not WP, so
   there's no core WP stylesheet clearing browser defaults. Without
   this, body's default 8px margin leaves a visible white strip
   around the fixed nav and hero.  */
*, *::before, *::after { box-sizing: border-box; }
html, body {
  margin: 0;
  padding: 0;
}

/* Class-name collision with the main WP theme:
   `.mfc-archive-body` is used on WP category-archive pages as an
   INNER wrapper with `padding: 64px 24px 96px`. We reuse the same
   class on <body> of this standalone archive app, which (without
   this override) inherits that 64px/24px/96px padding and leaves
   a visible cream border around every archive page.

   This rule (body + class = specificity 0,1,1) beats the theme's
   single-class selector (0,1,0), so our zeroed-out padding wins. */
body.mfc-archive-body {
  margin: 0 !important;
  padding: 0 !important;
}

.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ---- Main wrapper ---- */
.mfc-archive-main {
  background: var(--bg-primary);
}

/* =============================================================
 * HEADER — force solid black on every archive page.
 * The main theme's nav starts semi-transparent and only turns solid
 * on scroll via nav-actions.js. That script is WP-only; on the
 * archive we have no scroll listener, so we just make it solid
 * always — cleaner anyway against the dark hero photos.
 * ============================================================= */
.mfc-archive-body .mfc-header,
.mfc-archive-body header.site-header {
  background-color: #0A0A0B !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 2px 24px rgba(0, 0, 0, 0.40) !important;
}

/* =============================================================
 * SECTION RHYTHM + HERO IMAGE FIXES
 *
 * 1. Compact hero — minimum nav clearance + tight content spacing,
 *    no wasted vertical space that reads as "empty header".
 * 2. Disable the Ken Burns zoom (scale 1.08→1.00) so Mark's face
 *    stays at natural size and never zooms past the frame.
 * 3. Reposition the image higher in the frame so his full face
 *    is in view.
 * 4. Zero padding after the last content block so the footer sits
 *    flush against the content with no visible cream gap.
 * ============================================================= */
.mfc-archive-body .mfc-archive-hero {
  padding: 98px 0 28px !important;       /* nav clearance + minimal breathing */
}
.mfc-archive-body .mfc-archive-hero.is-landing {
  padding: 120px 0 44px !important;       /* landing keeps a slightly taller brand moment */
}
.mfc-archive-body .mfc-archive-hero .crumbs { margin-bottom: 16px; }
.mfc-archive-body .mfc-archive-hero .eyebrow { margin-bottom: 12px; }
.mfc-archive-body .mfc-archive-hero h1 { font-size: clamp(34px, 4.5vw, 48px); margin: 0 0 6px; }
.mfc-archive-body .mfc-archive-hero .accent { margin: 12px 0 14px; }
.mfc-archive-body .mfc-archive-hero .desc { margin: 0; }

/* Kill zoom + reposition so full face stays in frame. */
.mfc-archive-body .mfc-archive-hero .bg {
  animation: none !important;
  transform: none !important;
  background-position: center 22% !important;   /* low enough % to catch the head */
  background-size: cover;
}

/* Slim the list section above + below so footer sits right under content. */
.mfc-archive-list-section { padding: 32px 0 0; }
.mfc-archive-related-section { padding: 40px 24px 32px; }
.mfc-archive-cat-nav { padding: 40px 24px 48px; }

@media (max-width: 768px) {
  .mfc-archive-body .mfc-archive-hero { padding: 92px 0 22px !important; }
  .mfc-archive-body .mfc-archive-hero.is-landing { padding: 100px 0 32px !important; }
  .mfc-archive-body .mfc-archive-hero h1 { font-size: 28px; }
  .mfc-archive-list-section { padding: 24px 0 0; }
  .mfc-archive-related-section { padding: 32px 20px 24px; }
  .mfc-archive-cat-nav { padding: 32px 20px 40px; }
}

/* Pagination flush under the list, no trailing gap before footer. */
.mfc-archive-pagination { margin-top: 36px; margin-bottom: 0; padding-bottom: 0; }

/* =============================================================
 * RESPONSIVE — hero + grids tuned for mobile/tablet.
 * ============================================================= */
@media (max-width: 768px) {
  /* Hero — tighter padding, smaller title/desc for phone screens. */
  .mfc-archive-body .mfc-archive-hero { padding: 110px 0 48px; }
  .mfc-archive-body .mfc-archive-hero .inner { padding: 0 20px; }
  .mfc-archive-body .mfc-archive-hero h1 { font-size: 34px; line-height: 1.1; }
  .mfc-archive-body .mfc-archive-hero .desc { font-size: 16px; }
  .mfc-archive-body .mfc-archive-hero .eyebrow { font-size: 10px; letter-spacing: 0.2em; }
  .mfc-archive-body .mfc-archive-hero .accent { margin: 14px 0 16px; }
  .mfc-archive-body .mfc-archive-hero .crumbs { font-size: 12px; margin-bottom: 16px; }

  /* Hero search — stack button under input on narrow screens. */
  .mfc-archive-hero .hero-search { flex-wrap: wrap; }
  .mfc-archive-hero .hero-search input { padding: 14px 14px; font-size: 14px; }
  .mfc-archive-hero .hero-search button { width: 100%; height: 48px; }

  /* Year ribbon — smaller pills */
  .mfc-archive-year-pill { min-width: 120px; padding: 14px 18px; }
  .mfc-archive-year-pill .year { font-size: 22px; }

  /* Section headings */
  .mfc-archive-section-title { font-size: 24px; }
}
@media (max-width: 480px) {
  .mfc-archive-body .mfc-archive-hero h1 { font-size: 28px; }
  .mfc-archive-body .mfc-archive-hero .desc { font-size: 15px; }
  .mfc-archive-year-ribbon { gap: 10px; }
  .mfc-archive-year-pill { min-width: 104px; padding: 12px 14px; }
  .mfc-archive-post-item { padding: 24px 0; }
  .mfc-archive-post-item .excerpt { font-size: 16px; }
}

/* ============================================================
 * LANDING HERO — uses the main theme's .mfc-archive-hero class
 * (dark cinematic, Mark photo bg, crumbs/eyebrow/h1/accent/desc).
 * We only add the inline search-form baked into the hero bottom.
 * ============================================================ */
.mfc-archive-hero .hero-search {
  display: flex;
  align-items: center;
  gap: 0;
  max-width: 620px;
  margin: 24px 0 0;
  background: #FFFFFF;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0,0,0,0.32);
}
.mfc-archive-hero .hero-search svg {
  flex: 0 0 auto;
  width: 20px; height: 20px;
  color: var(--text-secondary);
  margin-left: 18px;
}
.mfc-archive-hero .hero-search input {
  flex: 1 1 auto;
  border: none;
  padding: 18px 18px;
  font-family: 'DM Sans', sans-serif;
  font-size: 15px;
  outline: none;
  min-width: 0;
  color: var(--text-primary);
  background: transparent;
}
.mfc-archive-hero .hero-search button {
  flex: 0 0 auto;
  background: var(--bg-accent);
  color: #1A1A1A;
  border: none;
  padding: 0 26px;
  height: 56px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s ease;
}
.mfc-archive-hero .hero-search button:hover { background: #D9A636; }

/* ---- Landing-page section blocks ----
   Tighter padding + unified cream background so there are no awkward
   "white gaps" between sections — the archive reads as one continuous
   reading column from hero to footer. */
.mfc-archive-years,
.mfc-archive-cats,
.mfc-archive-recent {
  padding: 56px 24px;
}
/* Alternating tone for subtle separation without breaking flow. */
.mfc-archive-years { background: var(--bg-primary); }
.mfc-archive-cats  { background: var(--bg-secondary); }
.mfc-archive-recent,
.mfc-archive-list-section { background: var(--bg-primary); }

.mfc-archive-years-inner,
.mfc-archive-cats-inner,
.mfc-archive-recent-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.mfc-archive-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .mfc-archive-years,
  .mfc-archive-cats,
  .mfc-archive-recent,
  .mfc-archive-list-section {
    padding: 44px 20px;
  }
}
.mfc-archive-section-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 36px;
  letter-spacing: -0.01em;
  position: relative;
  padding-bottom: 14px;
}
.mfc-archive-section-title::after {
  content: "";
  position: absolute;
  bottom: 0; left: 0;
  width: 42px; height: 2px;
  background: var(--bg-accent);
}
.mfc-archive-section-head .mfc-archive-section-title { margin: 0; }
.mfc-archive-view-all {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--text-accent);
  text-decoration: none;
  white-space: nowrap;
}
.mfc-archive-view-all:hover { color: #D9A636; }

/* Year ribbon — horizontal scroll of year pills */
.mfc-archive-year-ribbon {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.mfc-archive-year-pill {
  background: #FFFFFF;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  padding: 18px 24px;
  min-width: 140px;
  text-decoration: none;
  color: var(--text-primary);
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.mfc-archive-year-pill:hover {
  border-color: var(--bg-accent);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}
.mfc-archive-year-pill .year {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 26px;
  font-weight: 600;
  line-height: 1;
}
.mfc-archive-year-pill .count {
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
}

/* Category list — 3-column editorial list */
.mfc-archive-cat-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px 20px;
}
@media (max-width: 900px) {
  .mfc-archive-cat-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .mfc-archive-cat-list { grid-template-columns: 1fr; }
}
.mfc-archive-cat-list a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 14px 0;
  border-bottom: 1px solid var(--color-border);
  color: var(--text-primary);
  text-decoration: none;
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: 17px;
  transition: padding-left 0.2s ease, color 0.2s ease;
}
.mfc-archive-cat-list a:hover {
  padding-left: 4px;
  color: var(--text-accent);
}
.mfc-archive-cat-list .count {
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
  flex: 0 0 auto;
}

/* Recent grid — reuses main-theme .mfc-posts-grid */
.mfc-archive-recent .mfc-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
@media (max-width: 1024px) { .mfc-archive-recent .mfc-posts-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .mfc-archive-recent .mfc-posts-grid { grid-template-columns: 1fr; } }

/* ============================================================
 * Year / Month / Category / Search — month nav chip styling.
 * All these pages now share the main-theme `.mfc-archive-hero`
 * for a consistent dark cinematic header.
 * ============================================================ */
.mfc-archive-month-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}
.mfc-archive-month-nav a {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 3px;
  padding: 8px 14px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  text-decoration: none;
  color: rgba(250,248,245,0.92);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background 0.2s ease, border-color 0.2s ease;
  backdrop-filter: blur(6px);
}
.mfc-archive-month-nav a:hover {
  border-color: var(--bg-accent);
  background: rgba(196,146,42,0.2);
}
.mfc-archive-month-nav .count {
  color: rgba(250,248,245,0.6);
  font-size: 12px;
}

/* List + pagination */
.mfc-archive-list {
  padding: 56px 24px 96px;
}
.mfc-archive-list-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.mfc-archive-list .mfc-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
@media (max-width: 1024px) { .mfc-archive-list .mfc-posts-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .mfc-archive-list .mfc-posts-grid { grid-template-columns: 1fr; } }

/* ============================================================
 * POST LIST — vertical stacked list (no title, no thumbnail).
 * Used on landing, year, month, category, and search pages.
 * Since most posts are untitled journal/postscript items, the
 * excerpt carries the weight; category eyebrow + date frame it.
 * ============================================================ */
.mfc-archive-post-list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 820px;
}
.mfc-archive-post-item {
  padding: 32px 0;
  border-bottom: 1px solid var(--color-border);
}
.mfc-archive-post-item:first-child { padding-top: 0; }
.mfc-archive-post-item:last-child  { border-bottom: none; padding-bottom: 0; }

.mfc-archive-post-item .category {
  display: inline-block;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-accent);
  text-decoration: none;
  margin-bottom: 12px;
  transition: color 0.2s ease;
}
.mfc-archive-post-item .category:hover { color: #D9A636; }

/* Inline title — sits between category eyebrow and meta. Quiet but
   present so the list scans well and each item has a real link target
   for accessibility / SEO. */
.mfc-archive-post-item-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
  font-size: 21px;
  line-height: 1.3;
  margin: 6px 0 10px;
  letter-spacing: -0.005em;
}
.mfc-archive-post-item-title a {
  color: var(--text-primary);
  text-decoration: none;
}
.mfc-archive-post-item-title a:hover { color: var(--text-accent); }

.mfc-archive-post-item .meta {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: var(--text-secondary);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.mfc-archive-post-item .meta .dot { opacity: 0.45; }

.mfc-archive-post-item .excerpt {
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: 17px;
  line-height: 1.65;
  color: var(--text-primary);
  margin: 0 0 16px;
}

.mfc-archive-post-item .more {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--text-accent);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.2s ease, color 0.2s ease;
}
.mfc-archive-post-item .more:hover { gap: 10px; color: #D9A636; }

.mfc-archive-post-item .more::after {
  content: "→";
  transition: transform 0.2s ease;
}
.mfc-archive-post-item .more:hover::after { transform: translateX(2px); }

/* --- Full-bleed list section ---
   Section extends edge-to-edge (no side padding on the wrapper) so
   the background color fills the full viewport width. The list itself
   stays at a comfortable reading width, centered. */
.mfc-archive-list-section {
  padding: 56px 0 80px;
}
.mfc-archive-list-section-inner {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 24px;
}
.mfc-archive-list-section .mfc-archive-section-head {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}
@media (max-width: 768px) {
  .mfc-archive-list-section { padding: 44px 0 64px; }
  .mfc-archive-list-section-inner { padding: 0 20px; }
}

/* Pagination */
.mfc-archive-pagination {
  margin-top: 56px;
  display: flex;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  font-family: 'DM Sans', sans-serif;
}
.mfc-archive-pagination a,
.mfc-archive-pagination .dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid var(--color-border);
  border-radius: 2px;
  background: #FFFFFF;
  color: var(--text-primary);
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s ease;
}
.mfc-archive-pagination a:hover {
  background: var(--bg-accent);
  color: #1A1A1A;
  border-color: var(--bg-accent);
}
.mfc-archive-pagination .is-current {
  background: var(--bg-accent);
  color: #1A1A1A;
  border-color: var(--bg-accent);
  font-weight: 700;
  pointer-events: none;
}
.mfc-archive-pagination .dots {
  border: none;
  background: transparent;
  color: var(--text-secondary);
}

/* ============================================================
 * SEARCH FORM
 * ============================================================ */
.mfc-archive-searchpanel {
  background: #FFFFFF;
  border-bottom: 1px solid var(--color-border);
  padding: 28px 24px 32px;
}
.mfc-archive-searchform {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1.4fr auto;
  gap: 20px 24px;
  align-items: end;
}
@media (max-width: 900px) {
  .mfc-archive-searchform { grid-template-columns: 1fr 1fr; }
  .mfc-archive-searchform .row-actions { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .mfc-archive-searchform { grid-template-columns: 1fr; }
}
.mfc-archive-searchform label {
  display: block;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin-bottom: 6px;
}
.mfc-archive-searchform input[type="search"],
.mfc-archive-searchform input[type="date"],
.mfc-archive-searchform select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--color-border);
  border-radius: 3px;
  background: #FAFAFA;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: var(--text-primary);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.mfc-archive-searchform input:focus,
.mfc-archive-searchform select:focus {
  border-color: var(--bg-accent);
  box-shadow: 0 0 0 3px rgba(196,146,42,0.12);
  background: #FFFFFF;
}
.mfc-archive-searchform .date-pair {
  display: flex;
  align-items: center;
  gap: 8px;
}
.mfc-archive-searchform .date-pair input {
  flex: 1 1 auto;
  min-width: 0;
}
.mfc-archive-searchform .date-pair .to {
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.mfc-archive-searchform .row-actions {
  display: flex;
  gap: 10px;
  align-items: end;
}
.mfc-archive-searchform .btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 28px;
  background: var(--bg-accent);
  color: #1A1A1A;
  border: 1px solid var(--bg-accent);
  border-radius: 3px;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.mfc-archive-searchform .btn-primary:hover { background: #D9A636; border-color: #D9A636; }
.mfc-archive-searchform .btn-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 44px;
  padding: 0 20px;
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--color-border);
  border-radius: 3px;
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.2s ease;
}
.mfc-archive-searchform .btn-reset:hover {
  color: var(--text-primary);
  border-color: var(--text-primary);
}
.mfc-archive-results-meta {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: var(--text-secondary);
  margin: 0 0 24px;
}

/* 404 buttons */
.mfc-archive-btn {
  display: inline-block;
  padding: 14px 28px;
  background: var(--bg-accent);
  color: #1A1A1A;
  border: 1px solid var(--bg-accent);
  border-radius: 3px;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.2s ease;
}
.mfc-archive-btn:hover { background: #D9A636; border-color: #D9A636; }
.mfc-archive-btn-outline {
  background: transparent;
  color: var(--text-primary);
  border-color: var(--text-primary);
}
.mfc-archive-btn-outline:hover {
  background: var(--text-primary);
  color: #FFFFFF;
}

/* ============================================================
 * SINGLE POST VIEW — no title, centered reading column.
 *
 * Top padding = nav height (78px) + 20px of breathing room. Without
 * the nav-height clearance, the fixed header overlaps the category
 * eyebrow; matches the .mfc-archive-hero pattern above so single
 * posts sit at the same vertical rhythm as index pages.
 * ============================================================ */
.mfc-archive-post-view {
  background: var(--bg-primary);
  padding: calc(var(--mfc-header-height) + 20px) 0 48px;
}
.mfc-archive-post-view-inner {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 24px;
}
.mfc-archive-post-cat {
  display: inline-block;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-accent);
  text-decoration: none;
  margin-bottom: 18px;
  transition: color 0.2s ease;
}
.mfc-archive-post-cat:hover { color: #D9A636; }

/* H1 — restored for SEO + accessibility. Most archive posts have no
   real WP title, so the engine generates a `display_title` from the
   first sentence of the content. We render it visibly but understated:
   serif (matches body), modest size, tight margins — it functions as
   a quiet headline rather than a page banner. */
.mfc-archive-post-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 600;
  font-size: clamp(22px, 2.4vw, 28px);
  line-height: 1.25;
  color: var(--text-primary);
  margin: 6px 0 18px;
  letter-spacing: -0.005em;
}

.mfc-archive-post-meta {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 36px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--color-border);
}
.mfc-archive-post-meta .sep { opacity: 0.45; }

.mfc-archive-post-image {
  margin: 0 0 36px;
}
.mfc-archive-post-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
}

@media (max-width: 768px) {
  .mfc-archive-post-view { padding: calc(var(--mfc-header-height) + 14px) 0 32px; }
  .mfc-archive-post-view-inner { padding: 0 20px; }
  .mfc-archive-post-meta { margin-bottom: 28px; padding-bottom: 20px; }
  .mfc-archive-post-image { margin-bottom: 28px; }
}

/* ============================================================
 * RELATED POSTS (single-post footer) — full-width cream band
 * containing a centered list of related essays.
 * ============================================================ */
.mfc-archive-related-section {
  background: var(--bg-secondary);
  border-top: 1px solid var(--color-border);
  padding: 64px 24px 48px;
}
.mfc-archive-related-inner {
  max-width: 820px;
  margin: 0 auto;
}
.mfc-archive-related-header {
  text-align: center;
  margin-bottom: 36px;
}
.mfc-archive-related-header .eyebrow {
  display: inline-block;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-accent);
  margin-bottom: 10px;
}
.mfc-archive-related-header h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  letter-spacing: -0.01em;
}
.mfc-archive-related-header h2 .cat-name {
  font-style: italic;
  font-weight: 400;
  color: var(--text-secondary);
}
.mfc-archive-related-more {
  text-align: center;
  margin: 32px 0 0;
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
}
.mfc-archive-related-more a {
  color: var(--text-accent);
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.04em;
  transition: color 0.2s ease;
}
.mfc-archive-related-more a:hover { color: #D9A636; text-decoration: underline; }

/* The related section uses .mfc-archive-post-list from earlier; the
   cream background plays nicely with white list items. */
.mfc-archive-related-section .mfc-archive-post-list { max-width: none; }


/* ============================================================
 * END-OF-POST CATEGORY NAVIGATION — 3-col grid, compact, full
 * width so users can jump anywhere in the archive from any post.
 * ============================================================ */
.mfc-archive-cat-nav {
  background: var(--bg-primary);
  border-top: 1px solid var(--color-border);
  padding: 56px 24px 72px;
}
.mfc-archive-cat-nav-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.mfc-archive-cat-nav .mfc-archive-cat-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 900px) {
  .mfc-archive-cat-nav .mfc-archive-cat-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .mfc-archive-cat-nav .mfc-archive-cat-list { grid-template-columns: 1fr; }
}
.mfc-archive-cat-nav .mfc-archive-cat-list a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid var(--color-border);
  color: var(--text-primary);
  text-decoration: none;
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: 16px;
  transition: padding-left 0.2s ease, color 0.2s ease;
}
.mfc-archive-cat-nav .mfc-archive-cat-list a:hover {
  padding-left: 6px;
  color: var(--text-accent);
}
.mfc-archive-cat-nav .mfc-archive-cat-list a.is-current {
  color: var(--text-accent);
  font-weight: 600;
  pointer-events: none;
}
.mfc-archive-cat-nav .mfc-archive-cat-list a.is-current::after {
  content: " (you're here)";
  font-style: italic;
  font-size: 12px;
  color: var(--text-secondary);
  font-weight: 400;
  margin-left: 6px;
}
.mfc-archive-cat-nav .count {
  font-family: 'DM Sans', sans-serif;
  font-size: 12px;
  color: var(--text-secondary);
  letter-spacing: 0.04em;
}

/* ============================================================
 * POST CONTENT — editorial typography
 * ============================================================ */
.mfc-post-content {
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: 19px;
  line-height: 1.75;
  color: var(--text-primary);
}
.mfc-post-content p { margin: 0 0 22px; }
.mfc-post-content h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 28px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 44px 0 16px;
  letter-spacing: -0.01em;
}
.mfc-post-content h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 22px;
  font-weight: 600;
  color: var(--text-primary);
  margin: 36px 0 14px;
}
.mfc-post-content a {
  color: var(--text-accent);
  text-decoration: underline;
  text-decoration-color: rgba(196,146,42,0.4);
  text-underline-offset: 2px;
}
.mfc-post-content a:hover { text-decoration-color: var(--bg-accent); }
.mfc-post-content blockquote {
  border-left: 3px solid var(--bg-accent);
  padding: 2px 0 2px 22px;
  margin: 28px 0;
  font-style: italic;
  color: var(--text-secondary);
}
.mfc-post-content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 28px auto;
  border-radius: 3px;
}
.mfc-post-content ul,
.mfc-post-content ol {
  padding-left: 26px;
  margin: 0 0 22px;
}
.mfc-post-content li { margin-bottom: 8px; }
