@font-face{font-family:Barlow;src:url('/assets/barlow-3.woff2') format('woff2');font-weight:800;unicode-range:U+0000-024F,U+1E00-1EFF,U+2000-206F; font-display:swap}@font-face{font-family:Barlow;src:url('/assets/barlow-2.woff2') format('woff2');font-weight:700;unicode-range:U+0000-024F,U+1E00-1EFF,U+2000-206F; font-display:swap}@font-face{font-family:Barlow;src:url('/assets/barlow-0.woff2') format('woff2');font-weight:500;unicode-range:U+0000-024F,U+1E00-1EFF,U+2000-206F; font-display:swap}
:root{--black:#171812;--cream:#f3f0e7;--white:#fffcf6;--gold:#c1a055;--goldlight:#e1c27d;--muted:#68695e;--line:#d5d1c4;--olive:#30362c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--black);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2{font-family:Barlow,'Arial Narrow',Arial,sans-serif;font-weight:800;line-height:1;letter-spacing:-.025em}h2{font-size:clamp(42px,4.7vw,70px)}h3{line-height:1.2;letter-spacing:-.02em}em{font-family:Georgia,serif;font-weight:400;text-transform:none;letter-spacing:-.055em}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #95742b;outline-offset:5px}a:hover{text-decoration-thickness:1px}button:disabled{cursor:wait}.skip{position:fixed;z-index:100;top:0;left:10px;padding:12px;background:var(--goldlight);transform:translateY(-110%)}.skip:focus{transform:none}.utility{display:flex;justify-content:space-between;background:var(--black);color:#eee8d6;padding:9px 4.5vw;font-size:10px;letter-spacing:.12em}.utility a{font-size:12px;letter-spacing:.05em}.header{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:17px 4.5vw;position:sticky;top:0;background:#f3f0e7fa;border-bottom:1px solid var(--line);z-index:25}.brand{display:flex;gap:13px;align-items:center;flex-shrink:0}.brand img{width:62px;height:62px;border-radius:50%}.brand>span{font-family:Barlow,'Arial Narrow',Arial,sans-serif;font-size:25px;font-weight:800;line-height:1.05;letter-spacing:.015em}.brand small{display:block;font:8px Arial,sans-serif;letter-spacing:.18em;margin-top:7px}.header nav{display:flex;gap:28px;align-items:center;font-size:12px}.header nav>a:hover{color:#7c622a}.header .nav-cta{background:var(--black);color:#fff;padding:14px 18px}.header #menu-toggle{display:none}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.15em;line-height:1.5;color:#79622f;margin-bottom:20px}.hero{position:relative;min-height:680px;padding:66px 5vw 70px;overflow:hidden;color:#fff;display:flex;align-items:center;background:var(--black)}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,17,12,.94) 0%,rgba(14,17,12,.86) 30%,rgba(14,17,12,.35) 65%,rgba(14,17,12,.09) 100%)}.hero-copy{position:relative;z-index:1;width:660px;max-width:70%}.hero .eyebrow{color:#e2c782}.hero h1{font-size:clamp(75px,7.7vw,116px);line-height:.89;letter-spacing:-.02em}.hero h1 em{font-family:Barlow,'Arial Narrow',Arial,sans-serif;color:#dbba6b;font-style:normal;font-weight:800;letter-spacing:-.02em}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;max-width:410px;color:#eeeadd;margin-top:26px}.hero-actions{display:flex;gap:15px;margin-top:30px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;font-weight:600;font-size:12px;padding:16px 22px;line-height:1.4;transition:background .2s}.button.gold{background:var(--goldlight);color:var(--black)}.button.gold:hover{background:#efce83}.button.dark{background:var(--black);color:#fff}.button.dark:hover{background:#363b2e}.button.ghost{border:1px solid #c4c4ad;color:#fff;background:#ffffff0a}.button.ghost:hover{background:#ffffff20}.hero-location{position:absolute;right:5vw;bottom:62px;z-index:2;border-left:1px solid #dcc27c;padding:0 0 0 22px;color:#fff;text-shadow:0 1px 10px #000}.hero-location>span{font-size:9px;letter-spacing:.14em}.hero-location strong{display:block;font-family:Barlow,Arial,sans-serif;font-size:33px;line-height:1.03;font-weight:500;margin:13px 0}.hero-location>a{font-size:11px;border-bottom:1px solid #ddd2a9;padding-bottom:6px}.hero-badge{position:absolute;top:38px;right:5vw;z-index:1}.hero-badge img{width:96px;border-radius:50%;box-shadow:0 8px 28px #0005}.care-strip{display:flex;justify-content:space-between;align-items:center;gap:15px;background:var(--goldlight);padding:21px 5vw;font-family:Barlow,Arial,sans-serif;font-size:19px;font-weight:700;letter-spacing:.07em}.care-strip b{font-size:12px;font-weight:400;color:#6a5428}.section{padding:88px 5vw}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;border-bottom:1px solid var(--line)}.intro>div:last-child{max-width:460px}.intro p:not(.eyebrow){font-size:14px;color:#5c5f53;margin-bottom:15px}.intro p.lead{font-size:21px;line-height:1.4;color:var(--black)}.underlink{display:inline-block;font-size:12px;padding-bottom:7px;border:0;border-bottom:1px solid #8a8c7b;background:none;text-align:left;line-height:1.5}.intro .underlink{margin-top:10px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:38px}.section-top>p,.section-top>div:last-child:not(:first-child){max-width:410px;font-size:14px;color:var(--muted)}.section-top>div:first-child{max-width:650px}.service-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px}.service-photo{position:relative;min-height:580px;overflow:hidden;background:#353c32}.service-photo>img{height:100%;width:100%;object-fit:cover;object-position:50% 55%;filter:brightness(.78)}.service-photo>div{position:absolute;left:30px;right:30px;bottom:30px;color:#fff;text-shadow:0 2px 10px #000}.service-photo p{font-family:Barlow,Arial,sans-serif;font-size:32px;font-weight:700;line-height:1.02;letter-spacing:.02em}.service-photo a{display:inline-block;font-size:11px;border-top:1px solid #d3cbb0;width:100%;margin-top:24px;padding-top:14px}.service-link{display:flex;gap:22px;align-items:flex-start;border-top:1px solid #bbbeb0;padding:24px 0}.service-link:last-child{border-bottom:1px solid #bbbeb0}.service-link h3{font-family:Barlow,Arial,sans-serif;font-size:28px;font-weight:500;margin-bottom:10px}.service-link p{font-size:12px;line-height:1.6;color:var(--muted);max-width:385px}.service-link .service-index{font-size:11px;color:#92722c;padding-top:4px}.service-link .arrow{margin-left:auto;font-size:22px;transition:transform .2s}.service-link:hover .arrow{transform:translate(3px,-3px)}.service-link:hover h3{color:#8b6a27}.understand{background:var(--olive);color:var(--white)}.understand .eyebrow{color:#d1b46e}.understand .section-top>p{color:#d2d4c7}.topic-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px}.topic-buttons{border-top:1px solid #777c66}.topic-buttons button{display:flex;align-items:center;text-align:left;gap:22px;width:100%;border:0;border-bottom:1px solid #777c66;background:none;color:#c2c6b2;padding:20px 0;font-size:11px}.topic-buttons button span{font-size:15px;flex:1}.topic-buttons button.active{color:#f0d495}.topic-buttons button.active span{color:#fff}.topic-buttons button:hover{color:#fff}.topic-panel,.topic-layout article{background:#e9e6d9;color:var(--black);padding:34px;min-height:350px}.topic-layout article h3{font-family:Barlow,Arial,sans-serif;font-size:32px;font-weight:700;margin-bottom:20px}.topic-layout article p{font-size:14px;color:#52584a;margin-bottom:16px}.topic-layout article .topic-label{font-size:9px;letter-spacing:.15em;color:#7c632c;margin-bottom:14px}.topic-layout article a{font-size:12px;border-bottom:1px solid #8e947e;padding-bottom:4px}.doctor-feature{display:grid;grid-template-columns:1fr 1.1fr;gap:55px;align-items:center}.doctor-picture{background:#dcd8c9;padding:20px 20px 0}.doctor-picture img{width:100%;aspect-ratio:4/3;object-fit:cover}.doctor-picture>span{display:block;padding:19px 0;font-size:9px;letter-spacing:.12em;font-weight:600}.doctor-feature h3{font-family:Barlow,Arial,sans-serif;font-size:46px;line-height:1}.doctor-feature .large{font-size:19px;line-height:1.4;color:var(--black);margin:20px 0}.doctor-feature p:not(.eyebrow):not(.large){font-size:13px;color:var(--muted);margin-top:13px}.doctor-facts{display:flex;gap:40px;padding-top:22px;border-top:1px solid var(--line);margin-top:25px;font-size:10px;font-weight:600;letter-spacing:.05em}.doctor-facts small{display:block;font-size:10px;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:6px}.therapist-heading{display:flex;justify-content:space-between;align-items:center;margin:60px 0 25px;padding-top:28px;border-top:1px solid #bcbfad}.therapist-heading h3{font-family:Barlow,Arial,sans-serif;font-size:34px;font-weight:500}.therapist-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.therapist{display:grid;grid-template-columns:.75fr 1fr;background:#e8e4d8;min-width:0}.therapist>img{width:100%;height:100%;object-fit:cover;object-position:center top;max-height:520px}.therapist>div{padding:26px}.therapist .eyebrow{font-size:8px;margin-bottom:15px}.therapist h3{font-family:Barlow,Arial,sans-serif;font-size:29px;font-weight:700}.therapist p:not(.eyebrow){font-size:12px;color:#5b6151;margin-top:15px}.therapist .underlink{font-size:10px;margin-top:20px}.learn{background:#e9e6db}.feed-status{font-size:10px!important;color:#656957!important;margin-top:12px}.feed-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #c5c6b8;padding-top:20px;margin-bottom:28px}.filter-buttons{display:flex;gap:9px;flex-wrap:wrap}.filter-buttons button{border:1px solid #aeb39f;background:transparent;font-size:11px;padding:8px 16px;color:#4b5144}.filter-buttons button.active{background:var(--black);border-color:var(--black);color:#fff}.refresh-button{border:0;background:none;font-size:11px;white-space:nowrap;padding:10px}.education-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.education-card{background:var(--white);display:flex;flex-direction:column;min-width:0}.education-card>button{display:block;width:100%;border:0;padding:0;background:#22271b;overflow:hidden}.education-card img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;transition:transform .4s}.education-card>button:hover img{transform:scale(1.035)}.education-card>div{padding:23px;display:flex;flex:1;flex-direction:column}.education-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#77734e;gap:10px}.education-card h3{font-family:Barlow,Arial,sans-serif;font-size:28px;font-weight:700;margin:17px 0 14px;line-height:1.08}.education-card p{font-size:12px;color:#676b5d}.education-card .read-post{border:0;border-top:1px solid #cccfc1;padding:16px 0 0;margin-top:22px;background:none;text-align:left;font-size:11px;color:#252b1c}.education-card .read-post:hover{text-decoration:underline}.social-more{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #c0c2b2;margin-top:35px;padding-top:24px;font-size:12px;gap:20px}#facebook-embed{padding-top:25px;text-align:center}#facebook-embed p{font-size:11px;color:#676b5d}#facebook-embed a{text-decoration:underline}.reviews{background:var(--black);color:var(--white)}.reviews .eyebrow{color:#d6ba78}.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.review-links{display:flex;flex-direction:column;gap:15px;font-size:11px}.review-links a{border-bottom:1px solid #777c66;padding-bottom:6px}.review-carousel{overflow:hidden}.review-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px}.review-track::-webkit-scrollbar{display:none}.review-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;background:#25281e;padding:28px;min-height:270px;display:flex;flex-direction:column}.stars{color:#e1bf65;letter-spacing:4px;font-size:13px}.review-card blockquote{font-family:Georgia,serif;font-size:22px;line-height:1.45;margin:25px 0 24px;letter-spacing:-.02em}.review-card .review-author{margin-top:auto;font-size:12px;color:#fff}.review-card .review-source{font-size:9px;color:#bec3ad;margin-top:6px}.review-card .review-source a{border-bottom:1px solid #737a61;padding-bottom:2px}.review-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:26px;gap:25px}.review-bottom>p{font-size:10px;color:#b3baa2;max-width:650px}.carousel-controls{display:flex;gap:10px}.carousel-controls button{border:1px solid #798065;color:#fff;background:none;min-width:42px;height:38px;font-size:13px}.carousel-controls button:hover{background:#4c5340}.first{background:#f5f2e9}.visit-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.visit-steps article{border-top:1px solid #aeb49f;padding-top:23px}.visit-steps span{font-family:Georgia,serif;color:#a38a47;font-size:25px}.visit-steps h3{font-family:Barlow,Arial,sans-serif;font-size:29px;margin:24px 0 15px;font-weight:500}.visit-steps p{font-size:13px;color:#626858}.faq{margin-top:42px;border-top:1px solid #bcc1ad}.faq details{border-bottom:1px solid #bcc1ad}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:20px 0;font-size:14px}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:22px;line-height:1;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details>p{padding:0 30px 23px 0;color:#606653;font-size:13px;max-width:840px}.location{display:grid;grid-template-columns:1fr 1fr;gap:65px;background:#e1ddcf}.location-photo{position:relative;overflow:hidden}.location-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.78);min-height:540px}.location-photo span{position:absolute;left:30px;bottom:30px;color:#fff;font-family:Barlow,Arial,sans-serif;font-size:38px;line-height:1;font-weight:700;text-shadow:0 2px 8px #000}.big-phone{display:inline-block;font-family:Barlow,Arial,sans-serif;font-size:40px;font-weight:500;line-height:1.1;border-bottom:1px solid #999f88;padding-bottom:6px;margin-top:25px}.location address{font-style:normal;font-size:16px;line-height:1.5;margin:22px 0 15px}.office-hours{border-top:1px solid #b3baa0;margin-top:28px;padding-top:20px;max-width:440px}.office-hours h3{font-size:13px;margin-bottom:17px;font-weight:600}.office-hours dl{margin:0}.office-hours dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #c6cbb8;padding:9px 0;font-size:11px}.office-hours dt{max-width:155px}.office-hours dd{margin:0;text-align:right}.office-hours>p{font-size:10px;color:#686f58;margin-top:15px}footer{padding:42px 5vw 24px;background:var(--black);color:#eeeadd}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-bottom:35px}.footer-main>.brand img{width:72px;height:72px}.footer-main>p{font-family:Georgia,serif;font-size:20px;line-height:1.4;color:#d6d5c5}.footer-main>div{display:flex;gap:25px;font-size:11px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #555b45;padding-top:22px;color:#aeb59d;font-size:9px}.mobile-call{display:none}dialog{width:min(780px,calc(100% - 30px));max-height:90vh;padding:38px;border:0;background:var(--cream);color:var(--black);overflow-y:auto}dialog::backdrop{background:#11170edb;backdrop-filter:blur(3px)}.close-dialog{position:sticky;top:0;float:right;background:var(--black);color:#fff;border:0;width:38px;height:38px;font-size:26px;z-index:2}#reader-content .eyebrow{margin-top:20px}#reader-content h2{font-size:45px;max-width:610px;line-height:1.05;margin:20px 0 26px}#reader-content>img{max-height:400px;object-fit:contain;margin:25px auto}#reader-content p{font-size:14px;margin:16px 0;white-space:pre-wrap}#reader-content .button{margin-top:20px}.service-hero{background:var(--black);color:#fff;display:grid;grid-template-columns:1.1fr 1fr;min-height:510px}.service-hero>div{padding:45px 5vw 55px}.service-hero h1{font-size:clamp(50px,5.3vw,80px);margin:22px 0}.service-hero h1 em{display:block;font-size:.62em;color:var(--goldlight);margin-top:15px}.service-hero .eyebrow{color:#c5b67f;margin-top:40px;font-size:9px}.breadcrumb{font-size:10px;color:#d7d5c4}.service-hero>div>p:not(.eyebrow){font-size:16px;max-width:420px;color:#dadbcc;margin:25px 0}.service-hero>img{height:100%;width:100%;object-fit:cover;max-height:600px;object-position:center 35%;filter:brightness(.86)}.service-content{display:grid;grid-template-columns:1.65fr .85fr;gap:75px;padding:70px 7vw;align-items:start}.service-content>article>section{margin-bottom:35px}.service-content h2{font-family:Barlow,Arial,sans-serif;font-size:32px;font-weight:500;margin-bottom:16px}.service-content p{font-size:14px;color:#626858;line-height:1.85}.service-content p a{text-decoration:underline;text-underline-offset:4px}.service-content aside{padding:30px;background:#e1ddcf;position:sticky;top:125px}.service-content aside h2{font-size:39px;line-height:1.05}.service-content aside ul{padding:0 0 0 17px;font-size:12px;color:#555e48}.service-content aside li{padding-bottom:12px}.service-content aside p{font-size:11px;margin-top:24px}.next-care{background:#30362c;color:#fff;text-align:center}.next-care .eyebrow{color:#e1c27d}.next-care .button{margin-top:30px}.text-page{max-width:1000px;margin:auto;min-height:70vh}.text-page h1{font-size:65px;margin-bottom:35px}.text-page h2{font-size:30px;margin:34px 0 18px}.text-page p{max-width:800px;margin:16px 0;font-size:14px;color:#5d6551}.text-page a:not(.button){text-decoration:underline;text-underline-offset:4px}.text-page .lead{font-size:20px}.text-page .button{margin-top:30px}.empty-content{padding:30px;border:1px solid #c2c8b2;font-size:14px;grid-column:1/-1}
@media(min-width:1600px){.section,.header,.utility,footer,.care-strip{padding-left:max(5vw,calc((100vw - 1440px)/2));padding-right:max(5vw,calc((100vw - 1440px)/2))}.hero{padding-left:max(5vw,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.header nav{gap:20px}.brand>span{font-size:21px}.brand img{width:54px;height:54px}.hero{min-height:640px}.hero h1{font-size:95px}.section{padding-top:70px;padding-bottom:70px}.service-layout{gap:28px;grid-template-columns:.75fr 1.2fr}.service-link{gap:15px}.therapist{grid-template-columns:1fr}.therapist>img{height:300px;object-fit:cover;object-position:center 25%}.therapist>div{padding:30px}.therapist h3{font-size:34px}.therapist p:not(.eyebrow){font-size:13px}.therapist .underlink{font-size:11px}.intro{gap:40px}.doctor-feature{gap:35px}.doctor-feature h3{font-size:39px}.doctor-feature .large{font-size:17px}.doctor-facts{gap:25px}.education-card h3{font-size:25px}.review-card{padding:24px;flex-basis:calc((100% - 24px)/2)}.location{gap:40px}.location h2{font-size:52px}.care-strip{font-size:17px;letter-spacing:.04em}.service-content{gap:40px}}
@media(max-width:800px){html{scroll-padding-top:85px}.utility{padding:8px 22px}.utility>span{font-size:8px;letter-spacing:.07em}.utility>a{font-size:10px}.header{padding:13px 22px;gap:15px}.brand img{width:49px;height:49px}.brand>span{font-size:22px}.brand small{font-size:7px;letter-spacing:.12em}.header #menu-toggle{display:block;border:1px solid #535d45;background:transparent;font-size:11px;padding:9px 12px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:15px 22px 25px;background:var(--cream);border-bottom:1px solid #a4ad92;box-shadow:0 20px 30px #0002;flex-direction:column;align-items:stretch;gap:0}.header nav.is-open{display:flex}.header nav>a{padding:14px 0;font-size:14px}.header nav .nav-cta{margin-top:8px;padding:15px}.hero{min-height:620px;padding:48px 24px 160px;align-items:start}.hero-photo{object-position:58% 55%}.hero-shade{background:linear-gradient(90deg,#11170ef0,#11170eb5 55%,#11170e50),linear-gradient(0deg,#11170e99,transparent)}.hero-copy{max-width:100%;width:100%}.hero h1{font-size:clamp(75px,14vw,105px)}.hero .eyebrow{font-size:9px;letter-spacing:.11em}.hero-copy>p:not(.eyebrow){font-size:14px;max-width:365px;margin-top:24px}.hero-actions{gap:12px}.button{font-size:11px;padding:15px 18px;gap:25px}.hero-location{right:auto;left:24px;bottom:29px;display:flex;align-items:center;gap:20px;border:0;padding:0}.hero-location>span{display:none}.hero-location strong{font-size:25px;margin:0}.hero-location>a{font-size:10px}.hero-badge{top:auto;bottom:28px;right:24px}.hero-badge img{width:70px}.care-strip{justify-content:start;flex-wrap:wrap;gap:9px 14px;padding:18px 24px;font-size:15px;letter-spacing:.04em}.care-strip b{font-size:8px}.section{padding:55px 24px}.intro{display:block}.intro>div:last-child{max-width:none;margin-top:30px}.intro p.lead{font-size:20px}.section-top{display:block;margin-bottom:30px}.section-top>p,.section-top>div:last-child:not(:first-child){max-width:none;margin-top:25px;font-size:13px}.service-layout{grid-template-columns:1fr;gap:24px}.service-photo{min-height:0;height:290px}.service-photo>img{object-position:center 55%}.service-photo>div{left:23px;right:23px;bottom:20px}.service-photo p{font-size:29px}.service-photo a{margin-top:14px;padding-top:11px}.service-link{padding:21px 0;gap:16px}.service-link h3{font-size:28px}.service-link p{font-size:12px;max-width:none}.topic-layout{display:block}.topic-buttons{margin-bottom:25px}.topic-buttons button{padding:17px 0;gap:19px}.topic-buttons button span{font-size:14px}.topic-layout article{padding:28px;min-height:330px}.topic-layout article h3{font-size:30px}.topic-layout article p{font-size:13px}.doctor-feature{display:flex;flex-direction:column-reverse;align-items:stretch;gap:30px}.doctor-feature h3{font-size:42px}.doctor-feature .large{font-size:18px}.doctor-feature p:not(.eyebrow):not(.large){font-size:13px}.doctor-facts{font-size:9px;gap:35px}.doctor-picture{padding:14px 14px 0}.doctor-picture>span{font-size:8px;letter-spacing:.08em}.therapist-heading{margin:40px 0 24px;align-items:start;gap:20px}.therapist-heading h3{font-size:30px}.therapist-heading .underlink{font-size:10px;max-width:120px}.therapist-grid{grid-template-columns:1fr;gap:25px}.therapist{grid-template-columns:.8fr 1.1fr;align-items:stretch}.therapist>img{height:100%;max-height:650px;object-position:center 30%}.therapist>div{padding:22px}.therapist h3{font-size:28px}.therapist p:not(.eyebrow){font-size:11px}.therapist .underlink{font-size:10px}.feed-tools{gap:10px}.filter-buttons{gap:7px}.filter-buttons button{font-size:10px;padding:8px 11px}.refresh-button{font-size:10px;padding:8px 0}.education-grid{grid-template-columns:1fr 1fr;gap:16px}.education-card>div{padding:18px}.education-card h3{font-size:25px}.education-card p{font-size:11px}.education-meta{font-size:7px;flex-wrap:wrap;gap:4px}.education-card .read-post{font-size:10px;margin-top:18px;padding-top:14px}.social-more{align-items:start;font-size:11px}.social-more .underlink{font-size:10px;max-width:180px}.reviews-heading{display:block}.review-links{margin-top:26px;gap:12px;align-items:start}.review-track{gap:16px}.review-card{flex-basis:calc(100% - 25px);padding:27px;min-height:270px}.review-card blockquote{font-size:23px}.review-bottom{align-items:start;gap:20px}.review-bottom>p{font-size:9px;max-width:230px}.carousel-controls{gap:6px}.carousel-controls button{min-width:34px;height:34px;font-size:11px}.visit-steps{grid-template-columns:1fr;gap:27px}.visit-steps article{padding-top:18px}.visit-steps span{font-size:23px}.visit-steps h3{margin:17px 0 12px;font-size:29px}.faq summary{font-size:13px}.faq details>p{font-size:12px;padding-right:10px}.location{grid-template-columns:1fr;gap:35px}.location-photo{height:280px}.location-photo img{min-height:0}.location-photo span{font-size:30px;left:22px;bottom:22px}.location h2{font-size:48px}.big-phone{font-size:38px}.office-hours{max-width:none}.office-hours dl>div{font-size:11px}.office-hours dt{max-width:none}.footer-main{flex-wrap:wrap;gap:27px}.footer-main>.brand{width:100%}.footer-main>.brand img{width:60px;height:60px}.footer-main>p{font-size:19px}.footer-main>div{font-size:10px;gap:20px}.footer-bottom{flex-wrap:wrap;gap:15px;font-size:9px}.footer-bottom>span:last-child{width:100%}footer{padding:35px 24px 96px}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--goldlight);z-index:30;padding:14px 22px calc(14px + env(safe-area-inset-bottom));box-shadow:0 -2px 18px #0002}.mobile-call a{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:11px;min-height:22px}.mobile-call strong{font-size:14px}.service-hero{grid-template-columns:1fr;min-height:0}.service-hero>div{padding:30px 24px 40px}.service-hero .eyebrow{margin-top:30px}.service-hero h1{font-size:57px}.service-hero>img{height:270px;object-position:center 45%}.service-content{display:block;padding:45px 24px}.service-content>aside{position:static;margin-top:40px;padding:27px}.service-content h2{font-size:30px}.service-content aside h2{font-size:38px}.service-content p{font-size:13px}.text-page h1{font-size:52px}.text-page h2{font-size:29px}dialog{padding:25px;max-height:85vh}#reader-content h2{font-size:36px}#reader-content p{font-size:13px}}
@media(max-width:480px){.education-grid{grid-template-columns:1fr}.education-card{display:grid;grid-template-columns:1fr 1.1fr}.education-card>button{height:100%}.education-card img{height:100%;aspect-ratio:auto;object-fit:cover}.education-card>div{padding:19px}.education-card h3{font-size:25px;margin:12px 0}.education-card p{display:none}.education-meta{font-size:7px;display:block}.education-meta>span{display:block}.education-card .read-post{margin-top:12px;padding-top:10px}.therapist{grid-template-columns:1fr}.therapist>img{height:310px;object-position:center 25%}.therapist>div{padding:27px}.therapist h3{font-size:34px}.therapist p:not(.eyebrow){font-size:13px}.therapist .underlink{font-size:11px}.review-bottom{display:block}.review-bottom>p{max-width:none}.carousel-controls{margin-top:20px}.utility>span{max-width:195px}.hero-badge img{width:62px}.hero-location{gap:18px}.hero-location strong{font-size:23px}.hero-location>a{max-width:105px}.office-hours dl>div{gap:12px;font-size:10px}}
@media(max-width:360px){.brand>span{font-size:19px}.brand img{width:43px;height:43px}.brand{gap:10px}.brand small{font-size:6px}.utility>span{font-size:7px;letter-spacing:0}.hero h1{font-size:67px}.hero-actions{flex-wrap:wrap}.hero-actions .button{font-size:10px;padding:13px 15px;gap:16px}.hero-location>a{font-size:9px;max-width:95px}.care-strip{font-size:14px;gap:7px 10px}.section h2{font-size:42px}.filter-buttons button{padding:7px 8px;font-size:9px}.education-card h3{font-size:22px}.education-card>div{padding:16px}.doctor-facts{gap:20px;flex-wrap:wrap}.mobile-call a{font-size:10px}.mobile-call strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.hero-badge{top:42px;right:5vw}.hero-badge img{width:205px;border-radius:0;clip-path:circle(49.8%);filter:drop-shadow(0 12px 30px #0009)}.review-aggregates{display:flex;flex-wrap:wrap;gap:25px;margin-bottom:27px;font-size:12px;color:#eee7cd}.review-aggregates strong{color:#dfc37d}.review-source-filter{margin-bottom:25px;display:flex;gap:10px}.review-source-filter button{color:#eee7cd;border:1px solid #7c846b;background:none;padding:8px 15px;font-size:11px}.review-source-filter button.active{background:#dfc37d;color:#171812;border-color:#dfc37d}.recommend-icon{color:#cfdda7;font-size:12px;letter-spacing:.02em}
@media(max-width:800px){.hero-badge{top:auto;bottom:25px;right:24px}.hero-badge img{width:88px}}@media(max-width:360px){.hero-badge img{width:75px}}

/* Original-subject massage portraits: retain the full 3:4 composition. */
.team-card img.massage-portrait, .therapist>img.massage-portrait {
 width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: contain;
 object-position: center; filter: none; align-self: start;
}
.therapist>img.massage-portrait { max-width: 390px; max-height: none; justify-self: center; }
.service-hero>img.massage-portrait {
 width: 100%; height: auto; max-width: 450px; max-height: 600px;
 aspect-ratio: 3 / 4; object-fit: contain; object-position: center;
 filter: none; align-self: center; justify-self: center;
}
/* One reading family, with the established condensed face reserved for brand moments. */
@font-face {
  font-family: Manrope;
  src: url('/assets/manrope-variable.woff2') format('woff2');
  font-weight: 200 800;
  font-style: normal;
  unicode-range: U+0000-024F,U+1E00-1EFF,U+2000-206F; font-display: swap;
}
:root { --reading: Manrope, Arial, sans-serif; --muted: #555c4f; }
.navigator-feature { display: flex; align-items: center; justify-content: space-between; gap: 40px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #e7e9dc; }
.navigator-feature p:not(.eyebrow) { max-width: 700px; margin-top: 24px; font-size: 16px; color: #555c4f; }
.navigator-feature>.button { flex-shrink: 0; max-width: 310px; }
@media(min-width:1001px) and (max-width:1200px) {
 .header #menu-toggle { display: block; border: 1px solid #535d45; background: transparent; padding: 10px 15px; min-height: 44px; }
 .header nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 18px 5vw 25px; background: var(--cream); border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; gap: 0; }
 .header nav.is-open { display: flex; }
 .header nav>a { padding: 14px 0; font-size: 15px; }
 .header nav .nav-cta { padding: 15px; margin-top: 8px; }
}
@media(max-width:800px) { .navigator-feature { flex-direction: column; align-items: flex-start; gap: 28px; } }
body { font-family: var(--reading); font-size: 16px; line-height: 1.75; }
h1, h2, h3 { font-family: var(--reading); font-weight: 650; letter-spacing: -.035em; text-wrap: balance; }
h1, h2 { line-height: 1.13; }
em, h1 em, h2 em { font-family: inherit; font-style: normal; font-weight: inherit; letter-spacing: inherit; }
h2, .section h2, .location h2 { font-size: clamp(35px, 3.8vw, 57px); }
.eyebrow, .hero .eyebrow, .service-hero .eyebrow, .therapist .eyebrow {
  font-size: 11px; line-height: 1.6; letter-spacing: .12em; font-weight: 700;
}
.hero h1, .hero h1 em { font-family: Barlow, 'Arial Narrow', sans-serif; font-weight: 800; }
.brand small { font-family: var(--reading); font-size: 9px; letter-spacing: .12em; }
.utility { font-size: 11px; letter-spacing: .08em; }
.utility a { font-size: 13px; }
.header nav { font-size: 13px; gap: 24px; }
.button { font-size: 14px; min-height: 50px; }
.underlink { font-size: 14px; font-weight: 600; }
.hero-copy>p:not(.eyebrow) { font-size: 17px; max-width: 440px; }
.hero-location>a { font-size: 13px; }
.intro p:not(.eyebrow), .section-top>p,
.section-top>div:last-child:not(:first-child) { font-size: 16px; line-height: 1.8; }
.intro p.lead { font-size: 23px; line-height: 1.5; }
.intro>div:last-child { max-width: 510px; }
.section-top { margin-bottom: 45px; }
.service-link h3, .topic-layout article h3, .therapist-heading h3,
.therapist h3, .education-card h3, .visit-steps h3,
.service-content h2, .text-page h2 { font-family: var(--reading); font-size: 27px; font-weight: 650; line-height: 1.25; }
.service-link { padding: 27px 0; }
.service-link p { font-size: 15px; max-width: 450px; line-height: 1.75; }
.service-link .service-index { font-size: 12px; }
.service-photo>img, .location-photo img, .service-hero>img { filter: none; }
.service-photo>div, .location-photo span { text-shadow: 0 2px 10px #000; }
.service-photo::after, .location-photo::after {
  content: ''; position: absolute; inset: 45% 0 0;
  background: linear-gradient(transparent, #10170ce6); pointer-events: none;
}
.service-photo>div, .location-photo span { z-index: 1; }
.service-photo a { font-size: 14px; }
.topic-buttons button { font-size: 12px; min-height: 65px; }
.topic-buttons button span { font-size: 16px; }
.topic-layout article p { font-size: 16px; line-height: 1.8; }
.topic-layout article .topic-label { font-size: 11px; }
.topic-layout article a { font-size: 14px; }
.doctor-feature { grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: start; }
.doctor-feature h3 { font-family: var(--reading); font-size: clamp(30px, 3vw, 43px); line-height: 1.2; }
.doctor-feature .large { font-size: 23px; line-height: 1.5; margin: 22px 0; }
.doctor-feature p:not(.eyebrow):not(.large) { font-size: 16px; line-height: 1.85; margin-top: 17px; }
.doctor-feature .underlink { margin-top: 27px; }
.credentials-panel { background: var(--olive); color: var(--white); padding: 38px; border-top: 5px solid var(--gold); }
.credentials-panel .eyebrow { color: var(--goldlight); }
.credentials-panel h3 { font-size: 32px; max-width: 330px; }
.credentials-panel ol { padding: 0; margin: 30px 0 0; list-style: none; }
.credentials-panel li { padding: 22px 0; border-top: 1px solid #77806d; }
.credentials-panel li:last-child { padding-bottom: 0; }
.credentials-panel .year { display: block; color: var(--goldlight); font-size: 13px; font-weight: 700; margin-bottom: 7px; }
.credentials-panel strong { display: block; font-size: 18px; font-weight: 600; line-height: 1.5; }
.credentials-panel small { display: block; font-size: 14px; color: #d4d9cc; line-height: 1.7; margin-top: 7px; }
.therapist-heading { margin-top: 76px; padding-top: 32px; }
.therapist-grid { gap: 30px; }
.therapist { display: block; }
.therapist>img { height: 380px; width: 100%; object-position: center 25%; }
.therapist>div { padding: 32px; }
.therapist h3 { font-size: 30px; }
.therapist p:not(.eyebrow) { font-size: 16px; line-height: 1.8; }
.therapist .underlink, .therapist-heading .underlink { font-size: 14px; }
.front-desk { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 55px; padding-top: 45px; border-top: 1px solid #b7bdad; align-items: center; }
.front-desk img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.front-desk h3 { font-size: clamp(28px, 2.7vw, 39px); line-height: 1.2; margin-bottom: 22px; }
.front-desk p:not(.eyebrow) { font-size: 16px; color: var(--muted); margin-top: 15px; }
.front-desk .underlink { margin-top: 22px; }
.feed-status { font-size: 13px!important; color: #555e4b!important; }
.filter-buttons button, .refresh-button, .review-source-filter button { font-size: 13px; min-height: 42px; }
.education-meta { font-size: 11px; letter-spacing: .04em; line-height: 1.6; }
.education-card>div { padding: 27px; }
.education-card h3 { font-size: 25px; margin: 18px 0; }
.education-card p { font-size: 15px; line-height: 1.8; }
.education-card .read-post { font-size: 14px; font-weight: 600; min-height: 44px; }
.social-more, .social-more .underlink, #facebook-embed p { font-size: 14px; }
.review-links { font-size: 14px; }
.review-aggregates { font-size: 15px; }
.review-card { padding: 30px; min-height: 320px; }
.review-card blockquote { font-family: var(--reading); font-size: 22px; line-height: 1.6; letter-spacing: -.02em; }
.review-card .review-author { font-size: 15px; font-weight: 600; }
.review-card .review-source, .review-bottom>p { font-size: 12px; }
.carousel-controls button { min-width: 44px; height: 44px; }
.visit-steps h3 { font-size: 25px; line-height: 1.4; }
.visit-steps p, .faq details>p { font-size: 16px; line-height: 1.8; }
.faq summary { font-size: 16px; font-weight: 600; padding: 23px 0; }
.office-hours h3 { font-size: 18px; }
.office-hours dl>div { font-size: 14px; }
.office-hours dt { max-width: 180px; }
.office-hours>p { font-size: 13px; }
.footer-main>p { font-family: var(--reading); font-size: 19px; }
.footer-main>div { font-size: 14px; }
.footer-bottom { font-size: 12px; }
.breadcrumb { font-size: 13px; }
.service-hero h1 { font-size: clamp(43px, 4.8vw, 70px); }
.service-hero>div>p:not(.eyebrow) { font-size: 18px; }
.service-content p { font-size: 17px; line-height: 1.9; }
.service-content>article>section { margin-bottom: 43px; }
.service-content aside h2 { font-size: 32px; }
.service-content aside ul, .service-content aside p { font-size: 15px; }
.text-page h1 { font-size: clamp(38px, 5vw, 65px); }
.text-page p, #reader-content p { font-size: 17px; line-height: 1.85; }
#reader-content h2 { font-size: clamp(30px, 3.7vw, 43px); line-height: 1.2; }
.doctor-hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: 65px; background: var(--olive); color: var(--white); align-items: center; }
.doctor-hero .eyebrow { color: var(--goldlight); }
.doctor-hero h1 { font-size: clamp(40px, 5.5vw, 78px); max-width: 780px; }
.doctor-hero .doctor-deck { font-size: 22px; line-height: 1.65; margin: 27px 0; max-width: 670px; color: #e0e4d8; }
.doctor-hero .doctor-signature { border-top: 1px solid #7e8972; padding-top: 24px; font-size: 16px; font-weight: 600; }
.doctor-hero img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 54% center; border: 12px solid #eef0e321; }
.doctor-story { display: grid; grid-template-columns: 1.4fr .8fr; gap: 80px; align-items: start; }
.doctor-story article { min-width: 0; max-width: 780px; }
.doctor-story article h2 { font-size: clamp(28px, 2.8vw, 39px); margin: 48px 0 20px; }
.doctor-story article h2:first-child { margin-top: 0; }
.doctor-story article p { font-size: 17px; line-height: 1.95; margin-top: 18px; color: var(--muted); }
.education-timeline { background: #e6e2d5; padding: 32px; }
.education-timeline h2 { font-size: 28px; }
.education-timeline ol { list-style: none; margin: 27px 0 0; padding: 0; }
.education-timeline li { border-top: 1px solid #bbc2ab; padding: 25px 0; }
.education-timeline .year { font-size: 13px; font-weight: 750; color: #78602c; }
.education-timeline h3 { font-size: 19px; margin: 8px 0; line-height: 1.5; }
.education-timeline p { font-size: 15px; color: #535d46; line-height: 1.8; }
.doctor-next { margin-top: 45px; }
.community-band { display: flex; align-items: center; gap: 26px; padding: 26px 5vw; border-bottom: 1px solid var(--line); background: var(--white); }
.community-band>strong { font-family: Barlow, 'Arial Narrow', sans-serif; color: #806326; font-size: 80px; line-height: 1; font-weight: 700; }
.community-band p { font-size: 23px; font-weight: 650; line-height: 1.4; letter-spacing: -.03em; }
.community-band span { font-size: 15px; color: var(--muted); }
.community-band>a { margin-left: auto; font-size: 14px; font-weight: 600; border-bottom: 1px solid #8a8c7b; }
.service-content .technique-catalog { margin: 45px 0; padding: 30px; background: #e7e4d8; }
.technique-catalog .eyebrow { font-size: 11px; }
.catalog-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 28px; }
.catalog-group h3 { font-size: 20px; padding-bottom: 14px; border-bottom: 1px solid #abb39e; }
.catalog-group ul { margin: 17px 0 0; padding-left: 19px; }
.catalog-group li { font-size: 16px; padding: 5px 0; line-height: 1.6; }
.utility-actions { display: flex; align-items: center; gap: 26px; }
.utility .utility-patient-app { color: var(--goldlight); font-weight: 650; letter-spacing: .03em; }
.utility-actions a { display: inline-flex; align-items: center; gap: 8px; min-height: 28px; }
.patient-app { display: grid; grid-template-columns: 1.15fr .85fr; gap: 75px; align-items: center; background: var(--olive); color: var(--white); }
.patient-app .eyebrow { color: var(--goldlight); }
.patient-app>div:first-child>p:not(.eyebrow) { font-size: 17px; color: #e1e4d8; line-height: 1.8; margin-top: 22px; max-width: 620px; }
.patient-app>div:first-child>p.app-intro { font-size: 21px; line-height: 1.65; }
.app-transition { border-top: 1px solid #7a866e; padding-top: 23px; margin-top: 28px; }
.app-transition strong { font-size: 17px; font-weight: 650; }
.app-transition p { font-size: 15px; line-height: 1.8; color: #d4dbca; margin-top: 8px; }
.app-transition a { text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; }
.app-downloads { background: var(--white); color: var(--black); padding: 37px; border-top: 5px solid var(--gold); }
.app-downloads .eyebrow { color: #79622f; }
.app-downloads h3 { font-size: clamp(26px, 2.4vw, 35px); margin-bottom: 12px; }
.app-downloads>p:not(.eyebrow) { font-size: 15px; color: var(--muted); line-height: 1.8; }
.app-downloads .button { display: flex; width: 100%; margin-top: 17px; font-size: 16px; font-weight: 600; gap: 14px; padding: 17px 22px; }
.app-downloads .button small { display: block; font-size: 10px; letter-spacing: .1em; font-weight: 500; margin-bottom: 5px; color: var(--goldlight); }
.app-downloads p.app-access-note { margin-top: 23px; font-size: 13px; }
@media(max-width:1100px) {
  .doctor-feature, .doctor-story { gap: 40px; }
  .credentials-panel { padding: 29px; }
  .header nav { gap: 17px; font-size: 12px; }
  .brand small { font-size: 8px; }
  .doctor-hero { gap: 35px; }
}
@media(min-width:801px) and (max-width:1000px) {
  .header #menu-toggle { display: block; border: 1px solid #535d45; background: transparent; padding: 10px 15px; min-height: 44px; font-size: 13px; }
  .header nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 18px 5vw 25px; background: var(--cream); border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; gap: 0; }
  .header nav.is-open { display: flex; }
  .header nav>a { padding: 14px 0; font-size: 15px; }
  .header nav .nav-cta { padding: 15px; margin-top: 8px; }
}
@media(max-width:800px) {
  body { font-size: 16px; }
  .section { padding-top: 65px; padding-bottom: 65px; }
  .utility>span { font-size: 9px; }
  .utility>a { font-size: 12px; }
  .header #menu-toggle { font-size: 13px; min-height: 44px; }
  .hero .eyebrow { font-size: 10px; }
  .hero-copy>p:not(.eyebrow) { font-size: 16px; }
  .hero-location>a { font-size: 12px; max-width: 105px; }
  .hero-location strong { font-size: 25px; }
  .hero-badge img { width: 76px; }
  .hero-actions .button { font-size: 13px; padding: 15px 17px; gap: 18px; }
  .intro p.lead { font-size: 22px; }
  .section-top>p, .section-top>div:last-child:not(:first-child) { font-size: 16px; }
  .doctor-feature { display: flex; flex-direction: column-reverse; gap: 35px; }
  .credentials-panel { width: 100%; padding: 30px; }
  .doctor-feature h3 { font-size: 32px; }
  .doctor-feature .large { font-size: 22px; }
  .therapist-heading { display: block; }
  .therapist-heading .underlink { max-width: none; margin-top: 15px; }
  .therapist>img { height: 360px; }
  .therapist>div { padding: 28px; }
  .therapist h3 { font-size: 28px; }
  .front-desk, .doctor-hero, .doctor-story { grid-template-columns: 1fr; gap: 32px; }
  .doctor-hero .doctor-deck { font-size: 20px; }
  .doctor-hero img { aspect-ratio: 16 / 9; border-width: 7px; }
  .front-desk img { aspect-ratio: 16 / 10; }
  .feed-tools { flex-wrap: wrap; }
  .filter-buttons button { font-size: 12px; padding: 9px 12px; }
  .education-grid { gap: 20px; }
  .education-card h3 { font-size: 23px; }
  .education-card p { font-size: 15px; }
  .social-more { flex-direction: column; gap: 16px; }
  .social-more .underlink { max-width: none; }
  .review-card .review-source, .review-bottom>p { font-size: 12px; }
  .review-links { font-size: 14px; }
  .review-bottom { flex-wrap: wrap; }
  .review-bottom>p { max-width: 100%; }
  .office-hours dl>div { font-size: 13px; }
  .footer-bottom { font-size: 12px; }
  .footer-main>div { font-size: 14px; }
  .mobile-call a { font-size: 12px; }
  .mobile-call strong { font-size: 15px; }
  .service-hero h1 { font-size: 43px; }
  .service-content h2 { font-size: 27px; }
  .service-content p { font-size: 16px; }
  .community-band { padding: 25px 24px; gap: 18px; flex-wrap: wrap; }
  .community-band>strong { font-size: 67px; }
  .community-band>div { flex: 1; min-width: 190px; }
  .community-band p { font-size: 20px; }
  .community-band span { font-size: 14px; }
  .community-band>a { margin-left: 0; }
  .service-content .technique-catalog { padding: 25px; }
  .catalog-grid { grid-template-columns: 1fr; gap: 25px; }
  .patient-app { grid-template-columns: 1fr; gap: 35px; }
  .app-downloads { padding: 29px; }
}
@media(max-width:540px) {
  .utility>span { display: none; }
  .utility-actions { width: 100%; justify-content: space-between; gap: 12px; }
  .utility-actions a { font-size: 12px; min-height: 30px; letter-spacing: .03em; }
  .app-downloads .button { font-size: 15px; padding: 17px; }
}
@media(max-width:480px) {
  .education-grid { grid-template-columns: 1fr; }
  .education-card { display: flex; }
  .education-card img { height: auto; aspect-ratio: 4 / 3; }
  .education-card>div { padding: 25px; }
  .education-card p { display: block; }
  .education-meta { display: flex; font-size: 11px; }
  .education-card h3 { font-size: 25px; }
  .education-card .read-post { font-size: 14px; margin-top: 22px; padding-top: 16px; }
  .hero-location { gap: 14px; }
  .hero-location>a { max-width: 90px; }
  .hero-badge { right: 20px; }
  .hero-badge img { width: 66px; }
  .brand small { font-size: 7px; }
}

/* Preserve original sign/window detail. The generated sky is visible only in
   the unobstructed upper-left sky, far above all signage and roof features. */
.office-photo { display: block; position: relative; overflow: hidden; }
.office-photo>img { width: 100%; height: 100%; object-fit: cover; }
.office-photo>img:first-child { filter: brightness(1.14) saturate(1.12) contrast(1.02); }
.office-photo>.office-sky {
  position: absolute; inset: 0; pointer-events: none; filter: none;
}
.hero>.office-photo { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero>.office-photo>img { object-position: center 60%; }
.service-photo>.office-photo, .location-photo>.office-photo { width: 100%; height: 100%; }
.service-photo>.office-photo>img { object-position: 50% 55%; }
.location-photo>.office-photo { min-height: 540px; }
.service-hero>.office-photo { height: 100%; max-height: 600px; }
.service-hero>.office-photo>img { object-position: center 35%; }
.front-desk>.office-photo { aspect-ratio: 4 / 3; }
.doctor-hero>.office-photo { aspect-ratio: 4 / 5; border: 12px solid #eef0e321; }
.doctor-hero>.office-photo>img { object-position: 54% center; border: 0; aspect-ratio: auto; }
@media(max-width:800px) {
  .hero>.office-photo>img { object-position: 58% 55%; }
  .service-photo>.office-photo, .location-photo>.office-photo { min-height: 0; }
  .location-photo>.office-photo { height: 280px; }
  .service-hero>.office-photo { height: 270px; }
  .front-desk>.office-photo { aspect-ratio: 16 / 10; }
  .doctor-hero>.office-photo { aspect-ratio: 16 / 9; border-width: 7px; }
}

.doctor-story article p.story-resource { margin-top: 18px; font-size: 14px; }
.story-resource a { text-decoration: underline; text-underline-offset: 4px; }

.coaching-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 23px; margin: 29px 0; }
.coaching-benefits>section { padding: 27px; background: #e7e4d8; border-top: 3px solid var(--gold); }
.coaching-benefits h3 { font-size: 23px; line-height: 1.3; }
.doctor-story .coaching-benefits p { font-size: 16px; line-height: 1.85; margin-top: 17px; }
@media(max-width:1100px) { .coaching-benefits { grid-template-columns: 1fr; gap: 20px; } }

/* A distinct neighborhood feature, with the same type and spacing as care. */
.downtown { background: #e9e5d8; border-top: 1px solid #d3cbb8; }
.downtown-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; align-items: end; margin-bottom: 48px; }
.downtown-heading>p { max-width: 470px; font-size: 18px; line-height: 1.8; color: #52594a; }
.alliance-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: 36px; }
.alliance-mission { background: var(--olive); color: var(--white); padding: 36px; }
.alliance-mission .eyebrow { color: var(--goldlight); }
.alliance-mission h3 { font-size: clamp(29px,3vw,41px); line-height: 1.16; margin-bottom: 22px; }
.alliance-mission>p:not(.eyebrow) { font-size: 15px; line-height: 1.85; color: #e0e4d8; margin-top: 15px; }
.alliance-pillars { display: grid; grid-template-columns: 1fr 1fr; list-style: none; padding: 0; gap: 0 20px; margin: 22px 0 25px; }
.alliance-pillars li { font-size: 13px; font-weight: 600; border-top: 1px solid #798170; padding: 12px 0; }
.alliance-mission .underlink { font-size: 13px; color: var(--goldlight); }
.alliance-leader { display: grid; grid-template-columns: .8fr 1fr; gap: 26px; align-items: center; min-width: 0; }
.alliance-leader figure { margin: 0; align-self: stretch; display: flex; flex-direction: column; }
.alliance-leader figure img { width: 100%; height: 100%; max-height: 390px; object-fit: cover; object-position: center 17%; }
.alliance-leader figcaption { font-size: 10px; color: #555d4e; padding-top: 8px; line-height: 1.5; }
.alliance-leader h3 { font-size: 29px; line-height: 1.2; }
.alliance-leader p:not(.eyebrow) { font-size: 15px; line-height: 1.85; margin-top: 18px; color: #4f5647; }
.alliance-leader .eyebrow { font-size: 10px; line-height: 1.7; letter-spacing: .07em; }
.alliance-leader .underlink { font-size: 13px; margin-top: 20px; }
.downtown-events { margin-top: 55px; padding-top: 35px; border-top: 1px solid #b9bdab; }
.events-heading { display: flex; justify-content: space-between; gap: 25px; align-items: end; margin-bottom: 30px; }
.events-heading h3 { font-size: clamp(30px,3vw,40px); }
.events-heading .underlink { font-size: 14px; }
.events-check { font-size: 12px; color: #555d4e; margin: 18px 0; line-height: 1.8; }
.events-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; }
.downtown-event { display: flex; flex-direction: column; min-width: 0; padding: 25px; background: var(--white); border-top: 3px solid var(--gold); }
.event-date-line { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.event-date { display: inline-flex; gap: 9px; align-items: baseline; line-height: 1; }
.event-date strong { font-size: 35px; font-weight: 650; letter-spacing: -.05em; }
.event-date span { font-size: 12px; text-transform: uppercase; font-weight: 650; }
.event-area { font-size: 10px; text-transform: uppercase; letter-spacing: .04em; text-align: right; color: #59624e; max-width: 100px; }
.downtown-event h4 { font-size: 20px; line-height: 1.4; letter-spacing: -.025em; margin: 0 0 12px; font-weight: 650; }
.downtown-event .event-time { font-size: 13px; font-weight: 650; color: #3d4930; }
.downtown-event .event-place { font-size: 13px; line-height: 1.75; color: #646a5c; margin-top: 9px; }
.downtown-event .event-time-note { font-size: 12px; line-height: 1.7; color: #71603a; margin-top: 9px; }
.downtown-event>a { font-size: 13px; font-weight: 650; padding-top: 23px; margin-top: auto; text-decoration: underline; text-underline-offset: 5px; }
.events-more { margin-top: 25px; font-size: 14px; }
.events-more[hidden] { display: none; }
.events-note { font-size: 12px; color: #59614f; line-height: 1.85; max-width: 890px; margin-top: 25px; }
.alliance-social { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 35px; margin-top: 35px; padding: 30px 0 0; border-top: 1px solid #b9bdab; }
.alliance-social h3 { font-size: 24px; line-height: 1.4; }
.alliance-social p { font-size: 14px; color: #59614f; margin-top: 8px; }
.alliance-social>div:last-child { display: flex; flex-direction: column; align-items: start; gap: 15px; }
.alliance-social .button { font-size: 13px; padding: 14px 21px; }
.alliance-social .underlink { font-size: 12px; }
.alliance-facebook { padding-top: 30px; }
.alliance-facebook p { font-size: 13px; margin-top: 14px; }
.alliance-facebook p a { text-decoration: underline; }
.front-desk.staff-profile { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(32px,5vw,72px); }
.front-desk.staff-profile>img { aspect-ratio: 3 / 4; height: auto; width: 100%; max-width: 480px; object-position: center; }
#mallory-willen>img { aspect-ratio: 1122 / 1402; }
.front-desk.staff-profile h3 { margin-bottom: 14px; }
.front-desk.staff-profile .profile-tenure { color: #715921; font-size: 13px; font-weight: 700; border-left: 3px solid var(--gold); padding-left: 13px; margin: 0 0 24px; }
@media(max-width:800px) {
 .front-desk.staff-profile { grid-template-columns: 1fr; gap: 30px; }
 .front-desk.staff-profile>img { max-width: 420px; }
}
@media(max-width:1100px) {
 .alliance-intro { grid-template-columns: 1fr 1fr; gap: 27px; }
 .alliance-leader { display: block; }
 .alliance-leader figure { float: left; width: 125px; margin: 0 22px 15px 0; }
 .alliance-leader figure img { height: 180px; }
 .alliance-leader h3 { font-size: 26px; }
 .events-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:800px) {
 .downtown-heading, .alliance-intro, .alliance-social { grid-template-columns: 1fr; gap: 28px; }
 .downtown-heading { margin-bottom: 32px; }
 .downtown-heading>p { font-size: 16px; max-width: none; }
 .alliance-mission { padding: 29px; }
 .alliance-leader { display: grid; grid-template-columns: 140px 1fr; gap: 24px; align-items: start; }
 .alliance-leader figure { float: none; width: auto; margin: 0; }
 .alliance-leader figure img { height: 210px; }
 .alliance-leader h3 { font-size: 27px; }
 .alliance-leader p:not(.eyebrow) { font-size: 14px; }
 .events-heading { align-items: start; flex-direction: column; gap: 17px; }
 .events-heading .eyebrow { font-size: 10px; }
 .downtown-events { margin-top: 35px; }
 .downtown-event { padding: 23px; }
 .alliance-social { gap: 20px; }
}
@media(max-width:540px) {
 .events-grid { grid-template-columns: 1fr; }
 .downtown-event { padding: 24px; }
 .alliance-leader { grid-template-columns: 1fr; gap: 24px; }
 .alliance-leader figure { max-width: 240px; }
 .alliance-leader figure img { height: 300px; }
 .alliance-leader h3 { font-size: 30px; }
 .alliance-leader p:not(.eyebrow) { font-size: 16px; }
 .alliance-leader .eyebrow { font-size: 11px; }
 .alliance-leader .underlink { font-size: 14px; }
}

/* Compact introductions preserve the full stories on the dedicated pages. */
.page-intro { padding-bottom: 36px; }
.page-intro h1 { font-size: clamp(42px,6vw,80px); max-width: 900px; }
.page-intro .lead { max-width: 680px; margin-top: 24px; font-size: 20px; }
.team-jump-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.team-jump-links a { padding: 10px 18px; border: 1px solid #a6ad9e; border-radius: 3px; }
.doctor-intro { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(30px,5vw,72px); margin-bottom: 46px; }
.doctor-intro h3 { font-size: clamp(29px,3vw,43px); margin: 12px 0 20px; }
.doctor-intro .button { margin-top: 25px; }
.doctor-intro aside { padding: 32px; background: #20251c; color: #fff; border-top: 4px solid var(--gold); }
.doctor-intro aside strong { display: block; font-size: clamp(23px,2.2vw,32px); line-height: 1.4; margin: 18px 0; }
.doctor-intro aside p { color: #d8ddcf; font-size: 14px; }
.doctor-intro aside .underlink { color: var(--goldlight); margin-top: 20px; }
.team-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 24px; }
.team-card { min-width: 0; background: #fff; }
.team-card>a { display: block; height: 100%; }
.team-card img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: center 25%; }
.team-card> a >div { padding: 22px; }
.team-card h3 { font-size: 23px; line-height: 1.25; margin: 12px 0 16px; }
.team-card p:not(.eyebrow) { font-size: 14px; line-height: 1.7; color: #555c4f; }
.team-card .underlink { display: inline-block; margin-top: 20px; }
.team-card a:hover .underlink { text-decoration: underline; }
.team-all { display: inline-block; margin-top: 30px; }
.profile-redirect { display: block; scroll-margin-top: 100px; }
.education-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 3); grid-template-columns: none; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; gap: 24px; padding-bottom: 18px; }
.education-track .education-card { display: block; min-width: 0; scroll-snap-align: start; }
.education-track .education-card>button { width: 100%; height: auto; }
.education-track .education-card img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.education-track .education-card p { display: block; }
.education-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 18px; }
.education-bottom>p { font-size: 13px; color: #555c4f; }
.education-bottom .carousel-controls { margin: 0; }
.topic-source { margin-top: 20px; font-size: 12px; color: #555c4f; }
.topic-source a { text-decoration: underline; }
.downtown-preview .downtown-events { margin-top: 0; }
.team-card a:focus-visible, .team-jump-links a:focus-visible, .education-track:focus-visible { outline: 3px solid #8a6315; outline-offset: 4px; }
@media(max-width:1000px) {
 .team-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .education-track { grid-auto-columns: calc((100% - 24px) / 2); }
}
@media(max-width:600px) {
 .doctor-intro { grid-template-columns: 1fr; }
 .doctor-intro aside { padding: 26px; }
 .team-card-grid { gap: 16px; }
 .team-card> a >div { padding: 17px; }
 .team-card h3 { font-size: 21px; }
 .team-card .eyebrow { font-size: 10px; }
 .education-track { grid-auto-columns: 88%; gap: 18px; }
 .education-bottom { align-items: flex-start; }
}
@media(max-width:400px) { .team-card-grid { grid-template-columns: 1fr; } }
.doctor-intro { align-items: center; }
.doctor-education-summary { font-size: 14px; line-height: 1.8; margin-top: 24px; color: #555c4f; }
.doctor-hero { grid-template-columns: 1fr; }

/* Finishing pass: comfortable controls, stable reading, and compact mobile portraits. */
html { scroll-padding-bottom: 28px; }
:is(.service-content article, .doctor-story article, .text-page, .front-desk > div) { overflow-wrap: break-word; }
[id] { scroll-margin-top: 12px; }
.review-aggregates { display: block; }
.review-totals { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-bottom: 20px; }
.review-source-filter { flex-wrap: wrap; margin-bottom: 0; }
.review-track:focus-visible { outline: 3px solid var(--goldlight); outline-offset: -3px; }
.education-track .education-card { display: flex; flex-direction: column; }
.education-track .education-card > div { flex: 1; }
.education-track .read-post { margin-top: auto; padding-top: 20px; }
.carousel-controls button:disabled { opacity: .35; cursor: default; }
.close-dialog { width: 44px; height: 44px; }
#reader-content { overflow-wrap: break-word; }
#reader-content > img { max-height: 60vh; width: auto; margin: 24px auto; object-fit: contain; }
@media (max-width: 800px) {
 html { scroll-padding-bottom: calc(105px + env(safe-area-inset-bottom)); }
 .mobile-call { padding-top: 8px; padding-bottom: calc(8px + env(safe-area-inset-bottom)); }
 .mobile-call a { min-height: 44px; }
 footer { padding-bottom: calc(115px + env(safe-area-inset-bottom)); }
 .utility { flex-wrap: wrap; align-items: center; gap: 3px 14px; }
 .utility-actions { gap: 16px; }
 .education-bottom { flex-wrap: wrap; gap: 10px 20px; }
 .education-bottom .carousel-controls { margin-top: 0; }
}
@media (max-width: 400px) {
 .header { padding-left: 16px; padding-right: 16px; gap: 10px; }
 .header .brand { gap: 9px; }
 .header .brand img { width: 40px; height: 40px; }
 .header .brand > span { font-size: 19px; }
 .header .brand small { font-size: 7px; letter-spacing: .06em; }
 .header #menu-toggle { padding: 9px 10px; flex-shrink: 0; }
}

/* Release polish: keep reading, navigation, and contact actions clear. */
.team-card > a { display: flex; flex-direction: column; }
.team-card > a > div { display: flex; flex-direction: column; flex: 1; }
.team-card .underlink { margin-top: auto; padding-top: 20px; align-self: flex-start; }
.education-bottom .carousel-controls button { color: var(--black); border-color: #69705e; min-width: 44px; min-height: 44px; }
.education-bottom .carousel-controls button:hover { background: var(--black); color: #fff; }
.education-art-fallback { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 20px; aspect-ratio: 4 / 5; padding: 28px; text-align: left; color: var(--white); background: radial-gradient(ellipse at 100% 0, #625839 0, transparent 65%), #20251c; }
.education-track .education-card .education-art-fallback img { width: 68px; height: 68px; aspect-ratio: 1; object-fit: contain; transform: none; }
.education-art-fallback strong { font-family: var(--reading); font-size: clamp(21px, 1.8vw, 27px); line-height: 1.35; font-weight: 650; letter-spacing: -.025em; }
.education-art-fallback > span { width: 100%; border-top: 1px solid #9b8b62; padding-top: 15px; font-size: 11px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; color: var(--goldlight); }
.faq details[open] summary > span[aria-hidden] { font-size: 0; transform: none; }
.faq details[open] summary > span[aria-hidden]::after { content: '\2212'; font-size: 22px; }
@media (max-width: 1200px) {
 .header nav { gap: 0; max-height: calc(100vh - 120px); max-height: calc(100dvh - 120px); overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 800px) {
 .header nav { max-height: calc(100vh - 184px - env(safe-area-inset-bottom)); max-height: calc(100dvh - 184px - env(safe-area-inset-bottom)); }
}
@media (max-width: 600px) {
 .hero h1 { font-size: clamp(42px, 13.6vw, 76px); line-height: .96; text-wrap: initial; }
 .hero-actions { flex-wrap: wrap; gap: 12px; }
 .hero-actions .button { flex: 1 1 140px; gap: 12px; padding: 15px 14px; white-space: nowrap; }
 .hero-badge { display: none; }
 .hero-location { gap: 10px; }
 .education-art-fallback { padding: 24px; }
 .education-art-fallback strong { font-size: 23px; }
}

@font-face { font-family:PrimeSymbols;src:url('/assets/prime-symbols.woff') format('woff');font-style:normal;font-weight:100 900;unicode-range:U+2190-2199,U+2630,U+2713,U+2605,U+2212;font-display:swap; }
/* Prime Health presentation system. Approved brand colors and original assets. */
:root {
 --reading: Manrope,PrimeSymbols,Arial,sans-serif; --cream: #f7f5ef; --white: #fffdf8; --muted: #53594e; --line: #d8d6cb;
 --page-gutter: clamp(24px, 5vw, 96px); --section-space: clamp(64px, 7.5vw, 112px);
 --ease-out: cubic-bezier(.2,.7,.2,1); --header-height: 98px;
}
body { background: var(--cream); }
html { scroll-padding-top: calc(var(--header-height) + 20px); }
[id] { scroll-margin-top: calc(var(--header-height) + 20px); }
.section { padding: var(--section-space) var(--page-gutter); }
h1,h2,h3 { text-wrap: balance; }
h2,.section h2,.location h2 { font-size: clamp(36px,4.3vw,64px); font-weight: 600; line-height: 1.08; letter-spacing: -.045em; }
.eyebrow { letter-spacing: .15em; margin-bottom: 20px; }
.section-top { gap: clamp(32px,7vw,112px); align-items: end; margin-bottom: 48px; }
.section-top>p,.section-top>div:last-child:not(:first-child) { max-width: 480px; }
.section-top p:not(.eyebrow),.intro p:not(.eyebrow) { color: var(--muted); }
.header { background: #f7f5effa; padding-inline: var(--page-gutter); padding-block: 16px; box-shadow: 0 4px 20px #17181206; }
.header .brand img { width: 58px; height: 58px; filter: drop-shadow(0 2px 2px #17181212); transition: filter .25s; }
.header .brand:hover img { filter: drop-shadow(0 3px 5px #17181230); }
.header nav { gap: clamp(16px,1.5vw,24px); }
.header nav>a:not(.nav-cta) { position: relative; }
.header nav>a:not(.nav-cta)::after { content:''; position:absolute; bottom:-7px; left:0; width:100%; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .22s var(--ease-out); }
.header nav>a:hover::after,.header nav>a[aria-current]::after { transform:scaleX(1); }
.header nav>a[aria-current] { font-weight:750; }
.button,.nav-cta { border-radius:2px; transition:background .2s,color .2s,box-shadow .2s; }
.button { min-height:54px; padding:16px 24px; font-weight:650; }
.button.gold { background:var(--goldlight); color:var(--black); }
.button.gold:hover { background:#eed49a; box-shadow:0 5px 18px #17181215; }
.button.dark:hover,.nav-cta:hover { background:var(--olive); color:var(--white); }
.button.ghost:hover { background:#fffdf81a; border-color:var(--white); }
.underlink { text-underline-offset:6px; transition:color .2s; }
.underlink:hover { color:#806326; }
.hero { min-height: min(790px,calc(100svh - 142px)); padding:72px var(--page-gutter) 78px; }
.hero>.office-photo>img { object-position:55% 58%; }
.hero-shade { background:linear-gradient(90deg,#101510ed 0%,#101510c7 29%,#10151044 65%,#10151026 100%),linear-gradient(0deg,#10151073,transparent 45%); }
.hero-copy { max-width:66%; width:760px; }
.hero h1 { font-size:clamp(68px,7.6vw,112px); line-height:.95; letter-spacing:-.025em; margin:26px 0; }
.hero-copy>p:not(.eyebrow) { max-width:450px; line-height:1.8; color:#f0f0e7; }
.hero-actions { margin-top:32px; gap:14px; }
.hero-badge { top:44px; right:var(--page-gutter); }
.hero-badge img { width:156px; height:auto; filter:drop-shadow(0 9px 12px #0005); }
.hero-location { right:var(--page-gutter); bottom:66px; padding-left:24px; border-color:#e1c27d99; }
.hero-location strong { font-size:36px; line-height:1.12; }
.hero-location>span { letter-spacing:.15em; }
.community-band { padding:30px var(--page-gutter); gap:26px; }
.community-band>strong { font-size:90px; font-weight:500; }
.community-band p { font-size:22px; }
.care-strip { background:var(--black); color:#e3c88a; padding:19px var(--page-gutter); font-size:14px; letter-spacing:.12em; }
.care-strip b { color:var(--gold); font-size:12px; }
.intro { gap:clamp(40px,8vw,130px); align-items:start; }
.intro h2 { font-size:clamp(42px,5.5vw,80px); }
.intro h2 em { color:#806326; }
.intro p.lead { color:var(--black); font-size:25px; }
.services { background:#eeeee5; }
.service-layout { gap:clamp(35px,6vw,96px); align-items:stretch; }
.service-photo { min-height:650px; }
.service-photo>.office-photo>img:first-child { filter:brightness(1.08) saturate(.65); }
.service-photo>div { left:30px; bottom:30px; }
.service-photo>div>p { font-size:32px; line-height:1.12; letter-spacing:.02em; }
.service-link { gap:22px; border-color:#c5c8bb; padding:25px 0; transition:padding .2s,background .2s; }
.service-link h3 { font-size:clamp(23px,2vw,29px); }
.service-link .service-index { color:#77602f; padding-top:5px; font-variant-numeric:tabular-nums; }
.service-link p { color:#53594e; margin-top:8px; }
.service-link .arrow { color:#655127; transition:transform .2s; }
.service-link:hover .arrow { transform:translate(3px,-3px); }
.service-link:hover h3 { color:#806326; }
.team { background:var(--cream); }
.doctor-intro { padding-bottom:48px; margin-bottom:40px; border-bottom:1px solid var(--line); }
.doctor-intro>div>p:not(.eyebrow) { color:var(--muted); line-height:1.85; max-width:650px; }
.doctor-intro aside { padding:38px; background:var(--olive); border-top-width:2px; }
.doctor-intro aside strong { line-height:1.25; letter-spacing:-.035em; }
.team-card-grid { gap:28px; }
.team-card { background:transparent; }
.team-card>a>div { padding:25px 0 0; }
.team-card h3 { font-size:clamp(21px,1.8vw,27px); }
.team-card .eyebrow { font-size:10px; letter-spacing:.11em; margin-bottom:10px; }
.team-card img { transition:filter .3s; }
.team-card>a:hover img { filter:brightness(1.035); }
.team-card .underlink { border:0; }
.reviews { background:#1d221b; }
.reviews-heading { align-items:end; gap:40px; }
.reviews h2 em { color:var(--goldlight); }
.review-aggregates { padding-block:26px; border-bottom:1px solid #ffffff26; }
.review-totals { font-size:17px; gap:16px 40px; color:#eee9dc; }
.review-card { background:transparent; border:0; border-top:1px solid #9c9b824d; padding:28px 26px 24px 0; min-height:300px; }
.review-card blockquote { font-size:clamp(22px,2.1vw,30px); line-height:1.5; font-weight:450; }
.review-card .stars,.review-card .recommend-icon { color:var(--goldlight); }
.review-card .review-author { color:var(--white); margin-top:26px; }
.review-card .review-source { color:#d2d7c8; }
.review-bottom>p { color:#d2d7c8; }
.understand { background:var(--olive); }
.understand .section-top p:not(.eyebrow) { color:#d7ddcf; }
.topic-buttons button { min-height:76px; }
.topic-layout article { background:var(--white); padding:36px; border:0; }
.learn { background:#efede3; }
.education-track { padding-bottom:25px; }
.education-card { background:var(--white); border:0; }
.education-card>div { padding:28px; }
.education-card h3 { line-height:1.25; }
.navigator-feature { background:var(--cream); border-color:var(--line); gap:48px; }
.navigator-feature+.navigator-feature { border-top:0; background:#edeedf; }
.navigator-feature h2 { font-size:clamp(34px,3.7vw,54px); }
.first { background:var(--white); }
.visit-steps { gap:40px; }
.visit-steps article { padding-top:24px; border-top:1px solid var(--line); }
.visit-steps article>span { color:#806326; font-size:15px; font-variant-numeric:tabular-nums; }
.visit-steps h3 { font-size:24px; margin:20px 0 14px; }
.faq summary { gap:20px; line-height:1.5; }
.faq details { border-color:var(--line); }
.faq details>p { max-width:780px; padding-bottom:24px; }
.faq details[open] { background:#f3f1e766; }
.patient-app { background:var(--olive); gap:70px; }
.patient-app h2 em { color:var(--goldlight); }
.app-downloads { border-top-width:2px; }
.downtown { background:#eeece2; }
.downtown-event { border:0; border-top:2px solid #c1a055; background:var(--white); padding:27px; }
.location { background:var(--black); color:var(--white); gap:clamp(40px,7vw,110px); align-items:center; }
.location .eyebrow,.location h2 em { color:var(--goldlight); }
.location h2 { font-size:clamp(42px,4.5vw,66px); }
.location .big-phone { font-family:var(--reading); font-size:clamp(27px,3vw,43px); letter-spacing:-.045em; border-bottom:1px solid #ffffff40; padding-bottom:18px; }
.location address { color:#e0e0d4; line-height:1.8; }
.location .underlink { color:var(--goldlight); }
.office-hours { border-color:#ffffff2e; }
.office-hours dl>div { border-color:#ffffff26; color:#e0e0d4; }
.office-hours>p { color:#c3c9b7; }
.location-photo>.office-photo { height:100%; min-height:620px; }
.location-photo span { font-size:30px; line-height:1.2; }
footer { border-top:1px solid #ffffff26; }
.page-intro { border-bottom:1px solid var(--line); background:var(--white); padding-block:70px; }
.page-intro h1 { font-size:clamp(46px,6.5vw,90px); font-weight:550; letter-spacing:-.05em; }
.team-jump-links { gap:12px 25px; }
.team-jump-links a { border:0; border-bottom:1px solid #b4b8a8; border-radius:0; padding:10px 0; font-size:14px; }
.team-jump-links a:hover { border-color:var(--gold); color:#806326; }
.doctor-hero { position:relative; background:var(--olive); overflow:hidden; }
.doctor-hero>div { position:relative; z-index:1; }
.doctor-hero::after { content:''; position:absolute; width:420px; height:420px; right:-100px; top:-110px; border:1px solid #e1c27d30; border-radius:50%; box-shadow:0 0 0 60px #e1c27d04,0 0 0 120px #e1c27d04; pointer-events:none; }
.doctor-hero h1 { max-width:1000px; font-weight:550; font-size:clamp(44px,5.7vw,82px); }
.doctor-hero .doctor-deck { font-size:20px; max-width:720px; }
.doctor-signature { max-width:1000px; }
.doctor-story { gap:clamp(40px,7vw,110px); }
.doctor-story article h2 { margin-top:56px; line-height:1.15; }
.education-timeline { background:#efede3; padding:34px; border-top:2px solid var(--gold); }
.education-timeline h2 { font-size:31px; }
.credentials-panel { border-top-width:2px; }
.front-desk.staff-profile { padding-top:60px; margin-top:60px; }
.service-hero { padding:60px var(--page-gutter); gap:clamp(40px,6vw,90px); align-items:center; background:var(--black); }
.service-hero>div { padding:0; }
.service-hero .eyebrow { margin-top:24px; }
.service-hero h1 { font-size:clamp(44px,5vw,73px); line-height:1.08; font-weight:550; }
.service-hero h1 em { font-size:.65em; margin-top:14px; }
.service-hero .breadcrumb { display:inline-flex; align-items:center; min-height:44px; margin-bottom:10px; }
.service-hero>.office-photo { height:470px; max-height:none; }
.service-hero>.office-photo>img:first-child { filter:brightness(1.09) saturate(.7); }
.service-hero>img.massage-portrait { max-width:315px; max-height:420px; }
.service-content { padding:var(--section-space) var(--page-gutter); gap:clamp(40px,7vw,110px); grid-template-columns:minmax(0,1.65fr) minmax(270px,.8fr); }
.service-content article>section>h2 { font-size:clamp(27px,2.5vw,36px); margin-bottom:20px; }
.service-content p { font-size:16px; line-height:1.9; }
.service-content aside { align-self:start; background:#eeeee5; padding:34px; border-top:2px solid var(--gold); top:calc(var(--header-height) + 24px); }
.service-content aside h2 { font-size:35px; }
.next-care { background:var(--olive); color:var(--white); }
.next-care h2 { max-width:800px; }
.next-care h2 em { color:var(--goldlight); }
.text-page { max-width:1040px; margin:auto; }
.text-page h2 { line-height:1.2; }
/* Motion is limited to purposeful feedback; content never waits to reveal. */
:focus-visible { outline:3px solid #8a6315; outline-offset:5px; }
.reviews :focus-visible,.hero :focus-visible,.location :focus-visible { outline-color:var(--goldlight); }
@media(hover:hover) and (pointer:fine) {
 .team-jump-links a,.filter-buttons button,.review-source-filter button,.carousel-controls button { transition:background .2s,color .2s,border-color .2s; }
}
@media(min-width:1201px) and (max-width:1350px) {
 .header { padding-inline:32px; gap:18px; }
 .header nav { gap:16px; font-size:12px; }
 .header .brand { gap:10px; }
 .header .brand img { width:48px;height:48px; }
}
@media(max-width:1200px) {
 .header nav { gap:0; background:var(--cream); padding:15px var(--page-gutter) 24px; box-shadow:0 16px 20px #17181210; max-height:calc(100dvh - var(--header-height) - 100px - env(safe-area-inset-bottom)); }
 .header nav>a { flex-shrink:0; padding:16px 0; border-bottom:1px solid var(--line); }
 .header nav>a:not(.nav-cta)::after { display:none; }
 .header nav>a[aria-current] { color:#806326; }
 .header nav .nav-cta { border:0; padding:16px 20px; margin-top:16px; text-align:center; }
 #menu-toggle { min-width:80px; border-radius:2px; }
 #menu-toggle[aria-expanded=true] { background:var(--black);color:var(--white); }
 .service-content { grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:40px; }
}
@media(max-width:800px) {
 :root { --header-height:77px; }
 .header { padding:14px 24px; }
 .header .brand img { width:46px;height:46px; }
 .hero { min-height:670px; padding:48px 24px 135px; }
 .hero-copy { max-width:100%; width:100%; }
 .hero h1 { font-size:clamp(55px,11.8vw,88px); margin:24px 0; }
 .hero-copy>p:not(.eyebrow) { font-size:16px; max-width:460px; line-height:1.75; }
 .hero-shade { background:linear-gradient(90deg,#101510e8,#10151066),linear-gradient(0deg,#101510b8,transparent 70%); }
 .hero>.office-photo>img { object-position:61% 65%; }
 .hero-location { bottom:30px;left:24px;right:auto;padding:0;border:0;gap:24px; }
 .hero-location strong { font-size:26px; }
 .hero-location>a { max-width:140px; }
 .hero-badge { display:none; }
 .community-band { padding:25px 24px;gap:18px; }
 .community-band>strong { font-size:76px; }
 .community-band p { font-size:19px; }
 .community-band>div { min-width:180px; }
 .community-band>a { margin-left:94px; }
 .care-strip { gap:18px; justify-content:flex-start; font-size:12px; padding:18px 24px; }
 .section-top { margin-bottom:35px; }
 .intro { gap:30px; }
 .intro p.lead { font-size:23px; }
 .service-photo { min-height:0; height:380px; }
 .service-layout { gap:30px; }
 .service-link { gap:16px; padding:25px 0; }
 .service-link h3 { font-size:25px; }
 .doctor-intro { gap:30px; padding-bottom:35px; }
 .doctor-intro aside { padding:28px; }
 .team-card-grid { gap:30px 20px; }
 .team-card h3 { font-size:23px; }
 .review-links { gap:15px; }
 .review-card { min-height:290px; padding-right:18px; }
 .topic-layout article { padding:27px; }
 .navigator-feature { gap:28px; }
 .visit-steps { gap:30px; }
 .location-photo>.office-photo { min-height:0;height:340px; }
 .location { gap:38px; }
 .location .big-phone { font-size:34px; }
 .page-intro { padding-block:55px; }
 .doctor-hero .doctor-deck { font-size:18px; }
 .service-hero { padding:40px 24px; gap:35px; }
 .service-hero>.office-photo { height:320px; }
 .service-hero>img.massage-portrait { max-width:260px;max-height:none; }
 .service-content { grid-template-columns:minmax(0,1fr);gap:40px; }
 .service-content aside { position:static; }
 .education-timeline { padding:28px; }
}
@media(max-width:600px) {
 .hero { min-height:665px; }
 .hero h1 { font-size:clamp(48px,13.9vw,77px); }
 .hero .eyebrow { font-size:10px; letter-spacing:.1em; }
 .hero-actions { gap:12px; }
 .hero-actions .button { padding:16px 13px; font-size:13px; }
 .team-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 18px; }
 .team-card h3 { font-size:22px; }
 .team-card p:not(.eyebrow) { font-size:13px; }
 .team-card .eyebrow { font-size:9px; letter-spacing:.05em; }
 .team-card .underlink { font-size:12px; }
 .team-card>a>div { padding-top:18px; }
 .doctor-intro { margin-bottom:10px; }
 .education-card>div { padding:24px; }
 .education-track { grid-auto-columns:90%; }
 .visit-steps h3 { font-size:25px; }
 .patient-app { gap:30px; }
 .location .office-hours dl>div { gap:12px; }
 .location .office-hours dt { max-width:140px; }
 .location .office-hours dd { text-align:right; }
}
@media(max-width:360px) {
 .header { padding-inline:16px; }
 .header .brand img { width:38px;height:38px; }
 .header .brand>span { font-size:18px; }
 .hero { padding-inline:20px;min-height:710px; }
 .hero h1 { font-size:13.8vw; }
 .hero-actions .button { flex-basis:100%; }
 .team-card-grid { grid-template-columns:1fr; }
 .community-band>a { margin-left:0; }
 .community-band>div { min-width:160px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
 .service-link:hover .arrow { transform:none; }
}
@media(max-width:600px) {
 .service-hero h1 { font-size:clamp(34px,8.8vw,52px);overflow-wrap:break-word; }
 .service-hero>div,.service-hero>.office-photo { min-width:0; }
}

.brand>span { font-family:Barlow,PrimeSymbols,Arial,sans-serif; }
