:root{--ink:#303f39;--muted:#596a61;--green:#3f6154;--green-soft:#d4e0d8;--sage:#e0e8e1;--linen:#eceee7;--wood:#d4dfd6;--line:#7d938455;--serif:'Fraunces',Georgia,serif;--body:'Inter',Arial,sans-serif;--gutter:clamp(24px,5vw,86px);--ease:cubic-bezier(.2,.65,.2,1);font-family:var(--body);font-size:17px;color-scheme:light}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:112px}body{background:var(--linen);color:var(--ink);line-height:1.75;-webkit-font-smoothing:antialiased;font-size:17px}body::before{content:'';position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:#b8c5a6;color:#26371c}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:6px}img{display:block;width:100%;height:auto}svg{display:block;width:23px;height:23px;flex-shrink:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2;letter-spacing:-.035em}h2{font-size:clamp(31px,3vw,43px)}p{max-width:70ch}strong{font-weight:500}ul{list-style:none}address{font-style:normal}figcaption{font-size:14px;color:var(--muted);line-height:1.7}body:has(dialog[open]){overflow:hidden}.section{padding:88px max(var(--gutter),calc((100vw - 1280px)/2));position:relative}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1.65px;color:var(--muted);margin-bottom:20px;font-weight:500}.quiet-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid #6a785c99;padding-block:8px;font-size:16px;line-height:1.5;color:var(--green)}.quiet-link svg{width:17px;height:17px}.quiet-link:hover{border-color:var(--green);color:#263a1c}.skip-link{position:fixed;z-index:500;top:12px;left:12px;padding:10px 20px;background:var(--green);color:#f1ecdf;transform:translateY(-160%)}.skip-link:focus{transform:none}#top{position:absolute;top:0}
.site-header{position:sticky;top:0;z-index:100;padding:20px var(--gutter);min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#eceee7ed;backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand-leaf{width:48px;height:48px;color:var(--green);padding:5px;border:1px solid #8fa59560;border-radius:50%;display:grid;place-items:center}.brand-leaf svg{width:36px;height:36px}.brand>span:last-child{font-family:var(--serif);font-size:25px;letter-spacing:-.9px;line-height:1.3}.brand em{font-weight:400;font-style:normal;color:#778264}.brand small{font-family:var(--body);display:block;font-size:10px;letter-spacing:.9px;margin-top:5px;color:var(--muted)}.site-header nav{display:flex;gap:28px;align-items:center}.site-header nav a{font-size:15px;color:var(--ink);padding:8px 0;position:relative;line-height:1.5}.site-header nav a:not(.nav-rdv)::after{content:'';height:1px;position:absolute;bottom:2px;left:0;right:0;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover::after{transform:scaleX(1)}.site-header nav .nav-rdv{padding:9px 16px;border:1px solid #8fa5957a;border-radius:4px;background:#d8e4db77}.site-header nav .nav-rdv:hover{background:#ccddcf}.menu-toggle{display:none;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:7px}.menu-toggle span{width:24px;height:1px;background:var(--green);transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
/* Textured linen, sage and quiet botanical drawings. */
.welcome{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:center;padding:80px max(var(--gutter),calc((100vw - 1280px)/2)) 75px;background:radial-gradient(ellipse at 95% 20%,#b4cbbb50,transparent 60%),linear-gradient(130deg,#eceee7,#dde7df)}.welcome-copy{position:relative;z-index:1;padding:5px 0}.welcome h1{font-size:clamp(38px,3.65vw,57px);line-height:1.17;letter-spacing:-.045em}.welcome-rule{height:1px;width:65px;background:#8a9476;margin:27px 0}.welcome-names{font-size:19px;line-height:1.75;color:var(--green);margin-bottom:21px}.welcome-copy>p:not(.eyebrow):not(.welcome-names){font-size:17px;line-height:1.9;color:#53685c;max-width:435px}.welcome .quiet-link{margin-top:23px}.welcome-photo{position:relative;z-index:1;margin:0;transform:rotate(1deg)}.photo-mount{padding:10px;background:#c8d8ce;border-radius:4px;box-shadow:0 15px 40px #36594a16,0 2px 5px #36594a10}.photo-mount img{width:100%;aspect-ratio:1.22;object-fit:cover;object-position:50% center;border-radius:1px;filter:brightness(1.1) saturate(.7)}.welcome-photo figcaption{margin-top:12px;transform:rotate(-1deg);padding-left:10px;font-size:13px}.photo-leaf{position:absolute;right:-28px;bottom:-15px;background:#cfdfd3;width:85px;height:85px;border-radius:50%;display:grid;place-items:center;transform:rotate(-20deg);box-shadow:0 3px 10px #34402c10}.photo-leaf svg{width:55px;height:55px;color:var(--green)}.herb{position:absolute;pointer-events:none;z-index:0}.herb-welcome{width:400px;height:auto;right:-110px;top:-10px;opacity:.55;transform:rotate(12deg)}
.useful-strip{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:0;padding:0 max(var(--gutter),calc((100vw - 1280px)/2));background:#d4e1d7;border-block:1px solid #8ba99465}.useful-strip>div{display:flex;gap:18px;padding:29px 30px;border-left:1px solid #81988a45;align-items:start;min-width:0}.useful-strip>div:first-child{padding-left:0;border-left:0}.useful-strip>div:last-child{padding-right:0}.useful-strip>div>svg{color:var(--green);margin-top:5px;width:25px;height:25px}.useful-strip small{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.useful-strip a:not(.hours-link){display:block;font-size:23px;line-height:1.5;font-weight:500;letter-spacing:-.5px}.useful-strip a span{font-size:18px;font-weight:400;letter-spacing:0}.useful-strip strong{display:block;font-size:18px;font-weight:400;line-height:1.5}.useful-strip .hours-link{font-size:14px;text-decoration:underline;text-underline-offset:4px;display:inline-block;margin-top:7px}
.appointment{background:linear-gradient(115deg,#dce7df,#e7ede7);display:grid;grid-template-columns:.85fr 1.15fr;gap:30px 90px;border-bottom:1px solid #91a69a3f}.appointment-intro{position:relative;align-self:center}.appointment-intro>p:not(.eyebrow):not(.opening-note){font-size:17px;color:#53665b;line-height:1.9;margin-top:24px;max-width:400px}.appointment-phone{display:inline-flex;align-items:center;gap:15px;font-size:27px;line-height:1.4;letter-spacing:-.8px;color:var(--green);margin-top:27px}.appointment-phone svg{width:23px;height:23px}.opening-note{font-size:14px;color:var(--muted);margin-top:9px}.booking-card{background:#f4f6f0b3;border:1px solid #9aafa180;border-radius:6px;padding:35px 37px;box-shadow:0 6px 18px #506c5e0a}.booking-heading{display:flex;gap:17px;align-items:center;padding-bottom:22px;border-bottom:1px solid #a6b7aa70}.booking-icon{display:grid;place-items:center;width:49px;height:49px;background:#dde8de;border-radius:5px;color:var(--green);flex-shrink:0}.booking-icon svg{width:32px;height:32px}.booking-heading h3{font-size:27px;letter-spacing:-.65px}.booking-heading p{font-size:14px;line-height:1.6;color:var(--muted);margin-top:4px}.booking-steps{list-style:none;display:flex;flex-direction:column;gap:17px;margin:26px 0}.booking-steps li{display:flex;align-items:start;gap:15px;font-size:16px;line-height:1.8;color:#526759}.booking-steps li>span{width:25px;height:25px;flex-shrink:0;display:grid;place-items:center;line-height:1;border:1px solid #87a08e70;border-radius:50%;font-size:12px;margin-top:2px;color:var(--green)}.service-link{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#426555;color:#f3f6ef;padding:16px 20px;border:1px solid #426555;border-radius:4px;font-size:16px;line-height:1.6;transition:background .25s}.service-link:hover{background:#355544}.service-link svg{width:18px;height:18px}.external-note{font-size:13px;color:var(--muted);margin-top:10px;line-height:1.8}.external-note strong{font-weight:500}.booking-followup{margin-top:22px;padding-top:18px;border-top:1px solid #a6b7aa70;font-size:14px;line-height:1.8;color:var(--muted)}.booking-urgent{grid-column:span 2;font-size:14px;color:#596d60;border-top:1px solid #98ad9e70;padding-top:22px;max-width:none;line-height:1.8}.booking-urgent a{text-decoration:underline;text-underline-offset:4px;margin-left:5px}
.care{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;background:linear-gradient(120deg,#e5ebe3,#d9e4da)}.care-intro>p:not(.eyebrow){font-size:17px;color:var(--muted);line-height:1.9;max-width:400px;margin-top:25px}.care-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 0;line-height:1.6}summary::-webkit-details-marker{display:none}summary strong{font-family:var(--serif);font-size:23px;line-height:1.3;font-weight:400;letter-spacing:-.5px}summary small{display:block;font-size:14px;color:var(--muted);line-height:1.7;margin-top:7px}.details-toggle{flex-shrink:0;width:28px;height:28px;display:grid;place-items:center;line-height:1;border:1px solid #87a08e66;border-radius:50%;font-size:20px;color:var(--green);font-weight:400;transition:transform .25s}details[open] .details-toggle{transform:rotate(45deg)}.details-content{font-size:16px;color:#53685b;line-height:1.9;padding:0 48px 24px 0;max-width:72ch}.details-content p+p{margin-top:15px}.details-content a{text-decoration:underline;text-underline-offset:4px;color:var(--green)}.details-content a>svg{display:inline-block;width:13px;height:13px;vertical-align:middle;margin-left:3px}
.team{background:radial-gradient(ellipse at 0 100%,#a8c8b222,transparent 50%),#eceee7;border-block:1px solid #9fb1a140}.team-heading{margin-bottom:42px}.team-doctors{display:grid;grid-template-columns:1fr 1fr;gap:45px}.team-doctors article{display:flex;align-items:center;gap:25px;padding:30px 0;border-block:1px solid var(--line)}.initials{display:grid;place-items:center;width:85px;height:85px;flex-shrink:0;border:1px solid #8a967875;border-radius:50%;font-family:var(--serif);font-size:30px;color:#5b7967;background:#d5e3d877}.team-doctors h3{font-size:29px;line-height:1.3}.team-doctors p{font-size:16px;color:var(--muted);margin-top:7px}.team-assistants{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;gap:30px}.team-assistants>div{padding:8px 0 8px 20px;border-left:1px solid var(--line)}.team-assistants h3{font-size:24px}.team-assistants p{font-size:15px;color:var(--muted);margin-top:7px}
.practical{background:linear-gradient(135deg,#d5e2d8,#e2e9df)}.practical-heading{margin-bottom:43px}.practical-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:35px 70px}.address-panel h3,.hours-panel h3{font-size:25px;margin-bottom:23px}.address-panel address{font-size:24px;line-height:1.7;letter-spacing:-.3px}.large-phone{display:block;font-size:29px;letter-spacing:-.9px;color:var(--green);margin-top:26px;line-height:1.5}.email-link{display:inline-block;font-size:17px;color:#59664c;margin-top:10px;overflow-wrap:anywhere}.address-panel .quiet-link{margin-top:25px;font-size:16px;display:flex;max-width:max-content;gap:16px}.access-note{font-size:15px;line-height:1.8;color:var(--muted);margin-top:25px;max-width:350px}.access-note p+p{margin-top:7px}.hours-panel{padding:30px 33px;background:#f0f3eba6;border:1px solid #9ca98666;border-radius:5px;align-self:start}.hours-row{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid var(--line);font-size:17px;line-height:1.6}.hours-day{font-weight:500}.hours-time{text-align:right;color:#5e6851}.hours-row[style]{opacity:.7!important}.hours-row.today .hours-day{color:#3c512b}.hours-row.today{background:#bfcbaa30;padding-inline:9px;border-left:2px solid #7b9066}.map-panel{grid-column:span 2;border:1px solid #9ca98680;min-height:330px;border-radius:5px;overflow:hidden;background:radial-gradient(ellipse at 70% 60%,#b9c8a34d,transparent),#e5ebe3}.map-placeholder{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;position:relative;background-image:linear-gradient(35deg,transparent 48%,#9ca98615 49%,#9ca98615 50%,transparent 51%);background-size:105px 120px}.map-placeholder>svg{width:35px;height:35px;color:#71845a;margin-bottom:16px}.map-placeholder h3{font-size:28px;margin-bottom:12px}.map-placeholder p{font-size:17px;color:var(--muted)}.map-button{font-size:16px;padding:11px 19px;border:1px solid #87a08e80;border-radius:4px;background:#eceee780;color:var(--green);margin-top:20px;transition:background .25s}.map-button:hover{background:#cfdfd1}.map-placeholder small{font-size:12px;color:var(--muted);margin-top:12px}.map-panel iframe{display:block;width:100%;height:410px;border:0;filter:saturate(.6)}
.patient-info{display:grid;grid-template-columns:1.35fr 1fr;gap:80px;background:#eceee7}.questions h2{font-size:34px;max-width:420px;line-height:1.25;margin-bottom:35px}.faq-list{border-top:1px solid var(--line)}.faq-list summary{font-size:17px;padding-block:22px}.faq-list .details-content{padding-right:0;font-size:16px}.emergency{align-self:start;position:relative;padding:35px 35px 30px;border:1px solid #96ad9d66;border-radius:5px;background:#c7dace3b;scroll-margin-top:110px}.emergency-mark{display:block;font-size:32px;font-weight:400;line-height:1;color:#64836e;margin-bottom:23px}.emergency h2{font-size:32px;margin-bottom:22px}.emergency>p{font-size:16px;line-height:1.9;color:var(--muted)}.emergency-phone{display:inline-block;font-size:26px;letter-spacing:-.7px;line-height:1.5;margin-top:20px;color:var(--green)}.emergency-duty{border-top:1px solid var(--line);margin-top:28px;padding-top:25px}.emergency-duty h3{font-family:var(--body);font-size:16px;font-weight:500;letter-spacing:0;margin-bottom:14px;line-height:1.5}.emergency-duty p{font-size:15px;color:var(--muted);line-height:1.9}.emergency-duty .quiet-link{font-size:14px;margin-top:12px;gap:12px}.emergency .emergency-online-note{font-size:13px;border-top:1px solid var(--line);margin-top:24px;padding-top:18px;color:var(--muted)}
.site-footer{position:relative;background:#c6d7ca;overflow:hidden;isolation:isolate;border-top:1px solid #87a08e70;padding:45px max(var(--gutter),calc((100vw - 1280px)/2)) 25px}.herb-footer{width:280px;right:-70px;bottom:-110px;opacity:.35;transform:rotate(-30deg);z-index:-1}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:35px;border-bottom:1px solid #87a08e66}.footer-main>p{font-size:16px;line-height:1.8}.footer-main>a:last-child{font-size:23px;color:var(--green);letter-spacing:-.5px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:24px;font-size:13px;color:#5c674e}.footer-bottom>div{display:flex;gap:25px}.footer-bottom button{font-size:13px}.footer-bottom button:hover{text-decoration:underline;text-underline-offset:4px}
dialog{margin:auto;max-width:calc(100vw - 45px);max-height:calc(100dvh - 45px);border:1px solid #919c7c;border-radius:6px;padding:0;background:#edf1e8;color:var(--ink);box-shadow:0 25px 80px #29332240}dialog::backdrop{background:#293523bc;backdrop-filter:blur(7px)}.photo-dialog{background:#394331}.photo-dialog>img{display:block;width:auto;max-width:100%;max-height:85dvh;object-fit:contain}.dialog-close{position:sticky;top:14px;float:right;right:14px;margin:14px 14px -56px 0;z-index:2;display:grid;place-items:center;width:40px;height:40px;background:#eceee7f5;border:1px solid #87a08e80;border-radius:50%;font-size:26px;line-height:1;font-weight:400;color:var(--green)}.photo-dialog .dialog-close{position:absolute;top:0;right:0}.legal-dialog{max-width:min(740px,calc(100vw - 45px))}.legal-content{padding:55px 45px 40px}.legal-content h2{font-size:33px;line-height:1.3;margin-bottom:30px}.legal-content h3{font-family:var(--body);font-size:18px;letter-spacing:0;font-weight:500;line-height:1.5;margin:25px 0 12px}.legal-content p,.legal-content li{font-size:16px;line-height:1.9;color:var(--muted)}.legal-content p+p{margin-top:13px}.legal-content a{text-decoration:underline;text-underline-offset:4px}.legal-content a>svg{display:inline-block;width:14px;height:14px;vertical-align:middle;margin-left:4px}
/* Decorative nature images; the cabinet photograph remains authentic. */
.appointment-nature{margin-top:28px;max-width:440px;border:1px solid #a4b8aa70;padding:7px;background:#e9efe7;transform:rotate(-1deg);border-radius:3px}.appointment-nature img{aspect-ratio:2.35;object-fit:cover;object-position:center;border-radius:1px}.care-nature{max-width:440px;margin-top:32px;padding:7px;background:#d1dfd3;border:1px solid #a4b8aa70;border-radius:3px;transform:rotate(.7deg)}.care-nature img{aspect-ratio:1.42;object-fit:cover;border-radius:1px}
@media(min-width:1700px){.site-header{padding-inline:max(var(--gutter),calc((100vw - 1440px)/2))}.welcome{padding-block:95px}.site-header nav a{font-size:16px}}
@media(max-width:1100px){.site-header{gap:20px;padding-block:17px}.brand>span:last-child{font-size:23px}.brand small{font-size:9px}.site-header nav{gap:20px}.site-header nav a{font-size:14px}.brand-leaf{width:43px;height:43px}.brand-leaf svg{width:31px;height:31px}.welcome{gap:45px;padding-block:65px}.welcome h1{font-size:43px}.welcome-names{font-size:18px}.photo-mount img{aspect-ratio:.95}.welcome-photo figcaption{font-size:12px}.useful-strip>div{padding:27px 23px;gap:13px}.useful-strip a:not(.hours-link){font-size:21px}.useful-strip strong{font-size:16px}.useful-strip a span{font-size:16px}.useful-strip .hours-link{font-size:12px}.appointment,.care{gap:30px 55px}.booking-card{padding:30px}.booking-heading h3{font-size:25px}.booking-heading p{font-size:13px}.booking-steps li{font-size:15px}.appointment-phone{font-size:25px}.booking-urgent{font-size:13px}.team-doctors{gap:30px}.team-doctors h3{font-size:26px}.initials{width:73px;height:73px;font-size:27px}.practical-grid{gap:35px 45px}.hours-panel{padding:28px}.hours-row{font-size:16px;gap:18px}.patient-info{gap:55px}.emergency{padding:30px}.emergency-duty .quiet-link{font-size:13px}.footer-main .brand>span:last-child{font-size:22px}}
@media(max-width:900px){.site-header{min-height:88px;padding-block:17px}.site-header nav{position:fixed;top:88px;left:0;right:0;background:#e4ece4fa;backdrop-filter:blur(18px);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:18px var(--gutter) 25px;border-bottom:1px solid var(--line);visibility:hidden;opacity:0;transform:translateY(-10px);pointer-events:none;transition:visibility .25s,opacity .25s,transform .25s;max-height:calc(100dvh - 88px);overflow:auto}.site-header nav.open{visibility:visible;opacity:1;transform:none;pointer-events:auto}.site-header nav a{display:block;font-size:18px;padding:13px 0}.site-header nav a::after{display:none}.site-header nav .nav-rdv{padding:13px 15px;margin-top:10px}.menu-toggle{display:flex}.welcome{gap:35px}.welcome h1{font-size:39px}.welcome-copy>p:not(.eyebrow):not(.welcome-names){font-size:16px}.welcome .eyebrow{font-size:10px;letter-spacing:1px}.welcome-names{font-size:17px}.welcome-rule{margin-block:22px}.photo-mount{padding:8px}.photo-mount img{aspect-ratio:.78}.photo-leaf{width:65px;height:65px;right:-15px}.photo-leaf svg{width:45px;height:45px}.useful-strip{grid-template-columns:1fr 1fr}.useful-strip>div:last-child{grid-column:span 2;border-left:0;border-top:1px solid #81988a45;padding:23px 0;align-items:center}.useful-strip>div:last-child>span{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.useful-strip>div:last-child small{margin:0}.useful-strip .hours-link{font-size:14px;margin-top:0}.useful-strip strong{font-size:17px}.section{padding-block:72px}.appointment{grid-template-columns:1fr;gap:30px}.appointment-intro>p:not(.eyebrow):not(.opening-note){max-width:620px}.booking-card{max-width:100%;width:100%;padding:32px}.booking-steps li{font-size:16px}.booking-heading h3{font-size:28px}.booking-urgent{grid-column:auto;font-size:14px}.booking-followup{font-size:15px}.appointment-phone{font-size:28px}.care{grid-template-columns:1fr;gap:35px}.care-intro>p:not(.eyebrow){max-width:650px}.care-list summary strong{font-size:25px}.care-list summary small{font-size:15px}.team-doctors{grid-template-columns:1fr;gap:0}.team-doctors article:nth-child(2){border-top:0}.team-doctors h3{font-size:29px}.team-assistants{gap:20px}.team-assistants>div{padding-left:15px}.team-assistants h3{font-size:22px}.team-assistants p{font-size:14px}.practical-grid{grid-template-columns:1fr;gap:35px}.address-panel address{font-size:26px}.map-panel{grid-column:auto}.address-panel .quiet-link{margin-top:20px}.access-note{max-width:600px}.hours-row{font-size:18px}.hours-panel{padding:30px 34px}.patient-info{grid-template-columns:1fr;gap:45px}.questions h2{max-width:none}.emergency{padding:35px;max-width:100%;width:100%}.emergency h2{font-size:35px}.emergency-phone{font-size:29px}.emergency-duty .quiet-link{font-size:16px}.footer-main{display:grid;grid-template-columns:1.1fr 1fr;gap:25px 35px}.footer-main .brand{grid-column:span 2}.footer-main>a:last-child{font-size:25px}.footer-bottom{flex-wrap:wrap;gap:20px}}
@media(max-width:640px){:root{--gutter:23px}html{scroll-padding-top:97px}.site-header{min-height:82px;padding-block:16px;gap:12px}.site-header nav{top:82px;max-height:calc(100dvh - 82px)}.brand{gap:10px}.brand>span:last-child{font-size:22px;letter-spacing:-.7px}.brand small{font-size:8px;letter-spacing:.6px;margin-top:5px}.brand-leaf{width:41px;height:41px}.brand-leaf svg{width:31px;height:31px}.menu-toggle{margin-left:auto;width:35px}.welcome{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding-top:42px;padding-bottom:45px}.welcome h1{font-size:40px;line-height:1.2;letter-spacing:-.04em}.welcome .eyebrow{font-size:11px;letter-spacing:.8px;margin-bottom:19px}.welcome-rule{margin-block:22px;width:58px}.welcome-names{font-size:18px;margin-bottom:17px}.welcome-copy>p:not(.eyebrow):not(.welcome-names){font-size:16px;line-height:1.9;max-width:none}.welcome .quiet-link{font-size:15px;margin-top:18px}.welcome-photo{width:calc(100% - 10px);align-self:start;transform:rotate(.8deg)}.photo-mount{padding:7px}.photo-mount img{aspect-ratio:1.15}.welcome-photo figcaption{font-size:12px;padding-left:4px;margin-top:10px}.photo-leaf{width:60px;height:60px;right:-17px;bottom:-7px}.photo-leaf svg{width:40px;height:40px}.herb-welcome{width:310px;right:-130px;top:280px;opacity:.4}.useful-strip{grid-template-columns:1fr}.useful-strip>div{border-left:0;border-top:1px solid #81988a45;padding:24px 0;gap:17px}.useful-strip>div:first-child{border-top:0}.useful-strip>div:last-child{grid-column:auto;padding:24px 0;align-items:start}.useful-strip>div:last-child>span{display:block}.useful-strip small{font-size:13px;margin-bottom:5px}.useful-strip>div:last-child small{margin-bottom:6px}.useful-strip a:not(.hours-link){font-size:25px;letter-spacing:-.5px}.useful-strip a span{font-size:20px;letter-spacing:0}.useful-strip strong{font-size:18px}.useful-strip .hours-link{font-size:15px;margin-top:6px}.useful-strip>div>svg{width:24px;height:24px}.section{padding-block:58px}.eyebrow{font-size:11px;letter-spacing:1.15px;margin-bottom:17px}h2{font-size:34px}.appointment{gap:27px}.appointment-intro>p:not(.eyebrow):not(.opening-note){font-size:16px;line-height:1.9;margin-top:20px}.appointment-phone{font-size:27px;gap:14px;margin-top:22px}.appointment-phone svg{width:21px;height:21px}.opening-note{font-size:13px;line-height:1.8}.booking-card{padding:26px 23px}.booking-heading{gap:13px;padding-bottom:21px;align-items:start}.booking-icon{width:42px;height:42px}.booking-icon svg{width:27px;height:27px}.booking-heading h3{font-size:25px;line-height:1.25}.booking-heading p{font-size:12px;line-height:1.7;margin-top:6px}.booking-steps{gap:19px;margin-block:23px}.booking-steps li{font-size:15px;line-height:1.85;gap:12px}.booking-steps li>span{width:23px;height:23px;font-size:11px;margin-top:3px}.service-link{font-size:15px;line-height:1.65;padding:14px 16px;gap:15px;align-items:center}.service-link svg{width:17px;height:17px}.external-note{font-size:12px;line-height:1.8;margin-top:11px}.booking-followup{font-size:14px;line-height:1.9;margin-top:20px;padding-top:18px}.booking-urgent{font-size:13px;line-height:1.9;padding-top:20px}.booking-urgent a{margin-left:0}.care{gap:28px}.care-intro>p:not(.eyebrow){font-size:16px;line-height:1.9;margin-top:20px}.care-list summary strong{font-size:24px;line-height:1.3}.care-list summary small{font-size:14px;line-height:1.8;margin-top:7px}summary{padding-block:22px;gap:20px}.details-toggle{width:26px;height:26px;font-size:19px}.details-content{padding-right:0;font-size:16px;line-height:1.9;padding-bottom:22px}.team-heading{margin-bottom:28px}.team-doctors article{gap:19px;padding-block:25px}.initials{width:65px;height:65px;font-size:25px}.team-doctors h3{font-size:25px;line-height:1.3}.team-doctors p{font-size:14px;line-height:1.7;margin-top:5px}.team-assistants{display:flex;flex-direction:column;gap:20px;margin-top:27px}.team-assistants>div{padding:3px 0 3px 19px}.team-assistants h3{font-size:23px}.team-assistants p{font-size:15px;line-height:1.7;margin-top:4px}.practical-heading{margin-bottom:30px}.practical-grid{gap:30px}.address-panel h3,.hours-panel h3{font-size:25px;margin-bottom:18px}.address-panel address{font-size:25px;line-height:1.7}.large-phone{font-size:29px;letter-spacing:-.8px;margin-top:23px}.email-link{font-size:16px;margin-top:9px}.address-panel .quiet-link{font-size:15px;margin-top:22px}.access-note{font-size:15px;line-height:1.85;margin-top:22px}.hours-panel{padding:27px 22px}.hours-row{font-size:15px;gap:17px;padding:14px 0;line-height:1.7;align-items:start}.hours-time{max-width:165px}.hours-row.today{padding-inline:8px}.map-placeholder{min-height:330px;padding:29px 23px}.map-placeholder h3{font-size:27px}.map-placeholder p{font-size:16px}.map-button{font-size:15px;line-height:1.7;padding:11px 15px;margin-top:20px}.map-placeholder small{font-size:12px;line-height:1.8}.map-panel iframe{height:360px}.patient-info{gap:38px}.questions h2{font-size:31px;line-height:1.3;margin-bottom:28px}.faq-list summary{font-size:16px;line-height:1.75;padding-block:21px;gap:18px}.faq-list .details-content{font-size:16px;line-height:1.9}.emergency{padding:29px 25px;scroll-margin-top:100px}.emergency-mark{font-size:30px;margin-bottom:20px}.emergency h2{font-size:31px;margin-bottom:19px}.emergency>p{font-size:16px;line-height:1.85}.emergency-phone{font-size:27px;letter-spacing:-.8px;margin-top:18px}.emergency-duty{margin-top:23px;padding-top:22px}.emergency-duty h3{font-size:16px;line-height:1.6}.emergency-duty p{font-size:15px;line-height:1.85}.emergency-duty .quiet-link{font-size:14px;gap:10px}.emergency .emergency-online-note{font-size:12px;line-height:1.9}.site-footer{padding-top:35px;padding-bottom:25px}.footer-main{display:flex;flex-direction:column;align-items:start;gap:25px;padding-bottom:28px}.footer-main .brand>span:last-child{font-size:22px}.footer-main .brand small{font-size:8px}.footer-main>p{font-size:17px;line-height:1.8}.footer-main>a:last-child{font-size:26px;letter-spacing:-.6px}.footer-bottom{flex-direction:column;align-items:start;gap:18px;font-size:12px;margin-top:24px}.footer-bottom>div{gap:25px}.footer-bottom button{font-size:13px}.herb-footer{right:-110px;bottom:-80px;width:290px;opacity:.25}.legal-dialog{max-width:calc(100vw - 25px);max-height:calc(100dvh - 30px)}.legal-content{padding:62px 25px 30px}.legal-content h2{font-size:30px;line-height:1.3}.legal-content h3{font-size:17px;line-height:1.6}.legal-content p{font-size:16px;line-height:1.9}.photo-dialog{max-width:calc(100vw - 25px)}.dialog-close{width:36px;height:36px;font-size:24px;top:12px}}
@media(max-width:360px){:root{--gutter:19px}.brand>span:last-child{font-size:20px}.brand small{font-size:7px;letter-spacing:.4px}.brand-leaf{width:36px;height:36px}.brand-leaf svg{width:28px;height:28px}.brand{gap:8px}.menu-toggle{width:29px}.site-header{gap:9px}.welcome h1{font-size:35px}.welcome .eyebrow{font-size:10px;letter-spacing:.5px}.welcome-names{font-size:17px}.appointment-phone{font-size:24px;gap:12px}.booking-card{padding-inline:20px}.booking-heading h3{font-size:23px}.booking-heading{gap:10px}.booking-icon{width:37px;height:39px}.booking-steps li{font-size:15px}.service-link{font-size:14px;padding-inline:13px;gap:10px}.team-doctors article{gap:15px}.team-doctors h3{font-size:22px}.initials{width:58px;height:58px;font-size:23px}.hours-panel{padding-inline:21px}.hours-row{display:flex;flex-direction:column;gap:4px;font-size:16px}.hours-time{text-align:left;max-width:none}.large-phone{font-size:27px}.email-link{font-size:15px}.footer-main .brand>span:last-child{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.skip-link,.service-link,.map-panel,.dialog-close{display:none!important}body{background:white;color:black}body::before,.herb{display:none}.section,.welcome{padding:25px 0;background:white!important;break-inside:avoid}.welcome{display:block}.welcome-photo{max-width:400px;margin-top:20px}.useful-strip{padding:15px 0;background:white;grid-template-columns:1fr 1fr}.useful-strip>div{padding:10px}.appointment,.care,.patient-info{display:block}.booking-card{margin-top:20px}.booking-urgent{margin-top:20px}.team-doctors{grid-template-columns:1fr 1fr}.practical-grid{display:block}.hours-panel{margin-top:20px}.site-footer{padding:20px 0;background:white}.footer-main{display:block}.footer-main .brand{margin-bottom:20px}.footer-bottom{font-size:10px}.emergency{margin-top:25px}}
@media screen{.booking-steps li{font-size:16px}.external-note{font-size:14px}.booking-heading p{font-size:14px}.booking-followup{font-size:15px}.booking-urgent{font-size:14px}.opening-note{font-size:14px}}

@media(max-width:900px){.appointment-nature{max-width:520px}.appointment-nature img{aspect-ratio:2.8}.care-nature{max-width:520px}.care-nature img{aspect-ratio:2}}
@media(max-width:640px){.appointment-nature{margin-top:24px;padding:5px;max-width:none}.appointment-nature img{aspect-ratio:2.2}.care-nature{margin-top:25px;padding:5px;max-width:none}.care-nature img{aspect-ratio:1.7}}
@media print{.appointment-nature,.care-nature{display:none}}
