/* PrepZen — editorial theme for every page except the homepage.
   Inspired by ProPublica / The Intercept: white pages, deep-black type, serif
   headlines, uppercase labels, thin black rules, one restrained red accent.
   Loaded only when <body> has .theme-editorial (see includes/header.php), and
   restyles the existing Tailwind markup — no page content changes. */

.theme-editorial {
  --ed-ink: #0A0A0A;
  --ed-text: #1A1A1A;
  --ed-muted: #5E5E5E;
  --ed-faint: #8A8A8A;
  --ed-rule: #E3E3E3;
  --ed-tint: #F5F5F3;
  --ed-accent: #C8102E;
  --ed-serif: 'Newsreader', 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --ed-sans: Inter, 'Helvetica Neue', Arial, sans-serif;
  background: #FFFFFF !important;
  color: var(--ed-text);
  font-family: var(--ed-sans);
}

/* ── Header ─────────────────────────────────────────────────────────────── */
.theme-editorial .ticker-bar { background: #000; color: #EDEDED; }
.theme-editorial .ticker-bar .text-brand-yellow { color: #fff !important; }
.theme-editorial .wx-select { border-color: rgb(255 255 255 / .3); }
.theme-editorial .masthead { background: #fff; border-bottom: 1px solid var(--ed-ink); }
.theme-editorial .wordmark { color: var(--ed-ink); letter-spacing: -0.035em; }
.theme-editorial .wordmark-accent { color: var(--ed-accent); }
.theme-editorial .masthead-tagline { font-family: var(--ed-serif); color: var(--ed-muted); font-size: .8rem; }
.theme-editorial .masthead input { border-color: #CFCFCF !important; border-radius: 0 !important; }
.theme-editorial .btn-crimson { background: var(--ed-ink); border-radius: 0; letter-spacing: .08em; }
.theme-editorial .btn-crimson:hover { background: var(--ed-accent); }
.theme-editorial .section-nav { background: #fff; border-bottom: 3px solid var(--ed-ink); }
.theme-editorial .section-link { color: var(--ed-ink); border-right: 0; font-family: var(--ed-sans); font-weight: 800; letter-spacing: .1em; }
.theme-editorial .section-link:hover, .theme-editorial .section-link.is-active { color: var(--ed-accent); }
.theme-editorial .section-link.is-active { box-shadow: inset 0 -3px 0 var(--ed-accent); padding-bottom: 12px; padding-top: 14px; }

/* ── Typography ─────────────────────────────────────────────────────────── */
.theme-editorial h1:not(.sr-only) {
  font-family: var(--ed-serif) !important; font-weight: 700 !important; color: var(--ed-ink) !important;
  letter-spacing: -0.015em; line-height: 1.08 !important;
}
.theme-editorial article h1, .theme-editorial h1.text-3xl, .theme-editorial h1.text-2xl { font-size: clamp(2rem, 4.2vw, 3.1rem) !important; }
.theme-editorial h2, .theme-editorial h3 { font-family: var(--ed-serif); color: var(--ed-ink); letter-spacing: -0.01em; }
.theme-editorial h2.font-bold, .theme-editorial h2.font-extrabold { font-weight: 700; }
.theme-editorial .text-ink-primary { color: var(--ed-ink) !important; }
.theme-editorial .text-ink-muted, .theme-editorial .text-gray-400, .theme-editorial .text-gray-500 { color: var(--ed-muted) !important; }
.theme-editorial .text-ink-light { color: var(--ed-faint) !important; }
.theme-editorial .prose, .theme-editorial .prose p, .theme-editorial .prose li { font-family: var(--ed-serif); font-size: 1.12rem; line-height: 1.75; color: var(--ed-text); }
.theme-editorial .prose a, .theme-editorial .fa-body a { color: var(--ed-ink); text-decoration: underline; text-decoration-color: var(--ed-accent); text-underline-offset: 3px; }

/* Accent text: every brand/tint colour becomes black or the single red accent */
.theme-editorial .text-brand-yellow, .theme-editorial .text-amber-700, .theme-editorial .text-amber-800, .theme-editorial .text-amber-900,
.theme-editorial [class*="text-blue-"], .theme-editorial [class*="text-teal-"], .theme-editorial [class*="text-purple-"],
.theme-editorial [class*="text-indigo-"], .theme-editorial [class*="text-green-"], .theme-editorial [class*="text-red-"],
.theme-editorial [class*="text-orange-"], .theme-editorial [class*="text-yellow-"], .theme-editorial [class*="text-gray-7"] { color: var(--ed-ink) !important; }
.theme-editorial a.text-brand-yellow, .theme-editorial a .text-brand-yellow { color: var(--ed-accent) !important; }
.theme-editorial .hover\:text-brand-yellow:hover, .theme-editorial .group:hover .group-hover\:text-brand-yellow,
.theme-editorial [class*="hover:text-"]:hover, .theme-editorial .group:hover [class*="group-hover:text-"] { color: var(--ed-accent) !important; }

/* ── Surfaces: no rounded cards, no shadows, no gradients ──────────────── */
.theme-editorial [class*="rounded"]:not(.rounded-full):not(img) { border-radius: 0 !important; }
.theme-editorial .shadow-card, .theme-editorial [class*="shadow"] { box-shadow: none !important; }
.theme-editorial .bg-surface-card { background: #fff !important; }
.theme-editorial .bg-surface-light { background: #fff !important; }
.theme-editorial .border-gray-100, .theme-editorial .border-gray-200 { border-color: var(--ed-rule) !important; }

/* Cards/list items become rule-separated rows */
.theme-editorial a.bg-surface-card.border, .theme-editorial div.bg-surface-card.border {
  border-width: 0 0 1px 0 !important; border-color: var(--ed-rule) !important; padding-left: 0 !important; padding-right: 0 !important;
}
.theme-editorial a.bg-surface-card.border:hover { background: #fff !important; }

/* Tinted panels → neutral */
.theme-editorial [class~="bg-blue-50"], .theme-editorial [class~="bg-blue-100"], .theme-editorial [class~="bg-teal-50"], .theme-editorial [class~="bg-teal-100"],
.theme-editorial [class~="bg-green-50"], .theme-editorial [class~="bg-purple-50"], .theme-editorial [class~="bg-purple-100"], .theme-editorial [class~="bg-indigo-50"],
.theme-editorial [class~="bg-amber-50"], .theme-editorial [class~="bg-red-50"], .theme-editorial [class~="bg-red-100"], .theme-editorial [class~="bg-rose-50"],
.theme-editorial [class~="bg-brand-yellow-ll"], .theme-editorial [class~="bg-brand-yellow-l"] {
  background: var(--ed-tint) !important; border-color: var(--ed-rule) !important;
}
.theme-editorial [class*="border-l-4"], .theme-editorial [class*="border-l-2"] { border-left-color: var(--ed-ink) !important; }

/* Section heading accent bars (w-1 h-6 coloured pills) → black */
.theme-editorial span.w-1, .theme-editorial div.w-1 { background: var(--ed-ink) !important; border-radius: 0 !important; }
.theme-editorial .w-2.h-2.rounded-full, .theme-editorial .w-1\.5.h-1\.5.rounded-full { background: var(--ed-accent) !important; }

/* Colourful page banners → editorial page header */
.theme-editorial .bg-gradient-to-br:not(.from-surface-dark):not(.from-slate-800):not(.from-amber-400) {
  background: #fff !important; background-image: none !important; color: var(--ed-ink) !important;
  border-top: 6px solid var(--ed-ink); border-bottom: 1px solid var(--ed-ink);
  padding: 28px 0 24px !important; border-radius: 0 !important;
}
.theme-editorial .bg-gradient-to-br:not(.from-surface-dark):not(.from-slate-800):not(.from-amber-400) h1 { font-size: clamp(2.4rem, 5vw, 3.6rem) !important; }
.theme-editorial .bg-gradient-to-br:not(.from-surface-dark):not(.from-slate-800):not(.from-amber-400) p,
.theme-editorial .bg-gradient-to-br:not(.from-surface-dark):not(.from-slate-800):not(.from-amber-400) [class*="text-blue-1"],
.theme-editorial .bg-gradient-to-br:not(.from-surface-dark):not(.from-slate-800):not(.from-amber-400) [class*="text-teal-1"],
.theme-editorial .bg-gradient-to-br:not(.from-surface-dark):not(.from-slate-800):not(.from-amber-400) [class*="text-green-1"],
.theme-editorial .bg-gradient-to-br:not(.from-surface-dark):not(.from-slate-800):not(.from-amber-400) .text-white {
  color: var(--ed-muted) !important; font-family: var(--ed-serif); font-size: 1.15rem; max-width: 46rem;
}
/* Placeholder thumbnails with gradients */
.theme-editorial .h-36.bg-gradient-to-br, .theme-editorial .h-44.bg-gradient-to-br { border: 0; padding: 0 !important; background: var(--ed-tint) !important; }

/* Dark promo blocks stay dark — pure black */
.theme-editorial .bg-gradient-to-br.from-surface-dark, .theme-editorial .bg-gradient-to-br.from-slate-800, .theme-editorial .bg-surface-dark {
  background: #000 !important; background-image: none !important; border-radius: 0 !important;
}
/* Yellow "Keep learning" CTA → black-bordered panel */
.theme-editorial .bg-gradient-to-br.from-amber-400 {
  background: #fff !important; background-image: none !important; border: 2px solid var(--ed-ink); border-radius: 0 !important;
}

/* ── Labels, pills, filters, buttons ───────────────────────────────────── */
/* Coloured category pills → uppercase kicker text */
.theme-editorial span.rounded-full[class*="px-2"], .theme-editorial span.rounded-full[class*="px-3"],
.theme-editorial a.rounded-full[class*="text-xs"]:not(.border) {
  background: transparent !important; border: 0 !important; padding: 0 !important;
  color: var(--ed-accent) !important; font-family: var(--ed-sans); font-weight: 800 !important;
  font-size: 11px !important; letter-spacing: .12em; text-transform: uppercase;
}
/* Filter chips → square outlined tabs; the active one solid black */
.theme-editorial a.rounded-full.border, .theme-editorial button.rounded-full.border {
  border-radius: 0 !important; border: 1px solid var(--ed-ink) !important; background: #fff !important;
  color: var(--ed-ink) !important; font-weight: 700; letter-spacing: .04em; padding: 6px 12px !important;
}
.theme-editorial a.rounded-full.border:hover { background: var(--ed-ink) !important; color: #fff !important; }
.theme-editorial a.rounded-full.border[class~="bg-blue-600"], .theme-editorial a.rounded-full.border[class~="bg-green-600"],
.theme-editorial a.rounded-full.border[class~="bg-teal-600"], .theme-editorial a.rounded-full.border[class~="bg-brand-yellow"] {
  background: var(--ed-ink) !important; color: #fff !important;
}
/* Solid buttons → black, square */
.theme-editorial a.bg-brand-yellow, .theme-editorial button.bg-brand-yellow,
.theme-editorial a[class~="bg-blue-600"]:not(.border), .theme-editorial a[class~="bg-teal-600"]:not(.border), .theme-editorial a[class~="bg-green-600"]:not(.border),
.theme-editorial a[class~="bg-red-500"], .theme-editorial button[class~="bg-red-500"] {
  background: var(--ed-ink) !important; color: #fff !important; border-radius: 0 !important;
  letter-spacing: .06em; text-transform: uppercase; font-size: .8rem !important;
}
.theme-editorial a.bg-brand-yellow:hover, .theme-editorial a[class~="bg-red-500"]:hover { background: var(--ed-accent) !important; }
.theme-editorial .bg-brand-yellow:not(a):not(button) { background: var(--ed-ink) !important; color: #fff !important; }

/* Numbered/icon badges (w-6 h-6 / w-10 h-10 rounded tinted squares) */
.theme-editorial .w-6.h-6.rounded-full, .theme-editorial .w-5.h-5.rounded-full { background: var(--ed-ink) !important; color: #fff !important; border-color: var(--ed-ink) !important; }

/* Breadcrumb & pagination */
.theme-editorial nav[aria-label="Breadcrumb"] ol { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.theme-editorial nav[aria-label="Breadcrumb"] a { color: var(--ed-muted); }
.theme-editorial nav[aria-label="Pagination"] a, .theme-editorial nav[aria-label="Pagination"] span { border-radius: 0 !important; }
.theme-editorial nav[aria-label="Pagination"] a:hover { border-color: var(--ed-ink) !important; color: var(--ed-ink) !important; }

/* Accordions (GK, notes, FAQ) */
.theme-editorial .gk-toggle, .theme-editorial .notes-toggle, .theme-editorial .faq-toggle {
  background: #fff !important; font-family: var(--ed-serif); font-size: 1.05rem !important; color: var(--ed-ink) !important;
}
.theme-editorial .gk-toggle:hover, .theme-editorial .notes-toggle:hover { color: var(--ed-accent) !important; }

/* Tables */
.theme-editorial .table-auto th { background: var(--ed-ink); }
.theme-editorial table { border-color: var(--ed-rule); }

/* Sidebar */
.theme-editorial aside > div.bg-surface-card { border-top: 2px solid var(--ed-ink) !important; padding-left: 0 !important; padding-right: 0 !important; }
.theme-editorial aside h3 { font-family: var(--ed-sans) !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .14em; text-transform: uppercase; }
.theme-editorial aside input { border-radius: 0 !important; }

/* Figures & images */
.theme-editorial .content-figure img, .theme-editorial .thumb-16x9 { border: 0; }
.theme-editorial .content-figure figcaption { font-family: var(--ed-sans); color: var(--ed-faint); }

/* ── Full exam-focused article (fa-*) in the editorial look ─────────────── */
.theme-editorial .fa-byline { font-family: var(--ed-sans); text-transform: uppercase; letter-spacing: .08em; font-size: 11px; color: var(--ed-muted); border-top: 1px solid var(--ed-rule); border-bottom: 1px solid var(--ed-rule); padding: 10px 0; }
.theme-editorial .fa-byline a { color: var(--ed-ink); font-weight: 800; }
.theme-editorial .fa-body { font-family: var(--ed-serif); font-size: 1.15rem; line-height: 1.78; color: var(--ed-text); }
.theme-editorial .fa-h2 { font-family: var(--ed-serif); font-size: 1.6rem; font-weight: 700; color: var(--ed-ink); margin: 36px 0 12px; }
.theme-editorial .fa-h2 span { display: none; }
.theme-editorial .fa-label { color: var(--ed-accent); font-family: var(--ed-sans); }
.theme-editorial .fa-summary { background: #fff; border: 0; border-left: 4px solid var(--ed-accent); padding: 4px 0 4px 18px; }
.theme-editorial .fa-summary p { font-size: 1.3rem; line-height: 1.55; color: var(--ed-ink); }
.theme-editorial .fa-chip { background: #fff; border: 1px solid var(--ed-ink); border-radius: 0; color: var(--ed-ink); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 10px; }
.theme-editorial .fa-remember { background: var(--ed-ink); border: 0; border-radius: 0; padding: 22px 24px 10px; color: #fff; }
.theme-editorial .fa-remember-title { color: #fff; font-family: var(--ed-sans); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; border-bottom: 1px solid #333; padding-bottom: 10px; }
.theme-editorial .fa-remember li { color: #fff; font-family: var(--ed-serif); font-weight: 500; font-size: 1.08rem; }
.theme-editorial .fa-remember li::marker { color: var(--ed-accent); font-family: var(--ed-sans); font-weight: 800; }
.theme-editorial .fa-gk { background: var(--ed-tint); border-left: 4px solid var(--ed-ink); }
.theme-editorial .fa-gk-title { color: var(--ed-ink); font-family: var(--ed-sans); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.theme-editorial .fa-table th { background: var(--ed-tint); }
.theme-editorial .fa-mcq { border-radius: 0; border: 0; border-top: 2px solid var(--ed-ink); padding-left: 0; padding-right: 0; }
.theme-editorial .fa-answer summary { color: var(--ed-accent); text-transform: uppercase; letter-spacing: .08em; font-size: 11px; }
.theme-editorial .fa-answer p { background: var(--ed-tint); border: 0; border-left: 3px solid var(--ed-ink); border-radius: 0; }
.theme-editorial .fa-short { background: #fff; border: 1px solid var(--ed-ink); border-radius: 0; font-family: var(--ed-sans); font-size: .95rem; }
.theme-editorial .fa-faqs summary { color: var(--ed-ink); font-family: var(--ed-serif); font-size: 1.12rem; }
.theme-editorial .fa-sources { border-top: 3px solid var(--ed-ink); }
.theme-editorial .fa-sources a { color: var(--ed-ink); text-decoration-color: var(--ed-accent); }
.theme-editorial .fa-official { background: var(--ed-ink); color: #fff; border-radius: 0; }

/* ── Footer ─────────────────────────────────────────────────────────────── */
.theme-editorial footer.bg-surface-dark { background: #000 !important; border-top: 0 !important; color: #BDBDBD; }
.theme-editorial footer h3 { font-family: var(--ed-sans) !important; font-size: 11px !important; letter-spacing: .14em; text-transform: uppercase; border-color: #2A2A2A !important; color: #fff !important; }
.theme-editorial footer .wordmark-accent, .theme-editorial footer span[style*="FA6400"] { color: var(--ed-accent) !important; }
.theme-editorial footer a.bg-brand-yellow { background: #fff !important; color: #000 !important; }
.theme-editorial footer a:hover { color: #fff !important; }
.theme-editorial footer .text-brand-yellow { color: #fff !important; }

/* Floating CTA */
.theme-editorial #floating-cta > div { background: #000 !important; color: #fff; border-radius: 0 !important; }
.theme-editorial #floating-cta a { background: #fff !important; color: #000 !important; }

/* Focus ring */
.theme-editorial :focus-visible { outline-color: var(--ed-accent); }

/* Text inside black promo blocks stays light */
.theme-editorial .bg-gradient-to-br.from-surface-dark h1, .theme-editorial .bg-gradient-to-br.from-surface-dark h2, .theme-editorial .bg-gradient-to-br.from-surface-dark h3,
.theme-editorial .bg-gradient-to-br.from-slate-800 h2, .theme-editorial .bg-surface-dark h2, .theme-editorial .bg-surface-dark h3 { color: #fff !important; }
.theme-editorial .bg-gradient-to-br.from-surface-dark .text-brand-yellow, .theme-editorial .bg-surface-dark .text-brand-yellow { color: #fff !important; }
.theme-editorial .bg-gradient-to-br.from-surface-dark .text-gray-400, .theme-editorial .bg-gradient-to-br.from-surface-dark .text-gray-300 { color: #BDBDBD !important; }
.theme-editorial .bg-gradient-to-br.from-surface-dark a.bg-brand-yellow { background: #fff !important; color: #000 !important; }
.theme-editorial .bg-gradient-to-br.from-surface-dark a.bg-brand-yellow:hover { background: var(--ed-accent) !important; color: #fff !important; }

/* Pagination keeps boxed page numbers (not row-style cards) */
.theme-editorial nav[aria-label="Pagination"] a.border {
  border-width: 1px !important; border-color: #CFCFCF !important; padding: 8px 14px !important; color: var(--ed-ink) !important;
}

/* Footer: readable grey on black */
.theme-editorial footer .text-gray-400, .theme-editorial footer .text-gray-500, .theme-editorial footer .text-ink-muted { color: #A8A8A8 !important; }

/* ── Intercept-style story blocks (listing pages) ───────────────────────── */
.theme-editorial { --ix-display: 'Archivo', 'Arial Narrow', Arial, sans-serif; --ix-mono: 'IBM Plex Mono', ui-monospace, Consolas, monospace; }
.ix-pagehead { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--ed-ink); padding-bottom: 14px; margin-bottom: 16px; }
.theme-editorial .ix-pagehead h1 { font-family: var(--ix-display) !important; font-stretch: 75%; font-weight: 900 !important; font-size: clamp(2.6rem, 6vw, 4.6rem) !important; line-height: .95 !important; letter-spacing: -0.01em; }
.ix-count { font-family: var(--ix-mono); font-size: 13px; color: var(--ed-muted); white-space: nowrap; }

/* Filter bar */
.ix-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 18px; padding: 4px 0 26px; border-bottom: 1px solid var(--ed-rule); margin-bottom: 8px; }
.ix-filters label { display: flex; flex-direction: column; gap: 4px; }
.ix-filters label span { font-family: var(--ed-sans); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--ed-muted); }
.ix-filters select { appearance: none; -webkit-appearance: none; min-width: 230px; padding: 10px 38px 10px 12px; border: 1px solid var(--ed-ink); border-radius: 0; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230A0A0A' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center; font-family: var(--ed-sans); font-weight: 700; font-size: 14px; color: var(--ed-ink); cursor: pointer; }
.ix-filters select:focus { outline: 2px solid var(--ed-accent); outline-offset: 1px; }
.ix-clear { font-family: var(--ix-mono); font-size: 13px; color: var(--ed-accent); padding-bottom: 10px; }

/* Block */
.ix-block { border-top: 1px solid var(--ed-ink); padding-top: 18px; margin-top: 46px; }
.ix-title { font-family: var(--ix-display) !important; font-stretch: 75%; font-weight: 900; font-size: clamp(2.3rem, 5vw, 3.7rem); line-height: 1; color: var(--ed-ink); letter-spacing: -0.005em; margin: 0 0 34px; }
.ix-grid { display: grid; grid-template-columns: 1fr; gap: 28px; border-top: 1px solid var(--ed-rule); padding-top: 26px; }
@media (min-width: 1024px) { .ix-grid { grid-template-columns: 1.9fr 1fr; gap: 50px; } }
.ix-lead-link { display: block; }
.ix-lead-img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; display: block; background: #111; }
.ix-lead-h { font-family: var(--ix-display) !important; font-stretch: 75%; font-weight: 800; text-transform: uppercase; font-size: clamp(1.7rem, 3.2vw, 2.55rem); line-height: 1.02; color: var(--ed-ink); margin: 20px 0 10px; letter-spacing: 0; }
.ix-lead-link:hover .ix-lead-h { color: var(--ed-accent); }
.ix-dek { font-family: var(--ed-serif); font-size: 1.12rem; line-height: 1.55; color: #333; margin: 0 0 10px; max-width: 46rem; }
.ix-meta { font-family: var(--ix-mono); font-size: 13px; color: var(--ed-accent); margin: 0; letter-spacing: .01em; }
.ix-credit { font-family: var(--ed-sans); font-size: 10.5px; color: var(--ed-faint); margin-top: 6px; }
.ix-side { display: flex; flex-direction: column; }
.ix-item { border-top: 1px solid var(--ed-rule); padding: 22px 0; }
.ix-item:first-child { border-top: 0; padding-top: 0; }
.ix-item-link { display: grid; grid-template-columns: 120px 1fr; gap: 18px; align-items: start; }
@media (min-width: 640px) { .ix-item-link { grid-template-columns: 150px 1fr; gap: 22px; } }
.ix-thumb { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; background: #111; }
.ix-item-h { font-family: var(--ix-display) !important; font-stretch: 85%; font-weight: 800; font-size: 1.32rem; line-height: 1.12; color: var(--ed-ink); margin: 0 0 10px; }
.ix-item-link:hover .ix-item-h { color: var(--ed-accent); }
.ix-more { display: inline-block; margin-top: 18px; font-family: var(--ix-mono); font-size: 14px; color: var(--ed-ink); border-bottom: 2px solid var(--ed-accent); padding-bottom: 2px; }
.ix-more:hover { color: var(--ed-accent); }
.ix-all { margin: 56px 0 10px; border-top: 3px solid var(--ed-ink); padding-top: 18px; }
.ix-all a { font-family: var(--ix-display); font-stretch: 75%; font-weight: 900; font-size: 1.8rem; text-transform: uppercase; color: var(--ed-ink); }
.ix-all a:hover { color: var(--ed-accent); }

/* No-photo placeholder: black tile with the section name */
.ix-ph { display: flex; align-items: flex-end; background: #0A0A0A; color: #fff; padding: 12px; overflow: hidden; }
.ix-ph span { font-family: var(--ix-display); font-stretch: 75%; font-weight: 900; text-transform: uppercase; line-height: .95; font-size: 1.05rem; letter-spacing: .01em; }
.ix-lead-img.ix-ph { padding: 26px; }
.ix-lead-img.ix-ph span { font-size: clamp(2.2rem, 5vw, 4rem); color: #fff; }
.ix-lead-img.ix-ph::before, .ix-thumb.ix-ph::before { content: ''; position: absolute; }
.ix-thumb.ix-ph span { font-size: .95rem; }
.ix-card-img.ix-ph span { font-size: 1.4rem; }

/* Card grid */
.ix-cards { display: grid; grid-template-columns: 1fr; gap: 34px 28px; margin-top: 46px; border-top: 1px solid var(--ed-ink); padding-top: 28px; }
@media (min-width: 640px) { .ix-cards { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .ix-cards { grid-template-columns: repeat(3, 1fr); } }
.ix-card a { display: block; }
.ix-card-img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; background: #111; margin-bottom: 12px; }
.ix-kicker { font-family: var(--ed-sans); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--ed-accent); margin: 0 0 6px; }
.ix-card-h { font-family: var(--ix-display) !important; font-stretch: 85%; font-weight: 800; font-size: 1.28rem; line-height: 1.12; color: var(--ed-ink); margin: 0 0 8px; }
.ix-card a:hover .ix-card-h { color: var(--ed-accent); }
.ix-ph { display: flex !important; }
