/* Pacific Grove PONY design tokens — ported from the league's design system. */

/* Barlow and Barlow Condensed load from Google Fonts via <link> in layout.njk. */
@font-face{font-family:"League Gothic";font-style:normal;font-weight:400;font-display:swap;src:url("https://fonts.gstatic.com/s/leaguegothic/v13/qFdR35CBi4tvBz81xy7WG7ep-BQAY7Krj7feQF0.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
/* ---- Brand core (sampled from the supplied logo artwork — authoritative over the style guide's printed hex values) ---- */
--pg-red:#8A1C02;
--pg-gold:#F8AA00;
--pg-white:#FFFFFF;
--pg-black:#17100D;

/* ---- Red ramp ---- */
--red-900:#4A0E00;
--red-800:#661401;
--red-700:#8A1C02;
--red-600:#A22706;
--red-500:#B8360F;
--red-200:#E9C4B9;
--red-100:#F6E3DC;
--red-50:#FCF3F0;

/* ---- Gold ramp ---- */
--gold-800:#8A5D00;
--gold-700:#C08300;
--gold-600:#E09800;
--gold-500:#F8AA00;
--gold-400:#FFC33F;
--gold-200:#FFE4A6;
--gold-100:#FFF3D6;
--gold-50:#FFFAEC;

/* ---- Warm neutrals ---- */
--ink-900:#17100D;
--ink-800:#2A211C;
--ink-700:#463A33;
--ink-600:#6B5C53;
--ink-500:#8C7C72;
--ink-400:#B3A79F;
--ink-300:#D6CDC7;
--ink-200:#E7E1DC;
--ink-100:#F3EFEC;
--ink-50:#FAF8F6;

/* ---- Semantic: surfaces ---- */
--surface-page:var(--ink-50);
--surface-card:var(--pg-white);
--surface-sunken:var(--ink-100);
--surface-inverse:var(--ink-900);
--surface-brand:var(--pg-red);
--surface-brand-dark:var(--red-900);
--surface-accent:var(--pg-gold);
--surface-accent-soft:var(--gold-100);
--surface-brand-soft:var(--red-50);

/* ---- Semantic: text ---- */
--text-heading:var(--ink-900);
--text-body:var(--ink-800);
--text-muted:var(--ink-600);
--text-faint:var(--ink-500);
--text-on-brand:var(--pg-white);
--text-on-accent:var(--red-900);
--text-on-dark:#F5EFEA;
--text-brand:var(--pg-red);
--text-link:var(--pg-red);
--text-link-hover:var(--red-500);

/* ---- Semantic: lines ---- */
--border-subtle:var(--ink-200);
--border-default:var(--ink-300);
--border-strong:var(--ink-400);
--border-brand:var(--pg-red);
--border-accent:var(--pg-gold);

/* ---- Semantic: status (used sparingly; brand palette is red/gold only) ---- */
--status-success:#2E6B3E;
--status-success-soft:#E6F1E8;
--status-warning:var(--gold-700);
--status-warning-soft:var(--gold-100);
--status-danger:var(--red-600);
--status-danger-soft:var(--red-50);
--status-info:var(--ink-700);
--status-info-soft:var(--ink-100);

/* ---- Focus ---- */
--focus-ring:var(--gold-500);

/* ---- Type families ---- */
--font-display:"League Gothic","Barlow Condensed",Impact,sans-serif;
--font-condensed:"Barlow Condensed","Barlow Semi Condensed",sans-serif;
--font-semi-condensed:"Barlow Semi Condensed","Barlow Condensed",sans-serif;
--font-body:"Barlow",system-ui,sans-serif;
--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;

/* ---- Weights ---- */
--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;

/* ---- Size scale ---- */
--text-2xs:11px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-md:18px;--text-lg:20px;
--text-xl:24px;--text-2xl:30px;--text-3xl:38px;--text-4xl:48px;--text-5xl:64px;--text-6xl:84px;--text-7xl:112px;

/* ---- Line heights ---- */
--leading-tight:0.92;--leading-snug:1.1;--leading-heading:1.15;--leading-normal:1.5;--leading-relaxed:1.65;

/* ---- Tracking ---- */
--tracking-display:0.005em;--tracking-tight:-0.01em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-eyebrow:0.14em;--tracking-caps:0.08em;

/* ---- Spacing (4px base scale) ---- */
--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;
--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--space-11:80px;--space-12:96px;--space-13:128px;
--gutter:24px;
--container-max:1180px;
--container-narrow:720px;
--section-y:var(--space-12);
--section-y-tight:var(--space-10);
--card-pad:var(--space-6);
--control-h-sm:32px;--control-h-md:42px;--control-h-lg:52px;

/* ---- Radius ---- */
--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-pill:999px;
--radius-control:var(--radius-md);
--radius-card:var(--radius-lg);
--radius-panel:var(--radius-xl);
--radius-media:var(--radius-lg);

/* ---- Shadows (warm-tinted, never neutral grey) ---- */
--shadow-none:none;
--shadow-xs:0 1px 2px rgba(23,16,13,.06);
--shadow-sm:0 1px 3px rgba(23,16,13,.08),0 1px 2px rgba(23,16,13,.04);
--shadow-md:0 4px 12px rgba(23,16,13,.09),0 1px 3px rgba(23,16,13,.05);
--shadow-lg:0 12px 28px rgba(23,16,13,.12),0 3px 8px rgba(23,16,13,.06);
--shadow-brand:0 8px 20px rgba(138,28,2,.22);
--shadow-inset:inset 0 1px 2px rgba(23,16,13,.07);
--ring-focus:0 0 0 3px rgba(248,170,0,.55);
--ring-brand:0 0 0 3px rgba(138,28,2,.18);
--scrim-image:linear-gradient(180deg,rgba(23,16,13,0) 0%,rgba(23,16,13,.55) 65%,rgba(23,16,13,.82) 100%);
--scrim-hero:linear-gradient(90deg,rgba(74,14,0,.90) 0%,rgba(74,14,0,.62) 55%,rgba(74,14,0,.15) 100%);

/* ---- Motion ---- */
--ease-standard:cubic-bezier(.2,.6,.3,1);
--ease-out:cubic-bezier(.16,.84,.44,1);
--ease-in:cubic-bezier(.5,0,.9,.4);
--duration-instant:80ms;
--duration-fast:140ms;
--duration-base:220ms;
--duration-slow:360ms;
--transition-control:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard);
}

@media (prefers-reduced-motion:reduce){
  :root{--duration-instant:0ms;--duration-fast:0ms;--duration-base:0ms;--duration-slow:0ms;}
}
