/* Club content update: a clear weekly schedule, full coaching team and partners. */
.training-schedule .schedule-top{grid-template-columns:minmax(0,1fr) 265px;gap:44px;align-items:start;padding-top:46px;padding-bottom:42px}
.schedule-main>h2{font-size:56px;margin:13px 0 25px}
.schedule-list{border-top:1px solid #ffffff65}
.schedule-row{display:grid;grid-template-columns:76px 176px minmax(0,1fr);align-items:center;gap:22px;padding:22px 0;border-bottom:1px solid #ffffff4d}
.schedule-day{font-size:12px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.schedule-time{font-family:var(--display);font-style:italic;font-size:32px;font-weight:800;line-height:1;white-space:nowrap}
.schedule-group h3{font-size:29px;font-style:italic;line-height:1.05}
.schedule-group p{font-size:11px;color:#e2eaff;line-height:1.6;margin-top:5px}
.schedule-note{font-size:12px;margin-top:17px;color:#e2eaff}
.training-schedule .schedule-location{border-right:0;padding:0 0 0 28px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.schedule-location h3{font-size:33px}
.schedule-location .text-link{align-self:flex-start}
.schedule-invite{display:block;font-family:var(--display);font-style:italic;font-size:33px;font-weight:800;line-height:1.05;margin-top:32px}
.schedule-invite span{font-family:'KTB Symbols',sans-serif;font-style:normal}
.about-picture img{aspect-ratio:4/3;object-fit:contain}
.coaches-intro{font-size:14px;line-height:1.85;max-width:850px;margin-top:23px}
.coach-strengths{display:flex;gap:12px 28px;flex-wrap:wrap;margin-top:20px;font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--blue)}
.coach-strengths span{border-left:3px solid var(--blue);padding-left:12px}
.coach-leads{margin-top:30px}
.coach-leads .coach{min-height:250px}
.coach-roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:20px}
.coach-compact{min-height:190px;padding:24px;display:block}
.coach-compact:after{height:8px;bottom:12px}
.coach-compact .coach-role{position:relative;z-index:1;font-size:9px;font-weight:700;letter-spacing:.12em;color:#c2c6cf;margin-bottom:15px}
.coach-compact h3{position:relative;z-index:1;font-size:35px;line-height:.98}
.coach-belt{position:absolute;right:22px;bottom:22px;z-index:1;font-family:var(--display);font-size:26px;font-weight:800;font-style:italic;line-height:1}
.partners{background:white;padding-top:55px;padding-bottom:60px}
.partners .section-kicker{margin-bottom:26px}
.partners-layout{display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:55px}
.partners h2{font-size:52px}
.partners-layout>div>p{font-size:12px;color:#565e65;margin-top:16px}
.partner-logos{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}
.partner-logo{display:flex;align-items:center;justify-content:center;min-height:172px;padding:12px;background:#fff}
.partner-logo img{max-width:280px;width:100%;height:150px;object-fit:contain;transition:transform .2s}
.partner-logo:hover img{transform:translateY(-3px)}
.partner-nsa img{max-width:230px}
@media(max-width:1100px){
 .training-schedule .schedule-top{grid-template-columns:minmax(0,1fr) 215px;gap:28px}
 .schedule-row{grid-template-columns:60px 150px minmax(0,1fr);gap:15px}
 .schedule-time{font-size:28px}.schedule-group h3{font-size:26px}
 .schedule-location h3{font-size:29px}
 .coach-roster{gap:14px}.coach-compact{padding:21px;min-height:180px}.coach-compact h3{font-size:30px}
 .coach-belt{right:19px;font-size:24px}
 .partners-layout{gap:30px}.partner-logos{gap:12px}
}
@media(max-width:850px){
 .training-schedule .schedule-top{grid-template-columns:1fr;gap:28px;padding:35px}
 .schedule-main>h2{font-size:48px}
 .schedule-row{grid-template-columns:72px 175px minmax(0,1fr);gap:20px}
 .schedule-time{font-size:31px}.schedule-group h3{font-size:28px}
 .training-schedule .schedule-location{border-left:0;border-top:1px solid #ffffff55;padding:25px 0 0;display:block}
 .schedule-location h3{font-size:30px}.schedule-location h3 br{display:none}
 .schedule-invite{font-size:28px;margin-top:19px}
 .coach-roster{grid-template-columns:repeat(2,minmax(0,1fr))}
 .coach-compact{min-height:180px;padding:24px}.coach-compact h3{font-size:34px}
 .coaches-intro{font-size:13px}.coach-strengths{gap:13px 20px;font-size:9px}
 .partners-layout{grid-template-columns:1fr;gap:24px}
 .partners h2{font-size:46px}.partners h2 br{display:none}
 .partner-logo{min-height:160px}
}
@media(max-width:600px){
 .training-schedule .schedule-top{padding:32px 23px;gap:24px}
 .schedule-main>h2{font-size:45px;margin:13px 0 24px}
 .schedule-row{grid-template-columns:62px minmax(0,1fr);gap:10px 15px;padding:20px 0}
 .schedule-day{font-size:10px}.schedule-time{font-size:31px}
 .schedule-group{grid-column:2}.schedule-group h3{font-size:27px}
 .schedule-group p{font-size:11px}.schedule-note{font-size:11px}
 .training-schedule .schedule-location{padding-top:24px}
 .schedule-location h3{font-size:30px;line-height:1.1}
 .schedule-location .eyebrow{font-size:9px}.schedule-location p{font-size:12px}
 .schedule-location .text-link{font-size:12px}
 .coaches-intro{font-size:13px;line-height:1.85;margin-top:19px}
 .coach-strengths{gap:12px;font-size:8px}.coach-strengths span{padding-left:8px;border-left-width:2px}
 .coach-roster{gap:12px;margin-top:13px}
 .coach-compact{min-height:168px;padding:18px 16px}
 .coach-compact .coach-role{font-size:8px;margin-bottom:13px}
 .coach-compact h3{font-size:28px}
 .coach-belt{right:16px;bottom:20px;font-size:23px}
 .partners{padding-top:38px;padding-bottom:36px}
 .partners .section-kicker{gap:15px}.partners .section-kicker .eyebrow{font-size:8px}
 .partners h2{font-size:43px}.partners-layout{gap:12px}
 .partner-logos{gap:10px}.partner-logo{padding:0;min-height:130px}.partner-logo img{height:125px}
 .visit-schedule strong{font-size:23px}
}
@media(max-width:370px){.coach-compact h3{font-size:26px}.schedule-row{gap:9px 12px}.schedule-time{font-size:29px}}

/* A compact, expandable archive. Full photographs retain their original framing. */
.life .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:220px;gap:14px}
.life .gallery-featured{grid-column:span 2;grid-row:span 2}
.life .gallery-item img{width:100%;object-position:center}
.life .gallery-featured img{object-position:45% center}
.life .gallery-label{left:20px;right:16px;bottom:20px}
.life .gallery-label small{display:block;font-size:8px;line-height:1.5}
.life .gallery-label strong{font-size:29px}
.life .gallery-featured .gallery-label{left:28px;bottom:28px}
.life .gallery-featured .gallery-label strong{font-size:47px}
.life .gallery-item:after{inset:50% 0 0;background:linear-gradient(transparent,#000c)}
.gallery-actions{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-top:25px}
.gallery-more{font-size:22px;min-height:54px;padding:14px 22px;gap:30px}
.gallery-more>span:last-child{font-family:Arial,sans-serif;font-style:normal;font-size:26px}
.gallery-more[hidden],.life .gallery-archive[hidden]{display:none}
.life .gallery-archive{margin-top:26px}
.lightbox-caption>div{min-width:0}
.lightbox-caption small{display:block;font-size:10px;color:#aaa;line-height:1.6;margin-top:4px}
.lightbox-caption a{display:inline-block;font-size:10px;line-height:1.6;color:#d1dcff;text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.lightbox-photo>img{max-height:calc(100dvh - 165px)}
@media(max-width:1100px){
 .life .gallery-grid{grid-auto-rows:190px}
 .life .gallery-label{left:17px;bottom:18px}.life .gallery-label strong{font-size:25px}
 .life .gallery-featured .gallery-label strong{font-size:42px}
}
@media(max-width:700px){
 .life .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px;gap:10px}
 .life .gallery-featured{grid-column:span 2;grid-row:auto;min-height:0}
 .life .gallery-highlights{grid-template-rows:300px}
 .life .gallery-highlights .gallery-item:last-child{grid-column:span 2}
 .life .gallery-label{left:14px;right:12px;bottom:16px}
 .life .gallery-label small{font-size:7px;letter-spacing:.06em}
 .life .gallery-label strong{font-size:23px}
 .life .gallery-featured .gallery-label{left:20px;bottom:22px}
 .life .gallery-featured .gallery-label strong{font-size:36px}
 .gallery-actions{align-items:stretch;gap:19px;margin-top:20px}
 .gallery-more{justify-content:space-between;width:100%;font-size:21px}
 .gallery-actions .text-link{font-size:11px}
}
@media(max-width:400px){
 .life .gallery-grid{grid-auto-rows:170px}.life .gallery-highlights{grid-template-rows:260px}
 .life .gallery-label strong{font-size:21px}
 .lightbox-caption small,.lightbox-caption a{font-size:9px}
}

/* Keep archive photos at their available native resolution in the lightbox. */
.lightbox-photo>img{margin:0 auto;min-height:0}
