/* Homepage spacing experiment. Remove this stylesheet's link to restore the prior layout. */
#about, #services, #location, #contact { padding-block: 80px; }
#about, #location { background: #fff; }
#services { background: #eef0f0; border-block: 1px solid #dce0e1; }
#contact { background: #f6f4f1; border-top: 1px solid #e3dfd9; }

#main .section-header { margin-bottom: 36px; max-width: 720px; }
#main .section-kicker { margin-bottom: 12px; }
#main .section-title { font-size: clamp(1.75rem, 2.7vw, 2.25rem); line-height: 1.2; }
#main .section-intro { max-width: 58ch; margin-top: 16px; }

#about .about-grid { gap: 56px; align-items: center; }
#about .about-card { padding: 0; border: 0; border-radius: 0; background: transparent; }
#about .about-card h3 { font-size: 1.1875rem; margin-bottom: 16px; }
#about .about-list { margin: 24px 0 0; }
#about .about-list li { margin-bottom: 12px; }
#about .about-placeholder { border-radius: 8px; }
#about .about-placeholder img { height: auto; aspect-ratio: 4 / 3; }

#services .services-grid { gap: 0; }
#services .service-card { padding: 0 30px; border: 0; border-left: 1px solid #cdd2d4; border-radius: 0; background: transparent; }
#services .service-card:first-child { padding-left: 0; border-left: 0; }
#services .service-card:last-child { padding-right: 0; }
#services .service-label { margin-bottom: 16px; }
#services .service-card h3 { font-size: 1.1875rem; margin-bottom: 16px; }
#services .service-card p { margin-bottom: 16px; }
#services .service-list { margin-block: 8px 24px; }
#services .service-list li { margin-bottom: 12px; }
#services .service-pill-row { padding-top: 16px; }

#location .location-grid { gap: 56px; }
#location .location-card { padding: 0; border: 0; border-radius: 0; background: transparent; }
#location .location-card h3 { font-size: 1.1875rem; margin-bottom: 14px; }
#location .location-meta { margin-block: 24px 32px; }
#location .map-image { border-radius: 8px; }
#location .map-image img { height: 320px; }

#contact .contact-card { padding: 0; border: 0; border-radius: 0; background: transparent; }
#contact .contact-card h3 { font-size: 1.1875rem; margin-bottom: 16px; }
#contact .contact-details div { margin-top: 12px; }
#contact .danny-section { gap: 48px; margin-top: 64px; padding-top: 48px; }
#contact .danny-photo-placeholder { border-radius: 8px; }
#contact .danny-text { text-align: left; }
#contact .danny-text h3 { font-size: 1.25rem; }

@media (min-width: 1200px) {
  #about, #services, #location, #contact { padding-block: 88px; }
}
@media (max-width: 960px) {
  #about .about-grid, #location .location-grid { gap: 32px; }
  #services .service-card { padding-inline: 20px; }
}
@media (max-width: 720px) {
  #about, #services, #location, #contact { padding-block: 56px; }
  #main .section-header { margin-bottom: 28px; }
  #main .section-kicker { margin-bottom: 10px; }
  #about .about-grid, #location .location-grid { gap: 32px; }
  #services .service-card { padding: 30px 0; border-left: 0; border-top: 1px solid #cdd2d4; }
  #services .service-card:first-child { padding-top: 0; border-top: 0; }
  #services .service-card:last-child { padding-bottom: 0; }
  #services .service-list { margin-bottom: 12px; }
  #services .service-pill-row { margin-top: 0; padding-top: 12px; }
  #location .map-image img { height: auto; aspect-ratio: 4 / 3; }
  #contact .danny-section { gap: 28px; margin-top: 48px; padding-top: 40px; }
}
