:root{--paper:#fbfcf7;--white:#fff;--ink:#29371c;--muted:#606d52;--green:#8fbd32;--green-hover:#7da729;--green-dark:#3f601d;--sage:#eef5df;--lime:#dcedb5;--line:#dce6cc;--radius:20px;--max-width:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Avenir Next,Avenir,Segoe UI,sans-serif;font-size:16px;line-height:1.7}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:5px}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}:focus-visible{outline:3px solid var(--green-dark);outline-offset:5px}::selection{background:var(--lime);color:var(--ink)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{overflow-wrap:anywhere;hyphens:auto}h1,h2{letter-spacing:-.045em;font-family:Iowan Old Style,Palatino Linotype,Book Antiqua,Palatino,Georgia,serif;font-weight:400;line-height:1.13}h1{margin-bottom:26px;font-size:clamp(2.9rem,5.3vw,5rem)}h2{margin-bottom:24px;font-size:clamp(2.2rem,3.8vw,3.45rem)}h3{letter-spacing:-.02em;font-size:1.2rem;font-weight:600;line-height:1.4}p{margin-bottom:1.25rem}svg{flex-shrink:0}address{font-style:normal}.container{width:min(var(--max-width), calc(100% - 96px));margin-inline:auto}.section{padding-block:90px}.section-soft{background:var(--sage)}.eyebrow{letter-spacing:.17em;text-transform:uppercase;color:var(--green-dark);overflow-wrap:anywhere;align-items:center;gap:12px;margin-bottom:22px;font-size:.72rem;font-weight:700;display:flex}.eyebrow:before{content:"";background:currentColor;flex-shrink:0;width:27px;height:1px}.lead{color:var(--muted);max-width:640px;font-size:1.12rem;line-height:1.8}.muted{color:var(--muted)}.divider{border:0;border-top:1px solid var(--line);margin-block:28px}.small{font-size:.85rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--white);padding:12px 24px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.button{background:var(--green);color:var(--ink);border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:20px;padding:17px 26px;font-size:.9rem;font-weight:600;line-height:1.5;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:var(--green-hover);transform:translateY(-2px)}.button-small{gap:12px;padding:12px 18px;font-size:.8rem}.button-light{background:var(--lime);color:var(--ink)}.button-light:hover{background:#e8f4cd}.button-outline{border-color:var(--line);color:var(--green-dark);background:0 0}.button-outline:hover{background:var(--sage)}.text-link{border-bottom:1px solid;align-items:center;gap:12px;padding-bottom:4px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{color:var(--green-dark)}.actions{flex-wrap:wrap;align-items:center;gap:24px;margin-top:30px;display:flex}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px;display:flex}.section-heading h2{margin-bottom:0}.section-heading .text-link{white-space:nowrap}.two-column{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.two-column>*,.three-column>*,.service-details-grid>*{min-width:0}.three-column{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.topbar{background:var(--green);color:var(--ink);letter-spacing:.03em;font-size:.71rem}.topbar-inner{justify-content:space-between;padding-block:8px;display:flex}.topbar a{align-items:center;gap:8px;text-decoration:none;display:flex}.site-header{z-index:20;border-bottom:1px solid var(--line);background:#fbfcf7f7;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:100px;display:flex}.brand{flex-shrink:0;align-items:center;gap:13px;line-height:1.2;text-decoration:none;display:inline-flex}.brand img{mix-blend-mode:multiply;width:49px;height:auto}.brand-small{text-transform:uppercase;letter-spacing:.16em;margin-bottom:6px;font-size:.63rem;display:block}.brand strong{letter-spacing:-.025em;font-family:Georgia,serif;font-size:1.45rem;font-weight:400;display:block}#main-navigation{align-items:center;gap:30px;display:flex}.nav-list{gap:26px;margin:0;padding:0;list-style:none;display:flex}.nav-list a{white-space:nowrap;padding:14px 4px;font-size:1.125rem;font-weight:600;text-decoration:none;display:block;position:relative}#main-navigation>.button{min-height:48px;font-size:1rem}.nav-list a:after{content:"";background:var(--green);height:2px;transition:transform .2s;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.nav-list a:hover:after,.nav-list a[aria-current]:after{transform:scaleX(1)}.menu-toggle{display:none}.hero{padding-block:65px 60px;overflow:hidden}.hero-grid{grid-template-columns:1fr 1.02fr;align-items:center;gap:65px;display:grid}.hero-copy{padding-block:20px}.hero h1 em{color:var(--green-dark);font-weight:400}.hero-copy .lead{max-width:420px;font-size:1rem}.hero-caption{color:var(--muted);align-items:center;gap:12px;margin-top:36px;font-size:.77rem;display:flex}.hero-caption span:first-child{background:var(--sage);width:34px;height:34px;color:var(--green-dark);border-radius:50%;place-items:center;display:grid}.hero-visual{padding-bottom:28px;position:relative}.hero-image{object-fit:cover;border-radius:160px 20px 20px;width:100%;height:500px}.hero-doctor-image{object-position:50% 55%}.doctor-intro-photo{min-width:0;margin:0}.doctor-intro-photo img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%}.doctor-intro-photo figcaption{color:var(--muted);margin-top:14px;font-size:.9rem}.hero-stamp{background:var(--lime);border:7px solid var(--paper);text-transform:uppercase;letter-spacing:.1em;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:104px;height:104px;font-size:.62rem;line-height:1.6;display:flex;position:absolute;top:24px;right:-22px;transform:rotate(10deg)}.hero-stamp svg{margin-bottom:5px}.hero-image-caption{background:#fff;border-radius:12px;align-items:center;gap:16px;padding:21px 28px;font-size:.8rem;display:flex;position:absolute;bottom:0;left:-28px;box-shadow:0 12px 35px #3f601d14}.hero-image-caption strong{font-size:.9rem;display:block}.icon-box{background:var(--sage);width:49px;height:49px;color:var(--green-dark);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.quick-links{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(3,1fr);display:grid}.quick-link{align-items:center;gap:17px;padding:26px 30px;text-decoration:none;display:flex}.quick-link+.quick-link{border-left:1px solid var(--line)}.quick-link strong{font-size:.95rem;font-weight:600;display:block}.quick-link small{color:var(--muted);font-size:.76rem}.quick-link>svg{width:19px;margin-left:auto;transition:transform .2s}.quick-link:hover>svg{transform:translate(5px)}.closure-notice{background:var(--sage);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--green-dark);border-radius:10px;align-items:center;gap:18px;margin-top:20px;padding:14px 22px;display:flex}.closure-notice-icon{background:var(--green-dark);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.closure-notice-icon svg{width:23px;height:23px}.closure-notice-copy{min-width:0}.closure-notice-label{letter-spacing:.09em;text-transform:uppercase;margin-bottom:3px;font-size:.65rem;font-weight:700}.closure-notice h2{letter-spacing:-.02em;margin-bottom:2px;font-family:inherit;font-size:1rem;font-weight:600;line-height:1.4}.closure-notice-dates{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:0 .3em;margin-bottom:0;font-size:clamp(1.05rem,2vw,1.25rem);font-weight:750;line-height:1.4;display:flex}.closure-notice-link{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;font-size:.85rem;font-weight:600;display:inline-flex}.closure-notice-link:hover{text-decoration-thickness:2px}.image-frame{position:relative}.image-frame>img{object-fit:cover;border-radius:var(--radius);width:100%;height:480px}.image-frame .image-note{background:var(--green);color:var(--ink);border-radius:12px;padding:22px 26px;font-family:Georgia,serif;font-size:1.25rem;line-height:1.4;position:absolute;bottom:25px;right:-20px}.feature-list{margin:25px 0;padding:0;list-style:none}.feature-list li{border-top:1px solid var(--line);align-items:center;gap:13px;padding-block:12px;font-size:.91rem;display:flex}.feature-list li:before{content:"+";color:var(--green-dark);font-size:1.2rem}.service-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.service-card{border:1px solid var(--line);background:#ffffff7a;border-radius:12px;padding:30px 24px}.service-card .icon-box{background:#fff;margin-bottom:28px}.service-card h3{font-size:1.1rem}.service-card p{color:var(--muted);font-size:.86rem}.service-card .text-link{margin-top:12px;font-size:.8rem}.gallery-grid{grid-template-columns:1.4fr 1fr 1fr;gap:20px;display:grid}.gallery-grid figure{margin:0}.gallery-grid img{object-fit:cover;border-radius:12px;width:100%;height:330px}.gallery-grid figcaption{color:var(--muted);margin-top:13px;font-size:.8rem}.hours-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:42px}.hours-panel h2{font-size:2.25rem}.hours-table{border-collapse:collapse;width:100%;margin-block:22px;font-size:.83rem}.hours-table th{text-align:left;font-weight:500}.hours-table td{text-align:right;white-space:nowrap}.hours-table th,.hours-table td{border-bottom:1px solid var(--line);padding:12px 0}.hours-table td:last-child{padding-left:12px}.contact-lines{padding:0;list-style:none}.contact-lines li{align-items:flex-start;gap:16px;margin-top:23px;display:flex}.contact-lines a{text-decoration:none}.contact-lines small{color:var(--muted);display:block}.page-heading{background:var(--sage);padding-block:65px 60px}.page-heading h1{max-width:900px;font-size:clamp(2.8rem,5vw,4.4rem)}.page-heading .lead{margin-bottom:0}.wide-image{object-fit:cover;border-radius:var(--radius);width:100%;max-height:650px}.team-intro{margin-top:70px}.team-intro>img{object-position:center 35%;height:480px}.doctor-photo{background:var(--sage);border-radius:var(--radius);justify-content:center;padding:45px;display:flex}.doctor-photo img{border-radius:150px 150px 12px 12px;width:280px}.doctor-description{max-width:600px}.doctor-description h3{color:var(--muted);font-size:1rem;font-weight:400}.doctor-description details{margin-top:25px;font-size:.85rem}.team-card{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.team-card img{object-fit:cover;object-position:50% 30%;width:100%;height:390px}.team-card-body{padding:24px}.team-card h3{margin-bottom:4px}.team-card p{color:var(--muted);margin-bottom:0;font-size:.88rem}.team-duties{color:var(--muted);margin:15px 0 0;padding-left:18px;font-size:.82rem;line-height:1.55}.team-duties li{margin-bottom:7px}.team-duties li::marker{color:var(--green-dark)}.service-details-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.service-detail{border:1px solid var(--line);background:#fff;border-radius:16px;padding:36px;scroll-margin-top:130px}.service-detail h2{margin-top:20px;font-size:2rem}.service-detail>p{color:var(--muted)}.content-list{padding-left:20px}.content-list li{margin-bottom:9px;padding-left:4px}.content-list li::marker{color:var(--green-dark)}.content-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:36px}.content-card h2{font-size:2rem}.content-card .icon-box{margin-bottom:25px}.info-box{background:var(--sage);border-radius:12px;margin-top:25px;padding:25px 28px}.info-box h3{margin-bottom:10px}.info-box p:last-child{margin-bottom:0}.numbered-steps{counter-reset:steps;padding:0;list-style:none}.numbered-steps li{counter-increment:steps;margin-bottom:35px;padding-left:64px;position:relative}.numbered-steps li:before{content:"0" counter(steps);background:var(--sage);width:42px;height:42px;color:var(--green-dark);border-radius:50%;place-items:center;font-size:.85rem;display:grid;position:absolute;top:0;left:0}.numbered-steps h3{margin-bottom:8px}.numbered-steps p{color:var(--muted)}.faq-list{max-width:850px;margin-inline:auto}.faq-list details{border-bottom:1px solid var(--line)}summary{cursor:pointer}.faq-list summary{padding:25px 35px 25px 0;font-weight:500;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-size:1.7rem;font-weight:300;position:absolute;top:18px;right:4px}.faq-list details[open] summary:after{content:"−"}.faq-list details p{color:var(--muted);padding-right:35px}.center-heading{text-align:center;margin-bottom:35px}.center-heading .eyebrow{justify-content:center}.contact-banner{background:var(--sage);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:45px;padding:58px 65px;display:flex;position:relative;overflow:hidden}.contact-banner:after{content:"";pointer-events:none;border:1px solid #3f601d1f;border-radius:50%;width:280px;height:280px;position:absolute;top:-130px;right:-100px}.contact-banner .eyebrow{color:var(--green-dark)}.contact-banner h2{font-size:clamp(2.1rem,3.2vw,3rem)}.contact-banner p:last-child{color:var(--ink);margin-bottom:0;font-size:.9rem}.banner-actions{flex-direction:column;flex-shrink:0;align-items:center;gap:24px;display:flex}.phone-link{align-items:center;gap:12px;text-decoration:none;display:flex}.section.review-section{padding-top:0}.review-banner{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:28px;padding:32px;display:flex}.review-copy{flex:1;min-width:0}.review-copy .eyebrow{margin-bottom:10px}.review-copy h2{margin-bottom:12px;font-size:clamp(1.7rem,2.6vw,2.25rem)}.review-copy>p:last-child{color:var(--muted);margin-bottom:0}.review-actions{flex-shrink:0;max-width:100%}.review-actions .button{font-size:1rem}.review-actions p{color:var(--muted);margin:10px 0 0;font-size:1rem}@media (width<=980px){.review-banner{flex-direction:column;align-items:flex-start;gap:20px;padding:28px}}.closure-list{margin:0;padding:0;list-style:none}.closure-list li{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding-block:14px;display:flex}.news-list{gap:24px;display:grid}.news-list>*{min-width:0}.news-list article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:36px}.news-list h2{font-size:2rem}.news-list p:last-child{margin-bottom:0}.contact-layout{align-items:start}.location-image{border-radius:12px;width:100%;margin-top:35px}.emergency{border:1px solid var(--line);border-radius:12px;margin-top:28px;padding:28px}.emergency h3{margin-bottom:12px}.emergency p{font-size:.85rem}.emergency p:last-child{margin-bottom:0}.legal{max-width:850px}.legal h2{margin-top:45px;font-size:1.9rem}.legal h2:first-child{margin-top:0}.legal h3{margin-top:30px}.legal h4{font-size:1rem}.legal a{overflow-wrap:anywhere}.legal p,.legal li{color:var(--muted);font-size:.95rem}.empty-state{text-align:center;max-width:700px;margin-inline:auto}.empty-state .icon-box{margin-bottom:25px}.empty-state .actions{justify-content:center}.site-footer{border-top:1px solid var(--line);background:var(--sage);padding-top:60px;font-size:.8rem;line-height:2}.footer-grid{grid-template-columns:1.5fr 1fr 1.15fr 1fr;gap:40px;padding-bottom:50px;display:grid}.footer-brand{margin-bottom:22px}.footer-grid p,.footer-grid address,.footer-grid>div>span{color:var(--muted)}.footer-grid h2{letter-spacing:0;margin-block:0 18px;font-family:inherit;font-size:.83rem;font-weight:600}.footer-grid a{text-decoration:none}.footer-grid a:hover{text-decoration:underline}.footer-grid .text-link{margin-top:12px;font-size:.8rem}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:20px;padding-block:22px;font-size:.7rem;display:flex}.footer-bottom a{text-decoration:none}.footer-bottom>div{gap:26px;display:flex}@media (width>=1500px){.hero{padding-top:85px}}@media (width<=1150px){.container{width:calc(100% - 64px)}.nav-list{gap:17px}#main-navigation{gap:20px}.brand strong{font-size:1.3rem}.brand img{width:42px}.hero-grid{gap:40px}.quick-link{gap:12px;padding:24px 20px}.quick-link .icon-box{width:40px;height:40px}.two-column{gap:45px}.service-grid{grid-template-columns:1fr 1fr}.footer-grid{gap:25px}}@media (width<=1250px){.menu-toggle{border:1px solid var(--line);min-height:48px;color:var(--green-dark);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:14px;padding:10px 14px;font-size:1rem;font-weight:600;display:flex}.menu-lines{border-block:1px solid;width:20px;height:12px;position:relative}.menu-lines:after{content:"";border-top:1px solid;position:absolute;top:5px;left:0;right:0}#main-navigation{background:var(--paper);border-bottom:1px solid var(--line);align-items:stretch;max-height:calc(100dvh - 100%);padding:20px 32px 30px;display:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 15px 25px #3f601d0f}#main-navigation.is-open{flex-direction:column;display:flex}.nav-list{flex-direction:column;gap:0}.nav-list a{border-bottom:1px solid var(--line);white-space:normal;padding-block:16px;font-size:1.1875rem}.nav-list a:after{display:none}.nav-list a[aria-current]{font-weight:700}}@media (width<=980px){.hero-image{height:460px}.hero .actions{gap:18px}.hero .button{padding:15px 20px}.hero-image-caption{padding:18px;left:-15px}.hero-stamp{right:-15px}.quick-link small{display:none}.quick-link strong{font-size:.85rem}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid figure:first-child{grid-column:1/-1}.gallery-grid figure:first-child img{height:400px}.hours-panel{padding:28px}.hours-table{font-size:.75rem}.contact-banner{padding:45px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.team-card img{height:320px}.team-card-body{padding:20px}}@media (width<=700px){.container{width:calc(100% - 40px)}.section{padding-block:58px}.topbar-inner{justify-content:center}.topbar-inner>span{display:none}.header-inner{min-height:82px}.brand img{width:40px}.brand strong{font-size:1.25rem}.brand-small{font-size:.58rem}.hero{padding-block:30px 35px}.hero-grid{grid-template-columns:1fr;gap:36px}.hero-copy{padding:12px 0 0}.hero h1{font-size:clamp(2.9rem,10vw,4.2rem)}.hero-copy .lead{max-width:100%}.hero-caption{margin-top:26px}.hero-image{border-radius:100px 16px 16px;height:360px}.hero-image-caption{padding:17px;left:15px;right:15px}.hero-stamp{width:90px;height:90px;top:-15px;right:8px}.quick-links{grid-template-columns:1fr}.quick-link{padding:19px 22px}.quick-link+.quick-link{border-left:none;border-top:1px solid var(--line)}.quick-link small{display:block}.quick-link strong{font-size:.95rem}.closure-notice{grid-template-columns:32px minmax(0,1fr);align-items:start;gap:8px 12px;margin-top:16px;padding:14px;display:grid}.closure-notice-icon{width:32px;height:32px}.closure-notice-icon svg{width:20px;height:20px}.closure-notice-link{grid-column:2;margin-left:0;font-size:.78rem}.two-column,.three-column,.service-details-grid{grid-template-columns:1fr;gap:32px}.image-frame>img{height:auto;max-height:450px}.image-frame .image-note{padding:16px 22px;font-size:1.1rem;bottom:18px;right:12px}.section-heading{margin-bottom:30px;display:block}.section-heading .text-link{margin-top:24px}.service-grid{gap:14px}.service-card{padding:25px 20px}.service-card h3{font-size:1rem}.service-card .icon-box{margin-bottom:23px}.service-card p{font-size:.8rem}.gallery-grid{gap:14px}.gallery-grid img{height:230px}.gallery-grid figure:first-child img{height:300px}.hours-table{font-size:.81rem}.contact-banner{flex-direction:column;align-items:stretch;gap:30px;padding:35px 28px}.banner-actions{align-items:flex-start}.page-heading{padding-block:42px}.page-heading h1{font-size:2.9rem}.page-heading .lead{font-size:1rem}.team-intro{margin-top:40px}.team-intro>img{height:330px}.team-card img{height:440px}.doctor-photo{padding:30px}.service-detail,.content-card,.news-list article{padding:28px}.service-detail h2{font-size:1.8rem}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid>div:nth-child(3){overflow-wrap:anywhere}.footer-bottom{flex-wrap:wrap}.footer-bottom>span{flex-basis:100%}}@media (width<=380px){.service-grid{grid-template-columns:1fr}.hours-panel{padding:22px 18px}.hours-table{font-size:.72rem}.hours-table td:last-child{padding-left:6px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
