/* ═══════════════════════════════════════════
   FITCHEF COMPONENTS v4.0
   Every component is fc- namespaced. BEM structure.
   ═══════════════════════════════════════════ */

/* ─── Mag Header ─────────────────────────── */
.fc-mag-header {
  display: flex;
  align-items: center;
  gap: var(--fc-space-5);
}
.fc-mag-logo {
  font-family: var(--fc-serif);
  font-size: var(--fc-text-h2);
  font-weight: var(--fc-w-regular);
  color: var(--fc-ink);
  letter-spacing: -0.3px;
  flex-shrink: 0;
}
.fc-mag-logo__dot { color: var(--fc-accent); }
.fc-mag-header__rule {
  flex: 1;
  height: 1px;
  background: var(--fc-border);
}
.fc-mag-header__series {
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-black);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--fc-dim);
  white-space: nowrap;
  flex-shrink: 0;
}

/* ─── Article Title ──────────────────────── */
.fc-article-title {
  font-family: var(--fc-serif);
  font-size: var(--fc-text-hero);
  line-height: var(--fc-lh-tight);
  font-weight: var(--fc-w-regular);
  letter-spacing: -2px;
}

/* ─── Article Body — "Reading Room" v3.3 ──── */
.fc-article-body {
  font-family: var(--fc-serif);
  font-size: var(--fc-text-prose);
  line-height: 1.75;
  color: var(--fc-body);
  max-width: 44rem; /* ~65 chars/line at 21px Georgia — dwell-time sweet spot */
}
.fc-article-body p {
  margin-bottom: 1.4em;
}
.fc-article-body h2 {
  font-family: var(--fc-sans);
  font-size: 1.55rem;
  font-weight: var(--fc-w-extrabold);
  letter-spacing: -0.4px;
  margin: 2.5em 0 0.8em;
  padding-top: 1.5em;
  color: var(--fc-ink);
  line-height: 1.25;
}
.fc-article-body h2:first-child {
  padding-top: 0;
  margin-top: 0;
}
.fc-article-body h3 {
  font-family: var(--fc-sans);
  font-size: 1.15rem;
  font-weight: var(--fc-w-bold);
  margin: 1.8em 0 0.6em;
  color: var(--fc-ink);
  letter-spacing: -0.2px;
}
.fc-article-body blockquote {
  border-left: 3px solid var(--fc-accent);
  padding-left: var(--fc-space-6);
  margin: 1.8em 0;
  color: var(--fc-dim);
  font-style: italic;
  font-size: 20px;
}
.fc-article-body ul,
.fc-article-body ol {
  margin: 1em 0 1.5em var(--fc-space-6);
}
.fc-article-body li {
  margin-bottom: 0.6em;
  line-height: 1.7;
}
.fc-article-body a {
  color: var(--fc-accent);
  text-decoration: none;
  font-weight: var(--fc-w-medium);
  transition: opacity 0.15s;
}
.fc-article-body a:hover {
  opacity: 0.7;
}
.fc-article-body strong {
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
}
/* Dark-background blocks (skeptic check, etc.) — bold inherits white text, not dark ink.
   Double-class specificity beats .fc-article-body strong AND .fc-study-narrative strong (truth.css). */
.fc-article-body .fc-dark-block strong {
  color: inherit;
}
/* Skeptic check text: child <p> tags must inherit color from the wrapper div, not fall back to dark ink. */
.fc-dark-block__text p {
  color: inherit;
  margin: 0 0 var(--fc-space-4) 0;
}
.fc-dark-block__text p:last-child {
  margin-bottom: 0;
}

/* ─── Kicker ─────────────────────────────── */
.fc-kicker {
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-black);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--fc-accent);
}

/* ─── Section Label ──────────────────────── */
.fc-label {
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-black);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--fc-accent);
  margin-bottom: var(--fc-space-4);
}

/* ─── Card ───────────────────────────────── */
.fc-card {
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-sm);
  padding: var(--fc-space-8) var(--fc-space-6);
  box-shadow: var(--fc-shadow);
}

/* ─── Myth Card ──────────────────────────── */
.fc-myth {
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius);
  padding: 32px 30px 28px;
  box-shadow: var(--fc-shadow);
  position: relative;
  margin: 2em 0;
}
.fc-myth__badge {
  position: absolute;
  top: -12px;
  left: 26px;
}
.fc-myth__claim {
  font-size: 1.08rem;
  font-weight: var(--fc-w-semibold);
  color: var(--fc-ink);
  text-decoration: line-through;
  text-decoration-color: var(--fc-ghost);
  line-height: var(--fc-lh-ui);
  margin-top: var(--fc-space-2);
  margin-bottom: var(--fc-space-3);
}
.fc-myth__truth {
  font-size: 0.92rem;
  color: var(--fc-dim);
  line-height: 1.7;
}

/* ─── Pill ───────────────────────────────── */
.fc-pill {
  display: inline-flex;
  font-size: 0.58rem;
  font-weight: var(--fc-w-black);
  letter-spacing: 1.8px;
  text-transform: uppercase;
  padding: 5px 14px;
  border-radius: var(--fc-radius-pill);
  line-height: 1;
}
.fc-pill--verdict {
  background: var(--fc-accent-dim);
  color: var(--fc-accent);
}
.fc-pill--emerging {
  background: var(--fc-info-bg);
  color: var(--fc-info);
}
.fc-pill--contested {
  background: var(--fc-contested-bg);
  color: var(--fc-contested);
}

/* ─── Confidence Card ────────────────────── */
.fc-confidence {
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-sm);
  padding: 32px 24px 24px;
  box-shadow: var(--fc-shadow);
  text-align: center;
}
.fc-confidence__number {
  font-size: 4.8rem;
  font-weight: var(--fc-w-light);
  letter-spacing: -3px;
  line-height: 1;
  color: var(--fc-ink);
}
.fc-confidence__verdict {
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-black);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--fc-accent);
  margin-top: 2px;
}
.fc-confidence__bar {
  height: 4px;
  background: var(--fc-rail);
  border-radius: 2px;
  margin-top: 22px;
  overflow: hidden;
}
.fc-confidence__fill {
  height: 100%;
  background: var(--fc-accent);
  border-radius: 2px;
}

/* ─── Nav Rail — Dark Monolith ──────────── */
.fc-nav {
  width: var(--fc-nav-width);
  min-width: var(--fc-nav-width);
  height: 100%;
  background: var(--fc-rail-dark);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 0 18px;
  overflow: hidden;
}

/* Logo — naked icon with accent underline */
.fc-nav__logo {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  text-decoration: none;
  position: relative;
  transition: transform 0.2s;
}
.fc-nav__logo:hover {
  transform: scale(1.05);
}
.fc-nav__logo::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 2px;
  background: var(--fc-accent);
  border-radius: 1px;
}
.fc-nav__logo svg {
  width: 24px;
  height: auto;
  display: block;
  fill: white;
}

/* Search icon — triggers search modal */
.fc-nav__search {
  width: 48px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--fc-radius-xs);
  cursor: pointer;
  transition: background 0.2s ease;
  margin-bottom: 8px;
  text-decoration: none;
  background: none;
  border: none;
  padding: 0;
}
.fc-nav__search:hover { background: var(--fc-rail-hover); }
.fc-nav__search .fc-nav-item__icon { color: var(--fc-rail-label); transition: color 0.2s ease; }
.fc-nav__search:hover .fc-nav-item__icon { color: var(--fc-accent); }

/* Nav items — dark variant */
.fc-nav-item {
  width: 48px;
  padding: 10px 0 7px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  border-radius: var(--fc-radius-xs);
  cursor: pointer;
  transition: background 0.2s ease;
  margin-bottom: 4px;
  text-decoration: none;
}
.fc-nav-item:hover { background: var(--fc-rail-hover); }
.fc-nav-item--active {
  background: var(--fc-rail-active);
}
.fc-nav-item__icon {
  width: 20px;
  height: 20px;
  color: var(--fc-rail-icon);
  transition: color 0.2s ease;
}
.fc-nav-item:hover .fc-nav-item__icon { color: rgba(255,255,255,0.55); }
.fc-nav-item--active .fc-nav-item__icon { color: var(--fc-accent); }
.fc-nav-item__label {
  font-size: var(--fc-text-nano);
  font-weight: var(--fc-w-bold);
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: var(--fc-rail-label);
  transition: color 0.2s ease;
}
.fc-nav-item:hover .fc-nav-item__label { color: rgba(255,255,255,0.4); }
.fc-nav-item--active .fc-nav-item__label { color: var(--fc-accent); }
.fc-nav__spacer { flex: 1; }

/* ═══ Nav Funnel — Three Content Layers ═══
   Library → Claims → Studies grouped together.
   Whispered dot connectors between items.
   Active = accent icon + label. That's it.
   ═══════════════════════════════════════════ */

.fc-nav-funnel {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 16px;
  gap: 0;
}

.fc-nav-funnel__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 72px;
  padding: 8px 0;
  text-decoration: none;
  transition: background 0.15s ease;
  border-radius: 6px;
}

.fc-nav-funnel__item:hover {
  background: rgba(255,255,255,0.04);
}

.fc-nav-funnel__icon {
  width: 20px;
  height: 20px;
  color: var(--fc-rail-icon);
  transition: color 0.15s ease;
}

.fc-nav-funnel__item:hover .fc-nav-funnel__icon {
  color: rgba(255,255,255,0.65);
}

.fc-nav-funnel__item--active .fc-nav-funnel__icon {
  color: var(--fc-accent);
}

.fc-nav-funnel__label {
  font-size: 9px;
  font-weight: var(--fc-w-medium);
  color: var(--fc-rail-label);
  margin-top: 4px;
  letter-spacing: 0.02em;
  transition: color 0.15s ease;
}

.fc-nav-funnel__item:hover .fc-nav-funnel__label {
  color: rgba(255,255,255,0.5);
}

.fc-nav-funnel__item--active .fc-nav-funnel__label {
  color: var(--fc-accent);
}

/* Recipes: standalone item below spacer, gap above PRO */
.fc-nav-funnel__item--bottom {
  margin-bottom: 0;
}

/* Three items grouped by proximity — no decoration needed */

/* Nav divider */
.fc-nav__divider {
  width: 28px;
  height: 1px;
  background: rgba(255,255,255,0.08);
  margin: 4px 0;
}

/* Nav user avatar — auth lives here (v6.1) */
.fc-nav__user {
  width: 32px; height: 32px; border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.15);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: border-color 0.15s;
  margin-top: 4px;
}
.fc-nav__user:hover { border-color: rgba(255,255,255,0.35); }
.fc-nav__user svg { width: 16px; height: 16px; stroke: var(--fc-rail-icon); }

/* PRO CTA in nav rail — matches mobile modal style */
.fc-nav__cta {
  width: 38px; height: 38px; border-radius: 10px;
  background: rgba(255,255,255,0.06);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  margin-top: 4px;
  margin-bottom: 4px;
  position: relative;
  transition: background 0.15s ease;
}
.fc-nav__cta:hover {
  background: rgba(0, 209, 142, 0.08);
}
.fc-nav__cta svg { width: 17px; height: 17px; stroke: var(--fc-accent); fill: none; transition: stroke 0.15s ease; }
.fc-nav__cta:hover svg { stroke: var(--fc-surface); }

/* PRO micro-badge — Notion/Figma style */
.fc-nav__pro-badge {
  position: absolute;
  top: -5px; right: -4px;
  font-family: var(--fc-mono);
  font-size: 0.45rem;
  font-weight: var(--fc-w-bold);
  letter-spacing: 0.8px;
  color: var(--fc-ink);
  background: var(--fc-accent);
  padding: 1px 4px;
  border-radius: 4px;
  line-height: 1.3;
  border: 1.5px solid var(--fc-ink);
  z-index: 1;
}

/* Meal Plans CTA Label */
.fc-nav__cta-label {
  font-size: var(--fc-text-nano);
  font-weight: var(--fc-w-bold);
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.25);
  margin-top: 2px;
}

/* ─── Mobile Header — hidden on desktop ──── */
.fc-mobile-header { display: none; }
.fc-mobile-header__actions { display: none; }

/* ─── Player — Editorial Accent Card (Desktop) ────────── */
.fc-player {
  position: fixed;
  bottom: 24px;
  left: calc(var(--fc-nav-width) + ((100vw - var(--fc-nav-width) - var(--fc-sidebar-width)) / 2));
  transform: translateX(-50%);
  width: 520px;
  height: 72px;
  background: var(--fc-surface);
  border-radius: var(--fc-radius-sm);
  border-left: 3px solid var(--fc-accent);
  display: none;
  align-items: center;
  padding: 0 20px 0 18px;
  box-shadow: var(--fc-shadow), 0 0 0 1px var(--fc-border-light);
  z-index: 100;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
}
.fc-player:hover {
  box-shadow: var(--fc-shadow-hover), 0 0 0 1px var(--fc-border-light);
}
/* Playing state — accent border gets a subtle glow */
.fc-player--playing {
  border-left-color: var(--fc-accent);
  box-shadow: var(--fc-shadow-hover), 0 0 0 1px var(--fc-border-light),
              -3px 0 12px rgba(0,209,142,0.12);
}
.fc-player--visible {
  display: flex;
}

/* ── Play Button — accent circle, play/pause icons ── */
.fc-player__btn {
  width: 42px;
  height: 42px;
  background: var(--fc-accent);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  margin-right: 14px;
  flex-shrink: 0;
  transition: background 0.2s, transform 0.1s, box-shadow 0.2s;
  border: none;
}
.fc-player__btn:hover {
  background: var(--fc-accent-hover);
  box-shadow: 0 0 0 4px var(--fc-accent-dim);
}
/* Elastic spring — scales down on click, bounces back */
.fc-player__btn:active {
  transform: scale(0.88);
}
.fc-player__btn--bounce {
  animation: fc-btn-spring 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes fc-btn-spring {
  0%   { transform: scale(0.88); }
  50%  { transform: scale(1.08); }
  100% { transform: scale(1); }
}
.fc-player__btn::after {
  content: '';
  border-left: 10px solid white;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  margin-left: 2px;
}
/* Playing state — pause icon (two bars) */
.fc-player__btn--playing::after {
  border: none;
  margin: 0;
  width: 10px;
  height: 13px;
  border-left: 3px solid white;
  border-right: 3px solid white;
  border-top: none;
  border-bottom: none;
}


/* ─── Sticky player paused state: accent ring + frozen dots ─── */
.fc-player__btn--paused {
  box-shadow: 0 0 0 2.5px var(--fc-surface), 0 0 0 4.5px var(--fc-accent);
}
/* Paused = show play icon (triangle), not pause bars */
.fc-player__btn--paused::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-left: 12px solid white;
  border-bottom: 7px solid transparent;
  border-right: none;
  margin-left: 2px;
}
.fc-player--paused .fc-wave-dot--active {
  background: var(--fc-accent);
}

/* ── Info — title & subtitle in editorial colors ── */
.fc-player__info {
  min-width: 0;
  margin-right: 14px;
}
.fc-player__title {
  font-size: 0.78rem;
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: var(--fc-lh-snug);
}
.fc-player__sub {
  font-size: 0.62rem;
  color: var(--fc-dim);
  margin-top: 1px;
}

/* ── Waveform — seekable dots ── */
.fc-player__wave {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.5px;
  cursor: pointer;
  border-radius: 4px;
  margin: 0 4px;
  padding: 8px 10px;
  transition: background 0.15s;
}
.fc-player__wave:hover {
  background: var(--fc-accent-dim);
}

/* ── Wave dots — dim on light, accent when active ── */
.fc-wave-dot {
  width: 3.5px;
  border-radius: 2px;
  background: var(--fc-border);
  transition: background 0.1s, transform 0.1s;
  pointer-events: none;
  /* Staggered entry animation — dots fade in left to right */
  opacity: 0;
  transform: scaleY(0.3);
  animation: fc-dot-enter 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.fc-wave-dot:nth-child(1)  { animation-delay: 0ms; }
.fc-wave-dot:nth-child(2)  { animation-delay: 35ms; }
.fc-wave-dot:nth-child(3)  { animation-delay: 70ms; }
.fc-wave-dot:nth-child(4)  { animation-delay: 105ms; }
.fc-wave-dot:nth-child(5)  { animation-delay: 140ms; }
.fc-wave-dot:nth-child(6)  { animation-delay: 175ms; }
.fc-wave-dot:nth-child(7)  { animation-delay: 210ms; }
.fc-wave-dot:nth-child(8)  { animation-delay: 245ms; }
.fc-wave-dot:nth-child(9)  { animation-delay: 280ms; }
.fc-wave-dot:nth-child(10) { animation-delay: 315ms; }
.fc-wave-dot:nth-child(11) { animation-delay: 350ms; }
.fc-wave-dot:nth-child(12) { animation-delay: 385ms; }
.fc-wave-dot:nth-child(13) { animation-delay: 420ms; }
.fc-wave-dot:nth-child(14) { animation-delay: 455ms; }
.fc-wave-dot:nth-child(15) { animation-delay: 490ms; }
.fc-wave-dot:nth-child(16) { animation-delay: 525ms; }
.fc-wave-dot:nth-child(17) { animation-delay: 560ms; }
.fc-wave-dot:nth-child(18) { animation-delay: 595ms; }
@keyframes fc-dot-enter {
  to { opacity: 1; transform: scaleY(1); }
}

.fc-wave-dot--active { background: var(--fc-accent); }
.fc-wave-dot--hover { background: var(--fc-ghost); }

/* Playhead glow — the dot at the boundary pulses green */
.fc-wave-dot--playhead {
  background: var(--fc-accent);
  box-shadow: 0 0 6px rgba(0,209,142,0.5), 0 0 14px rgba(0,209,142,0.2);
  transform: scaleY(1.15);
}

/* ── Time display — mono, subtle ── */
.fc-player__time {
  font-size: 0.72rem;
  font-weight: var(--fc-w-medium);
  font-family: var(--fc-mono);
  color: var(--fc-dim);
  flex-shrink: 0;
  letter-spacing: 0.2px;
}

/* ── Pro page — no sidebar, content centers in full viewport, player must match ── */
body.fc-layout-pro .fc-player {
  left: 50%;
}


/* ═══════════════════════════════════════════
   CLUSTER JOURNEY — Desktop Inline Indicator
   Shows "5/10 →" after time in the sticky player.
   ═══════════════════════════════════════════ */

.fc-player__journey-nav {
  display: none;
  align-items: center;
  gap: 6px;
  margin-left: 12px;
  flex-shrink: 0;
}
.fc-player__journey-sep {
  width: 1px;
  height: 16px;
  background: rgba(255,255,255,0.12);
  flex-shrink: 0;
}
.fc-player__journey-back,
.fc-player__journey {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--fc-dim);
  transition: color 0.2s;
  padding: 4px;
  flex-shrink: 0;
}
.fc-player__journey-back:hover,
.fc-player__journey:hover {
  color: var(--fc-accent);
}
.fc-player__journey-back svg {
  opacity: 0.7;
  transition: transform 0.2s, opacity 0.2s;
}
.fc-player__journey-back:hover svg {
  transform: translateX(-2px);
  opacity: 1;
}
.fc-player__journey-pos {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  white-space: nowrap;
  color: var(--fc-accent);
}
.fc-player__journey-arrow {
  flex-shrink: 0;
  opacity: 0.7;
  transition: transform 0.2s, opacity 0.2s;
}
.fc-player__journey:hover .fc-player__journey-arrow {
  transform: translateX(2px);
  opacity: 1;
}

/* Nudge pulse when audio ends */
@keyframes fc-journey-nudge {
  0%, 100% { color: var(--fc-accent); }
  50% { color: #fff; }
}
.fc-player__journey--nudge {
  animation: fc-journey-nudge 0.6s ease 3;
}


/* ─── Source Block ────────────────────────── */
.fc-source {
  font-size: 0.9rem;
  line-height: 1.7;
}
.fc-source__journal {
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  font-size: 0.95rem;
}
.fc-source__authors { color: var(--fc-dim); }
.fc-source__detail {
  color: var(--fc-dim);
  font-size: 0.82rem;
}

/* ─── Related Item ───────────────────────── */
.fc-related {
  display: block;
  font-size: var(--fc-text-ui);
  color: var(--fc-body);
  padding: 11px 0;
  border-bottom: 1px solid var(--fc-border-light);
  cursor: pointer;
  transition: color 0.15s;
  text-decoration: none;
}
.fc-related:last-child { border-bottom: none; }
.fc-related:hover { color: var(--fc-accent); }

/* ═══════════════════════════════════════════
   HOMEPAGE COMPONENTS v7
   Pixel-matched to homepage-v7.html
   ═══════════════════════════════════════════ */

/* ─── Top Bar — logo + auth ──────────────── */
.fc-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
  flex-shrink: 0;
}
.fc-topbar__home {
  text-decoration: none;
  display: flex;
  align-items: center;
}
.fc-full-logo {
  color: var(--fc-ink);
  height: 22px;
  width: auto;
  display: block;
  opacity: 0.82;
  transition: opacity 0.25s ease;
}
.fc-topbar__home:hover .fc-full-logo { opacity: 1; }
.fc-topbar__auth {
  display: flex;
  align-items: center;
  gap: 16px;
}
.fc-topbar__login {
  font-size: 0.76rem;
  font-weight: var(--fc-w-semibold);
  color: var(--fc-dim);
  background: none;
  border: none;
  padding: 6px 0;
  transition: color 0.25s ease;
  text-decoration: none;
  cursor: pointer;
}
.fc-topbar__login:hover { color: var(--fc-ink); }
/* ─── Meal Plans CTA — Notion-clean ─────────
   Flat, tight, confident. The restraint IS the craft. */
.fc-topbar__cta {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border-radius: 6px;
  background: var(--fc-ink);
  color: rgba(255,255,255,0.88);
  font-size: 0.73rem;
  font-weight: var(--fc-w-semibold);
  letter-spacing: 0.2px;
  cursor: pointer;
  text-decoration: none;
  border: none;
  transition: background 0.15s ease;
}
.fc-topbar__cta:hover {
  background: var(--fc-body);
}
.fc-topbar__cta:active {
  background: #3A3935;
}

/* ─── Home Content Wrapper ─ */
/* max-width + centering handled by layouts.css (shared rule) */

/* ─── Home Section Label ─ */
.fc-home-section-label {
  font-size: 0.58rem;
  font-weight: var(--fc-w-semibold);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--fc-ghost);
  margin-bottom: 18px;
  flex-shrink: 0;
}

/* ─── Manifesto — flagship editorial hero ─ */
.fc-manifesto {
  margin-bottom: var(--fc-space-8);
  flex-shrink: 0;
}
.fc-manifesto__kicker {
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-black);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--fc-accent);
  margin-bottom: 18px;
}
.fc-manifesto__headline {
  font-family: var(--fc-serif);
  font-size: var(--fc-text-h1);
  line-height: 1.08;
  font-weight: var(--fc-w-regular);
  letter-spacing: -1.5px;
  color: var(--fc-ink);
}
.fc-manifesto__headline em {
  font-style: italic;
  color: var(--fc-accent);
}
.fc-manifesto__sub {
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--fc-dim);
  margin-top: 16px;
}

/* ═══════════════════════════════════════════════════════
   HOMEPAGE — Spotify Playlist Design (v2.0)
   Dark flagship hero + unified playlist claim rows.
   Audio-first: every dark element = playable.
   ═══════════════════════════════════════════════════════ */

/* ─── Dark Flagship Hero ─── */
.fc-home-hero {
  background: #1E1E1C;
  border-radius: var(--fc-radius);
  padding: var(--fc-space-8) var(--fc-space-8) var(--fc-space-6);
  margin-bottom: var(--fc-space-10);
}

.fc-home-hero__kicker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-black);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--fc-accent);
  margin-bottom: var(--fc-space-2);
}

.fc-home-hero__kicker svg {
  stroke: var(--fc-accent);
}

.fc-home-hero__title {
  font-family: var(--fc-sans);
  font-size: 1.55rem;
  font-weight: var(--fc-w-bold);
  color: var(--fc-surface);
  line-height: var(--fc-lh-heading);
  letter-spacing: -0.5px;
  margin: 0 0 var(--fc-space-3);
}

.fc-home-hero__teaser {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-style: italic;
  color: rgba(255,255,255,0.45);
  line-height: var(--fc-lh-ui);
  margin: 0 0 var(--fc-space-6);
  max-width: 480px;
}

/* ─── Hero CTAs — Play (primary) + Read (secondary) ─── */
.fc-home-hero__actions {
  display: flex;
  align-items: center;
  gap: var(--fc-space-4);
}

.fc-home-hero__play-group {
  display: flex;
  align-items: center;
  gap: var(--fc-space-3);
}

.fc-home-hero__play-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--fc-accent);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fc-surface);
  transition: background 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.fc-home-hero__play-btn:hover {
  background: var(--fc-accent-hover);
  box-shadow: 0 0 0 4px var(--fc-accent-dim);
}

.fc-home-hero__play-btn:active {
  transform: scale(0.92);
}

.fc-home-hero__play-btn:focus-visible {
  outline: 2px solid var(--fc-accent);
  outline-offset: 3px;
}

.fc-home-hero__play-meta {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium);
  color: rgba(255,255,255,0.4);
}

.fc-home-hero__read-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: var(--fc-space-2) var(--fc-space-5);
  border-radius: var(--fc-radius-pill);
  border: 1px solid rgba(255,255,255,0.15);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium);
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.fc-home-hero__read-btn:hover {
  border-color: rgba(255,255,255,0.35);
  color: rgba(255,255,255,0.85);
}

.fc-home-hero__read-btn:focus-visible {
  outline: 2px solid var(--fc-accent);
  outline-offset: 2px;
}

.fc-home-hero__read-btn svg {
  stroke: currentColor;
}

/* ─── Hero evidence whisper ─── */
.fc-home-hero__evidence {
  margin-top: var(--fc-space-4);
  padding-top: var(--fc-space-3);
  border-top: 1px solid rgba(255,255,255,0.06);
  display: flex;
  flex-wrap: wrap;
  gap: var(--fc-space-2);
  align-items: center;
}

/* ─── Evidence pill badges ─── */
.fc-home-hero__pill {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  color: rgba(255,255,255,0.3);
  letter-spacing: 0.3px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--fc-radius-pill);
  padding: 3px 10px;
  background: rgba(255,255,255,0.02);
  white-space: nowrap;
  text-decoration: none;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.fc-home-hero__pill--verified {
  border-color: rgba(0,209,142,0.15);
  color: rgba(0,209,142,0.35);
}

.fc-home-hero__pill--explore {
  border-color: rgba(0,209,142,0.2);
  color: rgba(0,209,142,0.45);
}

.fc-home-hero__pill--explore:hover {
  border-color: rgba(0,209,142,0.4);
  color: rgba(0,209,142,0.7);
}

/* ─── Section labels ─── */
.fc-home-section-label {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-black);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--fc-dim);
  margin-bottom: var(--fc-space-4);
}

/* ─── Myths — ghost strikethrough (killed = looks dead) ─── */
.fc-home-myths {
  display: flex;
  flex-direction: column;
  gap: var(--fc-space-1);
  margin-bottom: var(--fc-space-10);
}

.fc-home-myth {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-ui);
  color: var(--fc-ghost);
  line-height: var(--fc-lh-ui);
  text-decoration: line-through;
  text-decoration-color: rgba(0,0,0,0.12);
  text-decoration-thickness: 1.5px;
  padding: var(--fc-space-1) 0;
}

/* ═══════════════════════════════════════════════════════
   PLAYLIST — Unified claim rows with inline audio
   Every row: play button + title + meta + arrow
   ═══════════════════════════════════════════════════════ */
.fc-home-playlist {
  border-top: 1px solid var(--fc-border);
}

.fc-home-track {
  display: flex;
  align-items: center;
  gap: var(--fc-space-3);
  padding: var(--fc-space-3) 0;
  border-bottom: 1px solid var(--fc-border-light);
  transition: background 0.12s ease;
}

.fc-home-track:hover {
  background: var(--fc-bg-alt);
  margin: 0 calc(-1 * var(--fc-space-3));
  padding-left: var(--fc-space-3);
  padding-right: var(--fc-space-3);
  border-radius: var(--fc-radius-xxs);
}

/* ─── Play button (green circle, white triangle — matches audio hub) ─── */
.fc-home-track__play {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  background: var(--fc-accent);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fc-surface);
  transition: background 0.15s ease, transform 0.15s ease;
}

.fc-home-track__play:hover {
  background: var(--fc-accent-hover);
  transform: scale(1.05);
}

.fc-home-track__play:active {
  transform: scale(0.92);
}

.fc-home-track__play svg {
  width: 16px;
  height: 16px;
}

.fc-home-track__play:focus-visible {
  outline: 2px solid var(--fc-accent);
  outline-offset: 2px;
}

/* ─── Fallback dot (for claims without audio) ─── */
.fc-home-track__dot {
  width: 7px;
  height: 7px;
  min-width: 7px;
  border-radius: 50%;
  margin: 0 calc((40px - 7px) / 2);
}

.fc-home-track__dot--verified { background: var(--fc-verified); }
.fc-home-track__dot--contested { background: var(--fc-contested); }
.fc-home-track__dot--emerging { background: var(--fc-emerging); }

/* ─── Track body (title + meta) ─── */
.fc-home-track__body {
  flex: 1;
  min-width: 0;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: var(--fc-space-1);
}

.fc-home-track__title {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-ui);
  font-weight: var(--fc-w-medium);
  color: var(--fc-ink);
  line-height: var(--fc-lh-snug);
  transition: color 0.12s ease;
}

.fc-home-track:hover .fc-home-track__title {
  color: var(--fc-accent);
}

.fc-home-track__meta {
  display: flex;
  align-items: center;
  gap: var(--fc-space-2);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  color: var(--fc-dim);
}

.fc-home-track__sep {
  color: var(--fc-ghost);
}

/* ─── Arrow ─── */
.fc-home-track__arrow {
  flex-shrink: 0;
  stroke: var(--fc-ghost);
  transition: stroke 0.12s ease, transform 0.12s ease;
}

.fc-home-track:hover .fc-home-track__arrow {
  stroke: var(--fc-accent);
  transform: translateX(2px);
}

/* ─── Explore cluster CTA ─── */
.fc-lib-explore {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: var(--fc-space-5);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium);
  color: var(--fc-dim);
  text-decoration: none;
  transition: color 0.15s ease;
}

.fc-lib-explore:hover {
  color: var(--fc-accent);
}

.fc-lib-explore svg {
  transition: transform 0.15s ease;
}

.fc-lib-explore:hover svg {
  transform: translateX(3px);
}

/* ─── Sidebar research whisper stats ─── */
.fc-side-stats-whisper {
  display: flex;
  flex-direction: column;
  gap: var(--fc-space-2);
  margin-bottom: var(--fc-space-5);
}

.fc-side-stat-whisper {
  display: flex;
  align-items: baseline;
  gap: var(--fc-space-2);
}

.fc-side-stat-whisper__num {
  font-family: var(--fc-sans);
  font-size: 1.15rem;
  font-weight: var(--fc-w-light);
  color: var(--fc-accent);
}

.fc-side-stat-whisper__label {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
}

.fc-side-evidence-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-accent);
}

.fc-side-evidence-tags__sep {
  color: var(--fc-ghost);
}

/* ─── Reduced motion ─── */
@media (prefers-reduced-motion: reduce) {
  .fc-home-hero__play-btn,
  .fc-home-hero__read-btn,
  .fc-home-track,
  .fc-home-track__play,
  .fc-home-track__title,
  .fc-home-track__arrow,
  .fc-lib-explore svg {
    transition: none;
  }
}

/* ─── Responsive — Mobile ─── */
@media (max-width: 767px) {
  .fc-home-hero {
    padding: var(--fc-space-5) var(--fc-space-5) var(--fc-space-5);
    border-radius: var(--fc-radius-sm);
  }
  .fc-home-hero__title {
    font-size: 1.25rem;
  }
  .fc-home-hero__teaser {
    font-size: var(--fc-text-small);
  }
  .fc-home-hero__actions {
    flex-wrap: wrap;
    gap: var(--fc-space-3);
  }
  .fc-home-hero__play-btn {
    width: 40px;
    height: 40px;
  }
  .fc-home-myths {
    gap: var(--fc-space-0);
  }
  .fc-home-track {
    gap: var(--fc-space-2);
  }
  .fc-home-track__play {
    width: 34px;
    height: 34px;
    min-width: 34px;
  }
  .fc-home-track__play svg {
    width: 13px;
    height: 13px;
  }
  .fc-home-track__wave {
    display: none;
  }
  .fc-home-hero__wave {
    display: none;
  }
  .fc-home-track__title {
    font-size: var(--fc-text-small);
  }
  .fc-home-track__meta {
    display: none;
  }
}

/* ─── Topic Pills/* ─── Topic Pills ────────────────────────── */
/* ─── Shared filter pill base ────────────────
   Identical to .fc-tm-topic / .fc-eb-topic so every
   filter pill across the site is visually consistent. */
.fc-topic-bar {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 20px;
  flex-shrink: 0;
  flex-wrap: wrap;
}
.fc-topic-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 5px;
  font-size: 0.65rem;
  font-weight: var(--fc-w-medium);
  color: var(--fc-ghost);
  background: transparent;
  border: 1px solid rgba(0,0,0,0.06);
  cursor: pointer;
  transition: all 0.15s;
  white-space: nowrap;
  font-family: var(--fc-sans);
}
.fc-topic-pill:hover { border-color: var(--fc-dim); color: var(--fc-ink); }
.fc-topic-pill--active { background: var(--fc-ink); border-color: var(--fc-ink); color: var(--fc-surface); font-weight: var(--fc-w-semibold); }
.fc-topic-pill--active:hover { color: var(--fc-surface); border-color: var(--fc-body); background: var(--fc-body); }

/* ─── Cluster List — light editorial cards ─ */
.fc-cluster-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 48px;
}

.fc-cluster-row {
  background: var(--fc-card);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-sm);
  padding: 24px 24px 24px 0;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
  text-decoration: none;
  color: inherit;
}
.fc-cluster-row:hover {
  box-shadow: var(--fc-shadow-hover);
  border-color: rgba(0,0,0,0.06);
}

/* Accent bar — left edge identity */
.fc-cluster-row::before {
  content: '';
  width: 4px;
  align-self: stretch;
  border-radius: 4px 0 0 4px;
  background: var(--fc-cluster-accent, var(--fc-accent));
  opacity: 0.35;
  transition: opacity 0.3s ease;
  flex-shrink: 0;
}
.fc-cluster-row:hover::before {
  opacity: 1;
}

/* Left: name + tagline */
.fc-cluster-row__info {
  flex: 1;
  min-width: 0;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}
.fc-cluster-row__name {
  font-family: var(--fc-display);
  font-size: 1.08rem;
  font-weight: var(--fc-w-semibold);
  line-height: 1.25;
  letter-spacing: -0.3px;
  color: var(--fc-ink);
  transition: color 0.2s ease;
}
.fc-cluster-row:hover .fc-cluster-row__name {
  color: var(--fc-ink);
}
.fc-cluster-row__tagline {
  font-size: 0.74rem;
  line-height: 1.45;
  color: var(--fc-dim);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.2s ease;
}
.fc-cluster-row:hover .fc-cluster-row__tagline {
  color: var(--fc-body);
}

/* Center: stats */
.fc-cluster-row__stats {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
  padding-right: 24px;
}
.fc-cluster-row__stat {
  font-size: 0.68rem;
  font-weight: var(--fc-w-medium);
  color: var(--fc-ghost);
  white-space: nowrap;
  transition: color 0.2s ease;
}
.fc-cluster-row:hover .fc-cluster-row__stat {
  color: var(--fc-dim);
}
.fc-cluster-row__stat strong {
  font-weight: var(--fc-w-bold);
  color: var(--fc-dim);
  transition: color 0.2s ease;
}
.fc-cluster-row:hover .fc-cluster-row__stat strong {
  color: var(--fc-ink);
}

/* Right: format icons + arrow */
.fc-cluster-row__actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.fc-cluster-row__format {
  width: 28px; height: 28px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--fc-border-light);
  transition: background 0.2s ease;
}
.fc-cluster-row:hover .fc-cluster-row__format {
  background: var(--fc-accent-dim);
}
.fc-cluster-row__format svg {
  width: 13px; height: 13px;
  color: var(--fc-ghost);
  transition: color 0.2s ease;
}
.fc-cluster-row:hover .fc-cluster-row__format svg {
  color: var(--fc-accent);
}
.fc-cluster-row__arrow {
  width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  margin-left: 4px;
}
.fc-cluster-row__arrow svg {
  width: 16px; height: 16px;
  color: var(--fc-ghost);
  transition: color 0.2s ease, transform 0.2s ease;
}
.fc-cluster-row:hover .fc-cluster-row__arrow svg {
  color: var(--fc-accent);
  transform: translateX(3px);
}

/* ─── Site Footer ────────────────────────── */
/* Removed in v7.0. Will be added back once layout is perfect. */

/* ─── Sidebar Meal CTA — "Go Premium" Card ─ */
.fc-meal-cta {
  background: linear-gradient(135deg, rgba(0,209,142,0.06) 0%, rgba(0,209,142,0.05) 100%);
  border: 1px solid rgba(0,209,142,0.12);
  border-radius: var(--fc-radius-sm);
  padding: 20px;
  margin-top: auto;
  flex-shrink: 0;
}
.fc-meal-cta__badge {
  display: inline-block;
  font-size: 0.52rem;
  font-weight: var(--fc-w-black);
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--fc-accent);
  background: var(--fc-accent-dim);
  padding: 3px 8px;
  border-radius: var(--fc-radius-pill);
  margin-bottom: 10px;
}
.fc-meal-cta__headline {
  font-family: var(--fc-display);
  font-size: 1.05rem;
  font-weight: var(--fc-w-regular);
  line-height: 1.25;
  letter-spacing: -0.3px;
  color: var(--fc-ink);
  margin-bottom: 8px;
}
.fc-meal-cta__headline em { font-style: italic; color: var(--fc-accent); }
.fc-meal-cta__body {
  font-size: 0.72rem;
  line-height: 1.55;
  color: var(--fc-dim);
  margin-bottom: 14px;
}
.fc-meal-cta__btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--fc-accent);
  color: var(--fc-ink);
  font-size: 0.72rem;
  font-weight: var(--fc-w-bold);
  text-decoration: none;
  transition: background 0.15s, transform 0.15s;
}
.fc-meal-cta__btn:hover { background: var(--fc-accent-hover); transform: translateY(-1px); }

/* ═══════════════════════════════════════════
   SIDEBAR COMPONENTS — v7
   ═══════════════════════════════════════════ */

/* Section wrapper */
.fc-side-section {
  margin-bottom: 0;
}

/* ─── Sidebar section separators (study + claim) ─── */
/* Matches library sidebar rhythm: subtle border + padding between sections. */
.fc-study-sidebar .fc-side-section + .fc-side-section,
.fc-claim-sidebar .fc-side-section + .fc-side-section {
  padding-top: var(--fc-space-3); /* 12px */
  border-top: 1px solid var(--fc-border-light);
}
.fc-side-title,
.fc-side-label {
  font-size: 0.62rem;
  font-weight: var(--fc-w-semibold);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--fc-ghost);
  margin-bottom: 10px;
}
.fc-side-accent {
  font-family: var(--fc-display);
  font-size: 1.2rem;
  line-height: 1.25;
  font-weight: var(--fc-w-regular);
  letter-spacing: -0.3px;
  color: var(--fc-ink);
  margin-bottom: 10px;
}
.fc-side-accent em {
  font-style: italic;
  color: var(--fc-accent);
}
.fc-side-body {
  font-size: 0.78rem;
  line-height: 1.6;
  color: var(--fc-dim);
  margin-bottom: 0;  /* spacing handled by divider */
}

/* Sidebar divider — gradient fade for modern feel */
.fc-side-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--fc-border) 15%, var(--fc-border) 85%, transparent);
  margin: var(--fc-side-gap) 0;
}

/* Sidebar disclaimer note — quiet confidence */
.fc-side-note {
  font-family: var(--fc-sans);
  font-size: 0.68rem;
  line-height: var(--fc-lh-ui);
  color: var(--fc-ghost);
  margin: var(--fc-space-4) 0 0;
}
.fc-side-note a {
  color: var(--fc-dim);
  text-decoration: none;
  font-weight: var(--fc-w-medium);
  transition: color 0.15s;
}
.fc-side-note a:hover { color: var(--fc-accent); }

/* Sidebar pillar — compact vertical stack */
.fc-side-pillar {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
  padding: 4px 0;
  transition: transform 0.25s var(--fc-ease-out);
}
.fc-side-pillar:last-child { margin-bottom: 0; }
.fc-side-pillar:hover { transform: translateX(2px); }
.fc-side-pillar__icon {
  width: 32px; height: 32px;
  border-radius: 9px;
  background: var(--fc-accent-dim);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: background 0.25s ease, transform 0.25s var(--fc-ease-out);
}
.fc-side-pillar:hover .fc-side-pillar__icon {
  background: rgba(0,209,142,0.12);
  transform: scale(1.06);
}
.fc-side-pillar__icon svg { width: 14px; height: 14px; color: var(--fc-accent); }
.fc-side-pillar__text h4 {
  font-size: 0.8rem;
  font-weight: var(--fc-w-bold);
  margin-bottom: 2px;
}
.fc-side-pillar__text p {
  font-size: 0.7rem;
  line-height: 1.45;
  color: var(--fc-dim);
}

/* Sidebar stat */
.fc-side-stat {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 10px;
  opacity: 0;
  transform: translateY(4px);
  animation: fc-stat-enter 0.5s var(--fc-ease-out) forwards;
}
.fc-side-stat:nth-child(2) { animation-delay: 80ms; }
.fc-side-stat:nth-child(3) { animation-delay: 160ms; }
.fc-side-stat:nth-child(4) { animation-delay: 240ms; }
@keyframes fc-stat-enter {
  to { opacity: 1; transform: translateY(0); }
}
.fc-side-stat__num {
  font-family: var(--fc-display);
  font-size: 1.3rem;
  font-weight: var(--fc-w-semibold);
  color: var(--fc-accent);
  letter-spacing: -0.5px;
  font-variant-numeric: tabular-nums;
}
.fc-side-stat__label {
  font-size: 0.72rem;
  color: var(--fc-dim);
}

/* ═══════════════════════════════════════════
   AUDIO CTA — Compact horizontal bar
   Anchored to sidebar bottom via margin-top: auto.
   ~64px total height vs ~140px before.
   ═══════════════════════════════════════════ */
.fc-audio-cta {
  background: var(--fc-ink);
  border-radius: 12px;
  padding: 12px 16px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  margin-top: auto;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.3s ease;
}
.fc-audio-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 20px rgba(0,0,0,0.14);
}
/* Shimmer */
.fc-audio-cta::before {
  content: '';
  position: absolute;
  top: 0; left: -100%; right: 0; bottom: 0;
  background: linear-gradient(120deg, transparent, rgba(0,209,142,0.05), transparent);
  animation: fc-audio-shimmer 4s ease-in-out infinite;
}
@keyframes fc-audio-shimmer {
  0%, 100% { left: -100%; }
  50% { left: 100%; }
}

/* Icon — compact circle */
.fc-audio-cta__icon-row {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.fc-audio-cta__icon {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--fc-accent);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  position: relative;
  transition: transform 0.25s ease;
}
.fc-audio-cta:hover .fc-audio-cta__icon { transform: scale(1.06); }
.fc-audio-cta__icon::after {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 1.5px solid var(--fc-accent);
  opacity: 0.25;
  animation: fc-audio-pulse 2.5s ease-in-out infinite;
}
@keyframes fc-audio-pulse {
  0%, 100% { transform: scale(1); opacity: 0.25; }
  50% { transform: scale(1.15); opacity: 0; }
}
.fc-audio-cta__icon svg { width: 15px; height: 15px; color: white; }

/* Text — kicker + title inline */
.fc-audio-cta__kicker {
  font-family: var(--fc-mono);
  font-size: 0.48rem;
  font-weight: var(--fc-w-semibold);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--fc-accent);
  position: relative;
  margin-bottom: 1px;
}
.fc-audio-cta__title {
  font-family: var(--fc-display);
  font-size: 0.82rem;
  font-weight: var(--fc-w-regular);
  line-height: 1.2;
  color: white;
  letter-spacing: -0.15px;
  white-space: nowrap;
  position: relative;
}
.fc-audio-cta__title em { font-style: italic; color: var(--fc-accent); }
.fc-audio-cta__desc { display: none; }

/* Waveform bars — right edge */
.fc-audio-cta__bars {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 16px;
  margin-left: auto;
  flex-shrink: 0;
  position: relative;
}
.fc-audio-cta__bar {
  width: 2.5px;
  background: var(--fc-accent);
  border-radius: 2px;
  animation: fc-bar-bounce 1.2s ease-in-out infinite;
}
.fc-audio-cta__bar:nth-child(1) { height: 5px; animation-delay: 0s; }
.fc-audio-cta__bar:nth-child(2) { height: 12px; animation-delay: 0.15s; }
.fc-audio-cta__bar:nth-child(3) { height: 7px; animation-delay: 0.3s; }
.fc-audio-cta__bar:nth-child(4) { height: 14px; animation-delay: 0.45s; }
.fc-audio-cta__bar:nth-child(5) { height: 6px; animation-delay: 0.6s; }
.fc-audio-cta__bar:nth-child(6) { height: 10px; animation-delay: 0.75s; }
/* fc-bar-bounce: single definition lives in truth.css.
   Bars pulse from small (0.4) → full (1.0) with opacity. */

/* ═══════════════════════════════════════════
   PLAYLIST MODAL — Spotify-grade
   ═══════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════
   PLAYLIST QUIZ — Dark audio mode, guided 3-screen flow
   BEM namespace: fc-pl

   Brand pattern: audio = dark in FitChef.
   Matches: audio sticky CTA (#1A1A1A + green accents),
   homepage hero, sticky player green left border.

   @since 13.4.61
   ═══════════════════════════════════════════════════════ */

/* ─── Overlay — warm, slower fade ─── */
.fc-pl-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.fc-pl-overlay--open { opacity: 1; pointer-events: all; }

/* ─── Modal — dark, green top accent ─── */
.fc-pl {
  background: var(--fc-ink);
  border-radius: var(--fc-radius-sm);
  border-top: 3px solid var(--fc-accent);
  width: 440px;
  max-width: 92vw;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 24px 80px rgba(0,0,0,0.35);
  transform: translateY(16px);
  opacity: 0;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease;
  overflow: hidden;
}
.fc-pl-overlay--open .fc-pl {
  transform: translateY(0);
  opacity: 1;
}

.fc-pl__handle { display: none; }
.fc-pl__handle span {
  display: block; width: 36px; height: 4px;
  border-radius: 2px; background: rgba(255,255,255,0.12); margin: 0 auto;
}

/* ─── Progress bar ─── */
.fc-pl__bar {
  display: flex; gap: 3px;
  padding: var(--fc-space-4) var(--fc-space-6) 0;
  flex-shrink: 0;
}
.fc-pl__bar-seg {
  flex: 1; height: 2.5px; border-radius: 2px;
  background: rgba(255,255,255,0.06);
  transition: background 0.4s ease;
}
.fc-pl__bar-seg--active { background: var(--fc-accent); }
.fc-pl__bar-seg--done { background: rgba(0,209,142,0.3); }

/* ─── Header ─── */
.fc-pl__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--fc-space-3) var(--fc-space-6) 0;
  flex-shrink: 0;
}
.fc-pl__head-title {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium);
  color: rgba(255,255,255,0.25);
}
.fc-pl__x {
  width: 28px; height: 28px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; border: none; background: none;
  transition: background 0.15s;
}
.fc-pl__x:hover { background: rgba(255,255,255,0.06); }
.fc-pl__x svg { width: 14px; height: 14px; color: rgba(255,255,255,0.25); }

/* ─── Screens — gentle crossfade + rise ─── */
.fc-pl__screen {
  display: none; flex-direction: column;
  flex: 1; min-height: 0;
}
.fc-pl__screen--active { display: flex; }
.fc-pl__screen--out {
  animation: fc-pl-out 0.25s ease forwards;
}
.fc-pl__screen--in {
  animation: fc-pl-in 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes fc-pl-out { to { opacity: 0; } }
@keyframes fc-pl-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ─── Question — Playfair Display, editorial ─── */
.fc-pl__q {
  font-family: var(--fc-display);
  font-size: 1.35rem;
  font-weight: var(--fc-w-regular);
  color: rgba(255,255,255,0.92);
  letter-spacing: -0.5px;
  line-height: var(--fc-lh-heading);
  padding: var(--fc-space-5) var(--fc-space-6) var(--fc-space-4);
  margin: 0;
}

/* ─── Option rows ─── */
.fc-pl__opts {
  padding: 0 var(--fc-space-6) var(--fc-space-6);
  display: flex; flex-direction: column; gap: 6px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.fc-pl__opt {
  display: flex; align-items: center; gap: var(--fc-space-3);
  padding: var(--fc-space-4) var(--fc-space-5);
  border-radius: var(--fc-radius-xs);
  background: rgba(255,255,255,0.03);
  border: 1.5px solid transparent;
  border-left: 3px solid transparent;
  cursor: pointer; text-align: left;
  transition: border-color 0.15s, background 0.15s, transform 0.15s;
}
.fc-pl__opt:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(255,255,255,0.06);
  border-left-color: rgba(255,255,255,0.06);
}
.fc-pl__opt:active { transform: scale(0.985); }

/* Selected — green left accent (player signature) */
.fc-pl__opt--sel {
  border-left-color: var(--fc-accent);
  background: rgba(0,209,142,0.06);
  border-color: rgba(0,209,142,0.12);
  animation: fc-pl-pulse 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes fc-pl-pulse {
  0%  { transform: scale(1); }
  40% { transform: scale(1.012); }
  100%{ transform: scale(1); }
}

.fc-pl__opt-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }

.fc-pl__opt-label {
  font-family: var(--fc-sans); font-size: var(--fc-text-ui);
  font-weight: var(--fc-w-medium); color: rgba(255,255,255,0.75); flex: 1;
}
.fc-pl__opt--sel .fc-pl__opt-label { color: var(--fc-accent); }

.fc-pl__opt-val {
  font-family: var(--fc-mono); font-size: var(--fc-text-small);
  color: rgba(255,255,255,0.88); flex-shrink: 0;
  font-weight: var(--fc-w-semibold);
}
.fc-pl__opt--sel .fc-pl__opt-val { color: rgba(0,209,142,0.7); }

/* ─── Result screen ─── */
.fc-pl__result {
  display: flex; flex-direction: column;
  flex: 1; min-height: 0;
}

/* Result header — slightly lighter zone */
.fc-pl__res-header {
  padding: var(--fc-space-6) var(--fc-space-6) var(--fc-space-5);
  flex-shrink: 0;
}
.fc-pl__res-title {
  font-family: var(--fc-display); font-size: 1.45rem;
  font-weight: var(--fc-w-regular); color: white;
  letter-spacing: -0.5px; line-height: var(--fc-lh-heading);
  margin-bottom: var(--fc-space-2);
}
.fc-pl__res-meta {
  font-family: var(--fc-mono); font-size: var(--fc-text-small);
  color: rgba(255,255,255,0.4); letter-spacing: 0.2px;
}

/* ─── Actions — visible fill buttons ─── */
.fc-pl__res-actions {
  display: flex; gap: 6px;
  padding: var(--fc-space-3) var(--fc-space-6) 0;
  flex-shrink: 0;
}
.fc-pl__res-act {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 7px var(--fc-space-4); border-radius: var(--fc-radius-pill);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.5);
  font-family: var(--fc-sans); font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium);
  cursor: pointer; transition: all 0.15s;
}
.fc-pl__res-act:hover {
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.16);
  color: rgba(255,255,255,0.75);
}
.fc-pl__res-act svg { color: rgba(0,209,142,0.6); }
.fc-pl__res-act:hover svg { color: var(--fc-accent); }

/* ─── Tracks — scrollable with bottom fade ─── */
.fc-pl__tracks-wrap {
  overflow-y: auto !important; overflow-x: hidden;
  max-height: calc(85vh - 350px) !important;
  min-height: 120px;
  -webkit-overflow-scrolling: touch;
  position: relative;
}
.fc-pl__tracks {
  padding: var(--fc-space-2) var(--fc-space-6);
}
.fc-pl__tracks-wrap::after {
  content: '';
  position: sticky; bottom: 0;
  display: block; height: 32px;
  background: linear-gradient(transparent, var(--fc-ink));
  pointer-events: none;
  margin-top: -32px;
}

.fc-pl__tr {
  display: flex; align-items: center; gap: var(--fc-space-3);
  padding: var(--fc-space-3) 0;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  cursor: pointer; transition: background 0.12s;
}
.fc-pl__tr:last-child { border-bottom: none; }
.fc-pl__tr:hover {
  background: rgba(255,255,255,0.03);
  margin: 0 calc(-1 * var(--fc-space-2));
  padding-left: var(--fc-space-2); padding-right: var(--fc-space-2);
  border-radius: var(--fc-radius-xxs);
}

/* Playing track — green tint, eq bars replace number */
.fc-pl__tr--playing {
  background: rgba(0,209,142,0.05);
  margin: 0 calc(-1 * var(--fc-space-2));
  padding: var(--fc-space-3) var(--fc-space-2);
  border-radius: var(--fc-radius-xxs);
  border-bottom-color: transparent;
  position: relative;
}
.fc-pl__tr--playing .fc-pl__tr-title { color: var(--fc-accent); font-weight: var(--fc-w-semibold); }
.fc-pl__tr--playing .fc-pl__tr-num { display: none; }
.fc-pl__tr--playing .fc-pl__tr-dur { color: rgba(0,209,142,0.4); }

/* Played tracks — slightly dimmed */
.fc-pl__tr--played .fc-pl__tr-title { color: rgba(255,255,255,0.4); }
.fc-pl__tr--played .fc-pl__tr-meta { color: rgba(255,255,255,0.15); }
.fc-pl__tr--played .fc-pl__tr-dur { color: rgba(255,255,255,0.08); }

/* Equalizer bars — replace track number when playing */
.fc-pl__tr-bars {
  display: none; align-items: flex-end; gap: 2px;
  height: 14px; width: 18px; justify-content: flex-end;
  flex-shrink: 0;
}
.fc-pl__tr--playing .fc-pl__tr-bars { display: flex; }
.fc-pl__tr-bars span {
  width: 3px; border-radius: 1.5px; background: var(--fc-accent);
  animation: fc-bar-bounce 1.2s ease-in-out infinite;
}
.fc-pl__tr-bars span:nth-child(1) { height: 5px; animation-delay: 0s; }
.fc-pl__tr-bars span:nth-child(2) { height: 9px; animation-delay: 0.15s; }
.fc-pl__tr-bars span:nth-child(3) { height: 4px; animation-delay: 0.3s; }

.fc-pl__tr-num {
  font-family: var(--fc-mono); font-size: var(--fc-text-small);
  color: rgba(255,255,255,0.15); width: 16px; text-align: right; flex-shrink: 0;
}
.fc-pl__tr-info { flex: 1; min-width: 0; }
.fc-pl__tr-title {
  font-family: var(--fc-sans); font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium); color: rgba(255,255,255,0.85);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  line-height: var(--fc-lh-snug);
}
.fc-pl__tr-meta {
  font-family: var(--fc-sans); font-size: var(--fc-text-micro);
  color: rgba(255,255,255,0.3); margin-top: 1px;
}
.fc-pl__tr-dur {
  font-family: var(--fc-mono); font-size: var(--fc-text-micro);
  color: rgba(255,255,255,0.15); flex-shrink: 0;
}
.fc-pl__tr--enter {
  animation: fc-pl-tr-in 0.3s ease forwards; opacity: 0;
}
@keyframes fc-pl-tr-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ─── Footer — centered circle play button with progress ring ─── */
.fc-pl__footer {
  padding: var(--fc-space-5) var(--fc-space-6) var(--fc-space-3);
  border-top: 1px solid rgba(255,255,255,0.04);
  flex-shrink: 0;
  display: flex; flex-direction: column; align-items: center;
  gap: var(--fc-space-2);
}

.fc-pl__play-wrap { position: relative; }

.fc-pl__play {
  position: relative;
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--fc-accent);
  color: white;
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s, transform 0.1s, box-shadow 0.2s;
}
.fc-pl__play:hover {
  background: var(--fc-accent-hover);
  box-shadow: 0 0 0 4px var(--fc-accent-dim);
}
.fc-pl__play:active { transform: scale(0.88); }

/* Play/Pause icons — centered in circle */
.fc-pl__play-icon,
.fc-pl__pause-icon {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  z-index: 2;
}
.fc-pl__play-icon svg { margin-left: 2px; /* optical center for triangle */ }

/* Progress ring — matches fc-mnav__ring */
.fc-pl__ring {
  position: absolute; inset: -3px;
  width: 62px; height: 62px;
  transform: rotate(-90deg);
  z-index: 1;
}
.fc-pl__ring-track {
  fill: none;
  stroke: rgba(255,255,255,0.06);
  stroke-width: 2.5;
}
.fc-pl__ring-progress {
  fill: none;
  stroke: var(--fc-accent);
  stroke-width: 2.5;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.3s linear;
}

/* Play label below button */
.fc-pl__play-label {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-semibold);
  color: rgba(255,255,255,0.35);
  transition: color 0.2s;
}

/* Playing state — green tint bg, green icon */
.fc-pl__play--playing {
  background: rgba(0,209,142,0.10);
  color: var(--fc-accent);
}
.fc-pl__play--playing:hover {
  background: rgba(0,209,142,0.15);
  box-shadow: 0 0 0 4px rgba(0,209,142,0.08);
}
.fc-pl__play--playing .fc-pl__play-label { color: rgba(0,209,142,0.5); }

/* Elastic spring bounce — matches fc-mnav */
.fc-pl__play--bounce {
  animation: fc-pl-spring 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes fc-pl-spring {
  0%   { transform: scale(0.88); }
  50%  { transform: scale(1.08); }
  100% { transform: scale(1); }
}

/* ─── Links — quiet, bottom ─── */
.fc-pl__links {
  padding: 0 var(--fc-space-6) var(--fc-space-5);
  display: flex; flex-direction: column; gap: var(--fc-space-2);
  flex-shrink: 0;
}
.fc-pl__link {
  display: flex; align-items: center; gap: var(--fc-space-2);
  font-family: var(--fc-sans); font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium); color: rgba(255,255,255,0.25);
  text-decoration: none; transition: color 0.15s;
}
.fc-pl__link:hover { color: var(--fc-accent); }
.fc-pl__link svg { flex-shrink: 0; }

/* ─── PWA install card — distinct from text links ─── */
.fc-pl__install {
  display: flex; align-items: center; gap: var(--fc-space-3);
  padding: var(--fc-space-3) var(--fc-space-4);
  margin-top: var(--fc-space-1);
  border-radius: var(--fc-radius-xs);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  text-decoration: none;
  transition: background 0.15s, border-color 0.15s;
  cursor: pointer;
}
.fc-pl__install:hover {
  background: rgba(0,209,142,0.06);
  border-color: rgba(0,209,142,0.15);
}
.fc-pl__install svg {
  color: var(--fc-accent);
  flex-shrink: 0;
}
.fc-pl__install-label {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-semibold);
  color: rgba(255,255,255,0.7);
}
.fc-pl__install:hover .fc-pl__install-label {
  color: rgba(255,255,255,0.9);
}
.fc-pl__install-meta {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  color: rgba(255,255,255,0.2);
  font-weight: var(--fc-w-regular);
  margin-left: auto;
}

/* ═══ MOBILE — Bottom sheet ═══ */
@media (max-width: 767px) {
  .fc-pl-overlay { align-items: flex-end; }
  .fc-pl {
    width: 100%; max-width: 100%; max-height: 90vh;
    border-radius: var(--fc-radius) var(--fc-radius) 0 0;
    transform: translateY(100%); opacity: 1;
  }
  .fc-pl-overlay--open .fc-pl { transform: translateY(0); }
  .fc-pl__handle { display: flex; padding: 10px 0 0; justify-content: center; }
  .fc-pl__q { font-size: 1.2rem; }
  .fc-pl__opt { padding: var(--fc-space-4); }
}

@media (prefers-reduced-motion: reduce) {
  .fc-pl, .fc-pl__screen--out, .fc-pl__screen--in,
  .fc-pl__opt--sel, .fc-pl__tr--enter, .fc-pl__tr-bars span,
  .fc-pl__play--bounce {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}


/* ═══════════════════════════════════════════
   SEARCH MODAL — Cmd+K, Spotlight-grade
   Dark overlay, instant search, filter chips.
   Matches playlist modal design language.
   ═══════════════════════════════════════════ */

/* Overlay */
.fc-search-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 12vh;
  z-index: 1001;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.fc-search-overlay--open {
  opacity: 1;
  pointer-events: all;
}

/* Modal container */
.fc-search {
  background: var(--fc-ink);
  border-radius: 16px;
  width: 580px;
  max-width: 92vw;
  max-height: 70vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 24px 80px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.06);
  transform: translateY(-12px) scale(0.98);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}
.fc-search-overlay--open .fc-search {
  transform: translateY(0) scale(1);
}

/* ── Input bar ── */
.fc-search__input-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 24px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.fc-search__icon {
  width: 20px; height: 20px;
  color: var(--fc-accent);
  flex-shrink: 0;
}
.fc-search__input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  font-family: var(--fc-sans);
  font-size: 1.05rem;
  font-weight: var(--fc-w-medium);
  color: white;
  caret-color: var(--fc-accent);
}
.fc-search__input::placeholder {
  color: rgba(255,255,255,0.28);
  font-weight: var(--fc-w-regular);
}
.fc-search__kbd {
  font-family: var(--fc-mono);
  font-size: 0.6rem;
  font-weight: var(--fc-w-semibold);
  color: rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.06);
  padding: 3px 7px;
  border-radius: 5px;
  border: 1px solid rgba(255,255,255,0.08);
  line-height: 1;
  flex-shrink: 0;
}

/* ── Filter chips ── */
.fc-search__filters {
  display: flex;
  gap: 6px;
  padding: 14px 24px;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.fc-search__chip {
  padding: 6px 14px;
  border-radius: var(--fc-radius-pill);
  background: rgba(255,255,255,0.04);
  border: 1.5px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.4);
  font-family: var(--fc-sans);
  font-size: 0.7rem;
  font-weight: var(--fc-w-semibold);
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
  flex-shrink: 0;
}
.fc-search__chip:hover {
  border-color: rgba(255,255,255,0.16);
  color: rgba(255,255,255,0.6);
}
.fc-search__chip--active {
  background: rgba(0,209,142,0.10);
  border-color: var(--fc-accent);
  color: var(--fc-accent);
}
.fc-search__chip-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.fc-search__chip-dot--claim  { background: var(--fc-accent); }
.fc-search__chip-dot--study  { background: #6366F1; }
.fc-search__chip-dot--library { background: #F59E0B; }
.fc-search__chip-icon {
  width: 12px; height: 12px;
  flex-shrink: 0;
}

/* ── Body: scrollable results/suggestions ── */
.fc-search__body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  min-height: 180px;
}

/* Section labels */
.fc-search__section-label {
  font-family: var(--fc-mono);
  font-size: 0.56rem;
  font-weight: var(--fc-w-semibold);
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.25);
  margin-bottom: 12px;
}
.fc-search__section-label--recent {
  margin-top: 20px;
}

/* Popular topic suggestions */
.fc-search__suggestions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}
.fc-search__suggestion {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  color: rgba(255,255,255,0.55);
  font-family: var(--fc-sans);
  font-size: 0.82rem;
  font-weight: var(--fc-w-medium);
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}
.fc-search__suggestion:hover {
  background: rgba(255,255,255,0.06);
  color: white;
}
.fc-search__suggestion-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: rgba(255,255,255,0.25);
}
.fc-search__suggestion:hover .fc-search__suggestion-icon {
  color: var(--fc-accent);
}

/* Recent searches */
.fc-search__recents {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.fc-search__recent {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 8px;
  color: rgba(255,255,255,0.4);
  font-family: var(--fc-sans);
  font-size: 0.78rem;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
  cursor: pointer;
}
.fc-search__recent:hover {
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.7);
}
.fc-search__recent-icon {
  width: 14px; height: 14px;
  color: rgba(255,255,255,0.2);
  flex-shrink: 0;
}

/* Search results */
.fc-search__results {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.fc-search__result {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  text-decoration: none;
  transition: background 0.15s;
}
.fc-search__result:hover,
.fc-search__result--focused {
  background: rgba(255,255,255,0.06);
}
.fc-search__result-type {
  width: 8px; height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.fc-search__result-type--claim  { background: var(--fc-accent); }
.fc-search__result-type--study  { background: #6366F1; }
.fc-search__result-type--page   { background: #F59E0B; }
.fc-search__result-body {
  flex: 1;
  min-width: 0;
}
.fc-search__result-title {
  font-family: var(--fc-sans);
  font-size: 0.85rem;
  font-weight: var(--fc-w-semibold);
  color: rgba(255,255,255,0.85);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fc-search__result-meta {
  font-size: 0.68rem;
  color: rgba(255,255,255,0.3);
  margin-top: 2px;
}
.fc-search__result-meta mark {
  background: rgba(0,209,142,0.2);
  color: var(--fc-accent);
  border-radius: 2px;
  padding: 0 2px;
}

/* No results */
.fc-search__no-results {
  text-align: center;
  padding: 32px 0;
  color: rgba(255,255,255,0.3);
  font-size: 0.85rem;
}
.fc-search__no-results strong {
  display: block;
  color: rgba(255,255,255,0.5);
  margin-bottom: 4px;
}

/* ── Footer ── */
.fc-search__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 24px;
  border-top: 1px solid rgba(255,255,255,0.04);
}
.fc-search__hint {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.62rem;
  color: rgba(255,255,255,0.2);
  font-family: var(--fc-sans);
}
.fc-search__hint kbd {
  font-family: var(--fc-mono);
  font-size: 0.58rem;
  background: rgba(255,255,255,0.06);
  padding: 2px 5px;
  border-radius: 4px;
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.3);
}
.fc-search__powered {
  font-family: var(--fc-mono);
  font-size: 0.52rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(0,209,142,0.3);
}

/* ── Mobile ── */
@media (max-width: 767px) {
  .fc-search-overlay { padding-top: 0; align-items: flex-start; }
  .fc-search {
    width: 100%;
    max-width: 100vw;
    max-height: 100vh;
    border-radius: 0;
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
  }
  .fc-search__suggestions { grid-template-columns: 1fr; }
  .fc-search__footer { display: none; }
}


/* ─── Site Footer v10.0 — Legendary ─────── */
.fc-footer {
  border-top: 1px solid var(--fc-border);
  padding: 0;
  margin-top: var(--fc-space-8);
}

/* ── Trust Manifesto Strip ── */
.fc-footer__manifesto {
  padding: var(--fc-space-5) 0;
  border-bottom: 1px solid var(--fc-border);
}
.fc-footer__manifesto-inner {
  display: flex;
  align-items: center;
  gap: var(--fc-space-3);
}
.fc-footer__manifesto-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: var(--fc-radius-xxs);
  background: var(--fc-accent-dim);
  color: var(--fc-accent);
  flex-shrink: 0;
}
.fc-footer__manifesto-icon svg { width: 13px; height: 13px; }
.fc-footer__manifesto-text {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium);
  color: var(--fc-body);
  letter-spacing: -0.1px;
}
.fc-footer__manifesto-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  font-family: var(--fc-mono);
  font-size: 0.68rem;
  font-weight: var(--fc-w-medium);
  color: var(--fc-accent);
  text-decoration: none;
  transition: opacity 0.15s;
  white-space: nowrap;
  flex-shrink: 0;
}
.fc-footer__manifesto-link:hover { opacity: 0.75; }
.fc-footer__manifesto-link svg { width: 12px; height: 12px; }
.fc-footer__manifesto-note {
  font-family: var(--fc-sans);
  font-size: 0.66rem;
  line-height: var(--fc-lh-ui);
  color: var(--fc-ghost);
  margin: var(--fc-space-2) 0 0;
  padding-left: 38px; /* align with text after icon */
}
.fc-footer__manifesto-note a {
  color: var(--fc-dim);
  text-decoration: none;
  font-weight: var(--fc-w-medium);
  transition: color 0.15s;
}
.fc-footer__manifesto-note a:hover { color: var(--fc-accent); }

/* ── CTA Banner — dark premium block ── */
/* ── CTA Banner — Portrait Edition v11.0 ── */
.fc-footer__cta {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 var(--fc-space-10);
  margin-top: var(--fc-space-6);
  background: var(--fc-player-dark);
  border-radius: var(--fc-radius-sm);
  overflow: hidden;
  height: 200px;
}
.fc-footer__cta-bg {
  position: absolute;
  top: 50%;
  right: 0;
  width: 60%;
  height: 140%;
  object-fit: cover;
  object-position: 65% 20%;
  transform: translateY(-50%);
  opacity: 0.9;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.2) 10%, rgba(0,0,0,0.7) 35%, rgba(0,0,0,1) 60%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.2) 10%, rgba(0,0,0,0.7) 35%, rgba(0,0,0,1) 60%);
  pointer-events: none;
  animation: fc-banner-breathe 20s ease-in-out infinite alternate;
}
@keyframes fc-banner-breathe {
  0% { transform: translateY(-50%) scale(1); }
  100% { transform: translateY(-50%) scale(1.03); }
}
.fc-footer__cta-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right,
    #1A1A1A 0%,
    #1A1A1A 20%,
    rgba(26,26,26,0.9) 35%,
    rgba(26,26,26,0.4) 55%,
    transparent 75%
  );
  z-index: 1;
  pointer-events: none;
}
.fc-footer__cta-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.fc-footer__cta-headline {
  font-family: var(--fc-serif);
  font-size: 1.65rem;
  font-weight: var(--fc-w-regular);
  letter-spacing: -0.5px;
  color: var(--fc-surface);
  line-height: var(--fc-lh-heading);
}
.fc-footer__cta-headline em { font-style: italic; color: var(--fc-accent); }
.fc-footer__cta-proof {
  display: flex;
  align-items: center;
  gap: var(--fc-space-2);
  margin-top: 8px;
  font-family: var(--fc-sans);
  font-size: 0.72rem;
  color: rgba(255,255,255,0.4);
}
.fc-footer__stars { color: var(--fc-accent); letter-spacing: 1px; font-size: 14px; }
.fc-footer__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--fc-space-2);
  padding: 13px 26px;
  margin-top: 18px;
  border-radius: var(--fc-radius-pill);
  background: var(--fc-accent);
  color: var(--fc-ink);
  font-family: var(--fc-sans);
  font-size: 0.82rem;
  font-weight: var(--fc-w-bold);
  text-decoration: none;
  transition: background 0.2s var(--fc-ease-out), transform 0.15s var(--fc-ease-out);
  white-space: nowrap;
  align-self: flex-start;
}
.fc-footer__cta-btn:hover { background: var(--fc-accent-hover); transform: translateY(-1px); }
.fc-footer__cta-btn svg { width: 15px; height: 15px; flex-shrink: 0; }

/* ── Disclaimer Strip — quiet legal note ── */
.fc-footer__disclaimer {
  margin-top: var(--fc-space-6);
  padding: var(--fc-space-5) 0;
  border-top: 1px solid var(--fc-border);
}

.fc-footer__disclaimer-text {
  font-family: var(--fc-sans);
  font-size: 0.72rem;
  line-height: 1.65;
  color: var(--fc-dim);
  margin: 0;
}

.fc-footer__disclaimer-text strong {
  color: var(--fc-ink);
  font-weight: var(--fc-w-semibold);
}

.fc-footer__disclaimer-text a:not(.fc-footer__disclaimer-link) {
  color: var(--fc-dim);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.15s;
}

.fc-footer__disclaimer-text a:not(.fc-footer__disclaimer-link):hover {
  color: var(--fc-accent);
}

.fc-footer__disclaimer-link {
  display: inline-block;
  margin-left: var(--fc-space-2);
  color: var(--fc-accent);
  text-decoration: none;
  font-weight: var(--fc-w-medium);
  white-space: nowrap;
}

.fc-footer__disclaimer-link:hover {
  text-decoration: underline;
}

/* ── Navigation Grid — 5 Columns ── */
.fc-footer__grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr 1fr 0.9fr;
  gap: var(--fc-space-6);
  padding: var(--fc-space-8) 0 var(--fc-space-6);
}
.fc-footer__col { min-width: 0; }
.fc-footer__col-title {
  font-family: var(--fc-mono);
  font-size: 0.58rem;
  font-weight: var(--fc-w-semibold);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--fc-ghost);
  margin-bottom: var(--fc-space-3);
}
.fc-footer__link {
  display: block;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  padding: 3px 0;
  transition: color 0.15s var(--fc-ease-out);
  text-decoration: none;
  line-height: var(--fc-lh-ui);
}
.fc-footer__link:hover { color: var(--fc-ink); }

/* Pro link — pill badge with bolt icon */
.fc-footer__link--pro {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: var(--fc-space-1);
  padding: 3px 10px 3px 7px;
  background: var(--fc-accent-dim);
  color: var(--fc-accent);
  font-weight: var(--fc-w-semibold);
  font-size: 0.72rem;
  border-radius: var(--fc-radius-pill);
  transition: background 0.15s var(--fc-ease-out), color 0.15s;
}
.fc-footer__link--pro svg {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
}
.fc-footer__link--pro:hover {
  background: rgba(0,209,142,0.14);
  color: var(--fc-accent-hover);
}

/* llms.txt — monospace */
.fc-footer__link--mono {
  font-family: var(--fc-mono);
  font-size: 0.72rem;
}

/* For AI column — green accent top border */
.fc-footer__col--ai {
  padding-top: var(--fc-space-4);
  border-top: 2px solid var(--fc-accent);
  margin-top: calc(-1 * var(--fc-space-4));
}
.fc-footer__col--ai .fc-footer__col-title {
  color: var(--fc-accent);
}

/* ── Grounded Report Trigger ── */
.fc-footer__grounded {
  padding: var(--fc-space-4) 0;
  border-top: 1px solid var(--fc-border);
}
.fc-footer__grounded-trigger {
  display: flex;
  align-items: center;
  gap: var(--fc-space-2);
  width: 100%;
  padding: var(--fc-space-3) var(--fc-space-4);
  background: transparent;
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-xs);
  cursor: pointer;
  transition: background 0.15s var(--fc-ease-out), border-color 0.15s;
  font-family: var(--fc-sans);
}
.fc-footer__grounded-trigger:hover {
  background: var(--fc-accent-dim);
  border-color: rgba(0,209,142,0.2);
}
.fc-footer__grounded-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: var(--fc-radius-xxs);
  background: var(--fc-accent-dim);
  color: var(--fc-accent);
  flex-shrink: 0;
}
.fc-footer__grounded-icon svg { width: 13px; height: 13px; }
.fc-footer__grounded-label {
  font-size: 0.74rem;
  font-weight: var(--fc-w-medium);
  color: var(--fc-dim);
  letter-spacing: -0.1px;
}
.fc-footer__grounded-arrow {
  margin-left: auto;
  color: var(--fc-ghost);
  transition: transform 0.15s var(--fc-ease-out);
}
.fc-footer__grounded-trigger:hover .fc-footer__grounded-arrow {
  transform: translateX(2px);
  color: var(--fc-accent);
}

/* ── Report Modal ── */
.fc-report-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.25s var(--fc-ease-out);
  pointer-events: none;
}
.fc-report-modal.is-open {
  opacity: 1;
  pointer-events: auto;
}
.fc-report-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.fc-report-modal__panel {
  position: relative;
  width: 100%;
  max-width: 440px;
  margin: var(--fc-space-5);
  background: var(--fc-surface);
  border-radius: var(--fc-radius);
  box-shadow: 0 20px 60px rgba(0,0,0,0.15), 0 4px 20px rgba(0,0,0,0.08);
  overflow: hidden;
  transform: translateY(12px) scale(0.97);
  transition: transform 0.25s var(--fc-ease-out);
}
.fc-report-modal.is-open .fc-report-modal__panel {
  transform: translateY(0) scale(1);
}
.fc-report-modal__header {
  display: flex;
  align-items: center;
  gap: var(--fc-space-3);
  padding: var(--fc-space-6) var(--fc-space-6) 0;
}
.fc-report-modal__icon {
  width: 36px;
  height: 36px;
  border-radius: var(--fc-radius-xs);
  background: var(--fc-accent-dim);
  color: var(--fc-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fc-report-modal__title {
  font-family: var(--fc-sans);
  font-size: 1.05rem;
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  letter-spacing: -0.3px;
  margin: 0;
}
.fc-report-modal__close {
  margin-left: auto;
  width: 32px;
  height: 32px;
  border-radius: var(--fc-radius-xxs);
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fc-dim);
  transition: background 0.15s, color 0.15s;
}
.fc-report-modal__close:hover {
  background: var(--fc-border-light);
  color: var(--fc-ink);
}
.fc-report-modal__body {
  padding: var(--fc-space-5) var(--fc-space-6) var(--fc-space-6);
}
.fc-report-modal__intro {
  font-family: var(--fc-sans);
  font-size: 0.85rem;
  line-height: var(--fc-lh-ui);
  color: var(--fc-body);
  margin: 0 0 var(--fc-space-5);
}
.fc-report-modal__actions {
  margin-bottom: var(--fc-space-5);
}
.fc-report-modal__btn {
  display: inline-flex;
  align-items: center;
  gap: var(--fc-space-2);
  text-decoration: none;
  font-family: var(--fc-sans);
  font-size: 0.82rem;
  font-weight: var(--fc-w-semibold);
  border-radius: var(--fc-radius-xs);
  transition: background 0.15s var(--fc-ease-out), transform 0.1s;
  cursor: pointer;
}
.fc-report-modal__btn--primary {
  padding: 10px 20px;
  background: var(--fc-accent);
  color: var(--fc-ink);
}
.fc-report-modal__btn--primary:hover {
  background: var(--fc-accent-hover);
  transform: translateY(-1px);
}
.fc-report-modal__btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.fc-report-modal__footer-note {
  display: flex;
  align-items: flex-start;
  gap: var(--fc-space-2);
  font-family: var(--fc-sans);
  font-size: 0.72rem;
  line-height: var(--fc-lh-ui);
  color: var(--fc-dim);
}
.fc-report-modal__footer-note svg {
  width: 12px;
  height: 12px;
  color: var(--fc-accent);
  flex-shrink: 0;
  margin-top: 2px;
}
.fc-report-modal__footer-note a {
  color: var(--fc-accent);
  text-decoration: none;
  font-weight: var(--fc-w-medium);
}
.fc-report-modal__footer-note a:hover { text-decoration: underline; }
.fc-report-modal__trust-links {
  display: flex;
  align-items: center;
  gap: var(--fc-space-2);
  padding: var(--fc-space-3) var(--fc-space-6);
  background: var(--fc-bg);
  border-top: 1px solid var(--fc-border);
  font-family: var(--fc-sans);
  font-size: 0.68rem;
}
.fc-report-modal__trust-links a {
  color: var(--fc-dim);
  text-decoration: none;
  transition: color 0.15s;
}
.fc-report-modal__trust-links a:hover { color: var(--fc-accent); }
.fc-report-modal__sep { color: var(--fc-border); }

/* ── Bottom Bar ── */
.fc-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--fc-space-5) 0 var(--fc-space-6);
  border-top: 1px solid var(--fc-border);
}
.fc-footer__logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  flex-shrink: 0;
}
.fc-footer__logo-img {
  display: block;
  height: 14px;
  width: auto;
  max-width: 100px;
  opacity: 0.4;
  transition: opacity 0.2s var(--fc-ease-out);
}
.fc-footer__logo:hover .fc-footer__logo-img { opacity: 0.7; }

/* Center meta — copyright */
.fc-footer__meta {
  display: flex;
  align-items: center;
}
.fc-footer__copy {
  font-family: var(--fc-sans);
  font-size: 0.65rem;
  color: var(--fc-ghost);
}

/* Right icons — social + app store inline */
.fc-footer__icons {
  display: flex;
  align-items: center;
  gap: var(--fc-space-1);
}
.fc-footer__icon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s var(--fc-ease-out), color 0.15s;
  color: var(--fc-ghost);
  text-decoration: none;
}
.fc-footer__icon:hover {
  background: var(--fc-accent-dim);
  color: var(--fc-accent);
}
.fc-footer__icon svg { width: 14px; height: 14px; }

/* App store icons — dark ink for visual weight */
.fc-footer__icon--app {
  background: var(--fc-ink);
  color: var(--fc-surface);
}
.fc-footer__icon--app:hover {
  background: var(--fc-accent);
  color: var(--fc-ink);
}

/* Separator between social and app icons */
.fc-footer__icon-sep {
  width: 1px;
  height: 14px;
  background: var(--fc-border);
  margin: 0 var(--fc-space-1);
}


/* ── PWA Install Strip — site-footer.php, BEM block: fc-pwa-strip ── */
/* Desktop: QR code + text side by side. Mobile: headphone icon + install button. */
.fc-pwa-strip {
  display: flex;
  align-items: center;
  gap: var(--fc-space-8);
  padding: var(--fc-space-8) var(--fc-space-5);
  border-top: 0.5px solid var(--fc-border-light);
}
.fc-pwa-strip__qr {
  width: 100px;
  height: 100px;
  flex-shrink: 0;
  background: var(--fc-bg-alt);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-xxs);
  display: flex;
  align-items: center;
  justify-content: center;
}
.fc-pwa-strip__qr img { width: 72px; height: 72px; display: block; }
.fc-pwa-strip__body {
  display: flex;
  align-items: center;
  gap: var(--fc-space-3);
  flex: 1;
  min-width: 0;
}
.fc-pwa-strip__icon { display: none; }
.fc-pwa-strip__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.fc-pwa-strip__title {
  font-family: var(--fc-sans);
  font-size: 15px;
  font-weight: var(--fc-w-medium);
  color: var(--fc-ink);
  letter-spacing: -0.2px;
}
.fc-pwa-strip__sub {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
}
.fc-pwa-strip__btn { display: none; }
/* Hide entire strip in standalone PWA mode */
@media (display-mode: standalone) {
  .fc-pwa-strip { display: none; }
}
/* Mobile: swap QR for icon + install button */
@media (max-width: 767px) {
  .fc-pwa-strip {
    flex-direction: column;
    gap: var(--fc-space-4);
    margin: 0 var(--fc-space-3) var(--fc-space-3);
    padding: var(--fc-space-4);
    background: var(--fc-bg-alt);
    border-radius: var(--fc-radius-xs);
    border: 0.5px solid var(--fc-border);
  }
  .fc-pwa-strip__qr { display: none; }
  .fc-pwa-strip__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px; height: 36px;
    flex-shrink: 0;
    background: var(--fc-accent-dim);
    border-radius: 10px;
    color: var(--fc-accent);
  }
  .fc-pwa-strip__body { width: 100%; }
  .fc-pwa-strip__title { font-size: 14px; }
  .fc-pwa-strip__sub { font-size: 12px; }
  .fc-pwa-strip__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 10px 0;
    background: var(--fc-ink);
    color: var(--fc-surface);
    border-radius: var(--fc-radius-xxs);
    font-family: var(--fc-sans);
    font-size: 13px;
    font-weight: var(--fc-w-medium);
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  .fc-pwa-strip__btn:active { opacity: 0.85; }
}

/* ─── Persona Lens — Identity Modal v4 ───── */

/* ── Keyframes ── */
@keyframes fc-persona-fade {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes fc-persona-rise {
  from { opacity: 0; transform: translateY(24px) scale(0.96); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes fc-persona-check {
  0%   { transform: scale(0); opacity: 0; }
  50%  { transform: scale(1.2); }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes fc-persona-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(0,209,142,0); }
  50%      { box-shadow: 0 0 0 6px rgba(0,209,142,0.12); }
}

/* ── Nav rail trigger ── */
.fc-nav__persona {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 10px 6px;
  margin: 4px 8px;
  background: rgba(80,227,194,0.06);
  border: 1px solid rgba(80,227,194,0.1);
  border-radius: 10px;
  cursor: pointer;
  position: relative;
  color: var(--fc-rail-icon);
  transition: color 0.2s, background 0.2s, border-color 0.2s;
}
.fc-nav__persona:hover {
  background: rgba(80,227,194,0.12);
  border-color: rgba(80,227,194,0.2);
}
.fc-nav__persona-icon {
  width: 22px;
  height: 22px;
  transition: color 0.2s, transform 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
.fc-nav__persona:hover .fc-nav__persona-icon {
  transform: scale(1.1);
}

/* Active dot — hidden by default, visible when persona != all */
.fc-nav__persona-dot {
  position: absolute;
  top: 8px;
  right: 14px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--fc-accent);
  border: 2px solid var(--fc-rail-dark);
  opacity: 0;
  transform: scale(0);
  transition: all 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
body.fc-persona-active .fc-nav__persona-dot {
  opacity: 1;
  transform: scale(1);
}
body.fc-persona-active .fc-nav__persona {
  color: var(--fc-accent);
}
body.fc-persona-active .fc-nav__persona-icon {
  animation: fc-persona-glow 2.5s ease-in-out infinite;
  border-radius: 50%;
}

/* ── Mobile menu trigger ── */
.fc-menu-modal__persona {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 14px;
  margin: 0 0 4px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px;
  color: rgba(255,255,255,0.8);
  cursor: pointer;
  transition: all 0.2s;
  font-family: var(--fc-sans);
}
.fc-menu-modal__persona:hover {
  background: rgba(255,255,255,0.07);
  border-color: rgba(0,209,142,0.2);
}
.fc-menu-modal__persona-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.fc-menu-modal__persona-left svg {
  color: var(--fc-accent);
  flex-shrink: 0;
}
.fc-menu-modal__persona-text {
  display: flex;
  flex-direction: column;
}
.fc-menu-modal__persona-pre {
  font-size: 10px;
  font-weight: var(--fc-w-semibold);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.35);
  line-height: 1.2;
}
.fc-menu-modal__persona-val {
  font-size: 15px;
  font-weight: var(--fc-w-semibold);
  color: var(--fc-surface);
  line-height: 1.3;
}
body.fc-persona-active .fc-menu-modal__persona-val {
  color: var(--fc-accent);
}
.fc-menu-modal__persona-arrow {
  color: rgba(255,255,255,0.25);
  transition: transform 0.2s;
}
.fc-menu-modal__persona:hover .fc-menu-modal__persona-arrow {
  transform: translateX(2px);
  color: var(--fc-accent);
}

/* ── Modal overlay ── */
.fc-persona {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
}
.fc-persona--open {
  opacity: 1;
  visibility: visible;
}

/* Backdrop — deep blur */
.fc-persona__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10,10,10,0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  animation: fc-persona-fade 0.25s ease both;
}

/* Card — the soul of the modal */
.fc-persona__card {
  position: relative;
  width: 380px;
  max-width: calc(100vw - 48px);
  background: var(--fc-surface);
  border-radius: 24px;
  padding: 0;
  overflow: hidden;
  box-shadow:
    0 24px 80px rgba(0,0,0,0.15),
    0 8px 24px rgba(0,0,0,0.08),
    0 0 0 1px rgba(0,0,0,0.04);
  animation: fc-persona-rise 0.4s 0.05s cubic-bezier(0.34,1.56,0.64,1) both;
}

/* Close button */
.fc-persona__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: rgba(0,0,0,0.04);
  border-radius: 10px;
  cursor: pointer;
  color: var(--fc-ghost);
  transition: all 0.15s;
  padding: 0;
  z-index: 2;
}
.fc-persona__close svg { width: 16px; height: 16px; }
.fc-persona__close:hover {
  background: rgba(0,0,0,0.08);
  color: var(--fc-ink);
}

/* Header section */
.fc-persona__header {
  text-align: center;
  padding: 40px 32px 24px;
}

/* Globe icon — centerpiece */
.fc-persona__globe {
  width: 48px;
  height: 48px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(0,209,142,0.08), rgba(0,209,142,0.05));
  color: var(--fc-accent);
}
.fc-persona__globe svg { width: 26px; height: 26px; }

.fc-persona__title {
  font-family: var(--fc-sans);
  font-size: 20px;
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  letter-spacing: -0.3px;
  margin: 0 0 6px;
}
.fc-persona__sub {
  font-size: 13px;
  color: var(--fc-dim);
  line-height: 1.5;
  margin: 0;
}

/* ── Option buttons ── */
.fc-persona__options {
  padding: 0 20px 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fc-persona__opt {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 14px 16px;
  background: transparent;
  border: 1.5px solid transparent;
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: var(--fc-sans);
  text-align: left;
  position: relative;
}
.fc-persona__opt:hover {
  background: rgba(0,0,0,0.025);
  border-color: var(--fc-border);
}

/* Active option */
.fc-persona__opt--active {
  background: var(--fc-ink);
  border-color: var(--fc-ink);
}
.fc-persona__opt--active:hover {
  background: #2a2a2a;
  border-color: #2a2a2a;
}

/* Icon ring */
.fc-persona__opt-ring {
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: rgba(0,0,0,0.04);
  color: var(--fc-dim);
  transition: all 0.25s ease;
}
.fc-persona__opt-ring svg { width: 22px; height: 22px; }
.fc-persona__opt:hover .fc-persona__opt-ring {
  background: rgba(0,209,142,0.06);
  color: var(--fc-accent);
}
.fc-persona__opt--active .fc-persona__opt-ring {
  background: rgba(255,255,255,0.1);
  color: var(--fc-accent);
}
.fc-persona__opt--active:hover .fc-persona__opt-ring {
  background: rgba(255,255,255,0.12);
}

/* Text */
.fc-persona__opt-name {
  display: block;
  font-size: 15px;
  font-weight: var(--fc-w-semibold);
  color: var(--fc-ink);
  line-height: 1.3;
  transition: color 0.2s;
}
.fc-persona__opt-desc {
  display: block;
  font-size: 12px;
  color: var(--fc-dim);
  line-height: 1.3;
  margin-top: 1px;
  transition: color 0.2s;
}
.fc-persona__opt--active .fc-persona__opt-name {
  color: var(--fc-surface);
}
.fc-persona__opt--active .fc-persona__opt-desc {
  color: rgba(255,255,255,0.5);
}

/* Checkmark */
.fc-persona__opt-check {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  margin-left: auto;
  color: var(--fc-accent);
  opacity: 0;
  transform: scale(0);
  transition: all 0.3s cubic-bezier(0.34,1.56,0.64,1);
}
.fc-persona__opt-check svg { width: 22px; height: 22px; }
.fc-persona__opt--active .fc-persona__opt-check {
  opacity: 1;
  transform: scale(1);
  animation: fc-persona-check 0.4s 0.1s cubic-bezier(0.34,1.56,0.64,1) both;
}

/* Footer hint */
.fc-persona__footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 16px 20px 20px;
  font-size: 11px;
  color: var(--fc-ghost);
  letter-spacing: 0.2px;
}
.fc-persona__footer svg { flex-shrink: 0; opacity: 0.5; }

/* ─── Persona Filter Effects on Cards ────── */

.fc-persona-match {
  border-left: 3px solid var(--fc-accent) !important;
  transition: border-color 0.3s ease, opacity 0.3s ease;
}
.fc-persona-dim {
  opacity: 0.35;
  transition: opacity 0.4s cubic-bezier(0.4,0,0.2,1);
}
.fc-persona-dim:hover {
  opacity: 0.7;
}

/* ── Mobile modal adjustments ── */
@media (max-width: 767px) {
  .fc-persona__card {
    width: 100%;
    max-width: none;
    border-radius: 24px 24px 0 0;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    animation: none;
    transform: translateY(100%);
    transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
  }
  .fc-persona--open .fc-persona__card {
    transform: translateY(0);
  }
  .fc-persona__header { padding: 32px 24px 20px; }
  .fc-persona__options { padding: 0 16px 8px; }
  .fc-persona__footer { padding: 14px 16px 28px; /* extra for home bar */ }
}

/* ─── Skeptic Note (sidebar block) ──────── */
.fc-skeptic-note {
  border: 1px solid rgba(0, 209, 142, 0.2);
  border-left: 3px solid var(--fc-accent);
  border-radius: 0 var(--fc-radius-sm) var(--fc-radius-sm) 0;
  background: var(--fc-accent-dim);
  padding: 0;
  overflow: hidden;
}
.fc-skeptic-note__header {
  display: flex;
  align-items: center;
  gap: var(--fc-space-2);
  padding: var(--fc-space-3) var(--fc-space-4);
  border-bottom: 1px solid rgba(0, 209, 142, 0.1);
}
.fc-skeptic-note__icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--fc-accent);
}
.fc-skeptic-note__title {
  font-size: var(--fc-text-small);
  font-weight: 600;
  color: var(--fc-accent);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.fc-skeptic-note__body {
  padding: var(--fc-space-3) var(--fc-space-4);
}
.fc-skeptic-note__text {
  font-size: var(--fc-text-small);
  line-height: 1.6;
  color: var(--fc-body);
  margin: 0;
}
.fc-skeptic-note__trust {
  margin-top: var(--fc-space-2);
  font-size: 12px;
  color: var(--fc-dim);
  font-weight: 500;
}
.fc-skeptic-note__link {
  display: block;
  padding: var(--fc-space-2) var(--fc-space-4);
  font-size: 12px;
  color: var(--fc-accent);
  text-decoration: none;
  border-top: 1px solid rgba(0, 209, 142, 0.1);
  transition: background 0.15s ease;
}
.fc-skeptic-note__link:hover {
  background: rgba(0, 209, 142, 0.06);
}

/* ─── FitChef Connection Block ────────────────── */
.fc-connection {
  border: 1px solid rgba(99, 102, 241, 0.2);
  border-left: 3px solid var(--fc-info, #6366f1);
  border-radius: 0 var(--fc-radius-sm) var(--fc-radius-sm) 0;
  background: rgba(99, 102, 241, 0.04);
  padding: 0;
  overflow: hidden;
}
.fc-connection__header {
  display: flex;
  align-items: center;
  gap: var(--fc-space-2);
  padding: var(--fc-space-3) var(--fc-space-4);
  border-bottom: 1px solid rgba(99, 102, 241, 0.1);
}
.fc-connection__icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--fc-info, #6366f1);
}
.fc-connection__title {
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-info, #6366f1);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.fc-connection__body {
  padding: var(--fc-space-3) var(--fc-space-4);
}
.fc-connection__text {
  font-size: var(--fc-text-small);
  line-height: 1.6;
  color: var(--fc-body);
  margin: 0;
}
.fc-connection__source {
  margin-top: var(--fc-space-2);
  font-size: 12px;
  color: var(--fc-dim);
  font-weight: var(--fc-w-medium);
}
.fc-connection__link {
  display: block;
  padding: var(--fc-space-2) var(--fc-space-4);
  font-size: 12px;
  color: var(--fc-info, #6366f1);
  text-decoration: none;
  border-top: 1px solid rgba(99, 102, 241, 0.1);
  transition: background 0.15s ease;
}
.fc-connection__link:hover {
  background: rgba(99, 102, 241, 0.06);
}

/* ═══ BREADCRUMB (shared across all pages) ═══ */
/* Desktop: single-line trail with ellipsis — Home › Cluster › Title…
   Mobile:  iOS-style back-arrow — ← Cluster                        */

/* ── Shared base ── */
.fc-breadcrumb {
    font-family: var(--fc-sans);
    font-size: 0.73rem;
    color: var(--fc-dim);
    margin-bottom: var(--fc-space-6);
}

/* ── Both hidden by default, toggled by explicit breakpoints ── */
.fc-breadcrumb--mobile,
.fc-breadcrumb--desktop {
    display: none;
}

/* ── <768px: show mobile only ── */
@media (max-width: 767px) {
    .fc-breadcrumb--mobile {
        display: flex;
        align-items: center;
    }
}

/* ── ≥768px: show desktop only ── */
@media (min-width: 768px) {
    .fc-breadcrumb--desktop {
        display: flex;
        align-items: center;
        gap: var(--fc-space-1);
        flex-wrap: nowrap;
        overflow: hidden;
        min-width: 0;
    }
}
.fc-breadcrumb__link {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--fc-dim);
    text-decoration: none;
    transition: color 0.15s;
    white-space: nowrap;
    flex-shrink: 0;
}
.fc-breadcrumb__link:hover {
    color: var(--fc-accent);
}
.fc-breadcrumb__current {
    display: block;
    color: var(--fc-ghost);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.fc-breadcrumb__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-block;
    vertical-align: middle;
    margin-right: 3px;
}
.fc-breadcrumb__sep {
    color: var(--fc-ghost);
    flex-shrink: 0;
}

/* ── Mobile back-arrow elements ── */
.fc-breadcrumb__back {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--fc-dim);
    text-decoration: none;
    transition: color 0.15s;
    white-space: nowrap;
}
.fc-breadcrumb__back:hover {
    color: var(--fc-accent);
}
.fc-breadcrumb__back-icon {
    flex-shrink: 0;
}

/* ─── Citation Toolkit (GEO) ─────────────── */
/* Three-layer citation: capsules → APA citation → LLM hint.
   Backward compatible: without capsules/hint, renders as original cite block. */

.fc-cite-toolkit {
    margin-top: var(--fc-space-8);
    font-family: var(--fc-font-sans);
}
.fc-cite-toolkit__header {
    margin-bottom: var(--fc-space-5);
}
.fc-cite-toolkit__title {
    font-size: var(--fc-text-h2);
    font-weight: var(--fc-w-extrabold);
    color: var(--fc-ink);
    line-height: var(--fc-lh-heading);
    margin: 0 0 var(--fc-space-2) 0;
}
.fc-cite-toolkit__subtitle {
    font-size: var(--fc-text-small);
    color: var(--fc-dim);
    line-height: var(--fc-lh-ui);
    margin: 0;
}

/* Layer 2: Answer Capsules */
.fc-cite-toolkit__capsules {
    display: flex;
    flex-direction: column;
    gap: var(--fc-space-3);
    margin-bottom: var(--fc-space-5);
}
.fc-cite-toolkit__capsule {
    position: relative;
    padding: var(--fc-space-4) var(--fc-space-5);
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-left: 3px solid var(--fc-accent);
    border-radius: var(--fc-radius-md);
}
.fc-cite-toolkit__capsule-text {
    font-size: var(--fc-text-small);
    line-height: 1.7;
    color: var(--fc-body);
    margin: 0 0 var(--fc-space-3) 0;
}
.fc-cite-toolkit__capsule-copy {
    display: inline-flex;
    align-items: center;
    padding: var(--fc-space-1) var(--fc-space-2);
    font-size: 0.7rem;
    font-weight: var(--fc-w-semibold);
    color: var(--fc-accent);
    background: transparent;
    border: 1px solid var(--fc-accent);
    border-radius: var(--fc-radius-sm);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    transition: background 0.15s, color 0.15s;
}
.fc-cite-toolkit__capsule-copy:hover {
    background: var(--fc-accent);
    color: var(--fc-white, #fff);
}

/* Layer 1: Cite Block (original, now inside toolkit wrapper) */
.fc-cite-block {
    padding: var(--fc-space-4) var(--fc-space-5);
    background: var(--fc-bg-elevated, #fafafa);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    font-family: var(--fc-font-sans);
}
/* When inside toolkit, remove top margin (toolkit handles spacing) */
.fc-cite-toolkit .fc-cite-block {
    margin-top: 0;
}
/* Standalone cite block (claim/library pages without toolkit wrapper) */
.fc-cite-block:not(.fc-cite-toolkit .fc-cite-block) {
    margin-top: var(--fc-space-6);
}
.fc-cite-block__header {
    display: flex;
    align-items: center;
    gap: var(--fc-space-2);
    margin-bottom: var(--fc-space-3);
}
.fc-cite-block__icon {
    color: var(--fc-accent);
    flex-shrink: 0;
}
.fc-cite-block__label {
    font-size: var(--fc-text-small);
    font-weight: var(--fc-w-semibold);
    color: var(--fc-text-primary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.fc-cite-block__citation {
    font-size: var(--fc-text-small);
    line-height: 1.6;
    color: var(--fc-dim);
    padding: var(--fc-space-3);
    background: var(--fc-bg-inset, #f4f4f4);
    border-radius: var(--fc-radius-sm);
    margin-bottom: var(--fc-space-3);
    word-break: break-word;
}
.fc-cite-block__copy {
    display: inline-flex;
    align-items: center;
    gap: var(--fc-space-1);
    padding: var(--fc-space-2) var(--fc-space-3);
    font-size: var(--fc-text-small);
    font-weight: var(--fc-w-medium, 500);
    color: var(--fc-accent);
    background: transparent;
    border: 1px solid var(--fc-accent);
    border-radius: var(--fc-radius-sm);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.fc-cite-block__copy:hover {
    background: var(--fc-accent);
    color: var(--fc-white, #fff);
}

/* Layer 3: LLM Citation Hint */
.fc-cite-toolkit__llm-hint {
    margin-top: var(--fc-space-3);
    padding: var(--fc-space-3) var(--fc-space-4);
    background: var(--fc-bg-inset, #f4f4f4);
    border-radius: var(--fc-radius-sm);
    font-size: 0.7rem;
    line-height: 1.5;
    color: var(--fc-ghost);
}
.fc-cite-toolkit__llm-label {
    font-weight: var(--fc-w-semibold);
    color: var(--fc-dim);
    margin-right: var(--fc-space-1);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* ─── Trust Nav Row (mobile stacking) ────── */
/* Skeptic Check, trust cross-links, and machine trust blocks —
   stack the "Verified by..." label and link nav vertically on mobile */
.fc-trust-nav-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--fc-space-4);
}
.fc-trust-nav-row > nav { margin-left: auto; }

.fc-trust-nav-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.fc-trust-nav-links .fc-trust-sep { font-size: 0.5rem; }

@media (max-width: 600px) {
    .fc-trust-nav-row {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--fc-space-3);
    }
    .fc-trust-nav-row > nav { margin-left: 0; }

    .fc-trust-nav-links {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--fc-space-2);
    }
    .fc-trust-nav-links .fc-trust-sep { display: none; }
}

/* ─── WordPress Utilities ────────────────── */
.alignwide { margin-left: -2rem; margin-right: -2rem; }
.alignfull { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); width: 100vw; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: var(--fc-text-small); color: var(--fc-dim); margin-top: var(--fc-space-2); }

/* ═══════════════════════════════════════════
   CLAIM PAGE v4.0 — Legendary Rebuild
   All claim single-page CSS lives HERE.
   truth.css legacy claim CSS removed v12.11.0.
   ═══════════════════════════════════════════ */

/* ─── Claim Title — magazine-size hero heading ─── */
.fc-claim-title {
  font-family: var(--fc-serif);
  font-size: var(--fc-text-hero);
  line-height: var(--fc-lh-tight);
  font-weight: var(--fc-w-regular);
  letter-spacing: -2px;
  color: var(--fc-ink);
  max-width: 840px;
}

/* ─── Claim Deck — editorial subheading below title, above answer ─── */
.fc-claim-deck {
  font-family: var(--fc-serif);
  font-size: clamp(1.15rem, 2.8vw, 1.35rem);
  line-height: var(--fc-lh-hook);
  font-weight: var(--fc-w-semibold);
  letter-spacing: -0.3px;
  color: var(--fc-ink);
  max-width: var(--fc-prose-max);
  margin: var(--fc-space-3) 0 var(--fc-space-8) 0;
}

/* ─── Claim Prose — extends fc-article-body for claim-specific link styling ─── */
.fc-claim-prose {
  max-width: var(--fc-prose-max);
}
.fc-claim-prose a {
  color: var(--fc-accent);
  text-decoration: none;
  font-weight: var(--fc-w-medium);
  transition: opacity 0.15s;
}
.fc-claim-prose a:hover {
  opacity: 0.7;
}
.fc-claim-prose p {
  margin-bottom: 1.4em;
}
.fc-claim-prose p:last-child {
  margin-bottom: 0;
}

/* ─── Claim Disclaimer ─── */
.fc-claim-disclaimer {
  margin-top: var(--fc-space-10);
  padding: var(--fc-space-4) 0 0;
  border-top: 1px solid var(--fc-border);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-ghost);
  line-height: 1.55;
}

/* ─── Depth Zone (FAQ + alt queries wrapper) ─── */
.fc-claim-depth {
  margin-top: var(--fc-space-12);
  padding-top: var(--fc-space-10);
  border-top: 1px solid var(--fc-border);
}

/* ─── Answer Hero Card ─── */
.fc-claim-answer-hero {
  background: var(--fc-surface);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
  padding: var(--fc-space-7) var(--fc-space-8);
  margin: 0 0 var(--fc-space-12);
}
.fc-claim-answer-hero__answer {
  font-family: var(--fc-serif);
  font-size: clamp(1.2rem, 2.8vw, 1.35rem);
  line-height: 1.7;
  color: var(--fc-ink);
  margin-bottom: var(--fc-space-4);
}
.fc-claim-answer-hero__trust {
  display: flex;
  align-items: center;
  gap: var(--fc-space-4);
  flex-wrap: wrap;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  padding-top: var(--fc-space-4);
  margin-top: var(--fc-space-4);
  border-top: 1px solid var(--fc-border);
}
.fc-claim-answer-hero__sources {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-family: var(--fc-sans);
  font-size: 0.7rem;
  letter-spacing: 0.01em;
  color: var(--fc-ghost);
  padding-top: var(--fc-space-3);
  margin-top: var(--fc-space-4);
  border-top: 1px solid var(--fc-border-light);
}
.fc-claim-answer-hero__source-link {
  color: var(--fc-dim);
  text-decoration: none;
  border-bottom: 1px dashed var(--fc-border);
  padding-bottom: 0.5px;
  opacity: 0.7;
  transition: color 0.15s, border-color 0.15s, opacity 0.15s;
}
.fc-claim-answer-hero__source-link:hover {
  color: var(--fc-accent);
  border-color: var(--fc-accent);
  opacity: 1;
}
.fc-claim-answer-hero__source-text {
  color: var(--fc-ghost);
  opacity: 0.7;
}
.fc-claim-answer-hero__source-link span,
.fc-claim-answer-hero__source-text span {
  color: inherit;
  opacity: 0.7;
}
.fc-claim-answer-hero__sep {
  color: var(--fc-border-light);
  font-size: 0.45rem;
  opacity: 0.7;
}
.fc-claim-answer-hero__wa-share {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-left: auto;
  border-radius: var(--fc-radius-xxs);
  color: var(--fc-dim);
  text-decoration: none;
  transition: color 0.15s ease, background 0.15s ease;
}
.fc-claim-answer-hero__wa-share:hover {
  color: #25D366;
  background: rgba(37, 211, 102, 0.08);
}
.fc-wa-share {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--fc-radius-xxs);
  color: var(--fc-dim);
  text-decoration: none;
  transition: color 0.15s ease, background 0.15s ease;
}
.fc-wa-share:hover {
  color: #25D366;
  background: rgba(37, 211, 102, 0.08);
}
.fc-claim-answer-hero__tier {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.fc-claim-answer-hero__tier svg {
  flex-shrink: 0;
}
.fc-claim-answer-hero__tier[data-tier="high"] {
  color: var(--fc-grade-a);
}
.fc-claim-answer-hero__tier[data-tier="high"] svg {
  fill: var(--fc-grade-a);
}
.fc-claim-answer-hero__tier[data-tier="moderate"] {
  color: var(--fc-grade-b);
}
.fc-claim-answer-hero__tier[data-tier="moderate"] svg {
  fill: var(--fc-grade-b);
}
.fc-claim-answer-hero__tier[data-tier="low"] {
  color: var(--fc-grade-d);
}
.fc-claim-answer-hero__tier[data-tier="low"] svg {
  fill: var(--fc-grade-d);
}

/* ─── Sidebar: Cluster Link ─── */
.fc-side-cluster {
  display: flex;
  align-items: center;
  gap: var(--fc-space-2);
  text-decoration: none;
  color: var(--fc-ink);
}
.fc-side-cluster__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--fc-accent);
  flex-shrink: 0;
}
.fc-side-cluster__name {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-ui);
  font-weight: var(--fc-w-semibold);
}

/* ─── Sidebar: Source Links ─── */
.fc-side-sources {
  display: flex;
  flex-direction: column;
  gap: var(--fc-space-1);
}
.fc-side-source-link {
  display: flex;
  align-items: center;
  gap: var(--fc-space-1);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-ink);
  text-decoration: none;
  transition: color 0.15s ease;
}
.fc-side-source-link:hover {
  color: var(--fc-accent);
}
.fc-side-source-link svg {
  flex-shrink: 0;
}
.fc-side-sources-more {
  margin-top: var(--fc-space-1);
}
.fc-side-sources-more summary {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-accent);
  cursor: pointer;
  list-style: none;
}
.fc-side-sources-more summary::-webkit-details-marker {
  display: none;
}
.fc-side-sources-expanded {
  display: flex;
  flex-direction: column;
  gap: var(--fc-space-1);
  margin-top: var(--fc-space-1);
}

/* ─── Related Claims: Tier Color ─── */
.fc-claim-related__tier {
  display: inline-flex;
  align-items: center;
  gap: var(--fc-space-1);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
}
.fc-claim-related__tier[data-tier="high"] {
  color: var(--fc-grade-a);
}
.fc-claim-related__tier[data-tier="high"] svg {
  fill: var(--fc-grade-a);
}
.fc-claim-related__tier[data-tier="moderate"] {
  color: var(--fc-grade-b);
}
.fc-claim-related__tier[data-tier="moderate"] svg {
  fill: var(--fc-grade-b);
}
.fc-claim-related__tier[data-tier="low"] {
  color: var(--fc-grade-d);
}
.fc-claim-related__tier[data-tier="low"] svg {
  fill: var(--fc-grade-d);
}
.fc-claim-related__title {
  font-family: var(--fc-sans);
  font-weight: var(--fc-w-bold);
  font-size: 0.95rem;
  line-height: var(--fc-lh-snug);
  color: var(--fc-ink);
  margin-bottom: var(--fc-space-2);
}

/* ─── Claim Intro Hook (same prose size — hook earns attention through writing) ─── */
.fc-claim-intro-hook {
  font-size: clamp(1.1rem, 2.6vw, 1.25rem);
  line-height: var(--fc-lh-hook);
  color: var(--fc-ink);
  font-weight: var(--fc-w-medium);
  letter-spacing: -0.15px;
  margin-bottom: var(--fc-space-8);
}
.fc-claim-intro-hook p:last-child {
  margin-bottom: 0;
}

/* ─── Claim Highlight Stat (visual break — accent-bordered card) ─── */
.fc-claim-highlight-stat {
  border: 2px solid var(--fc-accent);
  border-radius: var(--fc-radius-sm);
  padding: var(--fc-space-6) var(--fc-space-8);
  margin: var(--fc-space-10) 0;
  background: var(--fc-accent-dim);
  text-align: center;
}
.fc-claim-highlight-stat__value {
  font-family: var(--fc-sans);
  font-size: 2.5rem;
  font-weight: var(--fc-w-black);
  line-height: var(--fc-lh-tight);
  color: var(--fc-ink);
  margin-bottom: var(--fc-space-2);
}
.fc-claim-highlight-stat__label {
  font-family: var(--fc-serif);
  font-size: var(--fc-text-body);
  line-height: var(--fc-lh-ui);
  color: var(--fc-body);
}
.fc-claim-highlight-stat__source {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  margin-top: var(--fc-space-2);
}

/* ─── Claim Pull Quote (visual break — editorial, NOT raw paper text) ─── */
.fc-claim-pullquote {
  margin: var(--fc-space-10) 0;
  padding: var(--fc-space-6) var(--fc-space-8);
  border-left: 3px solid var(--fc-accent);
  background: var(--fc-surface);
  border-radius: 0 var(--fc-radius-sm) var(--fc-radius-sm) 0;
}
.fc-claim-pullquote blockquote {
  font-family: var(--fc-serif);
  font-size: var(--fc-text-prose);
  font-style: italic;
  color: var(--fc-ink);
  margin: 0;
  border-left: none;
  padding-left: 0;
}
.fc-claim-pullquote figcaption {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  margin-top: var(--fc-space-2);
}
/* Flash-forward pull quote (between intro hook and narrative) */
.fc-claim-pullquote--flash {
  margin: var(--fc-space-6) 0 var(--fc-space-8);
  border-left-color: var(--fc-accent);
  border-left-width: 4px;
}
.fc-claim-pullquote--flash blockquote {
  font-size: var(--fc-text-prose);
}

/* ─── Persona Callout (ONE grouped card — magazine sidebar) ─── */
.fc-claim-persona-callout {
  border: 2px dashed var(--fc-border);
  background: var(--fc-bg-alt);
  border-radius: var(--fc-radius);
  padding: var(--fc-space-6);
  margin: var(--fc-space-10) 0;
}
.fc-claim-persona-callout__heading {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-ui);
  font-weight: var(--fc-w-black);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fc-dim);
  margin-bottom: var(--fc-space-4);
}
.fc-claim-persona-callout__group {
  margin-bottom: var(--fc-space-4);
  padding-bottom: var(--fc-space-4);
  border-bottom: 1px solid var(--fc-border-light);
}
.fc-claim-persona-callout__group:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.fc-claim-persona-callout__label {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-ui);
  font-weight: var(--fc-w-bold);
  margin-bottom: var(--fc-space-1);
  color: var(--fc-ink);
}
.fc-claim-persona-callout__text {
  font-family: var(--fc-serif);
  font-size: 0.95rem;
  line-height: var(--fc-lh-ui);
  color: var(--fc-body);
}
.fc-claim-persona-callout__text p:last-child {
  margin-bottom: 0;
}

/* ─── The Full Picture (dark block — claim version of study skeptic) ─── */
.fc-claim-full-picture {
  background: var(--fc-ink);
  border-radius: var(--fc-radius-sm);
  padding: var(--fc-space-8);
  margin: var(--fc-space-12) 0;
  position: relative;
  overflow: hidden;
}
.fc-claim-full-picture::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--fc-accent) 0%, transparent 70%);
}
.fc-claim-full-picture__label {
  display: flex;
  align-items: center;
  gap: var(--fc-space-2);
  margin-bottom: var(--fc-space-4);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-black);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--fc-accent);
}
.fc-claim-full-picture__body {
  font-family: var(--fc-serif);
  font-size: var(--fc-text-prose);
  line-height: var(--fc-lh-prose);
  color: rgba(255, 255, 255, 0.85);
}
.fc-claim-full-picture .fc-claim-full-picture__body p {
  color: inherit;
  margin: 0 0 1.15em 0;
}
.fc-claim-full-picture__body strong {
  color: rgba(255, 255, 255, 0.95);
  font-weight: var(--fc-w-bold);
}
.fc-claim-full-picture__body a {
  color: var(--fc-accent);
  text-decoration: none;
  font-weight: var(--fc-w-medium);
  transition: opacity 0.15s;
}
.fc-claim-full-picture__body a:hover {
  opacity: 0.7;
}
.fc-claim-full-picture .fc-claim-full-picture__body p:last-child {
  margin-bottom: 0;
}
.fc-claim-full-picture__cluster {
  margin-top: var(--fc-space-6);
  padding-top: var(--fc-space-5);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.fc-claim-full-picture__cluster a {
  display: inline-block;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  padding: 6px 14px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  transition: border-color 0.15s ease, color 0.15s ease;
}
.fc-claim-full-picture__cluster a:hover {
  border-color: var(--fc-accent);
  color: var(--fc-accent);
}
.fc-claim-full-picture__trust {
  margin-top: var(--fc-space-4);
  padding-top: var(--fc-space-4);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.fc-claim-full-picture__trust > a {
  display: block;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  margin-bottom: var(--fc-space-2);
}
.fc-claim-full-picture__trust nav {
  display: flex;
  align-items: center;
  gap: var(--fc-space-3);
  flex-wrap: wrap;
}
.fc-claim-full-picture__trust nav a {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-accent);
  text-decoration: none;
}
.fc-claim-full-picture__trust nav span {
  color: rgba(255, 255, 255, 0.15);
}

/* ─── Claim Divider (between Layer 1 and Layer 2) ─── */
.fc-claim-divider {
  height: 1px;
  background: var(--fc-border);
  margin: var(--fc-space-12) 0;
}

/* ─── Evidence Consistency Matrix ─── */
.fc-evidence-matrix {
  background: var(--fc-surface);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius);
  overflow: hidden;
  margin: var(--fc-space-6) 0;
  box-shadow: var(--fc-shadow);
}
.fc-evidence-matrix__heading {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-h2);
  font-weight: var(--fc-w-extrabold);
  color: var(--fc-ink);
  padding: var(--fc-space-6) var(--fc-space-5) var(--fc-space-4);
  margin: 0;
  letter-spacing: -0.3px;
}
.fc-evidence-matrix__header {
  font-family: var(--fc-sans);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 1rem 1.25rem 0.5rem;
  color: var(--fc-dim);
}
.fc-evidence-matrix__row {
  display: flex;
  align-items: flex-start;
  gap: var(--fc-space-4);
  padding: var(--fc-space-5) var(--fc-space-6);
  border-top: 1px solid var(--fc-border-light);
  text-decoration: none;
  color: inherit;
  transition: background 0.15s ease;
}
.fc-evidence-matrix__row:hover {
  background: var(--fc-bg-alt);
}
.fc-evidence-matrix__role {
  flex-shrink: 0;
  display: flex;
  gap: 3px;
  padding-top: 0.2rem;
}
.fc-evidence-matrix__role span {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.fc-evidence-matrix__role--consistent span {
  background: var(--fc-grade-a);
}
.fc-evidence-matrix__role--partial span {
  background: var(--fc-grade-b);
}
.fc-evidence-matrix__role--divergent span {
  background: transparent;
  border: 1.5px solid var(--fc-grade-c);
}
.fc-evidence-matrix__content {
  flex: 1;
  min-width: 0;
}
.fc-evidence-matrix__name {
  font-family: var(--fc-sans);
  font-weight: var(--fc-w-bold);
  font-size: 0.95rem;
  color: var(--fc-ink);
  line-height: var(--fc-lh-snug);
}
.fc-evidence-matrix__name a {
  color: var(--fc-ink);
  text-decoration: none;
  transition: color 0.15s ease;
}
.fc-evidence-matrix__name a:hover {
  color: var(--fc-accent);
}
.fc-evidence-matrix__year {
  font-weight: 400;
  color: var(--fc-dim);
  margin-left: 0.3rem;
}
.fc-evidence-matrix__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: var(--fc-dim);
  margin-top: 0.15rem;
}
.fc-evidence-matrix__badge {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.15rem 0.5rem;
  border-radius: 100px;
  background: var(--fc-bg-alt);
  color: var(--fc-dim);
}
.fc-evidence-matrix__finding {
  font-family: var(--fc-serif);
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--fc-ink);
  margin-top: 0.3rem;
}
.fc-evidence-matrix__findings {
  list-style: none;
  margin: var(--fc-space-2) 0 0;
  padding: 0;
}
.fc-evidence-matrix__findings li {
  font-family: var(--fc-serif);
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--fc-body);
  padding: var(--fc-space-1) 0 var(--fc-space-1) var(--fc-space-4);
  position: relative;
}
.fc-evidence-matrix__findings li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--fc-accent);
}
.fc-evidence-matrix__findings li + li {
  border-top: 1px solid var(--fc-border-light);
}
.fc-evidence-matrix__summary {
  padding: var(--fc-space-4) var(--fc-space-6);
  border-top: 2px solid var(--fc-border);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  line-height: 1.6;
  background: var(--fc-bg-alt);
}

/* ─── Evidence Layer Section ─── */
.fc-claim-evidence-layer {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--fc-border);
}
.fc-claim-evidence-layer__heading {
  font-family: var(--fc-sans);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fc-dim);
  margin-bottom: 1rem;
}

/* ─── Related Claims ─── */
.fc-claim-related {
  margin-top: 2rem;
}
.fc-claim-related__heading {
  font-family: var(--fc-sans);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--fc-dim);
  margin-bottom: 1rem;
}
.fc-claim-related__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
/* v4.0: Vertical stacked related claims */
.fc-claim-related__stack {
  display: flex;
  flex-direction: column;
  gap: var(--fc-space-3);
}
.fc-claim-related__card {
  display: block;
  position: relative;
  background: var(--fc-surface);
  border-radius: var(--fc-radius);
  padding: 1.25rem 2.5rem 1.25rem 1.25rem;
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--fc-border);
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.fc-claim-related__card:hover {
  box-shadow: var(--fc-shadow-hover);
  border-color: var(--fc-accent);
}
.fc-claim-related__card-title {
  font-family: var(--fc-sans);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.35;
  color: var(--fc-ink);
  margin-bottom: 0.4rem;
}
.fc-claim-related__card-teaser {
  font-family: var(--fc-sans);
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--fc-body);
  margin-bottom: 0.6rem;
}
.fc-claim-related__card-sources {
  font-family: var(--fc-sans);
  font-size: 0.72rem;
  color: var(--fc-dim);
  letter-spacing: 0.01em;
}
.fc-claim-related__card-arrow {
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.1rem;
  color: var(--fc-ghost);
  transition: color 0.15s ease, transform 0.15s ease;
}
.fc-claim-related__card:hover .fc-claim-related__card-arrow {
  color: var(--fc-accent);
  transform: translateY(-50%) translateX(3px);
}
.fc-claim-related__card-tier {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.75rem;
  color: var(--fc-dim);
}
.fc-claim-related__card-tier-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

/* ─── Sidebar: Evidence Overview ─── */
.fc-side-evidence-overview {
  text-align: center;
  padding-bottom: 0.5rem;
}
.fc-side-evidence-overview__count {
  font-family: var(--fc-sans);
  font-size: 2rem;
  font-weight: var(--fc-w-extrabold);
  color: var(--fc-ink);
  line-height: 1;
}
.fc-side-evidence-overview__label {
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  margin-top: var(--fc-space-0);
}
.fc-side-evidence-overview__tier {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--fc-sans);
  font-weight: var(--fc-w-bold);
  font-size: var(--fc-text-ui);
  margin-top: var(--fc-space-3);
}
.fc-side-evidence-overview__tier-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

/* ─── Sidebar: Evidence Stat (individual stat rows used by claim sidebar) ─── */
.fc-side-evidence-stat {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: var(--fc-space-2) 0;
}
.fc-side-evidence-stat__label {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
}
.fc-side-evidence-stat__value {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-ui);
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  display: inline-flex;
  align-items: center;
  gap: var(--fc-space-1);
}
.fc-side-evidence-stat--tier {
  margin-top: var(--fc-space-2);
  padding-top: var(--fc-space-3);
  border-top: 1px solid var(--fc-border-light);
}
.fc-side-evidence-stat--tier .fc-side-evidence-stat__value svg {
  flex-shrink: 0;
}
.fc-side-evidence-stat--tier[data-tier="high"] .fc-side-evidence-stat__value {
  color: var(--fc-grade-a);
}
.fc-side-evidence-stat--tier[data-tier="high"] svg {
  fill: var(--fc-grade-a);
}
.fc-side-evidence-stat--tier[data-tier="moderate"] .fc-side-evidence-stat__value {
  color: var(--fc-grade-b);
}
.fc-side-evidence-stat--tier[data-tier="moderate"] svg {
  fill: var(--fc-grade-b);
}
.fc-side-evidence-stat--tier[data-tier="low"] .fc-side-evidence-stat__value {
  color: var(--fc-grade-d);
}
.fc-side-evidence-stat--tier[data-tier="low"] svg {
  fill: var(--fc-grade-d);
}

/* ─── Sidebar: Design Rows (claim sidebar study design breakdown) ─── */
.fc-side-design-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: var(--fc-space-1) 0;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-ink);
}
.fc-side-design-row__count {
  font-weight: var(--fc-w-semibold);
  color: var(--fc-dim);
}

/* ─── Sidebar: Study Designs (legacy) ─── */
.fc-side-designs {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.fc-side-designs__row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--fc-text-ui);
  color: var(--fc-ink);
}
.fc-side-designs__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

/* ─── Sidebar: Sources (DOI links) ─── */
.fc-side-sources__list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.fc-side-sources__link {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.85rem;
  color: var(--fc-ink);
  text-decoration: none;
}
.fc-side-sources__link:hover {
  color: var(--fc-accent);
}
.fc-side-sources__link svg {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
}
.fc-side-sources__toggle {
  display: inline-block;
  font-size: 0.8rem;
  color: var(--fc-accent);
  cursor: pointer;
  background: none;
  border: none;
  padding: 0.25rem 0;
  margin-top: 0.25rem;
}

/* ─── Evidence Matrix Stats Line ─── */
.fc-evidence-matrix__stats {
  display: flex;
  gap: var(--fc-space-4);
  padding: var(--fc-space-3) var(--fc-space-5);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  border-top: 1px solid var(--fc-border-light);
}

/* ─── FAQ Section v4.0 — Card-style (matches study page elite FAQ) ─── */
.fc-claim-faq {
  margin: 0 0 var(--fc-space-10);
}
.fc-claim-faq__heading {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-extrabold);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--fc-dim);
  margin-bottom: var(--fc-space-5);
}
.fc-claim-faq__item {
  background: var(--fc-surface);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-sm);
  padding: 0;
  margin-bottom: var(--fc-space-5);
  box-shadow: var(--fc-shadow);
  overflow: hidden;
}
.fc-claim-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--fc-space-4);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-ui);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-ink);
  line-height: 1.4;
  padding: var(--fc-space-5) var(--fc-space-6);
  cursor: pointer;
  list-style: none;
  transition: background 0.15s ease;
}
.fc-claim-faq__q:hover {
  background: var(--fc-accent-dim);
}
.fc-claim-faq__q::-webkit-details-marker {
  display: none;
}
.fc-claim-faq__q::after {
  content: '\25BC';
  font-size: 0.65rem;
  color: var(--fc-ghost);
  flex-shrink: 0;
  transition: transform 0.2s ease;
}
.fc-claim-faq__item[open] > .fc-claim-faq__q::after {
  transform: rotate(180deg);
}
.fc-claim-faq__answer {
  font-family: var(--fc-serif);
  font-size: 1.05rem;
  line-height: var(--fc-lh-prose);
  color: var(--fc-body);
  padding: var(--fc-space-5) var(--fc-space-6) var(--fc-space-5);
  border-top: 1px solid var(--fc-border-light);
}
.fc-claim-faq__answer p {
  margin-bottom: 0.85em;
}
.fc-claim-faq__answer p:last-child {
  margin-bottom: 0;
}

/* ─── FAQ inline links (study + claim) ─── */
.fc-claim-faq__item div a:not(.fc-claim-faq__bridge),
.fc-study-faq__item div a {
  color: var(--fc-accent);
  text-decoration: none;
  font-weight: var(--fc-w-medium);
  transition: opacity 0.15s;
}
.fc-claim-faq__item div a:not(.fc-claim-faq__bridge):hover,
.fc-study-faq__item div a:hover {
  opacity: 0.7;
}
.fc-claim-faq__bridge {
  display: inline-flex;
  align-items: center;
  gap: var(--fc-space-1);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-accent);
  text-decoration: none;
  margin-top: var(--fc-space-2);
  transition: color 0.15s ease;
}
.fc-claim-faq__bridge:hover {
  color: var(--fc-accent-hover);
}

/* ─── Alt Queries (tag pills — SEO internal links) ─── */
.fc-claim-alt-queries {
  margin-top: var(--fc-space-8);
}
.fc-claim-alt-queries__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--fc-space-2);
}
.fc-claim-alt-queries__tag {
  display: inline-block;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-ink);
  background: var(--fc-accent-dim);
  padding: var(--fc-space-1) var(--fc-space-3);
  border-radius: var(--fc-radius-pill);
  text-decoration: none;
  transition: background 0.15s ease;
}
.fc-claim-alt-queries__tag:hover {
  background: var(--fc-accent);
  color: var(--fc-surface);
}

/* ─── Claim v3.0 responsive ─── */
@media (max-width: 767px) {
  .fc-claim-answer-hero {
    margin: var(--fc-space-4) calc(-1 * var(--fc-space-4));
    border-radius: var(--fc-radius);
    padding: var(--fc-space-5) var(--fc-space-4);
  }
  .fc-claim-answer-hero__answer {
    font-size: 1.15rem;
  }

  .fc-claim-highlight-stat {
    margin: var(--fc-space-8) calc(-1 * var(--fc-space-2));
    padding: var(--fc-space-5) var(--fc-space-4);
  }
  .fc-claim-highlight-stat__value {
    font-size: 2rem;
  }
  .fc-claim-pullquote {
    margin: var(--fc-space-8) calc(-1 * var(--fc-space-2));
    padding: var(--fc-space-4) var(--fc-space-5);
  }
  .fc-claim-persona-callout {
    margin: var(--fc-space-8) calc(-1 * var(--fc-space-2));
  }
  .fc-claim-full-picture {
    margin: var(--fc-space-8) calc(-1 * var(--fc-space-2));
    padding: var(--fc-space-6);
  }
  .fc-evidence-matrix__row {
    flex-direction: column;
    gap: var(--fc-space-2);
  }
  .fc-evidence-matrix__role {
    flex-direction: row;
  }
  .fc-evidence-matrix__heading {
    font-size: 1.25rem;
    padding: var(--fc-space-4) var(--fc-space-4) var(--fc-space-3);
  }
  .fc-claim-related__grid {
    grid-template-columns: 1fr;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: var(--fc-space-3);
    padding-bottom: var(--fc-space-2);
  }
  .fc-claim-related__stack {
    gap: var(--fc-space-2);
  }
  .fc-claim-related__card {
    min-width: 260px;
    scroll-snap-align: start;
  }
  .fc-claim-pullquote--flash {
    margin: var(--fc-space-4) calc(-1 * var(--fc-space-2)) var(--fc-space-6);
  }
}


/* ═══════════════════════════════════════════
   ARTICLE DATES — Shared across study/claim/library
   ═══════════════════════════════════════════ */

.fc-article-dates {
  display: flex;
  align-items: center;
  gap: var(--fc-space-3);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-ghost);
  margin-top: var(--fc-space-10);
  padding-top: var(--fc-space-5);
  border-top: 1px solid var(--fc-border-light);
}

.fc-article-dates__sep {
  color: var(--fc-border);
}

/* ─── Playing state for homepage tracks ─── */
.fc-home-track--playing {
  background: var(--fc-accent-dim);
  margin: 0 calc(-1 * var(--fc-space-3));
  padding-left: var(--fc-space-3);
  padding-right: var(--fc-space-3);
  border-radius: var(--fc-radius-xxs);
}

.fc-home-track--playing .fc-home-track__play {
  background: var(--fc-ink);
  color: var(--fc-surface);
}

.fc-home-track--playing .fc-home-track__title {
  color: var(--fc-accent);
}

.fc-home-hero__play-btn--playing {
  background: var(--fc-accent-hover);
  box-shadow: 0 0 0 6px var(--fc-accent-dim);
}

/* ─── Play/Pause icon toggle ─── */
.fc-home-icon-pause { display: none; }
.fc-home-icon-play  { display: inline; }

.fc-home-hero__play-btn--playing .fc-home-icon-play  { display: none; }
.fc-home-hero__play-btn--playing .fc-home-icon-pause { display: inline; }

.fc-home-track--playing .fc-home-icon-play  { display: none; }
.fc-home-track--playing .fc-home-icon-pause { display: inline; }

/* ─── Track wave bars (audio hub pattern — always visible) ─── */
.fc-home-track__wave {
  display: flex;
  align-items: center;
  gap: 3px;
  height: 24px;
  flex-shrink: 0;
}

.fc-home-track__wave span {
  width: 3px;
  border-radius: 2px;
  background: var(--fc-border);
  transition: background 0.2s ease;
}

.fc-home-track__wave span:nth-child(1) { height: 8px; }
.fc-home-track__wave span:nth-child(2) { height: 14px; }
.fc-home-track__wave span:nth-child(3) { height: 10px; }
.fc-home-track__wave span:nth-child(4) { height: 18px; }
.fc-home-track__wave span:nth-child(5) { height: 12px; }
.fc-home-track__wave span:nth-child(6) { height: 20px; }
.fc-home-track__wave span:nth-child(7) { height: 14px; }
.fc-home-track__wave span:nth-child(8) { height: 8px; }

.fc-home-track--playing .fc-home-track__wave span {
  background: var(--fc-accent);
  animation: fc-wave-pulse 0.8s ease-in-out infinite alternate;
}

.fc-home-track--playing .fc-home-track__wave span:nth-child(2) { animation-delay: 0.1s; }
.fc-home-track--playing .fc-home-track__wave span:nth-child(3) { animation-delay: 0.2s; }
.fc-home-track--playing .fc-home-track__wave span:nth-child(4) { animation-delay: 0.3s; }
.fc-home-track--playing .fc-home-track__wave span:nth-child(5) { animation-delay: 0.4s; }
.fc-home-track--playing .fc-home-track__wave span:nth-child(6) { animation-delay: 0.5s; }
.fc-home-track--playing .fc-home-track__wave span:nth-child(7) { animation-delay: 0.6s; }
.fc-home-track--playing .fc-home-track__wave span:nth-child(8) { animation-delay: 0.7s; }

@keyframes fc-wave-pulse {
  0%   { transform: scaleY(0.6); }
  100% { transform: scaleY(1.2); }
}


/* ─── Hero wave bars (dark theme — visible when flagship playing) ─── */
.fc-home-hero__wave {
  display: flex;
  align-items: center;
  gap: 3px;
  height: 24px;
  margin-left: var(--fc-space-3);
}

.fc-home-hero__wave span {
  width: 3px;
  border-radius: 2px;
  background: rgba(255,255,255,0.15);
  transition: background 0.2s ease;
}

.fc-home-hero__wave span:nth-child(1) { height: 8px; }
.fc-home-hero__wave span:nth-child(2) { height: 14px; }
.fc-home-hero__wave span:nth-child(3) { height: 10px; }
.fc-home-hero__wave span:nth-child(4) { height: 18px; }
.fc-home-hero__wave span:nth-child(5) { height: 12px; }
.fc-home-hero__wave span:nth-child(6) { height: 20px; }
.fc-home-hero__wave span:nth-child(7) { height: 14px; }
.fc-home-hero__wave span:nth-child(8) { height: 8px; }

.fc-home-hero__play-btn--playing ~ .fc-home-hero__wave span,
.fc-home-hero--playing .fc-home-hero__wave span {
  background: var(--fc-accent);
  animation: fc-wave-pulse 0.8s ease-in-out infinite alternate;
}

.fc-home-hero__play-btn--playing ~ .fc-home-hero__wave span:nth-child(2),
.fc-home-hero--playing .fc-home-hero__wave span:nth-child(2) { animation-delay: 0.1s; }
.fc-home-hero__play-btn--playing ~ .fc-home-hero__wave span:nth-child(3),
.fc-home-hero--playing .fc-home-hero__wave span:nth-child(3) { animation-delay: 0.2s; }
.fc-home-hero__play-btn--playing ~ .fc-home-hero__wave span:nth-child(4),
.fc-home-hero--playing .fc-home-hero__wave span:nth-child(4) { animation-delay: 0.3s; }
.fc-home-hero__play-btn--playing ~ .fc-home-hero__wave span:nth-child(5),
.fc-home-hero--playing .fc-home-hero__wave span:nth-child(5) { animation-delay: 0.4s; }
.fc-home-hero__play-btn--playing ~ .fc-home-hero__wave span:nth-child(6),
.fc-home-hero--playing .fc-home-hero__wave span:nth-child(6) { animation-delay: 0.5s; }
.fc-home-hero__play-btn--playing ~ .fc-home-hero__wave span:nth-child(7),
.fc-home-hero--playing .fc-home-hero__wave span:nth-child(7) { animation-delay: 0.6s; }
.fc-home-hero__play-btn--playing ~ .fc-home-hero__wave span:nth-child(8),
.fc-home-hero--playing .fc-home-hero__wave span:nth-child(8) { animation-delay: 0.7s; }


/* ─── Paused state: frozen green waves + accent ring ─── */
.fc-home-track--paused .fc-home-track__play {
  background: var(--fc-accent);
  color: var(--fc-surface);
  box-shadow: 0 0 0 2.5px var(--fc-surface), 0 0 0 4.5px var(--fc-accent);
}
.fc-home-track--paused .fc-home-track__play .fc-home-icon-play { display: block; }
.fc-home-track--paused .fc-home-track__play .fc-home-icon-pause { display: none; }
.fc-home-track--paused .fc-home-track__wave span {
  background: var(--fc-accent);
  animation: none;
}

.fc-home-hero__play-btn--paused {
  box-shadow: 0 0 0 2.5px rgba(0,0,0,0.3), 0 0 0 4.5px var(--fc-accent);
}
.fc-home-hero__play-btn--paused .fc-home-icon-play { display: block; }
.fc-home-hero__play-btn--paused .fc-home-icon-pause { display: none; }
.fc-home-hero--paused .fc-home-hero__wave span {
  background: var(--fc-accent);
  animation: none;
}

/* ─── Arrow link styling ─── */
.fc-home-track__link {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  .fc-home-track__wave span,
  .fc-home-hero__wave span { animation: none !important; }
}

/* ─── Inline Audio CTA — content-level audio discovery (v12.39.1) ─── */
.fc-audio-inline {
  display: flex;
  align-items: center;
  gap: var(--fc-space-3);
  padding: var(--fc-space-3) var(--fc-space-5);
  margin: var(--fc-space-6) 0;
  background: var(--fc-accent-dim);
  border: 1px solid rgba(0,209,142,0.15);
  border-radius: var(--fc-radius-sm);
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  max-width: var(--fc-prose-max, 44rem);
}
.fc-audio-inline:hover {
  border-color: var(--fc-accent);
  box-shadow: 0 0 0 1px rgba(0,209,142,0.1);
}
.fc-audio-inline--playing {
  border-color: var(--fc-accent);
  box-shadow: 0 0 0 1px rgba(0,209,142,0.12), 0 0 12px rgba(0,209,142,0.06);
}

/* Play button */
.fc-audio-inline__play {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--fc-accent);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
  transition: transform 0.15s ease, background 0.15s ease;
}
.fc-audio-inline__play:hover {
  background: var(--fc-accent-hover);
  transform: scale(1.06);
}
.fc-audio-inline__play:active {
  transform: scale(0.96);
}
.fc-audio-inline__icon { display: flex; align-items: center; justify-content: center; }
.fc-audio-inline__icon--play svg { margin-left: 1px; }

/* Meta text */
.fc-audio-inline__meta {
  flex: 1;
  display: flex;
  align-items: center;
  gap: var(--fc-space-2);
  min-width: 0;
}
.fc-audio-inline__label {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-ink);
  white-space: nowrap;
}
.fc-audio-inline__sep {
  color: var(--fc-ghost);
  font-size: var(--fc-text-small);
}
.fc-audio-inline__duration,
.fc-audio-inline__narrator {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  white-space: nowrap;
}

/* Headphones badge (right) */
.fc-audio-inline__badge {
  flex-shrink: 0;
  color: var(--fc-accent);
  opacity: 0.6;
  display: flex;
  align-items: center;
  transition: opacity 0.2s ease;
}
.fc-audio-inline:hover .fc-audio-inline__badge { opacity: 1; }
.fc-audio-inline--playing .fc-audio-inline__badge { opacity: 1; }

/* Responsive: stack on very narrow screens */
@media (max-width: 420px) {
  .fc-audio-inline__narrator { display: none; }
  .fc-audio-inline__narrator + .fc-audio-inline__sep { display: none; }
}

/* ═══════════════════════════════════════════════════════
   ALL VIEW — Flagship guide cards (v12.40.0)
   Hero card reuses .fc-home-hero. These are the compact
   rows + coming soon cards below the hero.
   ═══════════════════════════════════════════════════════ */

/* ── Hero two-column layout (All view) ── */
.fc-home-hero--all .fc-home-hero__columns {
  display: flex;
  gap: var(--fc-space-8);
  align-items: flex-start;
}

.fc-home-hero__left {
  flex: 1;
  min-width: 0;
}

.fc-home-hero__right {
  flex: 0 0 auto;
  max-width: 240px;
  padding-left: var(--fc-space-6);
  border-left: 1px solid rgba(255,255,255,0.06);
}

/* ─── Myths toggle (mobile collapse, desktop always open) ─── */
.fc-home-hero__myths-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--fc-space-3);
}

.fc-home-hero__myths-label {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-black);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: rgba(255,255,255,0.18);
}

.fc-home-hero__myths-count {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  color: rgba(255,255,255,0.2);
  display: none;
  align-items: center;
  gap: 4px;
}

.fc-home-hero__myths-chevron {
  transition: transform 0.2s ease;
}

.fc-home-hero__myths-toggle[aria-expanded="true"] .fc-home-hero__myths-chevron {
  transform: rotate(180deg);
}

.fc-home-hero__myths {
  display: flex;
  flex-direction: column;
  gap: var(--fc-space-2);
}

.fc-home-hero__myth {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: rgba(255,255,255,0.25);
  text-decoration: line-through;
  text-decoration-color: rgba(255,255,255,0.12);
  text-decoration-thickness: 1.5px;
  line-height: var(--fc-lh-ui);
}

/* ── Hero explore link (whispered, right-aligned in evidence row) ── */
.fc-home-hero--all .fc-home-hero__evidence {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--fc-space-2);
}

.fc-home-hero--all .fc-home-hero__pill--explore {
  margin-left: auto;
}

.fc-home-hero__explore {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-medium);
  color: rgba(255,255,255,0.22);
  text-decoration: none;
  transition: color 0.15s ease;
  white-space: nowrap;
}

.fc-home-hero__explore:hover {
  color: rgba(255,255,255,0.5);
}

/* ── Responsive: stack columns on narrow screens ── */
@media (max-width: 600px) {
  .fc-home-hero--all .fc-home-hero__columns {
    flex-direction: column;
    gap: var(--fc-space-4);
  }
  .fc-home-hero__right {
    max-width: none;
    padding-left: 0;
    border-left: none;
    padding-top: var(--fc-space-3);
    border-top: 1px solid rgba(255,255,255,0.06);
  }
  .fc-home-hero__myths-count {
    display: flex;
  }
  .fc-home-hero__myths-toggle {
    cursor: pointer;
  }
  .fc-home-hero__myths {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease;
  }
  .fc-home-hero__myths.is-open {
    max-height: 300px;
  }
}

/* ── Brand Card — What is FitChef (homepage all-view) ── */
.fc-home-brand {
  position: relative;
  background: #1E1E1C;
  border-radius: var(--fc-radius);
  padding: 44px 40px 36px;
  overflow: hidden;
  margin-bottom: var(--fc-space-8);
}
.fc-home-brand__glow {
  position: absolute;
  top: -80px;
  right: -40px;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(0,209,142,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.fc-home-brand__kicker {
  position: relative;
  z-index: 1;
  display: block;
  font-family: var(--fc-sans);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fc-accent);
  margin-bottom: 14px;
}
.fc-home-brand__headline {
  position: relative;
  z-index: 1;
  font-family: var(--fc-sans);
  font-size: 25px;
  font-weight: 800;
  color: #fff;
  line-height: 1.18;
  letter-spacing: -0.5px;
  margin: 0 0 10px;
  max-width: 440px;
}
.fc-home-brand__headline em {
  font-style: normal;
  color: var(--fc-accent);
}
.fc-home-brand__sub {
  position: relative;
  font-family: var(--fc-sans);
  font-size: 13.5px;
  color: rgba(255,255,255,0.48);
  line-height: 1.55;
  max-width: 480px;
  margin: 0 0 28px;
}
.fc-home-brand__stats {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 24px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.fc-home-brand__stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.fc-home-brand__stat-num {
  font-family: var(--fc-sans);
  font-size: 26px;
  font-weight: 300;
  color: #fff;
  letter-spacing: -0.5px;
  line-height: 1;
}
.fc-home-brand__stat-label {
  font-family: var(--fc-sans);
  font-size: 9.5px;
  font-weight: 600;
  color: rgba(255,255,255,0.25);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.fc-home-brand__divider {
  position: relative;
  height: 1px;
  background: rgba(255,255,255,0.06);
  margin-bottom: 22px;
}
.fc-home-brand__actions {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.fc-home-brand__cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--fc-sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--fc-ink);
  text-decoration: none;
  padding: 9px 22px;
  border-radius: var(--fc-radius-pill);
  background: var(--fc-accent);
  transition: background 0.15s ease;
}
.fc-home-brand__cta:hover {
  background: var(--fc-accent-hover);
}
.fc-home-brand__audio {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.06);
  border-radius: var(--fc-radius-pill);
  padding: 5px 14px 5px 5px;
  cursor: pointer;
  border: none;
  transition: background 0.15s ease;
  font-family: var(--fc-sans);
}
.fc-home-brand__audio:hover {
  background: rgba(255,255,255,0.10);
}
.fc-home-brand__audio-play {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--fc-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.fc-home-brand__audio-play .fc-home-icon-play {
  margin-left: 2px;
}
.fc-home-brand__audio-txt {
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,0.6);
}
.fc-home-brand__audio-wave {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 12px;
}
.fc-home-brand__audio-wave span {
  width: 2px;
  border-radius: 1px;
  background: rgba(255,255,255,0.16);
}
.fc-home-brand__audio-wave span:nth-child(1) { height: 30%; }
.fc-home-brand__audio-wave span:nth-child(2) { height: 55%; }
.fc-home-brand__audio-wave span:nth-child(3) { height: 40%; }
.fc-home-brand__audio-wave span:nth-child(4) { height: 70%; }
.fc-home-brand__audio-wave span:nth-child(5) { height: 50%; }
.fc-home-brand__audio-wave span:nth-child(6) { height: 35%; }
.fc-home-brand__audio-dur {
  font-size: 11px;
  color: rgba(255,255,255,0.25);
  margin-left: 1px;
}

/* ── Brand Card playing/paused states ── */
.fc-home-brand--playing .fc-home-brand__audio-wave span {
  background: var(--fc-accent);
  animation: fc-wave-pulse 0.8s ease-in-out infinite alternate;
}
.fc-home-brand--playing .fc-home-brand__audio-wave span:nth-child(2) { animation-delay: 0.1s; }
.fc-home-brand--playing .fc-home-brand__audio-wave span:nth-child(3) { animation-delay: 0.2s; }
.fc-home-brand--playing .fc-home-brand__audio-wave span:nth-child(4) { animation-delay: 0.3s; }
.fc-home-brand--playing .fc-home-brand__audio-wave span:nth-child(5) { animation-delay: 0.4s; }
.fc-home-brand--playing .fc-home-brand__audio-wave span:nth-child(6) { animation-delay: 0.5s; }
.fc-home-brand__audio-play .fc-home-icon-pause { display: none; }
.fc-home-brand--playing .fc-home-brand__audio-play .fc-home-icon-play  { display: none; }
.fc-home-brand--playing .fc-home-brand__audio-play .fc-home-icon-pause { display: inline; }

.fc-home-brand--playing .fc-home-brand__audio-txt {
  color: rgba(255,255,255,0.85);
}
.fc-home-brand--paused .fc-home-brand__audio-wave span {
  background: var(--fc-accent);
  animation: none;
}
.fc-home-brand--paused .fc-home-brand__audio-txt {
  color: rgba(255,255,255,0.85);
}

/* ── Brand Card responsive ── */
@media (max-width: 767px) {
  .fc-home-brand {
    padding: 32px 24px 28px;
  }
  .fc-home-brand__headline {
    font-size: 21px;
  }
  .fc-home-brand__sub {
    font-size: 13px;
    margin-bottom: 24px;
  }
  .fc-home-brand__stats {
    gap: 16px 20px;
  }
  .fc-home-brand__stat-num {
    font-size: 22px;
  }
  .fc-home-brand__actions {
    gap: 12px;
  }
}

/* ── Compact guide rows ── */
.fc-all-guides {
  display: flex;
  flex-direction: column;
  gap: var(--fc-space-3);
  margin-bottom: var(--fc-space-8);
}

.fc-all-guide {
  display: flex;
  align-items: center;
  background: var(--fc-surface);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-sm);
  padding: var(--fc-space-4) var(--fc-space-5);
  gap: var(--fc-space-4);
  position: relative;
  overflow: hidden;
  transition: box-shadow 0.15s ease;
}

.fc-all-guide:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

.fc-all-guide__accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--fc-accent);
  border-radius: 3px 0 0 3px;
}

.fc-all-guide__body {
  flex: 1;
  min-width: 0;
}

.fc-all-guide__kicker {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-black);
  letter-spacing: 1px;
  color: var(--fc-accent);
  margin-bottom: var(--fc-space-1);
}

.fc-all-guide__title {
  font-family: var(--fc-sans);
  font-size: 0.95rem;
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  line-height: var(--fc-lh-snug);
  letter-spacing: -0.3px;
}

.fc-all-guide__stats {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  color: var(--fc-ghost);
  margin-top: var(--fc-space-1);
}

.fc-all-guide__actions {
  display: flex;
  align-items: center;
  gap: var(--fc-space-3);
  flex-shrink: 0;
}

.fc-all-guide__play {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  background: var(--fc-accent);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fc-surface);
  transition: background 0.15s ease, transform 0.15s ease;
  flex-shrink: 0;
}

.fc-all-guide__play:hover {
  transform: scale(1.08);
}

.fc-all-guide__play:active {
  transform: scale(0.92);
}

.fc-all-guide__play svg { width: 16px; height: 16px; }

/* Play/pause icon toggle */
.fc-all-guide__play .fc-home-icon-pause { display: none; }
.fc-all-guide--playing .fc-all-guide__play .fc-home-icon-play { display: none; }
.fc-all-guide--playing .fc-all-guide__play .fc-home-icon-pause { display: block; }

/* Playing state: button goes dark */
.fc-all-guide--playing .fc-all-guide__play {
  background: var(--fc-ink);
  color: var(--fc-surface);
}

/* ── Wave bars ── */
.fc-all-guide__wave {
  display: flex;
  align-items: center;
  gap: 3px;
  height: 24px;
  flex-shrink: 0;
}
.fc-all-guide__wave span {
  display: block;
  width: 3px;
  border-radius: 2px;
  background: var(--fc-border);
  transform-origin: center center;
  will-change: transform;
  transition: background 0.2s ease;
}
.fc-all-guide__wave span:nth-child(1) { height: 8px; }
.fc-all-guide__wave span:nth-child(2) { height: 14px; }
.fc-all-guide__wave span:nth-child(3) { height: 10px; }
.fc-all-guide__wave span:nth-child(4) { height: 18px; }
.fc-all-guide__wave span:nth-child(5) { height: 12px; }
.fc-all-guide__wave span:nth-child(6) { height: 20px; }
.fc-all-guide__wave span:nth-child(7) { height: 14px; }
.fc-all-guide__wave span:nth-child(8) { height: 8px; }

.fc-all-guide--playing .fc-all-guide__wave span {
  background: var(--fc-accent);
  animation: fc-wave-pulse 0.8s ease-in-out infinite alternate;
}
.fc-all-guide--playing .fc-all-guide__wave span:nth-child(1) { animation-delay: 0s; }
.fc-all-guide--playing .fc-all-guide__wave span:nth-child(2) { animation-delay: 0.1s; }
.fc-all-guide--playing .fc-all-guide__wave span:nth-child(3) { animation-delay: 0.3s; }
.fc-all-guide--playing .fc-all-guide__wave span:nth-child(4) { animation-delay: 0.2s; }
.fc-all-guide--playing .fc-all-guide__wave span:nth-child(5) { animation-delay: 0.4s; }
.fc-all-guide--playing .fc-all-guide__wave span:nth-child(6) { animation-delay: 0.5s; }
.fc-all-guide--playing .fc-all-guide__wave span:nth-child(7) { animation-delay: 0.6s; }
.fc-all-guide--playing .fc-all-guide__wave span:nth-child(8) { animation-delay: 0.7s; }

/* Paused state: accent ring */
.fc-all-guide--paused .fc-all-guide__play {
  background: var(--fc-accent);
  color: var(--fc-surface);
  box-shadow: 0 0 0 2.5px var(--fc-surface), 0 0 0 4.5px var(--fc-accent);
}
.fc-all-guide--paused .fc-all-guide__play .fc-home-icon-play { display: block; }

.fc-all-guide__read {
  display: inline-flex;
  align-items: center;
  padding: var(--fc-space-1) var(--fc-space-4);
  border-radius: var(--fc-radius-pill);
  border: 1px solid var(--fc-border);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium);
  color: var(--fc-ghost);
  text-decoration: none;
  transition: border-color 0.15s ease, color 0.15s ease;
  white-space: nowrap;
}

.fc-all-guide__read:hover {
  border-color: var(--fc-ink);
  color: var(--fc-ink);
}

.fc-all-guide__explore {
  display: block;
  text-align: right;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  color: var(--fc-ghost);
  text-decoration: none;
  padding-top: var(--fc-space-1);
  transition: color 0.15s ease;
}

.fc-all-guide__explore:hover {
  color: var(--fc-accent);
}

/* ── Coming soon card ── */
.fc-all-soon {
  display: flex;
  align-items: center;
  gap: var(--fc-space-4);
  padding: var(--fc-space-3) var(--fc-space-5);
  border: 1px dashed var(--fc-border);
  border-radius: var(--fc-radius-sm);
  margin-bottom: var(--fc-space-3);
}

.fc-all-soon__kicker {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-black);
  letter-spacing: 1px;
  color: var(--fc-ghost);
}

.fc-all-soon__title {
  flex: 1;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium);
  color: var(--fc-ghost);
}

.fc-all-soon__icon {
  flex-shrink: 0;
  stroke: var(--fc-ghost);
  opacity: 0.5;
}

/* ── Trust manifesto strip ── */
.fc-home-trust-strip {
  display: flex;
  align-items: center;
  background: var(--fc-surface);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-sm);
  padding: var(--fc-space-6) var(--fc-space-7);
  gap: var(--fc-space-6);
  position: relative;
  overflow: hidden;
  margin-top: var(--fc-space-8);
  margin-bottom: var(--fc-space-8);
}

.fc-home-trust-strip__accent {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--fc-accent);
  border-radius: 3px 0 0 3px;
}

.fc-home-trust-strip__body {
  flex: 1;
  min-width: 0;
}

.fc-home-trust-strip__kicker {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-black);
  letter-spacing: 2px;
  color: var(--fc-accent);
  margin-bottom: var(--fc-space-2);
}

.fc-home-trust-strip__title {
  font-family: var(--fc-serif);
  font-size: 1.25rem;
  font-weight: var(--fc-w-regular);
  color: var(--fc-ink);
  line-height: var(--fc-lh-snug);
  letter-spacing: -0.4px;
}

.fc-home-trust-strip__sub {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-dim);
  margin-top: var(--fc-space-2);
  line-height: 1.5;
}

.fc-home-trust-strip__links {
  display: flex;
  flex-direction: column;
  gap: var(--fc-space-2);
  flex-shrink: 0;
}

.fc-home-trust-strip__link {
  display: inline-flex;
  align-items: center;
  gap: var(--fc-space-2);
  padding: var(--fc-space-1) var(--fc-space-4);
  border-radius: var(--fc-radius-pill);
  border: 1px solid var(--fc-border);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium);
  color: var(--fc-ghost);
  text-decoration: none;
  transition: border-color 0.15s ease, color 0.15s ease;
  white-space: nowrap;
}

.fc-home-trust-strip__link:hover {
  border-color: var(--fc-ink);
  color: var(--fc-ink);
}

/* ── Responsive: trust strip stacks on mobile ── */
@media (max-width: 600px) {
  .fc-home-trust-strip {
    flex-direction: column;
    align-items: flex-start;
    padding: var(--fc-space-5) var(--fc-space-5);
  }
  .fc-home-trust-strip__links {
    flex-direction: row;
    width: 100%;
  }
}

/* ── Responsive: compact cards stack tighter on mobile ── */
@media (max-width: 600px) {
  .fc-all-guide {
    flex-wrap: wrap;
    padding: var(--fc-space-3) var(--fc-space-4);
  }
  .fc-all-guide__body { flex-basis: calc(100% - 24px); }
  .fc-all-guide__actions {
    width: 100%;
    padding-top: var(--fc-space-2);
  }
}


/* ─── Homepage Recipe Cards — full-image with floating info ─── */

.fc-home-recipes {
  margin-top: var(--fc-space-8);
  margin-bottom: var(--fc-space-6);
}

.fc-home-recipes__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--fc-space-4);
}

/* Card = one big image canvas */
.fc-home-recipe {
  position: relative;
  border-radius: var(--fc-radius-sm);
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: var(--fc-bg-alt);
  cursor: pointer;
  transition: box-shadow 0.2s ease;
}

.fc-home-recipe:hover {
  box-shadow: var(--fc-shadow-hover);
}

/* Full-bleed image */
.fc-home-recipe__image-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.fc-home-recipe__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.fc-home-recipe:hover .fc-home-recipe__image-wrap img {
  transform: scale(1.03);
}

/* Gradient for readability */
.fc-home-recipe__image-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(0,0,0,0.15));
  pointer-events: none;
}

/* Category pill — top-left */
.fc-home-recipe__category {
  position: absolute;
  top: var(--fc-space-3);
  left: var(--fc-space-3);
  z-index: 2;
  background: rgba(26,26,26,0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  padding: var(--fc-space-1) var(--fc-space-3);
  border-radius: var(--fc-radius-pill);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-black);
  text-transform: uppercase;
  letter-spacing: 1px;
  color: rgba(255,255,255,0.9);
}

/* Dark glass play pill — top-right (matches recipe page) */
.fc-home-recipe__play {
  position: absolute;
  top: var(--fc-space-3);
  right: var(--fc-space-3);
  z-index: 3;
  display: flex;
  align-items: center;
  gap: var(--fc-space-2);
  background: rgba(26,26,26,0.75);
  backdrop-filter: blur(12px) saturate(150%);
  -webkit-backdrop-filter: blur(12px) saturate(150%);
  padding: 6px 14px 6px 6px;
  border-radius: var(--fc-radius-pill);
  border: none;
  cursor: pointer;
  transition: background 0.15s ease;
}

.fc-home-recipe__play:hover {
  background: rgba(26,26,26,0.88);
}

.fc-home-recipe__play-circle {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--fc-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.15s ease;
  color: var(--fc-ink);
}

.fc-home-recipe__play:hover .fc-home-recipe__play-circle {
  transform: scale(1.08);
}

.fc-home-recipe__play-circle .fc-home-icon-play {
  margin-left: 1px;
}

.fc-home-recipe__play-label {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-semibold);
  color: rgba(255,255,255,0.9);
}

/* Wave bars inside pill */
.fc-home-recipe__wave {
  display: none;
  align-items: center;
  gap: 2px;
  height: 16px;
  margin-left: var(--fc-space-1);
}

.fc-home-recipe__wave span {
  display: block;
  width: 2px;
  height: 8px;
  background: var(--fc-accent);
  border-radius: 1px;
}

/* Playing state */
.fc-home-recipe--playing .fc-home-recipe__play-circle {
  animation: fc-pill-pulse 1.5s infinite ease-in-out;
}

.fc-home-recipe--playing .fc-home-recipe__wave {
  display: flex;
}

.fc-home-recipe--playing .fc-home-recipe__wave span:nth-child(1) { animation: fc-wave 0.8s 0.0s infinite ease-in-out; }
.fc-home-recipe--playing .fc-home-recipe__wave span:nth-child(2) { animation: fc-wave 0.8s 0.1s infinite ease-in-out; }
.fc-home-recipe--playing .fc-home-recipe__wave span:nth-child(3) { animation: fc-wave 0.8s 0.2s infinite ease-in-out; }
.fc-home-recipe--playing .fc-home-recipe__wave span:nth-child(4) { animation: fc-wave 0.8s 0.3s infinite ease-in-out; }

/* Paused state */
.fc-home-recipe--paused .fc-home-recipe__wave {
  display: flex;
}

.fc-home-recipe--paused .fc-home-recipe__wave span {
  animation: none;
  height: 6px;
  opacity: 0.5;
}

/* Play/pause icon toggle */
.fc-home-recipe__play .fc-home-icon-pause { display: none; }
.fc-home-recipe--playing .fc-home-recipe__play .fc-home-icon-play { display: none; }
.fc-home-recipe--playing .fc-home-recipe__play .fc-home-icon-pause { display: block; }
.fc-home-recipe--paused .fc-home-recipe__play .fc-home-icon-play { display: block; }
.fc-home-recipe--paused .fc-home-recipe__play .fc-home-icon-pause { display: none; }

/* ═══ Floating white info card — bottom of image (matches recipe overview cards) ═══ */
.fc-home-recipe__info {
  position: absolute;
  bottom: var(--fc-space-3);
  left: var(--fc-space-3);
  right: var(--fc-space-3);
  z-index: 2;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--fc-radius-xs);
  padding: var(--fc-space-3) var(--fc-space-4);
  transition: border-color 0.2s ease;
  border-top: 2px solid transparent;
}

.fc-home-recipe:hover .fc-home-recipe__info {
  border-top-color: var(--fc-accent);
}

.fc-home-recipe__title {
  font-family: var(--fc-sans);
  font-size: 0.9rem;
  font-weight: var(--fc-w-bold);
  color: var(--fc-ink);
  line-height: var(--fc-lh-snug);
  letter-spacing: -0.2px;
  margin: 0 0 var(--fc-space-1);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.fc-home-recipe__meta {
  display: flex;
  align-items: center;
  gap: var(--fc-space-2);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-dim);
}

.fc-home-recipe__meta-sep {
  color: var(--fc-ghost);
}

/* Full-card link overlay (below play button z-index) */
.fc-home-recipe__link {
  position: absolute;
  inset: 0;
  z-index: 1;
  text-decoration: none;
}

/* ─── Responsive ─── */
@media (max-width: 1199px) {
  .fc-home-recipes__grid {
    gap: var(--fc-space-3);
  }
}

@media (max-width: 767px) {
  .fc-home-recipes__grid {
    grid-template-columns: 1fr;
    gap: var(--fc-space-4);
  }

  .fc-home-recipe {
    aspect-ratio: 3 / 3.5;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fc-home-recipe--playing .fc-home-recipe__play-circle,
  .fc-home-recipe--playing .fc-home-recipe__wave span {
    animation: none;
  }
  .fc-home-recipe__image-wrap img {
    transition: none;
  }
}

/* ═══════════════════════════════════════════════════════
   Recipe card refinements — consistent wave bars, no zoom
   ═══════════════════════════════════════════════════════ */

/* Kill hover zoom — looks cheap */
.fc-home-recipe:hover .fc-home-recipe__image-wrap img {
  transform: none;
}

/* Wave bars — match single recipe page style */
.fc-home-recipe__wave {
  height: 22px;
}

.fc-home-recipe__wave span {
  background: rgba(255,255,255,0.18);
}

.fc-home-recipe--playing .fc-home-recipe__wave span {
  animation: fc-wave-pulse 0.8s ease-in-out infinite alternate;
  background: var(--fc-accent);
}

.fc-home-recipe--playing .fc-home-recipe__wave span:nth-child(2) { animation-delay: 0.1s; }
.fc-home-recipe--playing .fc-home-recipe__wave span:nth-child(3) { animation-delay: 0.2s; }
.fc-home-recipe--playing .fc-home-recipe__wave span:nth-child(4) { animation-delay: 0.15s; }
.fc-home-recipe--playing .fc-home-recipe__wave span:nth-child(5) { animation-delay: 0.25s; }
.fc-home-recipe--playing .fc-home-recipe__wave span:nth-child(6) { animation-delay: 0.05s; }

.fc-home-recipe--paused .fc-home-recipe__wave span {
  animation: none;
  background: rgba(255,255,255,0.18);
}

/* Kill play button hover effects — match recipe overview (clean, no movement) */
.fc-home-recipe__play:hover {
  background: rgba(26,26,26,0.75);
}

.fc-home-recipe__play:hover .fc-home-recipe__play-circle {
  transform: none;
}

/* Recipe section header — label + CTA row */
.fc-home-recipes__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--fc-space-4);
}

.fc-home-recipes__header .fc-home-section-label {
  margin-bottom: 0;
}

.fc-home-recipes__cta {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-semibold);
  color: var(--fc-accent);
  text-decoration: none;
  letter-spacing: 0.2px;
  transition: opacity 0.15s ease;
}

.fc-home-recipes__cta:hover {
  opacity: 0.8;
}


/* ═══════════════════════════════════════════════════════
   AUDIO HUB — /audio/ page
   BEM namespace: fc-audio-hub
   Patterns: fc-home-track (shared), fc-skeptic-header (shared),
             fc-trust-section (shared), dark CTA card pattern
   @since 13.4.57
   ═══════════════════════════════════════════════════════ */

/* ─── Section header — title + subtitle + duration ─── */
.fc-audio-hub__section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: var(--fc-space-4);
}

.fc-audio-hub__heading {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-h2);
  font-weight: var(--fc-w-extrabold);
  color: var(--fc-ink);
  letter-spacing: -0.4px;
  margin: 0;
}

.fc-audio-hub__section-sub {
  font-size: 0.84rem;
  line-height: 1.55;
  color: var(--fc-dim);
  margin-top: var(--fc-space-1);
}

.fc-audio-hub__section-dur {
  font-family: var(--fc-mono);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium);
  color: var(--fc-ghost);
  letter-spacing: 0.3px;
  white-space: nowrap;
  padding-top: 6px;
  flex-shrink: 0;
}

/* ─── Track list — reuses fc-home-track rows ─── */
.fc-audio-hub__tracks {
  display: flex;
  flex-direction: column;
}


/* ═══ CLUSTER ACCORDIONS — The Science section ═══ */

.fc-audio-hub__cluster {
  border-bottom: 1px solid var(--fc-border-light);
}

.fc-audio-hub__cluster:last-child {
  border-bottom: none;
}

.fc-audio-hub__cluster-header {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: var(--fc-space-4) 0;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--fc-sans);
  transition: color 0.15s ease;
}

.fc-audio-hub__cluster-header:hover {
  color: var(--fc-accent);
}

.fc-audio-hub__cluster-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.fc-audio-hub__cluster-name {
  font-size: 0.88rem;
  font-weight: var(--fc-w-semibold);
  color: var(--fc-ink);
  flex: 1;
  text-align: left;
  transition: color 0.15s ease;
}

.fc-audio-hub__cluster-header:hover .fc-audio-hub__cluster-name {
  color: var(--fc-accent);
}

.fc-audio-hub__cluster-count {
  font-family: var(--fc-mono);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium);
  color: var(--fc-ghost);
  letter-spacing: 0.3px;
  flex-shrink: 0;
}

.fc-audio-hub__cluster-arrow {
  flex-shrink: 0;
  color: var(--fc-ghost);
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), color 0.15s ease;
}

.fc-audio-hub__cluster-header[aria-expanded="true"] .fc-audio-hub__cluster-arrow {
  transform: rotate(180deg);
}

.fc-audio-hub__cluster-header:hover .fc-audio-hub__cluster-arrow {
  color: var(--fc-accent);
}

/* Cluster body — smooth reveal */
.fc-audio-hub__cluster-body {
  padding-bottom: var(--fc-space-4);
}

.fc-audio-hub__cluster-body[hidden] {
  display: none;
}


/* ═══ PLAYLIST CTA — Dark accent card ═══ */

.fc-audio-hub__playlist-cta {
  background: var(--fc-ink);
  border-radius: var(--fc-radius);
  padding: var(--fc-space-10) var(--fc-space-8);
  text-align: center;
  margin: var(--fc-space-8) 0;
}

.fc-audio-hub__playlist-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--fc-space-5);
}

.fc-audio-hub__playlist-icon svg {
  width: 28px;
  height: 28px;
  color: var(--fc-accent);
}

.fc-audio-hub__playlist-title {
  font-family: var(--fc-display);
  font-size: 1.4rem;
  font-weight: var(--fc-w-regular);
  color: white;
  letter-spacing: -0.3px;
  margin: 0 0 var(--fc-space-2);
}

.fc-audio-hub__playlist-sub {
  font-size: 0.82rem;
  line-height: 1.6;
  color: rgba(255,255,255,0.4);
  max-width: 420px;
  margin: 0 auto var(--fc-space-6);
}

.fc-audio-hub__playlist-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 32px;
  border-radius: 12px;
  background: var(--fc-accent);
  color: var(--fc-ink);
  font-family: var(--fc-sans);
  font-size: 0.88rem;
  font-weight: var(--fc-w-bold);
  letter-spacing: 0.2px;
  border: none;
  cursor: pointer;
  transition: background 0.25s ease, transform 0.15s ease;
}

.fc-audio-hub__playlist-btn:hover {
  background: var(--fc-accent-hover);
  transform: translateY(-1px);
}

.fc-audio-hub__playlist-btn:active {
  transform: scale(0.97);
}

.fc-audio-hub__playlist-btn svg {
  width: 16px;
  height: 16px;
}


/* ═══ RESPONSIVE — MOBILE ═══ */

@media (max-width: 767px) {
  .fc-audio-hub__section-header {
    flex-direction: column;
    gap: var(--fc-space-1);
  }
  .fc-audio-hub__section-dur {
    padding-top: 0;
  }
  .fc-audio-hub__heading {
    font-size: 1.3rem;
  }
  .fc-audio-hub__playlist-cta {
    padding: var(--fc-space-8) var(--fc-space-5);
    border-radius: var(--fc-radius-sm);
  }
  .fc-audio-hub__playlist-title {
    font-size: 1.2rem;
  }
  .fc-audio-hub__playlist-btn {
    width: 100%;
    justify-content: center;
  }
}


/* ─── Section actions — Play All + duration ─── */
.fc-audio-hub__section-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  padding-top: 6px;
}

.fc-audio-hub__play-all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: var(--fc-radius-pill);
  background: var(--fc-accent-dim);
  border: 1px solid transparent;
  color: var(--fc-accent);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-semibold);
  letter-spacing: 0.2px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.fc-audio-hub__play-all:hover {
  background: var(--fc-accent);
  color: white;
}

.fc-audio-hub__play-all:active {
  transform: scale(0.95);
}

.fc-audio-hub__play-all svg {
  flex-shrink: 0;
}

@media (max-width: 767px) {
  .fc-audio-hub__section-actions {
    padding-top: 0;
    gap: 8px;
  }
  .fc-audio-hub__play-all {
    font-size: 0.65rem;
    padding: 5px 10px;
  }
}


/* ═══ PLAYLIST MODAL — Result View ═══ */

.fc-modal__result {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.fc-modal__result-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 32px 0;
}

.fc-modal__result-info {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--fc-mono);
  font-size: 0.68rem;
  color: rgba(255,255,255,0.4);
  letter-spacing: 0.3px;
}

.fc-modal__result-count {
  color: var(--fc-accent);
  font-weight: var(--fc-w-semibold);
}

.fc-modal__result-sep { color: rgba(255,255,255,0.15); }

.fc-modal__result-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.fc-modal__shuffle,
.fc-modal__back-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  border-radius: var(--fc-radius-pill);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.4);
  font-family: var(--fc-sans);
  font-size: 0.65rem;
  font-weight: var(--fc-w-semibold);
  cursor: pointer;
  transition: all 0.2s ease;
}

.fc-modal__shuffle:hover,
.fc-modal__back-btn:hover {
  border-color: rgba(255,255,255,0.16);
  color: rgba(255,255,255,0.7);
}


/* ─── Track list inside modal ─── */

.fc-modal__result-tracks {
  padding: 16px 32px;
  overflow-y: auto;
  max-height: 45vh;
  -webkit-overflow-scrolling: touch;
}

.fc-modal__track {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,0.05);
}

.fc-modal__track:last-child {
  border-bottom: none;
}

.fc-modal__track-play {
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--fc-accent);
  transition: background 0.15s ease, transform 0.1s ease;
}

.fc-modal__track-play:hover {
  background: var(--fc-accent);
  color: white;
}

.fc-modal__track-play:active {
  transform: scale(0.9);
}

.fc-modal__track-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.fc-modal__track-title {
  font-family: var(--fc-sans);
  font-size: 0.75rem;
  font-weight: var(--fc-w-medium);
  color: rgba(255,255,255,0.8);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}

.fc-modal__track-meta {
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: var(--fc-sans);
  font-size: 0.6rem;
  color: rgba(255,255,255,0.3);
}

.fc-modal__track-sep {
  color: rgba(255,255,255,0.12);
}

@media (max-width: 767px) {
  .fc-modal__result-header {
    padding: 16px 20px 0;
  }
  .fc-modal__result-tracks {
    padding: 12px 20px;
    max-height: 50vh;
  }
  .fc-modal__section {
    padding: 20px 20px 0;
  }
  .fc-modal__footer {
    padding: 20px;
  }
}

/* ═══════════════════════════════════════════════════════
   PWA Install Banner — "FitChef Audio is free"
   Slim dark bar. Mobile only. All pages except /pro/.
   Since 13.6.7
   ═══════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════
   Site Header — site-header.php
   BEM block: fc-site-header
   Mobile only. Desktop uses nav-rail.
   White bg, dark logo, Log in + PRO ghost pill.
   ══════════════════════════════════════════ */

.fc-site-header {
  display: none;
}

@media (max-width: 767px) {
  .fc-site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--fc-surface);
    padding: 0 16px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 52px;
    z-index: 200;
    border-bottom: 0.5px solid var(--fc-border);
  }
  .fc-site-header__logo {
    display: flex;
    align-items: center;
    text-decoration: none;
    min-height: 52px;
  }
  .fc-site-header__logo img {
    height: 26px;
    width: auto;
    display: block;
    opacity: 0.92;
  }
  .fc-site-header__logo:active img {
    opacity: 1;
  }
  .fc-site-header__auth {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .fc-site-header__login {
    font-family: var(--fc-sans);
    font-size: 11.5px;
    font-weight: var(--fc-w-semibold);
    color: var(--fc-dim);
    text-decoration: none;
    padding: 6px 0;
    -webkit-tap-highlight-color: transparent;
  }
  .fc-site-header__login:active {
    color: var(--fc-ink);
  }
  .fc-site-header__sep {
    color: var(--fc-border);
    font-size: 11px;
  }
  .fc-site-header__pro {
    display: inline-flex;
    align-items: center;
    font-family: var(--fc-sans);
    font-size: 11px;
    font-weight: var(--fc-w-semibold);
    color: var(--fc-ink);
    text-decoration: none;
    border: 1px solid var(--fc-border);
    border-radius: 6px;
    padding: 4px 10px;
    letter-spacing: 0.3px;
    -webkit-tap-highlight-color: transparent;
  }
  .fc-site-header__pro:active {
    background: var(--fc-bg);
    border-color: var(--fc-dim);
  }
}



/* ══════════════════════════════════════════
   PWA App Page v7 — page-app.php
   BEM block: fc-app-hero
   Centered utility screen. No footer. No scroll.
   All values from tokens.css — verified.
   ══════════════════════════════════════════ */

.fc-main--app { padding: 0; }

.fc-app-hero {
  min-height: calc(100vh - 52px);
  min-height: calc(100dvh - 52px);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--fc-surface);
  padding: var(--fc-space-8) var(--fc-space-5) 120px;
}

.fc-app-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 400px;
  width: 100%;
}

/* ── Icon ── */
.fc-app-hero__icon {
  width: 80px;
  height: 80px;
  background: var(--fc-bg-alt);
  border-radius: var(--fc-radius);
  border: 1px solid var(--fc-border);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--fc-space-6);
  color: var(--fc-ink);
  transition: background 0.3s, border-color 0.3s;
}
.fc-app-hero__icon--done {
  background: var(--fc-accent-dim);
  border-color: transparent;
  color: var(--fc-accent);
}

/* ── Text ── */
.fc-app-hero__title {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-h2);
  font-weight: var(--fc-w-medium);
  color: var(--fc-ink);
  letter-spacing: -0.5px;
  line-height: var(--fc-lh-heading);
  margin: 0 0 var(--fc-space-2);
}
.fc-app-hero__sub {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-ui);
  color: var(--fc-dim);
  line-height: var(--fc-lh-ui);
  margin: 0 0 var(--fc-space-8);
}

/* ── CTA ── */
.fc-app-hero__cta {
  width: 100%;
  display: flex;
  justify-content: center;
}
.fc-app-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  max-width: 280px;
  padding: var(--fc-space-3) var(--fc-space-6);
  background: var(--fc-ink);
  color: var(--fc-surface);
  border: 1px solid transparent;
  border-radius: var(--fc-radius-xs);
  font-family: var(--fc-sans);
  font-size: var(--fc-text-ui);
  font-weight: var(--fc-w-medium);
  line-height: var(--fc-lh-ui);
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 0.15s;
}
.fc-app-hero__btn:hover { opacity: 0.9; }
.fc-app-hero__btn:active { opacity: 0.85; }
.fc-app-hero__btn svg { flex-shrink: 0; }
.fc-app-hero__btn--ghost {
  background: var(--fc-surface);
  color: var(--fc-ink);
  border-color: var(--fc-border);
}
.fc-app-hero__btn--ghost:hover { border-color: var(--fc-dim); }

/* ── iOS ── */
.fc-app-hero__ios-title {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  font-weight: var(--fc-w-medium);
  color: var(--fc-ink);
  line-height: var(--fc-lh-ui);
  margin: 0 0 var(--fc-space-3);
}
.fc-app-hero__ios-steps {
  display: flex;
  gap: var(--fc-space-3);
  width: 100%;
  max-width: 280px;
}
.fc-app-hero__ios-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: var(--fc-space-3) var(--fc-space-2);
  background: var(--fc-bg-alt);
  border-radius: var(--fc-radius-xs);
  border: 0.5px solid var(--fc-border);
}
.fc-app-hero__ios-num {
  width: 22px;
  height: 22px;
  background: var(--fc-ink);
  color: var(--fc-surface);
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-medium);
}
.fc-app-hero__ios-label {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-micro);
  font-weight: var(--fc-w-medium);
  color: var(--fc-ink);
  line-height: var(--fc-lh-ui);
}
.fc-app-hero__ios-step svg { color: var(--fc-dim); }

/* ── QR ── */
.fc-app-hero__qr {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.fc-app-hero__qr-box {
  width: 160px;
  height: 160px;
  background: var(--fc-bg-alt);
  border: 1px solid var(--fc-border);
  border-radius: var(--fc-radius-xs);
  display: flex;
  align-items: center;
  justify-content: center;
}
.fc-app-hero__qr-box img { width: 140px; height: 140px; display: block; }
.fc-app-hero__qr-label {
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-ghost);
  line-height: var(--fc-lh-ui);
  margin: var(--fc-space-3) 0 0;
}

/* ── Done ── */
.fc-app-hero__done {
  display: flex;
  justify-content: center;
  width: 100%;
}

/* ── Proof ── */
.fc-app-hero__proof {
  display: flex;
  align-items: center;
  gap: var(--fc-space-5);
  margin-top: var(--fc-space-6);
}
.fc-app-hero__check {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--fc-sans);
  font-size: var(--fc-text-small);
  color: var(--fc-ghost);
  line-height: var(--fc-lh-ui);
}
.fc-app-hero__check svg { flex-shrink: 0; }

/* ── Desktop: nav-rail, no top header, player at bottom ── */
@media (min-width: 768px) {
  .fc-app-hero {
    min-height: 100vh;
    min-height: 100dvh;
  }
}

/* ── Mobile ── */
@media (max-width: 767px) {
  .fc-app-hero {
    padding-bottom: 88px;
  }
  .fc-app-hero__icon { width: 64px; height: 64px; border-radius: 16px; }
  .fc-app-hero__icon svg { width: 26px; height: 26px; }
  .fc-app-hero__title { font-size: var(--fc-text-body); }
  .fc-app-hero__sub { margin-bottom: var(--fc-space-6); }
  .fc-app-hero__btn { max-width: 100%; }
  .fc-app-hero__ios-steps { max-width: 100%; }
  .fc-app-hero__proof { gap: var(--fc-space-3); }
  .fc-app-hero__check { font-size: var(--fc-text-micro); }
}

/* ── Small phones ── */
@media (max-height: 600px) and (max-width: 767px) {
  .fc-app-hero__icon { width: 56px; height: 56px; border-radius: var(--fc-radius-sm); margin-bottom: var(--fc-space-4); }
  .fc-app-hero__icon svg { width: 22px; height: 22px; }
  .fc-app-hero__sub { margin-bottom: var(--fc-space-4); }
  .fc-app-hero__proof { margin-top: var(--fc-space-3); }
}

/* ── Brand Card — Stat dividers ── */
.fc-home-brand__stat + .fc-home-brand__stat {
  padding-left: 24px;
  border-left: 1px solid rgba(255,255,255,0.08);
}

/* ── Brand Card — Waveform + dividers responsive ── */
@media (max-width: 767px) {
  .fc-home-brand__stat + .fc-home-brand__stat {
    padding-left: 20px;
  }
}

