/* Собрано из design/tokens.json — не править руками. */
:root {

  /* color */
  --color-navy-900: #0B2A48;
  --color-navy-600: #164A7B;
  --color-navy-300: #5B87B5;
  --color-cream-100: #F9F0DC;
  --color-sand-300: #D8C7A6;
  --color-sun-500: #FFDE59;
  --color-verde-600: #2FA98C;
  --color-verde-400: #4FC8A9;
  --color-berry-600: #D9456B;
  --color-berry-400: #F0708F;

  /* semantic */
  --semantic-bg-page: #F9F0DC;
  --semantic-bg-deep: #0B2A48;
  --semantic-bg-section: #164A7B;
  --semantic-text-on-light: #0B2A48;
  --semantic-text-on-dark: #F9F0DC;
  --semantic-text-muted-dark: #D8C7A6;
  --semantic-text-muted-light: #3D5872;
  --semantic-border-light: #0B2A481F;
  --semantic-border-dark: #F9F0DC2E;
  --semantic-cta-bg: #FFDE59;
  --semantic-cta-text: #0B2A48;

  /* font */
  --font-family-sans: Jost, Futura, "Avenir Next", system-ui, sans-serif;
  --font-family-display: "Inter Tight", Inter, system-ui, sans-serif;
  --font-family-serif: "Source Serif 4", Georgia, serif;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;

  /* space */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --space-32: 128px;
  --space-48: 192px;

  /* radius */
  --radius-none: 0;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  /* glass */
  --glass-on-dark-bg: #0B2A4859;
  --glass-on-dark-border: #F9F0DC2E;
  --glass-on-dark-blur: 20px;
  --glass-on-dark-text: #F9F0DC;
  --glass-on-light-bg: #F9F0DC8C;
  --glass-on-light-border: #0B2A481A;
  --glass-on-light-blur: 20px;
  --glass-on-light-text: #164A7B;

  /* bar */
  --bar-height-hero: 72px;
  --bar-height-stuck: 60px;
  --bar-mark-hero: 44px;
  --bar-mark-stuck: 40px;
  --bar-stick-at: 80px;

  /* block */
  --block-height: clamp(848px, calc(43vw + 288px), 1008px);
  --block-inset: clamp(16px, 6.5vw, 120px);

  /* motion */
  --motion-duration-fast: 160ms;
  --motion-duration-base: 240ms;
  --motion-duration-slow: 400ms;
  --motion-ease-out: 0.2, 0, 0, 1;
  --motion-ease-inout: 0.65, 0, 0.35, 1;

  /* breakpoint */
  --breakpoint-sm: 480px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-xxl: 1600px;
}

.t-display {
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(2rem, 4.45vw, 4rem);
  line-height: 0.96;
  letter-spacing: -0.032em;
  text-transform: none;
}
.t-h2 {
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(1.75rem, 3.1vw, 2.75rem);
  line-height: 1.0;
  letter-spacing: -0.03em;
  text-transform: none;
}
.t-h3 {
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-transform: none;
}
.t-lead {
  font-family: Jost, Futura, "Avenir Next", system-ui, sans-serif;
  font-weight: 400;
  font-size: clamp(1.125rem, 1.5vw, 1.3125rem);
  line-height: 1.45;
  letter-spacing: 0;
}
.t-body {
  font-family: Jost, Futura, "Avenir Next", system-ui, sans-serif;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.6;
  letter-spacing: 0;
}
.t-small {
  font-family: Jost, Futura, "Avenir Next", system-ui, sans-serif;
  font-weight: 400;
  font-size: 0.9375rem;
  line-height: 1.5;
  letter-spacing: 0;
}
.t-label {
  font-family: Jost, Futura, "Avenir Next", system-ui, sans-serif;
  font-weight: 600;
  font-size: 0.75rem;
  line-height: 1.4;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.t-hero {
  font-family: "Inter Tight", Inter, system-ui, sans-serif;
  font-weight: 800;
  font-size: clamp(2.75rem, 6.2vw, 5.5rem);
  line-height: 0.94;
  letter-spacing: -0.035em;
  text-transform: none;
}
.t-ital {
  font-family: "Source Serif 4", Georgia, serif;
  font-weight: 400;
  font-style: italic;
  letter-spacing: -0.012em;
  text-transform: none;
}
