/**
 * STO Design Tokens — canonical Phase 1 sync.
 * 06 DEVELOPMENT TOKEN PATCH v1 normalized for production implementation.
 * Responsive model: FLUID + CONTENT-DRIVEN BREAKPOINTS.
 * No global breakpoint token system.
 */
:root {
  /* Color — APPROVED / LOCKED */
  --sto-signal: #FFD400;
  --sto-signal-hover: #E9C200;
  --sto-carbon: #111315;
  --sto-graphite: #1B1E20;
  --sto-steel: #73777A;
  --sto-line-dark: #34383A;
  --sto-line-light: #D8D9D5;
  --sto-mineral: #F3F3EF;
  --sto-soft-white: #FAFAF7;
  --sto-white: #FFFFFF;

  /* Typography families */
  --sto-font-primary: "Onest", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sto-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  /* Fluid type endpoints remain inside the approved 06 ranges. */
  --sto-type-h1: clamp(2.625rem, 1.55rem + 4.2vw, 5.5rem);      /* 42 → 88 */
  --sto-type-h2: clamp(2.125rem, 1.45rem + 2.7vw, 4rem);        /* 34 → 64 */
  --sto-type-h3: clamp(1.5625rem, 1.25rem + 1.1vw, 2.25rem);    /* 25 → 36 */
  --sto-type-lead: clamp(1.125rem, 1.02rem + .35vw, 1.375rem);  /* 18 → 22 */
  --sto-type-body: clamp(1rem, .965rem + .12vw, 1.0625rem);      /* 16 → 17 */
  --sto-type-button: 1rem;
  --sto-type-tech: clamp(.6875rem, .64rem + .2vw, .8125rem);    /* 11 → 13 */

  --sto-weight-h1: 700;
  --sto-weight-h2: 650;
  --sto-weight-h2-static: 600; /* use only when Onest is deployed as static files */
  --sto-weight-h3: 600;
  --sto-weight-lead: 500;
  --sto-weight-body: 400;
  --sto-weight-button: 600;
  --sto-weight-tech: 500;

  --sto-leading-display: 1;
  --sto-leading-heading: 1.1;
  --sto-leading-body: 1.55;

  /* Layout */
  --sto-grid-columns: 12;
  --sto-container: 1280px;
  --sto-canvas-reference: 1440px;
  --sto-gutter-desktop: 32px;
  --sto-gutter-tablet: 24px;
  --sto-gutter-mobile: clamp(16px, 5vw, 20px);
  /* Intrinsic page gutter: 16–20 mobile, ~24 tablet, 32 desktop; no breakpoint token required. */
  --sto-page-gutter: max(
    var(--sto-gutter-mobile),
    clamp(16px, calc(2vw + 8px), var(--sto-gutter-desktop))
  );

  /* Spacing scale */
  --sto-space-1: 4px;
  --sto-space-2: 8px;
  --sto-space-3: 12px;
  --sto-space-4: 16px;
  --sto-space-6: 24px;
  --sto-space-8: 32px;
  --sto-space-12: 48px;
  --sto-space-16: 64px;
  --sto-space-24: 96px;
  --sto-space-32: 128px;
  --sto-space-40: 160px;

  --sto-section-space-mobile-min: 64px;
  --sto-section-space-mobile-max: 80px;
  --sto-section-space-desktop-min: 128px;
  --sto-section-space-desktop-max: 160px;
  --sto-section-space: clamp(64px, 10vw, 160px);

  /* Controls */
  --sto-touch-min: 44px;
  --sto-button-radius: 8px;
  --sto-button-h: 56px;
  --sto-button-h-compact: 52px;
  --sto-button-pad-primary: 28px;
  --sto-button-pad-secondary: 24px;

  /* Cards / icons retain approved ranges because component-specific Hi-Fi chooses within them. */
  --sto-card-radius-min: 8px;
  --sto-card-radius-max: 12px;
  --sto-icon-stroke-min: 1.5px;
  --sto-icon-stroke-max: 1.75px;

  /* Header */
  --sto-header-h: 88px;
  --sto-header-h-sticky: 72px;
  --sto-header-mobile-h: 64px;

  /* Footer */
  --sto-footer-pad-top: 80px;
  --sto-footer-pad-bottom: 32px;
  --sto-footer-pad-top-mobile: 56px;
  --sto-footer-pad-bottom-mobile: 24px;
  --sto-footer-group-gap: 32px;

  /* Bottom mobile conversion layer */
  --sto-sticky-safe-extra: 96px;
}
