/* ReferDPC. One surface, one family (Plein), prices in tabular system figures. */
@font-face{font-family:"Plein";src:url("/assets/fonts/plein-var.woff2") format("woff2");font-weight:300 900;font-display:swap}

:root{
  --paper:#eef3ee;          /* sea-glass paper, the page */
  --paper-2:#e2eae3;        /* tonal step for panels */
  --paper-3:#d5e0d7;
  --sheet:#f7faf7;          /* raised sheet (dialog, inputs) */
  --ink:#0f2b24;            /* pine black */
  --ink-2:#36524a;
  --ink-3:#4f6760;          /* muted, 5:1 on paper */
  --rule:rgba(15,43,36,.13);
  --rule-2:rgba(15,43,36,.24);
  --cash:#008570;           /* independent cash price mark */
  --cash-deep:#00604f;
  --hosp:#b8442a;           /* hospital price mark */
  --floor:#0f2b24;
  --floor-ink:#d9e6dd;
  --floor-ink-2:#9fb7aa;
  --focus:#00604f;
  --r:10px;
  --gut:clamp(16px,4vw,56px);
  --max:1240px;
  --num:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.55 "Plein",system-ui,sans-serif;font-feature-settings:"lnum";-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--rule-2)}
a:hover{text-decoration-color:currentColor}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-weight:650;letter-spacing:-.018em;line-height:1.08;margin:0}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num{font-family:var(--num);font-variant-numeric:tabular-nums lining-nums}
.muted{color:var(--ink-3)}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:6px;z-index:100}
.skip:focus{top:12px}

/* arrow used across links */
.ar{display:inline-block;width:.72em;height:.72em;vertical-align:-.02em;margin-left:.3em;transition:transform .25s var(--ease)}
a:hover .ar,button:hover .ar{transform:translate(2px,-2px)}

/* ---------------------------------------------------------------- nav */
.nav{position:sticky;top:0;z-index:40;padding:12px var(--gut) 0}
.nav-bar{max-width:calc(var(--max) - 2*var(--gut) + 24px);margin:0 auto;display:flex;align-items:center;gap:28px;height:56px;padding:0 10px 0 16px;border-radius:14px;background:rgba(247,250,247,.86);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);box-shadow:0 0 0 1px rgba(15,43,36,.07),0 1px 2px rgba(15,43,36,.06)}
.mark{display:flex;align-items:center;gap:9px;font-weight:720;font-size:19px;letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.mark svg{width:26px;height:16px;flex:none}
.mark b{font-weight:720;color:var(--cash-deep)}
.nav-links{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex:1}
.nav-links a,.nav-side a{display:block;padding:7px 11px;border-radius:8px;text-decoration:none;font-size:15.5px;font-weight:500;color:var(--ink-2);transition:background .2s,color .2s}
.nav-links a:hover,.nav-side a:hover{background:var(--paper-2);color:var(--ink)}
.nav-links a[aria-current],.nav-side a[aria-current]{color:var(--ink);font-weight:700}
.nav-side{display:flex;gap:2px}
.menu-btn{display:none;margin-left:auto;font:600 15px "Plein",sans-serif;color:var(--ink);background:var(--paper-2);border:0;border-radius:8px;padding:9px 14px;cursor:pointer}
.menu-btn:hover{background:var(--paper-3)}
@media (max-width:900px){
  .nav-bar{gap:12px}
  .menu-btn{display:block}
  .nav-links,.nav-side{display:none}
  .nav.open .nav-bar{flex-wrap:wrap;height:auto;padding:10px 10px 12px 16px}
  .nav.open .mark{height:36px}
  .nav.open .nav-links,.nav.open .nav-side{display:flex;flex-direction:column;flex-basis:100%;gap:0}
  .nav.open .nav-links{order:3;padding-top:6px;border-top:1px solid var(--rule);margin-top:8px}
  .nav.open .nav-side{order:4}
  .nav-links a,.nav-side a{padding:11px 4px;font-size:17px}
}

/* ---------------------------------------------------------------- page heads (inner pages) */
.page-head{padding:56px 0 28px}
.page-head h1{font-size:clamp(34px,5vw,60px);max-width:22ch}
.page-head .lede{font-size:19px;color:var(--ink-2);max-width:58ch;margin:18px 0 0}
.count-line{font-size:15px;color:var(--ink-3);margin:14px 0 0}
.count-line strong{color:var(--ink);font-weight:650}

/* ---------------------------------------------------------------- controls */
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field>span,.lbl{font-size:13.5px;font-weight:600;color:var(--ink-2)}
input[type=text],input[type=search],input[type=email],input[type=tel],input[type=url],input[type=number],select,textarea{
  font:500 16px/1.3 "Plein",system-ui,sans-serif;color:var(--ink);background:var(--sheet);border:1px solid var(--rule-2);border-radius:9px;padding:11px 12px;width:100%;min-height:46px;transition:border-color .2s,box-shadow .2s}
textarea{min-height:96px;resize:vertical;line-height:1.45}
select{appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer;background-image: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.5 1.75 6 6.25l4.5-4.5' fill='none' stroke='%230f2b24' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
input:hover,select:hover,textarea:hover{border-color:rgba(15,43,36,.4)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cash-deep);box-shadow:0 0 0 3px rgba(0,133,112,.18)}
.filters{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:12px;align-items:end;padding:18px;background:var(--paper-2);border-radius:14px}
@media (max-width:1000px){.filters{grid-template-columns:1fr 1fr}.filters .field:first-child{grid-column:1/-1}}
@media (max-width:520px){.filters{grid-template-columns:1fr 1fr;gap:10px;padding:14px}.filters .field:first-child{grid-column:1/-1}.filters select{font-size:15px;padding-left:10px;padding-right:28px;background-position:right 9px center}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:650 16px "Plein",sans-serif;border:0;border-radius:9px;padding:12px 18px;min-height:46px;cursor:pointer;text-decoration:none;background:var(--ink);color:var(--sheet);transition:background .2s}
.btn:hover{background:#1d4237}
.btn:disabled{opacity:.55;cursor:progress}
.btn-quiet{display:inline-flex;align-items:center;font:600 15.5px "Plein",sans-serif;border:0;border-radius:9px;cursor:pointer;background:transparent;color:var(--ink);padding:10px 6px;min-height:46px;text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:4px}
.btn-quiet:hover{background:transparent;color:var(--cash-deep);text-decoration-color:currentColor}
.btn-quiet:disabled{opacity:.55;cursor:progress}
.more{display:flex;align-items:center;gap:16px;justify-content:center;padding:22px 0 8px}
.more .btn{background:var(--paper-2);color:var(--ink)}
.more .btn:hover{background:var(--paper-3)}

/* segmented control (signals, provider forms) */
.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--paper-2);border-radius:11px}
.seg button{font:600 14.5px "Plein",sans-serif;color:var(--ink-2);background:transparent;border:0;border-radius:8px;padding:9px 13px;cursor:pointer;min-height:40px;transition:background .2s,color .2s}
.seg button:hover{color:var(--ink);background:rgba(255,255,255,.5)}
.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:var(--sheet);color:var(--ink);box-shadow:0 1px 2px rgba(15,43,36,.12)}
.seg .c{font-family:var(--num);font-variant-numeric:tabular-nums;font-weight:500;color:var(--ink-3);margin-left:6px}

/* ---------------------------------------------------------------- price rows (shared) */
.plist{list-style:none;margin:0;padding:0}
.prow{display:grid;grid-template-columns:110px minmax(0,1.5fr) minmax(0,1.1fr) 150px 92px;gap:20px;align-items:baseline;padding:14px 12px;border-top:1px solid var(--rule);cursor:pointer;border-radius:2px;transition:background .15s}
.prow:hover{background:rgba(255,255,255,.55)}
.prow:focus-visible{outline-offset:-2px}
.prow .pp{font-family:var(--num);font-variant-numeric:tabular-nums;font-weight:650;font-size:19px;text-align:right;white-space:nowrap}
.prow .pp::before{content:"";display:inline-block;width:8px;height:8px;margin:0 9px 0 0;vertical-align:.18em;border-radius:50%;background:var(--cash)}
.prow.hosp .pp::before{background:transparent;box-shadow:inset 0 0 0 2px var(--hosp)}
.prow .pq{display:block;font:500 12px var(--num);color:var(--ink-3);text-align:right}
.prow .pv{font-weight:600;line-height:1.3}
.prow .pv small{display:block;font-weight:400;font-size:14.5px;color:var(--ink-3);margin-top:2px}
.prow .pl{line-height:1.3;font-size:15.5px}
.prow .pl small{display:block;color:var(--ink-3);font-size:14px}
.prow .ps{font-size:14px;color:var(--ink-2);line-height:1.3}
.prow .ps i{font-style:normal;display:block;color:var(--ink-3)}
.prow .pd{font:400 13.5px var(--num);font-variant-numeric:tabular-nums;color:var(--ink-3);text-align:right;white-space:nowrap}
.phead{display:grid;grid-template-columns:110px minmax(0,1.5fr) minmax(0,1.1fr) 150px 92px;gap:20px;padding:0 12px 8px;font-size:13px;font-weight:600;color:var(--ink-3)}
.phead span:first-child,.phead span:last-child{text-align:right}
@media (max-width:860px){
  .phead{display:none}
  .prow{grid-template-columns:auto minmax(0,1fr);gap:4px 14px;padding:14px 4px}
  .prow .pp{grid-row:1/span 3;font-size:18px}
  .prow .pv,.prow .pl,.prow .ps{grid-column:2}
  .prow .pd{display:none}
  .prow .ps i{display:inline}
  .prow .ps i::before{content:"\00a0\00b7\00a0"}
}
.empty{padding:40px 12px;border-top:1px solid var(--rule);color:var(--ink-2)}
.empty strong{color:var(--ink)}
.empty button{font:inherit;font-weight:650;color:var(--cash-deep);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

.disclaimer{font-size:14px;line-height:1.5;color:var(--ink-3);max-width:76ch;margin:18px 0 0;padding-left:12px}
.disclaimer b{color:var(--ink-2);font-weight:600}

/* ---------------------------------------------------------------- dialog / detail panel */
dialog.sheet{border:0;padding:0;margin:0 0 0 auto;height:100%;max-height:100%;width:min(560px,100%);max-width:100%;background:var(--sheet);color:var(--ink);box-shadow:-1px 0 0 rgba(15,43,36,.08),-8px 0 24px -12px rgba(15,43,36,.25)}
dialog.sheet::backdrop{background:rgba(15,43,36,.32)}
dialog.sheet[open]{animation:sheetIn .28s var(--ease)}
@keyframes sheetIn{from{transform:translateX(24px)}to{transform:none}}
.sheet-in{padding:22px 28px 40px;min-height:100%;display:flex;flex-direction:column}
.sheet-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.sheet-top .kind{font-size:14px;color:var(--ink-3);font-weight:500}
.x{width:40px;height:40px;border-radius:9px;border:0;background:var(--paper-2);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.x:hover{background:var(--paper-3)}
.x svg{width:14px;height:14px}
.d-price{font-family:var(--num);font-weight:700;font-size:44px;letter-spacing:-.02em;line-height:1}
.d-price small{font-size:16px;font-weight:500;color:var(--ink-3);margin-left:8px;letter-spacing:0}
.d-service{font-size:19px;font-weight:600;line-height:1.3;margin:12px 0 4px}
.d-sub{color:var(--ink-3);font-size:15px}
.dl{display:grid;grid-template-columns:118px 1fr;gap:10px 16px;margin:24px 0 0;padding:20px 0 0;border-top:1px solid var(--rule);font-size:15.5px}
.dl dt{color:var(--ink-3);font-weight:500}
.dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
.evidence{margin:24px 0 0;padding:16px 18px;background:var(--paper);border-radius:10px;font-size:15.5px}
.evidence .lbl{display:block;margin-bottom:6px}
.evidence p{margin:0;font-weight:500;overflow-wrap:anywhere}
.evidence a{display:inline-block;margin-top:10px;font-size:14.5px;color:var(--cash-deep);font-weight:600;overflow-wrap:anywhere}
.d-actions{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:auto;padding-top:28px}
.d-actions button{font:600 15px "Plein",sans-serif;background:none;border:0;padding:8px 0;color:var(--ink-2);cursor:pointer;text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:4px}
.d-actions button:hover,.d-actions button[aria-expanded=true]{color:var(--ink);text-decoration-color:currentColor}
.d-form{margin-top:16px;padding:18px;background:var(--paper);border-radius:12px}
.d-form h3{font-size:18px;margin-bottom:12px}
.note{font-size:14px;color:var(--ink-3);margin:20px 0 0}
@media (max-width:600px){.sheet-in{padding:16px 16px 32px}.dl{grid-template-columns:1fr;gap:2px}.dl dd{margin-bottom:10px}}

/* ---------------------------------------------------------------- forms */
.form{display:grid;gap:14px}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.form .two{grid-template-columns:1fr}}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg{font-size:15px;margin:0;min-height:1.4em}
.msg.ok{color:var(--cash-deep);font-weight:600}
.msg.bad{color:#9a3412;font-weight:600}
.form-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}

/* ---------------------------------------------------------------- prose pages */
.prose{max-width:68ch}
.prose h2{font-size:26px;margin:52px 0 14px}
.prose h3{font-size:19px;margin:30px 0 8px}
.prose p,.prose li{color:var(--ink-2)}
.prose ul{padding-left:1.1em;margin:0 0 1em}
.prose li{margin:0 0 .5em}
.prose strong{color:var(--ink);font-weight:650}
.prose a{color:var(--cash-deep);font-weight:550}
.two-col{display:grid;grid-template-columns:240px minmax(0,1fr);gap:48px;padding:12px 0 96px}
.toc{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:2px;font-size:15px}
.toc a{text-decoration:none;color:var(--ink-3);padding:5px 0}
.toc a:hover{color:var(--ink)}
@media (max-width:900px){.two-col{grid-template-columns:1fr;gap:0}.toc{display:none}}

/* ---------------------------------------------------------------- footer floor */
.floor{background:var(--floor);color:var(--floor-ink);margin-top:96px;padding:56px 0 36px}
.floor a{color:var(--floor-ink);text-decoration-color:rgba(217,230,221,.3)}
.floor a:hover{text-decoration-color:currentColor}
.foot{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px}
.foot-say{font-size:15px;line-height:1.55;color:var(--floor-ink-2);max-width:56ch}
.foot-say strong{color:var(--floor-ink);font-weight:600}
.foot-stamp{font-family:var(--num);font-variant-numeric:tabular-nums;font-size:14px;color:var(--floor-ink-2);margin-top:22px}
.foot-links{display:grid;grid-auto-flow:column;grid-template-rows:repeat(5,auto);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px;align-content:start;font-size:15.5px}
.foot-links a{text-decoration:none;padding:5px 0}
.foot-links a:hover{text-decoration:underline}
.foot-base{display:flex;align-items:center;gap:10px;margin-top:48px;padding-top:20px;border-top:1px solid rgba(217,230,221,.12);font-size:14px;color:var(--floor-ink-2)}
.foot-base svg{width:22px;height:14px}
@media (max-width:760px){.foot{grid-template-columns:1fr;gap:32px}.floor{margin-top:64px}}

/* ================================================================ home */
.hero{padding-top:clamp(36px,6vh,72px)}
.q h1{font-size:clamp(30px,4.3vw,60px);font-weight:650;line-height:1.16;letter-spacing:-.022em}
.q-w{white-space:nowrap}
.q-sel{position:relative;display:inline;color:var(--cash-deep);background:var(--paper-2);border-radius:.2em;padding:0 .2em;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-color .2s}
.q-lab .nw{white-space:nowrap}
.q-lab .nw::after{content:"";display:inline-block;width:.42em;height:.3em;margin-left:.22em;vertical-align:.18em;background: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.5 1.75 6 6.25l4.5-4.5' fill='none' stroke='%2300604f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.q-sel select{position:absolute;inset:0;width:100%;height:100%;min-height:0;opacity:0;cursor:pointer;font-size:16px;padding:0;border:0}
.q-sel:hover{background:var(--paper-3)}
.q-sel:focus-within{box-shadow:0 0 0 3px rgba(0,133,112,.28)}
.q-sel select option,.q-sel select optgroup{font-size:16px;color:var(--ink);font-weight:500}
.q{position:relative}

.spread{margin-top:clamp(28px,5vh,52px);position:relative}
.flags{position:relative;height:138px}
.flag{position:absolute;bottom:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:none;border:0;color:var(--ink);font:inherit;padding:0 0 12px 0;cursor:pointer;width:max-content;max-width:min(360px,48%)}
.flag.fa-r{align-items:flex-end;text-align:right}
.flag::after{content:"";position:absolute;left:8px;top:calc(100% - 6px);width:2px;height:calc(var(--lead,10px) + 6px);background:var(--cash);border-radius:2px}
.flag.fa-r::after{left:auto;right:8px}
.flag.hosp::after{background:var(--hosp)}
.fl-k{font-size:13.5px;font-weight:600;color:var(--ink-3)}
.fl-p{font-size:clamp(38px,4.6vw,58px);font-weight:700;letter-spacing:-.025em;line-height:1.02;margin:2px 0 4px}
.fl-n{font-size:15.5px;font-weight:650;line-height:1.25}
.fl-c{font-size:14px;color:var(--ink-3);line-height:1.3}
.fl-s{font-size:14px;color:var(--ink-2);line-height:1.3;max-width:30ch}
.flag:hover .fl-n{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.flags.stack{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}
.flags.stack .flag{position:static;max-width:none;width:auto}
.flags.stack .flag.hi{align-items:flex-end;text-align:right}
.flags.stack .flag.lo{align-items:flex-start;text-align:left}
.flags.stack .flag::after{display:none}
.ruler{position:relative;margin-top:12px}
.ruler svg{overflow:visible}
.ruler .tick{font:500 12.5px var(--num);font-variant-numeric:tabular-nums;fill:var(--ink-3)}
.ruler .mk{cursor:pointer}
.ruler .mk .dot{transition:stroke .15s}
.ruler .mk.on .dot{stroke:var(--ink);stroke-width:2.4}
.tip{position:absolute;transform:translate(-50%,-100%);background:var(--ink);color:var(--sheet);font-size:14px;line-height:1.35;padding:8px 11px;border-radius:8px;pointer-events:none;white-space:nowrap;z-index:5}
.tip b{font-weight:700;margin-right:4px}
.tip span{display:block;color:#a9c2b6;font-size:13px}
.sum-row{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;align-items:baseline;margin-top:6px}
.sum{font-size:16px;color:var(--ink-2);margin:0;white-space:normal;min-width:0;flex:1 1 32ch}
.key{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--ink-3);margin:0}
.key span{display:inline-flex;align-items:center;gap:7px}
.key span::before{content:"";width:10px;height:10px;border-radius:50%}
.k-i::before{background:var(--cash)}
.k-h::before{box-shadow:inset 0 0 0 2.2px var(--hosp)}
.answer{margin-top:30px;min-height:120px}
.hero-more{margin:16px 0 0;padding-left:12px;font-weight:650}
.hero-more a{color:var(--cash-deep);text-decoration:none}
.hero-more a:hover{text-decoration:underline}
@media (max-width:760px){
  .q h1{font-size:30px;line-height:1.22}
  .fl-p{font-size:34px}
  .flag{max-width:49%}
  .hero-more{padding-left:4px}
  .disclaimer{padding-left:4px}
}

.where{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center;margin-top:clamp(80px,12vh,140px)}
.fl-map{width:100%;height:auto}
.fl-map .land{fill:var(--paper-2);stroke:rgba(15,43,36,.22);stroke-width:1.6;stroke-linejoin:round}
.fl-map circle{transition:opacity .25s}
.fl-map circle.i{fill:var(--cash);stroke:var(--paper-2);stroke-width:3.5}
.fl-map circle.h{fill:var(--sheet);stroke:var(--hosp);stroke-width:5}
.fl-map.focus circle:not(.on){opacity:.14}
.where h2,.labels h2{font-size:clamp(28px,3.2vw,42px)}
.where-txt>p{color:var(--ink-2);margin:14px 0 26px;max-width:44ch}
.regions{list-style:none;margin:0;padding:0}
.regions a{display:grid;grid-template-columns:minmax(0,1fr) 70px 110px;align-items:baseline;gap:12px;padding:12px 8px;border-top:1px solid var(--rule);text-decoration:none;border-radius:2px;transition:background .15s}
.regions li:last-child a{border-bottom:1px solid var(--rule)}
.regions a:hover,.regions a:focus-visible{background:rgba(255,255,255,.55)}
.rg{font-weight:650;font-size:18px}
.rn{font-size:22px;font-weight:650;text-align:right}
.rp{font-size:14px;color:var(--ink-3);text-align:right}
.where-all{margin:22px 0 0;font-weight:650}
.where-all a{color:var(--cash-deep);text-decoration:none}
.where-all a:hover{text-decoration:underline}
@media (max-width:860px){.where{grid-template-columns:1fr}.map-wrap{max-width:440px}}

.labels{margin-top:clamp(96px,14vh,160px)}
.labels h2{max-width:20ch}
.key-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);margin-top:40px}
.key-col h3{font-size:15px;font-weight:650;color:var(--ink-3);margin-bottom:6px}
.key-dl{margin:0}
.key-dl>div{padding:18px 0;border-top:1px solid var(--rule)}
.key-dl dt{font-weight:650;font-size:19px;margin-bottom:4px}
.key-dl dd{margin:0;color:var(--ink-2);max-width:48ch}
.key-dl.sig>div{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:20px}
.key-dl.sig .sc{grid-row:1/span 2;font-size:34px;font-weight:650;line-height:1;text-align:right;padding-top:2px}
.key-dl.sig dt,.key-dl.sig dd{grid-column:2}
.sig-note{font-size:14.5px;color:var(--ink-3);margin:14px 0 0}
.sig-note a{color:var(--cash-deep)}
@media (max-width:760px){.key-grid{grid-template-columns:1fr}.key-dl.sig>div{grid-template-columns:64px minmax(0,1fr);column-gap:14px}.key-dl.sig .sc{font-size:26px}}

.doors{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(96px,14vh,160px)}
.door{display:flex;flex-direction:column;gap:12px;padding:clamp(24px,3vw,40px);background:var(--paper-2);border-radius:18px;text-decoration:none;min-height:260px;transition:background .2s}
.door:hover{background:var(--paper-3)}
.door-who{font-size:clamp(24px,2.4vw,32px);font-weight:650;letter-spacing:-.018em;line-height:1.12}
.door-say{color:var(--ink-2);max-width:44ch}
.door-go{margin-top:auto;font-weight:650;color:var(--cash-deep)}
@media (max-width:760px){.doors{grid-template-columns:1fr}.door{min-height:0}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#q-region-lab{white-space:nowrap}

/* ================================================================ prices + procedure */
.table-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:18px 0 18px}
.ptable{min-height:200px}
.crumb{font-size:15px;color:var(--ink-3);margin:0 0 14px}
.crumb a{color:var(--ink-2)}
.proc-head h1{max-width:22ch}
.dist{margin-top:8px}
.dist-top{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.stats{display:flex;gap:clamp(20px,4vw,56px);margin:0;flex-wrap:wrap}
.stats dt{font-size:14px;color:var(--ink-3);font-weight:500}
.stats dd{margin:2px 0 0;font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:-.02em;line-height:1.05}
.reg-pick{width:220px}
.ruler .tick.lab{fill:var(--ink-2);font-weight:600}
.k-m::before{width:2px!important;height:14px!important;border-radius:2px!important;background:rgba(15,43,36,.55)}
.hosp-cmp,.all{margin-top:72px}
.hosp-cmp h2,.all h2,.leaves h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:18px}
.htable-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.htable{width:100%;border-collapse:collapse;font-size:15.5px;min-width:640px}
.htable th{font-size:13px;font-weight:600;color:var(--ink-3);text-align:left;padding:0 12px 8px}
.htable td{padding:13px 12px;border-top:1px solid var(--rule);vertical-align:baseline}
.htable td strong{font-weight:650;display:block}
.htable td span{display:block;color:var(--ink-3);font-size:14px}
.htable td .num.muted{display:inline}
.htable .hnote{font-size:13px;margin-top:3px}
.htable .r{text-align:right;white-space:nowrap}
.htable .cash{font-weight:650;font-size:17px}
.htable .cash::before{content:"";display:inline-block;width:8px;height:8px;margin-right:9px;vertical-align:.12em;border-radius:50%;box-shadow:inset 0 0 0 2px var(--hosp)}
.htable a{color:var(--ink-2)}
.leaves{margin-top:72px;padding:clamp(24px,3vw,40px);background:var(--paper-2);border-radius:18px;max-width:820px}
.leaves ul{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.leaves li{color:var(--ink-2)}
.leaves li strong{color:var(--ink);font-weight:650}
.leaves p{margin:0;font-weight:600}
.proc-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 56px}
.pi-group{break-inside:avoid;margin-bottom:28px}
.pi-group h2{font-size:15px;font-weight:650;color:var(--ink-3);margin:0 0 6px}
.pi{list-style:none;margin:0;padding:0}
.pi a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;padding:12px 8px;border-top:1px solid var(--rule);text-decoration:none;border-radius:2px;transition:background .15s}
.pi a:hover{background:rgba(255,255,255,.55)}
.pi-n{font-weight:650}
.pi-r{text-align:right;font-weight:600;white-space:nowrap}
.pi-c{grid-column:1/-1;font-size:14px;color:var(--ink-3)}
@media (max-width:760px){.proc-index{grid-template-columns:1fr}.reg-pick{width:100%}.stats{gap:18px 28px}}

/* ================================================================ doctors */
.d-filters{grid-template-columns:1.2fr 1.6fr 1fr 1fr}
@media (max-width:1000px){.d-filters{grid-template-columns:1fr 1fr}.d-filters .field:first-child{grid-column:auto}}
@media (max-width:520px){.d-filters{grid-template-columns:1fr 1fr}.d-filters .field:first-child,.d-filters .field:nth-child(2){grid-column:1/-1}}
.count-line .of{color:var(--ink-3)}
.dtable{min-height:200px}
.dhead,.drow{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) minmax(0,1.3fr) 190px;gap:20px}
.dhead{padding:0 12px 8px;font-size:13px;font-weight:600;color:var(--ink-3)}
.dlist{list-style:none;margin:0;padding:0}
.drow{padding:14px 12px;border-top:1px solid var(--rule);cursor:pointer;align-items:baseline;transition:background .15s}
.drow:hover{background:rgba(255,255,255,.55)}
.drow:focus-visible{outline-offset:-2px}
.dn{font-weight:650;line-height:1.3}
.dn-b{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left}
.drow:hover .dn-b{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.dc{font-weight:500;color:var(--ink-3);margin-left:6px;font-size:.88em}
.dn small,.dl2 small{display:block;font-weight:400;font-size:14px;color:var(--ink-3);margin-top:2px}
.dl2{font-size:15.5px;line-height:1.3}
.ds{display:flex;flex-direction:column;gap:3px;font-size:15px;line-height:1.3}
.sg{font-weight:600;color:var(--cash-deep)}
.sg.lapsed{color:var(--ink-3);font-weight:500}
.sg a{color:inherit}
.di{display:flex;flex-direction:column;gap:2px;font-size:14px;line-height:1.35;text-align:right;align-items:flex-end}
.di .num{color:var(--ink-2)}
.di a{color:var(--cash-deep);font-weight:600}
.di a.num{font-weight:500;color:var(--ink-3)}
.d-name{font-size:28px;line-height:1.15;margin:0 0 4px}
.sig-lines{display:flex;flex-direction:column;gap:4px}
@media (max-width:860px){
  .dhead{display:none}
  .drow{grid-template-columns:1fr;gap:6px;padding:14px 4px}
  .di{flex-direction:row;flex-wrap:wrap;gap:4px 14px;text-align:left;align-items:baseline}
  #d-sig{width:100%}
}

/* ================================================================ dpc */
.dpc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.dpc-map-col{position:sticky;top:88px}
.dpc-map{height:min(72vh,680px);border-radius:16px;background:var(--paper-2);overflow:hidden;z-index:1}
.dpc-map .leaflet-tile-pane{filter:saturate(.5) contrast(.96) brightness(1.03)}
.leaflet-container{font:inherit;font-size:14px}
.leaflet-popup-content-wrapper{border-radius:10px;box-shadow:0 2px 8px rgba(15,43,36,.18)}
.leaflet-popup-content{margin:12px 14px;line-height:1.4;color:var(--ink)}
.leaflet-popup-content a{color:var(--cash-deep)}
.map-note{font-size:14.5px;color:var(--ink-3);margin:12px 0 0}
.map-note a{color:var(--cash-deep);font-weight:600}
.dpc-bar{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;background:var(--paper-2);border-radius:14px;margin-bottom:12px}
.clinics{list-style:none;margin:0;padding:0}
.clinic{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:16px 10px;border-top:1px solid var(--rule);transition:background .2s}
.clinic.on{background:rgba(255,255,255,.65)}
.cl-n{font-size:18px;font-weight:650;letter-spacing:-.01em;line-height:1.25;margin:0}
.cl-w{margin:2px 0 0;color:var(--ink-2);font-size:15px}
.cl-note{margin:6px 0 0;font-size:14px;color:var(--ink-3);max-width:52ch}
.cl-links{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;font-size:14.5px;align-items:baseline}
.cl-links a{color:var(--cash-deep);font-weight:600}
.cl-show{font:600 14.5px "Plein",sans-serif;background:none;border:0;padding:0;color:var(--ink-2);cursor:pointer;text-decoration:underline;text-decoration-color:var(--rule-2);text-underline-offset:3px}
.cl-show:hover{color:var(--ink);text-decoration-color:currentColor}
.cl-side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.cp{font-family:var(--num);font-size:22px;font-weight:700;white-space:nowrap}
.cp small{font-size:14px;font-weight:500;color:var(--ink-3);margin-left:2px}
.cp.none{font:500 14px "Plein",sans-serif;color:var(--ink-3)}
.cl-src{font-size:13px;color:var(--ink-3)}
a.cl-src{text-decoration-color:var(--rule-2)}
@media (max-width:900px){.dpc{grid-template-columns:1fr}.dpc-map-col{position:static;order:-1}.dpc-map{height:360px}}
@media (max-width:520px){.dpc-bar{grid-template-columns:1fr}.clinic{padding:14px 4px}}

/* ================================================================ prose pages, pitches, forms */
.lede-big{font-size:clamp(20px,1.8vw,24px);line-height:1.45;color:var(--ink)!important;font-weight:500;letter-spacing:-.008em;margin-bottom:1.2em}
.grid-form{grid-template-columns:1fr 1fr;gap:14px 16px}
@media (max-width:560px){.grid-form{grid-template-columns:1fr}}
.pitch-head h1{max-width:20ch}
.pitch{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:start;padding-bottom:24px}
.pitch-body h2{font-size:22px;margin:40px 0 10px}
.pitch-body h2:first-of-type{margin-top:28px}
.pitch-form{position:sticky;top:96px;padding:clamp(22px,3vw,34px);background:var(--sheet);border-radius:18px;box-shadow:0 0 0 1px rgba(15,43,36,.08),0 1px 2px rgba(15,43,36,.05)}
.pitch-form h2{font-size:22px;margin-bottom:18px}
@media (max-width:900px){.pitch{grid-template-columns:1fr}.pitch-form{position:static}}
.rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,48px);padding:6px 0 48px;max-width:1100px}
.rules p{margin:0;color:var(--ink-2);font-size:17px}
.rules strong{display:block;color:var(--ink);font-size:20px;font-weight:650;letter-spacing:-.01em;margin-bottom:6px}
@media (max-width:760px){.rules{grid-template-columns:1fr;padding-bottom:32px}}
.pforms{max-width:860px}
.tabs{margin-bottom:22px}
.tab-panel{padding:clamp(20px,3vw,32px);background:var(--sheet);border-radius:18px;box-shadow:0 0 0 1px rgba(15,43,36,.08),0 1px 2px rgba(15,43,36,.05)}
.two-col>div:empty{display:block}
.nf{padding:clamp(48px,10vh,120px) 0 40px;max-width:720px}
.nf-code{font-size:clamp(72px,12vw,140px);font-weight:700;line-height:.9;color:var(--paper-3);margin:0 0 18px;letter-spacing:-.03em}
.nf h1{font-size:clamp(32px,4.4vw,52px);margin-bottom:32px}
.nf-search{display:flex;gap:10px;align-items:end}
.nf-search .field{flex:1}
.nf-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;font-weight:650}
.nf-links a{color:var(--cash-deep);text-decoration:none}
.nf-links a:hover{text-decoration:underline}
.prose>h2:first-child{margin-top:0}

/* ================================================================ who takes cash: three kinds */
.kinds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 36px}
.kinds .kind{display:grid;grid-template-rows:auto auto 1fr;gap:4px;padding:20px 22px;border-radius:16px;background:var(--paper-2);text-decoration:none;transition:background .2s}
.kinds .kind:hover{background:var(--paper-3)}
.kinds .kind[aria-current]{background:var(--sheet);box-shadow:0 0 0 1px rgba(15,43,36,.08),0 1px 2px rgba(15,43,36,.06)}
.kind-n{font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1}
.kind-t{font-size:19px;font-weight:650;margin-top:6px}
.kind-d{font-size:15px;color:var(--ink-2);line-height:1.45}
.kinds .kind[aria-current] .kind-t{color:var(--cash-deep)}
.pr-filters{grid-template-columns:2fr 1fr}
.drow .seen{font-size:13.5px;font-weight:400}
.di a.src{font-weight:500;color:var(--ink-3)}
.key-dl dt a{text-decoration:none;color:inherit}
.key-dl dt a:hover{text-decoration:underline}
@media (max-width:860px){.kinds{grid-template-columns:1fr;gap:8px}.kinds .kind{grid-template-columns:72px 1fr;grid-template-rows:auto auto;column-gap:14px;padding:16px}.kind-n{grid-row:1/span 2;font-size:26px;text-align:right;padding-top:4px}.kind-t{margin-top:0}}
@media (max-width:520px){.pr-filters{grid-template-columns:1fr}}

/* ================================================================ near me + specialist map */
.near{margin:0 0 40px}
.near-bar{display:flex;flex-wrap:wrap;align-items:end;gap:12px 14px;padding:16px 18px;background:var(--paper-2);border-radius:14px 14px 0 0}
.near-zip{width:140px}
.near-zip input{font-family:var(--num);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.near-r{width:170px}
.near-geo{padding-left:6px;padding-right:6px}
.near-msg{flex-basis:100%;margin:0;min-height:0}
.near-msg:empty{display:none}
.dmap{height:clamp(300px,44vh,440px);border-radius:0 0 14px 14px;background:var(--paper-2);overflow:hidden;z-index:1}
.dmap .leaflet-tile-pane{filter:saturate(.5) contrast(.96) brightness(1.03)}
.mk-p i{display:block;width:12px;height:12px;margin:2px;background:#008570;border:2px solid #f7faf7;border-radius:2px;transform:rotate(45deg);box-shadow:0 1px 2px rgba(15,43,36,.35)}
.mk-me i{display:block;width:14px;height:14px;margin:3px;border-radius:50%;background:#0f2b24;box-shadow:0 0 0 3px #f7faf7,0 0 0 5px #0f2b24}
.leaflet-tooltip{font:600 13.5px "Plein",sans-serif;color:var(--ink);border:0;border-radius:7px;box-shadow:0 1px 4px rgba(15,43,36,.2)}
b.dist{font-weight:650;color:var(--cash-deep);margin-left:6px;white-space:nowrap}
@media (max-width:860px){.kinds .kind{padding:14px 16px}.kind-d{font-size:14px}}
@media (max-width:600px){.near-bar{padding:14px}.near-zip{width:calc(50% - 7px)}.near-r{width:calc(50% - 7px)}.near-bar .btn{flex:1 1 auto}.dmap{height:300px}}
