/* Homepage-only layout: shared alignment, readable type and calm spacing. */
.home-page{--home-gutter:max(24px,calc((100% - 1184px)/2));--muted:#4e6075}
.home-page header,.home-page footer,.home-page .section,.home-page .contact,.home-page .afa-now,.home-page .afa-main-intro,.home-page .one-team-hero,.home-page .ticker{padding-inline:var(--home-gutter);max-width:none}
.home-page header{min-height:88px;height:auto;padding-block:16px;gap:24px}
.home-page header nav{gap:24px;width:auto;flex-wrap:wrap;justify-content:flex-end}
.home-page header nav a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap}
.home-page .section{padding-block:64px}
.home-page .section-head,.home-page .instagram-heading{align-items:flex-end;gap:24px;margin-bottom:28px}
.home-page .section-head h2,.home-page .instagram-heading h2{font-size:clamp(28px,2.7vw,38px);line-height:1.4;letter-spacing:-1px}
.home-page .eyebrow{margin-bottom:10px;line-height:1.6}
.home-page .afa-main-intro{padding-block:28px}
.home-page .afa-main-intro p{font-size:16px;line-height:1.8}
.home-page .afa-now{grid-template-columns:156px minmax(0,1fr);gap:28px;padding-block:24px;align-items:start}
.home-page .afa-now-heading{padding-top:8px}
.home-page .afa-now-heading p{font-size:13px;margin-left:16px}
.home-page .afa-now-items{gap:0}
.home-page .afa-now-items li{display:grid;grid-template-columns:70px minmax(0,1fr) 176px;gap:16px;align-items:baseline;padding-block:10px;font-size:16px;line-height:1.75}
.home-page .afa-now-items li+li{border-top:1px solid #ffffff25}
.home-page .afa-now-team{font-size:14px;min-width:0}
.home-page .afa-now-date{font-size:14px;text-align:right;font-variant-numeric:tabular-nums;color:#d5dfeb}
.home-page .one-team-hero{padding-bottom:32px}
.home-page .one-team-image,.home-page .one-team-hero .yanggu-results{max-width:none;margin:0}
.home-page .one-team-hero .yanggu-results{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:24px}
.home-page .yanggu-results .yanggu-grades{max-width:540px;flex:1;gap:12px}
.home-page .yanggu-results .yanggu-grades li{padding:12px;border-color:#ffffff40;background:transparent}
.home-page .result-story-link{margin:0;flex-shrink:0;gap:24px;min-height:48px;font-size:15px}
.home-page .c8-home-wrap{max-width:none;padding:32px var(--home-gutter)}
.home-page .c8-home-feature{padding:28px 32px;border-radius:8px;grid-template-columns:minmax(0,1fr) 136px}
.home-page .c8-home-feature img{width:136px}
.home-page .c8-home-feature p:first-child{font-size:12px;letter-spacing:1.5px;color:#f0cf72}
.home-page .c8-link{min-height:48px;display:inline-flex;align-items:center}
.home-page .about-compact{padding-block:32px;border-bottom:1px solid #dde4ed;gap:32px}
.home-page .about-compact p{font-size:16px;line-height:1.85;color:var(--muted)}
.home-page .team-grid{gap:24px}
.home-page .team-grid article{display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid #dce3eb;box-shadow:none;border-radius:8px}
.home-page .team-grid article:hover{transform:none;box-shadow:none}
.home-page .program-top{width:100%;font-size:12px;letter-spacing:.5px}
.home-page .team-grid h3{font-size:28px;line-height:1.4;margin:24px 0 12px;letter-spacing:-.8px}
.home-page .team-grid h3 small{font-size:15px;font-weight:500;line-height:1.7;margin-top:8px}
.home-page .team-grid p{font-size:16px;line-height:1.85;margin:0 0 24px}
.home-page .program-actions{margin-top:auto;width:100%}
.home-page .program-secondary{display:flex;flex-wrap:wrap;gap:4px 16px;margin-bottom:12px}
.home-page .program-secondary a{width:auto;font-size:13px;font-weight:500;min-height:36px;border:0;margin:0;padding:6px 0;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.home-page .program-primary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:14px 0 0;margin:0;font-size:15px}
.home-page .afa-news-home{gap:24px}
.home-page .afa-news-home .afa-news-card{border-radius:8px}
.home-page .afa-news-home .afa-news-card>a{display:flex;height:100%}
.home-page #news .afa-news-home .afa-news-copy{display:flex;flex-direction:column;width:100%;padding:26px}
.home-page .afa-news-home .afa-news-card h3{font-size:21px;line-height:1.55;margin:12px 0;letter-spacing:-.5px}
.home-page .afa-news-home .afa-news-card p{font-size:15px;line-height:1.8;color:var(--muted)}
.home-page #news .afa-news-home .afa-news-action{margin-top:auto;padding-top:20px;font-size:15px;color:var(--blue)}
.home-page .afa-news-tag{font-size:13px}
.home-page .channel-links a{min-height:46px;display:inline-flex;align-items:center;padding:10px 16px;border-radius:4px}
.home-page .venue-section{padding-top:0;padding-bottom:56px}
.home-page .training-ground{padding:28px;gap:32px;align-items:center}
.home-page .training-ground>div:first-child{min-width:0}
.home-page .venue-actions{min-width:230px}
.home-page .instagram-grid{gap:24px}
.home-page .instagram-caption h3{font-size:17px;line-height:1.6}
.home-page .faq{padding-block:64px}
.home-page .faq-list summary{font-size:18px;line-height:1.7;padding:22px 44px 22px 0}
.home-page .faq-list details p{font-size:16px;line-height:1.9}
.home-page .contact{padding-block:64px;gap:64px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.home-page .contact h2{font-size:36px;line-height:1.4}
.home-page .contact-actions{display:grid;grid-template-columns:1fr 1fr}
.home-page .contact-actions a{justify-content:center;min-height:52px}
.home-page .consult-fields{gap:16px}
.home-page footer{padding-block:32px}
@media(max-width:1050px){
 .home-page header{flex-wrap:wrap}.home-page header nav{gap:18px}
 .home-page .afa-now{grid-template-columns:1fr;gap:12px}.home-page .afa-now-heading{display:flex;justify-content:space-between;align-items:center;padding:0}.home-page .afa-now-heading p{margin:0}
 .home-page .team-grid{gap:16px}.home-page .team-grid article{padding:24px}.home-page .team-grid h3{font-size:25px}
 .home-page .contact{gap:32px}
}
@media(max-width:800px){
 .home-page header{flex-wrap:nowrap}.home-page header nav{gap:12px;flex-wrap:nowrap}.home-page header nav a:not(.nav-cta):not(.nav-alumni){display:none}
 .home-page .section-head{flex-direction:column;align-items:flex-start;gap:12px}
 .home-page .team-grid{grid-template-columns:1fr}.home-page .team-grid article{padding:28px}.home-page .team-grid h3{font-size:28px}
 .home-page .afa-now-items li{grid-template-columns:66px minmax(0,1fr);gap:2px 12px}
 .home-page .afa-now-date{grid-column:2;text-align:left;white-space:normal}
 .home-page .one-team-hero .yanggu-results{display:block}.home-page .yanggu-results .yanggu-grades{max-width:none}.home-page .result-story-link{margin-top:12px;width:100%;justify-content:space-between}
 .home-page .contact{grid-template-columns:1fr}
 .home-page .training-ground{align-items:flex-start}
}
@media(max-width:600px){
 .home-page{--home-gutter:20px}
 .home-page header{min-height:78px;padding-block:14px;gap:10px}.home-page header .brand{font-size:15px}.home-page header .brand img{width:36px;height:36px}.home-page header .brand small{font-size:8px}
 .home-page header nav{gap:10px}.home-page header nav a{font-size:13px}.home-page header .nav-cta{padding:10px 12px}
 .home-page .mobile-shortcuts{padding-inline:12px}.home-page .mobile-shortcuts a{font-size:14px;min-height:48px}
 .home-page .section,.home-page .faq{padding-block:44px}.home-page .section-head h2,.home-page .instagram-heading h2{font-size:28px}
 .home-page .afa-main-intro{padding-block:24px}.home-page .afa-main-intro h1{font-size:25px}.home-page .afa-main-intro p{font-size:15px}
 .home-page .afa-now{padding-block:20px}.home-page .afa-now-items li{font-size:15px;padding-block:12px}.home-page .afa-now-team{font-size:13px}.home-page .afa-now-date{font-size:13px}
 .home-page .one-team-hero{padding-inline:0;padding-bottom:24px}.home-page .one-team-hero .yanggu-results{margin-inline:var(--home-gutter);padding-top:20px}
 .home-page .c8-home-wrap{padding-block:24px}.home-page .c8-home-feature{padding:24px;grid-template-columns:minmax(0,1fr) 88px;gap:16px}.home-page .c8-home-feature img{width:88px}.home-page .c8-home-feature h2{font-size:25px}.home-page .c8-home-feature p{font-size:14px}
 .home-page .about-compact{grid-template-columns:1fr;gap:12px;padding-block:28px}.home-page .about-compact h2{font-size:24px}
 .home-page .team-grid article{padding:24px}.home-page .team-grid h3{font-size:28px}
 .home-page #news .afa-news-home .afa-news-copy{padding:24px}.home-page .afa-news-home .afa-news-card h3{font-size:21px}
 .home-page .channel-links{display:grid;grid-template-columns:1fr;gap:8px}.home-page .channel-links a{justify-content:space-between}
 .home-page .venue-section{padding-top:0;padding-bottom:44px}.home-page .training-ground{padding:24px;gap:24px}.home-page .venue-actions{min-width:0}
 .home-page .instagram-grid{gap:14px}.home-page .instagram-caption{padding:14px}.home-page .instagram-caption h3{font-size:16px}.home-page .instagram-caption span{font-size:13px}
 .home-page .faq-list summary{font-size:17px}.home-page .contact{padding-block:44px}.home-page .contact h2{font-size:30px}
 .home-page .consult-fields{grid-template-columns:1fr 1fr;gap:12px}.home-page .consult-picker select{padding:12px 8px}
}
@media(max-width:360px){
 .home-page{--home-gutter:16px}.home-page header .brand small{display:none}.home-page header .brand{font-size:14px;gap:6px}.home-page header nav{gap:8px}.home-page header .nav-cta{padding:10px}
 .home-page .c8-home-feature{grid-template-columns:1fr}.home-page .c8-home-feature img{display:none}.home-page .consult-fields{grid-template-columns:1fr}
}
