:root{
  --bg:#070b0c;
  --grid:rgba(255,255,255,.06);
  --grid-bold:rgba(255,255,255,.08);
  --text:#e9f1ee;
  --muted:#a8b5b0;
  --accent:#22e58f;
  --accent-2:#2effa4;
  --container:1220px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
html{ scroll-behavior:smooth; }
body{
  margin:0; color:var(--text); background:var(--bg);
  font-family:Manrope, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img,svg{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }

.container{ width:100%; max-width:var(--container); margin-inline:auto; padding-inline:24px; }

/* Фон-сетка */
.bg-grid{
  position:fixed; inset:0; z-index:-2;
  background:
    radial-gradient(1200px 600px at 50% 48%, rgba(40,255,180,.08), transparent 60%),
    radial-gradient(900px 450px at 50% 55%, rgba(0,255,166,.08), transparent 70%),
    linear-gradient(transparent 23px, var(--grid) 24px),
    linear-gradient(90deg, transparent 23px, var(--grid) 24px),
    linear-gradient(transparent 119px, var(--grid-bold) 120px),
    linear-gradient(90deg, transparent 119px, var(--grid-bold) 120px);
  background-size:100% 100%,100% 100%,24px 24px,24px 24px,120px 120px,120px 120px;
  background-position:center;
  opacity:.9;
}

/* Шапка */
.header{
  position:fixed; inset-inline:0; top:0; z-index:10;
  background:linear-gradient(to bottom, rgba(7,11,12,.9), rgba(7,11,12,.4) 60%, transparent);
  backdrop-filter:blur(2px);
}
.header__row{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:20px; }
.logo{ display:flex; align-items:center; gap:14px; text-decoration:none; color:var(--text); }
.logo__mark{ width:44px; height:44px; flex:0 0 44px; }
.logo__text{ display:flex; flex-direction:column; font-weight:800; font-family:Unbounded, Manrope, sans-serif; letter-spacing:.4px; }
.logo__line:first-child{ font-size:14px; line-height:1; }
.logo__line:last-child{ font-size:16px; line-height:1.1; }

.nav{ display:flex; align-items:center; gap:40px; }
.nav a{
  position:relative; text-decoration:none; font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:.08em; opacity:.92;
}
.nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:-10px; height:2px;
  background:linear-gradient(90deg, transparent 10%, var(--accent) 50%, transparent 90%);
  opacity:0; transform:translateY(4px); transition:.25s ease;
}
.nav a:hover::after{ opacity:1; transform:translateY(0); }

.menu-btn{
  display:flex; align-items:center; gap:10px; padding:10px 16px; border-radius:14px;
  background:rgba(34,229,143,.08); border:1px solid rgba(34,229,143,.6);
  color:var(--text); font-weight:800; letter-spacing:.08em; text-transform:uppercase; cursor:pointer;
}
.menu-btn__icon{ width:18px; height:14px; position:relative; }
.menu-btn__icon::before,.menu-btn__icon::after{ content:""; position:absolute; left:0; right:0; height:2px; background:var(--accent); box-shadow:0 6px 0 0 var(--accent); top:0; }
.menu-btn__icon::after{ top:unset; bottom:0; box-shadow:none; }

/* Общие отступы секций */
.section-pad{ padding:min(12vh, 120px) 0; }
.section-title{
  margin:0 0 28px; font-family:Unbounded, Manrope, sans-serif; font-weight:800;
  font-size:clamp(28px, 5vw, 56px); line-height:1.08; letter-spacing:.3px;
}
.muted{ color:var(--muted); font-size:.95em; }

/* Герой */
.hero{ min-height:100vh; display:grid; place-items:center; padding-top:92px; }
.hero__inner{ text-align:center; }
.hero__title{
  margin:0 0 14px; font-family:Unbounded, Manrope, sans-serif; font-weight:800;
  font-size:clamp(36px, 6.5vw, 96px); line-height:1.05; letter-spacing:.4px; text-wrap:balance;
}
.hero__subtitle{ margin:0 0 36px; color:var(--muted); font-size:clamp(16px, 2.2vw, 20px); }

/* Кнопки */
.btn-primary{
  display:inline-block; padding:20px 36px; border-radius:999px; font-weight:800;
  text-transform:uppercase; letter-spacing:.06em; color:#001a0f; text-decoration:none;
  background:radial-gradient(120% 160% at 50% 10%, var(--accent-2), var(--accent));
  box-shadow:0 0 0 4px rgba(34,229,143,.28) inset, 0 8px 18px rgba(0,0,0,.4), 0 0 32px rgba(34,229,143,.55);
  transition:transform .18s ease, box-shadow .18s ease;
}
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 0 0 6px rgba(34,229,143,.32) inset, 0 10px 24px rgba(0,0,0,.45), 0 0 42px rgba(34,229,143,.75); }
.btn-ghost{ display:inline-block; white-space:nowrap; padding:14px 22px; border-radius:999px; background:#fff; color:#0d1a15; font-weight:800; text-decoration:none; box-shadow:0 10px 20px rgba(0,0,0,.35), 0 0 28px rgba(255,255,255,.12) inset; }

/* AI-дерево */
.ai-tree__center{ display:grid; place-items:center; margin:10px auto 40px; position:relative; width:max-content; }
.chip{ display:inline-grid; place-items:center; min-width:110px; height:110px; padding:8px 16px; border-radius:24px; background:radial-gradient(200% 200% at 50% 0%, #0f1d19, #0a1411); border:1px solid rgba(255,255,255,.08); box-shadow:0 0 0 2px rgba(255,255,255,.06) inset, 0 10px 30px rgba(0,0,0,.5); font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.chip--xl{ font-size:34px; }
.ai-tree__glow{ position:absolute; inset:auto -160px -130px -160px; height:160px; background:radial-gradient(50% 90% at 50% 0%, rgba(255,255,255,.45), transparent 70%), radial-gradient(60% 100% at 50% 10%, rgba(46,255,164,.24), transparent 70%); filter:blur(10px); opacity:.8; pointer-events:none; }
.ai-tree__branches{ display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; align-items:start; position:relative; padding-top:24px; }
.ai-col{ display:grid; gap:16px; }
.ai-node{ background:radial-gradient(120% 140% at 50% 0%, rgba(46,255,164,.08), rgba(7,11,12,.6)); border:1px solid rgba(46,255,164,.4); border-radius:22px; padding:26px 28px; font-weight:800; font-size:clamp(18px, 2.3vw, 28px); box-shadow:0 0 0 1px rgba(46,255,164,.15) inset, 0 14px 30px rgba(0,0,0,.35); }
.ai-node--lg{ padding:28px 30px; }
.ai-node--purple{ border-color:rgba(155,120,255,.55); background:radial-gradient(120% 140% at 50% 0%, rgba(155,120,255,.14), rgba(7,11,12,.6)); box-shadow:0 0 0 1px rgba(155,120,255,.2) inset, 0 14px 30px rgba(0,0,0,.35); }
.ai-leaves{ display:flex; gap:12px; flex-wrap:wrap; }
.ai-leaf{ padding:12px 16px; border-radius:14px; font-weight:700; font-size:14px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); }

/* Клиенты */
.clients__grid{ display:grid; grid-template-columns:1fr 2fr; gap:36px; align-items:start; }
.partners-badge{ display:flex; gap:16px; align-items:center; border-radius:20px; padding:20px 22px; border:1px solid rgba(46,255,164,.4); background:radial-gradient(140% 160% at 10% 20%, rgba(46,255,164,.08), rgba(7,11,12,.55)); width:max-content; }
.partners-badge__icon{ width:56px; height:56px; border-radius:14px; box-shadow:inset 0 0 0 3px rgba(46,255,164,.8); }
.partners-badge__title{ font-weight:800; color:var(--accent); text-transform:uppercase; letter-spacing:.08em; }
.partners-badge__subtitle{ font-size:28px; font-weight:900; }
.clients__logos{ display:grid; grid-template-columns:repeat(3, minmax(180px, 1fr)); gap:18px; }
.logo-card{ position:relative; display:grid; place-items:center; height:130px; border-radius:18px; background:rgba(255,255,255,.02); border:1px solid rgba(255,255,255,.08); font-weight:900; letter-spacing:.04em; text-align:center; }
.logo-card::before,.logo-card::after{ content:""; position:absolute; width:22px; height:22px; border:2px solid var(--accent); }
.logo-card::before{ left:10px; top:10px; border-right:none; border-bottom:none; }
.logo-card::after{ right:10px; bottom:10px; border-left:none; border-top:none; }

/* Услуги */
.services .service-card{ position:relative; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:28px; border-radius:32px; margin-bottom:18px; border:1px solid rgba(255,255,255,.08); background:linear-gradient(90deg, rgba(255,255,255,.02), rgba(255,255,255,.02)); box-shadow:0 14px 30px rgba(0,0,0,.35); }
.services .service-card--accent{ background:radial-gradient(120% 200% at 75% 50%, rgba(123,67,255,.55), rgba(46,173,255,.55), rgba(46,255,164,.45) 70%, transparent 80%), linear-gradient(90deg, rgba(255,255,255,.02), rgba(255,255,255,.02)); }
.service-card__content h3{ margin:0 0 8px; font-size:clamp(20px, 2.4vw, 28px); }
.service-card__content p{ margin:0; color:var(--muted); }

/* Преимущества */
.cards{ display:grid; grid-template-columns:repeat(2, 1fr); gap:26px; align-items:stretch; }
.card{ padding:26px; border-radius:22px; border:1px solid rgba(255,255,255,.08); background:radial-gradient(140% 180% at 10% 0%, rgba(46,255,164,.06), rgba(255,255,255,.02)); box-shadow:0 18px 34px rgba(0,0,0,.4); position:relative; overflow:hidden; }
.card::before{ content:""; position:absolute; inset:0; background:linear-gradient(transparent 23px, rgba(255,255,255,.04) 24px), linear-gradient(90deg, transparent 23px, rgba(255,255,255,.04) 24px); background-size:24px 24px, 24px 24px; opacity:.25; pointer-events:none; }
.card__icon{ width:86px; height:86px; border-radius:20px; margin-bottom:16px; background:radial-gradient(120% 140% at 50% 0%, rgba(46,255,164,.2), rgba(7,11,12,.6)); border:1px solid rgba(46,255,164,.6); display:grid; place-items:center; }
.card__icon--logo::after{ content:""; width:40px; height:40px; border-radius:10px; box-shadow:inset 0 0 0 3px rgba(46,255,164,.9); }
.card__icon--chart::after{ content:""; width:50px; height:30px; border-bottom:3px solid var(--accent); border-right:3px solid var(--accent); transform:skewX(-12deg) translateX(4px); }
.card__icon--shield::after{ content:""; width:40px; height:48px; border:3px solid var(--accent); border-radius:12px 12px 16px 16px; }
.card__icon--ai::after{ content:"AI"; font-weight:900; letter-spacing:.08em; }
.card h3{ margin:0 0 10px; font-size:clamp(18px, 2.3vw, 24px); }
.card p{ margin:0; color:var(--muted); }

/* Процесс */
.timeline{ position:relative; display:grid; grid-template-columns:repeat(4, 1fr); gap:28px; padding-top:30px; }
.timeline::before{
  content:""; position:absolute; left:0; right:0; top:0; bottom:0; pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.06) 0 1px, transparent 1px calc(25% - 1px),
      rgba(255,255,255,.06) 0 1px, transparent 1px calc(50% - 1px),
      rgba(255,255,255,.06) 0 1px, transparent 1px calc(75% - 1px),
      rgba(255,255,255,.06) 0 1px, transparent 1px 100%);
  background-size:25% 100%;
  mask:linear-gradient(#000, transparent 92%);
}
.timeline__col{ height:24px; color:rgba(255,255,255,.35); font-weight:800; }
.timeline__col span{ font-size:18px; }
.step{ border-radius:26px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); box-shadow:0 12px 28px rgba(0,0,0,.35); padding:22px 24px; }
.step--a{ grid-column:1 / span 1; }
.step--b{ grid-column:2 / span 1; background:linear-gradient(90deg, rgba(120,85,241,.24), rgba(120,85,241,.14)); border-color:rgba(120,85,241,.45); }
.step--c{ grid-column:3 / span 2; background:linear-gradient(90deg, rgba(120,85,241,.24), rgba(46,255,164,.18)); border-color:rgba(120,85,241,.4); }
.step h3{ margin:0 0 8px; font-size:clamp(18px, 2.2vw, 24px); }
.step p{ margin:0; color:var(--muted); }

/* Отзывы */
.testi{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.testi__item{ padding:22px; border-radius:18px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); box-shadow:0 12px 26px rgba(0,0,0,.35); }
.testi__item h3{ margin:0 0 10px; color:var(--accent); font-weight:900; letter-spacing:.04em; }
.testi__item p{ margin:0; color:var(--muted); }

/* Контакты */
.contacts{ position:relative; overflow:hidden; }
.contacts__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:18px; align-items:stretch; margin-bottom:80px; }
.tile{ padding:22px; border-radius:18px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); box-shadow:0 12px 26px rgba(0,0,0,.35); display:flex; flex-direction:column; gap:10px; }
.tile__label{ font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); border-left:3px solid var(--accent); padding-left:10px; width:max-content; }
.tile__text{ font-size:20px; font-weight:800; }
.tile__link{ font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.tile--qr{ display:grid; grid-template-rows:auto 1fr auto; align-items:start; }
.qr{ margin-block:10px; width:200px; height:200px; border-radius:12px; background:
  radial-gradient(circle at 10% 10%, var(--accent) 8px, transparent 9px) 0 0/40px 40px,
  radial-gradient(circle at 70% 50%, var(--accent) 6px, transparent 7px) 0 0/40px 40px,
  radial-gradient(circle at 30% 80%, var(--accent) 8px, transparent 9px) 0 0/40px 40px,
  rgba(255,255,255,.02);
  border:8px solid rgba(46,255,164,.4);
  box-shadow:inset 0 0 0 4px rgba(46,255,164,.25), 0 10px 24px rgba(0,0,0,.45);
}

/* Большое слово за формой */
.wordmark{
  position:absolute; left:0; right:0; bottom:-10vh; z-index:-1;
  font-family:Unbounded, Manrope, sans-serif; font-weight:800;
  font-size:min(22vw, 240px); line-height:.9;
  display:flex; justify-content:center; pointer-events:none; user-select:none;
  background:linear-gradient(90deg, #33a6ff, #b74bff); -webkit-background-clip:text; background-clip:text; color:transparent;
  opacity:.22;
}
.wordmark span{ white-space:nowrap; }

/* Плавающая форма */
.float-form{
  position:absolute; right:4vw; bottom:14vh; width:min(420px, 88vw);
  padding:20px; border-radius:18px;
  background:rgba(7,11,12,.55);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 24px 48px rgba(0,0,0,.55), 0 0 40px rgba(0,0,0,.15) inset;
  backdrop-filter:blur(10px);
  display:grid; gap:12px; z-index:2;
}
.float-form input,.float-form select{
  height:48px; width:100%; padding:0 16px; border-radius:12px;
  border:1px solid rgba(255,255,255,.16); background:rgba(0,0,0,.35); color:var(--text); font:inherit; outline:none;
}
.float-form input::placeholder{ color:rgba(233,241,238,.65); }
.float-form .select{ position:relative; }
.float-form .select select{ appearance:none; -webkit-appearance:none; -moz-appearance:none; padding-right:38px; }
.float-form .select__arrow{ position:absolute; right:14px; top:50%; width:0; height:0; border-left:6px solid transparent; border-right:6px solid transparent; border-top:7px solid rgba(255,255,255,.9); transform:translateY(-50%); pointer-events:none; }
.agree{ display:flex; gap:10px; align-items:flex-start; color:var(--muted); font-size:13px; line-height:1.35; }
.agree input{ appearance:none; width:18px; height:18px; margin-top:2px; border-radius:4px; border:1.5px solid rgba(255,255,255,.85); background:transparent; position:relative; cursor:pointer; }
.agree input:checked{ background:var(--accent); border-color:var(--accent); box-shadow:0 0 0 2px rgba(0,0,0,.25) inset; }
.agree input:checked::after{ content:""; position:absolute; left:4px; top:1px; width:6px; height:10px; border:2px solid #0b1b15; border-top:none; border-left:none; transform:rotate(45deg); }
.agree a{ color:#dff7ef; text-decoration:underline; text-underline-offset:3px; }
.btn-primary.btn-submit{ height:48px; padding:0 24px; border-radius:999px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; background:linear-gradient(180deg, var(--accent-2), var(--accent)); color:#022218; border:none; position:relative; box-shadow:0 10px 22px rgba(0,0,0,.45), 0 0 0 3px rgba(34,229,143,.22) inset; }
.btn-primary.btn-submit::before{ content:""; position:absolute; inset:auto 12% -14px 12%; height:26px; border-radius:999px; background:radial-gradient(80% 140% at 50% 30%, rgba(46,255,164,.55), transparent 70%); filter:blur(10px); pointer-events:none; }
.btn-primary.btn-submit:hover{ transform:translateY(-1px); box-shadow:0 14px 26px rgba(0,0,0,.5), 0 0 0 4px rgba(34,229,143,.28) inset; }
.btn-primary.btn-submit:disabled{ opacity:.6; cursor:not-allowed; }

/* Нижние вкладки */
.bottom-tabs{
  position:sticky; bottom:0; z-index:8;
  display:grid; grid-template-columns:repeat(3, 1fr); gap:0;
  background:rgba(7,11,12,.86);
  backdrop-filter:blur(6px);
  border-top:1px solid rgba(255,255,255,.08);
}
.bottom-tabs a{
  display:block; text-align:center; padding:14px 10px; text-decoration:none;
  font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--text); position:relative;
}
.bottom-tabs a + a{ box-shadow:-1px 0 0 rgba(255,255,255,.07) inset; }
.bottom-tabs a::before{
  content:""; position:absolute; left:0; right:0; top:0; height:2px;
  background:linear-gradient(90deg, transparent 8%, rgba(180,220,210,.8) 50%, transparent 92%);
  opacity:0; transform:translateY(-4px); transition:.2s ease;
}
.bottom-tabs a:hover::before{ opacity:.5; transform:translateY(0); }
.bottom-tabs a.is-active::before{ opacity:1; transform:translateY(0); }

/* Якорям запас под фикс-шапку */
#solutions, #aiprojects, #about { scroll-margin-top:92px; }

/* Адаптив */
@media (max-width:1024px){
  .clients__grid{ grid-template-columns:1fr; }
  .clients__logos{ grid-template-columns:repeat(3, 1fr); }
  .cards{ grid-template-columns:1fr; }
  .contacts__grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:900px){
  .nav{ display:none; }
  .menu-btn{ margin-left:auto; }
  .header__row{ gap:14px; }
  .ai-tree__branches{ grid-template-columns:1fr; }
  .timeline{ grid-template-columns:1fr; }
  .step--a,.step--b,.step--c{ grid-column:auto; }
  .testi{ grid-template-columns:1fr; }
  .float-form{ position:static; width:100%; margin:10px auto 0; }
  .wordmark{ position:static; text-align:center; margin:20px 0 -10px; }
}

.t-powered,
.t-tildalаbеl,
.t-tildalаbеl__wrapper,
.t-copyright a[href*="tilda.cc"],
a[href*="tilda.cc"][target] {
  display: none !important;
  visibility: hidden !important;
}