:root{--ink:#131109;--cream:#f6f5ee;--cream-deep:#f2efe5;--accent:#f79a35;--accent-hover:#e2851d;--brown:#7b4718;--logo-ink:#4a4a4a;--nav-ink:#3d3d3d;--white:#fff;--line:rgba(19,17,9,.16);--line-light:rgba(255,255,255,.14);--muted-light:rgba(255,255,255,.72);--max:1200px;--wide:1300px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Montserrat",Arial,sans-serif;font-size:15px;font-weight:500;line-height:1.8}body,button{font-family:"Montserrat",Arial,sans-serif}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Prata",Georgia,serif;font-weight:400;line-height:1.35}h1{font-size:clamp(38px,4vw,58px)}h2{font-size:clamp(31px,3.3vw,45px)}h3{font-size:20px}.wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.wide-wrap{width:min(calc(100% - 40px),var(--wide));margin-inline:auto}.eyebrow{margin-bottom:12px;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:5px;line-height:1.5;text-transform:uppercase}.eyebrow--light{color:var(--white)}em{font-weight:500}.center-heading{text-align:center}.heading--brown{color:var(--brown)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;min-width:210px;width:max-content;padding:18px 30px;border:0;border-radius:40px;color:var(--white);background:var(--accent);font-size:13px;font-weight:700;letter-spacing:1px;line-height:1.2;text-transform:uppercase;transition:transform .25s ease,background .25s ease,color .25s ease}.button:hover,.button:focus-visible{background:var(--accent-hover);transform:translateY(-2px)}.button:focus-visible,.nav-toggle:focus-visible{outline:3px solid rgba(247,154,53,.5);outline-offset:3px}.button--outline{border:1px solid var(--white);background:transparent}.button--outline:hover{background:rgba(255,255,255,.14)}.button--light{color:var(--ink);background:var(--white)}.button--light:hover{color:var(--white)}
/* ---------- Header ---------- */
.site-header{position:relative;z-index:30;background:var(--cream)}
.topbar{color:var(--white);background:var(--brown);font-size:14px;font-weight:500}.topbar__inner{display:flex;justify-content:flex-end;align-items:center;gap:22px;min-height:42px}.topbar a{color:var(--white);transition:opacity .2s ease}.topbar a:hover{opacity:.8}.topbar__divider{width:1px;height:20px;background:rgba(255,255,255,.45)}
.nav-bar{position:relative;background:var(--cream)}.nav-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:96px}
.logo{display:grid;justify-items:center;gap:5px;color:var(--logo-ink)}.logo__name{font-family:"Prata",Georgia,serif;font-size:30px;letter-spacing:.5px;line-height:1}.logo__o{position:relative;display:inline-block;color:var(--accent)}.logo__o::after{position:absolute;top:50%;left:50%;width:1.28em;height:1.02em;border:1.5px solid var(--accent);border-radius:50%;transform:translate(-50%,-50%);content:""}.logo__sub{font-size:8.5px;font-weight:600;letter-spacing:2.6px;line-height:1.4;text-transform:uppercase;color:rgba(74,74,74,.75)}.logo--light{justify-items:start;color:var(--white)}.logo--light .logo__sub{color:var(--muted-light)}
.nav{display:flex;align-items:center;gap:42px}.nav a{position:relative;padding-bottom:10px;color:var(--nav-ink);font-size:14px;font-weight:600;letter-spacing:2px;text-transform:uppercase;transition:color .2s ease}.nav a::after{position:absolute;right:0;bottom:0;left:0;height:3px;background:var(--accent);border-radius:2px;opacity:0;transition:opacity .2s ease;content:""}.nav a:hover{color:var(--accent)}.nav a.is-current{color:var(--nav-ink)}.nav a.is-current::after{opacity:1}.header__cta{justify-content:center;min-width:0;padding:17px 34px;font-size:14px;letter-spacing:.5px}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:42px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:transparent}.nav-toggle span{display:block;height:2px;background:var(--nav-ink)}
/* ---------- Hero ---------- */
.hero{position:relative;min-height:80vh;padding:50px 0 20px;color:var(--white);background:url("assets/images/2151393858.webp") center/cover no-repeat}.hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8) 0%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.08) 70%)}.hero__inner{position:relative;display:flex;min-height:calc(80vh - 70px);flex-direction:column;justify-content:space-between}.hero__copy{width:55%;max-width:670px}.hero__identity{margin-bottom:16px}.hero h1 em{color:var(--accent)}.hero__copy>p:last-of-type{margin-bottom:28px}.hero__actions{display:flex;gap:0}.hero__actions .button:first-child{margin-right:30px}.hero__facts{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-top:50px}.experience{display:flex;align-items:center;gap:14px}.experience strong{font-family:"Prata",Georgia,serif;font-size:48px;font-weight:400}.experience span{max-width:100px;line-height:1.4}.insurance{padding-top:12px;border-top:1px solid rgba(255,255,255,.3)}.insurance>p{display:flex;justify-content:space-between;margin-bottom:10px;font-size:13px;line-height:1.45}.logo-marquee{overflow:hidden}.logo-track{display:flex;width:max-content;animation:marquee 22s linear infinite}.logo-track img{width:128px;height:60px;margin-right:28px;object-fit:contain}.logo-marquee:hover .logo-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}
.booking{padding:50px 0;background:var(--cream);text-align:center}.booking__actions{display:flex;justify-content:center;gap:18px}.booking__status{min-height:24px;margin:16px 0 0;font-size:13px}
.services{position:relative;padding:100px 0;color:var(--white);background:url("assets/images/young-family-couple-at-psychologist-counseling-mee-YC95NZQ.jpg.jpeg") center/cover fixed no-repeat}.services__overlay{position:absolute;inset:0;background:rgba(19,17,9,.72)}.services__inner{position:relative}.section-intro{display:grid;grid-template-columns:2fr 1fr;align-items:center;gap:60px;margin-bottom:35px}.section-intro .button{justify-self:end}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service-card{display:grid;grid-template-columns:78px 1fr;gap:20px;padding:20px 30px;border:1px solid rgba(255,255,255,.27);border-radius:10px;background:rgba(255,255,255,.12);transition:border-color .25s ease,transform .25s ease}.service-card:hover{border-color:rgba(255,255,255,.7);transform:translateY(-3px)}.service-card img{width:78px;height:78px;border-radius:50%;object-fit:cover}.service-card h3{margin-bottom:6px}.service-card p{margin:0;font-size:13px;line-height:1.65}
.about{padding:100px 0}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.about__photo{display:flex;min-height:620px;align-items:flex-end;padding:10px;background:url("assets/images/anna.jpg.jpeg") center/cover no-repeat}.patient-count{width:230px;padding:25px;background:var(--cream)}.patient-count>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.patient-count span{font-family:"Prata",Georgia,serif;line-height:1.4}.patient-count strong{font-family:"Prata",Georgia,serif;font-size:29px;font-weight:400}.about__copy{align-self:center}.checks{display:grid;gap:6px;margin:24px 0;padding:0;list-style:none}.checks li::before{margin-right:10px;color:var(--accent);content:"✓"}
.pricing{padding:50px 0;background:var(--cream)}.pricing__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:960px;margin:36px auto 0}.price-card{padding:60px;border:1px solid #f0efe3;background:var(--white);text-align:center;transition:transform .25s ease,border-color .25s ease}.price-card:hover{transform:translateY(-4px);border-color:var(--accent)}.price-card--featured{border-color:#ea533d}.price{margin:8px 0 22px;font-family:"Prata",Georgia,serif;font-size:48px;font-style:italic}.price sup{font-size:20px;font-style:normal}.price-link{display:inline-flex;gap:15px;padding:10px 0;border-bottom:1px solid var(--accent);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.testimonials{padding:50px 0 70px;background:var(--cream-deep)}.testimonial-slider{position:relative;max-width:960px;margin:25px auto 0;text-align:center}.quote-mark{width:90px;height:70px;margin:0 auto 12px;object-fit:contain}.testimonial{display:none;padding:0 90px}.testimonial.is-active{display:block;animation:fade .35s ease}.testimonial p{font-family:"Prata",Georgia,serif;font-size:21px;line-height:1.6}.testimonial img{width:74px;height:74px;margin:25px auto 10px;border-radius:50%;object-fit:cover}.testimonial h3{margin-bottom:0;font-size:16px}.slider-arrow{position:absolute;top:50%;border:0;color:rgba(19,17,9,.25);background:transparent;font-size:30px}.slider-arrow:hover{color:var(--accent)}.slider-arrow--prev{left:0}.slider-arrow--next{right:0}.slider-dots{display:flex;justify-content:center;gap:10px;margin-top:24px}.slider-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.18)}.slider-dots button.is-active{background:var(--accent)}@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.faq{padding:50px 0;background:var(--cream)}.faq__grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.faq__intro{align-self:center}.faq__intro>p:not(.eyebrow){margin-bottom:28px}.accordion details{border-bottom:1px solid var(--line)}.accordion summary{display:flex;align-items:center;justify-content:space-between;padding:15px 20px 20px 0;font-family:"Prata",Georgia,serif;font-size:17px;cursor:pointer;list-style:none}.accordion summary::-webkit-details-marker{display:none}.accordion summary::after{color:var(--accent);content:"+";font-family:"Montserrat",sans-serif}.accordion details[open] summary::after{content:"−"}.accordion details p{padding:0 50px 25px 0;margin:0}
.final-booking{padding:50px 0;background:var(--cream)}.final-booking__grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.final-booking__image{min-height:560px;background:url("assets/images/senior-couple-meet-up-with-therapist-Z6G4HGC.jpg.jpeg") bottom center/cover no-repeat}.final-booking__copy{align-self:center}.final-booking__copy>p:not(.eyebrow):not(.booking__status){margin-bottom:28px}
/* ---------- Footer ---------- */
.site-footer{color:var(--muted-light);background:var(--ink);font-size:14px}.footer__grid{display:grid;grid-template-columns:1.5fr 1.1fr .9fr 1.3fr;gap:40px;padding:75px 0 60px}.footer__col p{margin-bottom:0}.footer__col .logo{margin-bottom:20px}.site-footer h3{margin-bottom:18px;color:var(--white);font-size:21px}.site-footer h3.heading--brown{color:var(--brown)}.footer__subhead{margin-top:24px}.footer__list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.footer__list a{color:var(--muted-light);transition:color .2s ease}.footer__list a:hover{color:var(--accent)}.site-footer .button{min-width:0;margin-top:22px;padding:13px 26px;font-size:12px}.footer__bottom{border-top:1px solid var(--line-light);font-size:13px}.footer__bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:62px}.footer__bottom p{margin:0}.footer__legal{display:flex;gap:26px}.footer__legal a{color:var(--muted-light)}.footer__legal a:hover{color:var(--accent)}
.mobile-book{position:fixed;z-index:30;right:0;bottom:0;left:0;display:none;padding:16px 20px;color:var(--white);background:var(--accent);font-size:14px;font-weight:700;letter-spacing:1px;text-align:center;text-transform:uppercase}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1024px){.wrap,.wide-wrap{width:min(calc(100% - 60px),var(--max))}.nav-toggle{display:flex}.header__cta{display:none}.nav-bar__inner{min-height:82px}.nav{position:absolute;z-index:30;top:100%;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 30px 22px;background:var(--cream);box-shadow:0 22px 44px rgba(19,17,9,.14)}.nav.is-open{display:flex}.nav a{padding:15px 0;border-bottom:1px solid var(--line)}.nav a::after{display:none}.nav a.is-current{color:var(--accent)}.hero{min-height:auto;padding:70px 0 50px}.hero__inner{min-height:700px}.hero__copy{width:60%}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{padding:15px 25px}.about,.services{padding:70px 0}.about__grid,.faq__grid,.final-booking__grid{gap:60px}.pricing,.testimonials,.faq,.final-booking{padding:70px 0}.price-card{padding:50px}.testimonial{padding:0 80px}.footer__grid{grid-template-columns:1fr 1fr;gap:40px;padding:60px 0 50px}}
@media(max-width:767px){body{padding-bottom:54px;font-size:14px}.wrap,.wide-wrap{width:min(calc(100% - 40px),var(--max))}.topbar__inner{flex-wrap:wrap;justify-content:center;gap:12px;padding:9px 0;font-size:12.5px}.nav{padding:8px 20px 22px}.nav-bar__inner{min-height:74px}.logo__name{font-size:24px}.hero{padding:50px 0 30px;background-position:60% center}.hero__overlay{background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.54) 50%,rgba(0,0,0,.15))}.hero__inner{min-height:auto}.hero__copy{width:100%}.hero__actions{flex-direction:column}.hero__actions .button:first-child{margin:0 0 12px}.hero__facts{grid-template-columns:1fr;gap:22px}.experience{padding-top:20px;border-top:1px solid rgba(255,255,255,.3)}.insurance>p{flex-direction:column;gap:8px}.button{width:100%;justify-content:center}.booking__actions{flex-direction:column}.booking,.pricing,.testimonials,.faq,.final-booking{padding:70px 0}.services{padding:70px 0;background-attachment:scroll}.section-intro{grid-template-columns:1fr;gap:20px;margin-bottom:50px}.section-intro .button{justify-self:stretch}.service-grid{grid-template-columns:1fr;gap:20px}.service-card{grid-template-columns:64px 1fr;padding:15px 25px}.service-card img{width:64px;height:64px}.about{padding:70px 0}.about__grid,.faq__grid,.final-booking__grid{grid-template-columns:1fr;gap:50px}.about__photo{min-height:430px}.price-card{padding:40px}.pricing__grid{grid-template-columns:1fr}.testimonial{padding:0 30px}.testimonial p{font-size:17px}.slider-arrow{top:auto;bottom:10px}.faq__intro{padding-bottom:0}.accordion details p{padding-right:0}.final-booking__image{display:none}.site-footer .button{width:auto;justify-content:space-between}.footer__grid{grid-template-columns:1fr;gap:34px;padding:55px 0 45px}.footer__bottom-inner{flex-direction:column;gap:10px;padding:18px 0;text-align:center}.mobile-book{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.logo-track{animation:none}.reveal{opacity:1;transform:none;transition:none}.button,.service-card,.price-card{transition:none}}