/* Hallmark · theme: Squeeze (dealt 3/3, seed midi-feb1·624c029c·2026-11-03·r0) · adapted display: Unbounded 800 for Cyrillic · genre: playful · shape: Index + Split · hero: Stage · nav: edge-aligned wordmark, three links, MIDI status · footer: mast with sources · imagery: none, the product is built · posture: drenched · v2.0.0
 * pre-emit critique: P4 H4 E4 S4 R4 V4 · weakest: S, a music school can look like any music school; led with a playable keyboard and a real MIDI keyboard setup instead of an illustration.
 * nav: edge-aligned wordmark and three real destinations, no marketing button · footer: a mast with the sources and the MIDI caveat
 * hero-review: subagent · ship · 2 low findings · 1 fixed 1 answered (readout now ink; headline kept, specificity carried by the lead and the keyboard)
 * finish-review: subagent · fix · 6 findings · 6 resolved (empty studio state, touch keyboard, roll pager, coarse hint, mobile header, lesson progress)
 * sweep: render 0 FAIL · 0 WARN · 1 waived (39b)
 */
/* Hallmark · waive 39b · the instrument's piano keys and drum pads are the product and each pad is a full-size hit target · the 44px rule would make the keyboard unplayable */

@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../assets/fonts/unbounded-800-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../assets/fonts/unbounded-800-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('../assets/fonts/manrope-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500 700;
  font-display: swap;
  src: url('../assets/fonts/manrope-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Bravura';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../assets/fonts/Bravura.otf') format('opentype');
}

:root {
  --color-paper: oklch(41% 0.100 154);
  --color-paper-2: oklch(47% 0.105 154);
  --color-paper-3: oklch(34% 0.090 156);
  --color-paper-4: oklch(29% 0.075 156);
  --color-ink: oklch(99% 0.005 90);
  --color-ink-2: oklch(94% 0.020 120);
  --color-muted: oklch(90% 0.030 150);
  --color-rule: oklch(58% 0.095 154);
  --color-accent: oklch(83% 0.115 56);
  --color-accent-2: oklch(74% 0.150 46);
  --color-accent-ink: oklch(30% 0.070 40);
  --color-focus: oklch(88% 0.140 85);
  --color-card: oklch(97% 0.012 85);
  --color-card-ink: oklch(24% 0.050 160);
  --color-card-muted: oklch(43% 0.035 160);
  --color-success: oklch(86% 0.095 150);
  --color-success-ink: oklch(29% 0.060 155);
  --color-error: oklch(84% 0.100 28);
  --color-error-ink: oklch(29% 0.075 25);
  --color-scrim: oklch(20% 0.030 155 / 0.72);
  --key-white-edge: oklch(85% 0.020 85);
  --key-black-edge: oklch(22% 0.050 158);

  --font-display: 'Unbounded', ui-sans-serif, system-ui, sans-serif;
  --font-body: 'Manrope', ui-sans-serif, system-ui, sans-serif;
  --font-music: 'Bravura', 'Noto Music', serif;

  --text-display: clamp(2.7rem, 6.4vw, 5.25rem);
  --text-display-s: clamp(2.2rem, 4.4vw, 3.75rem);
  --text-section: clamp(1.85rem, 3.4vw, 3.25rem);
  --text-title: clamp(1.18rem, 1.6vw, 1.5625rem);
  --text-lead: clamp(1.125rem, 1.4vw, 1.3125rem);
  --text-md: 1rem;
  --text-sm: 0.875rem;
  --text-xs: 0.75rem;

  --space-3xs: 2px;
  --space-2xs: 4px;
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 40px;
  --space-2xl: 64px;
  --space-3xl: 96px;
  --space-4xl: 144px;

  --container: 1440px;
  --gutter: 64px;
  --gap-columns: 32px;
  --radius-card: 24px;
  --radius-card-inner: 16px;
  --radius-panel: 20px;
  --radius-small: 12px;
  --radius-control: 16px;
  --radius-input: 14px;
  --radius-pill: 999px;

  --section-gap-s: 120px;
  --section-gap: 144px;
  --section-gap-l: 176px;

  --rule-hair: 1px;
  --rule-bar: 2px;
  --shadow-card: 0 18px 40px -20px oklch(20% 0.050 160 / 0.55);
  --shadow-lift: 0 10px 24px -16px oklch(20% 0.050 160 / 0.45);

  --tracking-display: -0.025em;
  --display-weight: 800;

  --dur-micro: 120ms;
  --dur-short: 220ms;
  --dur-long: 420ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 200;
  --z-sticky-nav: 300;
  --z-modal: 400;
  --z-toast: 500;
  --z-tooltip: 600;
}
