/* Design tokens — ported from the Bruschetti Design System (Claude Design bundle). */

@font-face{font-family:"Geogrotesque";src:url("../fonts/GeogrotesqueCyr-Regular.woff2") format("woff2"),url("../fonts/GeogrotesqueCyr-Regular.woff") format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Geogrotesque";src:url("../fonts/GeogrotesqueCyr-Medium.woff2") format("woff2"),url("../fonts/GeogrotesqueCyr-Medium.woff") format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Geogrotesque";src:url("../fonts/GeogrotesqueCyr-SemiBold.woff2") format("woff2"),url("../fonts/GeogrotesqueCyr-SemiBold.woff") format("woff");font-weight:600;font-style:normal;font-display:swap}

:root{
/* Brand — from the Bruschetti identity manual (Pantone 2935 C / 281 C) */
--brand-celeste:#1488CA;
--brand-celeste-600:#1174AE;
--brand-celeste-700:#0E5F8E;
--brand-celeste-100:#D3E9F6;
--brand-celeste-050:#EDF6FC;
--brand-navy:#002856;
--brand-navy-800:#00366F;
--brand-navy-900:#001B3B;
--brand-navy-100:#D2DAE4;
--brand-navy-050:#EEF2F6;

/* Warm accent — sale & quote actions ONLY */
--accent-coral:#E5623D;
--accent-coral-600:#CE5030;
--accent-coral-700:#B24326;
--accent-coral-100:#FBE2DA;
--accent-coral-050:#FDF1ED;

/* Neutrals — cool-leaning greys on a warm paper white */
--paper:#FFFFFF;
--paper-tint:#F7F9FB;
--n-050:#F2F4F7;
--n-100:#E6E9EF;
--n-200:#D3D8E0;
--n-300:#B3BAC6;
--n-400:#8C94A3;
--n-500:#6B7383;
--n-600:#4E5666;
--n-700:#39404D;
--n-800:#252A34;
--n-900:#14171D;
--sand-100:#F0EEE7;
--sand-200:#D9D5C7;

/* Semantic */
--ok-500:#1E8A5F;--ok-050:#E6F3ED;
--warn-500:#B8862B;--warn-050:#FBF3E1;
--err-500:#C0392B;--err-050:#FBEAE8;

/* Semantic aliases */
--text-strong:var(--brand-navy);
--text-body:var(--n-700);
--text-muted:var(--n-500);
--text-inverse:#FFFFFF;
--text-link:var(--brand-celeste);
--text-link-hover:var(--brand-celeste-700);

--surface-page:var(--paper);
--surface-subtle:var(--paper-tint);
--surface-card:#FFFFFF;
--surface-inverse:var(--brand-navy);
--surface-inverse-soft:var(--brand-navy-800);
--surface-brand-soft:var(--brand-celeste-050);
--surface-sand:var(--sand-100);

--border-subtle:var(--n-100);
--border-default:var(--n-200);
--border-strong:var(--n-300);
--border-inverse:rgba(255,255,255,.18);
--focus-ring:var(--brand-celeste);

--action-primary:var(--brand-navy);
--action-primary-hover:var(--brand-navy-800);
--action-sell:var(--accent-coral);
--action-sell-hover:var(--accent-coral-600);
--action-sell-active:var(--accent-coral-700);

/* Typography */
--font-sans:"Geogrotesque","Geogrotesque Cyr",system-ui,-apple-system,"Segoe UI",sans-serif;
--font-display:var(--font-sans);

--fw-regular:400;
--fw-medium:500;
--fw-semibold:600;

--fs-eyebrow:.75rem;

--lh-heading:1.15;
--lh-body:1.6;

--ls-display:-0.02em;
--ls-heading:-0.01em;
--ls-eyebrow:.14em;

--text-body-role:var(--fw-regular) 1rem/var(--lh-body) var(--font-sans);

/* Spacing */
--sp-0:0px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:40px;--sp-8:56px;--sp-9:80px;--sp-10:120px;--sp-11:160px;
--gutter:24px;
--container-max:1200px;
--container-narrow:720px;
--radius-xs:3px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;
--border-w:1px;

/* Elevation */
--shadow-xs:0 1px 2px rgba(0,40,86,.06);
--shadow-sm:0 1px 3px rgba(0,40,86,.07),0 1px 2px rgba(0,40,86,.04);
--shadow-md:0 4px 16px rgba(0,40,86,.08);
--shadow-lg:0 12px 32px rgba(0,40,86,.10);
--shadow-focus:0 0 0 3px rgba(20,136,202,.28);
--shadow-focus-sell:0 0 0 3px rgba(229,98,61,.28);

/* Motion */
--ease-out:cubic-bezier(.22,.61,.36,1);
--ease-in-out:cubic-bezier(.4,0,.2,1);
--dur-fast:120ms;
--dur-base:200ms;
--dur-slow:360ms;
--dur-reveal:600ms;
--transition-base:all var(--dur-base) var(--ease-out);
}
@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur-base:0ms;--dur-slow:0ms;--dur-reveal:0ms}}

html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;font:var(--text-body-role);color:var(--text-body);background:var(--surface-page)}
h1,h2,h3,h4{margin:0;color:var(--text-strong);font-family:var(--font-display);font-weight:var(--fw-semibold);letter-spacing:var(--ls-heading);line-height:var(--lh-heading)}
p{margin:0;text-wrap:pretty}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--text-link-hover)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
