@import url(tokens/design-tokens.css);
/* @import url(sections/contact.css); */
@import url(sections/footer.css);
@import url(sections/about.css);
@import url(sections/book.css);
@import url(sections/chapters.css);
@import url(sections/releases.css);
@import url(sections/temp-house.css);
@import url(sections/amenities.css);
@import url(sections/academy.css);
@import url(sections/events.css);
body{
    margin:0;background:var(--c-primary);
    color:#fff;
    font-family:Inter,sans-serif;
}
p,
h1,
h2,
h3,
h4,
h5,
h6{
    margin:0;
}
.container{
    width:min(var(--container),calc(100% - 80px));
    margin:auto;
}
.header{
    position:fixed;
    width:100%;
    z-index:1000;
}.header__inner{
    height:70px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.nav{
    display:flex;
    gap:40px;
}
.hero{
    height:100vh;
    display:flex;
    align-items:center;
}
.hero h1{
    font-size:var(--title-level-1);
}
.section{
    padding:60px 0;
}
#gridCanvas{
    position:fixed;
    inset:0;
    width:100%;
    height:100%;
    pointer-events:none;
    z-index:2;
}
.container,.header{
    position:relative;
    z-index:2;
}
/* ===========================BUTTONS=========================== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;height:40px;padding:0 26px;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;transition:.35s ease;border:1px solid transparent;white-space:nowrap}
.btn-primary{background:var(--c-tertiary);color:#000;border-color:var(--c-tertiary);letter-spacing: .3em;}
.btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.18);letter-spacing: .3em;opacity: .7;transition:.35s ease;}
.btn-icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0}
.btn-arrow{width:14px;height:14px;transition:.35s ease}
.btn-secondary:hover{
   opacity: 1;
}
.btn-primary:hover{
   background: white;  
}
.btn-primary:hover .btn-arrow{transform:translate(3px,-3px)}
@media(max-width:768px){.btn{width:100%}}
/* ===========================END BUTTONS=========================== */

/* ===========================TITLE=========================== */
.title-subtitle,
.title-green,
.title-card{
    font-weight: 400;
    margin-bottom: 1.5ch;
    text-transform: uppercase;
    display: inline-block;
}
.title-sub, 
.title-subtitle{
    font-size: var(--title-subtitle);
    color: var(--c-secondary);
    letter-spacing: .3em;
}
.title-subtitle{
    transform:scaleX(1.2);
}
.title-green{
    font-size: var(--title-subtitle);
    color: var(--c-tertiary);
    letter-spacing: .3em;
    transform:scaleX(1.1);
}
.title-card{
    font-size: var(--title-card);
    color: vwhite;
    font-weight: 600;
    letter-spacing: 0.1em;
}
/* ===========================END TITLE=========================== */

/* ===========================LOADER=========================== */
.page-loader{position:fixed;inset:0;background:#000000;display:flex;align-items:center;justify-content:center;z-index:99999}.loader-logo{width:130px}.loader-piece{fill:#fff}.loader-glow{position:absolute;width:300px;height:300px;border-radius:50%;background:#979797;opacity:0;filter:blur(80px)}
/* ===========================END LOADER=========================== */
/* ZEUSPAY ACCOUNT HEADER */
.header-account{position:relative;margin-left:24px}
.header-account__trigger{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:999px;color:#fff;cursor:pointer;transition:.3s}
.header-account__trigger:hover{border-color:var(--c-secondary);box-shadow:0 0 20px rgba(198,160,106,.2)}
.header-account__avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--c-secondary);color:var(--c-primary);font-weight:700;font-size:.85rem}
.header-account__content{display:flex;flex-direction:column;text-align:left}
.header-account__label{font-size:.65rem;opacity:.6;text-transform:uppercase;letter-spacing:.15em}
.header-account__name{font-size:.9rem;font-weight:600}
.header-account__chevron{transition:.35s}
.header-account.is-open .header-account__chevron{transform:rotate(180deg)}
.header-account__menu{position:absolute;top:calc(100% + 10px);right:0;min-width:220px;background:#011235;border:0px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;display:none}
.header-account.is-open .header-account__menu{display:block}
.header-account__menu a{display:block;padding:10px;color:#fff;text-decoration:none}
.header-account__menu a:hover{color:var(--c-secondary)}
@media(max-width:991px){.header-account{margin-left:0;width:100%}
.header-account__trigger{
    width:70%;justify-content:flex-start;
    margin: 0 auto;
}
    .header-account__menu{
        position:relative;
        top:8px;
        width:100%
    }
}
/* Chevron premium */

.header-account__chevron{

    width:28px;
    height:28px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-left:auto;

    flex-shrink:0;
}

.header-account__chevron::before{

    content:"";

    width:7px;
    height:7px;

    border-right:2px solid var(--c-secondary);
    border-bottom:2px solid var(--c-secondary);

    transform:rotate(45deg);

    transition:.35s ease;
}

.header-account.is-open
.header-account__chevron::before{

    transform:rotate(-135deg);
}
/* LAPTOP */
@media (max-width:1200px){
    .brand svg{width:30px;}
    .nav-menu{gap:32px;}
    .nav-links{font-size:.80rem;letter-spacing:.10em;}
    .header-account{margin-left:12px;}
    .header-account__name{display:none;}
    .header-account__trigger{padding:8px;}
}

.header-account__mobile-label{
    display:none;
}

@media(max-width:1024px){

    .header-account__name{
        display:none !important;
    }

    .header-account__mobile-label{
        display:block;
        font-size:.95rem;
        font-weight:600;
        color:#fff;
        white-space:nowrap;
    }

    .header-account__trigger{
        justify-content:flex-start;
        gap:12px;
    }
}
/* TABLET - activar hamburguesa antes */
@media (max-width:1024px){

    .nav-toggle{display:block;}

    .nav-menu{
        position:fixed;
        top:0;
        right:-100%;
        width:min(420px,100%);
        height:100vh;
        background:#050505;
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        gap:40px;
        transition:right .45s ease;
        border-left:1px solid rgba(255,255,255,.08);
    }

    .nav-menu.active{right:0;}

    .brand svg{width:30px;}

    .header-account{
        margin-left:0;
        width:80%;
    }

    .header-account__trigger{
        width:80%;
        margin: 0 auto;
        justify-content:flex-start;
    }

    .header-account__menu{
        position:relative;
        top:8px;
        width:80%;
    }
}

/* MOBILE */
@media (max-width:768px){
    .brand svg{width:30px;}
}

@media (max-width:480px){
    .header__inner{height:70px;padding:0 20px;}
    .brand svg{width:45px;}
}
    /* ===========================HEADER=========================== */
    .header{
        position:fixed;
        top:0;
        left:0;
        width:100%;
        z-index:1000;
        transition:all .4s ease;
    }
    .header.scrolled{
        background:var(--c-primary),0.7;
        backdrop-filter:blur(20px);
        border-bottom:1px solid rgba(255,255,255,.08);
    }
    .header__inner{
        /* width: 100%; */
        max-width:1920px;
        margin:0 auto;
        display:flex;
        justify-content:space-between;
        align-items:center;
        padding:0 clamp(20px,4vw,60px);
    }
    .brand{
        display:flex;
        align-items:center;
        flex-shrink:0;
        z-index:1002;
    }
    .brand svg{
        width:30px;
        height:auto;
        display:block;
    }
    /* ===========================MENU DESKTOP=========================== */
    .nav-menu{
        display:flex;
        align-items:center;
        gap:60px;
    }
    .nav-links{
        color:var(--c-secondary);
        text-decoration:none;
        text-transform:uppercase;
        letter-spacing:.20em;
        font-size:.75rem;
        transition:.3s ease;
        font-weight: 600;

    }
    .nav-links:hover{
        color:white;
        transform:translateY(-2px);
    }
    .nav-item--has-dropdown{position:relative}
.nav-dropdown-trigger{display:flex;align-items:center;gap:10px}
.nav-dropdown-arrow{font-size:.7rem;opacity:.55;transition:.35s ease}
.nav-item--has-dropdown:hover .nav-dropdown-arrow{transform:rotate(45deg);opacity:1;color:var(--c-tertiary)}
.nav-dropdown{position:absolute;top:calc(100% + 24px);left:-24px;width:420px;background:#000;border:1px solid rgba(255,255,255,.08);opacity:0;visibility:hidden;transform:translateY(20px);transition:.35s ease;backdrop-filter:blur(24px);z-index:2000}
.nav-item--has-dropdown:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown__inner{padding:28px}
.nav-dropdown__link{display:block;text-decoration:none;padding:18px 0;border-top:1px solid rgba(255,255,255,.08)}
.nav-dropdown__title{display:block;color:#fff;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;padding-bottom:10px}
.nav-dropdown__desc{display:block;color:rgba(255,255,255,.55);font-size:.78rem;line-height:1.8;transition:.35s ease}
.nav-dropdown__link:hover .nav-dropdown__title{color:var(--c-tertiary)}
.nav-dropdown__link:hover .nav-dropdown__desc{color:#fff}
@media (max-width:1024px){

    .nav-item--has-dropdown{
        width:100%;
        text-align:center;
    }

    .nav-dropdown-trigger{
        justify-content:center;
        width:100%;
    }

    .nav-dropdown{

        position:relative;

        top:auto;
        left:auto;

        width:100%;

        opacity:1;
        visibility:visible;

        transform:none;

        background:transparent;

        border:none;

        backdrop-filter:none;

        display:none;

        margin-top:12px;
    }

    .nav-item--has-dropdown.is-open
    .nav-dropdown{
        display:block;
    }

    .nav-dropdown__inner{
        padding:0;
    }

    .nav-dropdown__link{

        padding:16px 0;

        border-top:
        1px solid rgba(255,255,255,.06);
    }

    .nav-dropdown__title{
        font-size:.9rem;
    }

    .nav-dropdown__desc{

        font-size:.7rem;

        max-width:280px;

        margin:auto;
    }
}
/* ===========================HAMBURGUESA=========================== */
.nav-toggle{
    display:none;
    width:50px;
    height:50px;
    cursor:pointer;
    background:none;
    border:none;
    position:relative;
    z-index:1002;
}
.nav-toggle span, .nav-toggle::before, .nav-toggle::after{
    content:"";
    position:absolute;
    left:50%;
    width:30px;
    height:2px;
    background:white;
    transition:.35s;
}
.nav-toggle span{
    transform:translateX(-50%);
}
.nav-toggle::before{
    transform:translate(-50%,-10px);
}
.nav-toggle::after{
    transform:translate(-50%,10px);
}
/* estado abierto */
.nav-toggle.active span{
    opacity:0;
}
.nav-toggle.active::before{
    transform:translate(-50%,0) rotate(45deg);
}
.nav-toggle.active::after{
    transform:translate(-50%,0) rotate(-45deg);
}
/* ===========================MOBILE=========================== */
@media (max-width:1024px){
    .nav-toggle{
        display:block;
    }
    .nav-menu{
        position:fixed;
        top:0;
        right:-100%;
        width:min(420px,100%);
        height:100vh;
        background:#050505;
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        gap:40px;
        transition:right .45s ease;
        border-left:1px solid rgba(255,255,255,.08);
    }
    .nav-menu.active{
        right:0;
    }
    .nav-links{
        font-size:1rem;
    }
    .brand svg{
        width:30px;
    }
}
/* extra pequeño */
@media (max-width:480px){
    .header__inner{
        height:70px;
        padding:0 20px;
    }
    .brand svg{
        width:35px;
    }
}

.page-loader{
    position:fixed;
    inset:0;
    background: var(--c-bg);
    z-index:99999;
    display:flex;
    justify-content:center;
    align-items:center;
}
.loader-logo{
    width:80px;
    height:auto;
}
.loader-logo path{
    transform-origin:bottom center;
}

/* BUTTON COMPONENT */
.button{
  --button-height:var(--button-height-default);
  --button-padding:var(--button-padding-default);

  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-transform: uppercase;
  font-weight: 100;

  height:var(--button-height);
  padding:var(--button-padding);

  border:var(--button-border);
  border-radius:var(--button-radius);

  background:var(--button-background);
  color:var(--button-color);

  text-decoration:none;
  transition:var(--button-transition);
}

/* SIZES */
.button[data-size="small"]{
  --button-height:var(--button-height-small);
  --button-padding:var(--button-padding-small);
}

.button[data-size="large"]{
  --button-height:var(--button-height-large);
  --button-padding:var(--button-padding-large);
}

/* VARIANTS */
.button[data-variant="primary"]{
  background:var(--button-primary-background);
  color:var(--button-primary-color);
  border-color:var(--button-primary-background);
}

.button[data-variant="ghost"]{
  background:var(--button-ghost-background);
  color:var(--button-ghost-color);
}

.button:hover{
  transform:translateY(-2px);
  color: var(--c-secondary);
  border: .5px solid var(--c-secondary);
}


/* HERO */
/* HERO SYSTEM - */
.hero{
    position:relative;
    height:100svh;
    overflow:hidden;
}
.hero__media,.hero__media img,.hero__media video,.hero-swiper,.swiper-wrapper,.swiper-slide{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    overflow:hidden;
}
.swiper-wrapper{
    box-sizing:border-box;
}
.swiper-slide img,.hero__media img,.hero__media video{
    object-fit:cover;
}
.hero__overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,0,0,.7),rgba(0,0,0,.35));
    z-index:1;
}
.hero__layout{
    position:relative;
    z-index:5;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:flex-end;
}
.hero__content{
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    max-width:800px;
    text-align:center;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 70px;
    z-index: 10;
}
.hero__dj{
    border: 1px solid rgba(255, 255, 255, 0.5) ;
    position: absolute;
    left: 50px;
    bottom: 100px;
}
.hero__dj--wrapper{
    position: relative;
    padding: 16px;
    opacity: 0.5;
}
.hero__dj--legend{
    font-size: clamp(1rem,1.3vw,1.3rem);
    font-weight: 200;
    margin: 0;
    color: white;
}
.hero__dj--tutor{
    font-size: clamp(1rem,1.8vw,1.8rem);
    font-weight: 200;
    margin-top: 6px;
    margin-bottom: 0;
    color: white;
}
.hero h1{
    font-size: var(--title-level-1);
    font-weight:bold;
    margin: 0;
}
.hero-subtitle{
    margin-bottom: 6.5ch;
    
}
.hero__content .title-subtitle{
    color: white;
    
}
.hero-description{
    margin-top: 6.5ch;
    margin-bottom: 1.5ch;
}
.hero__cta{
    display:inline-flex;
    height:52px;
    align-items:center;
    font-weight: 100;
    text-transform: uppercase;
    padding:0 32px;
    border:1px solid rgba(255,255,255,.2);
    color:#fff;
    text-decoration:none;
}
.hero__cta:hover{
   
    border:1px solid rgba(9, 255, 111, 0.9);
    color:#08ff46;
    transition: all 0.3s ease-in-out;
}
.hero__progress{
    position:absolute;
    left:40px;
    bottom:40px;
    width:200px;
    height:2px;
    background:rgba(255,255,255,.15);
    z-index:4;
}
.hero__progress span{
    display:block;
    height:100%;
    width:0;
    background:#fff;
}
.hero__counter{
    position:absolute;
    right:40px;
    bottom:40px;
    z-index:4;
}

.hero-zeus{
 padding-block:0;
}
.hero-zeus__grid{
 display:grid;
 /* grid-template-columns:58% 42%; */
 gap:var(--hero-gap);
 align-items:center;
}
.hero-zeus__visual{
 display:flex;
 justify-content:center;
 align-items:center;
}
.lottie-block{
 width:100%;
 max-width: 100%;
 display:flex;
 justify-content:center;
 align-items:center;
 min-height:40vw;
}
.lottie-block svg{
 width:100%!important;
 max-width:900px;
 height:auto!important;
 display:block;
}
.hero-zeus__content{
 max-width:500px;
}
.hero-zeus__title{
 font-size:var(--title-level-2);
 line-height:.95;
 font-weight:700;
 color:var(--c-text);
 max-width:15ch;
}
.hero-zeus__divider{
 height:1px;
 background:var(--c-secondary);
 margin:2rem 0;
}
.hero-zeus__description{
 color:var(--c-text-muted);
 line-height:1.8;
 max-width:70ch;
}
@media(max-width:1200px){
 .hero-zeus__grid{grid-template-columns:55% 45%;}
}
@media(max-width:768px){
 .hero-zeus__grid{grid-template-columns:1fr;gap:2rem;}
 .hero-zeus__visual{order:1;}
 .hero-zeus__content{order:2;text-align:center;max-width:none;}
 .hero-zeus__title{max-width:none;font-size:var(--title-level-2)}
 .hero-zeus__divider{width:120px;margin:2rem auto;}
 .lottie-block{min-height:auto;}
 .lottie-block svg{max-width:500px;}
}

.layout-split{

    display:grid;

    grid-template-columns:
        minmax(0,1.4fr)
        minmax(0,1fr);

    gap:var(--hero-gap);

    align-items:center;

}
.layout-split--reverse{

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1.4fr);

}
.layout-split__content,
.layout-split__visual{
    min-width:0;
}

html,body{overflow-x:hidden;}

.layout-split__content{max-width:var(--content-width);}
.layout-split__visual{display:flex;justify-content:center;align-items:center;overflow: hidden;}
.section-title{font-size:var(--title-level-2);line-height:.95;font-weight:700;color:var(--c-text);max-width:var(--title-max);}
.hero-title{font-size:var(--title-level-1);line-height:.95;font-weight:700;color:var(--c-text);max-width:var(--title-max);position: relative;z-index: 20;}
.hero-title_small{font-size:var(--title-description);line-height:1.15;font-weight:700;color:var(--c-text);}
.section-divider{height:1px;background:var(--c-secondary);margin:2rem 0;}
.section-text{max-width:var(--text-max);font-size:var(--body-size);line-height:1.8;color:var(--c-text-muted);}
.section-text_title{max-width:var(--text-max);font-size:var(--title-small);line-height:1.8;color:var(--c-text-muted);font-weight: bold;}
.lottie-block{width:100%;display:flex;justify-content:center;align-items:center;min-height:40vw;}
.lottie-block svg{width:100%!important;max-width:var(--lottie-max);height:auto!important;display:block;}
@media(max-width:1200px){.layout-split{grid-template-columns:55% 45%;}}
@media(max-width:768px){.layout-split,.layout-split--reverse{grid-template-columns:1fr;gap:2rem}.layout-split__visual{order:1}.layout-split__content{order:2;max-width:none;text-align:center}.section-title,.hero-title{max-width:none}.section-divider{width:120px;margin:2rem auto}.lottie-block{min-height:auto}.lottie-block svg{max-width:500px;}}

/* TRUST BLOCK V2 */
.trust{position:relative;min-height:90vh;display:flex;justify-content:center;align-items:center;overflow:hidden;}
.trust__visual{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:1;}
.trust__lottie{width:min(1600px,90vw);aspect-ratio:1/1;opacity:.99;}
.trust__lottie svg,.trust__lottie canvas{width:100%!important;height:100%!important;display:block;}
.trust__content{position:relative;z-index:2;text-align:center;width:min(1000px,90vw);}
.trust__title{max-width:34ch;margin-inline:auto;font-size:var(--title-level-2);line-height:1.05;}
.trust__divider{width:min(420px,80vw);height:1px;margin:40px auto;background:var(--c-secondary);}
.trust__text{max-width:60ch;margin-inline:auto;font-size:var(--body-size);line-height:1.8;}
@media(max-width:991px){.trust{min-height:90vh}.trust__lottie{width:130vw;}}
@media(max-width:768px){.trust{min-height:80vh}.trust__lottie{width:180vw}.trust__title{max-width:none}.trust__divider{width:120px}}


/* lottie-manager.css */
.zp-lottie{
 position:relative;
 overflow:hidden;
}

.zp-lottie svg,
.zp-lottie canvas{
 width:100%;
 height:100%;
 display:block;
}

.trust-example{
 height:100vh;
 position:relative;
}

.banner-internal{
    padding: var(--hero-section-spacing);
}

/* =======================================================
   HERO FIGMA ENHANCEMENTS
======================================================= */

.hero__content{

    padding-bottom:140px;
}

/* SCROLL INDICATOR */

.hero-scroll{
    position:absolute;
    left:50%;
    bottom:-100px;
    transform:translateX(-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
    z-index:25;
}

.hero-scroll__label{
    font-size:.65rem;
    letter-spacing:.45em;
    text-transform:uppercase;
    color:rgba(255,255,255,.55);
}

.hero-scroll__line{

    width:1px;

    height:80px;

    background:
        rgba(255,255,255,.08);

    position:relative;

    overflow:hidden;

}

.hero-scroll__indicator{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    background:
        linear-gradient(
            to bottom,
            transparent,
            #ffffff,
            transparent
        );

    opacity:.2;

}

/* MARQUEE */

.hero-marquee{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:42px;
    overflow:hidden;
    border-top:
    1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(20px);
    z-index:15;
}

.hero-marquee__track{
    display:flex;
    width:max-content;
    height:100%;
    align-items:center;
    will-change:transform;
}

.hero-marquee__track span{
    display:flex;
    align-items:center;
    white-space:nowrap;
    padding-right:140px;
    font-size:.65rem;
    text-transform:uppercase;
    letter-spacing:.45em;
    color:rgba(255,255,255,.5);
}

/* MOBILE */

@media(max-width:768px){
    .hero-scroll{
        bottom:-100px;
    }
    .hero-marquee{
        height:36px;
    }
    .hero-marquee__track span{
        font-size:.55rem;
        letter-spacing:.25em;
    }
}

