﻿/* ====== Base ====== */
:root{
  --bg:#0f0f12;
  --bg2:#141418;
  --card:#1a1a21;
  --text:#ffffff;
  --muted:#b6b6c6;
  --line:#2a2a33;
  --accent:#7c5cff;
  --accent2:#00d0ff;
}

*{box-sizing:border-box}
html { scroll-behavior:smooth; }

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
}

/* Keep anchored sections visible under sticky header */
[id]{ scroll-margin-top: 90px; }

body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background: radial-gradient(1200px 600px at 20% 0%, rgba(124,92,255,.25), transparent 60%),
              radial-gradient(1000px 600px at 80% 20%, rgba(0,208,255,.18), transparent 55%),
              var(--bg);
  color:var(--text);
}

a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 18px}

/* ===== Header ===== */

.header{
  position: sticky;
  top: 0;
  z-index: 50;

  width: 100%;
  background: rgba(15,15,18,.72);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.06);

  padding: 12px 0; /* РІРµСЂС‚РёРєР°Р»СЊРЅС‹Рµ РѕС‚СЃС‚СѓРїС‹ */
}

.header-inner{display:flex;align-items:center;gap:14px;padding:12px 0}
.logo{display:flex;align-items:center;gap:10px;min-width:0}
.logo-mark{
  width:34px;height:34px;border-radius:10px;
  background: linear-gradient(135deg, rgba(124,92,255,.9), rgba(0,208,255,.8));
  display:grid;place-items:center;font-weight:800;
}
.logo-mark img{width:20px;height:20px;display:block}
/* Logo text spacing fix */
.logo-text{
  display:flex;
  flex-direction:column;
  gap:4px;               /* СЂР°СЃСЃС‚РѕСЏРЅРёРµ РјРµР¶РґСѓ name Рё tagline */
  min-width:0;
}

.brand{
  font-weight:800;
  line-height:1.15;      /* Р±С‹Р»Рѕ СЃР»РёС€РєРѕРј РїР»РѕС‚РЅРѕ */
}

.tagline{
  font-size:12px;
  color:var(--muted);
  line-height:1.25;      /* РЅРѕСЂРјР°Р»СЊРЅР°СЏ С‡РёС‚Р°Р±РµР»СЊРЅРѕСЃС‚СЊ */
  margin-top:1px;        /* РјРёРєСЂРѕР·Р°Р·РѕСЂ */
}


.nav{display:flex;gap:16px;margin-left:auto;align-items:center}
.nav a{color:var(--muted);font-size:14px}
.nav a:hover{color:var(--text)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:12px;
  padding:12px 16px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color:var(--text);
  font-weight:700;
  cursor:pointer;
  transition: transform .14s ease, background .14s ease, border-color .14s ease, box-shadow .14s ease;
  will-change: transform;
}
.btn:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.22);
  box-shadow:
    0 10px 26px rgba(0,0,0,.28),
    0 0 0 1px rgba(124,92,255,.14) inset;
}
.btn:active{transform: translateY(0px) scale(.98); box-shadow:none}
.btn:focus-visible{
  outline: 2px solid rgba(0,208,255,.65);
  outline-offset: 3px;
}
.btn.primary{
  border-color: rgba(124,92,255,.65);
  background: linear-gradient(135deg, rgba(124,92,255,.95), rgba(0,208,255,.75));
}

/* premium hover glow for primary button */
.btn.primary:hover{
  box-shadow:
    0 12px 28px rgba(0,0,0,.30),
    0 0 0 1px rgba(0,208,255,.16) inset,
    0 0 34px rgba(124,92,255,.18);
}

@media (prefers-reduced-motion: reduce){
  .btn{transition:none}
  .btn:hover,.btn:active{transform:none;box-shadow:none}
}
.btn.ghost{
  background: transparent;
  border-color: rgba(255,255,255,.14);
}
.btn.small{padding:9px 12px;border-radius:10px;font-size:13px}

.burger{
  display:none;
  margin-left: auto;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color:var(--text);
  border-radius:12px;
  padding:10px 12px;
  cursor:pointer;
}
.mobile-nav{display:none}
.mobile-nav.open{display:block}
.mobile-links{
  display:flex;flex-direction:column;gap:12px;
  padding:12px 18px 16px;
  border-top:1px solid rgba(255,255,255,.08);
}
.mobile-links a{color:var(--muted)}
.mobile-links a:hover{color:var(--text)}
.mobile-cta{padding:0 18px 18px}

/* ====== Hero ====== */
.hero{padding:56px 0 24px}
.hero-inner{display:grid;grid-template-columns: 1.1fr .9fr;gap:28px;align-items:center}
.hero-left h1{font-size:44px;line-height:1.06;margin:0 0 12px}
.lead{color:var(--muted);font-size:18px;line-height:1.6;margin:0 0 16px}
.bullets{margin:0 0 18px;padding-left:18px;color:var(--muted)}
.bullets li{margin:6px 0}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}

.hero-right{
  min-height:260px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(600px 260px at 20% 20%, rgba(124,92,255,.32), transparent 60%),
    radial-gradient(500px 260px at 80% 70%, rgba(0,208,255,.22), transparent 60%),
    rgba(255,255,255,.04);
  display:flex;align-items:center;justify-content:center;
  padding:18px;
}
.hero-img{max-width:100%;border-radius:14px}
.hero-art{color:rgba(255,255,255,.55);font-weight:800;font-size:22px;text-align:center}

/* ====== Sections ====== */
.section{padding:44px 0}
.section.dark{
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
h2{font-size:30px;margin:0 0 10px}
.subcenter{color:var(--muted);max-width:720px;margin:0 auto 18px;text-align:center;line-height:1.6}

/* ====== Scroll reveal ====== */
[data-reveal]{
  opacity: 0;
  transform: translateY(16px);
  transition:
    transform .60s cubic-bezier(.2,.9,.2,1),
    opacity .60s cubic-bezier(.2,.9,.2,1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: transform, opacity;
}
[data-reveal].reveal{
  opacity: 1;
  transform: translateY(0px);
}
.reduced-motion [data-reveal]{
  opacity: 1;
  transform: none;
  transition: none;
}

.points{max-width:760px;margin:16px auto 0;padding-left:18px;color:var(--muted)}
.points li{margin:6px 0}

/* ====== SEO Intro (comparison block) ====== */
.seo-intro .container{position:relative}
.seo-intro-card{
  position: relative;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(900px 420px at 15% 20%, rgba(124,92,255,.18), transparent 60%),
    radial-gradient(760px 380px at 85% 70%, rgba(0,208,255,.12), transparent 55%),
    rgba(255,255,255,.03);
  padding:28px;
  box-shadow: 0 22px 60px rgba(0,0,0,.35);
  overflow:hidden;
}
.seo-intro-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:22px;
  pointer-events:none;
  background: linear-gradient(135deg, rgba(124,92,255,.22), rgba(0,208,255,.14), rgba(255,255,255,0));
  opacity:.45;
  mask: linear-gradient(#000, #000) content-box, linear-gradient(#000, #000);
  -webkit-mask: linear-gradient(#000, #000) content-box, linear-gradient(#000, #000);
  padding:1px;
}
.seo-intro-grid{display:grid;grid-template-columns: 1.15fr .85fr;gap:22px;align-items:start}
.seo-title{font-size:34px;line-height:1.08;margin:0 0 10px;letter-spacing:-.02em}
.seo-text{color:var(--muted);font-size:16px;line-height:1.7;margin:0}
.seo-points{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.seo-point{
  display:flex;gap:10px;align-items:flex-start;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.16);
  color:rgba(255,255,255,.86);
}
.seo-dot{
  width:10px;height:10px;border-radius:999px;
  margin-top:5px;flex:0 0 auto;
  background: radial-gradient(circle at 30% 30%, rgba(0,208,255,.95), rgba(124,92,255,.85));
  box-shadow: 0 0 0 3px rgba(124,92,255,.10);
}

@media (max-width: 900px){
  .seo-intro-grid{grid-template-columns:1fr}
  .seo-title{font-size:30px}
}

/* ===== Sticky split ("Technical Implementation") ===== */
.sticky-split-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:26px;
  align-items:start;
}

.sticky-split-left{
  position: sticky;
  top: var(--sticky-top, 90px);
  align-self:start;
  padding-top: 2px;
}

.sticky-split-title{
  font-size:44px;
  line-height:1.06;
  margin:0 0 12px;
  letter-spacing:-.02em;
}

.sticky-split-text{
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
  margin:0;
  max-width: 520px;
}

.sticky-split-cards{display:grid;gap:14px;}

.ss-card{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(520px 220px at 20% 20%, rgba(124,92,255,.12), transparent 60%),
    radial-gradient(520px 220px at 80% 60%, rgba(0,208,255,.10), transparent 60%),
    rgba(0,0,0,.18);
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
}

.ss-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background: rgba(0,208,255,.08);
  border: 1px solid rgba(0,208,255,.22);
  color: rgba(0,208,255,.95);
}

.ss-icon svg{width:20px;height:20px;display:block;}
.ss-icon img{width:20px;height:20px;display:block;}

.ss-title{margin:0 0 6px;font-size:18px;line-height:1.25;}
.ss-text{margin:0;color:var(--muted);line-height:1.6;font-size:14px;}

@media (max-width: 900px){
  .sticky-split-grid{grid-template-columns:1fr;}
  .sticky-split-left{position:relative; top:auto;}
  .sticky-split-title{font-size:34px;}
  .sticky-split-text{max-width:none;}
}

/* ===== 4-column solution cards ("Complete Development Solution") ===== */
.solution-h2{
  text-align:center;
  font-size:46px;
  line-height:1.05;
  margin:0 0 10px;
  letter-spacing:-.02em;
}

.solution-grid{
  margin-top:22px;
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:18px;
}

.solution-card{
  padding:28px 26px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(560px 320px at 18% 16%, var(--sc-g1, rgba(124,92,255,.14)), transparent 62%),
    radial-gradient(560px 320px at 82% 72%, var(--sc-g2, rgba(0,208,255,.10)), transparent 62%),
    rgba(0,0,0,.18);
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
  min-height: 320px;
  display:flex;
  flex-direction:column;
  gap:18px;
}

.solution-icon{
  width:48px;
  height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  /* icon color is set per-card through --sc-accent */
  color: var(--sc-accent, rgba(0,208,255,.95));
  background:
    radial-gradient(28px 28px at 30% 30%, rgba(255,255,255,.10), transparent 70%),
    rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow:
    0 10px 26px rgba(0,0,0,.35),
    0 0 28px var(--sc-g1, rgba(0,208,255,.18)),
    0 0 0 1px rgba(0,0,0,.25) inset;
}
.solution-icon .icon-inline,
.solution-icon svg,
.solution-icon img{width:22px;height:22px;display:block;}
.solution-icon .icon-inline svg{width:22px;height:22px;display:block;}

.solution-body{display:flex;flex-direction:column;gap:10px;}
.solution-title{margin:0;font-size:21px;line-height:1.28;letter-spacing:-.01em;}
.solution-text{margin:0;color:var(--muted);line-height:1.82;font-size:15px;}

.solution-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.solution-chip{
  font-size:12px;
  color:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.10);
  padding:6px 10px;
  border-radius:999px;
  background: rgba(0,0,0,.16);
}

.solution-note{
  margin-top:auto;
  padding-top:6px;
  display:flex;
  align-items:center;
  gap:10px;
  color: var(--sc-accent, rgba(0,255,170,.78));
  font-size:13px;
  font-weight:800;
}
.solution-check{
  width:18px;height:18px;border-radius:999px;
  display:grid;place-items:center;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  color: var(--sc-accent, rgba(0,255,170,.92));
  font-size:12px;
}

@media (max-width: 1100px){
  .solution-grid{grid-template-columns: repeat(2, 1fr);}
}
@media (max-width: 640px){
  .solution-h2{font-size:34px;}
  .solution-grid{grid-template-columns: 1fr;}
  .solution-card{min-height:auto;}
}

/* Stats */
.stats{display:grid;grid-template-columns: repeat(4, 1fr);gap:12px}
.stat{
  padding:16px;border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.stat-value{font-size:26px;font-weight:900}
.stat-label{color:var(--muted);margin-top:6px}

/* Cards */
.cards{display:grid;grid-template-columns: repeat(3, 1fr);gap:14px;margin-top:18px}
.card{
  padding:18px;border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.card .icon{font-size:22px;margin-bottom:10px}
.card .icon img{width:22px;height:22px;display:block}
.card .icon svg{width:22px;height:22px;display:block}
.card h3{margin:0 0 8px;font-size:18px}
.card p{margin:0;color:var(--muted);line-height:1.6}

/* Steps */
.steps{display:grid;grid-template-columns: repeat(3, 1fr);gap:14px;margin-top:18px}
.step{
  padding:18px;border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.step-n{
  width:30px;height:30px;border-radius:10px;
  display:grid;place-items:center;
  background: rgba(124,92,255,.22);
  border:1px solid rgba(124,92,255,.30);
  font-weight:900;
  margin-bottom:10px;
}
.step-title{font-weight:800;margin-bottom:6px}
.step-text{color:var(--muted);line-height:1.6}

/* Providers */
.providers-controls{
  display:flex;flex-wrap:wrap;gap:12px;
  justify-content:space-between;align-items:flex-start;
  margin:18px 0 14px;
}
.providers-left{display:flex;flex-direction:column;gap:10px;flex:1;min-width:260px}
.providers-right{display:flex;justify-content:flex-end;min-width:220px}
.providers-search input{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color:var(--text);
  outline:none;
}
.providers-search input::placeholder{color:rgba(182,182,198,.7)}
.providers-filters{display:flex;flex-wrap:wrap;gap:8px}
.filter-btn{
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color:var(--muted);
  padding:8px 12px;
  cursor:pointer;
  font-weight:700;
  font-size:13px;
}
.filter-btn:hover{color:var(--text);border-color:rgba(255,255,255,.22)}
.filter-btn:active{transform: scale(.98)}
.filter-btn:focus-visible{
  outline: 2px solid rgba(0,208,255,.60);
  outline-offset: 3px;
}
.filter-btn.active{
  color:var(--text);
  border-color: rgba(124,92,255,.55);
  background: rgba(124,92,255,.18);
}
.providers-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
}
.provider-card{
  padding:16px;border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.provider-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.provider-name{font-weight:900}
.provider-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tag{
  font-size:12px;color:var(--muted);
  border:1px solid rgba(255,255,255,.10);
  padding:4px 8px;border-radius:999px;
  background: rgba(0,0,0,.15);
}
.providers-empty{
  display:none;
  text-align:center;
  color:var(--muted);
  padding:18px 0 0;
}
.providers-more{
  display:flex;
  justify-content:center;
  margin-top:16px;
}

/* Testimonials */
.testimonials{display:grid;grid-template-columns: repeat(2, 1fr);gap:14px;margin-top:18px}
.t-card{
  padding:18px;border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.t-quote{color:var(--text);line-height:1.6}
.t-name{margin-top:12px;font-weight:900}
.t-role{color:var(--muted);font-size:13px;margin-top:3px}

/* Contact form */
.form{
  max-width: 720px;
  margin: 18px auto 0;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
label{color:rgba(255,255,255,.8);font-weight:700;font-size:13px}
input, textarea{
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color:var(--text);
  outline:none;
}
textarea{resize:vertical}
.form-ok{
  max-width: 720px;
  margin: 18px auto 0;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(0,208,255,.25);
  background: rgba(0,208,255,.06);
  color: rgba(255,255,255,.92);
}

/* ===== Contact cards (WhatsApp / Telegram) ===== */
.contact-head{
  text-align:center;
  max-width: 820px;
  margin: 0 auto 18px;
}
.contact-title{
  font-size: 46px;
  line-height: 1.06;
  margin: 0 0 10px;
  letter-spacing: -.02em;
}
.contact-sub{
  margin: 0;
  color: rgba(182,182,198,.82);
  line-height: 1.7;
}

.contact-grid{
  margin-top: 22px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.contact-card{
  position: relative;
  padding: 28px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(720px 280px at 18% 20%, rgba(124,92,255,.14), transparent 62%),
    radial-gradient(640px 260px at 86% 78%, rgba(0,208,255,.10), transparent 62%),
    rgba(0,0,0,.18);
  box-shadow: 0 18px 50px rgba(0,0,0,.38);
  overflow:hidden;
}

.contact-card::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: 22px;
  pointer-events:none;
  background: linear-gradient(135deg, rgba(124,92,255,.22), rgba(0,208,255,.14), rgba(255,255,255,0));
  opacity:.35;
  mask: linear-gradient(#000, #000) content-box, linear-gradient(#000, #000);
  -webkit-mask: linear-gradient(#000, #000) content-box, linear-gradient(#000, #000);
  padding:1px;
}

.contact-card-top{display:flex;flex-direction:column;gap:10px;}
.contact-platform{font-weight: 950; letter-spacing: .06em; opacity:.92;}
.contact-value{color: rgba(182,182,198,.82); font-size: 15px;}

.contact-btn{
  margin-top: 18px;
  display:inline-flex;
  align-items:center;
  gap: 10px;
  border-radius: 14px;
  padding: 12px 16px;
  font-weight: 900;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.contact-btn:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.22);
  box-shadow: 0 14px 34px rgba(0,0,0,.35);
}
.contact-btn:active{transform: translateY(0) scale(.98); box-shadow:none;}
.contact-btn:focus-visible{outline: 2px solid rgba(0,208,255,.65); outline-offset: 3px;}

.contact-btn-ic{
  width: 18px;
  height: 18px;
  border-radius: 6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position: relative;
}

/* WhatsApp */
.contact-card.whatsapp{
  background:
    radial-gradient(720px 280px at 18% 20%, rgba(0, 255, 170, .12), transparent 62%),
    radial-gradient(640px 260px at 86% 78%, rgba(124,92,255,.10), transparent 62%),
    rgba(0,0,0,.18);
}
.contact-btn.whatsapp{
  border-color: rgba(0, 255, 170, .28);
  background: linear-gradient(135deg, rgba(0, 200, 120, .95), rgba(0, 255, 170, .75));
}
.contact-btn.whatsapp:hover{ box-shadow: 0 16px 38px rgba(0,0,0,.35), 0 0 28px rgba(0,255,170,.18); }
.contact-card.whatsapp .contact-btn-ic::before{
  content:"";
  width: 12px;
  height: 12px;
  display:block;
  background: rgba(255,255,255,.95);
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="black" d="M16.02 3C9.39 3 4 8.39 4 15.02c0 2.11.55 4.16 1.6 5.98L4 29l8.21-1.55a11.9 11.9 0 0 0 3.81.62C22.65 28.07 28 22.68 28 16.05 28 9.42 22.65 3 16.02 3zm6.95 19.63c-.29.81-1.69 1.55-2.33 1.62-.6.07-1.36.1-2.19-.14-.5-.16-1.14-.37-1.96-.73-3.45-1.49-5.7-5.12-5.88-5.36-.18-.24-1.4-1.86-1.4-3.56 0-1.7.89-2.53 1.2-2.87.31-.34.67-.43.9-.43h.65c.21 0 .49-.08.77.59.29.7.97 2.42 1.06 2.59.09.18.14.39.03.63-.11.24-.16.39-.32.6-.16.21-.34.46-.48.62-.16.18-.33.37-.14.73.18.37.82 1.36 1.77 2.2 1.22 1.09 2.25 1.43 2.62 1.59.37.18.58.16.79-.1.21-.24.91-1.06 1.15-1.43.24-.37.49-.31.82-.2.34.11 2.12 1 2.48 1.18.36.18.6.26.69.4.09.14.09.84-.2 1.65z"/></svg>') center / contain no-repeat;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="black" d="M16.02 3C9.39 3 4 8.39 4 15.02c0 2.11.55 4.16 1.6 5.98L4 29l8.21-1.55a11.9 11.9 0 0 0 3.81.62C22.65 28.07 28 22.68 28 16.05 28 9.42 22.65 3 16.02 3zm6.95 19.63c-.29.81-1.69 1.55-2.33 1.62-.6.07-1.36.1-2.19-.14-.5-.16-1.14-.37-1.96-.73-3.45-1.49-5.7-5.12-5.88-5.36-.18-.24-1.4-1.86-1.4-3.56 0-1.7.89-2.53 1.2-2.87.31-.34.67-.43.9-.43h.65c.21 0 .49-.08.77.59.29.7.97 2.42 1.06 2.59.09.18.14.39.03.63-.11.24-.16.39-.32.6-.16.21-.34.46-.48.62-.16.18-.33.37-.14.73.18.37.82 1.36 1.77 2.2 1.22 1.09 2.25 1.43 2.62 1.59.37.18.58.16.79-.1.21-.24.91-1.06 1.15-1.43.24-.37.49-.31.82-.2.34.11 2.12 1 2.48 1.18.36.18.6.26.69.4.09.14.09.84-.2 1.65z"/></svg>') center / contain no-repeat;
}

/* Telegram */
.contact-card.telegram{
  background:
    radial-gradient(720px 280px at 18% 20%, rgba(0, 208, 255, .14), transparent 62%),
    radial-gradient(640px 260px at 86% 78%, rgba(124,92,255,.10), transparent 62%),
    rgba(0,0,0,.18);
}
.contact-btn.telegram{
  border-color: rgba(0, 208, 255, .30);
  background: linear-gradient(135deg, rgba(0, 150, 220, .95), rgba(0, 208, 255, .78));
}
.contact-btn.telegram:hover{ box-shadow: 0 16px 38px rgba(0,0,0,.35), 0 0 28px rgba(0,208,255,.18); }
.contact-card.telegram .contact-btn-ic::before{
  content:"";
  width: 12px;
  height: 12px;
  display:block;
  background: rgba(255,255,255,.95);
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M9.04 15.49 8.7 20.2c.49 0 .7-.21.95-.46l2.28-2.18 4.72 3.45c.86.47 1.47.22 1.69-.8l3.06-14.36h0c.26-1.21-.44-1.68-1.28-1.37L1.62 9.27C.45 9.72.47 10.37 1.41 10.66l4.65 1.45L17.4 5.73c.53-.35 1.02-.16.62.19"/></svg>') center / contain no-repeat;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M9.04 15.49 8.7 20.2c.49 0 .7-.21.95-.46l2.28-2.18 4.72 3.45c.86.47 1.47.22 1.69-.8l3.06-14.36h0c.26-1.21-.44-1.68-1.28-1.37L1.62 9.27C.45 9.72.47 10.37 1.41 10.66l4.65 1.45L17.4 5.73c.53-.35 1.02-.16.62.19"/></svg>') center / contain no-repeat;
}

@media (max-width: 900px){
  .contact-title{ font-size: 34px; }
  .contact-grid{ grid-template-columns: 1fr; }
}

/* Legal */
.legal{max-width:860px}
.legal h1{font-size:36px;margin:0 0 10px}
.legal-updated{color:var(--muted);margin-bottom:18px}
.legal h2{margin-top:22px}
.legal p{color:var(--muted);line-height:1.7}

/* Footer */
.footer{
  border-top:1px solid rgba(255,255,255,.06);
  padding:26px 0;
  margin-top: 20px;
  background: rgba(0,0,0,.12);
}
.footer-inner{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.footer-brand{font-weight:900}
.footer-copy{color:var(--muted);font-size:13px;margin-top:4px}
.footer-right{display:flex;gap:14px;flex-wrap:wrap}
.footer-right a{color:var(--muted);font-size:13px}
.footer-right a:hover{color:var(--text)}

/* Responsive */
@media (max-width: 900px){
  .hero-inner{grid-template-columns:1fr}
  .stats{grid-template-columns: repeat(2, 1fr)}
  .cards{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .providers-grid{grid-template-columns:1fr}
  .testimonials{grid-template-columns:1fr}

  .nav{display:none}
  .burger{display:inline-flex}

  .header .btn.small { display:none; }

  .mobile-nav{display:none}
  .mobile-nav.open{display:block}
}

/* ===== Tabs block (featuresCards.v1 layout:"tabs") ===== */
.tabs-block{
  margin-top:18px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  overflow:hidden;
  position:relative;
}

/* Hidden measuring box used to calculate stable max height for tabs panel */
.tabs-measure{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  visibility:hidden;
  pointer-events:none;
  overflow:hidden;
  height:0;
}

.tabs-nav{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

/* РѕРєРЅРѕ РґР»СЏ РІРєР»Р°РґРѕРє */
.tabs-rail{
  position:relative;
  flex:1;
  overflow:hidden;              /* РіР»Р°РІРЅРѕРµ: РќР•Рў СЃРєСЂРѕР»Р»Р° */
  border-radius:16px;
}

/* Р»РµРЅС‚Р° РІРєР»Р°РґРѕРє */
.tabs-track{
  display:flex;
  gap:10px;
  width:max-content;
  transform: translateX(0px);
  transition: transform .25s ease;
  padding: 2px;                 /* С‡С‚РѕР±С‹ Р°РєС‚РёРІРЅР°СЏ СЂР°РјРєР° РЅРµ РѕР±СЂРµР·Р°Р»Р°СЃСЊ */
}

/* РєРЅРѕРїРєРё СЃС‚СЂРµР»РѕРє */
.tabs-rail-btn{
  flex:0 0 auto;
  width:40px;
  height:40px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: var(--text);
  cursor:pointer;
  font-size:20px;
  font-weight:900;
  display:grid;
  place-items:center;
}
.tabs-rail-btn:focus-visible,
.tabs-tab:focus-visible,
.tabs-arrow:focus-visible,
.sort-dd-btn:focus-visible,
.sort-dd-item:focus-visible,
.burger:focus-visible{
  outline: 2px solid rgba(0,208,255,.60);
  outline-offset: 3px;
}
.tabs-rail-btn:hover{ border-color: rgba(255,255,255,.22); transform: translateY(-1px); }
.tabs-rail-btn:active{ transform: translateY(0px); }
.tabs-rail-btn:disabled{
  opacity:.35;
  cursor:not-allowed;
  transform:none;
}


.tabs-tab{
  flex:0 0 auto;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,255,.75);
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.tabs-tab:hover{ color: var(--text); border-color: rgba(255,255,255,.20); }
.tabs-tab.active{
  color: var(--text);
  border-color: rgba(0,208,255,.35);
  box-shadow: 0 0 0 1px rgba(0,208,255,.10) inset;
  background: linear-gradient(135deg, rgba(0,208,255,.10), rgba(124,92,255,.10));
}

.tabs-panel{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:18px;
  padding:18px;
  align-items:center;
}

.tabs-title{
  margin:0 0 10px;
  font-size:34px;
  line-height:1.05;
  letter-spacing:-.02em;
}
.tabs-text{
  margin:0 0 14px;
  color: var(--muted);
  line-height:1.7;
}

.tabs-bullets{
  margin:0;
  padding-left:18px;
  color: rgba(255,255,255,.86);
}
.tabs-bullets li{ margin:8px 0; }
.tabs-bullets li::marker{ color: rgba(0,208,255,.65); }

.tabs-right{
  display:flex;
  justify-content:center;
  align-items:center;
}

.tabs-media{
  width:100%;
  max-width:520px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
}

.tabs-media-box,
.tabs-media-placeholder{
  width:100%;
  max-width:520px;
  min-height:280px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(600px 260px at 20% 20%, rgba(124,92,255,.28), transparent 60%),
    radial-gradient(500px 260px at 80% 70%, rgba(0,208,255,.18), transparent 60%),
    rgba(0,0,0,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  color: rgba(255,255,255,.65);
  font-weight:900;
  text-align:center;
}

.tabs-pager{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 18px 18px;
}

.tabs-counter{
  color: rgba(255,255,255,.70);
  font-weight:800;
  min-width:64px;
}

.tabs-progress{
  flex:1;
  height:8px;
  border-radius:999px;
  background: rgba(255,255,255,.08);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}
.tabs-progress-bar{
  height:100%;
  width:0%;
  background: linear-gradient(90deg, rgba(0,208,255,.75), rgba(124,92,255,.75));
  border-radius:999px;
  transition: width .2s ease;
}

.tabs-controls{
  display:flex;
  gap:10px;
}
.tabs-arrow{
  width:40px;height:40px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: var(--text);
  cursor:pointer;
  font-size:20px;
  font-weight:900;
}
.tabs-arrow:hover{ border-color: rgba(255,255,255,.22); transform: translateY(-1px); }
.tabs-arrow:active{ transform: translateY(0px); }

@media (max-width: 900px){
  .tabs-panel{ grid-template-columns: 1fr; }
  .tabs-title{ font-size:28px; }
  .tabs-media-box,.tabs-media-placeholder{ min-height:220px; }
}
/* ===== Custom Sort Dropdown (Providers) ===== */
.sort-dd{
  position: relative;
  width: 100%;
  max-width: 260px;
}

.sort-dd-btn{
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: var(--text);
  outline: none;
  cursor: pointer;
  font-weight: 800;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.sort-dd-btn::after{
  content:"в–ѕ";
  opacity:.85;
  margin-left:10px;
}

.sort-dd-menu{
  position:absolute;
  top: calc(100% + 8px);
  right: 0;
  left: 0;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(15,15,18,.95);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
  padding: 8px;
  display:none;
  z-index: 30;
}
.sort-dd-menu.open{ display:block; }

.sort-dd-item{
  width:100%;
  text-align:left;
  padding:10px 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(255,255,255,.82);
  cursor:pointer;
  font-weight: 750;
}
.sort-dd-item:hover{
  background: rgba(124,92,255,.16);
  border-color: rgba(124,92,255,.25);
  color: var(--text);
}
.seo-text{
  max-width: 860px;
  margin: 12px 0 0;
  color: var(--muted);
  line-height: 1.8;
  text-align: left;
}
.features-subtitle{
  max-width: 860px;
  margin: 10px 0 20px;
  color: var(--muted);
  line-height: 1.7;
  text-align: left;   /* в†ђ Р’РђР–РќРћ */
}
/* Force left alignment for content sections */
.section .container > p,
.section .container > h2{
  text-align: left;
}
@media (max-width: 900px){
  .container{
    padding: 0 16px;
  }
}
/* Align section title + subtitle perfectly */
.section > .container > h1,
.section > .container > h2,
.section > .container > h3{
  margin-left: 0;
}

.section > .container > h1 + p,
.section > .container > h2 + p,
.section > .container > h3 + p{
  margin-left: 0;
  margin-right: 0;
  text-align: left;
  max-width: 800px; /* РјРѕР¶РЅРѕ 760вЂ“900, РєР°Рє РЅСЂР°РІРёС‚СЃСЏ */
}
/* =========================
   Ambient background orbs
========================= */
.bg-orbs{
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .55; /* overall dial */
  filter: saturate(1.05);
}
.bg-orbs .orb{
  position:absolute;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  filter: blur(90px);
  opacity: .14;
  transform: translate3d(0,0,0);
  animation: orbFloat 22s ease-in-out infinite;
}
.bg-orbs .o1{
  left: -140px;
  top: -140px;
  background: radial-gradient(circle at 30% 30%, rgba(124,92,255,.9), rgba(124,92,255,0) 60%);
  animation-duration: 26s;
}
.bg-orbs .o2{
  right: -180px;
  top: 20%;
  width: 620px;
  height: 620px;
  background: radial-gradient(circle at 40% 40%, rgba(0,208,255,.85), rgba(0,208,255,0) 62%);
  animation-duration: 30s;
  animation-delay: -6s;
}
.bg-orbs .o3{
  left: 20%;
  bottom: -220px;
  width: 640px;
  height: 640px;
  background: radial-gradient(circle at 35% 35%, rgba(124,92,255,.55), rgba(0,208,255,.35) 35%, rgba(0,0,0,0) 68%);
  animation-duration: 34s;
  animation-delay: -12s;
}
@keyframes orbFloat{
  0%{ transform: translate3d(0,0,0) scale(1); }
  35%{ transform: translate3d(40px,-30px,0) scale(1.06); }
  70%{ transform: translate3d(-28px,34px,0) scale(.98); }
  100%{ transform: translate3d(0,0,0) scale(1); }
}

/* Keep site content above orbs */
#app{ position: relative; z-index: 1; }
.header{ position: sticky; z-index: 5; }
body{ position: relative; overflow-x: hidden; }

@media (prefers-reduced-motion: reduce){
  .bg-orbs{ display:none; }
}

/* =========================
   Card hover lift + shadow
========================= */
@media (hover:hover){
  .card,
  .step,
  .provider-card,
  .t-card,
  .faq-item{
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
    will-change: transform;
  }
  .card:hover,
  .step:hover,
  .provider-card:hover,
  .t-card:hover,
  .faq-item:hover{
    transform: translateY(-4px);
    border-color: rgba(255,255,255,.18);
    box-shadow:
      0 18px 50px rgba(0,0,0,.34),
      0 0 0 1px rgba(124,92,255,.10) inset;
    background: rgba(255,255,255,.045);
  }
}
@media (prefers-reduced-motion: reduce){
  .card, .step, .provider-card, .t-card, .faq-item{ transition:none; }
  .card:hover, .step:hover, .provider-card:hover, .t-card:hover, .faq-item:hover{ transform:none; box-shadow:none; }
}

/* =========================
   FAQ premium upgrade
========================= */
.faq-list{
  margin-top: 14px;
  display: grid;
  gap: 10px;
}

.faq-item{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  overflow: hidden;
}

.faq-q{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 18px;
  background: transparent;
  border: 0;
  color: var(--text);
  cursor: pointer;
  font-weight: 900;
  font-size: 16px;
  line-height: 1.3;
}

.faq-q:hover{
  background: linear-gradient(90deg, rgba(124,92,255,.08), rgba(0,208,255,.06));
}

.faq-q:focus-visible{
  outline: 2px solid rgba(0,208,255,.65);
  outline-offset: -2px;
}

.chev{
  width: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: .75;
  transition: transform .2s ease, opacity .2s ease;
}

.faq-item.open .chev{
  transform: rotate(180deg);
  opacity: 1;
}

.faq-a{
  padding: 0 18px;
  color: var(--muted);
  line-height: 1.65;
  opacity: 0;
  transition: max-height .28s ease, padding .28s ease, opacity .22s ease;
}

.faq-item.open .faq-a{
  padding: 0 18px 18px;
  opacity: 1;
  background: rgba(255,255,255,.02);
}

@media (prefers-reduced-motion: reduce){
  .chev{ transition:none; }
  .faq-a{ transition:none; opacity: 1; max-height: none !important; padding: 0 18px 18px; }
}


/* ===== Providers: fix logo fallback shadow + alignment ===== */

/* РІС‹СЂР°РІРЅРёРІР°РЅРёРµ Р»РµРІРѕРіРѕ Р±Р»РѕРєР° (Р»РѕРіРѕ + РЅР°Р·РІР°РЅРёРµ) */
.provider-top,
.provider-left{
  display: flex;
  align-items: center;
  gap: 14px;
}

/* РєРѕРЅС‚РµР№РЅРµСЂ РёРєРѕРЅРєРё */
.provider-logo{
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: #fff;

  /* СѓР±РёСЂР°РµРј Р»СЋР±С‹Рµ вЂњСЃРІРµС‡РµРЅРёСЏвЂќ Сѓ РєРѕРЅС‚РµР№РЅРµСЂР° */
  box-shadow: none !important;
  filter: none !important;
}

/* РµСЃР»Рё РІРЅСѓС‚СЂРё fallback СЃРґРµР»Р°РЅ РёР· РЅРµСЃРєРѕР»СЊРєРёС… РїР»Р°С€РµРє/Р±СѓРєРІ вЂ” РіР°СЃРёРј С‚РµРЅСЊ Сѓ РІСЃРµС… РґРµС‚РµР№ */
.provider-logo *{
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}

/* РєР°СЂС‚РёРЅРєРё вЂ” СЃС‚СЂРѕРіРѕ РїРѕ С†РµРЅС‚СЂСѓ, Р±РµР· СЃСЉРµР·РґР° */
.provider-logo img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  vertical-align: middle;
}

/* РµСЃР»Рё Сѓ Р±СѓРєРІРµРЅРЅС‹С… РїР»Р°С€РµРє РµСЃС‚СЊ СЃРІРѕРё РєР»Р°СЃСЃС‹/СЃРїР°РЅС‹ вЂ” С„РёРєСЃ СЂР°Р·РјРµСЂР° Рё С†РµРЅС‚СЂРѕРІРєРё */
.provider-logo span,
.provider-logo .initial,
.provider-logo .logo-letter,
.provider-logo .provider-initial{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.provider-logo:not(.has-img) {
    background: #fff;
    border: 1px solid rgba(255,255,255,.12);
}

/* РџСЂРёР¶РёРјР°РµРј footer С‚РѕР»СЊРєРѕ РЅР° РїРѕРґСЃС‚СЂР°РЅРёС†Р°С… */
body[data-page="contact"],
body[data-page="privacy"],
body[data-page="terms"] {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body[data-page="contact"] #app,
body[data-page="privacy"] #app,
body[data-page="terms"] #app {
  flex: 1;
}

body[data-page="contact"] .footer,
body[data-page="privacy"] .footer,
body[data-page="terms"] .footer {
  margin-top: auto;
}
/* === Sticky footer (СЂР°Р±РѕС‚Р°РµС‚, РїРѕС‚РѕРјСѓ С‡С‚Рѕ footer РІРЅСѓС‚СЂРё #app) === */
#app{
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* С„СѓС‚РµСЂ СѓС…РѕРґРёС‚ РІРЅРёР· */
#app > footer.footer{
  margin-top: auto;
}

/* РќРћ: РіР»Р°РІРЅСѓСЋ СЃС‚СЂР°РЅРёС†Сѓ РЅРµ С‚СЂРѕРіР°РµРј (С‡С‚РѕР±С‹ РЅРµ Р»РѕРјР°Р»Р°СЃСЊ) */
body[data-page="home"] #app{
  min-height: auto;
  display: block;
}
/* Top Benefits: 2 columns */
#benefits .cards{
  grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 640px){
  #benefits .cards{
    grid-template-columns: 1fr;
  }
}
/* === Single API: make it visually different (override hard) === */
section#single-api{
  background: transparent !important;
}

section#single-api .seo-intro-card{
  background: rgba(255,255,255,0.02) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  box-shadow: none !important;
}

section#single-api .seo-title{
  font-size: 34px !important;
}

section#single-api .seo-intro-grid{
  grid-template-columns: 1fr !important; /* РґРµР»Р°РµС‚ РІРµСЂС‚РёРєР°Р»СЊРЅРѕ (РґСЂСѓРіРѕР№ РІРёРґ) */
  gap: 16px !important;
}

section#single-api .seo-points{
  margin-top: 8px !important;
}
/* WHAT IS block вЂ” full width single column */
section#what-is .seo-intro-grid{
  grid-template-columns: 1fr !important;
}

section#what-is .seo-intro-right{
  display: none !important;
}

section#what-is .seo-intro-left{
  max-width: 100%;
}
/* HERO H1 bigger (correct selector) */
section#top .hero-left h1{
  font-size: 52px !important;
  line-height: 1.02 !important;
  font-weight: 900 !important;
  letter-spacing: -1px !important;
}

@media (max-width: 1024px){
  section#top .hero-left h1{ font-size: 56px !important; }
}
@media (max-width: 640px){
  section#top .hero-left h1{
    font-size: 40px !important;
    line-height: 1.1 !important;
  }
}
section#top .hero-left h1{
  margin-bottom: 28px;
}
/* FINAL CTA centered */
section#final-cta .container{
  text-align: center !important;
}

section#final-cta .container > h2,
section#final-cta .container > p{
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}

