/* Hallmark · genre: modern-minimal · design-system: site/DESIGN.md (дизайн лендинга, взят с Posiflora, закреплён) · designed-as-app
 * nav: N1b, на экранах уже 70em сворачивается в меню · footer: Ft3 на лендинге, Ft2 на внутренних страницах
 * pre-emit critique: P4 H4 E5 S4 R5 V3 (разнообразие намеренно низкое: страницы обязаны делить одну систему)
 *
 * Общая система сайта: токены, текучая шкала, шапка, меню, уведомление о cookie,
 * нижняя панель действия и компоненты, которые живут больше чем на одной странице.
 * Страница подключает этот файл и держит у себя только свои блоки.
 * Точки перелома: 48em (768 px) планшет, 70em (1120 px) полная навигация в шапке.
 */

@font-face{font-family:"Golos Text";src:url("../fonts/golos-text_regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Golos Text";src:url("../fonts/golos-text_medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Golos Text";src:url("../fonts/golos-text_demibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Golos Text";src:url("../fonts/golos-text_bold.woff2") format("woff2");font-weight:700 800;font-style:normal;font-display:swap}

/* ---------- токены ---------- */
:root{
  /* палитра лендинга */
  --ink:#1F1F25; --dark:#1C1C3A; --blue:#2261EB; --blue-d:#1B4FC4;
  --muted:#585869; --grey:#6E7180; --line:#E8E8E8; --white:#fff;
  /* производные: раньше жили хардкодом в отдельных правилах */
  --soft:#F2F3F5;     /* шапка карточки шага, шапка таблицы */
  --soft-2:#F7F8FA;   /* наведение и нажатие на строку */
  --faint:#C9CBD2;    /* стрелки строк, разделители крошек */
  --ink-2:#3A3A44;    /* текст на --soft, линии в тёмном меню */
  --ink-logo:#1B2438; /* словесный знак в подвале */
  --ok:#2E7D3A;       /* галочки */
  --sky:#9DB8FF;      /* акцент на тёмном фоне */
  --haze:#9CA1B3;     /* второстепенный текст на тёмном фоне */
  --tint:rgba(34,97,235,.08); --tint-1:rgba(34,97,235,.1); --tint-2:rgba(34,97,235,.16);
  --dk-card:rgba(255,255,255,.07); --dk-card-line:rgba(255,255,255,.1);
  --dk-fill:rgba(255,255,255,.08); --dk-fill-2:rgba(255,255,255,.13); --dk-line:rgba(255,255,255,.14);
  --warn-bg:#FFF5E5; --warn-ink:#8A5A00; --warn-dot:#E09B1A;
  --scrim:rgba(31,31,37,.82);
  /* плитки форматов */
  --tile-1:linear-gradient(180deg,#606C88,#3F4C6B);
  --tile-2:linear-gradient(180deg,#6180D0,#B3C8FF);
  --tile-3:linear-gradient(180deg,#E58A84,#C9605F);
  --tile-4:linear-gradient(180deg,#5557C9,#8E8FF5);
  --tile-5:linear-gradient(180deg,#92CF97,#6F9D72);
  --tile-6:linear-gradient(180deg,#EE7268,#F3A987);
  /* тени */
  --sh-cta:0 8px 22px rgba(34,97,235,.24);
  --sh-card:0 6px 20px rgba(34,97,235,.08);
  --sh-float:0 12px 32px rgba(31,31,37,.12);
  --sh-lift:0 10px 26px rgba(31,31,37,.18);
  --sh-bar:0 -8px 24px rgba(31,31,37,.08);
  --sh-req:0 8px 22px rgba(34,97,235,.26);
  --sh-toc:0 6px 18px rgba(31,31,37,.06);

  /* поля страницы с учётом выреза экрана и home-индикатора */
  --wrap:1200px;
  --gutter:clamp(16px, 5.74px + 2.564vw, 32px);
  --pad-l:max(var(--gutter), env(safe-area-inset-left));
  --pad-r:max(var(--gutter), env(safe-area-inset-right));
  --safe-b:env(safe-area-inset-bottom, 0px);
  --hd-h:60px;

  /* текучая шкала: значения растут от 375 до 1200 px и дальше не меняются */
  --fs-h1:clamp(2rem, 1.09rem + 3.88vw, 4rem);
  --fs-h2:clamp(1.625rem, 1.28rem + 1.45vw, 2.375rem);
  --fs-h2-dk:clamp(1.625rem, 1.37rem + 1.07vw, 2rem);
  --fs-sub:clamp(.9375rem, .85rem + .36vw, 1.0625rem);
  --sec:clamp(2.75rem, 1.96rem + 3.39vw, 4.5rem);

  --r-sm:12px; --r-md:16px; --r-lg:20px; --r-xl:24px; --r-pill:1000px;
  --r-block:clamp(24px, 19px + 1.3vw, 32px);

  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-in:cubic-bezier(.7,0,.84,0);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --dur-1:120ms; --dur-2:220ms; --dur-3:320ms;

  --z-toc:40; --z-bar:45; --z-hd:50; --z-toast:55; --z-menu:60;
}
@media (min-width:48em){:root{--hd-h:72px}}
@media (min-width:70em){:root{--hd-h:84px}}

/* ---------- основа ---------- */
html,body{margin:0;padding:0;overflow-x:clip}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hd-h) + 16px)}
body{background:var(--white)}
.fb-lock{overflow:hidden}
.fb{font-family:'Golos Text',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
.fb *,.fb *::before,.fb *::after{box-sizing:border-box}
.fb img,.fb svg{max-width:100%;display:block}
.fb button{font-family:inherit;cursor:pointer;border:0;background:transparent;color:inherit}
.fb a{text-decoration:none;color:inherit}
.fb a,.fb button,.fb summary{touch-action:manipulation}
.fb :focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
.fb h1,.fb h2,.fb h3{text-wrap:balance;overflow-wrap:anywhere}
.fb p,.fb li,.fb dd{text-wrap:pretty}
.fb .w{max-width:var(--wrap);margin:0 auto;padding-inline:var(--pad-l) var(--pad-r)}
.fb .skip{position:absolute;left:-9999px}
.fb .skip:focus{left:16px;top:16px;z-index:100;padding:10px 14px;border-radius:10px;background:var(--white);color:var(--ink)}

/* ---------- шапка: логотип слева, действия справа, в зоне большого пальца ---------- */
.fb-hd{position:sticky;top:0;z-index:var(--z-hd);height:var(--hd-h);display:flex;align-items:center;background:var(--ink);transition:transform var(--dur-2) var(--ease-out)}
.fb-hd-off .fb-hd{transform:translateY(-100%);transition-timing-function:var(--ease-in)}
.fb-hd .w{display:flex;align-items:center;gap:8px;width:100%}
.fb a.fb-logo{display:flex;align-items:center;gap:10px;min-height:44px;margin-right:auto;color:var(--white);font-size:20px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.fb-logo img{width:auto;height:30px;flex:none;max-width:none}
.fb-hd .nav{display:none}
.fb a.fb-login{display:none;flex:none;align-items:center;height:34px;padding:0 18px;border:1px solid var(--white);border-radius:30px;color:var(--white);font-size:14px;font-weight:500;white-space:nowrap}
.fb a.fb-req{display:none;flex:none;align-items:center;min-height:40px;padding:0 18px;border-radius:30px;background:var(--blue);color:var(--white);font-size:14px;font-weight:600;white-space:nowrap;box-shadow:var(--sh-req)}
.fb-burger{flex:none;width:44px;height:44px;margin-right:-10px;padding:0 10px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:5px}
.fb-burger i{display:block;height:2px;border-radius:2px;background:var(--white);transition:transform var(--dur-2) var(--ease-out),opacity var(--dur-1) var(--ease-out)}
.fb-burger i:nth-child(1),.fb-burger i:nth-child(3){width:24px}
.fb-burger i:nth-child(2){width:18px}
.fb-burger[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.fb-burger[aria-expanded="true"] i:nth-child(2){opacity:0}
.fb-burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- меню на телефоне и планшете ---------- */
.fb-mm{position:fixed;inset:var(--hd-h) 0 0 0;z-index:var(--z-menu);display:flex;flex-direction:column;background:var(--ink);color:var(--white);overflow-y:auto;overscroll-behavior:contain;animation:fb-mm-in var(--dur-2) var(--ease-out)}
.fb-mm[hidden]{display:none}
@keyframes fb-mm-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.fb-mm nav{padding-top:4px}
.fb-mm a.l{display:flex;align-items:center;min-height:60px;padding:0 var(--pad-r) 0 var(--pad-l);border-top:1px solid var(--ink-2);font-size:20px;font-weight:500;letter-spacing:-.01em}
.fb-mm a.l:first-child{border-top:0}
.fb-mm a.l:active{background:var(--dk-fill)}
.fb-mm .foot{position:sticky;bottom:0;margin-top:auto;padding:16px var(--pad-r) calc(16px + var(--safe-b)) var(--pad-l);background:var(--ink)}
.fb-mm .foot a{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:var(--r-sm);background:var(--blue);font-size:17px;font-weight:600;white-space:nowrap}

/* ---------- кнопки ---------- */
.fb a.qbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;padding:12px 20px;margin:24px 0 0;border-radius:var(--r-md);background:var(--blue);color:var(--white);font-size:17px;font-weight:600;line-height:1.2;text-align:center;white-space:nowrap}
.fb a.qbtn,.fb a.fb-req,.fb button.fb-ck__ok,.fb button.fb-ck__no,.fb-mm .foot a,.fb a.fb-bar__go{transition:background-color var(--dur-2) var(--ease-out),transform var(--dur-1) var(--ease-out)}
.fb a.qbtn:active,.fb a.fb-req:active,.fb button.fb-ck__ok:active,.fb button.fb-ck__no:active,.fb-mm .foot a:active,.fb a.fb-bar__go:active{transform:scale(.98)}

/* ---------- список-ссылки ---------- */
.fb-rows{margin-top:20px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line)}
.fb a.fb-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:14px 16px;border-bottom:1px solid var(--line);font-size:16px;font-weight:500;line-height:1.3;background:var(--white);transition:background-color var(--dur-1) var(--ease-out)}
.fb a.fb-row:last-child{border-bottom:0}
.fb a.fb-row:active{background:var(--soft-2)}
.fb-row .ic{flex:none;width:24px;height:24px;color:var(--blue)}
.fb-row .num{flex:none;width:24px;color:var(--blue);font-weight:600}
.fb-row small{display:block;margin-top:2px;font-size:13px;font-weight:400;color:var(--grey)}
.fb-row .arw{margin-left:auto;flex:none;color:var(--faint)}

/* ---------- список с галочками ---------- */
.fb-checks{display:flex;flex-direction:column;gap:8px;margin:14px 0;padding:0}
.fb-checks li{list-style:none;display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--ink);line-height:1.4}
.fb-checks svg{flex:none;margin-top:2px;color:var(--ok)}

/* ---------- аккордеон: высота растёт плавно, закрытый ответ скрыт от скринридера ---------- */
.fb-acc{margin-top:20px;border-top:1px solid var(--line)}
.fb-item{border-bottom:1px solid var(--line)}
.fb button.fb-q{display:flex;align-items:flex-start;gap:12px;width:100%;min-height:56px;padding:17px 0;text-align:left;font-size:16px;font-weight:500;color:var(--ink);line-height:1.35}
.fb-q .chev{margin-left:auto;flex:none;width:20px;height:20px;transition:transform var(--dur-2) var(--ease-out)}
.fb-item.open .fb-q .chev{transform:rotate(180deg)}
.fb-a{display:grid;grid-template-rows:0fr;visibility:hidden;font-size:15px;color:var(--muted);line-height:1.5;transition:grid-template-rows var(--dur-3) var(--ease-io),visibility 0s var(--dur-3)}
.fb-item.open .fb-a{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows var(--dur-3) var(--ease-io),visibility 0s}
.fb-a>div{min-height:0}
.fb-item:not(.open) .fb-a>div,.fb-item.is-anim .fb-a>div{overflow:hidden}
.fb-a>div::after{content:"";display:block;height:18px}
.fb-a p{margin:0 0 10px}.fb-a p:last-child{margin:0}

/* ---------- лента со snap: на телефоне вместо стопки карточек ---------- */
.fb-rail{display:grid;grid-auto-flow:column;grid-auto-columns:var(--rail-item,80%);gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad-l) var(--pad-r);margin-inline:calc(var(--pad-l) * -1) calc(var(--pad-r) * -1);padding:4px var(--pad-r) 20px var(--pad-l);scrollbar-width:none}
.fb-rail::-webkit-scrollbar{display:none}
.fb-rail>*{scroll-snap-align:start}

/* ---------- тёмные блоки ---------- */
.fb-quiz,.fb-care,.fb-lead{border-radius:var(--r-block);background:var(--dark);color:var(--white);padding:28px 20px}
.fb-lead h2{margin:0;color:var(--white);font-size:var(--fs-h2-dk);font-weight:700;line-height:1.15}
.fb-lead .l1{margin:14px 0 0;font-size:15px;line-height:1.5;opacity:.9;max-width:60ch}
.fb-lead .note{margin:12px 0 0;font-size:13px;opacity:.75;line-height:1.4}
.fb-lead a.qbtn svg{width:22px;height:22px;flex:none}

/* ---------- оглавление, которое сворачивается ---------- */
.toc-m{margin:24px 0 0;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--white);overflow:hidden}
.toc-m summary{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 16px;font-size:16px;font-weight:500;cursor:pointer;list-style:none}
.toc-m summary::-webkit-details-marker{display:none}
.toc-m summary .chev{margin-left:auto;flex:none;width:20px;height:20px;transition:transform var(--dur-2) var(--ease-out)}
.toc-m[open] summary .chev{transform:rotate(180deg)}

/* ---------- уведомление о cookie: одна строка, над home-индикатором ---------- */
.fb-ck{position:fixed;left:var(--pad-l);right:var(--pad-r);bottom:calc(12px + var(--safe-b));z-index:var(--z-toast);max-width:600px;margin:0 auto;padding:12px 12px 12px 16px;border-radius:var(--r-md);background:var(--white);border:1px solid var(--line);box-shadow:var(--sh-float);display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.fb-ck[hidden]{display:none}
/* на самых узких экранах кнопка уходит под текст, а не сжимает его в столбик */
.fb-ck p{flex:1 1 190px;margin:0;font-size:13px;line-height:1.4;color:var(--muted)}
.fb-ck p a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.fb-ck__acts{flex:none;margin-left:auto;display:flex;gap:8px}
.fb button.fb-ck__no{min-height:44px;padding:0 14px;border-radius:var(--r-sm);background:var(--soft);color:var(--ink-2);font-size:14px;font-weight:600;white-space:nowrap}
.fb button.fb-ck__ok{flex:none;min-height:44px;padding:0 18px;border-radius:var(--r-sm);background:var(--blue);color:var(--white);font-size:14px;font-weight:600;white-space:nowrap}

/* ---------- нижняя панель действия: только телефон ---------- */
.fb-bar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-bar);display:flex;align-items:center;gap:12px;padding:10px var(--pad-r) calc(10px + var(--safe-b)) var(--pad-l);background:var(--white);border-top:1px solid var(--line);box-shadow:var(--sh-bar);transform:translateY(100%);visibility:hidden;transition:transform var(--dur-2) var(--ease-in),visibility 0s var(--dur-2)}
.fb-bar.on{transform:none;visibility:visible;transition:transform var(--dur-3) var(--ease-out),visibility 0s}
.fb-bar__pr{flex:1 1 auto;min-width:0;margin:0;display:flex;flex-direction:column}
.fb-bar__pr b{font-size:20px;font-weight:700;line-height:1.15;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.fb-bar__pr span{font-size:13px;line-height:1.3;color:var(--grey)}
.fb a.fb-bar__go{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:var(--r-sm);background:var(--blue);color:var(--white);font-size:16px;font-weight:600;white-space:nowrap;box-shadow:var(--sh-cta)}

/* ---------- подвал ---------- */
.fb-ft{border-top:1px solid var(--line);padding-top:28px}
.fb-ft .row{display:flex;flex-direction:column;gap:12px;padding-bottom:20px}
.fb-ft .lg{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--ink-logo)}
.fb-ft .lg img{width:auto;height:32px}
.fb-ft .links{display:flex;flex-wrap:wrap;gap:0 24px}
.fb .fb-ft .links a{display:inline-flex;align-items:center;min-height:40px;font-size:15px;color:var(--muted);white-space:nowrap}
.fb-legal{border-top:1px solid var(--line);padding:20px 0 calc(36px + var(--safe-b));display:flex;flex-direction:column;gap:8px}
.fb-legal p{margin:0;font-size:13px;color:var(--grey);line-height:1.45}
.fb-legal .dev a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}

/* ---------- наведение только там, где есть мышь: на тач-экране hover залипает ---------- */
@media (hover:hover) and (pointer:fine){
  .fb a.qbtn:hover,.fb a.fb-req:hover,.fb button.fb-ck__ok:hover,.fb-mm .foot a:hover,.fb a.fb-bar__go:hover{background:var(--blue-d)}
  .fb a.fb-row:hover{background:var(--soft-2)}
  .fb button.fb-ck__no:hover{background:var(--line)}
  .fb .fb-ft .links a:hover,.fb-legal .dev a:hover{color:var(--blue)}
}
@media (pointer:coarse){
  .fb a.fb-req{min-height:44px}
}

/* ---------- планшет ---------- */
@media (min-width:48em){
  .fb a.fb-req{display:inline-flex}
  .fb-burger{margin-left:6px}
  .fb a.qbtn{width:fit-content;max-width:100%;padding:12px 26px}
  .fb-quiz,.fb-care,.fb-lead{padding:44px 40px}
  .fb-rail{display:grid;grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;scroll-snap-type:none;margin-inline:0;padding:0}
  .fb-ck{left:auto;right:32px;bottom:calc(24px + var(--safe-b));margin:0;flex-wrap:nowrap;gap:18px;padding:16px 20px;border-radius:var(--r-lg)}
  .fb-ck p{font-size:14px;line-height:1.45}
  .fb-bar{display:none}
  .fb-ft .row{flex-direction:row;align-items:center;gap:32px;padding-bottom:24px}
  .fb-ft .links{margin-left:auto}
  .fb-legal{flex-direction:row;justify-content:space-between;gap:24px}
}

/* ---------- десктоп: полная навигация ---------- */
@media (min-width:70em){
  .fb-hd .w{gap:16px}
  .fb a.fb-logo{margin-right:0;font-size:23px}
  .fb-logo img{height:36px}
  .fb-hd .nav{margin-left:auto;display:flex;gap:26px;color:var(--white);font-size:15px;font-weight:500;opacity:.9}
  .fb-hd .nav a{white-space:nowrap}
  .fb-hd .nav a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:6px}
  .fb a.fb-login{display:inline-flex;margin-left:26px}
  .fb-burger,.fb-mm{display:none!important}
}
@media (min-width:70em) and (hover:hover) and (pointer:fine){
  .fb-hd .nav a:hover{opacity:.7}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .fb *,.fb *::before,.fb *::after{animation:none!important;transition:none!important}
}
