
:root{
    --home-ink:#1b0750;
    --home-purple:#6d35ff;
    --home-pink:#ff0f7b;
    --home-muted:#696274;
    --home-line:#ebe7f5;
    --home-soft:#f7f4ff;
}

/* =========================================================
   HOME · ESTÉTICA ALINEADA CON CURSOS / CARRERA
   Solo sobreescribe presentación. No altera la lógica ni DB.
   ========================================================= */

body{
    background:#fff;
}

/* Misma fuente REAL que las landings:
   Inter declarada + fallback de sistema, sin cargar Google Fonts */
.hero-home,
.home-paths,
.home-how,
.home-about,
.home-gallery,
.home-testimonials,
.home-faq,
.home-cta-final{
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--home-ink);
    line-height:1.55;
}

.hero-home *,
.home-paths *,
.home-how *,
.home-about *,
.home-gallery *,
.home-testimonials *,
.home-faq *,
.home-cta-final *{
    box-sizing:border-box;
}

/* ---------------------------------------------------------
   TIPOGRAFÍA
   --------------------------------------------------------- */

.hero-title{
    max-width:950px;
    margin:0 0 20px;
    font-family:inherit;
    font-size:clamp(2.5rem,10vw,5.4rem);
    line-height:.97;
    letter-spacing:-.055em;
    font-weight:revert;
}

.section-title,
.cta-final-box h2{
    margin-top:0;
    margin-bottom:18px;
    font-family:inherit;
    font-size:clamp(2rem,7vw,3.7rem);
    line-height:1.03;
    letter-spacing:-.04em;
    font-weight:revert;
}

.path-card__title,
.how-card__title{
    font-family:inherit;
    font-size:1.18rem;
    line-height:1.2;
    letter-spacing:0;
    font-weight:revert;
}

.hero-text{
    max-width:760px;
    margin-bottom:0;
    font-size:1.22rem;
    line-height:1.58;
    font-weight:400;
}

.section-text{
    max-width:760px;
    margin:0 0 34px;
    color:var(--home-muted);
    font-size:1rem;
    line-height:1.55;
    font-weight:400;
}

.home-about p,
.path-card__text,
.how-card__text,
.testimonial-quote,
.faq-item__a,
.cta-final-box p{
    font-weight:400;
    line-height:1.55;
}

/* ---------------------------------------------------------
   BOTONES
   --------------------------------------------------------- */

.hero-home .btn,
.home-about .btn,
.home-cta-final .btn{
    min-height:56px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 26px;
    border-radius:15px;
    font-family:inherit;
    font-size:1.05rem;
    font-weight:950;
    text-decoration:none;
}

.btn-hero-primary{
    background:var(--home-purple);
    color:#fff;
}

.btn-hero-secondary{
    border:1px solid rgba(27,7,80,.14);
    background:#fff;
    color:var(--home-ink);
}

/* ---------------------------------------------------------
   HERO
   Conserva imagen y overlay administrables.
   --------------------------------------------------------- */

.hero-home{
    min-height:620px;
    display:flex;
    align-items:center;
}

.hero-home .container{
    width:min(1180px,calc(100% - 32px));
}

.hero-inner{
    padding:86px 0 78px;
}

.hero-content-box{
    max-width:850px;
    padding:36px;
    border-radius:28px;
    background:rgba(255,255,255,.92);
    backdrop-filter:blur(12px);
    box-shadow:0 28px 70px rgba(27,7,80,.12);
}

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}

.hero-credit{
    margin-top:16px;
    font-size:.82rem;
    opacity:.72;
}

/* ---------------------------------------------------------
   RITMO GENERAL
   --------------------------------------------------------- */

.home-paths,
.home-how,
.home-about,
.home-gallery,
.home-testimonials,
.home-faq{
    padding-top:74px;
    padding-bottom:74px;
}

/* ---------------------------------------------------------
   ELEGÍ TU CAMINO
   --------------------------------------------------------- */

.home-paths{
    background:#fff;
}

.paths-grid{
    gap:18px;
}

.path-card{
    min-height:390px;
    overflow:hidden;
    border:1px solid var(--home-line);
    border-radius:24px;
    box-shadow:none;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.path-card:hover{
    transform:translateY(-4px);
    border-color:#d8cff3;
    box-shadow:0 22px 54px rgba(27,7,80,.08);
}

.path-card__bg{
    transition:transform .28s ease;
}

.path-card:hover .path-card__bg{
    transform:scale(1.025);
}

.path-card__body{
    padding:24px;
}

.path-card__eyebrow{
    margin-bottom:9px;
    font-family:inherit;
    font-size:.74rem;
    letter-spacing:.12em;
    font-weight:900;
}

.path-card__title{
    margin-bottom:10px;
}

.path-card__text{
    color:inherit;
}

.path-card__button{
    min-height:48px;
    padding:0 18px;
    border-radius:13px;
    font-family:inherit;
    font-size:.96rem;
    font-weight:900;
}

/* ---------------------------------------------------------
   CÓMO FUNCIONA
   --------------------------------------------------------- */

.home-how{
    background:var(--home-soft);
}

.how-grid{
    gap:14px;
}

.how-card{
    padding:22px;
    border:1px solid var(--home-line);
    border-radius:20px;
    background:#fff;
    box-shadow:none;
}

.how-card__icon{
    width:46px;
    height:46px;
    margin-bottom:18px;
    border-radius:13px;
    background:#eee8ff;
    color:var(--home-purple);
    font-size:1.1rem;
}

.how-card__title{
    margin-bottom:8px;
}

.how-card__text{
    color:var(--home-muted);
}

/* ---------------------------------------------------------
   SOBRE NUCLEO
   --------------------------------------------------------- */

.home-about{
    background:#fff;
}

.about-grid{
    gap:42px;
    align-items:center;
}

.about-copy{
    max-width:680px;
}

.about-copy p{
    margin-bottom:26px;
    color:var(--home-muted);
    font-size:1.05rem;
}

.about-image{
    overflow:hidden;
    border-radius:28px;
    background:var(--home-soft);
    box-shadow:0 24px 60px rgba(27,7,80,.08);
}

.about-image img{
    width:100%;
    display:block;
    object-fit:cover;
}

/* ---------------------------------------------------------
   GALERÍA
   --------------------------------------------------------- */

.home-gallery{
    background:#fbfaff;
}

.gallery-grid{
    gap:12px;
}

.gallery-item{
    overflow:hidden;
    border:0;
    border-radius:20px;
    background:var(--home-soft);
    box-shadow:none;
}

.gallery-item img{
    transition:transform .25s ease;
}

.gallery-item:hover img{
    transform:scale(1.025);
}

.gallery-caption{
    left:10px;
    right:10px;
    bottom:10px;
    padding:11px 13px;
    border-radius:13px;
    background:rgba(27,7,80,.84);
}

.gallery-caption strong{
    font-family:inherit;
    font-weight:700;
}

.gallery-caption span{
    font-size:.72rem;
}

/* ---------------------------------------------------------
   TESTIMONIOS
   --------------------------------------------------------- */

.home-testimonials{
    background:#fff;
}

.testimonials-grid{
    gap:14px;
}

.testimonial-card{
    padding:24px;
    border:1px solid var(--home-line);
    border-radius:20px;
    background:var(--home-soft);
    box-shadow:none;
}

.testimonial-stars{
    margin-bottom:14px;
    color:var(--home-pink);
}

.testimonial-quote{
    color:#4d4658;
}

.testimonial-name{
    margin-top:18px;
    font-family:inherit;
    font-weight:700;
}

.testimonial-role{
    margin-top:3px;
    color:var(--home-muted);
    font-size:.8rem;
}

/* ---------------------------------------------------------
   FAQ
   --------------------------------------------------------- */

.home-faq{
    background:var(--home-soft);
}

.faq-wrap{
    max-width:900px;
}

.faq-item{
    border-bottom:1px solid var(--home-line);
    background:transparent;
}

.faq-item__q{
    padding:18px 0;
    font-family:inherit;
    font-size:1rem;
    font-weight:900;
}

.faq-item__a{
    padding:0 0 20px;
    color:var(--home-muted);
}

/* ---------------------------------------------------------
   CTA FINAL
   Conserva fondo administrable.
   --------------------------------------------------------- */

.home-cta-final{
    padding:72px 0;
}

.cta-final-inner{
    min-height:420px;
    display:flex;
    align-items:center;
}

.cta-final-box{
    max-width:800px;
    padding:38px;
    border-radius:30px;
    background:rgba(27,7,80,.88);
    backdrop-filter:blur(10px);
    box-shadow:0 28px 70px rgba(27,7,80,.16);
}

.cta-final-box h2{
    color:#fff;
}

.cta-final-box p{
    max-width:680px;
    color:#ded8ef;
}

.btn-cta-final{
    margin-top:8px;
    background:#fff;
    color:var(--home-ink);
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media(max-width:759px){

    .hero-home{
        min-height:auto;
    }

    .hero-inner{
        padding:52px 0 48px;
    }

    .hero-content-box{
        padding:24px;
        border-radius:22px;
    }

    .hero-actions{
        flex-direction:column;
    }

    .hero-home .btn,
    .home-about .btn,
    .home-cta-final .btn{
        width:100%;
    }

    .home-paths,
    .home-how,
    .home-about,
    .home-gallery,
    .home-testimonials,
    .home-faq{
        padding-top:58px;
        padding-bottom:58px;
    }

    .path-card{
        min-height:340px;
    }

    .about-grid{
        gap:28px;
    }

    .home-cta-final{
        padding:58px 0;
    }

    .cta-final-inner{
        min-height:360px;
    }

    .cta-final-box{
        padding:26px;
    }
}

/* =========================================================
   HERO HOME V2
   Composición editorial como Cursos / Carrera
   ========================================================= */

.hero-home-v2{
    padding: 72px 0 68px;
    background: radial-gradient(circle at 88% 10%, rgba(109, 53, 255, .10), transparent 30%), linear-gradient(180deg, #fff 0%, #daccff 100%);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--home-ink);
}

.hero-home-v2,
.hero-home-v2 *{
    box-sizing:border-box;
}

.hero-home-v2__grid{
    display:grid;
    gap:40px;
    align-items:center;
}

.hero-home-v2__content{
    max-width:760px;
}

.hero-home-v2__eyebrow{
    display:inline-block;
    margin-bottom:12px;
    color:var(--home-purple);
    font-size:1rem;
    line-height:1.2;
    letter-spacing:.12em;
    font-weight:950;
}

.hero-home-v2 .hero-title{
    max-width:820px;
    margin:0 0 22px;
    color:var(--home-ink);
    font-family:inherit;
    font-size:clamp(2.7rem,8vw,5.5rem);
    line-height:.96;
    letter-spacing:-.055em;
    font-weight:revert;
}

.hero-home-v2 .hero-text{
    max-width:700px;
    margin:0;
    color:var(--home-muted);
    font-size:1.22rem;
    line-height:1.58;
    font-weight:400;
}

.hero-home-v2 .hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}

.hero-home-v2 .btn{
    min-height:58px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 30px;
    border-radius:15px;
    font-family:inherit;
    font-size:1.08rem;
    font-weight:950;
    text-decoration:none;
}

.hero-home-v2 .btn-hero-primary{
    border:1px solid var(--home-purple);
    background:var(--home-purple);
    color:#fff;
}

.hero-home-v2 .btn-hero-secondary{
    border:1px solid #ddd6ef;
    background:#fff;
    color:var(--home-ink);
}

.hero-home-v2__proof{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:26px;
}

.hero-home-v2__proof span{
    padding:8px 11px;
    border:1px solid #e8e2f4;
    border-radius:999px;
    background:#fff;
    color:#615969;
    font-size:.82rem;
    font-weight:700;
}

.hero-home-v2__visual{
    position:relative;
    min-height:520px;
    overflow:hidden;
    border-radius:30px;
    background:var(--home-soft);
    box-shadow:0 30px 70px rgba(27,7,80,.12);
}

.hero-home-v2__visual picture{
    display:block;
    width:100%;
    height:100%;
}

.hero-home-v2__visual img{
    width:100%;
    height:100%;
    min-height:520px;
    display:block;
    object-fit:cover;
}

.hero-home-v2__visual::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(
            to top,
            rgba(27,7,80,.16),
            transparent 35%
        );
}

.hero-home-v2__credit{
    position:absolute;
    z-index:2;
    left:14px;
    bottom:14px;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(27,7,80,.74);
    color:#fff;
    font-size:.72rem;
    backdrop-filter:blur(8px);
}

.hero-home-v2__placeholder{
    min-height:520px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:
        radial-gradient(circle at 70% 30%,rgba(255,15,123,.18),transparent 30%),
        linear-gradient(135deg,#1b0750,#5c2fc7);
    color:#fff;
}

.hero-home-v2__placeholder span{
    margin-bottom:10px;
    font-size:.78rem;
    letter-spacing:.14em;
}

.hero-home-v2__placeholder strong{
    font-size:3rem;
    line-height:1;
    font-weight:700;
}

@media(min-width:860px){
    .hero-home-v2__grid{
        grid-template-columns:minmax(0,1.03fr) minmax(380px,.97fr);
    }
}

@media(max-width:859px){
    .hero-home-v2{
        padding:52px 0 50px;
    }

    .hero-home-v2__grid{
        gap:30px;
    }

    .hero-home-v2__visual,
    .hero-home-v2__visual img,
    .hero-home-v2__placeholder{
        min-height:380px;
    }
}

@media(max-width:759px){
    .hero-home-v2 .hero-title{
        font-size:clamp(2.5rem,13vw,4rem);
    }

    .hero-home-v2 .hero-text{
        font-size:1.1rem;
    }

    .hero-home-v2 .hero-actions{
        flex-direction:column;
    }

    .hero-home-v2 .btn{
        width:100%;
        min-height:56px;
        padding:0 22px;
        font-size:1.05rem;
    }

    .hero-home-v2__proof{
        margin-top:20px;
    }

    .hero-home-v2__visual,
    .hero-home-v2__visual img,
    .hero-home-v2__placeholder{
        min-height:300px;
    }

    .hero-home-v2__visual{
        border-radius:22px;
    }
}

/* =========================================================
   ELEGÍ TU CAMINO · VERSIÓN VIOLETA
   Replica el fondo de .cm-teacher de Carrera:
   --cm-ink / #1b0750
   ========================================================= */

.home-paths{
    padding-top:82px;
    padding-bottom:88px;
    background:#1b0750;
    color:#fff;
}

.home-paths .section-title{
    max-width:820px;
    margin-bottom:16px;
    color:#fff;
}

.home-paths .section-text{
    max-width:760px;
    margin-bottom:38px;
    color:#ded8ef;
    font-size:1.05rem;
}

/* Tarjetas más actuales:
   imagen protagonista + degradado + contenido integrado */
.home-paths .paths-grid{
    display:grid;
    gap:18px;
}

.home-paths .path-card{
    position:relative;
    isolation:isolate;
    min-height:460px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.14);
    border-radius:28px;
    background:#2a145f;
    box-shadow:0 18px 42px rgba(0,0,0,.16);
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

.home-paths .path-card:hover{
    transform:translateY(-6px);
    border-color:rgba(255,255,255,.30);
    box-shadow:0 28px 58px rgba(0,0,0,.24);
}

/* La imagen que ya cargás desde el admin sigue siendo la misma */
.home-paths .path-card__bg{
    position:absolute;
    inset:0;
    z-index:-3;
    background-image:var(--path-bg);
    background-position:center;
    background-size:cover;
    transform:scale(1.001);
    transition:transform .45s cubic-bezier(.2,.7,.2,1);
}

.home-paths .path-card:hover .path-card__bg{
    transform:scale(1.055);
}

/* Oscurecimiento editorial: permite leer sin tapar la obra */
.home-paths .path-card::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        linear-gradient(
            180deg,
            rgba(20,5,55,.03) 5%,
            rgba(20,5,55,.12) 35%,
            rgba(20,5,55,.90) 100%
        );
}

/* Leve profundidad violeta sin "empastar" la imagen */
.home-paths .path-card::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        radial-gradient(
            circle at 85% 8%,
            rgba(109,53,255,.18),
            transparent 34%
        );
    pointer-events:none;
}

.home-paths .path-card__body{
    position:relative;
    z-index:2;
    min-height:460px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
    padding:30px;
    color:#fff;
}

.home-paths .path-card__eyebrow{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    margin-bottom:12px;
    padding:0 10px;
    border:1px solid rgba(255,255,255,.20);
    border-radius:999px;
    background:rgba(27,7,80,.46);
    color:#d8ccff;
    font-size:.72rem;
    line-height:1;
    letter-spacing:.12em;
    font-weight:850;
    backdrop-filter:blur(8px);
}

.home-paths .path-card__title{
    max-width:340px;
    margin:0 0 10px;
    color:#fff;
    font-size:clamp(1.45rem,2.4vw,2rem);
    line-height:1.08;
    letter-spacing:-.025em;
    font-weight:600;
}

.home-paths .path-card__text{
    max-width:360px;
    margin-bottom:22px;
    color:rgba(255,255,255,.82);
    font-size:.98rem;
    line-height:1.5;
    font-weight:400;
}

.home-paths .path-card__button{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:0;
    padding:0 18px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:13px;
    background:#fff;
    color:#1b0750;
    font-family:inherit;
    font-size:.96rem;
    font-weight:750;
    text-decoration:none;
    transition:
        transform .18s ease,
        background .18s ease;
}

.home-paths .path-card__button:hover{
    transform:translateY(-1px);
    background:#f4efff;
}

@media(min-width:900px){
    .home-paths .paths-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:899px) and (min-width:620px){
    .home-paths .paths-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:619px){
    .home-paths{
        padding-top:62px;
        padding-bottom:66px;
    }

    .home-paths .section-text{
        margin-bottom:28px;
    }

    .home-paths .path-card,
    .home-paths .path-card__body{
        min-height:390px;
    }

    .home-paths .path-card{
        border-radius:22px;
    }

    .home-paths .path-card__body{
        padding:24px;
    }

    .home-paths .path-card__button{
        width:100%;
    }
}

/* =========================================================
   FAQ · VERSIÓN MÁS LIMPIA Y ACTUAL
   ========================================================= */

.home-faq{
    padding-top:82px;
    padding-bottom:88px;
    background:#fff;
}

.home-faq .section-title{
    max-width:760px;
    margin-bottom:16px;
    color:var(--home-ink);
}

.home-faq .section-text{
    max-width:720px;
    margin-bottom:34px;
    color:var(--home-muted);
}

.home-faq .faq-wrap{
    max-width:900px;
    display:grid;
    gap:12px;
}

.home-faq .faq-item{
    overflow:hidden;
    border:1px solid var(--home-line);
    border-radius:18px;
    background:#fbfaff;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.home-faq .faq-item:hover{
    transform:translateY(-1px);
    border-color:#d9d0ef;
    box-shadow:0 12px 30px rgba(27,7,80,.05);
}

.home-faq .faq-item__q{
    position:relative;
    padding:20px 54px 20px 22px;
    color:var(--home-ink);
    font-family:inherit;
    font-size:1.08rem;
    line-height:1.35;
    font-weight:700;
}

/* pequeño acento visual a la derecha */
.home-faq .faq-item__q::after{
    content:"+";
    position:absolute;
    top:50%;
    right:20px;
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    transform:translateY(-50%);
    border-radius:50%;
    background:#eee8ff;
    color:var(--home-purple);
    font-size:1.1rem;
    font-weight:500;
}

.home-faq .faq-item__a{
    padding:0 22px 22px;
    border-top:0;
    color:var(--home-muted);
    font-size:.98rem;
    line-height:1.65;
    font-weight:400;
}

/* Si el FAQ actual usa JS para abrir/cerrar y agrega alguna clase,
   dejamos preparado el cambio visual del icono */
.home-faq .faq-item.active .faq-item__q::after,
.home-faq .faq-item.is-open .faq-item__q::after,
.home-faq .faq-item.open .faq-item__q::after{
    content:"−";
    background:var(--home-purple);
    color:#fff;
}

@media(max-width:759px){
    .home-faq{
        padding-top:62px;
        padding-bottom:66px;
    }

    .home-faq .faq-wrap{
        gap:10px;
    }

    .home-faq .faq-item{
        border-radius:16px;
    }

    .home-faq .faq-item__q{
        padding:18px 50px 18px 18px;
        font-size:1rem;
    }

    .home-faq .faq-item__q::after{
        right:16px;
        width:26px;
        height:26px;
    }

    .home-faq .faq-item__a{
        padding:0 18px 18px;
        font-size:.95rem;
    }
}

