/* Site-wide homepage-style icons + mobile menu entrance animation */
.sheet-meta{display:none!important}
.di{overflow:visible}
.di .fw{fill:#fff;stroke:#0D2A44;stroke-width:2.4;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.di .fs{fill:#bfe2f6;stroke:#0D2A44;stroke-width:2.4;stroke-linejoin:round}
.di .fg{fill:#ffc9b9;stroke:#0D2A44;stroke-width:2.4;stroke-linejoin:round}
.di .ol{fill:none;stroke:#0D2A44;stroke-width:2.4;stroke-linejoin:round}
.di .ln{fill:none;stroke:#0D2A44;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.di .ln-ac,.di .shine{fill:none;stroke:var(--sky,#36A6DD);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.di .wire{fill:none;stroke:var(--sky,#36A6DD);stroke-width:2.6;stroke-linecap:round}
.di .ac,.di .badge{fill:#E3A08A}
.di .half{fill:#e8f5fd}
.di .ray{fill:none;stroke:#ffb020;stroke-width:3;stroke-linecap:round}
.di .br{fill:#bfe2f6;stroke:#0D2A44;stroke-width:2.2}
.di .pulp{fill:#ffc9b9;stroke:none}
.di .canal,.di .crack{fill:none;stroke:#E3A08A;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.di .beam{stroke:#E3A08A;stroke-width:3;stroke-linecap:round;stroke-dasharray:3 3}
.di .ring{fill:none;stroke:#E3A08A;stroke-width:2;opacity:.5}
.di .plus{stroke:#fff;stroke-width:3.4;stroke-linecap:round}
.di .bub{fill:#e2f1fb;stroke:var(--sky,#36A6DD);stroke-width:2}
.di .zz{fill:none;stroke:var(--blue,#1570b0);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.di .dr{stroke-dasharray:1;stroke-dashoffset:0}
.di [class*=a-],.di .ac,.di .bub,.di .zz,.di .ring,.di .badge,.di .br{transform-box:fill-box;transform-origin:center}
/* soft white-to-coral icon tiles */
.duo{background:linear-gradient(150deg,#fff,#FDE7DC);box-shadow:inset 0 0 0 1px rgba(227,160,138,.35),0 8px 18px -8px rgba(13,42,68,.18)}
/* entrance: rows rise in one by one, icon tiles pop */
@keyframes shRow{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes shPop{0%{opacity:0;transform:scale(.55) rotate(-10deg)}60%{opacity:1;transform:scale(1.08) rotate(2deg)}100%{opacity:1;transform:none}}
.sheet[open] .sheet-list>li{animation:shRow .6s cubic-bezier(.22,1,.36,1) both}
.sheet[open] .sheet-list>li .duo{animation:shPop .75s cubic-bezier(.22,1,.36,1) both}
.sheet[open] .sheet-cta{animation:shRow .6s .5s cubic-bezier(.22,1,.36,1) both}
.sheet[open] .sheet-list>li:nth-child(1),.sheet[open] .sheet-list>li:nth-child(1) .duo{animation-delay:.06s}
.sheet[open] .sheet-list>li:nth-child(2),.sheet[open] .sheet-list>li:nth-child(2) .duo{animation-delay:.12s}
.sheet[open] .sheet-list>li:nth-child(3),.sheet[open] .sheet-list>li:nth-child(3) .duo{animation-delay:.18s}
.sheet[open] .sheet-list>li:nth-child(4),.sheet[open] .sheet-list>li:nth-child(4) .duo{animation-delay:.24s}
.sheet[open] .sheet-list>li:nth-child(5),.sheet[open] .sheet-list>li:nth-child(5) .duo{animation-delay:.30s}
.sheet[open] .sheet-list>li:nth-child(6),.sheet[open] .sheet-list>li:nth-child(6) .duo{animation-delay:.36s}
.sheet[open] .sheet-list>li:nth-child(7),.sheet[open] .sheet-list>li:nth-child(7) .duo{animation-delay:.42s}
@media(prefers-reduced-motion:reduce){.sheet[open] .sheet-list>li,.sheet[open] .sheet-list>li .duo,.sheet[open] .sheet-cta{animation:none!important}}

/* distinct menu icons */
.di-home{animation:lp-bob 3.2s ease-in-out infinite}
.di-home .ac{animation:lp-twinkle 2.4s ease-in-out infinite}
.di-services rect{transform-box:fill-box;transform-origin:center;animation:lp-pop 3.6s ease-in-out infinite}
.di-services rect:nth-child(2){animation-delay:.25s}
.di-services rect:nth-child(3){animation-delay:.5s}
.di-services rect:nth-child(4){animation-delay:.75s}

/* Mobile: image always first, then text (all image + text sections) */
@media(max-width:900px){
html body :is(.rx-media>.rx-img,.rx-bond>.rx-img,.rx-why>.dr-why-photo,.ck-wrap>.ck-photo,.team-zz .ck-wrap .ck-photo,.tp-intro-grid>.tp-intro-photo,.doc-grid>.doc-media,.hm-doc-grid>.hm-doc-media,.ab-grid>.ab-photo,.ab-pl>.ab-pl-pic):not(#_a):not(#_b){order:-1!important}
html body :is(.tp-intro-grid,.rx-why,.rx-bond,.hm-doc-grid,.doc-grid,.team-zz .ck-wrap){display:grid!important;grid-template-columns:1fr!important}
}

/* More padding inside all boxes + roomy text frame (all pages) */
html body :is(.hm-svc-card,.rev-card,.trust-card,.opt-card,.np-card,.rx-why-rate,.rel-card,.hm-rev-score,.stat,.np-facts):not(#_a):not(#_b){padding:30px 28px!important}
html body :is(.ct-card,.author-card,.wz.is-wizard):not(#_a):not(#_b){padding:34px 30px!important}
html body .rich-sec .author-card:not(#_a):not(#_b){gap:34px}
html body main>section.txt-frame:not(#_a):not(#_b):not(#_c):not(#_d)>.wrap:not(#_e):not([class*=card]){padding:clamp(30px,3.5vw,44px) clamp(24px,4vw,56px)!important}
html body .sx-answer-in:not(#_a):not(#_b):not(#_c){padding:clamp(30px,3.5vw,44px) clamp(24px,4vw,56px)!important}
@media(max-width:640px){
html body :is(.hm-svc-card,.rev-card,.trust-card,.opt-card,.np-card,.rx-why-rate,.rel-card,.hm-rev-score,.stat,.np-facts,.ct-card,.author-card,.wz.is-wizard):not(#_a):not(#_b){padding:24px 20px!important}
html body main>section.txt-frame:not(#_a):not(#_b):not(#_c):not(#_d)>.wrap:not(#_e):not([class*=card]),html body .sx-answer-in:not(#_a):not(#_b):not(#_c){padding:26px 20px!important}
}

/* text frame: same width as all other sections */
html body main>section.txt-frame:not(#_a):not(#_b):not(#_c):not(#_d)>.wrap:not(#_e){max-width:var(--max,1200px)!important;width:min(100% - 2*var(--gutter,20px),var(--max,1200px))!important;margin-inline:auto!important}
/* mobile: before/after photos stacked, no carousel */
@media(max-width:639px){
html body .ba-grid:not(#_a):not(#_b){display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;scroll-snap-type:none!important;margin:0!important;padding:0!important;gap:20px!important}
html body .ba-grid:not(#_a)>li{flex:none!important;scroll-snap-align:none}
}

/* New patients: photos inside cards */
.np-photo{margin:0 0 22px;border-radius:22px;overflow:hidden;box-shadow:0 18px 40px -26px rgba(13,42,68,.45)}
.np-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}

/* Author box (blog posts): clean card, big avatar */
html body .author-box:not(#_a):not(#_b){position:relative;overflow:hidden;display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;gap:8px 24px!important;align-items:start;padding:30px 30px!important;border-radius:28px!important;background:linear-gradient(135deg,#EAF5FC,#fff 60%,#FDF0EA)!important;border:1px solid #DCEBF5!important;box-shadow:0 18px 40px -28px rgba(13,42,68,.4)!important}
html body .author-box:not(#_a)::before{content:"";position:absolute;left:0;top:26px;bottom:26px;width:5px;border-radius:0 6px 6px 0;background:#E3A08A}
html body .author-box .ab-pic{width:96px;height:96px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px #fff,0 0 0 6px #F3C2AF}
html body .author-box .ab-pic img{width:100%;height:100%;object-fit:cover;object-position:center 15%;border-radius:50%;display:block}
html body .author-box .ab-name{font-size:21px;margin:2px 0 8px!important}
html body .author-box .ab-name a{text-decoration:none;color:#0D2A44;background:linear-gradient(#E3A08A,#E3A08A) 0 100%/100% 2px no-repeat;padding-bottom:2px}
@media(max-width:640px){
html body .author-box:not(#_a):not(#_b){grid-template-columns:1fr!important;justify-items:start;gap:14px!important;padding:28px 24px 28px 28px!important}
html body .author-box .ab-pic{width:88px;height:88px}
html body .author-box .ab-name{font-size:22px}
}

/* Blog post on mobile: calmer, framed */
@media(max-width:820px){
html body .post-article:not(#_a) img{border-radius:22px;box-shadow:0 18px 40px -26px rgba(13,42,68,.4)}
html body .post-article:not(#_a) h2{margin:44px 0 14px!important}
html body .key-takeaways:not(#_a):not(#_b){padding:28px 24px!important;border-radius:26px!important;background:linear-gradient(135deg,#EAF5FC,#fff 60%,#FDF0EA)!important;border:1px solid #DCEBF5!important;border-left:5px solid #E3A08A!important;box-shadow:0 18px 40px -28px rgba(13,42,68,.35)!important}
html body .bl-w:not(#_a):not(#_b){padding:26px 24px!important;border-radius:26px!important}
}

/* FAQ on mobile: topic chips wrap in a grid, roomier questions */
@media(max-width:820px){
html body .faq-hero:not(#_a) .faq-cats{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;gap:10px!important}
html body .faq-hero:not(#_a) .faq-cats button{flex:1 1 calc(50% - 10px)!important;justify-content:center;min-height:48px;white-space:normal!important;text-align:center;line-height:1.25}
html body .faq-hero:not(#_a) .faq-cats button:first-child{flex-basis:100%!important}
html body .faq-hub:not(#_a) .faq-group{padding:28px 20px!important;border-radius:28px!important}
html body .faq-hub:not(#_a) .faq-list{padding:4px 20px!important;border-radius:22px!important}
html body .faq-hub:not(#_a) .faq-item summary{padding:22px 0!important;gap:16px}
html body .faq-hub:not(#_a) .faq-q{font-size:17px!important;line-height:1.4!important;font-weight:600!important}
html body .faq-hub:not(#_a) .faq-a{padding:0 0 22px!important}
html body .faq-hub:not(#_a) .faq-gh{margin-bottom:20px!important}
html body .faq-hub:not(#_a) .wrap{gap:24px!important}
}

/* New patients: steps as image + text rows, What to bring without checkboxes */
html body .np-rx .np-rx-btn{margin:22px 0 0!important}
html body .np-bring:not(#_a):not(#_b){padding-top:24px!important}
html body .np-bring .np-card{cursor:default}
html body .np-rx .btn-blue:not(#_a):not(#_b){color:#fff!important}
html body .np-rx .btn-ghost:not(#_a):not(#_b){color:#1570b0!important}

/* New patients: benefits section = title + text left, icon list right */
@media(min-width:900px){
html body .np-instips-card:not(#_a):not(#_b){display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);column-gap:56px;row-gap:24px;align-items:center}
html body .np-instips-card:not(#_a)>.np-instips-head{grid-column:1;grid-row:1}
html body .np-instips-card:not(#_a)>.np-noplan{grid-column:1;grid-row:2;margin:0}
html body .np-instips-card:not(#_a)>.np-q{grid-column:2;grid-row:1/span 2}
}
html body .np-instips-card .np-q{display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin:0;padding:0;list-style:none}
html body .np-instips-card .np-q>li{display:flex!important;gap:18px;align-items:flex-start;padding:20px 0!important;background:none!important;box-shadow:none!important;border-radius:0!important;border:0!important;border-top:1px solid #DCE9F3!important}
html body .np-instips-card .np-q>li:first-child{border-top:0!important;padding-top:0!important}
html body .np-instips-card .np-q>li:last-child{padding-bottom:0!important}
@media(max-width:899px){html body .np-instips-card .np-q{margin-top:24px}}

/* Mobile: hero image first, then content */
@media(max-width:959px){
html body .hero-grid:not(#_a):not(#_b){display:grid!important;grid-template-columns:1fr!important}
html body .hero-grid:not(#_a):not(#_b)>.hero-media{order:-1!important;margin:0 0 8px!important}
}
@media(max-width:979px){html body .np-hero-grid:not(#_a):not(#_b)>.np-hero-media{order:-1!important}}

/* FAQ: smaller group headings, a little more space */
html body .faq-hub h2.faq-gh:not(#_a):not(#_b){font-size:28px!important;line-height:1.2!important;margin-bottom:24px!important}
html body .faq-hub:not(#_a) .faq-item summary{padding-top:22px!important;padding-bottom:22px!important}
@media(max-width:820px){
html body .faq-hub h2.faq-gh:not(#_a):not(#_b){font-size:22px!important;gap:14px!important;margin-bottom:24px!important}
html body .faq-hub:not(#_a) .wrap{gap:32px!important}
html body .faq-hub:not(#_a) .faq-group{padding:32px 22px!important}
html body .faq-hub:not(#_a) .faq-item summary{padding-top:24px!important;padding-bottom:24px!important}
html body .faq-hub:not(#_a) [data-faq-more]{margin-top:26px!important}
}

/* Even rhythm: same gap between every section heading and its content, no stacked extra gaps */
html body main :is(.sec-head,.hm-aff-head,.hm-rev-head,.hm-vt-head,.sec-row,.hm-svc-head,.hm-care-head,.hm-team-head,.hm-why-head,.ab-oa-head):not(#_a):not(#_b):not(#_c){margin-bottom:44px!important}
html body main .hm-fv .fv-steps:not(#_a):not(#_b):not(#_c){margin-top:0!important}
html body main .rich-sec .author-card:not(#_a):not(#_b):not(#_c){margin-bottom:0!important}
html body main .rich-sec .author-card+.rx:not(#_a):not(#_b):not(#_c){margin-top:44px!important}
@media(max-width:820px){
html body main :is(.sec-head,.hm-aff-head,.hm-rev-head,.hm-vt-head,.sec-row,.hm-svc-head,.hm-care-head,.hm-team-head,.hm-why-head,.ab-oa-head):not(#_a):not(#_b):not(#_c){margin-bottom:32px!important}
html body main .rich-sec .author-card+.rx:not(#_a):not(#_b):not(#_c){margin-top:32px!important}
}

/* Why families/patients choose: one photo + clean 2-column icon list, no CTA row */
html body .dr-why .rx-why:not(#_a):not(#_b):not(#_c){display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:64px!important;align-items:stretch!important}
html body .dr-why .dr-why-photo:not(#_a):not(#_b){position:relative;margin:0!important;min-height:440px;overflow:visible!important;background:none!important;display:block!important;box-shadow:none!important}
html body .dr-why .dr-why-photo:not(#_a)::before{content:"";position:absolute;inset:22px -18px -18px 22px;border-radius:30px;background:#FBE3D9;z-index:0}
html body .dr-why .dr-why-photo img:not(#_a):not(#_b):not(#_c){position:absolute!important;inset:0;z-index:1;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover;border-radius:28px;box-shadow:0 24px 56px -28px rgba(13,42,68,.4)}
html body .dr-why .dr-why-photo .dr-why-g2:not(#_a):not(#_b):not(#_c){display:none!important}
html body .dr-why .rx-why-list:not(#_a):not(#_b):not(#_c){display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 36px!important;margin:24px 0 0!important;padding:0;list-style:none}
html body .dr-why .rx-why-list>li:not(#_a):not(#_b):not(#_c){flex:none!important;display:flex!important;gap:16px;align-items:flex-start;padding:20px 0!important;margin:0!important;background:none!important;border:0!important;border-top:1px solid #E1EBF3!important;border-radius:0!important;box-shadow:none!important;min-height:0!important}
html body .dr-why .rx-why-list>li:nth-child(-n+2){border-top:0!important;padding-top:0!important}
html body .dr-why .rx-why-list>li:last-child:nth-child(odd){grid-column:1/-1}
html body .dr-why .rx-why-list>li>svg:not(#_a):not(#_b){flex:0 0 44px!important;width:44px!important;height:44px!important;padding:10px;border-radius:14px;background:linear-gradient(135deg,#fff,#FDE7DC)!important;color:#C9715A!important;fill:#C9715A!important;margin:0!important;box-shadow:inset 0 0 0 1px rgba(227,160,138,.3)}
html body .dr-why .rx-why-list strong{color:#0D2A44}
html body .dr-why .rx-copy>p:not(#_a):not(#_b){margin-top:24px!important}
@media(max-width:959px){
html body .dr-why .rx-why:not(#_a):not(#_b):not(#_c){grid-template-columns:1fr!important;gap:36px!important}
html body .dr-why .dr-why-photo:not(#_a):not(#_b){min-height:0;aspect-ratio:4/3}
html body .dr-why .rx-why-list:not(#_a):not(#_b):not(#_c){grid-template-columns:1fr!important}
html body .dr-why .rx-why-list>li:nth-child(2){border-top:1px solid #E1EBF3!important;padding-top:20px!important}
}

/* Remove extra CTA buttons (keep hero, closing CTA band and the booking form) */
.rx-why-cta{display:none!important}
html body .faq-sec .btn-blue[href^="tel"]:not(#_a){display:none!important}

/* Image beside text = same height as the text (desktop) */
@media(min-width:960px){
html body .rx-media:not(#_a):not(#_b):not(#_c):not(.rx-cta){align-items:stretch!important}
html body .rx-media:not(#_a):not(#_b):not(#_c)>.rx-img{display:flex;height:auto}
html body .rx-media:not(#_a):not(#_b):not(#_c)>.rx-img img{width:100%!important;height:100%!important;min-height:300px;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important}
html body .rx-media:not(#_a):not(#_b):not(#_c)>.rx-copy{align-self:center}
}

/* Family dentistry: soft orange background on the comparison section */
html body .rx-band.fd-peach:not(#_a):not(#_b):not(#_c){background:#FFF3EC!important}

/* Trust stats box: tighter top/bottom space */
html body .trust-card:not(#_a):not(#_b){padding:20px 24px 18px!important}
html body .trust-card .stat:not(#_a):not(#_b){padding:20px 22px!important}
html body .trust-card .stats+*:not(#_a):not(#_b){margin-top:14px!important;padding-top:14px!important}
/* Why section: photo same height as text */
@media(min-width:960px){html body .dr-why .rx-why>.dr-why-photo:not(#_a):not(#_b):not(#_c){align-self:stretch!important;height:auto!important;min-height:420px}}
@media(min-width:960px){
html body .rx-media:not(#_a):not(#_b):not(#_c)>.rx-img{position:relative;display:block;min-height:320px;height:auto}
html body .rx-media:not(#_a):not(#_b):not(#_c)>.rx-img img{position:absolute!important;inset:0;min-height:0}
}

/* equal image/text height: beat older min-height rules */
@media(min-width:960px){
html body .rx-media:not(#_a):not(#_b):not(#_c)>.rx-img{position:relative!important;display:block!important;min-height:240px!important;height:auto!important}
html body .rx-media:not(#_a):not(#_b):not(#_c)>.rx-img img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
}

/* Option cards: 5 boxes = 3 on top (33.3%) + 2 below (50%), full width */
@media(min-width:960px){
html body section.opt-sec .opt-grid:has(>:nth-child(5):last-child):not(#_a):not(#_b){display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:18px!important}
html body section.opt-sec .opt-grid:has(>:nth-child(5):last-child):not(#_a):not(#_b)>*{flex:none!important;max-width:none!important;grid-column:span 2!important;width:auto!important}
html body section.opt-sec .opt-grid:has(>:nth-child(5):last-child):not(#_a):not(#_b)>:nth-child(n+4){grid-column:span 3!important}
}
@media(min-width:960px){
html body .rx-media:not(#_a):not(#_b):not(#_c)>.rx-img{align-self:stretch!important;margin:0!important}
html body .rx-media:not(#_a):not(#_b):not(#_c)>.rx-copy{align-self:stretch!important;display:flex!important;flex-direction:column;justify-content:center}
}

/* UNIVERSAL: image always above text on mobile/tablet, every image+text block */
@media(max-width:959px){
html body .rx:not(#_a):not(#_b),html body .rx-why:not(#_a):not(#_b),html body .dr-why .rx-why:not(#_a):not(#_b){display:grid!important;grid-template-columns:1fr!important}
html body .rx>:is(figure,.rx-img,.rx-media,.dr-why-photo,.rx-photo):not(#_a):not(#_b),
html body .rx-why>:is(figure,.dr-why-photo):not(#_a):not(#_b),
html body .dr-why .rx-why>.dr-why-photo:not(#_a):not(#_b){order:-1!important;grid-column:1!important;grid-row:auto!important}
html body .rx>.rx-copy:not(#_a):not(#_b),html body .rx-why>.rx-copy:not(#_a):not(#_b){order:1!important;grid-column:1!important}
}

/* mobile: image blocks full width of the content column */
@media(max-width:959px){
html body :is(.rx>figure,.rx>.rx-img,.rx-media>.rx-img,.rx-why>.dr-why-photo,.dr-why .rx-why>.dr-why-photo):not(#_a):not(#_b){width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;justify-self:stretch!important}
html body :is(.rx-why>.dr-why-photo,.dr-why-photo) img:not(#_a):not(#_b){width:100%!important;max-width:100%!important}
}

/* mobile: kill zz-l/zz-r two-column grid, single full-width column, image first */
@media(max-width:959px){
html body :is(.rx-media,.ck-wrap,.rx-why,.dr-why .rx-why,.rx).zz-l:not(#_a):not(#_b):not(#_c):not(#_d),
html body :is(.rx-media,.ck-wrap,.rx-why,.dr-why .rx-why,.rx).zz-r:not(#_a):not(#_b):not(#_c):not(#_d){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:28px!important;width:100%!important;max-width:100%!important}
html body .zz-r>:is(.rx-img,.ck-photo,.dr-why-photo,figure):not(#_a):not(#_b):not(#_c):not(#_d),
html body .zz-l>:is(.rx-img,.ck-photo,.dr-why-photo,figure):not(#_a):not(#_b):not(#_c):not(#_d){order:-1!important;width:100%!important;max-width:100%!important}
html body .zz-r>:not(.rx-img):not(.ck-photo):not(.dr-why-photo):not(figure):not(#_a):not(#_b):not(#_c),
html body .zz-l>:not(.rx-img):not(.ck-photo):not(.dr-why-photo):not(figure):not(#_a):not(#_b):not(#_c){order:1!important;width:100%!important;max-width:100%!important}
}

/* All-on-4 steps: title above, 5 cards in a row (homepage checklist style) */
@media(min-width:960px){
html body .ao4-steps .hm-choose-grid:not(#_a):not(#_b){display:block!important}
html body .ao4-steps .hm-choose-copy:not(#_a):not(#_b){max-width:760px;margin:0 auto 36px!important;text-align:center}
html body .ao4-steps .hm-checklist:not(#_a):not(#_b){display:grid!important;grid-template-columns:repeat(var(--ao4n,5),minmax(0,1fr))!important;gap:18px!important;width:100%!important}
html body .ao4-steps .hm-checklist>li:not(#_a):not(#_b){grid-column:auto!important;width:auto!important;max-width:none!important;margin:0!important}
}

/* NO CROPPING on mobile/tablet: show each photo at its full natural size */
@media(max-width:959px){
html body :is(.rx-media>.rx-img,.rx-img,.ck-photo,.dr-why-photo,.hm-doc-media,.doc-media,.tp-intro-photo,.ab-photo,.ab-pl-pic,.np-hero-media,.hero-media):not(#_a):not(#_b):not(#_c){aspect-ratio:auto!important;height:auto!important;min-height:0!important;max-height:none!important;position:relative!important}
html body :is(.rx-media>.rx-img,.rx-img,.ck-photo,.dr-why-photo,.hm-doc-media,.doc-media,.tp-intro-photo,.ab-photo,.ab-pl-pic,.np-hero-media,.hero-media) img:not(#_a):not(#_b):not(#_c){position:relative!important;inset:auto!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;display:block}
}
/* desktop: keep equal heights but bias crop toward faces (upper part) */
@media(min-width:960px){
html body :is(.rx-media>.rx-img,.rx-img,.ck-photo,.dr-why-photo) img:not(#_a):not(#_b):not(#_c){object-position:center 22%!important}
}

/* All-on-4 steps: number badge on top, text full width below */
html body .ao4-steps .hm-checklist>li:not(#_a):not(#_b){display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:14px!important;position:relative!important}
html body .ao4-steps .hm-checklist>li .ck-body:not(#_a):not(#_b){width:100%!important;flex:none!important}
html body .ao4-steps .hm-checklist>li .ck-tick:not(#_a):not(#_b){position:absolute!important;top:22px;right:22px;display:block!important}
html body .ao4-steps .hm-checklist:has(>li:nth-child(4):last-child){--ao4n:4}
html body .ao4-steps .hm-checklist:has(>li:nth-child(6):last-child){--ao4n:3}
/* Dr. Poles name formula: name on line 1, credentials on line 2 */
.dr-name,.dr-cred{display:block}
.dr-name.in,.dr-cred.in{display:inline}
.dr-cred{font-weight:inherit;letter-spacing:0}
/* before/after: no caption text, zoom button only */
html body .ba figcaption:not(#_a){justify-content:flex-end!important;padding:10px 12px!important}
