/* IN THE RING FITNESS — Coach page (Coach.dc.html) */

/* Hero: dark portrait cover */
.coach-hero {
  position: relative; overflow: hidden;
  background: var(--ink-800); color: #fff;
  min-height: min(88vh, clamp(480px, 32.8vw, 880px));
  display: flex; align-items: flex-end;
}
.coach-hero__photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 25%; opacity: 0.8; }
.coach-hero__scrim { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(12, 14, 18, 0.95) 0%, rgba(12, 14, 18, 0.2) 65%); }
.coach-hero__inner { position: relative; width: 100%; padding: clamp(72px, 4.5vw, 120px) var(--gutter-x) clamp(32px, 2.1vw, 56px); animation: itr-rise-sm 600ms var(--ease-out) both; }
.coach-hero__meta { display: flex; align-items: center; gap: 16px; color: var(--text-on-dark-soft); }
.coach-hero__meta b { color: var(--red-500); font-weight: 700; }
.vbar { width: 1px; height: 14px; background: var(--slate-500); }
.coach-hero__title {
  margin-top: 22px;
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(52px, 7.5vw, 200px); line-height: 0.84; letter-spacing: -0.02em;
  text-transform: uppercase; color: #fff; text-wrap: balance;
}
.coach-hero__row {
  margin-top: 32px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 32px; align-items: end;
}
.coach-hero__lede { max-width: 520px; font-size: clamp(16px, 0.7vw, 19px); line-height: 1.55; color: var(--text-on-dark-soft); text-wrap: pretty; }
.coach-hero__stats { display: flex; gap: clamp(24px, 1.5vw, 40px); flex-wrap: wrap; justify-content: flex-end; }
.coach-hero__stats dd, .coach-hero__stats dt { margin: 0; }

/* Story */
.story { padding: var(--section-gap) var(--gutter-x) 0; }
.story__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: clamp(20px, 2.4vw, 64px); align-items: start;
}
.story__side { position: sticky; top: 160px; }   /* clears the sticky masthead */
.story__title { margin-top: 20px; }
.story__copy { max-width: 680px; }
.story__lead {
  font-family: var(--font-display); font-weight: 600;
  font-size: clamp(19px, 1.34vw, 36px); line-height: 1.2; letter-spacing: -0.01em;
  color: var(--ink-800); text-wrap: pretty;
}
.story__copy > p + p { margin-top: 20px; font-size: clamp(16px, 0.67vw, 18px); line-height: 1.65; color: var(--text-body); text-wrap: pretty; }
.story__lead + p { margin-top: 24px; }
.facts {
  margin-top: 36px; padding: 28px 0; border-top: 1px solid var(--ink-800); border-bottom: 1px solid var(--ink-800);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 20px;
}
.facts dt { font-family: var(--font-heading); font-weight: 700; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--steel-500); }
.facts dd { margin-top: 6px; font-family: var(--font-display); font-weight: 700; font-size: clamp(17px, 0.9vw, 24px); line-height: 1.2; text-transform: uppercase; color: var(--ink-800); }

/* Principles */
.principles { padding: var(--section-gap) var(--gutter-x) 0; }
.principles__grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 1px; background: var(--paper-200); border-bottom: 1px solid var(--paper-200);
}
.principle {
  background: var(--paper-050); padding: clamp(22px, 1.2vw, 32px) clamp(18px, 0.97vw, 26px); min-height: clamp(240px, 14.3vw, 384px);   /* 320px content + padding */
  display: flex; flex-direction: column; justify-content: space-between; gap: clamp(18px, 1.05vw, 28px);
}
.principle__num { font-family: var(--font-display); font-weight: 700; font-size: clamp(40px, 2.4vw, 64px); line-height: 1; color: var(--red-500); }
.principle__title {
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(26px, 1.8vw, 48px); line-height: 0.92; letter-spacing: -0.01em;
  text-transform: uppercase; color: var(--ink-800); text-wrap: balance;
}
.principle__body { margin-top: 14px; font-size: 16px; line-height: 1.55; color: var(--text-body); text-wrap: pretty; }

/* Photos + values */
.corner { padding: var(--section-gap) var(--gutter-x); }
.gallery { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 12px; height: min(52vh, 520px); }
.gallery figure { position: relative; overflow: hidden; background: var(--photo-fallback); }
.gallery img { width: 100%; height: 100%; object-fit: cover; }
.corner__foot {
  margin-top: clamp(24px, 2.1vw, 56px); padding-top: 24px; border-top: 1px solid var(--ink-800);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 32px; align-items: end;
}
.corner__values {
  font-family: var(--font-display); font-weight: 700; font-size: clamp(20px, 1.5vw, 40px); line-height: 1.05;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-800);
}
.corner__actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: flex-end; align-items: center; }

@media (max-width: 959.98px) {
  .story__side { position: static; }
  .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); height: auto; }
  .gallery figure { aspect-ratio: 1; }
  .gallery figure:first-child { grid-column: span 2; aspect-ratio: 16 / 9; }
  .corner__actions { justify-content: flex-start; }
  .coach-hero__stats { justify-content: flex-start; gap: 28px; }
}
@media (max-width: 639.98px) {
  .coach-hero__inner { padding-top: 64px; }
}
