/* ============================================================================
   AmbiPower design tokens — aligned to the AmbiSecure design system.

   • --brand-* : SHARED Ambimat Group palette (red/grey/dark/soft). Do not fork.
     Values match the AmbiSecure reference implementation exactly so the two
     sites read as one design family.
   • Type scale, layout widths, section padding and radii are ported 1:1 from
     the AmbiSecure reference (assets/css/main.css :root) so container widths,
     typographic rhythm and component geometry match.
   • Typography: self-hosted Montserrat (headings/UI) + Source Sans 3 (body),
     the same pairing AmbiSecure uses. Latin-subset variable WOFF2, served from
     this origin (CSP font-src 'self'). No Google Fonts, no network calls.
     JetBrains Mono is intentionally NOT shipped — AmbiPower has no code
     surfaces, so the mono role falls back to the system mono stack.
   • --accent-* : AmbiPower's accent tier. Ambimat red is the principal accent.
   • Text-grey note: AmbiSecure paints body copy in --brand-grey (#616A6C).
     AmbiPower uses the marginally darker --muted (#5A6268) for real text so
     every body/muted pair clears WCAG AA 4.5:1 in scripts/contrast.mjs. The
     two greys are visually equivalent; the darker one is the safer default.
   Change values here only; every component consumes these variables.
   ============================================================================ */

/* Self-hosted Latin-subset variable fonts. Declared here (not in a third
   stylesheet) to keep the render path at exactly two CSS requests, which the
   static audit budget in scripts/audit.mjs enforces (perf_css_reqs <= 2). */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/montserrat.woff2') format('woff2-variations');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('/assets/fonts/source-sans-3.woff2') format('woff2-variations');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* Shared Ambimat Group palette — identical to the AmbiSecure reference */
  --brand-red: #E3222A;
  --brand-red-dark: #B81A21;
  --brand-grey: #616A6C;
  --brand-dark: #3A3F40;
  --brand-soft: #F4F5F6;

  /* AmbiPower accent tier — Ambimat red is the principal accent. Links use the
     darker red for stronger text contrast; focus rings and eyebrows use red. */
  --accent: #E3222A;
  --accent-dark: #B81A21;
  --accent-soft: #FDECEC;

  /* Neutral informational tone */
  --info-bg: #EEF1F3;
  --info-border: #C7CDD2;

  /* Neutrals */
  --ink: #1A1D1E;
  --ink-2: var(--brand-dark);
  --muted: #5A6268;
  --muted-2: #5A6063;
  --line: #E2E2E4;
  --line-soft: #ECEEF0;
  --grid-line: #E5E5E5;
  --card: #FFFFFF;
  --card-soft: #F0F0F1;
  --bg: #FFFFFF;
  --bg-alt: var(--brand-soft);

  /* Status / verification notices */
  --note-bg: #FFF8E6;
  --note-border: #E6C24A;
  --note-ink: #6A5100;
  --ok: #1E7A46;
  --err: #B3261E;

  /* Dark-surface text (ecosystem bar, footer, callout) */
  --on-dark: #D8DADB;
  --on-dark-muted: #C2C7C9;

  /* Typography */
  --font-sans: 'Source Sans 3', 'Source Sans Pro', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-display: 'Montserrat', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;

  /* Type scale — ported from the AmbiSecure reference */
  --fs-hero: 66px;
  --fs-h1: 38px;
  --fs-h2: 34px;
  --fs-h3: 26px;
  --fs-h4: 19px;
  --fs-body: 16.5px;
  --fs-lead: 19px;
  --fs-small: 14px;
  --fs-eyebrow: 11.5px;

  /* Spacing scale */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.5rem;
  --sp-6: 2rem;
  --sp-7: 3rem;
  --sp-8: 4rem;
  --sp-9: 6rem;

  /* Layout — ported from the AmbiSecure reference */
  --pad-section-y: 100px;
  --pad-section-x: 80px;
  --maxw: 1280px;          /* .container / section container */
  --maxw-hero: 1320px;
  --maxw-prose: 820px;
  --radius: 6px;
  --radius-card: 6px;
  --radius-btn: 4px;
  --radius-sm: 4px;
  --radius-pill: 20px;
  --shadow-sm: 0 6px 14px rgba(58, 63, 64, 0.06);
  --shadow-md: 0 18px 40px rgba(58, 63, 64, 0.08);
  --focus: 2px solid var(--accent);

  --header-h: 88px;
}
