/* =================================================================
   FLOWSENSE GLOBAL TYPOGRAPHY SYSTEM
   Loaded last. Enforces site-wide readability standard:
   – No public-facing text below 16px (1rem at 16px base)
   – Copyright / legal minimum: 14px (0.875rem)
   – All meaningful text must pass WCAG AA contrast on its surface
   ================================================================= */

/* ── BODY BASE ──────────────────────────────────────────────────── */
body {
  font-size: 1.125rem;    /* 18px desktop baseline */
  line-height: 1.65;
}

/* ── NAV ────────────────────────────────────────────────────────── */
.nav-links > a,
.nav-dropdown-toggle {
  font-size: 1.0625rem !important;   /* 17px */
}
.nav-dropdown-menu a {
  font-size: 1rem !important;         /* 16px */
}
.nav-btn {
  font-size: 1rem !important;         /* 16px */
  font-weight: 600 !important;
}
.nav-cta {
  font-size: 1rem !important;         /* 16px */
}
.mobile-menu a {
  font-size: 1rem !important;         /* 16px */
}
.mobile-menu .mobile-section-label {
  font-size: 0.875rem !important;     /* 14px — section divider label */
}
.mobile-menu .mobile-actions a {
  font-size: 1rem !important;
}

/* ── EYEBROW PILL ───────────────────────────────────────────────── */
/* Global: always inline-block so it never stretches full-width */
.eyebrow {
  display: inline-block !important;
  font-size: 1.125rem !important;    /* 18px */
  font-weight: 900 !important;
  letter-spacing: 0.06em !important;
}

/* Hero eyebrow (non-pill variant used on product pages) */
.hero-eyebrow {
  font-size: 1.125rem !important;    /* 18px */
  font-weight: 700 !important;
}

/* ── HERO H1 ────────────────────────────────────────────────────── */
.hero h1 {
  font-size: clamp(2.625rem, 5vw, 4.75rem) !important;  /* 42 – 76px */
  line-height: 1.05 !important;
}

/* ── HERO BODY COPY ─────────────────────────────────────────────── */
.hero-lede,
.hero-subhead {
  font-size: clamp(1.25rem, 1.8vw, 1.375rem) !important; /* 20 – 22px */
  line-height: 1.6 !important;
}

/* ── PRIMARY BUTTONS ────────────────────────────────────────────── */
.btn,
.btn-primary,
.btn-secondary,
.btn-orange,
.btn-ghost-light,
.hero-cta,
.routing-btn,
.price-cta,
.form-submit,
.cta-secondary,
.nav-login {
  font-size: 1rem !important;        /* 16px */
  font-weight: 700 !important;
}

/* ── SECTION H2 ─────────────────────────────────────────────────── */
.section-head h2,
.fork-head h2,
.what-head h2,
.why-left h2,
.reality-left h2,
.system-fit h2,
.diagnosis h2,
.why-now h2,
.final-cta h2,
.intro h2,
.vertical h2,
.env-cards-header h2,
.routing-header h2,
.credibility h2,
.transition-band h2,
.what-changes .section-head h2 {
  font-size: clamp(2rem, 3.2vw, 3.2rem) !important; /* 32 – 51px */
}

/* Large display headline (outbound team-spread) */
.work-spread .section-head h2 {
  font-size: clamp(2.625rem, 5.2vw, 4.75rem) !important;
}

/* ── SECTION BODY TEXT ──────────────────────────────────────────── */
.section-body,
.diagnosis-body,
.why-now-body,
.what-body,
.credibility p,
.final-cta p,
.vertical-block p,
.reality-left p,
.system-fit p,
.transition-band p,
.intro p,
.env-cards-sub,
.fork-bridge,
.why-now-signature {
  font-size: clamp(1.125rem, 1.4vw, 1.25rem) !important; /* 18 – 20px */
  line-height: 1.65 !important;
}

/* ── CARD HEADLINES ─────────────────────────────────────────────── */
.outcome-card h3,
.change-card h3,
.fork-card h3,
.what-pill h4,
.routing-card h3,
.env-card-name,
.team-card-name,
.demo-why-card h3,
.ba-step-title,
.tl-stage-title,
.radial-node,
.price-card h3,
.faq-q {
  font-size: 1.375rem !important;    /* 22px */
}

/* ── CARD BODY TEXT ─────────────────────────────────────────────── */
.outcome-card p,
.change-card p,
.fork-card p,
.what-pill p,
.routing-card p,
.radial-node-desc,
.env-row-value,
.demo-why-card p,
.ba-step-desc,
.tl-stage-body,
.reality-row-desc,
.price-card .price-desc,
.login-access-note,
.faq-a,
.cross-team-intro,
.packet-intro,
.system-kicker,
.team-card-desc {
  font-size: 1.0625rem !important;   /* 17px */
  line-height: 1.7 !important;
}

/* ── TABLE HEADERS & MODULE LABELS ─────────────────────────────── */
.deploy-th,
.ba-col-head,
.tl-stage-num,
.ba-step-num,
.outcome-num,
.change-icon,
.fork-card-label,
.fork-card .arrow,
.what-pill-num,
.demo-why-num,
.price-tier,
.price-badge,
.motion-tag,
.env-workflow-tag,
.routing-card-tag,
.fit-col-tag,
.fit-combined-eyebrow,
.anchor-row .label,
.block-label,
.vertical-block .block-label {
  font-size: 1rem !important;        /* 16px */
}

/* ── TABLE BODY TEXT ────────────────────────────────────────────── */
.deploy-cell,
.tl-row,
.price-features li,
.pricing-note,
.faq-a {
  font-size: 1rem !important;        /* 16px */
}

/* ── CHIPS & TAGS ───────────────────────────────────────────────── */
.tl-packet-chip,
.recv-tag,
.recv-packet-badge,
.sys-chip,
.pl-proof-chip,
.pl-team-chip,
.pl-pattern-chip,
.artifact-tag,
.anchor-row a {
  font-size: 1rem !important;        /* 16px */
}

/* ── INBOUND PAGE SPECIFIC ──────────────────────────────────────── */
.recv-step-num        { font-size: 1rem !important; }
.recv-step-title      { font-size: 1.125rem !important; }
.recv-tag             { font-size: 1rem !important; }
.recv-packet-badge    { font-size: 1rem !important; }
.reality-row-label    { font-size: 1rem !important; }
.reality-row-title    { font-size: 1.125rem !important; }
.packet-item-name     { font-size: 1rem !important; }
.packet-item-desc     { font-size: 1rem !important; }
.team-card-name       { font-size: 1.375rem !important; }

/* ── COMBINED WORKFLOW DIAGRAM ──────────────────────────────────── */
/* Eyebrow pill: 22px, centered */
.proof-layer .eyebrow {
  font-size: 1.375rem !important;    /* 22px — major section label */
}
/* Module section labels */
.pl-input-tag,
.pl-shared-tag,
.pl-output-label {
  font-size: 1.125rem !important;    /* 18px */
}
/* Module titles */
.pl-input-title,
.pl-output-title {
  font-size: 1.375rem !important;    /* 22px */
}
/* Connector band labels */
.pl-connector-label {
  font-size: 1.0625rem !important;   /* 17px */
}
/* Shared proof layer box */
.pl-shared-title {
  font-size: 1.625rem !important;    /* 26px */
}
.pl-shared-sub {
  font-size: 1.125rem !important;    /* 18px */
}

/* ── WHO WE SERVE SPECIFIC ──────────────────────────────────────── */
.vertical .descriptor {
  font-size: 1.0625rem !important;
  color: var(--gray-mid, #6b7b8a);
}
.text-link,
.cta-link,
.cta-secondary,
.fit-col-link {
  font-size: 1rem !important;
}
.env-row-label {
  font-size: 1rem !important;
}
.routing-card p {
  color: rgba(245, 247, 250, 0.9) !important; /* stronger contrast on dark bg */
}
.routing-btn {
  font-size: 1rem !important;
  font-weight: 600 !important;
}

/* ── HOMEPAGE SECTION BODY ──────────────────────────────────────── */
.problem-desc,
.why-point-title   { font-size: 1.0625rem !important; }
.why-point-desc    { font-size: 1rem !important; }

/* ── INSIGHTS PAGE ──────────────────────────────────────────────── */
.hero-meta,
.featured-excerpt,
.featured-link,
.related-title,
.article-excerpt {
  font-size: 1rem !important;
  line-height: 1.7 !important;
}
.featured-label,
.featured-cat,
.related-label,
.related-cat,
.article-cat,
.article-kicker {
  font-size: 1rem !important;
  font-weight: 700 !important;
}

/* ── FAQ PAGE ───────────────────────────────────────────────────── */
.faq-chevron     { font-size: 1rem !important; }
.faq-cta p       { font-size: 1.0625rem !important; line-height: 1.7 !important; }
.cat-card        { font-size: 1rem !important; }

/* ── SECTION-HEAD SUBTEXT ───────────────────────────────────────── */
.section-head p  { font-size: 1.0625rem !important; line-height: 1.7 !important; }
.packet-contents-intro { font-size: 1.0625rem !important; }

/* ── FORM ELEMENTS ──────────────────────────────────────────────── */
.form-group input,
.form-group select,
.form-group textarea { font-size: 1rem !important; }
.form-group label    { font-size: 0.875rem !important; } /* 14px — form labels */
.demo-form-wrap .form-sub { font-size: 1rem !important; }

/* ── FOOTER ─────────────────────────────────────────────────────── */
footer              { font-size: 1rem; }
.footer-links a     { font-size: 1rem !important;      /* 16px */ }
.footer-copy        { font-size: 0.875rem !important;  /* 14px — copyright */ }
.footer-tagline     { font-size: 1rem !important; }

/* ── CONTRAST: DARK BACKGROUND TEXT ────────────────────────────── */
/* Raise all low-opacity muted text on dark surfaces to 85%+ */
.hero-lede,
.hero-subhead { color: rgba(245, 247, 250, 0.9) !important; }

.outcomes .section-head h2 { color: #ffffff !important; }

/* c-muted-dark is 58% opacity — too low. Override where used on dark surfaces. */
.pl-shared-sub,
.packet-intro,
.credibility p,
.what-changes .section-head p {
  color: rgba(245, 247, 250, 0.9) !important;
}

/* ── NEVER ALLOW display:block TO STRETCH EYEBROWS ─────────────── */
/* Centered sections: eyebrow becomes a centered pill, not a full bar */
.fork-head .eyebrow,
.what-head .eyebrow,
.proof-layer-inner > .eyebrow,
.what-changes-inner > .eyebrow,
.outcomes-inner .eyebrow,
.routing-header .eyebrow,
.credibility .eyebrow,
.final-cta .eyebrow,
.product-fit-inner > .eyebrow,
.packet-contents-inner > .eyebrow {
  display: inline-block !important;
  width: auto !important;
}
