@font-face{font-family:'Google Sans Flex';font-style:normal;font-weight:1 1000;font-display:swap;src:url('/fonts/google-sans-flex.woff2?v=optical01') format('woff2')}

:root{--paper:#FBF8F6;--porcelain:#FFFFFF;--petal:#F1DFDF;--petal-soft:#F8EFEF;--rose:#B8778A;--malva:#8B5268;--plum:#56394B;--plum-deep:#432B3A;--sage:#DDE9E5;--ink:#332B32;--muted:#756570;--line:#DED2D8;--white:#FFFFFF;--radius:22px;--font:'Google Sans Flex',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button{color:inherit}
button:disabled{opacity:.5;cursor:wait}
::selection{background:var(--petal)}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--malva);outline-offset:5px}
button{border:0}
p{line-height:1.45}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:450}
h2{font-size:clamp(36px,4.4vw,65px);letter-spacing:var(--tracking-copy);line-height:1.02}
h2>span{color:var(--malva)}
.section-wrap{max-width:1512px;margin-inline:auto;padding-inline:64px}
.section-space{padding-block:110px}
.header{max-width:1512px;margin:auto;padding:29px 64px;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;z-index:20}
.brand{display:inline-flex;gap:13px;align-items:center;font-size:21px;letter-spacing:var(--tracking-copy);white-space:nowrap}
.brand-mark{font-size:56px;font-weight:550;line-height:.8;letter-spacing:var(--tracking-copy);position:relative;width:46px;height:49px}
.brand-caption{display:block;font-size:14px;letter-spacing:var(--tracking-copy);margin-top:6px;color:var(--muted)}
.desktop-nav{display:flex;gap:32px;margin-left:30px;font-size:14px}
.desktop-nav a{position:relative;padding:10px 0}
.desktop-nav a:after{content:'';position:absolute;bottom:4px;left:0;height:1px;width:0;background:var(--ink);transition:width .25s}
.desktop-nav a:hover:after{width:100%}
.header-actions{display:flex;align-items:center;gap:16px}
.button{min-height:54px;border-radius:100px;padding:15px 23px;display:inline-flex;justify-content:center;align-items:center;gap:28px;font-size:14px;transition:background .25s,transform .25s}
.button:hover{transform:translateY(-3px)}
.button-dark{color:var(--paper);background:var(--plum)}
.button-dark:hover{background:var(--plum-deep)}
.button span{font-size:21px;line-height:1}
.button.small{min-height:45px;font-size:14px;padding:12px 20px;gap:22px}
.menu-button{display:none;background:transparent;padding:12px}
.mobile-nav{position:absolute;top:90px;left:22px;right:22px;background:var(--paper);box-shadow:0 20px 40px #56394B20;padding:20px;border-radius:18px}
.mobile-nav:not([hidden]){display:grid;gap:20px}
.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:30px;padding-top:37px;padding-bottom:70px;min-height:720px}
.hero-heading{padding-top:21px;position:relative}
.eyebrow{font-size:14px;display:flex;align-items:center;gap:10px;letter-spacing:var(--tracking-copy)}
.hero h1{font-size:clamp(62px,6.55vw,100px);line-height:.96;letter-spacing:var(--tracking-copy);margin:26px -30px 23px 0;font-weight:450;position:relative;z-index:2}
.hero h1>span{color:var(--malva)}
.hero-description{font-size:15px;color:var(--muted);line-height:1.45}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:28px}
.text-link{font-size:14px;background:none;display:inline-flex;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}
.text-link:hover{color:var(--plum)}
.hero-bottom{display:flex;align-items:center;gap:15px;margin-top:53px;border-top:1px solid var(--line);padding-top:25px;margin-right:35px}
.care-icon{font-size:40px;color:var(--muted)}
.hero-bottom p{font-size:14px;line-height:1.45}
.hero-bottom p span{color:var(--muted)}
.hero-index{margin-left:auto;font-size:14px;color:var(--muted)}
.hero-visual{position:relative;min-width:0;min-height:600px}
.image-frame{height:100%;min-height:600px;border-radius:24px;overflow:hidden;position:relative;background:#C5A59D}
.hero-image{height:100%;width:100%;object-fit:cover;object-position:62% 50%;position:absolute;transform-origin:50% 55%}
.image-shade{position:absolute;inset:0;background:#332B322B}
.image-top{position:absolute;left:28px;right:28px;top:26px;display:flex;justify-content:space-between;align-items:center;color:#FFFFFF;font-size:14px}
.image-bottom{position:absolute;bottom:35px;left:32px;right:30px;display:flex;align-items:end;justify-content:space-between;color:#FFFFFF;font-size:30px;font-weight:400;letter-spacing:var(--tracking-copy);line-height:1.08}
.floating-note{position:absolute;left:-45px;bottom:138px;background:#FBF8F6ED;backdrop-filter:blur(16px);border:1px solid #fff8;border-radius:15px;padding:17px 19px;display:flex;align-items:center;gap:13px;box-shadow:0 8px 35px #56394B10;font-size:14px;line-height:1.45;animation:float-note 7s ease-in-out infinite}
.floating-note div span{color:var(--muted)}
.note-icon{font-size:32px;color:var(--muted)}
.ticker{overflow:hidden;border-block:1px solid var(--line);padding:21px 0;color:var(--muted)}
.ticker>div{display:flex;align-items:center;gap:48px;width:max-content;font-size:21px;letter-spacing:var(--tracking-copy);animation:ticker 42s linear infinite}
.ticker span{font-size:25px;color:var(--rose)}
.section-label{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--muted);gap:20px;margin-bottom:44px}
.section-icon{font-size:24px}
.intro{display:grid;grid-template-columns:1fr 2fr;gap:35px}
.intro>.section-label{display:block}
.intro>.section-label span{display:block}
.intro>.section-label .section-icon{margin-top:45px;font-size:62px;color:var(--rose)}
.intro h2{font-size:clamp(35px,3.8vw,56px)}
.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:35px}
.intro-columns p{font-size:14px;color:var(--muted)}
.signature{font-size:23px;display:flex;align-items:center;gap:22px;margin-top:22px;letter-spacing:var(--tracking-copy)}
.signature>span{font-size:18px;color:var(--muted)}
.treatments{padding-top:0}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}
.section-heading>p{font-size:14px;color:var(--muted);padding-bottom:4px}
.treatment-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:65px}
.tooth-panel{background:var(--sage);border-radius:var(--radius);min-height:480px;position:relative;overflow:hidden;display:flex;flex-direction:column}
.tooth-panel-top{display:flex;justify-content:space-between;padding:25px 28px;font-size:14px;z-index:1}
.tooth-panel-top>span:last-child{font-size:20px}
.tooth-stage{height:370px;position:relative;flex:1;touch-action:pan-y;min-height:320px}
.tooth-stage canvas{display:block;position:absolute;inset:0;width:100%;height:100%}
.tooth-fallback{position:absolute;height:95%;width:100%;filter:drop-shadow(15px 25px 14px #56394B25);transition:opacity .3s}
.tooth-stage.loaded .tooth-fallback{opacity:0}
.tooth-panel-bottom{display:flex;align-items:center;gap:14px;padding:23px 28px;font-size:14px;line-height:1.5;z-index:1}
.tooth-panel-bottom small{color:var(--muted);font-size:14px}
.drag-icon{font-size:27px}
.pill{font-size:14px;border:1px solid var(--line);border-radius:20px;padding:5px 11px;margin-left:auto}
.treatment-list{border-top:1px solid var(--line)}
.treatment{width:100%;background:none;border-bottom:1px solid var(--line);display:flex;align-items:center;text-align:left;gap:22px;padding:25px 5px;transition:padding .3s,background .3s}
.treatment-number{font-size:14px;color:var(--muted);align-self:start;margin-top:8px}
.treatment strong{font-size:24px;font-weight:400;display:block;letter-spacing:var(--tracking-copy)}
.treatment small{font-size:14px;color:var(--muted);display:block;margin-top:8px}
.treatment:hover{padding-left:16px;background:var(--petal-soft)}
.treatment-disclaimer{font-size:14px;color:var(--muted);margin-top:18px}
.journey{border-top:1px solid var(--line)}
.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
.journey-card{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:var(--porcelain)}
.step-number{font-size:14px;display:flex;justify-content:space-between;color:var(--muted)}
.step-number>span{font-size:20px}
.step-art{height:156px;display:flex;align-items:center;justify-content:center}
.journey-card h3{font-size:21px;letter-spacing:var(--tracking-copy);margin:7px 0 14px}
.journey-card p{font-size:14px;color:var(--muted);max-width:290px}
.assistant-section{background:var(--petal-soft);position:relative;overflow:hidden}
.assistant-section .section-label{position:relative}
.ai-label{display:flex;align-items:center;gap:10px}
.assistant-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.assistant-copy h2{font-size:clamp(36px,4vw,57px)}
.assistant-copy>p{font-size:14px;color:var(--muted);max-width:405px;margin-top:24px}
.assistant-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;max-width:430px}
.assistant-tags button{border:1px solid var(--line);background:#FBF8F680;border-radius:25px;padding:11px 15px;font-size:14px;transition:background .2s}
.assistant-tags button:hover{background:#fff}
.assistant-copy>p.ai-disclaimer{font-size:14px;line-height:1.45;max-width:355px;margin-top:32px}
.chat-card{background:var(--porcelain);border-radius:22px;box-shadow:0 25px 60px #56394B0B;border:1px solid #fff;overflow:hidden;min-width:0}
.chat-header{display:flex;align-items:center;gap:13px;padding:22px 24px;border-bottom:1px solid var(--line)}
.chat-header strong{display:block;font-size:14px;font-weight:500}
.chat-header small{display:block;font-size:14px;color:var(--muted);margin-top:5px}
.chat-messages{height:238px;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:17px;scroll-behavior:smooth;overscroll-behavior:contain}
.message{padding:17px 18px;border-radius:0 15px 15px 15px;max-width:94%;flex-shrink:0;font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.message p{line-height:1.45}
.assistant-message{background:var(--petal-soft)}
.message-label{font-size:14px;color:var(--muted);display:block;margin-bottom:7px}
.message-footnote{display:block;font-size:14px;color:var(--muted);margin-top:13px}
.user-message{background:var(--plum);color:#fff;align-self:flex-end;border-radius:15px 0 15px 15px}
.pending-message{color:var(--muted)}
.chat-card form{padding:6px 20px 0}
.chat-consent{display:flex;gap:7px;align-items:start;margin-bottom:13px}
.chat-consent input{margin:3px 0 0;accent-color:var(--plum);width:13px;height:13px;flex-shrink:0}
.chat-consent label{font-size:14px;color:var(--muted);line-height:1.45}
.inline-button{background:none;font-size:inherit;text-decoration:underline;padding:0}
.chat-input-wrap{border:1px solid var(--line);display:flex;border-radius:30px;padding:8px 9px 8px 17px;gap:8px;align-items:center;background:#fff}
.chat-input-wrap textarea{border:0;outline:none;resize:none;min-height:27px;max-height:90px;flex:1;width:100%;font-size:14px;background:transparent;padding-top:6px;color:var(--ink)}
.chat-error{font-size:14px;color:#A23E4B;padding-top:8px;min-height:9px}
.chat-bottom{font-size:14px;color:var(--muted);text-align:center;padding:13px 15px 18px}
.chat-bottom span{margin-right:5px}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.faq-grid h2{font-size:clamp(36px,4vw,55px)}
.faq-items details{border-bottom:1px solid var(--line)}
.faq-items details:first-child{border-top:1px solid var(--line)}
.faq-items summary{font-size:15px;display:flex;justify-content:space-between;align-items:center;padding:23px 0;gap:18px;cursor:pointer;list-style:none}
.faq-items summary::-webkit-details-marker{display:none}
.faq-items summary span{font-size:24px;color:var(--muted);transition:transform .3s}
.faq-items details[open] summary span{transform:rotate(45deg)}
.faq-items details p{font-size:14px;color:var(--muted);padding:0 35px 25px 0}
.contact{padding-bottom:30px}
.contact-inner{background:var(--petal);border-radius:25px;padding:38px 44px;overflow:hidden}
.contact-inner .section-label{margin-bottom:49px;color:var(--muted)}
.contact-inner .section-label>span:last-child{font-size:33px}
.contact-body{display:flex;align-items:center;justify-content:space-between;gap:30px}
.contact-body h2{font-size:clamp(45px,5.5vw,80px);letter-spacing:var(--tracking-copy)}
.contact-body h2 span{color:var(--malva)}
.contact-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:45px;padding-top:25px;font-size:14px}
.contact-bottom p{color:var(--muted)}
.contact-bottom a span{margin-left:25px;font-size:20px}
.footer{padding-block:38px 26px;display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}
.footer .brand{font-size:18px}
.footer .brand-mark{font-size:45px;width:38px;height:42px}
.footer>div{display:flex;gap:27px;font-size:14px;align-items:center;color:var(--muted)}
.footer button{padding:0;background:none;color:inherit;font-size:inherit}
.editorial-note{width:100%;font-size:14px;color:var(--muted);text-align:center;margin-top:20px}
.modal{width:min(520px,calc(100% - 32px));max-height:90dvh;border:1px solid #fff;border-radius:24px;padding:28px 34px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #332B3233;overscroll-behavior:contain}
.modal::backdrop{background:#332B3280;backdrop-filter:blur(7px)}
body:has(dialog[open]){overflow:hidden}
.modal[open]{animation:modal-in .3s ease}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:20px}
.modal-header .eyebrow{font-size:14px}
.modal h2{font-size:45px;letter-spacing:var(--tracking-copy);margin-bottom:20px}
.modal>p{font-size:14px;color:var(--muted);margin-bottom:22px}
.modal form>label{display:block;font-size:14px;margin:18px 0 9px}
.modal input,.modal select{display:block;width:100%;border:1px solid var(--line);border-radius:10px;min-height:46px;padding:11px 13px;color:var(--ink);background:var(--porcelain);font-size:14px}
.field-help{font-size:14px!important;color:var(--muted);line-height:1.45;margin:10px 0 20px}
.full-width{width:100%}
.booking-summary{white-space:pre-wrap;background:var(--petal-soft);border-radius:13px;padding:22px;font-size:14px;line-height:1.5;margin:20px 0}
.modal #edit-booking{margin:15px auto;display:flex}
.detail-symbol{font-size:50px;display:block;color:var(--rose);margin-bottom:20px}
.modal ul{padding-left:19px;font-size:14px;color:var(--muted);line-height:1.55;margin-block:22px}
.privacy-modal h3{font-size:17px;margin:25px 0 12px}
.privacy-modal>p{font-size:14px;margin-bottom:14px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:#fff;padding:15px;border-radius:10px}
.skip-link:focus{top:15px}
.reveal{opacity:1;transform:none}
.js-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}
.js-motion .reveal.visible{opacity:1;transform:none}
.journey-card:nth-child(2){transition-delay:.1s}
.journey-card:nth-child(3){transition-delay:.2s}

@keyframes ticker{to{transform:translateX(-33.333%)}
}
@keyframes float-note{50%{transform:translateY(-9px)}
}
@keyframes spin{to{transform:rotate(360deg)}
}
@keyframes modal-in{from{opacity:0;transform:translateY(15px)}
to{opacity:1;transform:none}
}

@media(min-width:1550px){.hero{min-height:820px}
.hero-visual,.image-frame{min-height:670px}
.hero h1{font-size:106px}
.hero-actions{margin-top:35px}
.hero-bottom{margin-top:65px}
}

@media(max-width:1150px){.section-wrap{padding-inline:38px}
.header{padding-inline:38px}
.desktop-nav{gap:23px;margin-left:0}
.hero{gap:20px;min-height:650px}
.hero h1{font-size:clamp(62px,7vw,85px);letter-spacing:var(--tracking-copy)}
.hero-visual,.image-frame{min-height:560px}
.hero-actions{gap:16px;flex-wrap:wrap}
.hero-bottom{margin-top:32px}
.hero-actions .button{font-size:14px;gap:18px}
.hero-actions .text-link{font-size:14px}
.intro{grid-template-columns:.7fr 2fr}
.intro-columns{gap:30px}
.assistant-grid,.faq-grid{gap:45px}
.treatment-layout{gap:38px}
.treatment strong{font-size:21px}
.image-bottom{font-size:26px}
.section-space{padding-block:85px}
.treatments{padding-top:0}
.contact-body h2{font-size:61px}
}

@media(max-width:850px){.desktop-nav{display:none}
.menu-button{display:block}
.header{padding-block:22px}
.hero{padding-top:20px;grid-template-columns:1fr 1fr;padding-bottom:55px}
.hero h1{font-size:60px;letter-spacing:var(--tracking-copy)}
.hero .eyebrow{font-size:14px}
.hero-visual,.image-frame{min-height:540px}
.hero-description{font-size:14px}
.hero-actions{gap:12px;margin-top:22px}
.floating-note{left:-35px;bottom:125px;padding:12px;font-size:14px}
.image-bottom{left:23px;right:23px;bottom:26px;font-size:24px}
.image-top{left:22px;right:22px;font-size:14px}
.hero-bottom{margin-right:0;gap:10px}
.hero-bottom p{font-size:14px}
.hero-index{display:none}
.intro{grid-template-columns:1fr;gap:0}
.intro>.section-label{display:flex}
.intro>.section-label .section-icon{margin:0;font-size:24px}
.intro h2{font-size:44px}
.intro-columns{max-width:680px}
.section-heading{display:block}
.section-heading>p{margin-top:22px}
.treatment-layout{gap:25px;grid-template-columns:1fr 1fr}
.tooth-panel{min-height:460px}
.treatment{padding-block:24px;gap:12px}
.treatment strong{font-size:18px}
.treatment small{font-size:14px}
.journey-grid{gap:11px}
.journey-card{padding:20px}
.journey-card h3{font-size:18px}
.journey-card p{font-size:14px}
.assistant-grid{gap:30px}
.assistant-copy h2{font-size:37px}
.assistant-copy>p{font-size:14px}
.chat-header{padding:18px 16px}
.chat-messages{padding:18px}
.chat-card form{padding-inline:14px}
.faq-grid{gap:30px}
.faq-grid h2{font-size:37px}
.contact-inner{padding:30px}
.contact-body h2{font-size:52px;letter-spacing:var(--tracking-copy)}
.contact-bottom{font-size:14px}
.footer>div{gap:18px}
}

@media(max-width:640px){html{scroll-padding-top:25px}
.section-wrap{padding-inline:22px}
.section-space{padding-block:65px}
.header{padding:20px 22px;gap:10px}
.brand{font-size:17px;gap:9px}
.brand-mark{font-size:47px;width:38px;height:42px}
.brand-caption{font-size:14px;margin-top:5px}
.header-actions{gap:3px}
.header .button{display:none}
.hero{display:flex;flex-direction:column;gap:32px;min-height:auto;padding-top:18px;padding-bottom:45px}
.hero-heading{padding:0}
.hero .eyebrow{font-size:14px}
.hero h1{font-size:clamp(53px,12.8vw,81px);letter-spacing:var(--tracking-copy);margin:25px 0 21px;line-height:1.02}
.hero-description{font-size:14px;line-height:1.45}
.hero-description br:last-child{display:none}
.hero-actions{gap:18px;flex-wrap:wrap;margin-top:24px}
.hero-actions .button{font-size:14px;min-height:49px;padding:13px 19px;gap:20px}
.hero-actions .text-link{font-size:14px}
.hero-bottom{display:none}
.hero-visual{min-height:410px;margin-left:12px}
.image-frame{min-height:410px;border-radius:19px}
.hero-image{object-position:center 48%}
.image-top{top:20px;font-size:14px}
.image-bottom{font-size:27px;bottom:26px}
.floating-note{left:-12px;bottom:105px;font-size:14px;padding:13px 16px}
.ticker{padding:17px 0}
.ticker>div{font-size:17px;gap:28px}
.ticker span{font-size:22px}
.section-label{font-size:14px;margin-bottom:30px}
.section-label>span:last-child:not(.section-icon){text-align:right;max-width:49%}
.intro h2,h2{font-size:36px;letter-spacing:var(--tracking-copy)}
.intro-columns{grid-template-columns:1fr;gap:22px;margin-top:27px}
.intro-columns p{font-size:14px}
.signature{font-size:21px;margin-top:20px}
.intro>.section-label .section-icon{font-size:21px}
.treatments{padding-top:0}
.section-heading{margin-bottom:28px}
.section-heading>p{font-size:14px;margin-top:18px}
.treatment-layout{grid-template-columns:1fr;gap:30px}
.tooth-panel{min-height:390px}
.tooth-stage{height:285px;min-height:260px}
.tooth-panel-top{padding:22px 24px}
.tooth-panel-bottom{padding:15px 24px 20px}
.treatment{padding:22px 0;gap:20px}
.treatment strong{font-size:22px}
.treatment small{font-size:14px}
.treatment-disclaimer{font-size:14px}
.journey-grid{grid-template-columns:1fr;gap:13px;margin-top:30px}
.journey-card{padding:23px;display:grid;grid-template-columns:1fr 105px;column-gap:8px}
.step-number{grid-column:1/-1}
.journey-card .step-art{grid-column:2;grid-row:2/4;height:130px;align-self:center}
.journey-card h3{grid-column:1;grid-row:2;align-self:end;margin:20px 0 10px;font-size:20px}
.journey-card p{grid-column:1;grid-row:3;font-size:14px}
.assistant-section .section-label{align-items:start}
.ai-label{font-size:14px;line-height:1.45;gap:7px}
.assistant-grid{grid-template-columns:1fr;gap:35px}
.assistant-copy h2{font-size:38px}
.assistant-copy>p{font-size:14px;margin-top:20px;max-width:350px}
.assistant-tags{margin-top:22px}
.assistant-tags button{font-size:14px}
.assistant-copy>p.ai-disclaimer{font-size:14px;margin-top:23px}
.chat-card{border-radius:19px}
.chat-header{padding:19px 21px}
.chat-messages{height:240px;padding:20px}
.chat-card form{padding-inline:18px}
.chat-consent label{font-size:14px}
.chat-bottom{font-size:14px}
.chat-error{font-size:14px}
.faq-grid{grid-template-columns:1fr;gap:30px}
.faq-grid h2{font-size:36px}
.faq-items summary{font-size:14px;padding:21px 0}
.faq-items details p{font-size:14px;padding-right:20px}
.contact{padding-inline:13px;padding-bottom:15px}
.contact-inner{padding:25px;border-radius:20px}
.contact-inner .section-label{margin-bottom:30px}
.contact-body{gap:10px;align-items:end}
.contact-body h2{font-size:37px;letter-spacing:var(--tracking-copy);line-height:1.13}
.contact-bottom{display:block;margin-top:29px;padding-top:20px;font-size:14px}
.contact-bottom a{display:inline-block;margin-top:17px}
.contact-bottom a span{margin-left:18px}
.footer{padding:30px 24px 90px;gap:28px}
.footer .brand{font-size:17px}
.footer>div{width:100%;justify-content:space-between;gap:10px;font-size:14px}
.editorial-note{text-align:left;font-size:14px;margin-top:0;max-width:300px}
.modal{padding:22px 24px;border-radius:20px;max-height:91dvh}
.modal h2{font-size:39px}
.modal-header{margin-bottom:21px}
.modal-header .eyebrow{font-size:14px}
.modal>p{font-size:14px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation:none!important;transition:none!important}
.js-motion .reveal{opacity:1;transform:none}
.chat-messages{scroll-behavior:auto}
}


@media(max-width:640px){.hero h1>span{font-size:.82em;letter-spacing:var(--tracking-copy);white-space:nowrap}
}


@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:300;font-display:block;src:url('/fonts/material-symbols-outlined.woff2?v=interactive01') format('woff2')}

.material-symbols-outlined{font-family:'Material Symbols Outlined'!important;font-weight:300;font-style:normal;display:inline-block;line-height:1;letter-spacing:normal!important;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:'liga';-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;font-size:24px;flex-shrink:0;vertical-align:middle;background:none;border:0;box-shadow:none}

.menu-button .material-symbols-outlined{width:auto;height:auto;margin:0;background:none;font-size:26px}

.icon-button,.send-button,.image-arrow,.round-cta,.whatsapp-float{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;color:var(--plum);flex-shrink:0;transition:color .2s,transform .2s}

.icon-button:hover,.send-button:hover,.round-cta:hover,.whatsapp-float:hover{background:none;color:var(--malva);transform:translateY(-2px)}

.icon-button .material-symbols-outlined,.send-button .material-symbols-outlined{font-size:25px}

.image-arrow{color:#fff}
.image-arrow .material-symbols-outlined{font-size:38px}
.image-arrow:hover{color:#fff;transform:translate(3px,-3px)}

.treatment-arrow{margin-left:auto;background:none;border:0;border-radius:0;color:var(--malva);font-size:26px}
.treatment:hover .treatment-arrow{background:none;color:var(--plum);transform:translate(3px,-3px)}

.campaign-icon{font-size:29px}
.assistant-icon{margin-bottom:30px;color:var(--malva)}
.assistant-icon .material-symbols-outlined{font-size:56px}
.chat-symbol{font-size:30px;color:var(--malva)}

.step-art{justify-content:flex-start;height:156px}
.step-art .material-symbols-outlined{font-size:65px;color:var(--malva);transform:none}
.round-cta .material-symbols-outlined{font-size:72px}
.contact-bottom a .material-symbols-outlined{font-size:21px}

.whatsapp-float{position:fixed;bottom:24px;right:25px;z-index:25;color:var(--plum)}
.whatsapp-float .material-symbols-outlined{font-size:34px}

.brand-mark{letter-spacing:var(--tracking-copy);width:35px;color:var(--plum)}
.footer .brand-mark{width:30px}
.care-icon{font-size:32px;color:var(--malva)}
.note-icon{font-size:29px;color:var(--malva)}

.faq-items summary .material-symbols-outlined{font-size:24px}
.faq-items details[open] summary .material-symbols-outlined{transform:rotate(45deg)}

.assistant-tags button{display:inline-flex;align-items:center;gap:9px}
.assistant-tags .material-symbols-outlined{font-size:17px}
.chat-bottom .material-symbols-outlined{font-size:14px}
.footer a:has(.material-symbols-outlined){display:inline-flex;align-items:center;gap:6px}
.footer .material-symbols-outlined{font-size:16px}

@media(max-width:640px){.step-art{justify-content:center}
.step-art .material-symbols-outlined{font-size:52px}
.round-cta .material-symbols-outlined{font-size:44px}
.assistant-icon .material-symbols-outlined{font-size:46px}
.whatsapp-float{bottom:18px;right:18px}
.hero-bottom .care-icon{font-size:30px}
}


.professional-signature{margin-top:22px}
.professional-signature .signature{margin-top:0}
.professional-title{display:block;font-size:14px;line-height:1.45;color:var(--muted);margin-top:8px;letter-spacing:var(--tracking-copy)}

.practice-details{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:30px;padding-top:28px;border-top:1px solid #56394B26}
.practice-details>div{display:flex;align-items:flex-start;gap:17px}
.practice-details>div>.material-symbols-outlined{font-size:27px;color:var(--malva);margin-top:2px}
.detail-label{font-size:14px;color:var(--muted);display:block;margin-bottom:10px}
.practice-details address{font-size:14px;line-height:1.5;font-style:normal}
.practice-details p{font-size:14px}
.practice-details a{display:inline-flex;align-items:center;gap:12px;font-size:14px;border-bottom:1px solid #56394B35;padding:6px 0;margin-top:9px}
.practice-details a .material-symbols-outlined{font-size:17px}
.contact-inner{background:var(--petal)}
.ticker span{font-size:21px;color:var(--muted);padding-right:45px}
.floating-note{background:var(--paper);backdrop-filter:none;box-shadow:none;border:1px solid var(--line)}

@media(max-width:640px){.practice-details{grid-template-columns:1fr;gap:25px;margin-top:25px;padding-top:25px}
.practice-details address,.practice-details p{font-size:14px}
.professional-title{font-size:14px}
.ticker span{font-size:17px;padding-right:15px}
.signature{font-size:22px}
}

.chat-header .icon-button{margin-left:auto}

/* Original brand mark; compact rhythm with natural sentence case. */
.brand{display:inline-flex;flex-shrink:0}.brand-logo{display:block;width:260px;height:auto;max-width:100%}.footer .brand-logo{width:236px}.hero-description{max-width:390px}.section-label{margin-bottom:34px}.intro-columns{margin-top:28px}.section-heading{margin-bottom:32px}.professional-title{line-height:1.4}.hero-bottom{margin-top:38px;padding-top:20px}.modal p{line-height:1.45}.practice-details address{line-height:1.45}
@media(max-width:1150px){.brand-logo{width:230px}}
@media(max-width:640px){.brand-logo{width:218px;max-width:calc(100vw - 104px)}.footer .brand-logo{width:222px}.hero h1{line-height:.98}.hero-description{line-height:1.45}.section-label{margin-bottom:26px}.hero-actions{gap:12px}.hero-actions .text-link{gap:8px}.hero-actions .material-symbols-outlined{font-size:19px}.footer>div{flex-wrap:wrap;justify-content:flex-start;column-gap:20px;row-gap:14px}}

/* Shared typographic scale: readable supporting copy and a calmer display hierarchy. */
:root{--text-caption:.875rem;--text-small:.9375rem;--text-body:1.0625rem;--text-lead:1.125rem;--text-card:1.5rem;--text-section:clamp(2.125rem,4vw,3.5rem);--leading-copy:1.45;--leading-heading:1.08}
body{font-size:var(--text-body);line-height:var(--leading-copy)}
h1,h2,h3{font-weight:500;text-wrap:balance}h2,.intro h2,.assistant-copy h2,.faq-grid h2{font-size:var(--text-section);line-height:var(--leading-heading);letter-spacing:var(--tracking-copy)}
p{line-height:var(--leading-copy)}
.desktop-nav,.mobile-nav{font-size:1rem}.desktop-nav{gap:26px;margin-left:0}
.button,.button.small,.hero-actions .button{font-size:1rem;font-weight:500;min-height:50px;gap:18px}
.text-link,.hero-actions .text-link{font-size:var(--text-small);gap:10px}
.hero h1{font-size:clamp(3.5rem,6.3vw,5.5rem);line-height:1.02;letter-spacing:var(--tracking-copy);margin:26px 0 24px}
.hero-description{font-size:var(--text-lead);line-height:var(--leading-copy);max-width:37ch}
.hero-actions{flex-wrap:wrap;row-gap:16px}.hero-bottom p{font-size:var(--text-small)}.hero-index{font-size:var(--text-caption)}
.eyebrow,.hero .eyebrow,.section-label,.ai-label,.modal-header .eyebrow{font-size:var(--text-caption);line-height:1.35;letter-spacing:var(--tracking-copy)}
.section-label{align-items:start}.section-label>span:last-child:not(.section-icon){max-width:none;text-align:initial}.section-label>span+span{max-width:48%;text-align:right}
.image-top,.floating-note{font-size:var(--text-caption);line-height:1.4}.floating-note{max-width:calc(100% + 12px)}.image-bottom{font-size:clamp(1.625rem,2.5vw,2.125rem);line-height:1.12;letter-spacing:var(--tracking-copy)}
.intro-columns p,.section-heading>p,.journey-card p,.assistant-copy>p,.faq-items details p,.modal>p,.privacy-modal>p{font-size:var(--text-body);line-height:var(--leading-copy)}
.intro-columns{gap:32px}.journey-card p{max-width:34ch}.signature{font-size:var(--text-card)}
.professional-title,.detail-label,.practice-details a,.treatment-disclaimer,.assistant-copy>p.ai-disclaimer{font-size:var(--text-caption);line-height:1.4}
.treatment strong{font-size:var(--text-card);line-height:1.2;letter-spacing:var(--tracking-copy)}.treatment small{font-size:var(--text-small);line-height:1.4}.treatment-number,.step-number,.pill,.tooth-panel-top,.tooth-panel-bottom,.tooth-panel-bottom small{font-size:var(--text-caption);line-height:1.4}
.treatment{gap:18px;padding-block:25px}.treatment-arrow{min-width:30px}.journey-card h3{font-size:var(--text-card);line-height:1.15;letter-spacing:var(--tracking-copy)}
.assistant-tags button{font-size:var(--text-caption);line-height:1.3;min-height:44px;padding:11px 16px}.assistant-copy>p.ai-disclaimer{max-width:42ch}
.chat-header strong{font-size:1rem;line-height:1.3}.chat-header small,.message-label,.message-footnote,.chat-consent label,.chat-bottom,.chat-error{font-size:var(--text-caption);line-height:1.4}
.chat-messages{height:330px}.message,.message p{font-size:var(--text-body);line-height:var(--leading-copy)}.message{max-width:100%;padding:18px}
.chat-input-wrap textarea{font-size:1rem;line-height:1.4;min-height:34px;padding-top:6px}.chat-consent{gap:10px}.chat-consent input{width:18px;height:18px;margin-top:2px}.chat-error{min-height:12px}.chat-bottom{padding:14px 20px 20px}.chat-bottom .material-symbols-outlined{font-size:18px}
.faq-items summary{font-size:var(--text-lead);line-height:1.35;font-weight:500}.faq-items details p{padding-right:22px}
.contact-body h2{font-size:clamp(2.375rem,5vw,4.375rem);line-height:1.08;letter-spacing:var(--tracking-copy)}.contact-inner .section-label>span:last-child{font-size:var(--text-caption)}
.contact-bottom,.practice-details address,.practice-details p{font-size:1rem;line-height:var(--leading-copy)}.contact-bottom{flex-wrap:wrap;row-gap:15px}.practice-details{gap:30px}.practice-details a{font-size:var(--text-small)}
.footer>div,.editorial-note{font-size:var(--text-caption);line-height:1.4}.footer>div{flex-wrap:wrap;row-gap:14px}.editorial-note{max-width:70ch;margin-inline:auto}
.modal{width:min(570px,calc(100% - 32px))}.modal h2{font-size:clamp(2.125rem,4vw,2.75rem);line-height:1.08;letter-spacing:var(--tracking-copy)}.modal form>label{font-size:var(--text-small);line-height:1.35;font-weight:500}.modal input,.modal select{font-size:1rem;min-height:50px}.field-help{font-size:var(--text-caption)!important;line-height:1.4}.booking-summary,.modal ul{font-size:var(--text-body);line-height:var(--leading-copy)}.privacy-modal h3{font-size:1.25rem;line-height:1.2}
@media(max-width:1050px){.desktop-nav{display:none}.menu-button{display:block}.header .button{font-size:var(--text-small)}.assistant-grid{gap:32px}}
@media(max-width:850px){.hero h1{font-size:3.5rem}.hero-description{font-size:var(--text-body)}.section-heading>p{max-width:48ch}.journey-card{padding:23px}.assistant-grid,.faq-grid{grid-template-columns:1fr}.assistant-copy>p{max-width:52ch}.assistant-tags{max-width:none}.chat-card{max-width:620px;width:100%}.assistant-grid{gap:35px}}
@media(max-width:640px){.hero h1{font-size:clamp(2.625rem,11.4vw,3.625rem);line-height:1.04;letter-spacing:var(--tracking-copy)}.hero h1>span{font-size:1em;letter-spacing:var(--tracking-copy);white-space:normal}.hero-description{font-size:var(--text-body)}.hero-actions{align-items:start;gap:16px}.hero-actions .button{padding:14px 20px}.hero-actions .text-link{padding-block:12px}.hero .eyebrow{font-size:var(--text-caption)}
.section-label{gap:14px}.section-label>span+span{max-width:48%}.section-heading{margin-bottom:30px}.intro-columns{gap:24px}.intro h2,h2,.assistant-copy h2,.faq-grid h2{font-size:clamp(2.125rem,8.8vw,2.625rem)}
.floating-note{padding:15px 17px;bottom:122px;left:-12px;max-width:calc(100% + 12px)}.image-top{font-size:var(--text-caption)}.image-bottom{font-size:1.625rem}
.treatment{gap:12px}.treatment strong{font-size:1.375rem}.treatment small{font-size:var(--text-small)}.treatment-number{font-size:var(--text-caption)}
.journey-card{display:block;padding:25px}.journey-card .step-art{height:78px;justify-content:flex-start;margin:16px 0}.journey-card h3{font-size:1.5rem;margin:12px 0}.journey-card p{font-size:var(--text-body);max-width:none}.step-art .material-symbols-outlined{font-size:48px}
.assistant-copy>p,.assistant-copy>p.ai-disclaimer{max-width:none}.chat-header{padding:20px 18px;gap:10px}.chat-header strong{font-size:1rem}.chat-header small{font-size:var(--text-caption)}.chat-messages{height:320px;padding:18px}.chat-card form{padding-inline:16px}.chat-consent label{font-size:var(--text-caption)}.chat-bottom{font-size:var(--text-caption)}
.faq-items summary{font-size:var(--text-body)}.faq-items details p{font-size:var(--text-body)}.contact-inner{padding:26px 23px}.contact-body h2{font-size:clamp(2.125rem,9vw,2.625rem)}.contact-bottom,.practice-details address,.practice-details p{font-size:1rem}
.footer>div{font-size:var(--text-caption)}.editorial-note{font-size:var(--text-caption);max-width:none}.modal{padding:24px}.modal>p,.privacy-modal>p{font-size:var(--text-body)}.modal-header .eyebrow{font-size:var(--text-caption)}}

/* Touch layouts and a direct path to a personal WhatsApp conversation. */
.mobile-booking-bar{display:none}.booking-direct{margin:0 0 8px;color:var(--plum);min-height:44px}.optional-label{font-weight:400;color:var(--muted);font-size:var(--text-caption)}.mobile-nav-booking{color:var(--plum);font-weight:500;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px}.header-actions>a{white-space:nowrap}
@media(max-width:1050px){
body.has-booking-dock{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));scroll-padding-bottom:110px}
.has-booking-dock .whatsapp-float{display:none}
.mobile-booking-bar{display:block;position:fixed;inset:auto 0 0;z-index:30;background:var(--paper);border-top:1px solid var(--line);padding:10px max(20px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px))}
.mobile-booking-inner{max-width:620px;margin-inline:auto}.mobile-booking-bar .button{width:100%;min-height:52px;font-size:1rem;gap:14px}.mobile-booking-bar p{font-size:var(--text-caption);line-height:1.3;text-align:center;color:var(--muted);margin-top:6px}
body:has(dialog[open]) .mobile-booking-bar,body:has(input:focus,textarea:focus,select:focus) .mobile-booking-bar{display:none}
.section-space{padding-block:72px}.treatments{padding-top:0}.section-label{margin-bottom:28px}.section-heading{margin-bottom:30px}
.hero{padding-top:20px;padding-bottom:48px}.hero-actions{gap:16px}.hero-actions .text-link{min-height:44px}.footer{padding-bottom:30px}
.mobile-nav{top:calc(100% - 6px);max-height:calc(100dvh - 210px);overflow:auto;padding:22px;gap:0}.mobile-nav>a{min-height:48px;display:flex;align-items:center}.mobile-nav .mobile-nav-booking{margin-top:8px}
}
@media(min-width:641px) and (max-width:900px){
.hero{grid-template-columns:1fr;gap:30px;min-height:0}.hero-heading{padding-top:0}.hero h1{font-size:clamp(3.5rem,7.8vw,4rem);max-width:14ch;margin-top:22px;margin-bottom:22px}.hero-description{max-width:44ch}.hero-actions{margin-top:24px}.hero-bottom{display:none}
.hero-visual{min-height:380px;max-height:440px}.image-frame{min-height:380px;height:420px}.hero-image{object-position:50% 55%}.floating-note{left:24px;bottom:115px;max-width:360px}.image-bottom{font-size:1.75rem;left:28px;right:28px;bottom:26px}
.intro-columns{max-width:none;gap:28px}.treatment-layout{grid-template-columns:.85fr 1.15fr;gap:28px}.treatment{gap:12px}.treatment strong{font-size:1.375rem}.tooth-panel{min-height:480px}
.journey-grid{grid-template-columns:1fr;gap:16px;margin-top:30px}.journey-card{display:grid;grid-template-columns:88px 1fr;column-gap:24px;padding:26px}.journey-card .step-number{grid-column:1/-1}.journey-card .step-art{grid-column:1;grid-row:2/4;height:100%;min-height:90px;margin-top:16px}.journey-card h3{grid-column:2;margin-top:20px}.journey-card p{grid-column:2;max-width:55ch}.journey-card .step-art .material-symbols-outlined{font-size:52px}
.assistant-grid{gap:32px}.chat-card{max-width:none}.faq-grid{gap:30px}.contact-inner{padding:32px}.practice-details{gap:24px}.practice-details>div{gap:12px}
}
@media(max-width:640px){
.section-wrap{padding-inline:20px}.header{padding:16px 20px}.header .button{display:none}.brand-logo{width:214px;max-width:calc(100vw - 104px)}
.hero{gap:24px;padding-top:12px;padding-bottom:40px}.hero h1{margin-block:22px 20px}.hero-description br{display:none}.hero-description{max-width:34ch}.hero-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:24px}.hero-actions>.button{width:100%;min-height:52px}.hero-actions>.text-link{justify-self:center;justify-content:center;min-height:44px;padding-block:10px}
.hero-visual{margin-left:0;min-height:360px}.image-frame{min-height:360px;border-radius:20px}.floating-note{left:14px;bottom:128px;padding:13px 15px;max-width:calc(100% - 28px);gap:10px}.floating-note .note-icon{font-size:27px}.image-top{left:22px;top:22px}.image-bottom{left:22px;right:22px;bottom:24px;font-size:1.625rem;gap:14px}.image-bottom>span{max-width:15ch}
.section-space{padding-block:54px}.treatments{padding-top:0}.section-label{gap:16px;margin-bottom:24px}.section-label>span+span{max-width:46%}.intro-columns{margin-top:24px;gap:24px}.section-heading{margin-bottom:26px}.section-heading>p{margin-top:18px}
.treatment-layout{gap:26px}.tooth-panel{min-height:350px}.tooth-stage{height:250px;min-height:230px}.tooth-panel-top{padding:20px 22px}.tooth-panel-bottom{padding:16px 22px 20px}.treatment{padding-block:22px}.treatment small{margin-top:7px}
.journey-grid{gap:16px;margin-top:28px}.journey-card{padding:24px}.journey-card .step-art{height:60px;margin:16px 0 12px}.journey-card h3{margin-block:10px 12px}
.assistant-icon{margin-bottom:22px}.assistant-copy>p{margin-top:20px}.assistant-tags{margin-top:22px;gap:10px}.assistant-copy>p.ai-disclaimer{margin-top:22px}.assistant-grid{gap:28px}.chat-messages{height:280px}.chat-header{padding:18px 16px}.chat-consent{margin-bottom:14px}.chat-card form{padding-inline:16px}.chat-bottom{padding:14px 16px 18px}
.faq-grid{gap:26px}.faq-items summary{padding-block:21px}.faq-items details p{padding-right:0;padding-bottom:22px}.contact{padding-inline:12px;padding-bottom:10px}.contact-inner{padding:26px 22px}.contact-inner .section-label{margin-bottom:24px}.contact-body{align-items:start;gap:12px}.contact-body h2{font-size:clamp(2rem,8.7vw,2.5rem)}.contact-body .round-cta{min-width:36px;min-height:44px}.contact-body .round-cta .material-symbols-outlined{font-size:38px}.contact-bottom{margin-top:25px;padding-top:22px}.practice-details{gap:24px;margin-top:24px;padding-top:24px}.practice-details>div{gap:14px}
.footer{padding:28px 22px 26px;gap:24px}.footer>div{gap:16px 22px}.footer>div>a,.footer>div>button{min-height:44px;display:inline-flex;align-items:center}.editorial-note{margin-top:0}.modal{width:calc(100% - 24px);padding:24px 22px;max-height:calc(100dvh - 24px)}.modal-header{gap:12px;margin-bottom:22px}.modal h2{margin-bottom:18px}.modal form>label{margin-top:18px}.booking-direct{margin-bottom:0}
}
@media(max-height:500px) and (max-width:1050px){.mobile-booking-bar p{display:none}body.has-booking-dock{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}.mobile-nav{max-height:calc(100dvh - 160px)}}
.assistant-booking-link{border:1px solid var(--line);background:#FBF8F680;border-radius:25px;padding:11px 16px;font-size:var(--text-caption);line-height:1.3;min-height:44px;display:inline-flex;align-items:center;gap:9px}.assistant-booking-link:hover{background:var(--porcelain)}.treatment-date-link{min-height:44px;margin:12px auto 0;display:flex;justify-content:center;width:max-content}
@media(max-width:1050px){.header .button{display:none}html:has(.mobile-booking-bar){scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}}
@media(max-width:1050px){body.has-booking-dock{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}}
@media(max-height:500px) and (max-width:1050px){body.has-booking-dock{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}}

/* A personal, editorial opening and a tactile 3D explorer. */
.hero{gap:44px;padding-top:22px;padding-bottom:62px;min-height:720px;align-items:stretch}
.hero-heading{padding-top:34px}
.hero .eyebrow{color:var(--malva);font-size:15px}
.hero h1{font-size:clamp(3.75rem,6.8vw,6.2rem);line-height:.99;letter-spacing:var(--tracking-copy);margin:29px 0 25px}
.hero h1>span{display:inline-block;position:relative;padding-bottom:12px}
.hero h1>span:after{content:'';position:absolute;left:1px;right:0;bottom:0;height:10px;border:2px solid var(--rose);border-top:0;border-radius:0 0 60% 50%;transform:rotate(-3deg);opacity:.65}
.hero-description{max-width:36ch}
.hero-bottom{margin-top:36px;margin-right:0;gap:16px;padding-top:22px}
.hero-bottom>.material-symbols-outlined{font-size:38px;color:var(--malva)}
.hero-explore{display:grid;gap:5px;min-height:48px}
.hero-explore strong{font-size:16px;font-weight:500}.hero-explore>span{display:flex;gap:14px;align-items:center;font-size:15px;color:var(--muted)}.hero-explore .material-symbols-outlined{font-size:19px;transition:transform .2s}.hero-explore:hover .material-symbols-outlined{transform:translateY(4px)}
.hero-visual{display:flex;flex-direction:column;min-height:620px;padding-bottom:0}
.hero .image-frame{flex:1;min-height:550px;border-radius:130px 24px 24px 24px}
.hero .image-top{top:32px;left:40px;right:28px;gap:20px;align-items:start}.image-top>span:first-child{max-width:16ch;line-height:1.3}.hero-photo-index{white-space:nowrap}
.hero .image-bottom{font-size:clamp(1.75rem,2.8vw,2.5rem);bottom:30px;left:32px;right:28px}
.hero-signature{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:19px 0 0}.hero-signature .signature{font-size:23px;color:var(--plum)}.hero-signature>span:last-child{font-size:14px;color:var(--muted);max-width:17ch;text-align:right;line-height:1.35}
.tooth-panel{min-width:0}.tooth-live-label{color:var(--plum);white-space:nowrap}.tooth-stage{cursor:grab;touch-action:pan-y;outline-offset:-5px;border-radius:14px}.tooth-stage.is-dragging{cursor:grabbing}.tooth-stage:focus-visible{outline:2px solid var(--malva)}
.tooth-controls{padding:0 24px;display:grid;gap:16px}.tooth-controls[hidden]{display:none}.tooth-views{display:flex;border-bottom:1px solid #56394B30;gap:24px}.tooth-views button{background:none;padding:10px 0 12px;min-height:44px;font-size:15px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tooth-views button[aria-pressed=true]{color:var(--plum);border-color:var(--plum);font-weight:550}
.tooth-tools{display:flex;align-items:center;gap:12px}.tooth-tools label{display:flex;color:var(--plum)}.tooth-tools input{width:100%;min-width:40px;min-height:44px;accent-color:var(--plum);cursor:pointer}.tooth-tools .icon-button{flex-shrink:0;width:44px;height:44px;background:transparent;padding:8px}.tooth-tools .icon-button[aria-pressed=true]{color:var(--malva)}.tooth-panel-bottom{padding:16px 24px 8px}.tooth-model-note{padding:0 24px 22px;color:var(--muted);font-size:14px;line-height:1.35}
@media(min-width:901px) and (max-width:1100px){.hero{gap:28px}.hero h1{font-size:clamp(3.5rem,6.5vw,4.5rem)}.hero .image-frame{min-height:550px}.hero-visual{min-height:620px}.hero .image-top{left:28px}.hero-signature{align-items:start;flex-direction:column;gap:5px}.hero-signature>span:last-child{text-align:left;max-width:none}}
@media(max-width:900px){.hero{gap:30px;min-height:0;padding-top:18px;padding-bottom:48px}.hero-heading{padding-top:0}.hero h1{font-size:clamp(3.6rem,8.5vw,4.8rem);max-width:none}.hero .hero-bottom{display:flex;max-width:440px;margin-top:26px}.hero-visual{min-height:0;max-height:none}.hero .image-frame{min-height:400px;height:420px;flex:auto;border-radius:90px 22px 22px 22px}.hero .image-top{left:32px;top:28px}.hero-signature{padding-top:16px}.hero .image-bottom{font-size:2rem}.tooth-controls{padding-inline:20px}.tooth-views{gap:20px}.tooth-panel-top{gap:16px;flex-wrap:wrap}}
@media(max-width:640px){.hero{gap:26px;padding-top:10px;padding-bottom:34px}.hero .eyebrow{font-size:14px}.hero h1{font-size:clamp(3rem,13vw,4.4rem);margin:24px 0;line-height:1.01}.hero-description{max-width:34ch}.hero .hero-bottom{margin-top:20px;padding-top:18px;gap:12px}.hero-bottom>.material-symbols-outlined{font-size:32px}.hero-explore strong{font-size:15px}.hero-explore>span{font-size:14px}.hero .image-frame{min-height:370px;height:390px;border-radius:76px 20px 20px 20px}.hero .image-top{left:30px;right:22px;top:26px}.hero .image-bottom{left:24px;right:24px;bottom:26px;font-size:1.875rem}.hero-signature .signature{font-size:21px}.hero-signature{gap:12px}.hero-signature>span:last-child{font-size:14px}.tooth-stage{min-height:260px;height:280px}.tooth-panel-top{padding:20px}.tooth-panel-bottom{padding-inline:20px}.tooth-model-note{padding-inline:20px}}
@media(prefers-reduced-motion:no-preference){.hero-heading{animation:hero-arrive .8s both}.hero-visual{animation:hero-arrive 1s .12s both}@keyframes hero-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}}

.hero-signature .signature{margin-top:0}

/* Keep the photograph caption well inside its curved corner. */
.hero .image-top{left:100px;top:38px;right:30px}
.tooth-stage{min-height:350px;height:380px;flex:none;overflow:hidden}
.tooth-labels{position:absolute;inset:0;pointer-events:none;z-index:2}
.tooth-label{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;min-height:46px;padding:10px 13px;background:var(--paper);border:1px solid #56394B40;border-radius:8px;color:var(--plum);font-size:15px;line-height:1.2;box-shadow:none;touch-action:manipulation}
.tooth-label[aria-pressed=true]{border-color:var(--plum);background:var(--plum);color:white}
.tooth-label[data-part=corona]{left:24%;top:28%}.tooth-label[data-part=esmalte]{left:76%;top:45%}.tooth-label[data-part=raiz]{left:70%;top:74%}
.tooth-part-info{margin:0 24px 16px;padding:18px 0;border-top:1px solid #56394B26;min-height:166px}
.tooth-part-info>span{font-size:14px;color:var(--muted)}.tooth-part-info h3{font-size:22px;line-height:1.2;margin:6px 0 8px;letter-spacing:var(--tracking-copy)}.tooth-part-info p{font-size:16px;line-height:1.4;max-width:48ch}.tooth-model-note a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px) and (min-width:901px){.hero .image-top{left:82px;top:42px}}
@media(max-width:900px){.hero .image-top{left:70px;top:32px}.tooth-part-info{margin-inline:20px}.tooth-stage{min-height:310px;height:330px}}
@media(min-width:641px) and (max-width:900px){.treatment-layout{grid-template-columns:1fr}.tooth-panel{max-width:none}.tooth-stage{height:380px}.tooth-part-info{min-height:144px}.tooth-panel-top{flex-wrap:nowrap}}
@media(max-width:640px){.hero .image-top{left:58px;top:32px;right:22px;gap:14px}.hero .image-top>span:first-child{max-width:17ch}.tooth-stage{min-height:300px;height:320px}.tooth-label{font-size:15px;min-height:48px;padding:12px}.tooth-part-info{min-height:188px}.tooth-panel-top{font-size:14px;gap:8px}.tooth-panel-top .tooth-live-label{font-size:14px}}

.tooth-panel-top .tooth-live-label{font-size:14px}.tooth-part-info{min-height:184px}
@media(max-width:640px){.tooth-panel-top{flex-wrap:nowrap}.tooth-part-info{min-height:224px}}
@media(max-width:360px){.tooth-part-info{min-height:248px}}
.tooth-panel-top>span.tooth-live-label{font-size:14px}

/* Five care topics drive the same scene, without interrupting exploration. */
.tooth-panel.is-treatment .tooth-labels{display:none}.treatment[aria-pressed=true]{background:var(--petal-soft);padding-inline:18px;border-radius:12px;border-color:transparent}.treatment[aria-pressed=true] .treatment-number{color:var(--plum);font-weight:600}.treatment[aria-pressed=true] strong{color:var(--plum)}
.tooth-navigation{display:flex;align-items:center;justify-content:space-between;margin:0 24px 16px;gap:12px}.tooth-navigation button{background:transparent;min-height:48px;font-size:15px}.tooth-navigation>button:first-child,.tooth-navigation>button:last-child{width:48px;display:grid;place-items:center}.tooth-navigation>button:last-child span{transform:rotate(180deg)}
.care-progress{height:2px;background:#56394B20;margin:0 24px 8px}.care-progress:after{content:'';display:block;width:var(--care-progress,0%);height:100%;background:var(--malva)}
.tooth-part-info #tooth-treatment-detail{margin-top:12px;font-size:15px;min-height:44px}.tooth-part-info [hidden]{display:none!important}#tooth-procedures{display:flex;gap:20px;margin-top:12px}#tooth-procedures button{background:transparent;border-bottom:2px solid transparent;padding:10px 0;font-size:15px;min-height:44px}#tooth-procedures button[aria-pressed=true]{border-color:var(--plum);font-weight:550}
.tooth-part-info{min-height:236px}.tooth-panel-top{gap:12px}.tooth-panel-top>span:first-child{font-size:15px;line-height:1.35}.tooth-model-note .inline-button{font-size:inherit}
@media(max-width:900px){.treatment-layout{display:flex;flex-direction:column;gap:20px}.treatment-list{order:-1;display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 0 12px}.treatment-list .treatment{flex:0 0 250px;scroll-snap-align:start;border:1px solid var(--line);border-radius:12px;padding:16px;align-items:start;grid-template-columns:22px 1fr;min-height:116px}.treatment-list .treatment-arrow{display:none}.treatment-list .treatment strong{font-size:19px}.treatment-list .treatment small{font-size:14px}.treatment-list .treatment-disclaimer{flex:0 0 230px;margin:0;align-self:center;font-size:14px}.tooth-panel{width:100%}.tooth-part-info{min-height:236px}.tooth-navigation{margin-inline:20px}.care-progress{margin-inline:20px}}
@media(max-width:640px){.tooth-part-info{min-height:300px}.tooth-panel-top{flex-wrap:nowrap}.tooth-panel-top>span:first-child{max-width:22ch}.tooth-panel-top>span.tooth-live-label{font-size:14px}.tooth-stage{height:320px}.tooth-navigation{gap:8px}}
@media(max-width:360px){.tooth-part-info{min-height:324px}}
.tooth-panel.is-treatment .tooth-part-info{min-height:0}.tooth-panel:not(.is-treatment) .care-progress{display:none}

/* The photograph carries a clear, generous editorial message. */
.hero .image-top{left:auto;right:30px;top:30px;justify-content:flex-end}.hero .image-top .hero-photo-index{max-width:none;font-size:14px}
.hero .image-bottom{left:32px;right:30px;bottom:32px;display:block;letter-spacing:var(--tracking-copy)}
.hero-photo-copy{max-width:100%}.hero-photo-story{font-size:clamp(1.875rem,3vw,2.875rem);font-weight:450;line-height:1.05;letter-spacing:var(--tracking-copy);color:white;margin:0;max-width:20ch;text-shadow:0 2px 18px #332B3230}.hero-photo-story>span{white-space:nowrap}.hero-photo-invitation{font-size:17px;line-height:1.35;letter-spacing:var(--tracking-copy);margin:16px 48px 0 0;color:white}.hero .image-bottom .image-arrow{position:absolute;right:0;bottom:0;min-width:44px;min-height:44px;display:grid;place-items:center}
@media(min-width:901px) and (max-width:1100px){.hero .image-bottom{left:26px;right:24px;bottom:28px}.hero-photo-story{font-size:clamp(1.75rem,3.15vw,2.125rem)}}
@media(max-width:900px){.hero .image-top{left:auto;right:28px;top:26px}.hero .image-bottom{left:30px;right:28px;bottom:28px}.hero-photo-story{font-size:2.25rem}.hero-photo-invitation{margin-top:14px}}
@media(max-width:640px){.hero .image-top{left:auto;right:24px;top:24px}.hero .image-bottom{left:24px;right:24px;bottom:26px}.hero-photo-story{font-size:clamp(1.625rem,7.8vw,2.125rem);line-height:1.08}.hero-photo-invitation{font-size:16px;margin-top:13px;max-width:25ch}.hero .image-bottom .image-arrow{bottom:-4px;right:-5px}}

.hero-photo-story .hero-story-line{display:block}
.tooth-comparison{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 24px 4px;border-block:1px solid #56394B26;padding:5px 0}.tooth-comparison button{background:transparent;min-height:46px;padding:8px 10px;font-size:15px;border-radius:7px}.tooth-comparison button[aria-pressed=true]{background:var(--plum);color:white}.tooth-comparison>span{font-size:13px;color:var(--muted);text-align:center}.tooth-demo-caption{position:absolute;top:13px;left:16px;right:16px;text-align:center;font-size:14px;color:var(--plum);pointer-events:none}.tooth-panel:not(.is-treatment) .tooth-comparison,.tooth-panel:not(.is-treatment) .tooth-demo-caption{display:none}@media(max-width:640px){.tooth-comparison{margin-inline:20px;gap:5px}.tooth-comparison>span{max-width:9ch;font-size:14px}.tooth-comparison button{min-height:48px;padding-inline:8px;white-space:nowrap}}
.tooth-comparison>span{font-size:14px}@media(max-width:360px){.tooth-comparison>span{display:none}}
.tooth-story-steps{display:flex;gap:6px;margin:12px 0 14px;border-bottom:1px solid #56394B30}.tooth-story-steps button{flex:1;background:transparent;min-height:48px;padding:10px 3px;border-bottom:2px solid transparent;font-size:14px;line-height:1.25}.tooth-story-steps button[aria-pressed=true]{color:var(--plum);border-color:var(--plum);font-weight:600}.tooth-panel:not(.is-treatment) .tooth-story-steps{display:none}.tooth-stage{isolation:isolate}.tooth-demo-caption{z-index:1}

/* A personal introduction with a distinct brand composition. */
.intro{display:block}.intro>.section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.intro>.section-label span{display:inline}.intro-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.35fr);gap:clamp(38px,5.5vw,88px);align-items:center}
.intro-brand-card{position:relative;overflow:hidden;background:var(--plum);color:var(--paper);border-radius:120px 24px 24px 24px;padding:34px;min-height:470px;display:flex;flex-direction:column;justify-content:space-between}.intro-card-kicker{font-size:14px;margin-left:auto;color:#F1DFDF}.intro-brand-art{position:relative;display:grid;place-items:center;min-height:205px;margin-top:14px}.intro-brand-art:before{content:'';position:absolute;width:200px;height:260px;border:1px solid #F1DFDF38;border-radius:100px 100px 32px 32px;transform:rotate(-12deg);pointer-events:none}.intro-brand-art img{width:120px;height:155px;object-fit:contain;position:relative}.intro-brand-card>p{font-size:clamp(1.625rem,2.6vw,2.125rem);line-height:1.12;letter-spacing:var(--tracking-copy);margin:28px 0 22px}.intro-card-foot{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:14px;color:#F1DFDF;border-top:1px solid #F1DFDF38;padding-top:18px}
.intro .intro-body{min-width:0}.intro .intro-body h2{font-size:clamp(2.5rem,3.9vw,3.6rem);line-height:1.05;letter-spacing:var(--tracking-copy);margin-bottom:26px}.intro-lead{font-size:19px;line-height:1.45;color:var(--ink);max-width:48ch}.intro-detail{font-size:17px;line-height:1.45;color:var(--muted);margin-top:18px;max-width:54ch}.intro-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0;padding:23px 0;border-block:1px solid var(--line)}.intro-values>div{display:flex;flex-direction:column;gap:12px;min-width:0}.intro-values .material-symbols-outlined{font-size:30px;color:var(--malva)}.intro-values>div>span:last-child{font-size:15px;line-height:1.35}.intro-contact{display:flex;align-items:center;justify-content:space-between;gap:20px}.intro-credential{display:grid;gap:5px;font-size:14px;line-height:1.35;color:var(--muted)}.intro-credential>span:first-child{font-size:15px;color:var(--ink)}.intro-contact .text-link{font-size:15px;min-height:48px;flex-shrink:0}
@media(max-width:1100px){.intro-layout{grid-template-columns:.82fr 1.18fr;gap:32px}.intro-brand-card{padding:28px;min-height:470px}.intro-contact{flex-wrap:wrap;gap:12px}.intro .intro-body h2{font-size:clamp(2.25rem,4.2vw,3rem)}.intro-lead{font-size:18px}.intro-values{gap:12px}.intro-values>div>span:last-child{font-size:14px}}
@media(max-width:800px){.intro-layout{grid-template-columns:1fr;gap:30px}.intro-brand-card{min-height:0;display:grid;grid-template-columns:180px 1fr;column-gap:28px;border-radius:80px 22px 22px 22px;padding:28px 30px}.intro-card-kicker{grid-column:2;grid-row:1;margin-left:0}.intro-brand-art{grid-column:1;grid-row:1/4;margin:0;min-height:230px}.intro-brand-art:before{width:150px;height:190px}.intro-brand-art img{width:100px;height:135px}.intro-brand-card>p{grid-column:2;grid-row:2;margin:18px 0 22px;font-size:30px}.intro-card-foot{grid-column:2;grid-row:3;flex-wrap:wrap;gap:8px}.intro .intro-body h2{font-size:clamp(2.25rem,5.5vw,3rem)}.intro-contact{flex-wrap:nowrap}.intro-values>div>span:last-child{font-size:15px}}
@media(max-width:500px){.intro>.section-label{align-items:start;gap:20px;margin-bottom:24px}.intro>.section-label>span+span{text-align:right;max-width:40%}.intro-layout{gap:28px}.intro-brand-card{grid-template-columns:105px minmax(0,1fr);column-gap:18px;padding:24px;border-radius:64px 20px 20px 20px}.intro-brand-art{min-height:190px}.intro-brand-art:before{width:93px;height:140px;border-radius:55px 55px 22px 22px}.intro-brand-art img{width:70px;height:105px}.intro-card-kicker{font-size:14px}.intro-brand-card>p{font-size:24px;margin:14px 0 16px}.intro-card-foot{font-size:14px;padding-top:14px;gap:4px;flex-direction:column;align-items:start}.intro .intro-body h2{font-size:clamp(2rem,8.4vw,2.625rem);margin-bottom:22px}.intro-lead{font-size:18px}.intro-detail{font-size:17px;margin-top:16px}.intro-values{gap:10px;margin:24px 0;padding:20px 0}.intro-values .material-symbols-outlined{font-size:28px}.intro-values>div>span:last-child{font-size:14px}.intro-contact{align-items:start;flex-direction:column;gap:16px}.intro-contact .text-link{min-height:48px;font-size:16px}}
@media(prefers-reduced-motion:no-preference){.intro-brand-card:hover .intro-brand-art img{transform:translateY(-4px) rotate(-3deg)}.intro-brand-art img{transition:transform .5s ease}}
@media(max-width:360px){.intro-brand-card{grid-template-columns:80px minmax(0,1fr);gap:0 16px;padding:22px}.intro-brand-art{min-height:180px}.intro-brand-art:before{width:76px;height:122px}.intro-brand-art img{width:58px;height:90px}.intro-brand-card>p{font-size:23px}}

/* A personal, interactive illustration of the three moments of care. */
.intro-brand-card{display:flex;flex-direction:column;justify-content:flex-start;gap:0;min-height:560px;padding:30px 32px 26px;border-radius:96px 28px 28px 28px;isolation:isolate}
.care-card-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-left:22px;font-size:14px;color:var(--petal);line-height:1.4}.care-count{font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.75}
.intro-brand-art{display:grid;place-items:center;flex-shrink:0;min-height:0;height:265px;margin:4px -14px 0;grid-column:auto;grid-row:auto}.intro-brand-art:before{display:none}.care-illustration{display:block;width:100%;height:100%;min-height:0;overflow:visible}.care-tooth{transform-origin:180px 150px}.care-shadow{transform-origin:180px 252px}.care-orbit{opacity:.65}
.care-message{position:relative;margin-top:10px;min-height:125px}.care-title{font-size:clamp(2rem,3vw,2.8rem);line-height:1.04;letter-spacing:var(--tracking-copy);font-weight:450}.care-title>span{color:var(--petal)}.care-description{margin-top:13px;font-size:16px;color:var(--petal);line-height:1.4}
.care-card-bottom{margin-top:22px;padding-top:16px;border-top:1px solid #F1DFDF40;display:flex;align-items:center;justify-content:space-between;gap:18px}.care-progress{display:flex;gap:5px;flex-shrink:0}.care-progress i{width:18px;height:3px;border-radius:2px;background:#F1DFDF40;transition:background .3s,width .3s}.care-progress i.is-current{width:32px;background:var(--petal)}.care-next{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;background:none;padding:0;font-size:15px;color:var(--paper)}.care-next .material-symbols-outlined{font-size:24px;transition:transform .3s}.care-next:hover .material-symbols-outlined{transform:translateX(4px)}.care-next:focus-visible{outline-color:var(--petal);border-radius:4px}
@media(prefers-reduced-motion:no-preference){.care-illustration.is-awake .care-tooth{animation:care-float 4.8s ease-in-out 2}.care-illustration.is-awake .care-shadow{animation:care-shadow 4.8s ease-in-out 2}.care-illustration.is-awake .care-orbit{animation:care-draw 1.6s ease both}.care-illustration.is-awake .orbit-right{animation-delay:.2s}.care-illustration.is-awake .care-smile{animation:care-draw 1s .6s ease both}.care-illustration.is-awake .care-accent{animation:care-draw 1s .5s ease both}}
@keyframes care-float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-9px) rotate(2deg)}}
@keyframes care-shadow{0%,100%{transform:scaleX(1);opacity:1}50%{transform:scaleX(.85);opacity:.6}}
@keyframes care-draw{from{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}to{stroke-dasharray:1;stroke-dashoffset:0;opacity:1}}

@media(min-width:801px) and (max-width:1100px){.intro-brand-card{padding:28px 24px;min-height:540px}.care-card-top{padding-left:16px;gap:10px}.intro-brand-art{height:245px}.care-title{font-size:34px}.care-next{font-size:14px;gap:8px}}
@media(max-width:800px){.intro-brand-card{display:flex;min-height:480px;padding:28px 32px 22px;border-radius:80px 26px 26px 26px}.intro-brand-art{height:235px;margin:0 auto;width:min(100%,380px)}.care-card-top{padding-left:20px}.care-message{min-height:110px}.care-title{font-size:36px}.care-card-bottom{margin-top:18px}.intro-layout{gap:34px}}
@media(max-width:500px){.intro-brand-card{min-height:455px;padding:24px;border-radius:66px 24px 24px 24px}.care-card-top{padding-left:14px;gap:12px}.intro-brand-art{height:215px;width:100%;margin:0}.care-message{min-height:110px}.care-title{font-size:34px}.care-description{font-size:16px;margin-top:11px}.care-card-bottom{gap:12px;margin-top:14px;padding-top:12px}.care-progress i{width:14px}.care-progress i.is-current{width:25px}.care-next{font-size:15px;gap:10px}}
@media(max-width:360px){.intro-brand-card{padding:22px 20px;min-height:440px}.care-card-top{font-size:14px;padding-left:12px;gap:8px}.care-title{font-size:31px}.intro-brand-art{height:205px}.care-next{gap:7px;font-size:14px}.care-progress{gap:4px}.care-progress i{width:10px}.care-progress i.is-current{width:20px}}
@media(prefers-reduced-motion:reduce){.care-progress i,.care-next .material-symbols-outlined{transition:none}}

/* The illustration leads; choosing a care topic is the only navigation. */
.tooth-panel{border-radius:32px;background:var(--sage);min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0}
.tooth-panel-top{padding:20px 28px 0;align-items:center;flex-wrap:nowrap;gap:16px;font-size:14px}.tooth-panel-top>span:first-child{font-size:14px;max-width:none;color:var(--muted)}.tooth-replay{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:none;color:var(--plum);padding:0;min-height:48px;flex-shrink:0;font-size:14px}.tooth-replay .material-symbols-outlined{font-size:22px}.tooth-replay:hover{color:var(--ink)}
.tooth-stage{height:360px;min-height:0;margin:0 16px;touch-action:pan-y}.tooth-demo-caption{top:auto;bottom:8px;left:0;right:0;font-size:14px;color:var(--muted)}
.tooth-part-info,.tooth-panel.is-treatment .tooth-part-info{margin:4px 28px 0;padding:18px 0 22px;min-height:0;border:0}.tooth-part-info h3{font-size:26px;line-height:1.12;letter-spacing:var(--tracking-copy);margin:0 0 12px}.tooth-part-info p{font-size:17px;line-height:1.4;max-width:45ch;min-height:4.2em}.tooth-part-info #tooth-treatment-detail{font-size:16px;min-height:48px;margin-top:10px;border:0;padding:0;gap:12px}
.tooth-panel-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px 22px;margin:0;border:0;font-size:14px;line-height:1.35;color:var(--muted)}.tooth-panel-bottom #tooth-help{font-size:14px}.tooth-panel-bottom>span:last-child{text-align:right}.tooth-panel .care-progress{display:none}
@media(max-width:900px){.treatment-list{gap:8px;padding-bottom:8px;scrollbar-width:thin}.treatment-list .treatment{flex:0 0 auto;min-height:56px;grid-template-columns:1fr;align-items:center;padding:14px 18px;border-radius:100px;gap:0;white-space:nowrap;background:transparent}.treatment-list .treatment .treatment-number,.treatment-list .treatment small{display:none}.treatment-list .treatment strong{font-size:16px;line-height:1.2;font-weight:450}.treatment-list .treatment[aria-pressed=true]{background:var(--plum);color:var(--paper);padding-inline:18px}.treatment-list .treatment[aria-pressed=true] strong{color:inherit}.treatment-layout{gap:14px}.tooth-stage{height:340px}.tooth-part-info p{min-height:0}}
@media(max-width:640px){.tooth-panel{border-radius:26px}.tooth-panel-top{padding:14px 22px 0;gap:12px}.tooth-panel-top>span:first-child{font-size:14px;max-width:16ch}.tooth-replay{font-size:14px;gap:5px}.tooth-stage{height:300px;margin-inline:8px}.tooth-part-info,.tooth-panel.is-treatment .tooth-part-info{margin:4px 24px 0;padding:14px 0 6px;min-height:0}.tooth-part-info h3{font-size:25px;margin-bottom:10px}.tooth-part-info p{font-size:17px;min-height:0}.tooth-panel-bottom{padding:16px 24px 24px;gap:18px;align-items:start}.tooth-panel-bottom>span{max-width:15ch}.tooth-demo-caption{bottom:2px}}
@media(max-width:360px){.tooth-panel-top{padding-inline:20px}.tooth-panel-top>span:first-child{max-width:13ch}.tooth-replay{font-size:14px;gap:3px}.tooth-stage{height:280px}.tooth-part-info,.tooth-panel.is-treatment .tooth-part-info{margin-inline:20px}.tooth-panel-bottom{padding-inline:20px;font-size:14px}.tooth-part-info h3{font-size:24px}}

.tooth-panel-bottom{justify-content:center}.tooth-panel-bottom #tooth-help{max-width:none;text-align:center}

/* Give the complete signature room to lead without changing its SVG proportions. */
.header{padding-block:25px;gap:28px}.header .brand{width:360px;min-width:0;flex-shrink:1}.header .brand-logo{width:100%;height:auto;max-width:100%;aspect-ratio:448/104}.header-actions,.desktop-nav{flex-shrink:0}.footer .brand-logo{width:320px;max-width:100%;height:auto;aspect-ratio:448/104}.footer .brand{max-width:100%}
@media(min-width:1051px) and (max-width:1200px){.header .brand{width:310px}.header{gap:20px}.desktop-nav{gap:22px}}
@media(max-width:1050px){.header .brand{width:340px;max-width:calc(100% - 64px)}.header{padding-block:23px;gap:14px}.footer .brand-logo{width:300px}}
@media(max-width:640px){.header{padding:20px;gap:12px}.header .brand{width:280px;max-width:calc(100% - 62px)}.header .brand-logo{max-width:100%;width:100%}.footer .brand-logo{width:280px;max-width:100%}.menu-button{padding:11px}.footer{row-gap:28px}}
@media(max-width:360px){.header{padding-inline:16px;gap:8px}.header .brand{max-width:calc(100% - 56px)}.menu-button{padding:9px}.footer .brand-logo{width:270px}}

/* Small gestures of the same smile connect the patient's journey. */
.brand-motion{display:block;width:110px;height:126px;overflow:visible;flex-shrink:0;pointer-events:none}.brand-art-tooth{transform-origin:180px 150px}.brand-art-shadow{transform-origin:180px 247px}.branded-step{position:relative;isolation:isolate}.branded-step .brand-motion{width:130px;height:148px}.journey-card:nth-child(2) .brand-motion{--brand-enamel:#F4F8F5}.journey-card:nth-child(3) .brand-motion{--brand-enamel:#F8EFEF}
.hero-bottom>.brand-motion{width:44px;height:50px}.branded-assistant{position:relative;width:148px!important;height:142px!important;display:block!important;background:none!important;border-radius:0!important;margin-bottom:20px}.branded-assistant .brand-motion{width:128px;height:142px}.contact-inner>.section-label{align-items:center;min-height:86px;margin-bottom:24px}.contact-inner>.section-label .brand-motion{width:84px;height:94px}.contact-inner{--brand-enamel:#FBF8F6}
@media(prefers-reduced-motion:no-preference){
.brand-motion.is-in-view .brand-art-tooth{animation:brand-greet 2.8s cubic-bezier(.45,0,.25,1) 2}.brand-motion.is-in-view .brand-art-shadow{animation:brand-soft-shadow 2.8s ease-in-out 2}.brand-motion.is-in-view .brand-art-outline{animation:brand-ink 1.5s ease both}.brand-motion.is-in-view .brand-art-smile{animation:brand-ink 1s .35s ease both}.brand-motion.is-in-view .brand-art-lines{animation:brand-ink 1.2s .4s ease both}.brand-motion-care.is-in-view .brand-art-tooth{animation-name:brand-care}.brand-motion-together.is-in-view .brand-art-tooth{animation-name:brand-nod}.brand-motion-questions.is-in-view .brand-art-tooth{animation-name:brand-nod}.brand-motion-welcome.is-in-view .brand-art-tooth{animation-name:brand-greet}
.header .brand-logo,.footer .brand-logo{transition:transform .45s cubic-bezier(.22,1,.36,1)}.brand:hover .brand-logo{transform:translateY(-2px)}
}
@keyframes brand-greet{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-7px) rotate(-5deg)}70%{transform:translateY(-3px) rotate(3deg)}}
@keyframes brand-care{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes brand-nod{0%,100%{transform:rotate(0)}35%{transform:rotate(5deg)}65%{transform:rotate(-3deg)}}
@keyframes brand-soft-shadow{0%,100%{transform:scaleX(1);opacity:.1}50%{transform:scaleX(.8);opacity:.06}}
@keyframes brand-ink{from{stroke-dasharray:1;stroke-dashoffset:1;stroke-opacity:0}to{stroke-dasharray:1;stroke-dashoffset:0;stroke-opacity:1}}
@media(max-width:900px){.branded-step .brand-motion{width:104px;height:120px}.branded-assistant{width:120px!important;height:120px!important;margin-bottom:16px}.branded-assistant .brand-motion{width:108px;height:120px}}
@media(max-width:640px){.hero-bottom>.brand-motion{width:38px;height:44px}.branded-step .brand-motion{width:88px;height:102px}.contact-inner>.section-label .brand-motion{width:64px;height:72px}.contact-inner>.section-label{min-height:72px;margin-bottom:16px}}

.journey-card .branded-step{display:flex;justify-content:center;align-items:center}
@media(max-width:900px){}

@media(min-width:641px) and (max-width:900px){.journey-card .branded-step .brand-motion{width:88px;height:102px}}
@media(max-width:640px){.journey-card .branded-step{height:128px;margin:10px 0 14px}.journey-card .branded-step .brand-motion{width:110px;height:126px}}

/* A shared rhythm: reading copy, compact labels and closely related details. */
:root{--leading-copy:1.4;--leading-compact:1.25;--leading-label:1.3;--text-stack-gap:4px}
.hero-description,.intro-lead,.intro-detail,.section-heading>p,.journey-card p,.assistant-copy>p,.faq-items details p,.contact-bottom p,.practice-details p,.practice-details address,.message p,.tooth-part-info p,.modal p,.modal ul{line-height:var(--leading-copy)}
.eyebrow,.section-label,.detail-label,.professional-title,.intro-credential,.chat-header strong,.chat-header small,.message-label,.message-footnote,.chat-bottom,.field-help,.treatment small,.hero-signature>span:last-child{line-height:var(--leading-label)}
.practice-details>div>div{display:grid;align-content:start;justify-items:start;gap:var(--text-stack-gap);min-width:0}.practice-details .detail-label,.practice-details p,.practice-details address,.practice-details .professional-title{margin:0}.practice-details p,.practice-details address{line-height:var(--leading-compact)}.practice-details .professional-title{line-height:var(--leading-compact);letter-spacing:var(--tracking-copy)}.practice-details a{margin-top:2px;min-height:44px;padding-block:8px}
.intro-credential{gap:var(--text-stack-gap)}.chat-header strong,.chat-header small{margin:0}.care-description{line-height:var(--leading-copy);margin-top:10px}.intro-values>div>span:last-child{line-height:var(--leading-label)}.hero-explore strong,.hero-explore>span{line-height:var(--leading-label)}

/* The brand character expresses the message itself, without companion icons. */
.brand-face{transform-box:fill-box;transform-origin:center}.brand-speaking-mouth{transform-box:fill-box;transform-origin:center}.care-face{display:none}.intro-brand-card[data-care-step="0"] .care-face-0,.intro-brand-card[data-care-step="1"] .care-face-1,.intro-brand-card[data-care-step="2"] .care-face-2{display:inline}.branded-assistant{width:128px!important}.branded-step .brand-motion{overflow:visible}
@media(prefers-reduced-motion:no-preference){.brand-motion.is-in-view .brand-face{animation:brand-face-arrive .75s .25s ease both}.brand-motion-questions.is-in-view .brand-speaking-mouth{animation:brand-talk 2.8s ease-in-out 2}}
@keyframes brand-face-arrive{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@keyframes brand-talk{0%,35%,65%,100%{transform:scaleY(1)}45%,55%{transform:scaleY(.55)}}
@media(max-width:900px){.branded-assistant{width:108px!important}}

@media(prefers-reduced-motion:no-preference){.intro-brand-card[data-care-step="1"] .brand-speaking-mouth{animation:brand-talk 2.8s ease-in-out 2}}

/* Full optical-size font: compact display forms and natural, kerned reading text. */
body{font-optical-sizing:auto;font-kerning:normal;text-rendering:optimizeLegibility}h1,h2,h3,.hero h1,.intro .intro-body h2,.assistant-copy h2,.faq-grid h2,.contact-body h2{font-weight:450}.care-title,.hero-photo-story,.signature{font-optical-sizing:auto}.treatment-switcher{display:none}
@media(max-width:1050px){
.treatment-layout{display:flex;flex-direction:column;gap:14px;align-items:stretch;isolation:isolate}.treatment-layout .treatment-list{display:none}.treatment-switcher{display:block;position:sticky;top:10px;z-index:8;order:-1;background:var(--paper);padding:12px;border:1px solid var(--line);border-radius:18px;box-shadow:0 5px 18px #332B3209}.treatment-switcher label{display:block;font-size:14px;line-height:1.3;color:var(--muted);margin-bottom:7px}.treatment-switcher select{display:block;width:100%;min-height:54px;font-family:var(--font);font-size:17px;line-height:1.25;font-weight:450;letter-spacing:var(--tracking-copy);color:var(--plum);background:var(--porcelain);border:1px solid #8B52684D;border-radius:11px;padding:13px 36px 13px 14px;cursor:pointer}.treatment-switcher select:focus-visible{outline:2px solid var(--malva);outline-offset:3px}.tooth-panel{width:100%}.tooth-stage{height:340px}.tooth-part-info p{min-height:0}#tooth-explorer{scroll-margin-top:112px}
}
@media(max-width:640px){.treatment-switcher{top:8px;padding:10px 12px;border-radius:16px}.treatment-switcher select{min-height:52px;font-size:16px}.tooth-stage{height:300px}}
@media(max-width:360px){.treatment-switcher{padding:10px}.treatment-switcher select{padding-left:11px;font-size:16px}.tooth-stage{height:280px}}

/* Deliberately tighter typography, requested after reviewing the optical font. */
:root{--tracking-copy:-.018em;--tracking-heading:-.04em;--tracking-label:-.012em}
body{letter-spacing:var(--tracking-copy)}
h1,h2,h3,.hero h1,.hero h1>span,.intro .intro-body h2,.assistant-copy h2,.faq-grid h2,.contact-body h2,.modal h2,.care-title,.hero-photo-story,.hero-story-line,.tooth-part-info h3,.journey-card h3{letter-spacing:var(--tracking-heading)}
.eyebrow,.section-label,.detail-label,.professional-title,.intro-credential,.footer>div,.chat-header strong,.chat-header small,button,input,textarea,select,.desktop-nav,.mobile-nav,.treatment strong,.treatment small{letter-spacing:var(--tracking-label)}
.material-symbols-outlined{letter-spacing:normal!important}
