:root{
  --bg:#F2F2F0; --white:#FFFFFF; --ash:#E8E8E5;
  --ink:#111111; --ink2:#5E5E5E; --ink3:#6F6F6A; --ink4:#8A8A83;
  --line:#DCDCD8; --line2:#C6C6C1;
  --dark:#0B0B0B; --dark2:#171717; --dark-line:#2A2A2A; --on-dark:#9A9A96; --on-dark2:#7C7C76;
  --lime:#D0F53C; --lime-d:#B9E024; --olive:#5F7000;
  --warn:#8A6B00;
  --maxw:1280px;
  --font:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink); font-family:var(--font);
  font-size:15px; line-height:1.5; overflow-x:hidden; padding-bottom:72px;
}
img{max-width:100%;display:block}
button,input{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---- типографика референса ---- */
.eyebrow{
  display:flex; align-items:center; gap:9px;
  font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--olive); margin:0 0 15px;
}
.eyebrow::before{content:""; flex:0 0 auto; width:20px; height:1px; background:currentColor}
.eyebrow em{font-style:normal}
.eyebrow--dark{color:var(--lime)}
h1{
  font-size:34px; line-height:.94; letter-spacing:-.02em; text-transform:uppercase;
  font-weight:600; margin:0 0 16px;
}
h2{
  font-size:26px; line-height:.95; letter-spacing:-.02em; text-transform:uppercase;
  font-weight:600; margin:0 0 12px;
}
h3{font-size:14px; font-weight:700; letter-spacing:.02em; margin:0 0 6px}
.dek{font-size:14px; line-height:1.55; color:var(--ink2); margin:0; max-width:44ch}
.cap{font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink3)}

/* ---- кнопки референса: прямоугольные, капслок, стрелка ---- */
.btn{
  display:inline-flex; align-items:center; justify-content:space-between; gap:14px;
  min-height:52px; padding:0 18px; border:0; border-radius:0; cursor:pointer;
  background:var(--lime); color:var(--ink);
  font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
}
.btn:focus-visible{outline:2px solid var(--ink); outline-offset:2px}
.btn:active{background:var(--lime-d)}
.btn i{font-style:normal; font-size:13px; line-height:1}
.btn--block{display:flex; width:100%}
.btn--dark{background:var(--dark); color:#fff}
.btn--dark:active{background:#000}
.btn--dark:focus-visible{outline-color:var(--olive)}
.btn--line{background:var(--white); border:1px solid var(--line2); color:var(--ink)}
.btn--line:active{background:var(--ash)}
.btn--sm{min-height:44px; padding:0 14px; font-size:9.5px; gap:18px}

/* ---- шапка ---- */
.hdr{position:sticky; top:0; z-index:40; background:var(--bg); border-bottom:1px solid var(--line)}
.hdr__in{display:flex; align-items:stretch; justify-content:space-between; height:60px; gap:12px}
.logo{line-height:1; align-self:center}
.logo b{display:block; font-size:19px; font-weight:700; letter-spacing:.3em; text-transform:uppercase}
.logo span{display:block; font-size:7.5px; letter-spacing:.46em; color:var(--ink3); text-transform:uppercase; margin-top:4px}
.hdr .btn{min-height:44px; align-self:center}
.hdr__phone{display:inline-flex;align-items:center;justify-content:center;align-self:center;min-width:44px;min-height:44px;font-weight:700}
.hdr__phone span{display:none}
.hdr__phone b{font-size:20px;line-height:1;font-weight:400}
.hdr__phone:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.nav{display:none}

/* ---- первый экран ---- */
.hero{padding:26px 0 30px; border-bottom:1px solid var(--line)}
.hero__vis{
  position:relative; margin:26px 0 0; aspect-ratio:16/10; background:var(--dark);
  display:flex; align-items:center; justify-content:center; text-align:center;
}
.hero__vis img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.hero__cap{
  position:absolute; left:0; right:0; bottom:0; z-index:2; margin:0; padding:26px 14px 12px;
  font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:#D8D8D2;
  background:linear-gradient(to top, rgba(6,6,6,.92), rgba(6,6,6,0));
}
.ph{padding:16px}
.ph b{display:block; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--lime); font-weight:700}
.ph span{display:block; font-size:11px; color:var(--on-dark); margin-top:6px; max-width:250px}
.ph svg{width:30px;height:30px;stroke:#3A3A3A;fill:none;stroke-width:1.3;margin:0 auto 10px}

/* бюджет-контрол */
.control{background:var(--white); border:1px solid var(--line); padding:18px}
.control__lbl{display:flex; justify-content:space-between; align-items:baseline; gap:12px}
.control__val{font-size:20px; font-weight:600; letter-spacing:-.01em; font-variant-numeric:tabular-nums; white-space:nowrap}
.control__hint{font-size:11px; color:var(--ink3); margin:6px 0 10px; line-height:1.45}
.control__cta{margin:16px 0 10px; font-size:14px; line-height:1.45; font-weight:600; color:var(--ink)}

.rng{position:relative; height:44px; margin:0 1px}
.rng__track{position:absolute; left:0; right:0; top:21px; height:2px; background:var(--line2)}
.rng__fill{position:absolute; top:21px; height:2px; background:var(--ink)}
.rng input[type=range]{
  position:absolute; left:0; top:0; width:100%; height:44px; margin:0;
  -webkit-appearance:none; appearance:none; background:transparent; pointer-events:none;
}
.rng input[type=range]:focus{outline:none}
.rng input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; pointer-events:auto; width:24px; height:24px; border-radius:0;
  background:var(--ink); border:3px solid var(--lime); cursor:pointer;
}
.rng input[type=range]::-moz-range-thumb{
  pointer-events:auto; width:20px; height:20px; border-radius:0;
  background:var(--ink); border:3px solid var(--lime); cursor:pointer;
}
.rng__ends{display:flex; justify-content:space-between; font-size:10px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink3); font-variant-numeric:tabular-nums}

.grp{margin-top:14px; padding-top:14px; border-top:1px solid var(--line)}
.grp__t{font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink3); margin-bottom:9px}
.chips{display:flex; flex-wrap:wrap; gap:6px}
.chip{
  min-height:44px; display:inline-flex; align-items:center; padding:0 14px; border-radius:0;
  border:1px solid var(--line2); background:transparent; cursor:pointer;
  font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink2);
}
.chip[aria-pressed="true"]{background:var(--ink); border-color:var(--ink); color:#fff}
.control .btn{margin-top:16px}
.count{font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink3); margin:10px 0 0}

.trust{display:flex; flex-wrap:wrap; gap:8px 18px; margin:18px 0 0; padding:0}
.trust li{
  list-style:none; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink2);
  padding-left:14px; position:relative;
}
.trust li::before{content:""; position:absolute; left:0; top:5px; width:6px; height:6px; background:var(--lime)}

/* ---- полоса цифр (приём референса) ---- */
.stats{background:var(--white); border-bottom:1px solid var(--line)}
.stats__in{display:grid; grid-template-columns:1fr 1fr}
.stat{position:relative; padding:22px 10px; text-align:center; border-bottom:1px solid var(--line)}
.stat:nth-child(odd){border-right:1px solid var(--line)}
.stat:nth-last-child(-n+2){border-bottom:0}
.stat b{display:block; font-size:34px; font-weight:300; letter-spacing:-.03em; line-height:1;
  font-variant-numeric:tabular-nums; white-space:nowrap}
.stat__unit{font-size:14px; letter-spacing:0; color:inherit}
.stat > span{display:block; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink3); margin-top:10px; line-height:1.45}

/* ---- секции ---- */
section{padding:34px 0}
.sec__head{margin-bottom:18px}
.sec__note{font-size:12px; color:var(--ink3); margin:10px 0 0; line-height:1.55; max-width:52ch}

/* табы рынков */
.tabs{display:flex; gap:6px; overflow-x:auto; margin:0 -20px 16px; padding:0 20px 2px}
.tabs::-webkit-scrollbar{display:none}
.tab{
  flex:0 0 auto; min-height:44px; display:inline-flex; align-items:center; gap:7px; padding:0 14px;
  border:1px solid var(--line2); background:transparent; border-radius:0; cursor:pointer; white-space:nowrap;
  font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink2);
}
.tab[aria-selected="true"]{background:var(--ink); border-color:var(--ink); color:#fff}
.tab i{font-style:normal; font-size:10px; opacity:.6; font-variant-numeric:tabular-nums}

/* ---- витрина: тёмные плитки, как lineup референса ---- */
.frame{
  border-left:2px solid var(--olive); padding:2px 0 2px 12px; margin:0 0 18px;
  font-size:12px; line-height:1.6; color:var(--ink2); max-width:74ch;
}
.feed{display:grid; gap:14px}

/* ---- пруф выкупа: кадры клиента ---- */
.proof{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:18px}
@media (min-width:768px){ .proof{grid-template-columns:repeat(4,1fr)} }
.proof figure{margin:0; position:relative; aspect-ratio:3/4; overflow:hidden; background:var(--dark)}
.proof img{width:100%; height:100%; object-fit:cover}
.proof figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:22px 10px 9px;
  font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:#D8D8D2;
  background:linear-gradient(to top, rgba(6,6,6,.92), rgba(6,6,6,0));
}
.lot{background:var(--dark); color:#fff; display:flex; flex-direction:column}
.lot__media{
  position:relative; aspect-ratio:4/3; display:flex; flex-direction:column; justify-content:space-between;
  text-align:left; border-bottom:1px solid var(--dark-line); overflow:hidden;
}
.lot__media .ph{flex:1 1 auto; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:30px 16px 6px}
.lot__media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
/* подложка снизу — иначе подпись на светлом кадре нечитаема */
.lot__media::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:62%; pointer-events:none;
  background:linear-gradient(to top, rgba(6,6,6,.94) 0%, rgba(6,6,6,.78) 38%, rgba(6,6,6,0) 100%);
}
.lot__media--telegram::before{
  content:"Фото площадки"; position:absolute; z-index:1; right:0; bottom:0;
  width:29%; height:27%; padding:0 8px 7px; box-sizing:border-box;
  display:flex; align-items:flex-end; justify-content:flex-end;
  background:linear-gradient(135deg, rgba(6,6,6,.78), #060606 42%);
  color:var(--on-dark2); font-size:8px; letter-spacing:.08em; text-transform:uppercase;
  pointer-events:none;
}
.lot__flag{
  position:absolute; left:0; top:0; z-index:2; font-size:9px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink); background:var(--lime); padding:6px 10px;
}
.lot__cap{position:relative; z-index:2; flex:0 0 auto; margin-top:auto; padding:0 14px 14px}
.lot__body{padding:15px 14px 16px; flex:1 1 auto; display:flex; flex-direction:column}
.lot__name{font-size:13px; font-weight:600; letter-spacing:.02em; text-transform:uppercase; line-height:1.2; margin:0 0 5px; color:#fff}
.lot__spec{font-size:11px; color:var(--on-dark); margin:0 0 12px; line-height:1.5}
.lot__price{font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--lime); margin:0 0 4px}
.lot__sum{font-size:21px; font-weight:300; letter-spacing:-.02em; line-height:1; font-variant-numeric:tabular-nums}
.lot__where{font-size:11px; color:var(--on-dark); margin:0 0 0; line-height:1.5}
.lot__calc{margin:12px 0 0; padding-top:12px; border-top:1px solid var(--dark-line);
  font-size:10px; color:var(--on-dark2); line-height:1.6; font-variant-numeric:tabular-nums}
.lot__foot{display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-top:auto; padding-top:16px}
.lot__src{font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--on-dark2); white-space:nowrap}
.note{
  display:block; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--lime); border-left:2px solid var(--lime); padding:0 0 0 9px; margin:0 0 12px; line-height:1.5;
}
.empty{display:none; border:1px solid var(--line2); padding:24px 20px; text-align:center}
.empty.is-on{display:block}
.empty p{margin:0 0 16px; font-size:13px; color:var(--ink2); line-height:1.6}

/* ---- тёмная полноширинная секция «как это работает» ---- */
.black{background:var(--dark); color:#fff; padding:38px 0}
.black h2{color:#fff}
.black .sec__note{color:var(--on-dark2)}
.steps{display:grid; gap:0; margin-top:20px}
.step{padding:18px 0; border-top:1px solid var(--dark-line); display:flex; gap:16px}
.step__n{flex:0 0 auto; font-size:11px; font-weight:700; letter-spacing:.1em; color:var(--lime); padding-top:2px}
.step h3{color:#fff; text-transform:uppercase; letter-spacing:.06em; font-size:12px}
.step p{font-size:12px; color:var(--on-dark); margin:0; line-height:1.6}

/* ---- почему с нами выгодно ---- */
.why{display:grid; gap:0; margin-top:18px}
.why__i{padding:18px 0; border-top:1px solid var(--line)}
.why__i h3{text-transform:uppercase; letter-spacing:.06em; font-size:12px; margin-bottom:8px}
.why__i p{font-size:12.5px; color:var(--ink2); margin:0; line-height:1.6}
.why__i em{font-style:normal; display:block; font-size:9px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--olive); margin-bottom:10px}

/* ---- форма (приём «OWN THE FUTURE») ---- */
.lead-form{border-top:1px solid var(--line); padding:34px 0}
.form__side{margin-top:26px}
.field{margin-bottom:20px}
.field label{display:block; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink3); margin-bottom:8px}
.field input{
  width:100%; min-height:48px; border:0; border-bottom:1px solid var(--line2); border-radius:0;
  background:transparent; padding:0 0 6px; font-size:16px;
}
.field input:focus{outline:none; border-bottom-color:var(--ink); border-bottom-width:2px; padding-bottom:5px}
.field input::placeholder{color:var(--ink4)}
.micro{font-size:11px; color:var(--ink3); margin:18px 0 0; line-height:1.6; max-width:48ch}
.form__ok{display:none; border-left:2px solid var(--lime); padding:2px 0 2px 12px; font-size:12px; margin-top:18px; line-height:1.6}
form.is-sent .form__ok{display:block}

/* ---- подвал ---- */
footer{background:var(--white); border-top:1px solid var(--line); padding:30px 0 36px}
footer .logo{margin-bottom:20px}
.fcol{padding:16px 0; border-top:1px solid var(--line)}
.fcol h4{font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink3); margin:0 0 10px; font-weight:700}
.fcol p{font-size:12px; color:var(--ink2); margin:0 0 7px; line-height:1.65}
.fcol p:last-child{margin-bottom:0}

/* ---- липкий CTA ---- */
.sticky{
  position:fixed; left:0; right:0; bottom:0; z-index:50; background:var(--bg);
  border-top:1px solid var(--line2); padding:9px 20px calc(9px + env(safe-area-inset-bottom));
  display:flex; gap:12px; align-items:center; transform:translateY(115%); transition:transform .2s ease;
}
.sticky.is-on{transform:none}
.sticky__n{flex:0 0 auto; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink3); line-height:1.3}
.sticky__n b{display:block; font-size:15px; color:var(--ink); letter-spacing:0; font-weight:600; font-variant-numeric:tabular-nums}
.sticky .btn{flex:1 1 auto; min-height:48px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media (min-width:430px){ h1{font-size:40px} .stat b{font-size:38px} }

@media (min-width:768px){
  body{font-size:16px}
  h1{font-size:60px}
  h2{font-size:38px}
  .eyebrow{margin-bottom:18px}
  .hero{padding:44px 0 52px}
  section{padding:60px 0}
  .black{padding:64px 0}
  .sec__head{margin-bottom:26px}
  .stats__in{grid-template-columns:repeat(4,1fr)}
  .stat{border-bottom:0; padding:34px 22px}
  .stat:nth-child(odd){border-right:0}
  .stat + .stat::before{content:""; position:absolute; left:0; top:34px; bottom:34px; width:1px; background:var(--line)}
  .stat b{font-size:50px}
  .stat__unit{font-size:20px}
  .stat > span{margin-top:12px}
  .feed{grid-template-columns:1fr 1fr; gap:16px}
  .lot__name{font-size:14px}
  .lot__sum{font-size:23px}
  .why{grid-template-columns:1fr 1fr; gap:0 40px}
  .steps{grid-template-columns:1fr 1fr}
  .step{padding:20px 0}
  .form__grid{display:grid; grid-template-columns:1fr 1fr; gap:0 40px}
  .fgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:0 40px}
  .btn--block{display:inline-flex; width:auto; min-width:260px}
}

@media (min-width:1024px){
  h1{font-size:74px}
  h2{font-size:44px}
  .hdr__in{max-width:none; height:64px; padding:0 0 0 22px}
  .hdr .btn{align-self:stretch; min-height:64px; padding:0 26px; gap:22px}
  .hdr__phone{padding:0 10px;font-size:14px;white-space:nowrap}
  .hdr__phone span{display:inline}
  .hdr__phone b{display:none}
  .nav{display:flex; margin:0 auto; gap:10px; font-size:10px; font-weight:700; letter-spacing:.14em;
    text-transform:uppercase; color:var(--ink2)}
  .nav a{display:inline-flex; align-items:center; min-height:44px; padding:0 12px}
  .hero{padding:56px 0 64px}
  .hero__grid{
    display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:start;
    max-width:none; padding-right:0;
    padding-left:max(20px, calc((100vw - var(--maxw)) / 2 + 20px));
  }
  .hero__vis{margin:0; aspect-ratio:4/5; order:2}
  .hero__grid > div:first-child{order:1}
  .feed{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:repeat(5,1fr); gap:0 28px}
  .step{flex-direction:column; gap:10px; border-top:1px solid var(--dark-line)}
  .why{grid-template-columns:repeat(4,1fr); gap:0 32px}
  .lead-form{padding:64px 0}
  .form__grid{grid-template-columns:1fr 1.25fr; gap:0 64px}
  .form__side{margin-top:0; display:grid; grid-template-columns:1fr 1fr; gap:0 36px; align-items:end}
  .form__side .field{margin-bottom:26px}
  .form__side .btn{margin-bottom:26px; justify-self:end; min-width:220px}
  .form__ok{grid-column:1 / -1; margin-top:0}
  footer{padding:44px 0 48px}
  footer .wrap{display:grid; grid-template-columns:auto 1fr; gap:0 64px; align-items:start}
  footer .logo{margin:0}
  .sticky{display:none}
  body{padding-bottom:0}
}

/* ---- хлебные крошки ---- */
.crumbs{border-bottom:1px solid var(--line); background:var(--bg)}
.crumbs .wrap{display:flex; flex-wrap:wrap; gap:6px; align-items:center; min-height:44px;
  font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink3)}
.crumbs a{color:var(--ink2); border-bottom:1px solid var(--line2); padding:2px 0}
.crumbs a:hover{color:var(--ink)}
.crumbs span{color:var(--ink)}

/* ---- навигация подвала ---- */
.fnav{display:flex; flex-wrap:wrap; gap:10px 16px}
.fnav a{font-size:12px; color:var(--ink2); border-bottom:1px solid var(--line2); padding-bottom:2px}
.fnav a:hover{color:var(--ink); border-color:var(--ink)}

/* ---- блок доверия: отзывы ---- */
.rev{display:grid; gap:0; margin-top:18px; border-top:1px solid var(--line)}
.rev__score{padding:18px 0; border-bottom:1px solid var(--line); display:flex; align-items:baseline; gap:14px; flex-wrap:wrap}
.rev__num{font-size:44px; font-weight:300; letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums}
.rev__of{font-size:14px; color:var(--ink3)}
.rev__meta{font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:var(--ink3); line-height:1.6}
.rev__list{display:grid; gap:0}
.rev__i{padding:16px 0; border-bottom:1px solid var(--line); display:flex; gap:14px; align-items:flex-start}
.rev__i em{font-style:normal; flex:0 0 auto; font-size:10px; font-weight:700; letter-spacing:.12em; color:var(--olive); padding-top:2px}
.rev__i p{margin:0; font-size:13px; line-height:1.6; color:var(--ink2)}
.rev__note{font-size:11px; color:var(--ink3); margin:14px 0 0; line-height:1.6}
@media (min-width:768px){ .rev__list{grid-template-columns:1fr 1fr; gap:0 40px} }

/* ---- попап заявки ---- */
.modal{position:fixed; inset:0; z-index:90; display:none}
.modal.is-on{display:block}
.modal__scrim{position:absolute; inset:0; background:rgba(6,6,6,.72)}
.modal__box{
  position:absolute; left:0; right:0; bottom:0; max-height:92vh; overflow-y:auto;
  background:var(--bg); padding:22px 20px calc(24px + env(safe-area-inset-bottom));
  -webkit-overflow-scrolling:touch;
}
.modal__x{
  position:absolute; right:10px; top:10px; width:44px; height:44px; border:0; background:transparent;
  cursor:pointer; font-size:22px; line-height:1; color:var(--ink);
}
.modal h2{font-size:22px; margin:0 0 8px; padding-right:44px}
.modal .dek{font-size:13px; margin:0 0 18px}
.modal .field{margin-bottom:16px}
@media (min-width:768px){
  .modal__box{
    left:50%; top:50%; right:auto; bottom:auto; transform:translate(-50%,-50%);
    width:min(520px, calc(100vw - 48px)); padding:30px 28px;
  }
  .modal h2{font-size:28px}
}
body.is-locked{overflow:hidden}

/* ---- блок доверия: отзывы ---- */
.rev{margin-top:20px; border-top:1px solid var(--line)}
.rev__score{padding:18px 0; border-bottom:1px solid var(--line); display:flex; align-items:baseline; gap:16px; flex-wrap:wrap}
.rev__num{font-size:44px; font-weight:300; letter-spacing:-.03em; line-height:1; font-variant-numeric:tabular-nums}
.rev__of{font-size:14px; color:var(--ink3)}
.rev__meta{font-size:10px; letter-spacing:.13em; text-transform:uppercase; color:var(--ink3); line-height:1.7}
.rev__list{display:grid; gap:0}
.rev__i{padding:15px 0; border-bottom:1px solid var(--line); display:flex; gap:14px; align-items:flex-start}
.rev__i em{font-style:normal; flex:0 0 auto; font-size:10px; font-weight:700; letter-spacing:.1em; color:var(--olive); padding-top:3px}
.rev__i p{margin:0; font-size:13px; line-height:1.6; color:var(--ink2)}
.rev__note{font-size:11px; color:var(--ink3); margin:14px 0 0; line-height:1.6}
@media (min-width:768px){ .rev__list{grid-template-columns:1fr 1fr; gap:0 40px} }

/* ---- попап заявки (правило: кнопка = попап, не скролл) ---- */
.modal{position:fixed; inset:0; z-index:90; display:none}
.modal.is-on{display:block}
.modal__scrim{position:absolute; inset:0; background:rgba(6,6,6,.72)}
.modal__box{
  position:absolute; left:0; right:0; bottom:0; max-height:92vh; overflow-y:auto;
  background:var(--bg); padding:24px 20px calc(24px + env(safe-area-inset-bottom));
  -webkit-overflow-scrolling:touch;
}
.modal__x{
  position:absolute; right:8px; top:8px; width:44px; height:44px; border:0; background:transparent;
  cursor:pointer; font-size:24px; line-height:1; color:var(--ink);
}
.modal__x:focus-visible{outline:2px solid var(--ink); outline-offset:-4px}
.modal h2{font-size:22px; margin:0 0 8px; padding-right:44px}
.modal .dek{font-size:13px; margin:0 0 18px; max-width:none}
.modal .field{margin-bottom:16px}
@media (min-width:768px){
  .modal__box{
    left:50%; top:50%; right:auto; bottom:auto; transform:translate(-50%,-50%);
    width:min(520px, calc(100vw - 48px)); padding:32px 30px;
  }
  .modal h2{font-size:28px}
}
body.is-locked{overflow:hidden}

/* ---- тач-цели ссылок: норма 44px ---- */
a.logo{display:inline-flex; flex-direction:column; justify-content:center; min-height:44px}
.fnav a{display:inline-flex; align-items:center; min-height:44px; padding:0 2px}
.nav a{display:inline-flex; align-items:center; min-height:44px}
.crumbs a,.crumbs span{display:inline-flex; align-items:center; min-height:44px}

/* ---- отзывы: скрины и дословные цитаты ---- */
.rev__shots{display:flex; gap:10px; overflow-x:auto; padding:18px 0; border-bottom:1px solid var(--line);
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch}
.rev__shots::-webkit-scrollbar{height:0}
.rev__shots figure{flex:0 0 auto; margin:0; scroll-snap-align:start; width:min(88vw,470px)}
.rev__shots img{width:100%; height:auto; border:1px solid var(--line2); background:var(--white)}
.rev__shots figcaption{font-size:9px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink3); margin-top:8px}
.rev__q{margin:0; padding:16px 0; border-bottom:1px solid var(--line); break-inside:avoid}
.rev__q p{margin:0 0 9px; font-size:13.5px; line-height:1.65; color:var(--ink)}
.rev__q cite{font-style:normal; font-size:9.5px; letter-spacing:.11em; text-transform:uppercase; color:var(--ink3)}
@media (min-width:768px){
  .rev__shots figure{width:470px}
  .rev__list{grid-template-columns:1fr 1fr; gap:0 40px}
}

/* ---- подвал: колонки ---- */
footer{padding:34px 0 40px}
.fgrid{display:grid; gap:0}
.fcol{padding:18px 0; border-top:1px solid var(--line)}
.fcol--brand{border-top:0; padding-top:0}
.fcol--brand .logo{margin-bottom:12px}
.fcol h4{font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink3); margin:0 0 10px; font-weight:700}
.fcol p{font-size:12.5px; color:var(--ink2); margin:0 0 8px; line-height:1.65; max-width:46ch}
@media (min-width:768px){
  .fgrid{grid-template-columns:1.3fr 1fr 1fr 1fr; gap:0 36px}
  .fcol{border-top:1px solid var(--line); padding:20px 0 0}
  .fcol--brand{border-top:1px solid var(--line); padding-top:20px}
}

/* ============================================================
   CMO REVIEW · правки главной
   ============================================================ */

/* P0: контраст отзывов. Токены заданы ЯВНО, без наследования. */
.rev__list{display:grid; gap:10px}
.rev__q{
  margin:0; padding:18px 16px; border:0; border-bottom:0;
  background:#FFFFFF; color:#111318;
}
.rev__q p{margin:0 0 10px; font-size:14px; line-height:1.6; color:#111318}
.rev__q p mark{background:#EAF7B0; color:#111318; padding:0 2px}
.rev__q cite{font-style:normal; display:block; font-size:10px; letter-spacing:.1em;
  text-transform:uppercase; color:#5A6070}
.rev__note{color:#5A6070; font-size:11px; margin:14px 0 0; line-height:1.6}
.rev__more{display:none}
.rev__list.is-open .rev__more{display:block}
.rev__toggle{margin-top:12px}
@media (min-width:768px){ .rev__list{grid-template-columns:1fr 1fr; gap:10px} }

/* U1-кейс: бюджет → машина → итог */
.case{background:#0B0B0B; color:#F5F5F5; display:grid; gap:0; margin-top:18px}
.case__img{position:relative; aspect-ratio:4/3; overflow:hidden}
.case__img img{width:100%; height:100%; object-fit:cover}
.case__body{padding:20px 18px}
.case__row{padding:14px 0; border-top:1px solid #2A2A2A}
.case__row:first-child{border-top:0; padding-top:0}
.case__row em{font-style:normal; display:block; font-size:9px; letter-spacing:.16em;
  text-transform:uppercase; color:#D0F53C; margin-bottom:6px}
.case__row p{margin:0; font-size:14px; line-height:1.55; color:#F5F5F5}
.case__row p b{font-weight:600}
.case__src{font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:#8B9099; margin:16px 0 0}
@media (min-width:768px){ .case{grid-template-columns:1fr 1.15fr; align-items:stretch}
  .case__img{aspect-ratio:auto; min-height:100%} .case__body{padding:28px 26px} }

/* «Как считается стоимость» — раскрывашка вместо абзаца перед карточками */
.howmuch{border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:0 0 18px}
.howmuch summary{
  list-style:none; cursor:pointer; min-height:52px; display:flex; align-items:center;
  justify-content:space-between; gap:12px;
  font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink);
}
.howmuch summary::-webkit-details-marker{display:none}
.howmuch summary::after{content:"+"; font-size:18px; font-weight:400; color:var(--olive)}
.howmuch[open] summary::after{content:"–"}
.howmuch__body{padding:0 0 18px; font-size:12.5px; line-height:1.7; color:var(--ink2); max-width:70ch}
.howmuch__body p{margin:0 0 8px}

/* лид секции витрины */
.lead-in{font-size:15px; line-height:1.6; color:var(--ink); margin:0 0 18px; max-width:60ch}

/* нейтральная метка источника в карточке */
.lot__src{text-transform:none; letter-spacing:.06em}

/* слайдер скринов: одна высота на все кадры, без провала под коротким */
.rev__shots{align-items:flex-start}
.rev__shots img{height:auto; width:100%; background:#FFFFFF; padding:6px}


/* ============================================================
   COUNTRY PAGE · сценарии, запрос, светлый процесс, тёмный пруф
   ============================================================ */
.scen{display:grid; gap:0; margin:0 0 20px; border-top:1px solid var(--line)}
.scen__i{padding:18px 0; border-bottom:1px solid var(--line)}
.scen__i em{font-style:normal; display:block; font-size:9px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--olive); margin-bottom:8px}
.scen__i h3{font-size:15px; text-transform:uppercase; letter-spacing:.04em; margin:0 0 6px}
.scen__i p{margin:0; font-size:13px; line-height:1.6; color:var(--ink2)}
@media (min-width:768px){ .scen{grid-template-columns:1fr 1fr; gap:0 40px} }

.ask{background:var(--white); border:1px solid var(--line2); padding:20px 18px}
.ask__t{margin:0 0 14px; font-size:15px; line-height:1.55; color:var(--ink); max-width:52ch}
@media (min-width:768px){
  .ask{display:flex; align-items:center; justify-content:space-between; gap:28px; padding:24px}
  .ask__t{margin:0}
  .ask .btn{flex:0 0 auto}
}

/* пруф-галерея на тёмном фоне */
.proof--dark figure{background:#000}
.proof--dark figcaption{background:linear-gradient(to top, rgba(0,0,0,.94), rgba(0,0,0,0)); color:#E6E6E2}

/* процесс на светлом фоне (COUNTRY-версия) */
.steps--light .step{background:var(--white); border:1px solid var(--line)}
.steps--light .step__n{background:var(--ink); color:#fff}
.steps--light .step h3{color:var(--ink)}
.steps--light .step p{color:var(--ink2)}

/* микрокопия под кнопкой запроса */
.count--soft{text-transform:none; letter-spacing:0; font-size:12px; line-height:1.55;
  color:var(--ink3); margin-top:12px}

/* липкая панель без счётчика */
.sticky .btn--block{width:100%}

/* ---- строка «что уже известно из запроса» ---- */
.known{margin:12px 0 0; font-size:12px; line-height:1.55; color:var(--olive);
  padding-left:12px; border-left:2px solid var(--lime); max-width:46ch}
.field__known{margin:0 0 16px; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink3); padding-left:10px; border-left:2px solid var(--lime)}
.control__hint--top{margin-top:0}

/* ---- лестница бюджета (BRAND) ---- */
.ladder{display:grid; gap:0; margin-top:18px}
.ladder__i{display:flex; gap:18px; align-items:flex-start; padding:20px 0;
  border-top:1px solid var(--dark-line)}
.ladder__sum{flex:0 0 132px; font-size:16px; font-weight:600; color:var(--lime);
  font-variant-numeric:tabular-nums; letter-spacing:-.01em}
.ladder__b h3{margin:0 0 6px; font-size:14px; text-transform:uppercase; letter-spacing:.05em; color:#fff}
.ladder__b p{margin:0; font-size:13px; line-height:1.6; color:var(--on-dark)}
@media (min-width:768px){ .ladder__sum{flex-basis:190px; font-size:20px} }

/* ---- состав расчёта (PRICE) ---- */
.calc{display:grid; gap:0; border-top:1px solid var(--line); margin-top:18px}
.calc__i{display:flex; gap:16px; align-items:baseline; padding:15px 0; border-bottom:1px solid var(--line)}
.calc__i em{font-style:normal; flex:0 0 150px; font-size:12px; font-weight:700;
  letter-spacing:.05em; text-transform:uppercase; color:var(--ink)}
.calc__i p{margin:0; font-size:13px; line-height:1.6; color:var(--ink2)}
@media (max-width:559px){ .calc__i{flex-direction:column; gap:5px} .calc__i em{flex:none} }
@media (min-width:768px){ .calc{grid-template-columns:1fr 1fr; gap:0 40px} }

section.tight{padding-top:0}

/* ---- служебные поля формы ---- */
.hp{position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important;
  opacity:0!important; pointer-events:none}
.consent{display:flex; gap:10px; align-items:flex-start; margin:0 0 16px;
  font-size:12px; line-height:1.5; color:var(--ink2); cursor:pointer}
.consent input{flex:0 0 auto; width:20px; height:20px; margin:1px 0 0; accent-color:var(--ink)}
.consent a{display:inline-block; border-bottom:1px solid var(--line2);
  padding:14px 0; margin:-14px 0}   /* зона касания 45px, поток строки не меняется */
.consent a:hover{border-color:var(--ink)}
.modal .consent{color:var(--ink2)}

/* ---- юридический документ ---- */
.legal{max-width:72ch}
.legal h2{font-size:19px; margin:28px 0 10px; text-transform:none; letter-spacing:-.01em; line-height:1.25}
.legal p{font-size:14px; line-height:1.7; color:var(--ink2); margin:0 0 12px}
.legal ul{margin:0 0 14px; padding-left:20px}
.legal li{font-size:14px; line-height:1.7; color:var(--ink2); margin-bottom:6px}
.legal a{border-bottom:1px solid var(--line2)}
.legal .foot-note{font-size:12px; color:var(--ink3)}
@media (min-width:768px){ .legal h2{font-size:22px; margin-top:34px} }

/* смена кадра первого экрана под выбранный тип */
.hero__vis img{transition:opacity .16s ease}
.hero__vis img.is-swapping{opacity:0}
@media (prefers-reduced-motion:reduce){ .hero__vis img{transition:none} }

/* ссылка с карточки на профильную подстраницу — только на главной */
.lot__more{
  display:inline-flex; align-items:center; gap:8px; min-height:44px; white-space:nowrap;
  font-size:9.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--lime); border-bottom:1px solid #3A4A10;
}
.lot__more:hover{color:#fff; border-color:#fff}
.lot__more i{font-style:normal; font-size:12px}
.lot__foot{flex-wrap:wrap; gap:10px 16px}
