/* ==========================================================================
   Asama Bisato design tokens (from design/reference/00-ui-components.png)
   CONTRACT: every page/component stylesheet uses these variables only.
   ========================================================================== */
:root {
    /* Brand */
    --ab-primary: #6C3AED;
    --ab-primary-light: #8B5CF6;
    --ab-primary-dark: #5B2BD6;
    --ab-primary-50: #F3EEFF;      /* icon badges, soft section bands */
    --ab-primary-100: #E9E1FE;
    --ab-secondary: #10B981;
    --ab-accent: #F59E0B;
    --ab-dark: #0F172A;            /* headings, dark button, footer */
    --ab-dark-2: #1E1B4B;          /* deep indigo for CTA bands */

    /* Neutrals */
    --ab-gray-1: #F8FAFC;          /* page band background */
    --ab-gray-2: #E2E8F0;          /* borders */
    --ab-gray-3: #94A3B8;          /* placeholder / muted icons */
    --ab-text: #0F172A;
    --ab-text-soft: #475569;       /* body copy */
    --ab-text-muted: #64748B;      /* captions */
    --ab-white: #FFFFFF;

    /* Status */
    --ab-success: #10B981;
    --ab-warning: #F59E0B;
    --ab-error: #EF4444;
    --ab-info: #3B82F6;

    /* Type: Plus Jakarta Sans */
    --ab-font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --ab-h1: 700 clamp(2rem, 1.4rem + 2.6vw, 3rem)/1.15 var(--ab-font);
    --ab-h2: 700 clamp(1.625rem, 1.3rem + 1.4vw, 2.25rem)/1.2 var(--ab-font);
    --ab-h3: 600 1.375rem/1.3 var(--ab-font);
    --ab-h4: 600 1.125rem/1.35 var(--ab-font);
    --ab-body: 400 1rem/1.6 var(--ab-font);
    --ab-small: 400 0.875rem/1.45 var(--ab-font);
    --ab-caption: 400 0.75rem/1.35 var(--ab-font);
    --ab-eyebrow-size: 0.75rem;
    --ab-eyebrow-tracking: 0.14em;

    /* Shape & depth */
    --ab-radius-sm: 8px;
    --ab-radius: 12px;
    --ab-radius-lg: 16px;
    --ab-radius-pill: 999px;
    --ab-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
    --ab-shadow: 0 8px 24px -12px rgba(15, 23, 42, 0.18);
    --ab-shadow-lg: 0 24px 48px -24px rgba(15, 23, 42, 0.28);
    --ab-shadow-primary: 0 10px 24px -10px rgba(108, 58, 237, 0.55);

    /* Layout */
    --ab-container: 1200px;
    --ab-gutter: 16px;
    --ab-section-y: clamp(3.5rem, 2.5rem + 4vw, 6rem);
    --ab-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* Additions (layout shell) — new variables only, existing ones unchanged */
:root {
    --ab-primary-300: #A78BFA;     /* accent text on dark bands (contrast) */
    --ab-navy: #0B1033;            /* footer background */
    --ab-hero-fade: #F6F3FF;       /* hero gradient start */
    --ab-header-h: 76px;
}

/* Additions (accessibility) — new variables only */
:root {
    --ab-border-input: #7C8799;    /* form field borders: 3.6:1 on white, >= 3:1 on the tints (WCAG 1.4.11) */
}
