/* Site-wide equal section spacing (loaded last on every page) */
:root{--sec:72px}
@media(max-width:820px){:root{--sec:64px}}
html body :is(main>section,main>div>section):not(.hero):not(.pg-hero):not(.sx-hero):not(.post-hero):not(.au-stats):not(#_a):not(#_b){padding-top:var(--sec)!important;padding-bottom:var(--sec)!important;margin-top:0!important;margin-bottom:0!important;min-height:0!important}
html body :is(main>section,main>div>section):not(.hero):not(.pg-hero):not(.sx-hero):not(.post-hero):not(.au-stats):not(#_a):not(#_b)>.wrap:not([class*=card]){padding-top:0!important;padding-bottom:0!important}
html body :is(main>section,main>div>section):not(.hero):not(.pg-hero):not(.sx-hero):not(.post-hero):not(.au-stats):not(#_a):not(#_b)>*{margin-top:0!important;margin-bottom:0!important}
html body :is(main>section,main>div>section):not(.hero):not(.pg-hero):not(.sx-hero):not(.post-hero):not(.au-stats):not(#_a):not(#_b)>.wrap>:first-child{margin-top:0!important}
html body :is(main>section,main>div>section):not(.hero):not(.pg-hero):not(.sx-hero):not(.post-hero):not(.au-stats):not(#_a):not(#_b)>.wrap>:last-child{margin-bottom:0!important}
html body main>div:not(#_a){margin:0!important;padding:0!important}
html body main>.au-stats:not(#_a){padding:0!important;margin:-36px 0 0!important}
html body main>.au-stats+section:not(#_a):not(#_b){padding-top:calc(var(--sec) + 12px)!important}
/* table first-cell icon (td::after, absolute at left 22px, 36px wide): reserve room so it never overlaps text */
html body table.stack-table tbody td:first-child:not(#_a):not(#_b):not(#_c){padding-left:74px!important;text-indent:0!important}
html body table.stack-table tbody td:first-child:not(#_a):not(#_b):not(#_c)::after{top:50%!important;bottom:auto!important;margin-top:-18px!important;transform:none!important}
/* heroes: breathing room under the sticky header */
html body main>section:first-child:not(.hero-video):not(#_a):not(#_b){padding-top:64px!important}
@media(max-width:820px){html body main>section:first-child:not(.hero-video):not(#_a):not(#_b){padding-top:32px!important}}
/* mobile: every H1 full width of its column (homepage hero had a max-width) */
@media(max-width:820px){html body main h1:not(#_a):not(#_b){max-width:none!important;width:auto!important}}
/* stats strip right after a hero: tucked into the hero, not a separate section */
html body main>section.trust:not(#_a):not(#_b):not(#_c){padding-top:0!important;padding-bottom:0!important;margin-top:-72px!important;position:relative;z-index:3}
html body main>section.trust:not(#_a):not(#_b)+section{padding-top:calc(var(--sec) + 8px)!important}
@media(max-width:820px){html body main>section.trust:not(#_a):not(#_b):not(#_c){margin-top:-40px!important}}
/* every table section: light orange card (homepage insurance-card style) */
html body .rx.rx-table:not(#_a):not(#_b){background:linear-gradient(135deg,#EEF6FC 0%,#FFFFFF 45%,#FDEDE4 100%)!important;border-radius:28px!important;padding:40px!important;box-shadow:0 0 0 1px #F3E3D8,0 24px 50px -40px rgba(13,42,68,.4)!important}
@media(max-width:820px){html body .rx.rx-table:not(#_a):not(#_b){padding:24px 16px!important;border-radius:22px!important}}
/* mobile menu: submenu icons in the same soft-orange tiles as the main items */
html body .sheet-group:not(#_a) a:not(.sheet-row)>svg{box-sizing:content-box!important;width:18px!important;height:18px!important;padding:8px!important;flex:0 0 auto;border-radius:30%!important;background:linear-gradient(150deg,#fff 0%,#fff 35%,#F6CDBD 100%)!important;box-shadow:inset 0 0 0 1px rgba(227,160,138,.35),0 4px 10px rgba(13,42,68,.06)!important;color:#C9715A!important;fill:#C9715A!important}
/* affiliation logos: same boxes, bigger logos */
html body .aff-logo:not(#_a):not(#_b){padding:10px 14px!important}
html body .aff-logo:not(#_a):not(#_b) img{max-height:72px!important;max-width:100%!important;width:auto!important;height:auto!important;object-fit:contain!important}
@media(max-width:820px){html body .aff-logo:not(#_a):not(#_b){padding:10px 12px!important}html body .aff-logo:not(#_a):not(#_b) img{max-height:68px!important}}
/* homepage stat cards: clear gap from the photo/buttons above */
html body main .hm-doc .wrap>.hm-stats:not(#_a):not(#_b):not(#_c):not(#_d){margin-top:64px!important}
@media(max-width:820px){html body main .hm-doc .wrap>.hm-stats:not(#_a):not(#_b):not(#_c):not(#_d){margin-top:40px!important}}
/* "Meet your dentist" photo: rounded photo filling its frame + offset light-orange card (no blob) */
html body .doc-media:not(#_a):not(#_b){position:relative;height:auto!important}
html body .doc-media:not(#_a):not(#_b) .dm-blob,html body .doc-media:not(#_a):not(#_b) .dm-dot{display:none!important}
html body .doc-media:not(#_a):not(#_b):before{content:"";position:absolute;inset:22px -18px -18px 22px;border-radius:30px;background:#FBE3D9;z-index:0}
html body main .doc-media:not(#_a):not(#_b):not(#_c):not(#_d):not(#_e):not(#_f) .dm-frame:not(#_g){position:relative;z-index:1;border-radius:28px!important;overflow:hidden!important;aspect-ratio:4/5!important;height:auto!important;clip-path:none!important;background:#EAF3FB}
html body main .doc-media:not(#_a):not(#_b):not(#_c):not(#_d):not(#_e):not(#_f) .dm-frame img:not(#_g){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 20%!important;border-radius:0!important}
html body .doc-media:not(#_a):not(#_b) .dm-tag{z-index:2}
@media(max-width:820px){html body .doc-media:not(#_a):not(#_b):before{inset:14px -10px -10px 14px}}
/* homepage care accordion: option lists compact 2x2 so tabs stay short */
html body .hm-care .oa-in .hm-opts:not(#_a):not(#_b){display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin:14px 0!important;padding:0!important}
html body .hm-care .oa-in .hm-opts:not(#_a):not(#_b)>li{display:flex!important;gap:10px!important;align-items:flex-start!important;padding:12px!important;margin:0!important;border-radius:14px!important;background:#fff!important;box-shadow:0 0 0 1px #E6EDF3!important;min-height:0!important}
html body .hm-care .oa-in .hm-opts:not(#_a):not(#_b)>li strong{display:block;font-size:15px!important;line-height:1.3!important;margin:0 0 2px!important}
html body .hm-care .oa-in .hm-opts:not(#_a):not(#_b)>li span:last-child{font-size:14.5px!important;line-height:1.45!important}
html body .hm-care .oa-in .hm-opts:not(#_a):not(#_b) .hm-opt-ic{flex:0 0 34px!important;width:34px!important;height:34px!important}
html body .hm-care .oa-in:not(#_a)>p{margin:0 0 10px!important}
@media(max-width:640px){html body .hm-care .oa-in .hm-opts:not(#_a):not(#_b){grid-template-columns:1fr!important}}
@media(min-width:981px){html body .hm-care .oa:not(#_a):not(#_b){grid-template-columns:minmax(0,5fr) minmax(0,7fr)!important;gap:48px!important}}
/* tables: last row no longer highlighted, same as the others */
html body table.stack-table tbody tr:last-child td:not(#_a):not(#_b):not(#_c){background:#fff!important;border-color:#E3EDF5!important}
/* logos: let each logo use the full box width */
html body .aff-logo:not(#_a):not(#_b):not(#_c){padding:8px 10px!important}
html body .aff-logo:not(#_a):not(#_b):not(#_c) img{max-height:76px!important;max-width:100%!important;width:auto!important;height:auto!important}
@media(max-width:820px){html body .aff-logo:not(#_a):not(#_b):not(#_c){padding:8px!important}html body .aff-logo:not(#_a):not(#_b):not(#_c) img{max-height:72px!important}}
/* removed language cards: keep grids balanced */
html body .au-two:not(#_a):has(>.au-card:only-child){grid-template-columns:1fr!important}
@media(min-width:1101px){html body .ct-info:not(.ab-info):not(#_a) .ct-cards{grid-template-columns:repeat(3,1fr)!important}}
/* ===== animated two-tone icons in tables + check lists (mega-menu style, orange tile) ===== */
html body .duo.t-ic,html body .duo.l-ic{width:44px!important;height:44px!important;flex:0 0 44px!important;border-radius:30%!important;background:linear-gradient(150deg,#fff 0%,#fff 35%,#F6CDBD 100%)!important;box-shadow:inset 0 0 0 1px rgba(227,160,138,.35),0 6px 14px rgba(13,42,68,.07)!important;display:inline-grid!important;place-items:center!important}
html body .duo.t-ic svg,html body .duo.l-ic svg{width:32px!important;height:32px!important}
html body table.stack-table tbody td:first-child:not(#_a):not(#_b):not(#_c):not(#_d){padding-left:18px!important}
html body table.stack-table tbody td:first-child:not(#_a):not(#_b):not(#_c):not(#_d)::before,html body table.stack-table tbody td:first-child:not(#_a):not(#_b):not(#_c):not(#_d)::after{content:none!important;display:none!important}
html body table.stack-table tbody td:first-child:has(.t-ic){vertical-align:middle}
html body table.stack-table tbody td:first-child .t-ic{vertical-align:middle;margin-right:14px}
html body table.stack-table tbody td:first-child .t-name{vertical-align:middle}
@media(min-width:821px){html body table.stack-table tbody td:first-child:has(.t-ic):not(#_a){white-space:normal!important}html body table.stack-table tbody td:first-child:has(.t-ic){display:table-cell}}
html body ul.rx-checks>li:has(>.l-ic):not(#_a){display:flex!important;gap:14px!important;align-items:flex-start!important}
html body ul.rx-checks>li>.l-ic{margin-top:2px}
/* play the icon animation when the row comes into view and on hover */
:is(tr,li).ic-in .di .a-screw,:is(tr,li):hover .di-implant .a-screw{animation:screw .9s var(--ease)}
:is(tr,li).ic-in .di-implant .a-crown,:is(tr,li):hover .di-implant .a-crown{animation:dropin .9s var(--ease)}
:is(tr,li).ic-in .di-allon4 .a-posts g,:is(tr,li):hover .di-allon4 .a-posts g{animation:popup .6s calc(var(--i)*.09s) var(--ease) both}
:is(tr,li).ic-in .di-aligner .a-aligner,:is(tr,li):hover .di-aligner .a-aligner{animation:slip .9s var(--ease)}
:is(tr,li).ic-in .di-braces .wire,:is(tr,li):hover .di-braces .wire{animation:draw2 .9s var(--ease)}
:is(tr,li).ic-in .di-braces .a-brackets rect,:is(tr,li):hover .di-braces .a-brackets rect{animation:popup .5s var(--ease)}
:is(tr,li).ic-in .di .a-spark,:is(tr,li).ic-in .di-cosmetic .a-stars path,:is(tr,li):hover .di .a-spark,:is(tr,li):hover .di-cosmetic .a-stars path{animation:twinkle .9s var(--ease)}
:is(tr,li).ic-in .di-whitening .a-rays,:is(tr,li):hover .di-whitening .a-rays{animation:rays 1s var(--ease)}
:is(tr,li).ic-in .di-whitening .half,:is(tr,li):hover .di-whitening .half{animation:whiten 1s var(--ease) forwards}
:is(tr,li).ic-in .di-family .a-brush,:is(tr,li):hover .di-family .a-brush{animation:scrub .8s ease-in-out 2}
:is(tr,li).ic-in .di-family .bub,:is(tr,li):hover .di-family .bub{animation:bubble 1.2s var(--ease)}
:is(tr,li).ic-in .di-crown .a-cap,:is(tr,li):hover .di-crown .a-cap{animation:capdown .8s var(--ease)}
:is(tr,li).ic-in .di-rootcanal .canal,:is(tr,li):hover .di-rootcanal .canal{animation:draw2 .9s var(--ease)}
:is(tr,li).ic-in .di-laser .beam,:is(tr,li):hover .di-laser .beam{animation:beam .25s linear 6}
:is(tr,li).ic-in .di-emergency .a-badge,:is(tr,li):hover .di-emergency .a-badge{animation:shake .6s var(--ease)}
:is(tr,li).ic-in .di-denture .a-top,:is(tr,li):hover .di-denture .a-top{animation:chomp .7s ease-in-out 2}
:is(tr,li).ic-in .duo.t-ic,:is(tr,li).ic-in .duo.l-ic{animation:shPop .75s cubic-bezier(.22,1,.36,1) both}
@media(prefers-reduced-motion:reduce){:is(tr,li) .di *,.duo.t-ic,.duo.l-ic{animation:none!important}}
/* new icon motions */
.di :is(.a-fan,.a-tilt,.a-stack,.a-pop,.a-slide,.a-blink,.a-beat,.a-drop){transform-box:fill-box;transform-origin:center}
.di .a-fan{transform-origin:50% 100%}
.di .a-draw{stroke-dasharray:1;stroke-dashoffset:0}
@keyframes icPop{0%{transform:scale(.55)}60%{transform:scale(1.14)}100%{transform:scale(1)}}
@keyframes icTilt{0%,100%{transform:rotate(0)}35%{transform:rotate(-14deg)}70%{transform:rotate(9deg)}}
@keyframes icStack{0%{transform:translateY(-9px);opacity:.2}100%{transform:none;opacity:1}}
@keyframes icFan{0%{transform:rotate(-16deg) scale(.9)}60%{transform:rotate(6deg)}100%{transform:none}}
@keyframes icDrop{0%{transform:translateY(-12px);opacity:0}70%{transform:translateY(2px);opacity:1}100%{transform:none}}
@keyframes icBlink{0%,100%{transform:scaleY(1)}45%{transform:scaleY(.1)}}
@keyframes icBeat{0%,100%{transform:scale(1)}30%{transform:scale(1.15)}60%{transform:scale(.96)}}
@keyframes icSlide{0%{transform:translateY(-10px)}70%{transform:translateY(2px)}100%{transform:none}}
@keyframes icDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
:is(tr,li):is(.ic-in,:hover) .di .a-pop{animation:icPop .8s cubic-bezier(.22,1,.36,1) both}
:is(tr,li):is(.ic-in,:hover) .di .a-tilt{animation:icTilt 1s ease-in-out}
:is(tr,li):is(.ic-in,:hover) .di .a-stack>*{animation:icStack .6s cubic-bezier(.22,1,.36,1) both}
:is(tr,li):is(.ic-in,:hover) .di .a-stack>:nth-child(2){animation-delay:.12s}
:is(tr,li):is(.ic-in,:hover) .di .a-stack>:nth-child(3){animation-delay:.24s}
:is(tr,li):is(.ic-in,:hover) .di .a-fan{animation:icFan .9s cubic-bezier(.22,1,.36,1)}
:is(tr,li):is(.ic-in,:hover) .di .a-drop{animation:icDrop .8s .2s cubic-bezier(.22,1,.36,1) both}
:is(tr,li):is(.ic-in,:hover) .di .a-blink{animation:icBlink .6s .3s ease-in-out}
:is(tr,li):is(.ic-in,:hover) .di .a-beat{animation:icBeat .9s ease-in-out 2}
:is(tr,li):is(.ic-in,:hover) .di .a-slide{animation:icSlide .8s cubic-bezier(.22,1,.36,1)}
:is(tr,li):is(.ic-in,:hover) .di .a-draw{animation:icDraw 1s .2s ease both}
@media(prefers-reduced-motion:reduce){.di *{animation:none!important}}
html body table.stack-table tbody td:first-child .t-name:not(#_a){margin-left:16px!important;display:inline-block}
html body table.stack-table tbody td:first-child .t-ic:not(#_a){margin-right:0!important}
html body table.stack-table .t-row:not(#_a){display:inline-flex!important;align-items:center!important;gap:14px!important;flex-wrap:nowrap!important;white-space:normal!important}
html body table.stack-table .t-row .t-name:not(#_a):not(#_b){margin:0!important;display:block!important}
html body table.stack-table .t-row .t-ic{flex:0 0 44px!important}
/* numbered checklist (1-5): equal badges everywhere, number above text on mobile, entrance animation */
html body .hm-checklist:not(#_a) li .ck-n{flex:0 0 56px!important;width:56px!important;height:56px!important;min-width:56px!important;display:inline-grid!important;place-items:center!important;border-radius:18px!important;font-size:22px!important;font-weight:700!important;transform:none!important;rotate:0deg!important}
@media(max-width:820px){html body .hm-checklist:not(#_a) li{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important}
html body .hm-checklist:not(#_a) li .ck-n{flex:0 0 auto!important;width:52px!important;height:52px!important;min-width:52px!important}
html body .hm-checklist:not(#_a) li .ck-tick{position:absolute!important;top:18px;right:18px}
html body .hm-checklist:not(#_a) li{position:relative!important}}
@keyframes ckIn{0%{transform:scale(.4) rotate(-20deg);opacity:0}60%{transform:scale(1.15) rotate(6deg);opacity:1}100%{transform:none;opacity:1}}
html body .hm-checklist li.ic-in .ck-n{animation:ckIn .8s cubic-bezier(.22,1,.36,1) both}
@media(prefers-reduced-motion:reduce){html body .hm-checklist li .ck-n{animation:none!important}}
@media(max-width:820px){html body main ol.hm-checklist:not(#_a):not(#_b):not(#_c)>li:not(#_d){display:grid!important;grid-template-columns:1fr!important;grid-auto-flow:row!important;justify-items:start!important;gap:12px!important;padding-right:56px!important}
html body main ol.hm-checklist:not(#_a):not(#_b):not(#_c)>li:not(#_d)>.ck-n{grid-column:1!important;grid-row:1!important}
html body main ol.hm-checklist:not(#_a):not(#_b):not(#_c)>li:not(#_d)>.ck-body{grid-column:1!important;grid-row:2!important}}

/* w2-list odd last item spans full row */
@media(min-width:821px){html body .rx-why2 .w2-list li:last-child:nth-child(odd):not(#_a){grid-column:1/-1}}

/* service section video */
html body .ck-wrap>.ck-photo.ck-video:not(#_a):not(#_b):not(#_c){align-self:center!important;aspect-ratio:4/3!important;height:auto!important;min-height:0!important;border-radius:28px!important;overflow:hidden!important;background:#EAF3FA;box-shadow:0 24px 50px -30px rgba(13,42,68,.45)}
html body .ck-photo.ck-video video:not(#_a):not(#_b):not(#_c){position:absolute!important;inset:0!important;display:block;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:inherit}
html body ul.rx-checks .lbl-sep:not(#_a){display:none}
/* video section layout: video beside intro, parts as cards below */
html body .ck-wrap:has(>.ck-video):not(#_a):not(#_b):not(#_c){display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:32px 48px!important;align-items:center!important}
html body .ck-wrap:has(>.ck-video)>.ck-body:not(#_a):not(#_b):not(#_c){display:contents!important}
html body .ck-wrap>.ck-photo.ck-video:not(#_a):not(#_b):not(#_c):not(#_d){grid-column:1!important;grid-row:1!important;align-self:center!important}
html body .ck-wrap:has(>.ck-video) .rx-stack-head:not(#_a):not(#_b):not(#_c){grid-column:2!important;grid-row:1!important;margin:0!important;align-self:center}
html body .ck-wrap:has(>.ck-video) ul.rx-checks:not(#_a):not(#_b):not(#_c){grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;margin:0!important;padding:0!important}
html body .ck-wrap:has(>.ck-video) ul.rx-checks li:not(#_a):not(#_b):not(#_c){margin:0!important;padding:22px!important;border:1px solid #E3EEF7!important;border-radius:20px!important;background:#fff!important;box-shadow:0 18px 36px -28px rgba(13,42,68,.35)}
html body .ck-wrap:has(>.ck-video) .ck-after:not(#_a):not(#_b):not(#_c){grid-column:1/-1!important;margin:0!important}
@media(max-width:899px){
html body .ck-wrap:has(>.ck-video):not(#_a):not(#_b):not(#_c){grid-template-columns:1fr!important;gap:22px!important}
html body .ck-wrap>.ck-photo.ck-video:not(#_a):not(#_b):not(#_c):not(#_d),html body .ck-wrap:has(>.ck-video) .rx-stack-head:not(#_a):not(#_b):not(#_c){grid-column:1!important;grid-row:auto!important}
html body .ck-wrap:has(>.ck-video) ul.rx-checks:not(#_a):not(#_b):not(#_c){grid-template-columns:1fr!important;gap:12px!important}
html body .ck-wrap:has(>.ck-video) ul.rx-checks li:not(#_a):not(#_b):not(#_c){padding:16px 18px!important}
}
/* rx-media video frame */
html body .rx-media>.rx-img.rx-video:not(#_a):not(#_b):not(#_c){align-self:center!important;aspect-ratio:4/3!important;height:auto!important;min-height:0!important;border-radius:28px!important;overflow:hidden!important;background:#EAF3FA;box-shadow:0 24px 50px -30px rgba(13,42,68,.45)}
html body .rx-img.rx-video video:not(#_a):not(#_b):not(#_c){position:absolute!important;inset:0!important;display:block;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:inherit}
/* balanced card rows under video sections */
@media(min-width:900px){
html body .ck-wrap:has(>.ck-video) ul.rx-checks:has(>li:nth-child(4):last-child):not(#_a):not(#_b):not(#_c){grid-template-columns:repeat(2,minmax(0,1fr))!important}
html body .ck-wrap:has(>.ck-video) ul.rx-checks:has(>li:nth-child(5):last-child):not(#_a):not(#_b):not(#_c){grid-template-columns:repeat(6,minmax(0,1fr))!important}
html body .ck-wrap:has(>.ck-video) ul.rx-checks:has(>li:nth-child(5):last-child)>li:not(#_a):not(#_b):not(#_c){grid-column:span 2!important}
html body .ck-wrap:has(>.ck-video) ul.rx-checks:has(>li:nth-child(5):last-child)>li:nth-child(n+4):not(#_a):not(#_b):not(#_c):not(#_d){grid-column:span 3!important}
html body .ck-wrap:has(>.ck-video) ul.rx-checks:has(>li:nth-child(2):last-child):not(#_a):not(#_b):not(#_c){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* table header: solid navy background on all stack tables */
html body table.stack-table thead th:not(#_a):not(#_b):not(#_c){background:#0D2A44!important;color:#fff!important;padding:16px 24px!important}
html body table.stack-table thead th:first-child:not(#_a):not(#_b):not(#_c){border-radius:18px 0 0 18px!important}
html body table.stack-table thead th:last-child:not(#_a):not(#_b):not(#_c){border-radius:0 18px 18px 0!important}
/* mobile table cards: icon starts at the same left edge as the text */
@media(max-width:767px){html body table.stack-table tbody td:first-child:not(#_a):not(#_b):not(#_c):not(#_d):not(#_e){padding-left:0!important}}
/* before/after cards: no empty strip, zoom button floats on the photo */
html body .ba:not(#_a):not(#_b){position:relative!important;border:0!important;box-shadow:0 18px 40px -22px rgba(13,42,68,.38)!important;border-radius:24px!important}
html body .ba figcaption:not(#_a):not(#_b){position:absolute!important;right:12px!important;bottom:12px!important;padding:0!important;z-index:4!important;pointer-events:none}
html body .ba .ba-zoom:not(#_a):not(#_b){pointer-events:auto;width:42px!important;height:42px!important;border-radius:14px!important;background:rgba(255,255,255,.94)!important;color:#0D2A44!important;box-shadow:0 6px 16px rgba(13,42,68,.22);backdrop-filter:blur(6px);transition:transform .2s,background .2s,color .2s}
html body .ba .ba-zoom:not(#_a):not(#_b):hover{background:#0D2A44!important;color:#fff!important;transform:scale(1.06)}
