.seo-area-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; font-size:16px; line-height:1.6; }
.seo-area-breadcrumb a, .seo-area-parent { color:#007b9f; text-decoration:underline; text-underline-offset:4px; }
.seo-area-parent { display:inline-flex; align-items:center; gap:16px; min-height:48px; font-size:18px; }
.seo-area-parent .arrow-icon { width:24px; height:24px; }
.seo-area-children { margin-top:32px; border:1px solid #cbdce4; background:#f2f7f7; }
.seo-area-children > summary { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:64px; padding:20px 24px; color:#09232e; font-size:18px; font-weight:600; cursor:pointer; list-style:none; }
.seo-area-children > summary::-webkit-details-marker { display:none; }
.seo-area-children > summary > span { flex:none; color:#007b9f; font-size:26px; }
.seo-area-children[open] > summary > span { transform:rotate(45deg); }
.seo-area-link-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 28px; padding:0 24px 24px; margin:0; list-style:none; }
.seo-area-link-list a { display:block; min-height:44px; padding:9px 0; color:#007b9f; font-size:18px; line-height:1.5; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.seo-area-children > summary:focus-visible, .seo-area-link-list a:focus-visible { outline:3px solid #007b9f; outline-offset:3px; }
.seo-directory { --seo-ink:#09232e; --seo-dark:#071e28; --seo-cyan:#00b6ec; --seo-link:#007b9f; padding:125px 0; color:#09232e; background:#fff; }
.seo-directory .seo-inline-cta p { color:#fff; }
.seo-directory > .container { width:calc(100% - 48px); max-width:1400px; margin:0 auto; padding:0; }
.seo-directory h1 { max-width:1080px; margin:0 0 24px; color:#09232e; font-size:50px; line-height:1.14; letter-spacing:-1px; }
.seo-directory h2 { margin:0; color:#09232e; font-size:32px; line-height:1.3; }
.seo-directory h3 { margin:0; font-size:21px; line-height:1.4; }
.seo-directory p { max-width:1000px; margin:0 0 24px; font-size:18px; line-height:1.7; color:#36586b; }
.seo-directory .seo-directory-eyebrow { margin:0 0 16px; color:#007b9f; font-size:16px; font-weight:600; }
.seo-directory-controls { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto; gap:24px; align-items:end; margin:48px 0 24px; padding:32px; border:1px solid #cbdce4; background:#f2f7f7; }
.seo-directory-controls label { display:block; margin-bottom:10px; color:#09232e; font-size:18px; font-weight:600; }
.seo-directory-controls input, .seo-directory-controls select { display:block; width:100%; min-height:56px; padding:14px 16px; border:1px solid #76929f; border-radius:0; color:#09232e; background:#fff; font-family:inherit; font-size:18px; }
.seo-directory-controls button { min-height:56px; padding:14px 24px; border:1px solid #09232e; border-radius:0; color:#fff; background:#09232e; font-family:inherit; font-size:16px; font-weight:600; cursor:pointer; }
.seo-directory-controls button:hover { background:#103744; }
.seo-directory-controls :is(input,select,button):focus-visible { outline:3px solid #007b9f; outline-offset:4px; }
.seo-directory .seo-directory-status { margin:0 0 32px; color:#36586b; font-size:16px; }
.seo-directory-groups { display:grid; gap:20px; }
.seo-directory-group { border:1px solid #cbdce4; background:#f2f7f7; }
.seo-directory-group > summary { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:80px; padding:24px 28px; color:#fff; background:#071e28; cursor:pointer; list-style:none; }
.seo-directory-group > summary::-webkit-details-marker { display:none; }
.seo-directory-group > summary > span:first-child { display:grid; gap:6px; }
.seo-directory-group > summary strong { color:#41c5e1; font-size:21px; line-height:1.4; }
.seo-directory-group > summary small { color:#e1ebf0; font-size:16px; line-height:1.5; }
.seo-directory-group > summary > span:last-child { flex:none; font-size:28px; color:#41c5e1; }
.seo-directory-group[open] > summary > span:last-child { transform:rotate(45deg); }
.seo-directory-municipalities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:20px; padding:28px; }
.seo-directory-municipality { min-width:0; border:1px solid #cbdce4; background:#fff; padding:24px; }
.seo-directory-municipality:last-child:nth-child(odd) { grid-column:1 / -1; }
.seo-directory-municipality:nth-child(odd of :not([hidden])):nth-last-child(1 of :not([hidden])) { grid-column:1 / -1; }
.seo-directory-municipality h3 a { display:inline-block; color:#09232e; font-size:21px; line-height:1.4; text-decoration:underline; text-decoration-color:#00b6ec; text-underline-offset:5px; overflow-wrap:anywhere; }
.seo-directory .seo-directory-municipality > p { margin:12px 0 0; color:#36586b; font-size:16px; }
.seo-directory-postal { margin-top:12px; }
.seo-directory-postal > summary { min-height:44px; padding:9px 0; color:#36586b; font-size:16px; line-height:1.5; cursor:pointer; }
.seo-directory .seo-directory-postal > p { margin:12px 0 0; color:#36586b; font-size:16px; }
.seo-directory-parts { margin-top:18px; border-top:1px solid #cbdce4; padding-top:12px; }
.seo-directory-parts > summary { min-height:44px; padding:9px 0; color:#007b9f; font-size:18px; line-height:1.5; cursor:pointer; }
.seo-directory-parts ul { display:grid; gap:0; margin:12px 0 0; padding:0; list-style:none; }
.seo-directory-parts a { display:block; min-height:44px; padding:9px 0; color:#007b9f; font-size:18px; line-height:1.5; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.seo-directory-group > summary:focus-visible, .seo-directory a:focus-visible, .seo-directory-parts > summary:focus-visible { outline:3px solid #007b9f; outline-offset:4px; }
.seo-directory-group > summary:focus-visible { outline-offset:5px; }
.seo-directory .seo-directory-empty { padding:28px; border:1px solid #cbdce4; background:#f2f7f7; color:#09232e; }
.seo-directory-sources { margin-top:56px; padding:28px; border:1px solid #cbdce4; background:#f2f7f7; }
.seo-directory-sources > summary { min-height:44px; color:#09232e; font-size:18px; cursor:pointer; }
.seo-directory .seo-directory-sources p { margin:20px 0 0; font-size:16px; }
.seo-directory-sources a { color:#007b9f; text-decoration:underline; text-underline-offset:3px; }
.seo-directory [hidden] { display:none !important; }
@media(max-width:1050px) {
 .seo-directory h1 { font-size:42px; }
 .seo-directory-controls { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .seo-directory-controls > button { grid-column:1/-1; justify-self:start; }
 .seo-directory-municipalities { grid-template-columns:minmax(0,1fr); }
 .seo-area-link-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .seo-directory > .container { width:calc(100% - 40px); }
 .seo-directory h1 { font-size:34px; letter-spacing:-.5px; }
 .seo-directory-controls { grid-template-columns:minmax(0,1fr); padding:24px 20px; }
 .seo-directory-controls > button { width:100%; font-size:18px; }
 .seo-directory-group > summary { padding:22px 20px; gap:16px; }
 .seo-directory-municipalities { padding:16px; gap:16px; }
 .seo-directory-municipality { padding:22px 18px; }
 .seo-area-link-list { grid-template-columns:minmax(0,1fr); }
 .seo-area-children > summary { padding:20px; }
 .seo-area-breadcrumb { justify-content:center; }
 .seo-area-navigation > .container > p { text-align:center; }
 .seo-area-parent { width:100%; justify-content:center; text-align:center; }
 .seo-directory-sources { padding:24px 20px; }
}

/* Only the canonical SEO hero card owns this native location picker. */
.local-seo-page .seo-fixed-location .compact-location-picker > summary { display:list-item; width:fit-content; min-height:44px; padding:10px 0; color:#007b9f; font-size:18px; line-height:1.4; font-weight:600; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.local-seo-page .seo-fixed-location .compact-location-picker[open] > summary { margin-bottom:12px; }
.local-seo-page .seo-fixed-location .compact-location-correction-layout { display:block; }
.local-seo-page .seo-fixed-location .compact-location-query { display:block; width:100%; min-height:56px; margin:0; padding:14px 16px; box-sizing:border-box; border:1px solid #76929f; border-radius:0; background:#fff; color:#09232e; font-family:inherit; font-size:18px; line-height:1.4; }
body.local-seo-page .home-location-compact.seo-fixed-location .compact-location-query:focus-visible { border-color:#007b9f; outline:3px solid #007b9f !important; outline-offset:3px; }
.local-seo-page .seo-fixed-location .compact-location-results { position:absolute; inset:auto 0 calc(100% + 8px); width:100%; max-height:300px; box-sizing:border-box; margin:0; border-radius:0; }
.local-seo-page .seo-fixed-location .compact-location-results.opens-below { top:calc(100% + 8px); bottom:auto; }
.local-seo-page .seo-fixed-location .compact-location-results button { min-height:56px; border-radius:0; font-size:18px; overflow-wrap:anywhere; }
.local-seo-page .seo-fixed-location .compact-location-results button span { font-size:16px; }
.local-seo-page .seo-fixed-location .compact-location-status { position:static; width:auto; height:auto; margin:12px 0 0; overflow:visible; clip-path:none; white-space:normal; color:#36586b; font-size:16px; line-height:1.5; }
.local-seo-page .seo-fixed-location .compact-location-status:empty { display:none; }
.local-seo-page .seo-fixed-location .seo-location-directory { margin:12px 0 0; font-size:16px; line-height:1.5; }
.local-seo-page .seo-fixed-location .seo-location-directory a { display:inline-block; min-height:44px; padding:10px 0; color:#007b9f; text-decoration:underline; text-underline-offset:4px; }
.local-seo-page .seo-fixed-location :is(summary,.compact-location-results button,.seo-location-directory a):focus-visible { outline:3px solid #007b9f; outline-offset:3px; }
.local-seo-page .seo-fixed-location .compact-location-results[hidden] { display:none; }
