
/* ==================================================
   DELTA TOPOGRAFIA
   VISUAL SYSTEM 02
   ================================================== */

:root {
    --black: #080808;
    --panel: #101010;
    --panel-2: #151515;
    --white: #f2f2ef;
    --gray: #9c9c98;
    --silver: #c9c9c4;
    --steel: #777b80;
    --line: rgba(255,255,255,.13);

    /* Compatibilidad con CSS original */
    --cyan: #c9c9c4;
    --blue: #8c8f93;
    --orange: #b8b8b4;
    --green: #aaaaa7;

    --delta-pad: clamp(24px,8vw,140px);
}


body {
    background: var(--black);
    color: var(--white);
}


.admin-bar .delta-header {
    top: 32px;
}


.delta-header {
    background: rgba(8,8,8,.76);
    border-color: rgba(255,255,255,.10);
}


.delta-brand-mark,
.delta-kicker,
.delta-eyebrow {
    color: var(--silver);
}


.delta-nav-contact {
    border-color: rgba(255,255,255,.35);
}


.delta-button-primary {
    background: #eeeeea;
    border-color: #eeeeea;
    color: #101010;
}


/* ==================================================
   IMAGEN
   ================================================== */

.delta-hero-photo,
.delta-showcase {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}


.delta-media {
    position: absolute;
    inset: -8%;
    z-index: -3;

    background-size: cover;
    background-position: center;

    filter:
        grayscale(1)
        contrast(1.08)
        brightness(.72);

    will-change: transform;

    transform:
        translate3d(0,0,0)
        scale(1.08);

    transition:
        filter .7s ease;
}


.delta-showcase:hover .delta-media {
    filter:
        grayscale(1)
        contrast(1.08)
        brightness(.80);
}


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

.delta-hero-photo {
    min-height: 100svh;

    display: flex;
    align-items: center;

    padding:
        150px
        var(--delta-pad)
        90px;
}


.delta-hero-photo-content {
    position: relative;
    z-index: 2;

    width: min(1050px,100%);
}


.delta-shade {
    position: absolute;
    inset: 0;
    z-index: -2;

    background:

        linear-gradient(
            90deg,
            rgba(5,5,5,.98) 0%,
            rgba(5,5,5,.86) 37%,
            rgba(5,5,5,.40) 68%,
            rgba(5,5,5,.18) 100%
        ),

        linear-gradient(
            0deg,
            rgba(5,5,5,.72),
            transparent 55%
        );
}


.delta-topo-grid {
    position: absolute;
    inset: 0;
    z-index: -1;

    opacity: .08;

    background-image:
        linear-gradient(
            rgba(255,255,255,.09) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.09) 1px,
            transparent 1px
        );

    background-size: 72px 72px;

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


.delta-hero-photo h1 {
    margin: 26px 0 22px;

    font-size:
        clamp(4.2rem,10.5vw,10.5rem);

    line-height: .80;
    letter-spacing: -.075em;
}


.delta-hero-photo h1 span {
    color: transparent;

    -webkit-text-stroke:
        1px rgba(255,255,255,.62);
}


.delta-hero-tagline {
    margin:
        0
        0
        25px;

    color: #dfdfdb;

    font-size:
        clamp(.75rem,1.15vw,1rem);

    font-weight: 700;

    letter-spacing: .28em;
}


.delta-hero-sub {
    max-width: 610px;

    color: #b4b4b0;

    font-size:
        clamp(1rem,1.7vw,1.3rem);

    line-height: 1.6;
}


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

.delta-stat strong {
    color: var(--white);
}


.delta-stat > span {
    color: var(--silver);
}


/* ==================================================
   INTRO
   ================================================== */

.delta-intro h2 em,
.delta-tech h2 em {
    color: var(--silver);
}


/* ==================================================
   SHOWCASES
   ================================================== */

.delta-showcases {
    background: #080808;
}


.delta-showcase-intro {
    padding:
        135px
        var(--delta-pad)
        80px;
}


.delta-showcase-intro h2,
.delta-tech-applied h2,
.delta-guide h2 {
    max-width: 1200px;

    margin:
        20px
        0
        0;

    font-size:
        clamp(3.5rem,7.8vw,7.8rem);

    line-height: .90;
    letter-spacing: -.065em;
}


.delta-showcase {
    min-height: min(88vh,900px);

    display: flex;
    align-items: flex-end;

    margin:
        0
        2vw
        28px;

    border-radius: 24px;

    background: #101010;
}


.delta-showcase-overlay {
    position: absolute;
    inset: 0;
    z-index: -2;

    background:

        linear-gradient(
            90deg,
            rgba(5,5,5,.96) 0%,
            rgba(5,5,5,.76) 43%,
            rgba(5,5,5,.20) 77%
        ),

        linear-gradient(
            0deg,
            rgba(5,5,5,.90) 0%,
            transparent 65%
        );
}


.delta-showcase-content {
    width: min(820px,92%);

    padding:
        7vw
        6vw;

    text-align: left;
}


.delta-showcase-meta {
    display: flex;
    align-items: center;
    gap: 24px;

    margin-bottom: 30px;

    color: var(--silver);

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

    letter-spacing: .22em;
}


.delta-showcase h3 {
    margin:
        0
        0
        28px;

    font-size:
        clamp(4rem,8vw,8rem);

    line-height: .84;
    letter-spacing: -.07em;
}


.delta-showcase-content > p {
    max-width: 650px;

    margin: 0;

    color: rgba(255,255,255,.73);

    font-size:
        clamp(1rem,1.5vw,1.2rem);

    line-height: 1.7;
}


.delta-proof-row {
    display: flex;
    flex-wrap: wrap;

    gap:
        30px
        48px;

    margin-top: 45px;
}


.delta-proof {
    min-width: 170px;
}


.delta-proof strong {
    display: block;

    color: var(--white);

    font-size:
        clamp(3.5rem,6vw,6rem);

    line-height: .8;

    letter-spacing: -.06em;
}


.delta-proof span {
    display: block;

    margin-top: 13px;

    color: #a8a8a4;

    font-size: 10px;

    line-height: 1.45;

    letter-spacing: .13em;

    text-transform: uppercase;
}


.delta-proof-wide {
    min-width: 280px;
}


.delta-project-list {
    max-width: 720px !important;

    margin-top: 38px !important;

    padding-top: 20px;

    border-top:
        1px solid rgba(255,255,255,.15);

    color: #8f8f8b !important;

    font-size: 10px !important;

    line-height: 1.6 !important;

    letter-spacing: .09em;

    text-transform: uppercase;
}


.delta-capability-row {
    display: flex;
    flex-wrap: wrap;

    gap: 9px;

    margin-top: 40px;
}


.delta-capability-row span {
    padding:
        9px
        13px;

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

    border-radius: 100px;

    color: #c2c2be;

    font-size: 9px;

    letter-spacing: .14em;
}


/* ==================================================
   TECNOLOGIA APLICADA
   ================================================== */

.delta-tech-applied {
    padding:
        140px
        var(--delta-pad);

    background: #0d0d0d;

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

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


.delta-heading-copy {
    max-width: 600px;

    margin-top: 35px;

    color: #9f9f9b;

    font-size: 18px;

    line-height: 1.7;
}


.delta-capture-grid {
    display: grid;

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

    margin-top: 85px;

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

    border-left:
        1px solid var(--line);
}


.delta-capture-card {
    min-height: 430px;

    padding: 45px 38px;

    border-right:
        1px solid var(--line);

    border-bottom:
        1px solid var(--line);

    transition:
        background .3s ease,
        transform .3s ease;
}


.delta-capture-card:hover {
    background: #151515;

    transform:
        translateY(-5px);
}


.delta-capture-number {
    color: #777;

    font-size: 10px;

    letter-spacing: .2em;
}


.delta-capture-card h3 {
    margin:
        90px
        0
        20px;

    font-size:
        clamp(2.2rem,4vw,4rem);

    letter-spacing: -.05em;
}


.delta-capture-card p {
    color: #9d9d99;

    line-height: 1.7;
}


.delta-capture-products {
    margin-top: 40px;

    color: #cacac6;

    font-size: 9px;

    line-height: 1.7;

    letter-spacing: .15em;
}


.delta-equipment-line {
    display: flex;
    flex-wrap: wrap;

    gap: 9px;

    margin-top: 45px;
}


.delta-equipment-line span {
    padding:
        10px
        14px;

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

    border-radius: 100px;

    color: #a9a9a5;

    font-size: 9px;

    letter-spacing: .13em;
}


/* ==================================================
   SERVICIOS
   ================================================== */

.delta-service:hover {
    background: #141414;
}


.delta-service > span {
    color: #8d8d89;
}


/* ==================================================
   GUIA COMERCIAL
   ================================================== */

.delta-guide {
    padding:
        150px
        var(--delta-pad);

    background: #ededE8;

    color: #111;
}


.delta-guide .delta-kicker {
    color: #666;
}


.delta-guide .delta-heading-copy {
    color: #696965;
}


.delta-guide-grid {
    display: grid;

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

    margin-top: 80px;

    border-top:
        1px solid rgba(0,0,0,.18);
}


.delta-guide-card {
    border-right:
        1px solid rgba(0,0,0,.18);

    border-bottom:
        1px solid rgba(0,0,0,.18);
}


.delta-guide-card summary {
    min-height: 180px;

    display: grid;

    grid-template-columns:
        45px
        1fr
        30px;

    gap: 20px;

    align-items: center;

    padding:
        30px
        32px;

    cursor: pointer;

    list-style: none;

    transition:
        background .25s ease;
}


.delta-guide-card summary::-webkit-details-marker {
    display: none;
}


.delta-guide-card summary:hover {
    background: rgba(0,0,0,.045);
}


.delta-guide-card summary > span {
    align-self: start;

    color: #777;

    font-size: 10px;

    letter-spacing: .15em;
}


.delta-guide-card summary small {
    display: block;

    margin-bottom: 10px;

    color: #777;

    font-size: 9px;

    letter-spacing: .17em;
}


.delta-guide-card summary h3 {
    margin: 0;

    max-width: 470px;

    font-size:
        clamp(1.5rem,2.8vw,2.5rem);

    line-height: 1.05;

    letter-spacing: -.04em;
}


.delta-guide-card summary b {
    font-size: 25px;

    font-weight: 300;
}


.delta-guide-card[open] summary b {
    transform: rotate(45deg);
}


.delta-guide-content {
    padding:
        5px
        32px
        35px
        97px;
}


.delta-guide-content strong {
    display: block;

    margin-bottom: 12px;

    font-size: 13px;

    letter-spacing: .09em;

    text-transform: uppercase;
}


.delta-guide-content p {
    max-width: 500px;

    margin: 0;

    color: #595955;

    line-height: 1.65;
}


.delta-guide-cta {
    margin-top: 70px;

    padding-top: 35px;

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

    gap: 40px;

    border-top:
        1px solid rgba(0,0,0,.22);
}


.delta-guide-cta p {
    margin: 0;

    max-width: 500px;

    font-size:
        clamp(1.2rem,2vw,1.8rem);

    line-height: 1.35;
}


.delta-guide-cta a {
    display: flex;
    align-items: center;
    gap: 40px;

    padding:
        16px
        24px;

    border:
        1px solid #111;

    border-radius: 100px;

    font-size: 13px;
}


/* ==================================================
   CONTACTO
   ================================================== */

.delta-contact {
    background:
        radial-gradient(
            circle at 90% 50%,
            rgba(255,255,255,.065),
            transparent 28%
        ),
        #090909;
}


.delta-contact-options {
    display: flex;
    flex-direction: column;
}


.delta-contact-options a {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding:
        26px
        0;

    border-bottom:
        1px solid rgba(255,255,255,.20);

    font-size:
        clamp(1.3rem,3vw,2.5rem);
}


.delta-contact-options a span {
    color: var(--silver);

    transition:
        transform .25s ease;
}


.delta-contact-options a:hover span {
    transform:
        translate(5px,-5px);
}


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

@media(max-width:900px) {

    .admin-bar .delta-header {
        top: 46px;
    }


    .delta-hero-photo {
        padding-left: 6vw;
        padding-right: 6vw;
    }


    .delta-hero-photo .delta-media {
        background-position: 68% center;
    }


    .delta-showcase {
        min-height: 690px;

        margin-left: 3vw;
        margin-right: 3vw;
    }


    .delta-showcase-content {
        width: 100%;

        padding:
            55px
            7vw;
    }


    .delta-showcase-overlay {
        background:

            linear-gradient(
                0deg,
                rgba(5,5,5,.98) 0%,
                rgba(5,5,5,.72) 58%,
                rgba(5,5,5,.18) 100%
            );
    }


    .delta-capture-grid {
        grid-template-columns: 1fr;
    }


    .delta-capture-card {
        min-height: auto;
    }


    .delta-capture-card h3 {
        margin-top: 45px;
    }


    .delta-guide-grid {
        grid-template-columns: 1fr;
    }


    .delta-guide-card {
        border-right: 0;
    }


    .delta-guide-cta {
        align-items: flex-start;
        flex-direction: column;
    }

}


@media(max-width:520px) {

    .delta-hero-photo h1 {
        font-size: 3.75rem;
    }


    .delta-hero-tagline {
        line-height: 1.7;
    }


    .delta-showcase-intro,
    .delta-tech-applied,
    .delta-guide {
        padding-left: 6vw;
        padding-right: 6vw;
    }


    .delta-showcase {
        min-height: 660px;

        border-radius: 16px;
    }


    .delta-showcase h3 {
        font-size: 3.6rem;
    }


    .delta-proof-row {
        gap: 35px;
    }


    .delta-guide-card summary {
        grid-template-columns:
            30px
            1fr
            20px;

        padding:
            25px
            15px;
    }


    .delta-guide-content {
        padding:
            0
            20px
            30px
            65px;
    }

}


/* ==================================================
   DELTA LABS
   ================================================== */

.delta-nav-labs {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-left: 6px;
    padding: 11px 17px;

    border: 1px solid rgba(255,255,255,.32);
    border-radius: 100px;

    color: #f2f2ef !important;

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

    letter-spacing: .13em;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease;
}

.delta-nav-labs span {
    color: #aaa;
    transition: transform .25s ease;
}

.delta-nav-labs:hover {
    background: #f0f0ec;
    border-color: #f0f0ec;
    color: #111 !important;
    transform: translateY(-1px);
}

.delta-nav-labs:hover span {
    color: #111;
    transform: translate(2px,-2px);
}


@media(max-width:900px) {

    .delta-nav-labs {
        margin-left: 0;
        margin-top: 10px;
    }

}


/* ==================================================
   TRAYECTORIA 2018—2026
   ================================================== */

.delta-timeline {
    position: relative;
    padding:
        150px
        var(--delta-pad);

    background: #080808;
    border-top: 1px solid var(--line);
}


.delta-timeline-heading {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    column-gap: 8vw;
    align-items: end;

    margin-bottom: 110px;
}


.delta-timeline-heading .delta-kicker {
    grid-column: 1 / -1;
}


.delta-timeline-heading h2 {
    margin: 20px 0 0;

    font-size:
        clamp(3.5rem,7.5vw,7.5rem);

    line-height: .90;
    letter-spacing: -.065em;
}


.delta-timeline-heading > p:last-child {
    max-width: 480px;

    margin: 0;

    color: #999995;

    font-size: 17px;
    line-height: 1.7;
}


.delta-timeline-body {
    position: relative;
}


.delta-timeline-line {
    position: absolute;

    left: 180px;
    top: 0;
    bottom: 0;

    width: 1px;

    background:
        rgba(255,255,255,.12);
}


.delta-timeline-line i {
    position: absolute;

    left: 0;
    top: 0;

    width: 1px;
    height: 35%;

    background:
        linear-gradient(
            to bottom,
            #eeeeea,
            rgba(238,238,234,.12)
        );
}


.delta-year {
    position: relative;

    display: grid;
    grid-template-columns:
        180px
        minmax(0,1fr);

    min-height: 330px;

    border-top:
        1px solid rgba(255,255,255,.10);
}


.delta-year:last-child {
    border-bottom:
        1px solid rgba(255,255,255,.10);
}


.delta-year-number {
    padding-top: 42px;

    color: #777772;

    font-size:
        clamp(1.5rem,2.4vw,2.4rem);

    font-weight: 700;

    letter-spacing: -.04em;
}


.delta-year-number::after {
    content: "";

    position: absolute;

    left: 175px;
    top: 54px;

    width: 11px;
    height: 11px;

    border-radius: 50%;

    background: #080808;

    border:
        1px solid #8e8e89;

    transform:
        translateX(-50%);
}


.delta-year-content {
    max-width: 820px;

    padding:
        42px
        0
        70px
        8vw;
}


.delta-year-content > span {
    color: #8e8e89;

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

    letter-spacing: .18em;
}


.delta-year-content h3 {
    margin:
        18px
        0
        18px;

    font-size:
        clamp(2.2rem,5vw,5rem);

    line-height: .95;

    letter-spacing: -.055em;
}


.delta-year-content p {
    max-width: 610px;

    margin: 0;

    color: #9d9d98;

    font-size: 17px;

    line-height: 1.7;
}


.delta-year-featured .delta-year-number {
    color: #ededE8;
}


.delta-year-featured .delta-year-number::after {
    background: #ededE8;

    border-color: #ededE8;

    box-shadow:
        0 0 0 7px rgba(255,255,255,.05);
}


.delta-year-featured .delta-year-content > span {
    color: #d0d0cb;
}


.delta-timeline-end {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    margin-top: 50px;

    color: #777772;

    font-size: 9px;

    letter-spacing: .18em;
}


.delta-timeline-end strong {
    color: #b9b9b5;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .22em;
}


@media(max-width:900px) {

    .delta-timeline-heading {
        grid-template-columns: 1fr;
        gap: 35px;
    }


    .delta-timeline-line {
        left: 80px;
    }


    .delta-year {
        grid-template-columns:
            80px
            minmax(0,1fr);
    }


    .delta-year-number::after {
        left: 75px;
    }


    .delta-year-content {
        padding-left: 8vw;
    }

}


@media(max-width:520px) {

    .delta-timeline {
        padding-left: 6vw;
        padding-right: 6vw;
    }


    .delta-timeline-heading {
        margin-bottom: 70px;
    }


    .delta-timeline-line {
        left: 58px;
    }


    .delta-year {
        grid-template-columns:
            58px
            minmax(0,1fr);

        min-height: auto;
    }


    .delta-year-number {
        padding-top: 32px;

        font-size: 14px;
    }


    .delta-year-number::after {
        left: 53px;
        top: 37px;

        width: 9px;
        height: 9px;
    }


    .delta-year-content {
        padding:
            30px
            0
            55px
            8vw;
    }


    .delta-year-content p {
        font-size: 15px;
    }

}


/* ==================================================
   TIMELINE ANIMATION V2
   ================================================== */

.delta-timeline-line {
    overflow: visible;
}

.delta-timeline-line i {
    top: 0;
    bottom: 0;
    height: 100%;

    background: linear-gradient(
        to bottom,
        #ffffff 0%,
        #c9c9c4 65%,
        rgba(255,255,255,.25) 100%
    );

    transform: scaleY(0);
    transform-origin: top center;

    box-shadow:
        0 0 10px rgba(255,255,255,.20);

    transition: transform .08s linear;
}


.delta-year {
    transition:
        opacity .5s ease,
        transform .5s ease;
}


.delta-year .delta-year-number,
.delta-year .delta-year-content {
    transition:
        opacity .55s ease,
        transform .55s ease,
        color .55s ease;
}


.delta-year:not(.delta-year-active)
.delta-year-content {
    opacity: .42;
    transform: translateX(18px);
}


.delta-year:not(.delta-year-active)
.delta-year-number {
    opacity: .42;
}


.delta-year.delta-year-active
.delta-year-content {
    opacity: 1;
    transform: translateX(0);
}


.delta-year.delta-year-active
.delta-year-number {
    opacity: 1;
    color: #f1f1ed;
}


.delta-year.delta-year-active
.delta-year-number::after {
    background: #f1f1ed;
    border-color: #f1f1ed;

    box-shadow:
        0 0 0 7px rgba(255,255,255,.07),
        0 0 25px rgba(255,255,255,.20);
}


/* ==================================================
   DELTA 03 · FULL SCREEN / SNAP EXPERIENCE
   ================================================== */

html {
    scroll-behavior: smooth;
    scroll-snap-type: y proximity;
    scroll-padding-top: 90px;
}


/* Pantallas principales */

.delta-hero-photo,
.delta-showcase,
.delta-timeline,
.delta-tech-applied,
.delta-contact {
    scroll-snap-align: start;
    scroll-snap-stop: always;
}


/* Cada proyecto ocupa prácticamente una pantalla */

.delta-showcase {
    min-height: 100svh;
    margin-bottom: 0;
    border-radius: 0;
}


/* Un poco menos de texto */

.delta-showcase-content {
    width: min(720px,88%);
    padding:
        clamp(45px,6vw,90px)
        clamp(30px,6vw,90px);
}


.delta-showcase h3 {
    font-size:
        clamp(3rem,6vw,6rem);

    line-height: .88;
}


.delta-showcase-meta {
    margin-bottom: 22px;
    font-size: 9px;
}


.delta-showcase-content > p {
    max-width: 580px;

    font-size:
        clamp(.92rem,1.1vw,1.05rem);

    line-height: 1.65;
}


.delta-proof-row {
    margin-top: 35px;
}


.delta-proof strong {
    font-size:
        clamp(3rem,4.8vw,4.8rem);
}


.delta-proof span {
    font-size: 8px;
}


.delta-capability-row {
    margin-top: 30px;
}


.delta-capability-row span {
    font-size: 8px;
}


/* Encabezados generales ligeramente menores */

.delta-showcase-intro h2,
.delta-tech-applied h2,
.delta-guide h2 {
    font-size:
        clamp(3rem,6.4vw,6.4rem);
}


.delta-intro h2 {
    font-size:
        clamp(3rem,6.2vw,6.2rem);
}


/* ==================================================
   TRAYECTORIA COMPACTA
   Ya no será una lista vertical interminable.
   ================================================== */

.delta-timeline {
    min-height: 100svh;

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

    padding-top: 110px;
    padding-bottom: 90px;
}


.delta-timeline-heading {
    display: grid;
    grid-template-columns: 1.2fr .8fr;

    gap: 5vw;

    margin-bottom: 55px;
}


.delta-timeline-heading h2 {
    font-size:
        clamp(3rem,5.7vw,5.7rem);
}


.delta-timeline-heading > p:last-child {
    font-size: 15px;
}


.delta-timeline-line {
    display: none;
}


.delta-timeline-body {
    display: grid;
    grid-template-columns: repeat(3,1fr);

    border-top:
        1px solid rgba(255,255,255,.12);

    border-left:
        1px solid rgba(255,255,255,.12);
}


.delta-year {
    display: block;

    min-height: 235px;

    border: 0;

    border-right:
        1px solid rgba(255,255,255,.12);

    border-bottom:
        1px solid rgba(255,255,255,.12);

    transition:
        background .3s ease,
        transform .3s ease;
}


.delta-year:hover {
    background: #111;
    transform: translateY(-3px);
}


.delta-year-number {
    padding:
        28px
        28px
        0;

    font-size: 18px;
}


.delta-year-number::after {
    display: none;
}


.delta-year-content {
    padding:
        20px
        28px
        32px;
}


.delta-year-content > span {
    font-size: 8px;
}


.delta-year-content h3 {
    margin:
        12px
        0
        12px;

    font-size:
        clamp(1.5rem,2.1vw,2.15rem);

    line-height: 1;
}


.delta-year-content p {
    font-size: 13px;
    line-height: 1.55;
}


.delta-timeline-end {
    margin-top: 30px;
}


/* ==================================================
   BOTON VOLVER ARRIBA
   ================================================== */

.delta-backtop {
    position: fixed;

    right: 28px;
    bottom: 28px;

    z-index: 1500;

    width: 48px;
    height: 48px;

    display: grid;
    place-items: center;

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

    border-radius: 50%;

    background:
        rgba(10,10,10,.72);

    backdrop-filter:
        blur(12px);

    color: #f0f0ec;

    opacity: 0;
    visibility: hidden;

    transform:
        translateY(12px);

    transition:
        opacity .3s ease,
        visibility .3s ease,
        transform .3s ease,
        background .25s ease,
        color .25s ease;
}


.delta-backtop span {
    font-size: 19px;
    line-height: 1;
}


.delta-backtop.delta-backtop-visible {
    opacity: 1;
    visibility: visible;

    transform:
        translateY(0);
}


.delta-backtop:hover {
    background: #eeeeea;
    color: #111;
}


/* ==================================================
   MOBILE
   ================================================== */

@media(max-width:900px) {

    html {
        scroll-snap-type: y proximity;
    }


    .delta-showcase {
        min-height: 100svh;
    }


    .delta-timeline {
        min-height: auto;
    }


    .delta-timeline-heading {
        grid-template-columns: 1fr;
    }


    .delta-timeline-body {
        grid-template-columns: repeat(2,1fr);
    }


    .delta-backtop {
        right: 18px;
        bottom: 18px;

        width: 44px;
        height: 44px;
    }

}


@media(max-width:520px) {

    .delta-timeline-body {
        grid-template-columns: 1fr;
    }


    .delta-year {
        min-height: auto;
    }


    .delta-showcase h3 {
        font-size: 3rem;
    }

}


@media(prefers-reduced-motion: reduce) {

    html {
        scroll-snap-type: none;
        scroll-behavior: auto;
    }

}


/* ==================================================
   DELTA 04 · SCROLL NATURAL / PANEL COMPACTO
   ================================================== */

/* Quitar el scroll-snap que hacía lenta la navegación */
html {
    scroll-snap-type: none !important;
    scroll-behavior: auto;
}

.delta-hero-photo,
.delta-showcase,
.delta-timeline,
.delta-tech-applied,
.delta-contact {
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
}


/* Bloques grandes, pero no eternos */
.delta-showcase {
    min-height: 82svh;
    margin: 14px 2vw;
    border-radius: 22px;
}


/* Textos un poco más pequeños */
.delta-showcase h3 {
    font-size: clamp(2.8rem,5vw,5.2rem);
    line-height: .90;
}

.delta-showcase-content {
    width: min(680px,88%);
    padding: clamp(40px,5vw,75px);
}

.delta-showcase-content > p {
    max-width: 540px;
    font-size: clamp(.88rem,1vw,1rem);
    line-height: 1.6;
}

.delta-showcase-meta {
    font-size: 8px;
    margin-bottom: 18px;
}

.delta-proof-row {
    margin-top: 28px;
    gap: 25px 38px;
}

.delta-proof strong {
    font-size: clamp(2.8rem,4vw,4.2rem);
}

.delta-proof span {
    font-size: 7.5px;
}

.delta-capability-row {
    margin-top: 25px;
}

.delta-capability-row span {
    font-size: 7.5px;
    padding: 8px 11px;
}


/* Hero también ligeramente más contenido */
.delta-hero-photo h1 {
    font-size: clamp(3.8rem,8.5vw,8.5rem);
}

.delta-hero-sub {
    max-width: 560px;
    font-size: clamp(.95rem,1.3vw,1.12rem);
}


/* Encabezados generales */
.delta-showcase-intro h2,
.delta-tech-applied h2,
.delta-guide h2,
.delta-timeline-heading h2 {
    font-size: clamp(2.8rem,5.5vw,5.5rem);
}


/* ==================================================
   ANIMACIÓN SIMPLE Y RÁPIDA
   ================================================== */

.delta-showcase .delta-media {
    transform: scale(1.035);
    transition:
        transform .8s cubic-bezier(.2,.7,.2,1),
        filter .6s ease;
}

.delta-showcase .delta-showcase-content {
    opacity: .25;
    transform: translateY(22px);
    transition:
        opacity .55s ease,
        transform .55s cubic-bezier(.2,.7,.2,1);
}

.delta-showcase.delta-panel-active .delta-media {
    transform: scale(1);
}

.delta-showcase.delta-panel-active .delta-showcase-content {
    opacity: 1;
    transform: translateY(0);
}

.delta-showcase:not(.delta-panel-active) {
    filter: none !important;
}


/* ==================================================
   BOTÓN ARRIBA
   ================================================== */

.delta-backtop {
    cursor: pointer;
}



/* ==================================================
   COBERTURA MEXICO
   ================================================== */

.delta-coverage {
    display: grid;
    grid-template-columns:
        minmax(300px,.75fr)
        minmax(450px,1.25fr);

    column-gap: 7vw;

    padding:
        110px
        var(--delta-pad)
        80px;

    background: #ededE8;
    color: #111;

    overflow: hidden;
}


.delta-coverage .delta-kicker {
    color: #696965;
}


.delta-coverage-copy {
    align-self: center;
}


.delta-coverage-copy h2 {
    margin:
        18px
        0
        26px;

    font-size:
        clamp(2.8rem,5.1vw,5.2rem);

    line-height: .90;
    letter-spacing: -.06em;
}


.delta-coverage-copy > p {
    max-width: 390px;

    margin: 0;

    color: #62625e;

    font-size: 15px;
    line-height: 1.65;
}


.delta-region-list {
    display: flex;
    flex-wrap: wrap;

    gap:
        8px
        15px;

    max-width: 420px;

    margin-top: 35px;
}


.delta-region-list span {
    color: #777773;

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

    letter-spacing: .17em;
}


/* MAPA */

.delta-map {
    position: relative;

    align-self: center;

    width: 100%;
    max-width: 820px;

    margin-left: auto;
}


.delta-map img {
    display: block;

    width: 100%;
    height: auto;

    opacity: .88;

    filter:
        grayscale(1)
        contrast(1.15)
        brightness(.48);

    mix-blend-mode: multiply;
}


/* PUNTOS */

.delta-map-point {
    position: absolute;

    width: 9px;
    height: 9px;

    border-radius: 50%;

    background: #111;

    transform:
        translate(-50%,-50%);
}


.delta-map-point::before {
    content: "";

    position: absolute;

    inset: -8px;

    border:
        1px solid rgba(0,0,0,.40);

    border-radius: 50%;

    animation:
        deltaMapPulse 2.5s
        ease-out
        infinite;
}


.delta-map-point b {
    position: absolute;

    inset: -18px;

    border:
        1px solid rgba(0,0,0,.10);

    border-radius: 50%;
}


/*
   Puntos aproximados por regiones con
   experiencia documentada.
*/

.p-north {
    left: 29%;
    top: 22%;
}

.p-west {
    left: 42%;
    top: 51%;
    animation-delay: .2s;
}

.p-bajio {
    left: 52%;
    top: 55%;
}

.p-center {
    left: 59%;
    top: 61%;
}

.p-gulf {
    left: 66%;
    top: 61%;
}

.p-south {
    left: 61%;
    top: 71%;
}

.p-southeast {
    left: 77%;
    top: 70%;
}

.p-caribbean {
    left: 88%;
    top: 63%;
}


.p-west::before {
    animation-delay: .3s;
}

.p-bajio::before {
    animation-delay: .6s;
}

.p-center::before {
    animation-delay: .9s;
}

.p-gulf::before {
    animation-delay: 1.2s;
}

.p-south::before {
    animation-delay: 1.5s;
}

.p-southeast::before {
    animation-delay: 1.8s;
}

.p-caribbean::before {
    animation-delay: 2.1s;
}


@keyframes deltaMapPulse {

    0% {
        opacity: .70;
        transform: scale(.35);
    }

    70% {
        opacity: 0;
        transform: scale(1.7);
    }

    100% {
        opacity: 0;
        transform: scale(1.7);
    }

}


/* ==================================================
   SECTORES
   ================================================== */

.delta-sectors {
    grid-column: 1 / -1;

    display: grid;

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

    margin-top: 65px;

    border-top:
        1px solid rgba(0,0,0,.17);

    border-left:
        1px solid rgba(0,0,0,.17);
}


.delta-sectors span {
    display: flex;
    align-items: center;

    min-height: 70px;

    padding:
        15px
        18px;

    border-right:
        1px solid rgba(0,0,0,.17);

    border-bottom:
        1px solid rgba(0,0,0,.17);

    color: #333;

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

    letter-spacing: .16em;

    transition:
        background .25s ease;
}


.delta-sectors span:hover {
    background:
        rgba(0,0,0,.055);
}


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

@media(max-width:900px) {

    .delta-coverage {
        grid-template-columns: 1fr;

        gap: 55px;

        padding-left: 6vw;
        padding-right: 6vw;
    }


    .delta-map {
        max-width: 700px;
        margin: auto;
    }


    .delta-sectors {
        grid-template-columns:
            repeat(2,1fr);

        margin-top: 20px;
    }

}


@media(max-width:520px) {

    .delta-coverage {
        padding-top: 80px;
        padding-bottom: 60px;
    }


    .delta-coverage-copy h2 {
        font-size: 3rem;
    }


    .delta-sectors {
        grid-template-columns:
            1fr 1fr;
    }


    .delta-sectors span {
        min-height: 58px;

        padding:
            12px
            10px;

        font-size: 7px;
    }

}


@media(prefers-reduced-motion: reduce) {

    .delta-map-point::before {
        animation: none;
    }

}


/* ==================================================
   DEL CAMPO AL ENTREGABLE
   ================================================== */

.delta-process {
    padding:
        95px
        var(--delta-pad);

    background: #0b0b0b;

    border-top:
        1px solid rgba(255,255,255,.12);

    border-bottom:
        1px solid rgba(255,255,255,.12);
}


.delta-process-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 40px;

    margin-bottom: 55px;
}


.delta-process-heading h2 {
    margin: 0;

    font-size:
        clamp(2.7rem,5vw,5rem);

    line-height: .90;
    letter-spacing: -.06em;
}


.delta-process-heading .delta-kicker {
    align-self: flex-start;
}


.delta-process-grid {
    display: grid;

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

    border-top:
        1px solid rgba(255,255,255,.15);

    border-left:
        1px solid rgba(255,255,255,.15);
}


.delta-process-step {
    position: relative;

    min-height: 145px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    padding: 22px 18px;

    border-right:
        1px solid rgba(255,255,255,.15);

    border-bottom:
        1px solid rgba(255,255,255,.15);

    overflow: hidden;

    transition:
        background .3s ease;
}


.delta-process-step::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 100%;
    height: 2px;

    background: #deded9;

    transform: scaleX(0);
    transform-origin: left;

    transition:
        transform .45s ease;
}


.delta-process-step:hover {
    background: #151515;
}


.delta-process-step:hover::after {
    transform: scaleX(1);
}


.delta-process-step span {
    color: #696965;

    font-size: 8px;

    letter-spacing: .18em;
}


.delta-process-step strong {
    color: #e7e7e2;

    font-size:
        clamp(.8rem,1vw,1rem);

    letter-spacing: .12em;
}


@media(max-width:900px) {

    .delta-process-grid {
        grid-template-columns:
            repeat(3,1fr);
    }

}


@media(max-width:520px) {

    .delta-process {
        padding:
            75px
            6vw;
    }

    .delta-process-heading {
        display: block;
    }

    .delta-process-heading .delta-kicker {
        margin-bottom: 20px;
    }

    .delta-process-grid {
        grid-template-columns:
            repeat(2,1fr);
    }

    .delta-process-step {
        min-height: 115px;
    }

}


/* ==================================================
   AJUSTE FINO MAPA · PUNTOS NEGROS SOBRE TIERRA
   ================================================== */

/* Tijuana / norte */
.p-north {
    left: 26.5%;
    top: 24.5%;
}

/* Baja California Sur */
.p-west {
    left: 38.5%;
    top: 50.5%;
}

/* Monterrey / Saltillo */
.p-bajio {
    left: 55.5%;
    top: 48.5%;
}

/* San Luis Potosí / Bajío */
.p-center {
    left: 59.5%;
    top: 58.5%;
}

/* Guadalajara / Pacífico centro-occidente */
.p-gulf {
    left: 48.5%;
    top: 60.5%;
}

/* Centro del país / Querétaro-CDMX */
.p-south {
    left: 56.5%;
    top: 70.0%;
}

/* Sur / sureste continental */
.p-southeast {
    left: 66.5%;
    top: 60.5%;
}

/* Península de Yucatán, pero SOBRE TIERRA */
.p-caribbean {
    left: 83.5%;
    top: 56.5%;
}



/* ==================================================
   MAPA DELTA · POSICIONES FINALES CALIBRADAS
   SOBRE TIERRA
   ================================================== */

/* Tijuana / Baja California */
.p-north {
    left: 7.8% !important;
    top: 7.8% !important;
}

/* Baja California Sur */
.p-west {
    left: 23.7% !important;
    top: 50.5% !important;
}

/* Monterrey / Saltillo */
.p-bajio {
    left: 55.4% !important;
    top: 38.7% !important;
}

/* San Luis Potosí */
.p-center {
    left: 49.9% !important;
    top: 53.2% !important;
}

/* Guadalajara / Occidente */
.p-gulf {
    left: 43.8% !important;
    top: 66.0% !important;
}

/* Querétaro / Centro */
.p-south {
    left: 53.5% !important;
    top: 60.5% !important;
}

/* Sur / Sureste continental */
.p-southeast {
    left: 73.7% !important;
    top: 81.4% !important;
}

/* Península de Yucatán */
.p-caribbean {
    left: 91.9% !important;
    top: 67.8% !important;
}



/* ==================================================
   NAVEGACION RAPIDA ENTRE SECCIONES
   ================================================== */

.delta-hero-photo,
.delta-stats,
.delta-intro,
.delta-showcase-intro,
.delta-showcase,
.delta-timeline,
.delta-coverage,
.delta-process,
.delta-tech-applied,
#servicios,
.delta-guide,
.delta-contact {
    scroll-margin-top: 85px;
}


/* Nada de CSS scroll-snap */
html {
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
}



/* ==================================================
   DELTA · COMPACTACION DE NAVEGACION
   ================================================== */

/*
 * Cifras + introducción se leen como
 * una única unidad.
 */

.delta-stats {
    padding-top: 45px !important;
    padding-bottom: 38px !important;
}


.delta-intro {
    padding-top: 60px !important;
    padding-bottom: 75px !important;
}


.delta-intro h2 {
    font-size:
        clamp(2.6rem,4.8vw,4.8rem) !important;
}


.delta-intro-text {
    font-size: .94rem;
}


/*
 * "Experiencia" funciona como transición visual,
 * no como otra pantalla.
 */

.delta-showcase-intro {
    padding-top: 70px !important;
    padding-bottom: 42px !important;
}


.delta-showcase-intro h2 {
    font-size:
        clamp(2.8rem,5vw,5rem) !important;
}



/* ==================================================
   LOGOTIPO DELTA
   ================================================== */

.delta-brand-logo {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: contain;
    flex: 0 0 auto;
}

@media(max-width:520px) {

    .delta-brand-logo {
        width: 30px;
        height: 30px;
    }

}


/* ==================================================
   ENLACE DESDE GUIA A SERVICIO
   ================================================== */

.delta-guide-more {
    display: inline-block;

    margin-top: 18px;

    color: #111;

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

    letter-spacing: .13em;

    text-transform: uppercase;

    border-bottom:
        1px solid rgba(0,0,0,.35);

    padding-bottom: 4px;
}



/* ==================================================
   ALTA / NSPS · CAPACIDAD ESPECIALIZADA
   ================================================== */

.delta-alta-capability {
    display: grid;

    grid-template-columns:
        .85fr
        1.15fr;

    gap: 40px;

    align-items: center;

    margin-top: 55px;

    padding:
        24px
        0;

    border-top:
        1px solid rgba(255,255,255,.16);

    border-bottom:
        1px solid rgba(255,255,255,.16);
}


.delta-alta-capability > div {
    display: flex;
    flex-direction: column;

    gap: 8px;
}


.delta-alta-capability small {
    color: #696965;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: .18em;
}


.delta-alta-capability strong {
    color: #e8e8e3;

    font-size:
        clamp(.9rem,1.4vw,1.2rem);

    font-weight: 500;

    letter-spacing: .06em;
}


.delta-alta-capability > span {
    color: #767672;

    font-size: 10px;

    letter-spacing: .05em;

    line-height: 1.5;
}


/* ==================================================
   ALTA / NSPS · ¿QUÉ NECESITAS OBTENER?
   ================================================== */

.delta-alta-guide {
    display: grid;

    grid-template-columns:
        80px
        minmax(0,1fr)
        auto;

    gap:
        30px
        45px;

    align-items: center;

    margin-top: 48px;

    padding:
        32px
        0;

    border-top:
        1px solid rgba(0,0,0,.28);

    border-bottom:
        1px solid rgba(0,0,0,.28);
}


.delta-alta-guide-index {
    color: #888883;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: .18em;
}


.delta-alta-guide-content small {
    display: block;

    margin-bottom: 9px;

    color: #777772;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: .18em;
}


.delta-alta-guide-content h3 {
    margin: 0;

    color: #111;

    font-size:
        clamp(1.25rem,2vw,1.85rem);

    font-weight: 500;

    letter-spacing: -.035em;
}


.delta-alta-guide-content p {
    max-width: 670px;

    margin:
        13px
        0
        0;

    color: #656561;

    font-size: 12px;

    line-height: 1.6;
}


.delta-alta-guide-action {
    display: flex;
    flex-direction: column;

    align-items: flex-end;

    gap: 12px;

    min-width: 180px;
}


.delta-alta-guide-action a {
    padding:
        11px
        16px;

    border:
        1px solid rgba(0,0,0,.28);

    border-radius: 100px;

    color: #111;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: .12em;

    text-transform: uppercase;

    transition:
        background .2s ease,
        color .2s ease;
}


.delta-alta-guide-action a:hover {
    background: #111;
    color: #fff;
}


.delta-alta-guide-action span {
    color: #8a8a85;

    font-size: 7px;

    letter-spacing: .14em;

    text-transform: uppercase;
}


@media(max-width:900px) {

    .delta-alta-capability {
        grid-template-columns: 1fr;
        gap: 18px;
    }


    .delta-alta-guide {
        grid-template-columns:
            50px
            1fr;
    }


    .delta-alta-guide-action {
        grid-column: 2;

        align-items: flex-start;
    }

}


@media(max-width:520px) {

    .delta-alta-guide {
        grid-template-columns: 1fr;

        gap: 15px;

        padding:
            27px
            0;
    }


    .delta-alta-guide-action {
        grid-column: 1;

        margin-top: 10px;
    }

}


/* ==================================================
   ALTA / NSPS · DENTRO DE PREDIOS
   ================================================== */

.delta-guide-alta-inline {
    margin-top: 24px;

    padding:
        20px
        0
        4px;

    border-top:
        1px solid rgba(0,0,0,.16);
}


.delta-guide-alta-inline small {
    display: block;

    margin-bottom: 8px;

    color: #858580;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: .17em;
}


.delta-guide-alta-inline strong {
    display: block;

    color: #111;

    font-size: 12px;

    font-weight: 600;

    letter-spacing: .06em;
}


.delta-guide-alta-inline p {
    max-width: 540px;

    margin:
        10px
        0;

    color: #686864;

    font-size: 11px;

    line-height: 1.55;
}


.delta-guide-alta-inline span {
    color: #8b8b86;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: .14em;
}



/* ==================================================
   ENTRADA · BIBLIOTECA TECNICA
   ================================================== */

.delta-library-entry {
    display: grid;

    grid-template-columns:
        1fr
        1fr
        auto;

    gap: 35px;

    align-items: center;

    margin-top: 55px;

    padding:
        25px
        0;

    border-top:
        1px solid rgba(255,255,255,.16);

    border-bottom:
        1px solid rgba(255,255,255,.16);
}


.delta-library-entry > div {
    display: flex;
    flex-direction: column;

    gap: 7px;
}


.delta-library-entry small {
    color: #696965;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: .17em;
}


.delta-library-entry strong {
    color: #ededE8;

    font-size:
        clamp(1rem,1.6vw,1.35rem);

    font-weight: 500;
}


.delta-library-entry > span {
    color: #777772;

    font-size: 9px;

    letter-spacing: .06em;
}


.delta-library-entry b {
    color: #aaa9a5;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: .14em;

    transition:
        transform .2s ease,
        color .2s ease;
}


.delta-library-entry:hover b {
    color: #fff;

    transform:
        translateX(5px);
}


@media(max-width:700px) {

    .delta-library-entry {
        grid-template-columns: 1fr;

        gap: 15px;
    }

}


/* ==================================================
   ALTA / NSPS · TARJETA 08 · VERSION FINAL
   ================================================== */

.delta-guide details > .delta-guide-alta-inline,
details > .delta-guide-alta-inline {
    display: none;
}


.delta-guide details[open] > .delta-guide-alta-inline,
details[open] > .delta-guide-alta-inline {
    display: block !important;

    opacity: 1 !important;

    visibility: visible !important;

    max-height: none !important;

    overflow: visible !important;

    margin:
        8px
        32px
        28px;

    padding:
        22px
        0
        4px;

    border-top:
        1px solid rgba(0,0,0,.16);
}


.delta-guide-alta-inline small {
    display: block;

    margin-bottom: 8px;

    color: #868681;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: .18em;
}


.delta-guide-alta-inline strong {
    display: block;

    color: #111;

    font-size:
        clamp(.9rem,1.15vw,1.05rem);

    font-weight: 600;

    letter-spacing: .04em;
}


.delta-guide-alta-inline p {
    max-width: 620px;

    margin:
        10px
        0
        15px;

    color: #656561;

    font-size: 11px;

    line-height: 1.6;
}


.delta-guide-alta-link {
    display: inline-block;

    color: #111;

    font-size: 7px;

    font-weight: 700;

    letter-spacing: .15em;

    border-bottom:
        1px solid rgba(0,0,0,.30);

    padding-bottom: 4px;
}


@media(max-width:520px) {

    .delta-guide details[open] > .delta-guide-alta-inline,
    details[open] > .delta-guide-alta-inline {

        margin:
            8px
            20px
            25px;
    }

}
