:root{
  --bg:#ffffff;
  --muted:#f2f2f2;
  --text:#111318;
  --sub:#5a5f6b;
  --line:#e5e7eb;
  --red:#e31e24;
  --shadow:0 10px 30px rgba(0,0,0,.12);
  --radius:18px;
  --dark:#0e0f12;
}

*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:var(--bg);
}

.sr{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}

.skip{
  position:absolute;
  left:-999px;top:0;
  background:#000;color:#fff;
  padding:10px 12px;
  z-index:9999;
}
.skip:focus{left:10px;top:10px}

.container{
  width:min(1200px, calc(100% - 32px));
  margin:0 auto;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:12px;
  font-weight:900;
  border:1px solid transparent;
  cursor:pointer;
  text-decoration:none;
  line-height:1;
}
.btn--primary{background:var(--red);color:#fff}
.btn--ghost{background:transparent;border-color:var(--line);color:var(--text)}

.logo{font-weight:900;font-size:18px;color:#fff}
.hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  padding:20px 0 40px;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(0deg, rgba(0,0,0,.72), rgba(0,0,0,.72)),
    radial-gradient(1200px 500px at 10% 30%, rgba(227,30,36,.22), rgba(0,0,0,0)),
    url('./assets/cta.jpg');
  background-size:cover;
  background-position:center;
  filter:saturate(1.05);
  z-index:0;
}
.hero__topbar,
.hero__body{
  position:relative;
  z-index:1;
}
.hero__topbar{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(14,15,18,.88);
  backdrop-filter:saturate(1.2) blur(10px);
  padding:10px 0;
  margin:0;
}
.hero__topbarInner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.nav{
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
}
.nav__link{
  color:#c9cbd1;
  text-decoration:none;
  font-weight:700;
  font-size:13px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
}
.nav__link:hover{color:#fff}
.hero__right{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.hero__phone{color:#fff;text-decoration:none;font-weight:800;font-size:14px}
.hero__body{
  margin-top:24px;
  display:flex;
  flex-direction:column;
  gap:18px;
}
.hero__left{display:flex;flex-direction:column;gap:14px}
.hero__h1{
  margin:0;
  font-size:26px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:.2px;
}
.hero__sub{color:#c9cbd1;font-weight:500;font-size:14px;line-height:1.45}
.hero__addr{color:#9ea2ad;font-weight:500;font-size:12px}
.hero__img{
  height:280px;
  border-radius:16px;
  background:url('./assets/hero.webp') center/cover no-repeat;
  border:1px solid rgba(255,255,255,.06);
}

.section{padding:40px 0}
.h2{
  margin:0 0 18px;
  font-size:20px;
  font-weight:950;
  line-height:1.1;
}

.steps{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.step{
  background:#f6f7f9;
  border-radius:16px;
  padding:16px;
  display:flex;
  gap:12px;
  align-items:center;
  min-height:64px;
}
.step__n{
  width:32px;height:32px;
  border-radius:10px;
  background:var(--red);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
}
.step__t{font-weight:700}

.priceGrid{
  display:grid;
  grid-template-columns: 1fr;
  gap:12px;
}
.priceCard{
  background:#f6f7f9;
  border-radius:16px;
  padding:16px;
  font-weight:800;
}

.docs{
  background:var(--muted);
  padding:24px 0 32px;
}
.docs__row{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.docs__left{
  display:flex;
  flex-direction:column;
}
.docs__title{display:flex;flex-direction:column;gap:6px}
.docs__t1,.docs__t2{font-size:22px;font-weight:950;line-height:1.05}
.docs__t2{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.docs__red{color:var(--red)}
.docs__p{margin-top:10px;color:var(--sub);font-size:13px;line-height:1.55}
.docs__img{
  margin-top:14px;
  height:354px;
  border-radius:16px;
  background:url('./assets/docs.png') center/contain no-repeat;
}
.docs__list{margin-top:18px;display:flex;flex-direction:column;gap:18px}
.docsItem{display:flex;gap:12px;align-items:flex-start}
.docsItem__n{
  width:34px;height:34px;border-radius:17px;
  border:2px solid var(--red);
  color:var(--red);
  display:flex;align-items:center;justify-content:center;
  font-weight:950;font-size:14px;
  flex:0 0 auto;
}
.docsItem__h{font-weight:950}
.docsItem__d{margin-top:4px;color:var(--sub);font-size:12px;line-height:1.45}
.docs__divider{margin-top:16px;display:flex;gap:10px;align-items:center}
.docs__line{height:1px;background:var(--line);flex:1}
.docs__badge{font-size:12px;font-weight:950;display:flex;gap:8px;align-items:center}
.docs__legal{margin-top:16px;display:flex;flex-direction:column;gap:6px}
.docs__legalH{font-weight:950}
.docs__legalD{color:var(--sub);font-size:12px}

.benefits{position:relative;height:300px;overflow:hidden}
.benefits__bg{
  position:absolute;inset:0;
  background:url('./assets/benefits-bg.jpg') center/cover no-repeat;
}
.benefits__overlay{
  position:absolute;inset:0;
  background:rgba(0,0,0,.70);
  padding:18px 0;
}
.benefits__title{color:#fff;font-weight:950;font-size:16px;margin:0 0 14px}
.benefits__grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
}
.benefit{color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.benefit img{width:28px;height:28px;object-fit:contain}
.benefit__t{font-weight:950;font-size:14px;line-height:1.1}
.benefit__s{color:#d7d7d7;font-size:11px}
.benefits__grid .benefit:nth-child(4),
.benefits__grid .benefit:nth-child(5){
  grid-column: span 1;
}
.benefits__grid{grid-auto-rows:minmax(0,1fr)}

.gost{padding:28px 0 32px}
.gost__wrap{display:flex;flex-direction:column;gap:14px}
.gost__h{font-weight:950;font-size:22px;line-height:1.05;text-align:center}
.gost__p{color:var(--sub);font-size:13px;line-height:1.55;text-align:center}
.gost__sub{color:#9aa0aa;font-weight:800;font-size:12px;text-align:center}
.gost__img{
  height:280px;
  background:url('./assets/gost.jpg') center/contain no-repeat;
}

.cta{
  position:relative;
  margin:10px 0;
}
.cta__bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(0deg, rgba(0,0,0,.70), rgba(0,0,0,.70)),
    radial-gradient(1200px 500px at 10% 50%, rgba(227,30,36,.25), rgba(0,0,0,0)),
    url('./assets/cta.jpg');
  background-size:cover;
  background-position:center;
  filter:saturate(1.05);
}
.cta__overlay{
  position:relative;
  min-height:260px;
  padding:18px 0;
  display:flex;
  align-items:center;
}
.cta__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-direction:column;
  align-items:stretch;
}
.cta__title{color:#fff;font-size:22px;font-weight:950}
.cta__sub{color:#d7d7d7;margin-top:6px}
.ctaForm{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.field input{
  width:min(340px, 100%);
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(218,221,227,.4);
  outline:none;
}
 .ctaForm .btn{padding:10px 16px;border-radius:12px}

.map{
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
  height:520px;
}
.map iframe{
  width:100%;
  height:100%;
  border:0;
}

.footer{
  background:#0e0f12;
  color:#fff;
  padding:26px 0 16px;
}
.footer__grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap:24px;
}
.footer__brand{font-weight:950;font-size:20px}
.footer__title{font-weight:900;font-size:12px;margin-bottom:8px}
.footer__muted{color:#b7bbc6;font-weight:600;font-size:13px;line-height:1.5}
.footer__link{display:block;color:#fff;text-decoration:none;font-weight:800;margin-top:4px}
.footer__bottom{
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid #232633;
}

.toTop{
  position:fixed;
  right:16px;
  bottom:16px;
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.06);
  background:var(--red);
  color:#fff;
  box-shadow:0 12px 26px rgba(215, 0, 29, .35), 0 10px 30px rgba(0,0,0,.12);
  font-weight:950;
  cursor:pointer;
  z-index:200;
  display:none;
}
.toTop:hover{filter:brightness(1.05)}
.toTop:active{transform:translateY(1px)}
.toTop:focus-visible{outline:3px solid rgba(215,0,29,.35);outline-offset:3px}
.toTop.isVisible{display:inline-flex;align-items:center;justify-content:center}

@media (max-width: 980px){
  .footer__grid{grid-template-columns:1fr;gap:14px}
}

@media (min-width: 980px){
  .container{width:min(1200px, calc(100% - 240px))}
  .hero{padding:24px 0 40px}
  .logo{font-size:22px}
  .hero__phone{font-size:15px}
  .hero__topbarInner{
    flex-wrap:nowrap;
    position:relative;
  }
  .hero__topbarInner .logo{flex:1 1 0}
  .hero__topbarInner .nav{flex:0 0 auto}
  .hero__topbarInner .hero__right{flex:1 1 0; justify-content:flex-end}
  .nav{
    flex-wrap:nowrap;
    background:none;
  }
  .nav__link{
    border:0;
    background:transparent;
    padding:0;
    border-radius:0;
    font-size:14px;
  }
  .hero__body{flex-direction:row;align-items:center;gap:40px}
  .hero__left{width:620px}
  .hero__h1{font-size:44px}
  .hero__img{height:360px;flex:1}
  .h2{font-size:28px}
  .steps{flex-direction:row}
  .step{flex-direction:column;align-items:flex-start;min-height:120px}
  .step__n{width:36px;height:36px;border-radius:12px}
  .priceGrid{grid-template-columns:repeat(4,1fr)}
  .docs{padding:44px 0}
  .docs__t1,.docs__t2{font-size:40px}
  .docs__row{flex-direction:row;gap:40px;align-items:flex-start}
  .docs__left{width:640px}
  .docs__img{
    margin-top:0;
    flex:1;
    height:420px;
    border-radius:18px;
    background-size:contain;
    background-position:center right;
  }
  .docs__p{font-size:16px}
  .docs__list{margin-top:22px}
  .benefits{height:210px}
  .benefits__overlay{padding:24px 0}
  .benefits__title{font-size:20px;text-align:center}
  .benefits__grid{grid-template-columns:repeat(5,1fr);gap:0}
  .benefit img{width:34px;height:34px}
  .benefit__t{font-size:16px}
  .benefit__s{font-size:12px}
  .gost__wrap{flex-direction:row;align-items:center;gap:40px}
  .gost__left{width:620px}
  .gost__h{font-size:40px;text-align:left}
  .gost__p{font-size:16px;text-align:left}
  .gost__sub{text-align:left;font-size:13px}
  .gost__img{height:420px;flex:1}
  .cta__row{flex-direction:row;align-items:center}
  .cta__overlay{min-height:220px;padding:26px 0}
  .cta__title{font-size:20px}
  .ctaForm{flex-wrap:nowrap}
  .field input{width:220px}
}

