.counseling-page {
  --counseling-forest: #355e3b;
  --counseling-forest-dark: #294630;
  --counseling-cream: #f8f7f2;
  --counseling-sage: #eef0e8;
  --counseling-rule: rgba(53, 94, 59, .18);
  overflow: clip;
  background: var(--counseling-cream);
  color: var(--counseling-forest);
}
.counseling-page h1, .counseling-page h2, .counseling-page h3 {
  margin-top: 0;
  color: var(--counseling-forest);
}
.counseling-page p, .counseling-page a { color: var(--counseling-forest); }
.counseling-page > .breadcrumb-nav {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.counseling-page .counseling-eyebrow {
  margin: 0 0 .8rem;
  color: var(--counseling-forest);
  text-transform: uppercase;
}
.counseling-page .counseling-intro {
  position: relative;
  display: flex;
  min-height: 420px;
  align-items: center;
  overflow: hidden;
  background: var(--counseling-cream);
}
.counseling-page .counseling-intro::before, .counseling-page .counseling-intro::after {
  position: absolute;
  z-index: 0;
  border: 1px solid rgba(53, 94, 59, .18);
  border-radius: 50%;
  content: '';
  pointer-events: none;
}
.counseling-page .counseling-intro::before {
  top: -120px;
  right: 2vw;
  width: min(37vw, 520px);
  height: min(37vw, 520px);
  background: radial-gradient(circle at 38% 40%, rgba(53, 94, 59, .12), rgba(53, 94, 59, .02) 64%, transparent 65%);
}
.counseling-page .counseling-intro::after {
  right: 17vw;
  bottom: -175px;
  width: min(29vw, 405px);
  height: min(29vw, 405px);
  background: rgba(53, 94, 59, .05);
}
.counseling-page .counseling-intro-inner {
  position: relative;
  z-index: 1;
  width: min(100% - 2.5rem, 1000px);
  margin-inline: auto;
  padding-block: 4.2rem;
}
.counseling-page .counseling-intro-inner::after {
  position: absolute;
  top: 10%;
  right: 5%;
  width: 180px;
  height: 270px;
  border: 1px solid rgba(53, 94, 59, .16);
  border-radius: 100% 0 100% 0;
  content: '';
  pointer-events: none;
  transform: rotate(37deg);
}
.counseling-page #page-heading {
  max-width: none;
  margin-bottom: 1rem;
}
.counseling-page .counseling-lead {
  max-width: 840px;
  margin: 0 0 1.1rem;
}
.counseling-page .counseling-intro-inner > p:not(.counseling-eyebrow):not(.counseling-lead) {
  max-width: 840px;
  margin: 0 0 .75rem;
}
.counseling-page .counseling-panel {
  display: grid;
  min-height: 560px;
  grid-template-columns: minmax(0, 48%) minmax(0, 52%);
  background: #fffefa;
}
.counseling-page .counseling-panel-reverse {
  grid-template-columns: minmax(0, 52%) minmax(0, 48%);
  background: var(--counseling-cream);
}
.counseling-page .counseling-photo {
  position: relative;
  min-width: 0;
  min-height: 560px;
  overflow: hidden;
  background: #dfe5d9;
}
.counseling-page .counseling-photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}
.counseling-page #couples-counseling .counseling-photo img { object-position: 20% center; }
.counseling-page .counseling-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(2.5rem, 5.5vw, 6rem);
}
.counseling-page .counseling-copy h2 {
  max-width: none;
  margin-bottom: 1rem;
}
.counseling-page .counseling-copy p {
  max-width: 58ch;
  margin: 0 0 1.15rem;
}
.counseling-page .counseling-copy p:last-of-type { margin-bottom: 1.4rem; }
.counseling-page .counseling-link, .counseling-page .counseling-button, .counseling-page .counseling-phone {
  text-transform: uppercase;
}
.counseling-page .counseling-link {
  display: inline-flex;
  min-height: 2.5rem;
  align-items: center;
  border-bottom: 1px solid var(--counseling-forest);
  text-decoration: none;
  transition: border-color 160ms ease, color 160ms ease;
}
.counseling-page .counseling-link:hover, .counseling-page .counseling-link:focus-visible {
  border-color: transparent;
  color: var(--counseling-forest-dark);
}
.counseling-page .counseling-approach {
  background: var(--counseling-sage);
}
.counseling-page .counseling-approach-inner {
  width: min(100% - 2.5rem, 1000px);
  margin-inline: auto;
  padding-block: clamp(2.4rem, 3.5vw, 3.2rem);
}
.counseling-page .counseling-approach-heading {
  margin-bottom: 1.4rem;
  text-align: center;
}
.counseling-page .counseling-approach-heading .counseling-eyebrow { margin-bottom: .75rem; }
.counseling-page .counseling-approach-heading h2 {
  max-width: none;
  margin-bottom: 0;
}
.counseling-page .counseling-approach-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 7vw, 6rem);
}
.counseling-page .counseling-approach-columns > div + div {
  padding-left: clamp(1.5rem, 4vw, 3.5rem);
  border-left: 1px solid var(--counseling-rule);
}
.counseling-page .counseling-approach-columns p {
  margin: 0 0 1.15rem;
}
.counseling-page .counseling-approach-columns p:last-child { margin-bottom: 0; }
.counseling-page .counseling-next {
  position: relative;
  min-height: 260px;
  overflow: hidden;
  background: var(--counseling-cream);
}
.counseling-page .counseling-next-inner {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 260px;
  align-items: center;
  width: min(100% - 2.5rem, 1000px);
  margin-inline: auto;
  padding-block: 2.2rem;
}
.counseling-page .counseling-next-inner > div { max-width: 620px; }
.counseling-page .counseling-next h2 {
  max-width: none;
  margin-bottom: .85rem;
}
.counseling-page .counseling-next p {
  max-width: 54ch;
  margin: 0 0 1.5rem;
}
.counseling-page .counseling-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .85rem 1.5rem;
}
.counseling-page .counseling-button {
  display: inline-flex;
  min-height: 2.9rem;
  align-items: center;
  justify-content: center;
  padding: .75rem 1.25rem;
  border: 1px solid var(--counseling-forest);
  background: var(--counseling-forest);
  color: #fff;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease;
}
.counseling-page .counseling-button:hover, .counseling-page .counseling-button:focus-visible {
  border-color: var(--counseling-forest-dark);
  background: var(--counseling-forest-dark);
  color: #fff;
}
.counseling-page .counseling-phone {
  min-height: 2.9rem; display: inline-flex;
  align-items: center;
  color: var(--counseling-forest);
  text-decoration: none;
}
.counseling-page .counseling-phone:hover,
.counseling-page .counseling-phone:focus-visible { text-decoration: underline; text-underline-offset: .25em; }
.counseling-page .counseling-leaf {
  position: absolute;
  right: clamp(-2rem, 4vw, 4rem);
  bottom: clamp(-4rem, -1vw, -1rem);
  width: clamp(110px, 16vw, 200px);
  height: auto;
  color: #dce5d7;
  opacity: .9;
  pointer-events: none;
}
@media (max-width: 760px) {
  .counseling-page .counseling-intro { min-height: 0; }
  .counseling-page .counseling-intro-inner, .counseling-page .counseling-approach-inner, .counseling-page .counseling-next-inner { width: min(100% - 2rem, 1000px); }
  .counseling-page .counseling-intro-inner { padding-block: 3.5rem 4rem; }
  .counseling-page #page-heading { }
  .counseling-page .counseling-intro::before { top: -85px; right: -90px; width: 300px; height: 300px; }
  .counseling-page .counseling-intro::after { right: -70px; bottom: -125px; width: 260px; height: 260px; }
  .counseling-page .counseling-intro-inner::after { right: -2%; width: 105px; height: 180px; opacity: .55; }
  .counseling-page .counseling-panel, .counseling-page .counseling-panel-reverse { min-height: 0; grid-template-columns: 1fr; }
  .counseling-page .counseling-photo, .counseling-page .counseling-photo img { min-height: 0; height: clamp(245px, 70vw, 390px); }
  .counseling-page .counseling-panel .counseling-photo, .counseling-page .counseling-panel-reverse .counseling-photo { grid-column: 1; grid-row: 1; }
  .counseling-page .counseling-panel .counseling-copy, .counseling-page .counseling-panel-reverse .counseling-copy { grid-column: 1; grid-row: 2; }
  .counseling-page .counseling-copy { padding: 3.1rem 1.5rem 3.6rem; }
  .counseling-page .counseling-copy h2 { }
  .counseling-page .counseling-approach-inner { padding-block: 3.8rem 4.2rem; }
  .counseling-page .counseling-approach-heading h2 { }
  .counseling-page .counseling-approach-columns { grid-template-columns: 1fr; gap: 1.2rem; }
  .counseling-page .counseling-approach-columns > div + div { padding-top: 1.2rem; padding-left: 0; border-top: 1px solid var(--counseling-rule); border-left: 0; }
  .counseling-page .counseling-next, .counseling-page .counseling-next-inner { min-height: 390px; }
  .counseling-page .counseling-next-inner { align-items: flex-end; padding-block: 3.5rem 4rem; }
  .counseling-page .counseling-next h2 { }
  .counseling-page .counseling-leaf { right: -4.5rem; bottom: -2.5rem; width: 250px; opacity: .72; }
}
.counseling-page .counseling-eligibility { margin-top: .9rem; margin-bottom: 0; }
@media (max-width: 420px) {
  .counseling-page .counseling-actions { align-items: stretch; flex-direction: column; }
  .counseling-page .counseling-button, .counseling-page .counseling-phone { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .counseling-page .counseling-link, .counseling-page .counseling-button { transition: none; }
}

/* Couples-card fragment clearance; does not reserve document-flow space. */
#couples-counseling {
  scroll-margin-top: calc(var(--header-height) + 2.5rem);
}
