/* F17 public website motion layer. Portal pages do not load this file. */
html{scroll-behavior:smooth}

.f17-motion-ready .f17-animate{
  opacity:0;
  transform:translate3d(0,24px,0) scale(.985);
  transition:opacity .68s cubic-bezier(.2,.7,.2,1),transform .68s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--f17-motion-delay,0ms);
  will-change:opacity,transform;
}
.f17-motion-ready .f17-animate.f17-from-left{transform:translate3d(-30px,0,0)}
.f17-motion-ready .f17-animate.f17-from-right{transform:translate3d(30px,0,0)}
.f17-motion-ready .f17-animate.f17-is-visible{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  will-change:auto;
}

.f17-motion-ready .page-hero,
.f17-motion-ready .hero-copy{
  animation:f17HeroEnter .82s cubic-bezier(.2,.75,.2,1) both;
}
.f17-motion-ready .page-hero{animation-name:f17HeroBackdrop}

.programme-card,.location-photo-card,.home-promotion-card,.home-review-card,
.development-area-card,.identity-card,.value-card,.partner-logo-card,
.programme-schedule-box,.cta-card{
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
@media(hover:hover) and (pointer:fine){
  .programme-card:hover,.location-photo-card:hover,.home-promotion-card:hover,
  .home-review-card:hover,.development-area-card:hover,.identity-card:hover,
  .value-card:hover,.partner-logo-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 38px rgba(25,20,10,.13);
  }
  .programme-card:hover img,.location-photo-card:hover img,.programme-detail figure:hover img,
  .location-feature-image:hover img{transform:scale(1.045)}
}

.programme-card img,.location-photo-card img,.programme-detail figure img,
.location-feature-image img,.image-slot img{
  transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}

.button,.btn,.mobile-join-button,.location-map-link,.card-actions a,
.primary-nav>a,.nav-dropdown a{
  transition:transform .2s ease,box-shadow .25s ease,background-color .25s ease,
    color .25s ease,border-color .25s ease;
}
.button:active,.btn:active,.mobile-join-button:active,.location-map-link:active,
.card-actions a:active{transform:scale(.97)}

.eyebrow::before{
  transform-origin:left center;
  animation:f17LinePulse 3.8s ease-in-out infinite;
}

@keyframes f17HeroEnter{
  from{opacity:0;transform:translate3d(0,18px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes f17HeroBackdrop{
  from{opacity:.7;filter:saturate(.75)}
  to{opacity:1;filter:saturate(1)}
}
@keyframes f17LinePulse{
  0%,100%{transform:scaleX(1);opacity:1}
  50%{transform:scaleX(.65);opacity:.72}
}

@media(max-width:700px){
  .f17-motion-ready .f17-animate{
    transform:translate3d(0,15px,0) scale(.99);
    transition-duration:.52s;
  }
  .f17-motion-ready .f17-animate.f17-from-left,
  .f17-motion-ready .f17-animate.f17-from-right{transform:translate3d(0,15px,0)}
  .f17-motion-ready .f17-animate.f17-is-visible{transform:translate3d(0,0,0) scale(1)}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .f17-motion-ready .f17-animate,
  .f17-motion-ready .f17-animate.f17-from-left,
  .f17-motion-ready .f17-animate.f17-from-right{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .f17-motion-ready .page-hero,.f17-motion-ready .hero-copy,.eyebrow::before{
    animation:none!important;
  }
  .programme-card img,.location-photo-card img,.programme-detail figure img,
  .location-feature-image img,.image-slot img{transition:none!important}
}


/* 2026-08-30 public visibility stability hotfix.
   Do not let motion enhancement hide real page content. */
.f17-motion-ready .f17-animate,
.f17-motion-ready .f17-animate.f17-from-left,
.f17-motion-ready .f17-animate.f17-from-right,
.f17-motion-ready .f17-animate.f17-is-visible{
  opacity:1 !important;
  transform:none !important;
  will-change:auto !important;
}
