html,
body{

    width:100%;

    max-width:100%;

    margin:0;

    padding:0;

    overflow-x:hidden;

}

*,
*::before,
*::after{

    box-sizing:border-box;

}

img,
video{

    max-width:100%;

}
/* ==================================
   RESET
================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:Arial, Helvetica, sans-serif;

    background:#0b0b0b;

    color:#fff;

    overflow-x:hidden;

}

a{
    color:inherit;
}


/* ==================================
   VARIABLES
================================== */

:root{

    --black:#0b0b0b;
    --black-soft:#111111;

    --white:#ffffff;

    --orange:#F99423;
    --red:#F8391F;

    --blue:#253CB3;

}


/* ==================================
   CONTAINER
================================== */

.hyrox-container{

    width:min(1200px, calc(100% - 48px));

    margin:0 auto;

}


/* ==================================
   NAVBAR
================================== */

.hyrox-header{

    position:absolute;

    top:0;
    left:0;

    width:100%;

    z-index:100;

}

.hyrox-navbar{

    width:min(1400px, calc(100% - 60px));

    margin:0 auto;

    min-height:90px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:40px;

}

.hyrox-logo{

    display:block;

    flex-shrink:0;

}

.hyrox-logo img{

    display:block;

    width:150px;

    height:auto;

}

.hyrox-nav-links{

    list-style:none;

    display:flex;

    align-items:center;

    gap:30px;

}

.hyrox-nav-links a{

    text-decoration:none;

    font-size:.72rem;

    font-weight:700;

    letter-spacing:1.5px;

    text-transform:uppercase;

    color:rgba(255,255,255,.8);

    transition:.3s ease;

}

.hyrox-nav-links a:hover,
.hyrox-nav-links a.active{

    color:#fff;

}

.hyrox-nav-cta{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:13px 20px;

    border:1px solid rgba(255,255,255,.3);

    border-radius:999px;

    text-decoration:none;

    font-size:.7rem;

    font-weight:700;

    letter-spacing:1.2px;

    text-transform:uppercase;

    transition:.3s ease;

}

.hyrox-nav-cta:hover{

    background:#fff;

    color:#111;

}


/* ==================================
   HAMBURGER
================================== */

.hyrox-menu-toggle{

    display:none;

    position:relative;

    z-index:1002;

    width:44px;
    height:44px;

    padding:0;

    border:0;

    background:transparent;

    cursor:pointer;

    flex-shrink:0;

}

.hyrox-menu-toggle span{

    position:absolute;

    left:9px;

    width:26px;
    height:2px;

    background:#fff;

    transition:.3s ease;

}

.hyrox-menu-toggle span:nth-child(1){

    top:13px;

}

.hyrox-menu-toggle span:nth-child(2){

    top:21px;

}

.hyrox-menu-toggle span:nth-child(3){

    top:29px;

}


/* ==================================
   HAMBURGER · ACTIVO
================================== */

.hyrox-menu-toggle.active span:nth-child(1){

    top:21px;

    transform:rotate(45deg);

}

.hyrox-menu-toggle.active span:nth-child(2){

    opacity:0;

}

.hyrox-menu-toggle.active span:nth-child(3){

    top:21px;

    transform:rotate(-45deg);

}
/* ==================================
   RESPONSIVE · BASE
================================== */

html,
body{

    width:100%;
    max-width:100%;

    margin:0;
    padding:0;

    overflow-x:hidden;

}

*,
*::before,
*::after{

    box-sizing:border-box;

}

img,
video{

    max-width:100%;

}


/* ==================================
   HERO · HYROX TRAINING CLUB
================================== */

.hyrox-hero{

    position:relative;

    min-height:100vh;

    background:#080808;

    color:#fff;

    overflow:hidden;

    display:flex;

    flex-direction:column;

}


/* ==================================
   BACKGROUND
================================== */

.hyrox-hero-bg{

    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at 70% 30%,
            rgba(248,57,31,.18),
            transparent 32%
        ),
        radial-gradient(
            circle at 20% 80%,
            rgba(37,60,179,.15),
            transparent 35%
        );

    pointer-events:none;

}


/* ==================================
   GRID
================================== */

.hyrox-hero-grid{

    position:relative;

    z-index:2;

    width:100%;

    min-height:calc(100vh - 70px);

    display:grid;

    grid-template-columns:
        minmax(0, .95fr)
        minmax(400px, .75fr);

    gap:70px;

    align-items:center;

    padding-top:140px;

    padding-bottom:70px;

}


/* ==================================
   CONTENT
================================== */

.hyrox-hero-content{

    position:relative;

    z-index:3;

    padding:50px 0;

}


/* ==================================
   LOGO
================================== */

.hyrox-hero-brand{

    margin-bottom:45px;

}

.hyrox-hero-brand img{

    display:block;

    width:160px;

    height:auto;

    object-fit:contain;

}


/* ==================================
   KICKER
================================== */

.hyrox-hero-kicker{

    display:block;

    margin-bottom:20px;

    color:#F99423;

    font-size:.68rem;

    font-weight:700;

    letter-spacing:3px;

}


/* ==================================
   TITLE
================================== */

.hyrox-hero h1{

    margin:0;

    font-size:clamp(4.5rem,8vw,8.5rem);

    line-height:.82;

    letter-spacing:-5px;

    font-weight:900;

}

.hyrox-hero h1 span{

    color:#F8391F;

}


/* ==================================
   DESCRIPTION
================================== */

.hyrox-hero-description{

    max-width:590px;

    margin-top:38px;

    color:rgba(255,255,255,.68);

    font-size:1.05rem;

    line-height:1.7;

}


/* ==================================
   BUTTONS
================================== */

.hyrox-hero-actions{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-top:40px;

}

.hyrox-hero-btn{

    display:inline-flex;

    align-items:center;

    justify-content:space-between;

    gap:35px;

    min-width:220px;

    padding:16px 19px;

    text-decoration:none;

    font-size:.67rem;

    font-weight:700;

    letter-spacing:1.2px;

    transition:.3s ease;

}

.hyrox-hero-btn.primary{

    background:#fff;

    color:#111;

}

.hyrox-hero-btn.secondary{

    border:1px solid rgba(255,255,255,.3);

    color:#fff;

}

.hyrox-hero-btn:hover{

    transform:translateY(-3px);

}

.hyrox-hero-btn.secondary:hover{

    background:#fff;

    color:#111;

}


/* ==================================
   META
================================== */

.hyrox-hero-meta{

    display:flex;

    gap:50px;

    margin-top:55px;

    padding-top:22px;

    border-top:1px solid rgba(255,255,255,.15);

}

.hyrox-hero-meta div{

    display:flex;

    flex-direction:column;

    gap:7px;

}

.hyrox-hero-meta strong{

    font-size:.65rem;

    letter-spacing:1.5px;

}

.hyrox-hero-meta span{

    color:rgba(255,255,255,.4);

    font-size:.58rem;

    letter-spacing:1.5px;

}


/* ==================================
   IMAGE
================================== */

.hyrox-hero-image{

    position:relative;

    width:100%;

    height:min(760px,82vh);

    overflow:hidden;

    background:#111;

}

.hyrox-hero-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center;

    display:block;

    filter:saturate(.9);

    transition:transform .8s ease;

}

.hyrox-hero-image:hover img{

    transform:scale(1.025);

}


/* ==================================
   IMAGE OVERLAY
================================== */

.hyrox-hero-image-overlay{

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.05),
            rgba(0,0,0,.35)
        );

    pointer-events:none;

}


/* ==================================
   IMAGE LABEL
================================== */

.hyrox-hero-image-label{

    position:absolute;

    right:25px;

    bottom:25px;

    display:flex;

    flex-direction:column;

    align-items:flex-end;

    text-align:right;

}

.hyrox-hero-image-label span{

    font-size:.65rem;

    letter-spacing:3px;

    font-weight:700;

}

.hyrox-hero-image-label strong{

    color:#F8391F;

    font-size:1.2rem;

    letter-spacing:2px;

}


/* ==================================
   BOTTOM LINE
================================== */

.hyrox-hero-bottom{

    position:relative;

    z-index:3;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    padding:18px 24px;

    border-top:1px solid rgba(255,255,255,.15);

    color:rgba(255,255,255,.35);

    font-size:.58rem;

    font-weight:700;

    letter-spacing:2px;

}


/* ==================================
   TABLET
================================== */

@media(max-width:1000px){

    .hyrox-hero-grid{

        grid-template-columns:1fr;

        gap:45px;

        padding-top:70px;

    }

    .hyrox-hero-content{

        padding:30px 0 0;

    }

    .hyrox-hero-brand{

        margin-bottom:30px;

    }

    .hyrox-hero h1{

        font-size:clamp(4rem,11vw,7rem);

    }

    .hyrox-hero-description{

        max-width:650px;

    }

    .hyrox-hero-image{

        height:600px;

        max-width:650px;

    }

}


/* ==================================
   MÓVIL
================================== */

@media(max-width:600px){

    .hyrox-hero{

        min-height:auto;

    }

    .hyrox-hero-grid{

        min-height:auto;

        display:flex;

        flex-direction:column;

        align-items:stretch;

        gap:40px;

        padding-top:55px;

        padding-bottom:45px;

    }

    .hyrox-hero-content{

        padding:0;

    }

    .hyrox-hero-brand{

        margin-bottom:28px;

    }

    .hyrox-hero-brand img{

        width:135px;

    }

    .hyrox-hero-kicker{

        font-size:.6rem;

        letter-spacing:2px;

        margin-bottom:18px;

    }

    .hyrox-hero h1{

        font-size:4rem;

        line-height:.86;

        letter-spacing:-3px;

    }

    .hyrox-hero-description{

        margin-top:28px;

        font-size:.92rem;

        line-height:1.65;

    }

    .hyrox-hero-actions{

        flex-direction:column;

        margin-top:30px;

    }

    .hyrox-hero-btn{

        width:100%;

        box-sizing:border-box;

    }

    .hyrox-hero-meta{

        flex-direction:column;

        gap:20px;

        margin-top:35px;

    }

    .hyrox-hero-image{

        width:100%;

        height:500px;

    }

    .hyrox-hero-image-label{

        right:18px;

        bottom:18px;

    }

    .hyrox-hero-bottom{

        padding:15px 18px;

        font-size:.48rem;

        letter-spacing:1.5px;

    }

}


/* ==================================
   INTRO
================================== */

.hyrox-intro{

    padding:150px 0;

    background:#fff;

    color:#111;

}

.hyrox-intro .hyrox-container{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:100px;

    align-items:center;

}

.hyrox-section-label{

    display:block;

    margin-bottom:25px;

    color:var(--red);

    font-size:.7rem;

    font-weight:700;

    letter-spacing:3px;

}

.hyrox-intro h2{

    max-width:700px;

    font-size:clamp(3rem, 5vw, 5.5rem);

    line-height:.9;

    letter-spacing:-3px;

    font-weight:900;

}

.hyrox-intro h2 span{

    display:block;

    color:var(--red);

}

.hyrox-intro-text{

    max-width:500px;

}

.hyrox-intro-text p{

    margin-bottom:24px;

    font-size:1.05rem;

    line-height:1.75;

    color:#555;

}


/* ==================================
   CLASES
================================== */

.hyrox-classes{

    padding:150px 0;

    background:#0b0b0b;

}

.hyrox-classes h2{

    margin-bottom:70px;

    font-size:clamp(3.5rem, 7vw, 7rem);

    line-height:.85;

    letter-spacing:-4px;

    font-weight:900;

}

.hyrox-classes h2 span{

    color:var(--orange);

}

.hyrox-classes-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:14px;

}

.hyrox-class-card{

    min-height:320px;

    padding:30px;

    border:1px solid rgba(255,255,255,.12);

    background:#111;

    display:flex;

    flex-direction:column;

    transition:.3s ease;

}

.hyrox-class-card:hover{

    transform:translateY(-6px);

    border-color:rgba(255,255,255,.35);

}

.class-number{

    color:var(--orange);

    font-size:.7rem;

    font-weight:700;

    letter-spacing:2px;

}

.hyrox-class-card h3{

    margin-top:auto;

    margin-bottom:14px;

    font-size:1.5rem;

    letter-spacing:1px;

}

.hyrox-class-card p{

    color:rgba(255,255,255,.55);

    font-size:.9rem;

    line-height:1.6;

}
/* ==================================
   CLASES · TABLET
================================== */

@media (max-width:1000px){

    .hyrox-classes-grid{

        grid-template-columns:repeat(2, minmax(0, 1fr));

        gap:20px;

        width:100%;

    }

    .hyrox-class-card{

        width:100%;

        min-width:0;

    }

}
@media (max-width:1000px){

    .hyrox-classes-grid{

        grid-template-columns:repeat(2, minmax(0, 1fr));

        gap:20px;

        width:100%;

    }

    .hyrox-class-card{

        width:100%;

        min-width:0;

        overflow:hidden;

    }

}


/* ==================================
   TABLET
================================== */

@media(max-width:1000px){

    .hyrox-navbar{

        position:relative;

    }


    /* BOTÓN */

    .hyrox-menu-toggle{

        display:block;

        margin-left:auto;

    }


    /* MENÚ */

    .hyrox-nav-links{

        position:fixed;

        top:0;
        right:0;

        width:min(380px, 85vw);

        height:100vh;

        margin:0;
        padding:110px 35px 40px;

        display:flex;

        flex-direction:column;

        align-items:flex-start;

        justify-content:flex-start;

        gap:0;

        list-style:none;

        background:#0b0b0b;

        border-left:1px solid rgba(255,255,255,.12);

        transform:translateX(100%);

        transition:transform .4s ease;

        z-index:1001;

        overflow-y:auto;

    }


    .hyrox-nav-links.open{

        transform:translateX(0);

    }


    .hyrox-nav-links li{

        width:100%;

        border-bottom:1px solid rgba(255,255,255,.1);

    }


    .hyrox-nav-links a{

        display:block;

        width:100%;

        padding:20px 0;

        color:#fff;

        font-size:.75rem;

        letter-spacing:2px;

    }


    .hyrox-nav-links a.active{

        color:var(--orange);

    }


    .hyrox-nav-cta{

        display:none;

    }
     .hyrox-intro .hyrox-container{

        display:flex;

        flex-direction:column;

        gap:55px;

        align-items:stretch;

    }

}


/* ==================================
   MÓVIL
================================== */

@media(max-width:600px){

    .hyrox-container{

        width:calc(100% - 36px);

    }
    .hyrox-intro .hyrox-container{

        display:flex;

        flex-direction:column;

        grid-template-columns:none;

        gap:45px;

        align-items:stretch;

    }

    .hyrox-navbar{

        width:calc(100% - 36px);

        min-height:78px;

    }

    .hyrox-logo img{

        width:155px;

    }

    .hyrox-hero{

        min-height:760px;

    }

    .hyrox-hero-content{

        width:calc(100% - 36px);

        padding-top:100px;

    }

    .hyrox-label{

        margin-bottom:22px;

        font-size:.65rem;

        letter-spacing:2.5px;

        line-height:1.5;

    }

    .hyrox-hero h1{

        font-size:3.7rem;

        letter-spacing:-2px;

        line-height:.88;

    }

    .hyrox-hero-text{

        margin-top:28px;

        font-size:.95rem;

        line-height:1.6;

    }

    .hyrox-hero-buttons{

        flex-direction:column;

        align-items:stretch;

        margin-top:28px;

    }

    .hyrox-btn{

        width:100%;

    }

    .hyrox-official{

        flex-direction:column;

        align-items:flex-start;

        gap:7px;

        margin-top:30px;

        line-height:1.4;

    }

    .hyrox-intro{

        padding:90px 0;

    }

    .hyrox-intro h2{

        font-size:3rem;

        letter-spacing:-2px;

    }

    .hyrox-intro-text p{

        font-size:.95rem;

    }

    .hyrox-classes{

        padding:90px 0;

    }

    .hyrox-classes h2{

        font-size:3.4rem;

        letter-spacing:-2px;

        margin-bottom:45px;

    }

    .hyrox-classes-grid{

        grid-template-columns:1fr;

    }

    .hyrox-class-card{

        min-height:220px;

        padding:24px;

    }

}

/* ==================================
   RUNNING + HYBRID PERFORMANCE
================================== */

.hyrox-running{

    padding:160px 0;

    background:#f3f3f3;

    color:#111;

}

.hyrox-running-grid{

    display:grid;

    grid-template-columns:.9fr 1.1fr;

    gap:90px;

    align-items:center;

}


/* ==================================
   IMAGE
================================== */

.hyrox-running-image{

    position:relative;

    height:720px;

    overflow:hidden;

    background:#111;

}

.hyrox-running-image img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    object-position:center;

    transition:transform .8s ease;

}

.hyrox-running-image:hover img{

    transform:scale(1.025);

}

.hyrox-running-image-label{

    position:absolute;

    right:25px;

    bottom:25px;

    display:flex;

    flex-direction:column;

    align-items:flex-end;

    text-align:right;

    color:#fff;

}

.hyrox-running-image-label span{

    font-size:.65rem;

    font-weight:700;

    letter-spacing:3px;

}

.hyrox-running-image-label strong{

    color:#F8391F;

    font-size:1.3rem;

    letter-spacing:2px;

}


/* ==================================
   CONTENT
================================== */

.hyrox-running-content{

    max-width:650px;

}

.hyrox-running-content .hyrox-section-label{

    color:#253CB3;

}

.hyrox-running-content h2{

    margin:0;

    font-size:clamp(4rem,7vw,7rem);

    line-height:.84;

    letter-spacing:-5px;

    font-weight:900;

}

.hyrox-running-content h2 span{

    color:#F8391F;

}


/* ==================================
   TEXT
================================== */

.hyrox-running-content p{

    max-width:590px;

    margin-top:25px;

    color:#666;

    font-size:1rem;

    line-height:1.75;

}

.hyrox-running-content .hyrox-running-lead{

    margin-top:38px;

    color:#111;

    font-size:1.25rem;

    line-height:1.5;

    font-weight:700;

}


/* ==================================
   POINTS
================================== */

.hyrox-running-points{

    display:grid;

    grid-template-columns:1fr 1fr;

    margin-top:55px;

    border-top:1px solid #ccc;

}

.hyrox-running-points div{

    display:flex;

    align-items:center;

    gap:18px;

    padding:20px 0;

    border-bottom:1px solid #ccc;

}

.hyrox-running-points strong{

    color:#F8391F;

    font-size:.65rem;

    letter-spacing:2px;

}

.hyrox-running-points span{

    font-size:.68rem;

    font-weight:700;

    letter-spacing:2px;

}


/* ==================================
   TABLET
================================== */

@media(max-width:1000px){

    .hyrox-running{

        padding:120px 0;

    }

    .hyrox-running-grid{

        grid-template-columns:1fr;

        gap:60px;

    }

    .hyrox-running-image{

        height:600px;

        max-width:650px;

    }

    .hyrox-running-content{

        max-width:700px;

    }

}


/* ==================================
   MÓVIL
================================== */

@media(max-width:600px){

    .hyrox-running{

        padding:85px 0;

    }

    .hyrox-running-grid{

        gap:45px;

    }

    .hyrox-running-image{

        height:500px;

    }

    .hyrox-running-content h2{

        font-size:3.2rem;

        line-height:.88;

        letter-spacing:-2px;

    }

    .hyrox-running-content .hyrox-running-lead{

        margin-top:28px;

        font-size:1.05rem;

    }

    .hyrox-running-content p{

        font-size:.9rem;

        line-height:1.7;

    }

    .hyrox-running-points{

        margin-top:40px;

    }

    .hyrox-running-points div{

        padding:16px 0;

    }

}

/* ==================================
   ANTONIO RIVES · COACH
================================== */

.hyrox-coach{

    padding:160px 0;

    background:#111;

    color:#fff;

}

.hyrox-coach-header{

    max-width:950px;

    margin-bottom:80px;

}

.hyrox-coach-header .hyrox-section-label{

    color:var(--orange);

}

.hyrox-coach-header h2{

    margin:0;

    font-size:clamp(3.5rem,7vw,7rem);

    line-height:.87;

    letter-spacing:-4px;

    font-weight:900;

}

.hyrox-coach-header h2 span{

    color:var(--red);

}


.hyrox-coach-grid{

    display:grid;

    grid-template-columns:minmax(320px, .9fr) 1.1fr;

    gap:90px;

    align-items:center;

}


/* ==================================
   IMAGEN
================================== */

.hyrox-coach-image{

    position:relative;

    overflow:hidden;

    background:#000;

    border-radius:4px;

}

.hyrox-coach-image::after{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        180deg,
        transparent 65%,
        rgba(0,0,0,.4)
    );

    pointer-events:none;

}

.hyrox-coach-image img{

    display:block;

    width:100%;

    height:auto;

    object-fit:cover;

}


/* ==================================
   INFORMACIÓN
================================== */

.hyrox-coach-info{

    max-width:600px;

}

.coach-label{

    display:block;

    margin-bottom:18px;

    color:var(--orange);

    font-size:.72rem;

    font-weight:700;

    letter-spacing:3px;

}

.hyrox-coach-info h3{

    margin:0 0 30px;

    font-size:clamp(3rem,5vw,5rem);

    line-height:.9;

    letter-spacing:-2px;

    text-transform:uppercase;

}

.coach-description{

    max-width:540px;

    margin-bottom:20px;

    color:rgba(255,255,255,.62);

    font-size:1rem;

    line-height:1.7;

}


/* ==================================
   ESTADÍSTICAS
================================== */

.coach-stats{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:1px;

    margin:45px 0;

    background:rgba(255,255,255,.15);

    border:1px solid rgba(255,255,255,.15);

}

.coach-stat{

    padding:28px;

    background:#111;

}

.coach-stat strong{

    display:block;

    margin-bottom:8px;

    color:#fff;

    font-size:2.5rem;

    line-height:1;

    font-weight:900;

    letter-spacing:-1px;

}

.coach-stat:first-child strong{

    color:var(--red);

}

.coach-stat span{

    color:rgba(255,255,255,.45);

    font-size:.65rem;

    font-weight:700;

    letter-spacing:2px;

}

.coach-final-text{

    padding-left:20px;

    border-left:3px solid var(--orange);

    color:#fff;

    font-size:1rem;

    font-weight:700;

    line-height:1.6;

}


/* ==================================
   TABLET
================================== */

@media(max-width:1000px){

    .hyrox-coach{

        padding:120px 0;

    }

    .hyrox-coach-header{

        margin-bottom:60px;

    }

    .hyrox-coach-grid{

        grid-template-columns:1fr;

        gap:60px;

    }

    .hyrox-coach-image{

        max-width:600px;

        margin:0 auto;

    }

    .hyrox-coach-info{

        max-width:700px;

    }

}


/* ==================================
   MÓVIL
================================== */

@media(max-width:600px){

    .hyrox-coach{

        padding:85px 0;

    }

    .hyrox-coach-header{

        margin-bottom:45px;

    }

    .hyrox-coach-header h2{

        font-size:3.15rem;

        letter-spacing:-2px;

        line-height:.9;

    }

    .hyrox-coach-image{

        border-radius:3px;

    }

    .hyrox-coach-info h3{

        font-size:3rem;

    }

    .coach-description{

        font-size:.93rem;

        line-height:1.65;

    }

    .coach-stats{

        grid-template-columns:1fr;

        margin:35px 0;

    }

    .coach-stat{

        padding:22px;

    }

    .coach-stat strong{

        font-size:2.1rem;

    }

    .coach-final-text{

        font-size:.92rem;

    }

}
/* ==================================
   TODOS LOS NIVELES
================================== */

.hyrox-levels{

    padding:160px 0;

    background:#f3f3f3;

    color:#111;

}

.hyrox-levels-header{

    max-width:900px;

    margin-bottom:80px;

}

.hyrox-levels-header .hyrox-section-label{

    color:var(--red);

}

.hyrox-levels-header h2{

    margin:0;

    font-size:clamp(3.5rem,7vw,7rem);

    line-height:.87;

    letter-spacing:-4px;

    font-weight:900;

}

.hyrox-levels-header h2 span{

    display:block;

    color:var(--red);

}

.hyrox-levels-header p{

    max-width:600px;

    margin-top:35px;

    color:#555;

    font-size:1.05rem;

    line-height:1.7;

}


/* ==================================
   CARDS
================================== */

.hyrox-levels-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:14px;

}

.hyrox-level-card{

    position:relative;

    min-height:440px;

    padding:32px;

    display:flex;

    flex-direction:column;

    background:#fff;

    border:1px solid #ddd;

    overflow:hidden;

    transition:.35s ease;

}

.hyrox-level-card:hover{

    transform:translateY(-7px);

    border-color:#111;

}


/* TOP */

.level-top{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:15px;

}

.level-number{

    color:#999;

    font-size:.7rem;

    font-weight:700;

    letter-spacing:2px;

}

.level-tag{

    color:#888;

    font-size:.62rem;

    font-weight:700;

    letter-spacing:1.5px;

}


/* TITLE */

.hyrox-level-card h3{

    margin-top:auto;

    margin-bottom:22px;

    font-size:2.2rem;

    line-height:.95;

    letter-spacing:-1px;

    font-weight:900;

}

.hyrox-level-card:nth-child(2) h3{

    color:var(--blue);

}

.hyrox-level-card:nth-child(3) h3{

    color:var(--red);

}


/* DESCRIPTION */

.hyrox-level-card p{

    max-width:360px;

    color:#666;

    font-size:.9rem;

    line-height:1.65;

}


/* BOTTOM */

.level-line{

    width:100%;

    height:1px;

    margin:28px 0 18px;

    background:#ddd;

}

.level-bottom{

    color:#999;

    font-size:.62rem;

    font-weight:700;

    letter-spacing:2px;

}


/* ==================================
   FOOTER FRASE
================================== */

.hyrox-levels-footer{

    margin-top:70px;

    padding-top:30px;

    border-top:1px solid #ccc;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    font-size:.72rem;

    letter-spacing:2px;

}

.hyrox-levels-footer span{

    color:#999;

}

.hyrox-levels-footer strong{

    color:#111;

}


/* ==================================
   TABLET
================================== */

@media(max-width:1000px){

    .hyrox-levels{

        padding:120px 0;

    }

    .hyrox-levels-grid{

        grid-template-columns:1fr;

        gap:12px;

    }

    .hyrox-level-card{

        min-height:300px;

    }

    .hyrox-level-card h3{

        margin-top:80px;

    }

}


/* ==================================
   MÓVIL
================================== */

@media(max-width:600px){

    .hyrox-levels{

        padding:85px 0;

    }

    .hyrox-levels-header{

        margin-bottom:45px;

    }

    .hyrox-levels-header h2{

        font-size:3.15rem;

        line-height:.9;

        letter-spacing:-2px;

    }

    .hyrox-levels-header p{

        margin-top:25px;

        font-size:.93rem;

        line-height:1.65;

    }

    .hyrox-level-card{

        min-height:330px;

        padding:25px;

    }

    .hyrox-level-card h3{

        margin-top:auto;

        font-size:2rem;

    }

    .hyrox-level-card p{

        font-size:.88rem;

    }

    .hyrox-levels-footer{

        margin-top:45px;

        flex-direction:column;

        align-items:flex-start;

        gap:8px;

        line-height:1.5;

    }

}
/* ==================================
   PROGRAMACIÓN PROPIA
================================== */

.hyrox-programming{

    padding:160px 0;

    background:#0b0b0b;

    color:#fff;

}

.hyrox-programming-header{

    max-width:900px;

    margin-bottom:100px;

}

.hyrox-programming-header .hyrox-section-label{

    color:var(--orange);

}

.hyrox-programming-header h2{

    margin:0;

    font-size:clamp(3.5rem,7vw,7rem);

    line-height:.87;

    letter-spacing:-4px;

    font-weight:900;

}

.hyrox-programming-header h2 span{

    color:var(--orange);

}

.hyrox-programming-header p{

    max-width:600px;

    margin-top:35px;

    color:rgba(255,255,255,.58);

    font-size:1.05rem;

    line-height:1.7;

}


/* ==================================
   FLOW
================================== */

.hyrox-programming-flow{

    display:grid;

    grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;

    align-items:stretch;

    gap:20px;

}

.programming-step{

    min-height:280px;

    padding:30px;

    border:1px solid rgba(255,255,255,.12);

    background:#111;

    display:flex;

    flex-direction:column;

    transition:.3s ease;

}

.programming-step:hover{

    transform:translateY(-5px);

    border-color:rgba(255,255,255,.35);

}

.programming-step > span{

    color:var(--orange);

    font-size:.7rem;

    font-weight:700;

    letter-spacing:2px;

}

.programming-step h3{

    margin-top:auto;

    margin-bottom:15px;

    font-size:1.4rem;

    letter-spacing:1px;

}

.programming-step p{

    color:rgba(255,255,255,.5);

    font-size:.85rem;

    line-height:1.6;

}

.programming-arrow{

    display:flex;

    align-items:center;

    justify-content:center;

    color:var(--red);

    font-size:1.5rem;

    font-weight:700;

}


/* ==================================
   BOTTOM
================================== */

.hyrox-programming-bottom{

    margin-top:70px;

    padding-top:30px;

    border-top:1px solid rgba(255,255,255,.12);

}

.hyrox-programming-bottom p{

    color:rgba(255,255,255,.55);

    font-size:.95rem;

    line-height:1.6;

}

.hyrox-programming-bottom strong{

    color:#fff;

}


/* ==================================
   TABLET
================================== */

@media(max-width:1100px){

    .hyrox-programming{

        padding:120px 0;

    }

    .hyrox-programming-header{

        margin-bottom:65px;

    }

    .hyrox-programming-flow{

        grid-template-columns:repeat(2,1fr);

        gap:12px;

    }

    .programming-arrow{

        display:none;

    }

    .programming-step{

        min-height:250px;

    }

}


/* ==================================
   MÓVIL
================================== */

@media(max-width:600px){

    .hyrox-programming{

        padding:85px 0;

    }

    .hyrox-programming-header{

        margin-bottom:45px;

    }

    .hyrox-programming-header h2{

        font-size:3.15rem;

        line-height:.9;

        letter-spacing:-2px;

    }

    .hyrox-programming-header p{

        margin-top:25px;

        font-size:.93rem;

    }

    .hyrox-programming-flow{

        grid-template-columns:1fr;

        gap:10px;

    }

    .programming-step{

        min-height:220px;

        padding:25px;

    }

    .programming-step h3{

        margin-top:auto;

    }

    .hyrox-programming-bottom{

        margin-top:45px;

    }

}
/* ==================================
   PROGRAMA HYROX · 12 SEMANAS
================================== */

.hyrox-12weeks{

    padding:160px 0;

    background:#f3f3f3;

    color:#111;

}

.hyrox-12weeks-header{

    max-width:950px;

    margin-bottom:90px;

}

.hyrox-12weeks-header .hyrox-section-label{

    color:var(--blue);

}

.hyrox-12weeks-header h2{

    margin:0;

    font-size:clamp(3.5rem,7vw,7rem);

    line-height:.87;

    letter-spacing:-4px;

    font-weight:900;

}

.hyrox-12weeks-header h2 span{

    color:var(--blue);

}

.hyrox-12weeks-header p{

    max-width:620px;

    margin-top:35px;

    color:#555;

    font-size:1.05rem;

    line-height:1.7;

}


/* ==================================
   CONTENT
================================== */

.hyrox-12weeks-content{

    display:grid;

    grid-template-columns:1.2fr .8fr;

    gap:70px;

    align-items:stretch;

}


/* ==================================
   PHASES
================================== */

.hyrox-12weeks-phases{

    display:flex;

    flex-direction:column;

    border-top:1px solid #ccc;

}

.hyrox-phase{

    display:grid;

    grid-template-columns:70px 1fr;

    gap:30px;

    padding:32px 0;

    border-bottom:1px solid #ccc;

}

.hyrox-phase > span{

    color:var(--blue);

    font-size:.7rem;

    font-weight:700;

    letter-spacing:2px;

}

.hyrox-phase h3{

    margin:0 0 10px;

    font-size:1.25rem;

    letter-spacing:.5px;

}

.hyrox-phase p{

    max-width:580px;

    color:#666;

    font-size:.9rem;

    line-height:1.65;

}


/* ==================================
   SIDE CARD
================================== */

.hyrox-12weeks-side{

    padding:45px;

    background:#0b0b0b;

    color:#fff;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    min-height:430px;

}

.weeks-number{

    display:flex;

    align-items:flex-end;

    gap:12px;

}

.weeks-number strong{

    color:var(--red);

    font-size:7rem;

    line-height:.8;

    letter-spacing:-5px;

    font-weight:900;

}

.weeks-number span{

    margin-bottom:8px;

    color:rgba(255,255,255,.5);

    font-size:.7rem;

    font-weight:700;

    letter-spacing:2px;

}

.weeks-info{

    display:flex;

    flex-direction:column;

    gap:8px;

    padding-top:60px;

}

.weeks-info > span{

    color:rgba(255,255,255,.4);

    font-size:.65rem;

    font-weight:700;

    letter-spacing:2px;

}

.weeks-info strong{

    font-size:1.25rem;

    letter-spacing:1px;

}

.weeks-info small{

    color:var(--orange);

    font-size:.65rem;

    font-weight:700;

    letter-spacing:2px;

}

.hyrox-12weeks-btn{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    margin-top:50px;

    padding:16px 20px;

    background:#fff;

    color:#111;

    text-decoration:none;

    font-size:.7rem;

    font-weight:700;

    letter-spacing:1.2px;

    transition:.3s ease;

}

.hyrox-12weeks-btn:hover{

    background:var(--orange);

    transform:translateY(-3px);

}

.hyrox-12weeks-btn span{

    font-size:1.1rem;

}


/* ==================================
   TABLET
================================== */

@media(max-width:1000px){

    .hyrox-12weeks{

        padding:120px 0;

    }

    .hyrox-12weeks-content{

        grid-template-columns:1fr;

        gap:40px;

    }

    .hyrox-12weeks-side{

        min-height:350px;

    }

}


/* ==================================
   MÓVIL
================================== */

@media(max-width:600px){

    .hyrox-12weeks{

        padding:85px 0;

    }

    .hyrox-12weeks-header{

        margin-bottom:50px;

    }

    .hyrox-12weeks-header h2{

        font-size:3.15rem;

        line-height:.9;

        letter-spacing:-2px;

    }

    .hyrox-12weeks-header p{

        margin-top:25px;

        font-size:.93rem;

    }

    .hyrox-phase{

        grid-template-columns:45px 1fr;

        gap:18px;

        padding:25px 0;

    }

    .hyrox-phase h3{

        font-size:1.05rem;

    }

    .hyrox-phase p{

        font-size:.85rem;

    }

    .hyrox-12weeks-side{

        padding:30px;

        min-height:360px;

    }

    .weeks-number strong{

        font-size:5.5rem;

    }

    .weeks-info{

        padding-top:45px;

    }

    .hyrox-12weeks-btn{

        margin-top:40px;

    }

}
/* ==================================
   DOS FORMAS DE PREPARARTE
================================== */

.hyrox-options{

    padding:160px 0;

    background:#111;

    color:#fff;

}

.hyrox-options-header{

    max-width:900px;

    margin-bottom:80px;

}

.hyrox-options-header .hyrox-section-label{

    color:var(--orange);

}

.hyrox-options-header h2{

    margin:0;

    font-size:clamp(3.5rem,7vw,7rem);

    line-height:.87;

    letter-spacing:-4px;

    font-weight:900;

}

.hyrox-options-header h2 span{

    color:var(--red);

}

.hyrox-options-header p{

    max-width:620px;

    margin-top:35px;

    color:rgba(255,255,255,.58);

    font-size:1.05rem;

    line-height:1.7;

}


/* ==================================
   GRID
================================== */

.hyrox-options-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:14px;

}


/* ==================================
   CARDS
================================== */

.hyrox-option-card{

    min-height:620px;

    padding:35px;

    display:flex;

    flex-direction:column;

    background:#fff;

    color:#111;

    transition:.35s ease;

}

.hyrox-option-card:hover{

    transform:translateY(-7px);

}


/* CLUB */

.hyrox-option-card.club{

    background:var(--red);

    color:#fff;

}


/* PERSONAL */

.hyrox-option-card.personal{

    background:#fff;

    color:#111;

}


/* ==================================
   TOP
================================== */

.hyrox-option-top{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

}

.hyrox-option-number{

    font-size:.7rem;

    font-weight:700;

    letter-spacing:2px;

    opacity:.55;

}

.hyrox-option-label{

    font-size:.62rem;

    font-weight:700;

    letter-spacing:2px;

    opacity:.65;

}


/* ==================================
   CONTENT
================================== */

.hyrox-option-content{

    margin-top:auto;

    margin-bottom:50px;

}

.hyrox-option-brand{

    display:block;

    margin-bottom:18px;

    font-size:.72rem;

    font-weight:700;

    letter-spacing:3px;

    opacity:.65;

}

.hyrox-option-content h3{

    margin:0;

    font-size:clamp(3rem,5vw,5rem);

    line-height:.88;

    letter-spacing:-3px;

    font-weight:900;

}

.hyrox-option-card.club h3{

    color:#fff;

}

.hyrox-option-card.personal h3{

    color:#111;

}

.hyrox-option-content p{

    max-width:500px;

    margin-top:28px;

    font-size:.95rem;

    line-height:1.7;

    opacity:.65;

}


/* ==================================
   LOCATION
================================== */

.hyrox-option-location{

    display:flex;

    flex-direction:column;

    gap:8px;

    padding-top:25px;

    border-top:1px solid rgba(0,0,0,.15);

}

.hyrox-option-card.club .hyrox-option-location{

    border-color:rgba(255,255,255,.25);

}

.hyrox-option-location span{

    font-size:.6rem;

    font-weight:700;

    letter-spacing:2px;

    opacity:.55;

}

.hyrox-option-location strong{

    font-size:.85rem;

    line-height:1.5;

}


/* ==================================
   BUTTON
================================== */

.hyrox-option-button{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    margin-top:28px;

    padding:16px 20px;

    background:#111;

    color:#fff;

    text-decoration:none;

    font-size:.68rem;

    font-weight:700;

    letter-spacing:1.2px;

    transition:.3s ease;

}

.hyrox-option-card.club .hyrox-option-button{

    background:#fff;

    color:#111;

}

.hyrox-option-button:hover{

    transform:translateY(-3px);

}

.hyrox-option-card.club .hyrox-option-button:hover{

    background:#111;

    color:#fff;

}


/* ==================================
   FOOTER
================================== */

.hyrox-options-footer{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    margin-top:55px;

    padding-top:25px;

    border-top:1px solid rgba(255,255,255,.15);

    font-size:.68rem;

    letter-spacing:2px;

}

.hyrox-options-footer span{

    color:rgba(255,255,255,.35);

}

.hyrox-options-footer strong{

    color:#fff;

}


/* ==================================
   TABLET
================================== */

@media(max-width:900px){

    .hyrox-options{

        padding:120px 0;

    }

    .hyrox-options-grid{

        grid-template-columns:1fr;

    }

    .hyrox-option-card{

        min-height:520px;

    }

}


/* ==================================
   MÓVIL
================================== */

@media(max-width:600px){

    .hyrox-options{

        padding:85px 0;

    }

    .hyrox-options-header{

        margin-bottom:45px;

    }

    .hyrox-options-header h2{

        font-size:3.15rem;

        line-height:.9;

        letter-spacing:-2px;

    }

    .hyrox-options-header p{

        margin-top:25px;

        font-size:.93rem;

    }

    .hyrox-option-card{

        min-height:500px;

        padding:25px;

    }

    .hyrox-option-content{

        margin-bottom:40px;

    }

    .hyrox-option-content h3{

        font-size:2.8rem;

        letter-spacing:-2px;

    }

    .hyrox-option-content p{

        margin-top:22px;

        font-size:.88rem;

    }

    .hyrox-options-footer{

        flex-direction:column;

        align-items:flex-start;

        gap:8px;

        line-height:1.5;

    }

}
/* ==================================
   FAQ
================================== */

.hyrox-faq{

    padding:150px 0;

    background:#fff;

    color:#111;

}

.hyrox-faq-header{

    margin-bottom:70px;

}

.hyrox-faq-header .hyrox-section-label{

    color:var(--blue);

}

.hyrox-faq-header h2{

    margin:0;

    font-size:clamp(3.5rem,7vw,7rem);

    line-height:.87;

    letter-spacing:-4px;

    font-weight:900;

}

.hyrox-faq-header h2 span{

    color:var(--blue);

}


/* LISTA */

.hyrox-faq-list{

    max-width:900px;

    margin-left:auto;

}

.hyrox-faq details{

    border-top:1px solid #ddd;

}

.hyrox-faq details:last-child{

    border-bottom:1px solid #ddd;

}

.hyrox-faq summary{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:30px;

    padding:28px 0;

    cursor:pointer;

    list-style:none;

    font-size:1.05rem;

    font-weight:700;

}

.hyrox-faq summary::-webkit-details-marker{

    display:none;

}

.hyrox-faq summary span{

    flex-shrink:0;

    font-size:1.5rem;

    font-weight:400;

    transition:.3s ease;

}

.hyrox-faq details[open] summary span{

    transform:rotate(45deg);

}

.hyrox-faq details p{

    max-width:750px;

    padding:0 60px 30px 0;

    color:#666;

    font-size:.95rem;

    line-height:1.7;

}


/* ==================================
   MÓVIL
================================== */

@media(max-width:600px){

    .hyrox-faq{

        padding:85px 0;

    }

    .hyrox-faq-header{

        margin-bottom:45px;

    }

    .hyrox-faq-header h2{

        font-size:3.15rem;

        line-height:.9;

        letter-spacing:-2px;

    }

    .hyrox-faq summary{

        padding:22px 0;

        font-size:.9rem;

        line-height:1.4;

    }

    .hyrox-faq details p{

        padding:0 20px 25px 0;

        font-size:.85rem;

    }

}
/* ==================================
   CTA FINAL
================================== */

.hyrox-final{

    position:relative;

    min-height:700px;

    padding:150px 24px 35px;

    background:

        radial-gradient(
            circle at 80% 20%,
            rgba(248,57,31,.2),
            transparent 30%
        ),

        radial-gradient(
            circle at 20% 80%,
            rgba(37,60,179,.15),
            transparent 35%
        ),

        #0b0b0b;

    color:#fff;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    overflow:hidden;

}

.hyrox-final-inner{

    width:min(1100px,100%);

    margin:0 auto;

}

.hyrox-final .hyrox-section-label{

    color:var(--orange);

}

.hyrox-final h2{

    margin:0;

    font-size:clamp(4rem,9vw,9rem);

    line-height:.82;

    letter-spacing:-5px;

    font-weight:900;

}

.hyrox-final h2 span{

    color:var(--red);

}

.hyrox-final p{

    max-width:500px;

    margin-top:35px;

    color:rgba(255,255,255,.6);

    font-size:1.05rem;

    line-height:1.7;

}

.hyrox-final-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-top:40px;

}

.hyrox-final-btn{

    display:inline-flex;

    align-items:center;

    justify-content:space-between;

    gap:25px;

    min-width:230px;

    padding:16px 20px;

    text-decoration:none;

    font-size:.66rem;

    font-weight:700;

    letter-spacing:1.1px;

    transition:.3s ease;

}

.hyrox-final-btn.primary{

    background:#fff;

    color:#111;

}

.hyrox-final-btn.secondary{

    border:1px solid rgba(255,255,255,.3);

    color:#fff;

}

.hyrox-final-btn:hover{

    transform:translateY(-4px);

}

.hyrox-final-btn.secondary:hover{

    background:#fff;

    color:#111;

}

.hyrox-final-signature{

    width:min(1100px,100%);

    margin:100px auto 0;

    padding-top:20px;

    border-top:1px solid rgba(255,255,255,.15);

    color:rgba(255,255,255,.35);

    font-size:.62rem;

    font-weight:700;

    letter-spacing:3px;

}


/* ==================================
   MÓVIL
================================== */

@media(max-width:600px){

    .hyrox-final{

        min-height:650px;

        padding:90px 18px 25px;

    }

    .hyrox-final h2{

        font-size:3.8rem;

        line-height:.87;

        letter-spacing:-2px;

    }

    .hyrox-final p{

        margin-top:28px;

        font-size:.93rem;

    }

    .hyrox-final-buttons{

        flex-direction:column;

        gap:9px;

        margin-top:30px;

    }

    .hyrox-final-btn{

        width:100%;

        min-width:0;

        box-sizing:border-box;

    }

    .hyrox-final-signature{

        margin-top:70px;

        font-size:.55rem;

        letter-spacing:2px;

    }

}
body.menu-open{

    overflow:hidden;

}
#entrena-como-compites,
#12-semanas{

    scroll-margin-top:100px;

}