.fpf-app{--fpf-red:#e30613;--fpf-dark:#080808;--fpf-light:#fff;--fpf-accent:#f2f2f2;font-family:Arial,Helvetica,sans-serif;color:#111;line-height:1.5;overflow:hidden;position:relative;isolation:isolate;background:#fff}.fpf-app *{box-sizing:border-box}.fpf-app img{max-width:100%;height:auto}.fpf-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}.fpf-hero{position:relative;background:var(--fpf-dark);color:var(--fpf-light);padding:72px 0 56px;overflow:hidden}.fpf-pitch-lines{position:absolute;inset:0;opacity:.12;background:linear-gradient(90deg,transparent 49.6%,#fff 49.8%,#fff 50.2%,transparent 50.4%),radial-gradient(circle at 50% 50%,transparent 0 105px,#fff 106px 109px,transparent 110px)}.fpf-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:54px;align-items:center}.fpf-hero-copy{min-width:0}.fpf-hero-logo img{max-height:72px;width:auto;margin-bottom:22px}.fpf-kicker{display:inline-block;font-size:13px;letter-spacing:1.5px;font-weight:900;text-transform:uppercase;color:#fff;margin-bottom:10px}.fpf-kicker.red{color:var(--fpf-red)}.fpf-app h1,.fpf-app h2,.fpf-app h3{font-family:Impact,'Arial Narrow Bold',Arial,sans-serif;line-height:1.02;text-transform:uppercase;margin:0}.fpf-app h1{font-size:clamp(52px,6vw,88px);letter-spacing:-1.5px}.fpf-app h1 em{color:var(--fpf-red);font-style:normal}.fpf-app h2{font-size:clamp(36px,4vw,58px);margin-bottom:14px}.fpf-app h3{font-size:26px}.fpf-hero-text{font-size:19px;max-width:700px;color:#e7e7e7}.fpf-video-card{width:min(430px,100%);min-height:170px;border:2px solid rgba(255,255,255,.6);border-radius:14px;background-size:cover;background-position:center;position:relative;overflow:hidden;color:#fff;margin:22px 0 0;cursor:pointer;display:flex;align-items:flex-end;justify-content:flex-start;padding:18px;text-align:left}.fpf-video-card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.85))}.fpf-video-card span,.fpf-video-card b{position:relative;z-index:1}.fpf-video-card span{width:48px;height:48px;border-radius:50%;background:var(--fpf-red);display:grid;place-items:center;margin-right:12px}.fpf-video-card b{align-self:center;font-size:15px;text-transform:uppercase}.fpf-trust-row{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:22px;font-weight:800;font-size:14px}.fpf-form-card{background:#fff;color:#111;border-radius:16px;padding:30px;box-shadow:0 20px 50px rgba(0,0,0,.28);scroll-margin-top:140px}.fpf-step{display:inline-block;background:var(--fpf-dark);color:#fff;border-radius:20px;padding:6px 10px;font-size:11px;font-weight:900;margin-bottom:10px}.fpf-form-card h2,.fpf-book-shell h2{font-size:34px}.fpf-form-card p{margin:8px 0 18px;color:#555}.fpf-app form{display:grid;gap:13px}.fpf-app label{display:grid;gap:6px;font-weight:800;font-size:13px}.fpf-app input,.fpf-app textarea{width:100%;border:1px solid #d7d7d7;border-radius:8px;padding:13px 14px;font:inherit;background:#fff}.fpf-app input:focus,.fpf-app textarea:focus{outline:3px solid color-mix(in srgb,var(--fpf-red) 22%,transparent);border-color:var(--fpf-red)}.fpf-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fpf-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:15px 20px;font-weight:900;text-transform:uppercase;text-decoration:none;cursor:pointer;font-size:14px;line-height:1.1}.fpf-btn-red{background:var(--fpf-red);color:#fff}.fpf-btn-white{background:#fff;color:var(--fpf-dark)}.fpf-app button:disabled{opacity:.65;cursor:wait}.fpf-stats{background:var(--fpf-dark);color:#fff;border-top:1px solid #292929}.fpf-stat-slider{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.fpf-stat-slider article{padding:32px 26px;text-align:center;border-right:1px solid #333}.fpf-stat-slider article:last-child{border-right:0}.fpf-stat-slider strong{display:block;color:var(--fpf-red);font:56px/1 Impact,Arial,sans-serif}.fpf-stat-slider span{display:block;font-weight:800;margin-top:8px}.fpf-section,.fpf-results{padding:72px 0}.fpf-lead{max-width:760px;font-size:18px;color:#5c5c5c;margin-bottom:28px}.fpf-dark{background:var(--fpf-dark);color:#fff}.fpf-dark .fpf-lead{color:#d5d5d5}.fpf-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.fpf-info-card,.fpf-review-card,.fpf-coach-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.09)}.fpf-info-card,.fpf-review-card{padding:24px}.fpf-icon{font-size:36px;margin-bottom:12px}.fpf-info-card h3{margin-bottom:9px}.fpf-coach-card img{width:100%;height:320px;object-fit:cover;display:block}.fpf-coach-card>div{padding:22px}.fpf-coach-card span{color:var(--fpf-red);font-weight:900;text-transform:uppercase}.fpf-coach-card h3{margin:5px 0 8px}.fpf-logo-carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 0 14px}.fpf-logo-carousel article{min-width:190px;scroll-snap-align:start;background:#fff;color:#111;border-radius:13px;padding:18px;text-align:center;display:grid;align-content:center;justify-items:center;min-height:190px}.fpf-logo-carousel img{width:110px;height:110px;object-fit:contain;margin-bottom:10px}.fpf-logo-carousel strong,.fpf-logo-carousel small{display:block}.fpf-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.fpf-gallery figure{margin:0;position:relative;border-radius:12px;overflow:hidden;background:#eee;aspect-ratio:4/3}.fpf-gallery img{width:100%;height:100%;object-fit:cover}.fpf-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-weight:800;font-size:13px}.fpf-reviews{background:var(--fpf-red);color:#fff}.fpf-review-card{color:#111}.stars{color:#f5b400;font-size:20px;letter-spacing:1px}.fpf-review-card small{display:block;color:#666;margin-top:4px}.fpf-results{background:var(--fpf-accent);scroll-margin-top:110px}.fpf-location-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}.fpf-location-card{background:#fff;border:2px solid #e5e5e5;border-radius:14px;padding:22px}.fpf-location-card h3{font-size:28px}.fpf-distance{display:inline-block;background:#111;color:#fff;border-radius:20px;padding:6px 10px;font-size:12px;font-weight:900;margin-bottom:12px}.fpf-session-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.fpf-session-grid span{background:#f3f3f3;padding:10px;border-radius:7px;font-size:13px}.fpf-session-grid b{display:block;color:var(--fpf-red);text-transform:uppercase;font-size:10px;margin-bottom:3px}.fpf-dates{border-left:4px solid var(--fpf-red);padding:8px 12px;margin:15px 0;font-size:14px}.fpf-dates b{display:block}.fpf-empty{background:#fff;padding:25px;border-radius:12px}#fpf-map{height:420px;border-radius:14px;overflow:hidden}.fpf-final{background:var(--fpf-red);color:#fff;text-align:center;padding:66px 0}.fpf-final p{font-size:18px}.fpf-sticky{display:none}.fpf-modal{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:999999;display:none;padding:22px;align-items:center;justify-content:center}.fpf-modal.is-open{display:flex}.fpf-close{position:absolute;top:16px;right:18px;background:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:30px;cursor:pointer;z-index:3}.fpf-video-shell{width:min(1000px,100%);aspect-ratio:16/9}.fpf-video-shell iframe,.fpf-video-shell video{width:100%;height:100%;border:0}.fpf-book-shell{background:#fff;width:min(620px,100%);max-height:90vh;overflow:auto;border-radius:16px;padding:28px}.fpf-selected{display:grid;gap:6px;background:#111;color:#fff;padding:18px;border-radius:10px;margin:14px 0}.fpf-selected strong{font-size:22px;color:var(--fpf-red)}.fpf-check{display:flex!important;gap:10px;align-items:flex-start}.fpf-check input{width:auto!important;margin-top:2px!important}.fpf-tick{width:70px;height:70px;background:#1eaa53;color:#fff;border-radius:50%;display:grid;place-items:center;font-size:40px;margin:auto}.fpf-success-message{text-align:center}.fpf-hidden{display:none!important}.fpf-lock{overflow:hidden}
@media(max-width:900px){.fpf-hero-grid{grid-template-columns:1fr}.fpf-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fpf-location-cards{grid-template-columns:1fr 1fr}.fpf-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){html{scroll-padding-top:96px}.fpf-wrap{width:calc(100% - 24px)}.fpf-hero{padding:28px 0 24px}.fpf-hero-grid{gap:22px}.fpf-hero-logo img{max-height:52px;margin-bottom:15px}.fpf-app h1{font-size:44px;line-height:.98}.fpf-app h2{font-size:35px}.fpf-hero-text{font-size:16px}.fpf-video-card{min-height:135px;margin-top:16px}.fpf-trust-row{gap:7px 12px;margin-top:16px;font-size:12px}.fpf-form-card{padding:19px;border-radius:12px;margin-top:0;scroll-margin-top:110px}.fpf-form-card h2,.fpf-book-shell h2{font-size:30px}.fpf-two{grid-template-columns:1fr 1fr}.fpf-stat-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.fpf-stat-slider article{min-width:82%;scroll-snap-align:center;padding:24px 18px}.fpf-stat-slider strong{font-size:46px}.fpf-section,.fpf-results{padding:44px 0}.fpf-lead{font-size:16px;margin-bottom:20px}.fpf-scroll-mobile{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;gap:12px}.fpf-scroll-mobile>article{min-width:86%;scroll-snap-align:start}.fpf-card-grid{grid-template-columns:1fr}.fpf-location-cards{grid-template-columns:1fr;margin:20px 0}.fpf-location-card{padding:17px}.fpf-session-grid{grid-template-columns:1fr 1fr}#fpf-map{height:300px}.fpf-logo-carousel article{min-width:155px;min-height:160px}.fpf-logo-carousel img{width:88px;height:88px}.fpf-gallery{grid-template-columns:1fr 1fr;gap:8px}.fpf-final{padding:48px 0 100px}.fpf-sticky{position:fixed;display:flex;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:99990;background:rgba(8,8,8,.96);padding:7px;border-radius:12px;gap:7px;box-shadow:0 8px 30px rgba(0,0,0,.35)}.fpf-sticky a,.fpf-sticky button{flex:1;border:0;border-radius:7px;padding:13px 10px;color:#fff;font-weight:900;text-transform:uppercase;text-align:center;text-decoration:none;font-size:12px}.fpf-sticky a{background:var(--fpf-red)}.fpf-sticky button{background:#333}.fpf-app{padding-bottom:0}.fpf-modal{padding:10px}.fpf-book-shell{padding:22px 17px}.fpf-close{top:8px;right:8px}.fpf-video-shell{width:100%}}
@media(max-width:430px){.fpf-app h1{font-size:39px}.fpf-two{grid-template-columns:1fr}.fpf-gallery{grid-template-columns:1fr}.fpf-sticky{left:7px;right:7px;bottom:calc(7px + env(safe-area-inset-bottom))}.fpf-sticky button{max-width:42%}}

/* v1.1.1 – restore red hero and improve heading readability */
.fpf-hero{
  background:linear-gradient(120deg,var(--fpf-red) 0%,color-mix(in srgb,var(--fpf-red) 72%,#650006) 100%);
}
.fpf-app h1,
.fpf-app h2,
.fpf-app h3{
  letter-spacing:.15px;
}
.fpf-app h1{
  line-height:1.08;
  letter-spacing:-.6px;
}
.fpf-app h1 em{
  color:var(--fpf-dark);
}
.fpf-app h2{
  line-height:1.12;
  margin-bottom:18px;
}
.fpf-app h3{
  line-height:1.15;
}
.fpf-hero-text{
  margin-top:18px;
}
@media(max-width:780px){
  .fpf-app h1{
    line-height:1.1;
    letter-spacing:-.25px;
  }
  .fpf-app h2{
    line-height:1.15;
    margin-bottom:16px;
  }
  .fpf-app h3{
    line-height:1.18;
  }
  .fpf-hero-text{
    margin-top:14px;
  }
}
.fpf-session-list{display:grid;gap:14px;margin-top:18px}.fpf-session-option{border-top:1px solid #e8e8e8;padding-top:16px}.fpf-session-option:first-child{border-top:0;padding-top:0}.fpf-session-option .fpf-btn{margin-top:12px;width:100%}
@media(max-width:767px){.fpf-session-list{gap:12px}.fpf-session-option{padding-top:14px}.fpf-session-option .fpf-session-grid{grid-template-columns:1fr 1fr}}
.fpf-classforkids-link{display:inline-flex;margin-top:10px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.fpf-btn-outline{margin-top:12px;background:#fff!important;color:#111!important;border:2px solid #111!important}.fpf-selected small{display:block;margin-top:8px;opacity:.8}
.fpf-venue-session-list{margin:18px 0;border:1px solid #e1e1e1;border-radius:10px;overflow:hidden;background:#fff}.fpf-list-head,.fpf-list-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(120px,.8fr);gap:14px;align-items:center;padding:11px 13px}.fpf-list-head{background:var(--fpf-dark);color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.5px}.fpf-list-row{border-top:1px solid #e7e7e7;font-size:13px}.fpf-list-row:first-of-type{border-top:0}.fpf-list-row>span:last-child{text-align:right}.fpf-list-row strong{display:block;color:#111;font-size:13px}.fpf-list-row small{display:block;color:#666;margin-top:2px}.fpf-location-card>.fpf-btn{width:100%;margin-top:8px}.fpf-venue-note{display:block;color:#666;line-height:1.45;margin:10px 0}.fpf-selected .fpf-venue-session-list{color:#111;margin:10px 0;background:#fff}.fpf-selected .fpf-list-row strong{color:#111;font-size:12px}.fpf-selected .fpf-list-row small{color:#666}.fpf-selected .fpf-list-head{background:var(--fpf-red)}
@media(max-width:780px){.fpf-list-head,.fpf-list-row{grid-template-columns:minmax(0,1.45fr) minmax(105px,.75fr);padding:10px;font-size:12px;gap:9px}.fpf-list-row strong{font-size:12px}.fpf-list-row small{font-size:11px}.fpf-venue-session-list{margin:14px 0}.fpf-selected .fpf-list-row{padding:9px 8px}}

/* v1.5.0 – simplified three-location journey and senior-friendly mobile UX */
.fpf-form-card label{font-size:16px;font-weight:800;color:#111}
.fpf-form-card input,.fpf-form-card textarea{min-height:54px;font-size:17px;border:2px solid #cfcfcf;border-radius:9px;padding:13px 14px;margin-top:7px}
.fpf-form-card input:focus{border-color:var(--fpf-red);box-shadow:0 0 0 3px rgba(227,6,19,.14);outline:0}
.fpf-form-card .fpf-btn{min-height:56px;font-size:17px;margin-top:4px}
.fpf-form-note{display:block;font-size:14px;line-height:1.45;margin-top:12px;color:#555}
.fpf-consent{background:#f4f4f4;border:1px solid #ddd;border-radius:10px;padding:14px;margin:4px 0 10px;align-items:flex-start!important;line-height:1.45}
.fpf-consent input{width:24px!important;height:24px!important;min-height:24px!important;flex:0 0 24px;margin:1px 0 0!important;accent-color:var(--fpf-red)}
.fpf-consent a{color:var(--fpf-red);font-weight:900}
.fpf-results-help{font-size:17px;line-height:1.5;max-width:760px;margin:0 0 18px;color:#444}
.fpf-carousel-shell{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;gap:12px;align-items:stretch}
.fpf-location-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:18px;margin:0;overscroll-behavior-x:contain}
.fpf-location-cards::-webkit-scrollbar{display:none}
.fpf-location-card{flex:0 0:calc((100% - 36px)/3);scroll-snap-align:start;scroll-snap-stop:always;position:relative}
.fpf-card-number{font-size:13px;font-weight:900;color:#666;margin-bottom:8px}
.fpf-address{font-size:16px;line-height:1.5}
.fpf-carousel-arrow{border:0;border-radius:12px;background:#111;color:#fff;font-size:40px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:.75;min-height:150px}
.fpf-carousel-arrow span{font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin:8px 0}
.fpf-carousel-arrow:disabled{opacity:.25;cursor:not-allowed}
.fpf-carousel-dots{display:flex;justify-content:center;gap:10px;margin:16px 0 24px}
.fpf-carousel-dots button{width:13px;height:13px;padding:0;border-radius:50%;border:2px solid #111;background:#fff}
.fpf-carousel-dots button.is-active{background:var(--fpf-red);border-color:var(--fpf-red)}
.fpf-choice-confirmation{max-width:720px;margin:24px auto 30px;background:#fff;border:3px solid var(--fpf-red);border-radius:16px;padding:28px;text-align:center;box-shadow:0 14px 40px rgba(0,0,0,.12)}
.fpf-choice-confirmation h3{font-size:31px;margin:14px 0 8px}
.fpf-choice-confirmation p{font-size:17px;line-height:1.5}
.fpf-choice-confirmation small{display:block;margin-top:14px;font-size:14px;color:#555}
.fpf-classforkids-button{width:100%;min-height:58px;font-size:17px;margin-top:10px}
.fpf-choose-location{min-height:56px;font-size:16px}
@media(max-width:900px){
 .fpf-location-card{flex-basis:calc((100% - 18px)/2)}
}
@media(max-width:780px){
 .fpf-wrap{width:calc(100% - 20px)}
 .fpf-hero{padding-top:24px}
 .fpf-app h1{font-size:40px;line-height:1.12}
 .fpf-app h2{font-size:32px;line-height:1.18}
 .fpf-form-card{padding:20px 17px}
 .fpf-form-card label{font-size:17px}
 .fpf-form-card input{font-size:18px;min-height:58px}
 .fpf-two{grid-template-columns:1fr}
 .fpf-form-card .fpf-btn{min-height:60px;font-size:18px;line-height:1.2;padding:14px}
 .fpf-results{padding-top:38px}
 .fpf-results-help{font-size:17px;background:#fff;border-left:5px solid var(--fpf-red);padding:14px;border-radius:8px}
 .fpf-carousel-shell{grid-template-columns:1fr;display:block}
 .fpf-location-cards{gap:12px;padding:2px 1px 8px}
 .fpf-location-card{flex:0 0:100%;padding:20px 17px;border-radius:14px}
 .fpf-location-card h3{font-size:30px;line-height:1.15;margin-bottom:8px}
 .fpf-distance{font-size:14px;padding:8px 12px}
 .fpf-list-head,.fpf-list-row{grid-template-columns:minmax(0,1.25fr) minmax(115px,.75fr);font-size:14px;padding:12px 10px}
 .fpf-list-row strong{font-size:14px;line-height:1.3}
 .fpf-list-row small{font-size:13px;line-height:1.35;margin-top:4px}
 .fpf-list-row>span:last-child{font-size:14px;line-height:1.45}
 .fpf-carousel-arrow{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .fpf-carousel-dots{margin:10px 0 22px}
 .fpf-carousel-dots button{width:15px;height:15px}
 .fpf-choice-confirmation{padding:24px 17px;margin-top:18px}
 .fpf-choice-confirmation h3{font-size:28px}
 #fpf-map{height:280px;margin-top:20px}
 .fpf-sticky a,.fpf-sticky button{min-height:52px;font-size:13px}
}
@media(max-width:430px){
 .fpf-app h1{font-size:36px}
 .fpf-app h2{font-size:29px}
 .fpf-trust-row{display:grid;grid-template-columns:1fr;gap:8px;font-size:14px}
 .fpf-sticky{padding:6px}
 .fpf-sticky button{max-width:none}
}

/* Content carousels: coaches and portrait gallery */
.fpf-content-carousel{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) 58px;gap:14px;align-items:stretch}
.fpf-content-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px 2px 12px}
.fpf-content-track::-webkit-scrollbar{display:none}
.fpf-content-track>article,.fpf-content-track>figure{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start}
.fpf-content-arrow{border:0;border-radius:12px;background:var(--fpf-dark);color:#fff;font-size:38px;font-weight:900;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:.75;min-height:150px}
.fpf-content-arrow span{font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin:8px 0}
.fpf-content-arrow:disabled{opacity:.25;cursor:not-allowed}
.fpf-content-dots{grid-column:1/-1;display:flex;justify-content:center;gap:9px;margin-top:2px}
.fpf-content-dots button{width:13px;height:13px;padding:0;border-radius:50%;border:2px solid var(--fpf-dark);background:#fff;cursor:pointer}
.fpf-content-dots button.is-active{background:var(--fpf-red);border-color:var(--fpf-red)}
.fpf-gallery{display:flex;grid-template-columns:none;gap:14px}
.fpf-gallery figure{flex:0 0 calc((100% - 28px)/3);aspect-ratio:20/23;scroll-snap-align:start;margin:0;position:relative;border-radius:14px;overflow:hidden;background:#eee}
.fpf-gallery img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.fpf-content-track>article,.fpf-content-track>figure,.fpf-gallery figure{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:780px){
 .fpf-content-carousel{display:block}
 .fpf-content-track{gap:12px;padding-bottom:10px}
 .fpf-content-track>article,.fpf-content-track>figure,.fpf-gallery figure{flex:0 0 88%;scroll-snap-align:center}
 .fpf-content-arrow{position:absolute;top:50%;z-index:3;width:52px;height:64px;min-height:0;transform:translateY(-50%);border-radius:10px;background:rgba(10,10,10,.92);font-size:34px}
 .fpf-content-arrow.is-prev{left:6px}.fpf-content-arrow.is-next{right:6px}
 .fpf-content-arrow span{display:none}
 .fpf-content-dots{margin-top:10px}
 .fpf-content-dots button{width:15px;height:15px}
 .fpf-gallery figure{aspect-ratio:20/23}
}

/* Active-location marquee */
.fpf-location-marquee{overflow:hidden;background:var(--fpf-dark);color:#fff;border-top:1px solid rgba(255,255,255,.14);border-bottom:4px solid var(--fpf-red);white-space:nowrap}
.fpf-marquee-track{display:flex;width:max-content;animation:fpf-location-marquee 34s linear infinite;will-change:transform}
.fpf-marquee-group{display:flex;align-items:center;flex-shrink:0}
.fpf-marquee-group span{display:inline-flex;align-items:center;gap:9px;padding:14px 25px;font-size:14px;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.fpf-marquee-group b{color:var(--fpf-red);font-size:16px}
.fpf-location-marquee:hover .fpf-marquee-track{animation-play-state:paused}
@keyframes fpf-location-marquee{to{transform:translateX(-50%)}}
.fpf-info-card .fpf-icon img{display:block;width:58px;height:58px;object-fit:contain;margin:0}
@media(max-width:780px){.fpf-marquee-track{animation-duration:27s}.fpf-marquee-group span{padding:12px 18px;font-size:13px}.fpf-info-card .fpf-icon img{width:52px;height:52px}}
@media(prefers-reduced-motion:reduce){.fpf-marquee-track{animation:none;overflow-x:auto}.fpf-location-marquee{overflow-x:auto}}

/* v1.5.3 – shorter first form and compact consent */
.fpf-form-card form{gap:10px}
.fpf-form-card p{margin-bottom:13px}
.fpf-consent{display:flex!important;align-items:center!important;gap:8px!important;background:transparent;border:0;border-radius:0;padding:2px 0;margin:0 0 4px;line-height:1.3;font-size:13px!important;font-weight:600!important}
.fpf-consent input{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px;margin:0!important}
.fpf-consent span{display:inline;min-width:0}
.fpf-consent a{font-weight:800}
@media(max-width:780px){
 .fpf-form-card{padding:16px}
 .fpf-form-card form{gap:8px}
 .fpf-form-card label{font-size:14px;gap:3px}
 .fpf-form-card input,.fpf-form-card textarea{min-height:48px;font-size:16px;padding:10px 12px;margin-top:3px}
 .fpf-form-card .fpf-btn{min-height:52px;font-size:16px;margin-top:1px}
 .fpf-form-note{font-size:12px;margin-top:7px}
 .fpf-consent{font-size:12px!important;gap:7px!important;line-height:1.25;padding:1px 0}
 .fpf-consent input{width:17px!important;height:17px!important;min-height:17px!important;flex-basis:17px}
}

/* v1.5.4 – compact top arrows and immediate lead capture */
.fpf-carousel-shell,.fpf-content-carousel{display:block;position:relative;padding-top:44px}
.fpf-carousel-top-controls,.fpf-content-top-controls{position:absolute;top:0;right:0;display:flex;gap:7px;z-index:4}
.fpf-carousel-arrow,.fpf-content-arrow{position:static!important;width:34px!important;height:34px!important;min-height:34px!important;border-radius:6px!important;font-size:24px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--fpf-dark)!important;color:#fff!important;overflow:visible!important;clip:auto!important;white-space:normal!important;transform:none!important}
.fpf-carousel-arrow span,.fpf-content-arrow span{display:none!important}
.fpf-content-dots{margin-top:10px}
.fpf-book-location{width:100%;min-height:54px;font-size:15px}
.fpf-redirect-shell{width:min(520px,100%);background:#fff;border-radius:16px;padding:30px 24px;text-align:center;box-shadow:0 22px 70px rgba(0,0,0,.35)}
.fpf-redirect-shell h2{font-size:32px;line-height:1.15;margin:14px 0 12px}.fpf-redirect-shell p{font-size:17px;line-height:1.55;color:#444}.fpf-redirect-spinner{width:50px;height:50px;border:5px solid #eee;border-top-color:var(--fpf-red);border-radius:50%;margin:0 auto;animation:fpf-spin .8s linear infinite}.fpf-redirect-shell .fpf-btn{margin-top:8px;width:100%}
@keyframes fpf-spin{to{transform:rotate(360deg)}}
@media(min-width:901px){.fpf-carousel-top-controls{display:none}.fpf-location-cards{overflow:visible}.fpf-carousel-dots{display:none}}
@media(max-width:780px){.fpf-carousel-shell,.fpf-content-carousel{padding-top:42px}.fpf-carousel-top-controls,.fpf-content-top-controls{right:2px}.fpf-carousel-arrow,.fpf-content-arrow{width:36px!important;height:36px!important;min-height:36px!important;font-size:25px!important}.fpf-redirect-shell{padding:25px 18px}.fpf-redirect-shell h2{font-size:28px}.fpf-redirect-shell p{font-size:16px}}

/* v1.6.0 – desktop location grid, map spacing and larger logo */
.fpf-hero-logo img{max-height:96px;max-width:min(390px,100%);width:auto}
#fpf-map{margin-top:42px}
@media(min-width:901px){
  .fpf-location-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px!important;overflow:visible!important;padding:0!important;margin-top:24px!important}
  .fpf-location-card{min-width:0!important;width:auto!important;flex:none!important;height:100%;display:flex;flex-direction:column}
  .fpf-location-card .fpf-book-location{margin-top:auto}
  #fpf-map{margin-top:48px}
}
@media(max-width:780px){.fpf-hero-logo img{max-height:70px;max-width:290px}#fpf-map{margin-top:28px}}

/* v1.6.1 – simplified mobile chrome and cleaner marquees */
.fpf-sticky{display:none!important}
.fpf-hero-logo img{max-height:112px;max-width:min(440px,100%)}
.fpf-opps .fpf-info-card{box-shadow:none;border:1px solid #e5e5e5;overflow:visible}
.fpf-opps .fpf-scroll-mobile{overflow-y:visible}

.fpf-club-marquee{overflow:hidden;padding:8px 0 2px;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.fpf-club-marquee-track{display:flex;width:max-content;animation:fpf-club-scroll 38s linear infinite;will-change:transform}
.fpf-club-marquee-group{display:flex;align-items:stretch;gap:12px;padding-right:12px;flex-shrink:0}
.fpf-club-marquee article{width:138px;min-height:132px;white-space:normal;background:#fff;color:#111;border-radius:10px;padding:12px;text-align:center;display:grid;align-content:center;justify-items:center}
.fpf-club-marquee img{width:70px;height:70px;object-fit:contain;margin-bottom:7px}
.fpf-club-marquee strong{font-size:12px;line-height:1.2}
.fpf-club-marquee small{font-size:10px;line-height:1.2;margin-top:3px}
.fpf-club-marquee:hover .fpf-club-marquee-track{animation-play-state:paused}
@keyframes fpf-club-scroll{to{transform:translateX(-50%)}}

@media(max-width:780px){
 .fpf-hero-logo img{max-height:88px;max-width:330px;margin-bottom:16px}
 .fpf-marquee-group span{padding:9px 14px;font-size:11px;gap:6px}
 .fpf-marquee-group b{font-size:13px}
 .fpf-location-marquee{border-bottom-width:3px}
 .fpf-club-marquee-track{animation-duration:30s}
 .fpf-club-marquee article{width:108px;min-height:106px;padding:9px;border-radius:8px}
 .fpf-club-marquee img{width:52px;height:52px;margin-bottom:5px}
 .fpf-club-marquee strong{font-size:10px}
 .fpf-club-marquee small{display:none}
 .fpf-opps .fpf-scroll-mobile{padding:2px 0 8px}
 .fpf-opps .fpf-info-card{border-radius:10px}
}
@media(prefers-reduced-motion:reduce){.fpf-club-marquee-track{animation:none}.fpf-club-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}}

/* v1.6.2 – full-width single-card mobile location carousel */
@media(max-width:780px){
  .fpf-location-cards.fpf-scroll-mobile,
  .fpf-location-cards{
    display:flex!important;
    width:100%!important;
    gap:0!important;
    padding:0!important;
    margin-left:0!important;
    margin-right:0!important;
    scroll-padding:0!important;
    scroll-snap-type:x mandatory!important;
  }
  .fpf-location-cards.fpf-scroll-mobile>article,
  .fpf-location-cards>.fpf-location-card{
    flex:0 0 100%!important;
    min-width:100%!important;
    width:100%!important;
    max-width:100%!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
    margin:0!important;
  }
}

/* v1.6.3 – keep coach faces visible by anchoring image crop to the top */
.fpf-coach-card img{
  object-position:center top;
}


/* v1.6.4 – mobile-first marquee placement and compact conversion points */
.fpf-location-marquee-mobile{display:none}
@media(max-width:780px){
  .fpf-location-marquee-desktop{display:none}
  .fpf-location-marquee-mobile{display:block;position:relative;z-index:3;border-top:0;border-bottom:2px solid var(--fpf-red);background:#111}
  .fpf-location-marquee-mobile .fpf-marquee-track{animation-duration:32s}
  .fpf-location-marquee-mobile .fpf-marquee-group span{padding:8px 13px;font-size:10px;line-height:1.15;letter-spacing:.02em;gap:5px}
  .fpf-location-marquee-mobile .fpf-marquee-group b{font-size:11px}
  .fpf-stats{border-top:0}
  .fpf-stat-slider{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:1px;background:#303030}
  .fpf-stat-slider article{min-width:0;padding:15px 10px;background:var(--fpf-dark);border-right:0;scroll-snap-align:none;display:flex;flex-direction:column;justify-content:center;min-height:106px}
  .fpf-stat-slider strong{font-size:32px;line-height:1;margin-bottom:6px}
  .fpf-stat-slider span{font-size:12px;line-height:1.3;margin-top:0;font-weight:800;text-transform:none}
}
@media(max-width:390px){
  .fpf-stat-slider article{padding:13px 8px;min-height:100px}
  .fpf-stat-slider strong{font-size:29px}
  .fpf-stat-slider span{font-size:11px}
}

/* v1.6.5 – mobile hero logo watermark */
@media(max-width:780px){
  .fpf-hero-copy{position:relative;isolation:isolate}
  .fpf-hero-logo{
    position:absolute;
    top:72px;
    right:-34px;
    width:210px;
    max-width:48vw;
    margin:0;
    z-index:-1;
    pointer-events:none;
    opacity:.14;
    transform:rotate(-11deg);
    transform-origin:center;
  }
  .fpf-hero-logo img{
    display:block;
    width:100%;
    max-width:none;
    max-height:none;
    margin:0;
    filter:grayscale(1) brightness(2.1);
  }
  .fpf-hero-copy .fpf-kicker,
  .fpf-hero-copy h1,
  .fpf-hero-copy .fpf-hero-text,
  .fpf-hero-copy .fpf-video-card,
  .fpf-hero-copy .fpf-trust-row{position:relative;z-index:1}
}
@media(max-width:390px){
  .fpf-hero-logo{top:82px;right:-42px;width:185px;opacity:.12}
}

.fpf-coaches-footer{margin:18px auto 0;text-align:center;font-size:16px;line-height:1.5;font-weight:700;color:var(--fpf-dark);}
@media(max-width:767px){.fpf-coaches-footer{margin-top:14px;font-size:14px;padding:0 12px;}}


/* v1.6.7 – redirect popup contrast and browser-back reset */
#fpf-redirect-now,#fpf-redirect-now:link,#fpf-redirect-now:visited,#fpf-redirect-now:hover,#fpf-redirect-now:focus,#fpf-redirect-now:active{color:#fff!important;-webkit-text-fill-color:#fff!important;}
