/* Webfonts: Unbounded (display), Onest (body), JetBrains Mono (mono) — Google Fonts, variable */
/* cyrillic-ext */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(../assets/fonts/Unbounded-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(../assets/fonts/Unbounded-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url(../assets/fonts/Unbounded-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../assets/fonts/Onest-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../assets/fonts/Onest-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../assets/fonts/Onest-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(../assets/fonts/JetBrainsMono-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(../assets/fonts/JetBrainsMono-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(../assets/fonts/JetBrainsMono-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
/* Brand (из логотипа — использовать ТОЛЬКО в градиенте логотипа, главном CTA и редких акцентах) */
--brand-purple:#9617B0;--brand-pink:#F0485E;--brand-orange:#F27633;
/* Утверждённые кнопки (Figma › Colors): primary #FB6939→#E80B6B, secondary #AF9EC2→#5D4D79, disable #AF9EC2, contrast #FFF */
--btn-primary-from:#FB6939;--btn-primary-to:#E80B6B;--btn-secondary-from:#AF9EC2;--btn-secondary-to:#5D4D79;--btn-disable:#AF9EC2;--btn-contrast:#FFFFFF;
--grad-brand:linear-gradient(105deg,#FB6939 0%,#E80B6B 100%);/* @kind other */
--grad-secondary:linear-gradient(105deg,#AF9EC2 0%,#5D4D79 100%);/* @kind other */
/* Lavender accent scale */
--lav-100:#F1F0FB;--lav-200:#E9EAFC;--lav-300:#CFC7E3;--lav-400:#AF9EC2;--lav-500:#87779F;--lav-600:#5D4D79;--lav-700:#493B61;
/* Neutrals — light (тёплая «галерейная» бумага) */
--paper:#FFFFFF;--paper-2:#F6F7FB;--paper-3:#E9EAFC;
--ink:#2B2E39;--ink-2:#5D4D79;--ink-3:#AF9EC2;
--line:#E9EAFC;--line-strong:#D3D4EE;
/* Semantic status */
--ok:#3D9A63;--err:#FF3E30;--warn:#B97E24;
/* Aliases */
--surface-page:var(--paper);--surface-card:var(--paper-2);--surface-sunken:var(--paper-3);
--surface-inverse:var(--ink);--text-inverse:var(--paper);
--text-body:var(--ink);--text-muted:var(--ink-2);--text-faint:var(--ink-3);
--accent:#E80B6B;--accent-hover:#C9095C;--accent-ink:#FFFFFF;--accent-warm:#FB6939;
--accent-soft:var(--lav-100);--accent-soft-2:var(--lav-200);
--border-subtle:var(--line);--border-strong:var(--line-strong);
--focus-ring:0 0 0 2px var(--surface-page),0 0 0 4px #E80B6B;
--selection:var(--lav-200);
color-scheme:light;
}
[data-theme="dark"]{
--paper:#12131A;--paper-2:#1A1B25;--paper-3:#232432;
--ink:#F0F0F6;--ink-2:#B9AFD0;--ink-3:#6F6884;
--line:#282938;--line-strong:#3B3C50;
--ok:#5DBB84;--err:#FF6A5E;--warn:#D9A04C;
/* тёмная тема: «инверсные» блоки (подвал, полосы-призывы, мобильное меню) тоже тёмные - глубже фона
   страницы, текст на них светлый; раньше они становились светлыми (решение пользователя 30.10.2026) */
--surface-inverse:#0B0C11;--text-inverse:#F0F0F6;
--accent:#F0338A;--accent-hover:#F55FA3;--accent-ink:#FFFFFF;--accent-warm:#FB7A50;
--accent-soft:#282233;--accent-soft-2:#332B42;
--focus-ring:0 0 0 2px var(--surface-page),0 0 0 4px #F0338A;
--selection:#3A2E5C;
color-scheme:dark;
}

:root{
--font-display:'Unbounded',system-ui,sans-serif;
--font-body:'Onest',system-ui,sans-serif;
--font-mono:'JetBrains Mono',ui-monospace,monospace;
/* Display — Unbounded, широкий: держать вес 400–600, трекинг слегка отрицательный */
--display-2xl:clamp(44px,6vw,84px);/* @kind font */--display-xl:clamp(36px,4.5vw,60px);/* @kind font */--display-l:clamp(28px,3vw,40px);/* @kind font */--display-m:24px;/* @kind font */
--display-weight:500;--display-tracking:-0.02em;--display-leading:1.06;
/* Body — Onest */
--text-xl:20px;--text-l:17px;--text-m:15px;--text-s:13px;--text-xs:12px;
--body-leading:1.6;
/* Mono — служебные подписи, нумерация, ярлыки */
--label-tracking:0.14em;/* всегда uppercase + этот трекинг */
}

:root{
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:144px;
--container:1200px;--container-pad:clamp(20px,4vw,48px);
}

:root{
/* Радиусы. Фирменный приём — «подрезанный» угол: три больших радиуса + один малый */
--radius-s:8px;--radius-m:14px;--radius-l:22px;--radius-pill:999px;
--radius-quirk:22px 22px 22px 6px;--radius-quirk-r:22px 22px 6px 22px;
/* Тени — мягкие, тёплые, низкая непрозрачность; в тёмной теме вместо теней — бордеры */
--shadow-s:0 1px 2px rgba(23,20,27,.05),0 2px 8px rgba(23,20,27,.04);
--shadow-m:0 2px 6px rgba(23,20,27,.05),0 12px 32px rgba(23,20,27,.08);
--shadow-l:0 4px 12px rgba(23,20,27,.06),0 24px 64px rgba(23,20,27,.12);
--shadow-accent:0 8px 24px rgba(232,11,107,.18);
/* Движение — длинные «дорогие» easing, как у референса */
--ease-out:cubic-bezier(.16,1,.3,1);/* @kind other */--ease-inout:cubic-bezier(.65,0,.35,1);/* @kind other */
--dur-fast:150ms;/* @kind other */--dur-med:300ms;/* @kind other */--dur-slow:650ms;/* @kind other */
}
[data-theme="dark"]{
--shadow-s:none;--shadow-m:none;--shadow-l:0 24px 64px rgba(0,0,0,.5);
--shadow-accent:0 8px 24px rgba(240,51,138,.22);
}

*{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--text-m);line-height:var(--body-leading);-webkit-font-smoothing:antialiased}
::selection{background:var(--selection)}
a{color:var(--accent);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}
a:hover{color:var(--accent-hover)}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}
h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);line-height:var(--display-leading);margin:0}
.ds-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--text-faint)}

