/* v2b "Modern" -- the doctor sections (api/templates/sites/v2/doctor/*). Scoped under .dr / .dr-*, so it cannot touch the shared
   header, footer, booking card/sheet, reviews, FAQ or app promo (components.css). Reads the shared tokens with literal fallbacks; the
   speciality accent arrives as --accent / --accent-ink / --accent-soft (v.theme). Mobile first: 390 -> 640 -> 768 -> 900 -> 1180.
   Served HTML is complete without script: the care journey is a numbered list, every treatment card is in the page. motion.js adds
   [data-story].is-pinned (+ --p, is-on, is-done) to turn the list into the pinned story, and the data-reveal / data-count / data-open-now
   states; reduced motion keeps the list. */
.dr{--dr-ink:var(--ink,#0F172A);--dr-body:var(--body,#334155);--dr-muted:var(--muted,#64748B);--dr-line:var(--line,#E2E8F0);--dr-soft:var(--soft,#F8FAFC);
 --dr-acc:var(--accent,#0E6F6A);--dr-ink2:var(--accent-ink,#0A524E);--dr-tint:var(--accent-soft,#E6F4F3);--dr-wa:#15803D;--dr-wa-d:#0F6B31;
 --dr-r1:12px;--dr-r2:16px;--dr-r3:24px;--dr-ease:cubic-bezier(.2,.7,.2,1);
 --dr-sh1:0 1px 2px rgb(15 23 42 / .06);--dr-sh2:0 8px 24px rgb(15 23 42 / .08);--dr-sh3:0 24px 48px rgb(15 23 42 / .12);
 --dr-head:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
 --dr-sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
 --dr-serif:Fraunces,Georgia,"Times New Roman",serif;
 --dr-script:Caveat,"Segoe Script","Bradley Hand",cursive;
 font-family:var(--dr-sans);color:var(--dr-body)}
.dr *,.dr *::before,.dr *::after{box-sizing:border-box}
.dr-sprite{position:absolute;width:0;height:0;overflow:hidden}
.dr [hidden]{display:none!important}
.dr :where(h1,h2,h3,p,ul,ol){margin:0}
.dr :where(ul,ol){padding:0;list-style:none}
.dr .ic{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.dr :focus-visible{outline:3px solid var(--dr-acc);outline-offset:2px;border-radius:8px}
.dr .wrap{width:min(1240px,calc(100% - 32px));max-width:none;margin-inline:auto;padding:0}
.dr-ic{width:40px;height:40px;border-radius:12px;background:var(--dr-tint);color:var(--dr-acc);display:grid;place-items:center;flex:none}
.dr-ic .ic{width:22px;height:22px}
/* buttons */
.dr-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:14px;font:700 15px/1 var(--dr-head);border:0;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .25s var(--dr-ease),box-shadow .25s,background .25s}
.dr-btn .ic{width:18px;height:18px}
.dr-btn:hover{transform:translateY(-2px)}
.dr-btn-primary{background:var(--dr-acc);color:#fff;box-shadow:0 8px 20px -6px var(--dr-acc)}
.dr-btn-primary:hover{background:var(--dr-ink2)}
.dr-btn-wa{background:var(--dr-wa);color:#fff;box-shadow:0 8px 20px -8px var(--dr-wa)}
.dr-btn-wa:hover{background:var(--dr-wa-d)}
.dr-btn-ghost{background:#fff;color:var(--dr-acc);border:1.5px solid var(--dr-line)}
.dr-btn-ghost:hover{border-color:var(--dr-acc)}
/* section frame */
.dr-sec{padding:64px 0}
.dr-eyebrow{display:inline-flex;align-items:center;gap:8px;font:600 13px/1 var(--dr-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--dr-acc)}
.dr-eyebrow::before{content:"";width:24px;height:2px;border-radius:2px;background:var(--dr-acc)}
.dr-head{display:grid;gap:10px;margin-bottom:28px;max-width:720px}
.dr-sec h2,.dr-head h2,.dr-story h2{font:600 28px/1.1 var(--dr-serif);letter-spacing:-.01em;color:var(--dr-ink);text-wrap:balance}
.dr-sub{font-size:17px;color:var(--dr-body);max-width:56ch}
.dr-status{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:99px;background:#fff;border:1px solid var(--dr-line);box-shadow:var(--dr-sh1);font:600 13px/1 var(--dr-sans);color:var(--dr-ink)}
.dr-dot{width:9px;height:9px;border-radius:50%;background:#94A3B8;flex:none}
.is-open>.dr-dot,.dr-status.is-open .dr-dot{background:#16A34A;box-shadow:0 0 0 4px #DCFCE7}
.dr-status.is-open b{color:#166534}
.is-opens>.dr-dot,.dr-status.is-opens .dr-dot{background:#D97706;box-shadow:0 0 0 4px #FEF3C7}
/* ---- hero ---- */
.dr-hero{position:relative;padding:52px 0 48px;background:radial-gradient(900px 420px at 85% -10%,var(--dr-tint),transparent 70%),#fff;overflow:clip}
.dr-hero-grid{display:grid;gap:32px;grid-template-columns:minmax(0,1fr)}
.dr-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:99px;background:#fff;border:1px solid var(--dr-line);box-shadow:var(--dr-sh1);font:600 13px/1 var(--dr-sans);color:var(--dr-acc)}
.dr-pill i{width:8px;height:8px;border-radius:50%;background:var(--dr-acc);box-shadow:0 0 0 4px var(--dr-tint)}
.dr-hero h1{font:800 36px/1.1 var(--dr-head);letter-spacing:-.03em;color:var(--dr-ink);margin:16px 0 14px}
.dr-hero h1 .dr-ac{display:block;color:var(--dr-acc)}
.dr-hero h1.dr-long{font-size:32px}.dr-hero h1.dr-xlong{font-size:28px;line-height:1.12}
.dr-lead{font-size:17px;color:var(--dr-body);max-width:56ch;margin-bottom:24px}
.dr-cta{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dr-cta .dr-btn{padding:0 12px;min-width:0}
.dr-trust{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:28px}
.dr-trust li{display:flex;align-items:center;gap:10px;font:600 13.5px/1.3 var(--dr-sans);color:var(--dr-ink)}
.dr-glass{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:rgb(255 255 255 / .76);-webkit-backdrop-filter:blur(14px) saturate(1.6);backdrop-filter:blur(14px) saturate(1.6);border:1px solid rgb(255 255 255 / .7);box-shadow:0 10px 30px -8px rgb(15 23 42 / .25);font:600 13px/1.25 var(--dr-sans);color:var(--dr-ink)}
.dr-glass b{display:block;font:800 16px/1.1 var(--dr-head);color:var(--dr-ink)}
.dr-glass small{display:block;font-weight:500;font-size:12px;color:var(--dr-body)}
.dr-gi{width:38px;height:38px;border-radius:12px;background:var(--dr-acc);color:#fff;display:grid;place-items:center;flex:none}
.dr-gi .ic{width:20px;height:20px}
.dr-hero-book{display:none}
/* ---- stats ---- */
.dr-stats{padding:8px 0 0}
.dr-stats-card{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dr-stat{background:#fff;border:1px solid var(--dr-line);border-radius:var(--dr-r2);padding:16px;box-shadow:var(--dr-sh1)}
.dr-stat b{display:block;font:800 30px/1 var(--dr-head);color:var(--dr-acc);letter-spacing:-.02em;margin-bottom:6px}
.dr-stat span{font-size:14px;color:var(--dr-muted)}
.dr-stats-card.dr-n3{grid-template-columns:repeat(3,1fr)}
.dr-n3 .dr-stat{padding:14px 10px;text-align:center}.dr-n3 .dr-stat b{font-size:26px}.dr-n3 .dr-stat span{font-size:12.5px;line-height:1.3;display:block}
/* ---- conditions & treatments (bento) ---- */
.dr-filters{display:flex;gap:6px;padding:5px;border-radius:16px;background:var(--dr-soft);border:1px solid var(--dr-line);overflow-x:auto;scrollbar-width:none;width:max-content;max-width:100%;margin-bottom:20px}
.dr-filters::-webkit-scrollbar{display:none}
.dr-chip{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:12px;border:0;background:none;font:700 14px/1 var(--dr-head);color:var(--dr-body);white-space:nowrap;cursor:pointer;transition:background .25s,color .25s,box-shadow .25s}
.dr-chip i{font:600 12px/1 var(--dr-sans);font-style:normal;min-width:24px;padding:4px 7px;border-radius:99px;background:#fff;color:var(--dr-muted);text-align:center;border:1px solid var(--dr-line)}
.dr-chip:hover{color:var(--dr-acc)}
.dr-chip[aria-pressed=true]{background:var(--dr-acc);color:#fff;box-shadow:0 6px 16px -6px var(--dr-acc)}
.dr-chip[aria-pressed=true] i{background:rgb(255 255 255 / .2);border-color:transparent;color:#fff}
.dr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dr-grid [hidden]{display:none!important}
.dr-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--dr-line);border-radius:var(--dr-r2);overflow:hidden;box-shadow:var(--dr-sh1);transition:box-shadow .3s,border-color .3s}
.dr-card:hover{box-shadow:var(--dr-sh2);border-color:var(--dr-tint)}
.dr-pic{position:relative;aspect-ratio:4/3;min-height:112px;display:grid;place-items:center;overflow:hidden;flex:none;background:radial-gradient(110% 90% at 50% 0%,#fff,var(--dr-tint) 72%)}
.dr-pic::before{content:"";position:absolute;left:50%;top:55%;height:74%;width:auto;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:#fff;opacity:.9}
.dr-pic .ic{position:relative;z-index:1;height:36%;width:auto;aspect-ratio:1;max-height:120px;color:var(--dr-acc);stroke-width:1.5;margin-top:9%;transition:transform .6s var(--dr-ease)}
/* R2: the catalogue picture (<svg class="tx"><use href=sprite#key>): main tone = currentColor, second tone = the symbol's own opacity */
.dr-pic .tx{position:relative;z-index:1;flex:none;height:62%;width:auto;aspect-ratio:1;max-height:150px;color:var(--dr-acc);margin-top:10%;transition:transform .6s var(--dr-ease)}
.dr-card:hover .dr-pic .ic,.dr-card:hover .dr-pic .tx{transform:scale(1.08)}
.dr-kind{position:absolute;left:10px;top:10px;z-index:2;font:700 10.5px/1 var(--dr-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--dr-acc);background:#fff;padding:5px 8px;border-radius:99px;box-shadow:var(--dr-sh1)}
.dr-cb{display:flex;flex-direction:column;gap:6px;padding:12px 12px 4px;flex:1;min-width:0}
.dr-cb h3{font:700 15px/1.25 var(--dr-head);letter-spacing:-.01em;color:var(--dr-ink)}
.dr-cb p{font-size:12.5px;line-height:1.45;color:var(--dr-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dr-book{margin-top:auto;display:flex;align-items:center;gap:6px;min-height:44px;border:0;background:none;padding:0;font:700 13.5px/1 var(--dr-head);color:var(--dr-acc);cursor:pointer}
.dr-book .ic{width:16px;height:16px;transition:transform .25s var(--dr-ease)}
.dr-book:hover .ic{transform:translateX(3px)}
.dr-rest{margin-top:12px}
/* PHONE ONLY (two columns): the first card showing is a full-width feature card and the eighth -- or the sixth, when it is the last showing -- a wide row card, so the two columns end flush. Counted over the
   cards that are SHOWING (`of :not([hidden])`), so a chosen kind keeps the shape. From 768px the list is a plain grid of equal cards (3 on a tablet, 4 from 1100px): no card is bigger than another. */
@media(max-width:767px){
 .dr-bento>.dr-card:nth-child(1 of :not([hidden])) .dr-pic .tx{height:72%;max-height:210px}
 .dr-bento>.dr-card:nth-child(1 of :not([hidden])){grid-column:span 2}
 .dr-bento>.dr-card:nth-child(1 of :not([hidden])) .dr-pic{aspect-ratio:2/1}
 .dr-bento>.dr-card:nth-child(1 of :not([hidden])) h3{font-size:20px}
 .dr-bento>.dr-card:nth-child(1 of :not([hidden])) p{font-size:14px;display:block}
 .dr-bento>.dr-card:nth-child(8 of :not([hidden])),.dr-bento>.dr-card:nth-child(6 of :not([hidden])):nth-last-child(1 of :not([hidden])){grid-column:span 2;flex-direction:row}
 .dr-bento>.dr-card:nth-child(8 of :not([hidden])) .dr-pic,.dr-bento>.dr-card:nth-child(6 of :not([hidden])):nth-last-child(1 of :not([hidden])) .dr-pic{width:40%;aspect-ratio:auto;min-height:130px}
 .dr-bento>.dr-card:nth-child(8 of :not([hidden])) .dr-cb,.dr-bento>.dr-card:nth-child(6 of :not([hidden])):nth-last-child(1 of :not([hidden])) .dr-cb{padding-bottom:10px}
}
/* the fold, ONE list (owner review rb_lkpcgzko): every card is in the first <ul>; the collapsed state shows FULL rows only -- eight cards at 2 and at 4 columns, six at 3 -- counted over the cards that are
   SHOWING (:nth-child(n+9 of :not([hidden])): a chosen kind sets `hidden` on the rest, so Conditions folds exactly like All). The native <details class="dr-rest"> under the list lifts the cut (:has), and where
   nothing is cut the bar is gone. A browser without :has / `of S` drops the rule whole: every card shows and the bar does nothing. */
@media(max-width:767px),(min-width:1100px){
 .dr-treat:not(:has(.dr-rest[open])) .dr-grid>.dr-card:nth-child(n+9 of :not([hidden])){display:none}
 .dr-treat:not(:has(.dr-grid>.dr-card:nth-child(9 of :not([hidden])))) .dr-rest{display:none}
}
@media(min-width:768px) and (max-width:1099px){
 .dr-treat:not(:has(.dr-rest[open])) .dr-grid>.dr-card:nth-child(n+7 of :not([hidden])){display:none}
 .dr-treat:not(:has(.dr-grid>.dr-card:nth-child(7 of :not([hidden])))) .dr-rest{display:none}
}
.dr-more{list-style:none;display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:100%;min-height:48px;margin:20px 0 0;padding:0 22px;border-radius:14px;border:1.5px solid var(--dr-line);background:#fff;color:var(--dr-acc);font:700 15px/1 var(--dr-head);cursor:pointer;transition:border-color .2s}
.dr-more::-webkit-details-marker{display:none}
.dr-more:hover{border-color:var(--dr-acc)}
.dr-more .ic{width:18px;height:18px;transition:transform .25s}
.dr-more-off{display:none}
.dr-rest[open] .dr-more{margin-bottom:16px}
.dr-rest[open] .dr-more-on{display:none}.dr-rest[open] .dr-more-off{display:inline}
.dr-rest[open] .dr-more .ic{transform:rotate(180deg)}
.dr-unsure{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px;padding:16px 18px;border-radius:var(--dr-r2);background:var(--dr-tint)}
.dr-unsure b{display:block;font:700 16px var(--dr-head);color:var(--dr-ink)}.dr-unsure span{font-size:14px;color:var(--dr-body)}
.dr-unsure .dr-btn{margin-left:auto}
/* ---- about ---- */
.dr-about{background:linear-gradient(180deg,var(--dr-soft),#fff)}
.dr-about-grid{display:grid;gap:32px;grid-template-columns:minmax(0,1fr)}
.dr-photo{position:relative;border-radius:28px;aspect-ratio:5/4.4;box-shadow:var(--dr-sh2);overflow:hidden;background:linear-gradient(150deg,var(--dr-tint),#fff 70%)}
.dr-photo img,.dr-photo .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.dr-photo .ph{display:grid;place-items:center;color:var(--dr-acc)}.dr-photo .ph .ic{width:30%;height:auto;opacity:.35}
.dr-about-body h2{margin-top:12px}
.dr-p{margin-top:14px}
.dr-creds{display:grid;gap:12px;margin-top:24px}
.dr-cred{display:flex;gap:14px;align-items:flex-start;padding:14px;background:#fff;border:1px solid var(--dr-line);border-radius:var(--dr-r2)}
.dr-cred b{display:block;font:700 15px/1.3 var(--dr-head);color:var(--dr-ink)}.dr-cred>div>span{font-size:14px;color:var(--dr-muted)}
.dr-langs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.dr-langs i{font-style:normal;font:600 13px/1 var(--dr-sans);padding:8px 12px;border-radius:99px;background:#fff;border:1px solid var(--dr-line);color:var(--dr-ink)}
.dr-bring{display:flex;gap:14px;align-items:flex-start;margin-top:20px;padding:16px;border-radius:var(--dr-r2);background:var(--dr-tint)}
.dr-bring .dr-ic{background:#fff}
.dr-bring b{display:block;font:700 15px var(--dr-head);color:var(--dr-ink2)}
.dr-bring ul{margin-top:8px;display:grid;gap:6px;font-size:14.5px}
.dr-bring li{display:flex;gap:10px;align-items:flex-start}
.dr-bring li::before{content:"✓";color:var(--dr-acc);font-weight:800}
.dr-nophoto .dr-about-body{max-width:760px}
/* ---- care journey: a plain numbered list; the pinned story when motion.js adds .is-pinned ---- */
.dr-story{background:#fff}
.dr-story-in{padding:64px 0}
.dr-rail,.dr-scenes{display:none}
.dr-steps{display:grid;gap:12px;margin-top:28px}
.dr-step{display:flex;gap:16px;padding:18px;border-radius:var(--dr-r2);background:var(--dr-soft);border:1px solid var(--dr-line)}
.dr-n{width:40px;height:40px;border-radius:50%;background:var(--dr-acc);color:#fff;display:grid;place-items:center;font:800 16px var(--dr-head);flex:none}
.dr-step h3{font:700 18px/1.25 var(--dr-head);color:var(--dr-ink);margin-bottom:4px}
.dr-step p{font-size:15px}
.dr-story.is-pinned .dr-story-wrap{height:340vh;position:relative}
.dr-story.is-pinned .dr-story-stick{position:sticky;top:60px;height:calc(100vh - 60px);display:flex;align-items:center;overflow:hidden}
.dr-story.is-pinned .dr-story-in{padding:0;width:min(1240px,calc(100% - 32px))}
.dr-story.is-pinned .dr-head{margin-bottom:0}
.dr-story.is-pinned .dr-story-body{display:grid;gap:14px;margin-top:16px}
.dr-story.is-pinned .dr-rail{display:block;position:relative;padding:0 4px}
.dr-story.is-pinned .dr-rail ol{display:flex;justify-content:space-between;position:relative;z-index:1}
.dr-story.is-pinned .dr-rail::before,.dr-story.is-pinned .dr-fill{content:"";position:absolute;left:22px;right:22px;top:17px;height:4px;border-radius:4px;background:var(--dr-line)}
.dr-story.is-pinned .dr-fill{right:auto;width:calc(100% - 44px);transform:scaleX(var(--p,0));transform-origin:0 50%;background:var(--dr-acc);transition:transform .15s linear}
.dr-story.is-pinned .dr-rail li{display:flex;flex-direction:column;align-items:center;gap:8px;width:70px;font:600 11.5px/1.2 var(--dr-sans);color:var(--dr-muted);text-align:center;cursor:pointer}
.dr-story.is-pinned .dr-rail li b{width:38px;height:38px;border-radius:50%;background:#fff;border:3px solid var(--dr-line);display:grid;place-items:center;font:800 14px var(--dr-head);color:var(--dr-muted);transition:all .35s var(--dr-ease)}
.dr-story.is-pinned .dr-rail li.is-done b{border-color:var(--dr-acc);color:var(--dr-acc)}
.dr-story.is-pinned .dr-rail li.is-on b{background:var(--dr-acc);border-color:var(--dr-acc);color:#fff;transform:scale(1.12);box-shadow:0 0 0 6px var(--dr-tint)}
.dr-story.is-pinned .dr-rail li.is-on{color:var(--dr-ink)}
.dr-story.is-pinned .dr-steps{display:block;position:relative;height:118px;margin:0}
.dr-story.is-pinned .dr-step{position:absolute;inset:0;background:none;border:0;padding:0;opacity:0;transform:translateY(18px);transition:opacity .5s var(--dr-ease),transform .5s var(--dr-ease);pointer-events:none}
.dr-story.is-pinned .dr-step.is-on{opacity:1;transform:none;pointer-events:auto}
.dr-story.is-pinned .dr-n{display:none}
.dr-story.is-pinned .dr-scenes{display:grid;position:relative;height:290px}
.dr-scene{grid-area:1/1;opacity:0;transform:scale(.96) translateY(14px);transition:opacity .5s var(--dr-ease),transform .6s var(--dr-ease);background:#fff;border:1px solid var(--dr-line);border-radius:var(--dr-r3);box-shadow:var(--dr-sh2);padding:18px;overflow:hidden}
.dr-scene.is-on{opacity:1;transform:none}
.dr-mk{display:flex;align-items:center;gap:8px;font:700 13px var(--dr-head);color:var(--dr-acc);margin-bottom:12px}
.dr-mk .ic{width:18px;height:18px}
.dr-skel{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.dr-skel i{display:block;width:64px;height:38px;border-radius:12px;border:1.5px solid var(--dr-line)}
.dr-skel i.a{background:var(--dr-acc);border-color:var(--dr-acc)}
.dr-line{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--dr-soft);margin-bottom:8px;font-size:14px;color:var(--dr-ink)}
.dr-line .ic{width:18px;height:18px;color:var(--dr-acc)}
.dr-fakebtn{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:14px;background:var(--dr-acc);color:#fff;font:700 15px var(--dr-head)}
.dr-scene-photo{position:relative;height:190px;border-radius:16px;overflow:hidden;margin-bottom:12px;background:linear-gradient(150deg,var(--dr-tint),#fff)}
.dr-scene-photo img,.dr-scene-photo .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.dr-scene-photo .ph{display:grid;place-items:center;color:var(--dr-acc)}.dr-scene-photo .ph .ic{width:56px;height:56px;opacity:.35}
/* ---- timings + location ---- */
.dr-visit-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
.dr-box{background:#fff;border:1px solid var(--dr-line);border-radius:var(--dr-r3);padding:20px;box-shadow:var(--dr-sh1)}
.dr-box-h{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:8px}
.dr-box-h h3{font:800 19px var(--dr-head);color:var(--dr-ink)}
.dr-box table{width:100%;border-collapse:collapse;font-size:15px}
.dr-box th,.dr-box td{padding:12px;border-bottom:1px solid var(--dr-line);text-align:left;vertical-align:middle}
.dr-box tr:last-child th,.dr-box tr:last-child td{border:0}
.dr-box th{font-weight:600;color:var(--dr-ink);white-space:nowrap;width:1%}
.dr-box td{text-align:right;color:var(--dr-body)}
.dr-box td span{display:block;white-space:nowrap}.dr-box td span+span::before{content:none}
.dr-box tr.today,.dr-box [data-today-row]{background:var(--dr-tint)}
.dr-box tr.today th,.dr-box tr.today td,.dr-box [data-today-row] th,.dr-box [data-today-row] td{border-color:transparent;color:var(--dr-ink2);font-weight:600}
.dr-box tr.today th,.dr-box [data-today-row] th{border-radius:12px 0 0 12px}.dr-box tr.today td,.dr-box [data-today-row] td{border-radius:0 12px 12px 0}
.dr-box tr.today th::after,.dr-box [data-today-row] th::after{content:"TODAY";margin-left:8px;font:800 10px var(--dr-sans);letter-spacing:.08em;background:var(--dr-acc);color:#fff;padding:3px 6px;border-radius:6px;vertical-align:2px}
@media(max-width:360px){.dr-box{padding:16px}.dr-box table{font-size:14px}.dr-box th,.dr-box td{padding:12px 4px}}
.dr-addr{display:flex;flex-direction:column}
.dr-map{position:relative;height:170px;border-radius:var(--dr-r2);overflow:hidden;background:var(--dr-tint);margin-bottom:16px}
.dr-map svg{position:absolute;inset:0;width:100%;height:100%}
.dr-map .m-bg{fill:var(--dr-tint)}.dr-map .m-blk{fill:#fff;opacity:.8}.dr-map .m-road{fill:none;stroke:#fff;stroke-width:12}
.dr-map .m-halo{fill:var(--dr-acc);opacity:.16}.dr-map .m-pin{fill:#DC2626}.dr-map .m-eye{fill:#fff}
.dr-clinic{display:block;font:800 17px var(--dr-head);color:var(--dr-ink)}
.dr-addr p{margin:4px 0 16px;color:var(--dr-body);font-size:15px}
.dr-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.dr-btns .dr-btn{flex:1 1 auto}
/* ---- breakpoints ---- */
@media(max-width:480px){.dr-cta .dr-btn{font-size:14px}.dr-chip{padding:0 11px;gap:6px;font-size:13.5px}.dr-filters{gap:2px}
 .dr-box tr.today th::after,.dr-box [data-today-row] th::after{display:block;width:max-content;margin:4px 0 0}}
@media(min-width:640px){
 .dr-sec{padding:80px 0}
 .dr-hero h1{font-size:46px}
 .dr-hero h1.dr-long{font-size:38px}.dr-hero h1.dr-xlong{font-size:32px}
 .dr-sec h2,.dr-head h2,.dr-story h2{font-size:34px}
 .dr-stats-card{grid-template-columns:repeat(4,1fr)}
 .dr-stats-card.dr-n2{grid-template-columns:repeat(2,1fr)}.dr-stats-card.dr-n3{grid-template-columns:repeat(3,1fr)}
 .dr-n3 .dr-stat{text-align:left;padding:16px}.dr-n3 .dr-stat b{font-size:30px}.dr-n3 .dr-stat span{font-size:14px}
 .dr-about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dr-nophoto{grid-template-columns:minmax(0,1fr)}
}
/* the two ranges of a day sit on one line only where the cell is wide enough for both (one column of boxes up to 899, wide screens from 1100); every range keeps its own line */
@media(min-width:640px) and (max-width:899px){
 .dr-box td span{display:inline}.dr-box td span+span::before{content:" · "}
}
@media(min-width:768px){
 .dr-hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:48px}
 .dr-hero{padding:44px 0 72px}
 .dr-story.is-pinned .dr-story-body{grid-template-columns:150px minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:center;margin-top:36px}
 .dr-story.is-pinned .dr-rail{padding:0}
 .dr-story.is-pinned .dr-rail ol{flex-direction:column;justify-content:space-between;height:300px}
 .dr-story.is-pinned .dr-rail::before{left:17px;right:auto;top:19px;bottom:19px;width:4px;height:auto}
 .dr-story.is-pinned .dr-fill{left:17px;right:auto;top:19px;width:4px;height:calc(100% - 38px);transform:scaleY(var(--p,0));transform-origin:50% 0}
 .dr-story.is-pinned .dr-rail li{flex-direction:row;width:auto;gap:14px;text-align:left;font-size:14px;align-items:center}
 .dr-story.is-pinned .dr-steps{height:210px}
 .dr-story.is-pinned .dr-step h3{font-size:28px;margin-bottom:10px}.dr-story.is-pinned .dr-step p{font-size:17px}
 .dr-story.is-pinned .dr-scenes{height:340px}
 .dr-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .dr-cb p{-webkit-line-clamp:2}
}
@media(min-width:900px){
 .dr-visit-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
 .dr-cb{padding:14px 16px 4px}.dr-cb h3{font-size:16.5px}.dr-cb p{font-size:14px}
}
@media(min-width:1100px){
 .dr-box td span{display:inline}.dr-box td span+span::before{content:" · "}
 .dr-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(min-width:1180px){
 .dr-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr) 372px;gap:40px}
 .dr-hero h1{font-size:56px}
 .dr-hero h1.dr-long{font-size:44px}.dr-hero h1.dr-xlong{font-size:36px}
 .dr-hero{padding-top:26px}
 .dr-hero-book{display:block}
 .dr-about-grid{gap:72px;align-items:center}
 .dr-sec h2,.dr-head h2,.dr-story h2{font-size:40px}
 .dr-nobook .dr-hero-grid,.dr-hero-grid.dr-nobook{grid-template-columns:1.05fr .95fr}
}
@media(prefers-reduced-motion:reduce){
 .dr *,.dr *::before,.dr *::after{animation:none!important;transition:none!important}
}
