/**
 * Kinfolk: expressive editorial color, generous space and friendly type.
 * Template Studio's --ec-* variables are the public customization contract.
 */
:root,
[data-ec-preset="cobalt"] {
    color-scheme: light;
    --ec-bg: #fefef9;
    --ec-surface: #ffffff;
    --ec-surface-2: #f2f2eb;
    --ec-fg: #20221f;
    --ec-fg-2: #5b6057;
    --ec-border: #dcded7;
    --ec-accent: #293deb;
    --ec-accent-fg: #ffffff;
    --ec-accent-soft: #e9ecff;
    --ec-radius: 8px;
    --ec-btn-radius: 6px;
    --ec-img-radius: 8px;
    --ec-shadow: 0 4px 14px #20221f06;
    --ec-font-display: "Bricolage Grotesque", "Arial Nova", sans-serif;
    --ec-font-body: "Figtree", "Segoe UI", sans-serif;
    --ec-disp-weight: 700;
    --ec-disp-style: normal;
    --ec-disp-tracking: -0.04em;
    --ec-disp-transform: none;
    --ec-cw: 1432px;
    --ec-gut: clamp(1.25rem, 4vw, 3.5rem);
    --ec-sect-y: clamp(3.125rem, 6vw, 4.5rem);
    --ec-grid: 12;
    --ec-grid-gap: clamp(1.25rem, 2.4vw, 1.625rem);
    --ec-dur-1: 120ms;
    --ec-dur-2: 220ms;
    --ec-dur-3: 420ms;
    --ec-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --color-paper: var(--ec-bg);
    --color-paper-2: var(--ec-surface);
    --color-paper-3: var(--ec-surface-2);
    --color-ink: var(--ec-fg);
    --color-ink-2: #34392f;
    --color-neutral: var(--ec-fg-2);
    --color-muted: #64675e;
    --color-rule: var(--ec-border);
    --color-rule-2: #acb1a5;
    --color-accent: var(--ec-accent);
    --color-accent-ink: var(--ec-accent-fg);
    --color-accent-soft: var(--ec-accent-soft);
    --color-focus: var(--ec-accent);
    --color-error: #ae2934;
    --color-error-soft: #fff0f0;
    --color-success: #246442;
    --color-success-soft: #e9f5e9;
    --color-warning: #785100;
    --color-warning-soft: #fff3cc;
    --color-scrim: #14191eb3;
    --color-transparent: transparent;
    --kf-citrus: #eaff78;
    --kf-citrus-ink: #20221f;
    --kf-coral: #ff754f;
    --kf-lavender: #bac3ff;
    --kf-band-muted: #e1e5ff;
    --font-display: var(--ec-font-display);
    --font-body: var(--ec-font-body);
    --font-outlier: Georgia, "Times New Roman", serif;
    --font-wordmark: var(--font-display);
    --font-ui: var(--font-body);
    --space-3xs: 0.125rem;
    --space-2xs: 0.25rem;
    --space-xs: 0.5rem;
    --space-sm: 0.75rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2.5rem;
    --space-2xl: 4rem;
    --space-3xl: 6rem;
    --space-4xl: 9rem;
    --space-5xl: 12rem;
    --text-xs: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-md: 1.25rem;
    --text-lg: 1.5625rem;
    --text-xl: 1.9531rem;
    --text-2xl: 2.4414rem;
    --text-3xl: 3.0518rem;
    --text-4xl: 3.8147rem;
    --text-display-s: clamp(2.75rem, 5vw, 5rem);
    --text-display: clamp(3.6rem, 6.7vw, 6.4rem);
    --ease-out: var(--ec-ease);
    --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
    --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
    --dur-instant: 0ms;
    --dur-micro: var(--ec-dur-1);
    --dur-short: var(--ec-dur-2);
    --dur-long: var(--ec-dur-3);
    --rule-hair: 1px;
    --rule-strong: 2px;
    --rule-focus: 3px;
    --focus-offset: 2px;
    --underline-offset: 5px;
    --radius-xs: 4px;
    --radius-sm: 6px;
    --radius-md: var(--ec-radius);
    --radius-lg: 12px;
    --radius-pill: var(--ec-btn-radius);
    --page-max: var(--ec-cw);
    --page-gutter: max(var(--ec-gut), env(safe-area-inset-left), env(safe-area-inset-right));
    --measure: 65ch;
    --target-min: 44px;
    --z-base: 1;
    --z-raised: 10;
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-modal: 400;
    --z-toast: 500;
    --z-tooltip: 600;
}

[data-ec-preset="tangerine"] {
    --ec-bg: #fffaf3;
    --ec-surface: #ffffff;
    --ec-surface-2: #f5eadb;
    --ec-fg: #2e241d;
    --ec-fg-2: #6e5b4e;
    --ec-border: #e1d5c8;
    --ec-accent: #b9431b;
    --ec-accent-fg: #ffffff;
    --ec-accent-soft: #ffe4d6;
    --color-ink-2: #473529;
    --color-muted: #746051;
    --color-rule-2: #b9a490;
    --kf-citrus: #ffe985;
    --kf-coral: #ffbd95;
    --kf-lavender: #efd3f5;
    --kf-band-muted: #ffeadf;
}

[data-ec-preset="berry"] {
    --ec-bg: #fffbfe;
    --ec-surface: #ffffff;
    --ec-surface-2: #f4eaf3;
    --ec-fg: #29202b;
    --ec-fg-2: #6a586b;
    --ec-border: #e2d6e0;
    --ec-accent: #8b2486;
    --ec-accent-fg: #ffffff;
    --ec-accent-soft: #f8ddf2;
    --color-ink-2: #443348;
    --color-muted: #705b71;
    --color-rule-2: #b7a4b6;
    --kf-citrus: #eaff78;
    --kf-coral: #ffb79e;
    --kf-lavender: #d8c7ff;
    --kf-band-muted: #fbe4f9;
}

[data-color-scheme="dark"] {
    color-scheme: dark;
    --ec-bg: #171b19;
    --ec-surface: #202522;
    --ec-surface-2: #2a302b;
    --ec-fg: #f4f5ed;
    --ec-fg-2: #c0c8bb;
    --ec-border: #424a40;
    --ec-accent: #a9b5ff;
    --ec-accent-fg: #162157;
    --ec-accent-soft: #282f50;
    --ec-shadow: none;
    --color-ink-2: #e4e9dd;
    --color-muted: #b3bdae;
    --color-rule-2: #67725f;
    --color-error: #ff9da4;
    --color-error-soft: #47212b;
    --color-success: #a4deb3;
    --color-success-soft: #233c2c;
    --color-warning: #f3d075;
    --color-warning-soft: #41371d;
    --color-scrim: #050908cc;
    --kf-band-muted: #222c61;
}

[data-ec-preset="tangerine"][data-color-scheme="dark"] {
    --ec-bg: #201a17;
    --ec-surface: #2b231d;
    --ec-surface-2: #382c23;
    --ec-fg: #fff3e7;
    --ec-fg-2: #d4beb0;
    --ec-border: #554438;
    --ec-accent: #ffb18c;
    --ec-accent-fg: #482013;
    --ec-accent-soft: #4a2b20;
    --color-ink-2: #f3dfcf;
    --color-muted: #c4ad9d;
    --color-rule-2: #856b57;
    --kf-band-muted: #5a2c1c;
}

[data-ec-preset="berry"][data-color-scheme="dark"] {
    --ec-bg: #201920;
    --ec-surface: #2b222c;
    --ec-surface-2: #392b38;
    --ec-fg: #fff0fd;
    --ec-fg-2: #d2bbd0;
    --ec-border: #554252;
    --ec-accent: #efacf0;
    --ec-accent-fg: #421542;
    --ec-accent-soft: #4a2548;
    --color-ink-2: #f1dcee;
    --color-muted: #c3abc1;
    --color-rule-2: #80657d;
    --kf-band-muted: #542452;
}

@media (prefers-reduced-motion: reduce) {
    :root {
        --ec-dur-1: 0ms;
        --ec-dur-2: 0ms;
        --ec-dur-3: 0ms;
    }
}
