/*
 * DuitGPS design tokens — the ONLY file in this theme allowed to hold a colour literal.
 *
 * Owner: c0 (T021). Spec: DUITGPS/docs/DESIGN-LANDING.md section 2.
 *
 * Two sources, one bridge:
 *   - the BRAND is the flyer (ARCHITECTURE.md section 7): navy, green, orange, red, gold, slate.
 *     Hues measured from a photo of the print - provisional until todo DG3 (source artwork).
 *   - the LOOK is the operator's reference demo (DUITGPS/docs/demo/home1-5.png): warm cream
 *     grounds, a coral primary, an amber secondary, a near-black feature card.
 *   The flyer's own colours play the reference's roles: orange/red/gold carry its coral/amber,
 *   slate carries its near-black, and green stays the brand's signature.
 *
 * !! CONTRAST WAS MEASURED, NOT EYEBALLED (WCAG 2.x ratios, 2026-10-03). The flyer's orange
 *    #e3702d measures 3.17:1 under white text - it FAILS for button labels. So it paints
 *    shapes and gradients only, and buttons stand on --dgps-cta. Every pair a text style may
 *    use is listed with its ratio; a new pairing is measured before it ships.
 *
 * Light only, deliberately: a launch site, like the reference. No dark-mode block.
 */
:root {
    /* ── brand (flyer) ─────────────────────────────────────────────────── */
    --dgps-ink: #1d2733;            /* headings + body. 14.01:1 on cream */
    --dgps-ink-muted: #5b6675;      /* secondary copy. 5.41 cream · 5.83 white · 5.43 panel */
    --dgps-navy: #1f3d6b;           /* engine icons, step numbers. white on it 10.84 */
    --dgps-green: #2e7d55;          /* "GPS", checks, positive bands. As text: 4.66 cream · 5.02 white */
    --dgps-orange: #e3702d;         /* SHAPES ONLY - quarter circles, gradients, icon fills. 3.17 under white */
    --dgps-red: #c8343f;            /* Health + Goal; gradient start. white on it 5.23 */
    --dgps-gold: #d4a23c;           /* the trophy; ink on it 6.50 */
    --dgps-slate: #18222f;          /* dark cards. white on it 16.05 */

    /* ── landing grounds (reference) ───────────────────────────────────── */
    --dgps-cream: #fdf5ef;          /* hero, offer, footer */
    --dgps-cream-deep: #fde7d6;     /* the warm end of soft gradients */
    --dgps-panel: #f5f7f9;          /* grey bands */
    --dgps-ground: #ffffff;
    --dgps-line: #e3e7ec;

    /* ── action colours ────────────────────────────────────────────────── */
    --dgps-cta: #c2541a;            /* PRIMARY BUTTON ground. white label 4.59:1 */
    --dgps-cta-deep: #ad4a15;       /* hover; and orange TEXT or links on cream (5.17) / white (5.57) */
    --dgps-amber: #f2b84b;          /* secondary pill. ink label 8.44:1 */
    --dgps-on-dark: #ffffff;
    --dgps-on-dark-muted: #c9d2de;  /* secondary copy on slate. 10.51:1 */

    /* ── engine identities (flyer, ARCHITECTURE section 7) ─────────────── */
    --dgps-eng-health: var(--dgps-red);
    --dgps-eng-zone: var(--dgps-green);
    --dgps-eng-cashflow: var(--dgps-navy);
    --dgps-eng-goal: var(--dgps-red);
    --dgps-eng-momentum: var(--dgps-navy);
    --dgps-eng-readiness: var(--dgps-navy);
    --dgps-eng-alert: var(--dgps-orange);
    --dgps-eng-review: var(--dgps-navy);

    /* ── gradients ─────────────────────────────────────────────────────── */
    --dgps-grad-warm: linear-gradient(135deg, var(--dgps-red) 0%, var(--dgps-orange) 55%, var(--dgps-amber) 100%);
    --dgps-grad-soft: linear-gradient(135deg, var(--dgps-ground) 0%, var(--dgps-cream) 55%, var(--dgps-cream-deep) 100%);
    --dgps-glass: rgba(255, 255, 255, 0.72);

    /* ── type ──────────────────────────────────────────────────────────── */
    --dgps-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --dgps-font-caps: Montserrat, "Plus Jakarta Sans", system-ui, sans-serif;
    --dgps-fs-display: clamp(2.75rem, 1.6rem + 4.6vw, 5.25rem);   /* hero h1 only */
    --dgps-fs-h2: clamp(2rem, 1.4rem + 2.4vw, 3.25rem);
    --dgps-fs-h3: clamp(1.375rem, 1.15rem + 0.9vw, 1.875rem);
    --dgps-fs-stat: clamp(2.5rem, 1.9rem + 2.4vw, 3.5rem);
    --dgps-fs-lead: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
    --dgps-fs-body: 1rem;
    --dgps-fs-small: 0.875rem;
    --dgps-fs-eyebrow: 0.8125rem;
    --dgps-lh-tight: 1.08;
    --dgps-lh-heading: 1.18;
    --dgps-lh-body: 1.7;

    /* ── space and shape ───────────────────────────────────────────────── */
    --dgps-container: 75rem;
    --dgps-gutter: clamp(1rem, 4vw, 2rem);
    --dgps-section: clamp(4rem, 3rem + 5vw, 8rem);
    --dgps-gap: clamp(1rem, 0.75rem + 1vw, 1.75rem);
    --dgps-radius-card: 1.75rem;
    --dgps-radius-sm: 0.875rem;
    --dgps-radius-pill: 999px;
    --dgps-shadow-card: 0 1.5rem 3rem -1.5rem rgba(29, 39, 51, 0.18);
    --dgps-shadow-float: 0 2rem 4rem -1rem rgba(29, 39, 51, 0.24);
    --dgps-dash: rgba(212, 162, 60, 0.55);    /* dashed circles and arcs - gold at 55% */
    --dgps-dots: rgba(29, 39, 51, 0.55);      /* the dot-grid decoration */

    /* ── motion ────────────────────────────────────────────────────────── */
    --dgps-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --dgps-dur: 600ms;

    /* T021 layout and interaction tokens */
    --dgps-header-height: 5.5rem;
    --dgps-header-height-mobile: 4.5rem;
    --dgps-phone-width: 18rem;
    --dgps-phone-width-small: 14rem;
    --dgps-phone-bezel: 0.55rem;
    --dgps-phone-radius: 2.75rem;
    --dgps-phone-ratio: 9 / 19.5;
    --dgps-wave-height: 4.5rem;
    --dgps-ring-offset: 0.55rem;
    --dgps-ring-width: 1.5px;
    --dgps-reveal-offset: 16px;
    --dgps-float-duration: 6s;
    --dgps-touch-target: 44px;
    --dgps-z-header: 40;
    --dgps-z-content: 1;
    --dgps-z-decoration: 0;

    /* T024 lightbox scrim; mixed from the existing brand slate. */
    --dgps-rm-scrim: color-mix(in srgb, var(--dgps-slate) 88%, transparent);
}
