@import url(tokens/design-tokens.css);
@import url(sections/studio.css);
@import url(sections/services.css);
@import url(sections/projects.css);
@import url(sections/daniel.css);
@import url(sections/contact.css);
@import url(sections/footer.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:90px;
    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;
}
/* ===========================LOADER=========================== */
.page-loader{
 position:fixed;
 inset:0;
 display:flex;
 justify-content:center;
 flex-direction: column;
 align-items:center;
 background:#050505;
 z-index:99999;
 overflow:hidden;
}
.page-loader .loader-legend{
    font-size: var(--title-small);
    font-style: normal;
    font-weight: 200;
    letter-spacing: .5ch;
}
/* .loader-glow{
 position:absolute;
 width:240px;
 height:240px;
 border-radius:50%;
 background:#C6A06A;
 opacity:.10;
 filter:blur(60px);
 pointer-events:none;
} */
.loader-glow{
    display:none;
}

/* Loader principal */
.page-loader{
    position:fixed;
    inset:0;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction:column;
    background:#011235;
    overflow:hidden;
}

/* Halo premium usando radial-gradient */
.page-loader::before{
    content:"";
    position:absolute;
    width:700px;
    height:700px;
    pointer-events:none;

    background:radial-gradient(
        ellipse at center,
        rgba(198,160,106,.12) 0%,
        rgba(198,160,106,.06) 25%,
        rgba(198,160,106,.03) 45%,
        rgba(198,160,106,0) 72%
    );

    opacity:.9;
    transform:translateZ(0);
}

/* Ajustes SVG para Safari */
.loader-logo,
.loader-logo svg{
    position:relative;
    z-index:2;
    display:block;
    overflow:visible;

    transform:translateZ(0);
    -webkit-transform:translateZ(0);

    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;

    will-change:transform,opacity;
}

.loader-logo{
 width:180px;
 height:auto;
 overflow:visible;
 color:#C6A06A;
 z-index:2;
 transform-origin:center center;
}

.loader-logo .st0,
.loader-logo polygon{
 fill:currentColor;
}
/* 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%
    }
}
/* zeuspay-smooth-scroll.css */

html{
  scroll-behavior:auto;
}

#Beneficios,
#Servicios,
#Nosotros,
#Contacto{
  scroll-margin-top:120px;
}

.section-anchor{
  transition:opacity .8s ease, transform .8s ease;
}
/* 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:1280px){
    .nav-menu{gap:32px;}
}
@media (max-width:1200px){
    .brand svg{width:190px;}
    .brand img{width:190px;}
    .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:180px;}
    .brand img{width:180px;}

    .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:140px;}
    .brand img{width:140px;}
}

@media (max-width:480px){
    .header__inner{height:80px;padding:0 20px;}
    .brand svg{width:85px;}
    .brand img{width:85px;}
}
    /* ===========================28   HEADER29=========================== */
    .header{
        position:fixed;
        top:0;
        left:0;
        width:100%;
        z-index:1000;
        transition:all .4s ease;
    }
    .header.scrolled{
        background:var(--c-primary);
        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:230px;
        height:auto;
        display:block;
    }
    .brand img{
        width:230px;
        height:auto;
        display:block;
    }
    /* ===========================88   MENU DESKTOP89=========================== */
    .nav-menu{
        display:flex;
        align-items:center;
        gap:30px;
    }
    .nav-links{
        color:#fff;
        text-decoration:none;
        text-transform:uppercase;
        letter-spacing:.16em;
        font-size:.95rem;
        transition:.3s ease;
        font-weight: bold;
    }
    .nav-links:hover{
        color:var(--c-secondary);
        transform:translateY(-2px);
    }
/* ===========================123   HAMBURGUESA124=========================== */
.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);
}
/* ===========================197   MOBILE198=========================== */
@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:100px;
    }
    .brand img{
        width:230px;
    }
}
/* extra pequeño */
@media (max-width:480px){
    .header__inner{
        height:80px;
        padding:0 20px;
    }
    .brand svg{
        width:85px;
    }
    .brand img{
        width:200px;
    }
}

/* HERO SYSTEM - I LOVE STUDIO */
.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:3;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:flex-end;
}
.hero__content{
    max-width:800px;
    text-align:right;
    display: flex;
    flex-direction: column;
    align-items: end;
    padding-bottom: 70px;
}
.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-2);
    font-weight:bold;
    margin: 0;
}
.hero-subtitle{
    font-size: var(--title-subtitle);
    font-weight: 200;
    margin-bottom: 16px;
    
}
.hero-description{
    font-size: var(--title-description);
    text-transform: uppercase;
    font-weight: 200;
    margin-bottom: 24px;
}
.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;
}

.page-loader{
    position:fixed;
    inset:0;
    background: var(--c-primary);
    z-index:99999;
    display:flex;
    justify-content:center;
    align-items:center;
}
.loader-logo{
    width:120px;
    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);
}


/* ZEUS */

.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;}
}

/* .section{padding-block:var(--section-padding);} */
.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-2);line-height:.95;font-weight:700;color:var(--c-text);max-width:var(--title-max);}
.hero-title_small{font-size:var(--title-description);line-height:1.15;font-weight:700;color:var(--c-text);}
.hero-legend{
    display: block;
    color: var(--c-secondary);
    padding-top: 2ch;
    font-style: italic;

}
.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:60vh;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-subtitle);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: 150px 50px 50px 50px;
    font-size: 24px;
}


.txt-subtitle-int{
    line-height: 1.7;
    font-size: 18px;
}

.svg-login{
    position:absolute;
    max-width: 265px;
    margin: 0 auto;
    left: -10px;
    right: 0;
    top: -20px;
    opacity: .6;
}


.btn-plataforma{
    color: #8c8d8f;
}