.header-cta { border:0; cursor:pointer; }
.chat-modal { width:min(510px,calc(100% - 28px)); padding:0; border:0; border-radius:14px; overflow:hidden; background:#c4d4d3; box-shadow:0 24px 70px rgba(0,0,0,.28); }
.chat-modal::backdrop { background:rgba(16,35,33,.66); }
.chat-window { min-height:520px; display:flex; flex-direction:column; }
.chat-header { display:flex; align-items:center; justify-content:space-between; padding:13px 16px; background:#087d70; color:#fff; }
.chat-header > div { display:flex; align-items:center; gap:10px; }
.chat-header img { width:39px; height:39px; border-radius:50%; background:#fff; }
.chat-header strong,.chat-header span { display:block; line-height:1.25; }.chat-header span { font-size:.78rem; opacity:.84; }
.chat-header .modal-close { position:static; color:#fff; line-height:1; }
.chat-body { flex:1; display:flex; flex-direction:column; gap:11px; padding:20px 16px; overflow:auto; background:linear-gradient(rgba(196,212,211,.92),rgba(196,212,211,.92)),url('pic.png'); background-size:auto,160px; }
.chat-bubble { max-width:84%; align-self:flex-start; padding:11px 13px; border-radius:4px 12px 12px 12px; background:#d2f4f1; color:#263437; box-shadow:0 1px 1px rgba(0,0,0,.08); font-size:.95rem; line-height:1.45; }
.chat-note { margin:9px 0 0; color:#425554; font-size:.75rem; text-align:center; }
.chat-input { display:flex; gap:9px; padding:10px; background:#f5f5f5; border-top:1px solid #d4d9d8; }
.chat-input input { min-width:0; flex:1; padding:11px 12px; border:1px solid #d2d7d6; border-radius:20px; color:var(--ink); font:inherit; }
.chat-input button { width:44px; height:44px; border:0; border-radius:50%; background:#087d70; color:#fff; font-size:1.15rem; cursor:pointer; }
@media(max-width:600px){.chat-modal{width:calc(100% - 20px)}.chat-window{min-height:min(570px,80dvh)}.chat-body{padding:16px 12px}.chat-bubble{max-width:90%}}
.location-section{grid-template-columns:1fr 1fr}.location-side{display:flex;flex-direction:column;gap:24px}.map-panel{min-height:340px;overflow:hidden;box-shadow:var(--shadow)}.map-panel iframe{display:block;width:100%;height:100%;min-height:340px;border:0}.location-side .review-card{margin:0;align-self:stretch}@media(max-width:900px){.location-section{grid-template-columns:1fr}.map-panel{min-height:330px}.map-panel iframe{min-height:330px}}
:root{--brand:#71835e;--brand-dark:#4d5c3e;--mint:#eef1e9;--cream:#fcf9fc;--ink:#352f35;--muted:#665e65;--purple:#a77da3;--purple-dark:#7b5277}.eyebrow,.service-number,.therapist-role{color:var(--purple-dark)}.hero-points span{background:#f1e9f0;color:var(--purple-dark)}.team-section{background:var(--brand-dark)}.section-heading-light .eyebrow{color:#ead8e8}.site-footer{background:#3d3440}.chat-modal{background:#ede7ec}.chat-header,.chat-input button{background:var(--purple-dark)}.chat-body{background:linear-gradient(rgba(237,231,236,.94),rgba(237,231,236,.94)),url('pic.png')}.chat-bubble{background:#fff;color:var(--ink)}.chat-note{color:#5e505d}.review-card{background:#e6edde}.button-secondary{border-color:var(--purple-dark);color:var(--purple-dark)}.button-secondary:hover{background:#f1e9f0}
.location-side{display:contents}.location-side .map-panel{grid-column:2}.location-side .review-card{grid-column:1/-1;margin:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:22px}.location-side .review-card .review-mark{margin:0}.location-side .review-card h3,.location-side .review-card p{margin:0}.location-side .review-card a{white-space:nowrap}@media(max-width:900px){.location-side .map-panel,.location-side .review-card{grid-column:auto}.location-side .review-card{display:block}.location-side .review-card .review-mark{margin-bottom:10px}.location-side .review-card h3{margin-bottom:10px}.location-side .review-card p{margin-bottom:16px}}
.location-side .review-card{grid-template-columns:auto minmax(220px,.6fr) 1fr;grid-template-areas:"mark title copy" "cta cta cta";column-gap:22px;row-gap:14px}.location-side .review-card .review-mark{grid-area:mark}.location-side .review-card h3{grid-area:title}.location-side .review-card p:not(.review-mark){grid-area:copy}.location-side .review-card a{grid-area:cta}@media(max-width:900px){.location-side .review-card{grid-template-areas:"mark title" "copy copy" "cta cta";grid-template-columns:auto 1fr}}@media(max-width:600px){.location-side .review-card{grid-template-areas:"mark" "title" "copy" "cta";grid-template-columns:1fr}}
.review-card.testimonials{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 28px;padding:clamp(28px,4vw,48px);background:#e6edde}.testimonials-heading{max-width:700px}.testimonials-heading .eyebrow{margin-bottom:8px}.testimonials-heading h3{margin:0 0 10px;font-size:clamp(1.7rem,3vw,2.4rem)}.testimonials-heading>p:last-child{margin:0;color:#38504c}.testimonial-controls{display:flex;align-self:end;gap:8px}.testimonial-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--purple-dark);border-radius:50%;background:transparent;color:var(--purple-dark);font-size:1.25rem;cursor:pointer}.testimonial-arrow:hover{background:#f1e9f0}.testimonial-track{grid-column:1/-1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(285px,calc((100% - 48px)/3));gap:16px;overflow-x:auto;padding:4px 0 10px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--purple) transparent}.testimonial-card{display:flex;min-height:265px;flex-direction:column;padding:24px;background:#fff;box-shadow:0 8px 22px rgba(53,47,53,.08);scroll-snap-align:start}.testimonial-stars{margin:0 0 15px;color:var(--purple-dark);font-size:.83rem;letter-spacing:.12em}.testimonial-text{margin:0;color:var(--ink);font-size:.97rem;line-height:1.58}.testimonial-professional{margin:18px 0 3px;color:var(--purple-dark);font-size:.86rem;font-weight:700}.testimonial-source{margin:0;color:var(--muted);font-size:.78rem}.testimonials-link{grid-column:1/-1;color:var(--purple-dark);font-weight:700;text-decoration:none}.testimonials-link:hover{text-decoration:underline}@media(max-width:900px){.review-card.testimonials{display:grid;grid-template-columns:1fr}.testimonial-controls{justify-self:start;align-self:auto}.testimonial-track{grid-column:auto;grid-auto-columns:minmax(280px,78vw)}.testimonials-link{grid-column:auto}}@media(max-width:600px){.review-card.testimonials{padding:28px 20px}.testimonial-track{grid-auto-columns:88vw}.testimonial-card{min-height:0}.testimonial-controls{order:2}.testimonial-track{order:3}.testimonials-link{order:4}}
.location-side .review-card{display:none}main{display:flex;flex-direction:column}main>.testimonials-section{order:6}main>.faq-section{order:7}main>.orientation-banner{order:8}.testimonials-section{padding:clamp(55px,7vw,88px) max(7vw,24px);background:#e6edde}.testimonials-section-heading{max-width:760px;margin:0 auto 34px;text-align:center}.testimonials-section-heading h2{margin:0 0 14px;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2rem,3.6vw,3.25rem);letter-spacing:-.035em}.testimonials-section-heading p:not(.eyebrow){margin:0 0 18px;color:#38504c}.testimonials-section-heading a{color:var(--purple-dark);font-weight:700}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1220px;margin:0 auto}.testimonial-grid .testimonial-card{min-height:0}.testimonial-grid .testimonial-text{font-size:.94rem}@media(max-width:900px){.testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.testimonials-section{padding:52px 24px}.testimonial-grid{grid-template-columns:1fr}.testimonials-section-heading{text-align:left}}
