:root{--text:#2C2C2B;--muted:#6B6863;--bg:#fff;--soft:#F9F8F7;--soft2:#F0EFED;--border:#E6E5E3;--accent:#2783DE;--accent-d:#1D6BB8;--accent-soft:#E5F2FC;--r:10px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px}
.narrow{max-width:760px}
h1{font-size:44px;line-height:1.15;letter-spacing:-.02em;margin:8px 0 16px}
h2{font-size:30px;line-height:1.2;letter-spacing:-.01em;margin-bottom:24px}
h3{font-size:18px;margin-bottom:6px}
.muted{color:var(--muted);margin:-12px 0 24px}
.eyebrow{color:var(--accent);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.06em}
.lead{font-size:18px;color:var(--muted);max-width:560px}

.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.header__in{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--text);text-decoration:none}
.logo svg{color:var(--accent)}
.header__right{display:flex;align-items:center;gap:20px}
.header__hours{color:var(--muted);font-size:14px}
.header__phone{font-weight:700;font-size:18px;color:var(--text);text-decoration:none}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:var(--r);font-weight:700;font-size:16px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .15s}
.btn--primary{background:var(--accent);color:#fff}
.btn--primary:hover{background:var(--accent-d)}
.btn--ghost{background:#fff;color:var(--text);border-color:var(--border)}
.btn--ghost:hover{border-color:var(--text)}
.btn--full{width:100%}
a:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

.hero{padding:56px 0 64px}
.hero__in{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.hero__img img{border-radius:12px;aspect-ratio:4/3;object-fit:cover;width:100%}
.badges{list-style:none;display:flex;gap:12px;margin:28px 0;flex-wrap:wrap}
.badges li{background:var(--soft);border:1px solid var(--border);border-radius:var(--r);padding:10px 16px;display:flex;flex-direction:column}
.badges b{font-size:20px}
.badges span{font-size:14px;color:var(--muted)}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.messengers{margin-top:16px;display:flex;gap:16px;align-items:center;color:var(--muted);font-size:15px}
.messengers a{font-weight:600}

.section{padding:64px 0}
.section--soft{background:var(--soft)}
.section--accent{background:var(--accent-soft)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card,.why{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:24px}
.card__ico{font-size:28px;margin-bottom:12px}
.card p,.why p{color:var(--muted);font-size:15px}
.why b{display:block;font-size:18px;margin-bottom:6px}

.prices{max-width:760px;list-style:none;border:1px solid var(--border);border-radius:var(--r);margin-bottom:24px}
.prices li{display:flex;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border)}
.prices li:last-child{border-bottom:0}
.prices b{white-space:nowrap;color:var(--accent)}

.gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}
.gallery figure{margin:0}
.gallery img{border-radius:var(--r);width:100%;height:380px;object-fit:cover}
.gallery__big img{object-position:center bottom}
.gallery figure{display:flex;flex-direction:column}
.gallery figcaption{font-size:14px;color:var(--muted);margin-top:8px}

.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.reviews blockquote{background:#fff;border:1px solid var(--border);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:16px}
.reviews cite{margin-top:auto}
.reviews blockquote::before{content:"★★★★★";color:#E0A21B;letter-spacing:2px}
.reviews cite{font-style:normal;font-size:14px;color:var(--muted);font-weight:600}

.steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.steps li{counter-increment:s;border-top:3px solid var(--accent);padding-top:16px}
.steps li::before{content:counter(s);display:block;font-size:14px;font-weight:700;color:var(--accent);margin-bottom:4px}
.steps b{font-size:18px}
.steps p{color:var(--muted);font-size:15px;margin-top:4px}

.form-wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.form-wrap p{color:var(--text);max-width:440px}
.form-alt{margin-top:16px;font-weight:600}
.form{background:#fff;border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:16px;border:1px solid var(--border)}
.form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:14px}
.form input[type=text],.form input[type=tel],.form select{height:48px;border:1px solid #CFCDC9;border-radius:8px;padding:0 14px;font:inherit;font-weight:400;font-size:16px;background:#fff;color:var(--text)}
.form .check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;color:var(--muted)}
.form .check input{width:20px;height:20px;margin-top:2px;flex-shrink:0}
.form__msg{font-size:15px;min-height:1px}
.form__msg.ok{color:#2E7D52}.form__msg.err{color:#C0392B}

.footer{border-top:1px solid var(--border);padding:32px 0 32px;font-size:15px;color:var(--muted)}
.footer__in{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer b{color:var(--text)}

.mobilebar{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cookiebar{position:fixed;left:16px;right:16px;bottom:16px;max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.05),0 4px 12px rgba(0,0,0,.08);padding:16px 20px;display:flex;gap:16px;align-items:center;z-index:40;font-size:14px;color:var(--muted)}
.cookiebar[hidden]{display:none}
.cookiebar .btn{min-height:44px;padding:0 20px;flex-shrink:0}

@media (max-width:900px){
  .hero__in,.form-wrap{grid-template-columns:1fr;gap:32px}
  .grid4,.steps{grid-template-columns:1fr 1fr}
  .grid3,.reviews{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery__big{grid-column:1/-1}
  .gallery img{height:300px}.gallery__big img{height:auto}
}
@media (max-width:600px){
  .wrap{padding:0 20px}
  h1{font-size:32px}
  h2{font-size:24px}
  .hero{padding:32px 0 48px}
  .header__hours{display:none}
  .header__phone{font-size:16px}
  .section{padding:48px 0}
  .grid4,.steps{grid-template-columns:1fr}
  .cta .btn{flex:1;padding:0 14px;white-space:nowrap}
  .prices li{padding:14px 16px}
  .form{padding:20px}
  .mobilebar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--border);z-index:30}
  .mobilebar .btn{flex:1;min-height:48px;padding:0 12px}
  body{padding-bottom:72px}
  .cookiebar{bottom:84px;left:12px;right:12px;flex-direction:column;align-items:stretch;gap:12px}
}
