
/* cyrillic-ext */
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 800;
  font-display: optional;
  src: url(/fonts/golos-text-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: 'Golos Text';
  font-style: normal;
  font-weight: 400 800;
  font-display: optional;
  src: url(/fonts/golos-text-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 800;
  font-display: optional;
  src: url(/fonts/golos-text-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 800;
  font-display: optional;
  src: url(/fonts/golos-text-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;
}


/* ══════════════════════════════════════════════════════════════════
   kadri.pro v9 — mobile-first. Базовые правила = телефон,
   расширения только через @media(min-width). Ни одного max-width.
   ══════════════════════════════════════════════════════════════════ */

:root{
  /* ── поверхности: три уровня глубины вместо двух ── */
  --ink:#080d18; --ink-1:#0c1322; --ink-2:#111a2c; --ink-3:#16203a;
  --line:rgba(255,255,255,.085); --line-2:rgba(255,255,255,.17);
  --txt:#eef1f7; --dim:#9aa6bd; --dim-2:#828fa8;
  /* ── золото: рабочий тон + светлый для бликов + тёмный для текста по светлому ── */
  --gold:#d8b26a; --gold-lt:#f0d9a8; --gold-dk:#8a6520; --gold-ink:#1b1305;
  --gold-05:rgba(216,178,106,.05); --gold-12:rgba(216,178,106,.12);
  --gold-28:rgba(216,178,106,.28); --gold-55:rgba(216,178,106,.55);
  /* главный логотип лежит в файле ОДИН раз и подставляется фоном в шапку и подвал */
  --logo:url("/img_v9/logo.webp"); --logo-ar:728/426;
  --paper:#f5f6f8; --dtxt:#0f1726; --dsub:#56607a; --dline:rgba(15,23,38,.1);
  /* контраст замерен: прежние #2aa36b и #d9534f давали 4.49 и 3.87 к фону карточек — ниже нормы 4.5 */
  --ok:#3fbd83; --no:#f08b87;

  /* ── шкала отступов: одна лестница на весь сайт ── */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px;
  --s6:32px; --s7:48px; --s8:64px;
  --pad:18px;                       /* поля страницы на телефоне */
  --sec:clamp(52px,9vw,96px);       /* вертикаль секции */
  --max:1160px;

  /* ── радиусы ── */
  --r1:10px; --r2:14px; --r3:18px; --r4:22px; --pill:99px;

  /* ── тени: многослойные, как у печатных карточек ── */
  --sh1:0 1px 2px rgba(3,7,15,.45);
  --sh2:0 2px 6px rgba(3,7,15,.32), 0 12px 28px rgba(3,7,15,.42);
  --sh3:0 4px 12px rgba(3,7,15,.38), 0 26px 60px rgba(3,7,15,.55);

  /* ── одно семейство кривых на все движения ── */
  --e:cubic-bezier(.22,.8,.28,1);
  --e-soft:cubic-bezier(.4,0,.2,1);

  /* ── типографика. Мелкое на телефоне не мельче 14 px ── */
  --t-meta:14px;   /* подписи под цифрами, роли, даты */
  --t-cap:14px;    /* надзаголовки, мелкие пояснения */
  --t-body:16px;
  --t-h1:clamp(30px,8.1vw,58px);
  --t-h2:clamp(25px,5.4vw,42px);
  --t-h3:18.5px;
}

@media(min-width:768px){
  :root{ --pad:24px; --t-meta:13px; --t-cap:13.5px; --t-body:16.5px; --t-h3:21px; }
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--txt);line-height:1.55;overflow-x:clip;
 font-size:var(--t-body);
 font-family:'Golos Text','Segoe UI Variable Text','Segoe UI',-apple-system,BlinkMacSystemFont,system-ui,Arial,sans-serif;
 -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
 font-variant-numeric:lining-nums}
img{max-width:100%}

/* тонкое зерно поверх фона — убирает «пластиковость» больших тёмных плоскостей */
body:before{content:'';position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.028;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}
header,section,footer,.stats,.sticky,.modal,.cookie,.progress{position:relative;z-index:2}

.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* ── заголовки: оптическая подгонка трекинга по размеру, перенос по смыслу ── */
h1,h2,h3{letter-spacing:-.025em;font-weight:800;text-wrap:balance}
h1{font-size:var(--t-h1);line-height:1.08;letter-spacing:-.033em}
h2{font-size:var(--t-h2);line-height:1.14;letter-spacing:-.028em}
h3{font-size:var(--t-h3);line-height:1.28;font-weight:700;letter-spacing:-.018em}
p{font-size:var(--t-body);text-wrap:pretty}
.acc{color:var(--gold)}

section{padding:var(--sec) 0;scroll-margin-top:72px}
.tone{background:var(--ink-1)}
.light{background:var(--paper);color:var(--dtxt)}
.light p{color:var(--dsub)}
.light .eyebrow{color:var(--gold-dk)}

/* ── единый ритм шапки секции: надзаголовок -> H2 -> подводка ── */
.eyebrow{display:block;font-size:var(--t-cap);letter-spacing:.055em;
 color:var(--gold);font-weight:600;margin-bottom:var(--s3)}
.sub{max-width:62ch;margin-top:var(--s4);color:var(--dim);font-size:var(--t-body)}
.light .sub{color:var(--dsub)}
h2+.sub,.eyebrow+h2{margin-top:var(--s4)}

/* ── видимый фокус с клавиатуры: премиум — это ещё и доступность ── */
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:6px}

/* ══ шапка ══════════════════════════════════════════════════════ */
header{position:fixed;top:0;left:0;right:0;z-index:60;border-bottom:1px solid transparent;
 transition:background .35s var(--e-soft),border-color .35s var(--e-soft)}
header.on{background:rgba(8,13,24,.9);backdrop-filter:blur(16px) saturate(1.2);
 -webkit-backdrop-filter:blur(16px) saturate(1.2);border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:60px;gap:var(--s3)}
.logo{display:flex;align-items:center;text-decoration:none;flex:0 0 auto;min-height:44px}
.logoimg{display:block;height:34px;aspect-ratio:var(--logo-ar);
 background:var(--logo) center/contain no-repeat;filter:brightness(1.06)}
.nav-links{display:none}
.nav-phone{display:flex;align-items:center;gap:var(--s3)}
.nav-phone a.tel{display:none}
@media(min-width:560px){
  .logoimg{height:40px}
  .nav-phone a.tel{display:inline-flex;align-items:center;min-height:44px;color:var(--txt);
   text-decoration:none;font-weight:700;font-size:14.5px;white-space:nowrap}
  .nav-phone a.tel:hover{color:var(--gold)}
}
@media(min-width:768px){ .nav{height:72px} .logoimg{height:44px} }
@media(min-width:980px){
  .nav-links{display:flex;gap:var(--s5)}
  .nav-links a{color:var(--dim);text-decoration:none;font-size:14px;padding:6px 0;position:relative;
   transition:color .25s var(--e)}
  .nav-links a:after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1px;
   background:var(--gold);transition:right .3s var(--e)}
  .nav-links a:hover{color:#fff} .nav-links a:hover:after{right:0}
}

/* ══ кнопки: тач-размер 48 px, мелкие 44 px ══════════════════════ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;cursor:pointer;
 min-height:48px;padding:14px 22px;border-radius:var(--r2);
 font-family:inherit;font-weight:600;font-size:15px;line-height:1.15;
 text-decoration:none;text-align:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
 background:linear-gradient(180deg,var(--gold-lt),var(--gold));color:var(--gold-ink);
 box-shadow:var(--sh1),0 6px 18px rgba(216,178,106,.16);
 transition:transform .18s var(--e),box-shadow .3s var(--e),filter .25s var(--e)}
.btn:hover{transform:translateY(-1px);box-shadow:var(--sh2),0 10px 26px rgba(216,178,106,.24)}
.btn:active{transform:translateY(0) scale(.99)}
.btn.sm{min-height:44px;padding:11px 16px;font-size:14px;border-radius:var(--r1)}
.btn.wide{width:100%}
.btn.ghost{background:rgba(255,255,255,.04);border:1px solid var(--line-2);color:var(--txt);
 box-shadow:none;backdrop-filter:blur(4px)}
.btn.ghost:hover{background:rgba(255,255,255,.09);border-color:var(--gold-55)}
.btn.tg{background:linear-gradient(180deg,#166f99,#0f5c80);color:#fff;box-shadow:var(--sh1)}

/* ══ первый экран ════════════════════════════════════════════════ */
.hero{padding:calc(60px + var(--s7)) 0 var(--s7);overflow:clip}
@media(min-width:768px){ .hero{padding:calc(72px + var(--s8)) 0 var(--s8)} }
.hero:before,.hero:after{content:'';position:absolute;border-radius:50%;pointer-events:none;
 will-change:transform}
.hero:before{width:min(900px,160vw);aspect-ratio:1;right:-30vw;top:-38vh;
 background:radial-gradient(circle,rgba(79,124,255,.2),transparent 60%);
 transform:translate3d(0,var(--par,0px),0)}
.hero:after{width:min(700px,140vw);aspect-ratio:1;left:-34vw;bottom:-36vh;
 background:radial-gradient(circle,rgba(216,178,106,.15),transparent 62%);
 transform:translate3d(0,calc(var(--par,0px) * -.6),0)}
.hgrid{position:relative;z-index:2}

.badge{display:inline-flex;align-items:center;gap:9px;padding:8px 15px;border:1px solid var(--line-2);
 border-radius:var(--pill);font-size:var(--t-cap);color:var(--dim);
 background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.06);margin-bottom:var(--s5)}
.hero h1{max-width:17ch}
.hlead{max-width:54ch;margin-top:var(--s4);color:var(--dim);font-size:var(--t-body);line-height:1.6}

/* четыре карточки «за что платите» */
.pays{display:grid;grid-template-columns:1fr;gap:var(--s3);margin:var(--s6) 0 var(--s5)}
@media(min-width:520px){ .pays{grid-template-columns:1fr 1fr} }
@media(min-width:940px){ .pays{grid-template-columns:repeat(4,1fr);gap:var(--s3)} }
.pcard{border:1px solid var(--line);border-radius:var(--r2);padding:var(--s4) var(--s4);
 background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:border-color .3s var(--e),transform .3s var(--e)}
.pcard:hover{border-color:var(--line-2);transform:translateY(-2px)}
.pcard b{display:block;font-size:15px;margin:var(--s3) 0 var(--s1);color:var(--dim);font-weight:600;line-height:1.35}
.pcard i{font-style:normal;font-size:var(--t-cap);color:var(--dim-2);line-height:1.45;display:block}
.pic{width:24px;height:24px;color:#5b6679;display:block}
.pcard.pay{border-color:var(--gold-55);
 background:linear-gradient(180deg,rgba(216,178,106,.16),rgba(216,178,106,.02));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 24px rgba(216,178,106,.07)}
.pcard.pay .pic{color:var(--gold)}
.pcard.pay b{color:#fff;font-weight:700}
.pcard.pay i{color:var(--gold)}

.hbtns{display:flex;flex-direction:column;gap:var(--s3);margin-top:var(--s6)}
@media(min-width:480px){ .hbtns{flex-direction:row;flex-wrap:wrap} }

/* ══ цифры ═══════════════════════════════════════════════════════ */
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);
 border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media(min-width:720px){ .stats{grid-template-columns:repeat(4,1fr)} }
.stat{background:var(--ink);padding:var(--s5) var(--s4);text-align:center}
.stat b{display:block;font-size:clamp(26px,6.4vw,40px);font-weight:800;letter-spacing:-.035em;
 line-height:1.12;font-variant-numeric:tabular-nums lining-nums;
 background:linear-gradient(180deg,#fff,#c9d2e2);-webkit-background-clip:text;background-clip:text;
 -webkit-text-fill-color:transparent}
.stat .unit{font-size:inherit;font-weight:inherit}
.stat .cnt{display:inline-block}
.stat>span{font-size:var(--t-meta);color:var(--dim);display:block;margin-top:var(--s1)}

/* ══ лента логотипов ═════════════════════════════════════════════ */
.marquee{overflow:hidden;position:relative;margin-top:var(--s6);width:100%;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
 mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.mrow{display:flex;gap:var(--s3);width:max-content;align-items:center}
.js .mrow{animation:slide 62s linear infinite}
.mrow.stop{animation-play-state:paused}
.marquee:hover .mrow{animation-play-state:paused}
.mrow img{height:76px;width:auto;background:#fff;border:1px solid var(--dline);
 border-radius:var(--r2);padding:10px 14px;object-fit:contain;
 box-shadow:0 1px 2px rgba(15,23,38,.06)}
.mrow img.dark{background:#0f1726;border-color:rgba(255,255,255,.14)}
@media(min-width:600px){ .mrow{gap:var(--s5)} .mrow img{height:96px;padding:13px 20px} }
@keyframes slide{to{transform:translateX(-50%)}}

/* ══ девиз ═══════════════════════════════════════════════════════ */
.creed{background:linear-gradient(150deg,var(--ink-3),var(--ink-1) 65%);
 border:1px solid var(--gold-28);border-radius:var(--r4);
 padding:clamp(26px,6vw,58px) clamp(20px,5vw,58px);max-width:900px;margin:0 auto;text-align:center;
 box-shadow:var(--sh2);position:relative;overflow:hidden}
.creed:before{content:'';position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(70% 55% at 50% 0%,rgba(216,178,106,.1),transparent 70%)}
.creed>*{position:relative}
.creed .sub{margin-left:auto;margin-right:auto}
.creed .big{margin:0 auto;font-size:clamp(21px,5vw,36px);font-weight:800;line-height:1.28;
 letter-spacing:-.028em;max-width:22ch;text-wrap:balance}
.csign{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--line);display:inline-block}
.csign b{display:block;font-size:16px;font-weight:700}
.csign span{font-size:var(--t-meta);color:var(--dim)}

/* ══ сравнение ═══════════════════════════════════════════════════ */
.cmp{display:grid;grid-template-columns:1fr;gap:var(--s4);margin-top:var(--s7)}
@media(min-width:880px){ .cmp{grid-template-columns:1fr 1fr;gap:var(--s4)} }
.ccard{border-radius:var(--r3);padding:var(--s5) var(--s5) var(--s6);border:1px solid var(--line);
 background:linear-gradient(180deg,var(--ink-2),var(--ink-1));box-shadow:var(--sh1);
 transition:border-color .3s var(--e),box-shadow .35s var(--e),transform .35s var(--e)}
.ccard:hover{transform:translateY(-3px);box-shadow:var(--sh2)}
.ccard.us{border-color:var(--gold-55);
 background:linear-gradient(180deg,rgba(216,178,106,.12),rgba(216,178,106,.02));position:relative;
 margin-top:var(--s3)}
.ccard.us:before{content:'Так работаем мы';position:absolute;top:-14px;left:var(--s5);
 background:linear-gradient(180deg,var(--gold-lt),var(--gold));color:var(--gold-ink);
 font-size:var(--t-cap);font-weight:700;letter-spacing:.01em;padding:7px 15px;border-radius:var(--pill);
 box-shadow:0 4px 12px rgba(216,178,106,.25)}
.ccard h3{margin-bottom:var(--s4);color:var(--txt)}
.ccard.us h3{margin-top:var(--s2)}
.ccard ul{list-style:none;display:grid;gap:var(--s3)}
.ccard li{display:flex;gap:var(--s3);font-size:15px;color:#b9c3d4;line-height:1.5}
.ic{flex:0 0 22px;height:22px;border-radius:7px;display:grid;place-items:center;
 font-size:var(--t-cap);font-weight:700;margin-top:1px}
.ic.no{background:rgba(217,83,79,.13);color:var(--no)}
.ic.yes{background:rgba(42,163,107,.14);color:var(--ok)}

/* ══ линейный персонал ═══════════════════════════════════════════ */
.line-block{display:grid;grid-template-columns:1fr;gap:var(--s5);align-items:center;
 border:1px solid var(--gold-28);border-radius:var(--r4);padding:clamp(22px,4.5vw,46px);
 background:linear-gradient(140deg,rgba(216,178,106,.11),rgba(216,178,106,.015));
 box-shadow:var(--sh1)}
@media(min-width:880px){ .line-block{grid-template-columns:1.05fr .95fr;gap:var(--s7)} }
.line-cards{display:grid;gap:var(--s3)}
.lc{border:1px solid var(--line);border-radius:var(--r2);padding:var(--s4) var(--s5);
 background:rgba(8,13,24,.55);transition:border-color .28s var(--e),transform .28s var(--e)}
.lc b{display:block;font-size:15px;margin-bottom:3px}
.lc span{font-size:var(--t-cap);color:var(--dim)}

/* ══ шаги ════════════════════════════════════════════════════════ */
.steps{margin-top:var(--s7)}
.step{display:grid;grid-template-columns:44px 1fr;gap:var(--s4);padding:var(--s5) 0;
 border-top:1px solid var(--line);align-items:start;
 transition:opacity .45s var(--e),transform .45s var(--e)}
.step:last-child{border-bottom:1px solid var(--line)}
.step .when{grid-column:2;font-size:var(--t-meta);color:var(--dim);margin-top:var(--s2);text-align:left}
@media(min-width:720px){
  .step{grid-template-columns:64px 1fr auto;gap:var(--s5);padding:var(--s6) 0}
  .step .when{grid-column:auto;text-align:right;margin-top:0;white-space:nowrap}
}
.step h3+p{margin-top:var(--s2)}
.step p{color:var(--dim)}
.snum{width:44px;height:44px;border-radius:var(--r2);display:grid;place-items:center;
 font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;
 background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--txt);
 transition:background .4s var(--e),border-color .4s var(--e),color .4s var(--e)}
.step.pay .snum{background:linear-gradient(180deg,var(--gold-lt),var(--gold));
 border-color:var(--gold);color:var(--gold-ink)}
.step.pay .when{color:var(--gold);font-weight:700}

/* ══ услуги ══════════════════════════════════════════════════════ */
.srv{display:grid;grid-template-columns:1fr;gap:var(--s4);margin-top:var(--s7)}
@media(min-width:880px){ .srv{grid-template-columns:1fr 1fr} }
.scard{border:1px solid var(--line);border-radius:var(--r3);padding:var(--s5);
 background:linear-gradient(180deg,var(--ink-2),var(--ink-1));display:flex;flex-direction:column;
 gap:var(--s4);box-shadow:var(--sh1);transition:border-color .3s var(--e),box-shadow .35s var(--e),transform .35s var(--e)}
.scard:hover{transform:translateY(-3px);box-shadow:var(--sh2);border-color:var(--line-2)}
.scard ul{list-style:none;display:grid;gap:var(--s3)}
.scard li{display:flex;gap:var(--s3);font-size:14.6px;color:var(--dim);line-height:1.5}
.scard .btn{margin-top:auto}
.price{font-size:14.5px;line-height:1.45;padding:var(--s3) var(--s4);
 border:1px dashed var(--gold-55);border-radius:var(--r1);color:var(--txt);background:var(--gold-05)}

/* ══ кейс ════════════════════════════════════════════════════════ */
.case{border-radius:var(--r4);padding:clamp(24px,4.5vw,50px);
 background:linear-gradient(140deg,#1b2740,#0d1526);border:1px solid var(--line);
 box-shadow:var(--sh2);position:relative;overflow:hidden}
.case:before{content:'«';position:absolute;top:-24px;right:12px;font-size:170px;line-height:1;
 color:rgba(216,178,106,.07);font-weight:800;pointer-events:none}
.case .say{font-size:clamp(17.5px,3.6vw,26px);font-weight:700;line-height:1.36;letter-spacing:-.02em;
 position:relative;text-wrap:pretty}
.case .who{font-size:var(--t-meta);color:var(--dim);margin-top:var(--s3)}
.case-res{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s6)}
@media(min-width:720px){ .case-res{grid-template-columns:repeat(3,1fr);gap:var(--s4)} }
.case-res div{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:var(--r2);
 padding:var(--s4);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.case-res div:last-child{grid-column:span 2}
@media(min-width:720px){ .case-res div:last-child{grid-column:auto} }
.case-res b{display:block;font-size:24px;color:var(--gold);font-variant-numeric:tabular-nums;
 letter-spacing:-.02em}
.case-res span{font-size:var(--t-meta);color:var(--dim)}

/* ══ отзывы ══════════════════════════════════════════════════════ */
.revs{display:grid;grid-template-columns:1fr;gap:var(--s4);margin-top:var(--s6)}
@media(min-width:640px){ .revs{grid-template-columns:1fr 1fr} }
@media(min-width:980px){ .revs{grid-template-columns:repeat(3,1fr)} }
.rev{background:#fff;border-radius:var(--r3);padding:var(--s5);display:flex;flex-direction:column;
 gap:var(--s4);border:1px solid var(--dline);box-shadow:0 1px 2px rgba(15,23,38,.05);
 transition:transform .32s var(--e),box-shadow .32s var(--e),border-color .32s var(--e)}
.rev:hover{transform:translateY(-3px);box-shadow:0 4px 10px rgba(15,23,38,.07),0 18px 40px rgba(15,23,38,.09);
 border-color:rgba(15,23,38,.16)}
.csign{display:flex;align-items:center;gap:14px}
.csign .cava{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:0 0 72px;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.csign .cnames{display:flex;flex-direction:column}
@media(max-width:600px){.csign .cava{width:60px;height:60px;flex-basis:60px}}
.rev blockquote{font-size:15px;color:var(--dsub);line-height:1.58;flex:1;text-wrap:pretty}
.rev figcaption{border-top:1px solid var(--dline);padding-top:var(--s3)}
.rev b{display:block;font-size:14.5px;color:var(--dtxt)}
.rev span{font-size:var(--t-meta);color:#5f6982}

/* ══ теги ════════════════════════════════════════════════════════ */
.tags{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s6)}
.tag{padding:10px 16px;border:1px solid var(--line);border-radius:var(--pill);font-size:14px;
 color:var(--dim);background:rgba(255,255,255,.02);
 transition:border-color .25s var(--e),color .25s var(--e),transform .25s var(--e)}

/* ══ вопросы ═════════════════════════════════════════════════════ */
.faq{margin-top:var(--s6);border-top:1px solid var(--line)}
.q h3.qh{margin:0;font:inherit;letter-spacing:inherit}   /* вопрос — заголовок для поиска, вид прежний */
.skip{position:absolute;left:-9999px;top:0;z-index:120;background:var(--gold);color:var(--gold-ink);
 padding:14px 20px;border-radius:0 0 var(--r1) 0;font-weight:700;text-decoration:none}
.skip:focus{left:0}
.q{border-bottom:1px solid var(--line)}
.q button{width:100%;background:none;border:0;text-align:left;cursor:pointer;color:var(--txt);
 min-height:56px;padding:var(--s5) 44px var(--s5) 0;position:relative;touch-action:manipulation;
 font-family:inherit;font-weight:700;font-size:clamp(15.5px,3.4vw,18px);line-height:1.35;
 letter-spacing:-.015em;
 transition:color .25s var(--e)}
.q button:hover{color:var(--gold-lt)}
.q button:after{content:'+';position:absolute;right:6px;top:50%;transform:translateY(-50%);
 font-size:22px;color:var(--gold);transition:transform .35s var(--e);line-height:1}
.q.open button:after{transform:translateY(-50%) rotate(45deg)}
.a{display:grid;grid-template-rows:0fr;overflow:hidden;
 transition:grid-template-rows .42s var(--e-soft)}
.a>p{min-height:0}
.q.open .a{grid-template-rows:1fr}
.a p{padding:0;max-width:74ch;color:var(--dim);overflow:hidden;min-height:0}
.q.open .a p{padding:0 0 var(--s5)}

/* ══ финальный блок ══════════════════════════════════════════════ */
.final{display:grid;grid-template-columns:1fr;gap:var(--s6);align-items:center;
 background:linear-gradient(140deg,rgba(216,178,106,.15),rgba(216,178,106,.03));
 border:1px solid var(--gold-28);border-radius:var(--r4);padding:clamp(22px,4.5vw,48px);
 box-shadow:var(--sh2)}
.final>*{min-width:0}
@media(min-width:880px){ .final{grid-template-columns:1fr 1fr;gap:var(--s7)} }

/* ══ форма ═══════════════════════════════════════════════════════ */
.formcard{background:linear-gradient(180deg,var(--ink-3),var(--ink-2));border:1px solid var(--gold-28);
 border-radius:var(--r3);padding:clamp(22px,4vw,34px);box-shadow:var(--sh3);max-width:100%}
.formcard h3{font-size:20px;margin-bottom:var(--s1)}
.formcard .small{font-size:var(--t-cap);color:var(--dim);margin-bottom:var(--s5)}
.field{margin-bottom:var(--s3)}
.field label{display:block;font-size:var(--t-cap);color:var(--dim);margin-bottom:6px}
.field input{width:100%;min-height:48px;background:rgba(255,255,255,.05);border:1px solid var(--line-2);
 border-radius:var(--r1);padding:13px 14px;color:#fff;
 font-family:inherit;font-size:16px;line-height:1.2;
 transition:border-color .25s var(--e),background .25s var(--e),box-shadow .25s var(--e)}
.field input:focus{outline:0;border-color:var(--gold-55);background:rgba(255,255,255,.08);
 box-shadow:0 0 0 3px rgba(216,178,106,.14)}
.field input::placeholder{color:#8e98ad}
.agree{display:flex;gap:2px;align-items:flex-start;margin:var(--s4) 0;min-height:44px;
 font-size:var(--t-cap);color:var(--dim);line-height:1.5;cursor:pointer}
.agree>span{flex:1 1 auto;min-width:0;padding-top:11px}
/* галочка рисуется сама: видимый квадрат 22 px внутри тач-цели 44x44 */
.agree input{appearance:none;-webkit-appearance:none;font:inherit;margin:-11px 0 -11px -11px;
 flex:0 0 44px;width:44px;height:44px;background:none;border:0;cursor:pointer;
 display:grid;place-items:center;position:relative;touch-action:manipulation}
.agree input:before{content:'';width:22px;height:22px;border-radius:6px;
 border:1.5px solid var(--line-2);background:rgba(255,255,255,.05);
 transition:background .2s var(--e),border-color .2s var(--e)}
.agree input:checked:before{background:linear-gradient(180deg,var(--gold-lt),var(--gold));
 border-color:var(--gold)}
.agree input:checked:after{content:'';position:absolute;width:5px;height:10px;
 border:solid var(--gold-ink);border-width:0 2.2px 2.2px 0;transform:rotate(43deg) translateY(-1px)}
.agree a{color:var(--dim);text-decoration:underline;text-underline-offset:2px}
.agree a:hover{color:var(--gold)}
.formcard .after{font-size:var(--t-cap);color:var(--dim-2);margin-top:var(--s3);text-align:center}
.mdirect{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);text-align:center}
.mdirect>span{font-size:var(--t-cap);color:var(--dim);display:block;margin-bottom:var(--s3)}
.mrow2{display:flex;gap:var(--s2)}
.mrow2 .btn{flex:1;min-width:0;padding-left:10px;padding-right:10px}

/* ══ модальное окно ══════════════════════════════════════════════ */
.modal{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;
 padding:var(--s4);background:rgba(4,7,14,.74);backdrop-filter:blur(7px);
 -webkit-backdrop-filter:blur(7px);overflow-y:auto}
.modal.show{display:flex;animation:fadein .25s var(--e-soft)}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.modal .formcard{max-width:440px;width:100%;position:relative;margin:auto;
 animation:pop .34s var(--e)}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.975)}to{opacity:1;transform:none}}
.mclose{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:var(--r1);
 border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--dim);font-size:22px;
 cursor:pointer;line-height:1;touch-action:manipulation;transition:color .25s var(--e),background .25s var(--e)}
.mclose:hover{color:#fff;background:rgba(255,255,255,.1)}

/* ══ липкая панель на телефоне ═══════════════════════════════════ */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;gap:var(--s2);
 padding:10px var(--s3) calc(10px + env(safe-area-inset-bottom));
 background:rgba(8,13,24,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
 border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(3,7,15,.4)}
.sticky .btn{flex:1;padding:12px 10px;font-size:14.5px;min-height:48px}
body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
@media(min-width:760px){ .sticky{display:none} body{padding-bottom:0} }

/* ══ подвал ══════════════════════════════════════════════════════ */
footer{border-top:1px solid var(--line);padding:var(--s6) 0 var(--s7);
 font-size:var(--t-cap);color:var(--dim);line-height:1.65}
.fgrid{display:grid;grid-template-columns:1fr;gap:var(--s5)}
@media(min-width:760px){ .fgrid{grid-template-columns:1.4fr 1fr 1fr;gap:var(--s6)} }
.flogo{display:block;height:52px;aspect-ratio:var(--logo-ar);
 background:var(--logo) left center/contain no-repeat;margin-bottom:var(--s3)}
footer a{color:var(--dim);text-decoration:none;display:flex;align-items:center;min-height:44px;
 transition:color .25s var(--e)}
footer a:hover{color:#fff}
.legal{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--line);
 font-size:var(--t-cap);color:var(--dim-2);line-height:1.7;max-width:100ch}

/* ══ cookie ══════════════════════════════════════════════════════ */
.cookie{position:fixed;left:var(--s3);right:var(--s3);bottom:calc(84px + env(safe-area-inset-bottom));
 z-index:80;display:none;flex-direction:column;align-items:stretch;gap:var(--s3);
 background:rgba(17,26,44,.98);border:1px solid var(--line-2);border-radius:var(--r2);
 padding:var(--s4);backdrop-filter:blur(10px);font-size:var(--t-cap);color:var(--txt);
 box-shadow:var(--sh3)}
.cookie.show{display:flex;animation:pop .3s var(--e)}
@media(min-width:760px){
  .cookie{bottom:var(--s4);left:var(--s4);right:var(--s4);flex-direction:row;align-items:center;
   gap:var(--s5);padding:var(--s4) var(--s5)}
}

/* ══ полоса прогресса прокрутки ══════════════════════════════════ */
.progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:75;transform-origin:0 50%;
 transform:scaleX(0);background:linear-gradient(90deg,var(--gold-dk),var(--gold),var(--gold-lt));
 transition:transform .1s linear}

/* ══ тонкие движения ═════════════════════════════════════════════ */
.js .rv{opacity:0;transform:translateY(20px);
 transition:opacity .72s var(--e),transform .72s var(--e)}
.js .rv.in{opacity:1;transform:none}
.d1{transition-delay:.07s}.d2{transition-delay:.14s}.d3{transition-delay:.21s}.d4{transition-delay:.28s}

/* заголовок проявляется по словам */
.wsplit{display:inline-block;overflow:hidden;vertical-align:top}
.wsplit>span{display:inline-block;transform:translateY(105%);opacity:0;
 transition:transform .78s var(--e),opacity .78s var(--e-soft)}
.js .in .wsplit>span,.wsplit.in>span{transform:none;opacity:1}

/* активный шаг подсвечивается при прокрутке */
.js .step{opacity:.45}
.js .step.act{opacity:1}
.js .step.act .snum{background:linear-gradient(180deg,var(--gold-lt),var(--gold));
 border-color:var(--gold);color:var(--gold-ink)}

/* ── эффекты только там, где есть настоящий курсор.
      На телефоне они не считаются и не тратят батарею ── */
@media(hover:hover) and (pointer:fine){
  .spot{position:relative;overflow:hidden}
  .spot:before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .35s var(--e);
   pointer-events:none;
   background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(216,178,106,.1),transparent 60%)}
  .spot:hover:before{opacity:1}
  .magnet{transition:transform .25s var(--e),box-shadow .3s var(--e)}
  .lc:hover{border-color:var(--gold-55);transform:translateX(4px)}
  .tag:hover{border-color:var(--gold-55);color:#fff;transform:translateY(-2px)}
}

@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
   transition-duration:.001ms !important;scroll-behavior:auto !important}
  .wsplit>span{transform:none;opacity:1}
  .js .rv{opacity:1;transform:none}
  .js .step{opacity:1}
  .progress{display:none}
  .mrow{flex-wrap:wrap;width:auto;justify-content:center}
  .js .mrow{animation:none}
}


.modal .formcard h3{padding-right:48px}


.topic-intro{max-width:760px}.topic-cards{display:grid;gap:18px;margin-top:28px}.topic-card{display:block;padding:26px;border:1px solid #263451;border-radius:16px;background:#111a2c;color:#f4f6fb;text-decoration:none}.topic-card h3{font-size:1.25rem;line-height:1.35;margin:12px 0}.topic-card p{color:#bec9dc;line-height:1.65}.topic-card small{color:#8da1bd}.topic-card:hover,.topic-card:focus-visible{border-color:#fa8264}.topic-card:focus-visible,.topic-nav a:focus-visible,.topic-toc a:focus-visible{outline:3px solid #fa8264;outline-offset:5px}.topic-nav{display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:22px 0}.topic-nav nav{display:flex;gap:20px;flex-wrap:wrap}.topic-brand{font-weight:750;font-size:1.15rem;text-decoration:none;color:#fff}.topic-shell{max-width:860px;margin:auto;padding:50px 24px 80px}.topic-shell h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.12;letter-spacing:-.035em;margin:20px 0 24px}.topic-shell h2{font-size:clamp(1.35rem,3vw,1.8rem);margin:44px 0 16px;line-height:1.25}.topic-shell p,.topic-shell li{font-size:1.05rem;line-height:1.8;color:#d1d9e7}.topic-shell li{margin:9px 0}.topic-shell a{color:#ffb099;text-underline-offset:4px}.topic-shell ul,.topic-shell ol{padding-left:24px}.topic-breadcrumb{font-size:.85rem;color:#9bacbf;display:flex;gap:10px;flex-wrap:wrap}.topic-deck{font-size:1.15rem!important;color:#e5eaf4!important}.topic-label{color:#9bacbf;font-size:.85rem;margin:12px 0}.topic-short,.topic-cta{background:#111a2c;border:1px solid #293852;border-radius:16px;padding:24px;margin:28px 0}.topic-short p{margin:0}.topic-toc{border-block:1px solid #293852;padding:18px 0;margin:30px 0}.topic-toc ul{margin:10px 0}.topic-shell textarea{width:100%;min-height:470px;background:#080d18;border:1px solid #465b7e;color:#e8eef8;border-radius:10px;padding:18px;font:inherit;line-height:1.65;resize:vertical}.topic-actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.topic-shell button{font:inherit}.topic-shell .btn{color:inherit}.topic-shell .topic-cta h2{margin-top:0}.topic-shell .topic-table{overflow:auto}.topic-shell table{border-collapse:collapse;width:100%;min-width:400px}.topic-shell td,.topic-shell th{border-bottom:1px solid #293852;padding:14px;text-align:left;vertical-align:top;line-height:1.6}.topic-shell th{color:#fff}.topic-shell td{color:#d1d9e7}.topic-status{min-height:1.6em;color:#b9d9be}.topic-footer{border-top:1px solid #293852;padding:28px 0;color:#9bacbf}.topic-footer a{margin-right:18px}.topic-shell section{padding:0}.topic-shell pre{white-space:pre-wrap;overflow-wrap:anywhere}.topic-shell code{white-space:pre-wrap}@media(min-width:760px){.topic-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

header:has(.topic-nav){position:static;inset:auto}.topic-nav{padding:22px 24px}.topic-nav nav a,.topic-footer a{color:#d1d9e7;text-decoration:none}.topic-nav nav a:hover,.topic-footer a:hover{color:#ffb099}.topic-shell .btn{color:#080d18}.topic-shell .btn.ghost{color:#e5eaf4}.topic-shell .topic-card{color:#fff}
#materialy p>a{color:#edca83;text-underline-offset:4px}.topic-shell a{color:#edca83}.topic-shell .topic-card{color:#fff}.topic-nav nav a:hover,.topic-footer a:hover{color:#edca83}
/* Service navigation, using existing site colours. */
.scard a{color:inherit}.scard h3 a,#services h3 a,.band h2 a{color:inherit;text-decoration-thickness:1px;text-underline-offset:6px}.service-links{display:flex;flex-wrap:wrap;gap:18px;padding:8px 24px 28px}.service-links a{color:#edca83;line-height:1.7}.topic-shell strong{color:#f4f6fb}.topic-shell td{overflow-wrap:anywhere}.topic-breadcrumb{line-height:1.7}

/* Keep first-screen content immediately readable and steps at full contrast. */
.js #top .rv,.js #top .wsplit>span{opacity:1;transform:none;transition:none!important}.js #how .step{opacity:1}
