:root {
  --text: #f0ebe3;
  --text-muted: rgba(240, 235, 227, 0.76);
  --text-dark: #14110e;
  --text-dark-muted: #4a433a;
  --accent: #b8944f;
  --accent-hover: #d4b06a;
  --accent-dark: #8a6f3a;
  --brown-dark: #1e1410;
  --brown-dark-hover: #352820;
  --link: #c4511a;
  --link-hover: #e0682a;
  --link-nav: #eb7a32;
  --scrim: rgba(12, 10, 8, 0.88);
  --scrim-mid: rgba(12, 10, 8, 0.55);
  --surface-soft: #f2ebe0;
  --surface: #e8e0d2;
  --surface-alt: #ddd4c4;
  --surface-deep: #ddd4c4;
  --surface-dark: #0f0d0b;
  --surface-ink: #120c0a;
  --surface-ink-hover: #1e1410;
  --surface-olive: #2a2f24;
  --surface-olive-light: #353b2e;
  --surface-band: #d5cbb8;
  --surface-card: rgba(255, 255, 255, 0.38);
  --shadow-card: 0 6px 22px rgba(15, 13, 11, 0.05);
  --shadow-card-hover: 0 10px 28px rgba(15, 13, 11, 0.1);
  --shadow-rugged-hover: 0 12px 32px rgba(8, 6, 4, 0.34);
  --surface-transition: box-shadow 0.22s ease, transform 0.22s ease, color 0.22s ease;
  --surface-lift-y: -2px;
  --border: rgba(184, 148, 79, 0.45);
  --border-strong: rgba(20, 17, 14, 0.18);
  --font: "Source Sans 3", "Segoe UI", system-ui, sans-serif;
  --font-display: "Oswald", "Roboto Condensed", "Segoe UI", sans-serif;
  --font-condensed: "Oswald", "Roboto Condensed", "Segoe UI", sans-serif;
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --container: min(1320px, calc(100% - 3rem));
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 5.5rem;
  --section-pad-y: clamp(3.5rem, 7vw, 6rem);
  --section-pad-after-hero: clamp(2.75rem, 4.5vw, 3.5rem);
  --header-height: 6.5rem;
  --header-height-scrolled: 4.15rem;
  --safe-top: env(safe-area-inset-top, 0px);
  --header-total: calc(var(--header-height) + var(--safe-top));
  --header-total-scrolled: calc(var(--header-height-scrolled) + var(--safe-top));
  --logo-width: clamp(5.6rem, 7.4vw, 7.2rem);
  --logo-overhang: clamp(1.8rem, 3vw, 2.7rem);
  --logo-width-scrolled: clamp(2.8rem, 3.4vw, 3.4rem);
  --shadow-rugged: 0 8px 28px rgba(8, 6, 4, 0.28);
  --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.06);
  --texture-grain: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");
  --texture-tile-size: 180px;
  --texture-brown-opacity: 0.125;
  --texture-olive-opacity: 0.072;

  /* Stacking */
  --z-header: 1000;
  --z-lightbox: 1100;

  /*
   * Type scale — sitewide tokens.
   * Headings → body → UI/meta → layout-specific.
   * Responsive adjustments live in the @media block below.
   */
  --type-hero-home: clamp(2.2rem, 1rem + 5.25vw, 3.65rem);
  --type-display: clamp(1.65rem, 3.5vw, 2.35rem);
  --type-display-sm: clamp(1.35rem, 2.5vw, 1.65rem);
  --type-h1: clamp(1.75rem, 2.5vw, 2.125rem);
  --type-section: clamp(1.45rem, 2.1vw, 1.85rem);
  --type-h2: clamp(1.35rem, 1.9vw, 1.625rem);
  --type-hero-page: clamp(1.35rem, 2.2vw, 1.875rem);
  --type-feature-title: clamp(1.2rem, 2.1vw, 1.5rem);
  --type-h3: clamp(1.125rem, 1.5vw, 1.3rem);
  --type-card-title: clamp(1.15rem, 1.8vw, 1.35rem);
  --type-subsection-title: clamp(1.05rem, 1.8vw, 1.25rem);
  --type-stat: 2rem;
  --type-h4: 1.0625rem;
  --type-body: 1.0625rem;
  --type-body-lg: 1.05rem;
  --type-home-lede: clamp(1rem, 1.55vw, 1.12rem);
  --type-lede: clamp(1rem, 1.6vw, 1.08rem);
  --type-prose: clamp(0.98rem, 1.4vw, 1.06rem);
  --type-prose-sm: clamp(0.95rem, 1.2vw, 1.08rem);
  --type-ui: 1rem;
  --type-h5: 1rem;
  --type-body-sm: 0.9375rem;
  --type-input: 0.9375rem;
  --type-footer: 0.9375rem;
  --type-hero-subtext: clamp(0.85rem, 1.1vw, 0.95rem);
  --type-footer-heading: 0.95rem;
  --type-footer-subheading: 0.82rem;
  --type-h6: 0.875rem;
  --type-footer-sm: 0.875rem;
  --type-nav: 0.85rem;
  --type-caption: 0.8125rem;
  --type-label: 0.78rem;
  --type-eyebrow: clamp(0.72rem, 1.2vw, 0.82rem);
  --type-micro: 0.72rem;
  --type-field-height: 2.55rem;
}

@media (max-width: 768px) {
  :root {
    --type-lede: var(--type-body);
    --type-home-lede: var(--type-body);
    --type-label: 0.8125rem;
    --type-input: var(--type-ui);
    --type-hero-subtext: clamp(0.95rem, 2.8vw, 1.02rem);
    --type-card-title: clamp(1.22rem, 4.5vw, 1.38rem);
    --type-body-lg: var(--type-body);
    --type-field-height: 2.75rem;
  }
}
