/* =========================================================
   СК «Новый Проект» — вёрстка по утверждённым макетам.
   Десктоп: 1rem = 10px макета (макет 982px), масштабируется по ширине.
   Палитра снята с пикселей макета.
   ========================================================= */
:root{
  --navy0:#001220;--navy1:#06182a;--navy2:#0c1a2a;--card:#0e1b2b;
  --gold:#f0be8b;--gold-t:#f3d0ab;--gold-b:#d8a474;--gold-l:#eec79c;
  --ink:#13233a;--blue:#14325a;--cream:#f1ede8;
  --line:rgba(255,255,255,.16);--line-g:rgba(240,190,139,.38);
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:clamp(9.2px,1.018vw,14.66px);scroll-behavior:smooth;scroll-padding-top:7rem;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;background:var(--cream);color:#fff;font-size:1.5rem;line-height:1.4;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
em{font-style:normal;color:var(--gold)}
svg{flex:none}
.m-only{display:none}
.hp{position:absolute!important;left:-9999px!important;opacity:0}

/* ---------- шапка ---------- */
.hdr{position:sticky;top:0;z-index:60;height:6.4rem;background:#fefefe;color:var(--ink);display:flex;align-items:center;gap:1.6rem;padding-inline:max(2.4rem,calc((100% - 98.2rem)/2 + 2.4rem));box-shadow:0 1px 0 rgba(0,0,0,.06)}
.logo{display:flex;align-items:center;gap:1rem;flex:none}
.logo svg{width:4.4rem;height:3.9rem}.logo img.gi{width:4.4rem;height:3.9rem}
.logo span{display:flex;flex-direction:column;line-height:1.1}
.logo b{font-size:1.7rem;font-weight:800;letter-spacing:.01em;color:var(--blue)}
.logo small{font-size:1rem;font-weight:500;color:#44546a;margin-top:.15rem}
.nav{display:flex;gap:2.1rem;margin-left:auto;margin-right:auto}
.nav a{font-size:1.15rem;font-weight:600;color:var(--ink);white-space:nowrap;padding:.4rem 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--blue)}
.nav__sale{color:#d4833a!important;border-bottom-color:#d4833a!important}
.hdr__tel{display:flex;align-items:center;gap:.8rem;white-space:nowrap}
.hdr__tel svg{width:1.8rem;height:1.8rem}.hdr__tel img.gi{width:1.8rem;height:1.8rem}
.hdr__tel span{display:flex;flex-direction:column;line-height:1.15}
.hdr__tel b{font-size:1.3rem;font-weight:800;color:var(--ink)}
.hdr__tel small{font-size:.9rem;color:#5b6879}
.hbtn{background:linear-gradient(180deg,#173857,#042642);color:#fff;font-size:1.15rem;font-weight:700;padding:1.1rem 2rem;border-radius:1rem;white-space:nowrap;box-shadow:0 .4rem 1.2rem rgba(4,38,66,.3)}
.hbtn:hover{filter:brightness(1.15)}
.burger{display:none}

/* ---------- общие блоки ---------- */
.s{position:relative;padding:4.4rem max(4.7rem,calc((100% - 98.2rem)/2 + 4.7rem)) 5rem;background:linear-gradient(90deg,rgba(0,18,32,.93) 0,rgba(0,18,32,.72) 38%,rgba(0,18,32,.3) 72%,rgba(0,18,32,.12) 100%),var(--bg) center/cover no-repeat;background-color:var(--navy0);overflow:hidden}
.chip{display:inline-block;padding:.65rem 1.5rem;border:1px solid var(--line-g);border-radius:99rem;background:rgba(0,12,22,.4);color:#f2d5b2;font-size:1.3rem;font-weight:600;letter-spacing:.015em;text-transform:uppercase;line-height:1.2}
h1,h2,h3{font-weight:800;letter-spacing:-.02em;line-height:1.05}
h2{font-size:5.9rem;margin:1.5rem 0 1.4rem;line-height:.9}
.lead{font-size:1.8rem;line-height:1.33;color:rgba(255,255,255,.92);font-weight:500;max-width:70rem}
.lead--n{max-width:none}
.lead--r{max-width:none;font-size:1.62rem}
.lead--o{max-width:none;font-size:1.6rem;white-space:nowrap}
.ic{display:grid;place-items:center;width:4.8rem;height:4.8rem;border-radius:50%;border:1px solid var(--line-g);background:radial-gradient(circle at 30% 25%,#162b44,#0a1626);color:var(--gold);flex:none;box-shadow:inset 0 0 1rem rgba(240,190,139,.08)}
.ic svg{width:2.6rem;height:2.6rem}.ic img.gi{width:2.6rem;height:2.6rem}
.ic--lg{width:6.2rem;height:6.2rem;border-width:1.5px}
.ic--lg svg{width:3.3rem;height:3.3rem}.ic--lg img.gi{width:3.3rem;height:3.3rem}
.gbtn{display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem 3rem;border-radius:1.2rem;background:linear-gradient(180deg,var(--gold-t) 0,#ecc298 45%,var(--gold-b) 100%);color:var(--ink);font-weight:700;font-size:1.7rem;border:0;box-shadow:0 .6rem 1.8rem rgba(216,164,116,.28);transition:transform .15s,filter .15s}
@media (hover:hover){.gbtn:hover{transform:translateY(-.2rem);filter:brightness(1.05)}}
.gbtn i{font-style:normal;font-size:1.15em}
.gbtn--w{width:100%;padding:1.2rem 1rem;font-size:1.5rem;border-radius:1rem}
.gbtn--s{padding:.9rem 1.8rem;font-size:1.3rem;border-radius:.9rem;box-shadow:none}
.gbtn--g{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5);box-shadow:none}
.note{font-family:'Marck Script','Segoe Script',cursive;color:#f2d9bb;font-size:1.9rem;line-height:1.15;position:absolute;transform:rotate(-8deg);text-align:center}
.note svg{display:block;width:8rem;height:4rem;margin:.6rem auto 0}.note img.gi{display:block;width:8rem;height:4rem;margin:.6rem auto 0}

/* ---------- карточка ---------- */
.card{background:linear-gradient(180deg,rgba(14,28,44,.94),rgba(5,16,28,.97));border:1px solid var(--line);border-radius:1.8rem;overflow:hidden;position:relative;box-shadow:0 1.6rem 4rem rgba(0,0,0,.35)}
.card__b{padding:2rem 2.2rem 2.4rem}
.card h3{font-size:2rem;line-height:1.15;margin-bottom:1rem}
.card p{color:rgba(255,255,255,.86);font-size:1.4rem;line-height:1.4}
.ba{width:100%;height:auto;display:block}

/* ---------- карусель ---------- */
.car{position:relative;margin-top:3.2rem;margin-right:-2.3rem}
.car__vp{overflow:hidden;margin:-1rem;padding:1rem}
.car__track{display:flex;gap:1.15rem;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.car--3 .car__track>*{flex:0 0 calc((100% - 2.3rem)/3)}
.car--4 .car__track>*{flex:0 0 calc((100% - 3.45rem)/4)}
.car__btn{position:absolute;top:50%;z-index:5;width:4.8rem;height:4.8rem;margin-top:-2.4rem;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);background:rgba(4,14,26,.96);color:#fff;display:grid;place-items:center;transition:.2s}
.car__btn svg{width:2.2rem;height:2.2rem}.car__btn img.gi{width:2.2rem;height:2.2rem}
.car__btn:hover{background:var(--gold);color:var(--ink)}
.car__btn[disabled]{opacity:.35;pointer-events:none}
.car__btn--prev{left:-4.2rem}.car__btn--next{right:-1rem}
.car__dots{display:flex;gap:1rem;justify-content:center;margin-top:2.2rem}
.car__dots button{width:1.1rem;height:1.1rem;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.28)}
.car__dots button.on{background:var(--gold);transform:scale(1.2)}
.car:not(.car--arrows) .car__btn{display:none}
.car--arrows .car__dots{margin-top:2rem}.car--arrows .car__btn[disabled]{opacity:1;pointer-events:auto}

/* ---------- 1. HERO ---------- */
.herowrap{background:var(--cream);padding-bottom:4.6rem}
.hero{height:64.8rem;padding-top:5.8rem;padding-bottom:0;background:linear-gradient(90deg,rgba(0,12,24,.9) 0,rgba(0,12,24,.62) 42%,rgba(0,12,24,.12) 70%,rgba(0,12,24,.0) 100%),var(--bg) 62% center/cover no-repeat}
.hero__txt{position:relative;z-index:3;width:48rem}
.hero h1{font-size:5.8rem;line-height:.87;margin:1.9rem 0 1.5rem;letter-spacing:-.03em;white-space:nowrap}
.hero h1 em{background:linear-gradient(180deg,#f6c996,#e9ab76);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__lead{font-size:1.68rem;line-height:1.32;max-width:36rem;margin-bottom:1.6rem}
.hero__list{display:grid;gap:.9rem;margin-bottom:2.5rem}
.hero__list li{display:flex;gap:1.5rem;align-items:center}
.hero__list .ic{width:4.4rem;height:4.4rem;background:#121c25}
.hero__list b{display:block;font-size:1.5rem;font-weight:700;line-height:1.25}
.hero__list span{display:block;font-size:1.12rem;color:rgba(255,255,255,.75);line-height:1.35;max-width:25rem}
.hero__cta{width:24.9rem;height:5.2rem;padding:0;font-size:1.7rem}
.hero__man{position:absolute;z-index:2;left:max(46.6rem,calc(50% - 2.5rem));top:.2rem;width:47rem;height:62rem;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 74%,transparent 98%);mask-image:linear-gradient(180deg,#000 0,#000 74%,transparent 98%);overflow:hidden}
.hero__man img{position:absolute;left:0;top:0;width:47rem;max-width:none}
.hero__note{position:absolute;z-index:3;right:max(4.2rem,calc((100% - 98.2rem)/2 + 4.2rem));top:9.6rem;width:15rem;font-family:'Marck Script','Segoe Script',cursive;font-size:1.7rem;line-height:1.15;color:#f2d9bb;transform:rotate(-7deg);text-align:left}
.hero__note svg{width:8rem;height:4rem;margin-top:.4rem}.hero__note img.gi{width:8rem;height:4rem;margin-top:.4rem}
.hero__tag{position:absolute;z-index:4;left:max(69.2rem,calc(50% + 20.1rem));top:32.5rem;width:23rem;padding:1.1rem 1.4rem;background:rgba(36,36,36,.82);backdrop-filter:blur(.8rem);border-radius:.9rem;line-height:1.3}
.hero__tag b{display:block;font-size:1.3rem;white-space:nowrap;font-weight:700}
.hero__tag span{display:block;font-size:1.15rem;color:rgba(255,255,255,.8)}
.hero__ba{position:absolute;z-index:4;right:max(4rem,calc((100% - 98.2rem)/2 + 4rem));bottom:5.1rem;width:43.6rem;border-radius:1.5rem;border:.3rem solid #fff;overflow:hidden;box-shadow:0 1.2rem 3rem rgba(0,0,0,.4);background:#fff}
.hero__ba img{width:100%}
.stats{position:relative;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);margin:-3.2rem max(3.7rem,calc((100% - 98.2rem)/2 + 3.7rem)) 0;height:15rem;border-radius:1.8rem;background:url(../img/stats-bg.jpg) center/100% 100% no-repeat,#0a1420;box-shadow:0 1.4rem 3.4rem rgba(0,0,0,.35);text-align:center}
.stats li{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 1.6rem;position:relative;gap:.4rem}
.stats li+li::before{content:"";position:absolute;left:0;top:2.6rem;bottom:2.6rem;width:1px;background:rgba(255,255,255,.16)}
.stats svg{width:4.6rem;height:4.6rem;color:var(--gold-l);filter:drop-shadow(0 0 .6rem rgba(240,190,139,.35))}.stats img.gi{width:4.6rem;height:4.6rem;}
.stats b{font-size:1.6rem;letter-spacing:-.01em;font-weight:700;line-height:1.25}
.stats span{font-size:1.35rem;color:rgba(255,255,255,.7)}

/* ---------- 2. ВИДЫ РЕМОНТА ---------- */
.types{padding-top:4.2rem;padding-bottom:4.9rem}
.types .car{margin-top:2.5rem}
.note--types{right:max(3.6rem,calc((100% - 98.2rem)/2 + 3.6rem));top:10rem;width:17rem;transform:rotate(-9deg)}
.tcard .card__b{padding:2rem 1.7rem 2.2rem}
.tcard h3{font-size:2.05rem;white-space:nowrap}
.tcard p{font-size:1.42rem;margin-bottom:1.4rem;max-width:25rem}
.checks li{position:relative;padding-left:3.4rem;font-size:1.28rem;line-height:1.3;margin-bottom:1.15rem;color:rgba(255,255,255,.92)}
.checks li:last-child{margin-bottom:0}
.checks li::before{content:"";position:absolute;left:.2rem;top:-.15rem;width:2rem;height:2rem;border-radius:50%;background:var(--gold-l) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6.500 12.500 3.500 3.500 7.500-8' fill='none' stroke='%2313233a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/1.2rem no-repeat}

/* ---------- 3. НАШИ РАБОТЫ ---------- */
.works{padding-top:5.7rem;padding-bottom:7.5rem}
.works .car{margin-top:3.4rem}
.wcard h3{font-size:2rem;margin:.2rem 0 1.4rem}
.rows li{display:flex;align-items:center;gap:1.6rem;font-size:1.45rem;line-height:1.25;min-height:3.2rem;color:rgba(255,255,255,.92)}
.rows svg{width:2.4rem;height:2.4rem;color:var(--gold-l);flex:none}.rows img.gi{width:2.4rem;height:2.4rem;flex:none}
.rows span{position:relative;padding-left:1.5rem}
.rows span::before{content:"";position:absolute;left:0;top:10%;bottom:10%;width:1px;background:rgba(255,255,255,.22)}

/* ---------- 4. УСЛУГИ ---------- */
.services{padding-bottom:5rem;background:linear-gradient(90deg,rgba(0,18,32,.9) 0,rgba(0,18,32,.5) 40%,rgba(0,18,32,.1) 75%,rgba(0,18,32,0) 100%),var(--bg) center/cover no-repeat}.scard__ph{height:21.5rem}.scard p{font-size:1.4rem}.scard h3{font-size:2.1rem;min-height:0}
.services h2{font-size:6.2rem;line-height:.82}.works h2{font-size:6rem;line-height:.83;margin-bottom:1.2rem}.wcard .ba{aspect-ratio:1.49;object-fit:cover}.types h2{font-size:5.85rem;line-height:.9}
.services .car{margin-top:3.1rem}
.scard{display:flex;flex-direction:column;padding-bottom:0}
.scard__ph{height:20.9rem;background-size:cover;background-position:center}
.scard .ic{margin:-3.1rem 0 0 2.1rem;position:relative;z-index:2}
.scard .card__b{display:flex;flex-direction:column;flex:1;padding:1.3rem 2rem 1.8rem}
.scard h3{min-height:0;font-size:1.95rem}
.scard p{flex:1;margin-bottom:1.5rem;font-size:1.3rem}
.more{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem;margin-top:3.6rem}
.mcard{display:grid;grid-template-columns:9.4rem 1fr;gap:0 1.6rem;align-items:start;padding:1.4rem;border:1px solid var(--line);border-radius:1.6rem;background:linear-gradient(180deg,rgba(14,28,44,.92),rgba(5,16,28,.95));position:relative}
.mcard__ph{grid-row:1/3;height:100%;min-height:13.5rem;border-radius:1.1rem;background-size:cover;background-position:center}
.mcard>.ic{position:absolute;left:.8rem;bottom:.8rem;width:3.8rem;height:3.8rem}
.mcard>.ic svg{width:2rem;height:2rem}.mcard>.ic img.gi{width:2rem;height:2rem}
.mcard h3{font-size:1.5rem;line-height:1.2;margin-bottom:.6rem}
.mcard p{font-size:1.2rem;line-height:1.35;margin-bottom:1rem}.mcard .gbtn--s{white-space:nowrap;font-size:1.15rem;padding:.8rem 1.1rem;gap:.6rem}

/* ---------- 5. ПРЕИМУЩЕСТВА ---------- */
.adv{padding-top:3.8rem;padding-bottom:4.4rem}
.adv h2{font-size:5.35rem;line-height:.84}
.adv .lead{max-width:none;font-size:1.65rem}
.adv .car{margin-top:2.4rem}
@media (min-width:901px){.advgrid{transform:none!important}}
.advgrid{display:grid!important;grid-template-columns:repeat(6,1fr);gap:1.2rem}
.advgrid>*{grid-column:span 2;flex:none!important}
.advgrid>.acard--w{grid-column:span 3}
.acard{min-height:20.1rem;padding:1.5rem 1.7rem;background:linear-gradient(90deg,rgba(7,18,31,.97) 0,rgba(7,18,31,.93) 46%,rgba(7,18,31,.25) 100%),var(--p) right center/auto 100% no-repeat,#07121f;border-color:rgba(240,190,139,.3)}
.acard--w{min-height:20rem}
.acard>*{position:relative;max-width:66%}
.acard--w>*{max-width:60%}
.acard__t{display:flex;gap:1.3rem;align-items:center;margin-bottom:1rem;max-width:none!important}
.acard__t svg{width:4.4rem;height:4.4rem;color:var(--gold)}.acard__t img.gi{width:4.4rem;height:4.4rem;}
.acard h3{font-size:1.45rem;line-height:1.15;margin:0;max-width:12rem}
.acard b{display:block;color:var(--gold);font-size:1.2rem;line-height:1.25;margin-bottom:.9rem}
.acard p{font-size:1.12rem;line-height:1.33}
.goal{display:flex;align-items:center;gap:2.2rem;justify-content:center;margin-top:2.6rem;font-style:italic;font-size:1.6rem;line-height:1.35;text-align:center;color:rgba(255,255,255,.95)}
.goal span{max-width:46rem}
.goal i{flex:1;max-width:11rem;height:1px;background:rgba(240,190,139,.55)}

/* ---------- 6. ЭТАПЫ ---------- */
.steps{padding-top:3.5rem;padding-bottom:4.4rem}
.steps h2{font-size:5.6rem;line-height:.83}
.steps .lead{font-size:1.62rem;max-width:none}
.steps .car{margin-top:2rem}.steps h2{margin-bottom:.8rem}
.stcard{border-color:rgba(240,190,139,.3)}
.stcard__ph{height:14.8rem;background-size:cover;background-position:center}
.stcard__n{display:flex;gap:1rem;margin:-4.1rem 0 0 1rem;position:relative;z-index:2}
.stcard__n .n{width:5.2rem;height:5.2rem;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:2rem;font-weight:700;color:var(--gold-l);background:radial-gradient(circle at 30% 25%,#162b44,#0a1626);border:1.5px solid var(--gold-b)}
.stcard__n .ic{width:5.2rem;height:5.2rem}
.stcard .card__b{padding:.8rem 1.4rem 1.6rem}
.stcard h3{font-size:1.8rem;min-height:0;margin-top:.9rem}
.stcard b{display:block;color:var(--gold);font-size:1.2rem;line-height:1.3;margin-bottom:.9rem}
.stcard p{font-size:1.1rem;line-height:1.32;margin-bottom:.7rem}
.steps__cta{display:flex;width:31rem;height:4.8rem;margin:2.5rem auto 0;padding:0;font-size:1.5rem}

/* ---------- 7. ОТЗЫВЫ ---------- */
.reviews{padding-top:3.3rem;padding-bottom:3.4rem}
.reviews h2{font-size:5.8rem;margin-bottom:1.2rem}
.ymap{display:grid;grid-template-columns:34rem 1fr;margin-top:2.2rem;height:23.1rem;border-radius:1.8rem;background:#fff;color:#1a1a1a;overflow:hidden;box-shadow:0 1.4rem 3.4rem rgba(0,0,0,.35)}
.ymap__i{padding:1.6rem 1.8rem;overflow:hidden}
.ymap__logo{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}
.ymap__logo svg{width:2.2rem;height:2.6rem}.ymap__logo img.gi{width:2.2rem;height:2.6rem}
.ymap__logo b{font-size:1.5rem;font-weight:700}
.ymap h3{font-size:1.9rem;margin-bottom:.2rem;color:#111}
.ymap__r{display:flex;align-items:center;gap:.8rem;margin-bottom:.6rem}
.ymap__r b{font-size:1.9rem}
.ymap__r .stars{color:#f5b400;font-size:1.7rem;letter-spacing:.1rem}
.ymap__r small{font-size:1.2rem;color:#666}
.ymap__t{font-size:1.1rem;color:#555;line-height:1.35;white-space:nowrap}
.ymap__b{display:flex;gap:.8rem;margin-top:1rem}
.route{display:inline-flex;align-items:center;gap:.7rem;background:#1a6bff;color:#fff;font-weight:700;font-size:1.35rem;padding:.9rem 1.7rem;border-radius:.9rem}
.route svg{width:1.6rem;height:1.6rem}.route img.gi{width:1.6rem;height:1.6rem}
.ymap__i2{width:4.2rem;height:3.9rem;border-radius:.9rem;background:#f0f0f0;display:grid;place-items:center}
.ymap__i2 svg{width:1.8rem;height:1.8rem}.ymap__i2 img.gi{width:1.8rem;height:1.8rem}
.ymap__map{position:relative;min-height:100%}.ymap__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.reviews .car{margin-top:1.1rem}
.reviews .car__vp{margin:-1rem;padding:1rem}
.rcard{padding:1.4rem 1.6rem 1.4rem;border-color:rgba(240,190,139,.3)}
.rcard header{display:flex;align-items:center;gap:1.1rem}
.rcard header em{margin-left:auto;color:rgba(255,255,255,.7);font-size:2rem;line-height:1}
.rcard header b{display:block;font-size:1.25rem}
.rcard header small{display:block;font-size:1rem;color:rgba(255,255,255,.55)}
.av{width:3.6rem;height:3.6rem;border-radius:50%;object-fit:cover;display:grid;place-items:center;font-weight:700;font-size:1.7rem;flex:none}
.av--a{background:#5b7bd8}
.rcard__s{display:flex;align-items:center;gap:1.2rem;margin:.8rem 0 .7rem}
.stars{color:#f5b400}
.rcard__s .stars{font-size:1.5rem;letter-spacing:.15rem}
.rcard__s time{font-size:1.15rem;color:rgba(255,255,255,.65)}
.rcard p{font-size:1.2rem;line-height:1.42;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;min-height:9.9rem}
.rcard footer{display:flex;gap:2.2rem;margin-top:1.2rem;font-size:1.3rem;color:rgba(255,255,255,.8)}
.gbtn--r{display:flex;width:34rem;height:4rem;margin:1.5rem auto 0;padding:0;font-size:1.35rem}

/* ---------- 8. СКИДКА 5% ---------- */
.offer{display:grid;padding-bottom:5rem;grid-template-columns:minmax(0,1fr) 38.9rem;gap:0 5rem;align-items:start;padding-top:4.2rem;padding-bottom:3.4rem}
.offer__l{max-width:50rem}
.offer h2{font-size:5.65rem;line-height:.86;white-space:nowrap;position:relative;z-index:3}
.olist{display:grid;gap:2.2rem;margin-top:3rem}
.olist li{display:flex;gap:1.8rem;align-items:center}
.olist .ic{width:6.6rem;height:6.6rem}
.olist .ic svg{width:3.4rem;height:3.4rem}.olist .ic img.gi{width:3.4rem;height:3.4rem}
.olist b{display:block;font-size:1.55rem}
.olist span{display:block;font-size:1.25rem;color:rgba(255,255,255,.78);line-height:1.35;white-space:nowrap}
.offer__f{position:relative;margin-top:19rem;padding:3rem 2.6rem 2.4rem;border-radius:2.2rem;background:linear-gradient(180deg,rgba(14,28,44,.9),rgba(4,14,26,.94));border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(1rem);box-shadow:0 2rem 5rem rgba(0,0,0,.45)}
.offer__f h3{font-size:2.3rem;line-height:1.15;margin-bottom:1.8rem}
.offer__f h3 em{font-size:1.95rem}
.badge{position:absolute;right:0;top:-6.5rem;width:11.6rem;height:11.6rem;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,#f8d7b2,#e8a977);color:#13233a;box-shadow:0 1rem 2.6rem rgba(0,0,0,.4);line-height:1}
.badge svg{width:2.2rem;height:2.2rem;margin-bottom:.2rem}.badge img.gi{width:2.2rem;height:2.2rem;margin-bottom:.2rem}
.badge span{font-size:1.4rem;font-weight:800;letter-spacing:.03em}
.badge b{font-size:4.2rem;font-weight:800;letter-spacing:-.04em}
.goal--o{grid-column:1/-1;margin-top:3.2rem}
.goal--o span{font-size:1.9rem;max-width:none}

/* ---------- формы ---------- */
.form{display:grid;grid-template-columns:minmax(0,1fr);gap:1.1rem}
.fld{display:flex;align-items:center;gap:1.4rem;height:4.8rem;padding:0 1.6rem;border-radius:1.1rem;background:#16222f;border:1px solid #293744;color:rgba(255,255,255,.75)}
.fld:focus-within{border-color:var(--gold);box-shadow:0 0 0 .3rem rgba(240,190,139,.2)}
.fld svg{width:2.2rem;height:2.2rem;flex:none}.fld img.gi{width:2.2rem;height:2.2rem;flex:none}
.fld input,.fld select{flex:1;min-width:0;height:100%;background:transparent;border:0;outline:0;color:#fff;font:500 1.5rem/1 'Inter',sans-serif;appearance:none}
.fld input::placeholder{color:rgba(255,255,255,.55)}
.fld select{cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23ffffff' stroke-width='2.400' stroke-linecap='round'/%3E%3C/svg%3E") right center/2rem no-repeat;color:rgba(255,255,255,.8);padding-right:3rem}
.fld select option{color:#13233a}
.fld.err{border-color:#e5484d}
.gbtn--f{width:100%;height:5.2rem;padding:0;font-size:1.7rem;margin-top:.2rem}
.agree{display:flex;gap:1.1rem;align-items:flex-start;font-size:1.15rem;line-height:1.4;color:rgba(255,255,255,.75);cursor:pointer}
.agree input{position:absolute;opacity:0}
.agree i{flex:none;width:2.1rem;height:2.1rem;border-radius:.5rem;background:var(--gold-l);margin-top:.1rem;position:relative}
.agree input:checked+i::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.500 4 4 8-9' fill='none' stroke='%2313233a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/1.5rem no-repeat}
.agree input:not(:checked)+i{background:#16222f;border:1px solid #455}
.agree a{text-decoration:underline}
.form__msg{min-height:1.4em;font-weight:700;font-size:1.3rem}
.form__msg.ok{color:#8be0b0}.form__msg.bad{color:#ff8b8f}

/* ---------- акции / FAQ / контакты ---------- */
.promo__g{display:grid;grid-template-columns:repeat(3,1fr);gap:1.15rem;margin-top:3rem}
.promo .card{display:flex;flex-direction:column;gap:1.6rem;padding:2.4rem}
.promo h3{font-size:2.1rem;line-height:1.25;flex:1;margin:0}
.faq__l{display:grid;gap:1rem;margin-top:3rem;max-width:80rem}
.faq details{border:1px solid var(--line);border-radius:1.4rem;background:linear-gradient(180deg,rgba(14,28,44,.92),rgba(5,16,28,.95))}
.faq details[open]{border-color:var(--line-g)}
.faq summary{list-style:none;cursor:pointer;padding:1.8rem 5.6rem 1.8rem 2.2rem;font-weight:700;font-size:1.7rem;position:relative;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:2.2rem;top:50%;transform:translateY(-50%);font-size:2.8rem;color:var(--gold);font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 2.2rem 2rem;color:rgba(255,255,255,.82);font-size:1.5rem;line-height:1.5}
.cont{display:grid;grid-template-columns:1fr 1.15fr;gap:4rem;margin-top:1rem}
.cont__list{display:grid;gap:1.8rem;margin:2.6rem 0}
.cont__list small{display:block;color:var(--gold);font-size:1.2rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.cont__list a,.cont__list span{display:block;font-size:2rem;font-weight:700}
.cont__list a:hover{color:var(--gold)}
.msgs{display:flex;gap:1.2rem;flex-wrap:wrap}
.cont__map{border-radius:1.8rem;overflow:hidden;min-height:38rem;border:1px solid var(--line)}
.cont__map iframe{width:100%;height:100%;min-height:38rem;border:0}

/* ---------- футер ---------- */
.ftr{background:#020b15;color:rgba(255,255,255,.72);padding:5rem max(4.7rem,calc((100% - 98.2rem)/2 + 4.7rem)) 3.6rem;font-size:1.35rem}
.ftr__in{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:4rem}
.logo--l b{color:#fff}.logo--l small{color:rgba(255,255,255,.65)}
.ftr__c{margin-top:1.6rem;max-width:42rem;font-size:1.2rem;opacity:.75}
.ftr__n{display:flex;flex-direction:column;gap:.8rem}
.ftr__n b{color:#fff;margin-bottom:.4rem}
.ftr__n a:hover{color:var(--gold)}

/* ---------- модалка, cookie ---------- */
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px}
.modal[hidden]{display:none}
.modal__bg{position:absolute;inset:0;background:rgba(0,10,20,.78);backdrop-filter:blur(4px)}
.modal__box{position:relative;width:min(460px,100%);max-height:calc(100vh - 32px);overflow:auto;background:linear-gradient(180deg,#0e1c2c,#050f1c);border:1px solid var(--line);border-radius:22px;padding:30px 26px;box-shadow:0 20px 60px rgba(0,0,0,.6);font-size:15px}
.modal__box h3{font-size:26px;margin-bottom:6px}
.modal__box>p{color:rgba(255,255,255,.75);margin-bottom:18px}
.modal__x{position:absolute;right:12px;top:8px;width:40px;height:40px;border:0;background:transparent;font-size:32px;color:rgba(255,255,255,.7);line-height:1}
.modal .fld{height:48px}.modal .fld input,.modal .fld select{font-size:15px}.modal .gbtn--f{height:52px;font-size:16px}.modal .agree{font-size:12px}.modal .fld svg{width:22px;height:22px}.modal .fld img.gi{width:22px;height:22px}.modal .agree i{width:21px;height:21px}
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:760px;margin-inline:auto;background:#06182a;color:#fff;border:1px solid var(--line-g);border-radius:16px;padding:14px 18px;display:flex;gap:16px;align-items:center;font-size:13.5px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.cookie[hidden]{display:none}
.cookie a{color:var(--gold);text-decoration:underline}
.cookie .gbtn{font-size:13px;padding:10px 18px}

/* ---------- юридические страницы ---------- */
.doc{padding:60px 0 90px;max-width:880px;margin:0 auto;width:calc(100% - 40px);color:#13233a;font-size:17px}
.doc h1{font-size:clamp(28px,4vw,42px);margin-bottom:24px;color:#13233a}
.doc h2{font-size:24px;margin:34px 0 10px;color:#13233a}
.doc p,.doc li{color:#2c3a4d;margin-bottom:10px;line-height:1.6}
.doc ul{padding-left:22px;list-style:disc}
.doc table{border-collapse:collapse;width:100%}
.doc td{padding:12px 14px;border-bottom:1px solid rgba(13,27,46,.12);vertical-align:top;color:#13233a}
.doc td:first-child{width:36%;color:#5b6879}
.back{display:inline-block;margin-bottom:20px;color:#b87f3f;font-weight:700}
.ftr--doc{padding:30px 20px}

/* ====================== МОБИЛЬНАЯ ВЕРСИЯ (по макету телефона) ====================== */
@media (max-width:900px){
  html{font-size:16px}
  body{font-size:15px}
  .m-only{display:flex}
  .hdr{height:60px;padding:0 16px;gap:10px}
  .logo svg{width:36px;height:32px}.logo img.gi{width:36px;height:32px}.logo b{font-size:16px}.logo small{font-size:9.5px}
  .hdr__tel,.hbtn{display:none}
  .burger{display:flex;margin-left:auto;width:42px;height:42px;border:0;background:transparent;flex-direction:column;gap:6px;align-items:center;justify-content:center}
  .burger i{width:24px;height:2.5px;background:var(--blue);border-radius:2px;transition:.2s}
  .nav{position:fixed;left:0;right:0;top:60px;flex-direction:column;gap:0;background:#fefefe;padding:6px 20px 18px;margin:0;box-shadow:0 14px 30px rgba(0,0,0,.2);transform:translateY(-120%);transition:transform .3s;z-index:55}
  .nav.open{transform:none}
  .nav a{font-size:17px;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.08)}
  .s{padding:22px 16px 34px;background:linear-gradient(180deg,rgba(0,18,32,.82),rgba(0,18,32,.9)),var(--bg) center/cover no-repeat;background-color:var(--navy0)}
  .chip{font-size:11.5px;padding:6px 12px}
  h2{font-size:30px;margin:12px 0 10px}
  .services h2,.adv h2,.steps h2,.reviews h2,.offer h2{font-size:30px}
  .lead,.lead--n,.lead--r,.lead--o,.adv .lead,.steps .lead{font-size:15px;max-width:none}
  .gbtn{font-size:16px;padding:14px 20px;border-radius:12px}
  .ic{width:44px;height:44px}.ic svg{width:24px;height:24px}.ic img.gi{width:24px;height:24px}
  .ic--lg{width:52px;height:52px}.ic--lg svg{width:28px;height:28px}.ic--lg img.gi{width:28px;height:28px}
  .card{border-radius:16px}
  .card__b{padding:16px 16px 20px}
  .card h3{font-size:19px;margin-bottom:8px}.card p{font-size:14.5px}
  .note{display:none}

  .herowrap{padding-bottom:20px}
  .hero{height:auto;padding:20px 16px 22px;background:linear-gradient(180deg,rgba(0,12,24,.55) 0,rgba(0,12,24,.9) 70%),var(--bg) 65% top/cover no-repeat;display:flex;flex-direction:column}
  .hero__txt{width:auto;display:contents}
  .hero .chip{align-self:flex-start;order:1;max-width:60%}
  .hero h1{font-size:34px;margin:12px 0 10px;order:2;max-width:56%;position:relative;z-index:3}
  .hero__man{position:absolute;left:auto;right:-6px;top:64px;bottom:auto;width:46%;height:260px;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
  .hero__man img{left:-8px;width:100%;max-width:none}
  .hero__lead{font-size:15px;order:3;max-width:none;margin:72px 0 16px;position:relative;z-index:3}
  .hero__cta{order:4;width:100%;height:52px;margin-bottom:18px;font-size:16px}
  .hero__list{order:5;gap:14px;margin-bottom:16px}
  .hero__list .ic{width:46px;height:46px}
  .hero__list b{font-size:15px}.hero__list span{font-size:12.5px;max-width:none}
  .hero__tag,.hero__note{display:none}
  .hero__ba{position:static;order:6;width:100%;border-width:2px}
  .stats{margin:-10px 12px 0;height:auto;grid-template-columns:repeat(4,1fr);border-radius:16px}
  .stats li{padding:12px 4px;gap:4px}
  .stats svg{width:28px;height:28px}.stats img.gi{width:28px;height:28px}
  .stats b{font-size:10.5px;line-height:1.2}
  .stats span{display:none}
  .stats li+li::before{top:14px;bottom:14px}

  .car{margin-top:18px}
  .car__vp{margin:0;padding:0}
  .car__track{gap:12px}
  .car--3 .car__track>*,.car--4 .car__track>*{flex:0 0 100%}
  .car__btn{width:38px;height:38px;margin-top:-19px;background:#fff;color:var(--gold-b);border-color:transparent}
  .car__btn svg{width:18px;height:18px}.car__btn img.gi{width:18px;height:18px}
  .car:not(.car--arrows) .car__btn.m-only,.car--arrows .car__btn{display:grid}
  .car__btn--prev{left:8px}.car__btn--next{right:8px}
  .car__dots{margin-top:16px}.car__dots button{width:9px;height:9px}
  .car__dots.m-only{display:flex}
  .advgrid{display:flex!important}
  .advgrid>*,.advgrid>.acard--w{grid-column:auto;flex:0 0 100%!important}
  .car--adv .car__track{transition:transform .5s}
  .car--adv{position:relative}
  .more{grid-template-columns:1fr;gap:12px;margin-top:22px}
  .mcard{grid-template-columns:96px 1fr;gap:0 12px;padding:12px}
  .mcard__ph{min-height:130px}
  .mcard h3{font-size:16px}.mcard p{font-size:13px}
  .gbtn--s{font-size:13px;padding:9px 14px}

  .tcard .card__b{padding:16px}.tcard h3{font-size:19px}.tcard p{font-size:14px;margin-bottom:12px}
  .checks li{font-size:14px;padding-left:30px;margin-bottom:10px}.checks li::before{width:19px;height:19px;background-size:12px}
  .wcard h3{font-size:19px}
  .rows li{font-size:14px;gap:12px}.rows svg{width:22px;height:22px}.rows img.gi{width:22px;height:22px}
  .scard__ph{height:190px}.scard .ic{margin:-27px 0 0 16px}.scard h3{min-height:0}
  .acard{min-height:0;padding:0;background:linear-gradient(180deg,#07121f,#07121f);display:flex;flex-direction:column}
  .acard::before{content:"";display:block;height:190px;background:var(--p) center/cover no-repeat}
  .acard>*{max-width:none}
  .acard__t{padding:0 16px;margin:-26px 0 10px;position:relative;z-index:2}
  .acard__t svg{width:46px;height:46px;padding:9px;border-radius:50%;background:#0a1626;border:1.5px solid var(--gold-b)}.acard__t img.gi{width:46px;height:46px;padding:9px;border-radius:50%;background:#0a1626;border:1.5px solid var(--gold-b)}
  .acard h3{font-size:19px;max-width:none}.acard b{padding:0 16px;font-size:15px}.acard p{padding:0 16px 18px;font-size:14px}
  .goal{margin-top:22px;font-size:15px;gap:10px}.goal i{max-width:40px}
  .stcard__ph{height:200px}
  .stcard__n{margin:-26px 0 0 14px}
  .stcard h3{font-size:19px;min-height:0}.stcard b{font-size:14px}.stcard p{font-size:14px}
  .steps__cta{width:100%;height:52px;font-size:15px}
  .ymap{grid-template-columns:1fr;height:auto}
  .ymap__i{padding:16px}
  .ymap__map{height:190px}
  .rcard p{min-height:0;font-size:14px;-webkit-line-clamp:9}
  .gbtn--r{width:100%;height:46px;font-size:13.5px}
  .offer{display:block;padding-top:22px}
  .offer h2{font-size:30px}
  .olist{gap:14px;margin-top:18px}.olist .ic{width:50px;height:50px}.olist b{font-size:15px}.olist span{font-size:12.5px;max-width:none}
  .offer__f{margin-top:46px;padding:22px 16px 18px;border-radius:18px}
  .offer__f h3{font-size:21px}.offer__f h3 em{font-size:18px}
  .badge{width:82px;height:82px;top:-44px;right:-4px}.badge svg{width:16px;height:16px}.badge img.gi{width:16px;height:16px}.badge span{font-size:10px}.badge b{font-size:28px}
  .fld{height:48px}.fld input,.fld select{font-size:15px}.fld svg{width:22px;height:22px}.fld img.gi{width:22px;height:22px}
  .gbtn--f{height:52px;font-size:16px}
  .agree{font-size:11.5px}.agree i{width:20px;height:20px}
  .goal--o span{font-size:15px}
  .promo__g{grid-template-columns:1fr;gap:12px}
  .promo .card{padding:20px}.promo h3{font-size:18px}
  .faq summary{font-size:15.5px;padding:16px 46px 16px 16px}.faq p{font-size:14px;padding:0 16px 16px}
  .cont{grid-template-columns:1fr;gap:20px}.cont__list a,.cont__list span{font-size:17px}
  .cont__map,.cont__map iframe{min-height:280px}
  .ftr{padding:30px 16px;font-size:13px}.ftr__in{grid-template-columns:1fr;gap:24px}
}
@media (max-width:900px){.offer h2,.hero h1,.tcard h3{white-space:normal}.ymap{display:block}.ymap__map{width:100%;height:230px}.hero__man{overflow:visible}.offer__f{min-width:0}.offer__l{min-width:0}}
@media (max-width:900px){.offer__f{margin-top:46px}.lead--o,.olist span{white-space:normal}.olist span br{display:none}}
@media (max-width:900px){.types h2,.works h2,.services h2,.adv h2,.steps h2,.reviews h2,.offer h2,.promo h2,.faq h2,.contacts h2{font-size:30px;line-height:1.08;margin:12px 0 10px}.car{margin-right:0}.lead br{display:none}.hero__lead br{display:none}.tcard p{max-width:none}.scard h3{min-height:0}.scard p{font-size:14.5px}.stcard p,.acard p{font-size:14px}.stcard b,.acard b{font-size:14.5px}.stcard h3,.acard h3{font-size:19px}.rcard p{font-size:14px}.offer h2 br{display:none}}
@media (max-width:900px){.car--arrows .car__btn{top:105px;margin-top:0}.hero h1{font-size:31px;max-width:62%}.scard h3{margin-top:10px}.scard p{flex:0 0 auto}.scard .card__b{gap:0}.scard .gbtn{margin-top:12px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* заголовки и кнопки — Manrope, текст — Inter (подобрано сверкой по макету) */
h1,h2,h3,.gbtn,.hbtn,.chip,.logo b,.nav a,.hdr__tel b,.stats b,.hero__list b,.olist b,.acard b,.stcard b,.ymap h3,.ymap__r b,.rcard header b,.cont__list a,.cont__list span,.badge,.faq summary,.route,.checks li,.rows li{font-family:'Manrope','Inter',system-ui,sans-serif}

img.gi{object-fit:contain;display:block}
.ic img.gi{width:62%;height:62%}.ic--lg img.gi{width:64%;height:64%}.hero__list .ic img.gi{width:60%;height:60%}
.stats img.gi{width:5.2rem;height:5.2rem}.acard__t img.gi{width:4.8rem;height:4.8rem}.stcard__n .ic img.gi{width:58%;height:58%}.badge img.gi{width:2.8rem;height:2.8rem;margin-bottom:.2rem;filter:brightness(.2) sepia(1)}.more__i img.gi{width:3.6rem;height:3.6rem}
@media(max-width:900px){.stats img.gi{width:30px;height:30px}.acard__t img.gi{width:46px;height:46px}.badge img.gi{width:18px;height:18px}}

/* аудит: мобильные и планшет */
.faq summary{padding-right:6.4rem}.form__msg:empty{display:none}.ftr__c{font-size:1.2rem}
@media(max-width:900px){
 .faq summary{padding-right:64px}.faq summary::after{right:20px}
 .ymap__t{white-space:normal}
 .car--rev .car__btn{top:auto;bottom:-6px;margin-top:0}.car--rev .car__btn--prev{left:calc(50% - 90px)}.car--rev .car__btn--next{right:calc(50% - 90px)}.car--rev{padding-bottom:56px}.car--rev .car__dots{margin-top:12px}
 .ftr__in{grid-template-columns:1fr 1fr}.ftr__in>div:first-child{grid-column:1/-1}.ftr__c{font-size:13px;opacity:.8}
 .logo small{font-size:11px}.chip{font-size:12px}.agree{font-size:12.5px}.hero__list span{font-size:13px}.badge span{font-size:11px}
 .badge{right:8px}.cont__map,.cont__map iframe{min-height:230px;height:230px}
}
@media(max-width:560px){.ftr__in{grid-template-columns:1fr}}

/* mobile pass 2 */
@media (max-width:900px){
 h2{text-wrap:balance}
 .chip{font-size:13px}.hero .chip{max-width:none}
 .hero__list span,.olist span{font-size:13px}.agree{font-size:13px}
 /* статистика 2x2 */
 .stats{grid-template-columns:1fr 1fr;margin:-10px 16px 0}
 .stats li{flex-direction:row;justify-content:flex-start;text-align:left;gap:10px;padding:14px 12px}
 .stats li+li::before{display:none}
 .stats li:nth-child(odd){border-right:1px solid rgba(255,255,255,.16)}
 .stats li:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)}
 .stats img.gi{flex:none}
 .stats b{font-size:13px;line-height:1.25}.stats b br{display:none}
 /* работы */
 .rows li{min-height:34px}.rows{display:grid;gap:4px}
 /* услуги: «А также» */
 .mcard .gbtn--s{font-size:14px;padding:10px 14px;gap:8px;white-space:normal}
 .mcard h3{margin-bottom:6px}
 /* стрелки каруселей — на фото, а не поверх текста */
 .car--adv .car__btn,.car--4 .car__btn{top:105px;margin-top:0}
 .car--adv .car__btn[disabled],.car--4 .car__btn[disabled]{opacity:1;pointer-events:auto}
 /* преимущества: иконка на стыке фото, заголовок под ней */
 .acard__t{flex-direction:column;align-items:flex-start;gap:10px}
 .acard h3{margin:0}
 /* этапы */
 .stcard__n .n,.stcard__n .ic{width:52px;height:52px}.stcard__n .n{font-size:18px}
 .stcard h3{margin-top:12px}
 /* отзывы */
 .reviews .car__vp{margin:0;padding:0}
 .ymap__i{padding:16px}
 .ymap__logo{margin-bottom:8px}.ymap__logo b{font-size:15px}.ymap__logo svg{width:20px;height:24px}
 .ymap h3{font-size:20px}.ymap__r b{font-size:20px}.ymap__r .stars{font-size:16px}.ymap__r small{font-size:13px}
 .ymap__t{font-size:13.5px;line-height:1.4}
 .route{font-size:15px;padding:10px 18px}.ymap__i2{width:44px;height:42px}
 .rcard{padding:16px}
 .av{width:42px;height:42px;font-size:18px}
 .rcard header b{font-size:16px}.rcard header small{font-size:13px}.rcard header em{font-size:22px}
 .rcard__s{margin:10px 0 8px}.rcard__s .stars{font-size:16px}.rcard__s time{font-size:13px}
 /* акции */
 .promo .card{gap:14px}.promo h3{flex:0 0 auto}
}
@media (max-width:900px){.faq>.lead{padding:0}.logo small{font-size:12px}}

/* bgm: фон из пикселей макета (очищен от контента) */
@media (min-width:901px){
  #hero{background:url(../img/bgq-hero.jpg) 62% 0/cover no-repeat;background-color:var(--navy0)}
  #types{background:linear-gradient(rgba(0,14,26,.35),rgba(0,14,26,.35)),url(../img/bgq-types.jpg) 50% 0/cover no-repeat;background-color:var(--navy0)}
  #works{background:linear-gradient(rgba(0,14,26,.35),rgba(0,14,26,.35)),url(../img/bgq-works.jpg) 50% 0/cover no-repeat;background-color:var(--navy0)}
  #services{background:linear-gradient(rgba(0,14,26,.35),rgba(0,14,26,.35)),url(../img/bgq-services.jpg) 50% 0/cover no-repeat;background-color:var(--navy0)}
  #adv{background:linear-gradient(rgba(0,14,26,.35),rgba(0,14,26,.35)),url(../img/bgq-adv.jpg) 50% 0/cover no-repeat;background-color:var(--navy0)}
  #steps{background:linear-gradient(rgba(0,14,26,.35),rgba(0,14,26,.35)),url(../img/bgq-steps.jpg) 50% 0/cover no-repeat;background-color:var(--navy0)}
  #reviews{background:linear-gradient(rgba(0,14,26,.35),rgba(0,14,26,.35)),url(../img/bgq-reviews.jpg) 50% 0/cover no-repeat;background-color:var(--navy0)}
  #offer{background:linear-gradient(rgba(0,14,26,.35),rgba(0,14,26,.35)),url(../img/bgq-offer.jpg) 50% 0/cover no-repeat;background-color:var(--navy0)}
}

/* hq: фото до/после — два кадра встык, подписи в HTML */
.ba{position:relative;width:100%;aspect-ratio:1.6;overflow:hidden;background:#0b1a2b;display:block}
.ba>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ba::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:.4rem;margin-left:-.2rem;background:rgba(255,255,255,.92);box-shadow:0 0 .6rem rgba(0,0,0,.25)}
.ba__l,.ba__r{position:absolute;z-index:2;bottom:1.1rem;font:800 1.5rem/1 Manrope,Inter,sans-serif;font-style:normal;padding:.95rem 2rem;border-radius:1.3rem;white-space:nowrap}
.ba__l{left:1.1rem;background:rgba(14,24,38,.86);color:#fff}
.ba__r{right:1.1rem;background:linear-gradient(180deg,#f7dcbb,#eab98a);color:#1b1b1b}
.ba__h{position:absolute;z-index:3;left:50%;top:50%;width:4.2rem;height:4.2rem;margin:-2.1rem 0 0 -2.1rem;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 .3rem 1rem rgba(0,0,0,.3)}
.ba--hero{aspect-ratio:2.5}
.ba--hero .ba__l,.ba--hero .ba__r{font-size:1.3rem;padding:.8rem 1.6rem;bottom:.9rem}
.hero__ba{background:transparent}
.hero__ba .ba{border-radius:1.2rem}
@media (max-width:900px){.ba__l,.ba__r{font-size:13px;padding:8px 14px;border-radius:11px;bottom:8px}.ba__l{left:8px}.ba__r{right:8px}.ba__h{width:34px;height:34px;margin:-17px 0 0 -17px}.ba--hero{aspect-ratio:2.2}}

/* кастомный выпадающий список */
.fld--dd{position:relative;padding:0}
.fld--dd>svg{position:absolute;left:1.6rem;top:50%;transform:translateY(-50%);pointer-events:none;z-index:1}
.dd{position:relative;flex:1;height:100%;min-width:0}
.dd__b{width:100%;height:100%;background:transparent;border:0;outline:0;color:#fff;font:500 1.5rem/1 'Inter',sans-serif;text-align:left;cursor:pointer;padding:0 4.6rem 0 5.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:inherit;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23f0be8b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 1.4rem center/2rem no-repeat;transition:background-position .2s}
.dd__b:focus-visible{box-shadow:0 0 0 .3rem rgba(240,190,139,.35)}
.dd.open .dd__b{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m18 15-6-6-6 6' fill='none' stroke='%23f0be8b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.dd__l{display:none;position:absolute;z-index:60;left:-1px;right:-1px;top:calc(100% + .6rem);margin:0;padding:.6rem;list-style:none;max-height:37rem;overflow:auto;
  background:linear-gradient(180deg,#14283d,#0c1a2a);border:1px solid rgba(240,190,139,.45);border-radius:1.2rem;box-shadow:0 1.6rem 3.6rem rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.4)}
.dd__l.show{display:block}
.dd__l li{padding:1.05rem 1.3rem;border-radius:.8rem;color:rgba(255,255,255,.88);font:500 1.45rem/1.25 'Inter',sans-serif;cursor:pointer;display:flex;align-items:center;gap:1rem}
.dd__l li:hover{background:rgba(240,190,139,.14);color:#fff}
.dd__l li.on{background:linear-gradient(180deg,rgba(247,220,187,.95),rgba(234,185,138,.95));color:#1b1b1b;font-weight:700}
.dd__l::-webkit-scrollbar{width:6px}.dd__l::-webkit-scrollbar-thumb{background:rgba(240,190,139,.35);border-radius:6px}
.modal .dd__b{font-size:15px;padding-left:52px}.modal .dd__l li{font-size:15px;padding:12px 14px}
@media (max-width:900px){.dd__b{font-size:15px;padding-left:50px}.dd__l li{font-size:15px;padding:12px 14px}.dd__l{max-height:260px}}

/* карта без рекламы */
.lmap{width:100%;height:100%;min-height:23rem;background:#e8e4dc;z-index:0;font-family:Inter,sans-serif}
.ymap__map,.cont__map{position:relative}
.cont__map .lmap{min-height:38rem}
.lpin{background:none;border:0;filter:drop-shadow(0 .3rem .5rem rgba(0,0,0,.35))}
.lmap .leaflet-control-attribution{font-size:10px;background:rgba(255,255,255,.8)}
.lmap .leaflet-bar a{width:3.2rem;height:3.2rem;line-height:3.2rem;color:#13233a}
.lmap__open{position:absolute;z-index:500;left:1rem;bottom:1rem;background:#fff;color:#13233a;border-radius:1rem;padding:.8rem 1.3rem;font:600 1.2rem/1 Inter,sans-serif;box-shadow:0 .2rem .8rem rgba(0,0,0,.25);text-decoration:none}
.lmap__open:hover{background:#f6ecdf}
@media (max-width:900px){.lmap{min-height:230px}.cont__map .lmap{min-height:280px}.lmap__open{font-size:12px;padding:8px 12px}}

/* список поверх всего: не режется прокруткой модалки */
.dd__l{position:fixed;z-index:300;left:auto;right:auto}
.dd.up .dd__l{top:auto}

.dd__l{z-index:400}

/* правки Ивана 27.10: логотип, звонок в шапке, полоска акций */
.logo img{height:4.2rem;width:auto;display:block}
.logo--l img{height:4.6rem}
.hdr__call{display:none}
.promo__g{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:3rem;padding:2.2rem 0;border:1px solid var(--line-g,rgba(240,190,139,.35));border-radius:2rem;background:linear-gradient(180deg,rgba(14,28,44,.82),rgba(5,16,28,.88));backdrop-filter:blur(.6rem)}
.promo__g .card{display:flex;align-items:center;gap:1.6rem;min-height:0;padding:.4rem 2.6rem;border:0;border-radius:0;background:transparent;box-shadow:none;border-right:1px solid rgba(240,190,139,.22)}
.promo__g .card:last-child{border-right:0}
.promo__g .card .gbtn{display:none}
.promo__g .card .ic{flex:none;margin:0}
.promo__g .card h3{margin:0;font-size:1.7rem;line-height:1.25}
@media (max-width:900px){
  .logo img{height:34px}.logo--l img{height:40px}
  .hdr__call{display:flex;align-items:center;justify-content:center;width:42px;height:42px;margin-left:auto;border-radius:50%;background:linear-gradient(180deg,#f7dcbb,#eab98a);color:#14325a;box-shadow:0 2px 8px rgba(0,0,0,.2);flex:none}
  .hdr__call svg{width:22px;height:22px}
  .hdr__call+.burger{margin-left:6px}
  .promo__g{grid-template-columns:1fr;padding:6px 0;margin-top:20px;border-radius:18px}
  .promo__g .card{padding:14px 16px;gap:14px;border-right:0;border-bottom:1px solid rgba(240,190,139,.2)}
  .promo__g .card:last-child{border-bottom:0}
  .promo__g .card .ic{width:46px;height:46px}.promo__g .card .ic img.gi{width:24px;height:24px}
  .promo__g .card h3{font-size:16px}
}
.promo__g .card{flex-direction:row !important;text-align:left !important;align-items:center !important;justify-content:flex-start !important}
.promo__g .card .ic{flex:none}
@media (max-width:900px){.ba--hero .ba__l,.ba--hero .ba__r{font-size:13px;padding:8px 14px;bottom:8px}.ba--hero .ba__l{left:8px}.ba--hero .ba__r{right:8px}}
.promo__g .card h3{min-width:0;flex:1 1 auto;white-space:normal;overflow-wrap:anywhere;max-width:none}

/* контакты: мессенджеры с иконками, без карты */
.cont{grid-template-columns:1.1fr 1fr;align-items:center}
.msgr{display:grid;gap:1.8rem}
.msgr__i{display:flex;align-items:center;gap:2rem;padding:2.4rem 2.8rem;border-radius:2.2rem;color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:0 1.4rem 3.2rem rgba(0,0,0,.4);transition:transform .2s,filter .2s}
@media (hover:hover){.msgr__i:hover{transform:translateY(-.3rem);filter:brightness(1.08)}}
.msgr__i--wa{background:linear-gradient(135deg,#2fd873,#128c7e)}
.msgr__i--tg{background:linear-gradient(135deg,#34b4f2,#1d8fd1)}
.msgr__i i{flex:none;display:grid;place-items:center;width:7rem;height:7rem;border-radius:50%;background:rgba(255,255,255,.2)}
.msgr__i i svg{width:3.8rem;height:3.8rem}
.msgr__i span{flex:1;min-width:0}
.msgr__i b{display:block;font-size:2.4rem;font-weight:800;margin-bottom:.5rem}
.msgr__i small{display:block;font-size:1.4rem;line-height:1.35;opacity:.92}
.msgr__i em{font-style:normal;font-size:3rem;font-weight:700;opacity:.9}
@media (max-width:900px){
  .cont{grid-template-columns:1fr}
  .msgr{gap:12px}
  .msgr__i{padding:16px 18px;gap:14px;border-radius:18px}
  .msgr__i i{width:54px;height:54px}.msgr__i i svg{width:30px;height:30px}
  .msgr__i b{font-size:19px}.msgr__i small{font-size:13px}.msgr__i em{font-size:24px}
}
.car__vp{touch-action:pan-y}
/* FAQ на телефоне: ответ мелким текстом, карточка не раздувается */
@media (max-width:900px){.faq details p{font-size:14px;line-height:1.5;padding:0 16px 16px}.faq summary{font-size:15.5px}}

.car__track{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.car__track img{-webkit-user-drag:none}.car__vp{cursor:grab}
.car__track .rcard p{-webkit-user-select:none;user-select:none}

/* v30: карусели листаются пальцем/мышью, без стрелок; декор не перехватывает нажатия */
.car .car__btn,.car--arrows .car__btn,.car:not(.car--arrows) .car__btn.m-only{display:none!important}
.hero__man,.hero__man img,.hero__tag,.hero__note,.hero__ba .ba__l,.hero__ba .ba__r{pointer-events:none}
.gbtn i,.gbtn *{pointer-events:none}
.msgr__i em{flex:none;font-style:normal;font-size:2.6rem;color:#fff;pointer-events:none}
.msgr__i *{pointer-events:none}
@media (max-width:900px){.msgr__i em{font-size:24px}}

/* v31: на телефоне карусели — родной скролл со снапом (свайп пальцем гарантирован на iOS) */
@media (max-width:900px){
  .car__vp{overflow-x:auto!important;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;touch-action:auto!important;cursor:auto!important;scrollbar-width:none;overscroll-behavior-x:contain}
  .car__vp::-webkit-scrollbar{display:none}
  .car__track{transform:none!important;transition:none!important}
  .car__track>*{scroll-snap-align:start;scroll-snap-stop:always}
}
/* v32: телефон в шапке — зелёный; тач-режим без hover-сдвига и без задержек тапа */
@media (max-width:900px){.hdr__call{background:linear-gradient(180deg,#3ddc84,#1fa75a);color:#fff}}
.gbtn,.msgr__i,.hbtn,.hdr__call,.burger{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media (hover:none){.gbtn,.msgr__i{transition:none}.gbtn:hover,.msgr__i:hover{transform:none;filter:none}}

/* v41: full photographs side by side at every viewport width. */
.ba.ba--full,.wcard .ba.ba--full{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3px;aspect-ratio:auto;height:auto;align-items:start;background:#0b1a2b}
.ba--full::after{display:none}
.ba__frame{position:relative;min-width:0}
.ba--full .ba__frame>img{display:block;position:static;width:100%;height:auto;object-fit:contain}
.ba--full .ba__l,.ba--full .ba__r{bottom:6px;left:6px;right:auto;font-size:12px;padding:6px 10px}
@media(max-width:900px){.ba--full .ba__l,.ba--full .ba__r{font-size:10px;padding:4px 7px;bottom:4px;left:4px}}

/* Six matching card comparisons, matching the original bathroom frame. */
.tcard .ba.ba--full,.wcard .ba.ba--full{aspect-ratio:2.18;align-items:stretch}
.tcard .ba__frame,.wcard .ba__frame{height:100%;min-height:0;overflow:hidden}
.tcard .ba--full .ba__frame>img,.wcard .ba--full .ba__frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}

.msgr__i em .tap-icon{display:block;width:28px;height:28px;overflow:visible}.msgr__i em{display:flex;align-items:center;justify-content:center;flex-shrink:0}

/* Full before/after originals, without cropping or padding. */
.tcard .ba.ba--full,.wcard .ba.ba--full{aspect-ratio:auto;align-items:start}
.tcard .ba__frame,.wcard .ba__frame{height:auto;overflow:hidden}
.tcard .ba--full .ba__frame>img,.wcard .ba--full .ba__frame>img{position:static;width:100%;height:auto;object-fit:contain}
@media(min-width:901px){
#types .car__track>.tcard,#works .car__track>.wcard{flex:0 0 44%}
}

/* Desktop works: equal photo heights, natural widths for full originals. */
@media(min-width:901px){
#works .car{--photo-height:clamp(220px,20vw,300px)}
#works .car__track>.wcard{flex:0 0 auto;width:calc(var(--photo-height) * var(--pair-ratio) + 5px)}
#works .wcard .ba--full{grid-template-columns:minmax(0,calc(var(--before-ratio)*1fr)) minmax(0,calc(var(--after-ratio)*1fr));display:flex;gap:3px}
#works .wcard .ba__frame{flex:none;width:calc(var(--photo-height)*var(--before-ratio));height:var(--photo-height)}
#works .wcard .ba__frame+ .ba__frame{width:calc(var(--photo-height)*var(--after-ratio))}
#works .wcard .ba__frame>img{width:100%;height:100%;object-fit:contain}
}

/* Mobile works: full images share a baseline despite different aspect ratios. */
@media(max-width:900px){
#works .wcard .ba--full{display:flex;gap:0;aspect-ratio:var(--pair-ratio);align-items:stretch}
#works .wcard .ba__frame{flex:var(--before-ratio) 1 0;height:100%;min-width:0}
#works .wcard .ba__frame+.ba__frame{flex-grow:var(--after-ratio);border-left:2px solid #fff3}
#works .wcard .ba__frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
}

.msgr__i--max{background:linear-gradient(125deg,#2679f3,#6943dd 65%,#943bd2)}
.max-dialog{margin:auto;width:min(420px,calc(100% - 32px));border:1px solid #eac29755;border-radius:22px;background:#0c1a2a;color:white;padding:30px;font:16px/1.5 Inter,sans-serif}.max-dialog::backdrop{background:#0009}.max-dialog h3{margin-bottom:16px}.max-dialog p{margin:12px 0}.max-close{position:absolute;right:12px;top:6px;background:none;border:0;font-size:28px}
