:root{
  --brand:#6d28d9;
  --brand-2:#9333ea;
  --accent:#f59e0b;
  --bg:#fbfaff;
  --grad:linear-gradient(135deg,#6d28d9,#9333ea 60%,#c026d3);
  --ink:#1a1430;
  --ink-soft:#5b5470;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:'Segoe UI',system-ui,-apple-system,'Inter',Roboto,'Helvetica Neue',Arial,sans-serif;
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
.container{width:min(1180px,92%);margin-inline:auto}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{line-height:1.1;margin:0;letter-spacing:-.02em}
h2{font-size:clamp(1.7rem,3.6vw,2.8rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700}
.section{padding:clamp(64px,9vw,110px) 0}
.eyebrow{display:inline-block;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px}
.eyebrow.accent{color:var(--brand-2)}
.sec-head{max-width:720px;margin:0 auto clamp(38px,5vw,60px);text-align:center}
.sec-sub{color:var(--ink-soft);margin-top:16px;font-size:1.05rem}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 28px;border-radius:999px;font-weight:700;font-size:1rem;
  text-decoration:none;cursor:pointer;border:none;transition:transform .18s var(--ease-out,ease),box-shadow .18s,filter .18s;white-space:nowrap}
.btn-cta{background:var(--grad);color:#fff;box-shadow:0 12px 30px -8px rgba(109,40,217,.55)}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 18px 40px -8px rgba(109,40,217,.65);filter:saturate(1.1)}
.btn-ghost{background:#fff;color:var(--brand);border:1.5px solid rgba(109,40,217,.25)}
.btn-ghost:hover{transform:translateY(-2px);border-color:var(--brand)}
.btn-sm{padding:11px 20px;font-size:.92rem}
.btn-block{width:100%}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,255,.82);
  backdrop-filter:blur(14px);border-bottom:1px solid rgba(109,40,217,.1)}
.hdr-inner{display:flex;align-items:center;gap:22px;padding:14px 0}
.logo{font-size:1.5rem;font-weight:900;text-decoration:none;letter-spacing:-.03em;color:var(--ink)}
.logo span{color:var(--brand-2)}
.nav{display:flex;gap:26px;margin-left:8px}
.nav a{text-decoration:none;font-weight:600;font-size:.95rem;color:var(--ink-soft);transition:color .15s}
.nav a:hover{color:var(--brand)}
.hdr-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.hdr-phone{font-weight:800;text-decoration:none;font-size:.98rem;color:var(--ink)}
.hdr-msg{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;transition:transform .15s}
.hdr-msg:hover{transform:translateY(-2px)}
.hdr-msg.wa{background:#25d366}
.hdr-msg.tg{background:#2aabee}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.burger span{width:26px;height:3px;background:var(--ink);border-radius:2px;transition:.25s}

/* hero */
.hero{position:relative;padding:clamp(50px,8vw,90px) 0 clamp(60px,8vw,100px);
  background:radial-gradient(900px 500px at 85% -10%,rgba(147,51,234,.16),transparent 60%),radial-gradient(700px 500px at 0% 20%,rgba(245,158,11,.12),transparent 55%)}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,64px);align-items:center}
.hero-badge{display:inline-block;background:#fff;border:1px solid rgba(109,40,217,.2);
  padding:8px 18px;border-radius:999px;font-weight:700;font-size:.9rem;margin-bottom:22px;box-shadow:0 6px 20px -10px rgba(109,40,217,.4)}
.hero h1{font-size:clamp(2.1rem,5vw,3.8rem);font-weight:900}
.hero-sub{font-size:clamp(1.02rem,1.6vw,1.2rem);color:var(--ink-soft);margin:22px 0 30px;max-width:540px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-mini{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;color:var(--ink-soft);font-weight:600;font-size:.94rem}
.hero-media{position:relative}
.hero-media img{width:100%;aspect-ratio:4/3.4;object-fit:cover;border-radius:28px;box-shadow:0 40px 80px -30px rgba(76,29,149,.5)}
.hero-float{position:absolute;background:#fff;padding:12px 20px;border-radius:16px;font-weight:800;font-size:.92rem;box-shadow:0 20px 40px -18px rgba(76,29,149,.4)}
.hero-float.f1{top:-16px;left:-14px;color:var(--brand)}
.hero-float.f2{bottom:-18px;right:-10px;color:var(--accent)}

/* trust */
.trust{padding:clamp(40px,5vw,64px) 0;background:#fff;border-block:1px solid rgba(109,40,217,.08)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.trust-item b{display:block;font-size:clamp(2rem,4vw,3rem);font-weight:900;color:var(--brand);line-height:1}
.trust-item .star{color:var(--accent);font-size:.6em}
.trust-item span{color:var(--ink-soft);font-weight:600;font-size:.95rem}
.trust-logos{margin-top:40px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:center;color:var(--ink-soft);font-weight:700}
.logos{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.logo-chip{background:var(--bg);border:1px solid rgba(109,40,217,.12);padding:10px 20px;border-radius:12px;font-weight:700;color:var(--ink-soft)}

/* problem */
.problem{padding:clamp(64px,9vw,110px) 0}
.problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,60px);align-items:center}
.prob-col{background:#fff;border-radius:24px;padding:clamp(28px,4vw,44px);border:1px solid rgba(109,40,217,.1);box-shadow:0 30px 60px -40px rgba(76,29,149,.35)}
.prob-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:14px}
.prob-list li{position:relative;padding-left:34px;color:var(--ink-soft);font-weight:600}
.prob-list li::before{content:"✕";position:absolute;left:0;top:0;width:22px;height:22px;background:#fee2e2;color:#dc2626;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:800}
.sol-col h2{margin-bottom:16px}
.sol-col p{color:var(--ink-soft);margin:0 0 26px}

/* advantages */
.adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.adv-card{background:#fff;border-radius:22px;padding:32px 28px;border:1px solid rgba(109,40,217,.1);box-shadow:0 24px 50px -38px rgba(76,29,149,.4);transition:transform .2s,box-shadow .2s}
.adv-card:hover{transform:translateY(-6px);box-shadow:0 34px 60px -34px rgba(76,29,149,.5)}
.adv-ico{font-size:2.1rem;width:64px;height:64px;background:var(--grad);border-radius:18px;display:grid;place-items:center;margin-bottom:20px;box-shadow:0 14px 28px -12px rgba(109,40,217,.6)}
.adv-card h3{margin-bottom:10px}
.adv-card p{color:var(--ink-soft);margin:0;font-size:.97rem}

/* services */
.services{background:linear-gradient(180deg,#fff,var(--bg))}
.serv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.serv-card{background:#fff;border-radius:24px;overflow:hidden;border:1px solid rgba(109,40,217,.1);box-shadow:0 30px 60px -42px rgba(76,29,149,.45);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.serv-card:hover{transform:translateY(-6px);box-shadow:0 40px 70px -38px rgba(76,29,149,.55)}
.serv-img{aspect-ratio:16/10;overflow:hidden}
.serv-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.serv-card:hover .serv-img img{transform:scale(1.05)}
.serv-body{padding:26px 28px;display:flex;flex-direction:column;flex:1}
.serv-body h3{margin-bottom:10px}
.serv-body p{color:var(--ink-soft);margin:0 0 20px;font-size:.97rem;flex:1}
.serv-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.price{font-size:1.35rem;font-weight:900;color:var(--brand)}

/* steps */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step-card{background:#fff;border-radius:22px;padding:34px 26px;border:1px solid rgba(109,40,217,.1);position:relative;box-shadow:0 24px 50px -40px rgba(76,29,149,.4)}
.step-num{font-size:2.6rem;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:14px}
.step-card h3{margin-bottom:10px}
.step-card p{color:var(--ink-soft);margin:0;font-size:.95rem}

/* reviews */
.reviews{background:linear-gradient(180deg,var(--bg),#fff)}
.rev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.rev-card{background:#fff;border-radius:22px;padding:30px;border:1px solid rgba(109,40,217,.1);box-shadow:0 26px 54px -40px rgba(76,29,149,.42)}
.rev-stars{color:var(--accent);letter-spacing:2px;margin-bottom:14px}
.rev-text{color:var(--ink);margin:0 0 22px;font-size:1.02rem}
.rev-author{display:flex;align-items:center;gap:14px}
.rev-author img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.rev-author span{font-weight:800}

/* faq */
.faq-wrap{max-width:820px}
.faq-list{display:grid;gap:14px}
.faq-item{background:#fff;border-radius:16px;border:1px solid rgba(109,40,217,.12);padding:4px 24px;box-shadow:0 16px 40px -34px rgba(76,29,149,.4)}
.faq-item summary{list-style:none;cursor:pointer;padding:20px 0;font-weight:700;font-size:1.05rem;display:flex;align-items:center;justify-content:space-between;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-plus{position:relative;width:20px;height:20px;flex:none}
.faq-plus::before,.faq-plus::after{content:"";position:absolute;background:var(--brand);border-radius:2px;transition:.25s}
.faq-plus::before{top:9px;left:0;width:20px;height:3px}
.faq-plus::after{left:9px;top:0;width:3px;height:20px}
.faq-item[open] .faq-plus::after{transform:rotate(90deg);opacity:0}
.faq-a{padding:0 0 22px;color:var(--ink-soft)}

/* lead */
.lead{background:var(--grad);position:relative;overflow:hidden}
.lead::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 400px at 90% 10%,rgba(255,255,255,.16),transparent 60%)}
.lead-inner{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,60px);align-items:center}
.lead-text{color:#fff}
.lead-text .eyebrow{color:rgba(255,255,255,.85)}
.lead-text h2{color:#fff}
.lead-text p{color:rgba(255,255,255,.9);margin:18px 0 26px}
.lead-contacts{display:flex;gap:14px;flex-wrap:wrap}
.lead-contacts a{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:999px;font-weight:700;text-decoration:none;transition:background .15s}
.lead-contacts a:hover{background:rgba(255,255,255,.28)}
.lead-form-wrap{background:#fff;border-radius:26px;padding:clamp(26px,3.5vw,40px);box-shadow:0 40px 80px -30px rgba(30,10,60,.5)}
.lead-form label{display:block;font-weight:700;font-size:.92rem;margin-bottom:16px}
.lead-form input,.lead-form textarea{width:100%;margin-top:8px;padding:14px 16px;border:1.5px solid #e5e0f0;border-radius:14px;font:inherit;font-weight:500;background:#fbfaff;transition:border-color .15s,box-shadow .15s}
.lead-form input:focus,.lead-form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(109,40,217,.12)}
.lead-form textarea{resize:vertical}
.form-note{font-size:.82rem;color:var(--ink-soft);margin:14px 0 0;text-align:center}
.form-note a{color:var(--brand)}
.form-err{background:#fee2e2;color:#b91c1c;padding:12px 16px;border-radius:12px;margin-bottom:16px;font-weight:600;font-size:.92rem}
.lead-success{text-align:center;padding:20px 0}
.ok-ico{width:70px;height:70px;background:var(--grad);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:2rem;margin:0 auto 20px;box-shadow:0 16px 32px -12px rgba(109,40,217,.6)}
.lead-success h3{font-size:1.5rem;margin-bottom:10px}
.lead-success p{color:var(--ink-soft);margin:0}

/* footer */
.site-footer{background:#160f28;color:#cfc7e0;padding:clamp(50px,7vw,80px) 0 30px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.logo-foot{color:#fff}
.foot-about{color:#a79fc0;margin:16px 0 20px;font-size:.95rem;max-width:320px}
.foot-social{display:flex;gap:12px;flex-wrap:wrap}
.foot-social a{background:rgba(255,255,255,.08);padding:9px 16px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.9rem;color:#fff;transition:background .15s}
.foot-social a:hover{background:var(--brand)}
.footer-col h4{color:#fff;margin:0 0 16px;font-size:1.05rem}
.footer-col p{margin:0 0 10px;font-size:.95rem;color:#a79fc0}
.footer-col a{color:#cfc7e0;text-decoration:none;transition:color .15s}
.footer-col a:hover{color:#fff}
.foot-bottom{margin-top:44px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1)}
.foot-bottom p{margin:0 0 10px;font-size:.85rem;color:#8b83a8}
.foot-privacy{max-width:820px}

/* reveal animation */
html.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}
html.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transform:none;transition:none}}

/* responsive */
@media(max-width:900px){
  .nav,.hdr-phone{display:none}
  .burger{display:flex}
  .hero-inner,.problem-grid,.lead-inner{grid-template-columns:1fr}
  .hero-media{order:-1}
  .adv-grid,.serv-grid,.rev-grid{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr 1fr}
  .trust-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;padding:20px 6%;gap:6px;box-shadow:0 20px 40px -20px rgba(76,29,149,.4)}
  .nav.open a{padding:12px 0;border-bottom:1px solid rgba(109,40,217,.08)}
}
@media(max-width:560px){
  .steps-grid,.trust-grid,.footer-grid{grid-template-columns:1fr}
  .hero-float.f1{left:0}
  .hero-float.f2{right:0}
  .hdr-actions{gap:8px}
  .hero-cta .btn{flex:1}
}

/* --- Стили для блоков, оставшихся без оформления --- */
:root{
  --brand:#e8462a;
  --brand-2:#ff7a3d;
  --accent:#ffc93c;
}

.hdr-cta{
  display:inline-flex;
  align-items:center;
  gap:var(--space-2, 8px);
  padding:calc(var(--space-2, 8px) + 2px) var(--space-4, 18px);
  background:linear-gradient(120deg, var(--brand, #e8462a), var(--brand-2, #ff7a3d));
  color:#fff;
  font-weight:700;
  text-decoration:none;
  border-radius:var(--radius-pill, 999px);
  box-shadow:0 10px 24px -8px color-mix(in srgb, var(--brand, #e8462a) 55%, transparent);
  transition:transform .18s var(--ease-out, ease), box-shadow .18s ease;
  white-space:nowrap;
}
.hdr-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 32px -10px color-mix(in srgb, var(--brand, #e8462a) 65%, transparent);
}

.hero-text{
  max-width:640px;
}
.hero-text h1{
  font-size:clamp(2.4rem, 5.5vw, 4rem);
  line-height:1.04;
  font-weight:800;
  letter-spacing:-.02em;
  margin:0 0 var(--space-4, 18px);
}
.hero-text p{
  font-size:var(--step-1, 1.15rem);
  color:var(--muted, #5b6270);
  line-height:1.6;
  margin:0 0 var(--space-5, 24px);
  max-width:52ch;
}
.hero-text .cluster,
.hero-text .btn-row{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-3, 12px);
}

.serv-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--space-2, 8px);
  margin-top:var(--space-4, 18px);
  padding:calc(var(--space-3, 12px)) var(--space-5, 24px);
  background:var(--brand, #e8462a);
  color:#fff;
  font-weight:700;
  text-decoration:none;
  border:0;
  border-radius:var(--radius-pill, 999px);
  cursor:pointer;
  transition:background .18s ease, transform .18s var(--ease-out, ease);
}
.serv-btn:hover{
  background:var(--brand-2, #ff7a3d);
  transform:translateY(-2px);
}

.adv{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:var(--space-4, 20px);
  margin-top:var(--space-6, 36px);
}
.adv > *{
  position:relative;
  padding:var(--space-5, 26px);
  background:var(--surface, #fff);
  border:1px solid var(--border, #e6e8ef);
  border-radius:var(--radius-2, 20px);
  box-shadow:0 18px 40px -26px rgba(20,24,40,.35);
}
.adv > *::before{
  content:"";
  position:absolute;
  top:var(--space-5, 26px);
  left:var(--space-5, 26px);
  width:44px;
  height:4px;
  border-radius:var(--radius-pill, 999px);
  background:linear-gradient(90deg, var(--brand, #e8462a), var(--accent, #ffc93c));
}
.adv h3{
  margin:var(--space-4, 20px) 0 var(--space-2, 8px);
  font-size:var(--step-1, 1.25rem);
  font-weight:700;
}
.adv p{
  margin:0;
  color:var(--muted, #5b6270);
  line-height:1.6;
}

.steps{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:var(--space-4, 20px);
  margin-top:var(--space-6, 36px);
  counter-reset:step;
}
.steps > *{
  position:relative;
  padding:var(--space-6, 34px) var(--space-5, 24px) var(--space-5, 24px);
  background:var(--surface, #fff);
  border:1px solid var(--border, #e6e8ef);
  border-radius:var(--radius-2, 20px);
  box-shadow:0 16px 36px -24px rgba(20,24,40,.3);
}
.steps > *::before{
  counter-increment:step;
  content:counter(step);
  position:absolute;
  top:calc(-1 * var(--space-4, 20px));
  left:var(--space-5, 24px);
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  font-size:1.5rem;
  font-weight:800;
  color:#fff;
  border-radius:50%;
  background:linear-gradient(135deg, var(--brand, #e8462a), var(--brand-2, #ff7a3d));
  box-shadow:0 10px 22px -8px color-mix(in srgb, var(--brand, #e8462a) 60%, transparent);
}
.steps h3{
  margin:0 0 var(--space-2, 8px);
  font-size:var(--step-1, 1.2rem);
  font-weight:700;
}
.steps p{
  margin:0;
  color:var(--muted, #5b6270);
  line-height:1.6;
}



@media (max-width:640px){
  .hero-text .cluster,
  .hero-text .btn-row{ width:100%; }
  .serv-btn{ width:100%; }
}
