/* Токены дизайна, сброс, типографика. Значения перенесены из исходного дизайна без изменений. */
:root{
  --ink:#121317;
  --graphite:#1B1D23;
  --graphite-line:#2B2E37;
  --steel:#5A5F6D;
  --steel-on-dark:#9CA2B0;
  --line:#D6D8DE;
  --mist:#F0F1F4;
  --paper:#FFFFFF;
  --red:#E01E2E;
  --red-deep:#B8121F;
  --rail:#E6767F;
  --navy:#022060;

  --f-display:'IBM Plex Sans Condensed','Arial Narrow','Roboto Condensed',Arial,sans-serif;
  --f-body:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;

  --pad:clamp(16px,4vw,56px);
  --indent:clamp(26px,5.6vw,78px);
  --rx:8px;
  --railx:calc(max(0px,(100% - 1440px)/2) + var(--pad) + var(--rx));
  --nodey:92px;
  --ease:cubic-bezier(.22,.61,.36,1);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
img,svg{max-width:100%}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
::selection{background:var(--red);color:#fff}
[hidden]{display:none!important}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--ink);color:#fff;padding:10px 16px}
.skip:focus{left:16px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- типографика ---------- */
.mono{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;line-height:1.4}
.mono.red{color:var(--red)}
.mono.dim{color:var(--steel)}
.mono.soft{color:var(--steel-on-dark)}
.mono.bright{color:#fff}
.h1{font-family:var(--f-display);font-weight:700;letter-spacing:-.02em;line-height:1;font-size:clamp(44px,7.2vw,96px);text-wrap:balance}
.h2{font-family:var(--f-display);font-weight:700;letter-spacing:-.015em;line-height:1.04;font-size:clamp(30px,3.9vw,54px);text-wrap:balance}
.h3{font-family:var(--f-display);font-weight:600;letter-spacing:-.005em;line-height:1.15;font-size:clamp(20px,1.9vw,26px)}
.lead{font-size:clamp(15px,1.15vw,17px);line-height:1.6;color:#2B2E36;max-width:46ch}
.body-text{max-width:60ch;color:#2B2E36}
.body-text p+p{margin-top:1em}
.on-dark{color:#fff}
.on-dark .lead,.on-dark .body-text{color:#C9CDD6}
