.services-intro { padding-block: 4rem 0; }
.services-intro h1 { font-size: clamp(2.8rem, 5.7vw, 5rem); line-height: 1.1; margin-block: 1.5rem; letter-spacing: -.05em; }
.services-lead { max-width: 760px; font-size: 1.25rem; color: var(--muted); }
.pricing-status { margin-top: 1.5rem; color: var(--muted); font-size: .95rem; }
.pricing-status time { font-weight: 600; color: var(--ink); }
.service-categories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2.5rem; border: 1px solid var(--line); }
.service-category { display: flex; flex-direction: column; gap: .7rem; padding: 1.5rem; text-decoration: none; }
.service-category + .service-category { border-left: 1px solid var(--line); }
.service-category:hover { background: var(--surface); }
.service-category > strong { font-size: 1.25rem; line-height: 1.3; }
.service-category > span:last-child { color: var(--muted); font-size: .95rem; margin-top: auto; }
.service-category .eyebrow { color: var(--accent); }
.service-section { padding-block: 4rem; }
.service-section + .service-section { border-top: 1px solid var(--line); }
.service-heading { max-width: 800px; margin-bottom: 2rem; }
.service-heading .eyebrow { margin-bottom: 1rem; color: var(--accent); }
.service-heading h2 { font-size: clamp(2rem, 3.7vw, 3rem); }
.service-heading > p:last-child { color: var(--muted); margin-top: 1.2rem; }
.price-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr); gap: 3rem; padding-block: 1.8rem; border-top: 1px solid var(--line); }
.price-row h3 { font-size: 1.25rem; }
.price-row h3 + p { margin-top: .7rem; color: var(--muted); font-size: 1rem; }
.price-row .service-scope { margin-top: .75rem; color: var(--accent); font-size: .9rem; font-weight: 500; }
.service-prices { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; align-self: start; }
.service-prices--local { grid-template-columns: 1fr; }
.service-prices dt { font-size: .875rem; color: var(--muted); margin-bottom: .4rem; }
.service-prices dd { margin: 0; }
.service-prices strong { display: block; font-size: clamp(1.05rem, 1.6vw, 1.3rem); font-weight: 600; line-height: 1.4; font-variant-numeric: tabular-nums; }
.service-prices dd span { display: block; color: var(--muted); font-size: .9rem; margin-top: .2rem; }
.service-section-footer { display: flex; align-items: start; gap: 3rem; padding: 1.5rem; background: var(--surface); }
.service-section-footer > p { max-width: 800px; font-size: .95rem; color: var(--muted); }
.service-section-footer .button { flex-shrink: 0; }
.pricing-terms { padding-block: 1rem 4rem; }
.pricing-terms h2 { font-size: clamp(1.9rem, 3vw, 2.5rem); }
.terms-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem; margin-top: 2rem; }
.terms-grid h3 { font-size: 1.15rem; }
.terms-grid p { margin-top: .8rem; color: var(--muted); font-size: 1rem; }
.pricing-sources { margin-top: 2.5rem; border-top: 1px solid var(--line); padding-top: 1rem; font-size: .95rem; color: var(--muted); }
.pricing-sources summary { cursor: pointer; padding-block: .5rem; width: fit-content; }
.pricing-sources summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.pricing-sources p { max-width: 850px; margin-top: .8rem; }
.pricing-sources ul { columns: 2; padding-left: 1.3rem; }
.pricing-sources li { margin-bottom: .5rem; break-inside: avoid; }
.nav-list a[aria-current="page"] { color: var(--accent); font-weight: 600; }
@media (max-width: 900px) {
    .price-row { gap: 1.5rem; grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr); }
    .service-section-footer { flex-direction: column; gap: 1rem; }
    .service-category { padding: 1.1rem; }
}
@media (max-width: 640px) {
    .services-intro { padding-top: 2.5rem; }
    .services-lead { font-size: 1.125rem; }
    .service-categories, .terms-grid { grid-template-columns: 1fr; }
    .service-category + .service-category { border-left: 0; border-top: 1px solid var(--line); }
    .service-category { gap: .4rem; }
    .service-section { padding-block: 3rem; }
    .price-row { grid-template-columns: 1fr; gap: 1rem; }
    .service-prices { gap: .8rem; }
    .service-prices strong { font-size: 1.15rem; }
    .pricing-sources ul { columns: 1; }
}
@media print {
    .service-category, .price-row { break-inside: avoid; }
    .service-section { padding-block: 1.5rem; }
    .service-section-footer .button, .pricing-sources { display: none; }
}
