*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { line-height: 1.6; }
.container { width: min(92%, 1200px); margin-inline: auto; }
nav { padding: 0; }
.nav-inner { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; }
.hero-inner { display: grid; gap: 40px; }
h1 { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 800; line-height: 1.2; margin-bottom: 16px; }
h2 { font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 700; margin-bottom: 16px; }
.hero-sub { font-size: 1.1rem; opacity: 0.75; margin-bottom: 32px; }
.specialty, .lead-magnet, .services { padding: 80px 0; }
.services-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 24px; }
.service-card { border: 1.5px solid #e5e7eb; border-radius: 12px; padding: 28px; }
.service-price { font-size: 1.5rem; font-weight: 800; margin: 8px 0 4px; }
.service-duration { color: #6b7280; margin-bottom: 20px; }
footer { padding: 40px 0; background: #f9fafb; border-top: 1px solid #e5e7eb; }
.footer-inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.page-header { padding: 60px 0 40px; }

@media (max-width: 640px) {
  .nav-inner { flex-wrap: wrap; gap: 12px; }
  .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
  .nav-links a { margin-left: 0; }
  .footer-inner { flex-direction: column; gap: 8px; text-align: center; }
}
