/* ============================================================
   SPACING RHYTHM LOCK (2026-09-04)
   Loaded last so it wins over feature stylesheets
   (traffic-engine, book, appt-pipeline, action-depth).
   ============================================================ */

section.block {
  padding: var(--section-y) 0;
}
.section-stack {
  gap: var(--stack-gap);
}
.section-head {
  display: grid;
  gap: var(--head-gap);
  margin: 0;
}
.section-head > .kicker,
.section-head > h2,
.section-head > .h2-signal,
.section-head > .lede,
.section-head > p {
  margin: 0;
}
.section-head--center {
  justify-items: center;
  /* Beat later/sibling `.section-head { margin: 0 }` so max-width heads actually center in the wrap */
  margin-inline: auto;
  margin-block: 0;
  width: 100%;
  max-width: 760px;
}
.section-head--center .lede {
  text-align: center;
}

#hero.hero--plain.hero--approved,
#hero.hero--approved {
  padding-top: var(--section-y);
  padding-bottom: var(--section-y-tight);
}
#hero.hero--approved .hero-actions {
  margin: 0 0 var(--space-2);
}
#hero.hero--approved .hero-built-for {
  margin: 0;
}

#audience-doors {
  padding-top: var(--section-y);
  padding-bottom: var(--section-y);
}
#audience-doors .section-stack {
  gap: clamp(18px, 2.2vw, 28px);
}
#audience-doors .section-head {
  gap: var(--head-gap);
  margin-bottom: 0;
}
#audience-doors .audience-doors {
  gap: clamp(16px, 2vw, 24px);
  align-items: stretch;
}
#audience-doors .audience-door {
  height: 100%;
  align-self: stretch;
}

#snapshot,
#content,
#orcho,
#results,
#os,
#choice {
  padding-top: var(--section-y);
  padding-bottom: var(--section-y);
}
#commands {
  padding-top: var(--section-y);
  padding-bottom: var(--section-y);
}
#commands .section-stack {
  gap: var(--stack-gap);
}
#book {
  padding-top: var(--section-y);
  padding-bottom: clamp(32px, 3.6vw, 48px);
}
#book .section-stack,
#choice .section-stack {
  gap: var(--stack-gap);
}

#content {
  padding-bottom: var(--section-y);
  background: #f7f9fb;
}
#content.block {
  padding: var(--section-y) 0 var(--section-y);
  background: #f7f9fb;
}
#content .content-details-below {
  display: flex;
  justify-content: flex-start;
  margin: 14px 0 0;
}
#content .reco-block--wide {
  margin-top: 8px;
  margin-bottom: 0;
}

#traffic {
  padding-top: var(--section-y);
  padding-bottom: var(--section-y-tight);
}
#traffic .feat-split--traffic,
#traffic .traffic-drive {
  padding-bottom: var(--section-y-tight);
}
#traffic .feat-split--network {
  padding-top: clamp(12px, 1.6vw, 24px);
  padding-bottom: clamp(16px, 2vw, 28px);
}
#traffic .traffic-drive-kicker {
  margin: 0 0 8px;
}
#traffic .traffic-drive-title {
  margin: 0 0 12px;
}
#traffic .traffic-beat-break {
  height: clamp(36px, 4vw, 56px);
  margin: 0;
  background: none;
}

.spine-bridge--traffic-network {
  grid-template-rows: auto minmax(2px, 0.4vw) auto;
  margin: 0;
}
.spine-bridge--traffic-network .spine-bridge-wave {
  height: clamp(8px, 1vw, 12px);
}
.spine-bridge--traffic-network .spine-bridge-band {
  min-height: clamp(2px, 0.4vw, 6px);
}

#network.leads-section {
  padding-top: var(--section-y-tight);
  padding-bottom: var(--section-y);
}
#network .irp-intro {
  gap: var(--head-gap);
}
#network .irp-intro .kicker,
#network .irp-intro h2,
#network .irp-intro .lede {
  margin: 0;
}
#network .irp-metrics-gear-copy {
  place-content: center;
  align-content: center;
  justify-items: center;
  transform: translateY(1px);
  line-height: 1.05;
}
#network .irp-metrics-gear-copy strong {
  display: block;
  line-height: 1;
}
#network .irp-metrics-gear-copy span {
  display: block;
  margin-top: 3px;
  line-height: 1;
}
#network .appt-pipeline {
  margin-top: clamp(18px, 2.2vw, 28px);
  gap: clamp(22px, 2.6vw, 32px);
}
#network .appt-pipeline-top {
  align-items: start;
}
#network .appt-pipeline-stage {
  align-items: stretch;
  gap: clamp(16px, 2vw, 24px);
}
#network .appt-board,
#network .appt-cal-card,
#network .appt-day-card {
  align-self: stretch;
  height: 100%;
}
#network .section-actions,
#network .section-actions--below {
  justify-content: flex-start;
  text-align: left;
}

/* Details CTAs: far left site-wide ? never centered */
.section-actions--below,
.section-actions.content-details-below,
#content .content-details-below,
#os .section-actions--below,
#snapshot .section-actions--below,
.section-head .section-actions,
.crm-command-intro .section-actions,
.network-subhead .section-actions,
.section-head--center .section-actions {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px;
  margin: var(--space-2) 0 0;
  text-align: left;
}
#orcho .phone-stage-copy .talk-scan-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  margin-top: auto;
}
#orcho .phone-stage-copy .talk-scan-actions-row {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  align-items: center;
  width: 100%;
}
#orcho .phone-stage-copy .talk-scan-actions-row .btn {
  flex: 1 1 0;
  min-width: 0;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
#orcho .talk-scan-details {
  justify-content: flex-start;
}

#choice .section-stack,
#book .section-stack {
  gap: var(--stack-gap);
}

/* ============================================================
   VISUAL SYSTEM LOCK (Slice C  2026-09-04)
   Section plates + radius/button convergence. Loaded last.
   ============================================================ */

/* Chapter plates ? define sections against the wavy field.
   Pattern: mist plate on copy-led chapters; light wash on product demos.
   Hero + commands stay transparent so atmosphere / character art read. */
#audience-doors,
#traffic,
#results,
#choice {
  background: #f7f9fb;
}
#network.leads-section,
#orcho,
#os {
  background: rgba(255, 255, 255, 0.58);
}
/* #content already plates via earlier rule; keep #book on its own wash in book.css */

/* Radius: large feature cards converge on --radius-card (14) */
#traffic .te-card,
#book .book-card,
.action-depth-card,
#network .appt-cal-card,
#network .appt-day-card,
#network .appt-board {
  border-radius: var(--radius-card);
}

/* Button scale: main CTAs share 44px; hero stays 48; tertiary stay compact */
main .btn {
  min-height: 44px;
  box-sizing: border-box;
}
main .btn.reco-read,
main .choice-card-toggle,
main .section-actions .btn:not(.btn-signal):not(.btn-gold):not(.btn-navy) {
  min-height: 36px;
  padding-top: 8px;
  padding-bottom: 8px;
}
#hero.hero--approved .hero-cta {
  min-height: 48px;
}

/* ============================================================
   FLAT FIELD + SECTION LINES (2026-09-04)
   Strip the wavy site background; separate chapters with hairlines.
   ============================================================ */

body,
body.home-approved-hero {
  background: #ffffff !important;
}

html {
  background: #ffffff;
}

.site-bg,
.bg-field,
.bg-gear,
.bg-floor,
.bg-grad,
.bg-clouds,
.bg-gears {
  display: none !important;
}

/* Hero decorative atmosphere rides the old field ? remove with it */
#hero .hero-atmosphere,
#hero .hero-atmosphere-wash,
#hero .hero-atmosphere-dots,
#hero .hero-atmosphere-gear,
#hero .hero-atmosphere-wave {
  display: none !important;
}

/* Kill cool blue cast: opaque header, no saturate boost */
body.home-approved-hero .site-header,
.site-header {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Paper plane: no ambient blue glow reading as a full-screen filter */
body.home-approved-hero {
  --glow-blue: 0 10px 24px -16px rgba(12, 27, 42, 0.14);
  --glow-gold: 0 10px 24px -16px rgba(12, 27, 42, 0.12);
  --card-shadow: 0 12px 28px -16px rgba(12, 27, 42, 0.18);
}

body.home-approved-hero #hero,
body.home-approved-hero #choice,
body.home-approved-hero main {
  background: #ffffff !important;
}

body.home-approved-hero #hero .hero-card.lit-blue {
  box-shadow: var(--card-shadow) !important;
}
body.home-approved-hero #choice .choice-duo-card--stack {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Drop mist/wash plates that only existed to read over the field */
#audience-doors,
#traffic,
#results,
#choice,
#content,
#content.block,
#network.leads-section,
#orcho,
#os,
#commands,
#book {
  background: transparent !important;
}

#book::before {
  display: none !important;
}

/* Hairline between chapters */
main > section {
  border-top: 1px solid var(--hairline, #e3e8ee);
}
main > section:first-child,
main > #hero {
  border-top: none;
}
/* Hidden snapshot should not reserve a separator when closed */
#snapshot.snapshot-results {
  border-top: none;
}
#snapshot.snapshot-results:has(#lookup-result:not(.is-wait)) {
  border-top: 1px solid var(--hairline, #e3e8ee);
}

/* ============================================================
   SPACING / RATIO UNIFORMITY LOCK (2026-09-04)
   Equal section padding, stack gaps, radii, CTA heights.
   ============================================================ */

/* 1) Section vertical beat ? same pad top + bottom everywhere */
#hero.hero--plain.hero--approved,
#hero.hero--approved,
#audience-doors,
#snapshot,
#content,
#content.block,
#traffic,
#network.leads-section,
#orcho,
#commands,
#results,
#os,
#choice,
#book,
section.block {
  padding-top: var(--section-y) !important;
  padding-bottom: var(--section-y) !important;
}

/* Kill asymmetric traffic / network / book overrides */
#traffic .feat-split--traffic,
#traffic .traffic-drive,
#traffic .feat-split--network {
  padding-top: 0;
  padding-bottom: 0;
}
#traffic .traffic-beat-break {
  height: var(--stack-gap);
  margin: var(--stack-gap) 0;
}

/* 2) Stack gaps ? one rhythm */
.section-stack,
#audience-doors .section-stack,
#content .section-stack,
#commands .section-stack,
#choice .section-stack,
#book .section-stack,
#orcho .section-stack,
#results .section-stack,
#os .section-stack,
#network .section-stack {
  gap: var(--stack-gap) !important;
}
#audience-doors .audience-doors {
  gap: var(--stack-gap) !important;
}
#network .appt-pipeline {
  margin-top: var(--stack-gap);
  gap: var(--stack-gap);
}
#network .appt-pipeline-stage {
  gap: var(--stack-gap);
}

/* 3) Radii ? cards 14, controls 10 */
.hero-card,
.hero-card--lookup,
#hero .hero-card {
  border-radius: var(--radius-card) !important;
}
.btn,
.btn-gold,
.btn-signal,
.btn-navy,
a.btn,
button.btn {
  border-radius: var(--radius) !important;
}

/* 4) CTA heights ? hero 48, primary 44, tertiary 36 */
main .btn,
main a.btn,
main button.btn {
  min-height: 44px;
  box-sizing: border-box;
}
#hero.hero--approved .hero-cta,
#hero .hero-cta {
  min-height: 48px !important;
}
main .btn.reco-read,
main .choice-card-toggle {
  min-height: 36px;
}
#hero .hl-run,
#hero .btn.hl-run,
main .t1-signup-btn,
main .btn.t1-signup-btn {
  min-height: 44px !important;
  height: auto;
}

/* 5) Card padding rhythm ? shared inset on peer cards */
.audience-door {
  padding: 20px 22px !important;
}
.case-float.lit-blue,
.case-float.lit-gold,
.case-float {
  padding: 18px 20px 16px !important;
}
.path-step {
  padding: 22px 24px !important;
}
.choice-duo-card {
  padding: 28px !important;
}
.book-card {
  padding: 28px !important;
}

/* 6) Head gap already tokenized ? force intro stacks too */
.section-head,
#network .irp-intro,
#orcho .section-intro,
.crm-command-intro,
.network-subhead {
  gap: var(--head-gap) !important;
}

/* ============================================================
   TYPE + COLOR LOCK (2026-09-04)
   One coding for headers, kickers, ledes, accents site-wide.
   ============================================================ */

/* Section titles ? navy / h2 scale / 800 */
main h2,
main .h2-signal,
main .path-step-title,
main .traffic-drive-title,
main .book-card-title,
main .book-after-title,
#network .irp-intro h2,
#orcho .section-intro h2 {
  font-family: var(--font) !important;
  font-size: var(--text-h2) !important;
  font-weight: 800 !important;
  line-height: var(--lh-head) !important;
  letter-spacing: var(--track-head) !important;
  color: var(--navy) !important;
}

/* Accent phrase inside section titles ? NASDAQ blue (no green text) */
main h2 .hl-green,
main .h2-signal .hl-green,
main .traffic-drive-title .hl-green,
main .path-step-title .path-step-sub,
main .path-step-sub,
main .talk-heading-dark,
#orcho .talk-heading-dark {
  color: var(--nasdaq, #0092BC) !important;
  font-weight: inherit !important;
  font-size: inherit !important;
  letter-spacing: inherit !important;
  line-height: inherit !important;
}

/* Brand slash stays signal blue (wordmark convention) */
main h2 .slash,
.wordmark .slash,
.brand .slash {
  color: var(--signal) !important;
}

/* Kickers ? one recipe everywhere */
main .kicker,
main .traffic-drive-kicker,
main .snap-results-kicker,
#network .irp-intro .kicker,
#commands .kicker,
#results .kicker,
#os .kicker,
#os .fold-bar .kicker,
#content .kicker,
#orcho .section-intro .kicker,
.choice-duo-head .kicker,
.network-subhead .kicker,
.crm-command-intro .kicker {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  font-family: var(--font) !important;
  font-size: var(--text-kicker) !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  line-height: 1.55 !important;
  color: var(--navy) !important;
  margin: 0 !important;
}

/* Supporting ledes under section heads */
main .section-head > .lede,
main .section-head > .lede--tight,
main .section-intro > .lede,
main .irp-intro > .lede,
main .network-subhead > .lede,
main .crm-command-intro > .lede,
#orcho .section-intro .lede,
#os .how-copy > .lede,
#commands .section-head .lede,
#results .section-head .lede,
#audience-doors .section-head .lede {
  font-family: var(--font) !important;
  font-size: var(--text-lede) !important;
  font-weight: 400 !important;
  line-height: var(--lh-body) !important;
  letter-spacing: normal !important;
  color: var(--muted) !important;
}

/* Hero type lock */
#hero.hero--approved h1 {
  font-family: var(--font) !important;
  font-size: var(--text-h1) !important;
  font-weight: 800 !important;
  color: var(--navy) !important;
  line-height: var(--lh-head) !important;
  letter-spacing: var(--track-head) !important;
}
#hero.hero--approved .hero-tagline {
  font-family: var(--font) !important;
  font-size: var(--text-h3) !important;
  font-weight: 800 !important;
  color: var(--signal) !important;
  line-height: var(--lh-head) !important;
}
#hero.hero--approved .hero-lede,
#hero.hero--approved .hero-copy > .lede {
  font-family: var(--font) !important;
  font-size: var(--text-lede) !important;
  font-weight: 400 !important;
  color: var(--ink) !important;
  line-height: var(--lh-body) !important;
}
#hero.hero--approved .hero-built-for {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--muted) !important;
}

/* Card / peer titles ? navy, consistent weight */
.audience-door strong,
.reco-title,
.case-float-ticker,
.te-card-title,
.choice-duo-head strong,
.choice-duo-head h3,
.book-card-title {
  color: var(--navy) !important;
  font-weight: 800 !important;
  font-family: var(--font) !important;
}

/* Choice duo titles (not kickers) */
.choice-duo-head {
  color: var(--navy) !important;
}
.choice-duo-body {
  color: var(--muted) !important;
  font-size: var(--text-body) !important;
  font-weight: 400 !important;
}

/* Body copy default inside sections */
main section.block p:not(.kicker):not(.hero-tagline):not(.hero-built-for):not(.star-note) {
  font-family: var(--font);
}

/* Versus hook ? two-column numbered statement */
#choice .versus-hook,
.versus-hook {
  font-family: var(--font) !important;
}
#choice .versus-hook-lead,
.versus-hook-lead {
  color: var(--navy) !important;
  font-weight: 800 !important;
  font-size: clamp(34px, 4vw, 48px) !important;
  line-height: 1.05 !important;
}
#choice .versus-hook-num,
.versus-hook-num {
  font-size: clamp(42px, 5vw, 64px) !important;
  line-height: 0.9 !important;
  font-weight: 700 !important;
}
#choice .versus-hook-choice--1 .versus-hook-num,
.versus-hook-choice--1 .versus-hook-num {
  color: color-mix(in srgb, var(--nasdaq, #0092BC) 42%, #c5d7e6) !important;
}
#choice .versus-hook-choice--2 .versus-hook-num,
.versus-hook-choice--2 .versus-hook-num {
  color: var(--gold, #F5B547) !important;
}
#choice .versus-hook-primary,
.versus-hook-primary {
  font-size: clamp(24px, 2.8vw, 36px) !important;
  line-height: 1.1 !important;
  font-weight: 800 !important;
}
#choice .versus-hook-choice--1 .versus-hook-primary,
.versus-hook-choice--1 .versus-hook-primary {
  color: var(--navy) !important;
}
#choice .versus-hook-choice--2 .versus-hook-primary,
.versus-hook-choice--2 .versus-hook-primary {
  color: var(--nasdaq, #0092BC) !important;
}
#choice .versus-hook-and,
.versus-hook-and {
  font-size: clamp(18px, 2vw, 24px) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}
#choice .versus-hook-choice--1 .versus-hook-and,
.versus-hook-choice--1 .versus-hook-and {
  color: color-mix(in srgb, var(--nasdaq, #0092BC) 55%, #8aa4b8) !important;
}
#choice .versus-hook-choice--2 .versus-hook-and,
.versus-hook-choice--2 .versus-hook-and {
  color: var(--navy) !important;
}

/* ============================================================
   NASDAQ TEXT LOCK ? no green text on the marketing site
   Accent / positive / highlight copy ? #0092BC
   ============================================================ */
:root {
  --nasdaq: #0092BC;
  --accent-text: #0092BC;
}

/* Core accent classes */
main .hl-green,
main .h2-signal .hl-green,
main .talk-heading-dark,
main .path-step-sub,
main .path-step-title .path-step-sub,
main .traffic-drive-title .hl-green,
main .traffic-lift-result .hl-green,
main .id-story-meta .hl-green,
main .up,
main b.up,
main .snap-ch.up,
main .score-lab, /* keep SCORE label? might be navy elsewhere - skip */
#book .book-lede-accent,
#book .book-lede-star,
#choice .hl-green,
#choice h3 .hl-green,
#orcho .talk-heading-dark {
  color: var(--nasdaq) !important;
}

/* Positive metrics / KPI copy that was green text */
main .updates-metric--pos b,
main .pipe-stage--won b,
main .network-campaign-metric--pos b,
main .crm-engagement p strong,
main .case-report-market-kpis b.up,
main .action-depth-stat--sources strong,
main .action-depth-step--read,
main .action-depth-step--assign,
main .action-depth-connector--green,
#network .appt-kpi--up .appt-kpi-copy b,
#traffic .traffic-lift-result--beat .hl-green {
  color: var(--nasdaq) !important;
}

/* Align signal text accents to the same NASDAQ blue so highlight blues match */
main a:not(.btn):not(.btn-gold):not(.btn-signal):not(.btn-navy),
main .hero-tagline,
.wordmark .slash,
.brand .slash,
main h2 .slash {
  color: var(--nasdaq) !important;
}

/* Explicit: any leftover green text tokens in feature sheets */
main [style*="color: var(--up)"],
main [style*="color:#0fa958"],
main [style*="color: #0fa958"] {
  color: var(--nasdaq) !important;
}

/* Homepage signal token ? NASDAQ so buttons/links share one blue */
body.home-approved-hero {
  --signal: #0092BC;
  --bright: #0092BC;
}

/* Remaining green *text* chips / labels / deltas ? NASDAQ */
main .score-lab,
main .hl-ring-lab,
main .te-card-live,
main .id-story-score,
main .is-up,
main em.is-up,
main .crm-status--engaged,
main .appt-live-chip,
main .case-float-lift,
main .action-depth-orcho,
main .phone .is-up,
main .phone [class*='live'],
main .cmd-stage [class*='live'],
main .appt-kpi-copy b,
main .crm-status,
main .pipe-stage b,
main .updates-metric b {
  color: var(--nasdaq, #0092BC) !important;
}

/* Choice kickers stay navy (labels), not accent */
#choice .choice-duo-head .kicker,
#choice .kicker {
  color: var(--navy) !important;
}

/* Remaining green *text* chips / labels / deltas ? NASDAQ */
main .score-lab,
main .hl-ring-lab,
main .te-card-live,
main .id-story-score,
main .is-up,
main em.is-up,
main .crm-status--engaged,
main .appt-live-chip,
main .case-float-lift,
main .action-depth-orcho,
main .phone-live,
main .phone .phone-live,
main #network .appt-kpi--up .appt-kpi-copy b,
main .updates-metric--pos b,
main .pipe-stage--won b,
main .network-campaign-metric--pos b {
  color: var(--nasdaq, #0092BC) !important;
}

/* Choice kickers stay navy (labels), not accent */
#choice .choice-duo-head .kicker,
#choice .kicker {
  color: var(--navy) !important;
}

/* Force score / focus score labels off green */
main .score-lab,
main .hl-ring-lab,
main .score-ring-copy .score-lab,
main .hl-ring-copy .hl-ring-lab,
#hero .score-lab,
#hero .hl-ring-lab,
.score-lab.hl-ring-lab,
main .appt-focus-score b,
main .appt-focus-score,
#network .appt-focus-score b {
  color: var(--nasdaq, #0092BC) !important;
}

/* ============================================================
   SECTION TITLE SIZE LOCK (2026-09-04)
   Primary section titles = --text-h2 (40px)
   Secondary titles = --text-h3 (28px)
   ============================================================ */

/* Primary chapter titles ? one size */
main > section h2,
main h2.h2-signal,
main .path-step-title,
main .traffic-drive-title,
main .book-card-title,
main .book-after-title,
#network .irp-intro h2,
#orcho .section-intro h2 {
  font-size: var(--text-h2) !important;
  line-height: var(--lh-head) !important;
  letter-spacing: var(--track-head) !important;
  font-weight: 800 !important;
}

/* Secondary in-section titles ? one size */
main > section h3,
main .choice-duo-head h3,
#choice .choice-duo-head h3,
#hero.hero--approved .hero-tagline,
#hero .hl-title,
#hero.hero--approved .hl-title,
main .network-subhead h3,
main .crm-command-intro h3 {
  font-size: var(--text-h3) !important;
  line-height: var(--lh-head) !important;
  letter-spacing: var(--track-head) !important;
  font-weight: 800 !important;
}

/* Hero H1 stays on h1 token (same clamp as h2 today, kept explicit) */
#hero.hero--approved h1 {
  font-size: var(--text-h1) !important;
}

/* ============================================================
   SECTION DIVIDER LOCK (2026-09-04)
   One recipe between chapters:
   - pad-bottom (section-y) ? 1px hairline ? pad-top (section-y)
   No interstitial spacers, bridges, or asymmetric pads.
   ============================================================ */

/* Kill leftover chapter spacers / wave bridges between sections */
main > .spine-bridge,
main > .spine-bridge--traffic-network,
main > .section-beat {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Equal vertical beat on every chapter */
main > section,
#hero.hero--plain.hero--approved,
#hero.hero--approved,
#audience-doors,
#snapshot,
#content,
#content.block,
#traffic,
#network.leads-section,
#orcho,
#commands,
#results,
#os,
#choice,
#book,
section.block {
  padding-top: var(--section-y) !important;
  padding-bottom: var(--section-y) !important;
}

/* One hairline on every chapter after the first */
main > section {
  border-top: 1px solid var(--hairline, #e3e8ee) !important;
}
main > section:first-child,
main > #hero {
  border-top: none !important;
}
/* Closed snapshot: no phantom divider between audience and content */
#snapshot.snapshot-results {
  border-top: none !important;
}
#snapshot.snapshot-results:has(#lookup-result:not(.is-wait)) {
  border-top: 1px solid var(--hairline, #e3e8ee) !important;
}

/* Last line in traffic sits flush into section pad (no extra bottom margin) */
#traffic .traffic-lift-result,
#traffic .traffic-lift-result--beat {
  margin-top: var(--stack-gap) !important;
  margin-bottom: 0 !important;
}

/* Internal traffic beat ? subtle in-section rule, not a chapter divider */
#traffic .traffic-beat-break {
  display: block;
  height: 1px !important;
  width: min(100%, 920px);
  margin: var(--stack-gap) auto !important;
  background: color-mix(in srgb, var(--hairline, #e3e8ee) 85%, transparent) !important;
  border: 0 !important;
}

/* ============================================================
   3009 STRIP-DOWN LOCK (?v=20260904a)
   ============================================================ */

.btn,
.btn-gold,
.btn-signal,
.btn-navy,
.btn-ghost,
.hero-cta,
.hl-run,
.t1-signup-btn,
.irp-add,
.nav-actions .btn {
  border-radius: 3px !important;
}

main > .section-archive {
  display: none !important;
}
main > .section-archive:target {
  display: block !important;
  padding-top: var(--section-y) !important;
  padding-bottom: var(--section-y) !important;
  border-top: 1px solid var(--hairline, #e3e8ee) !important;
  scroll-margin-top: 88px;
}

.path-step-score-note {
  margin: 14px 0 0;
  max-width: 34rem;
  font-size: 15px;
  line-height: 1.45;
  color: var(--muted, #5a6b7c);
  font-weight: 400;
}

/* Equal content-example cards (no featured/rogue first card) */
#content .reco-strip {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  overflow: visible;
  scroll-snap-type: none;
  padding: 6px 0 8px;
}
#content .reco-strip > .reco-card {
  flex: none !important;
  max-width: none !important;
  width: 100%;
  min-width: 0;
  grid-column: auto !important;
}
#content .reco-strip > .reco-card .reco-thumb,
#content .reco-strip > .reco-card .reco-read {
  display: block !important;
}
#content .reco-strip > .reco-card::before {
  /* keep the thin top accent bar only; cancel list-style icon hack */
  width: auto;
  height: 3px;
  grid-column: auto;
  grid-row: auto;
  border-radius: var(--radius-card) var(--radius-card) 0 0;
}
@media (max-width: 1100px) {
  #content .reco-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  #content .reco-strip {
    grid-template-columns: 1fr;
  }
}

.network-funnel-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 10px 14px;
  margin: var(--stack-gap, 20px) 0 0;
  padding: 14px 16px;
  border: 1px solid var(--hairline, #e3e8ee);
  border-radius: 3px;
}
.network-funnel-step { display: grid; gap: 2px; }
.network-funnel-step b {
  font-size: 18px;
  font-weight: 800;
  color: var(--navy, #0b3d5c);
  font-variant-numeric: tabular-nums;
}
.network-funnel-step span {
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted, #5a6b7c);
  font-weight: 700;
}
.network-funnel-arrow { color: var(--signal, #0092BC); font-weight: 700; }

#case-onfo[data-status="pending"] {
  opacity: 0.6;
  filter: grayscale(0.15);
}

.book-card-note--under-submit {
  margin: 12px 0 0 !important;
  font-size: 15px !important;
  line-height: 1.4;
  color: var(--muted, #5a6b7c);
}

#hero.hero--approved h1.hero-tagline {
  font-size: var(--text-h1, clamp(28px, 4vw, 40px)) !important;
  margin: 0 0 10px;
}
