:root{--forest:#123f34;--deep:#0c3028;--paper:#fbfaf6;--sage:#e6eee5;--ink:#183e34;--muted:#52645b;--line:#cbd6cc;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}[hidden]{display:none!important}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ae582e;outline-offset:5px}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.06;letter-spacing:-.047em}h2{font-size:clamp(44px,4.7vw,68px)}em{font-weight:400}img{max-width:100%;display:block}svg{flex:none}.section-wrap{width:min(1320px,88%);margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;background:#fff;color:var(--forest);padding:12px 18px;z-index:100;transform:translateY(-180%)}.skip-link:focus{transform:none}.topline{display:flex;justify-content:space-between;gap:20px;padding:8px 6%;background:var(--forest);color:#f2f5ec;font-size:11px;letter-spacing:.025em}.topline a{text-decoration:none;display:inline-flex;align-items:center;min-height:24px}.topline a span{margin-left:12px}.site-header{position:sticky;top:0;z-index:15;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 6%;min-height:98px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:400 39px/.8 var(--serif);letter-spacing:-.06em}.brand-sub{display:block;font:500 9px/1 var(--sans);letter-spacing:.42em;margin-top:12px;padding-left:4px}.site-nav{display:flex;align-items:center;gap:25px}.site-nav>a:not(.button){display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-decoration:none}.site-nav>a:not(.button):hover{text-decoration:underline}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:54px;padding:14px 23px;background:var(--forest);color:#fff;border:1px solid var(--forest);border-radius:3px;font-size:14px;font-weight:600;line-height:1.35;text-decoration:none;transition:background .18s,transform .18s}.button:hover{background:var(--deep);transform:translateY(-1px)}.button.small{min-height:46px;font-size:12px;padding:12px 18px}.button span{font-size:20px;font-weight:400}.button.light{color:var(--forest);background:var(--paper);border-color:var(--paper)}.button.light:hover{background:var(--sage)}.text-link{display:inline-flex;align-items:center;gap:24px;justify-content:space-between;min-height:44px;text-decoration:none;font-size:14px;border-bottom:1px solid currentColor}.text-link:hover{opacity:.8}.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.13em;line-height:1.7}.dot{display:inline-block;width:6px;height:6px;margin-right:9px;margin-bottom:2px;background:var(--forest);border-radius:50%}.hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:5%;padding-top:72px;padding-bottom:78px}.hero h1{font-size:clamp(48px,5vw,76px);margin:24px 0;line-height:1.05}.hero h1 em{color:#35694e}.hero-intro{max-width:40ch;color:var(--muted);font-size:16px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}.hero-doctor{display:flex;align-items:center;gap:12px;margin-top:35px}.hero-doctor img{width:56px;height:56px;border-radius:50%;object-fit:cover}.hero-doctor strong{display:block;font-size:12px;font-weight:600}.hero-doctor span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.hero-visual{position:relative;padding-bottom:20px;padding-right:20px}.hero-visual:before{content:'';position:absolute;inset:20px 0 0 20px;background:var(--sage);border-radius:90px 6px 6px 6px}.hero-frame{position:relative;overflow:hidden;border-radius:90px 6px 6px 6px;background:var(--forest)}.hero-image{width:100%;height:auto;aspect-ratio:1.25;object-fit:cover;object-position:50% 50%}.image-caption{display:flex;justify-content:space-between;align-items:center;padding:23px 26px;background:var(--forest);color:#fff;font:italic 25px/1.2 var(--serif)}.hero-side-note{position:absolute;right:-25px;top:15%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.18em;color:var(--muted)}.care-strip{display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap;padding:23px 6%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.care-strip [aria-hidden]{font-size:21px;color:#38644b}.care-section{padding-block:94px 74px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:50px}.section-heading h2{margin-top:17px}.section-heading>p{max-width:34ch;color:var(--muted);font-size:15px;line-height:1.8;margin-bottom:4px}.care-layout{display:grid;grid-template-columns:.8fr 1.4fr;gap:9%}.care-intro{background:var(--sage);padding:30px 34px 32px;border-radius:3px}.care-symbol{display:block;font:52px/1 var(--serif);margin-bottom:25px;color:#477058}.care-intro h3{font:34px/1.15 var(--serif);letter-spacing:-.025em}.care-intro p{font-size:14px;line-height:1.8;color:var(--muted);margin:19px 0 18px}.service-list details{border-top:1px solid var(--line)}.service-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.service-list summary{min-height:86px;display:flex;align-items:center;gap:24px}.service-no{font-size:11px;color:var(--muted)}.service-list h3{font:27px/1.25 var(--serif);letter-spacing:-.02em}.plus{position:relative;width:18px;height:18px;display:block;margin-left:auto;flex:none}.plus:before,.plus:after{content:'';position:absolute;top:8px;left:1px;width:16px;height:1px;background:currentColor}.plus:after{transform:rotate(90deg)}details[open]>summary .plus:after{transform:rotate(0)}.service-detail{padding:0 0 27px 38px}.service-detail p{color:var(--muted);font-size:14px;line-height:1.8;max-width:44ch;margin-bottom:12px}.service-detail a{font-size:12px}.care-note{border-top:1px solid var(--line);margin-top:44px;padding-top:23px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px}.care-note a{display:inline-flex;align-items:center;min-height:44px;gap:30px;text-decoration:none}.doctor-section{background:#e9eee6;padding-block:85px}.doctor-grid{display:grid;grid-template-columns:.85fr 1fr;gap:11%;align-items:center}.doctor-portrait{position:relative;max-width:490px}.doctor-portrait>img{width:100%;height:auto;aspect-ratio:1;border-radius:50%}.portrait-label{position:relative;text-align:center;padding:0;margin:22px 0 0}.portrait-label span{display:block;font-size:9px;letter-spacing:.17em}.portrait-label strong{display:block;font:24px/1.4 var(--serif);margin-top:5px}.doctor-copy h2{font-size:clamp(44px,4.4vw,64px);margin:20px 0 27px}.doctor-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:18px}.doctor-facts{border-block:1px solid #bccbbb;padding-block:20px;margin-block:26px;display:grid;grid-template-columns:1fr 1fr;gap:20px}.doctor-facts strong{display:block;font-size:12px;font-weight:600}.doctor-facts span{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:5px}.first-visit{padding-block:96px 80px}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.office-photo img{width:100%;height:auto;aspect-ratio:1.4;object-fit:cover;border-radius:6px 70px 6px 6px}.office-photo figcaption{margin-top:12px;font-size:11px;color:var(--muted)}.visit-steps{list-style:none;padding:0;margin:0}.visit-steps li{display:flex;align-items:flex-start;gap:22px;padding:24px 0;border-bottom:1px solid var(--line)}.visit-steps li:first-child{padding-top:0}.visit-steps li:last-child{border-bottom:0;padding-bottom:0}.visit-steps>li>span{font-size:11px;margin-top:4px;color:var(--muted)}.visit-steps h3{font:26px/1.25 var(--serif);margin-bottom:9px}.visit-steps p{font-size:14px;line-height:1.8;color:var(--muted)}.payment-note{display:grid;grid-template-columns:.7fr 1.3fr 1fr;align-items:center;gap:30px;border-block:1px solid var(--line);padding-block:24px;margin-top:50px}.payment-note>p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted)}.payment-note a{font-size:12px;justify-self:end}.testimonial{background:var(--forest);color:var(--paper);padding-block:65px;text-align:center}.testimonial-inner{max-width:900px}.testimonial .eyebrow{color:#ccdfcb}.testimonial blockquote{font:clamp(30px,3.5vw,46px)/1.26 var(--serif);letter-spacing:-.02em;margin:30px auto 25px;max-width:29ch}.quote-credit{font-size:13px}.quote-credit span{display:block;font-size:10px;color:#cfddce;margin-top:5px}.review-links{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:22px}.review-links a{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:11px;color:#e0ebdc}.locations{padding-block:95px 68px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.location-card{padding:32px;background:#f1f3eb;border:1px solid var(--line);border-radius:4px}.location-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.location-number{font-size:10px;letter-spacing:.15em}.location-card h3{font:34px/1.1 var(--serif);letter-spacing:-.03em;margin-bottom:21px}.location-card address{font-size:14px;font-style:normal;color:var(--muted);line-height:1.8}.phone-link{display:inline-flex;align-items:center;min-height:44px;margin-block:8px 18px;font-size:21px;text-decoration:none;letter-spacing:-.025em}.phone-link:hover{text-decoration:underline}.hours{font-size:12px;line-height:1.8;border-top:1px solid var(--line);padding-top:18px;margin:0 0 24px}.hours>div{display:flex;justify-content:space-between;gap:12px;padding-block:4px}.hours dt{color:var(--muted)}.hours dd{margin:0;white-space:nowrap}.location-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.location-actions .button{font-size:12px;padding-inline:18px}.location-actions .text-link{font-size:12px}.hours-note{font-size:11px;line-height:1.8;color:var(--muted);margin-top:18px}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;border-top:1px solid var(--line);padding-block:65px 80px}.faq-section h2{font-size:47px;margin-top:18px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;gap:22px;min-height:73px;padding-block:16px;font-size:15px;font-weight:500}.faq-list p{padding:0 30px 23px 0;color:var(--muted);font-size:14px;line-height:1.85}.closing{position:relative;text-align:center;padding:57px 20px 61px;background:var(--forest);color:#fff;border-radius:6px;margin-bottom:60px;overflow:hidden}.closing:before,.closing:after{content:'';width:330px;height:330px;border:1px solid #426856;border-radius:50%;position:absolute;top:40px;pointer-events:none}.closing:before{left:-190px}.closing:after{right:-190px}.closing .eyebrow{color:#d4e2d1}.closing h2{margin:22px 0 27px;font-size:58px}.closing .button{position:relative}.site-footer{padding-bottom:30px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:37px}.footer-top .brand{display:block;font-size:41px}.footer-top p{font-size:12px;color:var(--muted);line-height:1.9}.footer-top>a:last-child{font-size:12px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:21px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.footer-bottom>div{display:flex;gap:20px;flex-wrap:wrap}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.footer-bottom a:hover{text-decoration:underline}.mobile-appointment{display:none}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:9px 12px;min-height:44px;gap:15px;align-items:center;font-size:13px}.menu-toggle span{font-size:18px}dialog{padding:28px 32px 24px;width:min(700px,calc(100% - 28px));max-height:calc(100dvh - 30px);border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:#08251ee0}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.close-dialog{width:44px;height:44px;border:1px solid var(--line);background:transparent;border-radius:50%;font-size:28px;line-height:1}.dialog-top+h2{font-size:48px}.dialog-intro{font-size:13px;color:var(--muted);line-height:1.8;max-width:48ch;margin-block:21px}.dialog-offices{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:1px solid var(--line);padding-top:22px}.dialog-offices h3{font:29px/1.2 var(--serif)}.dialog-offices p{font-size:11px;color:var(--muted);margin:8px 0 17px}.dialog-offices .button{font-size:12px;width:100%;padding-inline:16px}.dialog-call{display:inline-flex;align-items:center;min-height:44px;font-size:12px;margin-top:4px}.dialog-note{font-size:10px;color:var(--muted);padding-top:14px;border-top:1px solid var(--line);margin-top:8px}
@media(min-width:1500px){.site-header,.topline{padding-inline:max(6%,calc((100% - 1320px)/2))}}
@media(max-width:1100px){.site-nav{gap:16px}.site-nav>a:not(.button){font-size:12px}.site-header{gap:20px;padding-inline:5%}.section-wrap{width:90%}.hero{gap:4%;padding-block:53px 60px}.hero h1{font-size:53px}.hero-actions{gap:15px}.hero-actions .button{padding-inline:17px}.hero-actions .text-link{font-size:12px}.care-strip{gap:22px}.care-layout{gap:6%}.care-intro{padding:27px}.service-list h3{font-size:24px}.doctor-grid{gap:7%}.doctor-copy h2{font-size:49px}.location-card{padding:26px}.location-actions{gap:15px}.section-heading>p{max-width:31ch}.hero-side-note{right:-20px}.payment-note{grid-template-columns:.7fr 1.3fr}.payment-note a{grid-column:2;justify-self:start}.faq-section{gap:8%}.topline{padding-inline:5%}}
@media(max-width:1020px){html{scroll-padding-top:94px}.topline{font-size:10px;padding:7px 6%}.topline>a{font-size:10px}.site-header{flex-wrap:wrap;padding:17px 6%;min-height:84px}.brand{font-size:34px}.brand svg{width:32px;height:32px}.brand-sub{font-size:8px;margin-top:10px}.menu-toggle:not([hidden]){display:flex}.site-nav{width:100%;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 18px}.enhanced .site-nav{display:none}.enhanced .site-nav.is-open{display:flex;padding:16px 0 4px}.site-nav>a:not(.button){font-size:13px}.site-nav .button{width:100%;justify-content:center}.section-wrap{width:88%}.hero{grid-template-columns:1fr;gap:36px;padding-block:38px 48px}.hero h1{font-size:clamp(49px,8.4vw,68px);margin:20px 0;max-width:12ch}.hero-intro{max-width:44ch;font-size:15px}.hero-actions{gap:23px;margin-top:25px}.hero-doctor{margin-top:28px}.hero-visual{max-width:650px;width:100%;padding-right:15px;padding-bottom:15px}.hero-visual:before{inset:15px 0 0 15px}.hero-image{aspect-ratio:1.55;object-fit:cover}.hero-side-note{display:none}.hero-frame{border-top-left-radius:65px}.image-caption{padding:18px 22px;font-size:24px}.care-strip{padding:19px 6%;gap:13px 22px;justify-content:space-between;font-size:11px}.care-strip [aria-hidden]{display:none}.care-strip>span:not([aria-hidden]){width:calc(50% - 12px)}.care-section{padding-block:59px}.section-heading{display:block;margin-bottom:34px}.section-heading h2{font-size:48px;margin-top:15px}.section-heading>p{max-width:45ch;font-size:14px;margin-top:22px}.care-layout{grid-template-columns:1fr;gap:29px}.care-intro{display:none}.service-list summary{min-height:81px;gap:20px}.service-list h3{font-size:26px}.service-detail{padding-left:33px}.service-detail p{max-width:none}.care-note{margin-top:27px;padding-top:18px;flex-wrap:wrap;gap:0}.care-note span{font-size:12px}.care-note a{font-size:12px;gap:20px}.doctor-section{padding-block:55px}.doctor-grid{grid-template-columns:1fr;gap:38px}.doctor-portrait{width:min(100%,440px);margin:auto}.portrait-label{padding:0;margin-top:20px}.portrait-label strong{font-size:25px}.doctor-copy h2{font-size:48px;margin:18px 0 24px}.doctor-copy>p:not(.eyebrow){font-size:14px}.doctor-facts{gap:18px}.first-visit{padding-block:60px 48px}.visit-grid{grid-template-columns:1fr;gap:32px}.office-photo img{aspect-ratio:1.5;border-top-right-radius:55px}.visit-steps h3{font-size:25px}.visit-steps li{gap:20px}.payment-note{grid-template-columns:1fr;gap:14px;margin-top:35px;padding-block:23px}.payment-note a{grid-column:1}.testimonial{padding-block:48px}.testimonial blockquote{font-size:34px;max-width:24ch}.locations{padding-block:61px 43px}.location-grid{grid-template-columns:1fr;gap:22px}.location-card{padding:26px}.location-card h3{font-size:33px}.location-actions{gap:20px}.hours{font-size:12px}.location-number{font-size:10px}.faq-section{grid-template-columns:1fr;gap:30px;padding-block:42px 50px}.faq-section h2{font-size:44px;margin-top:15px}.faq-list summary{font-size:14px;min-height:72px}.faq-list p{padding-right:0;font-size:13px}.closing{padding:45px 24px 49px;margin-bottom:43px}.closing h2{font-size:47px}.closing .eyebrow{font-size:10px}.footer-top{flex-wrap:wrap;gap:22px;padding-bottom:24px;align-items:flex-start}.footer-top .brand{width:100%;font-size:35px}.footer-top p{font-size:11px}.footer-top>a:last-child{margin-left:auto;font-size:11px}.footer-bottom{gap:10px;font-size:10px;padding-top:18px}.footer-bottom>div{gap:0 18px}.site-footer{padding-bottom:100px}.mobile-appointment{display:flex;justify-content:space-between;align-items:center;gap:15px;position:fixed;z-index:14;bottom:0;inset-inline:0;background:var(--forest);color:#fff;border-top:1px solid #628474;min-height:62px;padding:14px 6% calc(14px + env(safe-area-inset-bottom));text-decoration:none}.mobile-appointment>span:first-child{font:italic 20px/1.2 var(--serif)}.mobile-appointment>span:last-child{font-size:12px}.mobile-appointment>span:last-child>span{margin-left:12px;font-size:18px}.modal-open .mobile-appointment{visibility:hidden}}
@media(max-width:440px){.topline{font-size:9px;gap:10px}.topline>a{font-size:9px}.topline a span{margin-left:3px}.hero h1{font-size:46px}.hero-actions{gap:18px}.hero-actions .button{padding-inline:15px;font-size:12px}.hero-actions .text-link{font-size:11px;gap:14px}.hero-doctor strong{font-size:11px}.hero-doctor span{font-size:10px}.eyebrow{font-size:10px}.image-caption{font-size:21px;padding:16px 20px}.image-caption svg{width:28px}.service-list h3{font-size:23px}.section-heading h2,.doctor-copy h2{font-size:44px}.care-note{display:block}.care-note>span{display:block}.testimonial blockquote{font-size:30px}.location-card{padding:23px}.hours>div{gap:8px}.hours{font-size:11px}.location-actions{display:block}.location-actions .button{width:100%}.location-actions .text-link{margin-top:9px;width:100%}.portrait-label strong{font-size:22px}.doctor-facts{grid-template-columns:1fr;gap:17px}.footer-top>a:last-child{margin-left:0}.dialog-offices{grid-template-columns:1fr;gap:22px}.dialog-offices>div+div{border-top:1px solid var(--line);padding-top:22px}dialog{padding:18px 23px}.dialog-top+h2{font-size:39px}.dialog-intro{font-size:12px}.closing h2{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.testimonial a:focus-visible,.closing a:focus-visible,.mobile-appointment:focus-visible,.topline a:focus-visible{outline-color:#f1cc83}
