/* Locations layout adapted from https://cardiohealth.ca/locations/. Scoped to this page. */
.page-locations{--deep-blue-rgb:25, 57, 95;--brand-blue-rgb:21, 91, 153;--berry-rgb:168, 50, 68;--ink-rgb:32, 52, 75;--canvas-rgb:241, 236, 231;--section-rgb:220, 234, 241;--header-surface-rgb:247, 241, 236;--accent-inverse-rgb:216, 234, 224;--navy:#23472d;--navy-soft:#365d78;--blue:#4f822d;--logo-blue:#23472d;--berry:#4f822d;--berry-text:#4f822d;--berry-dark:#23472d;--danger:#90263a;--danger-soft:#f4d9dc;--periwinkle:#91b7cf;--ink:#293a2d;--muted:#5c695e;--text-on-dark:#f8e9df;--text-on-red:#f8e9df;--accent-inverse:#d8eae0;--peach:#ebe1da;--soft-yellow:#eadfb6;--mint:#e1ece6;--emerald:#17614f;--text-primary:var(--ink);--text-secondary:var(--muted);--text-tertiary:var(--navy-soft);--text-action:var(--blue);--text-brand:var(--berry-text);--text-content-heading:#23472d;--text-content-strong:#23472d;--text-content-body:#293a2d;--text-content-secondary:#5c695e;--surface-canvas:#f6f6ed;--surface-raised:#fffef9;--surface-section:#e9f0df;--surface-selected:#dce9cc;--surface-rose-canvas:#f3e1e2;--surface-rose:#e8c4c7;--surface-rose-strong:#c95d6a;--surface-disabled:#ded6d1;--text-disabled:#4d5d69;--surface-warm:var(--surface-rose-canvas);--surface-cool:#e9f0df;--surface-info:#e9f0df;--surface-cardiology:var(--surface-rose);--surface-success:var(--mint);--surface-header-glass:rgba(var(--header-surface-rgb), .86);--surface-menu-glass:rgba(var(--header-surface-rgb), .86);--line-neutral:#a7b4be;--line:var(--line-neutral);--line-subtle:rgba(var(--ink-rgb), .18);--border-strong:#71816d;--border-card:var(--border-strong);--border-control:var(--border-strong);--focus-ring:var(--blue);--content-max:1560px;--font-display:Georgia, "Times New Roman", serif;--font-ui:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif:var(--font-display);--sans:var(--font-ui);--text-micro:12px;--text-small:13px;--text-body:16px;--text-page-title:clamp(48px, 5vw, 72px);--weight-regular:400;--weight-medium:500;--weight-bold:700;--weight-extrabold:800;--target-min:44px}
.page-locations *{box-sizing:border-box}
.page-locations{scroll-behavior:smooth;scroll-padding-top:128px}
.page-locations{background:var(--surface-canvas);color:var(--text-primary);font-family:var(--sans);font-size:var(--text-body);margin:0;line-height:1.5}
.page-locations a{color:inherit;text-decoration:none}
.page-locations button,
.page-locations input,
.page-locations textarea{font:inherit}
.page-locations h1,
.page-locations h2,
.page-locations h3{text-wrap:balance}
.page-locations .eyebrow{color:var(--navy-soft);font-size:var(--text-micro);line-height:1;font-weight:var(--weight-extrabold);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:14px;margin:0 0 26px;display:flex}
.page-locations .eyebrow span{background:var(--berry);width:24px;height:2px;display:block}
.page-locations .section-pad{padding:110px 32px}
.page-locations .location-finder-shell{background:var(--surface-section);border:1px solid var(--line);max-width:1320px;height:700px;box-shadow:0 24px 65px rgba(var(--ink-rgb), .1);border-radius:18px;grid-template-columns:410px minmax(0,1fr);margin:0 auto;display:grid;overflow:hidden}
.page-locations .location-sidebar{border-right:1px solid var(--line-subtle);background:rgba(var(--section-rgb), .98);min-height:0;padding:32px 28px;overflow-y:auto}
.page-locations .location-sidebar .eyebrow{font-size:var(--text-micro);margin-bottom:18px}
.page-locations .location-sidebar h2{color:var(--navy);font:38px/1 var(--serif);letter-spacing:-.035em;margin:0}
.page-locations .location-sidebar>p:not(.eyebrow){color:var(--muted);margin:18px 0 26px;font-size:13px;line-height:1.65}
.page-locations .location-sidebar label{color:var(--navy);margin-bottom:8px;font-size:12px;font-weight:800;display:block}
.page-locations .location-sidebar input{border:1px solid var(--border-control);background:var(--surface-raised);width:100%;height:48px;color:var(--ink);border-radius:8px;outline:none;padding:0 14px}
.page-locations .location-sidebar input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px rgba(var(--brand-blue-rgb), .16)}
.page-locations .location-sidebar input:disabled{opacity:1;border-color:var(--border-control);background:var(--surface-info);color:var(--text-tertiary);cursor:wait}
.page-locations .nearby-button:disabled{opacity:1;border-color:var(--border-control);background:var(--surface-info);color:var(--text-tertiary);box-shadow:none;cursor:wait}
.page-locations .view-all-locations{border:0;border-radius:8px;width:100%;min-height:46px;color:var(--navy);font-size:var(--text-small);font-weight:var(--weight-extrabold);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;margin-top:20px;padding:0 12px;display:flex}
.page-locations .view-all-locations:hover,
.page-locations .view-all-locations:focus-visible{color:var(--navy);background:var(--surface-info)}
.page-locations .region-accordion{border-top:0;margin-top:20px}
.page-locations .region-accordion-item{border-bottom:1px solid var(--line-subtle);border-radius:12px;margin-bottom:8px;padding:0 12px 8px}
.page-locations .region-accordion-item.is-open{background:var(--surface-selected);box-shadow:none}
.page-locations .region-toggle{width:100%;min-height:62px;color:var(--navy);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:1fr auto 30px;align-items:center;gap:10px;padding:0;display:grid}
.page-locations .region-toggle>span{font-size:13px;font-weight:800}
.page-locations .region-toggle small{color:var(--muted);font-size:var(--text-micro)}
.page-locations .region-toggle i{border:1px solid var(--line);border-radius:50%;place-items:center;width:26px;height:26px;font-style:normal;display:grid}
.page-locations .region-clinic-list,
.page-locations .location-search-results>div{display:grid;gap:10px;padding-bottom:8px}
.page-locations .clinic-list-button{position:relative;border:0;border-radius:8px;width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;padding:16px 11px 16px 14px}
.page-locations .clinic-list-button strong{color:var(--navy);font-size:13px;display:block}
.page-locations .clinic-list-button span{color:var(--muted);font-size:var(--text-micro);margin-top:5px;line-height:1.45;display:block}
.page-locations .clinic-list-button:hover,
.page-locations .clinic-list-button:focus-visible{background:var(--surface-info)}
.page-locations .result-count{color:var(--berry-dark);font-size:var(--text-micro);font-weight:var(--weight-extrabold);margin:14px 0 4px}
.page-locations .no-results{color:var(--muted);padding:22px 0;font-size:13px;line-height:1.6}
.page-locations .location-reset{border:1px solid var(--navy);width:100%;min-height:44px;color:var(--navy);font-size:var(--text-small);font-weight:var(--weight-extrabold);cursor:pointer;background:0 0;border-radius:999px;margin-top:18px}
.page-locations .location-reset:hover{background:var(--navy);color:var(--text-on-dark)}
.page-locations .map-panel{background:var(--surface-info);min-width:0;min-height:0;position:relative}
.page-locations .clinic-map-canvas{width:100%;height:100%}
.page-locations .map-status{z-index:2;background:rgba(var(--section-rgb), .96);color:var(--navy);border:1px solid var(--line);border-radius:8px;margin:0;padding:12px 16px;font-size:12px;position:absolute;inset:auto 20px 20px}
.page-locations .canmed-map-marker{cursor:pointer;background:0 0;border:0;width:46px;height:50px;padding:0;transition:opacity .2s;overflow:visible}
.page-locations .canmed-marker-pulse{background:rgba(var(--berry-rgb), .22);border-radius:50%;width:28px;height:9px;position:absolute;bottom:0;left:9px}
.page-locations .canmed-marker-pin{border:3px solid var(--text-on-dark);background:var(--berry);width:34px;height:34px;box-shadow:0 0 0 2px rgba(var(--berry-rgb), .28);border-radius:50% 50% 50% 8px;place-items:center;transition:background-color .16s,scale .16s,box-shadow .16s;display:grid;position:absolute;top:9px;left:6px;transform:rotate(-45deg)}
.page-locations .canmed-marker-pin span{background:var(--surface-raised);border-radius:50%;width:10px;height:10px;display:block}
.page-locations .canmed-map-marker:hover .canmed-marker-pin,
.page-locations .canmed-map-marker:focus-visible .canmed-marker-pin{background:var(--berry-dark);scale:1.06}
.page-locations .canmed-map-marker.is-selected .canmed-marker-pin{background:var(--navy);box-shadow:0 0 0 3px var(--text-on-dark), 0 0 0 6px var(--berry-dark);scale:1.12}
.page-locations .canmed-map-marker.is-selected{z-index:4!important}
.page-locations .maplibregl-popup-content{overscroll-behavior:contain;max-height:min(620px,100vh - 180px);overflow-y:auto;box-shadow:0 18px 45px rgba(var(--ink-rgb), .22)!important;border-radius:10px!important;padding:0!important}
.page-locations .maplibregl-map,
.page-locations .maplibregl-ctrl,
.page-locations .maplibregl-popup{font-family:var(--sans)}
.page-locations .maplibregl-popup{z-index:3}
.page-locations .maplibregl-popup-close-button{width:44px;height:44px;color:var(--navy);font-size:22px}
.page-locations .clinic-map-popup{background:var(--surface-section);border-radius:inherit;width:310px;padding:24px 22px 20px}
.page-locations .clinic-popup-region{color:var(--berry);font-size:var(--text-micro);font-weight:var(--weight-extrabold);letter-spacing:.1em;text-transform:uppercase;margin:0 30px 10px 0}
.page-locations .clinic-map-popup>strong{color:var(--navy);font:23px/1.06 var(--serif);display:block}
.page-locations .clinic-map-popup address{color:var(--muted);margin:12px 0 16px;font-size:12px;font-style:normal;line-height:1.5}
.page-locations .clinic-popup-links{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:9px;padding:12px 0;display:flex}
.page-locations .clinic-popup-links a{min-height:44px;color:var(--navy);font-size:var(--text-small);font-weight:var(--weight-extrabold);align-items:center;padding:8px 0;display:flex}
.page-locations .clinic-map-popup small{color:var(--muted);font-size:var(--text-micro);margin-top:12px;display:block}
@media (width>=681px){
.page-locations .clinic-popup-links{gap:2px;padding:8px 0}
.page-locations .clinic-popup-links a{min-height:34px;padding:3px 0}
}
@media (width<=960px){
.page-locations{scroll-padding-top:82px}
.page-locations .section-pad{padding:80px 20px}
.page-locations .location-finder-shell{grid-template-columns:1fr;height:auto}
.page-locations .location-sidebar{border-right:0;border-bottom:1px solid var(--line-subtle);max-height:650px}
.page-locations .map-panel{height:590px}
}
@media (width<=680px){
.page-locations .location-finder-shell{border-radius:12px}
.page-locations .location-sidebar{max-height:620px;padding:26px 20px}
.page-locations .region-toggle{grid-template-columns:1fr auto 28px}
.page-locations .map-panel{height:510px}
.page-locations .clinic-map-popup{width:260px;padding:20px 18px 17px}
.page-locations .clinic-map-popup>strong{font-size:20px}
}
@media (prefers-reduced-motion:reduce){
.page-locations{scroll-behavior:auto}
.page-locations *{transition-duration:.01ms!important}
}
.page-locations .sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}
.page-locations .location-sidebar input::placeholder{color:var(--muted);opacity:1}
.page-locations .locations-page{background:var(--surface-canvas)}
.page-locations .location-finder-shell{background:var(--surface-section);align-items:start;height:auto;min-height:720px;overflow:visible}
.page-locations .location-sidebar{background:rgba(var(--canvas-rgb), .98);min-height:720px;overflow:visible}
.page-locations .nearby-button{border:1px solid var(--blue);background:var(--blue);width:100%;min-height:44px;color:var(--text-on-dark);cursor:pointer;font-size:var(--text-small);font-weight:var(--weight-extrabold);border-radius:999px;margin-top:10px}
.page-locations .nearby-button:hover{background:var(--navy);border-color:var(--navy)}
.page-locations .location-status{color:var(--navy)!important;margin:10px 0 0!important;font-size:12px!important}
.page-locations .location-search-attribution{color:var(--muted)!important;font-size:var(--text-micro)!important;margin:8px 0 0!important;line-height:1.45!important}
.page-locations .location-search-attribution a{color:var(--navy);font-weight:800}
.page-locations .clinic-list-button small{color:var(--berry-dark);font-size:var(--text-micro);font-weight:var(--weight-bold);margin-top:6px;display:block}
.page-locations .map-panel{height:720px;position:sticky;top:130px}
@media (width<=960px){
.page-locations .location-finder-shell{grid-template-columns:1fr}
.page-locations .location-sidebar{min-height:0;max-height:none}
.page-locations .map-panel{height:590px;position:relative;top:auto}
}
.page-locations .nearby-button,
.page-locations .location-reset{transition:transform .18s,background-color .18s,border-color .18s,color .18s,box-shadow .18s}
.page-locations .section-pad{padding-left:max(32px, calc((100vw - var(--content-max)) / 2 + 32px));padding-right:max(32px, calc((100vw - var(--content-max)) / 2 + 32px))}
.page-locations .locations-page.section-pad{padding-top:44px}
.page-locations .location-finder-shell{border-radius:12px}
.page-locations .location-sidebar label{font-size:13px}
.page-locations .region-toggle>span,
.page-locations .clinic-list-button strong{font-size:14px}
.page-locations .region-toggle small,
.page-locations .clinic-list-button span{font-size:var(--text-micro)}
.page-locations .clinic-list-button.is-selected{border-radius:8px 8px 0 0;background:var(--surface-selected);box-shadow:none}
/* Keep the straight selection marker separate from the rounded panel corners. */
.page-locations .clinic-list-button.is-selected::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0;background:var(--blue);pointer-events:none}
.page-locations .canmed-region-marker{border:3px solid var(--text-on-dark);background:var(--navy);width:44px;height:44px;color:var(--text-on-dark);box-shadow:0 0 0 2px rgba(var(--deep-blue-rgb), .2), 0 12px 24px rgba(var(--deep-blue-rgb), .22);cursor:pointer;font-size:14px;font-weight:var(--weight-extrabold);border-radius:50%;padding:0;transition:transform .18s,background-color .18s}
.page-locations .canmed-region-marker:hover,
.page-locations .canmed-region-marker:focus-visible{background:var(--berry-dark);transform:scale(1.08)}
.page-locations .maplibregl-cooperative-gesture-screen{background:rgba(var(--deep-blue-rgb), .86)!important}
.page-locations .maplibregl-desktop-message,
.page-locations .maplibregl-mobile-message{color:var(--text-on-dark)!important}
.page-locations .map-loading-state{z-index:3;background:var(--surface-info);color:var(--navy);text-align:center;place-content:center;justify-items:center;gap:8px;display:grid;position:absolute;inset:0}
.page-locations .map-loading-state strong{font:24px var(--serif)}
.page-locations .map-loading-state small{color:var(--muted);font-size:13px}
.page-locations .map-loading-pulse{border:3px solid rgba(var(--deep-blue-rgb), .18);border-top-color:var(--blue);border-radius:50%;width:42px;height:42px;margin-bottom:8px;animation:.85s linear infinite map-spin}
@keyframes map-spin{to{transform:rotate(360deg)}}
.page-locations .location-finder-shell{border-color:var(--border-card)}
@media (width<=960px){
.page-locations .section-pad{padding-left:20px;padding-right:20px}
}
@media (prefers-reduced-motion:reduce){
.page-locations .map-loading-pulse{animation:none}
}
@media print{
.page-locations{background:var(--surface-raised);color:#000}
}
.page-locations .section-pad{padding-top:72px;padding-bottom:72px}
.page-locations .eyebrow{font-size:var(--text-micro)}
.page-locations .region-toggle:focus-visible{outline-offset:-4px;box-shadow:none}
.page-locations .locations-page.section-pad{padding-bottom:60px}
.page-locations .location-finder-shell{border-radius:12px;grid-template-columns:380px minmax(0,1fr);min-height:680px}
.page-locations .map-panel{scroll-margin-top:90px}
.page-locations .map-deferred-state{z-index:3;background:var(--surface-info);color:var(--navy);text-align:center;place-content:center;justify-items:center;gap:12px;padding:32px;display:grid;position:absolute;inset:0}
.page-locations .map-deferred-state strong{font:28px var(--serif)}
.page-locations .map-deferred-state small{max-width:430px;color:var(--muted);font-size:13px;line-height:1.55}
.page-locations .map-deferred-state button{border:1px solid var(--blue);background:var(--blue);min-height:48px;color:var(--text-on-dark);cursor:pointer;border-radius:999px;margin-top:6px;padding:0 18px;font-size:12px;font-weight:800}
.page-locations .clinic-list-item{border:0}
.page-locations .clinic-inline-details{background:var(--surface-selected);border-radius:0 0 8px 8px;color:var(--navy);padding:2px 12px 16px 14px}
.page-locations .clinic-inline-details>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}
.page-locations .clinic-inline-details a,
.page-locations .clinic-inline-details button{border:1px solid var(--navy);background:var(--surface-raised);min-height:44px;color:var(--navy);cursor:pointer;text-align:center;font-size:var(--text-small);font-weight:var(--weight-extrabold);border-radius:7px;justify-content:center;align-items:center;padding:8px 10px;display:flex}
.page-locations .clinic-inline-details .clinic-action-mobile-only{display:none}
.page-locations .clinic-inline-details small{color:var(--muted);font-size:var(--text-micro);margin-top:10px;line-height:1.5;display:block}
.page-locations .map-result-badge{z-index:2;border:1px solid var(--border-card);background:rgba(var(--canvas-rgb), .96);color:var(--navy);box-shadow:0 10px 24px rgba(var(--deep-blue-rgb), .12);border-radius:999px;padding:10px 13px;font-size:12px;position:absolute;bottom:22px;right:22px}
.page-locations .map-result-badge strong{font-size:14px}
@media (width<=1100px){
.page-locations{scroll-padding-top:74px}
.page-locations .location-finder-shell{grid-template-columns:340px minmax(0,1fr)}
}
@media (width<=960px){
.page-locations .location-finder-shell{grid-template-columns:1fr}
}
@media (width<=680px){
.page-locations .locations-page.section-pad{padding-top:24px}
.page-locations .clinic-inline-details>div{grid-template-columns:1fr}
.page-locations .clinic-inline-details .clinic-action-mobile-only{display:flex}
}
.page-locations .nearby-button,
.page-locations .map-deferred-state button{border-color:var(--blue);background:var(--blue);color:var(--text-on-dark)}
.page-locations .nearby-button:hover,
.page-locations .map-deferred-state button:hover{border-color:var(--navy);background:var(--navy);color:var(--text-on-dark)}
.page-locations .map-error{color:var(--danger)}
.page-locations .canmed-region-marker{background:var(--blue);box-shadow:0 0 0 2px rgba(var(--brand-blue-rgb), .2), 0 12px 24px rgba(var(--deep-blue-rgb), .22)}
.page-locations .canmed-region-marker:hover,
.page-locations .canmed-region-marker:focus-visible{background:var(--navy)}
.page-locations .canmed-marker-pulse{background:rgba(var(--berry-rgb), .22)}
.page-locations .canmed-marker-pin{background:var(--berry);box-shadow:0 0 0 2px rgba(var(--berry-rgb), .28)}
.page-locations .canmed-map-marker.is-selected .canmed-marker-pin{background:var(--navy);box-shadow:0 0 0 3px var(--text-on-dark), 0 0 0 6px var(--berry)}
.page-locations .location-sidebar input{background:var(--surface-raised)}
.page-locations .maplibregl-ctrl-group,
.page-locations .maplibregl-ctrl.maplibregl-ctrl-attrib,
.page-locations .maplibregl-ctrl-attrib.maplibregl-compact,
.page-locations .maplibregl-popup-content{background-color:var(--surface-raised)!important;color:var(--navy)!important}
.page-locations .maplibregl-ctrl-group button+button{border-top-color:var(--line)!important}
.page-locations .maplibregl-ctrl button:not(:disabled):hover,
.page-locations .maplibregl-ctrl button:not(:disabled):active,
.page-locations .maplibregl-popup-close-button:hover,
.page-locations .maplibregl-ctrl-attrib-button,
.page-locations .maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgba(var(--brand-blue-rgb), .1)!important}
.page-locations .maplibregl-popup-anchor-top .maplibregl-popup-tip,
.page-locations .maplibregl-popup-anchor-top-left .maplibregl-popup-tip,
.page-locations .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-bottom-color:var(--surface-raised)!important}
.page-locations .maplibregl-popup-anchor-bottom .maplibregl-popup-tip,
.page-locations .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,
.page-locations .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:var(--surface-raised)!important}
.page-locations .maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--surface-raised)!important}
.page-locations .maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--surface-raised)!important}
.page-locations .maplibregl-user-location-dot,
.page-locations .maplibregl-user-location-dot:before{background-color:var(--blue)!important}
.page-locations .maplibregl-user-location-accuracy-circle{background-color:rgba(var(--brand-blue-rgb), .2)!important}

.page-locations .nearby-button:active{transform:scale(.98)}
@media (width<=680px){
.page-locations h1,
.page-locations h2,
.page-locations h3{text-wrap:pretty}
.page-locations .location-sidebar{min-height:0;padding:24px 18px}
}
.page-locations .nearby-button,
.page-locations .nearby-button:hover,
.page-locations .map-deferred-state button,
.page-locations .map-deferred-state button:hover,
.page-locations .location-reset:hover{color:var(--text-on-dark)}
.page-locations .location-sidebar input{background:var(--surface-raised)}
.page-locations .location-finder-shell,
.page-locations .location-sidebar,
.page-locations .clinic-map-popup,
.page-locations .map-status,
.page-locations .map-result-badge{background:var(--surface-raised)}
.page-locations .location-sidebar input:disabled,
.page-locations .nearby-button:disabled{border-color:var(--line);background:var(--surface-disabled);color:var(--text-disabled)}
.page-locations{background:var(--surface-canvas)}

.page-locations .location-finder-shell,
.page-locations .location-sidebar{border-radius:12px}
.page-locations .location-finder-shell,
.page-locations .location-sidebar{box-shadow:none}
.page-locations .location-finder-shell{border:0}
.page-locations .maplibregl-ctrl-group,
.page-locations .maplibregl-ctrl.maplibregl-ctrl-attrib,
.page-locations .maplibregl-ctrl-attrib.maplibregl-compact,
.page-locations .maplibregl-popup-content{background-color:var(--surface-raised)!important}
.page-locations .nearby-button{border-color:var(--logo-blue);background:var(--logo-blue);color:var(--text-on-dark)}
.page-locations .nearby-button,
.page-locations .nearby-button:hover,
.page-locations .map-deferred-state button,
.page-locations .map-deferred-state button:hover,
.page-locations .location-reset:hover,
.page-locations .canmed-region-marker,
.page-locations .maplibregl-desktop-message,
.page-locations .maplibregl-mobile-message{color:var(--text-on-dark)!important}
.page-locations .canmed-region-marker,
.page-locations .canmed-marker-pin{border-color:var(--text-on-dark)}
.page-locations .canmed-marker-pin span{background:var(--text-on-dark)}
@media (width<=680px){
.page-locations #main-content>.page-hero~*{--text-body:18px;--text-small:15px;--text-micro:14px;font-size:18px;line-height:1.6}
.page-locations #main-content>.page-hero~* :where(p,li,dd,address,small){font-size:16px;line-height:1.6}
.page-locations #main-content>.page-hero~* :where(.eyebrow,dt,label,.contact-details p,.directory-grid p,.page-cta p){font-size:14px}
.page-locations #main-content>.page-hero~* :where(button,input,select,textarea,.page-anchor-nav a,.text-link){font-size:15px}
.page-locations #main-content>.page-hero~* .service-detail-heading h2{font-size:36px}
.page-locations #main-content>.page-hero~* .service-mobile-trigger{grid-template-columns:minmax(0,1fr) 18px}
.page-locations #main-content>.page-hero~* .service-mobile-trigger .service-tab-index{display:none}
.page-locations #main-content>.page-hero~* :where(.service-tab-copy strong,.service-detail-heading p,.service-detail-grid dd,.service-facts dd,.service-notice){font-size:17px}
}
.page-locations #main-content>.page-hero,
.page-locations #main-content>.page-hero~*{--text-primary:var(--text-content-body);--text-secondary:var(--text-content-secondary);--text-tertiary:var(--text-content-secondary);--line-subtle:#30465a24;color:var(--text-content-body)}
.page-locations #main-content>.page-hero~* :where(h2){color:var(--text-content-heading)}
.page-locations #main-content>.page-hero~* :where(h3,h4,strong){color:var(--text-content-strong)}
.page-locations #main-content>.page-hero~* :where(p,li,dd,address){color:var(--text-content-body)}
.page-locations #main-content>.page-hero~* :where(small,dt,label,.service-tab-label),
.page-locations #main-content>.page-hero~* :where(.service-detail-grid dd,.test-guidance-list .test-guidance-details dd,.directory-grid p,.resource-disclaimer,.external-resource-copy p,.location-sidebar>p:not(.eyebrow),.region-toggle small,.clinic-list-button span,.map-deferred-state small){color:var(--text-content-secondary)}
.page-locations #main-content>.page-hero~* :where(.contact-details a:not(.text-link),.faq-question,.region-toggle,.view-all-locations,.page-anchor-nav a){color:var(--text-content-strong)}
.page-locations #main-content>.page-hero~* :where(.text-link,.inline-links a,.contact-form-fallback a,.internal-resource-grid strong,.healthcare-network-grid strong,.external-resource-action,.trials-band i){color:var(--logo-blue)}
.page-locations #main-content>.page-hero~* .eyebrow,
.page-locations #main-content>.page-hero .eyebrow{color:var(--berry)}
.page-locations #main-content>.page-hero~* :where(input,select,textarea){color:var(--text-content-body)}
.page-locations #main-content>.page-hero~* :where(input,select,textarea):disabled{color:var(--text-disabled)}
.page-locations #main-content>.page-hero~* input::placeholder,
.page-locations #main-content>.page-hero~* textarea::placeholder{color:var(--text-content-secondary);opacity:1}
.page-locations #main-content>.page-hero~.appointment-help :where(h2,h3,h4),
.page-locations #main-content>.page-hero~* :where(.contact-visual,.services .page-cta,.fax-callout) :where(h2,h3,h4,strong){color:var(--text-on-dark)}
.page-locations #main-content>.page-hero~.appointment-help :where(p,li,dd,address,small),
.page-locations #main-content>.page-hero~* :where(.contact-visual,.services .page-cta,.fax-callout) :where(p,li,dd,address,small,.eyebrow){color:var(--accent-inverse)}
.page-locations #main-content>.page-hero~:where(.urgent-banner,.safety-band) :where(p,li,dd,address,strong,small){color:inherit}
.page-locations #main-content>.page-hero~* .service-notice{color:var(--danger)}
.page-locations #main-content>.page-hero~* :where(.service-tab-list button[aria-selected=true],.service-mobile-list .service-mobile-trigger.is-active) :where(strong,small){color:var(--text-on-dark)}
/* CanMed palette; layout and typography follow the published reference. */
.page-locations{--deep-blue-rgb:35,71,45;--brand-blue-rgb:79,130,45;--berry-rgb:79,130,45;--ink-rgb:41,58,45;--canvas-rgb:246,246,237;--section-rgb:233,240,223;--header-surface-rgb:255,254,249;--navy:#23472d;--navy-soft:#5c695e;--blue:#4f822d;--logo-blue:#23472d;--berry:#4f822d;--berry-text:#4f822d;--berry-dark:#23472d;--crimson:#4f822d;--crimson-dark:#23472d;--teal:#4f822d;--ink:#293a2d;--muted:#5c695e;--text-content-heading:#23472d;--text-content-strong:#23472d;--text-content-body:#293a2d;--text-content-secondary:#5c695e;--surface-canvas:#f6f6ed;--surface-raised:#fffef9;--surface-section:#e9f0df;--surface-selected:#dce9cc;--surface-cool:#e9f0df;--surface-info:#e9f0df;--paper:#fffef9;--ivory:#f6f6ed;--white:#fffef9;--line-neutral:#c4cebf;--line:rgba(35,71,45,.18);--border-strong:#71816d;--border-card:#71816d;--border-control:#71816d;--focus-ring:#4f822d}
.page-locations .announcement{display:none}
.page-locations .site-header{min-height:82px;border:0;background:rgba(255,254,249,.86);backdrop-filter:blur(14px);box-shadow:none}
.page-locations .nav-shell{min-height:82px;width:min(calc(100% - 64px),var(--max))}
.page-locations .site-header .brand img{width:86px;height:76px}
.page-locations .location-sidebar .region-static-heading,.page-locations .location-sidebar .clinic-static-heading{font:800 14px/1.5 var(--sans);margin:0;padding:16px 10px}
.page-locations .location-sidebar .clinic-static-heading address{font:400 13px/1.5 var(--sans);margin-top:5px}
.page-locations .has-finder .region-static-heading,.page-locations .has-finder .clinic-static-heading{display:none}
.page-locations .clinic-distance:empty{display:none}
.page-locations .clinic-map-canvas{position:absolute;inset:0}
.page-locations .map-panel{overflow:hidden;scroll-margin-top:98px}
.page-locations .map-status:empty{display:none}
.page-locations .location-search-results .result-count{font-family:var(--sans)}
.page-locations .location-sidebar input{font-size:16px}
.page-locations .canmed-region-marker:focus-visible,.page-locations .canmed-map-marker:focus-visible{outline:3px solid var(--forest);outline-offset:5px}
@media(max-width:960px){.page-locations .site-header,.page-locations .nav-shell{min-height:74px}.page-locations .site-header .brand img{height:68px;width:78px}.page-locations .clinic-inline-details .clinic-view-map{display:flex}}
@media(max-width:680px){.page-locations .nav-shell{width:calc(100% - 40px)}.page-locations .mobile-menu summary{min-height:48px;font-size:15px;padding:0 16px}}

/* Keep a complete popup inside the map at narrow widths. */
.page-locations .eyebrow>span:empty{display:none}
.page-locations .clinic-popup-links{border:0}
.page-locations .maplibregl-popup-content{border:0}
.page-locations .map-panel{--clinic-map-height:720px}
.page-locations .maplibregl-popup-content{max-height:min(620px,calc(100svh - 170px),calc(var(--clinic-map-height) - 90px))}
@media(max-width:960px){.page-locations .map-panel{--clinic-map-height:590px}}
.page-locations .clinic-map-popup{max-width:100%}
.page-locations .maplibregl-ctrl-bottom-left{max-width:calc(100% - 16px)}
.page-locations .maplibregl-ctrl-attrib-inner{white-space:normal;overflow-wrap:anywhere}
.page-locations .location-finder-shell:not(.has-finder) .clinic-action-mobile-only:not(button){display:flex}
/* Reset the landing page's older map rules for this independent finder. */
.page-locations .clinic-map-canvas{min-height:0}
.page-locations .canmed-map-marker{filter:none}
.page-locations .maplibregl-ctrl-attrib.maplibregl-compact{box-sizing:border-box;max-width:calc(100% - 20px)}
@media(max-width:680px){.page-locations .map-result-badge{bottom:70px}}

@media(max-width:600px){.page-locations .locations-page.section-pad{padding-top:32px}}

/* Original published mobile reading/layout rules, scoped to Locations. */
@media (max-width: 680px) {
body.page-locations {
    --mobile-body: 1.25rem;
    --mobile-support: 1.125rem;
    --mobile-label: 1rem;
    --mobile-muted: #394b3f;
  }
body.page-locations {
    --ink-soft: var(--mobile-muted);
    --muted: var(--mobile-muted);
    --navy-soft: var(--mobile-muted);
    --text-secondary: var(--mobile-muted);
    --text-content-secondary: var(--mobile-muted);
    font-size: var(--mobile-body);
    line-height: 1.6;
  }
.page-locations #main-content :where(p, li, dd, address) {
    font-size: var(--mobile-body);
    line-height: 1.6;
  }
.page-locations #main-content p { margin-bottom: 1.25rem; }
.page-locations #main-content p:last-child { margin-bottom: 0; }
.page-locations #main-content :where(small) {
    font-size: var(--mobile-support);
    line-height: 1.5;
  }
.page-locations #main-content :where(.eyebrow, dt, label, .pathway-label, .checklist-heading,
    .service-tab-label, .referral-row-main > p, .clinic-popup-region,
    .patient-form-heading div > span, .breadcrumb) {
    font-size: var(--mobile-label);
    line-height: 1.5;
    letter-spacing: .04em;
    color: var(--mobile-muted);
  }
.page-locations #main-content :where(button, input, select, textarea, .button, .text-link,
    .hero-secondary-link, .referral-download, .original-pdf, .clinic-referral,
    .inline-links a, .hero-route-note > a) {
    font-size: var(--mobile-support);
    line-height: 1.5;
  }
.page-locations #main-content :where(.button, .text-link, .hero-secondary-link,
    .referral-download, .original-pdf, .clinic-referral) {
    min-height: 3.5rem;
    height: auto;
    max-width: 100%;
    padding-block: .75rem;
    white-space: normal;
    overflow-wrap: anywhere;
  }
.page-locations #main-content :where(h1, h2, h3, h4, p, li, dd, address, summary, label) {
    overflow-wrap: anywhere;
  }
.page-locations #main-content h1 { font-size: 2.25rem; line-height: 1.12; }
.page-locations #main-content h2 { font-size: 2rem; line-height: 1.18; }
.page-locations #main-content h3 { font-size: 1.625rem; line-height: 1.2; }
.page-locations #main-content h4 { font-size: 1.5rem; line-height: 1.25; }
.page-locations #main-content .section-shell { width: min(calc(100% - 40px), var(--max)); }
.page-locations #main-content :where(.pathway-card, .resource-card, .info-panel,
    .contact-clinic-card, .referral-checklist) { padding: 24px 20px; }
.page-locations #main-content :where(.page-actions, .pathway-actions, .closing-actions) {
    gap: .75rem;
    min-width: 0;
  }
.page-locations #main-content :where(.location-finder-shell, .clinic-contact-layout, .patient-contact-layout) {
    grid-template-columns: minmax(0, 1fr);
  }
.page-locations #main-content :where(.location-sidebar, .contact-clinic-picker, .contact-clinic-panels,
    .patient-contact-copy, .patient-form-shell) { min-width: 0; }
.page-locations #main-content :where(.hero-route-note p, .hero-route-note strong,
    .patient-contact-note, .patient-contact-note span, .security-note,
    .referral-security, .team-group li span, .healthcare-network-grid strong) {
    font-size: var(--mobile-support);
    line-height: 1.6;
  }
.page-locations #main-content .hero-route-note {
    grid-template-columns: minmax(0, 1fr);
    gap: .5rem;
    padding: 20px;
    background: var(--paper);
  }
.page-locations #main-content .hero-route-note .route-note-mark { display: none; }
.page-locations #main-content .hero-route-note > a {
    grid-column: 1;
    min-height: 3.5rem;
    white-space: normal;
  }
.page-locations #main-content .team-group li strong { font-size: var(--mobile-body); }
.page-locations #main-content .team-group li span { color: var(--mobile-muted); }
.page-locations #main-content .faq-list summary,
.page-locations #main-content .referral-checklist strong {
    font-size: 1.375rem;
    font-weight: 650;
    line-height: 1.4;
  }
.page-locations #main-content .faq-list summary { grid-template-columns: minmax(0, 1fr) 30px; }
.page-locations #main-content .referral-checklist li {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: 12px;
    min-height: 0;
  }
.page-locations #main-content .referral-checklist li > span {
    width: 2.25rem;
    height: 2.25rem;
    font-size: var(--mobile-label);
  }
.page-locations #main-content .referral-checklist li p { margin-bottom: 0; }
.page-locations #main-content .checklist-heading { align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.page-locations #main-content .referral-workflow strong { font-size: 1.375rem; line-height: 1.4; }
.page-locations #main-content .referral-row {
    grid-template-columns: minmax(0, 1fr);
    padding: 24px 20px;
    gap: 16px;
  }
.page-locations #main-content .referral-row :where(.referral-row-contact, .referral-row-actions) { grid-area: auto; }
.page-locations #main-content .referral-row-main h3,
.page-locations #main-content .contact-clinic-card h2 { font-size: 1.5rem; line-height: 1.25; }
.page-locations #main-content .referral-number { font-size: var(--mobile-label); }
.page-locations #main-content .referral-row-contact { grid-template-columns: minmax(0, 1fr); }
.page-locations #main-content :where(.clinic-card dd, .contact-clinic-card dd, .referral-row-contact dd) {
    font-size: var(--mobile-body);
    white-space: normal;
  }
.page-locations #main-content a[href^="tel:"] {
    font-size: var(--mobile-body);
    line-height: 1.5;
    white-space: normal;
    overflow-wrap: anywhere;
    min-width: 0;
  }
.page-locations #main-content > .page-hero ~ * {
    --text-body: var(--mobile-body);
    --text-small: var(--mobile-support);
    --text-micro: var(--mobile-label);
    --text-content-secondary: var(--mobile-muted);
    font-size: var(--mobile-body);
    line-height: 1.6;
  }
.page-locations #main-content > .page-hero ~ * :where(p, li, dd, address) {
    font-size: var(--mobile-body);
    line-height: 1.6;
  }
.page-locations #main-content > .page-hero ~ * :where(small) {
    font-size: var(--mobile-support);
    line-height: 1.5;
  }
.page-locations #main-content > .page-hero ~ * :where(.eyebrow, dt, label, .service-tab-label, .clinic-popup-region) {
    font-size: var(--mobile-label);
    line-height: 1.5;
    letter-spacing: .04em;
  }
.page-locations #main-content > .page-hero ~ * :where(button, input, select, textarea, .button, .text-link) {
    font-size: var(--mobile-support);
    line-height: 1.5;
  }
.page-locations #main-content :where(.clinic-list-button strong, .clinic-map-popup > strong) {
    font-size: 1.5rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
  }
.page-locations #main-content > .page-hero ~ * .clinic-list-button .clinic-address {
    font-size: var(--mobile-body);
    line-height: 1.6;
  }
.page-locations #main-content .region-toggle > span {
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.15;
  }
.page-locations #main-content > .page-hero ~ * :where(.region-toggle small, .clinic-list-button small) {
    font-size: var(--mobile-label);
    line-height: 1.5;
  }
.page-locations #main-content .region-toggle {
    grid-template-columns: minmax(0, 1fr) 28px;
    gap: 6px 12px;
    padding-block: 12px;
  }
.page-locations #main-content .region-toggle > span {
    grid-area: 1 / 1;
    min-width: 0;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }
.page-locations #main-content .region-toggle small { grid-area: 2 / 1; font-weight: 400; }
.page-locations #main-content .region-toggle i { grid-area: 1 / 2; align-self: center; justify-self: end; }
.page-locations #main-content .region-accordion-item.is-open .region-clinic-list { padding-top: 8px; }
.page-locations #main-content .location-sidebar .region-static-heading {
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.15;
    overflow-wrap: normal;
    word-break: normal;
  }
.page-locations .location-status { font-size: var(--mobile-label) !important; }
.page-locations #main-content .location-sidebar { padding: 20px 12px; }
.page-locations #main-content .region-accordion-item { padding-inline: 6px; }
.page-locations #main-content .clinic-inline-details { padding-inline: 12px 8px; }
.page-locations #main-content :where(.view-all-locations, .location-reset, .nearby-button,
    .map-deferred-state button, .clinic-popup-links a, .clinic-inline-details a,
    .clinic-inline-details button, .location-sidebar input) {
    min-height: 3.5rem;
    height: auto;
    padding-block: .75rem;
    white-space: normal;
    overflow-wrap: anywhere;
  }
.page-locations #main-content .clinic-inline-details > div { grid-template-columns: minmax(0, 1fr); }
.page-locations #main-content .maplibregl-popup-close-button { font-size: 1.5rem; }
.page-locations #main-content :where(.maplibregl-ctrl-attrib, .maplibregl-ctrl-attrib a) {
    font-size: var(--mobile-label);
    line-height: 1.4;
  }
.page-locations #main-content .contact-clinic-options { grid-template-columns: minmax(0, 1fr); }
.page-locations #main-content .contact-clinic-options button {
    min-width: 0;
    min-height: 3.5rem;
    gap: 12px;
    padding: .75rem 1rem;
  }
.page-locations #main-content .patient-form-heading div > strong { font-size: 1.5rem; line-height: 1.25; }
.page-locations #main-content .patient-form-heading div > span { color: #e5eee1; }
}
@media (max-width: 380px) {
.page-locations #main-content .referral-checklist li { grid-template-columns: minmax(0, 1fr); }
}
