/* The coaching explanation: one clear invitation to watch, three useful benefits. */
.coaching-film .film-poster {
  border: 1px solid rgba(184,143,53,.7);
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(15,26,38,.2), 0 0 0 5px rgba(184,143,53,.045);
  isolation: isolate;
}
.film-poster::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg,rgba(16,28,40,.03) 20%,rgba(16,28,40,.22) 65%,rgba(16,28,40,.3));
  z-index: 0;
}
.coaching-film .film-overlay { z-index: 1; padding: 65px 25px 22px; gap: 15px; }
.coaching-film .film-overlay small { color: #d4dfeb; font-size: 11px; line-height: 1.5; margin-top: 6px; }
.film-play { position: absolute; inset: 0 0 34px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; z-index: 2; }
.coaching-film .play-circle {
  display: grid; place-items: center; flex: 0 0 76px; width: 76px; height: 76px; border: 1px solid #f2d995;
  color: #202e3b; background: linear-gradient(135deg,#f5df9f,#c29a45);
  box-shadow: 0 7px 25px rgba(0,0,0,.24); border-radius: 50%;
  transition: transform .2s ease, box-shadow .2s ease;
}
.play-circle svg { width: 31px; height: 31px; margin-left: 2px; }
.film-play-label { padding: 7px 13px; background: rgba(22,35,49,.9); border: 1px solid rgba(247,222,164,.35); border-radius: 30px; color: #fff8e8; font-size: 12px; letter-spacing: .025em; }
.film-poster:hover .play-circle, .film-poster:focus-visible .play-circle { transform: scale(1.07); box-shadow: 0 0 0 9px rgba(237,203,127,.13),0 10px 30px rgba(0,0,0,.3); }
.film-poster:focus-visible { outline: 3px solid #e3bc60; outline-offset: 7px; }
.film-poster.is-inviting .play-circle { animation: coaching-invite 1.8s ease-out 3; }
@keyframes coaching-invite { 0%,100% { box-shadow: 0 7px 25px rgba(0,0,0,.24),0 0 0 0 rgba(242,217,149,.32); } 70% { box-shadow: 0 7px 25px rgba(0,0,0,.24),0 0 0 17px rgba(242,217,149,0); } }
.coaching-film .film-caption { gap: 15px; flex-wrap: wrap; padding-top: 16px; line-height: 1.6; }
.coaching-steps { display: grid; align-content: start; gap: 12px; }
.coaching-steps article, .coaching-steps article:first-child {
  padding: 21px 23px; gap: 17px; border: 1px solid rgba(141,177,220,.23); border-radius: 12px;
  background: linear-gradient(115deg,rgba(141,177,220,.075),rgba(141,177,220,.015));
}
.coaching-steps article > .coaching-icon { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; color: #e1bb65; border: 1px solid rgba(184,143,53,.35); border-radius: 9px; background: rgba(184,143,53,.055); }
.coaching-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.coaching-steps article h3 { font-size: 18px; }
.coaching-steps article p { margin-bottom: 0; }
.film-status { color: #fff8e8; font-size: 13px; line-height: 1.6; padding: 0 20px 15px; margin: 0; }
@media (max-width:760px) {
  .coaching-film .film-overlay { padding: 55px 16px 15px; font-size: 14px; }
  .coaching-film .film-overlay small { display: none; }
  .coaching-film .play-circle { flex-basis: 59px; width: 59px; height: 59px; }
  .play-circle svg { width: 26px; height: 26px; }
  .film-play { gap: 9px; bottom: 27px; }
  .film-play-label { font-size: 10px; padding: 5px 10px; }
  .coaching-steps article, .coaching-steps article:first-child { padding: 19px 17px; gap: 14px; }
}
@media (prefers-reduced-motion:reduce) {
  .film-poster.is-inviting .play-circle { animation: none; }
  .coaching-film .play-circle { transition: none; }
}

/* A weekly coaching loop, paired with the original coaching video. */
.coaching-method .section-intro h2{font-family:Gobold,Impact,sans-serif;font-size:clamp(42px,4.6vw,64px);line-height:1.18;letter-spacing:-.5px;text-transform:uppercase}
.coaching-method .intro-note{padding-left:0;max-width:470px;font-size:16px;line-height:1.8}
.coaching-cycle{padding:15px 0 0 10px}
.cycle-label{color:var(--gold);font-size:9px;letter-spacing:1.8px;font-weight:700;margin:0 0 24px}
.coaching-cycle ol{list-style:none;padding:0;margin:0}
.coaching-cycle li{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:18px;padding:0 0 26px}
.coaching-cycle li:not(:last-child)::before{content:'';position:absolute;left:18px;top:42px;bottom:5px;width:1px;background:linear-gradient(#dbba7066,#a9bed025)}
.cycle-number{width:38px;height:38px;border-radius:50%;border:1px solid #dbba7066;display:grid;place-items:center;color:var(--gold);font-size:12px;font-weight:700;background:#dbba700a}
.coaching-cycle .cycle-stage{color:var(--gold);font-size:9px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;margin:0 0 5px;line-height:1.5}
.coaching-cycle h3{font-size:22px;line-height:1.3;font-weight:400;margin:0 0 8px}
.coaching-cycle li p:not(.cycle-stage){font-size:14px;line-height:1.7;color:var(--blue);margin:0;max-width:460px}
.coaching-cycle li:last-child{padding-bottom:0}
.cycle-outcome{border-top:1px solid #a9bed025;margin-top:24px;padding-top:16px;color:var(--cream);font-size:13px;line-height:1.65}
@media(max-width:760px){
 .coaching-method .section-intro h2{font-size:clamp(40px,10.5vw,54px)}
 .coaching-method .intro-note{font-size:14px;margin-top:20px;line-height:1.75}
 .coaching-cycle{padding:8px 0 0}
 .coaching-cycle li{gap:14px;padding-bottom:24px}
 .coaching-cycle h3{font-size:21px}
 .coaching-cycle li p:not(.cycle-stage){font-size:13px}
}

/* Keep the concise weekly loop aligned with its companion video. */
@media(min-width:761px){
 .coaching-method .coaching-grid{align-items:stretch}
 .coaching-method .coaching-film{margin-top:0}
 .coaching-method .coaching-cycle{display:flex;flex-direction:column;padding:0}
 .coaching-method .cycle-label{margin-bottom:18px}
 .coaching-method .coaching-cycle ol{display:flex;flex:1;flex-direction:column;justify-content:space-between;gap:16px}
 .coaching-method .coaching-cycle li{padding-bottom:0}
 .coaching-method .coaching-cycle li:not(:last-child)::before{bottom:-10px}
 .coaching-method .coaching-cycle li p:not(.cycle-stage){font-size:14px;line-height:1.6}
}

/* A centred coaching film with the development sequence beneath it. */
.coaching-method.coaching-method--centred .section-intro {
  display: block;
  text-align: center;
  margin: 0 auto 32px;
}
.coaching-method.coaching-method--centred .section-number { margin-bottom: 20px; }
.coaching-method.coaching-method--centred .section-intro h2 {
  font-size: clamp(40px, 4.4vw, 62px);
  line-height: 1.2;
  text-wrap: balance;
}
.coaching-method.coaching-method--centred .intro-note {
  max-width: 640px;
  padding: 0;
  margin: 18px auto 0;
  color: #c2d2dc;
  font-size: 16px;
}
.coaching-method.coaching-method--centred .coaching-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 38px;
}
.coaching-method.coaching-method--centred .coaching-film {
  width: min(100%, 820px);
  margin: 0 auto;
}
.coaching-method.coaching-method--centred .film-poster {
  aspect-ratio: auto;
  background: #132b3b;
  border-color: #dbba7080;
  box-shadow: 0 20px 60px #06131f40, 0 0 0 5px #dbba7006;
}
.coaching-method.coaching-method--centred .film-poster::after { display: none; }
.coaching-method--centred .film-visual {
  display: block;
  position: relative;
  /* Keep the source poster's captured player controls outside the preview. */
  aspect-ratio: 1156 / 606;
  overflow: hidden;
}
.coaching-method--centred .film-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #10233212;
  pointer-events: none;
}
.coaching-method--centred .film-visual > img {
  display: block;
  width: 100%;
  height: auto;
}
.coaching-method.coaching-method--centred .film-play { inset: 0; }
.coaching-method.coaching-method--centred .film-overlay {
  position: relative;
  inset: auto;
  justify-content: space-between;
  padding: 17px 24px;
  background: linear-gradient(110deg, #203b49, #132b3b);
  border-top: 1px solid #dbba7033;
  font-size: 16px;
}
.coaching-method.coaching-method--centred .film-overlay small {
  display: block;
  font-size: 12px;
  margin-top: 3px;
}
.coaching-method--centred .film-arrow { color: var(--gold); font-size: 24px; }
.coaching-method.coaching-method--centred .film-caption { padding-top: 12px; }
.coaching-method.coaching-method--centred .coaching-cycle {
  display: block;
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 0;
}
.coaching-method.coaching-method--centred .cycle-label { text-align: center; margin-bottom: 25px; }
.coaching-method.coaching-method--centred .coaching-cycle ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px;
}
.coaching-method.coaching-method--centred .coaching-cycle li { display: block; padding: 0; }
.coaching-method.coaching-method--centred .cycle-number { margin-bottom: 16px; }
.coaching-method.coaching-method--centred .coaching-cycle li:not(:last-child)::before {
  top: 19px;
  bottom: auto;
  left: 54px;
  width: calc(100% - 28px);
  height: 1px;
  background: linear-gradient(90deg, #dbba7070, #dbba7020);
}
.coaching-method.coaching-method--centred .cycle-stage { font-size: 10px; margin-bottom: 7px; }
.coaching-method.coaching-method--centred .coaching-cycle h3 { font-size: 22px; }
.coaching-method.coaching-method--centred .coaching-cycle li p:not(.cycle-stage) {
  color: #c2d2dc;
  font-size: 14px;
  line-height: 1.7;
}
@media (max-width:760px) {
  .coaching-method.coaching-method--centred .section-intro { margin-bottom: 26px; }
  .coaching-method.coaching-method--centred .section-intro h2 { font-size: clamp(38px, 9.7vw, 54px); }
  .coaching-method--centred #coaching-title em { display: block; }
  .coaching-method.coaching-method--centred .intro-note { font-size: 15px; margin-top: 16px; }
  .coaching-method.coaching-method--centred .film-overlay { padding: 14px 16px; font-size: 15px; }
  .coaching-method.coaching-method--centred .film-overlay small { font-size: 11px; max-width: 245px; }
  .coaching-method.coaching-method--centred .film-caption { font-size: 9px; gap: 6px 14px; }
  .coaching-method.coaching-method--centred .coaching-grid { gap: 30px; }
  .coaching-method.coaching-method--centred .cycle-label { text-align: left; margin-bottom: 22px; }
  .coaching-method.coaching-method--centred .coaching-cycle ol { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .coaching-method.coaching-method--centred .coaching-cycle li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 16px; }
  .coaching-method.coaching-method--centred .cycle-number { margin-bottom: 0; }
  .coaching-method.coaching-method--centred .coaching-cycle li:not(:last-child)::before {
    top: 48px;
    bottom: -16px;
    left: 18px;
    width: 1px;
    height: auto;
    background: linear-gradient(#dbba7070, #dbba7020);
  }
  .coaching-method.coaching-method--centred .coaching-cycle h3 { font-size: 21px; }
}
