.train-select { display: grid; gap: 14px; }
.train-select > .subtitle { margin-top: -7px; }
.train-recommendation { position: relative; overflow: hidden; min-height: 202px; padding: 21px; border-color: #826622; background: radial-gradient(circle at 88% 18%, #e8af3224, transparent 30%), linear-gradient(135deg, #1a190e, #111615 68%); }
.train-recommendation::after { content: ""; position: absolute; right: -34px; bottom: -64px; width: 175px; height: 175px; border: 1px solid #e8af3255; border-radius: 50%; box-shadow: inset 0 0 40px #e8af3211; }
.train-recommendation > * { position: relative; z-index: 1; }
.train-recommendation h2 { margin: 10px 0 5px; font-size: clamp(1.7rem, 8vw, 2.35rem); }
.train-recommendation-note { max-width: 210px; margin: 9px 0 17px; color: #c8ba8e; font-size: .79rem; }
.train-recommendation .button { min-width: 196px; }
.train-recommendation .button span { margin-left: 10px; font-size: 1.15rem; }
.train-body-map { position: absolute; z-index: 1; right: 9px; bottom: 8px; width: 142px; height: 174px; margin: 0; color: #e8af32; filter: drop-shadow(0 0 12px #e8af3255); }
.train-body-map svg { width: 100%; height: 100%; }
.train-body-map .outline { fill: none; stroke: #b28b38; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; opacity: .8; }
.train-body-map .muscles { stroke: #f3bd44; stroke-width: .8; }
.train-body-map .muscles path { fill: transparent; }
.train-body-map[data-area="legs"] .lower,
.train-body-map[data-area="torso"] .upper { fill: #d99d2452; stroke: #f3bd44; }
.train-body-map figcaption { position: absolute; right: -3px; bottom: 1px; width: 126px; color: #f3bd44; font-size: .57rem; font-weight: 850; letter-spacing: .12em; text-align: center; }
.train-body-map figcaption small { display: block; margin-top: 3px; color: #c0b08b; font-size: .47rem; letter-spacing: 0; white-space: nowrap; }
.train-other-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 3px; }
.train-other-heading h2 { margin: 0; font-size: 1.06rem; }
.train-other-heading span { color: var(--muted); font-size: .7rem; }
.train-options { margin: 0; }
.train-options .choice { min-height: 120px; padding: 15px; }
.train-options .choice strong { font-size: 1.03rem; }
@media (max-width: 410px) {
  .train-recommendation { min-height: 192px; padding: 18px; }
  .train-recommendation .button { min-width: 176px; }
  .train-body-map { right: 1px; bottom: 6px; width: 131px; height: 159px; }
  .train-body-map figcaption { right: -5px; }
  .train-options .choice { min-height: 112px; padding: 13px; }
}
