/* ════════════════════════════════════════════════════════
   IBR — стили секций главной страницы
   Дизайн-система: тёплый минимализм с малиновым акцентом.
   Линии вместо заливок · радиус 4px · Manrope display · Inter UI
   ════════════════════════════════════════════════════════ */

:root{
  --bg:#F7F6F2; --surface:#FFFFFF; --ink:#15181F; --ink-soft:#3A3C42;
  --muted:#80847D; --hairline:#E3E1D8; --hairline-faint:#EEEDE6;
  --pink:#FF1861; --pink-down:#E0134F; --pink-tint:#FFE9F0;
  --mint:#2F6E4A;
  --r:4px;
  --shadow-float:0 10px 30px rgba(21,24,31,.10);
  --container:1340px; --container-hero:1340px;
  --font-ui:'Inter',system-ui,sans-serif;
  --font-display:'Manrope','Inter',sans-serif;
  /* тёмная (ink) секция */
  --d-text:#F3F2ED; --d-soft:rgba(243,242,237,.72); --d-muted:#9A9DA2;
  --d-hairline:rgba(243,242,237,.14); --d-hairline-faint:rgba(243,242,237,.08);
  --d-card:rgba(255,255,255,.04);
}

.site{ font-family:var(--font-ui); color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased; }
.site *{ box-sizing:border-box; }
.site img{ max-width:100%; }

.s-wrap{ max-width:var(--container); margin:0 auto; padding:0 clamp(28px,5vw,64px); }

.s-section{ padding:clamp(72px,9vw,108px) 0; border-top:1px solid var(--hairline-faint); }
.s-section.s-dark{ background:var(--ink); color:var(--d-text); border-top:none; }

/* — Заголовочный паттерн секции — */
.s-tag{ display:inline-flex; align-items:center; gap:10px; font-size:11px; color:var(--muted);
  font-weight:500; text-transform:uppercase; letter-spacing:1.8px; margin:0 0 18px; }
.s-tag::before{ content:""; width:5px; height:5px; border-radius:999px; background:var(--pink); }
.s-dark .s-tag{ color:var(--d-muted); }
.s-h2{ margin:0; font-family:var(--font-display); font-size:clamp(30px,3.2vw,42px); font-weight:600;
  letter-spacing:-1.4px; line-height:1.12; }
.s-sub{ margin:16px 0 0; font-size:clamp(14.5px,1.15vw,16.5px); line-height:1.6; color:var(--ink-soft);
  max-width:560px; text-wrap:pretty; }
.s-dark .s-sub{ color:var(--d-soft); }

/* — Кнопки — */
.s-btn-ink{ display:inline-flex; align-items:center; gap:9px; background:var(--ink); color:#fff;
  font-size:13.5px; font-weight:600; padding:15px 24px; border-radius:var(--r); text-decoration:none;
  border:1px solid var(--ink); cursor:pointer; font-family:inherit; white-space:nowrap;
  transition:background .15s,color .15s,border-color .15s; }
.s-btn-ink:hover{ background:var(--surface); color:var(--ink); border-color:var(--hairline); }
.s-btn-soft{ display:inline-flex; align-items:center; gap:9px; background:var(--surface); color:var(--ink);
  font-size:13.5px; font-weight:500; padding:15px 22px; border-radius:var(--r); text-decoration:none;
  border:1px solid var(--hairline); cursor:pointer; font-family:inherit; white-space:nowrap; transition:border-color .15s; }
.s-btn-soft:hover{ border-color:var(--ink); }
.s-btn-pink{ display:inline-flex; align-items:center; gap:9px; background:var(--pink); color:#fff;
  font-size:13.5px; font-weight:600; padding:15px 24px; border-radius:var(--r); text-decoration:none;
  border:1px solid var(--pink); cursor:pointer; font-family:inherit; white-space:nowrap; transition:background .15s; }
.s-btn-pink:hover{ background:var(--pink-down); }

.s-link{ color:var(--pink); font-weight:600; text-decoration:none; }
.s-link:hover{ color:var(--pink-down); text-decoration:underline; }

/* ════════════════ 03 — БОЛИ (анимированные карточки) ════════════════ */
.s-pains-grid{ --ease:cubic-bezier(.22,1,.36,1);
  display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(22px,2vw,30px); margin-top:48px; }
.s-pn{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r);
  display:flex; flex-direction:column; overflow:hidden; }
.s-pn-viz{ position:relative; min-height:300px; padding:40px clamp(30px,3vw,52px); display:flex;
  align-items:center; justify-content:center; border-bottom:1px solid var(--hairline-faint); }
.s-pn-body{ padding:30px clamp(30px,3vw,40px) 36px; }
.s-pn-body .n{ font-family:var(--font-display); font-size:13px; color:var(--pink); font-weight:700;
  font-variant-numeric:tabular-nums; letter-spacing:.5px; margin-bottom:15px; }
.s-pn-body h3{ margin:0 0 12px; font-family:var(--font-display); font-size:23px; font-weight:700;
  letter-spacing:-.5px; line-height:1.2; }
.s-pn-body p{ margin:0; font-size:14.5px; line-height:1.62; color:var(--ink-soft); text-wrap:pretty; max-width:42ch; }

/* движок «проблема → решение» — анимация ТОЛЬКО в визуализации, по наведению */
.s-pn-swap{ position:relative; display:inline-grid; }
.s-pn-swap>*{ grid-area:1/1; transition:opacity .4s var(--ease), transform .4s var(--ease); }
.s-pn-swap .sol{ opacity:0; transform:translateY(4px); }
.s-pn:hover .s-pn-swap .pro{ opacity:0; transform:translateY(-4px); }
.s-pn:hover .s-pn-swap .sol{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion:reduce){
  .s-pn-swap>*, .s-pn-ring, .s-pn-bar{ transition-duration:.001s !important; }
}

/* 01 — звонки */
.s-pn-calls{ width:100%; max-width:400px; display:flex; flex-direction:column; }
.s-pn-crow{ display:flex; align-items:center; gap:17px; padding:18px 0; border-top:1px solid var(--hairline-faint); }
.s-pn-crow:first-child{ border-top:none; padding-top:4px; }
.s-pn-crow:last-child{ padding-bottom:4px; }
.s-pn-ring{ width:48px; height:48px; border-radius:999px; flex:none; display:grid; place-items:center;
  border:1.5px solid var(--hairline); color:var(--pink);
  transition:border-color .4s var(--ease), color .4s var(--ease); }
.s-pn:hover .s-pn-ring{ border-color:var(--mint); color:var(--mint); }
.s-pn-ring .s-pn-swap svg{ width:21px; height:21px; display:block; }
.s-pn-cinfo{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.s-pn-cinfo b{ font-size:15.5px; font-weight:700; letter-spacing:-.2px; }
.s-pn-cstat{ font-size:13px; line-height:1; }
.s-pn-cstat .pro{ color:var(--muted); } .s-pn-cstat .sol{ color:var(--mint); font-weight:600; }
.s-pn-ctime{ margin-left:auto; font-size:12.5px; color:var(--muted); font-variant-numeric:tabular-nums;
  flex:none; align-self:flex-start; padding-top:3px; }
.s-pn-calls .s-pn-crow:nth-child(2) .s-pn-ring, .s-pn-calls .s-pn-crow:nth-child(2) .s-pn-swap>*{ transition-delay:.07s; }
.s-pn-calls .s-pn-crow:nth-child(3) .s-pn-ring, .s-pn-calls .s-pn-crow:nth-child(3) .s-pn-swap>*{ transition-delay:.14s; }

/* 02 — диаграмма */
.s-pn-chart{ width:100%; max-width:380px; }
.s-pn-bars{ display:flex; align-items:flex-end; justify-content:space-between; gap:clamp(26px,3vw,44px);
  height:200px; border-bottom:1px solid var(--hairline); padding:0 8px; }
.s-pn-bcol{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%; }
.s-pn-bval{ font-family:var(--font-display); font-size:16px; font-weight:700; font-variant-numeric:tabular-nums;
  margin-bottom:10px; color:var(--ink); }
.s-pn-bval.accent .pro{ color:var(--pink); } .s-pn-bval.accent .sol{ color:var(--mint); }
.s-pn-bar{ width:100%; max-width:58px; border-radius:3px 3px 0 0;
  transition:height .55s var(--ease), background-color .55s var(--ease); }
.s-pn-bleads{ height:172px; background:var(--ink); }
.s-pn-bnego{ height:102px; background:#C9C7BC; }
.s-pn-bsales{ height:20px; background:var(--pink); }
.s-pn:hover .s-pn-bsales{ height:82px; background:var(--mint); }
.s-pn-blabels{ display:flex; justify-content:space-between; gap:clamp(26px,3vw,44px); padding:13px 8px 0; }
.s-pn-blabels span{ flex:1; text-align:center; font-size:11.5px; color:var(--muted); font-weight:500; }

/* 03 — отчёт */
.s-pn-report{ width:100%; max-width:380px; display:flex; flex-direction:column; }
.s-pn-rrow{ display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:21px 0; border-top:1px solid var(--hairline-faint); }
.s-pn-rrow:first-child{ border-top:none; padding-top:2px; }
.s-pn-rrow:last-child{ padding-bottom:2px; }
.s-pn-rlabel{ font-size:15px; color:var(--ink-soft); }
.s-pn-rval{ font-family:var(--font-display); font-variant-numeric:tabular-nums; justify-items:end; }
.s-pn-rval .pro{ font-size:27px; font-weight:300; color:#C7C4B9; }
.s-pn-rval .sol{ font-size:27px; font-weight:800; color:var(--ink); letter-spacing:-.5px; }
.s-pn-rval .sol u{ text-decoration:none; color:var(--pink); }

.s-pains-cta{ margin:40px 0 0; text-align:center; font-size:15px; color:var(--ink-soft); }

/* ════════════════ 05.5 — SHOWCASE ════════════════ */
.s-show-head{ text-align:center; max-width:620px; margin:0 auto; }
.s-show-head .s-tag{ justify-content:center; }
.s-show-head .s-sub{ margin-left:auto; margin-right:auto; }
.s-show-cards{ display:flex; flex-direction:column; gap:clamp(56px,6vw,80px); padding:clamp(56px,6vw,80px) 0; }

/* Карточка с градиентной подложкой — картинки оригинала живут здесь */
.s-sc-text{ padding:clamp(34px,3.4vw,50px) clamp(28px,3vw,42px); display:flex; flex-direction:column;
  justify-content:center; gap:16px; }
.s-sc.rev .s-sc-text{ order:1; }
.s-sc-num{ font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:1.8px; color:#FF6E9C;
  display:flex; align-items:center; gap:10px; }
.s-sc-num::before{ content:""; width:5px; height:5px; border-radius:999px; background:var(--pink); }
.s-sc-text h3{ margin:0; font-family:var(--font-display); font-size:clamp(22px,2.1vw,30px); font-weight:600;
  letter-spacing:-0.8px; line-height:1.2; color:#fff; }
.s-sc-text p{ margin:0; font-size:14.5px; line-height:1.7; color:var(--d-soft); text-wrap:pretty; }
.s-sc-badge{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; margin-top:4px;
  padding:9px 15px; border:1px solid rgba(255,255,255,.22); border-radius:var(--r);
  font-size:11px; font-weight:600; letter-spacing:1.2px; text-transform:uppercase; color:#fff; }
.s-sc-badge svg{ flex:none; }

/* Карточка с градиентной подложкой — картинки оригинала ВЫХОДЯТ за её края.
   overflow:visible + большой scale: устройство bleed-ит за верх/низ/внешний край. */
.s-sc{ position:relative; border-radius:var(--r); display:grid; grid-template-columns:1fr 1fr;
  min-height:340px; color:var(--d-text); overflow:visible;
  background:linear-gradient(to right, #E0134F 0%, #56102B 46%, #15181F 100%);
  border:1px solid rgba(255,24,97,.25); }
.s-sc.rev{ background:linear-gradient(to left, #E0134F 0%, #56102B 46%, #15181F 100%); }
.s-sc::before{ content:""; position:absolute; inset:0; border-radius:var(--r); pointer-events:none;
  background:radial-gradient(ellipse at 18% 50%, rgba(255,24,97,.14) 0%, transparent 55%); }
.s-sc.rev::before{ background:radial-gradient(ellipse at 82% 50%, rgba(255,24,97,.14) 0%, transparent 55%); }

.s-sc-img{ position:relative; min-height:320px; z-index:2; }
/* Базовое положение (картинка слева): выход за верх, низ и внешний/левый край — как в оригинале */
.s-sc-img img{ position:absolute; top:-64px; bottom:-64px; left:-36px; right:-8px;
  width:calc(100% + 44px); object-fit:contain; object-position:center center;
  filter:none; transform:scale(1.2); transform-origin:center center; }
.s-sc.rev .s-sc-img{ order:2; }
/* Картинка справа (reverse): выход за внешний/правый край */
.s-sc.rev .s-sc-img img{ left:-8px; right:-36px; width:calc(100% + 44px); }

/* Карта 1 — Воронка: монитор заполняет колонку (cover) и смещён вниз */
.s-sc:first-child .s-sc-img img{ top:-22px; bottom:-22px; left:0; right:0; width:100%;
  object-fit:cover; transform:scale(1.2) translateY(18px); }
/* Карта 2 — ИИ: экран CRM + телефон выходят за низ и правый край */
.s-sc:nth-child(2) .s-sc-img img{ transform:scale(1.2) translate(-1.7px,43.8px); }
/* Карта 3 — Автоматизации: цветные карточки увеличены и смещены вправо-вниз */
.s-sc:last-child .s-sc-img img{ transform:scale(1.32) translate(20px,15px); }
.s-services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:44px; align-items:stretch; }
.s-service{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r);
  padding:30px 28px; display:flex; flex-direction:column; gap:18px; position:relative; }
.s-service.featured{ border-color:var(--ink); }
.s-service .feat-chip{ position:absolute; top:-11px; left:26px; background:var(--ink); color:#fff;
  font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:1.4px; padding:5px 11px;
  border-radius:var(--r); }
.s-service .n{ font-size:12px; color:var(--pink); font-weight:700; font-variant-numeric:tabular-nums; }
.s-service h3{ margin:0; font-size:20px; font-weight:600; letter-spacing:-0.5px; line-height:1.25; }
.s-service .for{ font-size:13px; line-height:1.55; color:var(--ink-soft); padding:14px 16px;
  background:var(--bg); border:1px solid var(--hairline-faint); border-radius:var(--r); }
.s-service .for b{ display:block; font-size:10px; font-weight:600; text-transform:uppercase;
  letter-spacing:1.4px; color:var(--muted); margin-bottom:6px; }
.s-service ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.s-service ul li{ font-size:13.5px; line-height:1.5; color:var(--ink-soft); padding:9px 0 9px 17px;
  border-top:1px solid var(--hairline-faint); position:relative; }
.s-service ul li::before{ content:""; position:absolute; left:0; top:16px; width:5px; height:5px;
  border-radius:999px; background:var(--pink); }
.s-service .tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; }
.s-service .tag{ font-size:11px; font-weight:500; color:var(--muted); border:1px solid var(--hairline);
  border-radius:999px; padding:5px 11px; white-space:nowrap; }
.s-service .cta{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600;
  color:var(--ink); text-decoration:none; padding-top:16px; border-top:1px solid var(--hairline-faint); }
.s-service .cta:hover{ color:var(--pink); }

.s-cta-banner{ margin-top:48px; border:1px solid var(--hairline); border-radius:var(--r); background:var(--surface);
  padding:clamp(28px,3.4vw,40px) clamp(28px,3.4vw,44px); display:flex; gap:32px; align-items:center;
  justify-content:space-between; flex-wrap:wrap; }
.s-cta-banner h3{ margin:0; font-family:var(--font-display); font-size:clamp(19px,1.8vw,24px); font-weight:600;
  letter-spacing:-0.6px; line-height:1.3; max-width:640px; text-wrap:pretty; }
.s-cta-banner p{ margin:10px 0 0; font-size:14.5px; color:var(--ink-soft); }

/* ════════════════ 07 — ИИ-БЛОК (тёмная) ════════════════ */
.s-ai-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.s-ai-head .s-sub{ max-width:420px; }
.s-ai-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:0; margin-top:48px;
  border:1px solid var(--d-hairline); border-radius:var(--r); overflow:hidden; }
.s-ai-card{ padding:32px 34px 36px; border-right:1px solid var(--d-hairline-faint);
  border-bottom:1px solid var(--d-hairline-faint); background:var(--d-card); display:flex;
  flex-direction:column; gap:13px; }
.s-ai-card .ic{ width:40px; height:40px; border:1px solid var(--d-hairline); border-radius:var(--r);
  display:flex; align-items:center; justify-content:center; color:var(--pink); margin-bottom:6px; }
.s-ai-card .ic svg{ width:19px; height:19px; stroke:currentColor; }
.s-ai-card h3{ margin:0; font-size:18px; font-weight:600; letter-spacing:-0.4px; line-height:1.3; color:var(--d-text); }
.s-ai-card p{ margin:0; font-size:14px; line-height:1.65; color:var(--d-soft); text-wrap:pretty; }
.s-ai-card .bdg{ display:inline-flex; align-items:center; gap:8px; align-self:flex-start; margin-top:6px;
  font-size:10.5px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase; color:var(--d-muted); }
.s-ai-card .bdg::before{ content:""; width:5px; height:5px; border-radius:999px; background:var(--pink); }

/* ════════════════ 05 — МЕТОДОЛОГИЯ ════════════════ */
.s-steps{ margin-top:44px; border-top:1px solid var(--hairline); }
.s-step{ display:grid; grid-template-columns:90px 1fr 130px; gap:28px; padding:28px 0;
  border-bottom:1px solid var(--hairline-faint); align-items:baseline; }
.s-step .n{ font-family:var(--font-display); font-size:30px; font-weight:700; letter-spacing:-1px;
  color:var(--ink); font-variant-numeric:tabular-nums; }
.s-step .n i{ font-style:normal; color:var(--pink); }
.s-step h3{ margin:0 0 7px; font-size:18px; font-weight:600; letter-spacing:-0.4px; }
.s-step p{ margin:0; font-size:14px; line-height:1.65; color:var(--ink-soft); max-width:640px; text-wrap:pretty; }
.s-step .dur{ font-size:12px; color:var(--muted); text-align:right; white-space:nowrap;
  text-transform:uppercase; letter-spacing:1.2px; font-weight:500; }
.s-method-result{ margin-top:36px; font-size:16.5px; color:var(--ink-soft); display:flex; align-items:center; gap:12px; }
.s-method-result::before{ content:""; width:5px; height:5px; border-radius:999px; background:var(--pink); flex:none; }
.s-method-result b{ color:var(--ink); font-weight:700; }
.s-method-result b i{ font-style:normal; color:var(--pink); }

/* ════════════════ 06 — КЕЙСЫ ════════════════ */
.s-cases-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:44px; align-items:stretch; }
.s-case{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r);
  padding:28px 26px; display:flex; flex-direction:column; gap:18px; }
.s-case .ind{ display:inline-flex; align-items:center; gap:9px; font-size:10.5px; color:var(--muted);
  font-weight:600; text-transform:uppercase; letter-spacing:1.6px; }
.s-case .ind::before{ content:""; width:5px; height:5px; border-radius:999px; background:var(--pink); }
.s-case h3{ margin:10px 0 6px; font-size:19px; font-weight:600; letter-spacing:-0.4px; line-height:1.3; text-wrap:pretty; }
.s-case .brief{ font-size:12.5px; color:var(--muted); }
.s-case .res{ border-top:1px solid var(--hairline-faint); border-bottom:1px solid var(--hairline-faint); padding:16px 0; }
.s-case .res .rv{ font-family:var(--font-display); font-size:21px; font-weight:700; letter-spacing:-0.6px; }
.s-case .res .rv i{ font-style:normal; color:var(--pink); }
.s-case .res .rl{ font-size:12.5px; color:var(--muted); margin-top:5px; line-height:1.5; }
.s-case ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.s-case ul li{ font-size:13px; line-height:1.5; color:var(--ink-soft); padding-left:17px; position:relative; }
.s-case ul li::before{ content:""; position:absolute; left:0; top:7px; width:5px; height:5px;
  border-radius:999px; background:var(--mint); }
.s-case .cta{ margin-top:auto; display:inline-flex; align-items:center; gap:8px; font-size:13.5px;
  font-weight:600; color:var(--ink); text-decoration:none; padding-top:16px; border-top:1px solid var(--hairline-faint); }
.s-case .cta:hover{ color:var(--pink); }
.s-cases-footer{ margin-top:36px; text-align:center; }

/* ════════════════ 06.5 — КЛИЕНТЫ ════════════════ */
.s-clients-head{ text-align:center; max-width:560px; margin:0 auto 44px; }
.s-clients-head .s-tag{ justify-content:center; }
.s-clients-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:0;
  border:1px solid var(--hairline); border-radius:var(--r); overflow:hidden; background:var(--surface); }
.s-client{ padding:22px 14px 18px; border-right:1px solid var(--hairline-faint); border-bottom:1px solid var(--hairline-faint);
  display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:12px; background:var(--surface); }
.s-client .lw{ height:60px; width:100%; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.s-client img{ max-width:78%; max-height:46px; width:auto; height:auto; object-fit:contain;
  filter:grayscale(100%) opacity(.55); transition:filter .3s ease; }
.s-client:hover img{ filter:grayscale(0) opacity(1); }
.s-client.boost img{ max-width:100%; max-height:46px; transform:scale(2.1); }
.s-client.boost.down img{ transform:scale(1.6); }
.s-client.up img{ max-width:90%; max-height:56px; }
.s-client.vobla img{ max-width:90%; max-height:28px; }
.s-client .ind{ font-size:9.5px; font-weight:500; color:var(--muted); text-transform:uppercase;
  letter-spacing:1.2px; text-align:center; white-space:nowrap; }

/* ════════════════ 09 — FAQ ════════════════ */
.s-faq-list{ margin-top:40px; border-top:1px solid var(--hairline); max-width:820px; }
.s-faq{ border-bottom:1px solid var(--hairline-faint); }
.s-faq button{ width:100%; background:none; border:none; cursor:pointer; font-family:inherit; text-align:left;
  display:flex; align-items:center; justify-content:space-between; gap:24px; padding:21px 2px;
  font-size:16px; font-weight:600; color:var(--ink); letter-spacing:-0.2px; }
.s-faq button:hover{ color:var(--pink-down); }
.s-faq .chev{ flex:none; width:22px; height:22px; border:1px solid var(--hairline); border-radius:999px;
  display:flex; align-items:center; justify-content:center; color:var(--muted); transition:transform .25s; }
.s-faq .chev svg{ width:11px; height:11px; }
.s-faq.open .chev{ transform:rotate(180deg); border-color:var(--pink); color:var(--pink); }
.s-faq .ans{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.s-faq.open .ans{ max-height:300px; }
.s-faq .ans p{ margin:0; padding:0 44px 22px 2px; font-size:14.5px; line-height:1.7; color:var(--ink-soft);
  max-width:700px; text-wrap:pretty; }

/* ════════════════ 10 — КОНТАКТЫ (тёмная) ════════════════ */
.s-contacts-grid{ display:grid; grid-template-columns:1fr 460px; gap:clamp(40px,6vw,88px); align-items:start; }
.s-contacts-left .s-h2{ color:var(--d-text); }
.s-contact-items{ margin-top:40px; border-top:1px solid var(--d-hairline); }
.s-contact{ display:flex; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid var(--d-hairline-faint); }
.s-contact .ic{ width:38px; height:38px; flex:none; border:1px solid var(--d-hairline); border-radius:var(--r);
  display:flex; align-items:center; justify-content:center; color:var(--pink); }
.s-contact .lab{ font-size:10.5px; font-weight:600; text-transform:uppercase; letter-spacing:1.4px; color:var(--d-muted); }
.s-contact a{ display:block; font-size:16px; font-weight:600; color:var(--d-text); text-decoration:none; margin-top:3px; }
.s-contact a:hover{ color:var(--pink); }

.s-form-card{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r);
  padding:34px 32px; box-shadow:var(--shadow-float); color:var(--ink); }
.s-form-card .t{ font-family:var(--font-display); font-size:22px; font-weight:700; letter-spacing:-0.6px; }
.s-form-card .st{ margin:8px 0 24px; font-size:13.5px; line-height:1.55; color:var(--ink-soft); }
.s-field{ display:flex; flex-direction:column; gap:7px; margin-bottom:16px; }
.s-field label{ font-size:10.5px; font-weight:600; text-transform:uppercase; letter-spacing:1.4px; color:var(--muted); }
.s-field input, .s-field textarea{ width:100%; padding:13px 14px; border-radius:var(--r); background:var(--bg);
  border:1px solid var(--hairline); color:var(--ink); font-size:14.5px; font-family:inherit; outline:none;
  resize:vertical; transition:border-color .15s, background .15s; }
.s-field input::placeholder, .s-field textarea::placeholder{ color:#B9BCB4; }
.s-field input:focus, .s-field textarea:focus{ border-color:var(--ink); background:var(--surface); }
.s-form-note{ margin:14px 0 0; text-align:center; font-size:12px; color:var(--muted); }

/* ════════════════ 11 — FOOTER (тёмная) ════════════════ */
.s-footer{ background:var(--ink); color:var(--d-text); border-top:1px solid var(--d-hairline-faint);
  padding:clamp(56px,7vw,72px) 0 0; }
.s-footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:52px; }
.s-footer-brand img{ height:30px; display:block; }
.s-footer-brand p{ margin:18px 0 0; font-size:13.5px; line-height:1.65; color:var(--d-muted); max-width:300px; text-wrap:pretty; }
.s-footer h4{ margin:0 0 16px; font-size:10.5px; font-weight:600; text-transform:uppercase;
  letter-spacing:1.8px; color:var(--d-muted); }
.s-footer ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; }
.s-footer ul a{ font-size:13.5px; color:var(--d-soft); text-decoration:none; }
.s-footer ul a:hover{ color:#fff; }
.s-footer-bottom{ border-top:1px solid var(--d-hairline-faint); padding:22px 0 28px; display:flex;
  align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.s-footer-bottom span, .s-footer-bottom a{ font-size:12px; color:var(--d-muted); text-decoration:none; }
.s-footer-bottom a:hover{ color:#fff; }

/* ════════════════ МОДАЛКА ════════════════ */
.s-modal-overlay{ position:fixed; inset:0; background:rgba(21,24,31,.45); backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px); z-index:1000; display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .22s; padding:20px; }
.s-modal-overlay.open{ opacity:1; pointer-events:all; }
.s-modal{ background:var(--surface); border:1px solid var(--hairline); border-radius:var(--r);
  padding:36px 36px 30px; width:100%; max-width:420px; box-shadow:var(--shadow-float); position:relative;
  transform:translateY(14px); transition:transform .26s cubic-bezier(.22,1,.36,1); color:var(--ink); }
.s-modal-overlay.open .s-modal{ transform:translateY(0); }
.s-modal-close{ position:absolute; top:14px; right:14px; width:32px; height:32px; border-radius:var(--r);
  background:var(--bg); border:1px solid var(--hairline-faint); cursor:pointer; display:flex;
  align-items:center; justify-content:center; color:var(--muted); transition:color .15s, border-color .15s; }
.s-modal-close:hover{ color:var(--ink); border-color:var(--hairline); }
.s-modal .t{ font-family:var(--font-display); font-size:22px; font-weight:700; letter-spacing:-0.6px; }
.s-modal .st{ margin:8px 0 24px; font-size:13.5px; color:var(--ink-soft); line-height:1.55; }

/* ════════════════ Адаптив ════════════════ */
@media (max-width:1000px){
  .s-clients-grid{ grid-template-columns:repeat(3,1fr); }
  .s-services-grid, .s-cases-grid{ grid-template-columns:1fr; }
  .s-contacts-grid{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .s-pains-grid, .s-ai-grid{ grid-template-columns:1fr; }
  .s-sc{ grid-template-columns:1fr; }
  .s-sc.rev .s-sc-img{ order:1; } .s-sc.rev .s-sc-text{ order:2; }
  .s-sc-img{ min-height:240px; }
  .s-sc-img img, .s-sc.rev .s-sc-img img,
  .s-sc:first-child .s-sc-img img, .s-sc:nth-child(2) .s-sc-img img, .s-sc:last-child .s-sc-img img{
    inset:-20px 0 0 0; width:100%; height:calc(100% + 20px); transform:none; }
  .s-step{ grid-template-columns:56px 1fr; }
  .s-step .dur{ grid-column:2; text-align:left; }
  .s-clients-grid{ grid-template-columns:repeat(2,1fr); }
  .s-footer-top{ grid-template-columns:1fr 1fr; }
}
