/* =====================================================
   THE ZENSIVE — INFO
   Secciones fijas (sticky) que se detienen mientras el
   contenido avanza y después continúan.
===================================================== */

body.info {
    background:var(--color-grey);
    color:var(--color-black);
}

.info-page {
    width:100%;
}

.info-label {
    margin:0;
    font-size:13px;
    letter-spacing:.02em;
    text-transform:uppercase;
}

.info-serif {
    font-family:"Instrument Serif",serif;
    font-style:italic;
    text-transform:none;
}

.info-bracket {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:12px 0 0;
    font-size:13px;
    text-transform:uppercase;
}

.info-bracket em {
    font-style:normal;
}

/* La pastilla del menú se coloca en INFO */

.floating-menu-track[data-active="info"] .floating-menu-active {
    transform:
        translateY(-50%)
        translateX(250%);
}


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

.info-hero {
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:72vh;
    min-height:72svh;
    padding:40px 30px 34px;
    /* del oscuro de la paleta al beige del fondo */
    background:linear-gradient(
        180deg,
        var(--color-black) 0%,
        #5a3a3c 30%,
        #a38c86 62%,
        var(--color-grey) 100%
    );
}

.info-hero-title {
    margin:0;
    max-width:1100px;
    font-size:clamp(40px,6.2vw,104px);
    font-weight:300;
    line-height:.9;
    letter-spacing:-.045em;
    color:var(--color-grey);
}

/* etiqueta · frase · scroll, sobre la parte clara del degradado */

.info-hero-meta {
    display:grid;
    grid-template-columns:1fr 2fr auto;
    align-items:baseline;
    gap:20px;
    margin-top:56px;
    color:var(--color-black);
}

.info-hero-meta .info-serif {
    font-size:20px;
}


/* =====================================================
   01 — SOBRE MÍ
===================================================== */

.info-about {
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:60px;
    padding:90px 30px 160px;
}

.info-about-media {
    position:sticky;
    top:30px;
    align-self:start;
}

.info-about-photo {
    margin:0;
    height:calc(100vh - 110px);
    max-height:860px;
    overflow:hidden;
    border-radius:16px;
    background:#e8e8e6;
}

.info-about-photo img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 40%;
    filter:grayscale(1);
}

.info-about-text {
    display:flex;
    flex-direction:column;
    gap:16vh;
    padding-top:4px;
}

.info-big {
    margin:0;
    max-width:600px;
    font-size:clamp(20px,2vw,32px);
    font-weight:400;
    line-height:1.02;
    letter-spacing:-.035em;
}

.info-about-text .info-big:last-child {
    margin-bottom:20vh;
    font-family:"Instrument Serif",serif;
    font-style:italic;
    font-size:clamp(22px,2.2vw,34px);
    letter-spacing:-.01em;
    color:var(--color-red);
}


/* =====================================================
   02 — LO QUE HAGO (lista fija)
===================================================== */

.info-services {
    position:relative;
    height:calc(6 * 70vh + 100vh);
    background:var(--color-black);
    color:var(--color-grey);
}

.services-sticky {
    position:sticky;
    top:0;
    display:grid;
    grid-template-columns:1fr 1.25fr 1fr;
    gap:40px;
    height:100vh;
    height:100svh;
    padding:28px 30px 120px;
    overflow:hidden;
}

.services-side {
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.services-desc {
    position:relative;
    min-height:8em;
}

.services-desc p {
    position:absolute;
    left:0;
    bottom:0;
    margin:0;
    max-width:320px;
    font-family:"Instrument Serif",serif;
    font-style:italic;
    font-size:clamp(17px,1.3vw,20px);
    line-height:1.15;
    opacity:0;
    transition:opacity .5s ease;
}

.services-desc p.is-active {
    opacity:1;
}

.services-list-wrap {
    position:relative;
    height:100%;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent);
            mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent);
}

.services-list {
    --item:clamp(34px,3.8vw,62px);
    position:absolute;
    top:50%;
    left:0;
    margin:0;
    padding:0;
    list-style:none;
    transform:translateY(calc(var(--item) * -.5));
    will-change:transform;
}

.services-list li {
    height:var(--item);
    font-size:calc(var(--item) * .8);
    font-weight:300;
    line-height:1;
    letter-spacing:-.045em;
    white-space:nowrap;
    color:rgba(236,225,211,.28);
    transition:color .4s ease;
}

.services-list li.is-active {
    color:var(--color-grey);
}

.services-media {
    align-self:center;
    width:100%;
    max-width:340px;
    justify-self:end;
}

.services-frames {
    position:relative;
    aspect-ratio:4 / 5;
    overflow:hidden;
    border-radius:12px;
}

.services-frames figure {
    position:absolute;
    inset:0;
    margin:0;
    opacity:0;
    transform:scale(1.06);
    transition:opacity .6s ease,transform 1.1s cubic-bezier(.16,1,.3,1);
}

.services-frames figure.is-active {
    opacity:1;
    transform:scale(1);
}

.services-frames img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}


/* =====================================================
   03 — LO QUE ME MUEVE (historia sobre imagen fija)
===================================================== */

.info-story {
    position:relative;
    background:var(--color-black);
}

.story-bg {
    position:sticky;
    top:0;
    height:100vh;
    height:100svh;
    overflow:hidden;
}

.story-bg img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.85);
}

.story-bg::after {
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(rgba(57,27,33,.58),rgba(57,27,33,.72));
}

.story-chapters {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:24vh;
    margin-top:-62vh;
    padding:0 30px 22vh;
    color:var(--color-grey);
}

.story-label {
    color:var(--color-grey);
}

.story-chapter {
    width:min(460px,100%);
}

.story-chapter:nth-of-type(even) {
    align-self:flex-end;
}

.story-num {
    display:block;
    font-family:"Instrument Serif",serif;
    font-style:italic;
    font-size:18px;
    opacity:.75;
}

.story-chapter h2 {
    margin:12px 0 18px;
    font-family:"Instrument Serif",serif;
    font-style:italic;
    font-weight:400;
    font-size:clamp(34px,3.6vw,56px);
    line-height:.95;
    letter-spacing:-.01em;
}

.story-chapter p {
    margin:0;
    font-size:clamp(16px,1.25vw,19px);
    line-height:1.2;
    letter-spacing:-.015em;
}

.story-end {
    align-self:center;
    max-width:760px;
    margin:0;
    text-align:center;
    font-size:clamp(26px,2.8vw,44px);
    font-weight:300;
    line-height:.98;
    letter-spacing:-.04em;
    text-transform:uppercase;
}


/* =====================================================
   TABLET / MÓVIL
===================================================== */

@media (max-width:900px) {

    .info-hero {
        padding:28px 16px 0;
    }

    .info-hero {
        min-height:60vh;
        min-height:60svh;
    }

    .info-hero-meta {
        grid-template-columns:1fr auto;
        margin-top:36px;
    }

    .info-hero-meta .info-serif {
        grid-column:1 / -1;
        grid-row:2;
        font-size:18px;
    }

    .info-about {
        grid-template-columns:1fr;
        gap:40px;
        padding:80px 16px 120px;
    }

    .info-about-media {
        position:sticky;
        top:16px;
        z-index:0;
    }

    .info-about-photo {
        height:46vh;
    }

    .info-about-text {
        position:relative;
        z-index:1;
        gap:12vh;
        padding:24px 18px 30px;
        border-radius:16px;
        background:var(--color-grey);
    }

    .info-about-text .info-big:last-child {
        margin-bottom:0;
    }

    .services-sticky {
        grid-template-columns:1fr;
        grid-template-rows:auto 1fr auto;
        gap:18px;
        padding:20px 16px 100px;
    }

    .services-side {
        gap:12px;
    }

    .services-desc {
        min-height:4.6em;
    }

    .services-desc p {
        top:0;
        bottom:auto;
        font-size:17px;
    }

    .services-list {
        --item:clamp(30px,8.5vw,44px);
    }

    .services-media {
        position:absolute;
        right:16px;
        bottom:100px;
        width:34vw;
        max-width:160px;
    }

    .services-caption {
        font-size:11px;
    }

    .story-chapters {
        gap:20vh;
        padding:0 16px 22vh;
    }

    .story-chapter,
    .story-chapter:nth-of-type(even) {
        align-self:flex-start;
    }
}
