:root{
  --bg:#F6F8FB; --white:#fff; --alt:#EEF3F9;
  --navy:#0E3A5E; --blue:#1C6DB5; --soft:#EAF2FB;
  --flame:#F2682A; --flame-h:#D8551B;
  --tx:#10243A; --mut:#5A6B7B; --line:#DCE6F0; --ok:#1E9E6A;
  --sh:0 4px 16px rgba(14,58,94,.06),0 1px 3px rgba(14,58,94,.08);
  --sh-h:0 14px 34px rgba(14,58,94,.13),0 2px 6px rgba(14,58,94,.08);
  --gradf:linear-gradient(135deg,#FF8A3D,#F2682A);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--tx);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,.disp{font-family:'Manrope',sans-serif;line-height:1.12;letter-spacing:-.02em}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 18px}
.reveal{opacity:0;transform:translateY(22px);transition:.7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:16px;padding:15px 26px;border-radius:14px;border:none;cursor:pointer;font-family:'Manrope';transition:.18s;white-space:nowrap}
.btn-pri{background:var(--flame);color:#fff;box-shadow:0 6px 16px rgba(242,104,42,.3)}
.btn-pri:hover{background:var(--flame-h)}
.btn-pri:active{transform:translateY(1px)}
.btn-out{background:var(--white);color:var(--navy);border:1.5px solid var(--navy)}
.btn-out:hover{background:var(--soft)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
.sec-h{font-size:clamp(23px,5vw,34px);font-weight:800;color:var(--navy);margin:8px 0 6px}
.sec-sub{color:var(--mut);font-size:15.5px;max-width:560px;margin-bottom:22px}
.ico{width:46px;height:46px;border-radius:13px;background:var(--soft);display:grid;place-items:center;flex:none}
.ico svg{width:24px;height:24px;stroke:var(--blue);stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* header + menu */
header{position:sticky;top:0;z-index:50;background:rgba(246,248,251,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1080px;margin:0 auto;padding:9px 18px}
.hd .logo img{height:38px;width:auto}
.nav{display:none}
.nav a{font-weight:600;font-size:14.5px;color:var(--navy);padding:6px 2px;position:relative}
.nav a:hover{color:var(--blue)}
.hd .r{display:flex;align-items:center;gap:12px}
.hd .tel{text-align:right}
.hd .tel a{font-family:'Manrope';font-weight:800;font-size:16px;color:var(--navy);white-space:nowrap}
.hd .tel small{display:block;font-size:11px;color:var(--ok);font-weight:600}
.hd .r .btn{display:none;padding:11px 18px;font-size:14.5px}
.burger{width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:var(--white);display:grid;place-items:center;cursor:pointer;flex:none}
.burger span{display:block;width:18px;height:2px;background:var(--navy);border-radius:2px;position:relative}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--navy);border-radius:2px}
.burger span::before{top:-6px}.burger span::after{top:6px}
.drawer{position:fixed;inset:0;z-index:80;background:rgba(14,36,58,.5);backdrop-filter:blur(3px);display:none}
.drawer.on{display:block}
.drawer .dbox{position:absolute;top:0;right:0;width:min(82vw,330px);height:100%;background:var(--white);box-shadow:-10px 0 40px rgba(0,0,0,.2);padding:18px 16px;display:flex;flex-direction:column;gap:4px;animation:slidein .25s ease}
@keyframes slidein{from{transform:translateX(40px);opacity:.5}to{transform:none;opacity:1}}
.drawer .dtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.drawer .dtop img{height:34px}
.drawer .x{width:38px;height:38px;border:none;background:var(--bg);border-radius:10px;font-size:20px;color:var(--mut);cursor:pointer}
.drawer a.nl{padding:13px 12px;border-radius:11px;font-family:'Manrope';font-weight:700;font-size:16px;color:var(--navy);display:flex;align-items:center;gap:10px}
.drawer a.nl:hover{background:var(--soft)}
.drawer .dcta{margin-top:auto;display:grid;gap:9px;padding-top:12px}

/* hero */
.hero{padding:32px 0 26px;position:relative;overflow:hidden}
.hero .grid{display:grid;grid-template-columns:1fr;gap:26px;align-items:center}
.hero h1{font-size:clamp(28px,7vw,46px);font-weight:800;color:var(--navy);margin:14px 0 14px}
.hero h1 .u{position:relative;white-space:nowrap;color:var(--flame)}
.hero h1 .u svg{position:absolute;left:0;right:0;bottom:-6px;width:100%;height:9px;stroke:var(--flame);stroke-width:3;fill:none;stroke-linecap:round}
.hero p.lead{font-size:16.5px;color:var(--mut);max-width:520px;margin-bottom:22px}
.hero .cta{display:flex;flex-wrap:wrap;gap:11px}
.hero .micro{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.hero .micro span{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--navy);background:var(--soft);padding:8px 13px;border-radius:999px}
.hero-vis{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--sh-h);background:var(--white)}
.hero-vis img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}
.hbadge{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.72);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.9);border-radius:13px;padding:9px 13px;font-weight:800;font-family:'Manrope';color:var(--navy);font-size:14px;box-shadow:var(--sh)}
.hbadge .pulse{width:9px;height:9px;border-radius:50%;background:var(--flame);box-shadow:0 0 0 0 rgba(242,104,42,.5);animation:pl 1.8s infinite}
@keyframes pl{0%{box-shadow:0 0 0 0 rgba(242,104,42,.5)}70%{box-shadow:0 0 0 9px rgba(242,104,42,0)}100%{box-shadow:0 0 0 0 rgba(242,104,42,0)}}
.hrate{position:absolute;bottom:14px;left:14px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);border-radius:13px;padding:10px 14px;box-shadow:var(--sh)}
.hrate b{font-family:'Manrope';font-weight:800;color:var(--navy);font-size:16px}
.hrate .st{color:#ffb300;font-size:14px;letter-spacing:1px}
.hrate small{display:block;font-size:11.5px;color:var(--mut)}

/* subpage hero (компактнее) */
.subhero{padding:26px 0 6px}
.crumbs{font-size:12.5px;color:var(--mut);margin-bottom:6px}
.crumbs a{color:var(--blue)}
.subhero h1{font-size:clamp(25px,6vw,38px);font-weight:800;color:var(--navy);margin:6px 0 12px}
.subhero p.lead{font-size:16px;color:var(--mut);max-width:600px;margin-bottom:18px}
.subhero .cta{display:flex;flex-wrap:wrap;gap:11px}

/* trust strip */
.trust{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust .row{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.tr{background:var(--white);padding:18px 16px;display:flex;gap:13px;align-items:flex-start}
.tr b{display:block;font-family:'Manrope';font-weight:800;font-size:15px;color:var(--navy);line-height:1.2}
.tr span{font-size:12.5px;color:var(--mut)}

section.blk{padding:40px 0}
section.blk.altbg{background:var(--alt)}

/* services */
.cards{display:grid;grid-template-columns:1fr;gap:13px}
.card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:20px 18px;box-shadow:var(--sh);transition:.2s;display:block}
.card:hover{transform:translateY(-4px);box-shadow:var(--sh-h)}
.card b{display:block;font-family:'Manrope';font-weight:800;font-size:16.5px;color:var(--navy);margin:13px 0 5px}
.card p{font-size:13.5px;color:var(--mut);margin-bottom:12px}
.card .more{font-weight:700;font-size:14px;color:var(--flame);display:inline-flex;gap:6px;align-items:center;cursor:pointer}

/* prices */
.price{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.pr{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:15px 15px;box-shadow:var(--sh)}
.pr .s{font-weight:700;font-size:14.5px;color:var(--navy)}
.pr .v{font-family:'Manrope';font-weight:800;font-size:20px;color:var(--flame);margin-top:5px}
.pr .v small{font-size:12px;color:var(--mut);font-weight:600}
.pricenote{margin-top:14px;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:13.5px;color:var(--navy)}

/* steps */
.steps{display:grid;gap:14px}
.st{display:flex;gap:15px;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:16px 16px;box-shadow:var(--sh)}
.st .num{flex:none;width:38px;height:38px;border-radius:11px;background:var(--gradf);color:#fff;font-family:'Manrope';font-weight:800;font-size:17px;display:grid;place-items:center}
.st b{display:block;font-family:'Manrope';font-weight:800;font-size:15.5px;color:var(--navy);margin-bottom:2px}
.st span{font-size:13.5px;color:var(--mut)}

/* промывка */
.flush{display:grid;grid-template-columns:1fr;gap:14px}
.flcard{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--sh);display:flex;gap:14px;align-items:center}
.flcard img{width:74px;height:62px;object-fit:contain;flex:none}
.flcard b{font-family:'Manrope';font-weight:800;color:var(--navy);font-size:16px;display:block;margin-bottom:3px}
.flcard .pc{font-family:'Manrope';font-weight:800;color:var(--flame);font-size:15px}
.flcard span{font-size:13px;color:var(--mut)}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.gal figure{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--white);box-shadow:var(--sh);position:relative}
.gal img{width:100%;height:120px;object-fit:cover}
.gal figcaption{font-size:12px;color:var(--navy);font-weight:600;padding:9px 11px}

/* reviews */
.revs{display:grid;grid-template-columns:1fr;gap:13px}
.rev{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--sh)}
.rev .top{display:flex;align-items:center;gap:11px;margin-bottom:9px}
.rev .av{width:40px;height:40px;border-radius:50%;background:var(--gradf);color:#fff;font-family:'Manrope';font-weight:800;display:grid;place-items:center;font-size:17px}
.rev .nm{font-family:'Manrope';font-weight:800;color:var(--navy);font-size:15px;line-height:1.1}
.rev .nm small{display:block;font-weight:500;font-size:11.5px;color:var(--mut);font-family:'Inter'}
.rev .st{margin-left:auto;color:#ffb300;font-size:13px;letter-spacing:1px}
.rev p{font-size:14px;color:var(--tx)}
.revhead{display:flex;align-items:center;gap:14px;background:var(--navy);color:#fff;border-radius:18px;padding:18px 20px;margin-bottom:16px}
.revhead .big{font-family:'Manrope';font-weight:800;font-size:34px;line-height:1}
.revhead .st{color:#ffd24a;font-size:16px;letter-spacing:1px}
.revhead .tx b{font-size:15px;display:block}
.revhead .tx span{font-size:12.5px;color:#bcd3e6}

/* faq */
.faq details{background:var(--white);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;box-shadow:var(--sh);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:16px 18px;font-family:'Manrope';font-weight:700;font-size:15px;color:var(--navy);display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pl{flex:none;width:26px;height:26px;border-radius:50%;background:var(--soft);color:var(--blue);display:grid;place-items:center;font-size:18px;transition:.2s}
.faq details[open] summary .pl{transform:rotate(45deg);color:var(--flame)}
.faq .a{padding:0 18px 16px;font-size:14px;color:var(--mut);line-height:1.6}

/* перелинковка — другие страницы */
.links{display:grid;grid-template-columns:1fr;gap:10px}
.lk{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:14px 15px;box-shadow:var(--sh);transition:.18s}
.lk:hover{transform:translateY(-3px);box-shadow:var(--sh-h);border-color:var(--blue)}
.lk .ico{width:38px;height:38px;border-radius:10px}
.lk .ico svg{width:20px;height:20px}
.lk b{font-family:'Manrope';font-weight:700;font-size:14.5px;color:var(--navy);display:block}
.lk span{font-size:12px;color:var(--mut)}
.lk .ar{margin-left:auto;color:var(--flame);font-weight:800}

/* final cta */
.final{background:linear-gradient(135deg,var(--navy),#13507f);border-radius:24px;padding:34px 22px;text-align:center;color:#fff;position:relative;overflow:hidden}
.final::before{content:"";position:absolute;top:-50px;right:-30px;width:200px;height:200px;background:var(--gradf);filter:blur(60px);opacity:.5}
.final h2{font-size:clamp(22px,5.5vw,30px);font-weight:800;margin-bottom:8px;position:relative}
.final p{color:#cfe0ee;font-size:15px;margin-bottom:20px;position:relative}
.final .cta{display:flex;flex-wrap:wrap;gap:11px;justify-content:center;position:relative}
.final .btn-out{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}

/* footer */
footer{background:var(--white);border-top:1px solid var(--line);padding:26px 0 96px;color:var(--mut);font-size:13px}
footer .fnav{display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0}
footer .fnav a{color:var(--navy);font-weight:600;font-size:13.5px}
footer img.flogo{height:42px;margin-bottom:10px}
footer .frow{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px}
footer .frow a{color:var(--mut);border-bottom:1px dotted var(--line)}

/* sticky mobile bar */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:9px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(246,248,251,.95);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.mbar .btn{flex:1;font-size:15px;padding:14px}

/* popover */
.cmodal{position:fixed;inset:0;z-index:100;display:none;align-items:flex-end;justify-content:center;background:rgba(14,36,58,.5);backdrop-filter:blur(3px)}
.cmodal.on{display:flex}
.cmbox{background:var(--white);border-radius:22px 22px 0 0;width:100%;max-width:520px;padding:20px 18px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px rgba(0,0,0,.2);animation:up .25s ease}
@keyframes up{from{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}
.cmbox h3{font-family:'Manrope';font-weight:800;font-size:19px;color:var(--navy);margin-bottom:4px}
.cmbox p{color:var(--mut);font-size:13.5px;margin-bottom:15px}
.cmrow{display:flex;flex-direction:column;gap:10px}
.cmrow a{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:13px 15px;font-family:'Manrope';font-weight:700;font-size:15.5px;color:var(--navy)}
.cmrow a .ci{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;font-size:18px}
.cmrow a small{display:block;font-weight:500;font-size:12px;color:var(--mut);font-family:'Inter'}
.cmclose{display:block;width:100%;text-align:center;margin-top:13px;color:var(--mut);font-size:13.5px;background:none;border:none;cursor:pointer;font-family:'Inter'}

@media(min-width:760px){
  .nav{display:flex;gap:20px}
  .hd .r .btn{display:inline-flex}
  .burger{display:none}
  .hero .grid{grid-template-columns:1.05fr .95fr}
  .trust .row{grid-template-columns:repeat(4,1fr)}
  .cards{grid-template-columns:repeat(3,1fr)}
  .price{grid-template-columns:repeat(4,1fr)}
  .flush{grid-template-columns:repeat(2,1fr)}
  .gal{grid-template-columns:repeat(4,1fr)}
  .revs{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .links{grid-template-columns:repeat(3,1fr)}
  .mbar{display:none}
  footer{padding-bottom:30px}
}
@media(max-width:359px){.price{grid-template-columns:1fr}.gal{grid-template-columns:1fr}}

/* текстовый логотип (нет logo-wide.png) */
.logo{display:flex;align-items:center;gap:10px}
.logo .lm{width:40px;height:40px;flex:none;border-radius:11px;background:var(--gradf);display:grid;place-items:center}
.logo .lm svg{width:23px;height:23px;stroke:#fff;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
.logo b{font-family:'Manrope';font-weight:800;font-size:16.5px;color:var(--navy);line-height:1.05}
.logo b small{display:block;font-family:'Inter';font-weight:600;font-size:10px;color:var(--mut);letter-spacing:.05em;text-transform:uppercase;margin-top:2px}
.drawer .dtop .logo b{font-size:15.5px}
footer .flogo-t{display:inline-flex;align-items:center;gap:9px;margin-bottom:10px}
footer .flogo-t .lm{width:36px;height:36px;flex:none;border-radius:10px;background:var(--gradf);display:grid;place-items:center}
footer .flogo-t .lm svg{width:20px;height:20px;stroke:#fff;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
footer .flogo-t b{font-family:'Manrope';font-weight:800;font-size:16px;color:var(--navy)}
/* мелкая правка: кнопка «читать отзывы» */
.revlink{margin-top:14px;text-align:center}
.revlink a{color:var(--blue);font-weight:700;font-size:14px;border-bottom:1px solid var(--line)}

/* мобайл: прячем телефон в шапке (широкий текст-логотип не оставляет места) — тел есть в mbar/модалке/меню/футере */
.hd .tel{display:none}
@media(min-width:760px){.hd .tel{display:block}}
@media(max-width:400px){.logo b{font-size:15px}.logo .lm{width:36px;height:36px}}
@media(max-width:359px){.trust .row{grid-template-columns:1fr}}

/* премиум-иконки услуг (Recraft SVG) — крупнее и на фирменной подложке */
.ico.icon-img{width:58px;height:58px;background:var(--soft);border-radius:15px;padding:0}
.ico.icon-img img{width:42px;height:42px;object-fit:contain}
.lk .ico.icon-img{width:46px;height:46px}
.lk .ico.icon-img img{width:32px;height:32px}
@media(min-width:760px){.ico.icon-img{width:62px;height:62px}.ico.icon-img img{width:46px;height:46px}}

/* trust-полоса: генерённые иконки чуть меньше, чем в карточках */
.tr .ico.icon-img{width:48px;height:48px}
.tr .ico.icon-img img{width:34px;height:34px}

/* фирменный логотип-эмблема (Recraft) */
.logo .lm-img{width:50px;height:50px;flex:none;display:block}
@media(max-width:400px){.logo .lm-img{width:42px;height:42px}}
.flogo-t .lm-img{width:38px;height:38px;flex:none;background:#fff;border-radius:50%;padding:3px}

/* калькулятор */
.calc{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--sh);max-width:640px;margin-top:18px}
.calc-row{margin-bottom:16px}
.calc-row>label{display:block;font-family:'Manrope';font-weight:800;font-size:14.5px;color:var(--navy);margin-bottom:9px}
.calc .opts{display:flex;flex-wrap:wrap;gap:8px}
.calc .opt{border:1.5px solid var(--line);background:var(--white);border-radius:12px;padding:11px 15px;font-size:14px;font-weight:700;color:var(--navy);cursor:pointer;font-family:'Inter';transition:.15s}
.calc .opt:hover{border-color:var(--blue)}
.calc .opt.on{border-color:var(--flame);background:rgba(242,104,42,.08);color:var(--flame-h)}
.calc .stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;vertical-align:middle}
.calc .stepper button{width:42px;height:44px;background:var(--bg);border:none;font-size:22px;font-weight:700;color:var(--navy);cursor:pointer}
.calc .stepper button:hover{background:rgba(242,104,42,.1);color:var(--flame)}
.calc .stepper span{min-width:52px;text-align:center;font-family:'Manrope';font-weight:800;font-size:17px;color:var(--navy)}
.calc-hint{font-size:13px;color:var(--mut);margin-left:12px}
.calc-out{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1.5px dashed var(--line)}
.calc-lbl{font-size:13px;color:var(--mut);font-weight:600}
.calc-sum{font-family:'Manrope';font-weight:800;font-size:32px;color:var(--flame);line-height:1}
.calc-note{font-size:12px;color:var(--mut);margin-top:14px}

/* подстраничный hero с фото (как на главной) */
.subhero{padding:20px 0 30px}
.subhero .crumbs{margin-bottom:14px}
