/* THE RUNTIME AUTHORITY for this theme's design tokens: theme.json only mirrors what is declared here, no var() in this theme carries a fallback (a fallback is a second copy a rebrand cannot see), and every value below is a PLACEHOLDER whose NAME is the contract. */
:root {
  /* Figma tokens.json (pass0_frequency_inference, single dark launch page) mapped by ROLE, not by the Figma style label:
     brand = #D4A017 (gold, 9 uses, the only distinctive non-neutral colour -> CTA/highlight). brand-dark/brand-light have no
     Figma-evidenced role (the file's "Brand dark (navy)" #0D1B2A and "Brand support" #040E37 entries are usage_count:1 and
     flagged LOW CONFIDENCE -- read as one-off gradient stops on the decorative rectangles (13:4/74:10), not reusable brand
     slugs) so they are DERIVED tint/shade steps of --brand here, not lifted from those two entries. brand-support reuses
     the navy #040E37 anyway since a deep supporting navy is a plausible, low-risk read for that slug. brand-accent reuses
     the muted text blue (#AEC0D2, distinct from ink) since the theme has no separate accent evidence. */
  --brand:             #d4a017;
  --brand-rgb:         212, 160, 23;
  --brand-dark:        #9f7811;
  --brand-dark-rgb:    159, 120, 17;
  --brand-light:       #e3b94a;
  --brand-light-rgb:   227, 185, 74;

  /* Brand the site paints with but the client never picks: kept out of the palette, because a picker that can overwrite a seeded axis is a defect. */
  --brand-accent:      #aec0d2;
  --brand-accent-rgb:  174, 192, 210;
  --brand-support:     #040e37;
  --brand-support-rgb: 4, 14, 55;

  /* ink = "Body text" role -> #EEF2F6 (near-white, 11 uses, the dominant text_fill on this all-black ground -- this site
     is dark by design, so body text is light, not the base theme's placeholder dark slate). neutral-dark = "Muted text"
     -> #AEC0D2 (the file's own text-muted token, 3 uses). neutral-light/surface/border have no Figma evidence (single-page
     launch, no card/hairline surface in the design) so they are DERIVED dark panel/hairline steps near --bg, not literal
     Figma values -- flag for operator confirmation if a future page introduces real cards/hairlines. */
  --ink:               #eef2f6;
  --ink-rgb:           238, 242, 246;
  --neutral-dark:      #aec0d2;
  --neutral-dark-rgb:  174, 192, 210;
  --neutral-light:     #1e2a35;
  --neutral-light-rgb: 30, 42, 53;
  --surface:           #0d1b2a;
  --surface-rgb:       13, 27, 42;
  --border:            #26343f;
  --bg:                #000000;
  --bg-rgb:            0, 0, 0;
  --white:             #ffffff;
  --white-rgb:         255, 255, 255;
  --black:             #000000;
  --black-rgb:         0, 0, 0;

  /* Backdrop gradient stops from the coming-soon page's decorative layers (13:4 radial glow, 74:10 multiply vignette):
     Figma paint values, channel-only so each stop keeps its own alpha in the page CSS. */
  --glow-cyan-rgb:     0, 240, 255;
  --glow-blue-rgb:     29, 78, 216;
  --shade-deep-rgb:    2, 6, 23;

  /* Roles by USE on the nodes, not by the tokens.json labels (D-98): Inter sets the running text (description, form,
     button, footer: 5 of 8 text nodes) -> --sans and --heading; Mozilla Headline sets ONLY the SMB / M&A brand lockup
     text (13:17-18) -> --display, whose one consumer is .brand-text. Source Serif 4 (the h1) -> --serif. */
  /* @webfont: https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Source+Serif+4:wght@400&family=Mozilla+Headline:wght@500&display=swap */
  /* The only place that URL is written down: functions.php reads this line rather than holding a copy, exactly one such directive is allowed, and deleting the line ships no webfont at all. */
  --sans:    'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --heading: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --display: 'Mozilla Headline', 'Inter', sans-serif;
  --serif:   'Source Serif 4', Georgia, 'Times New Roman', serif;

  /* Declared here rather than left as var() fallbacks inside forms.css — a fallback is a colour a rebrand cannot find. */
  --form-border:                #cbd5e1;
  --form-bg:                    var(--white);
  --form-inline-bg:             var(--surface);
  --form-text:                  var(--ink);
  --form-focus:                 rgba(var(--brand-rgb), 0.2);
  --form-focus-border:          var(--brand);
  --form-error:                 #b91c1c;

  --eyebrow-color:              var(--brand);

  --button-bg:                  var(--brand);
  --button-bg-hover:            var(--brand-dark);
  --button-text:                var(--white);
  --button-outline-color:       var(--ink);
  --button-outline-hover-bg:    var(--ink);
  --button-outline-hover-color: var(--white);
  --button-radius:              0.375rem;

  /* --container-content is the RUNTIME AUTHORITY for the page width. It must not live in base.css, which loads after this file and would shadow it; base.css delegates. --container-wide is the .container-lg measure theme.json's wideSize mirrors. */
  --container-content: 113.75rem;
  --container-wide:    120rem;

  /* The resting height of the fixed header, reserved as body padding by header.css. Three breakpoints, all required. These are the pre-JS fallbacks: header-compact.js measures the real bar and overrides --header-h after load. */
  --header-h: 100px;
}

@media (max-width: 1199px) {
  :root {
    --header-h: 88px;
  }
}

/* The 991 breakpoint literal lives in header.css; it is echoed here only as a height. */
@media (max-width: 991px) {
  :root {
    --header-h: 80px;
  }
}
