/* ============================================================
   FinDigit — Revolut-inspired two-mode canvas
   Истинно-чёрные сторителлинг-полосы (#000) встык с белыми
   каталог-полосами (#fff). Белый pill на чёрном — главный CTA.
   Кобальт #494fdf — редкий бренд-штамп. Цветные акценты только
   в иконографике. Без теней: глубина = смена полос и яркости.
   ============================================================ */

:root{
  /* BRAND — единственный фирменный штамп, использовать скупо */
  --brand:#494fdf;
  --brand-bright:#4f55f1;
  --brand-deep:#3a40c4;
  --on-brand:#ffffff;

  /* ICON ACCENTS — только для иконографики, читаются на чёрном и белом */
  --ic-teal:#00b58a;
  --ic-blue:#3d7bea;
  --ic-pink:#f0436a;
  --ic-orange:#ff8a1f;
  --ic-violet:#6b6ff5;
  --ic-green:#2fb457;

  /* radii — pill для кнопок, 20 для карточек, 12 для полей */
  --r-sm:8px; --r-md:12px; --r-lg:20px; --r-xl:28px; --r-full:9999px;

  /* spacing (4px база) */
  --pad-sec:88px;
  --pad-band:120px;
  --maxw:1200px;

  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;

  /* семантические переменные задаются на .band-*; дефолт — тёмный режим */
}

/* ---------- BAND MODES ---------- */
.band-dark{
  --bg:#000000;
  --fg:#ffffff;
  --fg-mute:rgba(255,255,255,.72);
  --fg-faint:#8d969e;
  --hairline:rgba(255,255,255,.12);
  --surface:#16181a;          /* приподнятая карточка на чёрном */
  --surface-2:#0a0a0a;
  --surface-soft:#16181a;
  --btn-pri-bg:#ffffff; --btn-pri-fg:#000000; --btn-pri-bg-h:#e2e2e7;
  --btn-out-border:rgba(255,255,255,.85); --btn-out-fg:#ffffff; --btn-out-bg-h:rgba(255,255,255,.08);
  --input-bg:#0a0a0a; --input-border:rgba(255,255,255,.18);
  --chip-bg:#16181a; --chip-fg:#ffffff; --chip-border:rgba(255,255,255,.14);
  background:var(--bg); color:var(--fg);
}
.band-light{
  --bg:#ffffff;
  --fg:#191c1f;
  --fg-mute:#505a63;
  --fg-faint:#8d969e;
  --hairline:#e2e2e7;
  --surface:#ffffff;
  --surface-2:#f4f4f4;
  --surface-soft:#f4f4f4;
  --btn-pri-bg:#000000; --btn-pri-fg:#ffffff; --btn-pri-bg-h:#1f2226;
  --btn-out-border:#191c1f; --btn-out-fg:#191c1f; --btn-out-bg-h:#f4f4f4;
  --input-bg:#ffffff; --input-border:#e2e2e7;
  --chip-bg:#f4f4f4; --chip-fg:#191c1f; --chip-border:#e2e2e7;
  background:var(--bg); color:var(--fg);
}

/* ---------- RESET / BASE ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip;-webkit-text-size-adjust:100%}
section[id],footer[id]{scroll-margin-top:80px}
body{
  font-family:var(--sans);
  color:#fff;background:#000;          /* фон зазоров — чёрный */
  line-height:1.5;
  font-feature-settings:"cv11" 1;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;position:relative;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;color:inherit}
a,button,[role=button],input,select,textarea{touch-action:manipulation}
img,svg{max-width:100%;display:block}
input,textarea,select{font-family:inherit;font-size:inherit}
::selection{background:var(--brand);color:#fff}
.mono{font-variant-numeric:tabular-nums;letter-spacing:-.01em}

/* display: Inter как замена Aeonik — тугой трекинг, lineHeight≈1.0 */
h1,h2,h3,h4{font-weight:500;line-height:1.05;letter-spacing:-.02em}
h1{letter-spacing:-.032em}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.sec{padding:var(--pad-sec) 0;position:relative}
.muted{color:var(--fg-mute)}
.accent{color:var(--brand)}

/* focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[role=button]:focus-visible,summary:focus-visible{
  outline:2.5px solid var(--brand);outline-offset:2px;border-radius:6px;
}
.skip-link{
  position:fixed;top:10px;left:10px;z-index:300;
  background:#fff;color:#000;font-weight:600;font-size:14px;
  padding:12px 18px;border-radius:10px;transform:translateY(-200%);transition:transform .2s;
}
.skip-link:focus{transform:none}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.07s}
.reveal[data-delay="2"]{transition-delay:.14s}
.reveal[data-delay="3"]{transition-delay:.21s}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html,*{scroll-behavior:auto!important}
}

/* ---------- KICKER (badge-tag) ---------- */
.kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:600;color:var(--fg);
  background:var(--surface-soft);border:1px solid var(--hairline);
  padding:5px 13px;border-radius:var(--r-full);margin-bottom:22px;
}
.kicker i{display:none}
.kicker .dot{width:7px;height:7px;border-radius:50%;background:var(--brand)}
.kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand)}

.sec-head{max-width:760px;margin:0 auto 56px;text-align:center}
.sec-head h2{font-size:clamp(30px,4.4vw,48px);margin-bottom:16px;line-height:1.08}
.sec-head p{font-size:clamp(16px,1.5vw,18px);color:var(--fg-mute);letter-spacing:-.01em}
.sec-head .kicker{margin-bottom:20px}

/* ---------- BUTTONS — pill, без теней ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  border:1px solid transparent;cursor:pointer;font-weight:600;font-size:16px;
  border-radius:var(--r-full);white-space:nowrap;line-height:1.2;
  padding:13px 26px;letter-spacing:.01em;
  transition:background .16s,color .16s,border-color .16s,transform .12s;
}
.btn svg{width:18px;height:18px;transition:transform .2s}
.btn-primary{background:var(--btn-pri-bg);color:var(--btn-pri-fg)}
.btn-primary:hover{background:var(--btn-pri-bg-h)}
.btn-primary:hover svg{transform:translateX(3px)}
.btn-primary:active{transform:scale(.985)}
.btn-ghost{background:transparent;color:var(--btn-out-fg);border-color:var(--btn-out-border)}
.btn-ghost:hover{background:var(--btn-out-bg-h)}
.btn-soft{background:var(--surface-soft);color:var(--fg);border-color:var(--hairline)}
.btn-soft:hover{border-color:var(--fg-faint)}
.btn-lg{padding:15px 30px;font-size:17px;min-height:52px}
.btn-block{width:100%}
.btn-pill{padding:8px 16px;font-size:14px;min-height:40px}
.btn-pill svg{width:16px;height:16px;opacity:.6}

/* ============================================================
   SERVICE BAR + HEADER (всегда тёмные — nav-bar canvas-dark)
   ============================================================ */
.sban{
  position:relative;z-index:55;background:#000;color:rgba(255,255,255,.72);
  border-bottom:1px solid rgba(255,255,255,.12);padding:9px 0;font-size:13px;text-align:center;
}
.sban-line{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center}
.sban-line svg{color:var(--brand-bright);flex-shrink:0;width:14px;height:14px}
.sban-line b{color:#fff;font-weight:600}
.sban.hide{display:none}

header{
  position:sticky;top:0;z-index:50;background:#000;
  border-bottom:1px solid rgba(255,255,255,.12);transition:border-color .25s;
}
header.scrolled{border-bottom-color:rgba(255,255,255,.2)}
.nav{display:flex;align-items:center;gap:18px;height:64px;max-width:1280px;margin:0 auto;padding:0 24px}
.logo{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}
.logo svg{height:26px;width:26px}
.logo-word{font-weight:700;font-size:19px;letter-spacing:-.02em;color:#fff;line-height:1}
.logo-word b{color:var(--brand-bright);font-weight:700}
.nav-links{display:flex;align-items:center;gap:2px;margin:0 auto}
.nav-links a{
  position:relative;padding:9px 14px;border-radius:var(--r-full);
  font-size:15px;font-weight:500;color:rgba(255,255,255,.72);
  transition:color .16s,background .16s;
}
.nav-links a:hover{color:#fff;background:#16181a}
.nav-links a.active{color:#fff}
.nav-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-right .btn{padding:10px 20px;font-size:15px}
.nav-right .btn-ghost{color:#fff;border-color:rgba(255,255,255,.85)}
.nav-right .btn-ghost:hover{background:rgba(255,255,255,.08)}
.nav-right .btn-primary{background:#fff;color:#000}
.nav-right .btn-primary:hover{background:#e2e2e7}
.burger{
  display:none;width:44px;height:44px;align-items:center;justify-content:center;
  background:#16181a;border:1px solid rgba(255,255,255,.12);border-radius:12px;cursor:pointer;color:#fff;
}
.burger svg{width:22px;height:22px}
.mobile-menu{display:none;flex-direction:column;gap:2px;padding:12px 24px 22px;background:#000;border-bottom:1px solid rgba(255,255,255,.12)}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:13px 14px;border-radius:12px;color:rgba(255,255,255,.72);font-weight:500}
.mobile-menu a:hover{background:#16181a;color:#fff}
.mobile-menu .btn{margin-top:10px}

/* ============================================================
   HERO — чёрная полоса, крупный display, без декора
   ============================================================ */
.hero{padding:80px 0 100px}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}
.hero h1{font-size:clamp(38px,6.4vw,76px);line-height:1.0;margin-bottom:24px}
.hero h1 .accent{color:var(--brand-bright)}
.hero-sub{font-size:clamp(17px,1.6vw,20px);color:var(--fg-mute);max-width:46ch;margin-bottom:32px;line-height:1.5}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}
.hero-ticks{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none}
.hero-ticks li{display:inline-flex;align-items:center;gap:9px;font-size:15px;color:var(--fg-mute)}
.hero-ticks svg{width:18px;height:18px;color:var(--ic-green);flex-shrink:0}

/* ---------- ESTIMATOR — surface-elevated карточка ---------- */
.estimator{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);overflow:hidden}
.est-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--hairline)}
.est-top .est-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px}
.est-top .est-title svg{width:18px;height:18px;color:var(--fg-mute)}
.est-badge{font-size:12px;font-weight:600;color:var(--on-brand);background:var(--brand);padding:5px 11px;border-radius:var(--r-full)}
.est-body{padding:22px}
.est-label{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-faint);margin:0 0 10px}
.est-row+.est-row{margin-top:20px}
.seg{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.seg button{
  text-align:left;padding:12px 13px;border-radius:var(--r-md);cursor:pointer;
  background:var(--surface-2);border:1px solid var(--hairline);color:var(--fg-mute);
  font-size:14px;font-weight:600;line-height:1.3;transition:border-color .16s,background .16s,color .16s;
}
.seg button:hover{border-color:var(--fg-faint);color:var(--fg)}
.seg button.on{border-color:var(--fg);color:var(--fg)}
.seg button small{display:block;color:var(--fg-faint);font-weight:500;font-size:12px;margin-top:3px}
.est-out{margin-top:22px;padding:18px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--hairline)}
.est-out-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.est-metric .k{font-size:12px;color:var(--fg-faint);margin-bottom:5px}
.est-metric .v{font-size:22px;font-weight:600;color:var(--fg);letter-spacing:-.02em}
.est-metric .v.green{color:var(--ic-green)}
.est-metric .v.flash{animation:flash .5s ease}
@keyframes flash{0%{opacity:.4}100%{opacity:1}}
.est-incl{margin-top:16px;padding-top:16px;border-top:1px solid var(--hairline)}
.est-incl .k{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:9px}
.est-incl ul{list-style:none;display:flex;flex-wrap:wrap;gap:7px}
.est-incl li{font-size:12.5px;color:var(--chip-fg);background:var(--chip-bg);border:1px solid var(--chip-border);padding:5px 10px;border-radius:var(--r-full)}
.est-cta{margin-top:18px}
.est-note{margin-top:14px;font-size:13px;color:var(--fg-faint)}
.est-note b{color:var(--fg-mute);font-weight:600}

/* ============================================================
   TRUST BAND
   ============================================================ */
.trust .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:56px;padding-bottom:56px}
.trust-item{text-align:center}
.trust-item .num{font-size:clamp(26px,3.2vw,38px);font-weight:500;letter-spacing:-.03em;color:var(--fg);font-variant-numeric:tabular-nums}
.trust-item .num b{font-weight:500}
.trust-item .cap{font-size:13.5px;color:var(--fg-mute);margin-top:8px}

/* ============================================================
   SERVICES — список; иконки разноцветные (иконографика)
   ============================================================ */
.svc-list{display:grid;max-width:980px;margin:0 auto;border-top:1px solid var(--hairline)}
.svc{display:grid;grid-template-columns:64px 1fr;gap:22px;align-items:start;padding:30px 8px;border-bottom:1px solid var(--hairline);transition:background .18s}
.svc-ic{width:52px;height:52px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--hairline)}
.svc-ic svg{width:24px;height:24px}
.svc:nth-child(1) .svc-ic{color:var(--ic-teal)}
.svc:nth-child(2) .svc-ic{color:var(--ic-blue)}
.svc:nth-child(3) .svc-ic{color:var(--ic-violet)}
.svc:nth-child(4) .svc-ic{color:var(--ic-orange)}
.svc:nth-child(5) .svc-ic{color:var(--ic-pink)}
.svc:nth-child(6) .svc-ic{color:var(--ic-green)}
.svc-main h3{font-size:21px;margin-bottom:8px;display:flex;align-items:baseline;gap:12px;font-weight:600}
.svc-main h3 .idx{font-size:13px;color:var(--fg-faint);font-weight:500;font-variant-numeric:tabular-nums}
.svc-main p{color:var(--fg-mute);font-size:15.5px;max-width:62ch;line-height:1.55}
.svc-tags{margin-top:12px;display:flex;flex-wrap:wrap;gap:7px}
.svc-tags span{font-size:12px;color:var(--fg-faint);border:1px solid var(--hairline);padding:4px 11px;border-radius:var(--r-full)}

/* ============================================================
   WHY — квадранты на хайрлайнах
   ============================================================ */
.why-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--hairline);border-radius:var(--r-lg);overflow:hidden}
.why-cell{padding:36px 34px;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.why-cell:nth-child(2n){border-right:none}
.why-cell:nth-last-child(-n+2){border-bottom:none}
.why-cell .qn{font-size:14px;color:var(--brand);margin-bottom:16px;font-weight:600;font-variant-numeric:tabular-nums}
.why-cell h3{font-size:21px;margin-bottom:10px;font-weight:600}
.why-cell p{color:var(--fg-mute);font-size:15.5px;line-height:1.55}

/* ============================================================
   TEAM
   ============================================================ */
.team-head{max-width:760px;margin:0 0 44px}
.team-head h2{font-size:clamp(30px,4.4vw,48px);margin-bottom:16px;line-height:1.08}
.team-head p{font-size:clamp(16px,1.5vw,18px);color:var(--fg-mute);max-width:62ch;line-height:1.55}
.team-head .btn-pill{margin-top:24px}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tm{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:16px;transition:border-color .18s,transform .12s}
.tm:hover{border-color:var(--fg-faint);transform:translateY(-2px)}
.tm-ic{width:46px;height:46px;flex-shrink:0;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--hairline);display:flex;align-items:center;justify-content:center}
.tm-ic svg{width:22px;height:22px}
.tm:nth-child(1) .tm-ic{color:var(--ic-teal)}
.tm:nth-child(2) .tm-ic{color:var(--ic-blue)}
.tm:nth-child(3) .tm-ic{color:var(--ic-violet)}
.tm:nth-child(4) .tm-ic{color:var(--ic-orange)}
.tm:nth-child(5) .tm-ic{color:var(--ic-pink)}
.tm:nth-child(6) .tm-ic{color:var(--ic-green)}
.tm:nth-child(7) .tm-ic{color:var(--ic-teal)}
.tm:nth-child(8) .tm-ic{color:var(--ic-blue)}
.tm:nth-child(9) .tm-ic{color:var(--ic-violet)}
.tm-info{min-width:0}
.tm-role{display:block;font-size:15.5px;font-weight:600;color:var(--fg);line-height:1.3}

/* ============================================================
   PROCESS — таймлайн
   ============================================================ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.steps::before{content:"";position:absolute;top:27px;left:6%;right:6%;height:1px;background:var(--hairline);z-index:0}
.step{position:relative;z-index:1}
.step .dot{width:54px;height:54px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--hairline);color:var(--brand);font-weight:600;font-size:18px;margin-bottom:18px;font-variant-numeric:tabular-nums}
.step h3{font-size:18px;margin-bottom:8px;font-weight:600}
.step p{color:var(--fg-mute);font-size:14.5px;line-height:1.5}

/* ============================================================
   STACK — чипы
   ============================================================ */
.stack-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.stack-cat{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:24px}
.stack-cat h3{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:16px;font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-size:14px;font-weight:500;color:var(--chip-fg);background:var(--chip-bg);border:1px solid var(--chip-border);padding:8px 14px;border-radius:var(--r-full)}
.chip:hover{border-color:var(--fg-faint)}

/* ============================================================
   INDUSTRIES — иконки разноцветные
   ============================================================ */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ind{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:28px 24px}
.ind svg{width:28px;height:28px;margin-bottom:18px}
.ind:nth-child(1) svg{color:var(--ic-teal)}
.ind:nth-child(2) svg{color:var(--ic-blue)}
.ind:nth-child(3) svg{color:var(--ic-pink)}
.ind:nth-child(4) svg{color:var(--ic-orange)}
.ind h3{font-size:18px;margin-bottom:8px;font-weight:600}
.ind p{color:var(--fg-mute);font-size:14.5px;line-height:1.5}

/* ============================================================
   CONTACT / FORM
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
.contact-info h2{font-size:clamp(30px,3.8vw,44px);margin-bottom:16px;line-height:1.08}
.contact-info p{color:var(--fg-mute);font-size:16px;margin-bottom:28px;max-width:46ch;line-height:1.55}
.contact-list{list-style:none;display:grid;gap:18px}
.contact-list li{display:flex;gap:13px;align-items:flex-start}
.contact-list svg{width:20px;height:20px;color:var(--brand-bright);flex-shrink:0;margin-top:2px}
.contact-list .k{font-size:13px;color:var(--fg-faint)}
.contact-list .v{font-size:15.5px;color:var(--fg);font-weight:500}
.form{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:30px}
.field{margin-bottom:18px}
.field label{display:block;font-size:13px;font-weight:600;color:var(--fg-mute);margin-bottom:8px}
.field label .req{color:var(--brand)}
.field input,.field textarea,.field select{
  width:100%;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--r-md);
  color:var(--fg);padding:15px 16px;font-size:15px;min-height:54px;transition:border-color .16s,box-shadow .16s;
}
.field textarea{resize:vertical;min-height:104px}
.field input::placeholder,.field textarea::placeholder{color:var(--fg-faint)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(73,79,223,.18)}
.field.invalid input,.field.invalid textarea{border-color:#e23b4a}
.field .err{display:none;color:#e23b4a;font-size:12.5px;margin-top:7px}
.field.invalid .err{display:block}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.form-foot .privacy{font-size:12px;color:var(--fg-faint);max-width:34ch}
.form-foot .privacy a{color:var(--fg-mute);text-decoration:underline}
.form-success{display:none;text-align:center;padding:30px 10px}
.form-success.show{display:block}
.form-success .ok{width:56px;height:56px;border-radius:50%;background:rgba(47,180,87,.14);border:1px solid var(--ic-green);color:var(--ic-green);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.form-success .ok svg{width:28px;height:28px}
.form-success h3{font-size:22px;margin-bottom:10px;font-weight:600}
.form-success p{color:var(--fg-mute)}

/* ============================================================
   FAQ
   ============================================================ */
.faq{max-width:820px;margin:0 auto}
.faq details{border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface);margin-bottom:12px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:600;font-size:16.5px;color:var(--fg)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{flex-shrink:0;width:22px;height:22px;position:relative}
.faq summary .pm::before,.faq summary .pm::after{content:"";position:absolute;background:var(--brand);border-radius:2px}
.faq summary .pm::before{top:10px;left:2px;right:2px;height:2px}
.faq summary .pm::after{left:10px;top:2px;bottom:2px;width:2px;transition:transform .25s}
.faq details[open] summary .pm::after{transform:scaleY(0)}
.faq details p{padding:0 24px 24px;color:var(--fg-mute);font-size:15px;max-width:68ch;line-height:1.55}

/* ============================================================
   FINAL — закрывающая чёрная полоса
   ============================================================ */
.final{text-align:center;padding:var(--pad-band) 0}
.final h2{font-size:clamp(34px,5.6vw,72px);margin-bottom:20px;max-width:16ch;margin-left:auto;margin-right:auto;line-height:1.0}
.final p{color:var(--fg-mute);font-size:19px;max-width:52ch;margin:0 auto 34px;line-height:1.5}
.final .hero-cta{justify-content:center}

/* ============================================================
   FOOTER (canvas-dark)
   ============================================================ */
footer{padding:80px 0 32px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;margin-bottom:48px}
.foot-brand .logo{margin-bottom:16px}
.foot-brand p{color:var(--fg-faint);font-size:14px;max-width:34ch;line-height:1.55}
.foot-legal{margin-top:14px;font-size:13px;color:var(--fg-faint);font-variant-numeric:tabular-nums;line-height:1.5}
.foot-col h4{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:16px;font-weight:600}
.foot-col a{display:block;color:var(--fg-mute);font-size:14.5px;padding:6px 0;transition:color .16s}
.foot-col a:hover{color:var(--fg)}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:26px;border-top:1px solid rgba(255,255,255,.06);color:var(--fg-faint);font-size:13px}

/* ============================================================
   STICKY MOBILE CTA
   ============================================================ */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#000;border-top:1px solid rgba(255,255,255,.14)}
.sticky-cta .btn{flex:1}
.sticky-cta .btn-soft{background:#16181a;color:#fff;border-color:rgba(255,255,255,.14)}
.sticky-cta .btn-primary{background:#fff;color:#000}

/* ============================================================
   MODAL
   ============================================================ */
.modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.7)}
.modal.open{display:flex}
.modal-card{width:100%;max-width:440px;background:#16181a;border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:30px;position:relative;color:#fff;
  --fg:#fff;--fg-mute:rgba(255,255,255,.72);--fg-faint:#8d969e;--hairline:rgba(255,255,255,.12);
  --input-bg:#0a0a0a;--input-border:rgba(255,255,255,.18);--brand:#494fdf}
.modal-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:12px;background:#0a0a0a;border:1px solid rgba(255,255,255,.12);cursor:pointer;color:rgba(255,255,255,.72);display:flex;align-items:center;justify-content:center}
.modal-close:hover{color:#fff}
.modal-card h3{font-size:22px;margin-bottom:8px;font-weight:600}
.modal-card>p{color:rgba(255,255,255,.72);font-size:14.5px;margin-bottom:22px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  :root{--pad-sec:72px;--pad-band:96px}
  .hero .wrap{grid-template-columns:1fr;gap:44px}
  .estimator{max-width:520px}
  .contact-grid{grid-template-columns:1fr;gap:34px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px}
  .ind-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){.team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .nav-links{display:none}
  .nav-right .btn{display:none}
  .burger{display:flex}
  .nav{height:60px}
  .trust .wrap{grid-template-columns:repeat(2,1fr);gap:32px 16px}
  .why-grid{grid-template-columns:1fr}
  .why-cell{border-right:none}
  .why-cell:nth-last-child(2){border-bottom:1px solid var(--hairline)}
  .steps{grid-template-columns:1fr 1fr;gap:28px 18px}
  .steps::before{display:none}
  .stack-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .sticky-cta.show{display:flex}
  body.has-sticky{padding-bottom:74px}
  .foot-bottom{flex-direction:column;align-items:flex-start;gap:10px}
}
@media(max-width:560px){.team-grid{grid-template-columns:1fr}.team-head{text-align:left}}
@media(max-width:480px){
  :root{--pad-sec:56px;--pad-band:72px}
  .wrap{padding:0 18px}
  .seg{grid-template-columns:1fr}
  .est-out-grid{grid-template-columns:1fr}
  .trust .wrap{grid-template-columns:1fr}
  .ind-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .svc{grid-template-columns:1fr;gap:14px}
  .hero-cta .btn{flex:1}
}
