/* Dentist Signal — tokens read from design/DentistSignal.dc.html: flat sky hero (#6D9EDB), white stat tiles,
   border-only cards, navy primary actions, lime for the one action that matters, Outfit for display, Plus Jakarta
   Sans for text, 44px touch targets. Light-only, like the design. Secondary text colours were darkened to pass
   WCAG AA on white and on the page ground. */
:root{
  --page:#F5F8FC; --card:#fff; --ink:#10294A; --ink-2:#3D5876; --muted:#546E8E; --faint:#546E8E; --deco:#9AACC2;
  --line:#E1E8F1; --line-2:#E9EEF5; --line-3:#EEF2F7; --soft:#F7FAFD; --chip:#F0F4F9; --chip-h:#E4EBF4;
  --mist:#EAF1FA; --blue:#1B5FB0; --blue-h:#0F3E7A; --sky:#6D9EDB; --navy:#10294A; --navy-d:#0A1C36;
  --lime:#D7EE4A; --lime-h:#CBE43C; --navy-txt:#B9CBE2; --navy-mute:#A9BCD4;
  --good:#12704A; --good-bg:#E4F2EA; --warn:#8A5800; --warn-bg:#FBF0DC;
  --ff-d:Outfit,ui-sans-serif,system-ui,sans-serif; --ff-b:'Plus Jakarta Sans',ui-sans-serif,system-ui,sans-serif;
  --top:64px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--top) + 70px)}
body{margin:0;background:var(--page);color:var(--ink);font:400 16px/1.55 var(--ff-b);-webkit-font-smoothing:antialiased}
body.noscroll,body.mapmode{overflow:hidden}
h1,h2,h3,h4{font-family:var(--ff-d);font-weight:600;letter-spacing:-.02em;text-wrap:balance;margin:0}
p{margin:0}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--blue-h)}
input,button,select{font:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:10px}
.lbl{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
.num{font-variant-numeric:tabular-nums}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--navy);color:#fff;padding:10px 14px;border-radius:10px;font-weight:600}
.skip:focus{left:12px;color:#fff}
.i{flex:0 0 auto;display:inline-block;vertical-align:middle}
[hidden]{display:none!important}

/* ---- header: logo, sections, Find a dentist, Saved; a menu button replaces the sections on narrow screens */
header.top{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topin{max-width:1440px;margin:0 auto;padding:10px clamp(16px,3vw,40px);display:flex;align-items:center;gap:10px;min-height:var(--top)}
.brand{display:flex;align-items:center;gap:8px;flex:0 0 auto;color:var(--ink)}
.brand span{font-family:var(--ff-d);font-weight:700;font-size:18px;letter-spacing:-.02em}
.brand:hover{color:var(--ink)}
.brand svg{width:24px;height:24px}
nav.main{margin-left:auto;display:flex;gap:2px}
nav.main a{flex:0 0 auto;color:var(--ink-2);font-size:14.5px;font-weight:600;padding:9px 12px;border-radius:999px;white-space:nowrap}
nav.main a:hover{color:var(--ink);background:var(--chip)}
nav.main a[aria-current="page"]{background:var(--mist);color:var(--blue)}
.topacts{display:flex;gap:6px;align-items:center;margin-left:8px;flex:0 0 auto}
.topbtn{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 13px;border-radius:999px;border:1px solid var(--line);
  background:#fff;color:var(--ink);font-weight:600;font-size:14.5px;cursor:pointer;white-space:nowrap}
.topbtn:hover{border-color:var(--sky);color:var(--ink)}
.topbtn.find{background:var(--navy);border-color:var(--navy);color:#fff}
.topbtn.find:hover{background:var(--navy-d);color:#fff}
.savedn{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--lime);color:var(--ink);font-size:12px;font-weight:700}
.menubtn{display:none}
.drawer{border-top:1px solid var(--line);background:#fff;padding:6px clamp(16px,3vw,40px) 14px;display:grid}
.drawer a{padding:14px 4px;border-bottom:1px solid var(--line-3);color:var(--ink);font-weight:600;font-size:16.5px}
.drawer a[aria-current="page"]{color:var(--blue)}
@media(max-width:1240px){nav.main a{padding:9px 9px;font-size:14px}}
@media(max-width:1060px){nav.main{display:none}.menubtn{display:inline-flex}.topacts{margin-left:auto}}
@media(min-width:1061px){.drawer{display:none!important}}
@media(max-width:560px){:root{--top:60px}.topbtn .tl{display:none}.topbtn{padding:8px 11px}.brand span{font-size:17px}}

/* ---- footer */
footer.foot{border-top:1px solid var(--line);background:#fff;margin-top:72px}
.footin{max-width:1240px;margin:0 auto;padding:36px clamp(16px,3vw,40px) 28px}
.fcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px 28px}
.fh{font-family:var(--ff-d);font-weight:600;font-size:16px;color:var(--ink);margin-bottom:8px}
.fcol a{display:block;padding:6px 0;color:var(--ink-2);font-size:15px}
.fcol a:hover{color:var(--blue)}
.fbase{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-top:26px;padding-top:18px;border-top:1px solid var(--line-3);font-size:14px;color:var(--muted)}
.seal{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;border-radius:999px;padding:7px 13px 7px 10px;font-weight:600;font-size:13.5px}
.seal .i{color:var(--lime)}

/* ---- page widths */
.w{margin:0 auto;padding:16px clamp(16px,3vw,40px) 40px}
.w-home{max-width:1240px}.w-results{max-width:1440px}.w-profile{max-width:1400px}.w-doc{max-width:1100px}
.crumb{font-size:14px;color:var(--muted);margin:4px 0 12px}
.crumb a{color:var(--muted)}.crumb a:hover{color:var(--blue)}
.back{display:inline-block;color:var(--blue);font-weight:600;font-size:15px;margin:4px 0 12px}

/* ---- hero (home + profile) */
.hero{background:var(--sky);border-radius:28px;padding:clamp(26px,4vw,48px) clamp(20px,3vw,44px) clamp(24px,3vw,40px);color:#fff}
.hero h1{color:#fff;font-size:clamp(34px,7vw,66px);line-height:.96;letter-spacing:-.035em;margin:0 0 16px;max-width:16ch}
.hero .lead{color:#fff;font-size:clamp(16px,2.6vw,19px);line-height:1.5;max-width:60ch;margin:0 0 24px;font-weight:500}
.hero.profile{border-radius:26px;padding:clamp(22px,3vw,42px)}
.hero.profile h1{font-size:clamp(30px,5vw,54px);line-height:1.02;max-width:22ch;margin:0 0 10px}
.hero .tagline{color:#fff;font-size:16.5px;margin-bottom:4px;max-width:70ch}
.hero .addr{color:#fff;font-size:16px}
.hero .checked{display:flex;align-items:center;gap:7px;color:#fff;font-size:14px;margin-top:12px;font-weight:500}
.hbadges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.hbadges span{background:rgba(255,255,255,.94);color:var(--ink);font-size:13px;font-weight:700;padding:6px 11px;border-radius:999px}
.hbadges span.good{background:#fff;color:var(--good)}
.hbadges a{background:rgba(255,255,255,.94);color:var(--ink);font-size:13px;font-weight:700;padding:6px 11px;border-radius:999px;text-decoration:underline;text-underline-offset:3px}
.hbadges a:hover{background:#fff;color:var(--blue)}
.search{position:relative;background:#fff;border-radius:20px;padding:12px;display:grid;gap:10px;box-shadow:0 12px 30px rgba(16,41,74,.14);max-width:600px}
.search.solo{box-shadow:none;border:1px solid var(--line)}
.search .field{display:flex;align-items:center;gap:10px;padding:4px 6px;color:var(--blue)}
.search input{border:0;outline:none;width:100%;font-size:17px;padding:10px 0;color:var(--ink);background:transparent}
.search input::-webkit-search-cancel-button{display:none}
.search .row{display:flex;gap:8px;flex-wrap:wrap}
.search .row .btn.navy{flex:1 1 170px}
.search .msg{font-size:14.5px;color:var(--ink-2);padding:2px 6px 4px;line-height:1.5}
.sugg{list-style:none;margin:0;padding:6px 0 0;border-top:1px solid var(--line-3);max-height:min(56vh,440px);overflow:auto}
.sg{display:grid;grid-template-columns:104px 1fr;grid-template-areas:"k l" "k s";column-gap:12px;padding:10px 10px;border-radius:12px;cursor:pointer;color:var(--ink)}
.sg.cur,.sg:hover{background:var(--mist)}
.sgk{grid-area:k;align-self:center;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.sgl{grid-area:l;font-weight:600;font-size:15.5px}
.sgs{grid-area:s;font-size:13.5px;color:var(--muted)}
@media(max-width:480px){.sg{grid-template-columns:1fr;grid-template-areas:"l" "s" "k"}.sgk{font-size:11px}}
.quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;align-items:center}
.quick .qk{color:#fff;font-size:15px;font-weight:600;margin-right:2px}
.quick a,.needbtn{background:rgba(16,41,74,.16);color:#fff;border:1px solid rgba(255,255,255,.6);border-radius:999px;padding:10px 14px;font-size:14.5px;font-weight:600;min-height:44px;cursor:pointer}
.quick a:hover,.needbtn:hover{background:rgba(16,41,74,.28);color:#fff}

/* ---- buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:14px 18px;font-weight:600;font-size:15.5px;cursor:pointer;min-height:48px;text-align:center}
.btn.navy{background:var(--navy);color:#fff}.btn.navy:hover{background:var(--navy-d);color:#fff}
.btn.soft{background:var(--chip);color:var(--ink)}.btn.soft:hover{background:var(--chip-h);color:var(--ink)}
.btn.lime{background:var(--lime);color:var(--ink);font-weight:700}.btn.lime:hover{background:var(--lime-h);color:var(--ink)}
.btn.glass{background:rgba(16,41,74,.14);border:1px solid rgba(255,255,255,.65);color:#fff}.btn.glass:hover{background:rgba(16,41,74,.26);color:#fff}
.btn.glass[aria-pressed="true"]{background:#fff;color:#B4234A;border-color:#fff}
.btn.glass[aria-pressed="true"] svg path{fill:currentColor}
.btn small{font-weight:600;font-size:13px;opacity:.85}
.btn.sm{padding:10px 14px;min-height:44px;border-radius:12px;font-size:14.5px}
.btn:disabled{opacity:.6;cursor:default}
.acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}

/* ---- tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:14px}
.tile{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;color:var(--ink)}
.tile b{display:block;font-family:var(--ff-d);font-weight:600;font-size:30px;color:var(--blue);letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
.tile span{display:block;font-size:14px;color:var(--ink-2);margin-top:4px;line-height:1.4}

/* ---- sections */
h2.sec{font-size:clamp(22px,3vw,28px);margin:40px 0 8px}
.dek{color:var(--muted);font-size:15px;margin:0 0 16px;max-width:78ch;line-height:1.55}
.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(18px,2vw,26px)}
.card h2{font-size:clamp(20px,2.4vw,25px);margin:0 0 6px}
.card h3{font-size:18px;margin:0 0 12px}
.stack{display:grid;gap:12px}
.split{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;margin-top:14px}
.split>.main{flex:999 1 560px;min-width:300px;display:grid;gap:14px}
.split>.side{flex:1 1 330px;min-width:280px;display:grid;gap:14px}
.lead-p{margin:0 0 16px;font-size:clamp(16px,2vw,18px);line-height:1.65;color:var(--ink-2);max-width:78ch}
.lead-p b{color:var(--ink)}
.flink{color:var(--blue);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.city-h1{font-size:clamp(30px,5vw,52px);line-height:1.04;letter-spacing:-.03em;margin:0 0 14px}

/* ---- chips and pills */
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{flex:0 0 auto;border-radius:999px;padding:10px 15px;font-size:14.5px;font-weight:600;cursor:pointer;min-height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);display:inline-flex;align-items:center;gap:7px}
.chip:hover{border-color:var(--sky)}
.chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.chip .c{font-size:13px;color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}
.chip .c:empty{display:none}
.chip[aria-pressed="true"] .c{color:var(--navy-txt)}
.chip[data-near][aria-pressed="true"] svg{color:var(--lime)}
.pill{display:inline-flex;align-items:center;font-size:13px;font-weight:700;padding:6px 11px;border-radius:999px;background:var(--chip);color:var(--ink-2);white-space:nowrap}
.pill.good{background:var(--good-bg);color:var(--good)}
.tag{background:var(--chip);color:var(--ink-2);font-size:13px;font-weight:500;padding:6px 10px;border-radius:999px}
.plan{background:var(--chip);color:var(--ink);font-size:14px;font-weight:500;padding:8px 12px;border-radius:999px}
.pills-row{display:flex;gap:8px;flex-wrap:wrap}

/* ---- the list toolbar: sticky, scrolls sideways with a fade that shows more chips are hidden */
.toolwrap{position:sticky;top:var(--top);z-index:30;background:rgba(245,248,252,.97);backdrop-filter:blur(8px)}
.toolwrap::before,.toolwrap::after{content:"";position:absolute;top:0;bottom:0;width:44px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:2}
.toolwrap::before{left:0;background:linear-gradient(90deg,var(--page) 20%,rgba(245,248,252,0))}
.toolwrap::after{right:0;background:linear-gradient(270deg,var(--page) 20%,rgba(245,248,252,0))}
.toolwrap.more-l::before,.toolwrap.more-r::after{opacity:1}
.toolbar{display:flex;gap:8px;align-items:center;overflow-x:auto;scrollbar-width:none;padding:10px 0}
.toolbar::-webkit-scrollbar{display:none}
.toolbar>*{flex:0 0 auto}
.toolbar .btn{min-height:44px;border-radius:999px;padding:10px 16px}
.fcount{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:99px;background:var(--lime);color:var(--ink);font-size:12px;font-weight:700;padding:0 6px}
.activebar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:2px 0 8px}
.achip{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;border:0;border-radius:999px;padding:7px 11px 7px 14px;font-size:14px;font-weight:600;cursor:pointer;min-height:38px}
.achip .i{opacity:.85}
.achip.plain{background:var(--mist);color:var(--blue);cursor:default;padding-right:14px}
.linkbtn{background:transparent;border:0;color:var(--blue);font-weight:600;font-size:15px;cursor:pointer;padding:10px 8px;min-height:44px}
details.browse{margin:0 0 6px}

/* ---- results: list and map side by side on wide screens */
.results{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.res-list h2.sec{margin-top:16px}
.res-map{display:none}
@media(min-width:1080px){
  .results{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
  .res-map{display:block;position:sticky;top:calc(var(--top) + 70px)}
  .res-map .mapframe{height:calc(100vh - var(--top) - 90px);min-height:480px}
  .mapchip{display:none!important}
}
.mapframe{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);
  background:#E8EEF6 linear-gradient(rgba(16,41,74,.035) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,rgba(16,41,74,.035) 1px,transparent 1px) 0 0/40px 40px}
.mapframe .map{position:absolute;inset:0}
.mapload{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-weight:600;font-size:15px}
.mapclose,.mapcards{display:none}
body.mapmode .res-map{display:block;position:fixed;inset:0;z-index:70;background:#E8EEF6}
body.mapmode .res-map .mapframe{position:absolute;inset:0;border-radius:0;border:0;height:auto}
body.mapmode .mapclose{display:inline-flex;align-items:center;gap:6px;position:absolute;z-index:600;left:12px;top:calc(12px + env(safe-area-inset-top));background:#fff;border:0;border-radius:999px;
  padding:11px 16px 11px 12px;font-weight:700;font-size:15px;box-shadow:0 6px 18px rgba(16,41,74,.22);min-height:44px;cursor:pointer;color:var(--ink)}
body.mapmode .mapcards{display:flex;position:absolute;z-index:600;left:0;right:0;bottom:0;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:12px 12px calc(14px + env(safe-area-inset-bottom));scrollbar-width:none}
body.mapmode .mapcards::-webkit-scrollbar{display:none}
body.mapmode .mapcards .rc{flex:0 0 min(86vw,380px);scroll-snap-align:center;box-shadow:0 10px 26px rgba(16,41,74,.2)}
.leaflet-container{font-family:var(--ff-b);background:#E8EEF6}
.leaflet-control-attribution{font-size:10px}
.leaflet-div-icon{background:transparent;border:0}
.pin span{display:block;width:14px;height:14px;margin:3px;border-radius:50%;background:var(--blue);border:2px solid #fff;box-shadow:0 1px 4px rgba(16,41,74,.4);transition:transform .15s,background .15s}
.pin.thin span{background:#7F93AE}
.pin.hl span,.pin:hover span{transform:scale(1.55);background:var(--navy);box-shadow:0 0 0 4px rgba(215,238,74,.9)}
.cluster span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;font-size:13.5px;
  border:3px solid rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(16,41,74,.3);transition:transform .15s}
.cluster.big span{background:var(--navy)}
.cluster.hl span{background:var(--lime);color:var(--ink);transform:scale(1.12)}
.you span{display:block;width:18px;height:18px;margin:3px;border-radius:50%;background:var(--lime);border:3px solid var(--navy);box-shadow:0 0 0 7px rgba(215,238,74,.4)}
.leaflet-popup-content-wrapper{border-radius:14px}
.leaflet-popup-content{margin:12px 14px;line-height:1.4}
.pop b{font-size:15px;font-weight:700}.pop b a{color:var(--ink)}
.pop .pm{font-size:13px;color:var(--muted);margin-top:2px}
.pop .pa{font-size:13px;color:var(--good);font-weight:700;margin-top:4px}
.pop .ph{font-size:13px;color:var(--muted);margin-top:2px}.pop .ph.open{color:var(--good);font-weight:600}

.listhead{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;margin:0 0 6px}
.showing{font-size:15px;color:var(--ink-2);margin:0;font-weight:600}
.sortby{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;color:var(--muted);font-weight:600}
.sortby select{border:1px solid var(--line);border-radius:999px;padding:9px 36px 9px 14px;min-height:44px;color:var(--ink);font-weight:600;font-size:14.5px;appearance:none;cursor:pointer;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2310294A' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center}
.ordernote{font-size:14px;color:var(--muted);margin:0 0 12px;max-width:72ch;line-height:1.5}
.nearstatus{font-size:14.5px;color:var(--ink-2);background:var(--mist);border-radius:12px;padding:10px 14px;margin:0 0 12px;line-height:1.5}
.legend{font-size:14px;color:var(--muted);margin:18px 0 0;max-width:72ch;line-height:1.55}
.legend b{color:var(--ink-2)}
.empty{background:#fff;border:1px dashed #C9D7E8;border-radius:20px;padding:30px 20px;text-align:center;display:grid;gap:10px;justify-items:center}
.empty b{display:block;font-family:var(--ff-d);font-weight:600;font-size:20px}
.empty .dek{margin:0}
.more{display:flex;justify-content:center;padding:14px}
.alllink{margin:20px 0 0;font-weight:600;font-size:15.5px}

/* ---- result card: whole card opens the practice; call and save are secondary */
.rlist{display:grid;gap:10px}
.rgrid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr))}
.rc{position:relative;display:flex;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 12px 14px 16px;transition:border-color .15s,box-shadow .15s}
.rc:hover,.rc:focus-within{border-color:var(--sky);box-shadow:0 8px 22px rgba(16,41,74,.08)}
.rc.thin{background:var(--soft)}
.rc-body{flex:1 1 auto;min-width:0;display:grid;gap:5px}
.rc-name{font-family:var(--ff-d);font-weight:600;font-size:18.5px;letter-spacing:-.015em;line-height:1.25}
.rc-name a{color:var(--ink)}
.rc-name a::after{content:"";position:absolute;inset:0;border-radius:18px}
.rc-name a:hover{color:var(--blue)}
.rc-name a:focus-visible{outline:none}
.rc-name a:focus-visible::after{outline:3px solid var(--blue);outline-offset:2px}
.rc-meta{font-size:14.5px;color:var(--muted)}
.rdist{color:var(--blue);font-weight:600}
.noprof{color:var(--muted);border-bottom:1px dotted var(--deco);cursor:help}
.rc-status{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:14.5px}
.st{display:inline-flex;align-items:center;gap:5px;font-weight:600}
.st.acc{color:var(--good)}
.st.hrs{color:var(--muted);font-weight:500}
.st.hrs.open{color:var(--good);font-weight:600}
.st.hrs:empty{display:none}
.sig{list-style:none;margin:3px 0 1px;padding:0;display:flex;flex-wrap:wrap;gap:4px 13px;font-size:13.5px}
.sig li{display:inline-flex;align-items:center;gap:5px}
.sig li.on{color:var(--ink);font-weight:600}
.sig li.on .i{color:var(--blue)}
.sig li.off{color:var(--muted)}
.sig li.off .i{color:var(--deco)}
.sig li.off span:not(.sr){text-decoration:line-through;text-decoration-color:rgba(84,110,142,.45)}
.rc-foot{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;font-size:14px;color:var(--muted)}
.rc-foot .rate{color:var(--ink);font-weight:700}
.rc-foot .dot{color:var(--deco);margin:0 4px}
.rc-acts{position:relative;z-index:2;display:flex;flex-direction:column;gap:6px;flex:0 0 auto}
.ibtn{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--chip);color:var(--ink);border:0;cursor:pointer}
.ibtn:hover{background:var(--chip-h);color:var(--ink)}
.ibtn.save[aria-pressed="true"]{background:#FCE8EC;color:#B4234A}
.ibtn.save[aria-pressed="true"] svg path{fill:currentColor}

/* ---- compact rows (neighbourhood edges, A–Z index, networks) */
.rows{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}
.rowi{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line)}
.rowi:last-child{border-bottom:0}
.rowi:hover{background:var(--soft)}
.rowi .ini{flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:var(--mist);color:var(--blue);display:grid;place-items:center;font-family:var(--ff-d);font-weight:600;font-size:15px}
.rowi .nm{font-weight:600;font-size:15.5px;color:var(--ink)}
.rowi a.nm:hover{color:var(--blue)}
.rowi .meta{font-size:14px;color:var(--muted);margin-top:2px}
.rowi .rt{flex:0 0 auto;font-size:14.5px;font-weight:600;text-align:right}
.rowi .rt span{display:block;font-size:13px;font-weight:500;color:var(--muted)}

/* ---- common needs */
.needs{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.need{display:grid;gap:3px;align-content:start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;color:var(--ink)}
.need:hover{border-color:var(--sky);color:var(--ink)}
.need b{font-family:var(--ff-d);font-size:28px;color:var(--blue);font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}
.need .nt{font-weight:700;font-size:16px}
.need .nd{font-size:14px;color:var(--muted);line-height:1.45}
.need .ng{font-size:14.5px;color:var(--blue);font-weight:600;margin-top:6px}

/* ---- FAQ, notes, disclosures */
.faq{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
.faq .q{font-weight:600;font-size:16px;margin-bottom:6px}
.faq p{font-size:15px;line-height:1.65;color:var(--ink-2)}
.path{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.path>div{border-radius:18px;padding:18px;border:1px solid var(--line-2)}
.path .wait{background:#fff}
.path b{display:block;font-family:var(--ff-d);font-weight:600;font-size:18px;margin-bottom:6px}
.path p{font-size:15px;color:var(--ink-2);line-height:1.55}
.note{background:var(--chip);border-radius:18px;padding:16px 18px;font-size:14px;color:var(--ink-2);line-height:1.55}
.method{font-size:14px;color:var(--muted);border-top:1px solid var(--line-3);padding-top:12px;margin-top:14px;line-height:1.55}
.source{font-size:14px;color:var(--muted);margin-top:28px;line-height:1.6}
.source a{color:var(--ink-2);text-decoration:underline}
.quiet{font-size:15px;color:var(--muted);margin:14px 0 0;max-width:80ch;line-height:1.55}
details.how{font-size:15px;max-width:72ch}
details.how summary{cursor:pointer;color:var(--blue);font-weight:600;list-style:none;min-height:44px;display:inline-flex;align-items:center}
details.how summary::-webkit-details-marker{display:none}
details.how summary::after{content:"+";margin-left:6px;color:var(--muted)}
details.how[open] summary::after{content:"−"}
details.how p{color:var(--ink-2);margin-top:4px;line-height:1.6}
.jumplinks{columns:4 190px;column-gap:24px;margin-top:8px}
.jumplinks a{display:block;padding:5px 0;font-size:15px;break-inside:avoid}
.jumplinks span{color:var(--muted);font-size:13px}
.accs{display:grid}
details.acc{border-bottom:1px solid var(--line-3)}
details.acc:last-child{border-bottom:0}
details.acc summary{cursor:pointer;list-style:none;padding:14px 34px 14px 0;font-weight:600;font-size:16px;position:relative;line-height:1.4}
details.acc summary::-webkit-details-marker{display:none}
details.acc summary::after{content:"+";position:absolute;right:6px;top:11px;font-size:22px;color:var(--muted);font-weight:400}
details.acc[open] summary::after{content:"−"}
details.acc p{padding:0 0 16px;color:var(--ink-2);font-size:15px;line-height:1.65}
.tilelinks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:9px}
.tilelinks>*{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:15px;font-weight:600;color:var(--ink)}
.tilelinks>a:hover{border-color:var(--sky)}
.tilelinks span{color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}

/* ---- practice profile */
.gtk{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(18px,2vw,26px)}
.gtk h2{font-size:clamp(20px,2.4vw,25px);margin-bottom:16px}
.gtkgrid{display:grid;gap:16px 22px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.gi{display:flex;gap:12px;align-items:flex-start}
.gic{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;flex:0 0 auto;background:var(--mist);color:var(--blue)}
.gi.yes .gic{background:var(--good-bg);color:var(--good)}
.gi.no .gic,.gi.unk .gic{background:var(--chip);color:var(--muted)}
.gb{min-width:0}
.gl{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.gv{font-size:16px;font-weight:600;line-height:1.35;margin-top:2px;color:var(--ink)}
.gv a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--deco)}
.gi.unk .gv,.gi.no .gv{color:var(--ink-2);font-weight:500}
.gx{font-size:14px;margin-top:2px;color:var(--muted)}
.gx.open{color:var(--good);font-weight:600}
.gx:empty{display:none}
.evq{display:block;font-size:14px;color:var(--ink-2);margin-top:4px;line-height:1.45;font-style:italic}
.src{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--chip);color:var(--ink-2)}
.src.s{background:var(--mist);color:var(--blue)}
.notice{background:#FFF7E6;border:1px solid #F0D9A8;border-radius:16px;padding:14px 16px;font-size:15px;color:var(--ink);line-height:1.5}
.notice a{font-weight:700}
.docs{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.doc{border:1px solid var(--line-2);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px}
.doc .hd{display:flex;gap:12px;align-items:flex-start}
.doc .av{display:grid;place-items:center;width:44px;height:44px;border-radius:99px;background:var(--mist);color:var(--blue);flex:0 0 auto}
.doc .hdt{min-width:0}
.doc .nm{font-weight:700;font-size:16px}
.doc .role{font-size:14px;color:var(--muted);margin-top:2px}
details.bio summary{cursor:pointer;color:var(--blue);font-weight:600;font-size:14.5px;list-style:none;min-height:32px;display:inline-flex;align-items:center}
details.bio summary::-webkit-details-marker{display:none}
details.bio summary::after{content:"+";margin-left:6px}
details.bio[open] summary::after{content:"−"}
details.bio p{font-size:14.5px;color:var(--ink-2);line-height:1.6;margin-top:6px}
.grp{margin-top:20px}
.grp>.lbl{margin-bottom:6px}
.tms{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 20px}
.tm{display:flex;flex-direction:column;padding:9px 0;border-bottom:1px solid var(--line-3)}
.tmn{font-weight:600;font-size:15px}
.tmr{font-size:13.5px;color:var(--muted)}
.tlinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.tlinks a{background:var(--chip);color:var(--ink);border-radius:999px;padding:9px 14px;font-size:14.5px;font-weight:500}
.tlinks a:hover{background:var(--chip-h);color:var(--ink)}
.grp:first-of-type{margin-top:12px}
.cols2{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.bul{display:grid;gap:7px}
.bul div{font-size:15px;color:var(--ink-2);line-height:1.45;display:flex;gap:8px}
.bul div::before{content:"•";color:var(--sky);flex:0 0 auto}
.hrs .opennow{font-weight:700;font-size:16px;margin:0 0 8px;color:var(--muted)}
.hrs .opennow.open{color:var(--good)}
.hrs .h{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-3);font-size:15px}
.hrs .h:last-of-type{border-bottom:0}
.hrs .h span:first-child{color:var(--muted)}
.hrs .h span:last-child{font-weight:600;text-align:right}
.hrs .h.closed span:last-child{color:var(--muted);font-weight:500}
.hrs .h.today{background:var(--mist);margin:0 -10px;padding:9px 10px;border-radius:10px;border-bottom-color:transparent}
.hrs .h.today span:first-child{color:var(--ink);font-weight:700}
.rec{display:grid;gap:10px}
.kv{display:flex;justify-content:space-between;gap:12px;font-size:15px;padding:4px 0}
.kv span{color:var(--muted)}
.kv b{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.rec .kv{font-size:14.5px;padding:0}
details.recd summary{cursor:pointer;list-style:none;font-family:var(--ff-d);font-weight:600;font-size:18px;min-height:32px;display:flex;align-items:center;justify-content:space-between}
details.recd summary::-webkit-details-marker{display:none}
details.recd summary::after{content:"+";color:var(--muted);font-family:var(--ff-b);font-size:22px;font-weight:400}
details.recd[open] summary::after{content:"−"}
details.recd .rec{margin-top:12px}
.mapbox{border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#E8EEF6}
.navycard{background:var(--navy);border-radius:22px;padding:20px}
.navycard .lbl{color:var(--lime);margin-bottom:10px;letter-spacing:.06em}
.nb{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.nb:last-child{border-bottom:0}
.nb .nm{display:block;color:#fff;font-size:15px;font-weight:600}
.nb .mt{display:block;color:var(--navy-mute);font-size:13.5px;margin-top:2px}
.nb .st{color:var(--lime);font-size:14px;font-weight:700;flex:0 0 auto}
.revsum{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.revsum .big{font-family:var(--ff-d);font-weight:600;font-size:54px;line-height:1;letter-spacing:-.03em}
.revsum .stars{color:#B89E00;font-size:17px;margin-top:6px}
.tscroll{overflow-x:auto}
table.ft{width:100%;border-collapse:collapse;font-size:15px;min-width:420px}
table.ft th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:0 12px 10px 0;border-bottom:1px solid var(--line)}
table.ft td{padding:10px 12px 10px 0;border-bottom:1px solid var(--line-3);vertical-align:top}
table.ft td.n,table.ft th.n{text-align:right;font-variant-numeric:tabular-nums}
table.ft tr:last-child td{border-bottom:0}
.actionbar{display:none}
@media(max-width:900px){
  .split{display:flex;flex-direction:column;align-items:stretch}
  .split>.main,.split>.side{display:contents}
  .m-gtk{order:1}.m-notice{order:2}.m-hours{order:3}.m-where{order:4}.m-map{order:5}.m-treat{order:6}.m-pay{order:7}.m-access{order:8}
  .m-team{order:9}.m-fees{order:10}.m-rev{order:11}.m-faq{order:12}.m-near{order:13}.m-rec{order:14}.m-note{order:15}
  .actionbar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(255,255,255,.97);border-top:1px solid var(--line);
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .2s;box-shadow:0 -8px 24px rgba(16,41,74,.08)}
  .actionbar.show{transform:none}
  .actionbar .btn{flex:1 1 0;min-height:50px;padding:10px 8px;font-size:15.5px;gap:6px}
  body:has(.actionbar){padding-bottom:78px}
}

/* ---- home */
.cities{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.cityb{text-align:left;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;color:var(--ink);display:block}
a.cityb:hover{border-color:var(--sky);color:var(--ink)}
.cityb b{display:block;font-weight:700;font-size:16px}
.cityb span{display:block;font-size:14px;color:var(--ink-2);margin-top:2px}
.cityb .cs{font-size:13.5px;color:var(--good);font-weight:600;margin-top:6px}
.cityb.soon{background:transparent;border-style:dashed}
.cityb.soon span,.cityb.soon .cs{color:var(--muted)}
.signal{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(20px,3vw,36px);margin-top:44px}
.signal h2{font-size:clamp(24px,3.4vw,34px);margin-bottom:10px;line-height:1.1}
.signal p{color:var(--ink-2);line-height:1.6;font-size:16px}
.sigcard{background:var(--soft);border:1px solid var(--line-2);border-radius:16px;padding:16px 18px}
.sigcard .sig{font-size:15px;gap:10px 18px}
.sigkeys{display:grid;gap:6px;margin-top:12px;font-size:14.5px;color:var(--ink-2)}
.sigkeys b{color:var(--ink)}
.band{margin-top:44px;background:var(--navy);border-radius:24px;padding:clamp(24px,3vw,40px)}
.band .eyebrow{display:inline-block;background:var(--lime);color:var(--ink);font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:6px 10px;border-radius:999px;margin-bottom:14px}
.band h2{color:#fff;font-size:clamp(22px,4.4vw,32px);margin:0 0 10px}
.band p{color:var(--navy-txt);font-size:16px;line-height:1.55;max-width:58ch;margin:0 0 18px}

/* ---- costs */
.costs .costhead{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;align-items:baseline;margin-bottom:6px}
.rng{padding:15px 0;border-bottom:1px solid var(--line-3)}
.rng-h{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.rng-h .nm{font-weight:600;font-size:16px}
.rng-h .md{font-family:var(--ff-d);font-weight:600;font-size:24px;font-variant-numeric:tabular-nums;white-space:nowrap}
.rng-h .md small{font-family:var(--ff-b);font-size:13px;color:var(--muted);font-weight:500}
.bar{position:relative;height:12px;border-radius:99px;background:var(--chip);margin:10px 0 7px}
/* not .band: that class is the home page's navy panel and brought its padding with it */
.bar .rngband{position:absolute;top:0;bottom:0;border-radius:99px;background:linear-gradient(90deg,#A9C6EC,var(--sky))}
.bar .tick{position:absolute;top:-4px;bottom:-4px;width:4px;margin-left:-2px;border-radius:2px;background:var(--navy)}
.rng-f{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:13.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.axis{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);padding-top:10px;font-variant-numeric:tabular-nums}

/* ---- dental care plan */
.tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 14px}
.tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;font-weight:600;font-size:15px;cursor:pointer;min-height:44px;color:var(--ink)}
.tab span{color:var(--muted);font-weight:500;margin-left:4px}
.tab[aria-selected="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.tab[aria-selected="true"] span{color:var(--navy-txt)}
.cols-2{display:grid;gap:10px 32px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.checks li{display:flex;gap:10px;font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.checks li::before{content:"";flex:0 0 22px;height:22px;border-radius:99px;margin-top:1px;
  background:var(--good-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%2312704A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat}
.tiers{display:grid;gap:8px}
.tier{display:grid;grid-template-columns:1fr auto;grid-template-areas:"l p" "b b";gap:6px 12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.tier .tl{grid-area:l}.tier .tl b{display:block;font-size:15.5px}.tier .tl span{font-size:14px;color:var(--muted)}
.tier .tp{grid-area:p;font-family:var(--ff-d);font-weight:600;font-size:24px;color:var(--ink);font-variant-numeric:tabular-nums;align-self:center}
.tier .tb{grid-area:b;height:8px;border-radius:99px;background:var(--chip);overflow:hidden}
.tier .tb span{display:block;height:100%;background:var(--sky);border-radius:99px}
.tier.no{background:var(--soft)}.tier.no .tb span{background:#C9D3DF}

/* ---- saved and compare */
.savedrow{display:grid;gap:6px}
.pick{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink-2);cursor:pointer;min-height:36px}
.pick input{width:20px;height:20px;accent-color:var(--navy)}
.compare{margin-top:10px}
table.cmp{border-collapse:separate;border-spacing:0;width:100%;min-width:560px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;font-size:15px}
table.cmp th,table.cmp td{padding:12px 14px;border-bottom:1px solid var(--line-3);text-align:left;vertical-align:top}
table.cmp tr:last-child th,table.cmp tr:last-child td{border-bottom:0}
table.cmp thead th{font-family:var(--ff-d);font-size:16.5px;background:var(--soft)}
table.cmp tbody th{font-weight:600;color:var(--ink-2);width:28%}
.ok{display:inline-flex;align-items:center;gap:5px;color:var(--good);font-weight:600}
.na{color:var(--muted)}

/* ---- "Spot a mistake?" form */
.cform{display:grid;gap:18px;max-width:700px;margin-top:8px}
.fl{display:grid;gap:7px}
.fl>span{font-weight:600;font-size:15.5px}
.fl input,.fl textarea,.fl select{border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:16px;background:#fff;color:var(--ink);min-height:48px;width:100%}
.fl textarea{resize:vertical;line-height:1.5}
.fl small{color:var(--muted);font-size:13.5px}
.cform .btn{justify-self:start;min-width:160px}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---- sheet (filters) */
.sheet-bg{position:fixed;inset:0;background:rgba(16,41,74,.45);z-index:80}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-radius:24px 24px 0 0;
  padding:8px clamp(18px,3vw,28px) 0;max-height:88vh;overflow:auto;max-width:720px;margin:0 auto;box-shadow:0 -12px 40px rgba(16,41,74,.18)}
.sheet:focus{outline:none}
.sheet .grab{width:44px;height:4px;border-radius:99px;background:#DDE5EF;margin:8px auto 12px}
.sheethead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.sheethead h3{font-size:22px}
.sheetbtns{display:flex;align-items:center;gap:4px}
.xbtn{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:0;background:var(--chip);color:var(--ink);cursor:pointer}
.xbtn:hover{background:var(--chip-h)}
.sgroup{margin-bottom:20px}
.sgroup .lbl{display:block;margin-bottom:10px}
.hoodfield{display:flex;gap:6px;align-items:center}
.hoodin{flex:1 1 auto;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;min-height:48px;color:var(--ink);font-size:16px}
.applybtn{width:100%;position:sticky;bottom:0;margin:4px 0 0;border-radius:16px 16px 0 0;min-height:56px}
.sheet .applybtn{box-shadow:0 -10px 16px #fff}

/* ---- breadcrumbs: every page, matching the BreadcrumbList in its schema */
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;margin:4px 0 14px;padding:0;font-size:14px;color:var(--muted)}
.crumbs li+li::before{content:"›";margin:0 8px;color:var(--deco)}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--blue)}
.crumbs li[aria-current]{color:var(--ink-2);font-weight:600}
h2.lbl{font-family:var(--ff-b);font-size:12px;letter-spacing:.05em;margin:0}
.srcnote{font-size:13.5px;color:var(--muted);margin-top:12px;line-height:1.5}
.eyebrow-t{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin:0 0 10px}

/* ---- city head: the job first, and the urgent case beside it */
.cityhead{display:grid;gap:18px;align-items:start;margin:0 0 6px}
@media(min-width:1000px){.cityhead{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:36px}}
.cityhead h1{font-size:clamp(34px,5.4vw,58px);line-height:1;letter-spacing:-.035em;margin:0 0 14px;max-width:15ch}
.cityhead .lead-p{margin-bottom:18px}
.heroacts{display:flex;gap:8px;flex-wrap:wrap}
/* neighbourhoods up front: the way most people narrow a city down */
.hoodrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 0}
.hoodrow .lbl{margin-right:2px}
.hoodrow a{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 13px;
  font-size:14px;font-weight:600;color:var(--ink);min-height:40px}
.hoodrow a:hover{border-color:var(--sky);color:var(--ink)}
.hoodrow a span{color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}
.hoodrow a.all{background:var(--mist);border-color:var(--mist);color:var(--blue)}
.urgent{background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy);border-radius:22px;padding:18px 18px 12px}
.urgent h2{font-size:clamp(20px,2.4vw,24px);margin:2px 0 4px}
.urgent .dek{margin:0 0 6px;font-size:14.5px}
.uhead{font-size:13px;font-weight:700;color:var(--good);margin:6px 0 0}
.uhead.shut{color:var(--muted)}
.uitem{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line-3)}
.ub{min-width:0}
.un{font-weight:700;font-size:16px;color:var(--ink)}
.um{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.um .pill{font-size:12.5px;padding:4px 9px}
.ux{font-size:14px;color:var(--muted);margin-top:5px;display:flex;flex-wrap:wrap;gap:2px 12px}
.uitem .btn{flex:0 0 auto}
.urgent .fine{font-size:13.5px;color:var(--muted);line-height:1.5;margin-top:6px;border-top:1px solid var(--line-3);padding-top:10px}
.secnav{display:flex;overflow-x:auto;border-bottom:1px solid var(--line);margin:22px 0 0;scrollbar-width:none}
.secnav::-webkit-scrollbar{display:none}
.secnav a{flex:0 0 auto;padding:12px 16px;font-weight:600;font-size:14.5px;color:var(--ink-2);border-bottom:3px solid transparent;margin-bottom:-1px}
.secnav a:hover{color:var(--ink);border-bottom-color:var(--line)}
.jobs h2.sec{margin-top:26px}
.jobgrid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(min(100%,205px),1fr))}
.jobt{display:flex;align-items:center;gap:10px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px;min-height:58px;cursor:pointer;color:var(--ink);font-weight:600;font-size:15px}
.jobt .i{color:var(--blue);flex:0 0 auto}
.jobt .jl{flex:1 1 auto;line-height:1.25}
.jobt .c{font-size:13px;color:var(--muted);font-weight:500;font-variant-numeric:tabular-nums}
.jobt:hover{border-color:var(--sky)}
.jobt[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.jobt[aria-pressed="true"] .i{color:var(--lime)}
.jobt[aria-pressed="true"] .c{color:var(--navy-txt)}
.filthead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:22px 0 0}
.filthead .lbl{margin:0}

/* ---- the result card: what it helps with, what patients say, then act */
.rc{display:grid;gap:9px;padding:16px 16px 14px}
.rc-body{display:grid;gap:6px}
.rc-eb{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.rc-rate{font-size:14.5px;color:var(--ink-2)}
.rc-rate b{color:var(--ink)}
.rc-rate .small{color:var(--muted)}
.st.no{color:var(--warn)}
.st.npr{color:var(--ink-2);font-weight:500}
.facts{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.facts li{display:inline-flex;align-items:center;gap:5px;background:var(--mist);color:var(--ink);font-size:13px;font-weight:600;padding:5px 10px;border-radius:999px}
.facts li .i{color:var(--blue)}
.rc-cols{display:grid;gap:10px 18px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:1px solid var(--line-3);padding-top:10px}
.rc-help,.rc-ev{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:5px;font-size:14.5px;color:var(--ink)}
.rc-help li{display:flex;align-items:center;gap:8px}
.rc-help li::before{content:"";flex:0 0 6px;height:6px;border-radius:99px;background:var(--sky)}
.rc-ev li{display:flex;justify-content:space-between;gap:10px;line-height:1.35}
.rc-ev li span:last-child{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.rc-more{position:relative;z-index:2;display:inline-block;margin-top:6px;font-size:14px;font-weight:600}
.rc-acts{position:relative;z-index:2;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px}
.rc-acts .btn{flex:1 1 0;min-width:0;padding-left:10px;padding-right:10px}
.rc-acts .ibtn{flex:0 0 44px}
.mapcards .rc-cols,.mapcards .facts{display:none}
/* specialists keep everything they list; the tag says what kind of clinic it is before anything else */
.rc-spec{justify-self:start;display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;font-size:12.5px;font-weight:700;
  letter-spacing:.02em;padding:5px 10px 5px 8px;border-radius:999px}
.rc-spec .i{color:var(--lime)}
.rc-help li.spec{font-weight:700}
.rc-help li.spec span{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--blue);background:var(--mist);padding:2px 7px;border-radius:999px}
.hbadges span.spec{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff}
.hbadges span.spec .i{color:var(--lime)}
.specbox{border:2px solid var(--navy);background:#fff}
.specbox .lbl{display:inline-flex;align-items:center;gap:6px;color:var(--blue)}
.specbox h2{margin:6px 0 8px}
.specbox p{font-size:16px;color:var(--ink-2);line-height:1.55;max-width:70ch}
.specbox .specnote{margin-top:10px;background:var(--mist);color:var(--ink);border-radius:12px;padding:10px 14px;font-size:15px;font-weight:600}
.spectag{margin-left:8px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--blue);background:var(--mist);padding:2px 8px;border-radius:999px}
@media(max-width:900px){.m-spec{order:0}}

/* ---- before you book */
.bgrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));align-items:start}
.bgrid .card h3{font-size:19px;margin-bottom:6px}
.easier{display:grid;gap:14px;margin-top:8px}
.easier p{font-size:14.5px;color:var(--ink-2);line-height:1.55;margin-top:3px}
.easier a{font-weight:600}
.phone blockquote{margin:8px 0 12px;padding:14px 16px;background:var(--mist);border-radius:14px;font-size:15.5px;line-height:1.6;color:var(--ink)}
.phone p{font-size:14.5px;color:var(--ink-2);line-height:1.55}
.feerow{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line-3)}
.feerow:last-of-type{border-bottom:0}
.feerow .nm{font-weight:600;font-size:15px}.feerow .sub{font-size:13px;color:var(--muted);margin-top:2px}
.feerow .pr{font-family:var(--ff-d);font-weight:600;font-size:20px;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.feerow .pr small{display:block;font-family:var(--ff-b);font-size:12.5px;color:var(--muted);font-weight:500}

/* ---- practice page, in the order a patient decides */
.hero .summary{color:#fff;font-size:clamp(16px,2vw,18.5px);line-height:1.5;max-width:62ch;margin:0 0 10px;font-weight:500}
.hero .hrate{color:#fff;font-size:15px;font-weight:600;margin-bottom:6px}
.hero .hrate a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.glance{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.glance .card h2{font-size:19px;display:flex;align-items:center;gap:8px;margin:0}
.helplist{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:9px}
.helplist li{display:flex;align-items:flex-start;gap:9px;font-size:15.5px;line-height:1.4}
.helplist .i{color:var(--good);margin-top:2px}
.helplist a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--deco);text-underline-offset:3px}
.card.caution{background:#FFFAF0;border-color:#F0D9A8}
.caution .helplist .i,.caution h2 .i{color:var(--warn)}
.card .srcnote{font-size:13.5px;color:var(--muted);margin-top:12px;line-height:1.5}
.decide{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.decide li{display:flex;gap:10px;font-size:15.5px;line-height:1.45}
.decide li .i{color:var(--blue);margin-top:3px}
.decide b{font-weight:600}
.jp{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));margin-top:4px}
.jp p{font-size:15px;color:var(--ink-2);line-height:1.55;margin-top:4px}
.jp a{font-weight:600}
.tabpanel h3{font-size:19px;margin:6px 0 10px}
.ask{background:var(--soft);border:1px solid var(--line-2);border-radius:16px;padding:14px 16px;margin-top:14px}
.ask ul{margin:6px 0 0;padding-left:18px;display:grid;gap:6px;font-size:15px;color:var(--ink);line-height:1.5}
.evrows{display:grid;margin-top:6px}
.evrow{display:grid;grid-template-columns:150px 1fr;gap:4px 16px;padding:13px 0;border-bottom:1px solid var(--line-3)}
.evrow:last-child{border-bottom:0}
.evrow .src2{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.evrow b{display:block;font-size:16px;font-weight:600}
.evrow p{font-size:14.5px;color:var(--ink-2);line-height:1.5;margin-top:2px}
.evrow .evq{font-style:italic}
.evrow.yes b{color:var(--good)}.evrow.no b{color:var(--warn)}.evrow.unk b{color:var(--ink-2);font-weight:500}
@media(max-width:560px){.evrow{grid-template-columns:1fr}}
.evgroups{display:grid;gap:6px 26px;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));margin-top:14px}
.evgroups .lbl{margin:10px 0 2px}
.evi{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line-3)}
.evi:last-child{border-bottom:0}
.evn{flex:0 0 58px;text-align:center;background:var(--mist);border-radius:12px;padding:6px 4px;font-family:var(--ff-d);font-weight:600;font-size:21px;color:var(--blue);line-height:1.05;font-variant-numeric:tabular-nums}
.evn small{display:block;font-family:var(--ff-b);font-size:11px;font-weight:600;color:var(--muted)}
.evi b{font-size:15.5px;font-weight:600;display:block}
.evi p{font-size:14px;color:var(--muted);margin-top:2px;line-height:1.45}
.callcard{background:#fff;border:1px solid var(--line);border-top:5px solid var(--navy);border-radius:22px;padding:18px}
.callcard .num{font-family:var(--ff-d);font-weight:600;font-size:28px;letter-spacing:-.02em;margin:2px 0 12px;font-variant-numeric:tabular-nums}
.callcard .btns{display:grid;gap:8px}
.callcard .kvs{margin-top:14px;display:grid;gap:9px;border-top:1px solid var(--line-3);padding-top:12px}
.callcard .kv{align-items:baseline}
.callcard .kv b{max-width:62%}
.callcard .kv b.good{color:var(--good)}.callcard .kv b.no{color:var(--warn)}
.optrows{display:grid;gap:10px;margin-top:8px}
.optrow{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px}
.optrow .nm{font-weight:700;color:var(--ink);font-size:16px}
.optrow .mt{font-size:14px;color:var(--muted);margin-top:2px}
.optrow .oa{display:flex;gap:8px;flex:0 0 auto}
.ready{background:var(--navy);border-radius:22px;padding:clamp(20px,3vw,30px);color:#fff}
.ready h2{color:#fff;font-size:clamp(22px,3vw,28px);margin:0 0 8px}
.ready p{color:var(--navy-txt);line-height:1.55;max-width:64ch}
.ready .acts{margin-top:16px}
.ready .btn.soft{background:rgba(255,255,255,.12);color:#fff}.ready .btn.soft:hover{background:rgba(255,255,255,.2);color:#fff}
.ready .fine{font-size:14px;color:var(--navy-mute);margin-top:16px}
.ready .fine a{color:#fff;text-decoration:underline}
@media(max-width:900px){
  .m-glance{order:1}.m-decide{order:2}.m-call{order:3}.m-newpat{order:4}.m-jobs{order:5}.m-hours{order:6}.m-where{order:7}.m-map{order:8}
  .m-pay{order:9}.m-team{order:10}.m-rev{order:11}.m-access{order:12}.m-faq{order:13}.m-near{order:14}.m-ready{order:15}.m-rec{order:16}.m-note{order:17}
}

@media(max-width:640px){.hero h1{max-width:none}.rowi{padding:12px 14px}.rc{padding:14px 13px 12px}.rc-name{font-size:17.5px}.uitem{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
