/**
 * LeaseCraft design tokens — single source for product surfaces.
 * Editorial / document-focused. Warm neutrals, charcoal ink, restrained navy.
 * Not purple SaaS, neon, glass, or AI gradients.
 */
:root {
    /* Canvas & surfaces — warm paper without cream+terracotta cliché */
    --lc-bg: #f3f1ec;
    --lc-bg-elevated: #faf9f6;
    --lc-surface: #ffffff;
    --lc-surface-muted: #f6f4ef;
    --lc-paper: #fffcf7;
    --lc-ink-wash: #e8e4dc;

    /* Ink — charcoal family */
    --lc-text: #1a1f26;
    --lc-text-secondary: #3d4654;
    --lc-muted: #5c6570;
    --lc-charcoal: #2c333d;

    /* Brand — restrained navy + one calm accent */
    --lc-navy: #1a2f45;
    --lc-navy-soft: #2a4058;
    --lc-accent: #1f5c45;
    --lc-accent-dark: #164433;
    --lc-accent-soft: #e6f0eb;

    /* Structure */
    --lc-border: #ddd8ce;
    --lc-border-strong: #c9c3b6;
    --lc-radius: 8px;
    --lc-radius-sm: 4px;
    --lc-radius-lg: 12px;
    --lc-shadow: 0 1px 2px rgba(26, 31, 38, 0.05);
    --lc-shadow-md: 0 6px 20px rgba(26, 31, 38, 0.07);
    --lc-shadow-paper: 0 2px 8px rgba(26, 31, 38, 0.06), 0 12px 40px rgba(26, 31, 38, 0.04);

    /* Feedback */
    --lc-danger: #a31b14;
    --lc-warning: #8a5a00;
    --lc-success: #1f5c45;
    --lc-info: #1a2f45;

    /* Layout */
    --lc-page-max: 1120px;
    --lc-form-max: 680px;
    --lc-wizard-aside: 280px;
    --lc-preview-max: 760px;
    --lc-focus-ring: 0 0 0 3px rgba(31, 92, 69, 0.32);

    /* Typography */
    --lc-font-ui: 'Manrope', 'Segoe UI', sans-serif;
    --lc-font-body: 'Source Sans 3', 'Manrope', 'Segoe UI', sans-serif;
    --lc-font-display: 'Manrope', 'Segoe UI', sans-serif;
    --lc-font-doc: 'Source Serif 4', 'Georgia', 'Times New Roman', serif;

    /* Motion */
    --lc-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --lc-duration: 220ms;

    /* Wizard aliases (existing --w-* consumers) */
    --w-navy: var(--lc-navy);
    --w-navy-soft: var(--lc-navy-soft);
    --w-green: var(--lc-accent);
    --w-green-dark: var(--lc-accent-dark);
    --w-green-light: var(--lc-accent-soft);
    --w-bg: var(--lc-bg);
    --w-surface: var(--lc-surface);
    --w-border: var(--lc-border);
    --w-text: var(--lc-text);
    --w-muted: var(--lc-muted);
    --w-radius: var(--lc-radius);
    --w-radius-sm: var(--lc-radius-sm);
    --w-shadow: var(--lc-shadow);
    --w-font: var(--lc-font-body);
    --w-font-display: var(--lc-font-display);
}

body.lc-pro,
body.udoc-page-body,
body.lc-home,
body.lc-shell {
    background: var(--lc-bg);
    color: var(--lc-text);
    font-family: var(--lc-font-body);
}

body.lc-pro h1,
body.lc-pro h2,
body.lc-home h1,
body.lc-home h2,
body.udoc-page-body h1,
body.udoc-page-body .udoc-hero__title {
    font-family: var(--lc-font-display);
    color: var(--lc-navy);
    letter-spacing: -0.02em;
}

:focus-visible {
    outline: none;
    box-shadow: var(--lc-focus-ring);
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
