/* Move Forward — Coaching page
   Page-specific editorial layout. Shared header, footer, and breadcrumb styles
   remain in styles.css. */

.coaching-page {
  --coaching-cream: #f8f6f1;
  --coaching-cream-deep: #f3f1e9;
  --coaching-sage: #e9eee7;
  --coaching-forest: #355e3b;
  --coaching-forest-deep: #294630;
  --coaching-green: #355e3b;
  --coaching-text: #414840;
  --coaching-muted: #5d675e;
  --coaching-line: #cbd4c9;
  --coaching-white: #fff;

  overflow-x: clip;
  color: var(--coaching-text);
}

.coaching-page *,
.coaching-page *::before,
.coaching-page *::after {
  box-sizing: border-box;
}

.coaching-page img,
.coaching-page svg {
  display: block;
  max-width: 100%;
}

.coaching-page h1,
.coaching-page h2,
.coaching-page h3 {
  margin: 0;
  color: var(--coaching-forest-deep);
}

.coaching-page h1 {
}

.coaching-page h2 {
}

.coaching-page p {
  max-width: 68ch;
  margin: 0 0 1.25rem;
  color: var(--coaching-text);
}

.coaching-page p:last-child {
  margin-bottom: 0;
}

.coaching-page a {
  color: inherit;
}

.coaching-page .eyebrow {
  display: block;
  margin: 0 0 1.15rem;
  color: var(--coaching-forest);
  text-transform: uppercase;
}

/* Hero --------------------------------------------------------------- */

.coaching-page .coaching-hero {
  display: grid;
  grid-template-columns: minmax(0, 57%) minmax(0, 43%);
  min-height: 680px;
  background: var(--coaching-cream);
}

.coaching-page .coaching-hero-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(3.75rem, 7vw, 5rem) clamp(2rem, 6.3vw, 5.65rem);
}

.coaching-page .coaching-hero-copy h1 {
  margin-bottom: 1.15rem;
}

.coaching-page .coaching-hero-copy h2 {
  max-width: none;
  margin-bottom: 1.8rem;
  color: var(--coaching-forest);
}

.coaching-page .coaching-hero-copy p {
  max-width: 66ch;
}

.coaching-page .coaching-hero-photo {
  position: relative;
  min-width: 0;
  min-height: 680px;
  overflow: hidden;
  background: #e8e5dc;
}

.coaching-page .coaching-hero-photo::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, rgba(248, 246, 241, .1), transparent 44%);
  content: '';
  pointer-events: none;
}

.coaching-page .coaching-hero-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 57% 48%;
}

.coaching-page .coaching-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .8rem 1rem;
  margin-top: .7rem;
}

.coaching-page .coaching-hero-copy .coaching-actions {
  margin-top: .55rem;
}

.coaching-page .button {
  min-height: 48px;
  max-width: 100%;
  padding: .8rem 1.35rem;
  border-radius: 0;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  transition: none;
}

.coaching-page .button:hover {
  transform: none;
}

.coaching-page .button-primary {
  border-color: var(--coaching-forest);
  background: var(--coaching-forest);
  color: var(--coaching-white);
}

.coaching-page .button-primary:hover {
  border-color: var(--coaching-forest-deep);
  background: var(--coaching-forest-deep);
  color: var(--coaching-white);
  box-shadow: none;
}

.coaching-page .button-secondary {
  border-color: var(--coaching-green);
  background: transparent;
  color: var(--coaching-forest-deep);
}

.coaching-page .button-secondary:hover {
  border-color: var(--coaching-forest);
  background: var(--coaching-forest);
  color: var(--coaching-white);
}

/* Coaching feature sections ----------------------------------------- */

.coaching-page .coaching-feature {
  display: grid;
  grid-template-columns: minmax(0, 47%) minmax(0, 53%);
  align-items: stretch;
}

.coaching-page .coaching-feature.coaching-image-right {
  grid-template-columns: minmax(0, 53%) minmax(0, 47%);
  background: var(--coaching-cream-deep);
}

.coaching-page .coaching-feature-image {
  position: relative;
  min-width: 0;
  min-height: 610px;
  overflow: hidden;
  background: #e9e6de;
}

.coaching-page .coaching-feature-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 50%;
}

.coaching-page #individual-coaching .coaching-feature-image img {
  object-position: 39% 50%;
}

.coaching-page #couples-coaching .coaching-feature-image img {
  object-position: 49% 52%;
}

.coaching-page .coaching-feature-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(4rem, 7.1vw, 5.6rem) clamp(2rem, 6vw, 5.6rem);
}

.coaching-page .coaching-image-right .coaching-feature-copy {
  padding-right: clamp(2rem, 6vw, 5.6rem);
  padding-left: clamp(2rem, 6.8vw, 5.65rem);
}

.coaching-page .coaching-feature-copy h2 {
  max-width: none;
  margin-bottom: 1.65rem;
}

.coaching-page .coaching-feature-copy p {
  max-width: 65ch;
}

.coaching-page .coaching-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-top: .95rem;
  border-bottom: 1px solid #93a793;
  color: var(--coaching-forest);
  text-decoration: none;
  text-transform: uppercase;
}

.coaching-page .coaching-link:hover {
  border-color: var(--coaching-forest);
  color: var(--coaching-forest-deep);
}

/* The inner process section ----------------------------------------- */

.coaching-page .coaching-inner {
  padding: clamp(4.25rem, 8vw, 6.4rem) clamp(1.6rem, 7vw, 5.6rem);
  background: var(--coaching-sage);
}

.coaching-page .coaching-inner-grid {
  display: grid;
  grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
  gap: clamp(2.25rem, 4vw, 3.5rem);
  max-width: 1290px;
  margin: 0 auto;
}

.coaching-page .coaching-inner-intro {
  min-width: 0;
  padding-right: clamp(0rem, 2.8vw, 2.5rem);
}

.coaching-page .coaching-inner-intro h2 {
  max-width: 500px;
  margin-bottom: 1.8rem;
}

.coaching-page .coaching-inner-intro p {
  max-width: 50ch;
}

.coaching-page .coaching-step-side {
  min-width: 0;
  padding-left: clamp(1.8rem, 4.4vw, 3.65rem);
  border-left: 1px solid var(--coaching-line);
}

.coaching-page .coaching-steps {
  margin: 0 0 2rem;
  padding: 0;
}

.coaching-page .coaching-step {
  display: grid;
  grid-template-columns: 115px minmax(0, 1fr);
  column-gap: 1rem;
  align-items: baseline;
  padding: .95rem 0;
  border-bottom: 1px solid var(--coaching-line);
}

.coaching-page .coaching-step:first-child {
  padding-top: .15rem;
}

.coaching-page .coaching-step:last-child {
  border-bottom: 0;
}

.coaching-page .coaching-step dt,
.coaching-page .coaching-step dd {
  min-width: 0;
  margin: 0;
}

.coaching-page .coaching-step dt {
  color: var(--coaching-forest);
}

.coaching-page .coaching-step dd {
  color: #374238;
}

.coaching-page .coaching-step dd::before {
  display: inline-block;
  width: 1.5rem;
  color: var(--coaching-green);
  content: '—';
}

.coaching-page .coaching-step-side p {
  max-width: 68ch;
}

/* Offer / what coaching can support ------------------------------- */

.coaching-page .coaching-offer {
  display: grid;
  grid-template-columns: minmax(0, 40fr) minmax(0, 60fr);
  gap: clamp(2rem, 4vw, 3.8rem);
  max-width: 1320px;
  margin: 0 auto;
  padding: clamp(4.5rem, 8vw, 6.9rem) clamp(1.6rem, 6vw, 4.9rem) clamp(4.3rem, 8vw, 6.6rem);
}

.coaching-page .coaching-offer-heading,
.coaching-page .coaching-offer > div:first-child,
.coaching-page .coaching-offer-copy {
  min-width: 0;
}

.coaching-page .coaching-offer-heading .eyebrow,
.coaching-page .coaching-offer > div:first-child .eyebrow {
  margin-bottom: .95rem;
}

.coaching-page .coaching-offer-heading h2,
.coaching-page .coaching-offer > div:first-child h2 {
  max-width: 480px;
}

.coaching-page .coaching-offer-copy {
  padding-left: clamp(1.5rem, 4.7vw, 4rem);
  border-left: 1px solid #d5dad2;
}

.coaching-page .coaching-offer-copy p {
  max-width: 68ch;
}

/* Closing chapter --------------------------------------------------- */

.coaching-page .coaching-chapter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(2rem, 5vw, 3.5rem);
  padding: clamp(4rem, 7vw, 5.4rem) clamp(1.7rem, 8vw, 7.2rem) clamp(4.2rem, 7vw, 5.9rem);
  background: linear-gradient(115deg, #f5f2e9, #ebece5);
}

.coaching-page .coaching-chapter-copy {
  min-width: 0;
  max-width: 830px;
}

.coaching-page .coaching-chapter-copy h2 {
  max-width: 16ch;
  margin-bottom: 1.35rem;
}

.coaching-page .coaching-chapter-copy p {
}

.coaching-page .coaching-chapter .coaching-actions {
  margin-top: .4rem;
}

.coaching-page .coaching-boundary-note {
  max-width: 70ch;
  margin-top: 1.35rem;
  color: var(--coaching-muted);
}

.coaching-page .coaching-leaf {
  flex: 0 0 auto;
  width: clamp(8rem, 14vw, 11rem);
  opacity: .62;
}

.coaching-page .coaching-leaf path {
  vector-effect: non-scaling-stroke;
}

@media (max-width: 1180px) {
  .coaching-page .coaching-hero-copy {
    padding-right: clamp(2rem, 5vw, 3.75rem);
    padding-left: clamp(2rem, 5vw, 3.75rem);
  }

  .coaching-page .coaching-feature-copy {
    padding-right: clamp(2rem, 4.5vw, 3.75rem);
    padding-left: clamp(2rem, 4.5vw, 3.75rem);
  }

  .coaching-page .coaching-image-right .coaching-feature-copy {
    padding-right: clamp(2rem, 4.5vw, 3.75rem);
    padding-left: clamp(2rem, 5vw, 3.75rem);
  }

  .coaching-page .coaching-inner {
    padding-right: clamp(2rem, 5vw, 3.75rem);
    padding-left: clamp(2rem, 5vw, 3.75rem);
  }
}

@media (max-width: 760px) {
  .coaching-page .coaching-hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .coaching-page .coaching-hero-photo {
    order: -1;
    height: clamp(330px, 83vw, 360px);
    min-height: 330px;
  }

  .coaching-page .coaching-hero-copy {
    padding: 45px 26px 59px;
  }

  .coaching-page .coaching-hero-copy h1 {
  }

  .coaching-page .coaching-hero-copy h2 {
    max-width: 19ch;
    margin-bottom: 1.5rem;
  }

  .coaching-page p {
  }

  .coaching-page .coaching-actions {
    align-items: stretch;
  }

  .coaching-page .coaching-actions .button {
    flex: 1 1 12rem;
  }

  .coaching-page .coaching-feature,
  .coaching-page .coaching-feature.coaching-image-right {
    display: flex;
    flex-direction: column;
  }

  .coaching-page .coaching-feature-image,
  .coaching-page .coaching-image-right .coaching-feature-image {
    order: -1;
    height: clamp(330px, 83vw, 360px);
    min-height: 330px;
  }

  .coaching-page .coaching-feature-copy,
  .coaching-page .coaching-image-right .coaching-feature-copy {
    order: 1;
    padding: 54px 27px 60px;
  }

  .coaching-page .coaching-feature-copy h2 {
    max-width: 17ch;
    margin-bottom: 1.45rem;
  }

  .coaching-page .coaching-inner {
    padding: 60px 26px;
  }

  .coaching-page .coaching-inner-grid {
    display: block;
  }

  .coaching-page .coaching-inner-intro {
    padding-right: 0;
  }

  .coaching-page .coaching-inner-intro h2 {
    max-width: 15ch;
    margin-bottom: 1.45rem;
  }

  .coaching-page .coaching-step-side {
    margin-top: 2.2rem;
    padding-left: 0;
    border-left: 0;
  }

  .coaching-page .coaching-step {
    grid-template-columns: 90px minmax(0, 1fr);
    column-gap: .8rem;
    padding: .9rem 0;
  }

  .coaching-page .coaching-step dt {
  }

  .coaching-page .coaching-step dd {
  }

  .coaching-page .coaching-step dd::before {
    width: 1.2rem;
  }

  .coaching-page .coaching-offer {
    display: block;
    padding: 70px 26px;
  }

  .coaching-page .coaching-offer-heading h2 {
    max-width: 15ch;
    margin-bottom: 1.7rem;
  }

  .coaching-page .coaching-offer-copy {
    padding-top: 0;
    padding-left: 0;
    border-left: 0;
  }

  .coaching-page .coaching-chapter {
    display: block;
    padding: 65px 27px;
  }

  .coaching-page .coaching-chapter-copy h2 {
    max-width: 17ch;
    margin-bottom: 1.35rem;
  }

  .coaching-page .coaching-leaf {
    display: none;
  }
}

@media (max-width: 380px) {
  .coaching-page .coaching-hero-copy,
  .coaching-page .coaching-feature-copy,
  .coaching-page .coaching-image-right .coaching-feature-copy,
  .coaching-page .coaching-inner,
  .coaching-page .coaching-offer,
  .coaching-page .coaching-chapter {
    padding-right: 22px;
    padding-left: 22px;
  }

  .coaching-page .coaching-step {
    grid-template-columns: 82px minmax(0, 1fr);
    column-gap: .65rem;
  }

  .coaching-page .coaching-actions .button {
    flex-basis: 100%;
  }
}
