:root{--paper:#f7f4ef;--warm:#ede9e1;--ink:#292824;--sage:#718374;--soft:#cad3cb;--rose:#d7c3bd;--line:rgba(41,40,36,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}a{color:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:15px;top:15px;background:white;padding:10px;z-index:50}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1120px)/2));position:sticky;top:0;z-index:20;background:rgba(247,244,239,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:grid;line-height:.85}.brand strong{font-family:Georgia,serif;font-style:italic;font-size:36px;font-weight:400}.brand span{font-size:10px;letter-spacing:.27em;margin-left:13px;margin-top:6px}.brand.small strong{font-size:28px}.header nav{display:flex;align-items:center;gap:25px}.header nav a{text-decoration:none;font-size:13px;font-weight:700}.pill{border:1px solid var(--ink);border-radius:99px;padding:9px 16px}.menu{display:none;background:none;border:0}.menu span{display:block;width:26px;height:2px;background:var(--ink);margin:5px}.hero{min-height:690px;background:var(--warm);display:flex;align-items:center;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .72fr;gap:90px;align-items:center;padding:100px 0}.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--sage);margin:0 0 18px}.eyebrow.dark{color:#536658}.eyebrow.light{color:#d7e0d9}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(55px,6.7vw,91px);font-weight:400;line-height:.95;letter-spacing:-.045em;margin-bottom:28px}h1 em{color:var(--sage)}.lead{font-size:19px;color:#56544d;max-width:680px}.button{display:inline-block;margin-top:20px;text-decoration:none;background:var(--ink);color:white;padding:13px 18px;border-radius:99px;font-weight:700}.hero-card{background:var(--paper);border-radius:140px 140px 22px 22px;padding:70px 45px 40px;min-height:430px;display:flex;flex-direction:column;justify-content:center;position:relative;box-shadow:0 30px 70px rgba(41,40,36,.08)}.quote{font-family:Georgia,serif;font-size:88px;line-height:.5;color:var(--rose)}.hero-card>p{font-family:Georgia,serif;font-size:28px;line-height:1.3}.hero-card>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.hero-card strong{font-size:11px;border:1px solid var(--line);border-radius:99px;padding:7px 10px}.hero-lines i{position:absolute;border:1px solid rgba(113,131,116,.18);border-radius:50%;width:720px;height:720px;right:-470px;top:-200px}.hero-lines i:nth-child(2){width:550px;height:550px;right:-340px;top:-80px}.hero-lines i:nth-child(3){width:390px;height:390px;right:-230px;top:25px}.notice{background:#493b39;color:white;padding:17px 0}.notice .wrap{display:flex;gap:16px;font-size:13px}.notice strong{color:#f1d4cb;white-space:nowrap}.section{padding:110px 0}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.split h2,.team h2,.access h2,.contact h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(43px,5vw,68px);line-height:1;letter-spacing:-.035em}.copy{font-size:18px;color:#56544f}.copy p{margin-bottom:22px}.options{width:min(1120px,calc(100% - 40px));margin:60px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.options article{border:1px solid var(--line);border-radius:24px;padding:30px;background:white;min-height:290px}.options span{font-family:Georgia,serif;color:var(--sage)}.options h3{font-size:23px;margin:55px 0 13px}.options p{color:#65625d}.team{background:#e5e9e4}.team-intro{max-width:720px;color:#565c57;font-size:17px}.clinicians{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:45px}.clinicians article{background:var(--paper);border-radius:22px;padding:25px;display:flex;align-items:center;gap:22px}.initial{width:68px;height:68px;flex:0 0 68px;border-radius:50%;background:var(--sage);color:white;display:grid;place-items:center;font-family:Georgia,serif;font-size:21px}.clinicians h3{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0 0 4px}.clinicians p{margin:0;color:#67645f;font-size:14px}.access-grid{display:grid;grid-template-columns:.8fr 1fr;gap:85px;align-items:center}.access-art{height:470px;background:var(--rose);border-radius:240px 240px 20px 20px;position:relative;overflow:hidden}.door{position:absolute;width:34%;height:65%;background:var(--paper);left:33%;bottom:0;border:12px solid rgba(41,40,36,.12);border-bottom:0}.circle{position:absolute;width:190px;height:190px;border:22px solid var(--sage);border-radius:50%;right:10%;top:12%}.access-grid>div:last-child>p:not(.eyebrow){font-size:18px;color:#5d5a55}.facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.facts span{border:1px solid var(--line);padding:9px 12px;border-radius:99px;font-size:12px}.contact{background:#3e5143;color:white;padding:100px 0}.contact-grid{display:grid;grid-template-columns:1fr .7fr;gap:90px;align-items:center}.contact p{color:#d6dfd8}.contact-card{background:var(--paper);color:var(--ink);padding:32px;border-radius:24px;display:grid;gap:9px}.contact-card address{font-style:normal;font-family:Georgia,serif;font-size:25px;line-height:1.3;margin-bottom:15px}.contact-card>a{font-size:20px;font-weight:700;text-decoration:none}.contact-card span{color:#6c6863}.contact-card .directions{font-size:13px;margin-top:12px;border-top:1px solid var(--line);padding-top:15px}.footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;align-items:center;font-size:12px;padding:32px 0}.footer>span:last-child{text-align:right;color:#6e6a65}.footer a{color:var(--ink)}@media(max-width:850px){.menu{display:block}.header nav{position:fixed;inset:92px 0 auto;background:var(--paper);display:grid;padding:28px 20px 38px;gap:20px;transform:translateY(-130%);transition:.3s;box-shadow:0 20px 30px rgba(0,0,0,.08)}.header nav.open{transform:none}.hero-grid,.split,.access-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{gap:35px;padding:75px 0}.hero-card{min-height:330px}.options{grid-template-columns:1fr 1fr}.clinicians{grid-template-columns:1fr}.section{padding:80px 0}.footer{grid-template-columns:1fr}.footer>span:last-child{text-align:left}}@media(max-width:560px){.wrap,.options{width:min(100% - 28px,1120px)}.brand strong{font-size:30px}h1{font-size:54px}.options{grid-template-columns:1fr}.notice .wrap{display:block}.notice strong{display:block;margin-bottom:4px}.section{padding:65px 0}.access-art{height:360px}.footer{gap:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.header .brand{display:block;width:90px;flex:0 0 90px}.brand img{display:block;width:100%;height:auto}.clinicians article{align-items:start}.portrait{width:100px;height:130px;object-fit:cover;object-position:top;flex:0 0 100px;border-radius:12px}.clinicians .bio{font-size:15px;margin:15px 0;color:var(--ink)}.clinicians a{font-size:14px;font-weight:700}.clinicians h3{font-size:23px}.button,.pill{border-radius:5px}.section h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(30px,4vw,48px);line-height:1.15}.header nav a:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--sage);outline-offset:5px}@media(max-width:560px){.clinicians article{display:block}.portrait{width:100%;height:280px;margin-bottom:18px;object-fit:contain;background:#deded8}.header{height:86px}.header nav{top:86px;bottom:0;overflow:auto;align-content:start}.header nav a{font-size:20px}}

/* Large logo with a transparent top state and solid scroll state. Fixed placement
   keeps logo resizing from changing document height or causing scroll jitter. */
.header{position:fixed;inset:0 0 auto;height:108px;background:transparent;backdrop-filter:none;border-bottom:1px solid transparent;transition:background .24s ease,border-color .24s ease,box-shadow .24s ease;color:var(--ink)}
.header .brand{position:relative;z-index:3;display:block;width:200px;flex:0 0 200px;align-self:flex-start;margin-top:14px;transition:width .24s ease,flex-basis .24s ease}
.header .brand img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.header.is-scrolled{background:var(--paper);border-color:var(--line);box-shadow:0 4px 20px rgba(0,0,0,.08)}
.header.is-scrolled .brand{width:150px;flex-basis:150px}
.header .menu{position:relative;z-index:4}
html{scroll-padding-top:190px}
@media(max-width:850px){
 .header{height:96px;justify-content:center;padding:0 20px}
 .header .brand{margin-top:12px}
 .header .menu{position:absolute;right:20px;top:28px}
 .header nav{position:fixed;inset:0;height:100dvh;padding:240px 24px 40px;overflow-y:auto;align-content:start;display:grid;gap:20px;background:var(--paper);transform:none;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease;box-shadow:none;z-index:2}
 .header.is-scrolled nav{padding-top:190px}
 .header nav.open{opacity:1;visibility:visible;pointer-events:auto}
 .header nav a{font-size:20px;color:var(--ink)}
 .header.menu-open{background:var(--paper);color:var(--ink)}
 .header.menu-open .menu span{background:var(--ink)}
}
@media(prefers-reduced-motion:reduce){.header,.header .brand,.header nav{transition:none}}

.header .brand img{mix-blend-mode:multiply}
.hero-grid{padding:260px 0 110px}
main>.section:first-child{padding-top:260px}
@media(max-width:850px){.hero-grid{padding:260px 0 80px;gap:35px}main>.section:first-child{padding-top:260px}}


/* Photo heroes: keep photographs bright; contain copy in a light local panel. */
.photo-hero{min-height:760px;display:block;background:var(--warm)}
.hero-media{position:absolute;inset:-120px 0;transform:translate3d(0,var(--hero-shift,0px),0);will-change:transform}
.hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-home .hero-media img{object-position:center 46%}
.hero-careers .hero-media img{object-position:center 37%}
.hero-topshade{position:absolute;inset:0 0 auto;height:220px;background:linear-gradient(to bottom,rgba(255,255,255,.82),rgba(255,255,255,.18) 70%,transparent)}
.hero-content{position:relative;z-index:1;padding:270px 0 80px}
.hero-panel{max-width:640px;padding:35px 40px;background:rgba(247,244,239,.92);backdrop-filter:blur(8px);border-left:3px solid var(--sage)}
.hero-panel h1{font-size:clamp(46px,5.3vw,72px);line-height:1.03;margin-bottom:22px}
.hero-panel h1 em{color:#536658}
.hero-panel .lead{font-size:18px;margin-bottom:0}
.hero-panel .button{margin-top:24px}
.header .brand img{mix-blend-mode:normal}
.header:not(.is-scrolled):not(.menu-open) nav{color:var(--ink)}
.site-footer{background:var(--paper);border-top:1px solid var(--line)}
.footer-landscape{height:230px;background:url('/assets/hero-home.webp') center 60%/cover}
.footer-main{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:60px;padding:65px 0}
.footer-wordmark{display:block;text-decoration:none;font-family:Georgia,serif;font-size:64px;font-style:italic;line-height:1}
.footer-wordmark span{display:block;font:11px Arial,sans-serif;letter-spacing:.3em;margin:12px 0 25px}
.footer-main p,.footer-main address{font-size:14px;color:#56544d;font-style:normal}
.footer-main h2{font:700 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em;margin:8px 0 23px;color:#536658}
.footer-main nav{display:flex;flex-direction:column;align-items:start;gap:13px}
.footer-main nav h2{margin-bottom:10px}
.footer-main nav a,.footer-contact>a{font-size:15px;text-decoration:none}
.footer-contact .footer-phone{display:block;font-family:Georgia,serif;font-size:28px;margin:20px 0 8px}
.footer-bottom{display:flex;justify-content:space-between;align-items:start;gap:20px;border-top:1px solid var(--line);padding:25px 0 35px;font-size:12px}
.footer-bottom>a{text-decoration:none}
.footer-bottom details{max-width:480px;text-align:right}
.footer-bottom summary{cursor:pointer}
.footer-bottom details p{line-height:1.9;margin:12px 0 0}
@media(max-width:850px){.photo-hero{min-height:740px}.hero-content{padding:260px 0 65px}.hero-panel{max-width:590px;padding:28px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-identity{grid-column:1/-1}.footer-bottom{flex-direction:column}.footer-bottom details{text-align:left}}
@media(max-width:560px){.hero-panel{padding:25px 23px}.hero-panel h1{font-size:46px}.hero-panel .lead{font-size:17px}.footer-main{grid-template-columns:1fr;padding:45px 0;gap:30px}.footer-wordmark{font-size:56px}.footer-landscape{height:170px}.hero-media{inset:-90px 0}}
@media(prefers-reduced-motion:reduce){.hero-media{transform:none!important;will-change:auto}html{scroll-behavior:auto}}


/* Artwork-backed mobile navigation and official footer identity. */
.menu-contact{display:none}
.footer-logo{display:block;width:200px;margin-bottom:25px}
.footer-logo img{display:block;width:100%;height:auto}
@media(max-width:850px){
 .header nav{background:linear-gradient(rgba(247,244,239,.78),rgba(247,244,239,.9)),url('/assets/hero-contact.webp') center/cover;gap:10px;padding:235px 24px 35px;overscroll-behavior:contain}
 .header.is-scrolled nav{padding-top:185px}
 .header nav>a{display:block;padding:12px 18px;border:1px solid rgba(83,102,88,.22);background:rgba(247,244,239,.92);border-radius:8px;font-size:18px;line-height:1.35;box-shadow:0 3px 12px rgba(41,40,36,.04)}
 .header nav>a.pill{background:#3e5143;color:white;border-color:#3e5143}
 .menu-contact{display:block;padding:20px 18px;margin-top:8px;background:rgba(247,244,239,.92);border:1px solid rgba(83,102,88,.22);border-radius:8px}
 .menu-label{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#536658;margin-bottom:10px}
 .header nav .menu-phone{display:block;font-size:20px;font-weight:700;margin-bottom:12px}
 .menu-contact address{font-size:14px;font-style:normal;line-height:1.6;margin-bottom:12px}
 .header nav .menu-directions{font-size:14px;font-weight:700}
 .menu-note{font-size:12px;line-height:1.7;color:#56544d;margin:14px 0 0}
 .header.menu-open .menu span:first-child{transform:translateY(7px) rotate(45deg)}
 .header.menu-open .menu span:nth-child(2){opacity:0}
 .header.menu-open .menu span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 body.menu-is-open{overflow:hidden}
}

.link-arrow{display:inline-block;width:18px;height:18px;margin-left:5px;vertical-align:-3px;flex-shrink:0}
@media(max-width:850px){.link-arrow{width:20px;height:20px;vertical-align:-4px}.menu-directions{display:inline-flex;align-items:center;min-height:44px}.menu-directions .link-arrow{vertical-align:initial}}

.access-art{height:auto;aspect-ratio:4/5;border-radius:16px;background:var(--warm)}.access-art img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:560px){.access-art{height:auto;max-width:440px;width:100%;margin:auto}}

/* Full-width team photography: no side gutters or contain bands. */
.clinicians article{display:block;padding:0;overflow:hidden;}
.clinicians article>.portrait{display:block;width:100%;height:auto;aspect-ratio:4 / 3;max-width:none;object-fit:cover;object-position:center 20%;border-radius:0;margin:0;background:transparent;}
.clinicians article>div{padding:25px;}
@media(max-width:560px){.clinicians article>.portrait{height:auto;aspect-ratio:4 / 3;margin:0;object-fit:cover;background:transparent;}.clinicians article>div{padding:22px;}}


.menu{display:none;background:none;border:0;min-width:44px;min-height:44px;padding:10px;align-items:center;justify-content:center;color:inherit}.menu svg{display:block;width:26px;height:26px}.menu:focus-visible,a:focus-visible{outline:3px solid #536658;outline-offset:4px}.footer-contact a,.menu-contact a,.contact-card a{overflow-wrap:anywhere}.footer-main{padding-top:35px;padding-bottom:25px}.footer-bottom p{margin:0}.access-grid:has(>div:only-child){grid-template-columns:1fr}
@media(max-width:850px){.menu{display:flex}.header nav{min-height:100dvh}.menu-contact{background:rgba(247,244,239,.92)}.header.menu-open .menu{position:relative;z-index:1001}.menu-contact p{line-height:1.6}.site-footer .footer-main{gap:24px}}

.header.is-scrolled,.header.menu-open{background:#fff}.menu-contact a{display:block;margin-top:10px;font-size:15px!important}.menu-contact .menu-phone{font-size:20px!important}.footer-logo{width:150px;margin-bottom:12px}.footer-main{grid-template-columns:1fr 1fr 1.3fr}.header .menu{flex:none}.header.menu-open .menu{position:absolute;right:14px;top:28px}@media(max-width:560px){.header .brand{width:175px;flex-basis:175px}.header nav{padding-top:205px}.footer-main{grid-template-columns:1fr}}
