/* F17 compact public-site experience: mobile only. */
.f17-mobile-stripe,.f17-carousel-controls,.f17-programme-switcher,.f17-programme-details-toggle,.f17-location-switcher,.f17-location-details-toggle{display:none}

@media(max-width:760px){
  main .section{padding-top:34px!important;padding-bottom:34px!important}
  main .section-heading{margin-bottom:18px}
  main .section-heading h2{font-size:clamp(1.65rem,7.8vw,2.15rem);line-height:1.05}
  main .section-heading p,.lead{line-height:1.55}
  .page-hero{min-height:330px!important}
  .page-hero .page-hero-content{padding-top:76px!important;padding-bottom:36px!important}
  .page-hero h1{font-size:clamp(2.1rem,10vw,3rem)!important;line-height:.98}
  .page-hero p{font-size:.9rem;line-height:1.55}
  .button{min-height:43px;padding:11px 15px}

  .f17-mobile-stripe{position:relative;z-index:6;display:flex;overflow:hidden;border-block:1px solid #b98210;background:linear-gradient(90deg,#c89418,#f2cb5b 50%,#d8a025);color:#17130a}
  .f17-mobile-stripe-track{display:flex;flex:0 0 max-content;align-items:center;gap:22px;padding:9px 0;animation:f17StripeMove 25s linear infinite}
  .f17-mobile-stripe-track span{display:inline-flex;align-items:center;gap:22px;font-size:.62rem;font-weight:950;letter-spacing:.13em;white-space:nowrap}
  .f17-mobile-stripe-track span::after{content:'\2605';font-size:.55rem}
  @keyframes f17StripeMove{to{transform:translateX(-50%)}}

  .f17-mobile-carousel{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    gap:11px!important;
    margin:0!important;
    padding:2px 8vw 10px 0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:0;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch;
  }
  .f17-mobile-carousel::-webkit-scrollbar{display:none}
  .f17-mobile-carousel>*{
    flex:0 0 min(82vw,340px)!important;
    width:min(82vw,340px)!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always;
  }
  .f17-mobile-carousel.f17-carousel-compact>*{flex-basis:min(72vw,290px)!important;width:min(72vw,290px)!important}
  .f17-mobile-carousel .reveal{transform:none!important}

  /* Override the older final mobile grid rules on the homepage. */
  body.home-page .method-gallery.f17-mobile-carousel,
  body.home-page .home-promotion-grid.f17-mobile-carousel,
  body.home-page .programme-grid.f17-mobile-carousel,
  body.home-page .home-matchday-grid.f17-mobile-carousel,
  body.home-page .home-review-grid.f17-mobile-carousel,
  body.home-page .location-photo-grid.f17-mobile-carousel,
  body.home-page .journey-grid.f17-mobile-carousel{
    display:flex!important;
    grid-template-columns:none!important;
    grid-auto-rows:auto!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    padding:2px 8vw 10px 0!important;
  }
  body.home-page .method-gallery.f17-mobile-carousel>.method-gallery-item{
    flex:0 0 min(84vw,340px)!important;
    width:min(84vw,340px)!important;
    height:205px!important;
    min-height:205px!important;
    max-height:205px!important;
    border-radius:16px!important;
    background:#111;
  }
  body.home-page .method-gallery.f17-mobile-carousel>.method-gallery-item img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
  }

  .f17-programme-switcher{position:sticky;top:0;z-index:30;display:block;padding:8px 0;border-block:1px solid #d7b650;background:rgba(255,251,238,.96);box-shadow:0 8px 24px rgba(45,32,5,.08);backdrop-filter:blur(12px)}
  .f17-programme-switcher-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .f17-programme-switcher button{min-width:0;padding:9px 5px;border:1px solid #d9cfb4;border-radius:11px;background:#fff;color:#171717;text-align:center;cursor:pointer}
  .f17-programme-switcher button strong,.f17-programme-switcher button small{display:block;overflow:hidden;text-overflow:ellipsis}
  .f17-programme-switcher button strong{font-size:.68rem;white-space:nowrap}
  .f17-programme-switcher button small{margin-top:2px;color:#736b5e;font-size:.55rem;white-space:nowrap}
  .f17-programme-switcher button.is-active{border-color:#aa7e14;background:linear-gradient(145deg,#f1ce62,#c9971f);box-shadow:0 6px 16px rgba(163,119,15,.2)}
  .f17-programme-switcher button.is-active small{color:#362a0b}

  .f17-location-switcher{position:sticky;top:0;z-index:30;display:block;padding:8px 0;border-block:1px solid #d7b650;background:rgba(255,251,238,.96);box-shadow:0 8px 24px rgba(45,32,5,.08);backdrop-filter:blur(12px)}
  .f17-location-switcher-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .f17-location-switcher button{min-width:0;padding:4px;border:1px solid #d9cfb4;border-radius:12px;background:#fff;color:#171717;text-align:left;cursor:pointer;overflow:hidden}
  .f17-location-tab-image{display:block;width:100%;height:54px;overflow:hidden;border-radius:8px;background:#171717}
  .f17-location-tab-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
  .f17-location-tab-copy{display:block;padding:6px 3px 4px;text-align:center}
  .f17-location-switcher button strong,.f17-location-switcher button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .f17-location-switcher button strong{font-size:.64rem}
  .f17-location-switcher button small{margin-top:2px;color:#736b5e;font-size:.53rem}
  .f17-location-switcher button.is-active{border-color:#aa7e14;background:linear-gradient(145deg,#f1ce62,#c9971f);box-shadow:0 6px 16px rgba(163,119,15,.2)}
  .f17-location-switcher button.is-active small{color:#362a0b}

  .programmes-page .programme-detail.f17-programme-slide{padding-top:24px!important;padding-bottom:30px!important;animation:f17ProgrammeIn .42s ease both}
  .programmes-page .programme-detail-grid{gap:16px!important}
  .programmes-page .programme-heading-row{margin-bottom:13px}
  .programmes-page .programme-heading-row h2{font-size:1.75rem}
  .programmes-page .programme-detail-copy>.lead{margin-bottom:10px;font-size:.9rem;line-height:1.5}
  .programmes-page .f17-programme-extra{display:none!important}
  .programmes-page .f17-details-open .f17-programme-extra{display:grid!important}
  .programmes-page .f17-details-open p.f17-programme-extra{display:block!important}
  .f17-programme-details-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;margin:10px 0 13px;padding:10px 12px;border:1px solid #d5b04d;border-radius:11px;background:#fff9e7;color:#5e470e;font:inherit;font-size:.72rem;font-weight:900;cursor:pointer}

  .programmes-page .programme-gallery,
  .programmes-page .programme-gallery.f17-mobile-carousel{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:8px!important;overflow:visible!important;padding:0!important;scroll-snap-type:none!important}
  .programmes-page .programme-gallery>.gallery-item,
  .programmes-page .programme-gallery.f17-mobile-carousel>.gallery-item{flex:none!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:4/3!important;border-radius:13px;background:#111}
  .programmes-page .programme-gallery>.gallery-item img,
  .programmes-page .programme-gallery.f17-mobile-carousel>.gallery-item img{width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important;object-position:center!important}
  .programmes-page .programme-gallery + .f17-carousel-controls,
  .programmes-page .programme-gallery + .f17-carousel-controls + .f17-carousel-hint{display:none!important}
  @keyframes f17ProgrammeIn{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}

  .locations-page .programme-detail.f17-location-slide{padding-top:22px!important;padding-bottom:28px!important;animation:f17ProgrammeIn .42s ease both}
  .locations-page .location-detail-grid{gap:14px!important}
  .locations-page .programme-detail-copy>h2{margin-bottom:7px;font-size:1.75rem}
  .locations-page .programme-detail-copy>.lead{margin-bottom:9px;font-size:.86rem;line-height:1.45}
  .locations-page .location-session-heading{gap:8px}
  .locations-page .location-session-heading span{font-size:.58rem}
  .locations-page .location-session-row{gap:5px;padding:9px 0}
  .locations-page .location-session-row strong,.locations-page .location-session-row time{font-size:.72rem}
  .locations-page .location-session-address{font-size:.72rem;line-height:1.45}
  .locations-page .f17-location-extra{display:none!important}
  .locations-page .f17-details-open .f17-location-extra{display:block!important}
  .f17-location-details-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;margin:-4px 0 11px;padding:9px 11px;border:1px solid #d5b04d;border-radius:11px;background:#fff9e7;color:#5e470e;font:inherit;font-size:.69rem;font-weight:900;cursor:pointer}
  .locations-page .location-feature-image{margin:0;border-radius:16px;overflow:hidden;background:#111}
  .locations-page .location-feature-image img{display:block;width:100%!important;height:220px!important;object-fit:contain!important;object-position:center!important}
  .locations-page .location-feature-image figcaption{padding:7px 10px;background:#171717;color:#f2d369;font-size:.63rem;text-align:center}
  .locations-page .comparison-section{display:none}

  .f17-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}
  .f17-carousel-controls button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #d7bd72;border-radius:50%;background:#fff;color:#171717;font-size:.95rem;font-weight:900;box-shadow:0 7px 18px rgba(65,47,5,.08);cursor:pointer}
  .f17-carousel-status{display:flex;align-items:center;justify-content:center;gap:8px;min-width:74px;padding:7px 11px;border-radius:999px;background:#171717;color:#f1cc62;font-size:.68rem;font-weight:900;letter-spacing:.06em}
  .f17-carousel-hint{margin:5px 0 0;color:#756b58;font-size:.65rem;text-align:center}

  .programme-detail-grid,.location-detail-grid,.split-layout,.story-grid,.faq-layout{gap:22px!important}
  .programme-detail-copy p,.location-detail-copy p{font-size:.9rem;line-height:1.58}
  .focus-list{gap:6px!important;margin:14px 0!important}
  .focus-list span{padding:8px 10px;font-size:.7rem}
  .programme-schedule-box{margin:14px 0!important;padding:13px!important;border-radius:14px!important}
  .programme-schedule-box h3{font-size:1rem}
  .schedule-row{padding:9px 0!important}
  .accordion details{padding:0 14px}
  .accordion summary{padding:15px 0;font-size:.9rem}
  .accordion details p{font-size:.82rem;line-height:1.55}
  .legal-block,.policy-card{padding:19px!important;border-radius:16px!important}
  .legal-block h2,.policy-card h2{font-size:1.25rem}
  .public-trial-card,.birthday-form-card{padding:18px!important;border-radius:17px!important}
  .form-grid,.parent-contact-grid{gap:11px!important}
  .site-footer{padding-top:34px}
  .footer-grid{gap:22px}

  .f17-motion-card{opacity:.72;transition:opacity .45s ease,transform .45s cubic-bezier(.2,.75,.25,1)}
  .f17-motion-card.f17-card-visible{opacity:1;transform:translateY(0)}
}

@media(max-width:390px){
  .f17-mobile-carousel>*{flex-basis:86vw!important;width:86vw!important}
  .f17-mobile-carousel.f17-carousel-compact>*{flex-basis:76vw!important;width:76vw!important}
}

@media(prefers-reduced-motion:reduce){
  .f17-mobile-stripe-track{animation:none}
  .f17-motion-card{opacity:1;transition:none}
  .f17-mobile-carousel{scroll-behavior:auto}
}
