:root{--wrap:1080px}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.35;color:#111;background:#fff}
a,a:visited{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:16px}

.top{border-bottom:1px solid #eee;background:#fff;position:sticky;top:0;z-index:10}
.topbar{display:flex;gap:14px;align-items:center;justify-content:space-between}
.brand{font-weight:800;text-decoration:none;white-space:nowrap}
.nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.nav a{padding:8px 10px;border-radius:10px}
.nav a:hover{background:#f2f2f2}
.top-right{display:flex;gap:10px;align-items:center}
.hours{font-size:13px;color:#555;white-space:nowrap}

.hero{background:#f7f7f7;border-bottom:1px solid #eee}
.lead{font-size:16px;color:#333;margin:0 0 12px 0}
.cta{display:flex;gap:10px;flex-wrap:wrap}

.btn{display:inline-block;padding:10px 14px;border-radius:10px;border:1px solid #ddd;text-decoration:none;color:#111;background:#fff}
.btn.primary{background:#111;color:#fff;border-color:#111}
.btn.small{padding:8px 10px;border-radius:10px;font-size:14px}

.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.card{display:block;border:1px solid #eee;border-radius:14px;padding:14px;text-decoration:none;color:#111;background:#fff}
.card-title{font-weight:700;margin-bottom:6px}
.muted{color:#666;font-size:14px}

.foot{border-top:1px solid #eee;background:#fff;margin-top:18px}

h1{margin:10px 0 0 0;font-size:28px}
h2{margin:18px 0 10px 0;font-size:20px}

@media(max-width:980px){
  .top-right{display:none}
  .grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .grid{grid-template-columns:1fr}
  h1{font-size:24px}
}
/* dropdown (hero "Написать") */
.dd{position:relative;display:inline-block}
.dd-menu{
  position:absolute;top:44px;left:0;
  min-width:190px;
  background:#fff;
  border:1px solid #eee;
  border-radius:12px;
  box-shadow:0 10px 28px rgba(0,0,0,.10);
  padding:6px;
  display:none;
  z-index:30;
}
.dd.open .dd-menu{display:block}
.dd-item{display:block;padding:10px 10px;border-radius:10px}
.dd-item:hover{background:#f2f2f2}
/* price list */
.plist{display:grid;gap:10px}
.pitem{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:1px solid #eee;border-radius:14px;padding:12px 14px;background:#fff}
.pname{font-weight:700}
.pprice{font-weight:800;white-space:nowrap}
.pgo{font-size:14px;color:#555;text-decoration:none;padding:8px 10px;border-radius:10px;border:1px solid #eee}
.pgo:hover{background:#f2f2f2}
@media(max-width:700px){
  .pitem{grid-template-columns:1fr;gap:8px}
  .pgo{width:max-content}
}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.step{display:flex;gap:12px;align-items:flex-start;border:1px solid #eee;border-radius:14px;padding:12px 14px;background:#fff}
.badge{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#111;color:#fff;font-weight:800;flex:0 0 34px}
.step-title{font-weight:800;margin-bottom:4px}
@media(max-width:900px){.steps{grid-template-columns:1fr}}
/* FAQ */
.faq{display:grid;gap:10px}
.faq-item{border:1px solid #eee;border-radius:14px;padding:10px 12px;background:#fff}
.faq-q{cursor:pointer;font-weight:800}
.faq-a{margin-top:8px}
/* Hero upgrade */
.hero{background:linear-gradient(180deg,#f7f7f7, #ffffff);border-bottom:1px solid #eee}
.hero-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:start}
.pill{display:inline-block;background:#111;color:#fff;padding:6px 10px;border-radius:999px;font-size:12px;margin-bottom:10px}
.usp{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.usp-item{border:1px solid #eee;border-radius:14px;padding:10px 12px;background:#fff}
.hero-card{border:1px solid #eee;border-radius:16px;padding:14px;background:#fff}
.hero-card-title{font-weight:900;margin-bottom:10px}
.hero-links{display:grid;gap:8px}
.hero-links a{padding:10px 12px;border:1px solid #eee;border-radius:12px}
.hero-links a:hover{background:#f2f2f2}
@media(max-width:980px){
  .hero-wrap{grid-template-columns:1fr}
  .usp{grid-template-columns:1fr}
}
/* Lead form */
.form-card{padding:16px}
.lead-form{display:grid;gap:12px}
.form-row{display:grid;gap:6px}
.form-label{font-weight:700;font-size:14px}
.form-input{width:100%;border:1px solid #ddd;border-radius:12px;padding:10px 12px;font:inherit}
.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:4px}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gal-item{margin:0;border:1px solid #eee;border-radius:14px;overflow:hidden;background:#fff}
.gal-item img{width:100%;height:170px;object-fit:cover;display:block}
.gal-item figcaption{padding:8px 10px}
@media(max-width:980px){.gal{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.gal{grid-template-columns:1fr}.gal-item img{height:220px}}
/* 2GIS map */
.map-card{border:1px solid #eee;border-radius:16px;overflow:hidden;background:#fff}
.map-card > div{width:100%}
