.hero { position: relative; display: flex; min-height: 520px; align-items: flex-end; overflow: hidden; margin: 0 clamp(8px, 2vw, 24px); border-radius: 16px; }
.hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero .shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 32, 28, .15) 30%, rgba(14, 32, 28, .82)); }
.hero-inner { position: relative; max-width: 760px; padding: clamp(24px, 5vw, 56px); }
.eyebrow { margin-bottom: 14px; color: var(--mint-300); font: 600 12px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.hero h1 { margin: 0; color: var(--paper-50); font-size: clamp(34px, 6vw, 58px); font-weight: 900; letter-spacing: -.03em; line-height: 1.02; }
.hero p { max-width: 520px; margin: 18px 0 0; color: rgba(247, 246, 243, .85); font-size: 17px; line-height: 1.55; }
.ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.stat-band { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px clamp(24px, 6vw, 80px); padding: 44px 24px; }
.stat-band > div { text-align: center; }
.stat-band .num { font-size: 34px; font-weight: 900; letter-spacing: -.02em; }
.stat-band .lbl { margin-top: 4px; color: var(--ink-400); font: 11.5px var(--mono); text-transform: uppercase; }

.section { max-width: 1180px; margin: 0 auto; padding: 36px clamp(16px, 4vw, 48px) 8px; }
.section h2 { margin: 0 0 24px; font-size: 28px; font-weight: 900; letter-spacing: -.02em; }
.section .head { display: flex; align-items: baseline; justify-content: space-between; }
.card-link { color: var(--forest-600); font-size: 12px; font-weight: 700; }
.steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.step-card { padding: 26px 26px 28px; border: 1px solid var(--line-200); border-radius: 12px; background: #fff; }
.step-card .num { color: var(--forest-600); font: 800 13px var(--mono); }
.step-card h3 { margin: 10px 0 8px; font-size: 17px; font-weight: 800; }
.step-card p { margin: 0; color: var(--ink-500); font-size: 13.5px; line-height: 1.55; }

.athletes-section { padding-top: 44px; }
.athlete-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; }
.athlete-card { display: block; overflow: hidden; border: 1px solid var(--line-200); border-radius: 12px; background: #fff; color: var(--ink-900); }
.athlete-card:hover { box-shadow: 0 6px 18px rgba(20, 32, 28, .1); color: var(--ink-900); }
.athlete-card .cover-img { width: 100%; height: 120px; object-fit: cover; }
.athlete-card .inner { padding: 16px 18px 18px; }
.athlete-card .who { display: flex; align-items: center; gap: 10px; }
.athlete-card .who img { width: 38px; height: 38px; margin-top: -34px; border: 3px solid #fff; border-radius: 50%; object-fit: cover; }
.athlete-card .who b { margin-top: -8px; font-size: 14.5px; font-weight: 800; }
.athlete-card .line { margin-top: 6px; color: var(--ink-500); font-size: 12px; }
.athlete-card .foot { display: flex; justify-content: space-between; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--paper-200); }
.athlete-card .foot .twok, .athlete-card .foot .cls { font: 600 11px var(--mono); text-transform: uppercase; }
.athlete-card .foot .twok { color: var(--ink-400); }
.athlete-card .foot .cls { color: var(--forest-600); }

.coach-band { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); overflow: hidden; margin: 52px clamp(8px, 2vw, 24px) 24px; border-radius: 16px; background: var(--forest-900); }
.coach-band .copy { padding: clamp(28px, 5vw, 56px); color: var(--paper-50); }
.coach-band h2 { margin: 0; font-size: clamp(26px, 4vw, 36px); font-weight: 900; letter-spacing: -.02em; line-height: 1.1; }
.coach-band p { max-width: 440px; margin: 16px 0 0; color: rgba(247, 246, 243, .8); font-size: 15px; line-height: 1.6; }
.coach-band > img { width: 100%; min-height: 320px; height: 100%; object-fit: cover; }

@media (max-width: 575.98px) {
    .hero { min-height: 490px; }
    .hero p { font-size: 15px; }
    .hero .ctas, .coach-band .ctas { align-items: stretch; flex-direction: column; }
    .hero .ctas .btn, .coach-band .ctas .btn { width: 100%; }
    .stat-band { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 16px; }
}
