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

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

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:var(--negro);
    color:var(--blanco);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}

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

:root{
    --negro:#050506;
    --negro-2:#0a0a0c;
    --negro-card:#111114;
    --negro-card-2:#16161a;

    --borde:rgba(255,255,255,.08);
    --borde-hover:rgba(247,199,79,.4);

    --gris:#a6a6ae;
    --gris-oscuro:#6f6f76;
    --blanco:#f6f6f7;

    --dorado:#f7c74f;
    --dorado-2:#ffb23d;
    --dorado-suave:rgba(247,199,79,.12);

    --grad-oro:linear-gradient(135deg,#ffe08a 0%,#f7c74f 45%,#e8991f 100%);

    --rosa:#ff5fa2;

    --radio-lg:24px;
    --radio-md:16px;
    --radio-sm:12px;

    --sombra-hover:0 24px 48px -16px rgba(0,0,0,.6), 0 0 0 1px var(--borde-hover);
    --transicion:.35s cubic-bezier(.4,0,.2,1);

    --fuente-titulo:'Sora',sans-serif;
}

/* =====================================
   TIPOGRAFÍA GENERAL
===================================== */

h1,h2,h3{
    font-family:var(--fuente-titulo);
}

.text-gradient{
    background:var(--grad-oro);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

/* =====================================
   REVEAL ON SCROLL
===================================== */

.reveal{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .7s cubic-bezier(.4,0,.2,1), transform .7s cubic-bezier(.4,0,.2,1);
}

.reveal.show{
    opacity:1;
    transform:translateY(0);
}

/* =====================================
   UTILIDADES DE SECCIÓN
===================================== */

.eyebrow{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    font-size:12.5px;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;

    background:var(--grad-oro);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;

    margin-bottom:12px;
    text-align:center;
}

section h2{
    text-align:center;

    font-family:var(--fuente-titulo);
    font-size:38px;
    font-weight:700;
    letter-spacing:-.02em;
    line-height:1.2;

    color:var(--blanco);

    margin-bottom:60px;
}

.beneficios h2,
.plataformas h2,
.funciona h2{
    margin-bottom:52px;
}

/* =====================================
   LUCES DE FONDO
===================================== */

.luces-fondo{
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    overflow:hidden;
}

.luz{
    position:absolute;
    border-radius:50%;
    filter:blur(160px);
    opacity:.35;
}

.luz1{
    width:560px;
    height:560px;
    top:-160px;
    left:50%;
    transform:translateX(-50%);
    background:var(--dorado);
    opacity:.08;
}

.luz2{
    width:460px;
    height:460px;
    bottom:10%;
    right:-140px;
    background:var(--dorado);
    opacity:.06;
}

.luz3{
    width:380px;
    height:380px;
    top:45%;
    left:-120px;
    background:var(--rosa);
    opacity:.04;
}

/* =====================================
   HEADER FLOTANTE
===================================== */

.header{
    position:fixed;
    top:0;
    left:0;
    width:100%;

    padding:18px 5%;

    z-index:1000;
}

.header-inner{
    max-width:1180px;
    margin:0 auto;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;

    padding:12px 16px 12px 26px;

    background:rgba(10,10,12,.72);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border:1px solid var(--borde);
    border-radius:60px;

    box-shadow:0 16px 40px -20px rgba(0,0,0,.7);
}

/* Logo */

.logo{
    display:flex;
    align-items:center;
    flex-shrink:0;
}

.logo img{
    height:30px;
    width:auto;
    display:block;
}

/* Menu */

.menu ul{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:36px;
    list-style:none;
}

.menu a{
    position:relative;
    text-decoration:none;
    color:var(--gris);
    font-size:14.5px;
    font-weight:500;
    transition:color var(--transicion);
}

.menu a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:2px;
    background:var(--grad-oro);
    transition:width var(--transicion);
}

.menu a:hover{
    color:var(--blanco);
}

.menu a:hover::after{
    width:100%;
}

/* Acciones del header */

.header-actions{
    display:flex;
    align-items:center;
    gap:16px;
    flex-shrink:0;
}

.phone-header{
    display:flex;
    align-items:center;
    gap:8px;

    text-decoration:none;

    color:#141200;

    font-size:14px;
    font-weight:700;

    padding:11px 20px;

    background:var(--grad-oro);
    border-radius:50px;

    box-shadow:0 8px 20px -8px rgba(247,199,79,.5);

    transition:transform var(--transicion), box-shadow var(--transicion);
}

.phone-header:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 24px -8px rgba(247,199,79,.6);
}

.phone-header i{
    font-size:15px;
}

/* Menu mobile */

.menu-toggle{
    display:none;
    font-size:19px;
    cursor:pointer;
    color:var(--blanco);

    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;

    border:1px solid var(--borde);
    border-radius:50%;
}

/* =====================================
   RESPONSIVE HEADER
===================================== */

@media(max-width:900px){

    .header{
        padding:14px 4%;
    }

    .header-inner{
        border-radius:24px;
        padding:12px 16px;
    }

    .menu-toggle{
        display:flex;
    }

    .menu{
        display:none;

        position:absolute;
        top:calc(100% + 10px);
        left:0;

        width:100%;

        background:#0a0a0c;
        border:1px solid var(--borde);
        border-radius:20px;

        padding:20px 0;
    }

    .menu.active{
        display:block;
    }

    .menu ul{
        flex-direction:column;
        gap:18px;
    }

    .header-actions{
        gap:12px;
    }

    .phone-header span.phone-text{
        display:none;
    }

    .phone-header{
        padding:10px 14px;
    }

}

/* =====================================
   HERO — CENTRADO
===================================== */

.hero{
    position:relative;
    width:100%;
    padding-top:150px;
}

.hero-slider{
    position:relative;
}

.hero-slide{
    display:none;
    position:relative;
    min-height:78vh;
    overflow:hidden;
    align-items:center;
    justify-content:center;
}

.hero-slide.active{
    display:flex;
}

/* Fondo */

.hero-bg{
    position:absolute;
    inset:0;
    z-index:1;
}

.hero-bg img{
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.05);
}

/* Overlay simétrico para lectura centrada */

.hero-slide::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;

    background:
    radial-gradient(
        60% 90% at 50% 40%,
        rgba(5,5,6,.55) 0%,
        rgba(5,5,6,.86) 55%,
        rgba(5,5,6,.98) 100%
    );
}

/* Contenido centrado */

.hero-content{
    position:relative;
    z-index:5;

    max-width:760px;

    margin:0 auto;

    display:flex;
    flex-direction:column;
    align-items:center;

    text-align:center;

    padding:0 24px;
}

/* Tag */

.hero-tag{
    display:inline-flex;
    align-items:center;
    gap:9px;

    padding:10px 22px;

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

    border:1px solid var(--borde-hover);

    border-radius:50px;

    color:var(--dorado);

    font-size:12.5px;
    font-weight:700;
    letter-spacing:.06em;

    margin-bottom:26px;
}

/* Titulo */

.hero-content h1,
.hero-content .hero-heading{
    font-family:var(--fuente-titulo);
    font-size:52px;
    line-height:1.14;
    font-weight:700;
    letter-spacing:-.02em;
    color:var(--blanco);

    margin-bottom:22px;
}

/* Texto */

.hero p{
    font-size:17px;
    line-height:1.75;

    color:var(--gris);

    margin-bottom:34px;

    max-width:560px;
}

/* Botones */

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:14px;
    margin-bottom:30px;
}

.btn-primary{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:17px 34px;

    background:var(--grad-oro);

    color:#141200;

    text-decoration:none;

    border-radius:50px;

    font-weight:700;
    font-size:15px;

    box-shadow:0 10px 26px -8px rgba(247,199,79,.5);

    transition:transform var(--transicion), box-shadow var(--transicion);
}

.btn-primary:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px -8px rgba(247,199,79,.6);
}

.btn-secondary{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:9px;

    padding:17px 30px;

    border-radius:50px;

    text-decoration:none;

    color:var(--blanco);

    font-size:15px;
    font-weight:600;

    border:1px solid var(--borde);

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

    transition:background var(--transicion), transform var(--transicion), border-color var(--transicion);
}

.btn-secondary:hover{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.2);
    transform:translateY(-2px);
}

/* Puntos del slider */

.hero-dots{
    position:relative;
    z-index:6;

    display:flex;
    justify-content:center;
    gap:10px;

    margin-top:-46px;
    padding-bottom:36px;
}

.hero-dot{
    width:8px;
    height:8px;
    border-radius:50%;

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

    cursor:pointer;

    transition:all var(--transicion);
}

.hero-dot.active{
    width:26px;
    border-radius:6px;
    background:var(--grad-oro);
}

/* =====================================
   RESPONSIVE HERO
===================================== */

@media(max-width:992px){

    .hero-content h1,
    .hero-content .hero-heading{
        font-size:40px;
    }

}

@media(max-width:768px){

    .hero{
        padding-top:120px;
    }

    .hero-slide{
        min-height:auto;
        padding:20px 0 50px;
    }

    .hero-content h1,
    .hero-content .hero-heading{
        font-size:30px;
        line-height:1.2;
    }

    .hero p{
        font-size:15.5px;
    }

    .hero-buttons{
        flex-wrap:wrap;
        width:100%;
    }

    .btn-primary,
    .btn-secondary{
        width:100%;
        max-width:320px;
    }

    .hero-dots{
        margin-top:-30px;
    }

}

/* =====================================
   TRUST BAR (marquesina de marcas)
===================================== */

.trust-bar{
    position:relative;
    z-index:1;

    overflow:hidden;

    padding:26px 0;

    background:var(--negro-2);

    border-top:1px solid var(--borde);
    border-bottom:1px solid var(--borde);

    -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.trust-track{
    display:flex;
    align-items:center;
    gap:18px;

    width:max-content;

    white-space:nowrap;

    animation:marquee 32s linear infinite;
}

.trust-track span{
    font-family:var(--fuente-titulo);
    font-size:15px;
    font-weight:600;
    color:var(--gris-oscuro);
    letter-spacing:.02em;
}

.trust-track .dot{
    color:var(--dorado);
    opacity:.6;
    font-size:12px;
}

@keyframes marquee{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
}

/* =====================================
   BENEFICIOS
===================================== */

.beneficios{
    position:relative;
    z-index:1;
    padding:120px 8% 110px;
    background:var(--negro);
}

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

.info-top{
    display:grid;

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

    gap:22px;

    max-width:1180px;
    margin:0 auto 26px;
}

.info-box{
    position:relative;

    background:linear-gradient(160deg, rgba(255,255,255,.035), rgba(255,255,255,.01));

    border:1px solid var(--borde);

    border-radius:var(--radio-lg);

    padding:34px 30px;

    overflow:hidden;

    transition:transform var(--transicion), border-color var(--transicion), box-shadow var(--transicion);
}

.info-box::before{
    content:"";
    position:absolute;
    top:0; left:0; right:0;
    height:3px;
    background:var(--grad-oro);
    opacity:0;
    transition:opacity var(--transicion);
}

.info-box:hover::before{
    opacity:1;
}

.info-box:hover{
    transform:translateY(-6px);
    border-color:var(--borde-hover);
    box-shadow:var(--sombra-hover);
}

.info-num{
    position:absolute;
    top:26px;
    right:28px;

    font-family:var(--fuente-titulo);
    font-size:13px;
    font-weight:700;
    letter-spacing:.05em;

    color:var(--gris-oscuro);
}

.info-box i{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    width:50px;
    height:50px;

    font-size:19px;

    color:var(--dorado);
    background:var(--dorado-suave);
    border-radius:14px;

    margin-bottom:22px;
}

.info-box h3{
    font-size:19px;
    font-weight:700;

    line-height:1.35;

    margin-bottom:12px;

    color:var(--blanco);
}

.info-box p{
    color:var(--gris);

    line-height:1.8;

    font-size:14.5px;
}

/* =====================================
   MARQUESINA DE PERKS
===================================== */

.perks-marquee{
    max-width:1180px;
    margin:0 auto;

    overflow:hidden;

    -webkit-mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}

.perks-track{
    display:flex;
    gap:16px;

    width:max-content;

    animation:perks-scroll 38s linear infinite;
}

.perks-marquee:hover .perks-track{
    animation-play-state:paused;
}

@keyframes perks-scroll{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
}

.perk-pill{
    display:flex;
    align-items:center;
    gap:14px;

    width:290px;
    flex-shrink:0;

    background:var(--negro-card);

    border:1px solid var(--borde);

    border-radius:var(--radio-md);

    padding:18px 20px;

    transition:border-color var(--transicion);
}

.perk-pill:hover{
    border-color:var(--borde-hover);
}

.perk-pill i{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    width:38px;
    height:38px;
    flex-shrink:0;

    color:var(--dorado);
    background:var(--dorado-suave);
    border-radius:10px;

    font-size:14px;
}

.perk-pill strong{
    display:block;
    font-size:14.5px;
    font-weight:600;
    color:var(--blanco);
    margin-bottom:3px;
}

.perk-pill span{
    font-size:12.5px;
    color:var(--gris);
    line-height:1.4;
}

/* =====================================
   RESPONSIVE
===================================== */

@media(max-width:992px){

    .info-top{
        grid-template-columns:1fr;
    }

}

@media(max-width:768px){

    .beneficios{
        padding:90px 6% 80px;
    }

    section h2{
        font-size:29px;
    }

    .info-box{
        padding:28px 24px;
    }

    .info-box h3{
        font-size:18px;
    }

    .perk-pill{
        width:250px;
    }

}

/* =====================================
   PLATAFORMAS
===================================== */

.plataformas{
    position:relative;
    z-index:1;
    padding:110px 8%;
    background:var(--negro-2);
    border-top:1px solid var(--borde);
    border-bottom:1px solid var(--borde);
}

/* =====================================
   TABS
===================================== */

.tabs{
    display:flex;
    justify-content:center;
    gap:10px;

    margin-bottom:48px;
}

.tab-btn{
    border:1px solid var(--borde);

    padding:13px 30px;

    border-radius:50px;

    cursor:pointer;

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

    color:var(--gris);

    font-size:14.5px;
    font-weight:600;

    transition:all var(--transicion);
}

.tab-btn:hover{
    color:var(--blanco);
    border-color:rgba(255,255,255,.2);
}

.tab-btn.active{
    background:var(--grad-oro);
    border-color:transparent;
    color:#141200;
    box-shadow:0 10px 24px -10px rgba(247,199,79,.5);
}

/* =====================================
   CONTENIDO TABS
===================================== */

.tab-content{
    display:none;
}

.tab-content.active{
    display:grid;
}

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

.plataformas-grid{
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:22px;

    max-width:1180px;
    margin:0 auto;
}

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

.plataforma-card{
    position:relative;

    background:var(--negro-card-2);

    border:1px solid var(--borde);

    border-radius:var(--radio-md);

    overflow:hidden;

    transition:transform var(--transicion), border-color var(--transicion), box-shadow var(--transicion);
}

.plataforma-card:hover{
    transform:translateY(-6px);

    border-color:var(--borde-hover);

    box-shadow:var(--sombra-hover);
}

.plataforma-card.casino:hover{
    border-color:rgba(255,95,162,.4);
    box-shadow:0 24px 48px -16px rgba(0,0,0,.6), 0 0 0 1px rgba(255,95,162,.4);
}

/* Etiqueta */

.card-tag{
    position:absolute;
    top:14px;
    left:14px;
    z-index:3;

    padding:6px 14px;

    border-radius:50px;

    font-size:11px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;

    background:rgba(5,5,6,.65);
    backdrop-filter:blur(6px);

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

    color:var(--dorado);
}

.plataforma-card.casino .card-tag{
    color:var(--rosa);
}

/* Imagen */

.plataforma-card .img-wrap{
    position:relative;
    overflow:hidden;
    height:180px;
}

.plataforma-card img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    transition:transform .5s ease;
}

.plataforma-card:hover img{
    transform:scale(1.06);
}

/* Botón */

.plataforma-card a{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    padding:16px;

    text-decoration:none;

    color:var(--dorado);

    font-weight:600;
    font-size:14.5px;

    border-top:1px solid var(--borde);

    transition:background var(--transicion);
}

.plataforma-card.casino a{
    color:var(--rosa);
}

.plataforma-card a:hover{
    background:rgba(255,255,255,.04);
}

/* =====================================
   RESPONSIVE
===================================== */

@media(max-width:768px){

    .plataformas{
        padding:80px 6%;
    }

    .tabs{
        flex-wrap:wrap;
    }

    .plataformas-grid{
        grid-template-columns:1fr;
    }

}

/* =====================================
   COMO FUNCIONA — TIMELINE
===================================== */

.funciona{
    position:relative;
    z-index:1;
    padding:110px 8%;
    background:var(--negro);
}

.timeline{
    position:relative;

    display:flex;
    justify-content:center;

    max-width:840px;
    margin:0 auto;
}

.timeline::before{
    content:"";

    position:absolute;
    top:30px;
    left:80px;
    right:80px;
    height:2px;

    background:linear-gradient(90deg, transparent, var(--dorado) 20%, var(--dorado) 80%, transparent);
    opacity:.35;
}

/* Card */

.step{
    position:relative;

    flex:1;

    padding:0 16px;

    text-align:center;
}

/* Número */

.step span{
    position:relative;
    z-index:2;

    display:flex;

    align-items:center;
    justify-content:center;

    width:60px;
    height:60px;

    margin:0 auto 22px;

    border-radius:50%;

    background:var(--negro-card);

    border:1px solid var(--borde-hover);

    color:var(--dorado);

    font-family:var(--fuente-titulo);
    font-size:21px;
    font-weight:700;

    box-shadow:0 0 0 6px var(--negro);
}

/* Texto */

.step p{
    font-size:16px;
    font-weight:500;

    color:var(--blanco);

    line-height:1.6;
}

/* =====================================
   RESPONSIVE
===================================== */

@media(max-width:768px){

    .funciona{
        padding:80px 6%;
    }

    .timeline{
        flex-direction:column;
        gap:38px;
        max-width:280px;
    }

    .timeline::before{
        top:0;
        bottom:0;
        left:29px;
        right:auto;
        width:2px;
        height:auto;
        background:linear-gradient(180deg, transparent, var(--dorado) 15%, var(--dorado) 85%, transparent);
    }

    .step{
        display:flex;
        align-items:center;
        gap:20px;
        text-align:left;
        padding:0;
    }

    .step span{
        margin:0;
        flex-shrink:0;
    }

}

/* =====================================
   ESTADISTICAS
===================================== */

.estadisticas{
    position:relative;
    z-index:1;

    padding:100px 8%;

    background:var(--negro-2);

    border-top:1px solid var(--borde);
    border-bottom:1px solid var(--borde);
}

.stats-shell{
    max-width:1080px;
    margin:0 auto;

    display:grid;

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

    gap:20px;

    background:linear-gradient(160deg, rgba(255,255,255,.035), rgba(255,255,255,.01));

    border:1px solid var(--borde);

    border-radius:var(--radio-lg);

    padding:52px 40px;
}

.estadistica-box{
    text-align:center;
    padding:10px;
}

.estadistica-box span{
    display:block;

    font-family:var(--fuente-titulo);
    font-size:42px;

    font-weight:700;
    letter-spacing:-.02em;

    background:var(--grad-oro);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;

    margin-bottom:10px;
}

.estadistica-box h3{
    font-size:16px;
    font-weight:600;

    margin-bottom:8px;

    color:var(--blanco);
}

.estadistica-box p{
    color:var(--gris);

    line-height:1.65;

    font-size:13.5px;
}

/* MOBILE */

@media(max-width:992px){

    .stats-shell{
        grid-template-columns:repeat(2,1fr);
        gap:36px 20px;
    }

}

@media(max-width:768px){

    .estadisticas{
        padding:70px 6%;
    }

    .stats-shell{
        grid-template-columns:repeat(2,1fr);
        padding:36px 24px;
        gap:32px 16px;
        border-radius:var(--radio-md);
    }

    .estadistica-box span{
        font-size:34px;
    }

}

/* =====================================
   CTA + FORMULARIO — CENTRADO
===================================== */

.cta{
    position:relative;
    z-index:1;
    padding:120px 8%;
    background:var(--negro);
}

.cta-content{
    max-width:560px;
    margin:0 auto;

    display:flex;
    flex-direction:column;
    align-items:center;

    text-align:center;
}

.cta-tag{
    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:9px 20px;

    border-radius:40px;

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

    border:1px solid var(--borde-hover);

    color:var(--dorado);

    font-size:13px;
    font-weight:700;

    margin-bottom:20px;
}

.cta-content h2{
    font-size:36px;

    line-height:1.18;

    font-weight:700;
    letter-spacing:-.02em;

    margin-bottom:16px;
}

.cta-content p{
    color:var(--gris);

    line-height:1.85;

    font-size:15.5px;

    margin-bottom:36px;
}

/* Formulario */

.cta-form{
    width:100%;

    background:linear-gradient(160deg, rgba(255,255,255,.035), rgba(255,255,255,.01));

    border:1px solid var(--borde);

    border-radius:var(--radio-lg);

    padding:32px;

    display:flex;

    flex-direction:column;

    gap:14px;
}

.cta-form input,
.cta-form select{

    width:100%;

    padding:15px 18px;

    border:1px solid var(--borde);

    border-radius:var(--radio-sm);

    background:var(--negro-2);

    color:var(--blanco);

    font-family:'Poppins',sans-serif;
    font-size:14.5px;

    text-align:left;

    transition:border-color var(--transicion), background var(--transicion);
}

.cta-form input::placeholder{
    color:var(--gris-oscuro);
}

.cta-form input:focus,
.cta-form select:focus{
    outline:none;
    border-color:var(--borde-hover);
    background:#0d0d10;
}

.cta-form select{
    color:var(--gris);
    appearance:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23a6a6ae' stroke-width='1.5' fill='none' fill-rule='evenodd'/></svg>");
    background-repeat:no-repeat;
    background-position:right 18px center;
}

.cta-form button{

    border:none;

    padding:16px;

    border-radius:50px;

    background:var(--grad-oro);

    color:#141200;

    font-weight:700;
    font-size:15px;

    cursor:pointer;

    margin-top:4px;

    box-shadow:0 10px 26px -8px rgba(247,199,79,.45);

    transition:transform var(--transicion), box-shadow var(--transicion);
}

.cta-form button:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px -8px rgba(247,199,79,.55);
}

/* Divisor "o" */

.cta-divider{
    display:flex;
    align-items:center;
    gap:14px;

    width:100%;

    margin:28px 0 22px;

    color:var(--gris-oscuro);

    font-size:13px;
}

.cta-divider::before,
.cta-divider::after{
    content:"";
    flex:1;
    height:1px;
    background:var(--borde);
}

/* Botón WhatsApp secundario */

.cta-btn{
    display:inline-flex;

    align-items:center;

    gap:9px;

    padding:16px 34px;

    border-radius:50px;

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

    border:1px solid var(--borde);

    color:var(--blanco);

    text-decoration:none;

    font-weight:600;
    font-size:15px;

    transition:transform var(--transicion), border-color var(--transicion), background var(--transicion);
}

.cta-btn:hover{
    transform:translateY(-2px);
    border-color:rgba(255,255,255,.2);
    background:rgba(255,255,255,.08);
}

.cta-btn i{
    color:#25d366;
}

/* =====================================
   RESPONSIVE
===================================== */

@media(max-width:768px){

    .cta{
        padding:90px 6%;
    }

    .cta-content h2{
        font-size:29px;
    }

    .cta-form{
        padding:26px 22px;
    }

}

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

footer{
    position:relative;
    z-index:1;

    background:var(--negro);

    padding:44px 20px 34px;

    text-align:center;

    border-top:1px solid var(--borde);

    display:flex;
    flex-direction:column;
    align-items:center;
    gap:16px;
}

.footer-logo img{
    height:24px;
    opacity:.8;
}

footer p{
    color:var(--gris-oscuro);
    font-size:13.5px;
}

/* =====================================
   PÁGINA "NOSOTROS" (about.html)
===================================== */

#particles-js{
    position:fixed;
    inset:0;
    z-index:0;
}

.franquicia-section{
    position:relative;
    z-index:1;

    min-height:100vh;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    padding:160px 8% 100px;
}

.franquicia-container{
    max-width:1100px;
    margin:0 auto;
    text-align:center;
}

.mega-title{
    font-family:var(--fuente-titulo);
    font-size:44px;
    font-weight:700;
    letter-spacing:-.02em;
    line-height:1.15;

    color:var(--blanco);

    margin-bottom:14px;
}

.franquicia-title{
    display:inline-block;

    font-size:14px;
    font-weight:700;
    letter-spacing:.14em;

    color:var(--dorado);

    padding:9px 18px;

    background:rgba(255,255,255,.05);
    border:1px solid var(--borde-hover);
    border-radius:50px;

    margin-bottom:22px;
}

.impact-headline{
    font-size:17px;
    color:var(--gris);

    margin-bottom:64px;
}

.franquicia-grid{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:50px;

    text-align:left;

    margin-bottom:56px;
}

/* Lado izquierdo */

.franquicia-text{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.statement{
    background:var(--negro-card);
    border:1px solid var(--borde);
    border-radius:var(--radio-lg);
    padding:28px;

    opacity:0;
    transform:translateX(-24px);
    transition:opacity .5s ease, transform .5s ease;
}

.statement.show{
    opacity:1;
    transform:translateX(0);
}

.statement h3{
    font-size:14px;
    font-weight:700;
    letter-spacing:.08em;
    color:var(--dorado);

    margin-bottom:12px;
}

.statement p{
    font-size:15.5px;
    line-height:1.8;
    color:var(--gris);
}

.statement p span{
    color:var(--blanco);
    font-weight:600;
}

.statement.highlight-box{
    background:linear-gradient(135deg, var(--dorado-suave), rgba(240,192,64,.02));
    border-color:rgba(247,199,79,.28);
}

.statement .counter{
    color:var(--dorado);
    font-size:20px;
    font-weight:700;
}

/* Lado derecho */

.franquicia-benefits{
    display:flex;
    flex-direction:column;
    gap:14px;
    justify-content:center;
}

.benefit{
    background:var(--negro-card);
    border:1px solid var(--borde);
    border-radius:var(--radio-md);
    padding:18px 22px;

    font-size:15px;
    font-weight:500;
    color:var(--blanco);

    opacity:0;
    transform:translateX(24px);
    transition:opacity .5s ease, transform .5s ease, border-color var(--transicion);
}

.benefit.show{
    opacity:1;
    transform:translateX(0);
}

.benefit:hover{
    border-color:var(--borde-hover);
}

/* Botón principal */

.franquicia-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:18px 40px;

    background:var(--grad-oro);
    color:#141200;

    text-decoration:none;

    border-radius:50px;

    font-weight:700;
    font-size:15px;
    letter-spacing:.03em;

    box-shadow:0 10px 26px -8px rgba(247,199,79,.5);

    transition:transform var(--transicion), box-shadow var(--transicion);
}

.franquicia-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 30px -8px rgba(247,199,79,.6);
}

/* WhatsApp flotante */

.whatsapp-float{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:999;

    width:58px;
    height:58px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:var(--grad-oro);
    color:#141200;

    border-radius:50%;

    font-size:24px;

    box-shadow:0 12px 30px -6px rgba(247,199,79,.55);

    transition:transform var(--transicion);
}

.whatsapp-float:hover{
    transform:scale(1.08);
}

/* Responsive */

@media(max-width:900px){

    .franquicia-grid{
        grid-template-columns:1fr;
        gap:32px;
    }

    .mega-title{
        font-size:34px;
    }
}

@media(max-width:600px){

    .franquicia-section{
        padding:130px 6% 80px;
    }

    .mega-title{
        font-size:28px;
    }

    .impact-headline{
        margin-bottom:44px;
    }

    .statement, .benefit{
        opacity:1;
        transform:none;
    }
}
