/* ───────────────────────────────────────────────────────────
   facilitation.css — the Facilitation page (the flagship).
   Extends site.css + bbc.css + selector-modal.css. No new colours,
   no gradients beyond the brand's permitted opacity/scrim use.
   New decorative elements only: the particle brain + a thin neural
   motif behind sections. Everything else reuses existing components.
   ─────────────────────────────────────────────────────────── */

.fc{ background:var(--aw-stone); color:var(--fg-1); }

/* shared eyebrow (yellow dot) — matches .bbc-secthead .eye */
.fc-eye{ font-family:var(--font-body); font-weight:600; font-size:12px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--fg-2); display:inline-flex; align-items:center; gap:10px; }
.fc-eye::before{ content:""; width:7px; height:7px; border-radius:999px; background:var(--accent); flex:none; }
.fc-eye.on-dark{ color:rgba(255,255,255,.62); }

.fc-wrap{ width:min(1240px, 100% - 96px); margin-inline:auto; }
.fc-sect{ padding:clamp(72px,9vw,132px) 0; position:relative; }

/* ═══════════════════════════════════════════════════════════
   NAV (slim, matches the live BBC page nav)
   ═══════════════════════════════════════════════════════════ */
.fc-nav{ position:fixed; top:0; left:0; right:0; z-index:60; padding:16px 0;
  transition:background var(--dur-base), box-shadow var(--dur-base), padding var(--dur-base); }
.fc-nav .inner{ width:min(1240px,100% - 96px); margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.fc-nav img{ height:24px; width:auto; }
.fc-nav .logo-dark{ display:none; }
.fc-nav .crumb{ font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.62); }
.fc-nav.is-solid{ background:color-mix(in srgb,var(--aw-stone) 90%, transparent); backdrop-filter:saturate(1.2) blur(10px);
  box-shadow:0 1px 0 var(--divider); padding-block:11px; }
.fc-nav.is-solid .logo-light{ display:none; } .fc-nav.is-solid .logo-dark{ display:block; }
.fc-nav.is-solid .crumb{ color:var(--fg-3); }

/* ═══════════════════════════════════════════════════════════
   SECTION 1 — HERO
   ═══════════════════════════════════════════════════════════ */
.fc-hero{ position:relative; min-height:100svh; background:var(--aw-black); color:#fff; overflow:hidden;
  display:flex; align-items:center; }
.fc-brain{ position:absolute; inset:0; z-index:0; }
.fc-brain canvas{ width:100%; height:100%; display:block; }
/* keeps type legible over the densest part of the cloud */
.fc-hero::after{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(120% 80% at 30% 50%, rgba(20,20,20,.72) 0%, rgba(20,20,20,.30) 42%, transparent 70%); }
.fc-hero__grid{ position:relative; z-index:2; width:min(1240px,100% - 96px); margin-inline:auto;
  display:grid; grid-template-columns:minmax(0,1fr); }
.fc-hero__col{ max-width:660px; }
.fc-hero__eyebrow{ color:var(--accent); }
.fc-hero__h{ font-family:var(--font-display); font-weight:900; text-transform:uppercase;
  font-size:clamp(44px,7vw,104px); line-height:.9; letter-spacing:-0.01em; margin:22px 0 0; }
.fc-hero__h .sig{ position:relative; display:inline-block; }
.fc-hero__sub{ font-family:var(--font-body); font-weight:300; font-size:clamp(15px,1.35vw,20px);
  line-height:1.55; color:rgba(255,255,255,.76); margin:26px 0 0; max-width:46ch; }
.fc-hero__cta{ display:flex; gap:14px; flex-wrap:wrap; margin-top:38px; align-items:center; }
.fc-hero__ast{ position:absolute; top:6%; right:4%; width:min(19vw,220px); z-index:2; opacity:.9; pointer-events:none;
  animation:fcAstFloat 9s var(--ease-out) infinite; }
@media (prefers-reduced-motion: reduce){ .fc-hero__ast{ animation:none; } }
@keyframes fcAstFloat{ 0%,100%{ transform:translateY(0) rotate(0); } 50%{ transform:translateY(-12px) rotate(6deg); } }
.fc-scrollcue{ position:absolute; bottom:26px; left:50%; transform:translateX(-50%); z-index:3;
  font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:rgba(255,255,255,.55); display:flex; flex-direction:column; align-items:center; gap:9px; }
.fc-scrollcue .line{ width:1px; height:34px; background:currentColor; opacity:.5; animation:scrollpulse 2.4s var(--ease-out) infinite; }
@media (prefers-reduced-motion: reduce){ .fc-scrollcue .line{ animation:none; } }

/* ═══════════════════════════════════════════════════════════
   SECTION 2 — THE 3-PHASE PRIME (full-screen overlay)
   ═══════════════════════════════════════════════════════════ */
.fc-prime{ position:fixed; inset:0; z-index:2000; background:var(--aw-black); color:#fff;
  display:none; align-items:center; justify-content:center; overflow:hidden; }
.fc-prime.is-on{ display:flex; }
.fc-prime__net{ position:absolute; inset:0; z-index:0; width:100%; height:100%; display:block; opacity:.5; }
.fc-prime__skip{ position:absolute; top:24px; right:26px; z-index:6; background:none; border:none; cursor:pointer;
  color:rgba(255,255,255,.55); font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; display:inline-flex; align-items:center; gap:8px; }
.fc-prime__skip:hover{ color:#fff; }
.fc-prime__dots{ position:absolute; top:26px; left:50%; transform:translateX(-50%); z-index:6; display:flex; gap:8px; }
.fc-prime__dots i{ width:26px; height:3px; border-radius:999px; background:rgba(255,255,255,.2); display:block; transition:background var(--dur-base); }
.fc-prime__dots i.on{ background:var(--accent); }
.fc-beat{ position:absolute; inset:0; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:32px; opacity:0; pointer-events:none; transition:opacity .55s var(--ease-out); }
.fc-beat.is-on{ opacity:1; pointer-events:auto; }
.fc-beat__ast{ width:76px; height:76px; object-fit:contain; margin-bottom:30px; }
.fc-beat.beat1 .fc-beat__ast{ animation:fcHeartbeat 1.5s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce){ .fc-beat.beat1 .fc-beat__ast{ animation:none; } }
@keyframes fcHeartbeat{ 0%,100%{ transform:scale(1); } 14%{ transform:scale(1.16); } 28%{ transform:scale(1); } 42%{ transform:scale(1.1); } 56%{ transform:scale(1); } }
.fc-beat__kicker{ font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin-bottom:20px; }
.fc-beat__line{ font-family:var(--font-display); font-weight:900; text-transform:uppercase; font-size:clamp(30px,5.4vw,74px);
  line-height:.96; letter-spacing:-0.01em; max-width:17ch; }
.fc-beat__line em{ font-style:italic; color:var(--accent); }
.fc-beat__sub{ font-family:var(--font-body); font-weight:300; font-size:clamp(15px,1.6vw,21px); line-height:1.5;
  color:rgba(255,255,255,.72); margin-top:22px; max-width:40ch; }
.fc-beat__proof{ display:inline-flex; align-items:center; gap:12px; margin-top:34px; background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14); border-radius:var(--radius-md); padding:14px 20px; max-width:52ch; }
.fc-beat__proof .dot{ width:8px; height:8px; border-radius:999px; background:var(--accent); flex:none; }
.fc-beat__proof span{ font-family:var(--font-body); font-weight:400; font-size:13.5px; line-height:1.45; color:rgba(255,255,255,.82); text-align:left; }
.fc-beat__proof b{ color:#fff; font-weight:600; }
.fc-beat__cite{ color:var(--accent); font-weight:500; }

/* ═══════════════════════════════════════════════════════════
   SECTION 3 — THE CATALOGUE (the showroom)
   ═══════════════════════════════════════════════════════════ */
.fc-cat{ background:var(--aw-stone); position:relative; overflow:hidden; }
.fc-cat__net{ position:absolute; inset:0; z-index:0; width:100%; height:100%; display:block; opacity:.55; pointer-events:none; }
.fc-cat__inner{ position:relative; z-index:1; }
.fc-cat__head{ max-width:60ch; }
.fc-cat__h{ font-family:var(--font-display); font-weight:900; text-transform:uppercase; font-size:clamp(38px,5vw,72px);
  line-height:.94; letter-spacing:0; margin:16px 0 0; }
.fc-cat__intro{ font-family:var(--font-body); font-weight:400; font-size:16px; line-height:1.6; color:var(--fg-2); margin:18px 0 0; max-width:52ch; }

.fc-railhead{ font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--fg-3); display:flex; align-items:center; gap:14px; margin:48px 0 20px; }
.fc-railhead::after{ content:""; flex:1; height:1px; background:var(--divider); }

/* --- generic spec-card (icon-forward, tactile hover-lift, yellow stamp, node-glow) --- */
.fc-card{ position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; background:var(--bg-panel); border-radius:var(--radius-md);
  box-shadow:var(--shadow-1); padding:34px 26px 26px; cursor:pointer; overflow:hidden; border:none; width:100%; color:var(--fg-1);
  transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.fc-card::before{ /* node-glow, centered on the icon */ content:""; position:absolute; top:14px; left:50%; transform:translateX(-50%); width:190px; height:190px; border-radius:999px;
  background:radial-gradient(closest-side, rgba(254,212,3,.30), transparent 70%); opacity:0; transition:opacity var(--dur-base); pointer-events:none; }
.fc-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-3); }
.fc-card:hover::before{ opacity:1; }
.fc-card:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
.fc-card__stamp{ position:absolute; top:18px; right:18px; width:24px; opacity:0; transform:scale(.5) rotate(-20deg);
  transition:opacity var(--dur-base) var(--ease-snap), transform var(--dur-base) var(--ease-snap); }
.fc-card:hover .fc-card__stamp{ opacity:1; transform:none; }
/* icon node — the pop */
.fc-card__ico{ position:relative; z-index:1; width:82px; height:82px; display:grid; place-items:center; border-radius:999px;
  background:var(--aw-stone,#F9F7F6); color:var(--accent); box-shadow:inset 0 0 0 1.5px rgba(254,212,3,.55);
  transition:background var(--dur-base) var(--ease-snap), color var(--dur-base), transform var(--dur-base) var(--ease-snap), box-shadow var(--dur-base); }
.fc-card__ico svg{ width:36px; height:36px; stroke-width:1.75; }
.fc-card:hover .fc-card__ico{ background:var(--accent); color:#202020; transform:scale(1.07); box-shadow:inset 0 0 0 1.5px var(--accent), 0 8px 20px rgba(254,212,3,.35); }
.fc-card__eyebrow{ font-family:var(--font-body); font-weight:600; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-top:16px; }
.fc-card__name{ font-family:var(--font-display); font-weight:800; text-transform:uppercase; font-size:22px; line-height:1.04;
  letter-spacing:.01em; margin-top:10px; }
.fc-card__blurb{ font-family:var(--font-body); font-weight:400; font-size:13.5px; line-height:1.5; color:var(--fg-2); margin-top:11px; }
.fc-card__foot{ display:flex; justify-content:center; align-items:center; gap:8px; margin-top:auto; padding-top:18px; flex-wrap:wrap; }
.fc-card__markers{ display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin-top:16px; }
.fc-marker{ font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.02em; color:var(--fg-2);
  display:inline-flex; align-items:center; gap:7px; }
.fc-marker::before{ content:""; width:5px; height:5px; border-radius:999px; background:var(--accent); }

/* standalone topics grid */
.fc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }

/* --- flagship journey card (featured, larger, top) --- */
.fc-flagship{ position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:0; background:var(--aw-black);
  color:#fff; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-2); cursor:pointer; border:none; text-align:left; width:100%;
  transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.fc-flagship:hover, .fc-flag:hover{ transform:translateY(-4px); box-shadow:var(--shadow-3); }
.fc-flag{ position:relative; display:grid; grid-template-columns:1.12fr .88fr; background:var(--aw-black); color:#fff;
  border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-2); cursor:pointer; border:none; text-align:left; width:100%;
  transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base); }
.fc-flag:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
.fc-flag__ast{ position:absolute; top:-56px; right:-56px; width:230px; opacity:.1; pointer-events:none; }
.fc-flag__L{ padding:38px 40px 40px; position:relative; z-index:2; display:flex; flex-direction:column; }
.fc-flag__eyebrow{ font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); }
.fc-flag__name{ font-family:var(--font-display); font-weight:900; text-transform:uppercase; font-size:clamp(30px,3.4vw,50px);
  line-height:.94; letter-spacing:0; margin-top:14px; max-width:16ch; }
.fc-flag__chips{ display:flex; gap:9px; flex-wrap:wrap; margin-top:20px; }
.fc-flag__go{ display:inline-flex; align-items:center; gap:12px; margin-top:auto; padding-top:30px;
  font-family:var(--font-body); font-weight:600; font-size:14px; color:#fff; }
.fc-flag__go .arrow{ font-family:var(--font-display); font-weight:700; color:var(--accent); transition:transform var(--dur-base) var(--ease-snap); }
.fc-flag:hover .fc-flag__go .arrow{ transform:translateX(4px); }
.fc-flag__R{ position:relative; z-index:2; padding:34px 36px 34px 30px; border-left:1px solid rgba(255,255,255,.1);
  display:flex; flex-direction:column; justify-content:center; gap:2px; }
.fc-mod{ display:flex; align-items:flex-start; gap:16px; padding:15px 0; border-top:1px solid rgba(255,255,255,.08); }
.fc-mod:first-child{ border-top:none; }
.fc-mod__n{ font-family:var(--font-display); font-weight:900; font-size:15px; color:var(--accent); flex:none; width:22px; line-height:1.3; }
.fc-mod__t{ font-family:var(--font-body); font-weight:500; font-size:14px; line-height:1.35; color:rgba(255,255,255,.9); }

.tag--dark{ background:rgba(255,255,255,.1); color:#fff; }

/* ═══════════════════════════════════════════════════════════
   SECTION 4 — TOPIC DETAIL + LAB CONFIGURATOR (full-screen overlay)
   ═══════════════════════════════════════════════════════════ */
.fc-detail{ position:fixed; inset:0; z-index:1900; background:var(--aw-stone); overflow-y:auto;
  opacity:0; pointer-events:none; transition:opacity var(--dur-base) var(--ease-out); }
.fc-detail.is-on{ opacity:1; pointer-events:auto; }
.fc-detail__net{ position:fixed; inset:0; z-index:0; width:100%; height:100%; display:block; opacity:.5; pointer-events:none; }
.fc-detail__close{ position:fixed; top:22px; right:26px; z-index:20; width:44px; height:44px; border-radius:999px; border:none; cursor:pointer;
  background:var(--aw-black); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-2); }
.fc-detail__close:hover{ background:var(--accent); color:var(--aw-black); }
.fc-detail__inner{ position:relative; z-index:1; width:min(1240px,100% - 96px); margin-inline:auto; padding:72px 0 120px;
  display:grid; grid-template-columns:1.55fr .95fr; gap:56px; align-items:start; }
.fc-dcol{ min-width:0; }
.fc-detail__back{ background:none; border:none; cursor:pointer; font-family:var(--font-body); font-weight:600; font-size:12px;
  letter-spacing:.06em; color:var(--fg-3); display:inline-flex; align-items:center; gap:8px; padding:0; margin-bottom:22px; }
.fc-detail__back:hover{ color:var(--fg-1); }
.fc-detail__eyebrow{ font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--fg-2); }
.fc-detail__name{ font-family:var(--font-display); font-weight:900; text-transform:uppercase; font-size:clamp(34px,4.4vw,60px);
  line-height:.94; letter-spacing:0; margin:12px 0 0; max-width:16ch; }
.fc-detail__thesis{ font-family:var(--font-display); font-weight:500; text-transform:none; font-size:clamp(18px,1.9vw,26px);
  line-height:1.25; color:var(--fg-1); margin:20px 0 0; max-width:34ch; }

.fc-block{ margin-top:44px; }
.fc-block__k{ font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--fg-3); display:flex; align-items:center; gap:12px; }
.fc-block__k::after{ content:""; flex:1; height:1px; background:var(--divider); }

/* THE SCIENCE — cited proof-chips (black pills, yellow figure) */
.fc-science{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px; }
.fc-proof{ background:var(--aw-black); color:#fff; border-radius:var(--radius-md); padding:18px 18px 16px; display:flex; flex-direction:column; gap:10px; }
.fc-proof__claim{ font-family:var(--font-body); font-weight:400; font-size:13px; line-height:1.4; color:rgba(255,255,255,.86); }
.fc-proof__cite{ font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.02em; color:var(--accent); margin-top:auto; }

/* WHAT WE GET INTO — named segments */
.fc-seg{ border-top:1px solid var(--divider); padding:18px 0; display:grid; grid-template-columns:26px 1fr; gap:16px; }
.fc-seg:first-of-type{ border-top:none; }
.fc-seg__n{ font-family:var(--font-display); font-weight:900; font-size:15px; color:var(--aw-ink-300); line-height:1.4; }
.fc-seg__t{ font-family:var(--font-display); font-weight:800; text-transform:uppercase; font-size:16px; letter-spacing:.01em; }
.fc-seg__b{ font-family:var(--font-body); font-weight:400; font-size:13.5px; line-height:1.55; color:var(--fg-2); margin-top:6px; max-width:56ch; }

/* THE LAB CONFIGURATOR */
.fc-lab__toggle{ display:inline-flex; background:var(--aw-ink-100); border-radius:999px; padding:4px; margin-top:16px; }
.fc-lab__toggle button{ border:none; background:none; cursor:pointer; font-family:var(--font-body); font-weight:600; font-size:13px;
  color:var(--fg-3); padding:9px 20px; border-radius:999px; transition:background var(--dur-base), color var(--dur-base); }
.fc-lab__toggle button.on{ background:var(--aw-black); color:#fff; }
.fc-formats{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:16px; }
.fc-format{ position:relative; border:2px solid var(--border); border-radius:12px; background:var(--bg-panel); cursor:pointer;
  padding:18px 16px; text-align:left; display:flex; flex-direction:column; gap:7px;
  transition:background .3s, color .3s, border-color .3s, transform .3s var(--ease-snap), box-shadow .3s, opacity .3s; }
.fc-format:hover{ transform:translateY(-3px); box-shadow:var(--shadow-2); border-color:var(--aw-ink-300); }
.fc-format__t{ font-family:var(--font-display); font-weight:800; text-transform:uppercase; font-size:17px; letter-spacing:.01em; }
.fc-format__m{ font-family:var(--font-body); font-weight:500; font-size:12px; color:var(--fg-3); }
.fc-format__tick{ position:absolute; top:-11px; right:-11px; width:27px; height:27px; border-radius:999px; background:var(--accent);
  color:#202020; display:flex; align-items:center; justify-content:center; opacity:0; transform:scale(0); transition:.35s var(--ease-snap); }
.fc-format__tick svg{ width:14px; height:14px; }
.fc-format.is-pick{ background:var(--aw-black); color:#fff; border-color:var(--aw-black); }
.fc-format.is-pick .fc-format__m{ color:rgba(255,255,255,.6); }
.fc-format.is-pick .fc-format__tick{ opacity:1; transform:scale(1); }
.fc-format.is-disabled{ opacity:.4; cursor:not-allowed; pointer-events:none; }
.fc-format__note{ font-family:var(--font-body); font-weight:500; font-size:11px; color:var(--fg-3); margin-top:10px; display:none; }
.fc-format.is-disabled .fc-format__note{ display:block; }

/* SPEC SHEET (sticky) */
.fc-spec{ position:sticky; top:88px; background:var(--aw-black); color:#fff; border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow-3); }
.fc-spec__ast{ position:absolute; top:-46px; right:-46px; width:180px; opacity:.1; pointer-events:none; }
.fc-spec__head{ padding:24px 26px 4px; position:relative; z-index:2; }
.fc-spec__eyebrow{ font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); }
.fc-spec__h{ font-family:var(--font-display); font-weight:900; text-transform:uppercase; font-size:24px; letter-spacing:.01em; margin-top:8px; }
.fc-spec__body{ padding:16px 26px 24px; position:relative; z-index:2; }
.fc-spec__row{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 0; border-top:1px solid rgba(255,255,255,.1); }
.fc-spec__row:first-child{ border-top:none; }
.fc-spec__k{ font-family:var(--font-body); font-weight:600; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.fc-spec__v{ font-family:var(--font-display); font-weight:800; text-transform:uppercase; font-size:16px; letter-spacing:.01em; text-align:right; }
.fc-spec__v.empty{ font-family:var(--font-body); font-weight:400; text-transform:none; font-size:13px; color:rgba(255,255,255,.32); }
.fc-spec__v.set{ color:var(--accent); animation:fcSpecIn .4s var(--ease-out); }
@keyframes fcSpecIn{ from{ opacity:0; transform:translateX(8px); } to{ opacity:1; transform:none; } }
.fc-spec__actions{ margin-top:22px; display:flex; flex-direction:column; gap:11px; opacity:.4; pointer-events:none; transition:opacity var(--dur-base); }
.fc-spec__actions.ready{ opacity:1; pointer-events:auto; }
.fc-spec__actions .btn{ width:100%; justify-content:center; }
.fc-spec__enquire{ text-align:center; margin-top:14px; }
.fc-spec__enquire a{ font-family:var(--font-body); font-weight:500; font-size:12.5px; color:rgba(255,255,255,.55); text-decoration:none; }
.fc-spec__enquire a:hover{ color:#fff; text-decoration:underline; text-underline-offset:2px; }
.btn--launch.on-dark-inset{ background:#fff; color:var(--aw-black); }
.btn--launch.on-dark-inset:hover{ box-shadow:var(--shadow-yellow); }

/* ═══════════════════════════════════════════════════════════
   SECTION 5 — THE JOURNEY BUILDER
   ═══════════════════════════════════════════════════════════ */
.fc-journey{ background:var(--aw-white); position:relative; overflow:hidden; }
.fc-journey__net{ position:absolute; inset:0; z-index:0; width:100%; height:100%; display:block; opacity:.4; pointer-events:none; }
.fc-journey__inner{ position:relative; z-index:1; }
.fc-jgrid{ display:grid; grid-template-columns:1.5fr 1fr; gap:44px; align-items:start; margin-top:44px; }
.fc-stage{ margin-top:34px; }
.fc-stage:first-child{ margin-top:0; }
.fc-stage__k{ font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--fg-3);
  display:flex; align-items:baseline; gap:12px; }
.fc-stage__k b{ font-family:var(--font-display); font-weight:900; color:var(--accent); font-size:14px; }
.fc-stage__hint{ font-family:var(--font-body); font-weight:400; font-size:12px; color:var(--fg-3); text-transform:none; letter-spacing:0; margin-left:auto; }
.fc-tiles{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.fc-jtile{ position:relative; border:2px solid var(--border); border-radius:12px; background:var(--bg-panel); cursor:pointer;
  padding:13px 18px; font-family:var(--font-body); font-weight:600; font-size:13.5px; color:var(--fg-1); text-align:left;
  transition:background .3s, color .3s, border-color .3s, transform .3s var(--ease-snap), box-shadow .3s; }
.fc-jtile:hover{ transform:translateY(-3px); box-shadow:var(--shadow-2); border-color:var(--aw-ink-300); }
.fc-jtile.is-pick{ background:var(--aw-black); color:#fff; border-color:var(--aw-black); }
.fc-jtile__check{ display:inline-flex; margin-right:8px; color:var(--accent); vertical-align:-2px; opacity:0; width:0; transition:opacity .2s; }
.fc-jtile.is-pick .fc-jtile__check{ opacity:1; width:15px; }

/* core = stackable / reorderable chips */
.fc-core{ margin-top:14px; border:1.5px dashed var(--border); border-radius:var(--radius-md); padding:16px; min-height:96px; }
.fc-core.is-empty{ display:flex; align-items:center; justify-content:center; }
.fc-core__empty{ font-family:var(--font-body); font-weight:400; font-size:13px; color:var(--fg-3); text-align:center; max-width:40ch; }
.fc-corechips{ display:flex; flex-wrap:wrap; gap:10px; }
.fc-chip{ display:inline-flex; align-items:center; gap:10px; background:var(--aw-black); color:#fff; border-radius:999px; padding:9px 8px 9px 16px;
  font-family:var(--font-body); font-weight:600; font-size:13px; cursor:grab; user-select:none;
  animation:fcChipIn .35s var(--ease-snap); }
@keyframes fcChipIn{ from{ opacity:0; transform:scale(.7); } to{ opacity:1; transform:none; } }
.fc-chip.dragging{ opacity:.4; }
.fc-chip__n{ font-family:var(--font-display); font-weight:900; color:var(--accent); font-size:12px; }
.fc-chip__x{ width:22px; height:22px; border-radius:999px; border:none; cursor:pointer; background:rgba(255,255,255,.14); color:#fff;
  display:inline-flex; align-items:center; justify-content:center; font-size:12px; flex:none; }
.fc-chip__x:hover{ background:var(--accent); color:var(--aw-black); }
.fc-coreadd{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.fc-coreadd__lbl{ width:100%; font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-3); margin-bottom:2px; }
.fc-addbtn{ border:1.5px solid var(--border); background:var(--bg-panel); border-radius:999px; cursor:pointer; padding:8px 15px;
  font-family:var(--font-body); font-weight:600; font-size:12.5px; color:var(--fg-1); display:inline-flex; align-items:center; gap:7px;
  transition:border-color var(--dur-base), background var(--dur-base); }
.fc-addbtn:hover{ border-color:var(--aw-black); }
.fc-addbtn .p{ color:var(--accent); font-weight:800; }

/* live "Your journey" spec sheet */
.fc-jspec{ position:sticky; top:88px; background:var(--aw-black); color:#fff; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-3); }
.fc-jspec__ast{ position:absolute; top:-46px; right:-46px; width:180px; opacity:.1; pointer-events:none; }
.fc-jspec__head{ padding:24px 26px 6px; position:relative; z-index:2; }
.fc-jspec__eyebrow{ font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); }
.fc-jspec__h{ font-family:var(--font-display); font-weight:900; text-transform:uppercase; font-size:24px; margin-top:8px; }
.fc-jspec__body{ padding:14px 26px 24px; position:relative; z-index:2; }
.fc-jspec__grp{ padding:14px 0; border-top:1px solid rgba(255,255,255,.1); }
.fc-jspec__grp:first-child{ border-top:none; }
.fc-jspec__k{ font-family:var(--font-body); font-weight:600; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.fc-jspec__v{ font-family:var(--font-body); font-weight:500; font-size:14px; color:#fff; margin-top:7px; line-height:1.4; }
.fc-jspec__v.empty{ color:rgba(255,255,255,.3); }
.fc-jspec__v .li{ display:block; margin-top:5px; }
.fc-jspec__v .li::before{ content:"— "; color:var(--accent); }
.fc-jspec__send{ width:100%; justify-content:center; margin-top:22px; opacity:.4; pointer-events:none; transition:opacity var(--dur-base); }
.fc-jspec__send.ready{ opacity:1; pointer-events:auto; }

/* journey confirmation (reuses black payoff styling) */
.fc-jdone{ position:relative; z-index:2; text-align:left; }
.fc-jdone__eyebrow{ font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); }
.fc-jdone__h{ font-family:var(--font-display); font-weight:900; text-transform:uppercase; font-size:30px; line-height:.96; margin-top:10px; }
.fc-jdone__p{ font-family:var(--font-body); font-weight:400; font-size:13.5px; line-height:1.55; color:rgba(255,255,255,.72); margin-top:14px; }

/* ═══════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */
.fc-foot{ background:var(--aw-black); color:#fff; padding:56px 0; }
.fc-foot__inner{ width:min(1240px,100% - 96px); margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.fc-foot img{ height:26px; }
.fc-foot__sign{ font-family:var(--font-display); font-weight:800; font-style:italic; text-transform:uppercase; font-size:15px; letter-spacing:.02em; color:rgba(255,255,255,.7); }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — mobile-first collapse
   ═══════════════════════════════════════════════════════════ */
@media (max-width:960px){
  .fc-wrap, .fc-nav .inner{ width:calc(100% - 40px); }
  .fc-grid{ grid-template-columns:1fr 1fr; }
  .fc-flag, .fc-flagship{ grid-template-columns:1fr; }
  .fc-flag__R{ border-left:none; border-top:1px solid rgba(255,255,255,.1); }
  .fc-detail__inner{ grid-template-columns:1fr; gap:0; padding:64px 0 140px; }
  .fc-jgrid{ grid-template-columns:1fr; gap:28px; }
  .fc-science{ grid-template-columns:1fr; }
}

@media (max-width:640px){
  .fc-wrap, .fc-nav .inner{ width:calc(100% - 32px); }
  .fc-grid{ grid-template-columns:1fr; }
  .fc-formats{ grid-template-columns:1fr; }
  .fc-hero__ast{ width:34vw; top:auto; bottom:16%; right:6%; }
  .fc-flag__L{ padding:28px 26px; }
  .fc-flag__R{ padding:24px 26px; }

  /* both spec sheets → sticky bottom summary that expands on tap */
  .fc-spec, .fc-jspec{ position:fixed; left:0; right:0; bottom:0; top:auto; z-index:30; border-radius:20px 20px 0 0;
    box-shadow:0 -8px 30px rgba(0,0,0,.28); max-height:76vh; overflow-y:auto; }
  .fc-spec{ transform:translateY(calc(100% - 66px)); transition:transform var(--dur-slow) var(--ease-out); }
  .fc-spec.sheet-open{ transform:none; }
  .fc-spec__head, .fc-jspec__head{ cursor:pointer; padding-top:20px; }
  .fc-spec__head::after, .fc-jspec__head::after{ content:""; position:absolute; top:9px; left:50%; transform:translateX(-50%);
    width:38px; height:4px; border-radius:999px; background:rgba(255,255,255,.25); }
  .fc-detail__inner{ padding-bottom:96px; }
  .fc-jspec{ position:relative; max-height:none; } /* journey spec flows inline on small; keep simple */
}

/* ═══════════════════════════════════════════════════════════
   ITERATION 2 — hero CTA glow · prime manual controls · flagship static brain
   ═══════════════════════════════════════════════════════════ */

/* Hero CTA: on hover it flips to black (site default). Add a yellow signal-glow
   so it stays visible on the black hero, plus a small lift. */
.fc-hero__cta .btn--yellow{ transition:transform var(--dur-base) var(--ease-out),
  box-shadow var(--dur-base) var(--ease-out), background var(--dur-base), color var(--dur-base); }
.fc-hero__cta .btn--yellow:hover{ transform:translateY(-2px);
  box-shadow:0 0 0 1.5px rgba(254,212,3,.55), 0 12px 36px rgba(254,212,3,.30); }
.fc-hero__cta .btn--yellow:active{ transform:translateY(0); }

/* Prime manual controls (previous / next / build a journey) */
.fc-prime__controls{ position:absolute; left:50%; bottom:clamp(24px,5vh,48px); transform:translateX(-50%);
  z-index:6; display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:center; width:min(92vw,640px); }
.fc-prime__nav{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.22); color:#fff;
  border-radius:999px; padding:11px 20px; cursor:pointer; font-family:var(--font-body); font-weight:600; font-size:13px;
  transition:background var(--dur-base), border-color var(--dur-base), opacity var(--dur-base); }
.fc-prime__nav:hover{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.42); }
.fc-prime__nav:disabled{ opacity:.28; pointer-events:none; }
.fc-prime__controls .btn--yellow{ margin-left:6px; }
@media (max-width:520px){ .fc-prime__controls .btn--yellow{ margin-left:0; width:100%; justify-content:center; } }

/* Flagship tile: static particle brain behind the content */
.fc-flag__brain{ position:absolute; inset:0; z-index:0; width:100%; height:100%; display:block;
  opacity:.6; pointer-events:none; }
@media (prefers-reduced-motion: reduce){ .fc-flag__brain{ opacity:.5; } }

/* ═══════════════════════════════════════════════════════════
   ITERATION 3 — research modal · applause · flagship buttons · detail extras
   ═══════════════════════════════════════════════════════════ */

/* Flagship tile is now a static panel with two real buttons */
.fc-flag{ cursor:default; }
.fc-flag__spine{ border:none; cursor:pointer; font-family:var(--font-body); font-weight:600; font-size:11px;
  display:inline-flex; align-items:center; transition:filter var(--dur-base); }
.fc-flag__spine:hover{ filter:brightness(.9); }
.fc-flag__actions{ margin-top:auto; padding-top:30px; display:flex; gap:12px; flex-wrap:wrap; position:relative; z-index:2; }

/* Detail: what-your-team-walks-away-with list */
.fc-walk{ margin:12px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px; }
.fc-walk li{ position:relative; padding-left:22px; font-family:var(--font-body); font-weight:400; font-size:14.5px; line-height:1.5; color:var(--fg-2); }
.fc-walk li::before{ content:""; position:absolute; left:0; top:9px; width:8px; height:8px; border-radius:999px; background:var(--accent); }

/* Peer-reviewed spine — research carousel */
.fc-research{ position:fixed; inset:0; z-index:2100; background:rgba(20,20,20,.94); backdrop-filter:blur(6px);
  display:none; align-items:center; justify-content:center; padding:32px; overflow-y:auto; }
.fc-research.is-on{ display:flex; }
.fc-research__close{ position:absolute; top:22px; right:26px; width:44px; height:44px; border-radius:999px; border:none; cursor:pointer;
  background:rgba(255,255,255,.1); color:#fff; font-size:16px; display:grid; place-items:center; transition:background var(--dur-base); }
.fc-research__close:hover{ background:var(--accent); color:var(--aw-black); }
.fc-research__inner{ width:min(680px,100%); text-align:left; }
.fc-research__eyebrow{ font-family:var(--font-body); font-weight:600; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--accent); margin-bottom:18px; }
.fc-research__card{ background:#171717; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-lg); padding:32px 34px 30px; }
.fc-research__claim{ font-family:var(--font-body); font-weight:600; text-transform:none; font-size:clamp(18px,2vw,23px); line-height:1.35; color:#fff; margin:0; }
.fc-research__detail{ font-family:var(--font-body); font-weight:400; font-size:14.5px; line-height:1.6; color:rgba(255,255,255,.82); margin:14px 0 0; }
.fc-research__also{ font-family:var(--font-body); font-weight:400; font-style:italic; font-size:13px; line-height:1.5; color:rgba(255,255,255,.6); margin:12px 0 0; }
.fc-research__src{ font-family:var(--font-body); font-weight:500; font-size:13px; color:rgba(255,255,255,.62); margin-top:16px; }
.fc-research__link{ display:inline-flex; align-items:center; gap:6px; margin-top:16px; padding:10px 18px; border-radius:999px;
  background:var(--accent); color:var(--aw-black); font-family:var(--font-body); font-weight:600; font-size:13px; text-decoration:none;
  transition:transform var(--dur-base), box-shadow var(--dur-base); }
.fc-research__link:hover{ transform:translateY(-1px); box-shadow:var(--shadow-yellow); }
.fc-research__foot{ display:flex; align-items:center; justify-content:space-between; margin-top:22px; gap:16px; flex-wrap:wrap; }
.fc-research__nav{ display:flex; gap:10px; }
.fc-research__count{ font-family:var(--font-body); font-weight:600; font-size:13px; color:rgba(255,255,255,.5); }
.fc-research__note{ font-family:var(--font-body); font-weight:400; font-size:12px; color:rgba(255,255,255,.4); margin-top:18px; line-height:1.5; }

/* Builder applause toast */
.fc-applause{ position:fixed; left:50%; bottom:26px; transform:translateX(-50%) translateY(12px);
  z-index:1500; background:var(--aw-black); color:#fff; border-radius:999px; padding:12px 24px;
  font-family:var(--font-display); font-weight:700; text-transform:none; font-size:15px; letter-spacing:.01em;
  box-shadow:var(--shadow-3), 0 0 0 1.5px rgba(254,212,3,.5); opacity:0; pointer-events:none;
  transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out); white-space:nowrap; max-width:92vw; }
.fc-applause.show{ opacity:1; transform:translateX(-50%) translateY(0); }
@media (prefers-reduced-motion: reduce){ .fc-applause{ transition:opacity var(--dur-base); } }
