/* Homepage Google-style review panel: actual reviews sourced from the dated GBP snapshot */
.gbp-home-reviews{background:#0a0b0e;color:#fff;padding:44px 0 50px}
.gbp-home-reviews .gbp-google-review-shell{background:#08090b;border:1px solid #2c3035;border-radius:22px;padding:31px clamp(20px,4vw,47px) 24px;box-shadow:0 19px 48px rgba(0,0,0,.21);max-width:1020px;margin:0 auto}
.gbp-home-reviews .gbp-google-review-top{display:flex;justify-content:space-between;align-items:center;gap:16px}
.gbp-home-reviews .gbp-google-identity{display:flex;align-items:center;gap:15px;min-width:0}
.gbp-home-reviews .gbp-google-g{width:40px;height:40px;flex-shrink:0}
.gbp-home-reviews h2{font:800 clamp(24px,3.1vw,37px)/1.15 Arial,Helvetica,sans-serif;letter-spacing:-.85px;color:#fff;margin:0}
.gbp-home-reviews .gbp-google-top-link{font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px;color:#c8cbd0;white-space:nowrap}
.gbp-home-reviews .gbp-google-top-link:hover,.gbp-home-reviews .gbp-google-footer a:hover{color:#fff}
.gbp-home-reviews .gbp-google-summary{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:27px;line-height:1.1}
.gbp-home-reviews .gbp-google-summary strong{font:bold clamp(42px,5.8vw,63px)/1 Arial,Helvetica,sans-serif;letter-spacing:-2px;color:#fff}
.gbp-home-reviews .gbp-gold-stars{color:#f1ad26;letter-spacing:3px;font-size:clamp(22px,2.9vw,31px);line-height:1;white-space:nowrap}
.gbp-home-reviews .gbp-google-count{font-size:clamp(14px,1.8vw,20px);font-weight:650;color:#b8bbc0;white-space:nowrap}
.gbp-home-reviews .gbp-google-separator{height:1px;background:#272b31;margin:28px 0 24px}
.gbp-home-reviews .gbp-home-carousel{display:flex;align-items:center;gap:14px;margin:0;min-width:0}
.gbp-home-reviews .gbp-home-carousel .review-card{display:flex;align-items:flex-start;gap:20px;background:transparent;border:0;box-shadow:none;border-radius:0;padding:12px 0 18px;max-width:none;min-height:200px;min-width:0}
.gbp-home-reviews .gbp-home-carousel .review-avatar{height:66px;width:66px;min-width:66px;border-radius:50%;display:grid;place-items:center;font:750 30px/1 Arial,Helvetica,sans-serif;background:#d0e7ff;color:#225f9d;box-shadow:none}
.gbp-home-reviews .gbp-home-carousel .review-text{flex:1;min-width:0;color:#fff}
.gbp-home-reviews .gbp-review-author-line{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline}
.gbp-home-reviews .gbp-review-author-line strong{font-size:clamp(18px,2.4vw,26px);line-height:1.2;font-weight:800;color:#fff;overflow-wrap:anywhere}
.gbp-home-reviews .gbp-review-author-line span{font-size:13px;color:#9fa5ad;font-weight:650}
.gbp-home-reviews .gbp-home-carousel .stars{font-size:24px;color:#f1ad26;letter-spacing:2px;line-height:1.25;margin-top:7px}
.gbp-home-reviews .gbp-home-carousel .review-text p{font-size:clamp(15px,1.7vw,19px);font-weight:500;color:#f2f3f5;line-height:1.55;max-height:none;overflow:visible;margin:11px 0 14px;white-space:pre-line}
.gbp-home-reviews .gbp-review-excerpt{display:block;font-size:12px;color:#8f98a3;font-weight:500}
.gbp-home-reviews .gbp-home-carousel button{flex:none;background:#171b20;border:1px solid #333941;color:#f1f3f5;box-shadow:none;height:37px;width:37px;font-size:26px;line-height:1;transition:background .15s,border-color .15s}
.gbp-home-reviews .gbp-home-carousel button:hover{background:#2a3037;border-color:#707a85}
.gbp-home-reviews .gbp-home-carousel button:focus-visible{outline:2px solid #f1ad26;outline-offset:3px}
.gbp-home-reviews .gbp-google-footer{border-top:1px solid #272b31;padding-top:18px;margin-top:9px;display:flex;justify-content:space-between;gap:10px 22px;flex-wrap:wrap;align-items:center;color:#8f98a3;font-size:12px}
.gbp-home-reviews .gbp-google-footer a{color:#f6f7f8;font-weight:750;text-decoration:underline;text-underline-offset:3px}
/* Source photography, framed at card sizes without stretching or oversized face crops */
.training-programs .program img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
@media(max-width:650px){
 .gbp-home-reviews{padding:27px 0 31px}
 .gbp-home-reviews .gbp-google-review-shell{border-radius:15px;padding:21px 16px 19px}
 .gbp-home-reviews .gbp-google-identity{gap:10px}
 .gbp-home-reviews .gbp-google-g{width:29px;height:29px}
 .gbp-home-reviews .gbp-google-top-link{font-size:11px}
 .gbp-home-reviews .gbp-google-summary{margin-top:22px;gap:8px 11px}
 .gbp-home-reviews .gbp-google-separator{margin:21px 0 13px}
 .gbp-home-reviews .gbp-home-carousel{gap:8px}
 .gbp-home-reviews .gbp-home-carousel .review-card{padding:9px 0 14px;gap:10px;min-height:150px}
 .gbp-home-reviews .gbp-home-carousel .review-avatar{height:38px;width:38px;min-width:38px;font-size:19px}
 .gbp-home-reviews .gbp-review-author-line strong{font-size:15px}
 .gbp-home-reviews .gbp-review-author-line span{font-size:11px}
 .gbp-home-reviews .gbp-home-carousel .stars{font-size:16px;letter-spacing:0}
 .gbp-home-reviews .gbp-home-carousel .review-text p{font-size:12px;line-height:1.47;margin:6px 0 9px}
 .gbp-home-reviews .gbp-review-excerpt{font-size:10px}
 .gbp-home-reviews .gbp-home-carousel button{height:25px;width:25px;min-width:25px;font-size:19px}
 .gbp-home-reviews .gbp-google-footer{font-size:10px}
}
@media(max-width:365px){
 .gbp-home-reviews .gbp-google-review-shell{padding:17px 11px}
 .gbp-home-reviews .gbp-home-carousel{gap:4px}
 .gbp-home-reviews .gbp-home-carousel .review-avatar{height:31px;width:31px;min-width:31px;font-size:16px}
 .gbp-home-reviews .gbp-home-carousel .review-card{gap:8px}
 .gbp-home-reviews .gbp-home-carousel button{height:22px;width:22px;min-width:22px;font-size:18px}
}
/* Give actual training photos and program information enough room to read on phones. */
@media(max-width:650px){
 .training-programs .program-grid{grid-template-columns:1fr;gap:13px}
 .training-programs .program{grid-template-columns:42% 58%;min-height:192px}
 .training-programs .program-copy{padding:13px 13px 12px}
 .training-programs .program-copy h3{font-size:18px;line-height:1.05;margin-bottom:8px}
 .training-programs .program-copy p{font-size:12px;line-height:1.38;margin-bottom:9px}
 .training-programs .program-button{font-size:12px;padding:10px 8px;max-width:160px}
}
@media(max-width:360px){
 .training-programs .program{grid-template-columns:43% 57%}
 .training-programs .program-copy{padding:10px 9px}
 .training-programs .program-copy h3{font-size:16px}
 .training-programs .program-copy p{font-size:11px}
}
