/* ─── PAGE HERO ─── */
.page-hero{padding:72px 52px 64px}
.page-hero h1{
  font-family:var(--serif);font-size:22px;font-weight:normal;
  line-height:1.70;color:var(--k);max-width:560px;margin-bottom:28px
}
.page-hero-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:80px;align-items:start;margin-top:48px
}
.page-hero-lead,.page-hero-right{
  font-family:var(--sans);font-size:14px;line-height:2.05;color:var(--km)
}

/* ─── PROGRAMS ─── */
.prog-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0
}
.prog{padding:0 52px 0 0;border-right:0.5px solid var(--rule)}
.prog:last-child{border-right:none;padding-right:0;padding-left:52px}
.prog-name{
  font-family:var(--sans);font-size:12px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--r);margin-bottom:16px
}
.prog h2{
  font-family:var(--serif);font-size:20px;font-weight:normal;
  line-height:1.6;color:var(--k);margin-bottom:20px
}
.prog-price{
  font-family:var(--serif);font-size:22px;color:var(--k);margin-bottom:4px
}
.prog-price-note{
  font-family:var(--sans);font-size:12px;color:var(--kl);margin-bottom:32px
}
.prog-desc{
  font-family:var(--sans);font-size:14px;line-height:2.05;
  color:var(--km);margin-bottom:36px
}
.prog-features{border-top:0.5px solid var(--rule);margin-bottom:32px}
.prog-feature{
  padding:12px 0;border-bottom:0.5px solid var(--rule);
  font-family:var(--sans);font-size:13px;line-height:1.7;color:var(--km);
  display:flex;gap:12px;align-items:baseline
}
.prog-feature::before{content:'—';color:var(--r);font-size:11px;flex-shrink:0}
.prog-avail{
  font-family:var(--sans);font-size:12px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--kl);margin-bottom:28px
}

/* ─── INCLUDED (dark band) ─── */
.included-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.incl-col{padding:0 28px 0 0;border-right:0.5px solid var(--rule-k)}
.incl-col:last-child{border-right:none;padding-right:0}
.incl-col:not(:first-child){padding-left:28px}
.incl-n{
  font-family:var(--sans);font-size:11px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--r);margin-bottom:14px
}
.incl-t{font-family:var(--sans);font-size:14px;line-height:1.75;color:#8a8a82}

/* ─── COACHES ─── */
.coaches-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(175px,1fr));
  gap:0
}
.coach-card{padding:0 28px 0 0;border-right:0.5px solid var(--rule)}
.coach-card:last-child{border-right:none;padding-right:0}
.coach-card:not(:first-child){padding-left:28px}
.coach-photo{
  width:175px;height:175px;min-width:175px;min-height:175px;
  background:var(--c);border:0.5px solid var(--rule);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;flex-shrink:0;position:relative;overflow:hidden;
  background-size:cover;background-position:center top
}
.coach-photo-placeholder{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:100%;height:100%;gap:8px
}
.coach-photo-placeholder span:first-child{
  font-family:var(--sans);font-size:10px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--kl)
}
.coach-photo-placeholder span:last-child{
  font-family:var(--sans);font-size:10px;color:var(--kl);opacity:0.5
}
.coach-name{
  font-family:var(--sans);font-size:13px;letter-spacing:0.04em;
  text-transform:uppercase;color:var(--k);margin-bottom:6px;font-weight:500
}
.coach-role{
  font-family:var(--sans);font-size:11px;letter-spacing:0.10em;
  text-transform:uppercase;color:var(--r);margin-bottom:14px
}
.coach-bio{
  font-family:var(--sans);font-size:12px;line-height:1.85;color:var(--km)
}
.coach-avail{
  margin-top:14px;padding-top:14px;border-top:0.5px solid var(--rule);
  font-family:var(--sans);font-size:10px;letter-spacing:0.10em;
  text-transform:uppercase;color:var(--kl)
}

/* ─── GET STARTED ─── */
.get-started-grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:80px;align-items:start;position:relative
}
.gs-h2{
  font-family:var(--serif);font-size:20px;font-weight:normal;
  line-height:1.6;color:var(--k);margin-bottom:18px
}
.gs-p{
  font-family:var(--sans);font-size:14px;line-height:2.05;
  color:var(--km);margin-bottom:32px
}
.gs-row{padding:20px 0}
.gs-lbl{
  font-family:var(--sans);font-size:11px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--kl);margin-bottom:6px
}
.gs-val{font-family:var(--sans);font-size:14px;color:var(--km)}

/* =========================================================================
   RESPONSIVE — coaching
   ========================================================================= */
@media (max-width:1024px){
  .page-hero{padding:56px 32px 48px}
  .page-hero-grid{gap:40px}
  .prog{padding-right:32px}
  .prog:last-child{padding-left:32px}
  .coaches-grid{grid-template-columns:repeat(3,minmax(160px,1fr));gap:24px}
  .coach-card{padding:0;border-right:none}
  .coach-card:not(:first-child){padding-left:0}
  .get-started-grid{gap:40px}
}

@media (max-width:768px){
  .page-hero{padding:44px 24px 40px}
  .page-hero h1{font-size:18px}
  .page-hero-grid{grid-template-columns:1fr;gap:24px}

  .prog-grid{grid-template-columns:1fr;gap:0}
  .prog{padding:0 0 32px;border-right:none;border-bottom:0.5px solid var(--rule);margin-bottom:32px}
  .prog:last-child{padding:0;border-bottom:none;margin-bottom:0}

  .included-grid{grid-template-columns:1fr}
  .incl-col{
    padding:18px 0;border-right:none;
    border-top:0.5px solid var(--rule-k);
    display:flex;gap:20px;align-items:baseline
  }
  .incl-col:not(:first-child){padding-left:0}
  .incl-col:last-child{border-bottom:0.5px solid var(--rule-k)}
  .incl-n{width:24px;margin-bottom:0;flex-shrink:0}

  .coaches-grid{grid-template-columns:1fr;gap:32px}
  .coach-card{padding:0 0 32px;border-bottom:0.5px solid var(--rule)}
  .coach-card:last-child{padding-bottom:0;border-bottom:none}

  .get-started-grid{grid-template-columns:1fr;gap:32px}
}
