*{box-sizing:border-box}
:root{
    color-scheme:dark;
    --trial-bg:#08080a;
    --trial-panel:#111115;
    --trial-line:#2b2b32;
    --trial-text:#f5f5f7;
    --trial-muted:#85858f;
    --trial-green:#5cff1f;
    --trial-pink:#ff3f98;
    --trial-amber:#ffc43d;
}
html,body{
    margin:0;
    min-height:100%;
    background:var(--trial-bg);
    color:var(--trial-text);
    font-family:Arial,Helvetica,sans-serif;
}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}

.trial-wizard-body{
    min-height:100vh;
    overflow-x:hidden;
}
.trial-wizard-atmosphere{
    position:fixed;
    inset:0;
    overflow:hidden;
    pointer-events:none;
}
.trial-wizard-glow{
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    filter:blur(90px);
    opacity:.12;
}
.trial-wizard-glow.pink{
    top:-190px;
    right:-190px;
    background:var(--trial-pink);
}
.trial-wizard-glow.green{
    bottom:-220px;
    left:-180px;
    background:var(--trial-green);
}
.trial-wizard-eleven{
    position:absolute;
    right:-30px;
    bottom:-80px;
    color:#fff;
    font-size:330px;
    font-weight:950;
    line-height:1;
    opacity:.018;
}
.trial-wizard{
    position:relative;
    z-index:1;
    width:min(100% - 30px,760px);
    margin:0 auto;
    padding:18px 0 34px;
}
.trial-wizard-top{
    display:flex;
    min-height:54px;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.trial-wizard-logo img{
    display:block;
    width:48px;
    height:48px;
    object-fit:contain;
}
.trial-wizard-progress{width:min(250px,55vw)}
.trial-wizard-progress>span{
    display:block;
    margin-bottom:7px;
    color:#777781;
    font-size:10px;
    font-weight:900;
    text-align:right;
}
.trial-wizard-progress>i{
    display:block;
    height:4px;
    overflow:hidden;
    border-radius:999px;
    background:#25252b;
}
.trial-wizard-progress>i>b{
    display:block;
    width:0;
    height:100%;
    border-radius:999px;
    background:var(--trial-green);
    transition:width .25s ease;
}
.trial-stage{
    min-height:calc(100vh - 106px);
    padding:34px 0 18px;
    animation:trialStageIn .28s ease both;
}
.trial-stage[hidden]{display:none!important}
.trial-stage[data-stage="hero"]{
    display:grid;
    min-height:calc(100vh - 86px);
    align-items:center;
    padding-top:0;
}
@keyframes trialStageIn{
    from{opacity:0;transform:translateY(10px)}
    to{opacity:1;transform:translateY(0)}
}
.trial-hero-copy{max-width:620px}
.trial-hero-copy>span,
.trial-question>span,
.trial-success>span,
.trial-pass-shell header>span,
.trial-reschedule-public>span{
    display:block;
    color:var(--trial-green);
    font-size:11px;
    font-weight:950;
    letter-spacing:.15em;
}
.trial-hero-copy h1{
    margin:10px 0 18px;
    font-size:clamp(43px,10vw,76px);
    line-height:.94;
    letter-spacing:-.055em;
}
.trial-hero-copy h1 em{
    display:block;
    color:var(--trial-pink);
    font-style:normal;
}
.trial-hero-copy p{
    max-width:510px;
    margin:0 0 26px;
    color:#a0a0aa;
    font-size:17px;
    line-height:1.55;
}
.trial-hero-copy small{
    display:block;
    margin-top:18px;
    color:#606069;
    font-size:11px;
}
.trial-primary-button,
.trial-secondary-button,
.trial-card-choose{
    display:inline-flex;
    min-height:52px;
    align-items:center;
    justify-content:center;
    padding:0 20px;
    border-radius:13px;
    cursor:pointer;
    text-decoration:none;
    font-weight:950;
}
.trial-primary-button,
.trial-card-choose{
    border:1px solid var(--trial-green);
    background:var(--trial-green);
    color:#09090b;
}
.trial-primary-button{font-size:14px}
.trial-primary-button:disabled{
    border-color:#323238;
    background:#242429;
    color:#696972;
    cursor:not-allowed;
}
.trial-secondary-button{
    border:1px solid #35353d;
    background:#131318;
    color:#d1d1d7;
    font-size:12px;
}
.trial-back-button{
    min-height:42px;
    margin-top:18px;
    padding:0;
    border:0;
    background:transparent;
    color:#767680;
    cursor:pointer;
    font-size:12px;
}
.trial-question{
    max-width:660px;
    margin-bottom:24px;
}
.trial-question h2{
    margin:8px 0 10px;
    font-size:clamp(31px,7.8vw,53px);
    line-height:1.02;
    letter-spacing:-.045em;
}
.trial-question h2 b{
    color:var(--trial-pink);
    font-weight:inherit;
}
.trial-question p{
    margin:0;
    color:#888892;
    font-size:14px;
    line-height:1.5;
}
.trial-single-form,
.trial-adult-form{
    display:grid;
    gap:14px;
}
.trial-single-form{max-width:520px}
.trial-single-form label,
.trial-adult-form label{
    display:grid;
    gap:7px;
}
.trial-single-form label>span,
.trial-adult-form label>span{
    color:#85858f;
    font-size:11px;
    font-weight:900;
}
.trial-single-form input,
.trial-adult-form input,
.trial-adult-form select{
    width:100%;
    min-height:54px;
    padding:0 14px;
    border:1px solid #34343c;
    border-radius:13px;
    outline:0;
    background:#111115;
    color:#fff;
    font-size:17px;
}
.trial-single-form input:focus,
.trial-adult-form input:focus,
.trial-adult-form select:focus{
    border-color:var(--trial-green);
}
.trial-single-form .trial-primary-button{width:100%}

.trial-age-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    max-width:620px;
}
.trial-age-grid button{
    min-height:66px;
    border:1px solid #303037;
    border-radius:14px;
    background:#121217;
    color:#fff;
    cursor:pointer;
    font-size:21px;
    font-weight:900;
}
.trial-age-grid button:hover,
.trial-age-grid button:focus{
    border-color:var(--trial-green);
    background:rgba(92,255,31,.08);
}

.trial-preference-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.trial-preference-grid button{
    min-height:165px;
    padding:18px;
    border:1px solid #303037;
    border-radius:18px;
    background:#111115;
    color:#fff;
    cursor:pointer;
    text-align:left;
}
.trial-preference-grid button:hover,
.trial-preference-grid button:focus{
    border-color:rgba(92,255,31,.55);
    background:#141717;
}
.trial-preference-grid i{
    display:block;
    margin-bottom:15px;
    font-size:29px;
    font-style:normal;
}
.trial-preference-grid strong{
    display:block;
    font-size:17px;
    line-height:1.2;
}
.trial-preference-grid span{
    display:block;
    margin-top:7px;
    color:#85858f;
    font-size:12px;
    line-height:1.45;
}

.trial-recommendation-list{
    display:grid;
    gap:14px;
}
.trial-recommendation-card{
    position:relative;
    overflow:hidden;
    padding:20px;
    border:1px solid #303037;
    border-radius:20px;
    background:#111115;
}
.trial-recommendation-card:first-child{
    border-color:rgba(92,255,31,.45);
    background:
        radial-gradient(circle at 100% 0%,rgba(92,255,31,.10),transparent 34%),
        #111115;
}
.trial-recommendation-top>span{
    color:var(--trial-green);
    font-size:9px;
    font-weight:950;
    letter-spacing:.10em;
}
.trial-recommendation-top h3{
    margin:8px 0 3px;
    font-size:30px;
    letter-spacing:-.04em;
}
.trial-group-name{
    color:#babac2;
    font-size:13px;
}
.trial-star-label,
.trial-low-space-label{
    display:inline-flex;
    margin-top:10px;
    margin-right:6px;
    padding:5px 8px;
    border-radius:999px;
    font-size:8px;
    font-style:normal;
    font-weight:950;
}
.trial-star-label{
    background:rgba(92,255,31,.10);
    color:var(--trial-green);
}
.trial-low-space-label{
    background:rgba(255,196,61,.10);
    color:var(--trial-amber);
}
.trial-recommendation-card>p{
    max-width:590px;
    margin:13px 0;
    color:#8f8f99;
    font-size:13px;
    line-height:1.55;
}
.trial-card-schedule{
    margin:9px 0 13px;
    color:#c7c7ce;
    font-size:11px;
    font-weight:800;
}
.trial-video-button{
    min-height:38px;
    padding:0;
    border:0;
    background:transparent;
    color:#d4d4da;
    cursor:pointer;
    font-size:11px;
    font-weight:900;
}
.trial-video-wrap{
    margin:8px 0 13px;
    overflow:hidden;
    border-radius:14px;
    background:#050506;
    aspect-ratio:16/9;
}
.trial-video-wrap iframe,
.trial-video-wrap video{
    width:100%;
    height:100%;
    border:0;
    object-fit:cover;
}
.trial-benefits{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:12px 0 17px;
}
.trial-benefits span{
    padding:6px 8px;
    border:1px solid #2d2d34;
    border-radius:999px;
    color:#9e9ea8;
    font-size:9px;
}
.trial-card-choose{
    width:100%;
    min-height:48px;
    font-size:12px;
}
.trial-recommendation-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:14px;
}

.trial-slot-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.trial-slot-option{
    min-height:130px;
    padding:17px;
    border:1px solid #303037;
    border-radius:17px;
    background:#111115;
    color:#fff;
    cursor:pointer;
    text-align:left;
}
.trial-slot-option:hover,
.trial-slot-option.selected{
    border-color:var(--trial-green);
    background:rgba(92,255,31,.075);
}
.trial-slot-option strong{
    display:block;
    font-size:17px;
}
.trial-slot-option span{
    display:block;
    margin-top:8px;
    color:var(--trial-green);
    font-size:14px;
    font-weight:900;
}
.trial-slot-option small{
    display:block;
    margin-top:7px;
    color:#777781;
    font-size:10px;
}

.trial-adult-form{max-width:560px}
.trial-adult-form .trial-primary-button{
    width:100%;
    margin-top:5px;
}
.trial-selected-summary{
    padding:13px 14px;
    border:1px solid #2e2e35;
    border-radius:13px;
    background:#101014;
}
.trial-selected-summary strong{
    display:block;
    font-size:13px;
}
.trial-selected-summary span{
    display:block;
    margin-top:5px;
    color:#878791;
    font-size:11px;
}
.trial-form-error{
    margin:0;
    padding:11px 12px;
    border:1px solid rgba(255,63,152,.35);
    border-radius:10px;
    background:rgba(255,63,152,.06);
    color:#ff8fc3;
    font-size:11px;
}

.trial-loading,
.trial-empty-message{
    padding:25px 18px;
    border:1px dashed #303037;
    border-radius:15px;
    color:#81818b;
    text-align:center;
    font-size:12px;
}

.trial-success{
    max-width:650px;
    margin:0 auto;
    text-align:center;
}
.trial-success-icon{
    display:grid;
    width:64px;
    height:64px;
    margin:0 auto 18px;
    place-items:center;
    border-radius:50%;
    background:var(--trial-green);
    color:#09090b;
    font-size:31px;
    font-weight:950;
}
.trial-success h2{
    margin:9px 0 23px;
    font-size:clamp(32px,8vw,52px);
    line-height:1;
    letter-spacing:-.04em;
}
.trial-success h2 b{color:var(--trial-pink)}
.trial-success-ticket{
    padding:22px;
    border:1px solid rgba(92,255,31,.4);
    border-radius:20px;
    background:
        radial-gradient(circle at 100% 0%,rgba(92,255,31,.10),transparent 35%),
        #111115;
    text-align:left;
}
.trial-success-ticket>span{
    color:var(--trial-green);
    font-size:9px;
    font-weight:950;
    letter-spacing:.11em;
}
.trial-success-ticket>strong{
    display:block;
    margin-top:10px;
    font-size:32px;
}
.trial-success-ticket>b{
    display:block;
    margin-top:8px;
    color:#d2d2d8;
    font-size:15px;
}
.trial-success-ticket>p{
    margin:9px 0 0;
    color:#8b8b95;
    font-size:13px;
}
.trial-success-ticket>code{
    display:block;
    margin-top:18px;
    padding-top:14px;
    border-top:1px dashed #3a3a42;
    color:#fff;
    font-family:monospace;
    font-size:16px;
}
.trial-success-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:13px;
}
.trial-success-actions .trial-primary-button{grid-column:1/-1}
.trial-success>p{
    color:#777781;
    font-size:11px;
}
.trial-text-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    color:#85858f;
    text-decoration:none;
    font-size:11px;
}
.trial-wizard-setup-error{
    margin-top:50px;
    padding:25px;
    border:1px solid rgba(255,196,61,.35);
    border-radius:18px;
    background:#111115;
}
.trial-wizard-setup-error>span{
    color:var(--trial-amber);
    font-size:10px;
    font-weight:950;
}
.trial-wizard-setup-error h1{margin:7px 0}
.trial-wizard-setup-error p{
    color:#8b8b95;
    line-height:1.5;
}

/* PASE */
.trial-pass-page{
    min-height:100vh;
    padding:24px 15px 40px;
    background:var(--trial-bg);
}
.trial-pass-shell{
    width:min(620px,100%);
    margin:0 auto;
}
.trial-pass-shell header{margin-bottom:17px}
.trial-pass-shell header h1{
    margin:6px 0 0;
    font-size:31px;
}
.trial-pass-card-wrap{
    overflow:hidden;
    border-radius:20px;
}
.trial-pass-svg{
    display:block;
    width:100%;
    height:auto;
}
.trial-pass-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:14px;
}
.trial-pass-actions .trial-primary-button{grid-column:1/-1}
.trial-pass-actions .trial-text-link{grid-column:1/-1}

/* REAGENDAR */
.trial-reschedule-public{
    width:min(620px,calc(100% - 30px));
    margin:0 auto;
    padding:55px 0 40px;
}
.trial-reschedule-public h1{
    margin:8px 0 5px;
    font-size:clamp(34px,8vw,50px);
    line-height:1;
    letter-spacing:-.045em;
}
.trial-reschedule-public>p{
    margin:0 0 22px;
    color:#8a8a94;
}
.trial-reschedule-public .trial-slot-list{margin-bottom:14px}
.trial-reschedule-public form .trial-primary-button{width:100%}

@media (max-width:640px){
    .trial-wizard{
        width:min(100% - 24px,760px);
        padding-top:12px;
    }
    .trial-wizard-logo img{
        width:42px;
        height:42px;
    }
    .trial-stage{
        min-height:auto;
        padding-top:30px;
    }
    .trial-stage[data-stage="hero"]{
        min-height:calc(100vh - 70px);
    }
    .trial-hero-copy p{font-size:15px}
    .trial-primary-button,
    .trial-secondary-button,
    .trial-card-choose{
        min-height:54px;
    }
    .trial-age-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .trial-age-grid button{min-height:61px}
    .trial-preference-grid{grid-template-columns:1fr}
    .trial-preference-grid button{min-height:132px}
    .trial-slot-list{grid-template-columns:1fr}
    .trial-slot-option{min-height:102px}
    .trial-recommendation-footer{
        align-items:stretch;
        flex-direction:column;
    }
    .trial-recommendation-footer .trial-secondary-button{width:100%}
    .trial-success-actions,
    .trial-pass-actions{
        grid-template-columns:1fr;
    }
    .trial-success-actions .trial-primary-button,
    .trial-pass-actions .trial-primary-button,
    .trial-pass-actions .trial-text-link{
        grid-column:auto;
    }
    .trial-adult-form input,
    .trial-adult-form select{
        font-size:16px;
    }
}

@media (prefers-reduced-motion:reduce){
    .trial-stage{animation:none}
    .trial-wizard-progress>i>b{transition:none}
}


/* ============================================================
   V1.3 · VIDEO DIRECTO EN LA RECOMENDACIÓN
   ============================================================ */

.trial-video-direct{
    position:relative;
    width:100%;
    margin:13px 0 15px;
    overflow:hidden;
    border:1px solid #2f2f36;
    border-radius:16px;
    background:#050506;
    aspect-ratio:16/9;
}

.trial-video-direct iframe,
.trial-video-direct video{
    display:block;
    width:100%;
    height:100%;
    border:0;
    object-fit:cover;
    background:#050506;
}

.trial-video-direct iframe{
    min-height:100%;
}

@media (max-width:640px){
    .trial-video-direct{
        margin:12px 0 14px;
        border-radius:14px;
    }
}


/* V1.4 · datos completos de alumna */
.trial-form-section-title{
    margin:5px 0 2px;
    color:var(--trial-green);
    font-size:10px;
    font-weight:950;
    letter-spacing:.12em;
}

.trial-form-section-title.adult{
    margin-top:12px;
    padding-top:16px;
    border-top:1px solid #2b2b32;
    color:var(--trial-pink);
}

.trial-child-data-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.trial-child-data-grid label{
    display:grid;
    gap:7px;
}

.trial-child-data-grid label > span{
    color:#85858f;
    font-size:11px;
    font-weight:900;
}

.trial-child-data-grid input,
.trial-child-data-grid select{
    width:100%;
    min-height:54px;
    padding:0 14px;
    border:1px solid #34343c;
    border-radius:13px;
    outline:0;
    background:#111115;
    color:#fff;
    font-size:16px;
}

.trial-child-data-grid input:focus,
.trial-child-data-grid select:focus{
    border-color:var(--trial-green);
}

@media (max-width:640px){
    .trial-child-data-grid{
        grid-template-columns:1fr;
    }
}


/* ============================================================
   V1.5 · CAPTURA EN DOS PASOS
   ============================================================ */

.trial-two-step-form{
    max-width:640px;
}

.trial-two-step-form .trial-form-section-title{
    margin-bottom:11px;
    padding:9px 0 0;
    color:#f2f2f5;
    font-size:13px;
    letter-spacing:.04em;
}

.trial-two-step-form .trial-form-section-title.adult-heading{
    margin-top:0;
    padding-top:0;
    border-top:0;
    color:#f2f2f5;
}

.trial-two-step-form .trial-child-data-grid{
    gap:11px 12px;
}

.trial-two-step-form .trial-child-data-grid .full{
    grid-column:1/-1;
}

.trial-two-step-form > .trial-primary-button{
    width:100%;
    margin-top:8px;
}

.trial-two-step-form #trialReferralFallback{
    margin-top:2px;
}

.trial-stage[data-stage="child-data"] .trial-question,
.trial-stage[data-stage="adult"] .trial-question{
    margin-bottom:18px;
}

.trial-stage[data-stage="child-data"] .trial-question h2,
.trial-stage[data-stage="adult"] .trial-question h2{
    max-width:700px;
}

.trial-stage[data-stage="adult"] .trial-question h2 b{
    display:block;
}

@media (max-width:640px){
    .trial-two-step-form{
        max-width:none;
    }

    .trial-two-step-form .trial-child-data-grid{
        grid-template-columns:1fr;
    }

    .trial-two-step-form .trial-child-data-grid .full{
        grid-column:auto;
    }
}
