.coach-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 24px;
  align-items: end;
  margin-bottom: 22px;
  padding: 30px;
  border-radius: 24px;
  color: #fff;
  background: linear-gradient(135deg, #17223b 0%, #253b66 72%, #b88a36 100%);
  box-shadow: 0 18px 44px rgba(23, 34, 59, .18);
}
.coach-hero h1 {
  max-width: 760px;
  margin: .35rem 0 .7rem;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.02;
}
.coach-hero p { max-width: 720px; color: #eef2fb; }
.coach-role {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 18px;
  background: rgba(255, 255, 255, .1);
  backdrop-filter: blur(10px);
}
.coach-role span {
  padding: 8px 10px;
  border-radius: 10px;
  color: #17223b;
  background: #fff;
}
.coach-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; }
.coach-need {
  margin-top: 12px;
  padding: 18px;
  border-left: 5px solid #d5a33d;
  border-radius: 14px;
  background: #f8f3e8;
}
.coach-review { margin-top: 18px; border-top: 5px solid #d5a33d; }
.coach-report {
  margin-top: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.coach-report .item-line { gap: 14px; }
.coach-report p { margin: .6rem 0; }
@media (max-width: 760px) {
  .coach-hero, .coach-grid { grid-template-columns: 1fr; }
  .coach-hero { padding: 24px; }
  .coach-role { grid-template-columns: repeat(3, 1fr); }
  .coach-role b { grid-column: 1 / -1; }
  .coach-role span { text-align: center; font-size: .86rem; }
}
