:root{--ink:#163a2e;--deep:#102e26;--forest:#235445;--lime:#d6df9c;--gold:#80602d;--cream:#f4f3ec;--paper:#fcfbf7;--muted:#576b60;--line:#cfd8ce;--shell:min(1230px,calc(100% - 64px))}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent}
button{font:inherit}
.shell{width:var(--shell);margin-inline:auto}
.skip-link{position:fixed;top:10px;left:10px;z-index:300;padding:12px 18px;background:var(--deep);color:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid #a47f43;outline-offset:4px}
.header-utility{background:var(--deep);color:#e5e9df;font-size:.76rem;font-weight:600;letter-spacing:.03em}
.utility-inner{min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.utility-inner a{text-decoration:none;color:#fff}
.utility-inner a:hover{text-decoration:underline}
.utility-separator{color:#b2c0ad;margin:0 8px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(252,251,247,.98);border-bottom:1px solid #d8ddd4;backdrop-filter:blur(12px)}
.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none}
.brand-emblem{width:54px;height:54px;display:grid;place-items:center;border:1px solid #b9c8b9;border-radius:50%;overflow:hidden}
.brand-emblem img{width:100%;height:100%;object-fit:cover}
.brand-wordmark{display:grid;line-height:1.02}
.brand strong{font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-size:1.36rem;font-weight:600;letter-spacing:-.04em}
.brand strong span{display:block}
.brand small{color:var(--gold);font-size:.66rem;font-weight:850;letter-spacing:.23em;margin-top:5px}
.desktop-nav{display:flex;align-items:center;gap:clamp(15px,2.1vw,31px)}
.desktop-nav a{text-decoration:none;font-size:.89rem;font-weight:650;white-space:nowrap;transition:color .2s}
.desktop-nav a:hover{color:var(--gold)}
.mobile-menu{display:none}
.menu-toggle,.mobile-panel{display:none}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:55px;padding:13px 22px;text-decoration:none;font-size:.96rem;font-weight:750;line-height:1.2;transition:background .2s,color .2s,transform .2s;border:1px solid transparent}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--ink);color:#fff}
.button-primary:hover{background:#2e6856}
.button-small{min-height:46px;padding:10px 18px;font-size:.85rem}
.header-appointment{white-space:nowrap;background:var(--lime);color:var(--deep);font-size:.84rem;letter-spacing:.01em}
.header-appointment:hover{background:#e4eba8}
.header-appointment span,.button span{margin-left:12px}
.button-secondary{border-color:#bdcabc;color:var(--ink);background:transparent}
.button-secondary:hover{background:#e4ebdd}
.hero{position:relative;overflow:hidden;padding:0;background:var(--cream)}
.hero::after{content:"";position:absolute;top:0;right:0;bottom:0;left:62%;background:#e8ebe0}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;gap:clamp(40px,5vw,80px);min-height:560px}
.hero-copy{padding:42px 0 36px}
.eyebrow{margin:0 0 22px;color:var(--gold);font-size:.76rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.hero-eyebrow{display:flex;align-items:center;gap:13px;color:#58634b;margin-bottom:22px}
.hero-eyebrow span{height:1px;width:29px;background:var(--gold)}
h1,h2,h3{margin:0;color:var(--deep);font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;font-weight:500;letter-spacing:-.045em;line-height:1.08}
h1{max-width:700px;font-size:clamp(3.1rem,4.6vw,5.2rem);letter-spacing:-.06em;line-height:1.01}
h1 em,h2 em{color:var(--forest);font-weight:400}
h1 em{display:block;margin-top:.12em}
h2{font-size:clamp(2.45rem,4.1vw,4.4rem)}
h3{font-size:1.6rem}
.hero-lede{max-width:530px;margin:24px 0 26px;color:#425d50;font-size:1.06rem;line-height:1.65}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px}
.hero-actions .button-primary{min-height:58px;padding:17px 24px}
.hero-call{font-size:.91rem;font-weight:760;text-decoration-color:var(--gold);text-decoration-thickness:1px;text-underline-offset:6px;white-space:nowrap}
.hero-call span{margin-left:7px;color:var(--gold)}
.hero-signature{display:flex;gap:17px;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid #cbd5c8;max-width:510px}
.signature-rule{width:35px;height:35px;flex:0 0 35px;display:grid;place-items:center;color:var(--gold);font-size:1.8rem}
.hero-signature p{display:grid;gap:1px;margin:0;line-height:1.35}
.hero-signature strong{font-size:.88rem;font-weight:800;letter-spacing:.01em}
.hero-signature p span{font-size:.84rem;color:var(--muted)}
.hero-media{position:relative;align-self:center;height:460px;min-height:0;margin:0;overflow:hidden;background:#dce3d5}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:57% center}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-slide:nth-child(3) img{object-position:65% center}
.hero-slide:nth-child(4) img{object-position:44% center}
.hero-media figcaption{position:absolute;left:0;bottom:0;display:grid;gap:1px;max-width:330px;padding:20px 26px;background:var(--deep);color:#fff;font-family:"Iowan Old Style",Georgia,serif;font-size:1.18rem;letter-spacing:-.02em}
.hero-media figcaption strong{font-weight:500}
.hero-media figcaption small{color:var(--lime);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.14em}
.hero-media figcaption::before{content:"";height:1px;width:32px;background:var(--lime);margin-bottom:7px}
.hero-media figcaption span{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.68rem;letter-spacing:0;color:#ccd8ca}
.hero-controls{position:absolute;right:14px;top:14px;display:flex;align-items:center;gap:5px;background:var(--deep);color:#fff;padding:5px;box-shadow:0 8px 24px #102e2633}
.hero-controls button{display:grid;place-items:center;width:43px;height:43px;border:1px solid #ffffff50;background:transparent;color:#fff;cursor:pointer;font-size:1.15rem}
.hero-controls button:hover{background:var(--lime);color:var(--deep)}
.hero-controls span{min-width:66px;text-align:center;font-size:.75rem;font-weight:750;letter-spacing:.11em}
.hero-footnote{position:relative;z-index:1;min-height:50px;display:flex;align-items:center;gap:15px;font-size:.75rem;letter-spacing:.14em;font-weight:800;color:#536d56}
.hero-footnote-line{width:30px;height:1px;background:var(--gold)}
.hero-footnote a{margin-left:auto;font-size:.85rem;letter-spacing:0;text-decoration:none;color:var(--ink)}
.hero-footnote a span{margin-left:10px;color:var(--gold)}
.trust-strip{background:var(--deep);color:#fff}
.trust-grid{min-height:175px;display:flex;align-items:center;justify-content:space-between;gap:70px}
.trust-grid p{max-width:850px;margin:0;font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-size:clamp(1.5rem,2.5vw,2.5rem);line-height:1.23;letter-spacing:-.025em}
.trust-grid p em{color:var(--lime)}
.trust-grid>span{flex:0 0 190px;color:#d8e4d3;font-size:.87rem;line-height:1.5}
.trust-grid>span strong{display:block;color:var(--lime);font-weight:650}
.section{padding:115px 0}
.section-heading{max-width:900px;margin-bottom:46px}
.section-heading h2{max-width:850px}
.section-heading h2 em{font-style:italic}
.section-heading>p:last-child{max-width:640px;margin:23px 0 0;color:var(--muted);font-size:1.06rem;line-height:1.7}
.services{background:var(--paper)}
.service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:#cfd8ce;border:1px solid #cfd8ce}
.service-card{grid-column:span 2;min-height:290px;padding:31px 30px 35px;background:var(--paper);display:flex;flex-direction:column;transition:background .2s}
.service-card:hover,.service-card:focus-visible{background:#eaf0e4}.service-card{text-decoration:none;cursor:pointer}.service-action{display:flex;justify-content:space-between;gap:15px;margin-top:auto;padding-top:24px;font-size:.875rem;font-weight:750;color:var(--forest)}.service-card:hover .service-action,.service-card:focus-visible .service-action{text-decoration:underline;text-underline-offset:4px}
.service-card:nth-child(4){grid-column:2/span 2}
.service-card h3{max-width:300px;margin:0 0 14px;font-size:1.63rem}
.service-card p{margin:0;color:#52665a;line-height:1.65;font-size:.96rem}
.service-number{display:block;margin-bottom:52px;color:var(--gold);font-size:.75rem;font-weight:850;letter-spacing:.1em}
.service-featured,.service-featured h3,.service-featured p{background:var(--paper);color:inherit;box-shadow:none}
.approach{background:var(--deep);color:#f5f7f0}
.approach-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(60px,8vw,130px)}
.approach-intro{position:sticky;top:150px}
.approach-intro h2{color:#f5f7f0}
.approach-intro>p:not(.eyebrow){margin:24px 0 25px;max-width:410px;color:#bccac0;font-size:1.04rem}
.approach .eyebrow{color:var(--lime)}
.text-link{font-size:.95rem;font-weight:760;text-decoration-color:var(--gold);text-underline-offset:6px}
.approach .text-link{color:var(--lime)}
.steps{margin:0;padding:0;list-style:none}
.steps li{display:grid;grid-template-columns:53px 1fr;gap:25px;padding:27px 0;border-top:1px solid rgba(255,255,255,.2)}
.steps li:last-child{border-bottom:1px solid rgba(255,255,255,.2)}
.steps>li>span{color:var(--lime);font-size:.82rem;font-weight:750;letter-spacing:.05em;padding-top:8px}
.steps h3{color:#fff;font-size:1.55rem}
.steps p{color:#bdcbc0;margin:9px 0 0;line-height:1.7}
.about-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(65px,8vw,130px);align-items:center}
.about-mark{min-height:440px;border:0;border-radius:0;box-shadow:none;background:#e1e7d7;position:relative;overflow:hidden}
.about-mark::before{content:"";position:absolute;width:310px;height:310px;border:1px solid #aec2ad;border-radius:50%}
.about-mark::after{content:"";position:absolute;width:225px;height:225px;border:1px solid #aec2ad;border-radius:50%}
.about-mark img{z-index:1;width:170px;filter:drop-shadow(0 15px 25px rgba(21,57,41,.14));border-radius:50%;box-shadow:none}
.about-grid h2{margin-bottom:18px}
.about-grid>div>p{max-width:650px;color:var(--muted);font-size:1.06rem}
.about-grid>div>.role{color:var(--forest);font-size:.91rem;font-weight:760;letter-spacing:.01em}
.therapist-credentials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-top:29px;padding-top:24px;border-top:1px solid var(--line)}
.therapist-credentials div{display:grid;align-content:start;gap:5px}
.therapist-credentials strong{color:var(--forest);font-family:"Iowan Old Style",Georgia,serif;font-size:1.28rem;font-weight:600;line-height:1.16;letter-spacing:-.025em}
.therapist-credentials span{color:var(--muted);font-size:.82rem;line-height:1.4}
.reviews{background:#e9eee6;overflow:hidden}
.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:42px}
.reviews-heading h2{max-width:700px}
.reviews-heading>p{max-width:345px;color:var(--muted);margin:0;font-size:.95rem}
.review-carousel{overflow:hidden}
.review-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;scrollbar-width:none;overscroll-behavior-inline:contain;padding:2px 2px 8px}
.review-track::-webkit-scrollbar{display:none}
.review-card{flex:0 0 calc((100% - 36px)/3);min-height:326px;background:var(--paper);scroll-snap-align:start;padding:32px;display:flex;flex-direction:column;border:1px solid #d0d9ce}
.review-card>p{font-family:"Iowan Old Style","Palatino Linotype",Georgia,serif;font-size:1.38rem;line-height:1.36;letter-spacing:-.025em;margin:15px 0 25px;color:var(--deep)}
.review-category{font-size:.69rem;font-weight:850;letter-spacing:.14em;color:#556b59}
.review-stars{color:#906d33;letter-spacing:.12em;margin-top:15px;font-size:.9rem;line-height:1}
.review-author{display:grid;gap:1px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);line-height:1.35}
.review-author strong{font-size:.86rem;color:var(--ink)}
.review-author span{font-size:.77rem;color:var(--muted)}
.review-footer{display:flex;align-items:center;gap:28px;margin-top:24px}
.review-footer p{margin:0 auto 0 0;color:var(--muted);font-size:.8rem;max-width:425px}
.review-footer>a{font-size:.88rem;font-weight:760;white-space:nowrap;text-decoration-color:var(--gold);text-underline-offset:5px}
.review-footer>a span{color:var(--gold);margin-left:5px}
.carousel-controls{display:flex;gap:7px}
.carousel-controls button{height:47px;width:47px;border:1px solid #9caf9d;background:transparent;color:var(--ink);font-size:1.2rem;cursor:pointer}
.carousel-controls button:hover{background:var(--ink);color:#fff}
.carousel-controls button:disabled{opacity:.35;cursor:not-allowed}
.visit{background:var(--paper)}
.visit-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(60px,8vw,125px);align-items:center}
.visit-grid>div>p:not(.eyebrow){max-width:430px;font-size:1.06rem;color:var(--muted)}
.visit-grid h2{max-width:520px}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:29px}
.visit-card{display:grid;gap:26px;padding:43px;background:#edf0e7;border:1px solid #d4ded1;font-style:normal;box-shadow:20px 20px 0 #dce5d7}
.visit-card p{margin:8px 0 11px;color:#425a4c;line-height:1.7}
.visit-card a{color:var(--ink);font-weight:650;text-underline-offset:5px}
.visit-label{font-size:.75rem;letter-spacing:.15em;font-weight:850;color:#5c7259;text-transform:uppercase}
.visit-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:23px 0;border-top:1px solid #cad6c7;border-bottom:1px solid #cad6c7}
.faq{background:#f2f3eb}
.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(65px,8vw,130px)}
.faq-list{border-top:1px solid #c9d2c6}
.faq-list details{border-bottom:1px solid #c9d2c6}
.faq-list summary{position:relative;list-style:none;cursor:pointer;padding:26px 45px 26px 0;font-weight:700;font-size:1.02rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:3px;top:20px;font-family:Georgia,serif;font-size:1.5rem;color:var(--gold)}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{margin:0 0 27px;color:var(--muted);max-width:650px}
.site-footer{padding:54px 0 70px;background:#0d2921;color:#d3ddd2}
.footer-grid{display:grid;grid-template-columns:1fr 1.25fr auto;gap:45px;align-items:center}
.footer-brand{display:flex;align-items:center;gap:11px}
.footer-brand img{border-radius:50%}
.footer-brand div{display:grid;gap:2px;line-height:1.3}
.footer-brand strong{color:#fff;font-family:"Iowan Old Style",Georgia,serif;font-size:1.12rem}
.footer-brand span{font-size:.8rem}
.disclaimer,.copyright{margin:0;font-size:.81rem;line-height:1.5}
.copyright{white-space:nowrap}
.mobile-actions{display:none}
.service-help{display:flex;justify-content:flex-end;gap:7px;margin:25px 0 0;color:var(--muted);font-size:.93rem}.service-help a{font-weight:760;color:var(--ink);text-underline-offset:5px}.service-help a span{color:var(--gold)}
.about-mark{display:block;background:#dce7d9;min-height:460px;overflow:hidden}.about-mark::before,.about-mark::after{display:none}.about-mark img{width:100%;height:460px;object-fit:cover;object-position:62% center;filter:none;border-radius:0;box-shadow:none}.about-mark span{position:absolute;left:12px;bottom:12px;z-index:2;background:var(--paper);padding:4px 8px;color:var(--ink);font-size:.7rem}
.not-found{min-height:100vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:60px}.not-found img{margin-bottom:36px;border-radius:50%}.not-found h1{max-width:680px;margin-bottom:18px}.not-found>p:not(.eyebrow){max-width:560px;color:var(--muted);font-size:1.1rem}.not-found .button{margin-top:14px}.not-found .button+.button{margin-top:10px}
@media(max-width:1110px){.desktop-nav{gap:14px}.desktop-nav a{font-size:.82rem}.header-inner{gap:18px}.brand strong{font-size:1.18rem}.header-appointment{padding-inline:12px}}
@media(max-width:980px){.desktop-nav{display:none}.menu-toggle{display:flex;align-items:center;gap:10px;flex-shrink:0;min-height:48px;padding:10px 12px;border:1px solid #a8b7a6;background:transparent;color:var(--deep);font-weight:760;cursor:pointer}.menu-toggle:hover,.menu-toggle[aria-expanded="true"]{background:#e9efe6}.menu-icon{position:relative;width:20px;height:14px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}.menu-icon::after{content:"";position:absolute;left:0;right:0;top:5px;border-top:2px solid currentColor}.menu-toggle[aria-expanded="true"] .menu-icon{border-bottom:0;border-top:0}.menu-toggle[aria-expanded="true"] .menu-icon::before,.menu-toggle[aria-expanded="true"] .menu-icon::after{content:"";position:absolute;left:0;right:0;top:6px;border-top:2px solid currentColor;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-icon::after{transform:rotate(-45deg)}.mobile-panel:not([hidden]){position:absolute;display:grid;gap:18px;top:100%;left:0;right:0;padding:20px max(24px,calc((100vw - 1230px)/2)) 26px;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 20px 35px #102e2633}.mobile-panel nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.mobile-panel nav a{display:block;padding:13px 3px;border-bottom:1px solid var(--line);text-decoration:none;font-weight:700}.mobile-panel nav a:hover{color:#27604e}.mobile-panel-cta{display:flex;justify-content:space-between;align-items:center;padding:14px 17px;background:var(--deep);color:#fff;text-decoration:none;font-weight:800}.hero-grid{min-height:540px;gap:30px}.hero-media{height:430px;min-height:0}.hero-copy{padding:38px 0}.service-card{grid-column:span 3}.service-card:nth-child(4){grid-column:span 3}.service-card:last-child{grid-column:2/span 4}.review-card{flex-basis:calc((100% - 18px)/2)}.footer-grid{grid-template-columns:1fr 1fr}.copyright{grid-column:1/-1}}
@media(max-width:740px){:root{--shell:min(100% - 34px,650px)}html{scroll-padding-top:86px}body{padding-bottom:70px}.header-utility{font-size:.67rem}.utility-inner{justify-content:center}.utility-inner>span:first-child,.utility-inner a,.utility-separator{display:none}.header-inner{min-height:76px}.brand{gap:9px}.brand-emblem{width:45px;height:45px}.brand strong{font-size:1.03rem}.brand small{font-size:.58rem}.header-appointment{display:none}.hero::after{top:66%;left:0}.hero-grid{display:flex;flex-direction:column;gap:0;align-items:stretch;min-height:0}.hero-copy{padding:32px 0 28px}.hero-eyebrow{font-size:.7rem;margin-bottom:27px;letter-spacing:.12em}h1{font-size:clamp(2.9rem,9.5vw,4.4rem);max-width:610px}h2{font-size:clamp(2.55rem,9vw,3.4rem)}.hero-lede{font-size:1.03rem;margin:25px 0 28px}.hero-actions{align-items:start;gap:16px}.hero-actions .button-primary{width:100%}.hero-call{margin-left:3px}.hero-signature{margin-top:32px}.hero-media{width:100%;height:min(65vw,330px);min-height:250px}.hero-media figcaption{padding:13px 17px;font-size:.95rem}.hero-footnote{min-height:54px}.hero-footnote-line,.hero-footnote>span:nth-child(2){display:none}.hero-footnote a{font-size:.81rem}.trust-grid{min-height:0;display:grid;gap:16px;padding:38px 0}.trust-grid p{font-size:1.7rem}.trust-grid>span{flex:auto;padding-top:15px;border-top:1px solid #ffffff32}.section{padding:76px 0}.section-heading{margin-bottom:31px}.section-heading>p:last-child{font-size:.99rem}.service-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(4),.service-card:last-child{grid-column:auto;min-height:235px}.service-card{padding:25px}.service-number{margin-bottom:32px}.service-card h3{font-size:1.45rem}.approach-grid,.about-grid,.visit-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.approach-intro{position:static}.steps li{padding:22px 0}.about-mark{min-height:280px}.about-mark::before{width:240px;height:240px}.about-mark::after{width:170px;height:170px}.about-mark img{width:140px}.reviews-heading{display:grid;gap:16px;margin-bottom:25px}.reviews-heading>p{max-width:600px}.review-card{flex-basis:85%;min-height:300px;padding:26px}.review-card>p{font-size:1.25rem}.review-footer{flex-wrap:wrap;gap:15px}.review-footer p{order:3;flex-basis:100%}.visit-card{padding:29px;box-shadow:9px 9px 0 #dce5d7}.visit-row{grid-template-columns:1fr}.faq-grid{gap:26px}.footer-grid{grid-template-columns:1fr;gap:24px}.copyright{grid-column:auto}.site-footer{padding-bottom:55px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:200;display:grid;grid-template-columns:1fr 1.15fr;gap:4px;padding:8px;background:#fcfbf7f2;border-top:1px solid var(--line);backdrop-filter:blur(12px)}.mobile-actions a{display:grid;place-items:center;min-height:49px;background:#e7eee4;color:var(--ink);text-decoration:none;font-size:.91rem;font-weight:800}.mobile-actions a:last-child{background:var(--ink);color:#fff}}
@media(max-width:390px){h1{font-size:2.9rem}.brand strong{font-size:.95rem}.brand small{letter-spacing:.17em}.review-card{flex-basis:92%}}
.brand small{font-size:.75rem}.hero-media figcaption span{font-size:.75rem}.review-category{font-size:.75rem}.about-mark span{font-size:.75rem}
@media(max-width:740px){.mobile-panel:not([hidden]){padding:16px 17px 22px}.mobile-panel nav{grid-template-columns:1fr}.mobile-panel nav a{min-height:48px;padding:11px 4px}.hero-media figcaption{right:0;bottom:0;max-width:none;padding:11px 14px;font-size:.99rem}.hero-media figcaption span{font-size:.75rem;line-height:1.2}.hero-controls{right:8px;top:8px;padding:3px;gap:0}.hero-controls button{width:36px;height:40px}.hero-controls span{min-width:53px;font-size:.75rem}}
@media(max-width:450px){.hero-media figcaption{min-height:78px;align-content:center}}
@media(max-width:740px){.header-utility{font-size:.75rem}.brand small{font-size:.75rem}.hero-eyebrow{font-size:.75rem}.about-mark{min-height:340px}.about-mark img{width:100%;height:340px}.service-help{justify-content:flex-start;flex-wrap:wrap}}
@media(max-width:740px){.about-grid>div:first-child{order:2}.about-grid>div:last-child{order:1}.therapist-credentials{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.therapist-credentials div:last-child{grid-column:1/-1}.therapist-credentials span{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Readable metadata and clear local context across viewports. */
.hero-media figcaption{max-width:360px}.hero-media figcaption small{font-size:.75rem}.hero-media figcaption span{font-size:.75rem;line-height:1.4}.hero-controls button{min-width:44px;min-height:44px}.hero-controls span{font-size:.75rem}
.qualification{padding:18px 20px;border-left:3px solid var(--gold);background:var(--cream);display:grid;gap:5px}.qualification strong{color:var(--ink);font-size:.9rem}.qualification span{font-size:.95rem;line-height:1.6}
.faq-intro{color:var(--muted);max-width:350px}.faq-list a{text-underline-offset:4px}.service-card:focus-visible{position:relative;z-index:2;outline-offset:-4px}
@media(max-width:740px){.utility-inner{flex-direction:column;gap:0;padding-block:6px}.utility-inner>span:first-child{display:block}.header-utility{font-size:.75rem;letter-spacing:0}html{scroll-padding-top:145px}.hero-eyebrow{letter-spacing:.07em;gap:8px;margin-bottom:20px}.hero-eyebrow span{width:16px;flex-shrink:0}.hero-lede{margin:20px 0 24px}.hero-signature{margin-top:24px}.hero-media{align-self:stretch}.hero-controls button{width:44px;height:44px}.hero-media figcaption{max-width:none}.about-mark span{right:12px}.visit-card{padding:24px}.visit-card a{overflow-wrap:anywhere}}

.rating-summary{display:grid;gap:3px;flex-shrink:0;color:var(--ink);text-decoration:none;border-left:1px solid #acbca8;padding-left:26px}.rating-summary>strong{font-size:2rem;line-height:1.2}.rating-summary>strong span{font-size:1rem;letter-spacing:.1em;color:var(--gold);vertical-align:middle}.rating-summary>span{font-size:.95rem;font-weight:700}.rating-summary small{font-size:.75rem;color:var(--muted)}.rating-summary:hover>span{text-decoration:underline;text-underline-offset:4px}
.review-qr-panel{display:grid;grid-template-columns:164px 1fr;gap:28px;align-items:center;margin-top:36px;padding-top:30px;border-top:1px solid #c2d0bd}.review-qr{display:block;width:164px;background:#fff}.review-qr img{width:100%;height:auto;image-rendering:pixelated}.review-qr-panel h3{font-size:1.7rem}.review-qr-panel p{max-width:520px;margin:12px 0;color:var(--muted);font-size:.95rem}
@media(max-width:980px){.reviews-heading{gap:24px}.reviews-heading h2{font-size:clamp(2.3rem,4vw,4.4rem)}}
@media(max-width:740px){.rating-summary{border-left:0;padding:18px 0 0;border-top:1px solid #acbca8}.review-qr-panel{grid-template-columns:132px 1fr;gap:20px}.review-qr{width:132px}.review-qr-panel h3{font-size:1.45rem}.review-qr-panel p{font-size:.875rem}}
@media(max-width:450px){.review-qr-panel{grid-template-columns:1fr}.review-qr{width:164px}.review-footer>a{white-space:normal}}

/* Visit planning: readable questions and essentials remain visible. */

.hero-slide:nth-child(5) img{object-position:center}.hero-media figcaption{max-width:385px}
.faq .eyebrow{text-transform:none;font-size:.875rem;letter-spacing:.08em}.faq-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start}.faq-overview{position:sticky;top:158px}.faq-overview h2{font-size:clamp(2.4rem,3.6vw,3.7rem)}
.visit-essentials{margin:28px 0 0;display:grid;border:1px solid #c9d2c6;background:var(--paper)}.visit-essentials>div{padding:18px 22px}.visit-essentials>div+div{border-top:1px solid #c9d2c6}.visit-essentials dt{font-size:.875rem;font-weight:700;color:var(--muted)}.visit-essentials dd{margin:3px 0 0;font-size:1.3rem;font-weight:700;color:var(--ink)}.visit-essentials dd span{display:block;font-size:.875rem;font-weight:400;color:var(--muted)}.visit-essentials .arrival-highlight{background:var(--deep)}.arrival-highlight dt,.arrival-highlight dd span{color:#d6df9c}.arrival-highlight dd{color:#fff}
.faq-groups{min-width:0}.faq-group+.faq-group{margin-top:34px}.faq-group h3{font-size:1.55rem;letter-spacing:-.02em;margin-bottom:16px}.faq-list summary{padding:21px 38px 21px 0;line-height:1.55}.faq-list summary::after{top:17px}.faq-list details[open]{background:#e9eee3}.faq-list details[open] summary{padding-left:16px}.faq-list details p{padding:0 16px;font-size:1rem;line-height:1.7}.faq-list details p strong{color:var(--ink)}.faq-list summary:hover{color:var(--forest)}.faq-contact{font-size:.95rem;color:var(--muted);margin:28px 0 0}.faq-contact a{color:var(--ink);font-weight:700;text-underline-offset:4px}
@media(max-width:980px){.faq-grid{gap:36px}.faq-overview{top:145px}}
@media(max-width:740px){.faq-grid{grid-template-columns:1fr;gap:36px}.faq-overview{position:static}.faq-overview h2{font-size:2.65rem}.faq-intro{max-width:none}.visit-essentials{grid-template-columns:1fr 1fr}.visit-essentials>div+div{border-top:0;border-left:1px solid #c9d2c6}.visit-essentials .arrival-highlight{grid-column:1/-1;border-left:0}.visit-essentials>div{padding:16px}.visit-essentials dd{font-size:1.15rem}.hero-media figcaption{max-width:none}.hero-controls{gap:3px}.faq-list summary{font-size:1rem}}

@media(max-height:800px){.faq-overview{position:static}}

/* Certificate titles stay distinct from practitioner titles and services. */
.qualifications{margin-top:56px;padding-top:36px;border-top:1px solid var(--line)}.qualifications-heading{display:flex;gap:40px;align-items:end;justify-content:space-between;margin-bottom:24px}.qualifications-heading .eyebrow{margin-bottom:10px}.qualifications-heading h3{font-size:2rem}.qualifications-heading>p{max-width:365px;margin:0;color:var(--muted);font-size:.875rem}
.qualification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.credential-card{padding:26px;border:1px solid var(--line);background:var(--paper);min-width:0}.credential-primary{grid-column:1/-1;background:var(--cream);border-left:3px solid var(--gold)}.credential-type{display:block;font-size:.8125rem;font-weight:700;color:var(--gold);margin-bottom:12px}.credential-card h4{font-family:Georgia,serif;font-size:1.45rem;line-height:1.25;font-weight:500;margin:0 0 10px;color:var(--deep)}.credential-card p{margin:8px 0 0;font-size:.9375rem;line-height:1.6}.credential-title{color:var(--ink)}.credential-issuer,.credential-date,.credential-detail{color:var(--muted)}.credential-card .credential-date{font-size:.875rem}.credential-more{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.credential-more summary{cursor:pointer;font-size:.875rem;font-weight:700;min-height:32px}.credential-more p,.credential-more ul{font-size:.875rem;color:var(--muted)}.credential-more ul{padding-left:20px;margin-bottom:0}
/* Discrete, large-enough arrow targets; no control bar or slide numbers. */
.hero-media .hero-controls{inset:0;display:block;background:none;box-shadow:none;padding:0;pointer-events:none}.hero-media .hero-controls button{position:absolute;top:40%;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;border:1px solid #758573;background:var(--paper);color:var(--ink);pointer-events:auto;box-shadow:0 2px 8px #102e2614;opacity:.94}.hero-media .hero-controls button span{font-family:Georgia,serif;font-size:1.8rem;line-height:1;min-width:0;letter-spacing:0;font-weight:400}.hero-media .hero-controls button:hover,.hero-media .hero-controls button:focus-visible{background:#eaf0e4;opacity:1;border-color:var(--ink)}#hero-prev{left:12px}#hero-next{right:12px}.hero-media:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.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}
@media(max-width:740px){.qualifications{margin-top:40px;padding-top:30px}.qualifications-heading{display:block}.qualifications-heading>p{margin-top:16px;max-width:none}.qualification-grid{grid-template-columns:1fr}.credential-card{padding:22px}.credential-primary{grid-column:auto}.hero-media .hero-controls button{top:32%}#hero-prev{left:8px}#hero-next{right:8px}}

.hero-media:focus-visible #hero-instructions{clip:auto;width:auto;height:auto;white-space:normal;left:12px;right:12px;top:12px;margin:0;padding:10px 12px;background:var(--paper);color:var(--ink);font-size:.8125rem;line-height:1.5;z-index:3}
