/* Service-page composition. Namespaced to preserve homepage and practitioner layouts. */
.service-intro{padding:46px 0 0}
.service-intro h1{color:var(--teal);max-width:1050px;font-size:clamp(2.65rem,4.8vw,4.65rem);line-height:1.07;letter-spacing:-.035em}
.service-intro .service-intro-copy{max-width:780px;margin:30px 0 40px}
.service-intro-copy .service-lead{color:var(--teal);font-size:1.1875rem;line-height:1.75}
.service-nature.wp-block-image{margin:0}
.service-nature.wp-block-image img{display:block;width:100%;height:350px;object-fit:cover;object-position:50% 56%;border-radius:34px}
.service-editorial-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:110px;align-items:start}
.service-editorial-grid h2{font-size:clamp(2.2rem,3.4vw,3.3rem);line-height:1.13;max-width:12ch}
.service-editorial-grid .service-prose{max-width:68ch}
.service-prose p{line-height:1.8}
.service-explore{padding:86px 0 90px}
.service-explore h2,.service-fees h2,.service-consultation h2{color:var(--teal)}
.service-sessions{padding:82px 0;background:var(--teal);color:var(--ivory)}
.service-sessions a:focus-visible{outline-color:var(--sand)}
.service-sessions a:hover{color:var(--sand)}
.service-fees{padding:74px 0;background:var(--sand)}
.service-consultation{padding:80px 0 88px}
.service-consultation .action-buttons{margin-top:26px}
.service-consultation .wp-block-button__link:hover{background:var(--teal);color:var(--ivory)}
@media(max-width:1100px){.service-editorial-grid{gap:58px;grid-template-columns:.7fr 1.3fr}.service-nature.wp-block-image img{height:310px}}
@media(max-width:760px){
.service-intro{padding-top:26px}.service-intro h1{font-size:2.65rem;line-height:1.1}.service-intro .service-intro-copy{margin:26px 0 30px}.service-intro-copy .service-lead{font-size:1.125rem}
.service-nature.wp-block-image img{height:290px;object-position:58% 55%;border-radius:26px}
.service-editorial-grid{grid-template-columns:1fr;gap:4px}.service-editorial-grid h2{font-size:2.3rem;max-width:16ch}
.service-explore,.service-sessions,.service-fees{padding:54px 0}.service-consultation{padding:54px 0 62px}
}

/* Longer resources: one quiet reading column and a short section index. */
.therapy-intro{padding-top:52px}
.therapy-intro h1{max-width:1000px}
.therapy-intro .service-intro-copy{max-width:70ch;margin-bottom:42px}
.therapy-intro .action-buttons{margin-top:28px}
.therapy-reading{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,70ch);justify-content:space-between;gap:clamp(40px,7vw,110px);align-items:start;padding-block:70px 96px}
.therapy-toc{position:sticky;top:32px;padding-block:18px;border-block:1px solid var(--line);font-size:.9375rem;line-height:1.5}
.therapy-toc-label{font-weight:600;color:var(--teal);margin-bottom:12px}
.therapy-toc .link-block{margin:0}
.therapy-toc a{display:block;min-height:44px;padding-block:11px;text-decoration:none}
.therapy-toc a:hover{text-decoration:underline}
.therapy-prose{min-width:0}
.therapy-section{padding:0 0 42px;margin:0 0 42px;border-bottom:1px solid var(--line)}
.therapy-section:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.therapy-section h2{color:var(--teal);font-size:clamp(2rem,3vw,2.7rem);line-height:1.15;max-width:30ch;margin-bottom:24px}
.therapy-section h3{color:var(--teal);font-size:clamp(1.5rem,2.2vw,1.9rem);line-height:1.25;margin:36px 0 18px}
.therapy-section p{line-height:1.8}
.therapy-section .action-buttons{margin-block:28px}
.therapy-intro .wp-block-button__link,.therapy-section .wp-block-button__link{white-space:normal;text-align:center;max-width:100%}
@media(max-width:900px){
  .therapy-reading{grid-template-columns:1fr;gap:42px;padding-block:38px 64px}
  .therapy-toc{position:static;display:flex;flex-wrap:wrap;column-gap:26px;row-gap:0;max-width:70ch}
  .therapy-toc-label{flex-basis:100%;margin-bottom:4px}
  .therapy-prose{max-width:70ch}
}
@media(max-width:760px){
  .therapy-intro{padding-top:26px}
  .therapy-intro h1{font-size:clamp(2.15rem,7.8vw,2.65rem);line-height:1.1}
  .therapy-section{padding-bottom:30px;margin-bottom:32px}
  .therapy-section h2{font-size:2rem}
  .therapy-section h3{font-size:1.55rem}
  .therapy-toc{column-gap:20px}
}
/* A second image gives long resources a visual pause before appointments. */
.therapy-secondary-image.wp-block-image{margin:6px 0 42px}
.therapy-secondary-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:30px}
@media(max-width:760px){.therapy-secondary-image.wp-block-image{margin-bottom:32px}.therapy-secondary-image img{border-radius:26px}}
