/* Alta Ranch design tokens — approved at Gate 1. Every value on the site resolves here.
   Need a value that isn't here? Add it here first, then use it. */

/* Fonts are self-hosted (Latin subset, variable 400 to 700) so pages don't wait on another server. */
@font-face {
  font-family: "Besley";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/besley.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;
}
@font-face {
  font-family: "Besley";
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/besley-italic.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;
}
@font-face {
  font-family: "Public Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/public-sans.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;
}
@font-face {
  font-family: "Public Sans";
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/public-sans-italic.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 {
  /* Palette — v2 "elegant": bright, airy ground; pine green carries the brand; river slate accents.
     Token names kept from v1 so every page re-skins at once. */
  --c-lodgepole: #24332B;      /* deep pine: body text, footer */
  --c-pine: #3F5B4A;           /* pine green: primary buttons, feature sections (white text 7.5:1) */
  --c-pine-hover: #35503F;
  --c-fog: #F8F8F5;            /* page ground: warm bright white */
  --c-paper: #FFFFFF;          /* raised surfaces: cards, inputs */
  --c-linen: #F0F2EE;          /* alternate section ground */
  --c-slate: #4E6B76;          /* river slate: accent text, links, rules (5.4:1 on fog) */
  --c-slate-soft: #8FA7AF;     /* decorative slate: thin lines, stars, icons */
  --c-mist: #E3EBEE;           /* soft slate fill: tags, hovers, chips */
  --c-lantern: #FFFFFF;        /* accent on dark/photo: white buttons and highlights */
  --c-brass: #4E6B76;          /* accent on light (alias of slate, kept for v1 pages) */
  --c-lichen: #C9D3CC;         /* quiet rules and secondary text on pine */
  --c-moss: #8FA7AF;           /* decorative only */
  --c-ink-soft: #55635B;       /* secondary text on light (5.9:1) */
  --c-white: #FFFFFF;
  --c-lodgepole-hover: #35503F;
  --c-lantern-hover: #E3EBEE;
  --c-placeholder: #6B7770;    /* 4.7:1 on white */
  --c-star: #4E6B76;

  /* Map vocabulary */
  --c-map-meadow: #D5DBB6;
  --c-map-meadow-2: #C6CFA3;
  --c-map-forest: #4E6B4E;
  --c-map-forest-2: #3A5540;
  --c-map-water: #8DB0BB;
  --c-map-water-deep: #5F8996;
  --c-map-road: #E4DEC9;
  --c-map-roof: #7A4B3A;
  --c-map-log: #9A6A4F;
  --c-map-ember: #E39A5B;

  /* Semantic */
  --c-bg: var(--c-fog);
  --c-surface: var(--c-paper);
  --c-ink: var(--c-lodgepole);
  --c-link: var(--c-slate);
  --c-accent: var(--c-brass);
  --c-focus: var(--c-slate);
  --c-error: #9B2C2C;
  --c-success: var(--c-lodgepole);

  /* Type */
  --f-display: "Besley", "Georgia", serif;
  --f-body: "Public Sans", system-ui, sans-serif;

  --t-display: clamp(2.75rem, 5.2vw + 1rem, 5.25rem);
  --t-h1: clamp(2.25rem, 3.4vw + 1rem, 3.6rem);
  --t-h2: clamp(1.75rem, 2.2vw + 1rem, 2.75rem);
  --t-h3: 1.375rem;
  --t-lead: 1.25rem;
  --t-body: 1.0625rem;
  --t-small: 0.9375rem;
  --t-label: 0.875rem;

  --lh-tight: 1.08;
  --lh-heading: 1.18;
  --lh-body: 1.6;

  /* Spacing — DETAILS.md scale, nothing between steps */
  --s-0-5: 2px;
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 40px;
  --s-8: 48px;
  --s-9: 64px;
  --s-10: 80px;
  --s-11: 96px;
  --s-12: 128px;

  /* Radius — hierarchy, not one value everywhere */
  --r-sm: 4px;     /* buttons, inputs, tags */
  --r-md: 10px;    /* cards */
  --r-lg: 18px;    /* feature panels, map frame */
  --r-pill: 999px; /* map pins only */

  /* Elevation */
  --e-rest: 0 1px 2px rgba(36, 51, 43, 0.05), 0 0 0 1px rgba(36, 51, 43, 0.07);
  --c-rule: rgba(36, 51, 43, 0.12);
  --e-hover: 0 8px 22px rgba(31, 58, 45, 0.12), 0 0 0 1px rgba(31, 58, 45, 0.07);
  --e-overlay: 0 20px 52px rgba(31, 58, 45, 0.24);
  --scrim: linear-gradient(180deg, rgba(20, 38, 29, 0.45) 0%, rgba(20, 38, 29, 0) 18%, rgba(20, 38, 29, 0.15) 32%, rgba(20, 38, 29, 0.74) 58%, rgba(20, 38, 29, 0.92) 100%);

  /* Motion — MOTION.md curves */
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-fluid: cubic-bezier(0.32, 0.72, 0, 1);
  --d-press: 160ms;
  --d-ui: 200ms;
  --d-ui-slow: 280ms;
  --d-edit: 700ms;
  --d-edit-long: 1400ms;
  --d-twinkle: 2400ms;         /* ambient bulb twinkle on the venue hangar */

  /* Layout */
  --w-text: 680px;
  --w-page: 1240px;
  --gutter: clamp(16px, 4vw, 48px);
  --nav-h: 72px;
}
