.coaches-directory,.coach-profile-v31{padding-block:28px 48px;min-width:0}
.coaches-directory>.container,.coach-profile-v31>.container{max-width:1240px;min-width:0}
.coach-directory-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.coach-directory-heading h1{font-size:clamp(1.55rem,3vw,2.3rem);margin:6px 0;line-height:1.5}
.coach-directory-heading p{margin:0;color:var(--muted-strong);font-size:.9rem;line-height:1.9}
.coach-directory-cta{white-space:nowrap;font-size:.8rem}
.coach-directory-search{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.coach-directory-search .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.coach-directory-search>div{position:relative;flex:1;min-width:0}.coach-directory-search svg{position:absolute;inset-inline-start:13px;top:50%;translate:0 -50%;width:19px;height:19px;color:var(--muted);pointer-events:none}
.coach-directory-search input{width:100%;min-width:0;height:44px;padding:10px 40px 10px 12px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:var(--surface-subtle);font:inherit;font-size:.88rem}.coach-directory-search button{min-height:44px}
.coach-directory-results{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 14px}.coach-directory-results h2{display:flex;align-items:center;gap:10px;margin:0;font-size:1rem}.coach-directory-results h2 span{font-size:.75rem;font-weight:400;color:var(--muted)}.coach-directory-results>a{font-size:.75rem;color:var(--link)}
.coaches-directory .coach-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
.coaches-directory .coach-card{display:block;min-width:0;padding:0;overflow:hidden;border-radius:16px;box-shadow:var(--shadow-xs);transition:border-color .15s,transform .15s}
.coaches-directory .coach-directory-link{display:grid;grid-template-columns:minmax(0,1fr) 144px;grid-template-areas:"identity avatar" "bio avatar" "metrics avatar" "open open";align-items:start;gap:12px 20px;padding:18px;height:100%;margin:0;color:inherit;text-decoration:none;font-weight:400;min-width:0}
.coaches-directory .coach-avatar{grid-area:avatar;width:144px;height:180px;aspect-ratio:4/5;border-radius:14px;align-self:start;overflow:hidden;font-size:1.8rem;background:var(--brand-soft)}
.coaches-directory .coach-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.coach-card-identity{grid-area:identity;min-width:0}.coaches-directory .coach-card h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:1rem;line-height:1.6;margin:0 0 3px;overflow-wrap:anywhere}
.coach-professional-title{margin:0;color:var(--link);font-size:.8rem;line-height:1.7}.coach-card-identity .coach-professional-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.coach-admission{display:inline-flex;align-items:center;gap:5px;max-width:100%;margin-top:5px;color:var(--muted);font-size:.65rem;line-height:1.6}.coach-admission::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:var(--muted)}.coach-admission.is-accepting{color:var(--link)}.coach-admission.is-accepting::before{background:var(--brand)}
.coaches-directory .coach-card .coach-card-biography{grid-area:bio;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;color:var(--muted-strong);font-size:.78rem;line-height:1.9;min-width:0;overflow-wrap:anywhere}
.coach-card-metrics{grid-area:metrics;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.7rem;color:var(--muted-strong)}.coach-card-metrics>span{padding:4px 8px;background:var(--surface-subtle);border-radius:7px}.coach-card-metrics b{color:var(--text);font-weight:600}.coach-fide{letter-spacing:.03em}
.coach-card-open{grid-area:open;display:flex;justify-content:space-between;align-items:center;gap:8px;align-self:end;padding-top:10px;border-top:1px solid var(--border);font-size:.78rem;color:var(--link);font-weight:600}.coach-card-open svg{width:18px;height:18px;flex:none}
.coach-directory-empty,.coach-content-empty{padding:30px 20px;text-align:center;border:1px dashed var(--border);border-radius:16px;background:var(--surface)}.coach-directory-empty h2,.coach-content-empty h3{margin:0;font-size:1.1rem}.coach-directory-empty p,.coach-content-empty p{color:var(--muted-strong);font-size:.87rem;line-height:1.9}
.coach-directory-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:28px}.coach-directory-pagination>span{font-size:.8rem;color:var(--muted)}
.coaches-directory :focus-visible,.coach-profile-v31 :focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.coach-profile-breadcrumb{display:flex;gap:10px;align-items:center;margin-bottom:20px;font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}.coach-profile-breadcrumb a{color:var(--link);text-decoration:none}
.coach-profile-v31 .coach-profile-hero{grid-template-columns:144px minmax(0,1fr);gap:24px 30px;padding:30px;margin-bottom:24px;background:linear-gradient(120deg,var(--brand-soft),var(--surface) 68%);box-shadow:var(--shadow-xs);overflow:hidden}
.coach-profile-v31 .coach-profile-avatar{width:144px;height:144px;border-radius:22px;align-self:center;background:var(--brand-soft);font-size:3rem}
.coach-profile-identity{min-width:0}.coach-profile-v31 .coach-profile-hero h1{font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.5;margin:6px 0;overflow-wrap:anywhere}.coach-profile-identity .coach-professional-title{font-size:1rem;margin:0;overflow-wrap:anywhere}.coach-profile-identity .coach-admission{font-size:.75rem}
.coach-profile-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.coach-profile-actions .button{min-height:40px;font-size:.8rem;padding:8px 14px}.coach-edit-photo svg{width:18px;height:18px;flex:none}
.coach-profile-v31 .coach-profile-stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:0;padding-top:18px;border-top:1px solid var(--border)}.coach-profile-stats>div{display:grid;justify-items:center;gap:5px;padding:8px;min-width:0}.coach-profile-stats>div+div{border-inline-start:1px solid var(--border)}.coach-profile-v31 .coach-profile-stats span{padding:0;border-radius:0;background:none;font-size:.75rem;color:var(--muted-strong)}.coach-profile-stats strong{font-size:1.35rem;line-height:1.5;font-variant-numeric:tabular-nums}
.coach-profile-content{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.coach-profile-about{padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--surface);min-width:0}.coach-profile-about h2{font-size:1rem;margin:0 0 14px}.coach-profile-about p{margin:0;color:var(--muted-strong);font-size:.88rem;line-height:2.1;white-space:pre-line;overflow-wrap:anywhere}.coach-profile-about>a{display:block;margin-top:20px;padding-top:14px;border-top:1px solid var(--border);font-size:.78rem;color:var(--link);text-decoration:none}
.coach-profile-lessons{min-width:0}.coach-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.coach-section-heading h2{font-size:1.2rem;margin:4px 0 0}.coach-section-heading>span{font-size:.75rem;white-space:nowrap;color:var(--muted)}.coach-section-heading .eyebrow{font-size:.67rem}
.coach-profile-v31 .course-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.coach-profile-v31 .course-card{min-width:0;border-radius:16px;overflow:hidden}.coach-profile-v31 .course-card-cover{display:grid;place-items:center;aspect-ratio:16/9;min-height:0;height:auto;background:var(--surface-subtle)}.coach-profile-v31 .course-card-cover img{width:100%;height:100%;object-fit:cover}.coach-profile-v31 .course-card-cover .coach-course-fallback{width:64px;height:64px;object-fit:contain;opacity:.8}.coach-profile-v31 .course-card-body{padding:16px;min-width:0}.coach-profile-v31 .course-card h3{font-size:.96rem;line-height:1.8;margin:0;overflow-wrap:anywhere}.coach-profile-v31 .course-card h3 a{color:var(--text);text-decoration:none}.coach-profile-v31 .course-card-body>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:.78rem;color:var(--muted-strong);line-height:1.9;margin:8px 0 14px}.coach-profile-v31 .course-card-footer{gap:10px;flex-wrap:wrap;font-size:.76rem}.coach-profile-v31 .course-card-footer a{color:var(--link)}
.coach-article-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.coach-article-card{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-decoration:none;min-width:0}.coach-article-card h3{font-size:.92rem;line-height:1.8;color:var(--text);margin:0;overflow-wrap:anywhere}.coach-article-card p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;font-size:.78rem;line-height:1.9;color:var(--muted-strong)}.coach-article-card>span{font-size:.75rem;color:var(--link);margin-top:auto;padding-top:6px}
.coach-profile-v31 #coach-courses,.coach-profile-v31 #coach-articles{scroll-margin-top:calc(var(--header-height,72px) + 18px)}
@media(hover:hover){.coaches-directory .coach-card:hover{border-color:var(--brand-border);transform:translateY(-2px)}.coach-article-card:hover{border-color:var(--brand-border)}}
@media(max-width:1000px){.coaches-directory .coach-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-profile-content{grid-template-columns:240px minmax(0,1fr);gap:18px}.coach-profile-v31 .course-card-grid,.coach-article-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.coach-profile-content{grid-template-columns:minmax(0,1fr)}.coach-profile-v31 .course-card-grid,.coach-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-profile-v31 .coach-profile-hero{grid-template-columns:112px minmax(0,1fr);gap:18px;padding:22px}.coach-profile-v31 .coach-profile-avatar{width:112px;height:140px;border-radius:18px}.coach-profile-actions .button{padding:7px 10px}}
@media(max-width:600px){
 .coaches-directory,.coach-profile-v31{padding-top:16px}.coach-directory-heading{gap:10px;align-items:start;margin-bottom:16px;flex-wrap:wrap}.coach-directory-heading h1{font-size:1.4rem;margin:4px 0}.coach-directory-heading p{font-size:.76rem;line-height:1.8}.coach-directory-heading .eyebrow{font-size:.65rem}.coach-directory-cta{min-height:36px!important;padding:6px 10px;font-size:.7rem}
 .coach-directory-search{padding:9px;gap:8px;border-radius:12px}.coach-directory-search input{font-size:.8rem;height:40px}.coach-directory-search button{min-height:40px;font-size:.76rem;padding:8px 12px}.coach-directory-results{margin:18px 0 12px}.coach-directory-results h2{font-size:.9rem;gap:8px}.coach-directory-results h2 span,.coach-directory-results>a{font-size:.66rem}
 .coaches-directory .coach-card-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .coaches-directory .coach-card{border-radius:15px}
 .coaches-directory .coach-directory-link{grid-template-columns:minmax(0,1fr) 104px;grid-template-areas:"identity avatar" "bio avatar" "metrics avatar" "open open";gap:10px 14px;padding:14px;align-content:start}
 .coaches-directory .coach-avatar{width:104px;height:138px;border-radius:12px;font-size:2rem}
 .coaches-directory .coach-card h2{font-size:.98rem;line-height:1.7;margin-bottom:3px}
 .coach-card-identity .coach-professional-title{font-size:.75rem;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
 .coach-card-identity .coach-admission{font-size:.65rem;gap:5px;margin-top:5px}
 .coaches-directory .coach-card .coach-card-biography{font-size:.74rem;line-height:1.85}
 .coach-card-metrics{font-size:.65rem;gap:5px;align-self:end}.coach-card-metrics>span{padding:3px 6px}
 .coach-card-open{font-size:.74rem;padding-top:10px;gap:6px}.coach-card-open svg{width:17px;height:17px}

 .coach-directory-pagination{gap:10px}.coach-directory-pagination .button{font-size:.76rem;padding:8px 12px}.coach-profile-breadcrumb{font-size:.72rem;margin-bottom:14px}.coach-profile-v31 .coach-profile-hero{padding:18px;gap:18px 12px;border-radius:18px;grid-template-columns:104px minmax(0,1fr)}.coach-profile-v31 .coach-profile-avatar{width:104px;height:132px;aspect-ratio:auto;border-radius:14px;font-size:2rem;align-self:start}.coach-profile-v31 .coach-profile-hero h1{font-size:1.4rem;line-height:1.6}.coach-profile-identity .eyebrow{font-size:.6rem}.coach-profile-identity .coach-professional-title{font-size:.8rem}.coach-profile-identity .coach-admission{font-size:.65rem}.coach-profile-actions{gap:7px;margin-top:12px}.coach-profile-actions .button{min-height:38px;font-size:.7rem;padding:7px 10px}.coach-profile-v31 .coach-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 0;padding-top:14px}.coach-profile-stats>div{padding:4px}.coach-profile-stats>div:nth-child(odd){border-inline-start:0}.coach-profile-stats strong{font-size:1.25rem}.coach-profile-v31 .coach-profile-stats span{font-size:.67rem}.coach-profile-about{padding:18px}.coach-profile-about p{font-size:.8rem;line-height:2}.coach-section-heading h2{font-size:1.05rem}.coach-section-heading>span{font-size:.67rem}.coach-profile-v31 .course-card-grid,.coach-article-grid{grid-template-columns:minmax(0,1fr)}.coach-profile-v31 .course-card{display:grid;grid-template-columns:92px minmax(0,1fr)}.coach-profile-v31 .course-card-cover{aspect-ratio:auto;height:100%;min-height:130px}.coach-profile-v31 .course-card-cover img{object-fit:cover}.coach-profile-v31 .course-card-body{padding:13px}.coach-profile-v31 .course-card h3{font-size:.86rem}.coach-profile-v31 .course-card-body>p{font-size:.72rem;margin:5px 0 8px}.coach-profile-v31 .course-card-footer{font-size:.68rem}
}
@media(prefers-reduced-motion:reduce){.coaches-directory .coach-card{transition:none;transform:none!important}}

.coach-photo-editor{max-width:860px}.coach-photo-editor .profile-avatar-upload{grid-template-columns:144px minmax(0,1fr)}.coach-photo-editor .profile-avatar-preview{width:144px;height:180px;border-radius:16px}.coach-photo-editor .profile-avatar-preview img{object-position:center 25%}
@media(min-width:601px) and (max-width:900px){.coaches-directory .coach-directory-link{grid-template-columns:minmax(0,1fr) 104px;gap:10px 12px;padding:14px}.coaches-directory .coach-avatar{width:104px;height:138px}}
@media(max-width:360px){.coaches-directory .coach-directory-link{grid-template-columns:minmax(0,1fr) 88px;gap:9px 11px;padding:12px}.coaches-directory .coach-avatar{width:88px;height:120px}.coach-card-metrics{font-size:.62rem}}
@media(max-width:600px){.coach-photo-editor .profile-avatar-upload{grid-template-columns:minmax(0,1fr)}.coach-photo-editor .profile-avatar-preview{justify-self:center}}
