/* Service pages (/services/*.html) — built by tools/build_service_pages.py */
.svc-page .svc-hero { padding-top: 8rem; }
.svc-crumbs { font-size: .9rem; margin-bottom: 1rem; opacity: .8; }
.svc-crumbs a { color: inherit; }
.svc-hero h1 { font-size: clamp(2rem, 4vw, 3rem); margin: .25rem 0 1rem; }
.svc-hero .lead { max-width: 62ch; }
.svc-ctas { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.svc-body > * { max-width: 860px; }
.svc-body h2 { margin: 2.5rem 0 .75rem; }
.svc-body ul { padding-left: 1.25rem; }
.svc-body li { margin: .35rem 0; }
.svc-prices { width: 100%; border-collapse: collapse; margin: .5rem 0; }
.svc-prices th, .svc-prices td { text-align: left; padding: .75rem .5rem; border-bottom: 1px solid rgba(127, 127, 127, .25); vertical-align: top; }
.svc-prices thead th { font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; opacity: .7; }
.svc-note { font-size: .9rem; opacity: .8; }
.svc-related { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.svc-page .btn { min-height: 48px; }
@media (max-width: 640px) {
  .svc-page .svc-hero { padding-top: 6.5rem; }
  .svc-prices thead { display: none; }
  .svc-prices tr { display: block; padding: .5rem 0; border-bottom: 1px solid rgba(127, 127, 127, .25); }
  .svc-prices th, .svc-prices td { display: block; border: 0; padding: .15rem 0; }
}
.svc-page .svc-hero { padding-bottom: 1rem; }
.svc-hero + .section { padding-top: 1rem; }
.svc-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .75rem; margin: .5rem 0; }
.svc-photos figure { margin: 0; }
.svc-photos img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 8px; display: block; }
.svc-photos figcaption { font-size: .85rem; opacity: .8; margin-top: .3rem; }
