*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
:root{--paper:#FFF9F5;--paper-deep:#F6EEE8;--ink:#1B2438;--muted:#687184;
--accent:#5146C7;--accent-ink:#3730A3;--spark:#EF6A52;--card:#FFFFFF;--line:#E8DED7;
--good:#287A5B;--warn:#956315;--radius:14px;--radius-lg:24px;
--shadow-sm:0 1px 2px rgb(27 36 56 / .05),0 5px 16px rgb(27 36 56 / .045);
--shadow:0 1px 2px rgb(27 36 56 / .06),0 12px 32px rgb(27 36 56 / .08);
--shadow-lg:0 2px 4px rgb(27 36 56 / .05),0 24px 60px rgb(27 36 56 / .12);
--link:#4338CA;--sel:rgb(81 70 199 / .12);--tint:rgb(81 70 199 / .07);
--wash:rgb(81 70 199 / .04);--haze:rgb(81 70 199 / .12);
--button-ink:#FFFFFF}
@media (prefers-color-scheme:dark){:root{--paper:#111322;--ink:#F5F2FF;
--muted:#A8ADC0;--accent:#A79CFF;--accent-ink:#C7C0FF;--spark:#FF8A72;--card:#1A1D31;
--paper-deep:#17182A;--line:#2C3048;--good:#67C59A;--warn:#DCB65F;
--shadow-sm:0 1px 2px rgb(0 0 0 / .28),0 5px 16px rgb(0 0 0 / .24);
--shadow:0 1px 2px rgb(0 0 0 / .35),0 12px 32px rgb(0 0 0 / .4);
--shadow-lg:0 2px 5px rgb(0 0 0 / .4),0 24px 60px rgb(0 0 0 / .46);
--link:#B8B0FF;--sel:rgb(167 156 255 / .17);--tint:rgb(167 156 255 / .09);
--wash:rgb(167 156 255 / .05);--haze:rgb(167 156 255 / .11);
--button-ink:#111322}}
body{margin:0;background:radial-gradient(ellipse 58rem 30rem at 50% -18rem,
var(--haze),transparent 72%),var(--paper);color:var(--ink);
font:1.0625rem/1.65 ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",
Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.wrap{max-width:48rem;margin:0 auto;padding:0 1.25rem}
a{color:var(--link)}
a:hover{color:var(--accent-ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;
border-radius:5px}
h1{font-size:clamp(1.85rem,4vw,2.55rem);line-height:1.12;letter-spacing:-.035em;
font-weight:760;margin:.3rem 0 .8rem;text-wrap:balance}
h1.display{font-size:clamp(2.55rem,6vw,4.25rem);line-height:1.01;
letter-spacing:-.048em;margin:0 auto 1.7rem;text-align:center;text-wrap:balance;
max-width:52rem;font-weight:780}
h2{font-size:1.28rem;line-height:1.25;letter-spacing:-.025em;margin:2.2rem 0 .6rem}
h3{font-size:1.04rem;line-height:1.35;margin:1.3rem 0 .35rem}
p{margin:.7rem 0}
main{padding:.55rem 0 2.5rem}
header.site{background:color-mix(in srgb,var(--paper) 88%,transparent);
border-bottom:1px solid color-mix(in srgb,var(--line) 82%,transparent);
box-shadow:0 1px 0 rgb(27 36 56 / .025);backdrop-filter:blur(16px);
-webkit-backdrop-filter:blur(16px)}
header.site .wrap{max-width:76rem;display:flex;gap:1.15rem;align-items:center;
min-height:4.25rem;padding-top:.55rem;padding-bottom:.55rem}
@media (min-width:48rem){header.site{position:sticky;top:0;z-index:30}}
.brand{display:inline-flex;align-items:center;gap:.48rem;font-weight:780;
font-size:1.22rem;letter-spacing:-.04em;color:var(--ink);text-decoration:none;
flex:0 0 auto}
.brand-mark{display:block;width:1.72rem;height:1.72rem;flex:0 0 auto;
filter:drop-shadow(0 3px 6px rgb(81 70 199 / .16))}
.brand i{font-style:normal;color:var(--accent)}
nav.top{font-size:.79rem;display:flex;gap:.15rem;align-items:center;
justify-content:center;white-space:nowrap;flex:1 1 auto;min-width:0}
nav.top a{color:var(--muted);text-decoration:none;padding:.38rem .42rem;
border-radius:8px;transition:background .16s ease,color .16s ease}
nav.top a:hover{color:var(--ink);background:var(--tint);text-decoration:none}
.page-intro{padding:.85rem 0 .3rem}
.crumbs{font-size:.78rem;color:var(--muted);margin:.5rem 0 .3rem}
.crumbs a{color:var(--muted)}
.hero{position:relative;padding:clamp(3rem,7vh,5.2rem) 0 2.7rem}
.hero::before{content:"";display:block;width:2.8rem;height:.28rem;border-radius:999px;
margin:0 auto 1.3rem;background:linear-gradient(90deg,var(--accent),var(--spark));
box-shadow:0 0 24px var(--haze)}
.hero .trust{max-width:36rem;margin:1.35rem auto 0;text-align:center;
font-size:.89rem;line-height:1.55;color:var(--muted);padding:0 .75rem}
.hero .trust::before{content:"✓";display:inline-grid;place-items:center;width:1.25rem;
height:1.25rem;margin-right:.38rem;border-radius:999px;background:var(--sel);
color:var(--accent-ink);font-size:.72rem;font-weight:800;vertical-align:.1rem}
.below{border-top:1px solid var(--line);margin-top:2.8rem;padding-top:.75rem}
.sf{max-width:36rem;margin:0 auto;background:linear-gradient(155deg,var(--card),
color-mix(in srgb,var(--card) 94%,var(--accent)));border:1px solid var(--line);
border-radius:22px;box-shadow:var(--shadow-lg);padding:1.35rem;position:relative}
.sf::after{content:"";position:absolute;inset:0 1.25rem auto;height:1px;
background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.45}
.sf-field{position:relative}
.sf-field::before{content:"";position:absolute;z-index:1;left:1.05rem;top:3.18rem;
width:.73rem;height:.73rem;border:2px solid var(--accent);border-radius:50% 50% 50% 0;
transform:translateY(-50%) rotate(-45deg);pointer-events:none}
.sf label{display:block;font-size:.875rem;font-weight:600;color:var(--muted);
margin:0 0 .35rem}
.sf input{width:100%;min-height:3.35rem;font:inherit;font-size:1.05rem;
padding:.76rem .95rem .76rem 2.85rem;color:var(--ink);background:var(--paper);
border:1px solid var(--line);border-radius:13px;box-shadow:inset 0 1px 1px rgb(27 36 56 / .025);
transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.sf input::placeholder{color:var(--muted);opacity:.75}
.sf input:focus{outline:0;border-color:var(--accent);background:var(--card);
box-shadow:0 0 0 3px var(--sel),inset 0 1px 1px rgb(27 36 56 / .025)}
.sf ul.opts{position:absolute;z-index:40;left:0;right:0;top:calc(100% + .3rem);
margin:0;padding:.25rem;list-style:none;background:var(--card);
border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);
max-height:15rem;overflow:auto}
.sf ul.opts li{display:flex;justify-content:space-between;gap:.7rem;
align-items:baseline;padding:.62rem .7rem;border-radius:9px;font-size:.95rem;
cursor:pointer}
.sf ul.opts li[aria-selected=true]{background:var(--sel)}
.sf ul.opts li .pc{color:var(--muted);font-size:.82rem;white-space:nowrap}
.sf ul.opts li.none{cursor:default;color:var(--muted);font-size:.9rem}
.sf-pills{border:0;padding:0;margin:1.05rem 0 0;min-inline-size:0}
.sf-pills legend{padding:0;font-size:.875rem;font-weight:600;
color:var(--muted)}
.pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.45rem}
.pill{font:inherit;font-size:.92rem;line-height:1.2;min-height:2.75rem;padding:.55rem .9rem;
color:var(--ink);background:transparent;border:1px solid var(--line);
border-radius:999px;cursor:pointer;transition:transform .15s ease,border-color .15s ease,
background .15s ease,color .15s ease}
.pill:hover{border-color:var(--accent);background:var(--tint);transform:translateY(-1px)}
.pill[aria-pressed=true]{background:var(--accent);border-color:var(--accent);
color:var(--button-ink);font-weight:700;box-shadow:0 4px 12px var(--haze)}
.sf-go{display:block;width:100%;margin-top:1.05rem;font:inherit;
font-weight:700;font-size:1.01rem;min-height:3.35rem;padding:.82rem 1rem;
color:var(--button-ink);background:linear-gradient(135deg,var(--accent),
color-mix(in srgb,var(--accent) 72%,var(--accent-ink)));border:0;border-radius:13px;
cursor:pointer;box-shadow:0 8px 20px var(--haze);transition:transform .16s ease,
box-shadow .16s ease,filter .16s ease}
.sf-go::after{content:"→";margin-left:.5rem;transition:margin .16s ease}
.sf-go:hover{filter:saturate(1.12) brightness(.96);transform:translateY(-1px);
box-shadow:0 12px 24px var(--haze)}
.sf-go:hover::after{margin-left:.72rem}
.vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.sf-fallback{margin:.9rem 0 0;font-size:.875rem;color:var(--muted)}
.sf-fallback a{margin-right:.6rem;display:inline-block}
.sf-fallback b{display:block;font-weight:600;margin:.5rem 0 .15rem}
.sf-mini{flex:0 1 15rem;max-width:15rem;margin-left:auto;padding:0;border:0;
background:transparent;box-shadow:none;transition:max-width .18s ease;order:3}
.sf-mini::after{display:none}
.sf-mini:focus-within{max-width:22rem}
.sf-mini .sf-field::before{left:.9rem;top:50%;width:.62rem;height:.62rem}
.sf-mini input{min-height:2.6rem;font-size:.9rem;padding:.45rem .8rem .45rem 2.45rem;
border-radius:999px;background:var(--card)}
.sf-mini .sf-fallback{display:none}
.town-results{width:min(76rem,calc(100vw - 2.5rem));margin:1.25rem 0 2.4rem;
position:relative;left:50%;transform:translateX(-50%)}
.town-overview{margin:0 0 1.2rem}
.town-overview.has-photo{display:grid;grid-template-columns:minmax(20rem,.88fr) minmax(0,1.12fr);
gap:1.1rem;align-items:stretch}
.town-photo{position:relative;margin:0;min-height:17rem;border-radius:var(--radius-lg);
overflow:hidden;background:var(--ink);box-shadow:var(--shadow);isolation:isolate;
border:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.town-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;
object-fit:cover;object-position:center center;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.town-photo:hover img{transform:scale(1.025)}
.town-photo::after{content:"";position:absolute;inset:0;
background:linear-gradient(180deg,transparent 40%,rgb(6 18 17 / .82) 100%);
pointer-events:none;z-index:1}
.town-photo figcaption{position:absolute;inset:auto 1.15rem .95rem;color:#fff;z-index:2;
display:flex;align-items:flex-start;flex-direction:column;gap:.15rem;
text-shadow:0 1px 2px rgb(0 0 0 / .5)}
.town-photo figcaption strong{font-size:1.1rem;letter-spacing:-.015em}
.town-photo figcaption span{font-size:.69rem;line-height:1.45;opacity:.9}
.town-photo figcaption a{color:#fff;text-underline-offset:2px}
.results-heading{display:flex;align-items:flex-end;justify-content:space-between;
gap:1rem;margin-bottom:1rem}
.town-overview .results-heading{position:relative;overflow:hidden;margin:0;
padding:1.55rem 1.65rem;min-height:17rem;align-items:flex-start;justify-content:center;
flex-direction:column;background:linear-gradient(145deg,var(--card) 30%,
color-mix(in srgb,var(--card) 93%,var(--accent)));border:1px solid var(--line);
border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.town-overview .results-heading::after{content:"";position:absolute;width:13rem;
height:13rem;border:1px solid var(--sel);border-radius:999px;right:-7rem;top:-8rem;
box-shadow:0 0 0 2.4rem color-mix(in srgb,var(--sel) 35%,transparent);
pointer-events:none}
.town-overview:not(.has-photo) .results-heading{min-height:auto;padding:1.35rem 1.5rem}
.results-heading h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.15;
letter-spacing:-.035em;margin:.12rem 0 .35rem;max-width:42rem;text-wrap:balance}
.eyebrow{margin:0;color:var(--accent-ink);font-size:.75rem;font-weight:700;
letter-spacing:.09em;text-transform:uppercase}
.result-summary{margin:.1rem 0;color:var(--muted);max-width:43rem;line-height:1.55}
.result-filters{position:relative;z-index:1;display:flex;flex-wrap:wrap;
justify-content:flex-start;gap:.38rem;margin-top:.65rem}
.result-filters button{font:inherit;font-size:.8rem;min-height:2.35rem;padding:.42rem .72rem;
border-radius:999px;border:1px solid var(--line);color:var(--muted);
background:color-mix(in srgb,var(--card) 82%,transparent);cursor:pointer;
transition:border-color .15s ease,background .15s ease,color .15s ease,
transform .15s ease}
.result-filters button:hover{border-color:var(--accent);background:var(--tint);
color:var(--ink);transform:translateY(-1px)}
.result-filters button[aria-pressed=true]{color:var(--accent-ink);
border-color:var(--accent);background:var(--sel);font-weight:700;
box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}
.results-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(19rem,.92fr);
gap:1.25rem;align-items:start}
ul.clinics{list-style:none;padding:0;margin:0;display:grid;gap:.9rem}
ul.clinics.compact{margin:1rem 0;gap:.6rem}
ul.clinics .clinic-compact{background:var(--card);border:1px solid var(--line);
border-radius:var(--radius);padding:.85rem 1rem;box-shadow:var(--shadow-sm);
transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
ul.clinics .clinic-compact:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));
box-shadow:var(--shadow);transform:translateY(-1px)}
ul.clinics .clinic-compact .meta{font-size:.84rem;color:var(--muted);margin-top:.12rem}
.compact-actions{font-size:.8rem;margin-top:.4rem}.compact-actions a{text-decoration:none}
ul.clinics .clinic-card{background:var(--card);border:1px solid var(--line);
border-radius:21px;padding:1.15rem;box-shadow:var(--shadow-sm);position:relative;
transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
ul.clinics .clinic-card:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));
box-shadow:var(--shadow);transform:translateY(-1px)}
.clinic-card-head{display:flex;gap:.9rem;align-items:flex-start}
.provider-avatar{width:3.35rem;height:3.35rem;flex:0 0 3.35rem;border-radius:14px;
border:1px solid var(--line);background:var(--paper);display:grid;place-items:center;
position:relative;overflow:visible;color:var(--accent-ink);font-weight:750}
.provider-avatar img{width:100%;height:100%;object-fit:contain;border-radius:13px;
background:#fff;padding:.24rem}
.marker-number{position:absolute;right:-.38rem;bottom:-.38rem;width:1.3rem;
height:1.3rem;border-radius:999px;display:grid;place-items:center;background:var(--ink);
color:var(--paper);font-size:.68rem;font-weight:750;border:2px solid var(--card)}
.provider-title{min-width:0;flex:1}
ul.clinics .nm{display:block;font-weight:750;font-size:1.07rem;line-height:1.3;
letter-spacing:-.015em}
ul.clinics .nm a{color:var(--ink);text-decoration:none}
ul.clinics .nm a:hover{color:var(--accent-ink);text-decoration:underline}
.clinic-location{font-size:.85rem;color:var(--muted);line-height:1.45;margin-top:.18rem}
.clinic-distance{display:inline-flex;align-items:center;gap:.35rem;margin-top:.42rem;
padding:.18rem .52rem;border-radius:999px;background:var(--tint);font-size:.77rem;
color:var(--accent-ink);font-weight:700}
.clinic-distance::before{content:"";width:.38rem;height:.38rem;border-radius:50%;
background:var(--accent);box-shadow:0 0 0 3px var(--sel)}
ul.clinics .quiet{font-size:.82rem;color:var(--muted);margin-top:.4rem}
ul.clinics .tags{margin-top:.75rem}
ul.clinics .tag.selected{color:var(--accent-ink);border-color:var(--accent);
background:var(--sel);font-weight:700}
.hours{margin-top:.85rem;padding:.68rem .78rem;font-size:.84rem;color:var(--muted);
background:var(--paper);border:1px solid var(--line);border-radius:12px}
.hours summary{cursor:pointer;color:var(--ink);font-weight:700;list-style:none;
display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.hours summary::-webkit-details-marker{display:none}
.hours summary::before{content:"";width:.55rem;height:.55rem;border:1.5px solid var(--accent);
border-radius:50%;box-shadow:inset 0 0 0 2px var(--paper);background:var(--accent);
margin-right:.2rem;flex:0 0 auto}
.hours summary::after{content:"+";margin-left:auto;color:var(--accent);font-size:1rem}
.hours[open] summary::after{content:"−"}
.hours dl{margin:.6rem 0 0;display:grid;gap:0;border-top:1px solid var(--line)}
.hours dl div{display:grid;grid-template-columns:6.2rem 1fr;gap:.6rem;
padding:.3rem 0;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent)}
.hours dl div:last-child{border-bottom:0}
.hours dt{font-weight:500}.hours dd{margin:0;color:var(--ink)}
.hours-missing{font-size:.8rem;color:var(--muted);margin:.8rem 0 0;
border:1px solid var(--line);border-radius:11px;padding:.6rem .72rem;background:var(--paper)}
.hours-missing::before{content:"○";color:var(--accent);margin-right:.35rem;font-weight:800}
.clinic-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem}
.action{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;
padding:.45rem .72rem;border:1px solid var(--line);border-radius:10px;
color:var(--accent-ink);background:var(--paper);font-size:.82rem;font-weight:650;
line-height:1.2;text-decoration:none;transition:transform .15s ease,border-color .15s ease,
background .15s ease,box-shadow .15s ease}
.action:hover{border-color:var(--accent);background:var(--sel);text-decoration:none;
transform:translateY(-1px)}
.action.primary{background:var(--accent);border-color:var(--accent);
color:var(--button-ink);box-shadow:0 4px 12px var(--haze)}
.action.primary:hover{filter:brightness(.95);color:var(--button-ink);box-shadow:0 7px 16px var(--haze)}
.action.subtle{margin-left:auto;color:var(--muted);background:transparent}
.provider-map{position:sticky;top:6rem;margin:0;background:var(--card);
border:1px solid var(--line);border-radius:21px;padding:.82rem;box-shadow:var(--shadow)}
.provider-map figcaption{display:flex;flex-direction:column;line-height:1.35;
margin:.12rem .3rem .72rem}
.provider-map figcaption strong{font-size:1rem;letter-spacing:-.015em}
.provider-map figcaption span,.provider-map>p{color:var(--muted);font-size:.78rem}
.provider-map-canvas{display:block;width:100%;height:auto;aspect-ratio:26/15;
border-radius:15px;background:#EEE7E2;border:1px solid var(--line);
box-shadow:inset 0 0 0 1px rgb(255 255 255 / .3)}
.provider-map>p{margin:.55rem .2rem .05rem;line-height:1.4}
.map-credit{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.2rem .7rem}
.supporting{max-width:48rem;margin:1.2rem 0;border:1px solid var(--line);
border-radius:14px;padding:.75rem .9rem;color:var(--muted);background:var(--wash)}
.supporting>summary{cursor:pointer;color:var(--ink);font-weight:700;list-style:none}
.supporting>summary::-webkit-details-marker{display:none}
.supporting>summary::after{content:"Read more +";float:right;color:var(--accent-ink);
font-size:.78rem;font-weight:700}
.supporting[open]>summary::after{content:"Close −"}
.supporting .uniq{font-size:.94rem;margin-top:.65rem}
.clinic-profile{margin:1.15rem 0 1.4rem;padding:1.25rem;background:linear-gradient(145deg,
var(--card),color-mix(in srgb,var(--card) 94%,var(--accent)));border:1px solid var(--line);
border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.clinic-profile-head{display:flex;align-items:center;gap:1rem}
.clinic-profile .provider-avatar{width:4.25rem;height:4.25rem;flex-basis:4.25rem;
border-radius:17px;box-shadow:var(--shadow-sm)}
.clinic-profile .provider-avatar img{border-radius:16px;padding:.3rem}
.clinic-profile .eyebrow{margin-bottom:.18rem}
.clinic-profile-address{margin:0;color:var(--ink);font-weight:650;line-height:1.4}
.clinic-profile-suburb{display:block;color:var(--muted);font-size:.86rem;font-weight:450}
.clinic-profile .tags{margin-top:1rem}
.clinic-profile .hours,.clinic-profile .hours-missing{margin-top:1rem}
.clinic-profile .clinic-actions{padding-top:.1rem}
.clinic-about{margin-top:1.8rem}
.clinic-about>h2{display:flex;align-items:center;gap:.65rem;margin-bottom:.85rem}
.clinic-about>h2::before{content:"";display:block;width:1.5rem;height:.2rem;
border-radius:999px;background:var(--accent)}
[hidden]{display:none!important}
@media(max-width:52rem){
.wrap{padding-left:1rem;padding-right:1rem}
header.site .wrap{flex-wrap:wrap;gap:.45rem .8rem;padding-top:.55rem;padding-bottom:.5rem}
.brand{font-size:1.16rem}
.sf-mini{flex:1 1 13rem;max-width:none}
nav.top{flex:1 1 100%;order:4;justify-content:flex-start;overflow-x:auto;
margin:0 -.2rem;padding:.15rem .2rem .05rem;scrollbar-width:none}
nav.top::-webkit-scrollbar{display:none}
.results-heading{align-items:flex-start;flex-direction:column}
.town-overview.has-photo{grid-template-columns:1fr}
.town-photo{min-height:12rem;aspect-ratio:16/8.5}
.town-overview .results-heading{min-height:auto;padding:1.25rem 1.2rem}
.result-filters{justify-content:flex-start}
.results-layout{grid-template-columns:1fr}
.provider-map{position:static}
}
@media(max-width:32rem){
.hero{padding-top:2.4rem}.hero::before{margin-bottom:1rem}
.sf{padding:1.05rem;border-radius:18px}
.sf-pills{margin-top:.9rem}.pills{display:grid;grid-template-columns:1fr 1fr}
.pill{width:100%;padding-left:.65rem;padding-right:.65rem}
.town-results{width:calc(100vw - 1.25rem)}
.town-overview{margin-bottom:.7rem}.town-overview.has-photo{gap:.7rem}
.town-photo{border-radius:18px;aspect-ratio:16/9.5}
.town-overview .results-heading{border-radius:18px;padding:1.1rem}
.results-heading h2{font-size:1.45rem}
.results-layout{gap:.75rem}ul.clinics{gap:.7rem}
ul.clinics .clinic-card{padding:.9rem;border-radius:17px}
.provider-avatar{width:3rem;height:3rem;flex-basis:3rem}
.town-photo figcaption{align-items:flex-start;flex-direction:column;gap:.15rem}
.clinic-actions .action{flex:1 1 calc(50% - .25rem)}
.clinic-actions .action.primary{flex-basis:100%}.action.subtle{margin-left:0}
.hours dl div{grid-template-columns:5.5rem 1fr}
.clinic-profile{padding:1rem;border-radius:18px}
.clinic-profile-head{align-items:flex-start}.clinic-profile .provider-avatar{
width:3.7rem;height:3.7rem;flex-basis:3.7rem}
}
.sfr-lead{font-size:1.1rem;line-height:1.55;margin:.2rem 0 1rem}
.sfr-insights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
gap:.65rem;margin:0 0 1rem}
.sfr-fact{display:flex;flex-direction:column;gap:.16rem;padding:.78rem .85rem;
border:1px solid var(--line);border-radius:13px;background:var(--card);
box-shadow:var(--shadow-sm)}
.sfr-fact strong{font-size:1.08rem;color:var(--accent-ink);letter-spacing:-.02em}
.sfr-fact span{font-size:.76rem;line-height:1.35;color:var(--muted)}
@media(max-width:32rem){
.sfr-insights{grid-template-columns:1fr 1fr;gap:.5rem}
.sfr-fact{padding:.68rem .72rem}
}
.sfr-foot{font-size:.875rem;color:var(--muted);margin:1.1rem 0}
.tags{display:flex;flex-wrap:wrap;gap:.34rem;margin-top:.55rem}
.tag{font-size:.69rem;letter-spacing:.045em;text-transform:uppercase;
color:var(--muted);border:1px solid var(--line);border-radius:999px;
padding:.18rem .56rem;background:color-mix(in srgb,var(--paper) 75%,transparent)}
.tag.web{border-style:dashed}
.badge{display:inline-block;margin-top:.5rem;padding:.22rem .6rem;
font-size:.79rem;line-height:1.4;border:1px solid;border-radius:999px;
background:var(--tint)}
.badge+.badge{margin-left:.35rem}
.badge.good{color:var(--good);border-color:var(--good)}
.badge.warn{color:var(--warn);border-color:var(--warn)}
.note{background:linear-gradient(135deg,var(--card),var(--wash));border:1px solid var(--line);
border-left:3px solid var(--accent);border-radius:13px;padding:.8rem 1rem;
margin:1.2rem 0;font-size:.93rem;color:var(--muted);box-shadow:var(--shadow-sm)}
.note strong{color:var(--ink)}
.finder{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--tint),
var(--wash));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
border-radius:16px;padding:1rem 1.1rem;margin:1.7rem 0;font-size:.93rem;color:var(--muted)}
.finder::before{content:"→";float:right;margin-left:1rem;color:var(--accent);
font-size:1.35rem;font-weight:800}
.uniq p:first-child{font-size:1.1rem;line-height:1.55}
.links{font-size:.92rem;margin:1.1rem 0;line-height:1.9}
.links a{margin-right:.85rem;display:inline-block;text-underline-offset:3px;
text-decoration-thickness:1px}
.links strong{font-weight:600;color:var(--muted);margin-right:.35rem}
table{border-collapse:collapse;width:100%;font-size:.9rem;margin:1rem 0;
display:block;overflow-x:auto;background:var(--card);border:1px solid var(--line);
border-radius:13px;box-shadow:var(--shadow-sm)}
th,td{border-bottom:1px solid var(--line);padding:.42rem .55rem;
text-align:left}
th{font-size:.8rem;letter-spacing:.03em;text-transform:uppercase;
color:var(--muted);font-weight:600}
footer.site{border-top:1px solid var(--line);background:linear-gradient(180deg,
var(--card),color-mix(in srgb,var(--card) 94%,var(--accent)));margin-top:3rem;
padding:2.4rem 0 2.8rem;font-size:.84rem;color:var(--muted)}
footer.site .wrap{max-width:68rem}
footer.site p{margin:.55rem 0;line-height:1.55}
footer.site strong{color:var(--ink)}
.footer-browse{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.5rem;
padding-bottom:1rem;border-bottom:1px solid var(--line)}
.footer-trust{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;
margin:1rem 0;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
gap:.4rem 1rem;margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--line)}
.footer-bottom p{margin:0}.footer-bottom .links{margin:0}
.footer-meta{font-size:.75rem;opacity:.9}
.foot-browse{display:flex;flex-wrap:wrap;gap:.25rem .75rem;margin:0;font-size:.82rem}
.foot-browse b{font-weight:600;color:var(--ink)}
@media (prefers-color-scheme:dark){
.provider-avatar img{filter:saturate(.95)}
}
@media(max-width:42rem){
.footer-browse,.footer-trust{grid-template-columns:1fr;gap:.7rem}
.footer-bottom{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}
}
