/* Service-area presentation: deliberately scoped to this page. */
.service-areas-page{--area-line:#dce7e7;--area-ink:#12304a;--area-teal:#146e72}
.service-areas-page .section{padding-block:48px}
.service-areas-page .page-hero{background:#eef5f4;padding-block:40px 44px;border-bottom:1px solid var(--area-line)}
.service-areas-page .page-hero h1{max-width:21ch;font-size:clamp(2rem,3.4vw,3rem);margin:16px 0}
.service-areas-page .page-hero__lead{max-width:78ch;font-size:17px;line-height:1.7;margin:0}
.service-areas-page .coverage-intro{background:white;padding-bottom:0}
.service-areas-page .coverage-intro .container{max-width:1248px}
.service-areas-page h2{font-size:clamp(1.65rem,2.5vw,2.15rem);margin:8px 0 14px}
.service-areas-page .section-lead{max-width:83ch;margin:0;line-height:1.7}
.service-areas-page .regions-section{padding-top:32px}
.service-areas-page .regions-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.service-areas-page .regions-heading-row h2{font-size:24px;margin:0}
.service-areas-page .coverage-summary{color:var(--area-teal);font-size:13px;font-weight:600}
.service-areas-page .areas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.service-areas-page .area-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid var(--area-line);border-radius:16px;background:#fff;box-shadow:0 3px 12px #12304a04}
.service-areas-page .area-card__header{display:flex;flex-direction:column;gap:14px;align-items:flex-start;margin:0 0 16px}
.service-areas-page .area-card__header>svg{box-sizing:content-box;width:21px;height:21px;padding:10px;border-radius:12px;background:#edf6f3;color:var(--area-teal)}
.service-areas-page .area-card h3{font-size:18px;line-height:1.4;margin:0;letter-spacing:-.025em}
.service-areas-page .area-card__list{list-style:none;margin:0 0 20px;padding:0;color:#526975;font-size:14px;line-height:1.8}
.service-areas-page .area-card__badge{align-self:flex-start;margin-top:auto;padding:5px 10px;border-radius:6px;background:#eaf5ef;color:#286645;font-size:11px;font-weight:650;letter-spacing:.025em}
.service-areas-page .area-card__badge:before{content:'✓';margin-right:6px}
.service-areas-page .area-card--contact{background:#123b43;border-color:#123b43;justify-content:center;align-items:flex-start}
.service-areas-page .area-card--contact h3{color:#fff;font-size:23px;line-height:1.3;margin:0 0 14px}
.service-areas-page .area-card--contact p{color:#d7e6e7;font-size:14px;line-height:1.7;margin:0 0 24px}
.service-areas-page .area-card--contact a{color:#fff;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.service-areas-page .availability-section{background:#f5f8f9}
.service-areas-page .availability-section .section-header{margin-bottom:26px}
.service-areas-page .availability-table-wrapper{overflow:auto;border:1px solid var(--area-line);border-radius:16px;background:white;box-shadow:0 4px 16px #12304a03}
.service-areas-page .availability-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;margin:0}
.service-areas-page .availability-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.service-areas-page .availability-table thead{background:#eaf1f2}
.service-areas-page .availability-table th{font-weight:600;color:var(--area-ink);text-align:left}
.service-areas-page .availability-table th,.service-areas-page .availability-table td{padding:19px 24px;vertical-align:middle;border-bottom:1px solid #e7eeee}
.service-areas-page .availability-table thead th{font-size:12px;letter-spacing:.025em;white-space:nowrap;padding-block:17px}
.service-areas-page .availability-table tbody th{width:40%}
.service-areas-page .availability-table tbody th a{color:inherit;text-decoration:none}
.service-areas-page .availability-table tbody th a:hover{color:var(--area-teal);text-decoration:underline}
.service-areas-page .availability-status{display:inline-flex;align-items:center;gap:7px;color:#286645;background:#edf7f1;border-radius:6px;padding:5px 9px;font-size:12px;white-space:nowrap}
.service-areas-page .availability-label{position:static!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;overflow:visible!important}
.service-areas-page .table-note{margin:0;padding:17px 24px;font-size:13px;line-height:1.6;color:#526975}
.service-areas-page .expansion-section>.container{max-width:1248px;display:grid;grid-template-columns:1fr 1fr;gap:20px 64px}
.service-areas-page .expansion-copy p{font-size:15px;line-height:1.75;max-width:58ch}
.service-areas-page .expanding-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-self:center}
.service-areas-page .expanding-item{display:flex;align-items:flex-start;gap:10px;padding:18px 16px;border-radius:10px;background:#f2f7f6;border:1px solid #e3edeb;color:var(--area-ink);font-size:14px;line-height:1.6}
.service-areas-page .expanding-item svg{flex:none;margin-top:2px;color:var(--area-teal);width:18px;height:18px}
.service-areas-page .expansion-section .notice-box{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;border-top:1px solid var(--area-line);padding:22px 0 0;margin:8px 0 0!important;background:transparent}
.service-areas-page .notice-box>svg{flex:none;margin-top:4px;color:var(--area-teal)}
.service-areas-page .notice-box p{margin:0;font-size:14px;line-height:1.7}
.service-areas-page .notice-box a{color:var(--area-teal);text-decoration:underline}
.service-areas-page .cta-banner{padding-block:40px}
@media(max-width:1100px){.service-areas-page .areas-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-areas-page .area-card--contact{grid-column:span 2}.service-areas-page .expansion-section>.container{gap:24px;grid-template-columns:1fr}.service-areas-page .availability-table th,.service-areas-page .availability-table td{padding:17px 18px}}
@media(max-width:767px){.service-areas-page .section{padding-block:32px}.service-areas-page .coverage-intro{padding-bottom:0}.service-areas-page .page-hero{padding-block:28px 32px}.service-areas-page .page-hero__lead{font-size:15px}.service-areas-page .areas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-areas-page .area-card{padding:18px}.service-areas-page .area-card--contact{grid-column:auto}.service-areas-page .area-card h3{font-size:16px}.service-areas-page .area-card--contact h3{font-size:21px}.service-areas-page .area-card__list{font-size:13px}.service-areas-page .regions-heading-row{align-items:flex-start;flex-direction:column;gap:6px}.service-areas-page .availability-table{min-width:700px}.service-areas-page .availability-table tbody th{width:36%}.service-areas-page .table-note{min-width:600px}.service-areas-page .expanding-grid{gap:10px}.service-areas-page .expanding-item{padding:14px 12px;font-size:13px}}
@media(max-width:359px){.service-areas-page .areas-grid,.service-areas-page .expanding-grid{grid-template-columns:1fr}.service-areas-page .area-card__header{flex-direction:row;align-items:center}.service-areas-page .area-card__list{columns:2}}
.service-areas-page .availability-table{display:table;max-width:none}
.service-areas-page h1[id],.service-areas-page h2[id]{scroll-margin-top:110px}
