@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--p:0;--paper:#f7f7f2;--ink:#262b27;--sub:#646c63;--accent:#6860a9;--line:#d8dcd2;--lavender:#e7e5f0;--pad:5.5vw;--r:48px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,a,summary{-webkit-tap-highlight-color:transparent}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}em{font-style:normal;color:var(--accent)}.skip{position:fixed;top:10px;left:10px;z-index:100;background:white;padding:15px;transform:translateY(-150%)}.skip:focus{transform:none}header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:25px var(--pad);gap:20px}.brand{font-size:37px;font-weight:800;letter-spacing:-2.5px;display:inline-flex;align-items:baseline;gap:4px}.brand-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}nav{display:flex;gap:30px;font-size:12px;font-weight:500}nav a{position:relative;padding:10px 0}nav a:after{content:'';position:absolute;bottom:3px;height:1px;left:0;width:0;background:currentColor;transition:width .2s}nav a:hover:after{width:100%}.appointment{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:0;padding:7px 7px 7px 21px;border-radius:var(--r);font-size:12px;font-weight:600;background:var(--ink);color:#fff;min-height:48px;transition:background .2s,box-shadow .2s}.appointment span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffffff20;font-size:20px;font-weight:400;transition:transform .25s}.appointment:hover{background:#494268;box-shadow:0 5px 25px #45415d18}.appointment:hover span{transform:rotate(45deg)}#journey{height:235svh}.stage{position:sticky;top:0;height:100svh;min-height:700px;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#fff 5%,var(--paper) 60%)}.intro-title{position:absolute;top:16%;left:15%;right:15%;text-align:center;z-index:3;pointer-events:none;opacity:clamp(0,calc(1 - var(--p)*4),1);transform:translateY(calc(var(--p)*-85px))}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.4px}.intro-title>.eyebrow{color:var(--sub)}h1{font-size:clamp(52px,6.7vw,104px);font-weight:500;line-height:1.02;letter-spacing:-.065em;margin:25px 0 0}.smile-line{position:absolute;left:18%;top:35%;width:64%;height:50%;color:#b5aecf;opacity:calc(.8 - var(--p)*.4);pointer-events:none}#gl{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:pan-y;z-index:2}#gl:active{cursor:grabbing}.hero-note{position:absolute;left:var(--pad);top:57%;z-index:4;opacity:clamp(0,calc(1 - var(--p)*4),1);pointer-events:none}.hero-note .eyebrow{font-size:8px;color:var(--sub)}.hero-note p{font-size:16px;line-height:1.65;margin:15px 0}.text-action{border:0;border-bottom:1px solid var(--ink);padding:10px 0;background:none;color:var(--ink);font-size:11px;pointer-events:auto}.text-action span{margin-left:30px;font-size:17px}.model-note{position:absolute;right:var(--pad);top:62%;z-index:3;text-align:right;opacity:clamp(0,calc(1 - var(--p)*4),1);pointer-events:none}.model-note>span{font-size:8px;letter-spacing:1.2px;color:var(--sub)}.model-note p{font-size:12px;line-height:1.8}.scene-caption{position:absolute;bottom:36px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:var(--sub)}.scroll-dock{position:absolute;z-index:5;bottom:23px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;background:#ffffffd9;backdrop-filter:blur(12px);border:1px solid #e8e8e0;box-shadow:0 6px 25px #4f4f3f09;border-radius:60px;padding:9px 18px 9px 10px;font-size:10px;transition:box-shadow .2s}.scroll-dock:hover{box-shadow:0 8px 28px #4f4f3f18}.scroll-dock i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--lavender);color:var(--accent);font-size:18px;font-style:normal}.scroll-dock b{font-weight:400;font-size:8px;color:var(--sub);border-left:1px solid var(--line);padding-left:12px}.chapter{position:absolute;z-index:3;pointer-events:none;opacity:0;transform:translateY(24px);transition:opacity .45s,transform .45s}.chapter.active{opacity:1;transform:translateY(0)}.chapter.detail{left:var(--pad);top:32%;max-width:31%}.chapter.final-chapter{right:var(--pad);top:33%;max-width:32%}.chapter h2{font-size:clamp(36px,4.4vw,69px);font-weight:500;letter-spacing:-.06em;line-height:1.1;margin:23px 0}.chapter p{font-size:13px;line-height:1.9;color:var(--sub)}.chapter .eyebrow{font-size:8px}.chapter button{pointer-events:auto}.progress{position:absolute;right:22px;top:43%;display:flex;align-items:center;flex-direction:column;gap:12px;font-size:8px;color:var(--sub)}.progress>div{height:75px;width:1px;background:var(--line)}.progress i{display:block;width:1px;background:var(--accent)}.care{padding:70px var(--pad) 100px;background:#fdfdf9}.section-label{display:flex;justify-content:space-between;gap:20px;font-size:8px;font-weight:600;letter-spacing:1px;color:var(--sub)}.care-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:9%;padding-top:65px}.care-layout>h2{font-size:clamp(36px,4.3vw,67px);font-weight:500;letter-spacing:-.06em;line-height:1.13;margin:0}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:27px 0}summary::-webkit-details-marker{display:none}summary>span{font-size:9px;color:var(--sub)}summary h3{font-size:22px;letter-spacing:-.7px;font-weight:500;margin:0}summary i{margin-left:auto;width:29px;height:29px;background:#f1f1e9;border-radius:50%;position:relative;transition:background .2s}summary i:before,summary i:after{content:'';position:absolute;width:9px;height:1px;background:var(--ink);left:10px;top:14px}summary i:after{transform:rotate(90deg)}details[open] summary i{background:var(--lavender)}details[open] summary i:after{transform:rotate(0)}details>p{font-size:13px;line-height:1.9;color:var(--sub);margin:0 40px 28px 34px;max-width:390px}.approach{padding:60px var(--pad) 30px;background:var(--lavender);border-radius:38px 38px 0 0}.approach>h2{font-size:clamp(38px,6.8vw,105px);font-weight:500;letter-spacing:-.065em;line-height:1.08;margin:70px 0 45px}.approach-end{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.approach-end p{font-size:14px;line-height:1.85;margin:0;color:#56566a}footer{display:flex;align-items:center;gap:30px;border-top:1px solid #b5b1c6;margin-top:90px;padding-top:25px}footer .brand{font-size:29px}footer p{max-width:380px;font-size:9px;line-height:1.7;color:#56566a}footer>a:last-child{margin-left:auto;font-size:11px}dialog{max-width:430px;background:var(--paper);border:0;border-radius:22px;color:var(--ink);padding:42px}dialog::backdrop{background:#24212b99;backdrop-filter:blur(7px)}dialog h2{font-size:56px;line-height:1;letter-spacing:-3px;font-weight:500;margin:30px 0}dialog h2>span{color:var(--accent)}dialog p{font-size:13px;line-height:1.8;color:var(--sub);margin-bottom:26px}.close{position:absolute;right:13px;top:10px;background:none;border:0;font-size:27px;width:35px;height:35px}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}#gl:focus-visible{outline-offset:-5px}@media(max-width:760px){:root{--pad:6vw}header{padding-top:20px}.brand{font-size:29px}nav{display:none}.appointment{font-size:10px;gap:17px;min-height:44px;padding-left:16px}.appointment span{width:30px;height:30px}.stage{min-height:720px}.intro-title{top:17%;left:6%;right:6%}h1{font-size:clamp(43px,11.3vw,68px);margin-top:19px;line-height:1.07}.eyebrow{font-size:7px;letter-spacing:1px}.smile-line{top:47%;left:0;width:100%;height:33%}.hero-note{left:var(--pad);top:auto;bottom:117px}.hero-note .eyebrow{display:none}.hero-note p{font-size:11px;margin:0 0 7px}.text-action{font-size:10px;padding:6px 0}.text-action span{margin-left:15px}.model-note{display:none}.scene-caption{bottom:87px;font-size:6px;letter-spacing:.5px}.scene-caption>span:first-child{display:none}.scene-caption>span:last-child{margin-left:auto}.scroll-dock{bottom:20px;gap:10px;font-size:9px;white-space:nowrap}.scroll-dock b{font-size:7px}.progress{right:13px;top:55%;font-size:7px}.chapter.detail,.chapter.final-chapter{top:17%;left:var(--pad);right:var(--pad);max-width:90%}.chapter h2{font-size:42px;line-height:1.08;margin:18px 0}.chapter p{font-size:11px;line-height:1.7}.chapter.detail p{position:absolute;left:58vw;top:35px;width:110px}.chapter .eyebrow{font-size:7px}#journey{height:215svh}.care{padding:42px var(--pad) 60px}.section-label{font-size:7px;letter-spacing:.5px}.section-label>span:last-child{max-width:130px;text-align:right}.care-layout{grid-template-columns:1fr;gap:38px;padding-top:35px}.care-layout>h2{font-size:43px;max-width:330px}summary{padding:23px 0}summary h3{font-size:21px}details>p{font-size:12px;margin-left:30px}.approach{padding-top:42px;border-radius:25px 25px 0 0}.approach>h2{font-size:42px;margin:50px 0 30px}.approach-end{flex-direction:column;align-items:flex-start;gap:25px}.approach-end p{font-size:12px}footer{flex-wrap:wrap;gap:20px;margin-top:55px}footer p{order:3;font-size:8px;max-width:100%;margin:0}footer>a:last-child{margin-left:auto}dialog{margin:15px;padding:32px;max-width:430px}dialog h2{font-size:46px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.chapter,*{transition:none!important}}
@media(max-width:760px){.chapter.detail p{position:static;left:auto;top:auto;width:auto;margin-top:10px}}
.model-status{position:absolute;left:50%;top:60%;transform:translateX(-50%);font-size:10px;color:var(--sub);z-index:3}
/* Contrast behind the enamel without darkening the surrounding page. */
.tooth-halo{position:absolute;z-index:1;pointer-events:none;width:47vw;height:66vh;min-width:320px;left:50%;top:30%;transform:translateX(-50%);background:radial-gradient(ellipse,#b5adc8 0,#d4cddd 35%,#e7e1ed88 55%,transparent 71%);filter:blur(18px);opacity:.95}.smile-line{color:#8a7fa5}.stage{background:#f7f7f2}.process,.faq{padding:80px var(--pad) 100px;background:#fdfdf9}.process{background:#f0f1e9}.process-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin:60px 0}.process h2,.understanding h2,.faq h2,.booking-section h2{font-size:clamp(40px,5.6vw,84px);line-height:1.08;font-weight:500;letter-spacing:-.06em;margin:0}.process-intro>p{font-size:14px;line-height:1.8;color:var(--sub);margin:0;max-width:330px}.steps{margin:50px 0 25px}.steps article{display:grid;grid-template-columns:15% 1fr 8%;padding:30px 0;border-top:1px solid #cfd5c5;align-items:center;gap:30px}.steps article:last-child{border-bottom:1px solid #cfd5c5}.step-n{font-size:clamp(40px,5vw,72px);font-weight:400;letter-spacing:-4px;color:#9da991}.steps h3{font-size:25px;line-height:1.2;font-weight:500;letter-spacing:-.8px;margin:0 0 10px}.steps p{font-size:13px;line-height:1.8;color:var(--sub);margin:0;max-width:480px}.step-mark{font-size:36px;justify-self:end;color:#6b775d}.understanding{background:#373448;color:#f8f6ef;padding:60px var(--pad) 80px}.understanding .section-label{color:#cfcbde}.understanding-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:center;margin-top:45px}.understanding h2{font-size:clamp(36px,4.3vw,65px)}.understanding em{color:#c4badf}.understanding-layout>div>p{font-size:13px;line-height:1.9;color:#d0cbd9;max-width:390px;margin:26px 0}.tooth-illustration{color:#c6bade;position:relative}.tooth-illustration svg{width:100%;max-height:520px}.tooth-illustration>span{display:block;text-align:center;font-size:7px;letter-spacing:1.5px;color:#b8afca}.anatomy-notes{margin:25px 0}.anatomy-notes>div{display:flex;gap:20px;border-top:1px solid #d4cce62b;padding:15px 0}.anatomy-notes>div>span{font-size:8px;color:#c6bade;margin-top:3px}.anatomy-notes p{margin:0;color:#d0cbd9;font-size:11px;line-height:1.8}.anatomy-notes b{display:block;font-size:13px;color:#f8f6ef;font-weight:500;margin-bottom:3px}.light-link{display:inline-flex;gap:40px;font-size:11px;border-bottom:1px solid #c6bade;padding:12px 0;color:#f8f6ef}.approach{border-radius:0;padding-bottom:65px}.faq-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;margin-top:60px}.faq-layout>div>p{font-size:13px;line-height:1.9;color:var(--sub);margin-top:25px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{gap:20px;align-items:center}.faq-list h3{font-size:17px;font-weight:500;line-height:1.5;letter-spacing:-.4px;max-width:85%}.faq-list summary i{flex:none}.faq-list details>p{margin:0 45px 25px 0;font-size:12px;line-height:1.85}.booking-section{background:#e8e4f1;padding:65px var(--pad) 30px;border-radius:38px 38px 0 0}.booking-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;margin-top:60px}.booking-layout>div>p{font-size:13px;line-height:1.85;color:#56566a;margin-top:26px}.demo-form-note{display:flex;gap:12px;max-width:340px;margin-top:38px;color:#56566a}.demo-form-note i{font-family:Georgia,serif;display:grid;place-items:center;border:1px solid #ada7bc;border-radius:50%;height:20px;width:20px;flex:none;font-size:12px}.demo-form-note p{margin:0;font-size:10px;line-height:1.8}.demo-form-note b{display:block;font-weight:600;margin-bottom:4px}form label{display:flex;flex-direction:column;gap:12px;font-size:11px;font-weight:600;line-height:1.5;margin-bottom:24px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}input,select,textarea{width:100%;font:400 13px Manrope,Arial,sans-serif;color:var(--ink);background:#f5f3f9b3;border:1px solid #bcb6cd;border-radius:9px;padding:15px 14px;transition:background .2s,border-color .2s;min-height:48px}input::placeholder,textarea::placeholder{color:#6e6a7a}input:focus,textarea:focus,select:focus{border-color:var(--accent);background:#fff}.optional{font-size:7px;font-weight:400;letter-spacing:1px;color:#625e72;display:inline}.form-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.form-bottom>span{font-size:7px;letter-spacing:.5px;color:#625e72;max-width:150px;line-height:1.7}.booking-section footer{margin-top:70px;border-color:#bbb4cd}.booking-section footer p{max-width:520px}.booking-section footer .brand{flex:none}dialog h2{font-size:46px}#requestPreview{background:#e8e4f1;padding:18px;border-radius:10px;font-size:12px;line-height:1.6;margin:20px 0 25px}#requestPreview dt{font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-top:12px;color:#625e72}#requestPreview dt:first-child{margin-top:0}#requestPreview dd{margin:5px 0 0;overflow-wrap:anywhere}dialog{max-height:90svh;overflow:auto}@media(max-width:1000px){nav{gap:17px;font-size:10px}.understanding-layout{gap:5%}.steps h3{font-size:23px}.faq-list h3{font-size:16px}.booking-layout{gap:6%}}@media(max-width:760px){.tooth-halo{width:100vw;height:49vh;top:37%;filter:blur(13px);min-width:0}.process,.faq{padding:45px var(--pad) 60px}.process-intro{display:block;margin:36px 0}.process-intro>p{font-size:12px;margin-top:25px}.process h2,.booking-section h2{font-size:45px}.steps{margin-top:30px}.steps article{grid-template-columns:45px 1fr;gap:18px;padding:25px 0;align-items:start}.step-n{font-size:37px;letter-spacing:-2px}.step-mark{display:none}.steps h3{font-size:21px}.steps p{font-size:12px}.understanding{padding:40px var(--pad) 55px}.understanding-layout{display:flex;flex-direction:column;gap:30px;margin-top:25px;align-items:stretch}.tooth-illustration{max-width:330px;width:100%;align-self:center}.tooth-illustration svg{max-height:320px}.understanding h2{font-size:39px}.understanding-layout>div>p{font-size:12px}.approach{padding-bottom:45px}.faq-layout{grid-template-columns:1fr;gap:35px;margin-top:35px}.faq h2{font-size:44px}.faq-layout>div>p{font-size:12px;margin-top:20px}.faq-list summary{padding:21px 0}.faq-list h3{font-size:16px;max-width:85%;letter-spacing:-.2px}.faq-list details>p{margin-right:15px}.booking-section{padding:42px var(--pad) 25px;border-radius:25px 25px 0 0}.booking-layout{grid-template-columns:1fr;gap:35px;margin-top:35px}.booking-layout>div>p{font-size:12px;margin-top:20px}.demo-form-note{margin-top:25px;max-width:100%}.field-row{grid-template-columns:1fr;gap:0}form label{margin-bottom:20px;font-size:11px}.form-bottom{align-items:flex-start;flex-direction:column;gap:15px}.form-bottom>span{max-width:100%;font-size:7px}.form-bottom .appointment{width:100%;font-size:12px}.booking-section footer{margin-top:50px}#requestPreview{font-size:11px}}
/* The halo's bounds are projected from the 3D tooth, including scroll and drag. */
.tooth-halo{min-width:0;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,#aaa1bb 0%,#c3bbd2 37%,#ded8e8b8 56%,#eeeaf35c 67%,transparent 77%);filter:none;opacity:1;will-change:left,top,width,height}
