@font-face {
      font-family: 'Masque';
      src: url('assets/fonts/masque font/MASQUE__.ttf') format('truetype');
      font-weight: normal;
      font-style: normal;
    }
    :root {
      --red: #2C5564;
      --red-dark: #1d3a45;
      --yellow: #f59e0b;
      --yellow-dark: #d97706;
      --white: #FFFFFF;
      --dark: #1d3a45;
      --dark2: #2C5564;
      --gray: #FFFFFF;
      --gray2: #f1f5f9;
      --text: #4a6875;
      --shadow: 0 8px 40px rgba(0, 0, 0, .18);
      --shadow2: 0 4px 24px rgba(0, 0, 0, .10);
      --radius: 16px;
      --radius2: 10px;
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box
    }

    html {
      scroll-behavior: smooth;
      overflow-y: scroll;
    }

    body {
      width: 100%;
      overflow-x: hidden;
      font-family: 'Plus Jakarta Sans', sans-serif;
      color: var(--dark2);
      background: #fff;

    }

    a, button, .btn, [role="button"], input[type="submit"], .cursor-pointer, .champion-card, .nav-link, .dropdown-item {

    }

    /* ── LOADER ── */
    #loader {
      position: fixed;
      inset: 0;
      background: #fff;
      z-index: 9999;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 20px;
      transition: opacity .6s ease .3s, visibility .6s ease .3s
    }

    #loader img {
      transition: transform .8s cubic-bezier(0.77, 0, 0.175, 1), opacity .6s ease .1s;
      will-change: transform;
    }

    #loader.hide img {
      transform: scale(35);
      opacity: 0;
    }

    #loader.hide .loader-bar {
      opacity: 0;
      transition: opacity .2s ease;
    }

    #loader.hide {
      opacity: 0;
      visibility: hidden
    }

    .loader-bar {
      width: 200px;
      height: 4px;
      background: var(--gray2);
      border-radius: 99px;
      overflow: hidden;
      transition: opacity .3s;
    }

    .loader-bar-inner {
      height: 100%;
      width: 0;
      background: linear-gradient(90deg, var(--dark2), var(--yellow));
      border-radius: 99px;
      animation: loadbar 1.8s cubic-bezier(0.4, 0, 0.2, 1) forwards
    }

    @keyframes loadbar {
      to {
        width: 100%
      }
    }

    /* ── BRAND LOCKUP ── */
    .brand-lockup {
      display: flex;
      flex-direction: column;
      justify-content: center;
      text-align: left;
    }

    .brand-line-1 {
      font-family: 'Masque', sans-serif;
      font-weight: normal;
      font-size: 2.0rem;
      line-height: 1.1;
      color: var(--dark2);
      text-transform: uppercase;
      letter-spacing: 0.5px;
    }

    .brand-line-2 {
      font-family: 'Masque', sans-serif;
      font-weight: normal;
      font-size: 0.75rem;
      letter-spacing: 3px;
      color: var(--dark2);
      text-transform: uppercase;
      margin-top: 0px;
    }

    .loader-brand {
      align-items: center;
      text-align: center;
      margin-top: 8px;
    }

    .loader-brand .brand-line-1 {
      font-size: 2.5rem;
    }

    .loader-brand .brand-line-2 {
      font-size: 0.9rem;
      letter-spacing: 4px;
      margin-top: 4px;
    }

    /* ── NAVBAR ── */
    #mainNav {
      transition: background .35s, box-shadow .35s;
      padding: 14px 0;
      background: #fff;
      box-shadow: 0 2px 20px rgba(0, 0, 0, .03)
    }

    #mainNav > .container-fluid {
      padding-left: 40px;
      padding-right: 40px;
    }

    #mainNav.scrolled {
      background: #fff !important;
      box-shadow: 0 2px 20px rgba(0, 0, 0, .08);
      
    }

    .nav-link {
      font-weight: 600;
      font-size: .85rem;
      color: var(--text) !important;
      letter-spacing: .5px;
      padding: 6px 14px !important;
      border-radius: 6px;
      transition: all .2s
    }

    #mainNav.scrolled .nav-link {
      color: var(--dark2) !important
    }

    .nav-link:hover,
    .nav-link.active {
      color: var(--red) !important;
      background: rgba(17, 17, 17, .07)
    }

    .dropdown-menu {
      border: none !important;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
      border-radius: 12px !important;
      padding: 8px !important;
      background: #ffffff !important;
    }

    .dropdown-item {
      font-weight: 600 !important;
      font-size: .85rem !important;
      color: var(--text) !important;
      letter-spacing: .5px !important;
      padding: 8px 16px !important;
      border-radius: 6px !important;
      transition: all .2s !important;
      text-transform: uppercase !important;
    }

    .dropdown-item:hover,
    .dropdown-item.active {
      color: var(--red) !important;
      background: rgba(17, 17, 17, .07) !important;
    }


    .nav-cta {
      background: var(--red) !important;
      color: #fff !important;
      border-radius: 30px !important;
      font-weight: 700 !important;
      padding: 8px 22px !important
    }

    .nav-cta:hover {
      background: var(--red-dark) !important;
      transform: translateY(-1px);
      color: #fff !important
    }

    .navbar-toggler {
      border: 2px solid var(--yellow);
      padding: 5px 10px;
      outline: none;
      box-shadow: none !important;
      border-radius: 6px
    }

    .navbar-toggler-icon {
      filter: none
    }

    #mainNav.scrolled .navbar-toggler-icon {
      filter: none
    }

    @media(max-width:991.98px) {
      .navbar-collapse {
        background: #ffffff;
        padding: 20px;
        border-radius: 12px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        margin-top: 10px;
        border: 1px solid rgba(0, 0, 0, 0.05)
      }
    }

    /* ── HERO ── */
    #hero {
      min-height: 100vh;
      background: #000;
      position: relative;
      display: flex;
      align-items: center;
      overflow: hidden
    }

    .hero-video-bg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 0;
      pointer-events: none
    }

    .hero-video-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .3) 60%, rgba(0, 0, 0, .2) 100%);
      z-index: 1;
      pointer-events: none
    }

    .hero-bg-pattern {
      position: absolute;
      inset: 0;
      background-image: radial-gradient(circle at 20% 50%, rgba(245, 158, 11, .08) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(0, 0, 0, .04) 0%, transparent 40%);
      pointer-events: none;
      z-index: 2
    }

    .hero-accent-bar {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 6px;
      background: linear-gradient(to bottom, var(--yellow), #fff);
      z-index: 4
    }

    .hero-content {
      position: relative;
      z-index: 5
    }

    .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(245, 158, 11, .18);
      border: 1px solid rgba(245, 158, 11, .5);
      color: var(--yellow);
      font-size: .78rem;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      padding: 8px 20px;
      border-radius: 30px;
      margin-bottom: 24px;
      backdrop-filter: blur(8px);
      animation: badgePulse 3s ease-in-out infinite
    }

    @keyframes badgePulse {

      0%,
      100% {
        box-shadow: 0 0 0 0 rgba(245, 158, 11, 0)
      }

      50% {
        box-shadow: 0 0 0 8px rgba(245, 158, 11, 0)
      }
    }

    .hero-title {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 900;
      font-size: clamp(2.4rem, 6vw, 4.2rem);
      line-height: 1.08;
      color: #ffffff;
      margin-bottom: 20px;
      text-shadow: 0 4px 20px rgba(0, 0, 0, .4)
    }

    .hero-title .line-red {
      color: #ffffff
    }

    .hero-title .line-yellow {
      color: var(--yellow);
      text-shadow: 0 0 30px rgba(245, 158, 11, .6)
    }

    .hero-subtitle {
      font-size: 1rem;
      color: rgba(255, 255, 255, .85);
      max-width: 560px;
      line-height: 1.7;
      margin-bottom: 36px;
      text-shadow: 0 2px 8px rgba(0, 0, 0, .4)
    }

    .btn-hero-primary,
    .btn-hero-outline {
      text-decoration: none;
    }

    .btn-hero-primary {
      background: linear-gradient(135deg, var(--yellow), var(--yellow-dark));
      color: #fff;
      font-weight: 700;
      font-size: .95rem;
      padding: 14px 36px;
      border-radius: 50px;
      border: none;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      transition: all .3s;
      box-shadow: 0 8px 24px rgba(245, 158, 11, .35)
    }

    .btn-hero-primary:hover {
      transform: translateY(-3px);
      box-shadow: 0 14px 36px rgba(245, 158, 11, .5);
      color: #fff
    }

    .btn-hero-outline {
      background: rgba(255, 255, 255, .12);
      backdrop-filter: blur(8px);
      color: #fff;
      font-weight: 700;
      font-size: .95rem;
      padding: 13px 36px;
      border-radius: 50px;
      border: none;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      transition: all .3s
    }

    .btn-hero-outline:hover {
      background: rgba(255, 255, 255, .25);
      color: #fff;
      transform: translateY(-3px)
    }

    .hero-stats {
      display: flex;
      gap: 20px;
      margin-top: 48px;
      flex-wrap: nowrap;
      justify-content: center;
      width: 100%
    }

    .hero-stat {
      text-align: center;
      padding: 20px 18px;
      background: rgba(255, 255, 255, .08);
      backdrop-filter: blur(12px);
      border: 1px solid rgba(255, 255, 255, .15);
      border-radius: 16px;
      transition: all .3s;
      flex: 1 1 0;
      min-width: 0
    }

    .hero-stat:hover {
      background: rgba(245, 158, 11, .15);
      border-color: rgba(245, 158, 11, .5);
      transform: translateY(-4px)
    }

    .hero-stat-num {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 900;
      font-size: 2.2rem;
      color: #ffffff;
      line-height: 1;
      text-shadow: 0 2px 8px rgba(0, 0, 0, .4)
    }

    .hero-stat-num span {
      color: var(--yellow)
    }

    .hero-stat-label {
      font-size: .72rem;
      color: rgba(255, 255, 255, .8);
      letter-spacing: 1.5px;
      text-transform: uppercase;
      margin-top: 6px
    }

    @media(max-width:576px) {
      .hero-stats {
        flex-wrap: wrap;
        gap: 12px
      }

      .hero-stat {
        flex: 1 1 calc(50% - 12px)
      }
    }

    .hero-image-side {
      position: relative;
      z-index: 5
    }

    .hero-img-wrap {
      position: relative;
      display: inline-block
    }

    .hero-img-wrap::before {
      content: '';
      position: absolute;
      inset: -12px;
      border: 2px solid rgba(245, 158, 11, .3);
      border-radius: 24px;
      z-index: -1
    }

    .hero-img-wrap::after {
      content: '';
      position: absolute;
      inset: -24px;
      border: 2px solid rgba(0, 0, 0, .15);
      border-radius: 32px;
      z-index: -2
    }

    .hero-main-img {
      width: 100%;
      max-width: 440px;
      height: 520px;
      object-fit: cover;
      border-radius: 20px;
      display: block;
      box-shadow: 0 24px 64px rgba(0, 0, 0, .15)
    }

    .hero-float-card {
      position: absolute;
      background: rgba(255, 255, 255, .9);
      backdrop-filter: blur(16px);
      border: 1px solid rgba(0, 0, 0, .08);
      border-radius: var(--radius2);
      padding: 12px 18px;
      display: flex;
      align-items: center;
      gap: 10px;
      box-shadow: var(--shadow2)
    }

    .hero-float-card.card-a {
      bottom: 60px;
      left: -40px
    }

    .hero-float-card.card-b {
      top: 40px;
      right: -30px
    }

    .hero-float-card .icon {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .95rem
    }

    .hero-float-card .info .label {
      font-size: .65rem;
      color: var(--text);
      letter-spacing: 1px;
      text-transform: uppercase
    }

    .hero-float-card .info .val {
      font-size: .95rem;
      font-weight: 700;
      color: var(--dark2)
    }

    /* ── Floating Particles ── */
    .hero-particles {
      position: absolute;
      inset: 0;
      z-index: 3;
      pointer-events: none;
      overflow: hidden
    }

    .particle {
      position: absolute;
      border-radius: 50%;
      opacity: 0;
      animation: particleFloat linear infinite
    }

    @keyframes particleFloat {
      0% {
        opacity: 0;
        transform: translateY(100vh) scale(0)
      }

      10% {
        opacity: .6
      }

      90% {
        opacity: .4
      }

      100% {
        opacity: 0;
        transform: translateY(-100px) scale(1.2)
      }
    }

    /* ── VIDEO REEL SECTION ── */
    #video-reel {
      padding: 80px 0;
      background: linear-gradient(135deg, #0a1628 0%, #1d3a45 50%, #0a1628 100%);
      position: relative;
      overflow: hidden
    }

    #video-reel::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 50% 50%, rgba(245, 158, 11, .08) 0%, transparent 70%);
      pointer-events: none
    }

    .reel-title {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 900;
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      color: #fff;
      text-align: center;
      margin-bottom: 8px
    }

    .reel-title span {
      color: var(--yellow)
    }

    .reel-sub {
      color: rgba(255, 255, 255, .7);
      text-align: center;
      max-width: 500px;
      margin: 0 auto 48px;
      font-size: .95rem;
      line-height: 1.7
    }

    .reel-video-wrap {
      position: relative;
      border-radius: 20px;
      overflow: hidden;
      box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
      border: 2px solid rgba(245, 158, 11, .3);
      aspect-ratio: 16/9
    }

    .reel-video-wrap video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block
    }

    .reel-video-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(0, 0, 0, .4) 0%, transparent 50%);
      pointer-events: none
    }

    .reel-play-btn {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 80px;
      height: 80px;
      background: rgba(245, 158, 11, .9);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.8rem;
      color: #fff;
      cursor: pointer;
      transition: all .3s;
      border: 4px solid rgba(255, 255, 255, .3);
      box-shadow: 0 0 40px rgba(245, 158, 11, .5)
    }

    .reel-play-btn:hover {
      transform: translate(-50%, -50%) scale(1.1);
      background: var(--yellow);
      box-shadow: 0 0 60px rgba(245, 158, 11, .8)
    }

    .reel-play-btn i {
      margin-left: 6px
    }

    .reel-stats {
      display: flex;
      justify-content: center;
      gap: 40px;
      margin-top: 40px;
      flex-wrap: wrap
    }

    .reel-stat {
      text-align: center;
      color: #fff
    }

    .reel-stat-num {
      font-weight: 900;
      font-size: 2rem;
      color: var(--yellow)
    }

    .reel-stat-label {
      font-size: .72rem;
      color: rgba(255, 255, 255, .6);
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-top: 4px
    }

    .reel-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(245, 158, 11, .15);
      border: 1px solid rgba(245, 158, 11, .4);
      color: var(--yellow);
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: 2px;
      padding: 6px 16px;
      border-radius: 30px;
      margin-bottom: 16px;
      text-transform: uppercase
    }

    /* ── SECTION SHARED ── */
    .section-label {
      display: inline-block;
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: var(--dark2);
      background: rgba(0, 0, 0, .07);
      padding: 6px 16px;
      border-radius: 30px;
      margin-bottom: 12px
    }

    .section-title {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 900;
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      line-height: 1.15;
      color: var(--dark2)
    }

    .section-title .accent {
      color: var(--red)
    }

    .section-title .accent-y {
      color: var(--yellow)
    }

    .section-divider {
      width: 60px;
      height: 4px;
      background: linear-gradient(90deg, var(--red), var(--yellow));
      border-radius: 4px;
      margin: 14px 0 18px
    }

    .section-divider.centered {
      margin: 14px auto 18px
    }

    .section-sub {
      color: var(--text);
      line-height: 1.75;
      font-size: .95rem
    }

    /* ── ABOUT ── */
    #about {
      padding: 100px 0;
      background: #fff
    }

    /* ── ABOUT IMAGE SCENE ── */
    .about-img-scene {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 52px;
      /* will-change for parallax */
      will-change: transform;
    }

    /* Rotating outer ring — REMOVED */

    /* Orbiting icon dots */
    .about-orbit-dot {
      position: absolute;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .95rem;
      color: #fff;
      box-shadow: 0 6px 20px rgba(0, 0, 0, .2);
      z-index: 4;
      pointer-events: none;
    }

    .about-orbit-dot.dot-1 {
      background: linear-gradient(135deg, var(--yellow), var(--yellow-dark));
      animation: orbitCW 18s linear infinite;
      transform-origin: 0 0;
    }

    .about-orbit-dot.dot-2 {
      background: linear-gradient(135deg, var(--red), #333);
      animation: orbitCW 18s linear infinite -6s;
      transform-origin: 0 0;
    }

    .about-orbit-dot.dot-3 {
      background: linear-gradient(135deg, #1a6b1a, #0d4d0d);
      animation: orbitCW 18s linear infinite -12s;
      transform-origin: 0 0;
    }

    /* Orbit: element sits at center, rotates around, inner counter-rotates to stay upright */
    @keyframes orbitCW {
      0% {
        transform: rotate(0deg) translateX(calc(50% + 54px)) rotate(0deg)
      }

      100% {
        transform: rotate(360deg) translateX(calc(50% + 54px)) rotate(-360deg)
      }
    }

    /* Main image wrap — continuous gentle rotation */
    .about-img-wrap {
      position: relative;
      overflow: hidden;
      border-radius: 22px;
      box-shadow: 0 20px 60px rgba(0, 0, 0, .18);
      z-index: 2;
      /* Continuous slow rotation */
      animation: aboutImgSpin 8s ease-in-out infinite;
      transition: box-shadow .4s ease;
    }

    /* Pause rotation on hover */
    .about-img-wrap:hover {
      animation-play-state: paused;
      box-shadow: 0 30px 80px rgba(245, 158, 11, .25), 0 0 0 3px rgba(245, 158, 11, .35);
    }

    @keyframes aboutImgSpin {
      0% {
        transform: rotate(-4deg) scale(1)
      }

      25% {
        transform: rotate(0deg) scale(1.015)
      }

      50% {
        transform: rotate(4deg) scale(1)
      }

      75% {
        transform: rotate(0deg) scale(1.015)
      }

      100% {
        transform: rotate(-4deg) scale(1)
      }
    }

    .about-main-img {
      width: 100%;
      height: auto;
      max-height: 550px;
      object-fit: contain;
      display: block;
      transition: transform .8s cubic-bezier(0.165, 0.84, 0.44, 1), filter .6s ease;
      will-change: transform;
    }

    .about-img-scene:hover .about-main-img {
      transform: scale(1.07);
      filter: brightness(1.06) saturate(1.1);
    }

    /* Gold shimmer sweep on hover */
    .about-img-shimmer {
      position: absolute;
      inset: 0;
      background: linear-gradient(120deg, transparent 30%, rgba(245, 158, 11, .18) 50%, transparent 70%);
      transform: translateX(-100%);
      pointer-events: none;
      z-index: 3;
      border-radius: 22px;
    }

    .about-img-scene:hover .about-img-shimmer {
      animation: aboutShimmer .9s ease forwards;
    }

    @keyframes aboutShimmer {
      0% {
        transform: translateX(-100%)
      }

      100% {
        transform: translateX(100%)
      }
    }

    /* Experience badge */
    .about-exp-badge {
      position: absolute;
      bottom: -16px;
      right: -10px;
      background: var(--dark2);
      color: #fff;
      border-radius: var(--radius);
      padding: 18px 22px;
      text-align: center;
      box-shadow: 0 12px 36px rgba(0, 0, 0, .3);
      z-index: 5;
      border: 2px solid rgba(245, 158, 11, .4);
      animation: floatBadge 4s ease-in-out infinite;
    }

    .about-exp-badge .num {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 900;
      font-size: 2.4rem;
      line-height: 1;
      color: var(--yellow);
    }

    .about-exp-badge .lbl {
      font-size: .65rem;
      letter-spacing: 2px;
      text-transform: uppercase;
      opacity: .8;
      margin-top: 3px;
    }

    /* Students badge */
    .about-students-badge {
      position: absolute;
      top: -12px;
      left: -10px;
      background: linear-gradient(135deg, var(--yellow), var(--yellow-dark));
      color: #000;
      border-radius: 50px;
      padding: 10px 18px;
      display: flex;
      align-items: center;
      gap: 10px;
      box-shadow: 0 8px 24px rgba(245, 158, 11, .4);
      z-index: 5;
      animation: floatBadge 4s ease-in-out infinite 1.2s;
      white-space: nowrap;
    }

    .about-students-badge i {
      font-size: 1.2rem;
    }

    .about-students-badge .num {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 900;
      font-size: 1.1rem;
      line-height: 1;
    }

    .about-students-badge .lbl {
      font-size: .62rem;
      letter-spacing: 1px;
      text-transform: uppercase;
      opacity: .8;
    }

    @keyframes floatBadge {

      0%,
      100% {
        transform: translateY(0)
      }

      50% {
        transform: translateY(-8px)
      }
    }

    .about-feature {
      display: flex;
      align-items: flex-start;
      gap: 14px;
      margin-bottom: 20px
    }

    .about-feature .icon-wrap {
      width: 44px;
      height: 44px;
      min-width: 44px;
      background: linear-gradient(135deg, rgba(245, 158, 11, .12), rgba(0, 0, 0, .06));
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem;
      color: var(--yellow)
    }

    .about-feature .text h6 {
      font-weight: 700;
      font-size: .9rem;
      margin-bottom: 2px;
      color: var(--dark2)
    }

    .about-feature .text p {
      font-size: .82rem;
      color: var(--text);
      margin: 0
    }

    .why-card {
      background: #f8f9fa;
      border-radius: var(--radius);
      padding: 28px 24px;
      border: 1px solid var(--gray2);
      text-align: center;
      transition: all .4s cubic-bezier(0.165, 0.84, 0.44, 1);
      cursor: default;
      position: relative;
      overflow: hidden;
      z-index: 1;
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
    }

    .why-card::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(150, 150, 150, 0.05) 0%, rgba(245, 158, 11, 0.03) 100%);
      opacity: 0;
      transition: opacity 0.4s ease;
      z-index: -1;
    }

    .why-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 8px 15px rgba(0, 0, 0, 0.08);
      border-color: var(--yellow);
    }

    .why-card:hover::before {
      opacity: 1;
    }

    .why-card .icon-circle {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: linear-gradient(135deg, rgba(150, 150, 150, 0.1), rgba(245, 158, 11, 0.12));
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 14px;
      font-size: 1.5rem;
      color: var(--dark2);
      transition: all .4s cubic-bezier(0.165, 0.84, 0.44, 1);
      box-shadow: inset 0 2px 4px rgba(0,0,0,0.03);
    }

    .why-card:hover .icon-circle {
      transform: scale(1.15) rotate(360deg);
      color: #fff;
      box-shadow: 0 4px 10px rgba(150, 150, 150, 0.2);
    }

    /* Odd cards gradient hover */
    .row > div:nth-child(odd) .why-card:hover .icon-circle {
      background: linear-gradient(135deg, var(--red), var(--red-dark));
    }

    /* Even cards gradient hover */
    .row > div:nth-child(even) .why-card:hover .icon-circle {
      background: linear-gradient(135deg, var(--yellow), var(--yellow-dark));
      color: #000;
      box-shadow: 0 4px 10px rgba(245, 158, 11, 0.2);
    }

    .why-card h6 {
      font-weight: 700;
      font-size: .9rem;
      margin-bottom: 6px;
      color: var(--dark2)
    }

    .why-card p {
      font-size: .8rem;
      color: var(--text);
      margin: 0;
      flex-grow: 1;
    }

    /* ── PROGRAMS ── */
    #programs {
      padding: 100px 0;
      background: #ffffff
    }

    .program-card {
      background: #fff;
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: var(--shadow2);
      transition: all .35s;
      height: 100%;
      border: 1px solid var(--gray2)
    }

    .program-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 20px 60px rgba(0, 0, 0, .12)
    }

    .program-card-img {
      height: 260px;
      width: 100%;
      object-fit: cover; object-position: top center;
      background: #fff;
      padding: 0;
      transition: transform .6s cubic-bezier(0.165, 0.84, 0.44, 1), filter .6s
    }

    .program-card:hover .program-card-img {
      transform: scale(1.08);
      filter: brightness(1.1)
    }

    .program-card-img-wrap {
      overflow: hidden;
      position: relative
    }

    .program-card-tag {
      position: absolute;
      top: 14px;
      left: 14px;
      background: var(--red);
      color: #fff;
      font-size: .68rem;
      font-weight: 700;
      letter-spacing: 1px;
      text-transform: uppercase;
      padding: 4px 12px;
      border-radius: 30px
    }

    .program-card-body {
      padding: 22px
    }

    .program-card-icon {
      width: 44px;
      height: 44px;
      border-radius: 10px;
      background: linear-gradient(135deg, var(--red), var(--yellow));
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem;
      margin-bottom: 12px
    }

    .program-card h5 {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 800;
      font-size: 1.05rem;
      color: var(--dark2);
      margin-bottom: 8px
    }

    .program-card p {
      font-size: .82rem;
      color: var(--text);
      line-height: 1.6;
      margin-bottom: 16px
    }

    .btn-learn {
      font-size: .8rem;
      font-weight: 700;
      color: var(--dark2);
      background: rgba(0, 0, 0, .07);
      border: none;
      border-radius: 30px;
      padding: 7px 18px;
      transition: all .25s;
      display: inline-flex;
      align-items: center;
      gap: 6px
    }

    .btn-learn:hover {
      background: var(--red);
      color: #fff
    }

    /* ── ACHIEVEMENTS ── */
    #achievements {
      padding: 100px 0;
      background: #fff
    }

    /* Counter card base + entrance animation */
    .ach-counter-card {
      background: linear-gradient(135deg, var(--red), var(--red-dark));
      border-radius: var(--radius);
      padding: 36px 24px;
      text-align: center;
      color: #fff;
      position: relative;
      overflow: hidden;
      /* entrance: hidden by default, JS adds .counted to trigger */
      opacity: 0;
      transform: translateY(32px) scale(0.95);
      transition: opacity .7s cubic-bezier(0.16, 1, 0.3, 1), transform .7s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .4s ease;
      box-shadow: 0 8px 32px rgba(0, 0, 0, .15);
    }

    .ach-counter-card.in-view {
      opacity: 1;
      transform: translateY(0) scale(1);
    }

    /* Stagger delays for entrance */
    .ach-counter-card:nth-child(1) {
      transition-delay: 0s
    }

    .ach-counter-card:nth-child(2) {
      transition-delay: .1s
    }

    .ach-counter-card:nth-child(3) {
      transition-delay: .2s
    }

    .ach-counter-card:nth-child(4) {
      transition-delay: .3s
    }

    /* Animated background circle */
    .ach-counter-card::before {
      content: '';
      position: absolute;
      right: -20px;
      top: -20px;
      width: 120px;
      height: 120px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .12);
      animation: achBubble 4s ease-in-out infinite;
    }

    .ach-counter-card::after {
      content: '';
      position: absolute;
      left: -30px;
      bottom: -30px;
      width: 90px;
      height: 90px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .07);
      animation: achBubble 4s ease-in-out infinite 2s;
    }

    @keyframes achBubble {

      0%,
      100% {
        transform: scale(1) translate(0, 0);
        opacity: .7
      }

      50% {
        transform: scale(1.2) translate(6px, -6px);
        opacity: 1
      }
    }

    /* Hover lift + glow */
    .ach-counter-card:hover {
      transform: translateY(-8px) scale(1.03);
      box-shadow: 0 24px 60px rgba(0, 0, 0, .25);
    }

    /* Card colour variants */
    .ach-counter-card.yellow-card {
      background: linear-gradient(135deg, var(--yellow), var(--yellow-dark));
      color: #000
    }

    .ach-counter-card.yellow-card .ach-counter-label {
      color: #000;
      opacity: .75
    }

    .ach-counter-card.dark-card {
      background: linear-gradient(135deg, #0f172a, #1e293b);
      color: #fff
    }

    /* Number */
    .ach-counter-num {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 900;
      font-size: 3.4rem;
      line-height: 1;
      display: block;
      letter-spacing: -1px;
    }

    .ach-counter-num .counter-suffix {
      font-size: 2rem;
      font-weight: 700;
      opacity: .85;
    }

    /* Label */
    .ach-counter-label {
      font-size: .75rem;
      font-weight: 700;
      letter-spacing: 2px;
      text-transform: uppercase;
      opacity: .9;
      margin-top: 8px;
      display: block;
    }

    /* Floating icon */
    .ach-counter-icon {
      font-size: 2.4rem;
      opacity: .2;
      position: absolute;
      right: 18px;
      bottom: 14px;
      animation: achIconFloat 3s ease-in-out infinite;
    }

    @keyframes achIconFloat {

      0%,
      100% {
        transform: translateY(0) rotate(0deg)
      }

      50% {
        transform: translateY(-6px) rotate(8deg)
      }
    }

    /* Pulsing glow ring on hover */
    .ach-counter-card::before {
      z-index: 0
    }

    .ach-counter-card>* {
      position: relative;
      z-index: 1
    }

    /* Timeline */
    .timeline-item {
      display: flex;
      gap: 20px;
      margin-bottom: 24px;
      align-items: flex-start
    }

    .timeline-dot {
      width: 14px;
      height: 14px;
      min-width: 14px;
      border-radius: 50%;
      background: var(--red);
      margin-top: 4px;
      position: relative
    }

    .timeline-dot::after {
      content: '';
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: 14px;
      width: 2px;
      height: calc(100% + 16px);
      background: linear-gradient(to bottom, var(--red), transparent)
    }

    .timeline-year {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 800;
      font-size: 1rem;
      color: var(--red)
    }

    .timeline-desc {
      font-size: .85rem;
      color: var(--text);
      line-height: 1.6
    }

    .timeline-img {
      width: 100%;
      height: 150px;
      object-fit: cover;
      border-radius: 12px;
      box-shadow: var(--shadow2);
      cursor: pointer;
      transition: transform 0.3s;
    }

    .timeline-img:hover {
      transform: scale(1.03);
    }

    .modal-main-img {
      width: 100%;
      height: 50vh;
      object-fit: cover;
      display: block;
    }

    /* ── ATHLETES ── */
    #athletes {
      padding: 100px 0;
      background: #ffffff
    }

    #athletes .section-label {
      color: var(--dark2);
      background: rgba(0, 0, 0, .07)
    }

    #athletes .section-title {
      color: var(--dark2)
    }

    #athletes .section-divider {
      background: linear-gradient(90deg, var(--red), var(--yellow))
    }

    .athlete-card {
      background: #fff;
      border: 1px solid var(--gray2);
      border-radius: var(--radius);
      overflow: hidden;
      text-align: center;
      padding: 28px 20px;
      transition: all .3s
    }

    .athlete-card:hover {
      transform: translateY(-8px);
      box-shadow: var(--shadow2);
      border-color: var(--red)
    }

    .athlete-img {
      width: 110px;
      height: 110px;
      border-radius: 50%;
      object-fit: cover;
      border: 4px solid var(--yellow);
      margin: 0 auto 16px;
      display: block;
      box-shadow: 0 0 0 8px rgba(245, 158, 11, .12)
    }

    .athlete-name {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 800;
      font-size: 1.05rem;
      color: var(--dark2);
      margin-bottom: 6px
    }

    .athlete-event {
      font-size: .78rem;
      color: var(--text);
      margin-bottom: 12px
    }

    .athlete-medal {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: rgba(245, 158, 11, .12);
      border: 1px solid rgba(245, 158, 11, .3);
      color: var(--yellow-dark);
      font-size: .75rem;
      font-weight: 700;
      padding: 5px 14px;
      border-radius: 30px
    }

    /* Global Card Rotate Animation */
    .feature-card,
    .program-card,
    .athlete-card,
    .testimonial-card {
      transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, border-color 0.4s ease;
    }

    .feature-card:hover,
    .program-card:hover,
    .athlete-card:hover,
    .testimonial-card:hover {
      transform: translateY(-8px) rotate(1.5deg) scale(1.02) !important;
      box-shadow: 0 24px 48px rgba(0, 0, 0, 0.12) !important;
      z-index: 2;
      position: relative;
    }

    .ach-counter-card:hover {
      transform: translateY(-8px) rotate(1.5deg) scale(1.03) !important;
      z-index: 2;
      position: relative;
    }

    /* ── COACHES ── */
    #coaches {
      padding: 100px 0;
      background: #f8f9fa
    }

    .coach-card {
      background: #fff;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
      border: none;
      transition: all .4s cubic-bezier(0.175, 0.885, 0.32, 1.275)
    }

    .coach-card:hover {
      transform: translateY(-8px) rotate(1.5deg) scale(1.02);
      box-shadow: 0 24px 48px rgba(0, 0, 0, .15);
      z-index: 2;
      position: relative
    }

    .coach-img-wrap {
      position: relative;
      overflow: hidden;
      padding: 6px;
      padding-bottom: 0
    }

    .coach-img {
      width: 100%;
      height: auto;
      aspect-ratio: 3/2;
      object-fit: cover;
      object-position: top;
      border-radius: 8px 8px 0 0;
      display: block
    }

    .coach-body {
      padding: 24px;
      text-align: left
    }

    .coach-exp {
      display: inline-block;
      background: #000;
      color: #fff;
      font-size: .65rem;
      font-weight: 800;
      letter-spacing: 1px;
      text-transform: uppercase;
      padding: 5px 14px;
      border-radius: 30px;
      margin-bottom: 16px
    }

    .coach-name {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 800;
      font-size: 1.4rem;
      color: #000;
      margin-bottom: 4px;
      letter-spacing: -0.5px
    }

    .coach-role {
      font-size: .95rem;
      color: #666;
      font-weight: 500;
      margin-bottom: 16px
    }

    .coach-desc {
      font-size: .85rem;
      color: var(--text);
      line-height: 1.7
    }

    /* ── GALLERY ── */
    #gallery {
      padding: 100px 0;
      background: var(--dark2);
      position: relative;
      overflow: hidden
    }

    #gallery::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 20% 50%, rgba(245, 158, 11, .06) 0%, transparent 60%), radial-gradient(ellipse at 80% 20%, rgba(255, 255, 255, .03) 0%, transparent 50%);
      pointer-events: none;
      z-index: 0
    }

    #gallery .container {
      position: relative;
      z-index: 1
    }

    #gallery .section-label {
      color: var(--yellow);
      background: rgba(245, 158, 11, .15);
      border: 1px solid rgba(245, 158, 11, .3)
    }

    #gallery .section-title {
      color: #fff
    }

    #gallery .section-title .accent {
      color: var(--yellow)
    }

    #gallery .section-divider {
      background: linear-gradient(90deg, var(--yellow), rgba(245, 158, 11, .3))
    }

    /* Gallery heading parallax wrapper */
    .gallery-heading-wrap {
      overflow: hidden;
      padding-bottom: 4px
    }

    .gallery-title-line {
      display: block;
      transform: translateY(100%);
      opacity: 0;
      transition: transform .9s cubic-bezier(0.16, 1, 0.3, 1), opacity .9s ease;
      will-change: transform
    }

    .gallery-heading-wrap.revealed .gallery-title-line {
      transform: translateY(0);
      opacity: 1
    }

    .gallery-heading-wrap.revealed .gallery-title-line:nth-child(2) {
      transition-delay: .12s
    }

    /* Scroll-zoom container */
    .gallery-scroll-zoom-wrap {
      transform-origin: center center;
      transition: transform .15s ease-out;
      will-change: transform;
    }

    /* Filter buttons */
    .gallery-filter {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      justify-content: center;
      margin-bottom: 36px
    }

    .filter-btn {
      background: rgba(255, 255, 255, .06);
      border: 1.5px solid rgba(255, 255, 255, .15);
      color: rgba(255, 255, 255, .7);
      font-size: .8rem;
      font-weight: 600;
      padding: 8px 20px;
      border-radius: 30px;
      cursor: pointer;
      transition: all .3s;
      backdrop-filter: blur(6px)
    }

    .filter-btn.active,
    .filter-btn:hover {
      background: var(--yellow);
      border-color: var(--yellow);
      color: #000
    }

    /* Gallery grid */
    .gallery-grid {
      columns: 3;
      gap: 16px
    }

    .gallery-item {
      break-inside: avoid;
      margin-bottom: 16px;
      border-radius: 14px;
      overflow: hidden;
      cursor: pointer;
      position: relative;
      transform-style: preserve-3d;
      /* entrance state */
      opacity: 0;
      transform: translateY(40px) scale(0.94);
      transition:
        opacity .7s cubic-bezier(0.16, 1, 0.3, 1),
        transform .7s cubic-bezier(0.16, 1, 0.3, 1),
        box-shadow .4s ease;
      box-shadow: 0 4px 24px rgba(0, 0, 0, .5);
    }

    .gallery-item.in-view {
      opacity: 1;
      transform: translateY(0) scale(1);
    }

    /* Staggered delays */
    .gallery-item:nth-child(1) {
      transition-delay: 0s
    }

    .gallery-item:nth-child(2) {
      transition-delay: .08s
    }

    .gallery-item:nth-child(3) {
      transition-delay: .16s
    }

    .gallery-item:nth-child(4) {
      transition-delay: .24s
    }

    .gallery-item:nth-child(5) {
      transition-delay: .32s
    }

    .gallery-item:nth-child(6) {
      transition-delay: .40s
    }

    .gallery-item:nth-child(7) {
      transition-delay: .48s
    }

    .gallery-item:nth-child(8) {
      transition-delay: .56s
    }

    .gallery-item:nth-child(9) {
      transition-delay: .64s
    }

    .gallery-item:hover {
      box-shadow: 0 20px 60px rgba(0, 0, 0, .7), 0 0 0 1.5px rgba(245, 158, 11, .4)
    }

    /* Image with Ken Burns zoom */
    .gallery-item img {
      width: 100%;
      display: block;
      transition:
        transform .8s cubic-bezier(0.165, 0.84, 0.44, 1),
        filter .6s ease,
        brightness .6s ease;
      transform-origin: center center;
      will-change: transform;
    }

    .gallery-item:hover img {
      transform: scale(1.12);
      filter: brightness(1.1) saturate(1.15) contrast(1.05);
    }

    /* Gold shimmer overlay on hover */
    .gallery-item::after {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(245, 158, 11, 0) 0%, rgba(245, 158, 11, .12) 50%, rgba(245, 158, 11, 0) 100%);
      opacity: 0;
      transform: translateX(-100%);
      transition: opacity .4s ease;
      pointer-events: none;
      z-index: 2;
    }

    .gallery-item:hover::after {
      opacity: 1;
      animation: shimmerSlide .8s ease forwards;
    }

    @keyframes shimmerSlide {
      0% {
        transform: translateX(-100%)
      }

      100% {
        transform: translateX(100%)
      }
    }

    /* Dark overlay + zoom icon */
    .gallery-item-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, .2) 60%, transparent 100%);
      opacity: 0;
      transition: opacity .4s ease;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 3;
    }

    .gallery-item:hover .gallery-item-overlay {
      opacity: 1
    }

    .gallery-item-overlay i {
      font-size: 2rem;
      color: #fff;
      transform: scale(0.6) rotate(-15deg);
      transition: transform .4s cubic-bezier(0.34, 1.56, 0.64, 1);
      drop-shadow: 0 4px 12px rgba(0, 0, 0, .6);
    }

    .gallery-item:hover .gallery-item-overlay i {
      transform: scale(1) rotate(0deg);
    }

    /* Gallery item label */
    .gallery-item-label {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 14px 14px 12px;
      background: linear-gradient(to top, rgba(0, 0, 0, .85), transparent);
      color: #fff;
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      opacity: 0;
      transform: translateY(8px);
      transition: all .35s ease;
      z-index: 4;
    }

    .gallery-item:hover .gallery-item-label {
      opacity: 1;
      transform: translateY(0);
    }

    @media(max-width:768px) {
      .gallery-grid {
        columns: 2
      }
    }

    @media(max-width:480px) {
      .gallery-grid {
        columns: 1
      }
    }

    /* Lightbox */
    #lightbox {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, .9);
      z-index: 9998;
      display: none;
      align-items: center;
      justify-content: center
    }

    #lightbox.active {
      display: flex
    }

    #lightbox img {
      max-width: 90vw;
      max-height: 85vh;
      object-fit: contain;
      border-radius: 10px
    }

    #lightbox .close-lb {
      position: absolute;
      top: 24px;
      right: 30px;
      color: #fff;
      font-size: 2rem;
      cursor: pointer;
      transition: .2s
    }

    #lightbox .close-lb:hover {
      color: var(--red)
    }

    /* ── TESTIMONIALS ── */
    #testimonials {
      padding: 100px 0;
      background: #fff
    }

    .testimonial-card {
      background: #ffffff;
      border-radius: var(--radius);
      padding: 32px 28px;
      height: 100%;
      border: 1px solid var(--gray2);
      transition: all .3s;
      position: relative;
      display: flex;
      flex-direction: column;
    }

    .testimonial-card:hover {
      box-shadow: var(--shadow)
    }

    .testimonial-card::before {
      content: '❝';
      position: absolute;
      top: 16px;
      right: 24px;
      font-size: 4rem;
      color: var(--red);
      opacity: .12;
      font-family: Georgia, serif;
      line-height: 1
    }

    .testimonial-stars {
      color: var(--yellow);
      font-size: .9rem;
      margin-bottom: 14px
    }

    .testimonial-text {
      font-size: .88rem;
      color: var(--text);
      line-height: 1.75;
      margin-bottom: 20px;
      font-style: italic;
      flex-grow: 1;
    }

    .testimonial-author {
      display: flex;
      align-items: center;
      gap: 12px
    }

    .testimonial-avatar {
      width: 46px;
      height: 46px;
      border-radius: 50%;
      object-fit: cover;
      border: 3px solid var(--yellow)
    }

    .testimonial-author-name {
      font-weight: 700;
      font-size: .88rem;
      color: var(--dark2)
    }

    .testimonial-author-role {
      font-size: .76rem;
      color: var(--text)
    }

    .swiper-pagination-bullet {
      background: var(--gray2)
    }

    .swiper-pagination-bullet-active {
      background: var(--red)
    }

    /* ── MARQUEE ── */
    .marquee-wrapper {
      display: flex;
      overflow: hidden;
      user-select: none;
      gap: 20px;
      margin-top: 50px;
      padding: 10px 0;
    }

    .marquee-content {
      flex-shrink: 0;
      display: flex;
      gap: 20px;
      min-width: 100%;
      animation: scroll-x 25s linear infinite;
    }

    .marquee-wrapper:hover .marquee-content {
      animation-play-state: paused;
    }

    .marquee-item {
      width: 280px;
      height: 200px;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
      border: 2px solid var(--yellow);
      transition: transform 0.4s ease;
    }

    .marquee-item:hover {
      transform: translateY(-5px) scale(1.03);
      box-shadow: 0 15px 35px rgba(245, 158, 11, 0.3);
    }

    .marquee-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    @keyframes scroll-x {
      from {
        transform: translateX(0);
      }

      to {
        transform: translateX(-100%);
      }
    }

    @keyframes scroll-x-reverse {
      from {
        transform: translateX(-100%);
      }

      to {
        transform: translateX(0);
      }
    }

    .marquee-content-reviews {
      flex-shrink: 0;
      display: flex;
      gap: 20px;
      min-width: 100%;
      animation: scroll-x-reverse 35s linear infinite;
    }

    .marquee-wrapper:hover .marquee-content-reviews {
      animation-play-state: paused;
    }

    .marquee-item-review {
      width: 400px;
      flex-shrink: 0;
    }

    @media(max-width:768px) {
      .marquee-item {
        width: 220px;
        height: 160px;
      }

      .marquee-item-review {
        width: 320px;
      }
    }

    /* ── BLOG ── */
    #blog {
      padding: 100px 0;
      background: #ffffff
    }

    .blog-card {
      background: #fff;
      border: 1px solid var(--gray2);
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: var(--shadow2);
      transition: all .35s;
      height: 100%
    }

    .blog-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 20px 50px rgba(0, 0, 0, .12)
    }

    .blog-img-wrap {
      overflow: hidden;
      position: relative
    }

    .blog-img {
      width: 100%;
      height: 200px;
      object-fit: cover;
      transition: transform .6s cubic-bezier(0.165, 0.84, 0.44, 1), filter .6s
    }

    .blog-card:hover .blog-img {
      transform: scale(1.08);
      filter: brightness(1.1)
    }

    .blog-cat {
      position: absolute;
      top: 14px;
      left: 14px;
      background: var(--red);
      color: #fff;
      font-size: .68rem;
      font-weight: 700;
      letter-spacing: 1px;
      text-transform: uppercase;
      padding: 4px 12px;
      border-radius: 30px
    }

    .blog-body {
      padding: 22px
    }

    .blog-meta {
      display: flex;
      gap: 16px;
      font-size: .75rem;
      color: var(--text);
      margin-bottom: 10px
    }

    .blog-meta span {
      display: flex;
      align-items: center;
      gap: 5px
    }

    .blog-title {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 800;
      font-size: 1rem;
      color: var(--dark2);
      margin-bottom: 10px;
      line-height: 1.35
    }

    .blog-excerpt {
      font-size: .82rem;
      color: var(--text);
      line-height: 1.65;
      margin-bottom: 16px
    }

    .btn-read {
      font-size: .8rem;
      font-weight: 700;
      color: var(--red);
      background: none;
      border: none;
      padding: 0;
      display: inline-flex;
      align-items: center;
      gap: 5px;
      transition: gap .25s
    }

    .btn-read:hover {
      gap: 10px
    }

    /* ── CTA ── */
    #cta {
      padding: 100px 0;
      background: url('assets/Gallery/WhatsApp Image 2026-06-19 at 10.21.35 AM (2).webp') center/cover fixed, linear-gradient(135deg, rgba(17, 17, 17, 0.75) 0%, rgba(0, 0, 0, 0.75) 100%);
      background-blend-mode: overlay;
      position: relative;
      overflow: hidden
    }

    #cta::before {
      content: '';
      position: absolute;
      inset: 0;
      background-image: radial-gradient(circle at 10% 50%, rgba(245, 158, 11, .12) 0%, transparent 50%), radial-gradient(circle at 90% 20%, rgba(255, 255, 255, .05) 0%, transparent 40%);
      pointer-events: none
    }

    .cta-title {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 900;
      font-size: clamp(2rem, 5vw, 3.2rem);
      color: #fff;
      line-height: 1.15;
      margin-bottom: 16px
    }

    .cta-title .highlight {
      color: var(--yellow)
    }

    .cta-sub {
      color: rgba(255, 255, 255, .9);
      font-size: 1rem;
      line-height: 1.7;
      max-width: 560px
    }

    .btn-cta-yellow {
      background: var(--yellow);
      color: #fff;
      font-weight: 800;
      font-size: 1rem;
      padding: 15px 40px;
      border-radius: 50px;
      border: none;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      text-decoration: none !important;
      transition: all .3s;
      box-shadow: 0 8px 24px rgba(245, 158, 11, .35)
    }

    .btn-cta-yellow:hover {
      transform: translateY(-3px);
      background: var(--yellow-dark);
      box-shadow: 0 12px 32px rgba(245, 158, 11, .5);
      color: #fff
    }

    .btn-cta-outline {
      background: transparent;
      color: #fff;
      font-weight: 700;
      font-size: 1rem;
      padding: 14px 40px;
      border-radius: 50px;
      border: 2px solid rgba(255, 255, 255, .4);
      display: inline-flex;
      align-items: center;
      gap: 10px;
      text-decoration: none !important;
      transition: all .3s
    }

    .btn-cta-outline:hover {
      border-color: #fff;
      color: #fff;
      transform: translateY(-3px)
    }

    .cta-features {
      display: flex;
      gap: 28px;
      flex-wrap: wrap;
      margin-top: 32px
    }

    .cta-feature {
      display: flex;
      align-items: center;
      gap: 8px;
      color: #fff;
      font-size: .85rem
    }

    .cta-feature i {
      color: var(--yellow)
    }

    /* ── LOCATIONS ── */
    #locations {
      padding: 100px 0;
      background: #f8f9fa
    }

    /* ── CONTACT ── */
    #contact {
      padding: 100px 0;
      background: #fff
    }

    #contactTabs .nav-link {
      color: var(--dark2);
      background: #f4f4f5;
      border-radius: 30px;
      font-weight: 700;
      font-size: .85rem;
      padding: 8px 20px;
      border: none;
      transition: all .3s
    }

    #contactTabs .nav-link:hover {
      background: rgba(245, 158, 11, .2)
    }

    #contactTabs .nav-link.active {
      background: var(--red);
      color: #fff;
      box-shadow: 0 4px 12px rgba(220, 38, 38, .3)
    }

    .contact-info-card {
      background: linear-gradient(135deg, var(--dark), var(--dark2));
      border-radius: var(--radius);
      padding: 36px;
      height: 100%
    }

    .contact-info-item {
      display: flex;
      align-items: flex-start;
      gap: 16px;
      margin-bottom: 28px
    }

    .contact-info-item:last-of-type {
      margin-bottom: 0
    }

    .contact-icon {
      width: 46px;
      height: 46px;
      min-width: 46px;
      border-radius: 10px;
      background: rgba(245, 158, 11, .18);
      color: var(--yellow);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem
    }

    .contact-info-label {
      font-size: .7rem;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: rgba(255, 255, 255, .6);
      margin-bottom: 3px
    }

    .contact-info-value {
      color: #fff;
      font-weight: 600;
      font-size: .92rem;
      word-break: break-word
    }

    .contact-socials {
      display: flex;
      gap: 10px;
      margin-top: 28px
    }

    .contact-social-btn {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .1);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      transition: all .25s;
      font-size: .9rem
    }

    .contact-social-btn:hover {
      background: var(--red);
      color: #fff;
      transform: translateY(-2px)
    }

    .contact-form {
      background: #ffffff;
      border: 1px solid var(--gray2);
      border-radius: var(--radius);
      padding: 36px;
      box-shadow: var(--shadow2)
    }

    .form-label {
      font-weight: 600;
      font-size: .82rem;
      color: var(--dark2);
      margin-bottom: 5px
    }

    .form-control,
    .form-select {
      border: 2px solid var(--gray2);
      border-radius: 10px;
      padding: 11px 16px;
      font-size: .88rem;
      transition: border-color .25s
    }

    .form-control:focus,
    .form-select:focus {
      border-color: var(--yellow);
      box-shadow: 0 0 0 3px rgba(245, 158, 11, .12)
    }

    .btn-submit {
      background: linear-gradient(135deg, #111111, #000000);
      color: #fff;
      font-weight: 700;
      font-size: .95rem;
      padding: 13px 36px;
      border-radius: 50px;
      border: none;
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      transition: all .3s
    }

    .btn-submit:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, .25)
    }

    .map-container {
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: var(--shadow2);
      margin-top: 32px
    }

    /* ── FOOTER ── */
    footer {
      background: linear-gradient(135deg, var(--dark), var(--dark2));
      padding: 70px 0 0
    }

    .footer-brand .brand-line-1 {
      color: #fff;
      font-size: 1.8rem
    }

    .footer-brand .brand-line-2 {
      color: #fff;
      font-size: 0.8rem;
      letter-spacing: 2.5px
    }

    .footer-desc {
      color: rgba(255, 255, 255, .7);
      font-size: .85rem;
      line-height: 1.7;
      margin: 14px 0 20px;
      max-width: 280px
    }

    .footer-social a {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .1);
      color: rgba(255, 255, 255, .9);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-right: 8px;
      transition: all .25s;
      text-decoration: none;
      font-size: .85rem
    }

    .footer-social a:hover {
      background: var(--red);
      color: #fff
    }

    .footer-heading {
      font-family: 'Plus Jakarta Sans', sans-serif;
      font-weight: 800;
      font-size: .9rem;
      color: #fff;
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-bottom: 20px;
      position: relative
    }

    .footer-heading::after {
      content: '';
      display: block;
      width: 30px;
      height: 3px;
      background: linear-gradient(90deg, var(--red), var(--yellow));
      border-radius: 2px;
      margin-top: 8px
    }

    .footer-links {
      list-style: none;
      padding: 0
    }

    .footer-links li {
      margin-bottom: 10px
    }

    .footer-links a {
      color: rgba(255, 255, 255, .5);
      font-size: .85rem;
      text-decoration: none;
      transition: color .2s;
      display: flex;
      align-items: center;
      gap: 6px
    }

    .footer-links a::before {
      content: '›';
      color: var(--red);
      font-size: 1rem
    }

    .footer-links a:hover {
      color: var(--yellow)
    }

    .footer-bottom {
      background: rgba(0, 0, 0, .4);
      margin-top: 50px;
      padding: 18px 0;
      text-align: center
    }

    .footer-bottom p {
      color: rgba(255, 255, 255, .35);
      font-size: .8rem;
      margin: 0
    }

    .footer-bottom span {
      color: var(--yellow)
    }

    /* ── BACK TO TOP ── */
    #backTop {
      position: fixed;
      bottom: 28px;
      right: 28px;
      width: 46px;
      height: 46px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--red), var(--red-dark));
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1rem;
      z-index: 999;
      opacity: 0;
      transform: translateY(20px);
      transition: all .35s;
      cursor: pointer;
      box-shadow: var(--shadow);
      text-decoration: none
    }

    #backTop.show {
      opacity: 1;
      transform: translateY(0)
    }

    #backTop:hover {
      transform: translateY(-4px) scale(1.08);
      color: #fff
    }

    /* ════════════════════════════════════════
   COMPREHENSIVE RESPONSIVE SYSTEM
   Breakpoints: 1200 | 992 | 768 | 576 | 400
   ════════════════════════════════════════ */

    /* ── Video: always full-bleed, never overflows ── */
    .hero-video-bg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      pointer-events: none;
    }

    /* ── Large tablets & small desktops ── */
    @media(max-width:1200px) {
      .about-img-scene {
        padding: 42px
      }

      .about-exp-badge {
        right: -4px;
        bottom: -10px
      }

      .about-students-badge {
        left: -4px;
        top: -8px
      }
    }

    /* ── Tablets (landscape & portrait) ── */
    @media(max-width:992px) {

      /* Sections */
      #about,
      #programs,
      #achievements,
      #coaches,
      #gallery,
      #blog,
      #cta,
      #contact,
      #testimonials,
      #why,
      #locations {
        padding: 70px 0
      }

      #hero {
        min-height: 100vh
      }

      /* Section titles */
      .section-title {
        font-size: clamp(1.6rem, 3.5vw, 2.4rem)
      }

      /* Hero */
      .hero-title {
        font-size: clamp(2rem, 5vw, 3.2rem);
        line-height: 1.15
      }

      .hero-subtitle {
        font-size: .92rem
      }

      .hero-stats {
        gap: 20px;
        flex-wrap: wrap;
        justify-content: center
      }

      .hero-stat {
        min-width: 120px
      }

      /* About image scene: shrink orbit radius, reduce padding */
      .about-img-scene {
        padding: 36px
      }

      .about-main-img {
        height: 380px
      }

      .about-orbit-dot {
        width: 36px;
        height: 36px;
        font-size: .8rem
      }

      .about-exp-badge {
        padding: 14px 18px;
        right: -2px;
        bottom: -8px
      }

      .about-exp-badge .num {
        font-size: 2rem
      }

      .about-students-badge {
        padding: 8px 14px;
        left: -2px;
        top: -6px
      }

      /* Achievement cards */
      .ach-counter-num {
        font-size: 2.8rem
      }

      /* Coach images */
      .coach-img {
        height: 240px
      }

      /* Blog */
      .blog-img {
        height: 180px
      }

      /* CTA */
      .cta-title {
        font-size: clamp(1.8rem, 4vw, 2.8rem)
      }

      /* Gallery */
      .gallery-grid {
        columns: 2;
        gap: 12px
      }

      .gallery-item {
        margin-bottom: 12px
      }

      /* Footer */
      footer {
        padding: 50px 0 0
      }
    }

    /* ── Mobile (portrait tablets & large phones) ── */
    @media(max-width:768px) {

      /* Global section spacing */
      #about,
      #programs,
      #achievements,
      #coaches,
      #gallery,
      #blog,
      #cta,
      #contact,
      #testimonials,
      #why,
      #locations {
        padding: 56px 0
      }

      /* Hero */
      #hero {
        padding-top: 90px;
        text-align: center
      }

      .hero-title {
        font-size: clamp(1.9rem, 7vw, 2.8rem);
        line-height: 1.2
      }

      .hero-subtitle {
        font-size: .88rem;
        max-width: 100%
      }

      .hero-badge {
        font-size: .7rem;
        padding: 6px 14px
      }

      .hero-stats {
        gap: 12px;
        justify-content: center;
        margin-top: 32px
      }

      .hero-stat {
        width: 44%;
        margin-bottom: 12px
      }

      .hero-stat-num {
        font-size: 1.7rem
      }

      .hero-stat-label {
        font-size: .68rem
      }

      .scroll-down {
        display: none
      }

      /* Section labels */
      .section-title {
        font-size: clamp(1.5rem, 6vw, 2.1rem)
      }

      .section-sub {
        font-size: .88rem
      }

      /* About image: stack + disable heavy animations */
      .about-img-scene {
        padding: 28px 20px;
        margin-bottom: 20px;
      }

      .about-main-img {
        height: auto;
        max-height: 350px
      }

      /* Reduce orbit to simple float on mobile */
      .about-orbit-dot {
        width: 32px;
        height: 32px;
        font-size: .75rem;
      }

      @keyframes orbitCW {
        0% {
          transform: rotate(0deg) translateX(calc(50% + 36px)) rotate(0deg)
        }

        100% {
          transform: rotate(360deg) translateX(calc(50% + 36px)) rotate(-360deg)
        }
      }

      .about-exp-badge {
        position: static;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        border-radius: 50px;
        padding: 10px 18px;
        margin-top: 16px;
        animation: none;
      }

      .about-exp-badge .num {
        font-size: 1.4rem
      }

      .about-students-badge {
        position: static;
        display: inline-flex;
        margin-top: 10px;
        animation: none;
      }

      /* Show badges in a flex row below image */
      .about-img-scene {
        flex-wrap: wrap;
        flex-direction: column;
        align-items: center
      }

      /* Achievements */
      .ach-counter-card {
        padding: 28px 18px
      }

      .ach-counter-num {
        font-size: 2.4rem
      }

      .ach-counter-label {
        font-size: .7rem
      }

      /* Programs */
      .program-card-img {
        height: 220px;
        padding: 8px
      }

      /* Coaches */
      .coach-img {
        height: 220px
      }

      .coach-body {
        padding: 16px
      }

      .coach-name {
        font-size: .95rem
      }

      /* Gallery */
      .gallery-grid {
        columns: 2;
        gap: 10px
      }

      .gallery-item {
        margin-bottom: 10px;
        border-radius: 10px
      }

      .gallery-item-label {
        font-size: .65rem;
        padding: 10px
      }

      .gallery-heading-wrap p {
        font-size: .82rem
      }

      #gallery {
        padding: 56px 0
      }

      /* Testimonials */
      .testimonial-card {
        padding: 24px 20px
      }

      /* Blog */
      .blog-img {
        height: 170px
      }

      .blog-body {
        padding: 16px
      }

      .blog-title {
        font-size: .92rem
      }

      /* CTA */
      .cta-title {
        font-size: clamp(1.6rem, 5.5vw, 2.2rem);
        line-height: 1.2
      }

      .cta-sub {
        font-size: .9rem
      }

      .cta-features {
        gap: 14px;
        flex-wrap: wrap
      }

      .cta-feature {
        font-size: .8rem
      }

      .btn-cta-yellow,
      .btn-cta-outline {
        width: 100%;
        justify-content: center;
        padding: 13px 28px;
        font-size: .9rem
      }

      /* Contact */
      .contact-info-card,
      .contact-form {
        padding: 22px 18px;
        border-radius: 14px
      }

      .contact-info-item {
        gap: 12px;
        margin-bottom: 20px
      }

      .contact-icon {
        width: 40px;
        height: 40px;
        font-size: 1rem
      }

      .contact-info-value {
        font-size: .86rem
      }

      .map-container {
        margin-top: 20px
      }

      .map-container iframe {
        height: 180px
      }

      /* Timeline */
      .timeline-item {
        flex-direction: column;
        gap: 6px;
        margin-bottom: 16px
      }

      .timeline-dot::after {
        display: none
      }

      .timeline-year {
        font-size: .9rem
      }

      /* Footer */
      footer {
        padding: 40px 0 0
      }

      .footer-brand .brand-line-1 {
        font-size: 1.5rem
      }

      .footer-brand .brand-line-2 {
        font-size: 0.7rem;
        letter-spacing: 1.5px
      }

      .footer-desc {
        font-size: .82rem;
        max-width: 100%
      }

      .footer-heading {
        font-size: .82rem;
        margin-bottom: 14px
      }

      .footer-links a {
        font-size: .82rem
      }

      .footer-bottom {
        padding: 14px 0;
        margin-top: 30px
      }

      .footer-bottom p {
        font-size: .75rem
      }

      /* Back to top */
      #backTop {
        bottom: 18px;
        right: 18px;
        width: 40px;
        height: 40px;
        font-size: .85rem
      }

      /* Hero buttons */
      .btn-hero-primary,
      .btn-hero-outline {
        width: 100%;
        justify-content: center;
        padding: 13px 24px;
        font-size: .9rem;
        margin-bottom: 8px
      }
    }

    /* ── Small phones ── */
    @media(max-width:576px) {

      /* Hero */
      .hero-title {
        font-size: clamp(1.7rem, 8vw, 2.2rem)
      }

      .hero-stat {
        width: 46%;
        min-width: 0
      }

      .hero-stats {
        gap: 10px
      }

      /* About */
      .about-img-scene {
        padding: 18px 12px
      }

      .about-main-img {
        height: auto;
        max-height: 300px;
        border-radius: 14px
      }

      /* Hide orbit dots on very small screens */
      .about-orbit-dot {
        display: none
      }

      .about-img-wrap {
        animation-duration: 10s
      }

      /* Achievement cards: single column */
      .ach-counter-num {
        font-size: 2.2rem
      }

      .ach-counter-card {
        padding: 24px 16px
      }

      /* Gallery: 2 col */
      .gallery-grid {
        columns: 2;
        gap: 8px
      }

      .gallery-item {
        margin-bottom: 8px
      }

      /* Programs: full width */
      .program-card-img {
        height: 200px;
        padding: 8px
      }

      /* Why cards */
      .why-card {
        padding: 20px 14px
      }

      .why-card .icon-circle {
        width: 52px;
        height: 52px;
        font-size: 1.2rem
      }

      /* Coach */
      .coach-img {
        height: 200px
      }

      /* Contact */
      .contact-info-card,
      .contact-form {
        padding: 18px 14px
      }

      .btn-submit {
        font-size: .88rem;
        padding: 12px
      }

      /* Section title */
      .section-title {
        font-size: clamp(1.4rem, 7vw, 1.9rem)
      }

      /* Timeline & Modal images responsive height */
      .timeline-img {
        height: 110px !important;
        border-radius: 8px !important;
      }

      .modal-main-img {
        height: 35vh !important;
      }

      /* Navbar brand */
      .brand-line-1 {
        font-size: 1.2rem
      }

      .brand-line-2 {
        font-size: 0.65rem;
        letter-spacing: 1px
      }

      /* Locations */
      .location-map {
        height: 200px !important
      }

      .location-content {
        padding: 24px !important
      }

      /* Footer columns stack naturally */
      .footer-social a {
        width: 32px;
        height: 32px;
        font-size: .78rem
      }
    }

    /* ── Extra-small phones (≤400px) ── */
    @media(max-width:400px) {
      .hero-title {
        font-size: 1.65rem
      }

      .hero-stat {
        width: 100%
      }

      .hero-stats {
        flex-direction: column;
        align-items: center;
        gap: 8px
      }

      .about-main-img {
        height: auto;
        max-height: 250px
      }

      .gallery-grid {
        columns: 1;
        gap: 8px
      }

      .section-title {
        font-size: 1.4rem
      }

      .ach-counter-num {
        font-size: 1.9rem
      }

      .ach-counter-card {
        padding: 20px 14px
      }

      /* Locations & Brand tweaks for tiny screens */
      .location-map {
        height: 180px !important
      }

      .location-content {
        padding: 18px !important
      }

      .brand-line-1 {
        font-size: 1.1rem
      }

      .brand-line-2 {
        font-size: 0.55rem;
        letter-spacing: 0.5px
      }

      .navbar-brand img {
        height: 36px !important
      }

      /* Disable letter animation on tiny screens to avoid overflow */
      .hero-letter {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important
      }

      .hero-word {
        overflow: visible
      }

      /* Disable about image rotation on tiny screens */
      .about-img-wrap {
        animation: none
      }
    }

    /* Placeholder images using gradients */
    .img-placeholder {
      background: linear-gradient(135deg, #e8e8e8, #d0d0d0);
      display: flex;
      align-items: center;
      justify-content: center;
      color: #999;
      font-size: 2rem
    }

    /* Animations */
    @keyframes float {

      0%,
      100% {
        transform: translateY(0)
      }

      50% {
        transform: translateY(-16px)
      }
    }

    .float-anim {
      animation: float 5s ease-in-out infinite
    }

    /* ── HERO TITLE LETTER ANIMATIONS ── */
    .hero-word {
      display: inline-block;
      overflow: hidden;
      vertical-align: bottom;
      margin-right: .18em;
    }

    .hero-letter {
      display: inline-block;
      opacity: 0;
      transform: translateY(-60px) rotate(-8deg) scale(1.3);
      animation: letterDrop .6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
    }

    @keyframes letterDrop {
      0% {
        opacity: 0;
        transform: translateY(-60px) rotate(-8deg) scale(1.3)
      }

      60% {
        opacity: 1;
        transform: translateY(6px) rotate(1deg) scale(.97)
      }

      80% {
        transform: translateY(-3px) rotate(0deg) scale(1.01)
      }

      100% {
        opacity: 1;
        transform: translateY(0) rotate(0deg) scale(1)
      }
    }

    /* Gold shimmer on accent words (Strong. / Confidence.) */
    .hero-title .line-yellow .hero-letter {
      animation: letterDrop .6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
        goldPulse 3s ease-in-out infinite 1.5s;
    }

    @keyframes goldPulse {

      0%,
      100% {
        text-shadow: 0 0 0px rgba(245, 158, 11, 0)
      }

      50% {
        text-shadow: 0 0 20px rgba(245, 158, 11, .8), 0 0 40px rgba(245, 158, 11, .4)
      }
    }

/* Global selection and drag protection */
    html, body {
      -webkit-user-select: none; /* Safari */
      -ms-user-select: none; /* IE 10 and IE 11 */
      user-select: none; /* Standard syntax */
      -webkit-touch-callout: none; /* iOS Safari */
    }
    img, svg, i, a {
      -webkit-user-drag: none;
      -khtml-user-drag: none;
      -moz-user-drag: none;
      -o-user-drag: none;
      user-drag: none;
    }

.achievementSwiper .swiper-slide {
      opacity: 0.4;
      transition: 0.3s;
    }

    .achievementSwiper .swiper-slide-thumb-active {
      opacity: 1;
    }

    .achievementSwiper .swiper-slide-thumb-active .thumb-img {
      border: 2px solid var(--yellow);
    }

.rating-stars i {
      color: #e5e7eb;
      transition: color 0.2s;
    }

    .rating-stars i.active {
      color: var(--yellow);
    }

    .rating-stars i:hover~i {
      color: #e5e7eb !important;
    }

    .rating-stars:hover i {
      color: var(--yellow);
    }

    #reviewComment::placeholder {
      color: #aaa;
    }

    #reviewName::placeholder,
    #reviewRole::placeholder {
      color: #ccc;
    }

    #reviewName:focus,
    #reviewRole:focus {
      border-bottom-color: var(--yellow) !important;
    }
    /* ── ACADEMY MOMENTS GALLERY ── */
    #academy-moments {
      padding: 100px 0;
      background: var(--dark);
      position: relative;
    }

    .moments-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 20px;
      grid-auto-rows: 240px;
      grid-auto-flow: dense;
    }

    /* Masonry effect classes */
    .moment-card:nth-child(2),
    .moment-card:nth-child(5) {
      grid-row: span 2;
    }
    
    .moment-card:nth-child(4) {
      grid-column: span 2;
    }

    .moment-card {
      position: relative;
      border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 10px 30px rgba(0,0,0,0.2);
      cursor: pointer;
      border: 1px solid rgba(255,255,255,0.05);
    }

    .moment-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    }

    .moment-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(245, 158, 11, 0.85) 0%, rgba(44, 85, 100, 0.7) 100%);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
      backdrop-filter: blur(3px);
    }

    .overlay-icon {
      font-size: 2.8rem;
      color: #fff;
      margin-bottom: 16px;
      transform: translateY(30px) scale(0.5) rotate(-25deg);
      transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      text-shadow: 0 4px 15px rgba(0,0,0,0.2);
    }

    .overlay-text {
      color: #fff;
      font-weight: 800;
      font-size: 1.2rem;
      letter-spacing: 2px;
      text-transform: uppercase;
      transform: translateY(20px);
      transition: all 0.4s ease 0.1s;
      opacity: 0;
      text-shadow: 0 2px 10px rgba(0,0,0,0.3);
    }

    .moment-card:hover img {
      transform: scale(1.1) rotate(1.5deg);
    }

    .moment-card:hover .moment-overlay {
      opacity: 1;
    }

    .moment-card:hover .overlay-icon {
      transform: translateY(0) scale(1) rotate(0deg);
    }

    .moment-card:hover .overlay-text {
      transform: translateY(0);
      opacity: 1;
    }

    @media (max-width: 768px) {
      .moment-card:nth-child(4) {
        grid-column: span 1;
      }
      .moments-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
      }
    }


/* Anti-Screenshot Protection */
body.hide-images-for-screenshot img,
body.hide-images-for-screenshot video,
body.hide-images-for-screenshot iframe,
body.hide-images-for-screenshot [style*="background-image"],
body.hide-images-for-screenshot [style*="background"] {
  filter: brightness(0) !important;
  opacity: 0 !important;
  visibility: hidden !important;
}
body.hide-images-for-screenshot {
  background-color: #000 !important;
}

/* Dropdown hover removed as per user request */

