
/* Pedagogías poéticas: capa específica sobre el sistema visual de LAVAPERÚ */
#pp-stars{
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    pointer-events: none;
}
body.dark-theme{
    background:
        radial-gradient(circle at 70% 15%, rgba(104, 28, 48, .34), transparent 31%),
        radial-gradient(circle at 23% 56%, rgba(35, 25, 73, .35), transparent 38%),
        #190b14;
}
.pp-shell{
    width: 70%;
    margin-left: auto;
    margin-right: auto;
}
.pp-hero{
    min-height: 760px;
    padding: 78px 0 86px;
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 48px;
    align-items: center;
}
.pp-hero__copy h2,
.pp-heading h2,
.pp-cmp h2,
.pp-style h2,
.pp-coordinator h2{
    color: #fff5df;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(52px, 6vw, 96px);
    line-height: .92;
    letter-spacing: -.045em;
    margin: 14px 0 28px;
}
.pp-hero__copy h2 em,
.pp-heading h2 em,
.pp-style h2 em{
    color: var(--orange);
    font-weight: 400;
}
.pp-lead{
    color: var(--texto);
    font-size: 21px;
    line-height: 1.65;
    text-align: left;
    margin-bottom: 17px;
}
.pp-hero__copy > p:not(.lava-eyebrow){
    color: var(--texto);
    text-align: left;
}
.pp-actions{
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 32px;
}
.pp-button{
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(211,93,25,.72);
    padding: 10px 22px;
    color: var(--orange);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.pp-button--primary{
    background: var(--orange);
    color: #321216;
}
.pp-button:hover{
    transform: translateY(-2px);
    box-shadow: 0 15px 30px rgba(0,0,0,.22);
}
.pp-cosmos{
    position: relative;
    height: 620px;
    isolation: isolate;
}
.pp-orbit{
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
    border: 1px solid rgba(231, 117, 63, .2);
    border-radius: 50%;
    animation: pp-spin 48s linear infinite;
}
.pp-orbit::before,
.pp-orbit::after{
    content:"";
    position:absolute;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--orange);
    box-shadow:0 0 18px 5px rgba(211,93,25,.45);
}
.pp-orbit::before{left:12%;top:17%}
.pp-orbit::after{right:8%;bottom:21%}
.pp-orbit--1{width:570px;height:570px}
.pp-orbit--2{width:445px;height:445px;animation-direction:reverse;animation-duration:64s}
.pp-orbit--3{width:320px;height:320px;animation-duration:36s}
@keyframes pp-spin{to{rotate:360deg}}
.pp-core{
    position:absolute;
    left:50%;
    top:50%;
    translate:-50% -50%;
    width:202px;
    height:202px;
    border-radius:50%;
    z-index:3;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:#fff5df;
    font-family:Georgia, "Times New Roman", serif;
    font-size:29px;
    line-height:1.05;
    border:1px solid rgba(255,178,130,.72);
    background:radial-gradient(circle at 35% 30%,#641d30,#2b0d19 72%);
    box-shadow:0 0 66px rgba(211,93,25,.17), inset 0 0 35px rgba(255,255,255,.025);
}
.pp-core strong{font-weight:400;color:var(--orange)}
.pp-lines{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:1;
}
.pp-lines line{
    stroke:rgba(255,174,124,.42);
    stroke-width:1;
}
.pp-node{
    position:absolute;
    z-index:5;
    border:0;
    background:none;
    color:#fff5df;
    cursor:pointer;
    display:flex;
    gap:9px;
    align-items:center;
    font-size:13px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.pp-node i{
    display:block;
    width:16px;
    height:16px;
    border-radius:50%;
    border:1px solid #ffd3b2;
    background:var(--orange);
    box-shadow:0 0 17px 5px rgba(211,93,25,.42);
    animation:pp-pulse 2.5s ease-in-out infinite;
}
.pp-node:hover,
.pp-node.is-active{color:#ffad76}
.pp-node:hover i,
.pp-node.is-active i{scale:1.3;box-shadow:0 0 25px 8px rgba(211,93,25,.55)}
@keyframes pp-pulse{50%{box-shadow:0 0 24px 7px rgba(211,93,25,.52)}}
.pp-node--lienzo{left:45%;top:4%}
.pp-node--cuerpo{right:0;top:31%}
.pp-node--ritmo{right:7%;bottom:8%}
.pp-node--diseno{left:18%;bottom:7%}
.pp-node--derrumbe{left:-1%;top:32%}
.pp-section,
.pp-route-section,
.pp-tools,
.pp-projects{
    padding: 105px 0;
    border-top: 1px solid rgba(211,93,25,.17);
}
.pp-section{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:60px;
    align-items:start;
}
.pp-heading > p:not(.lava-eyebrow){
    color:var(--texto);
    font-size:18px;
    line-height:1.7;
    text-align:left;
}
.pp-heading--compact{max-width:850px}
.pp-heading--compact h2{font-size:clamp(44px,5vw,72px)}
.pp-active-card{
    padding:44px;
    border:1px solid rgba(231,117,63,.42);
    background:linear-gradient(145deg,rgba(100,29,48,.52),rgba(35,12,25,.86));
    box-shadow:0 28px 75px rgba(0,0,0,.28);
}
.pp-active-card__icon{
    width:70px;
    height:70px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:1px solid rgba(211,93,25,.55);
    color:var(--orange);
    font-size:32px;
    margin:20px 0;
}
.pp-active-card h3{
    color:#fff5df;
    font-family:Georgia, "Times New Roman", serif;
    font-size:54px;
    margin-bottom:15px;
}
.pp-active-card > p:not(.lava-eyebrow),
.pp-practice p{
    color:var(--texto);
    text-align:left;
}
.pp-practice{
    margin:28px 0;
    padding-top:23px;
    border-top:1px solid rgba(211,93,25,.38);
}
.pp-practice strong{
    color:#ffad76;
    font-size:12px;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.pp-text-link{font-weight:700}
.pp-constellation-grid{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin-top:10px;
}
.pp-constellation-card{
    min-height:190px;
    padding:23px;
    border:1px solid rgba(211,93,25,.25);
    background:rgba(51,16,30,.64);
    transition:.25s ease;
}
.pp-constellation-card:hover{
    transform:translateY(-6px);
    border-color:var(--orange);
    background:rgba(91,25,43,.55);
}
.pp-constellation-card span{
    color:var(--orange);
    font-size:28px;
}
.pp-constellation-card h3{
    color:#fff5df;
    font-family:Georgia, "Times New Roman", serif;
    font-size:24px;
    margin:18px 0 9px;
}
.pp-constellation-card p{
    color:var(--texto);
    font-size:15px;
    line-height:1.55;
    text-align:left;
}
.pp-route-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-top:48px;
}
.pp-route-card{
    min-height:320px;
    padding:35px;
    color:#fff5df;
    border:1px solid rgba(211,93,25,.25);
    background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(91,24,43,.26));
    transition:.25s ease;
}
.pp-route-card > span{
    color:rgba(211,93,25,.5);
    font-family:Georgia, "Times New Roman", serif;
    font-size:52px;
}
.pp-route-card h3{
    color:#fff5df;
    font-family:Georgia, "Times New Roman", serif;
    font-size:30px;
    margin:42px 0 15px;
}
.pp-route-card p{
    color:var(--texto);
    text-align:left;
    line-height:1.6;
}
.pp-route-card b{color:var(--orange)}
.pp-route-card:hover{transform:translateY(-7px);border-color:var(--orange)}
.pp-cmp{
    padding:110px 0;
    display:grid;
    grid-template-columns:.7fr 1.3fr;
    gap:78px;
    border-top:1px solid rgba(211,93,25,.17);
}
.pp-cmp__intro h2{color:var(--orange);font-size:120px}
.pp-cmp__intro p:not(.lava-eyebrow){color:var(--texto);text-align:left}
.pp-cmp__steps{display:grid;gap:12px}
.pp-cmp__steps article{
    display:grid;
    grid-template-columns:100px 1fr;
    gap:24px;
    padding:29px;
    border:1px solid rgba(211,93,25,.25);
    background:rgba(48,15,28,.65);
}
.pp-cmp__steps article > span{
    width:78px;
    height:78px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:var(--orange);
    font-family:Georgia, "Times New Roman", serif;
    font-size:46px;
    border:1px solid rgba(211,93,25,.55);
}
.pp-cmp__steps h3{
    color:#fff5df;
    font-family:Georgia, "Times New Roman", serif;
    font-size:31px;
    margin:4px 0 8px;
}
.pp-cmp__steps p:not(.lava-eyebrow){color:var(--texto);text-align:left}
.pp-tools__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-top:48px;
}
.pp-tools__grid article{
    min-height:250px;
    padding:29px;
    border:1px solid rgba(211,93,25,.25);
    background:rgba(43,13,26,.65);
}
.pp-tools__grid article > span{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border:1px solid rgba(211,93,25,.55);
    color:var(--orange);
    font-size:12px;
    font-weight:700;
}
.pp-tools__grid h3{
    color:#fff5df;
    font-family:Georgia, "Times New Roman", serif;
    font-size:25px;
    margin:32px 0 12px;
}
.pp-tools__grid p{color:var(--texto);font-size:15px;line-height:1.55;text-align:left}

.pp-style{
    padding:70px 70px;
    margin-top:0;
    margin-bottom:40px;
    border:1px solid rgba(211,93,25,.28);
    background:linear-gradient(120deg,rgba(97,27,46,.52),rgba(35,12,25,.68));
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:70px;
}


.pp-style h2{font-size:clamp(48px,5.4vw,80px)}
.pp-style blockquote{
    color:#ffcfad;
    font-family:Georgia, "Times New Roman", serif;
    font-size:22px;
    font-style:italic;
    border-left:2px solid var(--orange);
    padding-left:18px;
    margin-top:30px;
}
.pp-style__content > p{color:var(--texto);text-align:left;font-size:19px}
.pp-style__grid{display:grid;gap:12px;margin-top:35px}
.pp-style__grid article{
    padding:22px;
    border-left:2px solid var(--orange);
    background:rgba(25,9,17,.28);
}
.pp-style__grid h3{
    color:#fff5df;
    font-family:Georgia, "Times New Roman", serif;
    font-size:25px;
    margin-bottom:8px;
}
.pp-style__grid p{color:var(--texto);font-size:15px;text-align:left}
.pp-projects__grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-top:45px;
}
.pp-projects__grid article{
    min-height:300px;
    padding:38px;
    border:1px solid rgba(211,93,25,.28);
    background:rgba(50,15,29,.62);
}
.pp-projects__grid h3{
    color:#fff5df;
    font-family:Georgia, "Times New Roman", serif;
    font-size:34px;
    margin:12px 0 20px;
}
.pp-projects__grid p:not(.lava-eyebrow){color:var(--texto);text-align:left}
.pp-projects__grid a{font-weight:700}
.pp-coordinator{
    margin-top:30px;
    margin-bottom:110px;
    padding:55px;
    display:grid;
    grid-template-columns:150px 1fr;
    gap:38px;
    align-items:center;
    border-top:1px solid rgba(211,93,25,.35);
    border-bottom:1px solid rgba(211,93,25,.35);
}
.pp-coordinator__mark{
    width:130px;
    height:130px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:var(--orange);
    font-family:Georgia, "Times New Roman", serif;
    font-size:48px;
    border:1px solid rgba(211,93,25,.6);
    background:rgba(89,25,43,.42);
}
.pp-coordinator h2{font-size:54px;margin:8px 0 15px}
.pp-coordinator p:not(.lava-eyebrow){color:var(--texto);text-align:left}
@media(max-width:1000px){
    .pp-shell{width:90%}
    .pp-hero,.pp-section,.pp-cmp,.pp-style{grid-template-columns:1fr}
    .pp-cosmos{height:620px}
    .pp-constellation-grid{grid-template-columns:repeat(2,1fr)}
    .pp-route-grid{grid-template-columns:1fr}
    .pp-tools__grid{grid-template-columns:repeat(2,1fr)}
    .pp-projects__grid{grid-template-columns:1fr}
}
@media(max-width:650px){
    .pp-hero__copy h2{font-size:61px}
    .pp-cosmos{scale:.75;margin:-70px -75px}
    .pp-constellation-grid,.pp-tools__grid{grid-template-columns:1fr}
    .pp-cmp__steps article{grid-template-columns:1fr}
    .pp-style{padding:35px}
    .pp-coordinator{grid-template-columns:1fr;padding:35px}
}
.lava-footer__coordinator{
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:18px;
    margin-bottom:22px;
    max-width:420px;
}

.pp-style blockquote cite{
    display:block;
    margin-top:8px;
    font-size:14px;
    font-style:normal;
    letter-spacing:.03em;
}

.lava-footer__coordinator img.lava-footer__coordinator-photo{
    width:92px !important;
    height:92px !important;
    min-width:92px !important;
    max-width:92px !important;
    min-height:92px !important;
    max-height:92px !important;
    border-radius:50% !important;
    object-fit:cover !important;
    object-position:center 22% !important;
    border:2px solid #d35d19;
    display:block;
    flex:0 0 92px;
}

.lava-footer__coordinator-name{
    margin:6px 0 0;
    font-size:18px;
    font-weight:700;
    color:#321216;
}

@media(max-width:650px){
    .lava-footer__coordinator{
        align-items:center;
        max-width:100%;
    }

    .lava-footer__coordinator img.lava-footer__coordinator-photo{
        width:78px !important;
        height:78px !important;
        min-width:78px !important;
        max-width:78px !important;
        min-height:78px !important;
        max-height:78px !important;
        flex-basis:78px;
    }
}

/* =========================================================
   CONSTELACIONES — CÍRCULO + PANEL ÚNICO
   ========================================================= */
.pp-section--constellations{
    display:grid;
    grid-template-columns:.78fr 1.22fr;
    gap:55px;
    align-items:center;
    padding-top:95px;
    padding-bottom:110px;
}

.pp-heading--constellations h2{
    font-size:clamp(54px,5.7vw,88px);
    margin-bottom:24px;
}

.pp-heading--constellations > p:not(.lava-eyebrow){
    max-width:500px;
}

.pp-heading__hint{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-top:35px;
    max-width:460px;
}

.pp-heading__hint > span{
    width:18px;
    height:18px;
    border-radius:50%;
    flex:0 0 18px;
    margin-top:3px;
    border:2px solid var(--orange);
    box-shadow:0 0 0 4px rgba(211,93,25,.12);
}

.pp-heading__hint p{
    margin:0;
    color:var(--texto);
    text-align:left;
    line-height:1.5;
}

.pp-cosmos--section{
    height:560px;
}

.pp-cosmos--section::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-33px;
    width:1px;
    height:42px;
    background:var(--orange);
    z-index:8;
}

.pp-active-card--wide{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:0;
    padding:0;
    overflow:hidden;
    min-height:340px;
    scroll-margin-top:110px;
}

.pp-active-card__left,
.pp-active-card__right{
    padding:38px 48px;
}

.pp-active-card__right{
    border-left:1px solid rgba(211,93,25,.34);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.pp-active-card__title-row{
    display:flex;
    align-items:center;
    gap:24px;
    margin:18px 0 12px;
}

.pp-active-card__title-row .pp-active-card__icon{
    margin:0;
    flex:0 0 76px;
    width:76px;
    height:76px;
}

.pp-active-card__title-row h3{
    margin:0;
    font-size:50px;
}

.pp-active-card--wide #pp-description{
    max-width:690px;
    font-size:18px;
    line-height:1.62;
}

.pp-sense{
    display:grid;
    grid-template-columns:42px 1fr;
    gap:18px;
    margin-top:28px;
    padding-top:25px;
    border-top:1px solid rgba(211,93,25,.34);
}

.pp-sense__icon{
    color:var(--orange);
    font-size:30px;
    line-height:1;
}

.pp-sense strong,
.pp-practice--wide strong{
    display:block;
    color:#ffad76;
    font-size:12px;
    letter-spacing:.11em;
    text-transform:uppercase;
    margin-bottom:10px;
}

.pp-sense p,
.pp-practice--wide p{
    margin:0;
    color:var(--texto);
    text-align:left;
    line-height:1.6;
}

.pp-practice--wide{
    margin:0 0 25px;
    padding:0 0 26px;
    border-top:0;
    border-bottom:1px solid rgba(211,93,25,.34);
}

.pp-active-card__note{
    color:var(--orange);
    margin:10px 0 0;
    text-align:left;
    font-size:14px;
}

@media(max-width:1000px){
    .pp-section--constellations{
        grid-template-columns:1fr;
    }

    .pp-cosmos--section{
        margin-top:-20px;
    }

    .pp-active-card--wide{
        grid-template-columns:1fr;
    }

    .pp-active-card__right{
        border-left:0;
        border-top:1px solid rgba(211,93,25,.34);
    }
}

@media(max-width:650px){
    .pp-active-card__left,
    .pp-active-card__right{
        padding:30px 25px;
    }

    .pp-active-card__title-row{
        align-items:flex-start;
        gap:16px;
    }

    .pp-active-card__title-row h3{
        font-size:40px;
    }

    .pp-active-card__title-row .pp-active-card__icon{
        width:62px;
        height:62px;
        flex-basis:62px;
    }
}


/* =========================================================
   DEPURACIÓN DE PORTADA Y CONSTELACIONES
   ========================================================= */

/* La portada conserva solo la introducción, sin repetir el cielo. */
.pp-hero{
    min-height:auto;
    grid-template-columns:1fr;
    padding-top:72px;
    padding-bottom:72px;
}

.pp-hero__copy{
    max-width:860px;
}

/* Títulos de constelaciones: más pequeños, ambos en redonda. */
.pp-heading--constellations h2{
    font-size:clamp(44px,4.8vw,70px);
    line-height:1;
}

.pp-heading--constellations h2 span{
    font-style:normal;
    font-weight:400;
}

.pp-heading--constellations .pp-heading__lava{
    color:var(--orange);
}

/* Botón de retorno al cielo. */
.pp-return-sky{
    margin-top:30px;
    padding-top:24px;
    border-top:1px solid rgba(211,93,25,.34);
}

.pp-return-sky p{
    margin:0 0 18px;
    color:var(--texto);
    text-align:left;
    line-height:1.55;
}

.pp-return-sky p strong{
    color:#fff5df;
    font-weight:700;
}

.pp-return-sky__button{
    color:var(--orange);
    border-color:var(--orange);
    background:transparent;
}

/* Mantener paleta común de LAVAPERÚ. */
.pp-active-card__note,
.pp-text-link,
.pp-sense__icon,
.pp-active-card__icon,
.pp-node.is-active,
.pp-node:hover{
    color:var(--orange);
}

@media(max-width:650px){
    .pp-hero{
        padding-top:52px;
        padding-bottom:52px;
    }

    .pp-heading--constellations h2{
        font-size:42px;
    }
}
/* COLOR DINÁMICO DE CADA CONSTELACIÓN */
:root{
    --constellation-color:#e26f5b;
}

.pp-active-card--wide{
    border-color:var(--constellation-color);
    transition:border-color .35s ease, box-shadow .35s ease;
    box-shadow:
        0 28px 75px rgba(0,0,0,.28),
        0 0 32px color-mix(in srgb, var(--constellation-color) 18%, transparent);
}

.pp-active-card__icon,
.pp-sense__icon,
.pp-active-card__note,
.pp-text-link{
    color:var(--constellation-color);
    transition:color .35s ease;
}

.pp-active-card__icon{
    border-color:var(--constellation-color);
}

.pp-sense,
.pp-practice--wide,
.pp-active-card__right,
.pp-return-sky{
    border-color:color-mix(in srgb, var(--constellation-color) 48%, transparent);
    transition:border-color .35s ease;
}

.pp-sense strong,
.pp-practice--wide strong{
    color:var(--constellation-color);
    transition:color .35s ease;
}

.pp-return-sky__button{
    color:var(--constellation-color);
    border-color:var(--constellation-color);
    transition:
        color .35s ease,
        border-color .35s ease,
        background .35s ease;
}

.pp-return-sky__button:hover{
    background:var(--constellation-color);
    color:#271019;
}

.pp-node{
    transition:color .35s ease;
}

.pp-node.is-active{
    color:var(--constellation-color);
}

.pp-node.is-active i{
    background:var(--constellation-color);
    border-color:var(--constellation-color);
    box-shadow:
        0 0 25px 8px
        color-mix(in srgb, var(--constellation-color) 55%, transparent);
}
/* FOOTER UNIFICADO CON VANGUARDIA */
#footer.lava-footer{
    background:
        url("../img/footer.85140e54acd92e630cee.jpg") center/cover no-repeat;
    color:#321216;
}
    background:
        linear-gradient(rgba(237,102,45,.28), rgba(237,102,45,.28)),
        url("../img/banner-festival-de-las-humanidades.jpg") center/cover no-repeat;
    color:#321216;
}

.lava-footer__inner{
    width:70%;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px;
    padding:46px 0 30px;
}

.lava-footer h3{
    margin:0 0 20px;
    color:#321216;
    font-size:24px;
}

.lava-footer__buttons{
    display:grid;
    gap:10px;
    max-width:340px;
}

.lava-footer__buttons a{
    min-height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 24px;
    border:1px solid rgba(50,18,22,.78);
    color:#321216;
    font-size:17px;
    font-weight:700;
    text-align:center;
}

.lava-footer__buttons a:first-child{
    background:#321216;
    color:#fffca0;
}

.lava-footer__buttons a:last-child{
    background:#fffca0;
    color:#321216;
}

.lava-footer__buttons a:hover{
    filter:brightness(1.06);
    transform:translateY(-1px);
}

.lava-footer__contact p,
.lava-footer__contact a,
.lava-footer__contact span{
    color:#321216;
}

.lava-footer__coordinator{
    max-width:520px;
    margin:0 0 22px;
}

.lava-footer__mail{
    margin-top:18px;
}

.lava-footer__social{
    margin-top:24px;
}

.lava-footer__copyright{
    width:70%;
    margin:0 auto;
    padding:8px 0 18px;
    color:#321216;
    font-size:13px;
    text-align:left;
}

@media(max-width:1000px){
    .lava-footer__inner,
    .lava-footer__copyright{
        width:90%;
    }
}

@media(max-width:650px){
    .lava-footer__inner{
        grid-template-columns:1fr;
        gap:42px;
    }

    .lava-footer__buttons{
        max-width:none;
    }
}
/* UNIFICAR TODOS LOS BOTONES DEL FOOTER DE PEDAGOGÍAS */

#footer .lava-footer__buttons a,
#footer .lava-footer__buttons a:first-child,
#footer .lava-footer__buttons a:last-child{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-height:58px !important;
    padding:12px 22px !important;

    background:rgba(255,255,255,.05) !important;
    border:1px solid rgba(50,18,22,.75) !important;
    border-radius:7px !important;

    color:#321216 !important;
    font-size:18px !important;
    font-weight:700 !important;
    line-height:1.2 !important;

    text-align:center !important;
    text-decoration:none !important;
    box-shadow:none !important;
}

#footer .lava-footer__buttons a:hover,
#footer .lava-footer__buttons a:first-child:hover,
#footer .lava-footer__buttons a:last-child:hover{
    background:#321216 !important;
    color:#fff6bd !important;
}
/* BRILLO PROPIO PARA CADA CONSTELACIÓN */

.constellation-node{
    box-shadow:
        0 0 10px color-mix(in srgb, var(--constellation-color) 55%, transparent),
        0 0 24px color-mix(in srgb, var(--constellation-color) 32%, transparent);
    transition:
        box-shadow .25s ease,
        transform .25s ease,
        filter .25s ease;
}

.constellation-node:hover,
.constellation-node:focus,
.constellation-node.is-active{
    box-shadow:
        0 0 14px var(--constellation-color),
        0 0 34px color-mix(in srgb, var(--constellation-color) 70%, transparent),
        0 0 60px color-mix(in srgb, var(--constellation-color) 38%, transparent);
    filter:brightness(1.12);
    transform:scale(1.05);
}
/* BRILLO DE CADA CONSTELACIÓN CON SU COLOR */

.pp-node{
    --node-color:#d35d19;
}

.pp-node--lienzo{
    --node-color:#d35d19;
}

.pp-node--cuerpo{
    --node-color:#e26f5b;
}

.pp-node--ritmo{
    --node-color:#d9a441;
}

.pp-node--diseno{
    --node-color:#7667b8;
}

.pp-node--derrumbe{
    --node-color:#b5486a;
}

.pp-node i{
    background:var(--node-color) !important;
    border-color:var(--node-color) !important;
    box-shadow:
        0 0 10px color-mix(in srgb, var(--node-color) 65%, transparent),
        0 0 24px color-mix(in srgb, var(--node-color) 38%, transparent) !important;
    transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.pp-node span{
    transition:color .22s ease, text-shadow .22s ease;
}

.pp-node:hover i,
.pp-node:focus i,
.pp-node.is-active i{
    transform:scale(1.18);
    filter:brightness(1.18);
    box-shadow:
        0 0 12px var(--node-color),
        0 0 30px color-mix(in srgb, var(--node-color) 78%, transparent),
        0 0 52px color-mix(in srgb, var(--node-color) 45%, transparent) !important;
}

.pp-node:hover span,
.pp-node:focus span,
.pp-node.is-active span{
    color:var(--node-color) !important;
    text-shadow:
        0 0 8px color-mix(in srgb, var(--node-color) 80%, transparent),
        0 0 18px color-mix(in srgb, var(--node-color) 45%, transparent);
}
/* =========================================================
   CONSTELACIONES — PORTADA IGUAL AL MODELO LAVATALLERES
   ========================================================= */

/* Distancia respecto del menú y composición general */
.pp-section--constellations{
    padding-top:46px !important;
    padding-bottom:110px !important;
    align-items:start !important;
}

/* Eliminar desplazamientos artificiales */
.pp-heading--constellations{
    transform:none !important;
    padding-top:0 !important;
    margin-top:0 !important;
}

/* Etiqueta superior */
.pp-heading--constellations .lava-eyebrow{
    margin:0 0 12px !important;
    color:var(--orange) !important;
    font-family:"Roboto Condensed", Arial, sans-serif !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
}

/* Título completo */
.pp-heading--constellations h2{
    margin:0 0 24px !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-weight:700 !important;
    line-height:1.08 !important;
    letter-spacing:0 !important;
}

/* Primera línea */
.pp-heading--constellations h2 > span:first-child{
    display:block !important;
    color:#fffca0 !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:42px !important;
    font-weight:700 !important;
    line-height:1.08 !important;
}

/* Segunda línea */
.pp-heading--constellations .pp-heading__lava{
    display:block !important;
    margin-top:2px !important;
    color:#fffca0 !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:42px !important;
    font-weight:700 !important;
    line-height:1.08 !important;
    letter-spacing:0 !important;
}

/* Texto blanco: conservar longitud y alineación */
.pp-heading--constellations > p:not(.lava-eyebrow){
    max-width:500px !important;
    margin:0 !important;
    color:var(--texto) !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:19px !important;
    font-weight:400 !important;
    line-height:1.7 !important;
    text-align:left !important;
}

/* Bloque destacado equivalente al modelo */
.pp-heading__hint{
    display:flex !important;
    align-items:flex-start !important;
    gap:14px !important;
    max-width:460px !important;
    margin-top:20px !important;
}

.pp-heading__hint > span{
    width:18px !important;
    height:18px !important;
    flex:0 0 18px !important;
    margin-top:3px !important;
    border:2px solid var(--orange) !important;
    border-radius:50% !important;
    box-shadow:0 0 0 4px rgba(211,93,25,.12) !important;
}

.pp-heading__hint p{
    margin:0 !important;
    color:var(--texto) !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:15px !important;
    line-height:1.5 !important;
    text-align:left !important;
}

/* Mantener intacto el diagrama */
.pp-cosmos--section{
    margin-top:0 !important;
}

/* Adaptación móvil */
@media(max-width:650px){
    .pp-section--constellations{
        padding-top:38px !important;
    }

    .pp-heading--constellations h2 > span:first-child,
    .pp-heading--constellations .pp-heading__lava{
        font-size:36px !important;
    }

    .pp-heading--constellations > p:not(.lava-eyebrow){
        font-size:16px !important;
    }
}
.pp-heading--constellations > p:not(.lava-eyebrow){
    font-size:16px !important;
    line-height:1.6 !important;
}

.pp-heading__hint p{
    font-size:14px !important;
    line-height:1.45 !important;
}
/* CMP — JERARQUÍA VISUAL IGUAL AL MODELO LAVATALLERES */

.pp-cmp__intro .lava-eyebrow{
    margin:0 0 12px !important;
    color:var(--orange) !important;
    font-family:"Roboto Condensed", Arial, sans-serif !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
}

.pp-cmp__intro h2{
    margin:0 0 24px !important;
    color:#fffca0 !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:42px !important;
    font-weight:700 !important;
    line-height:1.08 !important;
    letter-spacing:0 !important;
}

.pp-cmp__intro > p:not(.lava-eyebrow){
    margin:0 !important;
    color:var(--texto) !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.65 !important;
    text-align:left !important;
}
/* =========================================================
   ESTILÍSTICA Y PROYECTOS — IGUALAR AL MODELO LAVATALLERES
   ========================================================= */

/* Etiquetas superiores */
.pp-style__title .lava-eyebrow,
.pp-projects .lava-eyebrow{
    margin:0 0 12px !important;
    color:var(--orange) !important;
    font-family:"Roboto Condensed", Arial, sans-serif !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
}

/* Títulos principales */
.pp-style__title h2,
.pp-projects .pp-heading h2{
    margin:0 0 24px !important;
    color:#fffca0 !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:42px !important;
    font-weight:700 !important;
    line-height:1.08 !important;
    letter-spacing:0 !important;
}

/* Mantener todas las líneas del título con la misma tipografía */
.pp-style__title h2 span,
.pp-projects .pp-heading h2 span{
    display:block !important;
    margin-top:0 !important;
    color:#fffca0 !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:42px !important;
    font-weight:700 !important;
    line-height:1.08 !important;
    letter-spacing:0 !important;
}

/* Distancias internas */
.pp-style{
    padding-top:46px !important;
}

.pp-projects{
    padding-top:46px !important;
}

/* Cita de Estilística */
.pp-style blockquote{
    margin-top:28px !important;
    padding-left:18px !important;
    color:#ffcfad !important;
    font-size:18px !important;
    line-height:1.45 !important;
}
/* AJUSTE PROPORCIONAL — CMP Y ESTILÍSTICA */

/* CMP */
.pp-cmp__steps h3{
    font-size:27px !important;
}

.pp-cmp__steps p:not(.lava-eyebrow){
    font-size:15px !important;
    line-height:1.55 !important;
}

.pp-cmp__steps article > span{
    width:68px !important;
    height:68px !important;
    font-size:40px !important;
}

.pp-cmp__steps article{
    grid-template-columns:88px 1fr !important;
    padding:25px !important;
}

/* ESTILÍSTICA */
.pp-style__content > p{
    font-size:17px !important;
    line-height:1.6 !important;
}

.pp-style__grid h3{
    font-size:22px !important;
    line-height:1.15 !important;
}

.pp-style__grid p{
    font-size:14px !important;
    line-height:1.55 !important;
}

.pp-style__grid article{
    padding:19px !important;
}
/* LLAMADA A LA ACCIÓN — PEDAGOGÍAS */

.pp-heading__hint > div {
    min-width: 0;
}

.pp-heading__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 18px;
}

.pp-heading__actions .pp-button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border: 1px solid #d35d19;
    border-radius: 0;
    background: transparent;
    color: #d35d19;
    font: inherit;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

.pp-heading__actions .pp-button--primary {
    background: #d35d19;
    color: #fff;
}

.pp-heading__actions .pp-button:hover {
    background: #fffca0;
    border-color: #fffca0;
    color: #321216;
}

@media (max-width: 650px) {
    .pp-heading__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .pp-heading__actions .pp-button {
        width: 100%;
    }
}
/* LLAMADA A LA ACCIÓN — PEDAGOGÍAS */

.pp-heading__hint > div {
    min-width: 0;
    width: 100%;
}

.pp-heading__actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
    margin-top: 18px !important;
}

.pp-heading__actions .pp-button {
    min-height: 42px !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 18px !important;
    border: 1px solid #d35d19 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #d35d19 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

.pp-heading__actions .pp-button--primary {
    background: #d35d19 !important;
    color: #fff !important;
}

.pp-heading__actions .pp-button:hover {
    background: #fffca0 !important;
    border-color: #fffca0 !important;
    color: #321216 !important;
}

@media (max-width: 650px) {
    .pp-heading__actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .pp-heading__actions .pp-button {
        width: 100% !important;
    }
@media (max-width: 768px) {

    .header__nav {
        position: relative;
        flex-direction: column;
        align-items: stretch;
    }

    .header__nav .nav__menu {
        display: none !important;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        margin: 0;
        padding: 0;
    }

    .header__nav .nav__menu.is-open {
        display: flex !important;
    }

    .nav__hambrg {
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        min-height: 56px;
        padding: 0 24px;
        cursor: pointer;
    }
}
@media (max-width: 768px) {

    .header__nav {
        display: none !important;
        width: 100% !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .header__nav.is-open {
        display: flex !important;
    }

    .header__nav .nav__menu {
        display: none !important;
        width: 100% !important;
        flex-direction: column !important;
        align-items: stretch !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header__nav .nav__menu.is-open {
        display: flex !important;
    }

    .header__nav .nav__item,
    .header__nav .nav-dropdown {
        width: 100% !important;
    }

    .header__nav .nav__item,
    .header__nav .nav-dropdown > .nav__item,
    .header__nav .nav__item a {
        display: block !important;
        width: 100% !important;
    }
}
@media (max-width: 768px) {

    .header__nav.is-open {
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 18px 20px 24px !important;
    }

    .header__nav .nav__menu.is-open {
        width: min(92%, 420px) !important;
        margin: 0 auto !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 8px !important;
    }

    .header__nav .nav__menu > li,
    .header__nav .nav__item,
    .header__nav .nav-dropdown {
        width: 100% !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .header__nav .nav__item,
    .header__nav .nav-dropdown > .nav__item,
    .header__nav .nav__item a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        width: 100% !important;
    }

    .header__nav .nav-submenu {
        width: 100% !important;
        margin: 0 auto !important;
        padding-left: 0 !important;
        text-align: center !important;
    }

    .header__nav .nav-submenu a {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }

    .header__nav .nav__form {
        width: min(92%, 420px) !important;
        margin: 16px auto 0 !important;
        justify-content: center !important;
    }
}
.pp-projects__grid .lava-eyebrow {
    text-align: left;
    text-wrap: balance;
    line-height: 1.35;
}
.pp-projects__grid article .lava-eyebrow {
    display: block;
    text-align: left !important;
    text-align-last: left !important;
    word-spacing: 0 !important;
    white-space: normal;
    letter-spacing: 0.14em;
}
#pedagogias-poeticas .lava-eyebrow {
    width: auto !important;
    max-width: 100%;
}