*{box-sizing:border-box}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  background:#f8fafc;
  color:#0f172a;
  line-height:1.45;
  padding-bottom:84px
}
.wrap{width:min(1120px,calc(100% - 32px));margin:0 auto}
.narrow{width:min(820px,calc(100% - 32px))}
.sticky-bar{
  position:fixed;left:0;right:0;bottom:0;
  background:#08152f;display:flex;gap:10px;padding:12px;
  z-index:1000;box-shadow:0 -8px 24px rgba(0,0,0,.18)
}
.sticky-btn{
  flex:1;text-align:center;text-decoration:none;font-weight:800;
  padding:16px 10px;border-radius:14px
}
.sticky-call{background:#facc15;color:#111827}
.sticky-text{background:#1d4ed8;color:#fff}
.topbar{
  background:#08152f;color:#fff;padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.08)
}
.topbar-inner{
  display:flex;justify-content:space-between;align-items:center;
  gap:14px;flex-wrap:wrap
}
.brand{display:flex;align-items:center;gap:12px}
.logo-box{
  width:70px;height:70px;border-radius:16px;background:#fff;
  border:2px solid rgba(250,204,21,.7);display:flex;
  align-items:center;justify-content:center;overflow:hidden
}
.logo-box img{width:100%;height:100%;object-fit:contain;display:block}
.brand-name{font-size:24px;font-weight:900}
.brand-sub{font-size:13px;color:#cbd5e1}
.topbar-call{
  text-decoration:none;background:#facc15;color:#111827;
  padding:12px 16px;border-radius:12px;font-weight:800
}
.hero{
  background:linear-gradient(180deg,#0b3f97 0%,#0a3277 100%);
  color:#fff;text-align:center;padding:78px 0 60px
}
.hero-badge{
  display:inline-block;background:rgba(255,255,255,.12);color:#fde047;
  border:1px solid rgba(255,255,255,.18);padding:10px 14px;
  border-radius:999px;font-weight:700;font-size:14px;margin-bottom:18px
}
h1{
  font-size:clamp(40px,8vw,72px);
  line-height:1.02;margin:0 0 18px
}
.subhead{
  font-size:clamp(18px,4vw,24px);
  max-width:820px;margin:0 auto 28px;color:#dbeafe
}
.cta-row{
  display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap
}
.btn{
  display:inline-block;min-width:240px;text-align:center;text-decoration:none;
  padding:17px 22px;border-radius:16px;font-weight:800;font-size:19px
}
.btn-primary{background:#facc15;color:#111827;box-shadow:0 8px 22px rgba(250,204,21,.28)}
.btn-secondary{background:rgba(255,255,255,.12);color:#fff;border:2px solid rgba(255,255,255,.18)}
.hero-points{
  display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px
}
.point{
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);
  padding:10px 14px;border-radius:999px;font-weight:700
}
.offer,.local-push,.reviews{padding:28px 0}
.offer-box,.local-box,.reviews-box{
  border-radius:24px;padding:30px 22px;text-align:center;
  box-shadow:0 12px 28px rgba(15,23,42,.10)
}
.offer-box{background:#facc15}
.local-box{background:#fff}
.reviews-box{background:#0f172a;color:#fff}
.offer-tag{
  display:inline-block;background:#111827;color:#fff;font-weight:800;
  padding:8px 12px;border-radius:999px;font-size:13px;letter-spacing:.04em
}
.offer h2,.services h2,.gallery h2,.trust h2,.reviews h2,.bottom-close h2,.local-push h2{
  margin:14px 0 10px;font-size:clamp(32px,6vw,46px);line-height:1.05
}
.offer p,.local-push p,.reviews p,.bottom-close p{
  font-size:20px;margin:0
}
.offer-note{margin-top:14px;font-weight:800;font-size:16px}
.services,.gallery,.trust,.bottom-close{padding:56px 0}
.service-grid,.gallery-grid,.trust-grid{
  display:grid;gap:18px;margin-top:24px
}
.service-grid,.trust-grid{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))
}
.service-card,.trust-card,.gallery-card{
  background:#fff;border-radius:20px;padding:22px;
  box-shadow:0 10px 24px rgba(15,23,42,.08)
}
.service-card h3,.trust-card h3{margin:0 0 10px;font-size:24px}
.service-card p,.trust-card p{margin:0;font-size:18px;color:#334155}
.gallery{background:#eef4ff}
.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.gallery-card{padding:12px}
.gallery-card img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  background:#dbeafe;
  border-radius:16px
}
.caption{font-weight:800;margin-top:10px}
.bottom-close{background:#0f172a;color:#fff;text-align:center}
@media (max-width:700px){
  body{padding-bottom:96px}
  .topbar-inner{align-items:flex-start}
  .brand-name{font-size:20px}
  .hero{padding:56px 0 44px}
  .btn,.topbar-call{width:100%;min-width:0}
  .offer p,.local-push p,.reviews p,.bottom-close p,.service-card p,.trust-card p{
    font-size:18px
  }
  .sticky-bar{padding:10px}
  .sticky-btn{padding:14px 8px}
  .gallery-grid{grid-template-columns:1fr}
}
