@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Montserrat:wght@400;500;600;700&family=Manrope:wght@400;500;600;650;700;750&display=swap');
:root{--paper:#f7f5f0;--ink:#203533;--wine:#990033;--sage:#dde8e0;--muted:#3f4c47;--line:#d7d9d1;--white:#fff;--brown:#32201e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Montserrat',sans-serif;font-size:16px;line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500;line-height:1.14;letter-spacing:-.045em}h1{font-size:clamp(3rem,5.8vw,5.6rem);max-width:750px;margin-bottom:26px}h2{font-size:clamp(2rem,3.3vw,3.4rem)}h3{font-size:1.3rem;letter-spacing:-.025em}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--wine);outline-offset:5px}img{max-width:100%;display:block}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:22px}.muted{color:var(--muted)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:16px;padding:14px 23px;border-radius:6px;border:1px solid transparent;background:var(--wine);color:#fff;text-decoration:none;font-size:.9rem;font-weight:600;line-height:1.5}.btn:hover{background:#760329}.btn.secondary{background:transparent;border-color:#b6c0b7;color:var(--ink)}.btn.secondary:hover{background:var(--sage)}.actions{display:flex;gap:12px;flex-wrap:wrap}.skip{position:absolute;left:10px;top:-100px;z-index:100;background:#fff;padding:12px}.skip:focus{top:10px}.utility{background:var(--ink);color:white;font-size:.78rem;padding:8px 0}.utility .wrap{display:flex;justify-content:space-between;gap:16px}.utility a{text-decoration:none}header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:87px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;line-height:1.1;flex-shrink:0}.brand img{width:58px;height:58px;object-fit:contain}.brand strong{font-family:Manrope,sans-serif;font-size:1.35rem;font-weight:650;letter-spacing:-.04em}.brand small{display:block;font-size:.75rem;letter-spacing:.16em;margin-top:7px;text-transform:uppercase}.navlinks{display:flex;gap:27px;align-items:center}.navlinks>a:not(.btn){text-decoration:none;font-size:.86rem}.navlinks>a:hover{color:var(--wine)}.navlinks>.btn:hover{color:white}.menu{display:none;background:none;border:1px solid var(--line);border-radius:5px;padding:9px 13px}.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:60px;align-items:center;padding-top:64px;padding-bottom:62px}.hero-copy{padding:18px 0}.hero .eyebrow{color:var(--wine)}.hero h1 em{font-style:normal;color:var(--wine)}.hero p.description{font-size:1.08rem;max-width:465px;color:var(--muted);margin-bottom:30px}.hero-photo{position:relative;align-self:stretch;min-height:510px}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;border-radius:90px 8px 8px 8px;object-position:50% 50%}.photo-note{position:absolute;bottom:20px;left:20px;right:20px;background:#fffef5ed;border-radius:6px;backdrop-filter:blur(8px);padding:17px 20px;display:flex;justify-content:space-between;align-items:center;font-size:.88rem}.photo-note strong{display:block;font-size:1.05rem}.hero-foot{display:flex;align-items:center;gap:10px;margin-top:27px;font-size:.8rem;color:var(--muted)}.hero-foot .line{height:1px;width:24px;background:var(--wine)}.quickbar{border-block:1px solid var(--line);padding:23px 0}.quickbar .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.quickbar div div{font-size:.9rem;padding-left:22px;border-left:1px solid var(--line)}.quickbar div div:first-child{border:0;padding-left:0}.quickbar small{display:block;color:var(--muted);font-size:.78rem}.section{padding:90px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:38px}.section-head h2{margin-bottom:0;max-width:640px}.section-head p{max-width:355px;color:var(--muted);margin-bottom:4px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:29px 30px 27px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff35}.service .number{display:block;color:var(--wine);font-size:.78rem;margin-bottom:22px}.service h3{margin-bottom:13px}.service p{font-size:.91rem;color:var(--muted);margin:0}.more-services{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:.8rem;margin-top:24px}.pill{border:1px solid var(--line);padding:5px 12px;border-radius:50px}.about{background:var(--sage)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.about-image{border-radius:8px;width:100%;aspect-ratio:1.3;object-fit:cover}.about .story{font-size:1.05rem}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}.amenity{border-top:1px solid #bbcabe;padding-top:15px}.amenity strong{display:block;font-size:.88rem}.amenity span{font-size:.81rem;color:var(--muted)}.transition{font-size:.85rem;border-left:2px solid var(--wine);padding-left:18px;margin-top:25px;margin-bottom:0}.ribbon-controls{display:flex;align-items:center;gap:9px}.icon-btn{background:transparent;border:1px solid var(--line);border-radius:50px;padding:10px 17px;font-size:.8rem}.icon-btn:hover{background:var(--sage)}.staff-window{overflow:hidden;position:relative}.staff-track{display:flex;width:max-content;animation:ribbon 44s linear infinite;gap:24px;padding-bottom:4px}.staff-window:hover .staff-track,.staff-window:focus-within .staff-track,.staff-window.paused .staff-track{animation-play-state:paused}.staff-card{width:350px;flex-shrink:0;background:#fff;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.staff-card img,.portrait-placeholder{height:310px;width:100%;object-fit:cover;object-position:50% 28%;background:var(--sage)}.portrait-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink)}.portrait-placeholder strong{font-family:Manrope,sans-serif;font-size:5rem;font-weight:400;letter-spacing:-.07em}.portrait-placeholder span{font-size:.8rem}.staff-text{padding:24px}.staff-text h3{margin-bottom:8px}.staff-role{color:var(--wine);font-size:.8rem;margin-bottom:12px}.staff-text p:last-child{font-size:.88rem;color:var(--muted);margin:0}.smallnote{font-size:.8rem;color:var(--muted);margin-top:22px}.visit{background:var(--ink);color:var(--paper)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.visit .eyebrow{color:#c9dace}.visit p{color:#d0dad3}.visit .btn{background:var(--paper);color:var(--ink)}.visit .btn.secondary{background:transparent;color:var(--paper);border-color:#879690}.visit .btn:hover{background:var(--sage);color:var(--ink)}.visit h2{max-width:480px}.steps{margin-top:35px}.step{display:flex;gap:18px;border-top:1px solid #4f6260;padding:18px 0}.step span{font-size:.8rem;color:#c3beba}.step strong{font-weight:500}.step p{margin:3px 0 0;font-size:.87rem}.contact-card{background:#2e4541;border-radius:9px;padding:32px}.contact-card h3{font-size:1.4rem}.address{font-size:1.08rem;line-height:1.65}.contact-card a{color:var(--paper)}.hours{width:100%;border-collapse:collapse;margin-top:24px;font-size:.85rem}.hours td{padding:10px 0;border-bottom:1px solid #4f6260}.hours td:last-child{text-align:right}.contact-card .smallnote{color:#d0dad3}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}details{border-bottom:1px solid var(--line)}summary{padding:22px 32px 22px 0;cursor:pointer;list-style:none;font-weight:500;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:5px;top:18px;font-size:1.6rem;font-weight:400;color:var(--wine)}details[open] summary:after{content:'−'}details p{padding:0 25px 20px 0;margin:0;color:var(--muted);font-size:.92rem}.journal{border-top:1px solid var(--line);padding-top:65px}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.article-card{display:flex;flex-direction:column;text-decoration:none;border-top:2px solid var(--wine);padding:25px 0}.article-card small{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;margin-bottom:20px}.article-card h3{font-size:1.48rem;line-height:1.3}.article-card p{color:var(--muted);font-size:.9rem;flex:1}.read-link{font-size:.84rem;color:var(--wine)}.article-card:hover .read-link{text-decoration:underline}footer{background:var(--paper);padding:42px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:35px;align-items:flex-start}.footer-top p{font-size:.86rem;max-width:290px}.footer-links{display:flex;flex-wrap:wrap;gap:20px;font-size:.8rem}.footer-bottom{border-top:1px solid #bccabe;margin-top:30px;padding-top:20px;display:flex;justify-content:space-between;font-size:.74rem;gap:20px}.mobile-call{display:none}.article-layout{max-width:780px;margin:0 auto;padding:65px 0 95px}.article-layout h1{font-size:clamp(2.5rem,4.5vw,4rem)}.article-layout h2{font-size:1.7rem;margin-top:40px;letter-spacing:-.03em}.article-layout h3{margin-top:28px}.article-layout p,.article-layout li{color:#3f4c47}.article-layout .lead{font-size:1.18rem;color:var(--ink)}.article-meta{font-size:.8rem;color:var(--muted);padding-block:18px;border-block:1px solid var(--line);margin:30px 0}.breadcrumb{font-size:.8rem;margin-bottom:35px}.source-list{font-size:.85rem}.note{background:var(--sage);padding:22px;border-radius:6px;font-size:.9rem;margin:30px 0}.booking-dialog{border:0;border-radius:12px;padding:36px;max-width:490px;width:calc(100% - 40px);color:var(--ink);background:var(--paper)}.booking-dialog::backdrop{background:#15272599;backdrop-filter:blur(4px)}.booking-dialog h2{font-size:2rem}.dialog-close{display:block;margin-left:auto;border:0;background:transparent;font-size:1.2rem;margin-bottom:15px}.booking-dialog p{color:var(--muted)}@keyframes ribbon{from{transform:translateX(0)}to{transform:translateX(-1122px)}}@media(min-width:1500px){.hero-photo{min-height:550px}}@media(max-width:1050px){.navlinks{gap:16px}.navlinks .btn{padding:11px 14px}.wrap{width:calc(100% - 48px)}.hero{gap:35px}.hero-photo{min-height:480px}.about-grid{gap:40px}.visit-grid{gap:45px}.faq-grid{gap:40px}.hero h1{font-size:3.8rem}}@media(max-width:800px){.utility .wrap>span{display:none}.utility .wrap{justify-content:center}.nav{min-height:76px}.menu{display:block}.navlinks{display:none;position:absolute;top:76px;left:0;right:0;padding:24px;background:var(--paper);border-bottom:1px solid var(--line);align-items:stretch}.navlinks.open{display:flex;flex-direction:column}.navlinks>a:not(.btn){padding:6px 0;font-size:1rem}.hero{grid-template-columns:1fr;padding-top:28px;gap:25px}.hero h1{font-size:clamp(3.2rem,10vw,4.5rem);max-width:590px}.hero-photo{min-height:370px}.hero-photo>img{border-top-left-radius:65px;object-position:50% 42%}.hero-copy{padding:10px 0}.quickbar .wrap{grid-template-columns:1fr 1fr;gap:20px}.quickbar div div:nth-child(3){border:0;padding-left:0}.section{padding:62px 0}.section-head{align-items:flex-start;gap:20px;flex-direction:column}.services{grid-template-columns:1fr 1fr}.about-grid,.visit-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.about-image{aspect-ratio:1.65}.journal-grid{grid-template-columns:1fr}.article-card{padding:24px 0 15px}.article-card h3{margin-bottom:14px}.article-card small{margin-bottom:14px}.footer-top{flex-wrap:wrap}.footer-bottom{flex-direction:column;gap:8px}.mobile-call{display:flex;position:fixed;bottom:16px;right:16px;z-index:10;box-shadow:0 5px 20px #20353330}.article-layout{padding-top:40px}.staff-card{width:350px}.footer-bottom{padding-bottom:62px}.photo-note{padding:14px}.photo-note strong{font-size:.96rem}}@media(max-width:480px){.wrap{width:calc(100% - 36px)}.services{grid-template-columns:1fr}.service{padding:24px}.hero-photo{min-height:310px}.hero h1{font-size:3.05rem}.hero .actions .btn{width:100%}.quickbar div div{font-size:.81rem}.quickbar small{font-size:.75rem}.contact-card{padding:23px}.amenities{gap:16px}.brand img{width:47px;height:47px}.brand strong{font-size:1.2rem}.section-head h2{font-size:2.3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.staff-track{animation:none}.staff-window{overflow-x:auto}.staff-card.duplicate{display:none}}

/* Shared soft geometry across every page. */
:root{--radius-sm:14px;--radius:24px;--radius-lg:32px}
.btn,.menu,.navlinks.open,.note{border-radius:var(--radius-sm)}
.hero-photo>img,.about-image,.about-video{border-radius:var(--radius-lg)}
.photo-note,.staff-card,.contact-card,.booking-dialog{border-radius:var(--radius)}
.services{border:0;gap:18px}.service{border:1px solid var(--line);border-radius:var(--radius);background:#fff9}
.article-card{border:1px solid var(--line);border-top:3px solid var(--wine);border-radius:var(--radius);padding:25px;background:#fff8}
.article-card:hover{background:#fff}
details{border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:12px;padding:0 20px;background:#ffffff40}
.about-video{display:block;width:100%;aspect-ratio:1.25;object-fit:cover;background:var(--ink)}
.footer-location{display:flex;align-items:center;justify-content:flex-end;gap:32px;margin-top:28px;padding-top:25px;border-top:1px solid #bccabe}
.footer-location p{font-size:.85rem;margin:0}.mini-map{width:300px;max-width:100%;height:175px;border:1px solid #bbcabe;border-radius:var(--radius);background:var(--paper)}
@media(max-width:800px){.article-card{padding:24px}.about-video{aspect-ratio:1.45}.footer-location{justify-content:space-between}}
@media(max-width:480px){.footer-location{flex-direction:column;align-items:stretch;gap:18px}.mini-map{width:100%}.hero-photo>img{border-radius:var(--radius-lg)}}
.about,.visit{border-radius:var(--radius-lg);margin-left:16px;margin-right:16px}footer{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.quickbar{border:1px solid var(--line);border-radius:var(--radius);margin:0 16px}
@media(max-width:480px){.about,.visit,.quickbar{margin-left:8px;margin-right:8px}}

/* Quiet scroll-linked movement and pointer feedback. */
h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.02em}
body{isolation:isolate}main,footer,.utility{position:relative;z-index:1}
.gym-ball-background{position:fixed;z-index:0;right:-110px;top:22vh;width:clamp(330px,43vw,660px);pointer-events:none;opacity:.105;will-change:transform;user-select:none}
.gym-ball-background img{width:100%;height:auto;display:block}
.service,.article-card,.btn,.staff-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background-color .25s ease}
@media(hover:hover) and (pointer:fine){.service:hover{transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px);border-color:#99ada0;box-shadow:0 16px 35px #20353312;background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,50%),#dde8e099,transparent 68%),#fff}.article-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px #20353312}.btn:hover{transform:translateY(-2px)}.staff-card:hover{box-shadow:0 10px 25px #20353318}}
.article-card:focus-visible,.service:focus-within{border-color:var(--wine);box-shadow:0 0 0 3px #99003318}
@media(max-width:800px){.gym-ball-background{width:350px;right:-150px;opacity:.075}.navlinks{gap:18px}.navlinks>a:not(.btn){font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.gym-ball-background{transform:none!important;will-change:auto}.service,.article-card,.btn,.staff-card{transition:none;transform:none!important}}

/* Larger rose-toned ball with solid reading surfaces. */
.gym-ball-background{width:clamp(700px,82vw,1180px);right:-250px;top:6vh;opacity:.24}
.gym-ball-background img{filter:grayscale(1) sepia(1) saturate(3) hue-rotate(285deg)}
.service,.article-card,details{background-color:rgba(255,255,255,.95)}
.hero-copy{background:linear-gradient(90deg,rgba(247,245,240,.97) 72%,rgba(247,245,240,.8));border-radius:24px}
.article-layout{background:rgba(247,245,240,.96);box-shadow:0 0 45px 22px rgba(247,245,240,.96);border-radius:24px}
@media(max-width:800px){.gym-ball-background{width:720px;right:-330px;top:16vh;opacity:.2}}
@media(max-width:480px){.gym-ball-background{width:600px;right:-305px;opacity:.18}}

.insurance-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;background:#fff;border:1px solid var(--line);border-radius:32px;padding:40px}.insurance-panel h2{margin-bottom:20px}.insurance-panel p{color:var(--muted)}.insurance-search label{display:block;font-weight:600;margin-bottom:12px}.insurance-input-row{display:flex;gap:10px}.insurance-input-row input{min-width:0;width:100%;font:inherit;font-size:1rem;padding:14px 16px;border:1px solid #83958c;border-radius:14px;background:var(--paper);color:var(--ink)}.insurance-input-row input:focus-visible{outline:3px solid #990033;outline-offset:3px}.insurer-results{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;margin:15px 0 0;padding:0;max-height:245px;overflow-y:auto;overscroll-behavior:contain}.insurer-item{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px;font-size:.85rem}.insurance-no-match{background:var(--sage);border-radius:20px;padding:24px}.insurance-no-match h3{font-size:1.6rem}.insurance-call{font-size:.85rem;margin:20px 0 0}[hidden]{display:none!important}
@media(min-width:801px){.navlinks{gap:18px}.navlinks>a:not(.btn){font-size:.8rem}}
@media(max-width:1000px){.insurance-panel{gap:25px;padding:28px}}
@media(max-width:800px){.insurance-panel{grid-template-columns:1fr}.navlinks>a:not(.btn){font-size:1rem}}
@media(max-width:480px){.insurance-panel{padding:22px}.insurer-results{grid-template-columns:1fr}.insurance-input-row{flex-wrap:wrap}}

.brand-lockup{flex-shrink:0;padding:8px 0;max-width:290px}.division-line{font-family:Montserrat,sans-serif;font-size:.625rem;line-height:1.4;font-weight:400;letter-spacing:0;margin:3px 0 0;color:var(--muted)}
@media(max-width:1050px) and (min-width:801px){.nav{gap:14px}.navlinks{gap:12px}.navlinks>a:not(.btn){font-size:.75rem}.navlinks>.btn{font-size:.78rem;padding:10px 12px}.brand strong{font-size:1.2rem}.brand small{font-size:.65rem;letter-spacing:.08em}.brand img{width:45px;height:45px}}
@media(max-width:480px){.brand-lockup{max-width:240px}.division-line{max-width:225px}.nav{gap:10px}}

.quickbar-title{display:block;font-weight:700;color:var(--wine);line-height:1.45;margin-bottom:5px}.quickbar small{font-weight:400;color:var(--muted)}

/* Full-width photographic hero with a protected reading area. */
.hero-fullbleed{position:relative;isolation:isolate;display:flex;align-items:center;min-height:660px;width:100%;margin:0 0 24px;padding:76px max(40px,calc((100vw - 1240px)/2));overflow:hidden;border-radius:0 0 32px 32px;gap:0;background:var(--paper)}
.hero-fullbleed .hero-photo{position:absolute;inset:0;z-index:-2;min-height:0}
.hero-fullbleed .hero-photo>img{border-radius:0;width:100%;height:100%;object-fit:cover;object-position:60% 46%}
.hero-fullbleed:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f7f5f0 0%,rgba(247,245,240,.97) 23%,rgba(247,245,240,.9) 39%,rgba(247,245,240,.42) 57%,rgba(247,245,240,0) 76%)}
.hero-fullbleed .hero-copy{width:100%;max-width:620px;padding:0;background:none;border-radius:0}
.hero-fullbleed h1{font-size:clamp(3.2rem,5.8vw,5.6rem)}
.hero-fullbleed .description{max-width:440px}
.hero-fullbleed .btn.secondary{background:rgba(247,245,240,.88);border-color:#89958c}
.hero-fullbleed .btn.secondary:hover{background:var(--sage)}
@media(min-width:1600px){.hero-fullbleed{min-height:720px}}
@media(max-width:1050px){.hero-fullbleed{padding:64px 24px;min-height:600px}.hero-fullbleed:after{background:linear-gradient(90deg,#f7f5f0 0%,rgba(247,245,240,.96) 30%,rgba(247,245,240,.84) 48%,rgba(247,245,240,.12) 85%)}}
@media(max-width:800px){.hero-fullbleed{min-height:650px;padding:230px 24px 42px;align-items:flex-end}.hero-fullbleed .hero-photo>img{object-position:66% 30%}.hero-fullbleed:after{background:linear-gradient(180deg,rgba(247,245,240,.03) 0%,rgba(247,245,240,.25) 20%,rgba(247,245,240,.94) 44%,#f7f5f0 70%)}.hero-fullbleed .hero-copy{max-width:590px}.hero-fullbleed h1{font-size:clamp(3.05rem,8vw,4.5rem)}}
@media(max-width:480px){.hero-fullbleed{padding:220px 18px 32px;border-radius:0 0 24px 24px}.hero-fullbleed h1{font-size:3.05rem}.hero-fullbleed .eyebrow{font-size:.67rem}.hero-fullbleed .hero-foot{font-size:.73rem}}
/* Expanded therapist profiles */
.profile-open{display:inline-flex;background:var(--wine);color:white;border:0;border-radius:24px;padding:10px 18px;margin-top:18px;font-size:.9rem;font-weight:600}
.profile-open:hover{background:#760329}.staff-card img{cursor:pointer;transition:transform .25s ease}.staff-card:hover img{transform:scale(1.025)}
.profile-dialog{width:min(960px,calc(100% - 32px));max-height:90dvh;overflow:auto;padding:24px;border:0;border-radius:28px;background:var(--paper);color:var(--ink)}
.profile-dialog::backdrop{background:#102320b8;backdrop-filter:blur(5px)}
.profile-close{display:block;margin:0 0 18px auto;padding:10px 18px;border:1px solid var(--line);border-radius:24px;background:white;color:var(--ink)}
.profile-layout{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:32px;align-items:start}.profile-portrait img{width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:22px}.profile-content h2{font-size:2.3rem;margin-bottom:12px}.profile-content p{font-size:1rem;line-height:1.75}.profile-content .staff-role{color:var(--wine)}
body.profile-is-open{overflow:hidden}
@media(max-width:800px){#team .staff-window{overflow-x:auto;scroll-snap-type:x mandatory;padding:0 18px 12px}#team .staff-track{animation:none;gap:16px}#team .staff-card{width:min(330px,82vw);scroll-snap-align:center}#team .staff-card.duplicate{display:none}#team .ribbon-controls{display:none}.profile-layout{grid-template-columns:1fr;gap:22px}.profile-dialog{padding:18px}.profile-portrait{max-width:310px;margin:auto;width:100%}.profile-portrait img{max-height:330px;object-position:50% 25%}.profile-content h2{font-size:2rem}.hours td{font-size:.85rem}.profile-content .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.staff-card img{transition:none;transform:none!important}}

/* Full clinic name in the shared header and footer identity. */
.brand .clinic-wordmark strong{display:block;font-size:1.25rem;line-height:1.15;letter-spacing:-.025em}
.brand .clinic-wordmark strong>span{display:block;font-size:.88rem;line-height:1.3;letter-spacing:0;margin-top:3px;font-weight:600}
.brand-lockup{max-width:310px}.brand-lockup .division-line{max-width:290px}
.nav{padding-block:12px}.brand img{flex-shrink:0}
@media(max-width:1050px) and (min-width:801px){.brand .clinic-wordmark strong{font-size:1.1rem}.brand .clinic-wordmark strong>span{font-size:.76rem}.brand-lockup{max-width:250px}}
@media(max-width:800px){.navlinks{top:100%}.brand .clinic-wordmark strong{font-size:1.15rem}.brand .clinic-wordmark strong>span{font-size:.8rem}.brand-lockup{max-width:260px}}
@media(max-width:380px){.brand{gap:7px}.brand img{width:39px;height:45px}.brand .clinic-wordmark strong>span{font-size:.72rem}.brand-lockup{max-width:220px}.menu{padding:8px}}
/* Centered triangular identity: symbol, name, wider service lines, division. */
.brand-lockup{width:270px;max-width:270px;flex-shrink:0;text-align:center}
.brand-lockup .brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;text-align:center}
.brand-lockup .brand img{width:42px;height:38px;object-fit:contain}
.brand-lockup .brand .clinic-wordmark strong{font-size:1.12rem;line-height:1.15;letter-spacing:0}
.brand-lockup .brand .clinic-wordmark strong>span{font-size:.88rem;line-height:1.3;margin-top:2px;letter-spacing:0;font-weight:600}
.brand-lockup .division-line{width:100%;max-width:none;margin:6px 0 0;text-align:center;white-space:nowrap;font-size:.59rem;line-height:1.4}
.nav{padding-block:10px;min-height:139px;gap:24px}
html{scroll-padding-top:160px}
@media(max-width:1050px) and (min-width:801px){.brand-lockup{width:244px;max-width:244px}.brand-lockup .division-line{font-size:.54rem}.nav{gap:14px}}
@media(max-width:800px){.brand-lockup{width:250px;max-width:250px}.brand-lockup .brand img{width:37px;height:33px}.brand-lockup .brand .clinic-wordmark strong{font-size:1.03rem}.brand-lockup .brand .clinic-wordmark strong>span{font-size:.82rem}.brand-lockup .division-line{font-size:.55rem}.nav{min-height:129px;gap:12px}.navlinks{top:100%}html{scroll-padding-top:145px}}
@media(max-width:380px){.brand-lockup{width:225px;max-width:225px}.brand-lockup .division-line{font-size:.49rem}.nav{gap:8px}.menu{padding:8px}}

.careers-panel{display:flex;align-items:center;justify-content:space-between;gap:40px;background:var(--sage);padding:44px;border-radius:32px}.careers-panel>div{max-width:660px}.careers-panel h2{margin-bottom:18px}.careers-panel p:last-child{margin-bottom:0;color:var(--muted)}.careers-panel>.btn{flex-shrink:0;text-align:center}.careers-panel .eyebrow{color:var(--wine)}@media(max-width:800px){.careers-panel{flex-direction:column;align-items:flex-start;padding:28px;gap:24px}}@media(max-width:480px){.careers-panel{padding:24px;border-radius:24px}.careers-panel>.btn{width:100%}}

.careers-panel{flex-direction:column;align-items:flex-start;gap:24px}.careers-panel>div{max-width:800px}.careers-panel p a{color:var(--wine);font-weight:600}

.careers-panel .job-listing{width:100%;max-width:none;border:1px solid #b3c5ba;border-radius:20px;background:#fff;padding:24px}.job-listing h3{font-size:1.5rem;line-height:1.35;margin-bottom:12px}.job-listing h3 a{color:var(--wine)}.job-listing p{margin-bottom:12px}.job-listing .eyebrow{font-size:.75rem}

.social-links{display:flex;align-items:center;gap:6px}.social-links a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--ink);transition:background .2s,color .2s}.social-links a:hover{background:var(--ink);color:white}.social-links svg{display:block;flex-shrink:0}.utility-contact{display:flex;align-items:center;gap:18px}.utility{padding:0}.utility .wrap{align-items:center}.utility .social-links a{color:white}.utility .social-links a:hover{background:#ffffff24}.utility .social-links a:focus-visible{outline-color:white}.footer-links{align-items:center}@media(max-width:800px){.utility .wrap{justify-content:flex-end}.utility-contact{width:100%;justify-content:space-between}.utility .social-links{gap:4px}}@media(prefers-reduced-motion:reduce){.social-links a{transition:none}}


footer{background:var(--paper);color:var(--ink)}footer .brand,footer .division-line,footer .footer-bottom,footer .footer-links,footer .footer-location{color:var(--ink)}footer .footer-bottom{border-color:var(--line)}.same-day-banner{padding:10px 20px;text-align:center;background:var(--sage)}.same-day-banner .btn{padding:10px 18px;font-size:.875rem}.hours td{vertical-align:top}@media(max-width:480px){.same-day-banner{padding:8px 12px}.same-day-banner .btn{width:100%;font-size:.8rem}.clinic-wordmark strong{letter-spacing:0}.hours td{font-size:.85rem}}

@media(max-width:480px){.nav{gap:8px}.nav .brand-lockup{width:200px;max-width:200px}.nav .division-line{white-space:normal;font-size:.625rem}.nav .menu{flex-shrink:0}}

/* Shared opaque surface keeps header and footer colours identical. */
header,footer{background-color:var(--paper)}

/* Approved dark teal footer. */
footer{background:#203533;color:#f7f5f0}footer .brand,footer .division-line,footer .footer-bottom,footer .footer-links,footer .footer-location,footer .social-links a{color:#f7f5f0}footer .footer-bottom,footer .footer-location{border-color:#647773}footer .social-links a:hover{background:#dde8e0;color:#203533}footer a:focus-visible{outline-color:#f7f5f0}

/* Larger, unnumbered service-card headings. */
.service h3{font-size:1.5rem;line-height:1.2}

.fee-panel{max-width:850px;margin:auto;background:white;border:1px solid var(--line);border-radius:24px;padding:clamp(20px,4vw,44px)}.fee-table{width:100%;border-collapse:collapse}.fee-table th,.fee-table td{padding:16px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.fee-table th{font-weight:600;width:60%;padding-right:20px}.fee-table td{text-align:right}.fee-table tr:last-child>*{border-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.fee-scroll{list-style:none;padding:0;margin:0}.fee-slide{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 8px;border-bottom:1px solid var(--line)}.fee-name{font-size:1.2rem;font-weight:600}.fee-price{font-family:'DM Serif Display',serif;font-size:1.65rem;font-weight:400;color:var(--wine);text-align:right;max-width:45%}.fee-carousel.is-ready .fee-scroll{height:170px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:thin;scrollbar-color:#c3beb8 transparent;overscroll-behavior:contain}.fee-carousel.is-ready .fee-slide{height:170px;scroll-snap-align:start;scroll-snap-stop:always;border:0}.fee-controls:not([hidden]){display:flex;align-items:center;justify-content:center;gap:16px;border-top:1px solid var(--line);padding-top:20px}.fee-scroll:focus-visible{outline:3px solid var(--wine);outline-offset:3px;border-radius:12px}#fee-position{min-width:45px;text-align:center;font-variant-numeric:tabular-nums}@media(max-width:480px){.fee-slide{gap:16px}.fee-name{font-size:1rem}.fee-price{font-size:1.3rem}.fee-controls:not([hidden]){gap:10px}}
