/* Layout only. Load after style.css, which owns all theme and component presentation. */
.seo-page [hidden] { display:none !important; }
.seo-page .wrap { width:100%; }
.seo-page h1, .seo-page h2, .seo-page h3, .seo-page h4, .seo-page p { margin-top:0; }
.seo-page h1, .seo-page h2 { text-wrap:balance; }
.seo-page h1 { margin-bottom:24px; }
.seo-skip { position:absolute; top:12px; left:16px; z-index:10; padding:12px 20px; transform:translateY(-180%); }
.seo-skip:focus { transform:translateY(0); }
.seo-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 12px; margin-bottom:36px; }
.seo-eyebrow { margin-bottom:16px; }
.seo-lede { max-width:570px; margin-bottom:24px; }
.seo-text-link { display:inline-flex; gap:16px; align-items:center; min-height:44px; }
.seo-centre-hero { padding:24px 0 0; }
.seo-hero-layout { display:grid; gap:28px; }
.seo-centre-hero h1 span { display:block; margin-top:12px; }
.seo-centre-detail { padding:8px 0 8px 20px; }
.seo-centre-detail .seo-eyebrow { margin-bottom:10px; }
.seo-address { max-width:290px; }
.seo-centre-detail a { display:inline-block; padding:8px 0; }
.seo-location-mark { display:none; }
.seo-metrics { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; padding:26px 0; margin:28px 0 0; }
.seo-metrics div { display:flex; flex-direction:column-reverse; justify-content:end; }
.seo-metrics div + div { padding-left:14px; }
.seo-metrics dd { margin:0 0 4px; }
.seo-promo-wrap { padding-top:12px; }
.seo-promo { display:grid; overflow:hidden; }
.seo-promo-copy { padding:28px 24px; }
.seo-promo h2 { margin-bottom:20px; }
.seo-promo-lede { max-width:510px; }
.seo-benefits { padding:0; margin:24px 0; list-style:none; display:grid; gap:10px; }
.seo-benefits li { padding-left:24px; position:relative; }
.seo-benefits li::before { position:absolute; left:0; }
.seo-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; padding:15px 22px; min-height:52px; }
.seo-availability { margin:12px 0 0; }
.seo-phone-stage { margin:0; padding:24px 28px 20px; display:flex; flex-direction:column; align-items:center; gap:20px; }
.seo-phone { width:218px; flex-shrink:0; overflow:hidden; }
.seo-phone img { width:100%; height:auto; display:block; }
.seo-phone-stage .seo-phone { width:190px; }
.seo-section { padding:56px 0; }
.seo-section-heading { display:grid; gap:12px; margin-bottom:26px; }
.seo-section-heading h2 { margin-bottom:0; }
.seo-section-heading .seo-eyebrow { margin-bottom:10px; }
.seo-section-heading > p { max-width:380px; margin-bottom:0; }
.seo-route-note { padding-left:14px; margin-bottom:28px; }
.seo-route-list { display:grid; gap:20px; padding:0; margin:0; list-style:none; }
.seo-route { min-width:0; overflow:hidden; }
.seo-route-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:18px 20px; }
.seo-route-heading h3 { margin:0; }
.seo-free { padding:4px 9px; }
.seo-route-art { position:relative; padding:12px 12px 24px; }
.seo-route-art img { display:block; width:100%; height:180px; object-fit:contain; }
.seo-route-art > span { position:absolute; bottom:8px; left:20px; }
.seo-route-facts { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:20px; margin:0; }
.seo-route-facts dd { margin:2px 0 0; }
.seo-route-facts .seo-distance { grid-column:1 / -1; padding-bottom:14px; }
.seo-distance dd small { float:right; padding-top:12px; }
.seo-route-footnote { margin:28px 0 0; }
.seo-nearby-list { padding:0; list-style:none; display:grid; margin:0 0 24px; }
.seo-nearby-list a { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 0; }
.seo-nearby-list h3 { margin:0 0 5px; }
.seo-nearby-list p { margin:0; }
.seo-nearby-list a > span { flex-shrink:0; }
.seo-nearby-list a > span span { margin-left:12px; }
.seo-directory-hero { overflow:hidden; padding:24px 0 0; }
.seo-directory-layout { display:grid; gap:20px; }
.seo-hero-caption { margin:16px 0 0; }
.seo-directory-visual { margin:20px 0 0; padding:28px 16px 0; height:300px; overflow:hidden; display:flex; justify-content:center; align-items:flex-start; gap:20px; }
.seo-directory-visual .seo-phone { width:170px; transform:rotate(-7deg); margin-top:16px; }
.seo-directory-visual figcaption { max-width:130px; padding-top:56px; }
.seo-directory-visual .seo-eyebrow { display:block; }
.seo-directory-promo { padding:24px 0; }
.seo-directory-promo .wrap { display:grid; gap:12px; }
.seo-directory-promo p { margin:0; max-width:650px; }
.seo-directory-promo strong { display:block; margin-bottom:6px; }
.seo-filter { padding:24px; margin-bottom:36px; scroll-margin-top:24px; }
.seo-filter label { display:block; margin-bottom:10px; }
.seo-search-field { position:relative; }
.seo-search-field > span { position:absolute; left:16px; top:2px; pointer-events:none; }
.seo-filter input { width:100%; min-height:56px; padding:14px 16px 14px 48px; }
#filter-status { margin:12px 0 0; }
.seo-city { display:grid; gap:6px; padding:24px 0; }
.seo-city > h3 { margin:0; padding-top:12px; }
.seo-centre-list { list-style:none; padding:0; margin:0; }
.seo-centre-item a { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; justify-content:space-between; padding:16px 0; }
.seo-centre-item h4 { margin:0 0 6px; }
.seo-search-text { max-width:520px; margin:0; }
.seo-centre-count { flex-shrink:0; }
.seo-centre-count span { margin-left:12px; }
.seo-empty { padding:28px; }
.seo-empty strong { display:block; }
@media (min-width: 600px) {
.seo-route-list { grid-template-columns:repeat(2, minmax(0, 1fr)); }
.seo-promo-copy { padding:40px; }
.seo-promo { grid-template-columns:1.25fr 1fr; align-items:center; }
.seo-phone-stage { padding:36px 24px; }
.seo-phone-stage .seo-phone { width:210px; transform:rotate(5deg); }
.seo-metrics { gap:24px; }
.seo-metrics div + div { padding-left:24px; }
.seo-nearby-list { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 36px; }
.seo-city { grid-template-columns:160px minmax(0, 1fr); gap:24px; }
.seo-directory-visual { height:360px; }
.seo-directory-visual .seo-phone { width:210px; }
}
@media (min-width: 900px) {
.seo-centre-hero { padding-top:32px; }
.seo-breadcrumb { margin-bottom:48px; }
.seo-hero-layout { grid-template-columns:1.65fr 1fr; gap:80px; align-items:center; }
.seo-centre-detail { padding:28px; }
.seo-location-mark { display:grid; place-items:center; width:40px; height:40px; margin-bottom:22px; }
.seo-metrics { margin-top:42px; padding:28px 0 36px; }
.seo-promo { grid-template-columns:1.4fr 1fr; }
.seo-promo-copy { padding:44px 48px; }
.seo-phone-stage .seo-phone { width:220px; }
.seo-section { padding:76px 0; }
.seo-section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:32px; }
.seo-route-list { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.seo-directory-layout { grid-template-columns:1.3fr 1fr; gap:56px; align-items:center; }
.seo-directory-layout > div { padding-bottom:56px; }
.seo-directory-visual { height:480px; margin-top:24px; gap:24px; padding-top:36px; }
.seo-directory-visual .seo-phone { width:228px; margin-top:30px; }
.seo-directory-visual figcaption { padding-top:80px; }
.seo-directory-promo .wrap { grid-template-columns:1fr auto; gap:4px 40px; align-items:center; }
.seo-directory-promo p { grid-row:span 2; }
.seo-coming { grid-column:2; }
.seo-filter { max-width:780px; }
.seo-city { grid-template-columns:230px minmax(0, 1fr); }
.seo-centre-item a { flex-wrap:nowrap; padding:18px 16px; }
}
.seo-eyebrow { display: inline-block; padding: 8px 14px; }
.seo-button { min-height: 62px; padding: 16px 28px; }

.seo-hero-layout > *, .seo-directory-layout > *, .seo-promo > * { min-width: 0; }
.seo-phone { max-width: 100%; }
