@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap";
:root{--cream:#f7f5ed;--paper:#fffef9;--green:#294c3e;--ink:#243b32;--muted:#5f6b61;--line:#d7dcd1;--sage:#e7ebe1;--accent:#b6bd92;--serif:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{color:var(--ink);background:var(--cream);font-family:var(--sans);margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}svg{flex-shrink:0;width:22px;height:22px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.035em;line-height:1.03}h1{margin-bottom:25px;font-size:clamp(48px,5.5vw,82px)}h2{margin-bottom:22px;font-size:clamp(38px,4vw,56px)}h3{font-family:var(--serif);margin-bottom:15px;font-size:32px;line-height:1.1}p{color:var(--muted)}.container{width:min(1180px,100% - 96px);margin-inline:auto}.preview-bar{background:var(--green);color:#fff;letter-spacing:.13em;text-align:center;padding:7px 24px;font-size:10px}.preview-bar span{letter-spacing:.03em;opacity:.8;margin-left:18px}.site-header{background:var(--cream);border-bottom:1px solid var(--line)}.header-inner{justify-content:space-between;align-items:center;gap:20px;min-height:105px;display:flex}.brand{font-family:var(--serif);white-space:nowrap;align-items:center;gap:12px;font-size:27px;line-height:1.1;display:flex}.brand img{object-fit:cover;border-radius:50%;width:64px;height:64px}.brand-sub{font-family:var(--sans);letter-spacing:.22em;margin-top:6px;font-size:10px;display:block}.navigation{align-items:center;gap:27px;font-size:13px;display:flex}.navigation>a[aria-current]{text-underline-offset:7px;text-decoration:underline}.navigation>a:hover{color:#477353}.button{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:4px;justify-content:center;align-items:center;gap:18px;min-height:52px;padding:18px 22px;font-size:13px;font-weight:600;line-height:1.4;transition:background .18s,transform .18s;display:inline-flex}.button:hover{color:#fff;background:#3d6250;transform:translateY(-2px)}.button.small{gap:9px;padding:13px 15px;font-size:12px}.button.outline{color:var(--green);background:0 0}.button.outline:hover{background:var(--sage)}.button.cream{background:var(--cream);color:var(--green);border-color:var(--cream)}.menu-toggle{display:none}.eyebrow{letter-spacing:.15em;color:var(--green);margin-bottom:20px;font-size:10px;font-weight:700}.hero{padding:70px 0 65px;overflow:hidden}.hero-grid{grid-template-columns:1.18fr 1fr;align-items:center;gap:75px;display:grid}.hero h1 em{color:#577057;font-style:normal}.hero-description{max-width:460px;margin-bottom:28px;font-size:17px;line-height:1.8}.status-dot{background:#708a5a;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.button-row{flex-wrap:wrap;gap:12px;display:flex}.care-details{color:var(--muted);flex-wrap:wrap;gap:19px;margin-top:26px;font-size:11px;display:flex}.care-details span{align-items:center;gap:4px;display:flex}.care-details svg{width:13px;height:13px}.hero-visual{padding:0 17px 0 0;position:relative}.photo-frame{aspect-ratio:4/4.65;background:#d5ded1;border-radius:180px 180px 5px 5px;position:relative;overflow:hidden}.photo-frame>img{object-fit:cover;object-position:center 64%;width:100%;height:100%}.photo-caption{background:#fffef9f5;border-radius:4px;flex-direction:column;padding:17px 22px;line-height:1.6;display:flex;position:absolute;bottom:20px;left:20px;right:20px}.photo-caption>span:first-child{letter-spacing:.16em;font-size:8px}.photo-caption strong{font-family:var(--serif);font-size:28px;font-weight:400}.photo-caption>span:last-child{color:var(--muted);font-size:11px}.visual-leaf{background:var(--sage);border:7px solid var(--cream);border-radius:50%;place-items:center;width:75px;height:75px;display:grid;position:absolute;top:53px;right:-10px;transform:rotate(-20deg)}.visual-leaf svg{width:36px;height:36px}.photo-note{text-align:right;letter-spacing:.03em;margin:15px 0 0;font-size:11px}.services-section{background:var(--paper);border-top:1px solid var(--line);padding:60px 0 85px}.section-heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:35px;display:flex}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:290px;margin:0 0 6px;font-size:14px}.service-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.service-card{border:1px solid var(--line);border-radius:5px;flex-direction:column;padding:29px 29px 25px;transition:background .2s,border-color .2s;display:flex}.service-card:hover{background:var(--sage);border-color:#9fae9c}.card-top{justify-content:space-between;align-items:center;margin-bottom:36px;display:flex}.card-top svg{width:32px;height:32px}.card-top>span{font-family:var(--serif);color:#7f8c7d;font-size:20px}.service-card .eyebrow{margin-bottom:12px;font-size:9px}.service-card p:not(.eyebrow){margin-bottom:27px;font-size:14px;line-height:1.8}.text-link{border-bottom:1px solid #a4b09f;align-self:flex-start;align-items:center;gap:17px;padding-bottom:5px;font-size:13px;font-weight:600;display:inline-flex}.text-link svg{width:18px;height:18px}.service-card .text-link{margin-top:auto}.welcome-section{padding:85px 0}.welcome-grid{grid-template-columns:1fr 1.1fr;align-items:center;gap:100px;display:grid}.welcome-grid p:not(.eyebrow){font-size:15px;line-height:1.9}.welcome-art{background:var(--sage);border-radius:160px 160px 5px 5px;flex-direction:column;justify-content:center;align-items:center;height:350px;display:flex;position:relative;overflow:hidden}.welcome-art img{object-fit:cover;border-radius:50%;width:190px;height:190px;position:relative}.welcome-art>span{letter-spacing:.15em;margin-top:22px;font-size:9px;position:relative}.orbit{border:1px solid #c5cfb8;border-radius:50%;width:300px;height:300px;position:absolute;top:70px;left:-90px;transform:rotate(-35deg)}.orbit-two{width:400px;height:400px;top:-140px;left:230px}.steps-section{border-top:1px solid var(--line);padding:70px 0 80px}.steps-grid{grid-template-columns:repeat(3,1fr);gap:60px;margin-top:38px;display:grid}.step-number{font-family:var(--serif);color:#7c8c70;border-bottom:1px solid var(--line);margin-bottom:23px;padding-bottom:20px;font-size:32px;display:block}.steps-grid h3{font-size:28px}.steps-grid p{font-size:14px}.cta-section{background:var(--green);padding:65px 0}.cta-inner{justify-content:space-between;align-items:center;gap:40px;display:flex}.cta-inner h2{color:var(--cream);margin-bottom:14px}.cta-inner p{color:#d9e0d2;margin-bottom:0;font-size:14px}.cta-inner .eyebrow{color:#bdcaa9;margin-bottom:16px;font-size:10px}.footer{background:#eceee5;padding-top:60px}.footer-grid{grid-template-columns:1.2fr .8fr 1.3fr;gap:70px;padding-bottom:45px;display:grid}.footer-brand{font-family:var(--serif);font-size:30px;line-height:1.2;display:inline-block}.footer-brand span{font-family:var(--sans);letter-spacing:.17em;margin-top:8px;font-size:10px;display:block}.footer p,.footer a:not(.footer-brand){font-size:12px}.footer-brand+p{margin-top:20px}.footer-note{line-height:1.9}.footer h2{font-family:var(--sans);letter-spacing:0;margin-bottom:20px;font-size:12px;font-weight:600}.footer-grid>div>a:not(.footer-brand){overflow-wrap:anywhere;margin-bottom:9px;display:block}.footer-bottom{color:var(--muted);border-top:1px solid #cfd6c8;justify-content:space-between;gap:15px;padding-top:20px;padding-bottom:25px;font-size:10px;display:flex}.page-intro{border-bottom:1px solid var(--line);padding:65px 0 50px}.page-intro h1{max-width:820px;font-size:clamp(46px,5vw,70px)}.intro-copy{max-width:650px;font-size:17px}.team-section{padding-top:65px;padding-bottom:65px}.team-profile{grid-template-columns:.8fr 1.2fr;align-items:center;gap:90px;margin-bottom:70px;display:grid}.team-profile>img{object-fit:cover;object-position:center 65%;border-radius:130px 130px 5px 5px;width:100%;height:450px}.team-profile p{font-size:15px}.team-profile .eyebrow{font-size:10px}.team-profile.reverse{border-top:1px solid var(--line);grid-template-columns:.8fr 1.2fr;margin-bottom:0;padding-top:60px}.team-profile.reverse>img{border-radius:5px;height:350px}.credential{background:var(--sage);color:var(--green);border-radius:4px;padding:8px 13px;display:inline-block}.service-details{padding:20px 0 60px}.service-detail{border-bottom:1px solid var(--line);grid-template-columns:.45fr 1.55fr;gap:60px;padding:55px 0;scroll-margin-top:35px;display:grid}.service-detail:last-child{border-bottom:0}.service-detail-label{font-family:var(--serif);color:#8a987a;align-items:center;gap:30px;font-size:55px;display:flex}.service-detail-label svg{width:65px;height:65px;color:var(--green)}.service-detail p{max-width:660px}.topic-list{color:var(--muted);margin:25px 0;padding:0;font-size:14px;list-style:none}.topic-list li{align-items:center;gap:12px;margin:10px 0;display:flex}.topic-list svg{width:16px;height:16px}.faq-section{max-width:850px;padding-top:45px;padding-bottom:70px}.faq-item{border-bottom:1px solid var(--line);padding:25px 0}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;font-size:18px;font-weight:500;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{font-size:24px;font-weight:400}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item p{margin:18px 40px 0 0;font-size:15px}.contact-grid{grid-template-columns:1.1fr 1fr;gap:60px;padding-top:60px;padding-bottom:80px;display:grid}.contact-panel{background:var(--paper);border:1px solid var(--line);border-radius:5px;padding:42px}.contact-panel .button{width:100%;margin:14px 0;display:flex}.contact-small{margin-top:25px;margin-bottom:0;font-size:12px}.visit-panel{padding:40px 25px}.visit-panel>svg{width:32px;height:32px;margin-bottom:20px}.visit-panel address{color:var(--muted);margin-bottom:25px;font-style:normal}.visit-panel hr{border:0;border-top:1px solid var(--line);margin:32px 0 22px}.email-display{overflow-wrap:anywhere;font-size:14px}a:focus-visible,button:focus-visible,summary:focus-visible{outline-offset:5px;outline:3px solid #7e9559}.skip-link{z-index:50;background:#fff;padding:12px;position:absolute;top:-80px;left:15px}.skip-link:focus{top:12px}@media (min-width:1500px){.hero{padding-top:85px;padding-bottom:85px}}@media (max-width:1100px){.container{width:calc(100% - 60px)}.navigation{gap:16px}.brand{font-size:23px}.brand img{width:52px;height:52px}.hero-grid{gap:40px}.hero h1{font-size:65px}.hero .button{padding:15px;font-size:12px}.care-details{gap:10px}.welcome-grid{gap:55px}.service-card{padding:23px}.navigation .small{font-size:11px}.team-profile{gap:50px}}@media (max-width:850px){.header-inner{min-height:85px;position:relative}.menu-toggle{border:1px solid var(--line);color:var(--green);background:0 0;border-radius:4px;align-items:center;gap:10px;padding:7px 12px;font-size:13px;display:flex}.navigation{background:var(--cream);z-index:20;border-bottom:1px solid var(--line);padding:24px 30px;display:none;position:absolute;top:85px;left:-30px;right:-30px;box-shadow:0 12px 20px #294c3e0d}.navigation.open{flex-direction:column;align-items:stretch;gap:18px;display:flex}.navigation .small{font-size:13px}.hero h1{font-size:55px}.hero-grid{gap:25px}.hero-description{font-size:15px}.care-details{font-size:10px}.photo-frame{aspect-ratio:3/4.6}.photo-caption{padding:14px;left:12px;right:12px}.photo-caption strong{font-size:24px}.section-heading>p{max-width:240px}.service-grid{gap:12px}.service-card{padding:20px}.service-card h3{font-size:26px}.service-card p:not(.eyebrow){font-size:12px}.welcome-grid{gap:35px}.welcome-art{height:300px}.steps-grid,.footer-grid{gap:30px}.team-profile{gap:35px}.team-profile>img{height:380px}.contact-grid{gap:25px}.contact-panel{padding:28px}}@media (max-width:640px){.container{width:calc(100% - 40px)}.preview-bar{padding-inline:10px;font-size:8px}.preview-bar span{margin-left:8px}.header-inner{min-height:80px}.brand{gap:9px;font-size:23px}.brand img{width:45px;height:45px}.brand-sub{font-size:8px}.navigation{padding-inline:20px;top:80px;left:-20px;right:-20px}.hero{padding:40px 0}.hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{max-width:440px;margin-bottom:20px;font-size:57px}.eyebrow{margin-bottom:18px;font-size:9px}.hero-description{max-width:420px;font-size:15px}.hero .button{gap:9px;padding:16px 14px}.button-row{gap:9px}.care-details{gap:14px;font-size:10px}.hero-visual{margin-inline:15px;padding-right:0}.photo-frame{aspect-ratio:4/4.7;border-radius:160px 160px 4px 4px;max-height:470px}.visual-leaf{top:25px;right:-18px}.photo-note{text-align:center}.services-section{padding:42px 0 50px}.section-heading{margin-bottom:28px;display:block}.section-heading>p{max-width:100%;margin-top:20px}.service-grid{grid-template-columns:1fr;gap:15px}.service-card{padding:26px}.card-top{margin-bottom:24px}.service-card h3{font-size:34px}.service-card p:not(.eyebrow){margin-bottom:24px;font-size:14px}.welcome-section{padding:50px 0}.welcome-grid{grid-template-columns:1fr;gap:35px}.welcome-art{max-width:400px;height:280px}.steps-section{padding:45px 0 50px}.steps-grid{grid-template-columns:1fr;gap:25px;margin-top:25px}.steps-grid>div{grid-template-columns:48px 1fr;column-gap:20px;display:grid}.step-number{border:0;grid-row:span 2;margin:0;padding:0}.steps-grid h3{margin:0 0 12px;font-size:30px}.steps-grid p{grid-column:2;margin:0}.cta-section{padding:45px 0}.cta-inner{display:block}.cta-inner .button{margin-top:25px}.footer{padding-top:40px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:last-child{grid-column:span 2}.footer-bottom{display:block}.footer-bottom span{margin-bottom:8px;display:block}.page-intro{padding:40px 0 25px}.page-intro h1{font-size:52px}.intro-copy{font-size:15px}.team-section{padding:40px 0}.team-profile,.team-profile.reverse{grid-template-columns:1fr;gap:30px;margin-bottom:40px}.team-profile>img{max-width:370px;height:400px}.team-profile.reverse{margin-bottom:0;padding-top:40px}.service-detail{grid-template-columns:1fr;gap:25px;padding:35px 0}.service-detail-label{gap:20px;font-size:35px}.service-detail-label svg{width:38px;height:38px}.service-details{padding-bottom:30px}.faq-section{padding:20px 0 50px}.faq-item summary{font-size:16px}.faq-item p{margin-right:12px;font-size:14px}.contact-grid{grid-template-columns:1fr;gap:10px;padding:35px 0 45px}.visit-panel{padding-inline:10px}.contact-panel{padding:28px 22px}h2{font-size:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.button:hover{transform:none}}
