/* ============================================================
   STORMCORP — стили шаблона (шапка, подвал, базовые токены)
   Дизайн-система: ТЗ ред. 1.0 07.2026, раздел 4
   ============================================================ */

/* ---------- Шрифты (селф-хостинг, ТЗ п.4.2, п.10) ---------- */
@font-face { font-family:'Inter'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url('assets/fonts/inter-cyr-ext.woff2') format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url('assets/fonts/inter-cyr.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url('assets/fonts/inter-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; }

@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:500 700; font-display:swap;
  src:url('assets/fonts/jbmono-cyr-ext.woff2') format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:500 700; font-display:swap;
  src:url('assets/fonts/jbmono-cyr.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:500 700; font-display:swap;
  src:url('assets/fonts/jbmono-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; }

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

/* ---------- Токены (ТЗ п.4.1) ---------- */
:root {
  --sc-ink:#14181F;
  --sc-accent:#0163A9;
  --sc-accent-dark:#FFFFFF;
  --sc-accent-light:#67A9DC;
  --sc-accent-hover:#01528C;
  --sc-white:#FFFFFF;
  --sc-bg-light:#F1F3F6;
  --sc-steel:#5B6B82;
  --sc-border:#E6E8EE;
  --sc-dark-bg:#0E1320;
  --sc-dark-card:#1B2130;
  --sc-dark-border:#2A3140;
  --sc-dark-secondary:#93A0B4;
  --sc-container:1200px;
}

/* ---------- База ---------- */
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  margin:0;
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--sc-ink);
  background:transparent;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img { max-width:100%; height:auto; }
a { color:var(--sc-accent); }

/* ---------- Анимации прототипа ---------- */
@keyframes scpulse { 0%,100% { opacity:.35; } 50% { opacity:1; } }
@keyframes scdraw { to { stroke-dashoffset:0; } }
@keyframes scfloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
@keyframes scflapL { 0%,100% { transform:scaleX(1) rotate(0deg); } 50% { transform:scaleX(.84) rotate(-1.5deg); } }
@keyframes scflapR { 0%,100% { transform:scaleX(1) rotate(0deg); } 50% { transform:scaleX(.84) rotate(1.5deg); } }
@keyframes scbob { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }
@keyframes scglow { 0%,100% { opacity:.5; transform:scale(1); } 50% { opacity:.85; transform:scale(1.08); } }
@keyframes scgrid { from { background-position:0 0,0 0; } to { background-position:52px 52px,52px 52px; } }
@keyframes scdrift { from { background-position:0 0; } to { background-position:120px 80px; } }

/* ---------- Глобальный фон-сетка ---------- */
.sc-grid-bg {
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-color:#EEF1F5;
  background-image:
    radial-gradient(circle,rgba(91,107,130,.18) 1px,transparent 1.5px),
    linear-gradient(rgba(91,107,130,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(91,107,130,.06) 1px,transparent 1px);
  background-size:30px 30px,60px 60px,60px 60px;
  animation:scdrift 45s linear infinite;
}
@media (prefers-reduced-motion:reduce) {
  .sc-grid-bg { animation:none; }
}

/* ---------- Контейнер ---------- */
.sc-container { max-width:var(--sc-container); margin:0 auto; padding:0 24px; }
@media (max-width:640px) { .sc-container { padding:0 16px; } }

/* ---------- Шапка ---------- */
.sc-header {
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.9);
  -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--sc-border);
}
.sc-header__inner {
  max-width:var(--sc-container); margin:0 auto; padding:0 24px;
  height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.sc-header__logo { display:flex; align-items:center; }
.sc-header__logo img { height:30px; display:block; }
.sc-nav { display:flex; align-items:center; gap:28px; }
.sc-nav a {
  font-size:18px; font-weight:500; color:var(--sc-ink); text-decoration:none;
  transition:color .15s;
}
.sc-nav a:hover, .sc-nav a.is-active { color:var(--sc-accent); }
.sc-header__right { display:flex; align-items:center; gap:18px; }
.sc-header__phone {
  font-family:'JetBrains Mono',monospace; font-weight:500; font-size:17px;
  color:var(--sc-ink); text-decoration:none; white-space:nowrap;
}

/* ---------- Кнопки (ТЗ п.4.4) ---------- */
.sc-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--sc-accent); color:var(--sc-accent-dark);
  font-family:'Inter',sans-serif; font-weight:600; font-size:17px;
  padding:11px 20px; border-radius:12px; border:0; cursor:pointer;
  text-decoration:none; white-space:nowrap; transition:background .15s;
}
.sc-btn:hover { background:var(--sc-accent-hover); }
.sc-btn--outline {
  background:transparent; color:var(--sc-ink);
  border:1.5px solid var(--sc-ink);
}
.sc-btn--outline:hover { background:var(--sc-ink); color:var(--sc-white); }
.sc-btn--ghost {
  background:transparent; color:var(--sc-white);
  border:1.5px solid rgba(255,255,255,.6);
}
.sc-btn--ghost:hover { background:rgba(255,255,255,.1); }

/* ---------- Бургер (мобайл) ---------- */
.sc-burger {
  display:none; width:44px; height:44px; padding:10px;
  background:none; border:0; cursor:pointer;
}
.sc-burger span {
  display:block; height:2px; background:var(--sc-ink); border-radius:2px;
  margin:5px 0; transition:transform .2s,opacity .2s;
}
.sc-mobile-menu {
  display:none; position:fixed; top:72px; left:0; right:0; z-index:59;
  background:var(--sc-white); border-bottom:1px solid var(--sc-border);
  padding:12px 24px 20px; flex-direction:column; gap:4px;
}
.sc-mobile-menu a {
  padding:12px 0; font-size:18px; font-weight:500;
  color:var(--sc-ink); text-decoration:none; border-bottom:1px solid var(--sc-border);
}
.sc-mobile-menu a:last-of-type { border-bottom:0; }
.sc-mobile-menu .sc-btn { margin-top:10px; }
body.sc-menu-open .sc-mobile-menu { display:flex; }
body.sc-menu-open .sc-burger span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
body.sc-menu-open .sc-burger span:nth-child(2) { opacity:0; }
body.sc-menu-open .sc-burger span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

@media (max-width:1020px) {
  .sc-nav { display:none; }
  .sc-header__phone { display:none; }
  .sc-header__cta { display:none; }
  .sc-burger { display:block; }
}

/* ---------- Контентная область ---------- */
.sc-main { position:relative; z-index:1; }

/* ---------- Подвал ---------- */
.sc-footer {
  background:var(--sc-dark-bg); color:var(--sc-white);
  padding:64px 0 40px; position:relative; z-index:1;
}
.sc-footer__grid {
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px;
  padding-bottom:44px; border-bottom:1px solid var(--sc-dark-border);
}
.sc-footer__logo { display:inline-flex; align-items:center; margin-bottom:18px; }
.sc-footer__logo img { height:30px; display:block; }
.sc-footer__about {
  font-size:17px; color:var(--sc-dark-secondary); line-height:1.6;
  margin:0; max-width:280px;
}
.sc-footer__title {
  font-family:'JetBrains Mono',monospace; font-size:14px; letter-spacing:1px;
  text-transform:uppercase; color:var(--sc-steel); margin-bottom:16px;
}
.sc-footer__col { display:flex; flex-direction:column; gap:11px; font-size:17px; }
.sc-footer__col a, .sc-footer__col span { color:#C2C8D2; text-decoration:none; }
.sc-footer__col a:hover { color:var(--sc-accent-light); }
.sc-footer__col .sc-mono { font-family:'JetBrains Mono',monospace; }
.sc-footer__bottom {
  padding-top:28px; display:flex; flex-wrap:wrap; gap:8px 28px;
  justify-content:space-between; font-size:14px; color:var(--sc-steel); line-height:1.7;
}
.sc-footer__bottom a { color:var(--sc-dark-secondary); text-decoration:none; }
.sc-footer__bottom a:hover { color:var(--sc-accent-light); }

@media (max-width:900px) {
  .sc-footer__grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px) {
  .sc-footer__grid { grid-template-columns:1fr; gap:28px; }
}

/* ---------- SC-HERO-BUTTERFLY: герой с бабочкой (ТЗ 5.1) ---------- */
.sc-hero { background:#0E1320; color:#fff; position:relative; overflow:hidden; }
.sc-hero__gridbg { position:absolute; inset:0; z-index:1;
  background-image:linear-gradient(rgba(103,169,220,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(103,169,220,.09) 1px,transparent 1px);
  background-size:52px 52px; animation:scgrid 18s linear infinite; }
.sc-hero__grid { display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center;
  padding:96px 0 100px; position:relative; z-index:2; }
.sc-h1 { font-family:'Unbounded',sans-serif; font-weight:800; font-size:clamp(34px,5.5vw,60px);
  line-height:1.05; margin:0 0 28px; color:#fff; }
.sc-hero__label { font-family:'JetBrains Mono',monospace; font-size:15px; letter-spacing:1.5px;
  text-transform:uppercase; color:#67A9DC; margin-bottom:24px; }
.sc-hero__text { font-size:20px; line-height:1.6; color:#93A0B4; max-width:560px; margin:0 0 36px; }
.sc-hero__vis { position:relative; display:flex; align-items:center; justify-content:center; min-height:420px; }
.sc-hero__vis svg { width:100%; max-width:620px; height:auto; overflow:visible; }
.sc-glow { transform-box:fill-box; transform-origin:center; animation:scglow 7s ease-in-out infinite; }
.sc-butterfly { animation:scbob 7s ease-in-out infinite; }
.sc-wing-left { transform-box:fill-box; transform-origin:right center; animation:scflapL 3.4s ease-in-out infinite; }
.sc-wing-right { transform-box:fill-box; transform-origin:left center; animation:scflapR 3.4s ease-in-out infinite; }
@media (max-width:900px) {
  .sc-hero__grid { grid-template-columns:1fr; padding:56px 0 64px; }
  .sc-hero__vis { min-height:300px; }
  .sc-hero__vis svg { max-width:420px; }
}
@media (prefers-reduced-motion:reduce) {
  .sc-glow, .sc-butterfly, .sc-wing-left, .sc-wing-right, .sc-hero__gridbg { animation:none !important; }
}
/* ---------- SC-SHARED-DARK: общие классы темных секций ---------- */
.sc-svc-hero { background:var(--sc-dark-bg); color:#fff; padding:46px 0 72px; position:relative; overflow:hidden; }
.sc-svc-hero__gridbg { position:absolute; inset:0;
  background-image:linear-gradient(rgba(103,169,220,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(103,169,220,.07) 1px,transparent 1px);
  background-size:52px 52px; animation:scgrid 24s linear infinite; }
.sc-crumbs { display:flex; align-items:center; gap:8px; font-family:'JetBrains Mono',monospace; font-size:14px; color:var(--sc-steel); margin-bottom:30px; flex-wrap:wrap; }
.sc-crumbs a { color:var(--sc-dark-secondary); text-decoration:none; }
.sc-crumbs a:hover { color:var(--sc-accent-light); }
.sc-crumbs__cur { color:#fff; }
.sc-mono-label { font-family:'JetBrains Mono',monospace; font-weight:500; font-size:14px; letter-spacing:1.5px; text-transform:uppercase; color:var(--sc-accent-light); margin-bottom:14px; }
@media (prefers-reduced-motion:reduce) { .sc-svc-hero__gridbg { animation:none !important; } }
/* ---------- SC-NAV-NOWRAP ---------- */
.sc-nav { gap:22px; }
.sc-nav a { white-space:nowrap; }
.sc-header__inner { gap:18px; }
/* ---------- SC-HEADER-BALANCE: баланс логотипа и меню ---------- */
.sc-header__logo img { height:38px; }
.sc-nav a { font-size:16px; }
.sc-header__phone { font-size:15px; }
.sc-footer__logo img { height:38px; }
/* ---------- SC-SHARED-CARDS: карточки кейсов и сетки (общие) ---------- */
.sc-cases3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sc-case-card { background:#fff; border:1px solid var(--sc-border); border-radius:16px; padding:24px; display:flex; flex-direction:column; text-decoration:none; transition:border-color .15s,transform .15s; }
.sc-case-card:hover { border-color:var(--sc-accent); transform:translateY(-3px); }
.sc-case-card__top { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; gap:10px; }
.sc-case-card__type { font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--sc-steel); }
.sc-chip { background:rgba(1,99,169,.1); color:var(--sc-accent); font-weight:700; font-size:15px; padding:5px 11px; border-radius:999px; font-family:'JetBrains Mono',monospace; white-space:nowrap; }
.sc-case-card__t { font-weight:700; font-size:20px; line-height:1.3; margin-bottom:10px; color:var(--sc-ink); }
.sc-case-card__d { font-size:17px; color:var(--sc-steel); line-height:1.5; flex:1; margin-bottom:16px; }
.sc-link-arr { color:var(--sc-accent); font-weight:600; font-size:18px; text-decoration:none; white-space:nowrap; }
.sc-link-arr:hover { text-decoration:underline; }
.sc-case-card--strip { padding:0; overflow:hidden; }
.sc-case-card__strip { height:8px; }
.sc-case-card__body { padding:24px; display:flex; flex-direction:column; flex:1; }
.sc-case-card__client { font-family:'JetBrains Mono',monospace; font-size:14px; color:var(--sc-accent); margin-bottom:8px; }
.sc-sect { padding:96px 0; }
.sc-sect--white { background:rgba(255,255,255,.82); }
.sc-sect--gray { background:rgba(241,243,246,.8); }
.sc-sect__head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:36px; flex-wrap:wrap; }
.sc-h2 { font-family:'Unbounded',sans-serif; font-weight:700; font-size:clamp(26px,3.2vw,34px); line-height:1.1; margin:0 0 36px; color:var(--sc-ink); }
@media (max-width:900px) { .sc-cases3 { grid-template-columns:1fr; } .sc-sect { padding:56px 0; } }
/* ---------- SC-SHARED-BLOG: карточки блога и баннер (общие) ---------- */
.sc-blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sc-blog-card { background:#fff; border:1px solid var(--sc-border); border-radius:16px; padding:24px;
  display:flex; flex-direction:column; text-decoration:none; transition:border-color .15s,transform .15s; }
.sc-blog-card:hover { border-color:var(--sc-accent); transform:translateY(-2px); }
.sc-blog-card__t { font-weight:700; font-size:20px; line-height:1.35; margin-bottom:8px; color:var(--sc-ink); }
.sc-blog-card__x { font-size:16px; color:var(--sc-steel); line-height:1.55; margin:0 0 12px; }
.sc-blog-pill { display:inline-flex; align-self:flex-start; font-family:'JetBrains Mono',monospace;
  font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--sc-accent);
  border:1px solid var(--sc-border); border-radius:999px; padding:4px 10px; margin-bottom:14px; }
.sc-blog-pill--dark { color:var(--sc-accent-light); border-color:var(--sc-dark-border); padding:5px 11px; margin-bottom:18px; }
.sc-blog-meta { font-family:'JetBrains Mono',monospace; font-size:14px; color:var(--sc-steel); margin-top:auto; }
.sc-blog-meta--dark { color:var(--sc-steel); }
.sc-banner { background:var(--sc-ink); border-radius:20px; padding:44px; display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.sc-banner__t { font-family:'Unbounded',sans-serif; font-weight:700; font-size:26px; color:#fff; margin:0 0 8px; }
.sc-banner__d { font-size:18px; color:var(--sc-dark-secondary); margin:0; }
@media (max-width:900px) { .sc-blog-grid { grid-template-columns:1fr; } .sc-banner { padding:28px; } }
/* ---------- SC-HOME: секции главной ---------- */
.sc-stats-strip { background:var(--sc-ink); color:#fff; border-top:1px solid var(--sc-dark-border); }
.sc-stats-strip__grid { display:grid; grid-template-columns:repeat(4,1fr); }
.sc-stats-strip__cell { padding:40px 28px; border-right:1px solid var(--sc-dark-border); }
.sc-stats-strip__cell:last-child { border-right:0; }
.sc-stats-strip__v { font-family:'Unbounded',sans-serif; font-weight:800; font-size:46px; line-height:1; color:#fff; margin-bottom:10px; }
.sc-stats-strip__l { font-family:'JetBrains Mono',monospace; font-size:15px; color:var(--sc-dark-secondary); line-height:1.4; }

.sc-team { position:relative; background:var(--sc-dark-bg); color:#fff; overflow:hidden; min-height:460px; display:flex; align-items:center; }
.sc-team__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:right center; }
.sc-team__shade { position:absolute; inset:0; background:linear-gradient(90deg,#0E1320 0%,rgba(14,19,32,.88) 40%,rgba(14,19,32,.25) 100%); }
.sc-team__content { position:relative; z-index:1; max-width:470px; padding:64px 0; }
.sc-team__content h2 { font-family:'Unbounded',sans-serif; font-weight:700; font-size:36px; line-height:1.1; margin:0 0 16px; color:#fff; }
.sc-team__content p { font-size:20px; line-height:1.6; color:#C2C8D2; margin:0; max-width:440px; }

.sc-dark-sect { background:var(--sc-ink); color:#fff; padding:104px 0; position:relative; overflow:hidden; }
.sc-dark-sect__gridbg { position:absolute; inset:0;
  background-image:linear-gradient(rgba(103,169,220,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(103,169,220,.06) 1px,transparent 1px);
  background-size:52px 52px; animation:scgrid 24s linear infinite; }
.sc-h2--light { color:#fff; }

.sc-data__grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.sc-data__rows { border-top:1px solid var(--sc-border); margin-bottom:28px; }
.sc-data__row { display:flex; gap:18px; padding:18px 0; border-bottom:1px solid var(--sc-border); align-items:baseline; }
.sc-data__row-n { font-family:'JetBrains Mono',monospace; font-weight:700; font-size:15px; color:var(--sc-accent); }
.sc-data__row-t { font-weight:700; font-size:19px; margin-bottom:3px; color:var(--sc-ink); }
.sc-data__row-d { font-size:16px; color:var(--sc-steel); line-height:1.5; }
.sc-data__scheme { background:#fff; border:1px solid var(--sc-border); border-radius:18px; padding:34px 32px 26px; }

.sc-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:24px; }
.sc-trust-card { background:var(--sc-bg-light); border:1px solid var(--sc-border); border-radius:16px; padding:26px; }
.sc-trust-card svg { margin-bottom:16px; color:var(--sc-accent); }
.sc-trust-card__t { font-weight:700; font-size:19px; margin-bottom:5px; color:var(--sc-ink); }
.sc-trust-card__d { font-family:'JetBrains Mono',monospace; font-size:14px; color:var(--sc-steel); }
.sc-comp-chips { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.sc-comp-chip { font-family:'JetBrains Mono',monospace; font-size:14px; color:var(--sc-ink); background:#fff; border:1px solid var(--sc-border); border-radius:999px; padding:8px 16px; }

.sc-why-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.sc-why-card { background:#fff; border:1px solid var(--sc-border); border-radius:16px; padding:28px; }
.sc-why-card__n { font-family:'JetBrains Mono',monospace; font-weight:700; font-size:15px; color:var(--sc-accent); margin-bottom:12px; }
.sc-why-card__t { font-family:'Unbounded',sans-serif; font-weight:600; font-size:20px; margin-bottom:10px; color:var(--sc-ink); }
.sc-why-card__d { font-size:17px; color:var(--sc-steel); line-height:1.55; }

.sc-cta { background:var(--sc-ink); color:#fff; padding:80px 0; position:relative; overflow:hidden; }
.sc-cta__gridbg { position:absolute; inset:0;
  background-image:linear-gradient(rgba(103,169,220,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(103,169,220,.06) 1px,transparent 1px);
  background-size:52px 52px; animation:scgrid 24s linear infinite; }
.sc-cta__grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.sc-cta__card { background:var(--sc-dark-card); border:1px solid var(--sc-dark-border); border-radius:20px; padding:32px; }
.sc-badges { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.sc-badge { display:inline-flex; align-items:center; gap:7px; border:1px solid var(--sc-dark-border); border-radius:999px; padding:6px 13px; font-size:14px; font-family:'JetBrains Mono',monospace; color:#fff; }
.sc-badge i { width:6px; height:6px; border-radius:50%; background:var(--sc-accent-light); }

.sc-quote { background:var(--sc-bg-light); border-radius:16px; padding:40px; text-align:center; }
.sc-quote__mark { font-family:'Unbounded',sans-serif; font-weight:600; font-size:80px; line-height:.5; color:var(--sc-accent); height:36px; }
.sc-quote__text { font-family:'Unbounded',sans-serif; font-weight:600; font-size:22px; line-height:1.4; margin:0 0 18px; letter-spacing:-.3px; color:var(--sc-ink); }
.sc-quote__author { font-family:'JetBrains Mono',monospace; font-size:15px; color:var(--sc-steel); }

@media (max-width:1020px) {
  .sc-stats-strip__grid { grid-template-columns:1fr 1fr; }
  .sc-stats-strip__cell:nth-child(2n) { border-right:0; }
  .sc-stats-strip__cell { border-bottom:1px solid var(--sc-dark-border); }
  .sc-trust-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:900px) {
  .sc-data__grid { grid-template-columns:1fr; gap:36px; }
  .sc-why-grid { grid-template-columns:1fr; }
  .sc-cta__grid { grid-template-columns:1fr; gap:32px; }
  .sc-team__content h2 { font-size:28px; }
}
@media (max-width:640px) { .sc-stats-strip__grid, .sc-trust-grid { grid-template-columns:1fr; } .sc-stats-strip__cell { border-right:0; } }
/* ---------- SC-FIX-HOME-SERVICES: строки услуг глобально + темная секция ---------- */
.sc-dark-sect { background:var(--sc-ink); color:#fff; padding:104px 0; position:relative; overflow:hidden; }
.sc-dark-sect__gridbg { position:absolute; inset:0;
  background-image:linear-gradient(rgba(103,169,220,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(103,169,220,.06) 1px,transparent 1px);
  background-size:52px 52px; animation:scgrid 24s linear infinite; }
.sc-h2--light { color:#fff; }
.sc-svc-list { border-top:1px solid var(--sc-dark-border); }
.sc-svc-row { display:grid; grid-template-columns:64px 1fr 1.1fr 40px; align-items:center; gap:24px;
  padding:26px 16px; border-bottom:1px solid var(--sc-dark-border); text-decoration:none;
  transition:background .15s; }
.sc-svc-row:hover { background:var(--sc-dark-card); }
.sc-svc-row__num { font-family:'JetBrains Mono',monospace; font-weight:700; font-size:18px; color:var(--sc-steel); }
.sc-svc-row__title { font-weight:700; font-size:21px; color:#fff; }
.sc-svc-row__desc { font-size:18px; color:var(--sc-dark-secondary); line-height:1.5; }
.sc-svc-row__arr { color:var(--sc-accent-light); font-size:22px; text-align:right; transition:transform .15s; }
.sc-svc-row:hover .sc-svc-row__arr { transform:translateX(4px); }
@media (max-width:760px) {
  .sc-svc-row { grid-template-columns:44px 1fr 32px; }
  .sc-svc-row__desc { display:none; }
  .sc-svc-row__title { font-size:17px; }
}
@media (prefers-reduced-motion:reduce) { .sc-dark-sect__gridbg { animation:none !important; } }
/* ---------- SC-DATA-LAYOUT ---------- */
.sc-data__device { border:1px solid var(--sc-border); border-radius:16px; background:#fff; padding:10px; box-shadow:0 24px 60px -32px rgba(20,24,31,.4); }
.sc-data__device img { width:100%; display:block; border-radius:12px; }
.sc-data__scheme { margin-top:44px; }
/* ---------- SC-ABOUT-CONTACTS ---------- */
.sc-svc-list--light { border-top:1px solid var(--sc-border); }
.sc-svc-list--light .sc-svc-row { border-bottom:1px solid var(--sc-border); }
.sc-svc-list--light .sc-svc-row:hover { background:var(--sc-bg-light); }
.sc-svc-list--light .sc-svc-row__num { color:#A6AEBC; }
.sc-svc-list--light .sc-svc-row__title { color:var(--sc-ink); font-size:20px; }
.sc-svc-list--light .sc-svc-row__desc { color:var(--sc-steel); }
.sc-svc-list--light .sc-svc-row__arr { color:var(--sc-accent); }

.sc-about__grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.sc-about__photo { border-radius:16px; overflow:hidden; border:1px solid var(--sc-border); height:380px; }
.sc-about__photo img { width:100%; height:100%; object-fit:cover; }
.sc-checkrow { display:flex; gap:14px; align-items:flex-start; }
.sc-checkrow svg { flex-shrink:0; margin-top:2px; color:var(--sc-accent); }
.sc-checkrow b { font-weight:700; font-size:17px; color:var(--sc-ink); }
.sc-checkrow span { font-size:16px; color:var(--sc-steel); }

.sc-contact__grid { display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:start; }
.sc-contact-row { display:flex; align-items:center; gap:16px; color:var(--sc-ink); text-decoration:none; }
.sc-contact-row i { width:46px; height:46px; border-radius:12px; border:1px solid var(--sc-border); background:var(--sc-bg-light);
  display:flex; align-items:center; justify-content:center; color:var(--sc-accent); font-size:18px; font-style:normal; flex-shrink:0; }
.sc-contact-row small { display:block; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--sc-steel); margin-bottom:3px; }
.sc-contact-row b { font-weight:600; font-size:18px; }
.sc-contact__map { height:220px; border-radius:16px; border:1px solid var(--sc-border); overflow:hidden; background:var(--sc-dark-bg); position:relative; }
.sc-contact__map-grid { position:absolute; inset:0;
  background-image:linear-gradient(rgba(103,169,220,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(103,169,220,.1) 1px,transparent 1px);
  background-size:30px 30px; }
.sc-contact__map-pin { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); text-align:center; color:#fff; }
.sc-contact__card { background:#fff; border:1px solid var(--sc-border); border-radius:20px; padding:36px; box-shadow:0 24px 60px -40px rgba(20,24,31,.4); }
@media (max-width:900px) {
  .sc-about__grid, .sc-contact__grid { grid-template-columns:1fr; gap:36px; }
  .sc-about__photo { height:260px; }
}
/* ---------- SC-FORM ---------- */
.sc-form { position:relative; }
.sc-field { display:block; margin-bottom:14px; }
.sc-field span { display:block; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--sc-steel); margin-bottom:6px; }
.sc-field input, .sc-field textarea { width:100%; box-sizing:border-box; background:var(--sc-bg-light); border:1.5px solid var(--sc-border); border-radius:10px;
  padding:12px 14px; font-family:'Inter',sans-serif; font-size:16px; color:var(--sc-ink); outline:none; transition:border-color .15s, box-shadow .15s; resize:vertical; }
.sc-field input:focus, .sc-field textarea:focus { border-color:var(--sc-accent); box-shadow:0 0 0 3px rgba(1,99,169,.15); background:#fff; }
.sc-consent { display:flex; gap:10px; align-items:flex-start; margin-top:14px; font-size:14px; color:var(--sc-steel); line-height:1.5; cursor:pointer; }
.sc-consent input { margin-top:3px; accent-color:var(--sc-accent); }
.sc-consent a { color:var(--sc-accent); }
.sc-form-error { margin-top:12px; font-size:15px; color:#C0392B; }
.sc-form-success__ico { width:60px; height:60px; border-radius:50%; background:rgba(1,99,169,.12); display:flex; align-items:center; justify-content:center; margin:0 auto 20px; color:var(--sc-accent); }
/* ---------- SC-FIELD-HINT: свои подсказки валидации ---------- */
.sc-field.is-invalid input, .sc-field.is-invalid textarea { border-color:#C0392B; box-shadow:0 0 0 3px rgba(192,57,43,.12); }
.sc-field__hint { display:none; font-size:14px; color:#C0392B; margin-top:6px; line-height:1.4; }
.sc-field.is-invalid .sc-field__hint { display:block; }
/* ---------- SC-GRID-BLUE: голубая фоновая сетка ---------- */
.sc-grid-bg {
  background-color:#F4F8FC;
  background-image:
    radial-gradient(circle,rgba(1,99,169,.20) 1px,transparent 1.5px),
    linear-gradient(rgba(103,169,220,.14) 1px,transparent 1px),
    linear-gradient(90deg,rgba(103,169,220,.14) 1px,transparent 1px);
}
/* ---------- SC-GRID-V2-AND-REVEAL ---------- */
/* Сетка ярче */
.sc-grid-bg {
  background-color:#F2F7FC;
  background-image:
    radial-gradient(circle,rgba(1,99,169,.32) 1.2px,transparent 1.7px),
    linear-gradient(rgba(103,169,220,.28) 1px,transparent 1px),
    linear-gradient(90deg,rgba(103,169,220,.28) 1px,transparent 1px);
}
/* Светлые секции прозрачнее, чтобы сетка читалась */
.sc-sect--white { background:rgba(255,255,255,.62); }
.sc-sect--gray { background:rgba(241,245,250,.55); }

/* Появление при скролле */
.sc-reveal { opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s ease; }
.sc-reveal.is-visible { opacity:1; transform:none; }
.sc-reveal:nth-child(2) { transition-delay:.08s; }
.sc-reveal:nth-child(3) { transition-delay:.16s; }
.sc-reveal:nth-child(4) { transition-delay:.24s; }
@media (prefers-reduced-motion:reduce) {
  .sc-reveal { opacity:1 !important; transform:none !important; transition:none !important; }
}
/* ---------- SC-DATAFLOW: нативная анимированная схема + сетка без точек ---------- */
.sc-grid-bg {
  background-image:
    linear-gradient(rgba(103,169,220,.28) 1px,transparent 1px),
    linear-gradient(90deg,rgba(103,169,220,.28) 1px,transparent 1px);
}
.sc-dataflow { background:#fff; border:1px solid var(--sc-border); border-radius:18px; padding:24px 12px 8px; }
.sc-dataflow svg { width:100%; height:auto; display:block; }
.sc-df-flow { stroke-dasharray:6 7; animation:scdfflow 1.6s linear infinite; }
@keyframes scdfflow { to { stroke-dashoffset:-13; } }
.sc-df-node { animation:scfloat 5.5s ease-in-out infinite; }
.sc-df-wave { stroke-dasharray:90; animation:scdfwave 3s ease-in-out infinite alternate; }
@keyframes scdfwave { from { stroke-dashoffset:0; } to { stroke-dashoffset:14; } }
.sc-df-bars rect { transform-origin:bottom; transform-box:fill-box; animation:scdfbar 2.6s ease-in-out infinite; }
.sc-df-bars rect:nth-child(2) { animation-delay:.3s; }
.sc-df-bars rect:nth-child(3) { animation-delay:.6s; }
.sc-df-bars rect:nth-child(4) { animation-delay:.9s; }
.sc-df-bars rect:nth-child(5) { animation-delay:1.2s; }
@keyframes scdfbar { 0%,100% { transform:scaleY(1); } 50% { transform:scaleY(.72); } }
@media (prefers-reduced-motion:reduce) {
  .sc-df-flow, .sc-df-node, .sc-df-wave, .sc-df-bars rect { animation:none !important; }
}
/* ---------- SC-DATAFLOW-BG: схема как фон секции ---------- */
.sc-dataflow { background:transparent; border:0; padding:0; opacity:.92; }
.sc-dataflow svg text { font-family:'Inter',sans-serif; }
/* SC-WHY-PHOTO */
.sc-quote--photo{display:grid;grid-template-columns:45% 1fr;padding:0;overflow:hidden;text-align:left;align-items:stretch}
.sc-quote--photo .sc-quote__img{position:relative;min-height:320px}
.sc-quote--photo .sc-quote__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;display:block}
.sc-quote--photo .sc-quote__body{padding:40px 48px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.sc-quote--photo .sc-quote__text{text-align:left;font-size:clamp(18px,2.2vw,23px);margin:0}
.sc-quote--photo .sc-quote__mark{margin:0 0 8px}
@media (max-width:760px){
.sc-quote--photo{grid-template-columns:1fr}
.sc-quote--photo .sc-quote__img{min-height:220px}
.sc-quote--photo .sc-quote__body{padding:28px 20px}
}
/* /SC-WHY-PHOTO */

/* SC-MOBILE */
img, svg, video, iframe { max-width:100%; }
body { overflow-x:hidden; }
@media (max-width:640px) {
  .sc-h1 { font-size:clamp(28px,8vw,34px); margin-bottom:20px; }
  .sc-h2 { margin-bottom:28px; }
  .sc-hero__grid { padding:40px 0 44px; gap:24px; }
  .sc-hero__vis { min-height:200px; }
  .sc-hero__vis svg { max-width:280px; }
  .sc-sect { padding:44px 0; }
  .sc-sect__head { margin-bottom:24px; }
  .sc-banner { padding:24px 20px; }
  .sc-banner__t { font-size:21px; }
  .sc-banner__d { font-size:16px; }
  .sc-banner .sc-btn { display:block; width:100%; text-align:center; box-sizing:border-box; }
  .sc-quote { padding:24px 18px; }
  .sc-quote__text { font-size:18px; }
  .sc-contact__grid iframe { width:100%; height:260px; }
}
/* /SC-MOBILE */
