/*==============================================================
    PREMIUM GYM WEBSITE
    ------------------------------------------------------------
    Global Design System
==============================================================*/
/*==============================================================
    PREMIUM SCROLL
==============================================================*/

html{

    scroll-behavior:smooth;

    scroll-padding-top:110px;

}

body{

    overflow-x:hidden;

}


/*==============================================================
    GOOGLE FONT VARIABLES
==============================================================*/

:root{

    /* Brand Colors */

    --color-primary-red:#D62839;
    --color-primary-blue:#0F4C81;
    --color-primary-purple:#6E44C9;

    /* Backgrounds */

    --color-bg:#07111F;
    --color-surface:#111B2E;

    /* Text */

    --color-white:#F8FAFC;
    --color-grey:#CBD5E1;

    /* Extras */

    --color-gold:#D4AF37;
    --color-success:#32D583;

    /* Glass */

    --glass-bg:rgba(255,255,255,.08);

    --glass-border:rgba(255,255,255,.16);

    /* Shadows */

    --shadow-soft:
    0 15px 40px rgba(0,0,0,.18);

    --shadow-large:
    0 25px 70px rgba(0,0,0,.28);

    /* Border Radius */

    --radius-small:12px;
    --radius-medium:18px;
    --radius-large:24px;
    --radius-pill:999px;

    /* Typography */

    --heading-font:'Sora',sans-serif;
    --body-font:'Inter',sans-serif;

    /* Transition */

    --transition:.35s ease;

}



/*==============================================================
    RESET
==============================================================*/

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}



html{

    scroll-behavior:smooth;

}



body{

    font-family:var(--body-font);

    background:var(--color-bg);

    color:var(--color-white);

    overflow-x:hidden;

}



/*==============================================================
    TYPOGRAPHY
==============================================================*/

h1,
h2,
h3,
h4,
h5,
h6{

    font-family:var(--heading-font);

    font-weight:700;

}


p{

    color:var(--color-grey);

    line-height:1.8;

}



/*==============================================================
    LINKS
==============================================================*/

a{

    text-decoration:none;

    transition:var(--transition);

}



/*==============================================================
    BUTTON RESET
==============================================================*/

button{

    border:none;

    outline:none;

}



/*==============================================================
    IMAGES
==============================================================*/

img{

    max-width:100%;

    display:block;

}



/*==============================================================
    LIST
==============================================================*/

ul{

    list-style:none;

}



/*==============================================================
    CUSTOM CONTAINER
==============================================================*/

.wrapper{
    width:min(92%,1300px);
    margin:auto;
}



/*==============================================================
    SECTION SPACING
==============================================================*/

section{
    position:relative;
    padding:120px 0;
}

/*==============================================================
    PREMIUM BUTTONS
==============================================================*/

.btn-premium{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:16px 34px;

    border-radius:var(--radius-pill);

    font-family:var(--heading-font);

    font-weight:600;

    cursor:pointer;

    transition:var(--transition);

}



.btn-primary-premium{

    color:var(--color-white);

    background:linear-gradient(
        135deg,
        var(--color-primary-red),
        var(--color-primary-blue)
    );

    box-shadow:
    0 10px 30px rgba(214,40,57,.30);

}



.btn-primary-premium:hover{

    transform:translateY(-3px);

    box-shadow:
    0 18px 45px rgba(214,40,57,.45);

}



.btn-outline-premium{

    color:var(--color-white);

    border:1px solid rgba(255,255,255,.18);

    background:transparent;

}



.btn-outline-premium:hover{

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(12px);

}

/*==============================================================
    GLASS COMPONENTS
==============================================================*/

.glass{

    background:var(--glass-bg);

    border:1px solid var(--glass-border);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

}



.glass-card{

    background:var(--glass-bg);

    border:1px solid var(--glass-border);

    backdrop-filter:blur(18px);

    border-radius:var(--radius-large);

    box-shadow:var(--shadow-soft);

}



.glass-nav{

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(22px);

}

/*==============================================================
    PREMIUM TITLES
==============================================================*/

.section-title{

    font-size:clamp(2.2rem,4.5vw,3.7rem);

    font-family:var(--heading-font);

    font-weight:800;

    line-height:1.1;

}



.section-subtitle{

    max-width:650px;

    margin-top:18px;

    color:var(--color-grey);

    font-size:1.1rem;

    line-height:1.9;

}

/*==============================================================
    GRADIENT TEXT
==============================================================*/

.gradient-text{
    background:
    linear-gradient(
        135deg,
        var(--color-primary-red),
        var(--color-primary-blue)
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/*==============================================================
    GLOW CIRCLES
==============================================================*/

.glow-blue{

    position:absolute;

    width:650px;

    height:650px;

    border-radius:50%;

    background:#0F4C81;

    filter:blur(180px);

    opacity:.30;

}



.glow-red{
    position:absolute;
    width:550px;
    height:550px;
    border-radius:50%;
    background:#D62839;
    filter:blur(170px);
    opacity:.22;
}

/*==============================================================
    FLOATING ANIMATION
==============================================================*/

/* .floating{

    animation:floating 6s ease-in-out infinite;

}



@keyframes floating{
    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-18px);

    }

    100%{

        transform:translateY(0px);

    }
} */

/*==============================================================
    PREMIUM HOVER
==============================================================*/

.hover-lift{

    transition:var(--transition);

}



.hover-lift:hover{
    transform:translateY(-8px);
}


/*==============================================================
    HERO BACKGROUND
==============================================================*/

/*.hero-background{*/
/*    position:relative;*/
/*    overflow:hidden;*/
/*    background:*/

    /* ==============================
    BLUE CORE LIGHT
    ================================ */

/*    radial-gradient(*/
/*        ellipse at 18% 18%,*/
/*        rgba(30,95,190,.48) 0%,*/
/*        rgba(18,63,125,.22) 22%,*/
/*        transparent 48%*/
/*    ),*/

    /* ==============================
    RED GLOW
    ================================ */

/*    radial-gradient(*/
/*        ellipse at 88% 88%,*/
/*        rgba(214,40,57,.42) 0%,*/
/*        rgba(214,40,57,.18) 25%,*/
/*        transparent 52%*/
/*    ),*/

    /* ==============================
    SMALL BLUE EDGE LIGHT
    ================================ */

/*    radial-gradient(*/

/*        circle at 88% 18%,*/

/*        rgba(60,140,255,.18),*/

/*        transparent 28%*/

/*    ),*/

    /* ==============================
    SUBTLE RED EDGE
    ================================ */

/*    radial-gradient(*/
/*        circle at 12% 88%,*/
/*        rgba(255,70,90,.10),*/
/*        transparent 24%*/
/*    ),*/

    /* ==============================
    MAIN CANVAS
    ================================ */

/*    linear-gradient(*/
/*        145deg,*/
/*        #020305 0%,*/
/*        #05070C 18%,*/
/*        #08111C 42%,*/
/*        #0B1524 62%,*/
/*        #09111A 78%,*/
/*        #030405 100%*/
/*    );*/
/*}*/
/*==============================================================
    HERO BACKGROUND
==============================================================*/

.hero-background{

    position:relative;

    overflow:hidden;

    background-image:url("../img/hero/background.jpg");

    background-size:cover;

    background-position:center center;

    background-repeat:no-repeat;

}

/*==============================================================
    PREMIUM DIVIDER
==============================================================*/

.divider{
    width:90px;
    height:5px;
    border-radius:999px;
    background:

    linear-gradient(
        90deg,
        var(--color-primary-red),
        var(--color-primary-blue)
    );
}

/*==============================================================
    LAYOUT HELPERS
==============================================================*/

.flex{

    display:flex;

}

.flex-center{

    display:flex;

    justify-content:center;

    align-items:center;

}

.flex-between{

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.flex-column{

    display:flex;

    flex-direction:column;

}

.align-center{

    align-items:center;

}

.justify-center{

    justify-content:center;

}

.text-center{

    text-align:center;

}

/*==============================================================
    GAP UTILITIES
==============================================================*/

.gap-10{

    gap:10px;

}

.gap-15{

    gap:15px;

}

.gap-20{

    gap:20px;

}

.gap-30{

    gap:30px;

}

.gap-40{

    gap:40px;

}

.gap-50{

    gap:50px;

}


/*==============================================================
    WIDTH UTILITIES
==============================================================*/

.w-100{

    width:100%;

}

.w-75{

    width:75%;

}

.w-50{

    width:50%;

}

.mx-auto{

    margin:auto;

}


/*==============================================================
    SPACING UTILITIES
==============================================================*/

.mt-20{

    margin-top:20px;

}

.mt-30{

    margin-top:30px;

}

.mt-40{

    margin-top:40px;

}

.mt-60{

    margin-top:60px;

}

.mb-20{

    margin-bottom:20px;

}

.mb-40{

    margin-bottom:40px;

}

.py-100{

    padding:100px 0;

}

.py-150{

    padding:150px 0;

}

/*==============================================================
    PREMIUM BADGES
==============================================================*/

.badge-premium{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 24px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(15px);
    color:var(--color-white);
    font-weight:500;
}


/*==============================================================
    CATEGORY PILLS
==============================================================*/

.pill{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:12px 22px;

    border-radius:999px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.18);

    color:var(--color-white);

    font-size:.92rem;

    transition:var(--transition);

}

.pill:hover{

    background:rgba(255,255,255,.12);

    transform:translateY(-3px);

}

/*==============================================================
    REVIEW AVATARS
==============================================================*/

.review-stack{

    display:flex;

    align-items:center;

}

.review-stack img{

    width:52px;

    height:52px;

    object-fit:cover;

    border-radius:50%;

    border:3px solid var(--color-bg);

    margin-left:-15px;

}

.review-stack img:first-child{

    margin-left:0;

}

/*==============================================================
    PLUS CIRCLE
==============================================================*/

.plus-circle{

    width:52px;

    height:52px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:linear-gradient(
        135deg,
        var(--color-primary-red),
        var(--color-primary-blue)
    );

    color:#fff;

    margin-left:-15px;

    font-size:1.1rem;

}

/*==============================================================
    STAR RATING
==============================================================*/

.rating-stars{

    display:flex;

    gap:4px;

    color:var(--color-gold);

    font-size:.9rem;

}

/*==============================================================
    STAR RATING
==============================================================*/

.rating-stars{

    display:flex;

    gap:4px;

    color:var(--color-gold);

    font-size:.9rem;

}

/*==============================================================
    PREMIUM BACKGROUND EFFECTS ENGINE
==============================================================*/

.bg-effects{

    position:absolute;

    inset:0;

    overflow:hidden;

    pointer-events:none;

    z-index:0;

}

/*==============================================================
    PREMIUM GRID
==============================================================*/

/*==============================================================
    GRID OVERLAY
==============================================================*/

.bg-grid{
    position:absolute;
    inset:0;
    background-image:

        linear-gradient(

            rgba(255,255,255,.03) 1px,

            transparent 1px

        ),

        linear-gradient(

            90deg,

            rgba(255,255,255,.03) 1px,

            transparent 1px

        );

    background-size:70px 70px;
    opacity:.22;
    animation:gridMove 30s linear infinite;

}

/*==============================================================
    VIGNETTE
==============================================================*/

/*==============================================================
    HERO VIGNETTE
==============================================================*/

.bg-vignette{
    position:absolute;
    inset:0;
    background:

    radial-gradient(circle, transparent 45%, rgba(0,0,0,.42) 100%

    );

}

/*==============================================================
    BLUE GLOW
==============================================================*/

/* .glow-blue-large{

    position:absolute;

    width:700px;

    height:700px;

    top:-180px;

    left:-120px;

    border-radius:50%;

    background:#0F4C81;

    filter:blur(180px);

    opacity:.35;

    animation:blueGlow 14s ease-in-out infinite;

} */

/*==============================================================
    BLUE GLOW
==============================================================*/

.glow-blue-large{
    position:absolute;
    width:700px;
    height:700px;
    top:-220px;
    left:-180px;
    border-radius:50%;
    background:rgba(15,76,129,.35);
    filter:blur(140px);
    animation:

        glowBlueFloat 14s ease-in-out infinite;

}

@keyframes blueGlow{

    50%{

        transform:

        translate(50px,30px)

        scale(1.08);

    }

}

/*==============================================================
    RED GLOW
==============================================================*/

/* .glow-red-large{

    position:absolute;

    width:650px;

    height:650px;

    right:-120px;

    bottom:-150px;

    border-radius:50%;

    background:#D62839;

    filter:blur(170px);

    opacity:.28;

    animation:redGlow 15s ease-in-out infinite;

} */


/*==============================================================
    RED GLOW
==============================================================*/

.glow-red-large{

    position:absolute;

    width:620px;

    height:620px;

    right:-180px;

    bottom:-220px;

    border-radius:50%;

    background:rgba(214,40,57,.28);

    filter:blur(130px);

    animation:

        glowRedFloat 18s ease-in-out infinite;

}


@keyframes redGlow{
    50%{

        transform:

        translate(-45px,-30px)

        scale(1.07);

    }
}


/*==============================================================
    GRADIENT OVERLAY
==============================================================*/

/*.bg-gradient{*/

/*    position:absolute;*/

/*    inset:0;*/

/*    background:*/

/*    linear-gradient(*/

/*        135deg,*/

/*        rgba(7,17,31,.85),*/

/*        rgba(15,76,129,.30),*/

/*        rgba(110,68,201,.15),*/

/*        rgba(214,40,57,.12)*/

/*    );*/

/*}*/

/*==============================================================
    PARTICLE CONTAINER
==============================================================*/

.particles{
    position:absolute;
    inset:0;
}


/*==============================================================
    HERO CONTENT LAYER
==============================================================*/

.content-layer{
    position:relative;
    width:100%;
    z-index:20;
}

/*==============================================================
    NAVIGATION
==============================================================*/

#navbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;
    padding:25px 0;
    transition:all .4s ease;
}

/*==============================================================
    NAVIGATION CONTAINER
==============================================================*/

.navbar-container{

    display:flex;

    align-items:center;

    justify-content:space-between;

}

/*==============================================================
    BRAND LOGO
==============================================================*/

.brand-logo{

    display:flex;

    align-items:center;

}



.brand-logo img{

    width:60px;

    height:auto;

    transition:var(--transition);

}



.brand-logo:hover img{

    transform:scale(1.03);

}

/*==============================================================
    DESKTOP MENU
==============================================================*/

.nav-menu{
    display:flex;
    align-items:center;
    gap:38px;
    margin:0;
}


/*==============================================================
    NAVIGATION LINKS
==============================================================*/

.nav-link{
    position:relative;
    color:var(--color-white);
    font-weight:500;
    font-size:.96rem;
    letter-spacing:.3px;
    transition:var(--transition);
}



.nav-link:hover{
    color:#ffffff;
    transform:translateY(-2px);
}

/*==============================================================
    NAVIGATION UNDERLINE
==============================================================*/

.nav-link::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:2px;
    border-radius:999px;
    background:

    linear-gradient(

        90deg,

        var(--color-primary-red),

        var(--color-primary-blue)

    );
    transition:.35s;
}



.nav-link:hover::after,

.nav-link.active::after{

    width:100%;

}

/*==============================================================
    ACTIVE LINK
==============================================================*/

.nav-link.active{
    color:#ffffff;
}

/*==============================================================
    NAVIGATION ACTIONS
==============================================================*/

.nav-actions{

    display:flex;

    align-items:center;

    gap:18px;

}

/*==============================================================
    ACCOUNT BUTTON
==============================================================*/

.nav-actions .btn-premium{
    padding:15px 28px;
}

/*==============================================================
    MOBILE TOGGLE
==============================================================*/

.mobile-toggle{

    width:50px;

    height:50px;

    border-radius:50%;

    display:none;

    align-items:center;

    justify-content:center;

    flex-direction:column;

    gap:5px;

    cursor:pointer;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.12);

    backdrop-filter:blur(15px);

}



.mobile-toggle span{
    width:20px;
    height:2px;
    background:#fff;
    transition:.35s;
}

/*==============================================================
    MOBILE MENU
==============================================================*/

#mobileMenu{

    position:fixed;
    inset:0;
    display:flex;
    justify-content:center;
    align-items:center;
    background:rgba(7,17,31,.97);
    backdrop-filter:blur(25px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:
        opacity .35s ease,
        visibility .35s ease;
    z-index:9998;
}

/*==============================================================
    MOBILE MENU CONTENT
==============================================================*/

.mobile-menu-content{
    transform:translateY(40px);
    opacity:0;
    transition:.4s ease;
}



.mobile-menu-content ul{
    text-align:center;
}



.mobile-menu-content li{
    margin:25px 0;
}

/*==============================================================
    MOBILE LINKS
==============================================================*/

.mobile-link{
    position:relative;
    color:#fff;
    font-size:2rem;
    font-family:var(--heading-font);
    transition:.35s;
}

.mobile-link::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:-8px;

    width:0;

    height:2px;

    border-radius:999px;

    transform:translateX(-50%);

    background:

    linear-gradient(

        90deg,

        var(--color-primary-red),

        var(--color-primary-blue)

    );

    transition:.35s;

}



.mobile-link:hover::after{
    width:100%;
}



.mobile-link:hover{
    color:var(--color-primary-red);
}

/*==============================================================
    NAVBAR SCROLLED STATE
==============================================================*/

#navbar.scrolled{
    box-sizing:border-box;
    padding:15px 0;

}



#navbar.scrolled .wrapper{
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.10);
    border-radius:20px;
    box-shadow:

    0 18px 45px rgba(0,0,0,.18);
}

/*==============================================================
    MOBILE MENU ACTIVE STATE
==============================================================*/

#mobileMenu.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

#mobileMenu.active .mobile-menu-content{
    transform:translateY(0);
    opacity:1;
}

/*==============================================================
    HAMBURGER ACTIVE ANIMATION
==============================================================*/

.mobile-toggle.active span:nth-child(1){

    transform:
        translateY(7px)
        rotate(45deg);

}



.mobile-toggle.active span:nth-child(2){

    opacity:0;

}



.mobile-toggle.active span:nth-child(3){
    transform:
        translateY(-7px)
        rotate(-45deg);
}

/*==============================================================
    BODY LOCK
==============================================================*/

body.menu-open{
    overflow:hidden;
}

/*==============================================================
    MOBILE ACCOUNT LINK
==============================================================*/

.account-link{
    color:var(--color-primary-red);
    font-weight:700;
}


/*==============================================================
    HERO SECTION
==============================================================*/

.hero-section{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;
}

/*==============================================================
    HERO WRAPPER
==============================================================*/

.hero-wrapper{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:100vh;
    z-index:2;
}

/*==============================================================
    HERO CONTENT PLACEHOLDERS
==============================================================*/

.hero-left{

    position:relative;

    z-index:25;

    max-width:620px;

}



/*==============================================================
    HERO IMAGE CONTAINER
==============================================================*/

.hero-right{
    position:absolute;
    right:-2%;
    bottom:0;
    z-index:15;
    pointer-events:none;
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
}

/*==============================================================
    HERO ATHLETE
==============================================================*/

.hero-athlete{
    display:block;
    width:680px;
    max-width:none;
    height:auto;
    user-select:none;
    -webkit-user-drag:none;
    filter:

        drop-shadow(
            0 35px 70px
            rgba(0,0,0,.38)
        );
}



/*==============================================================
    ATHLETE GROUND GLOW
==============================================================*/

.hero-right::before{
    content:"";
    position:absolute;
    bottom:18px;
    left:50%;
    transform:translateX(-50%);
    width:320px;
    height:70px;
    border-radius:50%;

    background:

    rgba(0,0,0,.30);
    filter:blur(28px);
    z-index:-1;
}


/*==============================================================
    LARGE DESKTOPS
==============================================================*/

@media (min-width:1600px){

    .hero-athlete{

        width:780px;

    }

}

/*==============================================================
    HERO LEFT
==============================================================*/

.hero-left{

    max-width:620px;

    position:relative;

    z-index:25;

}

/*==============================================================
    HERO TITLE
==============================================================*/

.hero-title{
    margin-top:28px;
    margin-bottom:28px;
    font-size:clamp(2.5rem,5.3vw,5.4rem);
    line-height:1.05;
    font-weight:800;
    letter-spacing:-2px;
    color:var(--color-white);
}

/*==============================================================
    HERO TITLE HIGHLIGHT
==============================================================*/

.hero-title span{

    background:

    linear-gradient(

        90deg,

        var(--color-primary-red),

        var(--color-primary-blue)

    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;

}

/*==============================================================
    HERO DESCRIPTION
==============================================================*/

.hero-description{

    max-width:560px;
    font-size:1rem;
    line-height:1.9;
    color:rgba(255,255,255,.82);

}

/*==============================================================
    HERO BADGE
==============================================================*/

.hero-left .badge-premium{

    display:inline-flex;
    font-size:.95rem;
    letter-spacing:.4px;
    

}

/*==============================================================
    HERO BADGE ICON
==============================================================*/

.hero-left .badge-premium i{

    color:var(--color-primary-red);

    font-size:1rem;

}


/*==============================================================
    HERO ACTIONS
==============================================================*/

.hero-actions{

    display:flex;
    align-items:center;
    gap:28px;
    margin-top:42px;
    flex-wrap:wrap;

}


/*==============================================================
    HERO BUTTON
==============================================================*/

.hero-btn{

    position:relative;

    overflow:hidden;

    min-width:185px;

}

/*==============================================================
    BUTTON ARROW
==============================================================*/

.hero-arrow{

    display:inline-block;

    transition:.35s ease;

}

.hero-btn:hover .hero-arrow{

    transform:translateX(7px);

}

/*==============================================================
    WATCH VIDEO
==============================================================*/

.watch-video{

    display:inline-flex;

    align-items:center;

    gap:16px;

    color:var(--color-white);

    font-weight:600;

    transition:var(--transition);

}

/*==============================================================
    PLAY CIRCLE
==============================================================*/

.play-circle{
    width:58px;
    height:58px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(15px);
    transition:var(--transition);
}

.play-circle i{
    color:#fff;
    font-size:1.2rem;
    margin-left:3px;
}

/*==============================================================
    WATCH VIDEO HOVER
==============================================================*/

.watch-video:hover{
    color:#ffffff;
}

.watch-video:hover .play-circle{
    transform:scale(1.08);
    border-color:rgba(255,255,255,.35);
    background:rgba(255,255,255,.12);
}

/*==============================================================
    HERO BUTTON SHINE
==============================================================*/

.hero-btn::before{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:60%;
    height:100%;
    background:linear-gradient(

        90deg,

        transparent,

        rgba(255,255,255,.28),

        transparent

    );

    transform:skewX(-25deg);
    transition:left .7s ease;

}

.hero-btn:hover::before{
    left:170%;
}


/*==============================================================
    HERO SOCIAL PROOF
==============================================================*/

.hero-social{
    display:flex;
    align-items:center;
    gap:22px;
    margin-top:45px;
    flex-wrap:wrap;
}

/*==============================================================
    MEMBER STACK
==============================================================*/

.member-stack{
    display:flex;
    align-items:center;
}

/*==============================================================
    MEMBER AVATAR
==============================================================*/

.member-avatar{

    width:58px;

    height:58px;

    border-radius:50%;

    overflow:hidden;

    border:3px solid rgba(255,255,255,.9);

    margin-left:-16px;

    transition:var(--transition);

    background:#fff;

}

.member-avatar:first-child{

    margin-left:0;

}

.member-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/*==============================================================
    MEMBER HOVER
==============================================================*/

.member-avatar:hover{

    transform:

        translateY(-6px)

        scale(1.05);

    z-index:3;

}

/*==============================================================
    MORE MEMBERS
==============================================================*/

.member-more{

    width:58px;

    height:58px;

    margin-left:-16px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:

    linear-gradient(

        135deg,

        var(--color-primary-red),

        var(--color-primary-blue)

    );

    color:#fff;

    border:3px solid rgba(255,255,255,.9);

    font-size:1rem;

    transition:var(--transition);

}

.member-more:hover{

    transform:

        scale(1.08)

        rotate(90deg);

}

/*==============================================================
    HERO RATINGS
==============================================================*/

.hero-rating{
    display:flex;
    flex-direction:column;
    gap:6px;
}

/*==============================================================
    STARS
==============================================================*/

.rating-stars{

    display:flex;

    gap:4px;

}

.rating-stars i{

    color:#F5C242;

    font-size:.95rem;

}

/*==============================================================
    REVIEW TEXT
==============================================================*/

.hero-rating p{

    margin:0;

    color:rgba(255,255,255,.82);

    font-size:.95rem;

}

.hero-rating strong{

    color:#fff;

}

/*==============================================================
    HERO TAGS
==============================================================*/

.hero-tags{

    display:flex;

    flex-wrap:wrap;

    gap:14px;

    margin-top:48px;

}

/*==============================================================
    HERO TAG
==============================================================*/

.hero-tag{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:12px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.14);

    backdrop-filter:blur(14px);

    -webkit-backdrop-filter:blur(14px);

    color:rgba(255,255,255,.92);

    font-size:.92rem;

    font-weight:500;

    cursor:default;

    transition:var(--transition);

}

/*==============================================================
    HERO TAG ICONS
==============================================================*/

.hero-tag i{

    color:var(--color-primary-red);

    font-size:1rem;

    transition:var(--transition);

}

/*==============================================================
    HERO TAG HOVER
==============================================================*/

.hero-tag:hover{

    transform:

        translateY(-4px)

        scale(1.02);

    background:

        rgba(255,255,255,.12);

    border-color:

        rgba(255,255,255,.28);

    box-shadow:

        0 10px 28px rgba(0,0,0,.20),

        0 0 18px rgba(15,76,129,.12),

        0 0 12px rgba(214,40,57,.08);

}

.hero-tag:hover i{

    color:var(--color-primary-blue);

    transform:rotate(-10deg);

}

/*==============================================================
    HERO TAG ACCENTS
==============================================================*/

.hero-tag:nth-child(2) i{

    color:#FFC857;

}

.hero-tag:nth-child(4) i{

    color:#58C4DD;

}

.hero-tag:nth-child(5) i{

    color:#FF6B6B;

}

.hero-tag:nth-child(6) i{

    color:#7DD87D;

}


/*==============================================================
    PARTICLES
==============================================================*/

.particles{

    position:absolute;

    inset:0;

    overflow:hidden;

}



.particles span{
    position:absolute;
    width:5px;
    height:5px;
    border-radius:50%;
    background:rgba(255,255,255,.28);
    animation:particleFloat linear infinite;
}


.particles span:nth-child(1){

    left:8%;

    top:78%;

    animation-duration:18s;

}



.particles span:nth-child(2){

    left:24%;

    top:60%;

    animation-duration:20s;

}



.particles span:nth-child(3){

    left:40%;

    top:85%;

    animation-duration:16s;

}



.particles span:nth-child(4){

    left:58%;

    top:70%;

    animation-duration:22s;

}



.particles span:nth-child(5){

    left:72%;

    top:88%;

    animation-duration:17s;

}



.particles span:nth-child(6){

    left:82%;

    top:65%;

    animation-duration:19s;

}



.particles span:nth-child(7){

    left:90%;

    top:82%;

    animation-duration:21s;

}



.particles span:nth-child(8){
    left:52%;
    top:92%;
    animation-duration:24s;
}


/*==============================================================
    ABOUT SECTION
==============================================================*/

.about-section{

    position:relative;

    overflow:hidden;

    padding:140px 0;

    background:

    linear-gradient(

        180deg,

        #07111F 0%,

        #0A1527 100%

    );

}

/*==============================================================
    ABOUT GLOW
==============================================================*/

.about-bg-glow{

    position:absolute;

    width:520px;

    height:520px;

    top:-180px;

    right:-150px;

    border-radius:50%;

    background:

    rgba(15,76,129,.15);

    filter:blur(120px);

    pointer-events:none;

}

/*==============================================================
    ABOUT HEADER
==============================================================*/

.about-header{

    max-width:760px;

    margin:auto;

    text-align:center;

    position:relative;

    z-index:2;

}


/*==============================================================
    ABOUT STORY
==============================================================*/

.about-story{

    margin-top:90px;

    display:grid;

    grid-template-columns:1.05fr .95fr;

    align-items:center;

    gap:90px;

}

.about-image-wrapper{

    position:relative;

}

.about-image{

    width:100%;

    border-radius:28px;

    display:block;

    box-shadow:

        0 35px 80px rgba(0,0,0,.35);

}

.about-card{
    position:absolute;
    padding:18px 24px;
    border-radius:18px;
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    background:

        rgba(255,255,255,.08);

    border:

        1px solid rgba(255,255,255,.12);

}

.years-card{
    top:40px;
    left:-35px;
}

.workout-card{

    right:-35px;

    bottom:70px;

}

.coach-badge{

    position:absolute;

    bottom:-25px;

    left:50%;

    transform:translateX(-50%);

    display:flex;

    align-items:center;

    gap:10px;

    padding:14px 24px;

    border-radius:999px;

    background:

        rgba(255,255,255,.10);

    border:

        1px solid rgba(255,255,255,.14);

    backdrop-filter:blur(18px);

}

.about-content h3{
    color:#fff;
    font-size:2.2rem;
    margin-bottom:24px;
    line-height:1.2;
}

.about-content p{

    color:rgba(255,255,255,.80);

    line-height:2;

    margin-bottom:20px;

    font-size:1.08rem;

}

.about-card{

    animation:

        gentleFloat 6s ease-in-out infinite;

}

.workout-card{

    animation-delay:1.5s;

}

.coach-badge{

    animation:

        gentleFloat 7s ease-in-out infinite;

}



/*==============================================================
    VALUES SECTION
==============================================================*/

.values-section{
    margin-top:150px;
}

.values-header{
    max-width:760px;
    margin:0 auto 70px;
    text-align:center;
}

.values-header h2{
    margin:25px 0;
    font-size:clamp(2.3rem,5vw,4rem);
    color:#fff;

    line-height:1.2;

}

.values-header p{
    color:rgba(255,255,255,.78);
    line-height:2;
    font-size:1.08rem;
}


.values-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
}


.value-card{
    position:relative;
    padding:40px;
    border-radius:26px;
    background:

        rgba(255,255,255,.05);
    backdrop-filter:blur(20px);
    border:

        1px solid rgba(255,255,255,.08);

    overflow:hidden;

    transition:var(--transition);

}


.value-card:hover{
    transform:

        translateY(-12px);
    border-color:

        rgba(255,255,255,.18);

    box-shadow:

        0 30px 60px rgba(0,0,0,.30);

}

.value-icon{

    width:72px;

    height:72px;

    border-radius:22px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:

        linear-gradient(

            135deg,

            var(--color-primary-red),

            var(--color-primary-blue)

        );

    margin-bottom:30px;

}

.value-icon i{

    color:#fff;

    font-size:2rem;

}

.value-card h3{

    color:#fff;

    margin-bottom:20px;

    font-size:1.7rem;

    line-height:1.3;

}

.value-card p{

    color:rgba(255,255,255,.78);

    line-height:1.9;

    margin-bottom:35px;

}

.value-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#fff;
    font-weight:600;
    transition:var(--transition);
}

.value-link:hover{
    gap:18px;
    color:#fff;
}


/*==============================================================
    JOURNEY TIMELINE
==============================================================*/

.journey-section{

    padding:140px 0;

    position:relative;

}

.journey-header{

    max-width:760px;

    margin:0 auto 90px;

    text-align:center;

}

.timeline{

    position:relative;

    max-width:1000px;

    margin:0 auto;

}

/*==============================================================
    PREMIUM TIMELINE LINE
==============================================================*/

.timeline-line{

    position:absolute;

    left:50%;

    top:0;

    bottom:0;

    width:4px;

    transform:translateX(-50%);

    border-radius:999px;

    background:linear-gradient(

        to bottom,

        var(--color-primary-red) 0%,

        #A83B7C 45%,

        var(--color-primary-blue) 100%

    );

    overflow:hidden;

}

.timeline-line::before{

    content:"";
    position:absolute;
    inset:0;
    background:inherit;
    filter:blur(18px);
    opacity:.55;

}

.timeline-item{

    position:relative;

    width:50%;

    margin-bottom:80px;

}

.timeline-item.left{

    padding-right:70px;

    text-align:right;

}

.timeline-item.right{

    margin-left:50%;

    padding-left:70px;

}

.timeline-year{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 18px;

    border-radius:999px;

    margin-bottom:22px;

    font-size:.85rem;

    font-weight:700;

    letter-spacing:1.5px;

    text-transform:uppercase;

    color:#fff;

    background:linear-gradient(

        135deg,

        var(--color-primary-red),

        var(--color-primary-blue)

    );

    box-shadow:

        0 10px 25px rgba(0,0,0,.18);

}

.timeline-card{

    padding:32px;

    border-radius:22px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(18px);

    transition:var(--transition);

}

.timeline-card:hover{

    transform:

        translateY(-8px)

        scale(1.015);

    border-color:

        rgba(255,255,255,.20);

    box-shadow:

        0 28px 60px rgba(0,0,0,.30),

        0 0 35px rgba(15,76,129,.08);

}

.timeline-card h4{

    color:#fff;

    margin-bottom:16px;

}

.timeline-card p{

    color:rgba(255,255,255,.78);

    line-height:1.9;

}

.section-margin{
    margin: 25px 0;
}

/*==============================================================
    TIMELINE MILESTONE
==============================================================*/

.timeline-dot{
    position:absolute;
    top:8px;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#fff;
    border:5px solid var(--color-primary-red);
    z-index:10;
    box-shadow:

        0 0 0 10px rgba(214,40,57,.10),

        0 0 30px rgba(214,40,57,.35);
         animation: timelinePulse 3.2s infinite;

}

.timeline-item.left .timeline-dot{

    right:-12px;

}

.timeline-item.right .timeline-dot{

    left:-12px;

}

/*==============================================================
    CONNECTOR LINES
==============================================================*/

.timeline-card{

    position:relative;

}

.timeline-item.left .timeline-card::before{
    content:"";
    position:absolute;
    top:42px;
    right:-70px;
    width:70px;
    height:2px;
    background:linear-gradient(

        to right,

        rgba(255,255,255,.12),

        rgba(214,40,57,.75)

    );

}

.timeline-item.right .timeline-card::before{
    content:"";
    position:absolute;
    top:42px;
    left:-70px;
    width:70px;
    height:2px;
    background:linear-gradient(

        to left,

        rgba(255,255,255,.12),

        rgba(15,76,129,.75)

    );

}


/*==============================================================
    TEXT SELECTION
==============================================================*/

::selection{

    background:var(--color-primary-red);

    color:#fff;

}

::-moz-selection{

    background:var(--color-primary-red);

    color:#fff;

}

/*==============================================================
    SERVICES
==============================================================*/

.services-section{

    position:relative;

    overflow:hidden;

    background:

        linear-gradient(

            180deg,

            #08111F 0%,

            #0C182A 100%

        );

}

/*==============================================================
    SERVICES GLOW
==============================================================*/

.services-glow{

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    filter:blur(140px);

    pointer-events:none;

    opacity:.35;

}

.services-glow-left{

    top:-160px;

    left:-180px;

    background:

        rgba(214,40,57,.22);

}

.services-glow-right{

    bottom:-180px;

    right:-150px;

    background:

        rgba(15,76,129,.22);

}

/*==============================================================
    SERVICES HEADER
==============================================================*/

.services-header{

    max-width:760px;

    margin:0 auto 90px;

    text-align:center;

    position:relative;

    z-index:2;

}

/*==============================================================
    SERVICES EXPERIENCE
==============================================================*/

.services-experience{

    position:relative;

    display:grid;

    grid-template-columns:

        minmax(0, 1.45fr)

        minmax(320px, .75fr);

    gap:42px;

    align-items:stretch;

}

/*==============================================================
    PLACEHOLDERS
==============================================================*/

.service-showcase,

.services-selector{
    position:relative;

    min-height:700px;

    border-radius:34px;

    overflow:hidden;

    box-shadow:

        0 35px 80px rgba(0,0,0,.35);

}


.service-image{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:

        transform 1.2s ease;

}

.service-overlay{

    position:absolute;

    inset:0;

    background:

        linear-gradient(

            180deg,

            rgba(0,0,0,.05),

            rgba(0,0,0,.25),

            rgba(6,11,20,.88)

        );

}

.service-content-card{

    position:absolute;

    left:40px;

    bottom:40px;

    width:min(520px, calc(100% - 80px));

    padding:36px;

    border-radius:26px;

    background:

        linear-gradient(

            180deg,

            rgba(255,255,255,.12),

            rgba(255,255,255,.06)

        );

    backdrop-filter:blur(24px);

    -webkit-backdrop-filter:blur(24px);

    border:

        1px solid rgba(255,255,255,.15);

    box-shadow:

        0 25px 60px rgba(0,0,0,.28);

}

.service-content-card h3{

    margin:24px 0 20px;

    color:#fff;

    font-size:clamp(2rem,4vw,3rem);

    line-height:1.15;

    letter-spacing:-1px;

}

.service-content-card p{

    color:rgba(255,255,255,.85);

    line-height:1.9;

    margin-bottom:34px;

    font-size:1.05rem;

}

.service-showcase:hover .service-image{

    transform:

        scale(1.06);

}

.service-showcase::after{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    top:-160px;

    right:-120px;

    border-radius:50%;

    background:

        rgba(214,40,57,.16);

    filter:blur(110px);

    pointer-events:none;

}

/*==============================================================
    SERVICES SELECTOR
==============================================================*/

.services-selector{

    display:flex;

    flex-direction:column;

    justify-content:center;

    gap:18px;

    padding:30px;

}

.service-item{

    display:flex;

    align-items:center;

    gap:18px;

    width:100%;

    padding:22px;

    border:none;

    border-radius:20px;

    cursor:pointer;

    background:rgba(255,255,255,.04);

    color:#fff;

    transition:all .45s cubic-bezier(.22,.61,.36,1);

    border:1px solid rgba(255,255,255,.08);

}

.service-item i{

    font-size:1.5rem;

    width:48px;

    text-align:center;

}

.service-item span{

    font-size:1.05rem;

    font-weight:600;

}

.service-item:hover{

    transform:translateX(8px);

    border-color:rgba(255,255,255,.18);

}

.service-item.active{

    background:linear-gradient(

        135deg,

        var(--color-primary-red),

        var(--color-primary-blue)

    );

}

.service-showcase.changing .service-image{

    transform:

        scale(1.12);

    opacity:.15;

    filter:blur(8px);

}

.service-showcase.changing .service-content-card{

    opacity:0;

    transform:

        translateY(25px);

}

.service-image{

    animation:

        kenBurns 16s ease-in-out infinite alternate;

}

.service-content-card{

    transition:

        opacity .45s ease,

        transform .45s ease;

}

.service-showcase::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        120deg,

        transparent 20%,

        rgba(255,255,255,.08) 45%,

        transparent 70%

    );

    transform:translateX(-140%);

    animation:

        lightSweep 12s linear infinite;

    pointer-events:none;

    z-index:2;

}

/*==============================================================
    MEMBERSHIP
==============================================================*/

.membership-section{

    position:relative;

    overflow:hidden;

    background:

        linear-gradient(
            180deg,
            #08111F 0%,
            #0A1422 100%
        );

}

/*==============================================================
    MEMBERSHIP GLOW
==============================================================*/

.membership-glow{

    position:absolute;

    width:550px;

    height:550px;

    border-radius:50%;

    filter:blur(140px);

    opacity:.22;

    pointer-events:none;

}

.membership-glow-left{

    top:-180px;

    left:-180px;

    background:

        rgba(214,40,57,.20);

}

.membership-glow-right{

    bottom:-180px;

    right:-180px;

    background:

        rgba(15,76,129,.20);

}

/*==============================================================
    MEMBERSHIP HEADER
==============================================================*/

.membership-header{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

    position:relative;

    z-index:2;

}

/*==============================================================
    BILLING TOGGLE
==============================================================*/

.billing-toggle-wrapper{

    display:flex;

    align-items:center;

    justify-content:center;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:70px;

}

.billing-label{

    color:rgba(255,255,255,.55);

    font-weight:600;

    transition:all .35s ease;

}

.billing-label.active{

    color:#fff;

}

.billing-toggle{

    position:relative;

    width:74px;

    height:38px;

    border:none;

    border-radius:999px;

    cursor:pointer;

    background:

        linear-gradient(
            135deg,
            var(--color-primary-red),
            var(--color-primary-blue)
        );

    padding:4px;

}

.billing-slider{

    position:absolute;

    left:4px;

    top:4px;

    width:30px;

    height:30px;

    border-radius:50%;

    background:#fff;

    transition:all .4s cubic-bezier(.22,.61,.36,1);

}

.billing-save{

    padding:8px 16px;

    border-radius:999px;

    font-size:.85rem;

    font-weight:700;

    color:#fff;

    background:

        linear-gradient(
            135deg,
            var(--color-primary-red),
            var(--color-primary-blue)
        );

    box-shadow:

        0 12px 30px rgba(214,40,57,.25);

}

/*==============================================================
    MEMBERSHIP GRID
==============================================================*/

.membership-grid{

    display:grid;

    grid-template-columns:

        repeat(3,1fr);

    gap:35px;

    align-items:stretch;

}

.membership-card{

    position:relative;

    padding:42px 34px;

    min-height:720px;

    border-radius:30px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.04)
        );

    backdrop-filter:blur(24px);

    -webkit-backdrop-filter:blur(24px);

    border:1px solid rgba(255,255,255,.10);

    overflow:hidden;

    transition:all .45s cubic-bezier(.22,.61,.36,1);

}

.membership-card.featured{

    transform:scale(1.04);

    border-color:

        rgba(255,255,255,.18);

    box-shadow:

        0 28px 70px rgba(0,0,0,.30),

        0 0 45px rgba(214,40,57,.10);

}


.plan-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.10);

    color:#fff;

    font-size:.8rem;

    font-weight:700;

    letter-spacing:.08em;

    text-transform:uppercase;

}

.plan-title{

    margin:28px 0 16px;

    color:#fff;

    font-size:2.4rem;

    font-weight:700;

}

.plan-intro{

    color:rgba(255,255,255,.72);

    line-height:1.8;

    margin-bottom:34px;

}

.plan-price{

    display:flex;

    align-items:flex-start;

    margin-bottom:8px;

}

.currency{

    color:#fff;

    font-size:1.4rem;

    margin-right:6px;

}

.price{

    color:#fff;

    font-size:3.3rem;

    font-weight:800;

    line-height:1;

}

.billing-period{

    color:rgba(255,255,255,.60);

    margin-bottom:36px;

}

.plan-features{

    list-style:none;

    padding:0;

    margin:0 0 42px;

}

.plan-features li{

    display:flex;

    align-items:center;

    gap:14px;

    color:rgba(255,255,255,.90);

    margin-bottom:18px;

}

.plan-features i{

    color:#35D07F;

    font-size:1.1rem;

}

.featured-ribbon{

    position:absolute;

    top:24px;

    right:-48px;

    width:190px;

    text-align:center;

    padding:10px 0;

    font-size:.75rem;

    font-weight:700;

    letter-spacing:.12em;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            var(--color-primary-red),
            var(--color-primary-blue)
        );

    transform:rotate(45deg);

    box-shadow:0 10px 25px rgba(0,0,0,.25);

}


.membership-card:hover{

    transform:translateY(-12px);

    border-color:rgba(255,255,255,.18);

    box-shadow:
        0 30px 70px rgba(0,0,0,.35),
        0 0 40px rgba(214,40,57,.12);

}

.billing-toggle.active .billing-slider{

    left:40px;

}

.membership-card.pulse{

    animation:

        membershipPulse

        .65s ease;

}

.billing-save{

    position:relative;

    overflow:hidden;

}

.billing-save::after{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:60%;

    height:100%;

    background:

        linear-gradient(

            90deg,

            transparent,

            rgba(255,255,255,.5),

            transparent

        );

}

.billing-save.shine::after{

    animation:

        badgeShine

        .9s linear;

}

.plan-features li{

    opacity:0;

    transform:translateX(-15px);

    animation:featureReveal .5s forwards;

}

.plan-features li:nth-child(1){animation-delay:.10s;}
.plan-features li:nth-child(2){animation-delay:.18s;}
.plan-features li:nth-child(3){animation-delay:.26s;}
.plan-features li:nth-child(4){animation-delay:.34s;}
.plan-features li:nth-child(5){animation-delay:.42s;}
.plan-features li:nth-child(6){animation-delay:.50s;}

/*==============================================================
    LOCATIONS
==============================================================*/

.locations-section{

    position:relative;

    overflow:hidden;

    background:

        linear-gradient(
            180deg,
            #08111F,
            #07121E
        );

}

/*==============================================================
    LOCATION GLOW
==============================================================*/

.location-glow{

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    filter:blur(150px);

    opacity:.22;

    pointer-events:none;

}

.glow-left{

    top:-180px;

    left:-180px;

    background:

        rgba(214,40,57,.22);

}

.glow-right{

    right:-180px;

    bottom:-180px;

    background:

        rgba(15,76,129,.22);

}

.locations-header{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

    position:relative;

    z-index:2;

}

/*==============================================================
    MAP STAGE
==============================================================*/

.location-stage{

    position:relative;

    overflow:hidden;

    min-height:720px;

    border-radius:40px;

    background:

        linear-gradient(

            180deg,

            rgba(255,255,255,.05),

            rgba(255,255,255,.03)

        );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(28px);

    -webkit-backdrop-filter:blur(28px);

}

.map-grid{

    position:absolute;

    inset:0;

    background-image:

        linear-gradient(

            rgba(255,255,255,.03) 1px,

            transparent 1px

        ),

        linear-gradient(

            90deg,

            rgba(255,255,255,.03) 1px,

            transparent 1px

        );

    background-size:40px 40px;

    opacity:.35;

}

.location-panel{
    position:absolute;
    right:40px;
    top:50%;
    transform:translateY(-50%);
    width:360px;
    padding:35px;
    border-radius:28px;
    max-height:520px !important;
    background:

        rgba(10,18,30,.82);

    backdrop-filter:blur(25px);

    -webkit-backdrop-filter:blur(25px);

    border:1px solid rgba(255,255,255,.10);

    z-index:20;

    transition:

    transform .45s ease,

    opacity .45s ease,

    box-shadow .45s ease;

}

.location-panel.updating{

    opacity:0;

    transform:

        translateY(-50%)

        translateX(20px);

}

.panel-placeholder{

    text-align:center;

}

.panel-placeholder i{

    font-size:2.5rem;

    color:var(--color-primary-red);

    margin-bottom:20px;

}

.panel-placeholder h4{

    color:#fff;

    margin-bottom:15px;

}

.panel-placeholder p{

    color:rgba(255,255,255,.70);

    line-height:1.8;

}

/*==============================================================
    MAP TERRAIN
==============================================================*/

.terrain-layer{

    position:absolute;

    inset:0;

    background-image:
        radial-gradient(
            circle at center,
            rgba(255,255,255,.03) 1px,
            transparent 1px
        );

    background-size:70px 70px;

    opacity:.18;

}

.terrain-layer-two{

    background-size:120px 120px;

    opacity:.08;

}

.route-network{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

}

.route-line{

    fill:none;

    stroke:url(#routeGradient);

    stroke-width:4;

    stroke-linecap:round;

    stroke-dasharray:12 12;

    opacity:.45;

}

.route-light{

    fill:none;

    stroke:#ffffff;

    stroke-width:3;

    stroke-linecap:round;

    stroke-dasharray:16 220;

    stroke-dashoffset:0;

    opacity:.95;

    animation:routeFlow 4s linear infinite;

}

.location-pin{
    position:absolute;
    width:62px;
    height:62px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    background:

        linear-gradient(
            135deg,
            var(--color-primary-red),
            var(--color-primary-blue)
        );

    color:#fff;

    font-size:1.35rem;

    display:flex;

    align-items:center;

    justify-content:center;

    transform:translate(-50%,-50%);

    box-shadow:

        0 0 25px rgba(214,40,57,.35);

    transition:all .35s ease;

    z-index:5;

}

/*==============================================================
    PIN LABEL
==============================================================*/

.pin-label{
    position:absolute;
    bottom:72px;
    left:50%;
    transform:translateX(-50%);
    white-space:nowrap;
    padding:8px 16px;
    border-radius:50px;
    background:rgba(8,17,31,.82);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border:1px solid rgba(255,255,255,.12);
    color:#fff;
    font-size:.82rem;
    font-weight:600;
    letter-spacing:.5px;

    box-shadow:

        0 8px 25px rgba(0,0,0,.25);

    animation:

        pinLabelFloat 3.5s ease-in-out infinite;

    transition:

        all .35s ease;

    z-index:30;

}

.pin-label::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-6px;
    transform:translateX(-50%) rotate(45deg);
    width:12px;
    height:12px;
    background:rgba(8,17,31,.82);
    border-right:1px solid rgba(255,255,255,.10);
    border-bottom:1px solid rgba(255,255,255,.10);
}

.location-pin:hover .pin-label{

    transform:

        translateX(-50%)

        translateY(-6px);

    background:

        linear-gradient(

            135deg,

            rgba(214,40,57,.92),

            rgba(15,76,129,.92)

        );

}

.location-pin.active .pin-label{

    transform:

        translateX(-50%)

        scale(1.08);

    box-shadow:

        0 0 30px rgba(214,40,57,.35),

        0 0 50px rgba(15,76,129,.25);

}

.location-pin:hover{

    transform:

        translate(-50%,-50%)

        scale(1.12);

}

.pin-pulse{

    position:absolute;

    inset:-12px;

    border-radius:50%;

    border:2px solid rgba(255,255,255,.30);

    animation:

        locationPulse

        2.8s infinite;

}

/*==============================================================
    LOCATION PANEL CONTENT
==============================================================*/

.location-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 18px;

    border-radius:100px;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.08);

    color:#fff;

    margin-bottom:22px;

}

.location-title{

    color:#fff;

    font-size:2rem;

    margin-bottom:18px;

}

.location-description{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    margin-bottom:28px;

}

.location-pin.active{

    transform:

        translate(-50%,-50%)

        scale(1.15);

    box-shadow:

        0 0 45px rgba(214,40,57,.55),

        0 0 80px rgba(15,76,129,.35);

}

.route-network{

    filter:

        drop-shadow(0 0 18px rgba(37,99,235,.28))

        drop-shadow(0 0 12px rgba(230,57,70,.22));

}

.location-panel::before{

    content:"";

    position:absolute;

    inset:0;

    background:

        linear-gradient(

            120deg,

            transparent 20%,

            rgba(255,255,255,.06) 45%,

            transparent 70%

        );

    opacity:.35;

    pointer-events:none;

    animation:

        panelReflection

        9s linear infinite;

}

#locationContent::-webkit-scrollbar{

    width:4px;

}

#locationContent::-webkit-scrollbar-thumb{

    background:linear-gradient(

        var(--color-primary-red),

        var(--color-primary-blue)

    );

    border-radius:30px;

}

/*==============================================================
    FAQ
==============================================================*/

.faq-section{

    position:relative;

    overflow:hidden;

    background:

        linear-gradient(

            180deg,

            #07121E,

            #08111F

        );

}

/*==============================================================
    FAQ GLOW
==============================================================*/

.faq-glow{

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    filter:blur(160px);

    opacity:.18;

    pointer-events:none;

}

.faq-glow-left{

    left:-220px;

    top:-180px;

    background:

        rgba(214,40,57,.22);

}

.faq-glow-right{

    right:-220px;

    bottom:-180px;

    background:

        rgba(15,76,129,.22);

}

/*==============================================================
    FAQ HEADER
==============================================================*/

.faq-header{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

    position:relative;

    z-index:2;

}

/*==============================================================
    FAQ WRAPPER
==============================================================*/

.faq-wrapper{

    max-width:900px;

    margin:0 auto;

    position:relative;

    z-index:2;

}

/*==============================================================
    FAQ ITEMS
==============================================================*/

.faq-item{

    position:relative;

    margin-bottom:20px;

    border-radius:26px;

    overflow:hidden;

    background:rgba(255,255,255,.045);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(22px);

    -webkit-backdrop-filter:blur(22px);

    transition:all .35s ease;

}

/*==============================================================
    FAQ ACTIVE ACCENT
==============================================================*/

.faq-item::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:4px;

    height:100%;

    background:

        linear-gradient(

            180deg,

            var(--color-primary-red),

            var(--color-primary-blue)

        );

    transform:scaleY(0);

    transform-origin:top;

    transition:

        transform .45s ease;

}

.faq-item:hover{

    transform:translateY(-4px);

    border-color:rgba(255,255,255,.14);

    box-shadow:

        0 20px 45px rgba(0,0,0,.28);

}

.faq-item.active{

    border-color:rgba(255,255,255,.16);

    box-shadow:

        0 0 40px rgba(214,40,57,.12),

        0 0 60px rgba(15,76,129,.10);

    overflow:hidden;

}

.faq-item.active::before{

    transform:scaleY(1);

}

/*==============================================================
    FAQ QUESTION
==============================================================*/

.faq-question{

    width:100%;

    border:none;

    background:none;

    padding:28px 32px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    cursor:pointer;

    color:#fff;

}

.faq-title{

    display:flex;

    align-items:center;

    gap:18px;

    text-align:left;

}

.faq-title i{

    font-size:1.2rem;

    color:var(--color-primary-red);

}

.faq-title span{

    font-size:1.05rem;

    font-weight:600;

    line-height:1.6;

}

.faq-icon{

    width:46px;

    height:46px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    transition:all .35s ease;

    flex-shrink:0;

}

.faq-item:hover .faq-icon{

    background:

        linear-gradient(

            135deg,

            var(--color-primary-red),

            var(--color-primary-blue)

        );

}

/*==============================================================
    FAQ ANSWERS
==============================================================*/

.faq-answer{

    display:none;

    padding:0 32px 28px 72px;

}

.faq-answer p{

    color:rgba(255,255,255,.72);

    line-height:1.9;

    margin:0;

}



/*==============================================================
    FAQ ACTIVE ICON
==============================================================*/

.faq-item.active .faq-icon{

    background:

        linear-gradient(

            135deg,

            var(--color-primary-red),

            var(--color-primary-blue)

        );

    color:#fff;

    transform:rotate(180deg);

    box-shadow:

        0 0 20px rgba(214,40,57,.30),

        0 0 35px rgba(15,76,129,.20);

}

.faq-item.active .faq-icon{

    animation:

        faqGlow 2.5s ease-in-out infinite;

}

.faq-item{

    transition:

        transform .35s ease,

        box-shadow .35s ease,

        border-color .35s ease;

}

.faq-icon i{

    transition:

        transform .35s ease,

        opacity .35s ease;

}

/*==============================================================
    SUPPORT CARD
==============================================================*/

.support-card{

    margin:90px auto 0;

    max-width:980px;

    padding:55px;

    border-radius:34px;

    background:

        rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(28px);

    -webkit-backdrop-filter:blur(28px);

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:50px;

    position:relative;

    overflow:hidden;

}

.support-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:

        linear-gradient(

            135deg,

            rgba(214,40,57,.05),

            transparent 45%,

            rgba(15,76,129,.05)

        );

    pointer-events:none;

}

/*==============================================================
    SUPPORT CONTENT
==============================================================*/

.support-content{

    flex:1;

    position:relative;

    z-index:2;

}

.support-content h3{

    color:#fff;

    font-size:2.3rem;

    margin:22px 0;

}

.support-content p{

    color:rgba(255,255,255,.72);

    line-height:2;

    max-width:620px;

}

/*==============================================================
    SUPPORT BUTTONS
==============================================================*/

.support-actions{

    display:flex;

    flex-direction:column;

    gap:18px;

    min-width:240px;

    position:relative;

    z-index:2;

}

.support-button{
    display:flex;
    align-items:center;
    gap:18px;
    padding:22px;
    border-radius:22px;
    text-decoration:none;
    color:#fff;

    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.08);
    position:relative;
    overflow:hidden;

    transition:

        transform .35s ease,

        border-color .35s ease,

        box-shadow .35s ease,

        background .35s ease;

}

.support-button::before{

    content:"";

    position:absolute;

    inset:0;

    background:

        linear-gradient(

            120deg,

            transparent,

            rgba(255,255,255,.05),

            transparent

        );

    transform:translateX(-100%);

    transition:transform .7s ease;

}

.support-button:hover::before{

    transform:translateX(100%);

}

.support-icon{

    width:58px;

    height:58px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:

        linear-gradient(

            135deg,

            var(--color-primary-red),

            var(--color-primary-blue)

        );

    flex-shrink:0;

    font-size:1.2rem;

}

.support-info{

    flex:1;

}

.support-info h5{

    color:#fff;

    margin-bottom:5px;

    font-size:1.05rem;

}

.support-info p{

    color:#d9d9d9;

    margin-bottom:3px;

    font-size:.92rem;

}

.support-info small{

    color:rgba(255,255,255,.55);

    letter-spacing:.4px;

}

.support-arrow{

    font-size:1.2rem;

    transition:

        transform .35s ease;

}

.support-button:hover{

    transform:

        translateY(-6px);

    border-color:

        rgba(255,255,255,.18);

    box-shadow:

        0 22px 45px rgba(0,0,0,.30);

}

.support-button:hover .support-arrow{

    transform:

        translateX(8px);

}

.call-support:hover{

    background:

        rgba(214,40,57,.10);

}

.whatsapp-support:hover{

    background:

        rgba(37,211,102,.12);

}

.email-support:hover{

    background:

        rgba(15,76,129,.12);

}

.support-info p::before{

    content:"";

    display:inline-block;

    width:8px;

    height:8px;

    margin-right:8px;

    border-radius:50%;

    background:#22c55e;

    box-shadow:

        0 0 10px #22c55e;

    animation:

        livePulse 2s infinite;

}

.support-button i{

    width:52px;

    height:52px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:

        linear-gradient(

            135deg,

            var(--color-primary-red),

            var(--color-primary-blue)

        );

    font-size:1.15rem;

}

.support-button:hover{

    transform:translateY(-5px);

    color:#fff;

    border-color:rgba(255,255,255,.16);

    box-shadow:

        0 18px 40px rgba(0,0,0,.28);

}

/*==============================================================
    FOOTER
==============================================================*/

.footer-section{

    position:relative;

    overflow:hidden;

    padding:120px 0 40px;

    background:

        linear-gradient(

            180deg,

            #020305 0%,

            #050A12 35%,

            #08111C 100%

        );

}

/*==============================================================
    FOOTER DIVIDER
==============================================================*/

.footer-divider{

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:1px;

    background:

        linear-gradient(

            90deg,

            transparent,

            rgba(255,255,255,.15),

            transparent

        );

}

/*==============================================================
    FOOTER GLOWS
==============================================================*/

.footer-glow{

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    filter:blur(180px);

    pointer-events:none;

    opacity:.25;

    animation:footerGlow 18s ease-in-out infinite;

}


.footer-glow-left{

    top:-180px;

    left:-220px;

    background:

        rgba(214,40,57,.18);

}

.footer-glow-right{

    right:-220px;

    bottom:-220px;

    background:

        rgba(30,95,190,.20);

}

.footer-section .container{

    position:relative;

    z-index:2;

}

/*==============================================================
    FOOTER GRID
==============================================================*/

.footer-grid{

    display:grid;

    grid-template-columns:

        1.5fr

        1fr

        1fr

        1.2fr;

    gap:70px;

}

/*==============================================================
    FOOTER BRAND
==============================================================*/

.footer-logo img{

    width:80px;

    margin-bottom:28px;

}

.footer-about{

    color:rgba(255,255,255,.70);

    line-height:2;

    margin-bottom:35px;

}

/*==============================================================
    FOOTER TITLES
==============================================================*/

.footer-column h4{

    color:#fff;

    font-size:1.2rem;

    margin-bottom:28px;

    position:relative;

}

.footer-column h4::after{

    content:"";

    display:block;

    width:45px;

    height:3px;

    margin-top:12px;

    border-radius:20px;

    background:

        linear-gradient(

            90deg,

            var(--color-primary-red),

            var(--color-primary-blue)

        );

}

/*==============================================================
    FOOTER LINKS
==============================================================*/

.footer-links{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-links li{

    margin-bottom:18px;

}

.footer-links a{

    color:rgba(255,255,255,.70);

    text-decoration:none;

    transition:all .3s ease;

}

.footer-links a:hover{

    color:#fff;

    padding-left:10px;

}

/*==============================================================
    CONTACT
==============================================================*/

.footer-contact{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-contact li{

    display:flex;

    align-items:flex-start;

    gap:15px;

    margin-bottom:22px;

}

.footer-contact i{

    color:

        var(--color-primary-red);

    margin-top:3px;

}

.footer-contact span{

    color:

        rgba(255,255,255,.70);

    line-height:1.8;

}

/*==============================================================
    SOCIAL
==============================================================*/

.footer-social{

    display:flex;

    gap:16px;

}

.footer-social-icon{

    width:48px;

    height:48px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    color:#fff;

    background:

        rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    transition:all .35s ease;

}

.footer-social-icon:hover{

    transform:

        translateY(-6px);

    background:

        linear-gradient(

            135deg,

            var(--color-primary-red),

            var(--color-primary-blue)

        );

    border-color:transparent;

    color:#fff;

    box-shadow:

        0 16px 35px rgba(214,40,57,.22);

}

/*==============================================================
    GOOGLE AUTH BUTTON
==============================================================*/

.googleSignBtn{

    position:relative;

    overflow:hidden;

}


/*==============================================================
    AUTH LOADER
==============================================================*/

.account-btn-loader{

    display:none;

    align-items:center;

    justify-content:center;

    gap:4px;

}

.account-btn-loader span{

    width:4px;

    height:4px;

    border-radius:50%;

    background:#fff;

    animation:
        accountLoader
        1s infinite ease-in-out;

}

.account-btn-loader span:nth-child(2){

    animation-delay:.15s;

}

.account-btn-loader span:nth-child(3){

    animation-delay:.30s;

}


/*==============================================================
    LOADING STATE
==============================================================*/

.googleSignBtn.loading
.account-btn-text{

    display:none;

}

.googleSignBtn.loading
.account-btn-loader{

    display:flex;

}

.googleSignBtn.loading
.account-btn-arrow{

    display:none;

}


/*==============================================================
    AUTH TOAST
==============================================================*/

.auth-toast{

    position:fixed;

    left:50%;

    bottom:30px;

    transform:
        translate(-50%,20px);

    display:flex;

    align-items:center;

    gap:12px;

    width:max-content;

    max-width:
        calc(100% - 40px);

    padding:15px 20px;

    border-radius:16px;

    background:
        rgba(7,13,23,.92);

    border:
        1px solid
        rgba(255,255,255,.10);

    box-shadow:
        0 20px 60px
        rgba(0,0,0,.35);

    backdrop-filter:
        blur(20px);

    -webkit-backdrop-filter:
        blur(20px);

    color:#fff;

    font-size:.9rem;

    opacity:0;

    visibility:hidden;

    transition:

        opacity .3s ease,

        transform .3s ease,

        visibility .3s ease;

    z-index:99999;

}

.auth-toast i{

    color:
        var(--color-primary-red);

}

.auth-toast.show{

    opacity:1;

    visibility:visible;

    transform:
        translate(-50%,0);

}

/* =========================================================
   EAZYFITNESS TEXT BRAND
   ========================================================= */

.brand_eazy,
.brand_fitness {
    display: inline-block;
    font-family: "Poppins", "Inter", Arial, sans-serif;
    line-height: 1;
    white-space: nowrap;
    vertical-align: middle;
}


/* ---------------------------------------------------------
   EAZY
   --------------------------------------------------------- */

.brand_eazy {
    font-weight: 800;
    letter-spacing: -1.5px;
}


/* ---------------------------------------------------------
   FITNESS
   --------------------------------------------------------- */

.brand_fitness {
    font-weight: 500;
    letter-spacing: -0.8px;
    margin-left: 3px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 575.98px) {

    .brand_eazy {
        font-size: 28px;
    }
    .brand_fitness {
        font-size: 20px;
    }

    .brand_eazy {
        letter-spacing: -1.2px;
    }

    .brand_fitness {
        letter-spacing: -0.7px;
        margin-left: 2px;
    }

    .btn-getstarted {
        display: none !important;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (min-width: 576px) and (max-width: 1024px) {

    .brand_eazy {
        font-size: 33px;
        margin-left: 5px;
    }
    .brand_fitness {
        font-size: 25px;
    }

    .brand_eazy {
        letter-spacing: -1.4px;
    }

    .brand_fitness {
        letter-spacing: -0.9px;
        margin-left: 3px;
    }

    .brandLogo {
        display: none !important;
    }

}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 1025px) {

    .brand_eazy{
        margin-left: 5px;
        font-size: 38px;
    }
    .brand_fitness {
        font-size: 29px;
    }

    .brand_eazy {
        letter-spacing: -1.8px;
        margin-left: 5px;
    }

    .brand_fitness {
        letter-spacing: -1px;
        margin-left: 4px;
    }
}

.brand_eazy {
    color: #ff3b30;
}

.brand_fitness {
    color: #2563eb;
}

.brand_eazy {
    font-weight: 800;
}

.brand_fitness {
    font-weight: 500;
}

/* ================================
   BRAND DOT
================================ */

.brand_dot {
    position: relative;

    /* Keep the <sub> semantics */
    vertical-align: baseline;

    /* Prevent the browser's default subscript styling */
    font-size: 0;
    line-height: 0;

    /* Space between Fitness and the dot */
    margin-left: 3px;
}

/* Create the circular dot */
.brand_dot::after {
    content: "";

    position: relative;
    display: inline-block;

    width: 5px;
    height: 5px;

    background: #ffffff;
    border-radius: 50%;

    /* FORCE the dot downward */
    top: 0.45em;
}


/* ================================
   MOBILE
================================ */

@media (max-width: 575.98px) {

    .brand_dot {
        margin-left: 2px;
    }

    .brand_dot::after {
        width: 4px;
        height: 4px;

        top: 0.45em;
    }

    .brand_eazy {
        margin-left: 5px;
    }
}


/* ================================
   TABLET
================================ */

@media (min-width: 576px) and (max-width: 991.98px) {

    .brand_dot::after {
        width: 5px;
        height: 5px;

        top: 0.45em;
    }
}


/* ================================
   DESKTOP
================================ */

@media (min-width: 992px) {

    .brand_dot {
        margin-left: 3px;
    }

    .brand_dot::after {
        width: 6px;
        height: 6px;

        top: 0.45em;
    }
}