@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Quattrocento+Sans:ital,wght@0,400;0,700;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');
:root{--ink:#000033;--teal:#06526e;--blue:#8ac0d8;--light:#aedbeb;--mint:#ddf0ed;--paper:#fbfcfa;--line:#d4e2e3;--muted:#536970;--serif:'Playfair Display',Georgia,serif;--body:'Quattrocento Sans',Candara,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font:21px/1.65 var(--body)}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}h1{font-size:clamp(46px,6vw,84px);letter-spacing:-2.5px}h2{font-size:clamp(38px,4vw,58px);letter-spacing:-1.4px}h3{font-size:30px;letter-spacing:-.4px}p+p{margin-top:22px}em{color:var(--teal);font-weight:400}.wrap{width:min(1240px,calc(100% - 96px));margin:auto}.section{padding:108px 0}.eyebrow{font:600 14px/1.5 var(--body);letter-spacing:2.2px;text-transform:uppercase;color:var(--teal);margin-bottom:25px}.lead{font-size:23px;line-height:1.65;color:var(--muted);max-width:600px}.small{font-size:18px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:52px;padding:14px 25px;background:var(--teal);color:white;border:1px solid var(--teal);border-radius:3px;font-size:18px;transition:background .2s,transform .2s}.button.pill{border-radius:30px}.button:hover{background:#043f55;transform:translateY(-2px)}.button.light{background:white;color:var(--teal);border-color:white}.button.outline{background:transparent;color:var(--teal);border-color:#90abb5}.text-link{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid #92b4c0;padding:6px 0;font-size:19px;color:var(--teal)}.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:32px}.skip{position:fixed;left:20px;top:-100px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}:focus-visible{outline:3px solid #397d9c;outline-offset:5px}
.site-header{height:112px;position:sticky;top:0;background:rgba(251,252,250,.97);z-index:20;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{padding:14px 0;display:inline-flex;align-items:center}.brand img{width:116px;height:77px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:29px;font-size:18px}.main-nav>a,.nav-location>a{padding:10px 0}.main-nav a[aria-current=page]{color:var(--teal);border-bottom:1px solid var(--teal)}.main-nav>.button{padding:12px 20px;color:white;border:0}.nav-location{position:relative;display:flex;align-items:center;gap:4px}.drop-toggle{border:0;background:transparent;padding:8px;color:var(--teal);font-size:17px}.dropdown{display:none;position:absolute;top:100%;left:-20px;min-width:200px;padding:12px;background:var(--paper);box-shadow:0 14px 35px #032e4220;border:1px solid var(--line);border-radius:4px}.dropdown a{display:block;padding:12px}.dropdown a:hover{background:var(--mint)}.nav-location:hover .dropdown,.nav-location:focus-within .dropdown,.nav-location.open .dropdown{display:block}.menu-toggle{display:none;border:1px solid var(--line);background:none;color:var(--teal);padding:8px 14px}
.hero{padding:64px 0 72px}.hero-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center}.hero-copy{padding:34px 0}.hero h1{margin-bottom:28px}.hero .lead{max-width:470px;font-size:22px}.hero-photo{position:relative;display:grid}.hero-photo>img{grid-area:1/1;opacity:0;transition:opacity .9s ease}.hero-photo>img.active{opacity:1}.hero-photo>img.pos-family{object-position:55% center}.hero-photo>img.pos-session{object-position:20% center}.hero-photo>img.pos-sunset{object-position:45% center}.hero-photo>img.pos-mountain{object-position:73% center}.hero-dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:10px;z-index:2}.hero-dots button{width:12px;height:12px;padding:0;border-radius:50%;border:2px solid #fff;background:rgba(255,255,255,.35);cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.35)}.hero-dots button[aria-current="true"]{background:#fff}.hero-dots button:focus-visible{outline:3px solid #06526e;outline-offset:2px}.hero-photo>img{width:100%;height:580px;object-fit:cover;border-radius:200px 3px 3px 3px;object-position:right center}.photo-caption{display:flex;justify-content:space-between;gap:20px;padding-top:15px;font-size:16px;letter-spacing:1.2px;color:var(--muted);text-transform:uppercase}.availability{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding:26px 0;color:var(--teal);font-size:18px;font-weight:700}.availability span+span{border-left:1px solid var(--line);padding-left:55px}.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:110px;align-items:start}.intro-grid .lead{margin-bottom:28px}.mint{background:var(--mint)}.bluewash{background:linear-gradient(180deg,var(--paper) 0,#eef5f7 220px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:52px}.section-heading .lead{font-size:21px;max-width:380px}.service-list{margin-top:60px;border-top:1px solid #b8d1d1}.service-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:28px;padding:28px 0;border-bottom:1px solid #b8d1d1;transition:padding .25s,background .25s}.service-row:hover{padding-left:15px;background:#ffffff42}.service-row .num{color:var(--teal);font-size:17px}.service-row p{font-size:20px;color:var(--muted)}.image-split{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.image-split>img{width:100%;height:570px;object-fit:cover;border-radius:3px 150px 3px 3px}.image-split h2{margin-bottom:30px}.image-split p{color:var(--muted)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px 34px}.team-card{min-width:0}.portrait{position:relative;overflow:hidden;background:#e9eeee;aspect-ratio:4/4.6;border-radius:50%;max-width:280px}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .55s cubic-bezier(.2,.6,.2,1),filter .55s}.portrait .profile-cta{position:absolute;bottom:15%;left:18%;right:18%;display:flex;align-items:center;justify-content:space-between;background:#fbfcfaed;color:var(--teal);padding:12px 17px;font-size:17px;border-radius:20px;transform:translateY(5px);transition:transform .35s,background .35s}.team-card:hover .portrait img,.team-card:focus-within .portrait img{transform:scale(1.04)}.team-card:hover .profile-cta,.team-card:focus-within .profile-cta{transform:translateY(0);background:#ddf0ed}.team-card h3{font-size:29px;margin-top:23px}.credentials{font-size:17px;letter-spacing:1px;color:var(--teal);margin-top:7px}.team-card .summary{font-size:19px;color:var(--muted);margin-top:12px;max-width:330px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.location-card{padding:38px 0;border-top:1px solid #9cbdc1}.location-card .number{font-size:16px;letter-spacing:2px;color:var(--teal);margin-bottom:20px}.location-card h3{font-size:40px;margin-bottom:22px}.location-card address{font-style:normal;color:var(--muted);margin-bottom:20px}.closing{padding:90px 0;background:var(--teal);color:white}.closing em{color:var(--light)}.closing .wrap{display:flex;align-items:center;justify-content:space-between;gap:50px}.closing h2{max-width:740px}.site-footer{background:#edf4f3;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr .65fr;gap:40px}.footer-brand a{display:inline-block;padding:10px 0}.footer-brand img{width:150px}.footer-brand p{font-size:17px;margin-top:25px;color:var(--muted);max-width:210px}.footer-title{font-size:18px;letter-spacing:.5px;margin-bottom:16px;color:var(--teal)}.site-footer address{font-style:normal;font-size:17px;line-height:1.9;color:var(--muted)}.footer-links{display:flex;flex-direction:column;gap:9px;font-size:17px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #c9dcda;margin-top:50px;padding-top:24px;font-size:16px;color:var(--muted)}
.page-hero{padding:76px 0 78px}.page-hero .lead{margin-top:28px}.page-hero.center{text-align:center}.page-hero.center .lead{margin:28px auto 0}.page-hero h1.page-title-sm{font-size:clamp(34px,4.5vw,52px)}.wide-photo{width:100%;max-height:490px;object-fit:cover;object-position:center 35%}.about-story{display:grid;grid-template-columns:.7fr 1.3fr;gap:120px}.about-story .copy p{font-size:23px;color:#405c68}.about-story h2{position:sticky;top:150px}.access-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px}.access-grid article{padding-top:27px;border-top:1px solid #9dbfc3}.access-grid h3{font-size:28px;margin-bottom:15px}.access-grid p{font-size:20px;color:var(--muted)}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.service-detail img{width:100%;height:530px;object-fit:cover;border-radius:3px 100px 3px 3px}.service-detail.reverse img{border-radius:100px 3px 3px 3px}.service-detail.reverse .service-image{order:2}.service-detail h2{margin-bottom:25px;font-size:clamp(30px,3vw,40px)}.service-detail .lead{font-size:22px}.service-tags{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:27px 0}.service-tags li{font-size:19px;color:var(--muted);padding-left:22px;position:relative}.service-tags li:before{content:'';position:absolute;left:0;top:11px;width:8px;height:8px;border-radius:50%;background:var(--teal)}.jump-links{display:flex;justify-content:center;gap:35px;flex-wrap:wrap;margin-top:35px;font-size:18px;color:var(--teal)}.jump-links a{border-bottom:1px solid var(--line);padding-bottom:5px}.breadcrumb{display:flex;gap:13px;font-size:17px;color:var(--muted);margin-bottom:32px}.profile-head{display:grid;grid-template-columns:.85fr 1.15fr;gap:95px;align-items:center}.profile-head img{width:100%;height:520px;object-fit:cover;object-position:center 22%;border-radius:140px 3px 3px 3px}.profile-head h1{font-size:64px}.profile-head .credentials{font-size:19px;margin:22px 0}.profile-head .lead{font-size:24px}.bio-layout{display:grid;grid-template-columns:1.45fr .7fr;gap:110px}.bio-copy p{font-size:22px;color:#405c68;margin-bottom:23px}.bio-copy h2{margin-bottom:35px}.bio-details{padding:32px;background:#eef5f7;align-self:start}.bio-details h3{font-size:25px;margin:25px 0 14px}.bio-details h3:first-child{margin-top:0}.bio-details p{font-size:19px;margin:0 0 13px;color:var(--muted)}.map-section{padding:65px 0 80px}.map-section h1{font-size:58px;margin-bottom:40px}.map-layout{display:grid;grid-template-columns:350px 1fr;min-height:470px;border:1px solid var(--line);background:white}.map-controls{padding:32px}.office-selector{display:flex;gap:7px;margin-bottom:32px}.office-selector button{flex:1;border:1px solid #aac2c7;background:white;color:var(--teal);font-size:17px;padding:11px 5px}.office-selector button[aria-pressed=true]{background:var(--teal);color:white;border-color:var(--teal)}.map-controls h2{font-size:36px;margin-bottom:24px}.map-controls address{font-style:normal;font-size:20px;color:var(--muted);margin-bottom:20px}.map-controls .text-link{margin-top:15px}.map-iframe{border:0;width:100%;height:100%;min-height:470px;background:#e8eeee;object-fit:cover;display:block}.map-frame-wrap{min-width:0}.map-note{font-size:16px;color:var(--muted);margin-top:13px}.hours{font-size:19px;color:var(--muted);line-height:1.8}.office-meta{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:40px}.office-meta h3{margin-bottom:20px}.empty-team{max-width:680px;border-top:1px solid var(--line);padding-top:30px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-panel{padding:40px;background:var(--mint)}.contact-panel h2{font-size:42px;margin-bottom:25px}.contact-panel address{font-style:normal}.contact-panel .hours{margin-top:20px}.contact-next{max-width:690px;margin:auto;text-align:center}.contact-next h2{margin-bottom:25px}.legal{max-width:850px}.legal h1{font-size:54px;margin-bottom:45px}.legal p{margin-bottom:25px;color:#405c68}.legal h2{font-size:29px;margin:35px 0 20px}.not-found{text-align:center;padding:130px 0}.hidden,[hidden]{display:none!important}
@media(min-width:1550px){.hero-photo>img{height:630px}.hero{padding-top:80px}}
@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.main-nav{gap:18px}.hero-grid{gap:35px}.hero-photo>img{height:530px}.intro-grid,.image-split,.about-story,.profile-head,.bio-layout{gap:55px}.availability span+span{padding-left:25px}.footer-grid{gap:22px}.service-detail{gap:45px}.map-layout{grid-template-columns:310px 1fr}h1{letter-spacing:-1.8px}.profile-head h1{font-size:52px}}
@media(max-width:800px){.site-header{height:90px}.brand{padding:10px 0}.brand img{width:96px;height:64px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:89px;left:0;right:0;padding:25px 28px;background:var(--paper);box-shadow:0 15px 20px #001d3020;align-items:stretch;gap:10px}.main-nav.open{display:flex;flex-direction:column}.nav-location{flex-wrap:wrap}.dropdown{position:static;width:100%;box-shadow:none;margin:0 0 5px;background:#edf4f3}.main-nav>.button{align-self:start;margin-top:8px}.hero-grid{grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:52px}.hero .lead{font-size:20px}.hero-photo>img{height:490px;border-top-left-radius:130px}.actions{gap:20px}.availability{gap:15px;font-size:17px}.availability span+span{padding-left:15px}.section{padding:75px 0}.team-grid{grid-template-columns:repeat(2,1fr)}.intro-grid{gap:40px}.image-split{gap:40px}.image-split>img{height:460px}.footer-grid{grid-template-columns:1fr 1fr;gap:45px}.section-heading{gap:30px}.section-heading .lead{max-width:280px}.map-layout{grid-template-columns:1fr}.map-iframe{height:430px;min-height:430px}.map-controls{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.office-selector{grid-column:1/-1;max-width:340px}.map-controls h2{font-size:32px}.map-controls .map-phone{grid-column:2;grid-row:3}.map-controls .text-link{justify-self:start}.profile-head{gap:35px}.profile-head img{height:420px}.profile-head h1{font-size:47px}.about-story{grid-template-columns:1fr;gap:35px}.about-story h2{position:static}.bio-layout{grid-template-columns:1fr;gap:45px}.service-detail{gap:35px}.service-detail img{height:470px}.access-grid{gap:20px}.contact-grid{gap:30px}.contact-panel{padding:30px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.hero{padding:30px 0 35px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:20px 0 15px}.hero h1{font-size:57px;max-width:400px}.hero .lead{font-size:21px}.hero-photo>img{height:390px;border-top-left-radius:130px;object-position:right center}.eyebrow{font-size:15px;margin-bottom:18px}.photo-caption{font-size:14px}.availability{flex-direction:column;gap:8px;padding:22px 0}.availability span+span{border:0;padding:0}.availability span:before{content:'—';margin-right:10px;color:#709cae}.section{padding:64px 0}.intro-grid,.image-split,.location-grid,.service-detail,.profile-head,.contact-grid{grid-template-columns:1fr;gap:35px}.intro-grid h2{max-width:320px}.service-list{margin-top:35px}.service-row{grid-template-columns:1fr;gap:6px 12px;padding:24px 0}.service-row h3{grid-column:1;grid-row:1}.service-row h3{font-size:29px}.service-row p{grid-column:1/-1;grid-row:2;font-size:19px}.section-heading{display:block;margin-bottom:35px}.section-heading .lead{max-width:none;margin-top:20px}.section-heading .text-link{margin-top:22px}.image-split>img{height:410px}.team-grid{gap:35px 18px}.team-card h3{font-size:25px;margin-top:17px}.team-card .credentials{font-size:15px}.team-card .summary{font-size:17px}.portrait .profile-cta{left:18%;right:18%;bottom:15%;padding:7px 9px;font-size:16px;border-radius:14px}.portrait{aspect-ratio:3/4}.location-grid{gap:0}.closing{padding:48px 0}.closing .wrap{display:block;padding:30px 0}.closing .button{margin-top:30px}.footer-grid{gap:30px 20px}.footer-brand{grid-column:1/-1}.footer-brand img{width:145px}.footer-brand p{max-width:300px}.footer-bottom{display:block;font-size:16px}.footer-bottom a{display:block;margin-top:12px}.site-footer{padding-top:45px}.page-hero{padding:50px 0}.page-hero h1{font-size:48px}.page-hero .lead{font-size:21px}.wide-photo{height:280px}.about-story .copy p{font-size:21px}.access-grid{grid-template-columns:1fr;gap:20px}.service-detail.reverse .service-image{order:0}.service-detail img{height:340px;border-top-right-radius:80px}.jump-links{gap:15px 25px;margin-top:25px}.service-tags{gap:8px 15px}.service-tags li{font-size:18px}.profile-head img{height:430px;max-width:400px}.profile-head h1{font-size:50px}.profile-head .lead{font-size:23px}.bio-copy p{font-size:21px}.map-section{padding:45px 0}.map-section h1{font-size:47px;margin-bottom:30px}.map-controls{display:block;padding:25px}.map-controls h2{font-size:35px}.map-controls .text-link{margin-right:20px}.map-iframe{height:360px;min-height:360px}.office-meta{grid-template-columns:1fr;gap:30px}.legal h1{font-size:42px}.contact-panel h2{font-size:37px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.team-card:hover .portrait img{transform:none}.button:hover{transform:none}}

/* September 13 refinement */
.eyebrow:empty,.lead:empty{display:none}
.hero .eyebrow{text-transform:none;letter-spacing:.2px;font-size:19px;max-width:420px}
.hero h1{font-size:clamp(40px,4.5vw,65px);letter-spacing:-1.8px;line-height:1.15}
.service-gradient{background:linear-gradient(115deg,#aedbeb 0%,#d7ebed 52%,#ddf0ed 100%)}
.service-gradient .service-row h3{font-size:36px;color:#06526e}
.service-gradient .service-row p{color:#294e5d}
.nature-break{height:240px;background-size:cover;background-position:center}
.branches-break{background-image:url('/assets/branches.webp');background-position:center 46%}
.flowers-break{background-image:url('/assets/flowers.webp');height:200px}
.closing{position:relative;background:url('/assets/branches.webp') center 42%/cover;padding:76px 0}
.closing-strip{background:rgba(6,82,110,.84)}
.closing .wrap{position:relative;padding:56px 0}.closing h2{color:#fff}.closing em{color:var(--light)}
.profile-cta{min-height:49px}.meet-label{display:inline-block;transform-origin:left center;transition:transform .35s ease,color .35s ease}
.team-card:hover .meet-label,.team-card:focus-within .meet-label{font-family:'Libre Baskerville',Georgia,serif;font-style:italic;color:var(--blue);transform:scale(1.14)}
@media(max-width:600px){.hero h1{font-size:clamp(34px,8.6vw,50px);letter-spacing:-1px}.hero .eyebrow{font-size:17px}.nature-break{height:155px}.service-gradient .service-row h3{font-size:31px}.profile-cta{min-height:38px}.team-card:hover .meet-label,.team-card:focus-within .meet-label{transform:scale(1.08)}.closing{padding:56px 0}.closing .wrap{padding:36px 0}}
@media(prefers-reduced-motion:reduce){.team-card:hover .meet-label,.team-card:focus-within .meet-label{transform:none}}
.telehealth-badge{display:inline-block;font:600 14px/1.4 var(--body);letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);background:var(--mint);border-radius:20px;padding:7px 18px;margin-bottom:20px}.spec-label{font-weight:700;color:var(--teal)}.form-layout{display:grid;grid-template-columns:2fr 1fr;gap:60px;align-items:start}.appt-form{display:flex;flex-direction:column}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}.form-field label{font:600 15px/1.4 var(--body);letter-spacing:.5px;text-transform:uppercase;color:var(--teal)}.form-field input,.form-field select,.form-field textarea{font:19px/1.5 var(--body);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:12px 14px;background:var(--paper);width:100%;box-sizing:border-box}.form-field textarea{resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.checkbox-field{display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.5;color:var(--muted);margin:10px 0 20px}.checkbox-field input{margin-top:4px;flex:none}.form-aside{background:var(--mint);border-radius:10px;padding:32px}.form-aside h3{margin:0 0 10px;font-size:21px;color:var(--teal)}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:45px}.resource-group h2{font-size:25px;margin:0 0 18px;color:var(--teal)}.resource-list{list-style:none;margin:0;padding:0}.resource-list li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.resource-list li:last-child{border-bottom:0}.res-name{font-weight:700;color:var(--ink)}.resource-list a{color:var(--teal);font-weight:600;text-decoration:none}.resource-list a:hover{text-decoration:underline}.res-note{font-size:16px;color:var(--muted)}@media(max-width:800px){.form-layout{grid-template-columns:1fr}.form-aside{order:-1}}@media(max-width:600px){.form-row{grid-template-columns:1fr}}