/* Clear, consistent chapters across the homepage. */
.support-section,
.about-section,
.approach-section,
.journey-section,
.fees-section,
.resources-section,
.faq-section,
.contact-section {
  padding-block: clamp(72px, 7.6vw, 110px);
  border-top: 1px solid #d4dbcd;
}
.support-section { background: #fcfcfd; }
.about-section { background: #f5f6f7; }
.journey-section { background: #e9edef; }
.fees-section { background: #e0e6eb; }
.resources-section { background: #fcfcfd; }
.faq-section { background: #e3e9e3; }
.contact-section { background: #e0e6eb; border-color: #cbd3d9; }
.section-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 10px;
  letter-spacing: .14em;
  margin-bottom: 23px;
}
.section-number {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border: 1px solid #a8b69c;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
.center-heading .section-kicker { justify-content: center; }
.contact-section .section-number { border-color: #8fa68d; }
.additional-support {
  margin-top: 26px;
  padding: 31px 32px 0;
  border-top-color: #c8d3bf;
}
.resource-card {
  padding-bottom: 26px;
  border-bottom: 1px solid #c8d3bf;
}

/* The therapy approaches become a complete visual section of their own. */
.approach-section {
  background: #f5f6f7;
  border-color: #cbd3d9;
  color: #435b70;
}
.approach-heading {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 43px;
}
.approach-heading .section-kicker { color: #52614f; }
.approach-heading .section-number { border-color: #8fa68d; }
.approach-heading h2 {
  font-size: clamp(38px, 3.7vw, 54px);
  letter-spacing: -.045em;
  line-height: 1.14;
  color: #435b70;
}
.approach-heading h2 em { color: #657456; }
.approach-heading > p {
  color: #535e66;
  font-size: 14px;
  line-height: 1.95;
  max-width: 365px;
  margin-bottom: 3px;
}
.method-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr 1fr;
  gap: 19px;
}
.method-card {
  min-width: 0;
  padding: 28px 29px 30px;
  background: #fcfcfd;
  border: 1px solid #cbd3d9;
  border-radius: 14px;
}
.method-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 23px;
}
.method-code {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1.6;
}
.method-card-top .method-code { color: #52614f; }
.method-card-top svg { width: 31px; height: 31px; color: #657456; stroke-width: 1.3; }
.method-card h3 {
  color: #435b70;
  font-size: clamp(22px, 1.9vw, 27px);
  letter-spacing: -.025em;
  line-height: 1.25;
  margin: 0 0 16px;
}
.method-card > p {
  font-size: 13px;
  line-height: 1.9;
  color: #535e66;
}
.method-featured {
  grid-row: span 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 32px;
  background: #e3e9e3;
  border-color: #cbd5c4;
  color: #435b70;
}
.emdr-art {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 124px;
  margin: -7px 0 27px;
  border-bottom: 1px solid #ccd4bf;
}
.emdr-art svg { width: 160px; height: 102px; stroke-width: 1.5; color: #5b7558; }
.method-featured > .method-code { color: #526b4d; margin-bottom: 14px; }
.method-featured h3 { color: #435b70; font-size: 35px; line-height: 1.14; margin-bottom: 17px; }
.method-featured h3 em { color: #607757; font-weight: 400; }
.method-featured > .method-name { color: #40583f; font-size: 11px; line-height: 1.65; font-weight: 500; margin-bottom: 17px; }
.method-featured > p:not(.method-name) { color: #52614f; font-size: 13px; }
.method-link {
  display: flex;
  gap: 15px;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 17px 0 0;
  margin-top: auto;
  color: #435b70;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
.method-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.method-link svg { width: 20px; height: 20px; }
.approach-note {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 22px;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #cbd3d9;
}
.approach-note p { color: #535e66; font-size: 12px; }
.approach-note strong { color: #435b70; font-weight: 500; }
.approach-note .text-link { color: #435b70; flex-shrink: 0; }
.approach-section :focus-visible { outline-color: #9b879d; }
.method-featured :focus-visible { outline-color: #6b536c; }
.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: 1100px) {
  .approach-heading { grid-template-columns: 1.25fr 1fr; gap: 40px; }
  .method-grid { gap: 15px; }
  .method-card { padding: 23px; }
  .method-card h3 { font-size: 23px; }
  .method-featured h3 { font-size: 30px; }
  .method-featured { padding: 26px; }
  .method-card > p { font-size: 12px; }
  .method-featured > p:not(.method-name) { font-size: 12px; }
  .approach-note { align-items: flex-start; }
  .approach-note p { max-width: 500px; }
}
@media (max-width: 900px) {
  .method-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
  .method-featured { grid-column: 1 / -1; grid-row: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 30px; padding: 29px; }
  .emdr-art { display: none; }
  .method-featured > .method-code { grid-column: 1; grid-row: 1; margin-bottom: 0; }
  .method-featured h3 { grid-column: 1; grid-row: 2; font-size: 33px; margin-bottom: 0; }
  .method-featured > .method-name { grid-column: 1; grid-row: 3; margin-bottom: 0; }
  .method-featured > p:not(.method-name) { grid-column: 2; grid-row: 1 / 4; font-size: 13px; align-self: center; }
  .method-featured .method-link { grid-column: 1 / -1; margin-top: 5px; border-top: 1px solid #ccd4bf; }
  .method-card > p { font-size: 13px; }
  .method-card h3 { font-size: 26px; }
  .approach-heading { grid-template-columns: 1fr; gap: 25px; }
  .approach-heading h2 { font-size: 45px; }
  .approach-heading > p { max-width: 620px; }
}
@media (max-width: 760px) {
  .support-section,.about-section,.approach-section,.journey-section,.fees-section,.resources-section,.faq-section,.contact-section { padding-block: 65px; }
  .section-kicker { font-size: 9px; gap: 10px; margin-bottom: 23px; }
  .section-number { width: 28px; height: 28px; font-size: 9px; }
  .center-heading .section-kicker { justify-content: flex-start; }
  .additional-support { padding: 27px 0 0; margin-top: 30px; }
  .approach-heading { gap: 23px; margin-bottom: 31px; }
  .approach-heading h2 { font-size: 39px; }
  .approach-heading > p { font-size: 13px; line-height: 1.95; }
  .approach-note { flex-direction: column; gap: 13px; margin-top: 27px; padding-top: 23px; }
  .approach-note strong { display: block; margin-bottom: 4px; }
  .approach-note .text-link { font-size: 12px; }
}
@media (max-width: 550px) {
  .method-grid { grid-template-columns: 1fr; gap: 15px; }
  .method-card { padding: 25px; }
  .method-card h3 { font-size: 28px; }
  .method-card h3 br { display: none; }
  .method-card h3 br::after { content: ' '; }
  .method-featured { display: flex; grid-column: auto; padding: 28px; gap: 0; }
  .method-featured > .method-code { margin-bottom: 15px; }
  .method-featured h3 { font-size: 36px; margin-bottom: 18px; }
  .method-featured h3 br { display: block; }
  .method-featured > .method-name { font-size: 11px; margin-bottom: 18px; }
  .method-featured .method-link { margin-top: 23px; padding-top: 19px; }
  .method-card-top { margin-bottom: 19px; }
}
@media (max-width: 380px) {
  .approach-heading h2 { font-size: 35px; }
  .method-featured h3 { font-size: 32px; }
  .method-card h3 { font-size: 25px; }
  .method-card { padding: 23px; }
}
@media print {
  .approach-section,.method-card,.method-featured { background: #fff; color: #000; }
  .approach-section h2,.approach-section h2 em,.approach-section h3,.approach-section p,.approach-section strong,.approach-section span,.approach-section a { color: #000; }
  .approach-section { border-color: #aaa; padding-block: 25px; }
  .method-card { border-color: #aaa; break-inside: avoid; }
  .emdr-art { display: none; }
}

/* Comfortable reading sizes: content 16px, supporting text 14px, labels 12px. */
body { font-size: 16px; line-height: 1.8; }
.site-menu > a { font-size: 14px; }
.site-menu { gap: 23px; }
.button,.button-small,.hero-actions .button,.form-submit { font-size: 14px; }
.text-link,.support-card .text-link,.hero-actions .text-link,.method-link,.approach-note .text-link { font-size: 14px; }
.eyebrow,.hero .eyebrow,.section-kicker,.fee-item .eyebrow { font-size: 12px; letter-spacing: .11em; }
.section-number { font-size: 11px; }
.brand-words small { font-size: 10px; letter-spacing: .12em; }
.hero-description { font-size: 18px; max-width: 470px; }
.hero-detail { font-size: 16px; line-height: 1.85; max-width: 470px; }
.microcopy,.hero-person strong,.hero-person span { font-size: 13px; }
.hero-person span { margin-top: 3px; }
.hero-person img { width: 49px; height: 49px; }
.image-caption { font-size: 11px; letter-spacing: .08em; padding: 5px 8px; background: #344858d9; border-radius: 3px; }
.trust-inner p { font-size: 13px; line-height: 1.6; }
.section-heading > p,.section-heading > div + div { font-size: 16px; line-height: 1.85; }
.section-heading > p,.section-heading > div + div { max-width: 395px; }
.support-card p,.additional-support p,.about-copy > p:not(.eyebrow):not(.lead),.steps-grid p,
.fees-intro > p:not(.eyebrow),.fee-item p,.resource-card p,.faq-list details > div,
.approach-heading > p,.method-card > p,.method-featured > p:not(.method-name) { font-size: 16px; line-height: 1.85; }
.about-copy .lead { font-size: 19px; }
.about-tags span { font-size: 12px; }
.credentials p,.credentials strong { font-size: 13px; }
.portrait-caption span { font-size: 12px; }
.center-heading > p:last-child { font-size: 16px; max-width: 520px; }
.step-detail,.fee-note p { font-size: 14px; }
.fee-item h3 span { font-size: 14px; }
.resource-meta,.resource-meta span { font-size: 12px; letter-spacing: .035em; }
.resource-disclaimer { font-size: 13px; }
.faq-grid > div > p:not(.eyebrow),.faq-list summary { font-size: 16px; }
.contact-copy > p:not(.eyebrow) { font-size: 17px; }
.contact-email,.contact-hours,.contact-hours strong,.portal-link { font-size: 14px; }
.contact-hours { max-width: 345px; }
.form-intro,.field label { font-size: 14px; }
.field label span { font-size: 12px; }
.field input,.field textarea { font-size: 16px; }
.field textarea::placeholder { font-size: 14px; }
.form-privacy,.crisis-strip p { font-size: 13px; }
.form-message { font-size: 15px; }
.footer-main > div:first-child > p,.footer-main > div:not(:first-child) > a { font-size: 14px; }
.footer-main h2,.footer-location,.footer-bottom { font-size: 12px; }
.footer-main h2 { letter-spacing: .08em; }
.method-code,.method-featured > .method-name { font-size: 12px; }
.approach-note p { font-size: 14px; }
.method-card { padding: 30px; }
.method-card h3 { font-size: 27px; }
.method-featured h3 { font-size: 36px; }
.method-featured .method-link { padding-top: 24px; }
.menu-toggle,.js .site-menu > a { font-size: 14px; }
@media (min-width: 761px) and (max-width: 1150px) {
  .nav-inner { flex-wrap: wrap; justify-content: center; gap: 10px; padding-block: 16px; }
  .site-menu { justify-content: center; flex-wrap: wrap; gap: 12px 24px; }
  .site-menu > a:not(.button) { padding-block: 6px; }
  .hero-actions { gap: 16px; }
  html { scroll-padding-top: 155px; }
}
@media (max-width: 1100px) {
  .trust-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 25px; }
  .method-card { padding: 25px; }
  .method-card h3 { font-size: 25px; }
  .method-featured h3 { font-size: 33px; }
  .resource-meta { flex-direction: column; gap: 4px; }
}
@media (max-width: 760px) {
  .hero-actions { gap: 18px; }
  .hero-actions .button { font-size: 14px; }
  .hero-person strong,.hero-person span,.microcopy { font-size: 12px; }
  .trust-inner { grid-template-columns: 1fr; gap: 14px; }
  .trust-inner p { font-size: 14px; }
  .section-heading > p,.section-heading > div + div { max-width: none; }
  .brand-words small { font-size: 8px; }
  .image-caption { font-size: 10px; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .contact-card { padding: 29px 24px; }
  .form-submit { gap: 12px; }
  .section-kicker,.hero .eyebrow { font-size: 11px; }
  .resource-meta { flex-direction: row; gap: 10px; }
  .method-card h3 { font-size: 28px; }
  .method-featured h3 { font-size: 36px; }
  .approach-note p { font-size: 15px; }
}
@media (max-width: 380px) {
  .brand-words { font-size: 19px; }
  .menu-toggle { padding-inline: 10px; }
  .method-card { padding: 23px; }
  .method-card h3 { font-size: 25px; }
  .method-featured h3 { font-size: 32px; }
  .resource-meta { flex-direction: column; }
}
.microcopy,.hero-person strong,.hero-person span,.form-privacy,.crisis-strip p,.resource-disclaimer{font-size:14px}
.image-caption{font-size:12px}.footer-bottom,.footer-location{font-size:13px}
@media(max-width:760px){.nav-inner{gap:12px}.brand-words small{display:none}.hero-person strong,.hero-person span{font-size:13px}.image-caption{font-size:11px}.microcopy{font-size:13px}}
@media(max-width:380px){.brand-words{font-size:18px}.menu-toggle{font-size:13px;gap:7px;padding-inline:9px}}

/* Muted mineral colors balance the botanical accents. */
.contact-copy .eyebrow,.contact-copy h2,.contact-phone{color:#435b70}
.contact-copy h2 em{color:#6b536c}
.contact-copy>p:not(.eyebrow),.contact-email,.contact-hours,.contact-hours p,.portal-link{color:#535e66}
.contact-hours{border-top-color:#aebdc8}
.contact-section .section-number{border-color:#aebdc8}
.contact-card{border:1px solid #cbd3d9}
.approach-heading h2 em{color:#6b536c}
.method-card:nth-child(3){background:#e9e5eb}
.method-card:nth-child(4){background:#e9edef}
.approach-section :focus-visible{outline-color:#6b536c}

/* Blue-gray, silver, dusty mauve and sage carry through every page. */
:root{--cream:#f5f6f7;--paper:#fcfcfd;--ink:#30383e;--text:#535e66;--muted:#59646b;--line:#cbd3d9;--accent:#6b536c}
.site-header{background:rgba(245,246,247,.97);border-bottom-color:#cbd3d9}
.trust-strip{background:#e9edef;border-color:#cbd3d9}
h1 em,h2 em{color:#6b536c}
.section-kicker{color:#6b536c}
.section-number{border-color:#aebdc8;background:#fcfcfd80}
.support-card:first-child .line-icon{stroke:#6b536c}
.support-card:nth-child(3) .line-icon{stroke:#6b536c}
.about-tags span{border-color:#aebdc8;color:#535e66}
.credentials{border-color:#aebdc8}
.portrait-wrap:before{border-color:#aebdc8}
.portrait-caption{border:1px solid #cbd3d9}
.step-number{color:#6b536c}
.steps-grid li{border-color:#cbd3d9}
.fee-panel{border-color:#cbd3d9}
.resource-meta{color:#6b536c}
.faq-list,.faq-list details{border-color:#c6d1bf}
.contact-section{background:#d4dfe7;border-color:#cbd3d9}
.contact-copy .section-kicker{color:#6b536c}
.contact-card{box-shadow:0 12px 36px -28px #435b7066}
.crisis-strip{background:#e9edef;border-block:1px solid #cbd3d9}
.site-footer{background:#f5f6f7}

/* Reference palette: blue-gray, silver, dusty mauve and gray-green. */
.about-section{background:#e0e6eb}
.approach-section{background:#f5f6f7}
.fees-section{background:#e8e1e8}
.journey-section{background:#e9edef}
.contact-section{background:#d4dfe7;border-color:#bac9d4}
.faq-section{background:#e3e9e3}
.support-card:first-child{background:#e0e6eb;border-color:#cbd3d9}
.support-card:nth-child(2){background:#e3e9e3;border-color:#c8d2c8}
.support-card:nth-child(3){background:#e8e1e8;border-color:#d5c9d5}
.method-featured{background:#dfe7ed;border-color:#bfccd7}
.method-featured h3,.method-featured .method-code,.method-featured .method-name,.method-link{color:#435b70}
.method-featured h3 em{color:#566d7d}
.method-featured>p:not(.method-name){color:#535e66}
.emdr-art,.method-featured .method-link{border-color:#bfccd7}
.emdr-art svg{color:#566d7d}
.method-card:nth-child(3){background:#e8e1e8}
.method-card:nth-child(4){background:#e3e9e3}
.method-card:nth-child(5){background:#e9edef}
.approach-heading .section-kicker,.method-card-top .method-code{color:#535e66}
.image-note span{color:#566d7d}
.about-tags span{background:#f5f6f766}
