body { padding-bottom: 76px; }
.container { width: min(100% - 24px, var(--container)); }
html { scroll-padding-top: 86px; }

.header-row { min-height: 72px; gap: 10px; }
.logo img { width: 142px; }
.header-actions { display: none; }
.mobile-menu-toggle { margin-left: auto; }
.mobile-menu { padding-left: 12px; padding-right: 12px; }

.section { padding: 58px 0; }
.section-head { margin-bottom: 24px; text-align: left; }
.section-head h2 { font-size: clamp(1.65rem, 8vw, 2.1rem); }
.section-head p { font-size: 1rem; }

.hero { padding: 44px 0 48px; }
.hero h1 { font-size: clamp(2rem, 10vw, 3.1rem); }
.hero-lead { font-size: 1.02rem; }
.hero-tags { gap: 8px; margin: 20px 0 24px; }
.hero-tags span { width: 100%; text-align: center; }
.cta-row,
.section-cta,
.popup-actions { display: grid; grid-template-columns: 1fr; }
.btn { width: 100%; }
.estimate-card { padding: 22px; border-radius: 22px; }

.trust-grid,
.service-grid,
.steps,
.footer-grid { grid-template-columns: 1fr; }
.trust-grid { padding: 16px 0; }
.service-card,
.steps article,
.price-item,
.price-note-card { padding: 18px; }
.work-grid { gap: 16px; }
.work-images img { height: 140px; }
.location-cloud { justify-content: flex-start; }
.location-cloud span { font-size: .94rem; padding: 10px 13px; }
.call-card { gap: 22px; }
.call-number { min-height: 58px; font-size: 1.1rem; }
.final-card { text-align: left; }
.final-card .cta-row { justify-content: stretch; }

.footer-grid { padding: 38px 0 28px; gap: 24px; }
.footer-bottom-row { align-items: flex-start; flex-direction: column; padding: 18px 0; }
.footer-bottom a { display: inline-block; margin: 0 12px 0 0; }

.mobile-bottom-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 120;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
  background: rgba(255,255,255,.96);
  border-top: 1px solid rgba(15,32,51,.12);
  box-shadow: 0 -8px 24px rgba(0,0,0,.12);
  backdrop-filter: blur(12px);
}
.mobile-bottom-bar a {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border-radius: 13px;
  font-weight: 950;
  color: #fff;
  background: var(--green);
  font-size: .92rem;
}
.mobile-bottom-bar a:nth-child(2) { background: var(--blue-dark); }
.mobile-bottom-bar a:nth-child(3) { background: var(--whatsapp); color: var(--whatsapp-dark); }

.landing-popup {
  width: calc(100% - 24px);
  padding: 22px;
  border-radius: 22px;
}
.feedback-options { grid-template-columns: 1fr; }
.popup-close { top: 10px; right: 10px; }
