:root{--ink:#262328;--lime:#e2eb35;--paper:#f6f5f1;--line:#d6d3d2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.nav{height:96px;padding:0 4.5vw;display:flex;align-items:center;gap:4vw;background:#242126;color:white}.brand img{width:74px;height:74px;object-fit:contain}.nav nav{display:flex;gap:2rem;margin-left:auto}.nav nav a{font-size:.86rem;color:#c9c6c9}.nav nav a:hover,.nav nav .active{color:var(--lime)}.nav-cta,.primary{background:var(--lime);color:var(--ink);padding:1.05rem 1.35rem;font-weight:700;display:inline-flex;align-items:center;gap:2rem}h1,h2{font-family:Manrope,sans-serif;font-weight:400;letter-spacing:-.06em;margin:.7rem 0}
.kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;font-weight:700}
.roster{padding:3rem 7vw 4.5rem;max-width:1600px;margin:auto}
.roster-heading{margin-bottom:2.5rem}
.roster-heading h1{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.12;margin:0 0 .75rem}
.coach-shortcuts{display:none}
.instructor-grid{display:grid;gap:3rem}
.instructor{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;min-width:0;border-top:1px solid var(--line);padding-top:2rem;scroll-margin-top:1.5rem}
.identity{min-width:0}
.identity p{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;line-height:1.5;color:#625e62;margin:1.25rem 0 .5rem}
.identity h2{font-size:clamp(1.9rem,3vw,2.5rem);font-weight:500;letter-spacing:-.04em;line-height:1.15;margin:0}
.portrait{aspect-ratio:5/4;margin:0;overflow:hidden;background:#dedcd9}
.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 46%}
.portrait-nick img{object-position:center 24%}
.details{display:flex;flex-direction:column}
.group-availability{font-size:1rem;color:#625e62;line-height:1.65;margin:0 0 1.5rem}
.rates{margin:0 0 1.5rem}
.rates>div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:1px solid var(--line);padding:.8rem 0}
.rates span{color:#6b676b}
.rates strong{font:600 1.35rem Manrope;white-space:nowrap}
.rates small{font:400 .75rem 'DM Sans';color:#777}
.buttons{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2rem}
.secondary{font-size:.8rem;border-bottom:1px solid #aaa4aa;padding-bottom:.3rem}
.secondary span{font-weight:700}
.phone{font-size:.82rem;color:#676267}
a:focus-visible,button:focus-visible{outline:3px solid var(--lime);outline-offset:5px}
.roster .secondary:focus-visible,.coach-shortcuts a:focus-visible{outline-color:var(--ink)}
.junior{background:var(--lime);padding:7rem 12vw;text-align:center}.junior h2{font-size:clamp(4rem,7vw,7rem);line-height:.9}.junior p:not(.kicker){max-width:560px;margin:2rem auto;line-height:1.7}.junior a{background:var(--ink);color:white;padding:1.2rem 1.5rem;display:inline-flex;gap:3rem;font-weight:700}footer{background:#1f1d20;color:white;display:flex;align-items:center;gap:2rem;padding:3rem 5vw}footer img{width:80px}footer p{font:500 1.3rem Manrope}footer>a:last-child{margin-left:auto;font-size:.85rem}@media(max-width:800px){
.nav{height:78px;padding:0 1rem}
.brand img{width:58px;height:58px}
.nav nav{display:none}
.nav-cta{margin-left:auto;padding:.8rem;font-size:.78rem}
.roster{padding:2rem 1.5rem 3.5rem}
.roster-heading{margin-bottom:1.75rem}
.instructor-grid{gap:3rem}
.instructor{grid-template-columns:1fr;gap:1.5rem}
.portrait{max-width:520px}
.identity h2{font-size:1.9rem}
.coach-shortcuts{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1.25rem;font-size:.85rem}
.coach-shortcuts a{display:inline-flex;align-items:center;gap:.65rem;padding:.5rem 0;border-bottom:1px solid #aaa4aa}
.junior{padding:6rem 1.5rem}
footer{flex-direction:column;text-align:center}
footer>a:last-child{margin-left:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
