/* Sonora · design tokens. The only place values live. */
@font-face{font-family:"Space Grotesk";src:url("fonts/space-grotesk-latin-wght-normal.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap;}
@font-face{font-family:"Inter";src:url("fonts/inter-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;}
@font-face{font-family:"JetBrains Mono";src:url("fonts/jetbrains-mono-latin-wght-normal.woff2") format("woff2");font-weight:100 800;font-style:normal;font-display:swap;}
:root{
  color-scheme: dark;
  /* Colour */
  --color-bg: #0F0C0C;
  --color-surface: #181312;
  --color-card: #1D1716;
  --color-text: #F3EBE7;
  --color-heading: #FFFFFF;
  --color-muted: #AFA29C;
  --color-border: rgba(243,235,231,.12);
  --color-border-strong: rgba(243,235,231,.35);
  --color-accent: #FF6B3D;
  --color-accent-hover: #FF8460;
  --color-accent-text: #0F0C0C;
  --color-accent-strong: #FF6B3D;
  --color-accent-soft: rgba(255,107,61,.14);
  --color-inverse-bg: #FF6B3D;
  --color-inverse-text: #0F0C0C;
  --color-inverse-muted: #3A1608;
  --color-inverse-border: rgba(15,12,12,.4);
  --color-inverse-action: #0F0C0C;
  --color-inverse-action-hover: #241C1A;
  --color-inverse-action-text: #FF6B3D;
  --color-nav-bg: rgba(15,12,12,.8);
  --color-footer-bg: #0F0C0C;
  --color-footer-text: #F3EBE7;
  --color-footer-border: rgba(243,235,231,.12);
  --color-input-bg: #181312;
  --color-focus: #FF6B3D;
  --color-error: #FF5C8A;
}
/* Light theme: set by data-theme="light" (Light, or System on a light device). */
:root[data-theme="light"]{
  color-scheme: light;
  --color-bg: #FFFAF7;
  --color-surface: #F6EDE7;
  --color-card: #FFFFFF;
  --color-text: #2A1F1B;
  --color-heading: #0F0C0C;
  --color-muted: #6B5C55;
  --color-border: rgba(42,31,27,.14);
  --color-border-strong: rgba(42,31,27,.45);
  --color-accent-hover: #E8552A;
  --color-accent-strong: #B93A0E;
  --color-accent-soft: rgba(255,107,61,.18);
  --color-nav-bg: rgba(255,250,247,.85);
  --color-footer-bg: #F6EDE7;
  --color-footer-text: #2A1F1B;
  --color-footer-border: rgba(42,31,27,.14);
  --color-input-bg: #FFFFFF;
  --color-focus: #B93A0E;
  --color-error: #C4124F;
  --shadow-card: 0 1px 2px rgba(42,31,27,.06);
}
:root{
  /* Type */
  --font-display: "Space Grotesk", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --font-label: "JetBrains Mono", ui-monospace, monospace;
  --weight-display: 600;
  --weight-button: 600;
  --tracking-display: -0.035em;
  --tracking-label: 0;
  --label-case: none;
  --leading-display: 1.0;

  /* Shape */
  --radius-button: 12px;
  --radius-card: 20px;
  --radius-input: 12px;
  --radius-pill: 999px;
  --radius-mark: 8px;
  --radius-bullet: 999px;
  --shadow-card: none;

  /* Spacing scale */
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 24px;
  --space-6: 32px; --space-7: 48px; --space-8: 72px; --space-9: 112px;
  --gutter: clamp(20px, 4vw, 40px);
  --container: 1160px;
  --section-pad: clamp(72px, 10vw, 128px);
  --hero-pad: clamp(72px, 12vw, 160px);
  --hero-width: 52rem;

  /* Type scale (fluid) */
  --text-display: clamp(2.75rem, 7vw, 5.5rem);
  --text-h1: clamp(2.4rem, 5.5vw, 4.25rem);
  --text-h2: clamp(1.9rem, 3.8vw, 3rem);
  --text-h3: clamp(1.3rem, 2vw, 1.6rem);
  --text-lead: clamp(1.1rem, 1.6vw, 1.3rem);
  --text-body: 1rem;
  --text-small: .875rem;
  --leading-body: 1.6;

  /* Lines */
  --border-width: 1px;
  --border-width-strong: 2px;

  /* Motion */
  --motion-fast: .12s;
  --motion-slow: .45s;
  --motion-ease: cubic-bezier(.2,.7,.2,1);
  --motion-rise: 12px;
}
