/* Meet Your Coach only. Finalized pages keep their existing styles. */
.coach-page { --coach-ink: #2d3433; --coach-olive: #4e6033; }
.coach-page .coach-container { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.coach-page .coach-opening { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; gap: 40px; padding-bottom: 48px; }
.coach-page .inner-page-intro__copy { min-width: 0; }
.coach-page :is(.coach-opening, .coach-section, .reviews-section) .eyebrow { margin: 0 0 12px; color: var(--coach-olive); font: 700 .8125rem/1.4 "Manrope", Arial, sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.coach-page :is(.coach-opening, .coach-section, .reviews-section) :is(h1, h2) { max-width: 760px; margin: 0; color: var(--deep-pacific); font-family: "Satoshi", "Manrope", Arial, sans-serif; font-size: clamp(2.375rem, 4vw, 3rem); font-weight: 700; line-height: 1.1; letter-spacing: -.025em; text-wrap: balance; }
.coach-page .coach-opening .inner-page-intro__copy > p:not(.eyebrow) { margin: 20px 0 0; color: var(--coach-ink); font-size: 1.125rem; line-height: 1.65; }
.coach-page .coach-opening-photo { margin: 0; overflow: hidden; border-radius: 28% 6% 28% 6% / 32% 8% 32% 8%; box-shadow: 0 10px 26px rgba(22,59,74,.13), 0 2px 6px rgba(22,59,74,.06); }
.coach-page .coach-opening-photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; object-position: 50% 55%; }
.coach-page .coach-opening .button { width: fit-content; max-width: 100%; margin-top: 24px; }
.coach-page .coach-credentials { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid rgba(22,59,74,.2); border-radius: 24px; overflow: hidden; background: var(--sand); }
.coach-page .coach-credentials > article { min-width: 0; padding: 25px; }
.coach-page .coach-credentials > article + article { border-left: 1px solid rgba(22,59,74,.2); }
.coach-page .coach-credentials h2 { font-size: 1.7rem; line-height: 1.18; margin: 0 0 12px; text-wrap: initial; }
.coach-page .coach-credentials p:not(.eyebrow) { margin: 0; color: var(--coach-ink); font: 400 1rem/1.65 "Manrope", Arial, sans-serif; }
.coach-page .coach-section { padding-block: 72px; background: var(--warm-white); color: var(--deep-pacific); }
.coach-page .coach-section p:not(.eyebrow) { margin: 20px 0 0; color: var(--coach-ink); font-size: 1rem; line-height: 1.65; font-weight: 400; }
.coach-page .coach-section h3 { margin: 0; color: var(--deep-pacific); font: 700 clamp(1.5rem, 2.2vw, 1.75rem)/1.18 "Satoshi", "Manrope", Arial, sans-serif; letter-spacing: -.025em; }
.coach-page .coach-copy-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; gap: 48px; }
.coach-page .coach-copy-grid > div { min-width: 0; }
.coach-page .coach-copy-grid > div > p:first-child:not(.eyebrow) { margin-top: 0; }
.coach-page .coach-prose .text-link { display: inline-block; margin-top: 24px; }
.coach-page .coach-background { padding-top: 24px; }
.coach-page .coach-approach { background: color-mix(in srgb, var(--seafoam) 14%, var(--warm-white)); }
.coach-page .coach-section-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: end; gap: 48px; margin-bottom: 32px; }
.coach-page .coach-section-heading > p:not(.eyebrow) { margin: 0; font-size: 1.125rem; }
.coach-page .coach-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; border: 1px solid rgba(22,59,74,.2); border-radius: 24px; overflow: hidden; }
.coach-page .coach-steps li { min-width: 0; padding: 28px; background: var(--warm-white); }
.coach-page .coach-steps li + li { border-left: 1px solid rgba(22,59,74,.2); }
.coach-page .coach-step-number { display: block; margin-bottom: 28px; color: var(--coach-olive); font: 700 .8125rem/1.4 "Manrope", Arial, sans-serif; letter-spacing: .15em; }
.coach-page .coach-steps h3 { font-size: clamp(1.45rem, 2.2vw, 1.7rem); }
.coach-page .coach-steps p:not(.eyebrow) { margin-top: 16px; }
.coach-page .coach-expectation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.coach-page .coach-expectation-grid article { min-width: 0; padding: 28px; background: var(--warm-white); border: 1px solid rgba(22,59,74,.2); border-radius: 24px; }
.coach-page .coach-section-link { display: inline-block; margin-top: 24px; }
.coach-page .coach-practice { background: radial-gradient(circle at 92% 10%, rgba(130,188,174,.28), transparent 28%), var(--sand); }
.coach-page .coach-media-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; gap: 48px; }
.coach-page .coach-practice .text-link { display: inline-block; margin-top: 24px; }
.coach-page .coach-practice-media { min-width: 0; }
.coach-page .coach-practice .surf-film { border-radius: 24px; box-shadow: 0 10px 26px rgba(22,59,74,.13); }
.coach-page .coach-practice .surf-film img { aspect-ratio: 3 / 2; object-position: center; }
.coach-page .reviews-section { padding-block: 72px; background: color-mix(in srgb, var(--seafoam) 14%, var(--warm-white)); color: var(--deep-pacific); }
.coach-page .reviews-section .review-card { border: 1px solid rgba(22,59,74,.12); }
.coach-page .reviews-section .review-card:nth-child(even) { border-color: transparent; }
.coach-page .reviews-section .review-card p span { opacity: 1; color: var(--coach-ink); }
.coach-page .reviews-section .google-review-summary small { color: var(--coach-ink); }
.coach-page .reviews-section .review-stars { color: #846000; }
.coach-page .reviews-section .google-mark { color: #245abb; }
.coach-page .reviews-control { min-height: 44px; font-weight: 700; }
.coach-page .reviews-status { font-weight: 700; }
.coach-page .coach-planner { background: radial-gradient(circle at 8% 90%, rgba(130,188,174,.28), transparent 28%), var(--sand); }
.coach-page .coach-planner .coach-copy-grid { align-items: center; }
.coach-page .coach-planner .button { margin-top: 24px; max-width: 100%; }
.coach-page .button--coral { color: #202625; }
.coach-page :is(a, button, summary, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--deep-pacific); outline-offset: 4px; box-shadow: 0 0 0 6px var(--warm-white); }
.coach-page .surf-film:focus-visible { outline-offset: 5px; }
.coach-page .reviews-track:focus-visible { outline-offset: -4px; box-shadow: none; }
.coach-page .text-link { color: var(--deep-pacific); text-underline-offset: 4px; }
.coach-page .text-link:hover { color: var(--coach-olive); }
.coach-page .coach-section [id] { scroll-margin-top: 104px; }
@media (max-width: 1100px) {
  .coach-page .coach-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coach-page .coach-steps li:nth-child(3) { border-left: 0; }
  .coach-page .coach-steps li:nth-child(n+3) { border-top: 1px solid rgba(22,59,74,.2); }
}
@media (max-width: 960px) {
  .coach-page .coach-section-heading { grid-template-columns: 1fr; gap: 20px; }
  .coach-page .coach-credentials > article { padding: 24px 20px; }
}
@media (max-width: 800px) {
  .coach-page :is(.coach-opening, .coach-copy-grid, .coach-media-grid) { grid-template-columns: 1fr; gap: 28px; }
  .coach-page .coach-opening-photo { max-width: 600px; width: 100%; }
  .coach-page .coach-expectation-grid { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 700px) {
  .coach-page .coach-container { width: calc(100% - 36px); }
  .coach-page .coach-opening { padding-bottom: 32px; }
  .coach-page :is(.coach-section, .reviews-section) { padding-block: 48px; }
  .coach-page .coach-background { padding-top: 24px; }
  .coach-page .coach-credentials { grid-template-columns: 1fr; }
  .coach-page .coach-credentials > article { padding: 24px; }
  .coach-page .coach-credentials > article + article { border-left: 0; border-top: 1px solid rgba(22,59,74,.2); }
  .coach-page .coach-section-heading { margin-bottom: 24px; }
  .coach-page .coach-expectation-grid article { padding: 24px; }
  .coach-page .coach-steps li { padding: 24px; }
  .coach-page .reviews-controls { gap: 8px; }
  .coach-page .reviews-control { min-width: 80px; letter-spacing: .04em; }
  .coach-page .reviews-footer p { color: var(--coach-ink); }
  .coach-page .surf-film__label { inset: auto 12px 12px 12px; padding: 10px 12px; font-size: .875rem; }
}
@media (max-width: 540px) {
  .coach-page .coach-steps { grid-template-columns: 1fr; }
  .coach-page .coach-steps li + li { border-left: 0; border-top: 1px solid rgba(22,59,74,.2); }
  .coach-page .coach-step-number { margin-bottom: 20px; }
  .coach-page .coach-opening .button, .coach-page .coach-planner .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .coach-page .surf-film img, .coach-page .button { transition: none; }
  .coach-page .button:hover { transform: none; }
}
/* Preserve the blue review accent with readable small text. */
.coach-page .reviews-section .review-card:nth-child(even) { background: #476b7e; color: var(--warm-white); }
.coach-page .reviews-section .review-card:nth-child(even) :is(blockquote, p, p strong, p span, .review-stars) { color: var(--warm-white); opacity: 1; }
.coach-page .booking-dialog :is(.eyebrow, legend) { color: var(--coach-olive); }

/* Opening films retain the existing curved photo frame. */
.coach-page .coach-opening-media { min-width: 0; width: 100%; }
.coach-page .coach-opening-photo .surf-film { border-radius: 0; }
.coach-page .coach-opening-photo:focus-within { outline: 3px solid var(--deep-pacific); outline-offset: 5px; }
.coach-page .coach-opening-media .surf-film-secondary { max-width: 100%; text-align: left; line-height: 1.5; }
@media (max-width: 800px) {
  .coach-page .coach-opening-media { max-width: 600px; }
}
