/* littleGRINS — built to the Brand Identity Guide v1 (Oct 2026).
   "A trusted medical practice that happens to be warm": mostly paper/cloud, ink text, night only for
   utility bar, CTA banner and footer; color in small doses through soft tints and icon tiles. */
:root{
  --paper:#FFFFFF; --cloud:#F7F5FB; --mist:#EEEAF5; --ink:#1C1828; --ink-muted:#5A5568; --slate:#7988A6;
  --night:#1F1A2E; --on-night:#FFFFFF; --on-night-muted:#C9C2D6;
  --grin-violet:#BE5DF7; --violet-strong:#8A2DD0; --violet-deep:#6F1FB0; --violet-soft:#F3E6FD; --on-violet:#FFFFFF;
  --lavender:#E2CDF8; --moon-gold:#F8D580; --moon-amber:#F3B260; --tooth-blue:#C0E7FA; --on-accent:#1C1828;
  --sky-soft:#EAF6FD; --blue-deep:#1B5E86;
  --gold-soft:#FFF6DD; --gold-deep:#7A5300;
  --mint:#BFE8D5; --mint-soft:#E4F7EE; --mint-deep:#1C6B4A;
  --bubble-pink:#F5C3D6; --pink-soft:#FFE8F1; --pink-deep:#B4256A;
  --peach:#F6CFB8; --peach-soft:#FFEDE3; --peach-deep:#A4471C;
  --success:#1F7A4D; --warning:#8A5A00; --danger:#B42318;
  --f-display:"Poppins",ui-rounded,"Segoe UI",system-ui,sans-serif;
  --f-body:"Nunito Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  --r-sm:8px; --r-md:12px; --r-lg:20px; --r-pill:999px;
  --s3:12px; --s4:16px; --s8:32px; --s12:48px; --s24:96px;
  --shadow-soft:0 6px 24px rgba(28,24,40,.08);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --paper:#14111B; --cloud:#1D1926; --mist:#2E2939; --ink:#F4F1F8; --ink-muted:#B7B0C4; --slate:#9AA6C0;
  --night:#2A2340; --on-night-muted:#D4CDE0;
  --grin-violet:#C978F8; --violet-strong:#D6A0FA; --violet-deep:#E6C6FC; --violet-soft:#2C1D3D; --on-violet:#14111B; --lavender:#CFA9F5;
  --sky-soft:#16242C; --blue-deep:#9FD8F7; --gold-soft:#2E2614; --gold-deep:#F8D580;
  --mint:#A6DCC4; --mint-soft:#15281F; --mint-deep:#8FE0BD; --bubble-pink:#F0A9C5; --pink-soft:#3A1D2B; --pink-deep:#FFA8CB;
  --peach:#F2B998; --peach-soft:#33211A; --peach-deep:#FFBE9C;
  --success:#5BC894; --warning:#F3B260; --danger:#F59389; --shadow-soft:0 6px 24px rgba(0,0,0,.4); color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#14111B; --cloud:#1D1926; --mist:#2E2939; --ink:#F4F1F8; --ink-muted:#B7B0C4; --slate:#9AA6C0;
  --night:#2A2340; --on-night-muted:#D4CDE0;
  --grin-violet:#C978F8; --violet-strong:#D6A0FA; --violet-deep:#E6C6FC; --violet-soft:#2C1D3D; --on-violet:#14111B; --lavender:#CFA9F5;
  --sky-soft:#16242C; --blue-deep:#9FD8F7; --gold-soft:#2E2614; --gold-deep:#F8D580;
  --mint:#A6DCC4; --mint-soft:#15281F; --mint-deep:#8FE0BD; --bubble-pink:#F0A9C5; --pink-soft:#3A1D2B; --pink-deep:#FFA8CB;
  --peach:#F2B998; --peach-soft:#33211A; --peach-deep:#FFBE9C;
  --success:#5BC894; --warning:#F3B260; --danger:#F59389; --shadow-soft:0 6px 24px rgba(0,0,0,.4); color-scheme:dark}

.fam-violet{--fb:var(--lavender);--fs:var(--violet-soft);--fd:var(--violet-deep)}
.fam-blue{--fb:var(--tooth-blue);--fs:var(--sky-soft);--fd:var(--blue-deep)}
.fam-mint{--fb:var(--mint);--fs:var(--mint-soft);--fd:var(--mint-deep)}
.fam-gold{--fb:var(--moon-gold);--fs:var(--gold-soft);--fd:var(--gold-deep)}
.fam-pink{--fb:var(--bubble-pink);--fs:var(--pink-soft);--fd:var(--pink-deep)}
.fam-peach{--fb:var(--peach);--fs:var(--peach-soft);--fd:var(--peach-deep)}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:27px}
img{max-width:100%;display:block}
a{color:var(--violet-strong);text-underline-offset:3px}
a:hover{color:var(--violet-deep)}
:focus-visible{outline:3px solid var(--violet-strong);outline-offset:2px;border-radius:6px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--paper);padding:8px 14px;border-radius:var(--r-pill);z-index:50}
.skip:focus{left:16px}
p{margin:0}

h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;margin:0;text-wrap:balance;color:var(--ink)}
.hero-title{font-size:52px;line-height:58px;letter-spacing:-.01em}
h1{font-size:40px;line-height:46px;letter-spacing:-.01em}
h2{font-size:30px;line-height:36px}
h3{font-size:22px;line-height:28px}
.lead{font-size:20px;line-height:30px;color:var(--ink-muted)}
.small{font-size:14px;line-height:20px}
.label,.eyebrow{font-family:var(--f-body);font-weight:700;font-size:12px;line-height:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--violet-strong)}
.violet-word{color:var(--grin-violet)}
.muted{color:var(--ink-muted)}
@media (max-width:640px){.hero-title{font-size:36px;line-height:42px}h1{font-size:30px;line-height:36px}h2{font-size:26px;line-height:32px}}

.wrap{max-width:1200px;margin:0 auto;padding-inline:24px}
@media (max-width:640px){.wrap{padding-inline:16px}}
.section,section.block{padding-block:var(--s24)}
@media (max-width:760px){.section,section.block{padding-block:var(--s12)}}
.section.cloud,section.alt{background:var(--cloud)}
.section.sky{background:var(--sky-soft)}
.section-head{display:flex;flex-direction:column;gap:var(--s3);margin-bottom:var(--s8);max-width:680px}
.section-head p{color:var(--ink-muted);font-size:18px;line-height:28px}
.stack{display:flex;flex-direction:column;gap:var(--s4)}
.row{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center}
.prose{max-width:680px}
.prose > * + *{margin-top:16px}
.prose h2{margin-top:48px}
.prose h3{margin-top:32px}
.prose > h2:first-child{margin-top:0}
.prose ul,.prose ol{padding-left:1.2em;margin:0}
.prose li + li{margin-top:6px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:var(--r-pill);font-family:var(--f-display);font-weight:700;font-size:16px;line-height:20px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary,.btn-sun{background:var(--violet-strong);color:var(--on-violet)}
.btn-primary:hover,.btn-sun:hover{background:var(--violet-deep);color:var(--on-violet)}
.btn-secondary,.btn-ghost{background:var(--paper);border-color:var(--mist);color:var(--ink)}
.btn-secondary:hover,.btn-ghost:hover{border-color:var(--violet-strong);color:var(--violet-strong)}
.btn-soft,.btn-mint{background:var(--fs,var(--sky-soft));color:var(--fd,var(--blue-deep))}
.btn-soft:hover,.btn-mint:hover{color:var(--fd,var(--blue-deep));filter:saturate(1.25)}
.btn-quiet{background:transparent;color:var(--ink);padding:0 8px}
.btn-quiet:hover{color:var(--violet-strong)}
.btn-light{background:#fff;color:#1C1828}
.btn-light:hover{background:#F3E6FD;color:#1C1828}
.cta-banner .btn-ghost{background:transparent;border-color:rgba(255,255,255,.55);color:var(--on-night)}
.cta-banner .btn-ghost:hover{border-color:#fff;color:#fff}

.tag{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--r-pill);font-weight:700;font-size:14px;line-height:20px;background:var(--fs,var(--violet-soft));color:var(--fd,var(--violet-deep))}
.tag:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.tag-highlight{background:var(--moon-gold);color:var(--on-accent)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.chips span{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--r-pill);font-weight:700;font-size:14px;line-height:20px}
.chips span:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.chips span:nth-child(3n+1){background:var(--violet-soft);color:var(--violet-deep)}
.chips span:nth-child(3n+2){background:var(--sky-soft);color:var(--blue-deep)}
.chips span:nth-child(3n+3){background:var(--mint-soft);color:var(--mint-deep)}

.utility{background:var(--night);color:var(--on-night-muted);font-size:14px;line-height:20px}
.utility .wrap{display:flex;justify-content:space-between;gap:12px;padding-block:9px}
.utility strong{color:var(--on-night)}
.utility a{color:var(--on-night);font-weight:700;text-decoration:none;white-space:nowrap}
@media (max-width:700px){.utility span{display:none}.utility .wrap{justify-content:flex-end}}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--paper);border-bottom:1px solid var(--mist);transition:box-shadow .2s}
.site-header.scrolled{box-shadow:var(--shadow-soft)}
.site-header .wrap{display:flex;align-items:center;gap:24px;min-height:76px}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;flex:none}
.brand img{width:52px;height:auto}
.wordmark{font-family:var(--f-display);font-weight:700;font-size:26px;line-height:1;letter-spacing:-.02em;color:var(--ink)}
.wordmark .grins{color:var(--grin-violet);letter-spacing:0}
.nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.nav a:not(.btn){font-family:var(--f-display);font-weight:500;font-size:16px;color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.nav a:not(.btn):hover{color:var(--violet-strong)}
.nav a[aria-current="page"]{color:var(--violet-strong);border-bottom-color:var(--violet-strong)}
.nav-cta{display:none}
.header-cta{flex:none}
.menu-btn{display:none;margin-left:auto;min-height:44px;padding:0 18px;border-radius:var(--r-pill);border:1px solid var(--mist);background:var(--paper);color:var(--ink);font-family:var(--f-display);font-weight:600;font-size:15px;cursor:pointer}
@media (max-width:1080px){
  .menu-btn{display:inline-flex;align-items:center}
  .header-cta{display:none}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--mist);padding:8px 24px 20px;box-shadow:var(--shadow-soft)}
  .nav.open{display:flex}
  .nav a:not(.btn){padding:14px 0;border-bottom:1px solid var(--mist)}
  .nav a[aria-current="page"]{border-bottom-color:var(--mist);box-shadow:inset 3px 0 0 var(--violet-strong);padding-left:12px}
  .nav-cta{display:inline-flex;margin-top:16px}
  .site-header .wrap{position:relative}
}

.home-hero{background:var(--sky-soft);padding-block:72px 80px;overflow:hidden}
.home-hero .grid-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.home-hero .lead{margin-top:20px;max-width:560px}
.home-hero .row{margin-top:32px}
.home-hero .tag-highlight{margin-bottom:20px}
.hero-art{display:grid;place-items:center}
.hero-art .disc{width:min(380px,80%);aspect-ratio:1;border-radius:50%;background:var(--paper);border:1px solid var(--mist);display:grid;place-items:center}
.hero-art img{width:72%;height:auto}
@media (prefers-reduced-motion:no-preference){.hero-art img{animation:float 7s ease-in-out infinite}@keyframes float{50%{transform:translateY(-8px)}}}
@media (max-width:860px){.home-hero{padding-block:40px 56px;text-align:center}.home-hero .grid-hero{grid-template-columns:1fr;gap:24px}.home-hero .row{justify-content:center}.home-hero .lead{margin-inline:auto}.hero-art{order:-1}.hero-art .disc{width:200px}}
.page-hero{background:var(--sky-soft);padding-block:48px 56px}
.page-hero h1{margin-top:12px;max-width:860px}
.page-hero .lead{margin-top:16px;max-width:680px}
.page-hero .row{margin-top:24px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;line-height:20px;color:var(--ink-muted);margin-bottom:24px}
.crumbs a{color:var(--ink-muted)}
.crumbs a:hover{color:var(--violet-strong)}

.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--mist)}
.stat-strip > div{padding:28px 24px;display:flex;flex-direction:column;gap:6px}
.stat-strip > div + div{border-left:1px solid var(--mist)}
.stat-strip b{font-family:var(--f-display);font-weight:600;font-size:32px;line-height:40px;color:var(--ink);display:flex;align-items:center;gap:12px;font-variant-numeric:tabular-nums}
.stat-strip b:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--fb);flex:none}
.stat-strip span{color:var(--ink-muted);font-size:15px;line-height:22px}
@media (max-width:860px){.stat-strip{grid-template-columns:1fr 1fr}.stat-strip > div:nth-child(3){border-left:0}.stat-strip > div:nth-child(n+3){border-top:1px solid var(--mist)}}
@media (max-width:460px){.stat-strip{grid-template-columns:1fr}.stat-strip > div + div{border-left:0;border-top:1px solid var(--mist)}}

.grid{display:grid;gap:24px}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.g3,.g2{grid-template-columns:1fr}}
.card{background:var(--paper);border:1px solid var(--mist);border-radius:var(--r-md);padding:24px;display:flex;flex-direction:column;gap:12px;min-width:0;transition:box-shadow .2s}
.card:hover{box-shadow:var(--shadow-soft)}
.card h3 a{color:var(--ink);text-decoration:none}
.card h3 a:hover{color:var(--violet-strong)}
.card p{color:var(--ink-muted);font-size:16px;line-height:25px}
.card .more{margin-top:auto;padding-top:4px;font-family:var(--f-display);font-weight:600;font-size:16px;color:var(--violet-strong);text-decoration:none}
.card .more:hover{color:var(--violet-deep)}
.icon{width:48px;height:48px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--fs,var(--violet-soft));color:var(--fd,var(--violet-deep));flex:none}
.icon svg{width:24px;height:24px}
.grid > .card:nth-child(6n+1){--fb:var(--lavender);--fs:var(--violet-soft);--fd:var(--violet-deep)}
.grid > .card:nth-child(6n+2){--fb:var(--tooth-blue);--fs:var(--sky-soft);--fd:var(--blue-deep)}
.grid > .card:nth-child(6n+3){--fb:var(--mint);--fs:var(--mint-soft);--fd:var(--mint-deep)}
.grid > .card:nth-child(6n+4){--fb:var(--moon-gold);--fs:var(--gold-soft);--fd:var(--gold-deep)}
.grid > .card:nth-child(6n+5){--fb:var(--bubble-pink);--fs:var(--pink-soft);--fd:var(--pink-deep)}
.grid > .card:nth-child(6n+6){--fb:var(--peach);--fs:var(--peach-soft);--fd:var(--peach-deep)}

.feature{background:var(--fs);border-radius:var(--r-md);padding:28px;display:flex;flex-direction:column;gap:6px}
.feature .label{color:var(--fd)}
.feature .fig{font-family:var(--f-display);font-weight:600;font-size:40px;line-height:46px;color:var(--fd)}
.feature h3{margin-top:6px}
.feature p{color:var(--ink)}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0}
.steps li{border-top:2px solid var(--fb);padding-top:20px;display:flex;flex-direction:column;gap:8px}
.steps .label{color:var(--fd)}
.steps p{color:var(--ink-muted)}
.steps li:nth-child(1){--fb:var(--lavender);--fd:var(--violet-deep)}
.steps li:nth-child(2){--fb:var(--tooth-blue);--fd:var(--blue-deep)}
.steps li:nth-child(3){--fb:var(--mint);--fd:var(--mint-deep)}
.steps li:nth-child(4){--fb:var(--peach);--fd:var(--peach-deep)}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

.docs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media (max-width:900px){.docs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.docs-grid{grid-template-columns:1fr}}
.doc-card{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--ink)}
.doc-card:hover .portrait{box-shadow:var(--shadow-soft)}
.doc-card .info{display:flex;flex-direction:column;gap:2px}
.doc-card .info b{font-family:var(--f-display);font-weight:600;font-size:20px;line-height:26px}
.doc-card .info span{color:var(--ink-muted);font-size:15px;line-height:22px}
.doc-card:hover .info b{color:var(--violet-strong)}
.docs-grid > .doc-card:nth-child(6n+1) .portrait{--fs:var(--peach-soft);--fb:var(--peach)}
.docs-grid > .doc-card:nth-child(6n+2) .portrait{--fs:var(--sky-soft);--fb:var(--tooth-blue)}
.docs-grid > .doc-card:nth-child(6n+3) .portrait{--fs:var(--mint-soft);--fb:var(--mint)}
.docs-grid > .doc-card:nth-child(6n+4) .portrait{--fs:var(--violet-soft);--fb:var(--lavender)}
.docs-grid > .doc-card:nth-child(6n+5) .portrait{--fs:var(--gold-soft);--fb:var(--moon-gold)}
.docs-grid > .doc-card:nth-child(6n+6) .portrait{--fs:var(--pink-soft);--fb:var(--bubble-pink)}
.portrait{position:relative;aspect-ratio:4/5;background:var(--fs,var(--peach-soft));overflow:hidden;max-width:100%;border-radius:var(--r-lg)}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.portrait .initials{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:60%;height:62%;font-size:0}
.portrait .initials:before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:46%;aspect-ratio:1;border-radius:50%;background:var(--fb,var(--peach))}
.portrait .initials:after{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;border-radius:999px 999px 0 0;background:var(--fb,var(--peach))}
.portrait.noimg img{display:none}
.portrait:not(.noimg) .initials{display:none}
.portrait .ph{position:absolute;left:12px;top:12px;font-size:12px;font-weight:700;background:var(--paper);color:var(--ink-muted);border-radius:var(--r-pill);padding:4px 10px}

.doctor{display:grid;grid-template-columns:320px minmax(0,1fr);gap:48px;align-items:start;padding-block:48px;border-top:1px solid var(--mist);scroll-margin-top:110px}
.doctor:first-of-type{border-top:0}
.doctor h2{font-size:30px}
.creds{color:var(--ink-muted);font-weight:700;margin:8px 0 20px}
.pending-note{background:var(--gold-soft);border-radius:var(--r-md);padding:18px 20px}
@media (max-width:760px){.doctor{grid-template-columns:1fr;gap:24px}.doctor .portrait{max-width:300px}}

.article{display:grid;grid-template-columns:minmax(0,680px) 340px;justify-content:space-between;gap:56px;align-items:start}
.aside{position:sticky;top:110px;display:flex;flex-direction:column;gap:16px}
.aside .card{gap:12px}
.aside ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.aside ul li + li{border-top:1px solid var(--mist)}
.aside ul a{display:block;padding:9px 0;text-decoration:none;color:var(--ink);font-weight:700;font-size:15px;line-height:22px}
.aside ul a:hover{color:var(--violet-strong)}
.aside .card:hover{box-shadow:none}
.call-card{background:var(--violet-soft);border-color:transparent}
.call-card h3{color:var(--violet-deep)}
.call-card p{color:var(--ink)}
.call-card .phone{font-family:var(--f-display);font-weight:600;font-size:24px;line-height:30px;color:var(--ink);text-decoration:none}
@media (max-width:980px){.article{grid-template-columns:1fr}.aside{position:static}}

.notice,.callout{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 12px;align-items:start;background:var(--fs,var(--sky-soft));border-radius:var(--r-md);padding:18px 20px;color:var(--ink)}
.notice > svg,.callout > svg{width:22px;height:22px;color:var(--fd,var(--blue-deep));margin-top:2px}
.notice h3,.callout h3{font-size:18px;line-height:24px}
.notice > :not(svg),.callout > :not(svg){grid-column:2}
.notice p,.callout p{color:var(--ink)}
.notice-danger{background:var(--paper);border:1px solid var(--danger);--fd:var(--danger)}
.notice-danger h3{color:var(--danger)}
.card.notice:hover{box-shadow:none}

.checks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.checks li{position:relative;padding-left:24px}
.checks li:before{content:"";position:absolute;left:2px;top:9px;width:9px;height:9px;border-radius:50%;background:var(--fb,var(--mint))}
.checks.x li:before{background:var(--danger)}

.table-wrap{overflow-x:auto;border:1px solid var(--mist);border-radius:var(--r-md)}
table{border-collapse:collapse;width:100%;font-size:16px}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--mist);vertical-align:top}
tr:last-child td{border-bottom:0}
th{font-family:var(--f-display);font-weight:600;font-size:15px;background:var(--cloud)}
td.t{font-weight:700;white-space:nowrap;color:var(--violet-deep);font-variant-numeric:tabular-nums}

.faq-panel{background:var(--paper);border:1px solid var(--mist);border-radius:var(--r-lg);padding:4px 28px}
.faq-panel + .faq-panel{margin-top:16px}
.faq-panel details + details{border-top:1px solid var(--mist)}
.faq-panel summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-family:var(--f-display);font-weight:600;font-size:18px;line-height:26px;color:var(--ink)}
.faq-panel summary::-webkit-details-marker{display:none}
.faq-panel .pm{flex:none;width:30px;height:30px;border-radius:50%;background:var(--sky-soft);position:relative}
.faq-panel .pm:before,.faq-panel .pm:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:2px;background:var(--blue-deep);transform:translate(-50%,-50%)}
.faq-panel .pm:after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-panel details[open] .pm:before{transform:translate(-50%,-50%) rotate(45deg)}
.faq-panel details[open] .pm:after{transform:translate(-50%,-50%) rotate(135deg)}
.faq-panel details > div{padding:0 0 22px;color:var(--ink-muted);max-width:640px}
.section.sky .faq-panel{border-color:transparent}
@media (max-width:540px){.faq-panel{padding:4px 18px}}

.loc .addr{font-style:normal;color:var(--ink-muted)}
.loc .row{margin-top:auto;gap:18px}

form .field{display:flex;flex-direction:column;gap:8px;min-width:0}
label{font-weight:700;font-size:16px}
.help{font-size:14px;line-height:20px;color:var(--ink-muted)}
input,select,textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--slate);border-radius:var(--r-sm);min-height:48px;padding:10px 14px;width:100%}
textarea{min-height:128px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--violet-strong);box-shadow:0 0 0 4px var(--violet-soft)}
.form-msg{border-radius:var(--r-md);padding:14px 16px;background:var(--mint-soft);color:var(--ink);font-weight:700}

.cta-banner{position:relative;overflow:hidden;background:var(--night);color:var(--on-night);border-radius:var(--r-lg);padding:48px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.cta-banner h2{color:var(--on-night);max-width:460px}
.cta-banner p{color:var(--on-night-muted);margin-top:10px;max-width:540px}
.cta-banner .moon{position:absolute;right:56px;top:-24px;width:92px;height:92px}
.cta-banner .row{position:relative}
@media (max-width:820px){.cta-banner{grid-template-columns:1fr;padding:40px 24px;text-align:center}.cta-banner h2,.cta-banner p{margin-inline:auto}.cta-banner .row{justify-content:center}.cta-banner .moon{right:12px;top:-18px;width:64px;height:64px}}

.site-footer{background:var(--night);color:var(--on-night-muted);padding-block:64px 32px;font-size:15px;line-height:24px}
.site-footer a{color:var(--on-night-muted);text-decoration:none}
.site-footer a:hover{color:var(--on-night);text-decoration:underline}
.site-footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:40px}
.site-footer h4{font-size:16px;line-height:22px;color:var(--on-night);margin-bottom:14px}
.site-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.site-footer address{font-style:normal}
.site-footer .foot-brand{text-decoration:none}
.site-footer .foot-brand:hover{text-decoration:none}
.site-footer .wordmark{color:var(--on-night);font-size:28px}
.site-footer .wordmark .grins{color:var(--lavender)}
.site-footer .legal{border-top:1px solid rgba(255,255,255,.14);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;line-height:20px}
@media (max-width:900px){.site-footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.site-footer .cols{grid-template-columns:1fr}}

.blog-list .card .date{font-size:12px;line-height:16px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fd,var(--blue-deep))}
.post blockquote{margin:0;padding:18px 22px;border-left:3px solid var(--bubble-pink);background:var(--pink-soft);border-radius:0 var(--r-md) var(--r-md) 0;color:var(--ink)}
.post h3{font-size:20px;line-height:26px}
.sky{background:var(--sky-soft)}
.btn-sm{min-height:40px;padding:0 18px;font-size:15px}

/* ===== Journal (blog) ===== */
.journal-hero{background:var(--sky-soft);padding-block:48px 64px}
.featured{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);margin-top:40px;background:var(--paper);border:1px solid var(--mist);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:var(--ink);transition:box-shadow .2s}
.featured:hover{box-shadow:var(--shadow-soft)}
.featured:hover h2{color:var(--violet-strong)}
.f-cover{min-height:100%;background:var(--fs)}
.f-cover .cover{width:100%;height:100%;min-height:320px}
.f-body{padding:40px;display:flex;flex-direction:column;gap:16px;justify-content:center}
.f-body .lead{font-size:18px;line-height:28px}
.f-body .more{font-family:var(--f-display);font-weight:600;color:var(--violet-strong)}
@media (max-width:860px){.featured{grid-template-columns:1fr}.f-cover .cover{min-height:200px}.f-body{padding:24px}}
.cover{display:block;width:100%;height:auto;aspect-ratio:16/9}
.avatar{width:44px;height:44px;border-radius:50%;background:var(--violet-soft);color:var(--violet-deep);display:grid;place-items:center;font-family:var(--f-display);font-weight:600;font-size:15px;flex:none}
.byline{display:flex;gap:12px;align-items:center;margin-top:20px}
.byline b{font-size:15px;line-height:20px}
.pc-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;line-height:20px;color:var(--ink-muted)}

.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.chip{font:inherit;font-weight:700;font-size:15px;min-height:44px;padding:0 18px;border-radius:var(--r-pill);border:1px solid var(--mist);background:var(--paper);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.chip:hover{border-color:var(--violet-strong);color:var(--violet-strong)}
.chip[aria-pressed="true"]{background:var(--violet-strong);border-color:var(--violet-strong);color:var(--on-violet)}
.chip .count{font-size:12px;background:var(--cloud);color:var(--ink-muted);border-radius:var(--r-pill);padding:1px 8px}
.chip[aria-pressed="true"] .count{background:rgba(255,255,255,.2);color:var(--on-violet)}

.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
@media (max-width:960px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.post-grid{grid-template-columns:1fr}}
.post-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--mist);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow .2s,transform .2s}
.post-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}
.post-card .cover-link{display:block;background:var(--fs)}
.post-card .cover{transition:transform .4s}
.post-card:hover .cover{transform:scale(1.03)}
.pc-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:12px;flex:1}
.pc-body .tag{align-self:flex-start}
.pc-body h3{font-size:20px;line-height:27px}
.pc-body h3 a{color:var(--ink);text-decoration:none}
.pc-body h3 a:hover{color:var(--violet-strong)}
.pc-body h3 a:after{content:"";position:absolute;inset:0}
.post-card{position:relative}
.pc-body p{color:var(--ink-muted);font-size:16px;line-height:25px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pc-body .pc-meta{margin-top:auto;padding-top:4px}

.topic-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:900px){.topic-row{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.topic-row{grid-template-columns:1fr}}
.topic{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:var(--r-md);background:var(--paper);border:1px solid var(--mist);text-decoration:none;color:var(--ink)}
.topic:hover{box-shadow:var(--shadow-soft)}
.topic .icon{margin-bottom:8px}
.topic b{font-family:var(--f-display);font-weight:600;font-size:18px}
.topic span:last-child{color:var(--ink-muted);font-size:15px}
.topic:hover b{color:var(--violet-strong)}

/* post page */
.progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:60;pointer-events:none}
.progress span{display:block;height:100%;width:0;background:var(--violet-strong)}
.post-hero{background:var(--fs);padding-block:40px 56px}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center}
.ph-cover{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--mist)}
.post-hero h1{font-size:44px;line-height:50px}
@media (max-width:900px){.ph-grid{grid-template-columns:1fr;gap:28px}.post-hero h1{font-size:30px;line-height:36px}}
.post-layout{display:grid;grid-template-columns:220px minmax(0,680px) 300px;gap:48px;justify-content:space-between;align-items:start}
.toc-col{position:sticky;top:110px;display:flex;flex-direction:column;gap:20px}
.toc ol{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;border-left:2px solid var(--mist)}
.toc a{display:block;padding:7px 0 7px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--ink-muted);text-decoration:none;font-size:14px;line-height:20px}
.toc a:hover{color:var(--violet-strong);border-left-color:var(--violet-strong)}
@media (max-width:1100px){.post-layout{grid-template-columns:minmax(0,1fr) 300px}.toc-col{display:none}}
@media (max-width:860px){.post-layout{grid-template-columns:1fr}}
.post h2{scroll-margin-top:110px}
.takeaways{background:var(--fs);border-radius:var(--r-md);padding:22px 24px}
.takeaways .label{color:var(--fd);margin-bottom:12px}
.takeaways .checks li:before{background:var(--fd)}
.author-box{display:flex;gap:16px;align-items:flex-start;border-top:1px solid var(--mist);padding-top:28px;margin-top:48px}
.author-box p{font-size:15px;line-height:23px;margin-top:4px}
.post-hero{background:var(--paper);border-bottom:1px solid var(--mist)}
.post-hero .ph-cover{background:var(--fs)}






/* ===== Hero: operating room + orbiting doctors (names always visible; avatars link to profiles) ===== */
.orbit{--size:520px;--r:calc(var(--size) / 2 - 10px);position:relative;width:var(--size);max-width:100%;aspect-ratio:1;margin-inline:auto}
.orbit-track{position:absolute;inset:10px;border-radius:50%;border:2px dashed var(--lavender)}
.orbit-scene{position:absolute;inset:16%;border-radius:50%;overflow:hidden;box-shadow:var(--shadow-soft);background:var(--paper)}
.or-scene{width:100%;height:100%;display:block}
.orbit-ring{position:absolute;inset:0;animation:orbit 90s linear infinite;z-index:2;pointer-events:none}
.orbit:hover .orbit-ring,.orbit:hover .av,.orbit:focus-within .orbit-ring,.orbit:focus-within .av{animation-play-state:paused}
.orbit-item{pointer-events:auto;position:absolute;left:50%;top:50%;width:88px;height:88px;margin:-44px 0 0 -44px;text-decoration:none;border-radius:50%;transform:rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a)))}
.av{position:relative;display:block;width:100%;height:100%;border-radius:50%;background:var(--fs);border:4px solid var(--paper);box-shadow:var(--shadow-soft);animation:orbit 90s linear infinite reverse;transition:border-color .2s,box-shadow .2s}
.av img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 20%}
.av .ini{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-display);font-weight:600;font-size:24px;color:var(--fd)}
.av .tagname{position:absolute;left:50%;top:calc(100% + 6px);transform:translateX(-50%);white-space:nowrap;background:var(--paper);color:var(--ink);border:1px solid var(--mist);box-shadow:var(--shadow-soft);font-family:var(--f-display);font-size:13px;font-weight:600;line-height:18px;padding:4px 10px;border-radius:var(--r-pill);transition:background .2s,color .2s}
.orbit-item:hover .av,.orbit-item:focus-visible .av{border-color:var(--violet-strong);box-shadow:0 0 0 6px var(--violet-soft),var(--shadow-soft)}
.orbit-item:hover .tagname,.orbit-item:focus-visible .tagname{background:var(--violet-strong);border-color:var(--violet-strong);color:var(--on-violet)}
@keyframes orbit{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:no-preference){
  .or-scene .z{animation:zfloat 4s ease-in-out infinite;transform-box:fill-box}
  .or-scene .z2{animation-delay:.6s}.or-scene .z3{animation-delay:1.2s}
  @keyframes zfloat{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}
  .or-scene .beat{stroke-dasharray:120;animation:beat 2.4s linear infinite}
  @keyframes beat{from{stroke-dashoffset:120}to{stroke-dashoffset:-120}}
}
@media (prefers-reduced-motion:reduce){.orbit-ring,.av{animation:none}}
@media (max-width:1180px){.orbit{--size:460px}.orbit-item{width:76px;height:76px;margin:-38px 0 0 -38px}}
@media (max-width:860px){.hero-art{padding-bottom:36px}.orbit{--size:min(340px, calc(100vw - 100px))}.orbit-scene{inset:13%}.orbit-item{width:58px;height:58px;margin:-29px 0 0 -29px}.av{border-width:3px}.av .ini{font-size:17px}.av .tagname{font-size:11px;padding:2px 8px;top:calc(100% + 3px)}}
.home-hero{overflow:visible}
.portrait picture,.av picture{position:absolute;inset:0;display:block}
.portrait picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%}
.av picture img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover}
.portrait{background:#EDE3D6}
@media (max-width:860px){.orbit{--size:min(340px, calc(100vw - 100px))}.hero-art{overflow:visible;padding-bottom:36px}}
.home-hero{overflow-x:clip}

/* ===== Hero v3: professional photo mosaic ===== */
.btn-lg{min-height:56px;padding:0 28px;font-size:17px}
.hero2{background:var(--paper);padding-block:64px 80px;overflow-x:clip}
.hero2-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.hero2-copy .tag-highlight{margin-bottom:20px}
.hero2-copy .lead{margin-top:20px;max-width:560px}
.hero2-ctas{margin-top:32px;gap:16px}
.btn-quiet svg{width:18px;height:18px}
.hero2-trust{list-style:none;padding:0;margin:32px 0 0;display:flex;flex-direction:column;gap:12px}
.hero2-trust li{display:flex;align-items:center;gap:12px;font-weight:700;font-size:16px;color:var(--ink)}
.hero2-trust svg{width:22px;height:22px;flex:none;padding:6px;box-sizing:content-box;border-radius:var(--r-sm);background:var(--violet-soft);color:var(--violet-deep)}
.hero2-trust li:nth-child(2) svg{background:var(--sky-soft);color:var(--blue-deep)}
.hero2-trust li:nth-child(3) svg{background:var(--mint-soft);color:var(--mint-deep)}
.hero2-coord{display:flex;align-items:center;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--mist);font-size:15px;line-height:22px;color:var(--ink-muted);max-width:520px}
.hero2-coord b{color:var(--ink)}
.hero2-coord .valeria-md{width:44px;height:44px;font-size:18px}
.hero2-art{position:relative;padding:24px 0}
.hero2-art:before{content:"";position:absolute;inset:0 -12% 0 12%;background:var(--sky-soft);border-radius:32px}
.mosaic{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:0 4%}
.m-col{display:flex;flex-direction:column;gap:14px}
.m-col2{transform:translateY(40px)}
.m-col3{transform:translateY(-20px)}
.m-tile{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;background:#EDE3D6;box-shadow:var(--shadow-soft)}
.m-tile picture,.m-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%;transition:transform .5s}
.m-tile:hover img{transform:scale(1.04)}
.m-name{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.94);color:#1C1828;font-family:var(--f-display);font-weight:600;font-size:13px;line-height:18px;padding:5px 10px;border-radius:var(--r-pill)}
.m-tile:hover .m-name{background:var(--violet-strong);color:#fff}
.float-card{position:absolute;display:flex;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--mist);border-radius:var(--r-md);box-shadow:0 12px 32px rgba(28,24,40,.14);padding:12px 16px}
.float-card p{display:flex;flex-direction:column;font-size:13px;line-height:18px;color:var(--ink-muted)}
.float-card b{font-family:var(--f-display);font-weight:600;font-size:15px;line-height:20px;color:var(--ink)}
.fc-team{left:-28px;bottom:6%}
.fc-time{right:-8px;top:2%}
.fc-time svg{width:22px;height:22px;padding:8px;box-sizing:content-box;border-radius:50%;background:var(--mint-soft);color:var(--mint-deep)}
.stack-av{display:flex}
.stack-av img{width:36px;height:36px;border-radius:50%;object-fit:cover;object-position:center 15%;border:2px solid var(--paper);margin-left:-10px;background:#EDE3D6}
.stack-av img:first-child{margin-left:0}
@media (max-width:1060px){.fc-team{left:0}.fc-time{right:0}}
@media (max-width:900px){
  .hero2{padding-block:36px 56px}
  .hero2-grid{grid-template-columns:1fr;gap:40px}
  .hero2-art{order:2;padding:20px 0}
  .hero2-art:before{inset:0 -16px}
  .m-col2{transform:translateY(24px)}.m-col3{transform:none}
  .mosaic{gap:10px;padding:0}.m-col{gap:10px}
  .m-name{font-size:11px;padding:3px 8px;left:6px;bottom:6px}
  .fc-team{position:relative;left:auto;bottom:auto;margin:40px auto 0;width:fit-content}
  .fc-time{display:none}
}
@media (max-width:480px){.hero2-ctas .btn-primary{width:100%}.hero2-ctas{flex-direction:column;align-items:stretch}.hero2-trust li{font-size:15px}}


[hidden]{display:none!important}
.bk-modal{color:var(--ink);font-size:17px;line-height:27px;text-align:left}
.site-footer .bk-modal a:not(.btn){color:var(--violet-strong);text-decoration:underline}
.site-footer .bk-modal .btn-secondary{color:var(--ink);text-decoration:none}
.site-footer .bk-modal .btn-secondary:hover{color:var(--violet-strong)}
.site-footer .bk-modal .btn-primary{color:var(--on-violet);text-decoration:none}
/* hero v3 refinements */
.hero2 .hero-title{font-size:48px;line-height:54px}
@media (max-width:640px){.hero2 .hero-title{font-size:34px;line-height:40px}}
@media (min-width:901px){.hero2-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}
.hero2-art:before{inset:6% -24px 6% 10%}
.m-col3{transform:translateY(16px)}
.m-col2{transform:translateY(48px)}
.fc-time{right:auto;left:-20px;top:10%}
.fc-team{left:auto;right:-12px;bottom:-4%}
@media (max-width:1060px){.fc-time{left:0}.fc-team{right:0}}
@media (max-width:900px){.hero2 .fc-team{right:auto}.m-col2{transform:translateY(24px)}.m-col3{transform:none}.hero2-art:before{inset:0 -16px}}
.hero2 .fc-time{display:none}
.hero2 .fc-team{right:auto;left:50%;transform:translateX(-50%);bottom:-58px;white-space:nowrap}
.hero2-art{margin-bottom:24px}
@media (max-width:900px){.hero2 .fc-team{left:auto;transform:none;bottom:auto}}
@media (max-width:900px){.hero2-grid{grid-template-columns:1fr}}


/* ===== Booking popup v3: tall sheet, sticky footer (modeled on Smiles + Grins) ===== */
html.bk-lock{overflow:hidden}
.bk-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px}
.bk-backdrop{position:absolute;inset:0;background:rgba(28,24,40,.5);backdrop-filter:blur(3px)}
.bk-sheet{position:relative;display:flex;flex-direction:column;width:min(520px,100%);height:min(860px,calc(100dvh - 48px));background:var(--cloud);border-radius:28px;box-shadow:0 24px 64px rgba(28,24,40,.3);overflow:hidden}
@media (prefers-reduced-motion:no-preference){.bk-backdrop{animation:bkfade .2s ease-out}.bk-sheet{animation:bkup .28s cubic-bezier(.2,.8,.2,1)}@keyframes bkfade{from{opacity:0}}@keyframes bkup{from{opacity:0;transform:translateY(24px)}}}
.bk-grab{display:none}
.bk-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:28px 28px 24px}
.bk-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}
.bk-chip{display:inline-flex;align-items:center;background:var(--night);color:#fff;border-radius:var(--r-pill);padding:9px 18px;font-family:var(--f-display);font-weight:500;font-size:15px;line-height:20px}
.bk-chip b{font-weight:700;color:var(--lavender);margin-right:6px}
.bk-x{flex:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--mist);background:var(--paper);color:var(--ink);font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center}
.bk-x:hover{border-color:var(--violet-strong);color:var(--violet-strong)}
.bk-scroll h2{font-family:var(--f-display);font-weight:600;font-size:32px;line-height:38px;letter-spacing:-.01em}
.bk-person{display:flex;align-items:center;gap:16px;margin-top:20px}
.bk-person p{font-family:var(--f-display);font-weight:600;font-size:18px;line-height:24px;color:var(--ink)}
.valeria-av{flex:none;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:var(--peach-soft);color:var(--peach-deep);font-family:var(--f-display);font-weight:600}
.valeria-av img{width:100%;height:100%;object-fit:cover}
.valeria-md{width:56px;height:56px;font-size:22px;border:3px solid var(--paper);box-shadow:var(--shadow-soft)}
.valeria-lg{width:96px;height:96px;font-size:36px;border:3px solid var(--paper);box-shadow:var(--shadow-soft)}
.valeria-ring{width:72px;height:72px;font-size:28px;border:3px solid var(--paper);box-shadow:0 0 0 3px var(--moon-gold)}
.bk-free{display:flex;align-items:center;gap:12px;margin-top:20px;background:var(--mint-soft);border:1px solid color-mix(in srgb,var(--mint-deep) 25%,transparent);border-radius:var(--r-md);padding:14px 16px;font-family:var(--f-display);font-weight:600;font-size:17px;color:var(--mint-deep)}
.bk-free .dot{width:18px;height:18px;border-radius:50%;background:var(--mint-deep);box-shadow:0 0 0 4px var(--mint);flex:none}
.bk-form{display:flex;flex-direction:column;gap:20px;margin-top:28px}
.bk-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 14px}
.bk-span{grid-column:1/-1}
.bk-form .field{gap:8px}
.bk-form label,.seg legend{font-family:var(--f-display);font-weight:600;font-size:16px;color:var(--ink)}
.bk-form input,.bk-form select{min-height:58px;border-radius:16px;border:1px solid var(--mist);background:var(--paper);font-size:17px;padding:12px 16px}
.bk-form input:focus,.bk-form select:focus{border-color:var(--violet-strong);box-shadow:0 0 0 4px var(--violet-soft)}
.opt{font-family:var(--f-body);font-weight:400;color:var(--ink-muted);font-size:13px;margin-left:6px}
.seg{border:0;margin:0;padding:0}
.seg legend{margin-bottom:12px;padding:0}
.seg-row{display:flex;flex-wrap:wrap;gap:10px}
.seg-opt{position:relative;cursor:pointer}
.seg-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.seg-opt span{display:inline-flex;align-items:center;min-height:52px;padding:0 22px;border-radius:var(--r-pill);border:1px solid var(--mist);background:var(--paper);font-family:var(--f-display);font-weight:500;font-size:16px;color:var(--ink);transition:background .15s,color .15s,border-color .15s}
.seg-opt:hover span{border-color:var(--violet-strong)}
.seg-opt input:checked + span{background:var(--violet-strong);border-color:var(--violet-strong);color:var(--on-violet)}
.seg-opt input:focus-visible + span{outline:3px solid var(--violet-strong);outline-offset:2px}
select{appearance:none;-webkit-appearance:none;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 1l5 5 5-5' fill='none' stroke='%237988A6' stroke-width='1.75' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;padding-right:44px!important}
select:invalid{color:var(--ink-muted)}
.err{display:flex;gap:6px;align-items:center;color:var(--danger);font-weight:700;font-size:14px;line-height:20px}
.err:before{content:"!";flex:none;width:16px;height:16px;border-radius:50%;border:1.75px solid currentColor;display:grid;place-items:center;font-size:11px;line-height:1}
input[aria-invalid="true"],select[aria-invalid="true"]{border-color:var(--danger)!important}
.bk-fail{background:var(--pink-soft);color:var(--ink);border-radius:var(--r-md);padding:12px 14px;font-size:14px}
.bk-foot{flex:none;background:var(--paper);border-top:1px solid var(--mist);padding:18px 28px calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:10px}
.bk-foot .bk-submit{width:100%;min-height:60px;font-size:18px;background:var(--night);color:#fff}
.bk-foot .bk-submit:hover{background:var(--violet-deep);color:#fff}
.bk-foot .bk-submit[disabled]{opacity:.7;cursor:progress}
.bk-eta{font-size:15px;color:var(--ink-muted)}
.bk-alt{width:100%;text-align:center;padding-top:10px;border-top:1.5px dashed var(--mist);font-family:var(--f-display);font-weight:600;font-size:16px;color:var(--violet-strong);text-decoration:none}
.bk-alt:hover{color:var(--violet-deep)}
.bk-done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.bk-done .bk-top{width:100%}
.bk-done .bk-person{text-align:left;background:var(--violet-soft);border-radius:var(--r-md);padding:14px 16px;width:100%}
.bk-check{width:72px;height:72px;border-radius:50%;background:var(--mint-soft);color:var(--mint-deep);display:grid;place-items:center;margin:12px auto 4px}
.bk-check svg{width:38px;height:38px}
.bk-coord{display:flex;gap:14px;align-items:center;background:var(--violet-soft);border-radius:var(--r-md);padding:14px 16px;margin:0 0 20px}
.bk-coord p{display:flex;flex-direction:column;font-size:15px;line-height:21px}
.bk-coord span{color:var(--ink-muted);font-size:13px}
.contact-form{margin-top:0}
.contact-form .bk-submit{width:100%;min-height:60px;font-size:18px}
.bk-fine{font-size:13px;line-height:19px;color:var(--ink-muted);text-align:center}
.contact-done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px;background:var(--mint-soft);border-radius:var(--r-lg)}
.site-footer .bk-modal{color:var(--ink);font-size:17px;line-height:27px;text-align:left}
.site-footer .bk-modal a:not(.btn){color:var(--violet-strong);text-decoration:underline}
.site-footer .bk-modal a.bk-alt{text-decoration:none}
@media (max-width:640px){
  .bk-modal{padding:0;place-items:end stretch}
  .bk-sheet{width:100%;height:auto;max-height:calc(100dvh - 72px);border-radius:28px 28px 0 0}
  .bk-grab{display:block;width:48px;height:5px;border-radius:5px;background:var(--mist);margin:10px auto 0;flex:none}
  .bk-scroll{padding:16px 20px 20px}
  .bk-scroll h2{font-size:28px;line-height:34px}
  .bk-grid{grid-template-columns:1fr}
  .bk-foot{padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px))}
  @media (prefers-reduced-motion:no-preference){.bk-sheet{animation:bksheet .3s cubic-bezier(.2,.8,.2,1)}@keyframes bksheet{from{transform:translateY(100%)}}}
}


/* ===== Before & after ===== */
.ba{margin:0}
.ba-frame{--pos:50%;position:relative;aspect-ratio:6/5;border-radius:var(--r-lg);overflow:hidden;background:var(--cloud);border:1px solid var(--mist);box-shadow:var(--shadow-soft);user-select:none;touch-action:pan-y}
.ba-ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink-muted);font-weight:700;font-size:14px}
.ba-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-before-wrap{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px rgba(28,24,40,.15);pointer-events:none}
.ba-knob{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:#fff;color:var(--violet-strong);display:grid;place-items:center;box-shadow:0 4px 16px rgba(28,24,40,.25)}
.ba-knob svg{width:22px;height:22px}
.ba-label{position:absolute;top:14px;padding:5px 12px;border-radius:var(--r-pill);background:rgba(28,24,40,.72);color:#fff;font-size:13px;font-weight:700;letter-spacing:.04em;pointer-events:none}
.ba-l-before{left:14px}.ba-l-after{right:14px;background:var(--violet-strong)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.ba-range:focus-visible + *{outline:none}
.ba-frame:has(.ba-range:focus-visible){outline:3px solid var(--violet-strong);outline-offset:3px}
.ba-cap{display:flex;flex-direction:column;gap:6px;margin-top:16px}
.ba-cap h3{font-size:20px;line-height:26px}
.ba-cap .row{gap:8px}
.ba-cap .muted{font-size:14px}

.results{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.results .checks{margin-top:20px}
.results .row{margin-top:28px}
@media (max-width:900px){.results{grid-template-columns:1fr;gap:32px}}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
@media (max-width:760px){.gallery-grid{grid-template-columns:1fr}}
.consent-note{font-size:14px;line-height:20px;color:var(--ink-muted);margin-top:32px}
.results .ba{max-width:560px}
/* mosaic v2: 2-3-2 staggered */
.mosaic{align-items:center}
.m-col1,.m-col2,.m-col3{transform:none!important}
@media (min-width:901px){.hero2-art{padding:40px 0}}
/* ===== Booking popup: clean ===== */
.bk-clean .bk-sheet{background:var(--paper);height:auto;max-height:min(820px,calc(100dvh - 48px));width:min(480px,100%)}
.bk-clean .bk-x{position:absolute;top:16px;right:16px;z-index:2;width:40px;height:40px;font-size:22px;border-color:transparent;background:var(--cloud)}
.bk-clean .bk-scroll{padding:32px 32px 8px}
.bk-clean .bk-scroll h2{font-size:26px;line-height:32px;padding-right:48px}
.bk-clean .bk-person{margin-top:10px;gap:10px}
.bk-clean .bk-person p{font-family:var(--f-body);font-weight:400;font-size:15px;line-height:21px;color:var(--ink-muted)}
.valeria-sm{width:32px;height:32px;font-size:14px}
.bk-clean .bk-form{margin-top:24px;gap:16px}
.bk-clean .bk-grid{gap:16px 12px}
.bk-clean .bk-form label{font-family:var(--f-body);font-weight:700;font-size:14px}
.bk-clean .bk-form input,.bk-clean .bk-form select{min-height:50px;border-radius:12px;border-color:var(--mist);font-size:16px}
.bk-clean .bk-foot{border-top:0;padding:16px 32px calc(24px + env(safe-area-inset-bottom,0px));gap:8px}
.bk-clean .bk-foot .bk-submit{min-height:54px;font-size:17px;background:var(--violet-strong)}
.bk-clean .bk-foot .bk-submit:hover{background:var(--violet-deep)}
.bk-clean .bk-eta{font-size:13px}
.bk-clean .bk-done{padding:40px 0 8px;gap:6px}
.bk-clean .bk-check{width:56px;height:56px;margin:0 auto 8px}
.bk-clean .bk-check svg{width:30px;height:30px}
@media (max-width:640px){.bk-clean .bk-sheet{max-height:calc(100dvh - 64px);width:100%}.bk-clean .bk-scroll{padding:20px 20px 8px}.bk-clean .bk-x{top:18px;right:14px}.bk-clean .bk-foot{padding:12px 20px calc(16px + env(safe-area-inset-bottom,0px))}}

/* ===== Hero v4: impressive panel ===== */
.hero3{padding:16px 16px 0}
.hero3-panel{background:var(--sky-soft);border-radius:40px;padding-block:72px 80px;overflow:hidden;position:relative}
.hero3-panel:before{content:"";position:absolute;width:520px;height:520px;right:-140px;top:-160px;border-radius:50%;background:var(--violet-soft);opacity:.7}
.hero3-panel:after{content:"";position:absolute;width:120px;height:120px;left:46%;bottom:-40px;border-radius:50%;background:var(--moon-gold);opacity:.35}
.hero3-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.hero3 .hero-title{font-size:58px;line-height:64px;letter-spacing:-.02em;margin-top:22px}
.hero3 .lead{margin-top:22px;max-width:540px;font-size:20px;line-height:31px}
.hero3 .hero2-ctas{margin-top:34px}
.hero3-proof{display:flex;align-items:center;gap:14px;margin-top:36px}
.hero3-proof .stack-av img{width:44px;height:44px;border:3px solid var(--sky-soft)}
.hero3-proof p{display:flex;flex-direction:column;font-size:14px;line-height:20px;color:var(--ink-muted)}
.hero3-proof b{font-family:var(--f-display);font-weight:600;font-size:16px;color:var(--ink)}
.hero3-art{position:relative}
.hero3 .mosaic{grid-template-columns:repeat(3,1fr);gap:16px;padding:0;align-items:center}
.hero3 .m-col{gap:16px}
.hero3 .m-tile{box-shadow:0 14px 36px rgba(28,24,40,.14)}
.glass{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border-radius:18px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.9);box-shadow:0 16px 40px rgba(28,24,40,.16)}
.glass p{display:flex;flex-direction:column;font-size:13px;line-height:18px;color:#5A5568}
.glass b{font-family:var(--f-display);font-weight:600;font-size:16px;line-height:20px;color:#1C1828}
.gi{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--fs);color:var(--fd);flex:none}
.gi svg{width:22px;height:22px}
.glass.g1{left:-36px;top:14%}
.glass.g2{right:-20px;bottom:16%}
.glass.g3{left:-24px;bottom:4%}
@media (prefers-reduced-motion:no-preference){
  .hero3-copy > *{animation:rise .7s cubic-bezier(.2,.8,.2,1) both}
  .hero3-copy > :nth-child(2){animation-delay:.06s}.hero3-copy > :nth-child(3){animation-delay:.12s}.hero3-copy > :nth-child(4){animation-delay:.18s}.hero3-copy > :nth-child(5){animation-delay:.24s}
  .hero3 .m-tile{animation:rise .8s cubic-bezier(.2,.8,.2,1) both}
  .hero3 .m-col1 .m-tile{animation-delay:.15s}.hero3 .m-col2 .m-tile{animation-delay:.05s}.hero3 .m-col3 .m-tile{animation-delay:.25s}
  .glass{animation:rise .8s .45s cubic-bezier(.2,.8,.2,1) both, bob 6s 1.3s ease-in-out infinite}
  .glass.g2{animation-delay:.55s,1.8s}.glass.g3{animation-delay:.65s,2.3s}
  @keyframes rise{from{opacity:0;transform:translateY(18px)}}
  @keyframes bob{50%{transform:translateY(-6px)}}
}
.hero3-sites{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;padding-block:28px 8px}
.hero3-sites .label{color:var(--ink-muted)}
.hero3-sites a{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-size:15px}
.hero3-sites a svg{width:18px;height:18px;color:var(--violet-strong)}
.hero3-sites a span{color:var(--ink-muted)}
.hero3-sites a:hover b{color:var(--violet-strong)}
@media (max-width:1180px){.hero3 .hero-title{font-size:48px;line-height:54px}.glass.g1{left:-12px}.glass.g3{left:-8px}.glass.g2{right:-8px}}
@media (max-width:900px){
  .hero3{padding:8px 8px 0}.hero3-panel{border-radius:28px;padding-block:36px 40px}
  .hero3-grid{grid-template-columns:1fr;gap:36px}
  .hero3 .hero-title{font-size:36px;line-height:42px}
  .hero3 .lead{font-size:18px;line-height:28px}
  .hero3 .mosaic{gap:10px}.hero3 .m-col{gap:10px}
  .glass{padding:8px 12px 8px 8px;border-radius:14px}.gi{width:32px;height:32px;border-radius:10px}.gi svg{width:18px;height:18px}.glass b{font-size:14px}.glass p{font-size:11px;line-height:14px}
  .glass.g1{left:-4px;top:6%}.glass.g2{right:-4px;bottom:20%}.glass.g3{display:none}
  .hero3-sites{gap:10px 20px}.hero3-sites a{font-size:14px}
}
@media (max-width:480px){.hero3 .hero2-ctas .btn-primary{width:100%}.hero3 .hero2-ctas{flex-direction:column;align-items:stretch}}

/* ===== Popup: comfortable density ===== */
.bk-clean .bk-sheet{width:min(600px,100%)}
.bk-clean .bk-scroll{padding:28px 32px 4px}
.bk-clean .bk-scroll h2{font-size:22px;line-height:28px}
.bk-clean .bk-person{margin-top:6px}
.bk-clean .bk-person p{font-size:14px}
.bk-clean .bk-form{margin-top:20px;gap:14px}
.bk-clean .bk-grid{gap:14px 14px}
.bk-clean .bk-form .field{gap:6px}
.bk-clean .bk-form label{font-size:13px;font-weight:700;color:var(--ink-muted)}
.bk-clean .bk-form input,.bk-clean .bk-form select{min-height:44px;padding:9px 14px;border-radius:10px;font-size:16px;border-color:#E3DEEC}
.bk-clean .bk-foot{padding:14px 32px calc(22px + env(safe-area-inset-bottom,0px))}
.bk-clean .bk-foot .bk-submit{min-height:48px;font-size:16px}
.bk-clean .err{font-size:13px}
@media (max-width:640px){
  .bk-clean .bk-scroll{padding:18px 18px 4px}
  .bk-clean .bk-scroll h2{font-size:20px;line-height:26px}
  .bk-clean .bk-grid{grid-template-columns:1fr 1fr;gap:12px 10px}
  .bk-clean .bk-form input,.bk-clean .bk-form select{min-height:42px;padding:8px 12px}
  .bk-clean .bk-foot{padding:10px 18px calc(14px + env(safe-area-inset-bottom,0px))}
}
@media (min-width:901px){.hero3-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}}
.hero3 .hero-title{font-size:54px;line-height:60px}
@media (max-width:1180px){.hero3 .hero-title{font-size:46px;line-height:52px}}
@media (max-width:900px){.hero3 .hero-title{font-size:36px;line-height:42px}.hero3-panel:before,.hero3-panel:after{display:none}}
.stack-av{flex:none}
@media (max-width:640px){.bk-clean .bk-grid{grid-template-columns:1fr;gap:12px}}
.hero3-panel:after{display:none}
.g1{top:20px}
@media (max-width:900px){.g1{top:-14px}}
.hero3 .m-name{max-width:calc(100% - 16px);font-size:12px;line-height:16px}
.bk-clean .valeria-sm{width:44px;height:44px;box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--moon-gold)}.bk-clean .bk-person{margin-top:10px;gap:14px}
.hero3-assure{list-style:none;padding:0;margin:32px 0 0;display:flex;flex-wrap:wrap;gap:10px 22px}
.hero3-assure li{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;line-height:20px;color:var(--ink)}
.hero3-assure svg{width:18px;height:18px;flex:none;color:var(--violet-strong)}
@media (max-width:640px){.hero3-assure{flex-direction:column;gap:10px}}
/* blog author photo */
.avatar{overflow:hidden;padding:0}
.avatar picture,.avatar img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 15%}
.by-name{font-weight:700;color:var(--ink);text-decoration:none}
.by-name:hover{color:var(--violet-strong)}
.featured .by-name{pointer-events:none}

/* ===== Hero v5 ===== */
.hero3-panel{padding-block:64px 32px;background:linear-gradient(180deg,var(--sky-soft) 0%,color-mix(in srgb,var(--sky-soft) 70%,var(--violet-soft)) 100%)}
.hero3-panel:before{width:640px;height:640px;right:-200px;top:-260px;background:radial-gradient(circle,var(--violet-soft) 0%,transparent 70%);opacity:1}
.hero3 .mosaic{gap:14px}
.hero3 .m-col{gap:14px}
.hero3 .m-tile{border-radius:22px;box-shadow:0 10px 30px rgba(28,24,40,.12);outline:4px solid rgba(255,255,255,.7);outline-offset:-4px}
.hero-stats{position:relative;z-index:1;margin-top:56px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--paper);border-radius:24px;box-shadow:0 12px 36px rgba(28,24,40,.08);padding:8px}
.hero-stats > div{display:flex;align-items:center;gap:14px;padding:18px 20px}
.hero-stats > div + div{border-left:1px solid var(--mist)}
.hero-stats p{display:flex;flex-direction:column;font-size:14px;line-height:19px;color:var(--ink-muted)}
.hero-stats b{font-family:var(--f-display);font-weight:600;font-size:20px;line-height:26px;color:var(--ink)}
.hero-stats .gi{width:44px;height:44px;border-radius:14px}
@media (max-width:1000px){.hero-stats{grid-template-columns:1fr 1fr}.hero-stats > div:nth-child(3){border-left:0}.hero-stats > div:nth-child(n+3){border-top:1px solid var(--mist)}}
@media (max-width:520px){.hero-stats{grid-template-columns:1fr;margin-top:36px}.hero-stats > div + div{border-left:0;border-top:1px solid var(--mist)}.hero-stats > div{padding:14px 16px}}

/* locations strip */
.hero-locs{padding-block:40px 8px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:center}
.hl-head p{color:var(--ink-muted);font-size:15px;line-height:22px;margin-top:8px}
.hl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hl-card{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--mist);border-radius:18px;background:var(--paper);text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s,transform .2s}
.hl-card:hover{border-color:var(--violet-strong);box-shadow:var(--shadow-soft);transform:translateY(-2px)}
.hl-pin{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--violet-soft);color:var(--violet-strong);flex:none}
.hl-pin svg{width:22px;height:22px}
.hl-txt{display:flex;flex-direction:column;min-width:0}
.hl-txt b{font-family:var(--f-display);font-weight:600;font-size:17px;line-height:22px}
.hl-txt span{font-size:14px;line-height:20px;color:var(--ink-muted)}
.hl-arrow{margin-left:auto;color:var(--violet-strong);font-weight:700;opacity:.5;transition:opacity .2s,transform .2s}
.hl-card:hover .hl-arrow{opacity:1;transform:translateX(3px)}
@media (max-width:1000px){.hero-locs{grid-template-columns:1fr;gap:16px}}
@media (max-width:760px){.hl-grid{grid-template-columns:1fr}}
.hero-locs{grid-template-columns:1fr;gap:20px;padding-block:48px 8px}
.hl-head{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.hl-head p{margin-top:0}
.hl-txt b{white-space:nowrap}
.hl-txt span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero3 .m-name{left:8px;bottom:8px;padding:4px 9px}
.hl-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1180px){.hl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.hl-grid{grid-template-columns:1fr}}
.grid.g3.locs4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.grid.g3.locs4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grid.g3.locs4{grid-template-columns:1fr}}
.hl-card{padding:16px;gap:12px}
.hl-txt b{white-space:normal;font-size:16px}
.hl-txt span{white-space:normal}
.hl-arrow{display:none}
.hl-pin{width:40px;height:40px}

/* ===== CTAs: black ===== */
:root{--cta:#1C1828;--cta-hover:#000;--on-cta:#fff}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--cta:#fff;--cta-hover:#E6E1EE;--on-cta:#1C1828}}
:root[data-theme="dark"]{--cta:#fff;--cta-hover:#E6E1EE;--on-cta:#1C1828}
.btn-primary,.btn-sun,.bk-foot .bk-submit,.bk-clean .bk-foot .bk-submit,.contact-form .bk-submit{background:var(--cta)!important;color:var(--on-cta)!important;border-color:var(--cta)!important}
.btn-primary:hover,.btn-sun:hover,.bk-foot .bk-submit:hover,.bk-clean .bk-foot .bk-submit:hover,.contact-form .bk-submit:hover{background:var(--cta-hover)!important;color:var(--on-cta)!important}
.btn-light{background:#fff!important;color:#1C1828!important}
.site-footer .bk-modal .btn-primary{color:var(--on-cta)}

/* ===== Hero: doctors orbit around Dr. Grinbaum ===== */
.lo{--size:540px;--r:calc(var(--size) / 2 - 56px);position:relative;width:var(--size);max-width:100%;aspect-ratio:1;margin-inline:auto}
.lo-track{position:absolute;inset:56px;border-radius:50%;border:2px dashed color-mix(in srgb,var(--violet-strong) 35%,transparent)}
.lo-track:before{content:"";position:absolute;inset:22%;border-radius:50%;background:radial-gradient(circle,var(--violet-soft) 0%,transparent 70%)}
.lo-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;z-index:2}
.lo-cimg{display:block;width:190px;height:190px;border-radius:50%;overflow:hidden;background:#EDE3D6;border:6px solid var(--violet-strong);box-shadow:0 0 0 6px var(--paper),0 18px 44px rgba(138,45,208,.28)}
.lo-cimg picture,.lo-cimg img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 18%}
.lo-cname{display:flex;flex-direction:column;align-items:center;background:var(--paper);border-radius:var(--r-pill);padding:6px 16px;box-shadow:var(--shadow-soft);text-align:center}
.lo-cname b{font-family:var(--f-display);font-weight:600;font-size:16px;line-height:20px;color:var(--ink)}
.lo-cname span{font-size:12px;line-height:16px;color:var(--ink-muted)}
.lo-center:hover .lo-cname b{color:var(--violet-strong)}
.lo-ring{position:absolute;inset:0;animation:lo-spin 80s linear infinite}
.lo:hover .lo-ring,.lo:hover .lo-av,.lo:focus-within .lo-ring,.lo:focus-within .lo-av{animation-play-state:paused}
.lo-item{position:absolute;left:50%;top:50%;width:104px;height:104px;margin:-52px 0 0 -52px;transform:rotate(var(--a)) translateX(var(--r)) rotate(calc(-1 * var(--a)));text-decoration:none;border-radius:50%}
.lo-av{position:relative;display:block;width:100%;height:100%;animation:lo-spin 80s linear infinite reverse}
.lo-av picture,.lo-av img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 15%;background:#EDE3D6;border:4px solid var(--paper);box-shadow:0 10px 26px rgba(28,24,40,.16);box-sizing:border-box}
.lo-name{position:absolute;left:50%;top:calc(100% + 4px);transform:translateX(-50%);white-space:nowrap;background:var(--paper);color:var(--ink);font-family:var(--f-display);font-weight:600;font-size:12px;line-height:16px;padding:3px 10px;border-radius:var(--r-pill);box-shadow:var(--shadow-soft)}
.lo-item:hover .lo-av img{border-color:var(--violet-strong)}
.lo-item:hover .lo-name{background:var(--ink);color:var(--paper)}
@keyframes lo-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.lo-ring,.lo-av{animation:none}}
@media (max-width:1180px){.lo{--size:470px}.lo-item{width:88px;height:88px;margin:-44px 0 0 -44px}.lo-cimg{width:160px;height:160px}}
@media (max-width:900px){.lo{--size:min(360px, calc(100vw - 64px));--r:calc(var(--size) / 2 - 40px)}.lo-track{inset:40px}.lo-item{width:64px;height:64px;margin:-32px 0 0 -32px}.lo-name{font-size:10px;padding:2px 7px}.lo-cimg{width:118px;height:118px;border-width:4px}.lo-cname b{font-size:14px}.lo-cname span{display:none}.hero3-art{padding-block:16px 24px}}
.lo-ring{z-index:3;pointer-events:none}.lo-item{pointer-events:auto}
@media (max-width:900px){.lo-cimg{width:100px;height:100px}.lo-center{gap:6px}.lo-cname{padding:3px 10px}.lo-cname b{font-size:12px;line-height:16px}}
/* ===== Orbit v2: animated OR scene in the middle ===== */
.lo-core{position:absolute;left:50%;top:50%;width:210px;height:210px;transform:translate(-50%,-50%);z-index:2}
.lo-scene{display:block;width:100%;height:100%;border-radius:50%;box-shadow:0 0 0 6px var(--paper),0 22px 50px rgba(28,24,40,.16)}
.lo-pulse{position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--violet-strong);opacity:0}
.lo-caption{position:absolute;left:50%;top:calc(100% + 14px);transform:translateX(-50%);white-space:nowrap;background:var(--ink);color:var(--paper);font-family:var(--f-display);font-weight:600;font-size:12px;line-height:16px;padding:5px 12px;border-radius:var(--r-pill)}
.lo-lead .lo-av img{border:4px solid var(--violet-strong)!important;box-shadow:0 0 0 3px var(--paper),0 12px 30px rgba(138,45,208,.3)!important}
.lo-lead .lo-name{background:var(--violet-strong);color:#fff}
.lo-fill{opacity:0}
@media (prefers-reduced-motion:no-preference){
  .lo-pulse{animation:lo-pulse 3.2s ease-out infinite}
  @keyframes lo-pulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.28);opacity:0}}
  .lo-draw{stroke-dasharray:100;animation:lo-draw 8s ease-in-out infinite}
  @keyframes lo-draw{0%{stroke-dashoffset:100}25%,100%{stroke-dashoffset:0}}
  .lo-cavity{animation:lo-cav 8s ease-in-out infinite}
  @keyframes lo-cav{0%,35%{opacity:1}50%,100%{opacity:0}}
  .lo-fill{animation:lo-fill 8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
  @keyframes lo-fill{0%,38%{opacity:0;transform:scale(.4)}52%,92%{opacity:1;transform:scale(1)}100%{opacity:0}}
  .lo-spark{animation:lo-spark 8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
  @keyframes lo-spark{0%,52%{opacity:0;transform:scale(.3) rotate(0)}62%,88%{opacity:1;transform:scale(1) rotate(20deg)}100%{opacity:0}}
  .lo-ecg{stroke-dasharray:28 72;animation:lo-ecg 2.6s linear infinite}
  @keyframes lo-ecg{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
  .lo-dot{animation:lo-blink 1.3s steps(2,end) infinite}
  @keyframes lo-blink{50%{opacity:.15}}
  .lo-glow,.lo-beam{animation:lo-breathe 5s ease-in-out infinite}
  @keyframes lo-breathe{50%{opacity:.55}}
  .lo-z{animation:lo-z 4s ease-in-out infinite;transform-box:fill-box}
  .lo-z.z2{animation-delay:.5s}.lo-z.z3{animation-delay:1s}
  @keyframes lo-z{0%,100%{opacity:0;transform:translateY(4px)}40%,70%{opacity:1;transform:translateY(-3px)}}
}
@media (prefers-reduced-motion:reduce){.lo-cavity{opacity:0}.lo-fill{opacity:1}}
@media (max-width:1180px){.lo-core{width:180px;height:180px}}
@media (max-width:900px){.lo-core{width:120px;height:120px}.lo-scene{box-shadow:0 0 0 4px var(--paper),0 12px 30px rgba(28,24,40,.14)}.lo-caption{font-size:10px;padding:3px 9px;top:calc(100% + 8px)}.lo-lead .lo-av img{border-width:3px!important}}
@media (max-width:900px){.lo-caption{display:none}}
/* ===== Service showcase ===== */
.showcase{padding-block:72px 16px}
.sc-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center}
.sc-copy h2{margin-top:12px;font-size:36px;line-height:42px}
.sc-copy .lead{margin-top:16px}
.sc-facts{list-style:none;padding:0;margin:32px 0 0;display:flex;flex-direction:column;gap:12px}
.sc-facts li{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--mist);border-radius:16px;background:var(--paper);transition:transform .25s,box-shadow .25s,border-color .25s}
.sc-facts li:hover{transform:translateX(6px);box-shadow:var(--shadow-soft);border-color:var(--violet-strong)}
.sc-facts p{display:flex;flex-direction:column;font-size:14px;line-height:20px;color:var(--ink-muted)}
.sc-facts b{font-family:var(--f-display);font-weight:600;font-size:17px;color:var(--ink)}
.sc-facts .gi{width:44px;height:44px;border-radius:14px}
.sc-media{position:relative;margin:0;border-radius:32px;overflow:hidden;aspect-ratio:1;background:#F6EFE9;box-shadow:0 24px 60px rgba(28,24,40,.16);cursor:zoom-in;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.sc-zoom,.sc-zoom picture,.sc-zoom img{display:block;width:100%;height:100%}
.sc-zoom img{object-fit:cover;transform-origin:13.5% 54%;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.sc-media:hover,.sc-media:focus-visible{transform:translateY(-6px) rotate(-1deg);box-shadow:0 32px 70px rgba(28,24,40,.22)}
.sc-media:hover .sc-zoom img,.sc-media:focus-visible .sc-zoom img{transform:scale(1.6)}
.sc-hot{position:absolute;left:13.5%;top:54%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;pointer-events:none;transition:left .9s cubic-bezier(.2,.8,.2,1),top .9s cubic-bezier(.2,.8,.2,1)}
.sc-dot{width:18px;height:18px;border-radius:50%;background:var(--violet-strong);box-shadow:0 0 0 4px #fff}
.sc-tag{position:absolute;left:28px;white-space:nowrap;background:var(--ink);color:#fff;font-family:var(--f-display);font-weight:600;font-size:14px;padding:6px 14px;border-radius:999px;opacity:0;transform:translateX(-6px);transition:opacity .4s .3s,transform .4s .3s}
.sc-media:hover .sc-tag,.sc-media:focus-visible .sc-tag{opacity:1;transform:none}

.sc-media figcaption{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:rgba(255,255,255,.92);color:#1C1828;font-size:13px;font-weight:700;padding:6px 14px;border-radius:999px;transition:opacity .3s}
.sc-media:hover figcaption{opacity:0}
@media (prefers-reduced-motion:no-preference){.sc-dot{animation:scpulse 2s ease-out infinite}@keyframes scpulse{0%{box-shadow:0 0 0 4px #fff,0 0 0 4px rgba(138,45,208,.5)}100%{box-shadow:0 0 0 4px #fff,0 0 0 22px rgba(138,45,208,0)}}}
@media (prefers-reduced-motion:reduce){.sc-media,.sc-zoom img,.sc-facts li{transition:none}.sc-media:hover .sc-zoom img{transform:none}}
@media (max-width:900px){.showcase{padding-block:40px 0}.sc-grid{grid-template-columns:1fr;gap:32px}.sc-media{order:-1;border-radius:24px}.sc-copy h2{font-size:28px;line-height:34px}.sc-media figcaption{content:"";}}
@media (prefers-reduced-motion:no-preference){
  .lo-ecg{stroke-dasharray:34 66;animation:lo-ecg 1.6s linear infinite}
  .lo-beam{animation:lo-beam 4s ease-in-out infinite}
  @keyframes lo-beam{50%{opacity:.6}}
  .lo-bulb{animation:lo-bulb 4s ease-in-out infinite}
  @keyframes lo-bulb{50%{fill:#FFE6A3}}
  .lo-breathe{animation:lo-breathe2 3.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center bottom}
  @keyframes lo-breathe2{50%{transform:scaleY(1.04)}}
  .lo-bpm{animation:lo-blink 1.6s steps(2,end) infinite}
}
.sc-media{--hx:50%;--hy:50%}
.sc-zoom img{transform-origin:var(--hx) var(--hy)!important}
.sc-hot{left:var(--hx)!important;top:var(--hy)!important}
/* ===== Homepage treatments with photo cards ===== */
.tx-feature{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tx-card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--mist);border-radius:24px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.tx-card:hover,.tx-card:focus-visible{transform:translateY(-6px);box-shadow:0 26px 60px rgba(28,24,40,.16)}
.tx-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#F6EFE9}
.tx-media picture,.tx-media img{display:block;width:100%;height:100%}
.tx-media img{object-fit:cover;object-position:var(--hx) var(--hy);transform-origin:var(--hx) var(--hy);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.tx-card:hover .tx-media img,.tx-card:focus-visible .tx-media img{transform:scale(1.55)}
.tx-media .sc-hot{left:var(--hx);top:var(--hy)}
.tx-card:hover .sc-tag,.tx-card:focus-visible .sc-tag{opacity:1;transform:none}
.tx-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.tx-body h3{font-size:21px;line-height:27px}
.tx-body p{color:var(--ink-muted);font-size:16px;line-height:24px}
.tx-body .more{margin-top:auto;padding-top:6px;font-family:var(--f-display);font-weight:600;color:var(--violet-strong)}
.tx-more{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
.tx-chip{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--mist);border-radius:16px;background:var(--paper);text-decoration:none;color:var(--ink);transition:transform .25s,border-color .25s,box-shadow .25s}
.tx-chip:hover{transform:translateY(-3px);border-color:var(--violet-strong);box-shadow:var(--shadow-soft)}
.tx-chip b{font-family:var(--f-display);font-weight:600;font-size:15px;line-height:20px}
.tx-chip .gi{width:40px;height:40px;border-radius:12px}
.tx-arr{margin-left:auto;color:var(--violet-strong);transition:transform .25s}
.tx-chip:hover .tx-arr{transform:translateX(3px)}
@media (max-width:1000px){.tx-feature{grid-template-columns:1fr 1fr}.tx-more{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.tx-feature,.tx-more{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.tx-card,.tx-media img{transition:none}.tx-card:hover .tx-media img{transform:none}}
.tx-media{aspect-ratio:5/4}
.tx-media img{object-position:50% 50%}
/* ===== Doctor pages: OR backdrop ===== */
.doc-stage{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--paper) 0%,var(--cloud) 100%)}
.doc-stage > .wrap{position:relative;z-index:1}
.doc-bg{position:absolute;right:-8%;top:50%;width:min(900px,80vw);aspect-ratio:1;transform:translateY(-50%);opacity:.13;pointer-events:none;z-index:0}
.doc-bg .db-scene{width:100%;height:100%;box-shadow:none!important;border-radius:50%}
.doc-stage:after{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 20% 40%,var(--paper) 0%,transparent 70%);z-index:0;pointer-events:none}
.doc-stage .doctor .prose{background:color-mix(in srgb,var(--paper) 72%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid var(--mist);border-radius:28px;padding:32px 36px;box-shadow:0 18px 48px rgba(28,24,40,.06)}
.doc-stage .doctor .portrait{box-shadow:0 24px 60px rgba(28,24,40,.16);outline:6px solid var(--paper)}
@media (max-width:760px){.doc-bg{right:-40%;top:22%;width:150vw;opacity:.09}.doc-stage .doctor .prose{padding:22px 20px;border-radius:20px}}
/* OR backdrop v2: visible, sticky, colored stage */
.doc-stage{background:linear-gradient(160deg,var(--sky-soft) 0%,var(--violet-soft) 100%)}
.doc-stage:after{display:none}
.doc-bg{position:sticky;top:96px;height:0;width:auto;aspect-ratio:auto;right:auto;transform:none;opacity:1;z-index:0;display:block}
.doc-bg .db-scene{position:absolute;right:-6vw;top:0;width:min(760px,62vw);height:auto;aspect-ratio:1;opacity:.28;filter:saturate(1.1)}
.doc-stage .doctor .prose{background:rgba(255,255,255,.62);border-color:rgba(255,255,255,.8);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}
.doc-stage .doctor{border-top-color:rgba(28,24,40,.08)}
.doc-stage .doctor h2,.doc-stage .creds{text-shadow:0 1px 0 rgba(255,255,255,.6)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .doc-stage .doctor .prose{background:rgba(20,17,27,.6);border-color:rgba(255,255,255,.08)}}
:root[data-theme="dark"] .doc-stage .doctor .prose{background:rgba(20,17,27,.6);border-color:rgba(255,255,255,.08)}
@media (max-width:760px){.doc-bg .db-scene{right:-30vw;width:120vw;opacity:.2}}
/* ===== Treatment image hero ===== */
.img-hero{position:relative;overflow:hidden;background:var(--paper);min-height:min(640px,78vh);display:flex;align-items:center;border-bottom:1px solid var(--mist)}
.ih-img{position:absolute;top:0;bottom:0;right:0;width:68%}
.ih-img picture,.ih-img img{display:block;width:100%;height:100%}
.ih-img img{object-fit:cover;object-position:var(--pos)}
.ih-img:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,color-mix(in srgb,var(--paper) 88%,transparent) 22%,color-mix(in srgb,var(--paper) 35%,transparent) 50%,transparent 75%),linear-gradient(0deg,var(--paper) 0%,transparent 18%)}
@media (prefers-reduced-motion:no-preference){.ih-img img{animation:ih-zoom 18s ease-out both}@keyframes ih-zoom{from{transform:scale(1.12)}to{transform:scale(1)}}}
.ih-copy{position:relative;z-index:1;width:100%;padding-block:56px 72px}
.ih-copy .crumbs{margin-bottom:36px}
.ih-eyebrow{display:flex;align-items:center;gap:16px;font-weight:700;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-muted)}
.ih-eyebrow span{width:30px;height:1px;background:var(--slate)}
.img-hero h1{margin-top:22px;max-width:640px;font-size:60px;line-height:64px;letter-spacing:-.02em}
.ih-accent{color:var(--violet-strong);font-style:italic;font-weight:500}
.img-hero .lead{margin-top:22px;max-width:520px;color:var(--ink)}
@media (max-width:900px){.img-hero{flex-direction:column;align-items:stretch;min-height:0}.ih-img{position:relative;width:100%;height:300px}.ih-img:after{background:linear-gradient(0deg,var(--paper) 0%,transparent 45%)}.ih-copy{padding-block:0 44px;margin-top:-40px}.ih-copy .crumbs{margin-bottom:20px}.img-hero h1{font-size:36px;line-height:42px}}
.ih-flip picture{transform:scaleX(-1)}
/* image hero: fix edge strip — clip zoom + fade with mask instead of overlay */
.ih-img{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 18%,#000 48%),linear-gradient(0deg,transparent 0%,#000 22%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.35) 18%,#000 48%),linear-gradient(0deg,transparent 0%,#000 22%);mask-composite:intersect}
.ih-img:after{display:none}
@media (max-width:900px){.ih-img{-webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 45%);mask-image:linear-gradient(0deg,transparent 0%,#000 45%)}}
.sc-text .sc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.sc-text .sc-facts{margin:0}
@media (max-width:900px){.sc-text .sc-grid{grid-template-columns:1fr;gap:24px}}
.tx-feature{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.tx-body{padding:20px 20px 22px}
.tx-body h3{font-size:19px;line-height:25px}
@media (max-width:1100px){.tx-feature{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.tx-feature{grid-template-columns:1fr}}

/* ===== Treatment info component ===== */
.info-sec{background:linear-gradient(180deg,var(--cloud) 0%,var(--paper) 100%)}
.ig-head{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.ig-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ig-card{position:relative;overflow:hidden;background:var(--paper);border:1px solid var(--mist);border-radius:20px;padding:22px 22px 20px;display:flex;flex-direction:column;gap:4px;transition:transform .3s,box-shadow .3s}
.ig-card:before{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:var(--fs);transition:transform .5s}
.ig-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.ig-card:hover:before{transform:scale(1.4)}
.ig-card > *{position:relative}
.ig-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fd)}
.ig-card b{font-family:var(--f-display);font-weight:600;font-size:24px;line-height:30px;color:var(--ink);margin-top:6px}
.ig-note{font-size:14px;line-height:20px;color:var(--ink-muted)}
.info-split{display:grid;grid-template-columns:1fr;gap:40px;margin-top:64px}
.info-split.has-cmp{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}
.steps-v h2{margin:10px 0 24px}
.steps-v ol{list-style:none;margin:0;padding:0;position:relative}
.steps-v ol:before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:2px;background:linear-gradient(180deg,var(--violet-strong),var(--tooth-blue))}
.steps-v li{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;padding-bottom:26px}
.steps-v li:last-child{padding-bottom:0}
.st-num{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:2px solid var(--violet-strong);font-family:var(--f-display);font-weight:600;font-size:15px;color:var(--violet-strong);z-index:1;transition:background .25s,color .25s}
.steps-v li:hover .st-num{background:var(--violet-strong);color:#fff}
.steps-v h3{font-size:19px;line-height:25px;margin-top:10px}
.steps-v p{color:var(--ink-muted);margin-top:4px;max-width:520px}
@media (prefers-reduced-motion:no-preference){.steps-v li{animation:stepin .6s both;animation-delay:calc(var(--i) * .12s)}@keyframes stepin{from{opacity:0;transform:translateX(-10px)}}}
.cmp{background:var(--paper);border:1px solid var(--mist);border-radius:24px;padding:24px;box-shadow:var(--shadow-soft);position:sticky;top:110px}
.cmp h3{font-size:20px;margin-bottom:16px}
.cmp .table-wrap{border:0}
.cmp th[scope=row]{font-family:var(--f-body);font-weight:700;font-size:14px;color:var(--ink-muted);background:transparent}
.cmp thead th{background:transparent;font-size:15px}
.cmp .cmp-a{color:var(--violet-strong)}
.cmp td:nth-child(2){font-weight:700;background:var(--violet-soft)}
.cmp tbody tr:last-child td:nth-child(2){border-radius:0 0 12px 12px}
@media (max-width:1000px){.ig-grid{grid-template-columns:1fr 1fr}.info-split.has-cmp{grid-template-columns:1fr}.cmp{position:static}}
@media (max-width:520px){.ig-grid{grid-template-columns:1fr}.ig-card b{font-size:21px}}
/* ===== Homepage locations map ===== */
.locmap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch}
.lm-map{position:relative;border-radius:28px;overflow:hidden;border:1px solid var(--mist);box-shadow:var(--shadow-soft);background:var(--sky-soft)}
.lm-map svg{display:block;width:100%;height:100%}
.lm-note{position:absolute;left:16px;bottom:12px;font-size:11px;color:var(--ink-muted)}
.lm-pin{cursor:pointer}
.lm-pin path{transition:transform .25s;transform-box:fill-box;transform-origin:50% 100%}
.lm-pin.on path{transform:translate(0,-6px) scale(1.2)}
.lm-pin.on .lm-ring{opacity:.35}
@media (prefers-reduced-motion:no-preference){.lm-ring{animation:lmring 2.4s ease-out infinite;transform-box:fill-box;transform-origin:center}.lm-pin:nth-of-type(2) .lm-ring{animation-delay:.6s}.lm-pin:nth-of-type(3) .lm-ring{animation-delay:1.2s}.lm-pin:nth-of-type(4) .lm-ring{animation-delay:1.8s}@keyframes lmring{0%{transform:scale(.6);opacity:.35}100%{transform:scale(1.8);opacity:0}}}
.lm-list{display:flex;flex-direction:column;gap:12px}
.lm-item{flex:1;display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--mist);border-radius:20px;background:var(--paper);text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s,transform .2s}
.lm-item:hover,.lm-item.on{border-color:var(--violet-strong);box-shadow:var(--shadow-soft);transform:translateX(4px)}
.lm-n{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--violet-soft);color:var(--violet-strong);font-family:var(--f-display);font-weight:700}
.lm-item:hover .lm-n,.lm-item.on .lm-n{background:var(--violet-strong);color:#fff}
.lm-t{display:flex;flex-direction:column;min-width:0}
.lm-t b{font-family:var(--f-display);font-weight:600;font-size:18px;line-height:24px}
.lm-t span{font-size:14px;line-height:20px;color:var(--ink-muted)}
.lm-t em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet-strong);margin-top:4px}
.lm-go{margin-left:auto;color:var(--violet-strong);font-weight:700}
@media (max-width:900px){.locmap{grid-template-columns:1fr}.lm-map{aspect-ratio:520/460}}

/* ===== Readable content components ===== */
.prose{max-width:760px}
.prose > .pcard + .pcard,.prose > .pcard + *,.prose > * + .pcard{margin-top:20px}
.pcard{background:var(--paper);border:1px solid var(--mist);border-radius:24px;padding:28px 30px;box-shadow:0 8px 28px rgba(28,24,40,.04);transition:box-shadow .3s,border-color .3s}
.pcard:hover{box-shadow:0 14px 40px rgba(28,24,40,.08);border-color:color-mix(in srgb,var(--fd) 30%,var(--mist))}
.pcard > * + *{margin-top:14px}
.pcard-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.pcard-head h2{margin:0!important;font-size:24px;line-height:30px}
.pcard-n{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--fs);color:var(--fd);font-family:var(--f-display);font-weight:600;font-size:14px}
.pcard-lead{font-size:18px;line-height:29px;color:var(--ink)}
.pcard p:not(.pcard-lead){color:var(--ink-muted)}
.pcard h3{font-size:18px;line-height:24px;margin-top:22px}
.section.cloud .pcard,.section.sky .pcard{background:var(--paper)}
.tick-list{list-style:none!important;padding:0!important;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tick-list li{display:flex;gap:10px;align-items:flex-start;background:var(--cloud);border-radius:14px;padding:12px 14px;margin:0!important;font-size:15.5px;line-height:23px}
.tick-list .tk{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--fd,var(--violet-strong));color:#fff;margin-top:1px}
.tick-list .tk svg{width:13px;height:13px}
.post .tick-list .tk{background:var(--violet-strong)}
.def-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.def-card{border-radius:16px;padding:16px 18px;background:var(--fs);border:1px solid color-mix(in srgb,var(--fd) 12%,transparent)}
.def-card b{display:block;font-family:var(--f-display);font-weight:600;font-size:16px;color:var(--fd)}
.def-card p{margin-top:6px;font-size:15px;line-height:22px;color:var(--ink)!important}
.num-steps{list-style:none!important;padding:0!important;margin:0;counter-reset:ns;display:flex;flex-direction:column;gap:10px}
.num-steps li{counter-increment:ns;position:relative;padding:14px 16px 14px 58px;background:var(--cloud);border-radius:14px;margin:0!important}
.num-steps li:before{content:counter(ns);position:absolute;left:14px;top:12px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--violet-strong);color:#fff;font-family:var(--f-display);font-weight:600;font-size:14px}
.post h2{padding-top:8px;border-top:1px solid var(--mist)}
.post > h2:first-child{border-top:0;padding-top:0}
@media (max-width:640px){.pcard{padding:22px 18px;border-radius:20px}.pcard-head h2{font-size:21px;line-height:27px}.tick-list{grid-template-columns:1fr}.pcard-lead{font-size:17px}}
.def-card p::first-letter{text-transform:uppercase}
/* ===== Related reading (treatment pages) ===== */
.rel-read{background:var(--cloud);padding-top:72px;padding-bottom:72px}
.rel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.rel-head h2{margin-top:8px}
.rel-all{font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap;border-bottom:2px solid var(--violet-strong);padding-bottom:2px}
.rel-all:hover{color:var(--violet-strong)}
@media (max-width:600px){.rel-head{flex-direction:column;align-items:flex-start}}
/* ===== Mobile hero: orbit first, then title + CTAs ===== */
@media (max-width:900px){
  .hero3-panel{padding-block:16px 32px}
  .hero3-grid{display:flex;flex-direction:column;gap:0}
  .hero3-copy{display:contents}
  .hero3-art{order:1;width:100%}
  .hero3-copy > .tag{display:none}
  .hero3-copy > .hero-title{order:2;margin-top:4px;text-align:center}
  .hero3-copy > .hero2-ctas{order:3;margin-top:18px;width:100%}
  .hero3-copy > .lead{order:4;margin-top:24px;text-align:center;margin-inline:auto}
  .hero3-copy > .hero3-assure{order:5;margin-top:20px;align-self:center}
}
@media (max-width:480px){
  .hero3 .hero-title{font-size:30px;line-height:36px}
  .hero3 .hero2-ctas{gap:10px}
  .hero3 .hero2-ctas .btn{width:100%;justify-content:center}
}
.cta-short{display:none}
@media (max-width:900px){
  .utility{display:none}
  .hero3-panel{padding-block:4px 32px}
  .hero3-art{padding-block:4px 6px!important}
}
@media (max-width:480px){
  .hero3 .hero-title{font-size:28px;line-height:34px}
  .hero3 .hero2-ctas{flex-direction:row!important;flex-wrap:nowrap;gap:8px;margin-top:16px}
  .hero3 .hero2-ctas .btn{width:auto!important;padding-inline:14px;min-height:52px}
  .hero3 .hero2-ctas .btn-primary{flex:1 1 auto}
  .hero3 .hero2-ctas .btn-primary svg{display:none}
  .hero3 .hero2-ctas .btn-quiet{flex:0 0 auto;background:var(--paper);border:1px solid var(--mist)}
  .hero3 .cta-long{display:none}.hero3 .cta-short{display:inline}
}
@media (max-width:900px){.hero3-copy > .hero-title{margin-top:28px}}
/* airier mobile hero */
@media (max-width:900px){
  .hero3-panel{padding-block:20px 40px}
  .hero3-copy > .hero-title{margin-top:44px}
  .hero3-copy > .hero2-ctas{margin-top:30px}
  .hero3-copy > .lead{margin-top:32px}
}
@media (max-width:480px){
  .hero3 .hero-title{font-size:28px;line-height:38px;padding-inline:8px}
  .hero3 .hero2-ctas{margin-top:30px;gap:10px}
}
/* Liel in hero orbit: no purple stroke */
.lo-lead .lo-av img{border:4px solid var(--paper)!important;box-shadow:0 10px 26px rgba(28,24,40,.16)!important}
@media (max-width:900px){.lo-lead .lo-av img{border-width:3px!important}}
/* Homepage team: big OR animation behind */
.team-stage{position:relative;overflow:hidden}
.team-stage > .wrap{position:relative;z-index:1}
.team-stage .doc-bg{left:50%;right:auto;top:50%;width:min(1100px,110vw);transform:translate(-50%,-50%);opacity:.16}
.team-stage:after{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 55%,transparent 0%,color-mix(in srgb,var(--cloud) 55%,transparent) 100%);pointer-events:none;z-index:0}
@media (max-width:760px){.team-stage .doc-bg{width:170vw;top:40%;opacity:.12}}
/* Homepage FAQ: same width as other sections */
.home-faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:56px;align-items:start}
.home-faq .section-head{margin:0;text-align:left;position:sticky;top:110px}
@media (max-width:900px){.home-faq{grid-template-columns:1fr;gap:24px}.home-faq .section-head{position:static}}

/* case cards (gallery page) */
.case-list{display:flex;flex-direction:column;gap:40px}
.case-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:44px;align-items:center;background:var(--paper);border:1px solid var(--mist);border-radius:32px;padding:28px;box-shadow:0 18px 50px rgba(28,24,40,.07)}
.case-flip .case-media{order:2}
.case-media .ba-frame{aspect-ratio:6/5;border-radius:24px}
.case-hint{margin-top:10px;text-align:center;font-size:13px;color:var(--ink-muted)}
.case-n{display:inline-block;font-family:var(--f-display);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--violet-strong);background:var(--violet-soft);padding:6px 12px;border-radius:999px}
.case-body h2{font-size:30px;line-height:36px;margin-top:14px}
.case-done{margin-top:14px;font-size:17px;line-height:28px;color:var(--ink-muted)}
.case-done b{color:var(--ink)}
.case-bubbles{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.case-bubbles li{padding:8px 14px;border-radius:999px;background:var(--fs);color:var(--fd);font-weight:700;font-size:14px;line-height:18px}
.case-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.case-thumbs figure{margin:0;position:relative;border-radius:16px;overflow:hidden;aspect-ratio:6/5;background:var(--cloud)}
.case-thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.case-thumbs figcaption{position:absolute;left:10px;top:10px;padding:3px 10px;border-radius:999px;background:rgba(28,24,40,.72);color:#fff;font-size:12px;font-weight:700}
.case-thumbs figcaption.aft{background:var(--violet-strong)}
@media (max-width:900px){.case-card{grid-template-columns:1fr;gap:22px;padding:16px;border-radius:24px}.case-flip .case-media{order:0}.case-body{padding:4px 8px 10px}.case-body h2{font-size:24px;line-height:30px}.case-done{font-size:16px;line-height:26px}.case-media .ba-frame{border-radius:18px}}

.results{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.results .checks{margin-top:20px}
.results .row{margin-top:28px}
@media (max-width:900px){.results{grid-template-columns:1fr;gap:32px}}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
@media (max-width:760px){.gallery-grid{grid-template-columns:1fr}}
.consent-note{font-size:14px;line-height:20px;color:var(--ink-muted);margin-top:32px}
.team-stage .doc-bg{opacity:.32;width:min(1250px,120vw)}
.team-stage .section-head{position:relative}
@media (max-width:760px){.team-stage .doc-bg{opacity:.22}}
/* team intro: OR scene big behind heading */
.team-stage .doc-bg{top:-140px;transform:translateX(-50%);width:min(980px,130vw);opacity:.42;-webkit-mask-image:linear-gradient(180deg,#000 35%,transparent 80%);mask-image:linear-gradient(180deg,#000 35%,transparent 80%)}
.team-stage:after{display:none}
.team-stage .section-head{text-align:center;margin-inline:auto;max-width:720px;padding-block:150px 56px}
.team-stage .section-head p{margin-inline:auto}
.team-stage .docs-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:28px 24px}
.team-stage .docs-grid > *{flex:0 1 calc(25% - 18px);min-width:0}
@media (max-width:1000px){.team-stage .docs-grid > *{flex-basis:calc(33.333% - 16px)}}
@media (max-width:760px){.team-stage .doc-bg{top:-60px;width:150vw;opacity:.36}.team-stage .section-head{padding-block:110px 36px}.team-stage .docs-grid{gap:20px 14px}.team-stage .docs-grid > *{flex-basis:calc(50% - 7px)}}
.team-stage .doc-bg{height:820px;aspect-ratio:auto;width:100%;left:0;transform:none;top:-170px;opacity:.5}
.team-stage .doc-bg .db-scene{position:absolute;left:50%;right:auto;top:0;transform:translateX(-50%);width:min(820px,125vw);height:auto;aspect-ratio:1;opacity:1}
@media (max-width:760px){.team-stage .doc-bg{top:-90px;height:560px;opacity:.42}.team-stage .doc-bg .db-scene{width:130vw}}
.team-stage .doc-bg{position:absolute}
.team-stage .section-head{background:radial-gradient(closest-side,color-mix(in srgb,var(--cloud) 88%,transparent) 55%,transparent 100%);padding-inline:40px}
/* ===== Modern content components (v2) ===== */
/* inline links: soft underline */
.prose a,.pcard a,.case-done a{color:var(--violet-strong);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;text-decoration-color:color-mix(in srgb,var(--violet-strong) 30%,transparent);transition:text-decoration-color .2s,color .2s}
.prose a:hover,.pcard a:hover{text-decoration-color:currentColor;color:var(--violet-deep)}
/* link lists -> tappable cards */
.link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.prose a.lcard,.lcard{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--paper);border:1px solid var(--mist);color:var(--ink);text-decoration:none;font-weight:700;font-size:15.5px;line-height:21px;transition:border-color .2s,box-shadow .2s,transform .2s}
.lcard .lc-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--fb,var(--lavender));box-shadow:0 0 0 4px var(--fs,var(--violet-soft))}
.lcard .lc-t{flex:1}
.lcard .lc-go{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--cloud);color:var(--ink-muted);transition:background .2s,color .2s,transform .2s}
.lcard .lc-go svg{width:16px;height:16px}
.prose a.lcard:hover,.lcard:hover{border-color:color-mix(in srgb,var(--violet-strong) 35%,var(--mist));box-shadow:0 10px 26px rgba(28,24,40,.07);transform:translateY(-2px);color:var(--ink)}
.lcard:hover .lc-go{background:var(--ink);color:#fff;transform:translateX(2px)}
/* tick lists: light, airy */
.tick-list{gap:4px 24px}
.tick-list li{background:transparent;border-radius:0;padding:10px 0;border-bottom:1px solid var(--mist);font-size:16px;line-height:24px;color:var(--ink)}
.tick-list .tk{width:24px;height:24px;background:var(--violet-soft)!important;color:var(--violet-strong)!important;margin-top:0}
.tick-list .tk svg{width:14px;height:14px;stroke-width:2.6}
/* numbered steps: timeline */
.num-steps{gap:0;position:relative}
.num-steps li{background:transparent;padding:4px 0 22px 52px;border-radius:0}
.num-steps li:last-child{padding-bottom:4px}
.num-steps li:before{left:0;top:0;width:34px;height:34px;background:var(--paper);color:var(--violet-strong);border:2px solid var(--violet-strong);font-size:14px}
.num-steps li:after{content:"";position:absolute;left:16px;top:38px;bottom:2px;width:2px;background:var(--mist)}
.num-steps li:last-child:after{display:none}
/* definition cards: cleaner */
.def-card{background:var(--paper);border:1px solid var(--mist);border-top:3px solid var(--fb,var(--lavender));border-radius:16px}
.def-card b{color:var(--ink)}
@media (max-width:640px){.link-grid{grid-template-columns:1fr}}
/* Prose sections: clean editorial text, no boxes */
.pcard,.section.cloud .pcard,.section.sky .pcard{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0;padding:0}
.pcard:hover{box-shadow:none}
.prose > .pcard + .pcard,.prose > .pcard + *,.prose > * + .pcard{margin-top:56px}
.pcard-head{display:block;margin-bottom:14px}
.pcard-n{display:inline-flex;width:auto;height:auto;background:none!important;padding:0;border-radius:0;color:var(--violet-strong);font-size:13px;letter-spacing:.14em;margin-bottom:8px}
.pcard-n:after{content:"";display:inline-block;width:28px;height:2px;background:currentColor;margin:0 0 0 10px;vertical-align:middle;opacity:.5;align-self:center}
.pcard-head h2{font-size:30px;line-height:38px}
.pcard-lead{font-size:19px;line-height:31px}
@media (max-width:640px){.pcard-head h2{font-size:24px;line-height:31px}.pcard-lead{font-size:17px;line-height:28px}.prose > .pcard + .pcard{margin-top:44px}}
/* Doctor page: credentials under the photo */
.doc-side{display:flex;flex-direction:column;gap:20px;position:sticky;top:110px}
.doc-facts{background:color-mix(in srgb,var(--paper) 78%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--mist);border-radius:24px;padding:22px 22px 24px}
.doc-facts h3{font-size:13px;line-height:18px;letter-spacing:.12em;text-transform:uppercase;color:var(--violet-strong);font-family:var(--f-body);font-weight:800}
.edu-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.edu-list li{position:relative;padding-left:18px;font-size:15px;line-height:22px;color:var(--ink)}
.edu-list li:before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:var(--violet-strong);opacity:.6}
.doc-facts .chips{margin-top:18px;padding-top:18px;border-top:1px solid var(--mist);display:flex;flex-wrap:wrap;gap:8px}
.doc-facts .doc-cta{width:100%;justify-content:center;margin-top:18px}
.doc-stage .prose .link-grid{margin-top:16px}
@media (max-width:760px){.doc-side{position:static;gap:16px}.doc-side .portrait{max-width:none}}
/* robust sizing for before/after (no reliance on aspect-ratio) */
.ba-frame,.case-thumbs figure{aspect-ratio:auto!important;height:auto}
.ba-frame:before,.case-thumbs figure:before{content:"";display:block;padding-top:83.94%}
.case-thumbs img,.ba-frame img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.ba-ph{display:none}
/* ===== Surgery guide page ===== */
.care-sec{scroll-margin-top:96px}
.alt-bg{background:var(--cloud)}
.care-head{max-width:720px}
.care-head h2{margin-top:10px}
.care-head .lead{margin-top:14px}
.care-steps{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:cs}
.care-steps li{position:relative;background:var(--paper);border:1px solid var(--mist);border-radius:24px;padding:26px 24px 24px;counter-increment:cs}
.care-steps li:after{content:"0" counter(cs);position:absolute;right:22px;top:20px;font-family:var(--f-display);font-weight:600;font-size:14px;color:var(--ink-muted);opacity:.6}
.cs-ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--fs);color:var(--fd)}
.cs-ic svg{width:22px;height:22px}
.cs-when{display:block;margin-top:18px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fd)}
.care-steps h3{font-size:20px;line-height:26px;margin-top:6px}
.care-steps p{margin-top:8px;color:var(--ink-muted);font-size:15.5px;line-height:24px}
.fast{margin-top:56px}
.fast-head h3{font-size:22px;line-height:28px}
.fast-head p{color:var(--ink-muted);margin-top:4px}
.fast-track{margin-top:20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:20px;overflow:hidden;border:1px solid var(--mist)}
.fs{padding:22px 20px 20px;display:flex;flex-direction:column;gap:6px;position:relative}
.fs + .fs{border-left:1px solid rgba(255,255,255,.6)}
.fs b{font-family:var(--f-display);font-weight:600;font-size:17px;line-height:22px}
.fs span{font-size:15px;line-height:22px}
.fs-1{background:var(--violet-soft);color:var(--violet-deep)}
.fs-2{background:var(--peach-soft);color:var(--peach-deep)}
.fs-3{background:var(--sky-soft);color:var(--blue-deep)}
.fs-4{background:var(--ink);color:#fff}
.fs span{color:inherit;opacity:.85}
.care-split{margin-top:56px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:start}
.care-split.even{grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}
.care-h3{font-size:22px;line-height:28px;margin-bottom:8px}
.clean-list{list-style:none;margin:0;padding:0}
.clean-list li{position:relative;padding:12px 0 12px 30px;border-bottom:1px solid var(--mist);font-size:16px;line-height:24px}
.clean-list li:last-child{border-bottom:0}
.clean-list li:before{content:"";position:absolute;left:4px;top:19px;width:10px;height:10px;border-radius:50%;background:var(--violet-strong);opacity:.55}
.care-side{display:flex;flex-direction:column;gap:14px}
.callout{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:20px;background:var(--paper);border:1px solid var(--mist)}
.callout h3{font-size:17px;line-height:22px}
.callout p{margin-top:4px;color:var(--ink-muted);font-size:15px;line-height:23px}
.callout a{color:var(--ink);text-decoration:none}
.co-ic{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--violet-soft);color:var(--violet-strong)}
.co-ic svg{width:20px;height:20px}
.callout-gold{background:var(--gold-soft,#FFF6DB);border-color:transparent}
.callout-gold .co-ic{background:var(--paper);color:var(--gold-deep,#8A6100)}
.status{background:var(--paper);border:1px solid var(--mist);border-radius:24px;padding:26px}
.status h3{display:flex;align-items:center;gap:10px;font-size:19px;line-height:25px;margin-bottom:6px}
.st-dot{width:12px;height:12px;border-radius:50%;flex:none}
.status-ok .st-dot{background:#2F9E6A;box-shadow:0 0 0 5px #E4F7EE}
.status-warn{border-color:#F3C2BC}
.status-warn .st-dot{background:#D2402F;box-shadow:0 0 0 5px #FDE7E4}
.status-warn .clean-list li:before{background:#D2402F;opacity:.8}
.status .btn{margin-top:16px}
@media (max-width:900px){.care-steps{grid-template-columns:1fr;gap:12px}.fast-track{grid-template-columns:1fr 1fr}.fs:nth-child(3){border-left:0}.fs:nth-child(n+3){border-top:1px solid rgba(255,255,255,.6)}.care-split,.care-split.even{grid-template-columns:1fr;gap:24px}}
@media (max-width:480px){.fast-track{grid-template-columns:1fr}.fs + .fs{border-left:0;border-top:1px solid rgba(255,255,255,.6)}}
.nav > a{white-space:nowrap}
@media (max-width:1240px) and (min-width:1081px){.nav{gap:18px}.nav > a{font-size:15px}.brand .wordmark{font-size:24px}}
.faq-group{font-size:14px;line-height:20px;letter-spacing:.12em;text-transform:uppercase;color:var(--violet-strong);font-family:var(--f-body);font-weight:800;margin:36px 0 12px}
.home-faq .faq-group:first-child{margin-top:0}
.edu-list li b{display:block;font-weight:700;color:var(--ink);font-size:15px;line-height:21px}
.edu-list li span{display:block;margin-top:3px;color:var(--ink-muted);font-size:14px;line-height:21px}
.doc-stage .doctor .doc-side .portrait{width:100%}
/* Homepage facility strip: clinical, serious */
.hl-pro{border-radius:14px;border-color:var(--mist);align-items:flex-start;padding:18px}
.hl-pro:hover{border-color:var(--ink);box-shadow:none;transform:none}
.hl-pro .hl-pin{width:40px;height:40px;border-radius:10px;background:var(--cloud);color:var(--ink);border:1px solid var(--mist)}
.hl-pro .hl-pin svg{width:21px;height:21px}
.hl-pro .hl-txt em{font-style:normal;font-size:11.5px;line-height:16px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.hl-pro .hl-txt b{margin-top:3px;font-size:16.5px;line-height:21px}
.hl-pro .hl-txt span{margin-top:3px;font-size:13.5px;line-height:19px}
.hero-locs .hl-head .label{color:var(--ink)}
@media (max-width:760px){
  section.doctor{display:flex;flex-direction:column}
  section.doctor .doc-side{display:contents}
  section.doctor .portrait{order:1;max-width:360px;width:100%;margin-inline:auto}
  section.doctor > div:last-child{order:2}
  section.doctor .doc-facts{order:3}
}
/* Treatments hub: photo + illustrated cards */
.svc-tx{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.tx-illus .tx-media{display:grid;place-items:center;background:radial-gradient(120% 90% at 30% 20%,var(--paper) 0%,var(--fs) 55%,color-mix(in srgb,var(--fb) 60%,var(--fs)) 100%)}
.txi-ring{position:absolute;width:62%;aspect-ratio:1;border-radius:50%;border:2px dashed color-mix(in srgb,var(--fd) 30%,transparent);animation:lo-spin 40s linear infinite}
.txi-ic{position:relative;width:120px;height:120px;border-radius:32px;display:grid;place-items:center;background:var(--paper);color:var(--fd);box-shadow:0 18px 40px rgba(28,24,40,.12);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.txi-ic svg{width:58px;height:58px;stroke-width:1.5}
.tx-illus:hover .txi-ic{transform:scale(1.06) rotate(-4deg)}
.txi-tag{position:absolute;left:16px;bottom:16px}
@media (prefers-reduced-motion:reduce){.txi-ring{animation:none}}
@media (max-width:1000px){.svc-tx{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:600px){.svc-tx{grid-template-columns:1fr!important}}
/* Sedation page hero: big OR animation */
.or-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--sky-soft) 0%,var(--paper) 55%,var(--violet-soft) 100%);border-bottom:1px solid var(--mist)}
.oh-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;padding-block:40px 64px}
.oh-copy h1{font-size:54px;line-height:60px;letter-spacing:-.02em;margin-top:14px}
.oh-copy .lead{margin-top:18px;max-width:520px}
.oh-art{position:relative;width:min(560px,100%);aspect-ratio:1;margin-inline:auto;display:grid;place-items:center}
.oh-art .oh-scene{position:relative;width:86%;height:86%;z-index:1;box-shadow:0 0 0 10px var(--paper),0 40px 90px rgba(28,24,40,.18)}
.oh-pulse{position:absolute;inset:4%;border-radius:50%;border:2px solid color-mix(in srgb,var(--violet-strong) 25%,transparent);animation:oh-pulse 3.6s ease-out infinite}
.oh-p2{animation-delay:1.8s}
@keyframes oh-pulse{from{transform:scale(.9);opacity:.9}to{transform:scale(1.12);opacity:0}}
.oh-chip{position:absolute;z-index:2;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:var(--paper);box-shadow:0 14px 34px rgba(28,24,40,.14);font-size:14px;color:var(--ink);animation:bob 6s ease-in-out infinite}
.oh-chip svg{width:18px;height:18px;color:var(--violet-strong)}
.oh-c1{left:-2%;top:16%}.oh-c2{right:-2%;top:42%;animation-delay:1.5s}.oh-c3{left:6%;bottom:8%;animation-delay:3s}
@media (prefers-reduced-motion:reduce){.oh-pulse,.oh-chip{animation:none}}
@media (max-width:1000px){.oh-copy h1{font-size:44px;line-height:50px}}
@media (max-width:900px){.oh-grid{grid-template-columns:1fr;gap:12px;padding-block:20px 40px}.oh-art{order:-1;width:min(380px,92%)}.oh-copy h1{font-size:34px;line-height:40px}.oh-chip{font-size:12px;padding:7px 11px}.oh-chip svg{width:15px;height:15px}}
.tx-more-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:640px){.tx-more-2{grid-template-columns:1fr!important}}
/* Team listing: balanced rows */
.doc-stage .doctor.dl-row{display:grid;grid-template-columns:300px minmax(0,1fr);gap:56px;align-items:start;padding-block:56px;border-top:1px solid rgba(28,24,40,.08)}
.doc-stage .doctor.dl-row:first-child{border-top:0}
.dl-photo{position:sticky;top:110px}
.dl-photo .portrait{width:100%}
.dl-main h2{font-size:36px;line-height:42px}
.dl-main .creds{margin-top:6px}
.dl-bio{margin-top:20px;max-width:720px}
.dl-bio p{font-size:17px;line-height:28px;color:var(--ink)}
.dl-bio p + p{margin-top:14px}
.dl-facts{margin-top:28px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px;padding-top:24px;border-top:1px solid rgba(28,24,40,.08)}
.dl-facts h3{font-size:13px;line-height:18px;letter-spacing:.12em;text-transform:uppercase;color:var(--violet-strong);font-family:var(--f-body);font-weight:800}
.dl-facts .chips{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}
.dl-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:900px){.doc-stage .doctor.dl-row{grid-template-columns:220px minmax(0,1fr);gap:32px}.dl-facts{grid-template-columns:1fr;gap:20px}}
@media (max-width:640px){.doc-stage .doctor.dl-row{display:flex;flex-direction:column;gap:20px;padding-block:40px}.dl-photo{position:static;width:100%;max-width:340px;margin-inline:auto}.dl-main h2{font-size:28px;line-height:34px}}
div.doc-stage .doc-bg .db-scene{opacity:.1}
/* Team listing: maximum readability */
div.doc-stage{background:var(--cloud)}
div.doc-stage .doc-bg{display:none}
.doc-stage .doctor.dl-row{background:var(--paper);border:1px solid var(--mist);border-radius:28px;padding:40px;margin-top:28px;box-shadow:0 10px 30px rgba(28,24,40,.05);grid-template-columns:280px minmax(0,1fr)}
.doc-stage .doctor.dl-row:first-child{border-top:1px solid var(--mist);margin-top:40px}
.dl-photo{top:120px}
.dl-main h2{font-size:34px;line-height:40px}
.dl-main .creds{font-size:16px;line-height:24px;color:var(--violet-strong);font-weight:700}
.dl-bio{max-width:68ch}
.dl-bio p{font-size:18px;line-height:31px;color:#2B2738}
.dl-bio p + p{margin-top:18px}
.dl-facts{margin-top:32px;padding-top:28px;border-top:1px solid var(--mist);gap:40px}
.dl-facts h3{font-size:13px;margin-bottom:4px}
.dl-facts .edu-list{gap:16px;margin-top:14px}
.dl-facts .edu-list li{font-size:16px;line-height:24px;padding-left:20px}
.dl-facts .edu-list li b{font-size:16px;line-height:24px}
.dl-facts .edu-list li span{font-size:15px;line-height:23px}
.dl-facts .chips span{font-size:14px;padding:8px 14px}
@media (max-width:900px){.doc-stage .doctor.dl-row{grid-template-columns:200px minmax(0,1fr);padding:28px;gap:28px}}
@media (max-width:640px){.doc-stage .doctor.dl-row{padding:20px 18px 26px;border-radius:22px}.dl-bio p{font-size:17px;line-height:29px}.dl-main h2{font-size:28px;line-height:34px}}
