@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Inter+Tight:wght@500;600&family=JetBrains+Mono:wght@400;500&display=swap&subset=cyrillic,cyrillic-ext,latin');

*,*::before,*::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html, body { overflow-x: clip; max-width: 100%; }
.hero__grid > *, .media-split > *, .footer__grid > * { min-width: 0; }
h1, h2, h3, p { overflow-wrap: anywhere; }
body {
  font-family: Inter, 'Inter Tight', -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-size: 16px; line-height: 1.65; color: var(--ink);
  background: var(--canvas);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  font-feature-settings: 'cv05' 1, 'ss01' 1;
}
img,svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
ul { list-style: none; padding: 0; }

/* Type scale */
h1,h2,h3 { font-family: 'Inter Tight', Inter, sans-serif; font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; }
.hero-title { font-weight: 600; font-size: clamp(40px,5.2vw,72px); line-height: 1.02; letter-spacing: -0.03em; }
h1, .h1 { font-size: clamp(32px,3.6vw,48px); line-height: 1.05; letter-spacing: -0.025em; }
h2, .h2 { font-size: clamp(26px,2.6vw,34px); letter-spacing: -0.02em; }
h3, .h3 { font-size: clamp(20px,1.7vw,24px); font-weight: 500; letter-spacing: -0.01em; }
.lead { font-size: clamp(17px,1.5vw,19px); line-height: 1.6; color: var(--ink-secondary); }
.body { font-size: 16px; line-height: 1.65; }
.caption { font-size: 13px; line-height: 1.5; color: var(--ink-muted); }

/* Mono / telemetry */
.mono { font-family: 'JetBrains Mono','IBM Plex Mono',ui-monospace,'SF Mono',monospace;
  font-feature-settings: 'tnum' 1,'zero' 1,'ss01' 1; font-variant-numeric: tabular-nums; }
.num-lg { font-family: 'JetBrains Mono',ui-monospace,monospace; font-variant-numeric: tabular-nums;
  font-feature-settings: 'tnum' 1,'zero' 1; letter-spacing: -0.02em; }  /* tighten large nums */
.eyebrow { font-family: 'JetBrains Mono',ui-monospace,monospace; font-size: 11px; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); display: inline-flex;
  align-items: center; gap: var(--space-2); }
.eyebrow::before { content:''; width: 18px; height: 1px; background: var(--accent); display: inline-block; }

/* Layout */
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--space-6); }
.section { padding-block: clamp(var(--space-16),9vw,var(--space-24)); border-top: 1px solid var(--hairline); }
.section--plain { border-top: none; }
.section__head { max-width: 760px; margin-bottom: var(--space-12); }
.section__head .h2 { margin-top: var(--space-3); }
.section__head .lead { margin-top: var(--space-4); }
.text-muted { color: var(--ink-muted); }
.text-secondary { color: var(--ink-secondary); }

/* Reveal */
.reveal { opacity: 0; transform: translateY(10px); transition: opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out); }
.reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}

.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
