/* =========================================================================
   hub-blocks.css, CLUSTER HUB block styles (a distinct page class from LPs).
   Reuses LP tokens + the lp-hero shell; adds the hub-specific blocks:
   the sub-need grid (the defining block), the measure→re-measure roadmap,
   and the KB/Tracker cross-link backbone. Semantic tokens only · re-skins
   with data-temp. Class prefix: hub-
   ========================================================================= */

/* ===================== SUB-NEED GRID (the defining hub block) ===================== */
.hub-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(248px,1fr)); gap:var(--sp-4); }

/* Balanced 5-card layout: 3 cards over 2, both rows justified full-width
   (no orphan cells). 6-col base; row 1 = three span-2 cards, row 2 = two span-3. */
.hub-grid--balance5{ grid-template-columns:repeat(6, 1fr); align-items:stretch; }
.hub-grid--balance5 > *{ grid-column:span 2; }
.hub-grid--balance5 > *:nth-child(4),
.hub-grid--balance5 > *:nth-child(5){ grid-column:span 3; }
@media(max-width:900px){
  .hub-grid--balance5{ grid-template-columns:repeat(2, 1fr); }
  .hub-grid--balance5 > *{ grid-column:span 1; }
  .hub-grid--balance5 > *:nth-child(5){ grid-column:span 2; }
}
@media(max-width:560px){
  .hub-grid--balance5{ grid-template-columns:1fr; }
  .hub-grid--balance5 > *,
  .hub-grid--balance5 > *:nth-child(5){ grid-column:span 1; }
}
.hub-card{ position:relative; display:flex; flex-direction:column; gap:var(--sp-4);
  padding:var(--sp-8); border-radius:var(--r-md); background:linear-gradient(180deg, rgba(var(--glow-rgb),.14), rgba(var(--glow-rgb),.05));
  border:1px solid var(--border-on-dark); overflow:hidden;
  transition:border-color var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out); }
.hub-card--img{ padding-top:0; }
.hub-card__media{ display:block; margin:0 calc(var(--sp-8) * -1) var(--sp-2); overflow:hidden; position:relative; }
.hub-card__media img{ display:block; width:100%; height:auto; transition:transform var(--dur-slow) var(--ease-out); }
.hub-card--img:hover .hub-card__media img{ transform:scale(1.05); }
.hub-card__media::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, transparent 50%, color-mix(in srgb, var(--bg-dark) 70%, transparent) 100%); }
.hub-card::after{ content:""; position:absolute; inset:0; pointer-events:none; opacity:0;
  background:radial-gradient(120% 80% at 100% 0%, rgba(var(--glow-rgb),.12), transparent 60%);
  transition:opacity var(--dur-base) var(--ease-out); }
.hub-card:hover{ border-color:rgba(var(--glow-rgb),.6); background:linear-gradient(180deg, rgba(var(--glow-rgb),.2), rgba(var(--glow-rgb),.08)); transform:translateY(-5px); box-shadow:0 22px 50px -20px rgba(0,0,0,.65), 0 0 0 1px rgba(var(--glow-rgb),.2); }
.hub-card:hover::after{ opacity:1; }
.hub-card__icon{ display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px;
  border-radius:var(--r-md); background:var(--accent-soft); color:var(--accent-hover);
  border:1px solid var(--border-on-dark); }
.hub-card__body{ display:flex; flex-direction:column; gap:var(--sp-2); flex:1; }
.hub-card__title{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-20);
  color:var(--fg-on-dark-1); margin:0; }
.hub-card__you{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-14);
  line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); margin:0; }
.hub-card__cta{ display:inline-flex; align-items:center; gap:var(--sp-2); margin-top:var(--sp-1);
  font-family:var(--font-heading); font-weight:600; font-size:11px; letter-spacing:var(--tracking-wide);
  text-transform:uppercase; color:var(--accent-hover); }
.hub-card__cta span{ transition:transform var(--dur-base) var(--ease-out); }
.hub-card:hover .hub-card__cta span{ transform:translateX(4px); }

/* "Coming next" waitlist cards: visually subordinate, compliance-clean (no price/Buy) */
.hub-grid--soft{ max-width:840px; }
.hub-card--wait{ background:rgba(255,255,255,.02); border-style:dashed; border-color:var(--border-on-dark); }
.hub-card--wait::after{ display:none; }
.hub-card--wait:hover{ background:rgba(255,255,255,.035); border-color:rgba(var(--glow-rgb),.4); transform:translateY(-3px);
  box-shadow:0 14px 36px -22px rgba(0,0,0,.6); }
.hub-card--wait .hub-card__icon{ background:rgba(255,255,255,.04); color:var(--fg-on-dark-3); }
.hub-card--wait .hub-card__cta{ color:var(--fg-on-dark-2); }
.hub-card__flag{ align-self:flex-start; font-family:var(--font-heading); font-weight:600; font-size:10px;
  letter-spacing:var(--tracking-wide); text-transform:uppercase; color:var(--status-warning, #E0B25A);
  border:1px solid color-mix(in srgb, var(--status-warning, #E0B25A) 40%, transparent); border-radius:var(--r-pill);
  padding:4px 10px; }
/* "Start here" primary door: the lowest-commitment, highest-converting entry
   gets an accent flag + ring so it's the path of least resistance (Hick's Law). */
.hub-card__flag--start{ position:absolute; top:var(--sp-5); left:var(--sp-5); z-index:2; margin:0;
  color:var(--accent-hover); border-color:rgba(var(--glow-rgb),.55);
  background:color-mix(in srgb, var(--bg-dark) 60%, transparent); backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px); }
.hub-card--feature{ border-color:rgba(var(--glow-rgb),.5);
  box-shadow:0 0 0 1px rgba(var(--glow-rgb),.25), 0 18px 44px -24px rgba(0,0,0,.6); }
.hub-card--feature .hub-card__icon{ background:var(--accent); color:#fff; border-color:transparent; }

/* "live vs coming" legend at the grid header (vaporware objection, answered early) */
.hub-grid__legend{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:var(--sp-2) var(--sp-6); margin:0 0 var(--sp-7); }
.hub-grid__legend-item{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-13);
  letter-spacing:.01em; color:var(--fg-on-dark-2); }

/* Inline early-capture rail: intercept the warm lead before the long comparison */
.hub-caprail{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:var(--sp-5) var(--sp-8); padding:var(--sp-7) var(--sp-8); border-radius:var(--r-md);
  border:1px solid var(--border-on-dark-strong);
  background:linear-gradient(180deg, rgba(var(--glow-rgb),.13), rgba(var(--glow-rgb),.045)); }
.hub-caprail__copy{ display:flex; flex-direction:column; gap:var(--sp-1); flex:1 1 300px; min-width:min(100%, 260px); }
.hub-caprail__h{ margin:0; font-family:var(--font-heading); font-weight:500; font-size:var(--fs-20);
  color:var(--fg-on-dark-1); letter-spacing:var(--tracking-tight); }
.hub-caprail__sub{ margin:0; font-family:var(--font-body); font-weight:300; font-size:var(--fs-13);
  color:var(--fg-on-dark-2); }
.hub-caprail__form{ display:flex; gap:var(--sp-2); flex:1 1 380px; min-width:min(100%, 260px); }
.hub-caprail__form .nam-router__input{ flex:1; }
.hub-caprail__form .nam-btn{ white-space:nowrap; }

/* Two-door card: one sub-need, two routes (e.g. full-dose vs microdose). Not
   wrapped in a single <a>, each route is its own link. */
.hub-grid--quad{ grid-template-columns:repeat(2, minmax(0,1fr)); align-items:stretch; }
@media(min-width:1080px){
  .hub-grid--quad{ grid-template-columns:repeat(4, minmax(0,1fr)); }
  /* Waitlist doors fold into the grid as a paired 5th/6th row, each spans 2 of 4
     columns so the pair fills the row flush instead of orphaning on the left. */
  .hub-grid--quad .hub-card--wait{ grid-column:span 2; }
}
@media(max-width:560px){ .hub-grid--quad{ grid-template-columns:1fr; } }
/* Uniform card images so every door's photo, icon row, title and CTA line up across the row */
.hub-grid--quad .hub-card__media img{ aspect-ratio:16 / 10; height:auto; object-fit:cover; }
/* Trio variant: a balanced 3-up of doors with uniform 16:10 card images. */
.hub-grid--trio{ grid-template-columns:repeat(2, minmax(0,1fr)); align-items:stretch; }
@media(min-width:1000px){ .hub-grid--trio{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media(max-width:560px){ .hub-grid--trio{ grid-template-columns:1fr; } }
.hub-grid--trio .hub-card__media img{ aspect-ratio:16 / 10; height:auto; object-fit:cover; }
.hub-card--multi{ cursor:default; }
.hub-card--multi:hover{ transform:none; }
.hub-card__routes{ display:flex; flex-direction:column; gap:var(--sp-2); margin-top:var(--sp-2); }
.hub-card__route{ display:flex; flex-direction:column; gap:3px;
  padding:var(--sp-4) var(--sp-5); border-radius:var(--r-sm); background:rgba(255,255,255,.03);
  border:1px solid var(--border-on-dark); text-decoration:none; transition:background .15s, border-color .15s, transform .15s; }
.hub-card__route:hover{ background:rgba(var(--glow-rgb),.07); border-color:rgba(var(--glow-rgb),.45); transform:translateX(3px); }
.hub-card__route-label{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-13); line-height:1.35; color:var(--fg-on-dark-2); }
.hub-card__route-cta{ display:inline-flex; align-items:center; gap:6px; font-family:var(--font-heading); font-weight:600;
  font-size:11px; letter-spacing:var(--tracking-wide); text-transform:uppercase; color:var(--accent-hover); }
.hub-card__route-cta span{ transition:transform .15s; }
.hub-card__route:hover .hub-card__route-cta span{ transform:translateX(3px); }


/* ===================== NEED-LINE STORY · the measure→re-measure roadmap ===================== */
.hub-road{ display:flex; align-items:stretch; gap:0; }
.hub-road__node{ flex:1; position:relative; padding:var(--sp-8) var(--sp-6); border-radius:var(--r-md);
  background:linear-gradient(180deg, rgba(var(--glow-rgb),.13), rgba(var(--glow-rgb),.045)); border:1px solid var(--border-on-dark);
  display:flex; flex-direction:column; gap:var(--sp-2); }
.hub-road__node--loop{ background:var(--accent-soft); border-color:var(--border-on-dark-strong); box-shadow:var(--glow-sm); }
.hub-road__tag{ font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-hover); }
.hub-road__name{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-24); color:var(--fg-on-dark-1); margin:var(--sp-1) 0 0; letter-spacing:var(--tracking-tight); }
.hub-road__desc{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-14); line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); margin:0; }
.hub-road__link{ align-self:center; color:var(--accent-hover); font-size:18px; padding:0 var(--sp-4); flex-shrink:0; }
.hub-road__closer{ margin:var(--sp-10) 0 0; max-width:66ch; }
.hub-road__closer .nam-em{ font-size:var(--fs-20); line-height:1.5; }
@media(max-width:880px){ .hub-road{ flex-direction:column; gap:var(--sp-3); }
  .hub-road__link{ transform:rotate(90deg); padding:var(--sp-1) 0; } }

/* ===================== KB + TRACKER CROSS-LINKS (the internal-linking backbone) ===================== */
.hub-links{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:var(--sp-4); }
.hub-links__card{ position:relative; display:flex; flex-direction:column; gap:var(--sp-2);
  padding:var(--sp-8) var(--sp-8) var(--sp-10); border-radius:var(--r-md);
  background:var(--bg-dark-card); border:1px solid var(--border-on-dark);
  transition:border-color var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out); }
.hub-links__card:hover{ border-color:var(--border-on-dark-strong); background:var(--bg-dark-elev); }
.hub-links__icon{ display:inline-flex; color:var(--accent-hover); margin-bottom:var(--sp-2); }
.hub-links__t{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-18); color:var(--fg-on-dark-1); }
.hub-links__d{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-13); line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); }
.hub-links__arrow{ position:absolute; right:var(--sp-8); bottom:var(--sp-6); color:var(--accent-hover); font-size:16px;
  transition:transform var(--dur-base) var(--ease-out); }
.hub-links__card:hover .hub-links__arrow{ transform:translateX(4px); }

/* ===================== BPC-157 vs TB-500 COMPARISON (GEO-prize module) ===================== */
.hub-compare{ border:1px solid var(--border-on-dark); border-radius:var(--r-lg); overflow:hidden; background:var(--bg-dark-card); }
.hub-compare__cards{ display:grid; grid-template-columns:1fr auto 1fr; align-items:stretch; }
.hub-compare__card{ padding:var(--sp-10) var(--sp-10) var(--sp-8); display:flex; flex-direction:column; gap:var(--sp-5); }
.hub-compare__card:first-child{ border-right:1px solid var(--border-on-dark); }
.hub-compare__card:last-child{ border-left:1px solid var(--border-on-dark); }
.hub-compare__head{ display:flex; flex-direction:column; gap:var(--sp-1); }
.hub-compare__name{ font-family:var(--font-heading); font-weight:300; font-size:var(--fs-32); color:var(--fg-on-dark-1); letter-spacing:var(--tracking-tight); }
.hub-compare__tag{ font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-hover); }
.hub-compare__row{ display:flex; flex-direction:column; gap:6px; }
.hub-compare__k{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--fg-on-dark-3); }
.hub-compare__v{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-14); line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); margin:0; }
.hub-compare__row--caution .hub-compare__k{ color:var(--status-warning); }
.hub-compare__row--caution .hub-compare__v{ color:var(--fg-on-dark-1); }
.hub-compare__plus{ display:flex; align-items:center; justify-content:center; padding:0 var(--sp-2);
  font-family:var(--font-heading); font-weight:200; font-size:var(--fs-32); color:var(--accent-hover); }
.hub-compare__pairing{ padding:var(--sp-8) var(--sp-10); border-top:1px solid var(--border-on-dark);
  background:var(--accent-soft); display:flex; flex-direction:column; gap:var(--sp-2); }
.hub-compare__pairing-h{ font-family:var(--font-heading); font-weight:600; font-size:11px; letter-spacing:var(--tracking-wide); text-transform:uppercase; color:var(--accent-hover); }
.hub-compare__pairing-p{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-15); line-height:var(--lh-relaxed); color:var(--fg-on-dark-1); margin:0; max-width:88ch; }
@media(max-width:860px){
  .hub-compare__cards{ grid-template-columns:1fr; }
  .hub-compare__card:first-child{ border-right:0; border-bottom:1px solid var(--border-on-dark); }
  .hub-compare__card:last-child{ border-left:0; }
  .hub-compare__plus{ padding:var(--sp-3) 0; } }

/* ===================== EMBEDDED FDA TRACKER STATUS ROW (recovery hub) ===================== */
.hub-status{ border:1px solid var(--border-on-dark); border-radius:var(--r-lg); overflow:hidden; background:var(--bg-dark-card); }
.hub-status__row{ display:grid; grid-template-columns:auto 1.5fr auto auto; gap:var(--sp-6); align-items:center;
  padding:var(--sp-6) var(--sp-10); border-bottom:1px solid var(--border-on-dark); }
.hub-status__row:last-of-type{ border-bottom:0; }
.hub-status__name{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-20); color:var(--fg-on-dark-1); letter-spacing:var(--tracking-tight); min-width:120px; }
.hub-status__pills{ display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap; }
.hub-status__pill{ font-family:var(--font-heading); font-weight:600; font-size:11px; letter-spacing:var(--tracking-wide);
  text-transform:uppercase; padding:6px 13px; border-radius:var(--r-pill); white-space:nowrap; }
.hub-status__pill--review{ background:rgba(212,162,74,.16); color:var(--status-warning); border:1px solid rgba(212,162,74,.4); }
.hub-status__pill--muted{ background:rgba(255,255,255,.04); color:var(--fg-on-dark-3); border:1px solid var(--border-on-dark); font-weight:400; text-transform:none; letter-spacing:.01em; }
.hub-status__verdict{ display:inline-flex; align-items:center; gap:var(--sp-2); font-family:var(--font-heading);
  font-weight:500; font-size:11px; letter-spacing:var(--tracking-wide); text-transform:uppercase; color:var(--fg-on-dark-2); white-space:nowrap; }
.hub-status__dot{ width:9px; height:9px; border-radius:var(--r-pill); background:var(--status-warning); box-shadow:0 0 8px var(--status-warning); flex-shrink:0; }
.hub-status__link{ font-family:var(--font-heading); font-weight:600; font-size:11px; letter-spacing:var(--tracking-wide);
  text-transform:uppercase; color:var(--accent-hover); white-space:nowrap; display:inline-flex; align-items:center; gap:var(--sp-2); }
.hub-status__link span{ transition:transform var(--dur-base) var(--ease-out); }
.hub-status__link:hover span{ transform:translateX(4px); }
.hub-status__foot{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-6); flex-wrap:wrap;
  padding:var(--sp-6) var(--sp-10); background:rgba(255,255,255,.015); border-top:1px solid var(--border-on-dark); }
.hub-status__foot-k{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-14); color:var(--fg-on-dark-1); display:inline-flex; align-items:center; gap:var(--sp-3); }
.hub-status__foot-k b{ font-family:var(--font-mono); font-weight:400; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-hover); }
.hub-status__note{ font-family:var(--font-body); font-size:var(--fs-13); color:var(--fg-on-dark-3); margin:var(--sp-5) 0 0; max-width:70ch; line-height:var(--lh-relaxed); }
@media(max-width:860px){
  .hub-status__row{ grid-template-columns:1fr; gap:var(--sp-3); padding:var(--sp-6); }
  .hub-status__foot{ padding:var(--sp-6); } }

/* ===================== RESERVED STUB (/men) ===================== */
.men-pill{ display:inline-flex; align-items:center; gap:var(--sp-2); font-family:var(--font-heading); font-weight:600;
  font-size:11px; letter-spacing:var(--tracking-wide); text-transform:uppercase; color:var(--accent-hover);
  background:var(--accent-soft); border:1px solid var(--border-on-dark-strong); padding:7px 15px; border-radius:var(--r-pill); }

/* ===================== ROUTER CLOSE ===================== */
.hub-close__inner{ max-width:940px; }

/* ===================== FOUNDER BAND (warm break on the Dawn flagship) ===================== */
.nam-section--founder{ position:relative; overflow:hidden;
  background:
    radial-gradient(120% 90% at 12% 0%, rgba(var(--glow-rgb),.14), transparent 55%),
    radial-gradient(100% 90% at 100% 100%, rgba(var(--glow-rgb),.10), transparent 60%),
    var(--bg-dark-elev);
  border-top:1px solid var(--border-on-dark); border-bottom:1px solid var(--border-on-dark); }

/* ===================== STICKY SECONDARY CAPTURE (appears on scroll) ===================== */
.hub-sticky{ position:fixed; left:0; right:0; bottom:0; z-index:60;
  transform:translateY(120%); transition:transform var(--dur-slow) var(--ease-out);
  background:color-mix(in srgb, var(--bg-dark-elev) 92%, transparent); backdrop-filter:blur(14px);
  border-top:1px solid var(--border-on-dark-strong); box-shadow:0 -20px 60px rgba(0,0,0,.4); }
.hub-sticky.is-up{ transform:none; }
.hub-sticky__inner{ max-width:1100px; margin:0 auto; padding:var(--sp-4) var(--sp-12);
  display:flex; align-items:center; gap:var(--sp-6); flex-wrap:wrap; justify-content:space-between; }
.hub-sticky__msg{ font-family:var(--font-heading); font-weight:400; font-size:var(--fs-16); color:var(--fg-on-dark-1); }
.hub-sticky__form{ display:flex; gap:var(--sp-2); flex:1; min-width:280px; max-width:520px; }
.hub-sticky__form .nam-router__input{ flex:1; }
@media(max-width:640px){ .hub-sticky__inner{ padding:var(--sp-4) var(--sp-6); }
  .hub-sticky__msg{ flex:1 0 100%; font-size:var(--fs-14); } .hub-sticky__form{ max-width:none; } }

/* Primary-action sticky: the primary CTA leads, email demoted to secondary */
.hub-sticky--primary .hub-sticky__primary{ flex:0 0 auto; white-space:nowrap; }
.hub-sticky__form--mini{ flex:1; min-width:240px; max-width:520px; align-items:center; }
.hub-sticky__or{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-13);
  color:var(--fg-on-dark-3); white-space:nowrap; }
.hub-sticky__form--mini .nam-btn{ white-space:nowrap; }
@media(max-width:640px){
  .hub-sticky--primary .hub-sticky__inner{ flex-direction:column; align-items:stretch; gap:var(--sp-3); }
  .hub-sticky__primary{ width:100%; justify-content:center; }
  .hub-sticky__form--mini{ max-width:none; flex-wrap:wrap; }
  .hub-sticky__or{ flex:1 0 100%; text-align:center; }
}

/* ===================== HERO REASSURANCE CHIPS (risk-reversal at first contact) ===================== */
.lp-hero__reassure{ display:flex; flex-wrap:wrap; align-items:center; gap:var(--sp-2) var(--sp-5);
  margin-top:var(--sp-6); }
.lp-hero__reassure-item{ position:relative; font-family:var(--font-body); font-weight:300;
  font-size:var(--fs-14); color:var(--fg-on-dark-2); letter-spacing:.01em; }
.lp-hero__reassure-item + .lp-hero__reassure-item::before{ content:"·"; position:absolute;
  left:calc(var(--sp-5) * -.5); transform:translateX(-50%); color:var(--fg-on-dark-3); }

/* ===================== PROVENANCE STRIP (Cool, below the hero, the moat, leading) ===================== */
.hub-prov{ background:var(--bg-dark-elev); border-top:1px solid var(--border-on-dark);
  border-bottom:1px solid var(--border-on-dark); }
.hub-prov__inner{ max-width:1280px; margin:0 auto; padding:var(--sp-6) var(--sp-12); }
.hub-prov__row{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:var(--sp-3) var(--sp-6); }
.hub-prov__item{ position:relative; font-family:var(--font-heading); font-weight:500;
  font-size:var(--fs-14); color:var(--fg-on-dark-1); letter-spacing:.01em; padding-left:var(--sp-5); }
.hub-prov__item::before{ content:""; position:absolute; left:0; top:50%; width:7px; height:7px;
  margin-top:-3.5px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.hub-prov__sub{ margin:var(--sp-4) 0 0; text-align:center; font-family:var(--font-body);
  font-weight:300; font-size:var(--fs-13); color:var(--fg-on-dark-3); }
@media(max-width:640px){ .hub-prov__inner{ padding:var(--sp-5) var(--sp-6); }
  .hub-prov__row{ justify-content:flex-start; } }

/* ===================== EARLY PROOF BAR (grid seam) ===================== */
.hub-proofbar{ padding:var(--sp-10) var(--sp-12) var(--sp-2); }
.hub-proofbar__inner{ max-width:880px; margin:0 auto; display:flex; flex-direction:column;
  align-items:center; gap:var(--sp-4); text-align:center; }
.hub-proofbar__quote{ margin:0; font-family:var(--font-heading); font-weight:400;
  font-size:var(--fs-24); line-height:var(--lh-snug, 1.3); color:var(--fg-on-dark-1);
  text-wrap:balance; max-width:34ch; }
.hub-proofbar__meta{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:var(--sp-3) var(--sp-6); }
.hub-proofbar__who{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-14);
  color:var(--fg-on-dark-2); }
.hub-proofbar__rating{ display:inline-flex; align-items:center; gap:var(--sp-2);
  font-family:var(--font-heading); font-weight:600; font-size:var(--fs-13);
  letter-spacing:var(--tracking-wide); color:var(--fg-on-dark-1); }

/* ===================== UNDECIDED FAST-PATH (Hick's-Law default route) ===================== */
.hub-fastpath{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:var(--sp-3) var(--sp-6); margin:0 0 var(--sp-6); padding:var(--sp-5) var(--sp-8);
  border-radius:var(--r-md); border:1px solid var(--border-on-dark);
  background:linear-gradient(180deg, rgba(var(--glow-rgb),.1), rgba(var(--glow-rgb),.03));
  transition:border-color var(--dur-base) var(--ease-out), background var(--dur-base) var(--ease-out); }
.hub-fastpath:hover{ border-color:rgba(var(--glow-rgb),.55);
  background:linear-gradient(180deg, rgba(var(--glow-rgb),.16), rgba(var(--glow-rgb),.06)); }
.hub-fastpath__lead{ font-family:var(--font-heading); font-weight:400; font-size:var(--fs-18);
  color:var(--fg-on-dark-1); }
.hub-fastpath__lead b{ font-weight:600; }
.hub-fastpath__cta{ display:inline-flex; align-items:center; gap:var(--sp-2);
  font-family:var(--font-heading); font-weight:600; font-size:11px; letter-spacing:var(--tracking-wide);
  text-transform:uppercase; color:var(--accent-hover); white-space:nowrap; }
.hub-fastpath__cta span{ transition:transform var(--dur-base) var(--ease-out); }
.hub-fastpath:hover .hub-fastpath__cta span{ transform:translateX(4px); }

/* de-emphasized waitlist line, pulled out of the buy grid */
.hub-grid__footnote{ margin:var(--sp-8) 0 0; text-align:center; font-family:var(--font-body);
  font-weight:300; font-size:var(--fs-14); color:var(--fg-on-dark-3); }
.hub-grid__footnote .nam-arrow-link{ margin-left:var(--sp-2); }
