/* Reference-led composition: office → practice → care → first visit → patients → videos → contact. */
:root{--shell:1240px}
.practice-section{background:#fff}
.site-header{background:var(--paper)}.header-inner{height:116px;max-width:1600px}.brand{width:196px;height:100px}.brand img{width:196px;height:196px;top:-47px}.desktop-nav a{font-size:13px}.header-cta{font-size:12px;min-height:50px}.section-label{font-size:13px}.quiet-link,.text-button,.service-link{min-height:44px}
.office-hero{position:relative;display:block;max-width:none;padding:0;min-height:620px;background:var(--pearl);isolation:isolate}.office-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 76%;z-index:-2}.office-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f7f2e9 0%,#f7f2e9f5 29%,#f7f2e9bd 46%,#f7f2e910 75%)}.office-hero .hero-copy{padding:78px 0 80px;align-self:auto}.office-hero .location{font-size:12px;margin-bottom:28px}.office-hero h1{font-size:clamp(68px,6.5vw,100px);line-height:1.02;max-width:650px}.office-hero .hero-service{font-size:14px;margin:25px 0 14px;max-width:480px}.office-hero .hero-description{font-size:16px;line-height:1.8;color:var(--muted);max-width:410px}.office-hero .hero-actions{margin:28px 0 18px;max-width:none}.office-hero .hero-actions .button{font-size:13px;min-height:56px;padding:17px 24px}.office-hero .hero-call{font-size:12px}.office-hero .hero-call span{display:inline;margin-left:10px;font-weight:600}.hero-discover{position:absolute;right:var(--gutter);bottom:26px;display:flex;align-items:center;gap:22px;background:var(--surface);padding:12px 20px;font-size:11px;min-height:44px}.hero-discover svg{width:16px;height:16px}
.story{padding-block:108px 86px;grid-template-columns:1fr .9fr;column-gap:108px;row-gap:66px;align-items:center}.story-copy h2{font-size:clamp(46px,4.4vw,66px);line-height:1.12;margin-bottom:28px}.story-copy>p:not(.section-label){font-size:15px;max-width:480px;margin-bottom:21px;line-height:1.9}.story-copy .text-button{font-size:13px;margin-top:4px}.story-visual{max-width:460px;justify-self:end}.story-visual picture{aspect-ratio:4/5}.story-play{left:20px;bottom:20px;padding:14px 20px 14px 14px;font-size:13px;max-width:calc(100% - 40px)}.story-play small{font-size:11px}.dentist-roster{padding-top:30px;gap:48px;text-align:center}.dentist-roster>div{display:flex;flex-direction:column;align-items:center}.dentist-roster img{width:min(100%,230px);display:block;margin-bottom:18px;aspect-ratio:1;object-fit:cover}.dentist-roster p{font-size:28px}.dentist-roster span{margin-top:7px;font-size:12px}
.care-section{background:var(--pearl)}.care-inner{display:block;padding-block:90px}.care-heading{text-align:center;margin-bottom:48px}.care-heading .section-label{margin-bottom:16px}.care-heading h2{font-size:clamp(45px,4.5vw,66px)}.care-heading>p:last-child{font-size:15px;margin-top:22px}.service-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.service-feature{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--surface);min-width:0;min-height:310px}.service-image{min-width:0;overflow:hidden;position:relative;background:#e8e7e0}.service-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;transition:transform .4s}.service-feature:focus-within img,.service-feature:hover img{transform:scale(1.03)}.service-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:30px}.service-copy h3{font:400 33px/1.12 var(--display);letter-spacing:-.025em;margin-bottom:18px}.service-copy p{font-size:13px;line-height:1.8;margin-bottom:18px}.service-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;background:none;border-bottom:1px solid var(--line);padding:8px 0;font-size:11px;font-weight:600;text-align:left;line-height:1.5}.service-link span{font-size:20px;font-weight:400;flex-shrink:0}.service-link:hover{border-color:var(--ink)}.care-explorer{margin:34px auto 0;max-width:1000px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.care-explorer>summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:14px;font-weight:600}.care-explorer[open]>summary{padding-bottom:10px}.explorer-intro{font-size:13px;margin-bottom:25px;max-width:660px}.care-explorer .treatment-list{display:grid;grid-template-columns:1fr;max-width:900px;margin:auto}.care-explorer .treatment:first-child{border-top:0}.care-explorer .treatment:last-child{border-bottom:0}.care-explorer .treatment summary{font-size:29px;padding-block:21px}.care-explorer .treatment-body>p{max-width:690px;font-size:14px}.treatment-tags{font-size:12px}.care-cta{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:38px}.care-cta p{font-size:13px}
.care-statement{text-align:center;padding-block:85px}.care-statement .section-label{margin-bottom:20px}.care-statement h2{font-size:clamp(42px,4.5vw,64px)}.care-statement>p:last-child{font-size:15px;line-height:1.9;margin-top:24px}.first-visit{background:var(--pearl)}.first-inner{padding-block:85px;gap:90px}.first-copy h2{font-size:clamp(46px,4.4vw,65px)}.first-copy>p:not(.section-label){font-size:15px;max-width:430px}.front-desk{margin-top:30px;gap:18px}.desk-faces img{width:62px;height:62px}.front-desk p{font-size:12px}.first-actions{display:flex;flex-wrap:wrap;gap:18px 26px;align-items:center;margin-top:30px}.first-actions .button{font-size:12px}.first-actions .call-link{font-size:17px;margin:0;min-height:44px}.faq-list summary{font-size:15px;padding-block:25px}.faq-list p{font-size:14px}
.patient-note{display:grid;grid-template-columns:.9fr 1fr;gap:80px;text-align:left;max-width:var(--shell);padding-block:95px;align-items:center}.patient-note-photo{height:470px;overflow:hidden}.patient-note-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}.patient-note-copy{padding-right:20px}.patient-note .section-label{margin-bottom:28px}.patient-note .quote-mark{height:48px;font-size:85px}.patient-note blockquote{font-size:clamp(32px,3.3vw,47px);line-height:1.25}.patient-note .quote-credit{justify-content:flex-start;gap:10px 15px;font-size:12px;line-height:1.8}.patient-note .quote-credit a{display:inline;flex-basis:100%;font-size:10px}.patient-note .credit-dot{display:none}.patient-note .quote-credit svg{vertical-align:middle;margin-left:4px}
.answers{padding-block:5px 95px}.section-heading>p{font-size:14px;max-width:300px}.video-art{aspect-ratio:4/4.3}.video-topic{font-size:11px}.video-title{font-size:30px}.video-action{font-size:12px;min-height:30px}.visit{border-top:1px solid var(--line);padding-block:85px}.visit-details h3{font-size:14px}.visit-details address,.visit-details dl{font-size:14px}.visit-details .quiet-link,.visit-contact>a:last-child{font-size:12px}.footer-main>p,.footer-main nav{font-size:12px}.footer-bottom{font-size:10px}
@media(min-width:1600px){.office-hero-photo{object-position:50% 79%}.office-hero{min-height:680px}.office-hero .hero-copy{padding-block:95px}.office-hero::after{background:linear-gradient(90deg,#f7f2e9 0%,#f7f2e9fa 27%,#f7f2e9b5 44%,#f7f2e900 70%)}}
@media(max-width:1100px){.header-inner{gap:23px}.desktop-nav{gap:18px}.desktop-nav a{font-size:12px}.brand{width:164px;height:92px}.brand img{width:164px;height:164px;top:-34px}.story{gap:50px}.service-copy{padding:24px}.service-copy h3{font-size:29px}.service-feature{min-height:300px}.service-link{font-size:10px}.first-inner{gap:50px}.patient-note{gap:50px}.patient-note-photo{height:430px}}
@media(max-width:900px) and (min-width:761px){.header-inner{gap:14px}.desktop-nav{gap:13px}.desktop-nav a,.header-cta{font-size:10px}.header-cta{padding-inline:13px}.brand{width:142px}.brand img{width:142px;height:142px;top:-24px}.office-hero h1{font-size:76px}.story{grid-template-columns:1fr 1fr;gap:34px 40px}.story-copy h2{font-size:46px}.story-copy>p:not(.section-label){font-size:14px}.story-visual{align-self:center}.story-play{left:12px;bottom:12px;max-width:calc(100% - 24px);gap:9px;padding:10px;font-size:11px}.story-play small{font-size:9px}.story-play .play-circle{width:36px;height:36px}.dentist-roster{gap:25px}.dentist-roster p{font-size:25px}.dentist-roster span{font-size:11px}.service-feature{grid-template-columns:.8fr 1fr;min-height:330px}.service-copy{padding:22px}.service-copy h3{font-size:27px}.service-copy p{font-size:12px}.service-link{font-size:10px;gap:10px}.first-inner{gap:40px}.patient-note{gap:40px}.patient-note-photo{height:380px}}
@media(max-width:760px){.header-inner{height:84px;padding-inline:24px}.brand{width:142px;height:80px}.brand img{width:142px;height:142px;top:-30px}.mobile-menu{max-height:calc(100dvh - 84px)}.office-hero{display:block;min-height:620px}.office-hero-photo{object-position:50% 78%;height:100%}.office-hero::after{background:linear-gradient(180deg,#f7f2e9fc 0%,#f7f2e9f2 28%,#f7f2e9d9 48%,#f7f2e915 76%)}.office-hero .hero-copy{padding:42px 0 0;position:relative;align-self:auto}.office-hero .location{font-size:10px;max-width:280px;margin-bottom:23px}.office-hero h1{font-size:clamp(57px,10vw,78px);max-width:550px}.office-hero .hero-service{font-size:12px;margin-top:21px;max-width:340px}.office-hero .hero-description{font-size:14px;line-height:1.8;max-width:340px}.office-hero .hero-actions{margin:24px 0 15px;gap:0}.office-hero .hero-actions .button{font-size:12px;min-height:53px;padding:15px 22px}.office-hero .hero-call{font-size:11px}.office-hero .hero-call span{margin-left:8px}.hero-discover{left:24px;right:auto;bottom:24px;font-size:10px;padding:10px 16px;gap:20px}.story{padding-block:64px;grid-template-columns:1fr;gap:32px}.story-copy h2{font-size:45px;margin-bottom:24px}.story-copy>p:not(.section-label){font-size:14px;max-width:540px}.story-visual{max-width:480px;justify-self:center}.story-play{font-size:12px;padding:12px;gap:12px;left:16px;bottom:16px;max-width:calc(100% - 32px)}.story-play small{font-size:10px}.dentist-roster{grid-template-columns:1fr;gap:22px;padding-top:28px;text-align:left}.dentist-roster>div{display:grid;grid-template-columns:100px 1fr;gap:22px;align-items:center}.dentist-roster img{width:100px;margin:0}.dentist-roster p{font-size:25px}.dentist-roster span{font-size:11px;margin-top:6px}.care-inner{padding-block:65px}.care-heading{margin-bottom:32px}.care-heading h2{font-size:43px;max-width:520px;margin-inline:auto}.care-heading>p:last-child{font-size:14px;margin-top:20px}.service-features{grid-template-columns:1fr;gap:20px}.service-feature{min-height:245px;grid-template-columns:.85fr 1.15fr}.service-copy{padding:22px}.service-copy h3{font-size:29px;margin-bottom:14px}.service-copy p{font-size:12px;line-height:1.8;margin-bottom:10px}.service-link{font-size:10px;gap:12px;min-height:44px}.care-explorer{margin-top:26px}.care-explorer>summary{font-size:13px;gap:18px;min-height:68px}.explorer-intro{font-size:13px}.care-explorer .treatment summary{font-size:26px;padding-block:23px}.care-explorer .treatment-body{padding-right:0}.care-explorer .treatment-body>p{font-size:14px}.treatment-tags{font-size:11px}.care-cta{flex-direction:column;gap:14px;margin-top:28px}.care-cta p{font-size:12px}.care-statement{padding-block:64px}.care-statement h2{font-size:40px}.care-statement>p:last-child{font-size:14px}.first-inner{padding-block:64px;grid-template-columns:1fr;gap:35px}.first-copy h2{font-size:46px}.first-copy>p:not(.section-label){font-size:14px}.desk-faces img{width:58px;height:58px}.front-desk{gap:13px}.front-desk p{font-size:11px}.first-actions{gap:18px;flex-direction:column;align-items:flex-start;margin-top:25px}.first-actions .call-link{font-size:18px}.faq-list summary{font-size:14px}.faq-list p{font-size:14px}.patient-note{grid-template-columns:1fr;gap:33px;max-width:calc(100% - var(--gutter)*2);padding-block:64px}.patient-note-photo{height:340px}.patient-note-copy{padding:0}.patient-note blockquote{font-size:36px}.patient-note .quote-credit{font-size:12px}.patient-note .quote-credit a{font-size:10px}.answers{padding-block:4px 64px}.section-heading h2{font-size:42px}.section-heading>p{font-size:14px;max-width:340px}.video-grid{gap:25px}.video-topic{font-size:10px}.video-title{font-size:25px}.video-art{aspect-ratio:3/4}.visit{padding-block:64px}.visit h2{font-size:49px}.visit-details address,.visit-details dl{font-size:13px}.visit-contact>a:last-child{font-size:11px;overflow-wrap:anywhere}.footer-main nav{font-size:11px}.footer-main>p{font-size:10px}.footer-bottom{font-size:9px}.mobile-contact>*{min-height:44px}}
@media(max-width:360px){.header-inner{padding-inline:20px}.office-hero{min-height:610px}.office-hero h1{font-size:52px}.office-hero .hero-service{font-size:11px}.office-hero .location{font-size:9px}.hero-discover{left:20px}.story-copy h2{font-size:40px}.service-copy{padding:16px}.service-copy h3{font-size:25px}.service-copy p{font-size:12px}.service-feature{min-height:255px;grid-template-columns:.7fr 1.3fr}.service-link{font-size:10px;gap:8px}.dentist-roster>div{grid-template-columns:85px 1fr;gap:17px}.dentist-roster img{width:85px}.dentist-roster p{font-size:23px}.story-play{font-size:10px}.story-play small{font-size:9px}.story-play .play-circle{width:35px;height:35px}.care-statement h2{font-size:35px}.section-heading h2{font-size:36px}.patient-note blockquote{font-size:33px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion-preview]){scroll-behavior:auto}html:not([data-motion-preview]) *,html:not([data-motion-preview]) *::before,html:not([data-motion-preview]) *::after{animation:none!important;transition:none!important}}
