/* Start custom CSS *//*======================================
=         CONTACTO — HERO
======================================*/

.contacto-hero{
    width:100%;
    margin:0;
    padding:0;

    background:#f6f3ee;
    color:#171715;
}


/*======================================
=              INNER
======================================*/

.contacto-hero__inner{
    width:100%;
    max-width:1280px;
    margin:0 auto;

    padding:clamp(110px, 10vw, 160px) 6vw
            clamp(120px, 11vw, 180px) !important;

    display:grid !important;
    grid-template-columns:repeat(12, minmax(0, 1fr));
    column-gap:clamp(18px, 2vw, 32px);
    row-gap:0;

    align-items:start;
}


/*======================================
=              LABEL
======================================*/

.contacto-hero__label{
    grid-column:1 / 4;

    margin:0 !important;
    padding:0 !important;

    font-family:"Manrope", sans-serif;
    font-size:clamp(11px, .78vw, 13px);
    font-weight:500;
    line-height:1.2;

    letter-spacing:.16em;
    text-transform:uppercase;

    color:#797872;
}


/*======================================
=               TITLE
======================================*/

.contacto-hero__title{
    grid-column:3 / 12;

    width:100%;
    max-width:1040px;

    margin:clamp(58px, 6vw, 92px) 0 0 !important;
    padding:0 !important;

    font-family:"Cormorant Garamond", serif;
    font-size:clamp(48px, 5vw, 72px); /* CORREGIDO: Reducido para mejor UX */
    font-weight:400;
    line-height:.91;
    letter-spacing:-.025em;

    color:#171715;

    text-wrap:balance;
}


/*======================================
=          INTRO WRAPPER
======================================*/

.contacto-hero__intro-wrap{
    grid-column:9 / 13;

    width:100%;
    margin:clamp(72px, 7vw, 110px) 0 0 !important;
    padding:0 !important;

    display:flex !important;
    flex-direction:column !important;

    gap:clamp(18px, 1.7vw, 26px);
}


/*======================================
=                RULE
======================================*/

.contacto-hero__rule{
    width:100%;
    height:0;

    margin:0 !important;
    padding:0 !important;

    border-top:1px solid rgba(23,23,21,.16);
}


/*======================================
=              INTRO
======================================*/

.contacto-hero__intro{
    width:100%;
    max-width:390px;

    margin:0 !important;
    padding:0 !important;

    font-family:"Manrope", sans-serif;
    font-size:clamp(15px, 1.12vw, 18px);
    font-weight:400;
    line-height:1.65;

    color:#686761;
}


/*======================================
=              TABLET
======================================*/

@media (max-width:1024px){

    .contacto-hero__inner{
        padding:
            clamp(92px, 11vw, 125px)
            5vw
            clamp(105px, 13vw, 145px) !important;

        grid-template-columns:repeat(8, minmax(0, 1fr));
        column-gap:clamp(16px, 2.3vw, 26px);
    }


    .contacto-hero__label{
        grid-column:1 / 3;
    }


    .contacto-hero__title{
        grid-column:1 / 8;

        max-width:900px;

        margin-top:clamp(50px, 7vw, 76px) !important;

        font-size:clamp(42px, 6vw, 60px); /* CORREGIDO: Solucionado el bug de tamaño gigante en tablet */
        line-height:.93;
    }


    .contacto-hero__intro-wrap{
        grid-column:5 / 9;

        margin-top:clamp(62px, 8vw, 90px) !important;
    }


    .contacto-hero__intro{
        max-width:360px;
    }

}


/*======================================
=            SMARTPHONE
======================================*/

@media (max-width:767px){

    .contacto-hero__inner{
        display:flex !important;
        flex-direction:column;

        width:100%;
        max-width:none;

        padding:
            78px
            20px
            92px !important;

        gap:0;
    }


    .contacto-hero__label{
        width:100%;

        font-size:11px;
        letter-spacing:.15em;
    }


    .contacto-hero__title{
        width:100%;
        max-width:620px;

        margin-top:42px !important;

        font-size:clamp(36px, 10vw, 48px); /* CORREGIDO */
        line-height:.94;
        letter-spacing:-.022em;

        text-wrap:balance;
    }


    .contacto-hero__intro-wrap{
        width:100%;
        max-width:none;

        margin-top:58px !important;

        gap:20px;
    }


    .contacto-hero__rule{
        width:100%;
    }


    .contacto-hero__intro{
        width:100%;
        max-width:500px;

        font-size:15px;
        line-height:1.65;
    }

}


/*======================================
=        SMALL SMARTPHONE <=390
======================================*/

@media (max-width:390px){

    .contacto-hero__inner{
        padding:
            68px
            18px
            82px !important;
    }


    .contacto-hero__title{
        margin-top:38px !important;

        font-size:clamp(32px, 10vw, 42px); /* CORREGIDO */
        line-height:.95;
    }


    .contacto-hero__intro-wrap{
        margin-top:50px !important;
    }


    .contacto-hero__intro{
        font-size:14.5px;
        line-height:1.65;
    }

}

/*======================================
=       CONTACTO — CANALES
======================================*/

.contacto-canales{
    width:100%;
    margin:0;
    padding:0;

    background:#ffffff;
    color:#171715;
}


/*======================================
=              INNER
======================================*/

.contacto-canales__inner{
    width:100%;
    max-width:1280px;
    margin:0 auto !important;

    padding:0 6vw clamp(120px, 11vw, 180px) !important;
}


/*======================================
=            TOP RULE
======================================*/

.contacto-canales__top-rule{
    width:100%;
    height:0;

    margin:0 !important;
    padding:0 !important;

    border-top:1px solid rgba(23,23,21,.16);
}


/*======================================
=              LAYOUT
======================================*/

.contacto-canales__layout{
    width:100%;

    padding-top:clamp(72px, 7vw, 110px) !important;

    display:grid !important;
    grid-template-columns:repeat(12, minmax(0, 1fr));
    column-gap:clamp(18px, 2vw, 32px);

    align-items:start;
}


/*======================================
=            EDITORIAL
======================================*/

.contacto-canales__editorial{
    grid-column:1 / 6;

    width:100%;

    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
}


/*======================================
=                LABEL
======================================*/

.contacto-canales__label{
    margin:0 !important;
    padding:0 !important;

    font-family:"Manrope", sans-serif;
    font-size:clamp(11px, .78vw, 13px);
    font-weight:500;
    line-height:1.2;

    letter-spacing:.16em;
    text-transform:uppercase;

    color:#797872;
}


/*======================================
=                TITLE
======================================*/

.contacto-canales__title{
    width:100%;
    max-width:630px;

    margin:clamp(40px, 4vw, 62px) 0 0 !important;
    padding:0 !important;

    font-family:"Cormorant Garamond", serif;
    font-size:clamp(40px, 4.5vw, 60px); /* CORREGIDO: Escalado como H2 secundario */
    font-weight:400;
    line-height:.95;
    letter-spacing:-.02em;

    color:#171715;

    text-wrap:balance;
}


/*======================================
=                INTRO
======================================*/

.contacto-canales__intro{
    width:100%;
    max-width:360px;

    margin:clamp(38px, 3.6vw, 54px) 0 0 !important;
    padding:0 !important;

    font-family:"Manrope", sans-serif;
    font-size:clamp(15px, 1vw, 17px);
    font-weight:400;
    line-height:1.65;

    color:#686761;
}


/*======================================
=            CHANNEL LIST
======================================*/

.contacto-canales__list{
    grid-column:7 / 13;

    width:100%;

    display:flex !important;
    flex-direction:column;
}


/*======================================
=            CHANNEL ITEM
======================================*/

.contacto-canal{
    position:relative;

    width:100%;

    padding:
        clamp(32px, 3vw, 46px)
        0
        clamp(38px, 3.5vw, 52px) !important;

    border-bottom:1px solid rgba(23,23,21,.16);

    display:grid !important;
    grid-template-columns:minmax(52px, 78px) minmax(0, 1fr);
    column-gap:clamp(20px, 2vw, 30px);
    align-items:start;
}

.contacto-canal:first-child{
    padding-top:0 !important;
}

.contacto-canal:last-child{
    border-bottom:0;
    padding-bottom:0 !important;
}


/*======================================
=          CHANNEL NUMBER
======================================*/

.contacto-canal__number{
    grid-column:1;

    margin:0 !important;
    padding:0 !important;

    font-family:"Cormorant Garamond", serif;
    font-size:clamp(40px, 3.6vw, 56px);
    font-weight:400;
    line-height:.9;

    color:rgba(23,23,21,.10);
}


/*======================================
=            CHANNEL CONTENT
======================================*/

.contacto-canal__label,
.contacto-canal__value,
.contacto-canal__desc,
.contacto-canal__link{
    grid-column:2;
}


/*======================================
=            CHANNEL LABEL
======================================*/

.contacto-canal__label{
    margin:0 !important;
    padding:0 !important;

    font-family:"Manrope", sans-serif;
    font-size:11px;
    font-weight:500;
    line-height:1.2;

    letter-spacing:.16em;
    text-transform:uppercase;

    color:#797872;
}


/*======================================
=            CHANNEL VALUE
======================================*/

.contacto-canal__value{
    width:100%;

    margin:14px 0 0 !important;
    padding:0 !important;

    font-family:"Cormorant Garamond", serif;
    font-size:clamp(34px, 3vw, 48px);
    font-weight:400;
    line-height:1.02;
    letter-spacing:-.015em;

    color:#171715;

    overflow-wrap:anywhere;
}


/*======================================
=            DESCRIPTION
======================================*/

.contacto-canal__desc{
    width:100%;
    max-width:410px;

    margin:18px 0 0 !important;
    padding:0 !important;

    font-family:"Manrope", sans-serif;
    font-size:14px;
    font-weight:400;
    line-height:1.6;

    color:#686761;
}


/*======================================
=                LINK
======================================*/

.contacto-canal__link{
    width:max-content;

    margin:24px 0 0 !important;
    padding:8px 0 !important;

    display:inline-flex !important;
    align-items:center;

    font-family:"Manrope", sans-serif;
    font-size:11px;
    font-weight:600;
    line-height:1.2;

    letter-spacing:.12em;
    text-transform:uppercase;
    text-decoration:none;

    color:#171715;

    transition:
        opacity .25s ease,
        transform .25s ease;
}

.contacto-canal__link:hover{
    opacity:.58;
    transform:translateX(4px);
}

.contacto-canal__link:focus-visible{
    outline:1px solid #171715;
    outline-offset:5px;
}


/*======================================
=              TABLET
======================================*/

@media (max-width:1024px){

    .contacto-canales__inner{
        padding:
            0
            5vw
            clamp(105px, 12vw, 145px) !important;
    }


    .contacto-canales__layout{
        padding-top:clamp(62px, 7vw, 86px) !important;

        grid-template-columns:repeat(8, minmax(0, 1fr));
        column-gap:clamp(16px, 2.2vw, 24px);
    }


    .contacto-canales__editorial{
        grid-column:1 / 4;
    }


    .contacto-canales__title{
        max-width:420px;

        margin-top:40px !important;

        font-size:clamp(36px, 5vw, 52px); /* CORREGIDO */
    }


    .contacto-canales__intro{
        max-width:300px;

        margin-top:34px !important;
    }


    .contacto-canales__list{
        grid-column:5 / 9;
    }


    .contacto-canal{
        grid-template-columns:52px minmax(0, 1fr);
        column-gap:18px;

        padding:
            30px
            0
            36px !important;
    }


    .contacto-canal__number{
        font-size:40px;
    }


    .contacto-canal__value{
        font-size:clamp(30px, 4vw, 40px);
    }

}


/*======================================
=            SMARTPHONE
======================================*/

@media (max-width:767px){

    .contacto-canales__inner{
        width:100%;
        max-width:none;

        padding:
            0
            20px
            96px !important;
    }


    .contacto-canales__layout{
        display:flex !important;
        flex-direction:column;

        padding-top:54px !important;
    }


    .contacto-canales__editorial{
        width:100%;
    }


    .contacto-canales__title{
        width:100%;
        max-width:620px;

        margin-top:34px !important;

        font-size:clamp(32px, 9vw, 44px) !important; /* CORREGIDO */
        line-height:.96;
    }


    .contacto-canales__intro{
        width:100%;
        max-width:500px;

        margin-top:30px !important;

        font-size:15px !important;
    }


    .contacto-canales__list{
        width:100%;

        margin-top:64px !important;
    }


    .contacto-canal{
        display:grid !important;
        grid-template-columns:44px minmax(0, 1fr);

        column-gap:16px;

        padding:
            30px
            0
            36px !important;
    }


    .contacto-canal:first-child{
        padding-top:0 !important;
    }


    .contacto-canal__number{
        font-size:34px !important;
    }


    .contacto-canal__value{
        margin-top:12px !important;

        font-size:clamp(30px, 8.5vw, 42px) !important;
        line-height:1.04;
    }


    .contacto-canal__desc{
        margin-top:16px !important;

        font-size:14px !important;
    }


    .contacto-canal__link{
        margin-top:20px !important;

        min-height:44px;

        padding:12px 0 !important;
    }

}


/*======================================
=       SMALL SMARTPHONE <=390
======================================*/

@media (max-width:390px){

    .contacto-canales__inner{
        padding:
            0
            18px
            86px !important;
    }


    .contacto-canales__layout{
        padding-top:48px !important;
    }


    .contacto-canales__title{
        margin-top:30px !important;

        font-size:clamp(28px, 9vw, 36px); /* CORREGIDO */
        line-height:.97;
    }


    .contacto-canales__intro{
        margin-top:26px !important;

        font-size:14.5px;
    }


    .contacto-canales__list{
        margin-top:56px !important;
    }


    .contacto-canal{
        grid-template-columns:38px minmax(0, 1fr);

        column-gap:14px;

        padding:
            28px
            0
            32px !important;
    }


    .contacto-canal__number{
        font-size:30px;
    }


    .contacto-canal__value{
        font-size:clamp(27px, 8.2vw, 36px);
    }

}

/*======================================
=       CONTACTO — CONTEXTO
======================================*/

.contacto-contexto{
    width:100%;
    margin:0;
    padding:0;

    background:#171715;
    color:#f6f3ee;
}


/*======================================
=              INNER
======================================*/

.contacto-contexto__inner{
    width:100%;
    max-width:1280px;
    margin:0 auto !important;

    padding:
        clamp(120px, 10vw, 160px)
        6vw
        clamp(120px, 10vw, 160px) !important;
}


/*======================================
=               TOP
======================================*/

.contacto-contexto__top{
    width:100%;

    display:grid !important;
    grid-template-columns:repeat(12, minmax(0, 1fr));
    column-gap:clamp(18px, 2vw, 32px);

    align-items:start;
}


/*======================================
=              LABEL
======================================*/

.contacto-contexto__label{
    grid-column:1 / 4;

    margin:0 !important;
    padding:0 !important;

    font-family:"Manrope", sans-serif;
    font-size:clamp(11px, .78vw, 13px);
    font-weight:500;
    line-height:1.2;

    letter-spacing:.16em;
    text-transform:uppercase;

    color:rgba(246,243,238,.55);
}


/*======================================
=               TITLE
======================================*/

.contacto-contexto__title{
    grid-column:1 / 8;

    width:100%;
    max-width:820px;

    margin:clamp(52px, 5vw, 76px) 0 0 !important;
    padding:0 !important;

    font-family:"Cormorant Garamond", serif;
    font-size:clamp(40px, 4.5vw, 60px); /* CORREGIDO: Escalado con el resto de secciones H2 */
    font-weight:400;
    line-height:.94;
    letter-spacing:-.022em;

    color:#f6f3ee;

    text-wrap:balance;
}


/*======================================
=               INTRO
======================================*/

.contacto-contexto__intro{
    grid-column:9 / 13;

    width:100%;
    max-width:380px;

    margin:clamp(140px, 11vw, 180px) 0 0 !important;
    padding:0 !important;

    font-family:"Manrope", sans-serif;
    font-size:clamp(15px, 1vw, 17px);
    font-weight:400;
    line-height:1.65;

    color:rgba(246,243,238,.68);
}


/*======================================
=               RULE
======================================*/

.contacto-contexto__rule{
    width:100%;
    height:0;

    margin:clamp(90px, 8vw, 120px) 0 0 !important;
    padding:0 !important;

    border-top:1px solid rgba(246,243,238,.16) !important;
}


/*======================================
=               ITEMS
======================================*/

.contacto-contexto__items{
    width:100%;

    margin:0 !important;
    padding:0 !important;

    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
}


/*======================================
=               ITEM
======================================*/

.contacto-contexto__item{
    position:relative;

    width:100%;

    padding:
        clamp(40px, 3.8vw, 58px)
        clamp(28px, 2.8vw, 42px)
        0 !important;

    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
}


/* primera columna sin padding izquierdo */
.contacto-contexto__item:first-child{
    padding-left:0 !important;
}


/* última columna sin padding derecho */
.contacto-contexto__item:last-child{
    padding-right:0 !important;
}


/* líneas verticales estructurales */
.contacto-contexto__item + .contacto-contexto__item{
    border-left:1px solid rgba(246,243,238,.16);
}


/*======================================
=              NUMBER
======================================*/

.contacto-contexto__number{
    margin:0 !important;
    padding:0 !important;

    font-family:"Cormorant Garamond", serif;
    font-size:clamp(42px, 4vw, 58px);
    font-weight:400;
    line-height:.9;

    color:rgba(246,243,238,.10);
}


/*======================================
=            ITEM LABEL
======================================*/

.contacto-contexto__item-label{
    margin:clamp(28px, 2.5vw, 38px) 0 0 !important;
    padding:0 !important;

    font-family:"Manrope", sans-serif;
    font-size:11px;
    font-weight:500;
    line-height:1.2;

    letter-spacing:.16em;
    text-transform:uppercase;

    color:rgba(246,243,238,.58);
}


/*======================================
=             QUESTION
======================================*/

.contacto-contexto__question{
    width:100%;
    max-width:360px;

    margin:clamp(18px, 1.8vw, 26px) 0 0 !important;
    padding:0 !important;

    font-family:"Cormorant Garamond", serif;
    font-size:clamp(30px, 2.7vw, 42px);
    font-weight:400;
    line-height:1.08;
    letter-spacing:-.015em;

    color:#f6f3ee;

    text-wrap:balance;
}


/*======================================
=              TABLET
======================================*/

@media (max-width:1024px){

    .contacto-contexto__inner{
        padding:
            clamp(100px, 11vw, 132px)
            5vw
            clamp(105px, 12vw, 140px) !important;
    }


    .contacto-contexto__top{
        grid-template-columns:repeat(8, minmax(0, 1fr));
        column-gap:clamp(16px, 2.2vw, 24px);
    }


    .contacto-contexto__label{
        grid-column:1 / 4;
    }


    .contacto-contexto__title{
        grid-column:1 / 6;

        max-width:620px;

        margin-top:46px;

        font-size:clamp(36px, 5vw, 52px); /* CORREGIDO */
        line-height:.95;
    }


    .contacto-contexto__intro{
        grid-column:6 / 9;

        max-width:300px;

        margin-top:clamp(120px, 13vw, 150px) !important;
    }


    .contacto-contexto__rule{
        margin-top:clamp(76px, 8vw, 96px) !important;
    }


    .contacto-contexto__item{
        padding:
            34px
            22px
            0 !important;
    }


    .contacto-contexto__item:first-child{
        padding-left:0 !important;
    }


    .contacto-contexto__item:last-child{
        padding-right:0 !important;
    }


    .contacto-contexto__number{
        font-size:38px;
    }


    .contacto-contexto__item-label{
        margin-top:24px !important;
    }


    .contacto-contexto__question{
        margin-top:16px !important;

        font-size:clamp(28px, 3.7vw, 36px);
        line-height:1.08;
    }

}


/*======================================
=            SMARTPHONE
======================================*/

@media (max-width:767px){

    .contacto-contexto__inner{
        width:100%;
        max-width:none;

        padding:
            82px
            20px
            94px !important;
    }


    .contacto-contexto__top{
        display:flex !important;
        flex-direction:column !important;

        width:100%;
    }


    .contacto-contexto__label{
        width:100%;
    }


    .contacto-contexto__title{
        width:100%;
        max-width:620px;

        margin-top:38px !important;

        font-size:clamp(32px, 9vw, 44px) !important; /* CORREGIDO */
        line-height:.96;
    }


    .contacto-contexto__intro{
        width:100%;
        max-width:520px;

        margin-top:40px !important;

        font-size:15px !important;
    }


    .contacto-contexto__rule{
        margin-top:58px !important;
    }


    .contacto-contexto__items{
        display:flex !important;
        flex-direction:column !important;

        width:100%;
    }


    .contacto-contexto__item{
        width:100%;

        padding:
            34px
            0
            38px !important;

        border-left:0 !important;
    }


    .contacto-contexto__item + .contacto-contexto__item{
        border-left:0;
        border-top:1px solid rgba(246,243,238,.16);
    }


    .contacto-contexto__number{
        font-size:34px;
    }


    .contacto-contexto__item-label{
        margin-top:22px !important;
    }


    .contacto-contexto__question{
        width:100%;
        max-width:520px;

        margin-top:14px !important;

        font-size:clamp(30px, 8.5vw, 40px);
        line-height:1.08;
    }

}


/*======================================
=       SMALL SMARTPHONE <=390
======================================*/

@media (max-width:390px){

    .contacto-contexto__inner{
        padding:
            72px
            18px
            84px !important;
    }


    .contacto-contexto__title{
        margin-top:34px !important;

        font-size:clamp(28px, 9vw, 36px); /* CORREGIDO */
        line-height:.97;
    }


    .contacto-contexto__intro{
        margin-top:34px !important;

        font-size:14.5px;
    }


    .contacto-contexto__rule{
        margin-top:50px;
    }


    .contacto-contexto__item{
        padding:
            30px
            0
            34px !important;
    }


    .contacto-contexto__number{
        font-size:30px;
    }


    .contacto-contexto__item-label{
        margin-top:20px;
    }


    .contacto-contexto__question{
        font-size:clamp(28px, 8vw, 36px);
    }

}

/*======================================
=     SECTION 04 — CONTACTO FORM
======================================*/

.contacto-form{
    width:100%;
    margin:0;
    padding:0;

    background:#f6f3ee;
    color:#171715;
}


/*======================================
=               INNER
======================================*/

.contacto-form__inner{
    width:100%;
    max-width:1280px;
    margin:0 auto;

    padding:
        clamp(120px,10vw,160px)
        6vw
        clamp(130px,11vw,180px) !important;

    display:grid !important;
    grid-template-columns:repeat(12,minmax(0,1fr));
    column-gap:clamp(18px,2vw,32px);

    align-items:start;
}


/*======================================
=             EDITORIAL
======================================*/

.contacto-form__editorial{
    grid-column:1 / 7;

    width:100%;
    margin:0 !important;
    padding:0 !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start;
}


/*======================================
=               LABEL
======================================*/

.contacto-form__label{
    margin:0 !important;
    padding:0 !important;

    font-family:"Manrope",sans-serif;
    font-size:clamp(11px,.78vw,13px);
    font-weight:500;
    line-height:1.2;

    letter-spacing:.16em;
    text-transform:uppercase;

    color:#797872;
}


/*======================================
=               TITLE
======================================*/

.contacto-form__title{
    width:100%;
    max-width:500px;

    margin:clamp(48px,4.5vw,68px) 0 0 !important;
    padding:0 !important;

    font-family:"Cormorant Garamond",serif;
    font-size:clamp(40px,4.5vw,60px); /* CORREGIDO: Escalado con el resto de secciones H2 */
    font-weight:400;
    line-height:.95;
    letter-spacing:-.022em;

    color:#171715;

    text-wrap:balance;
}


/*======================================
=               INTRO
======================================*/

.contacto-form__intro{
    width:100%;
    max-width:360px;

    margin:clamp(42px,4vw,58px) 0 0 !important;
    padding:0 !important;

    font-family:"Manrope",sans-serif;
    font-size:clamp(15px,1vw,17px);
    font-weight:400;
    line-height:1.65;

    color:#686761;
}


/*======================================
=          FORM WRAPPER
======================================*/

.contacto-form__form-wrap{
    grid-column:7 / 13;

    width:100%;
    margin:0 !important;
    padding:0 !important;
}


/*======================================
=            ATOMIC FORM
======================================*/

.contacto-form__form{
    width:100%;
    margin:0 !important;
    padding:0 !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:stretch;

    background:transparent;
}


/*======================================
=            FIELD WRAPPER
======================================*/

.contacto-form__field{
    width:100%;
    margin:0 !important;

    padding:
        0
        0
        clamp(32px,3vw,44px) !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:stretch;
}


/*======================================
=            LABEL ROW
======================================*/

.contacto-form__label-row{
    width:100%;

    margin:0 0 12px !important;
    padding:0 !important;

    display:flex !important;
    flex-direction:row !important;
    align-items:center;
    justify-content:space-between;

    gap:16px;
}


/*======================================
=          FIELD LABEL
======================================*/

.contacto-form__field-label{
    width:auto;
    margin:0 0 12px !important;
    padding:0 !important;

    font-family:"Manrope",sans-serif;
    font-size:11px;
    font-weight:500;
    line-height:1.2;

    letter-spacing:.14em;
    text-transform:uppercase;

    color:#797872;
}


/* dentro del label-row evitamos doble margen */
.contacto-form__label-row
.contacto-form__field-label{
    margin:0 !important;
}


/*======================================
=             OPTIONAL
======================================*/

.contacto-form__optional{
    margin:0 !important;
    padding:0 !important;

    font-family:"Manrope",sans-serif;
    font-size:10px;
    font-weight:500;
    line-height:1.2;

    letter-spacing:.14em;
    text-transform:uppercase;

    color:#9a9891;
}


/*======================================
=        INPUT / SELECT / TEXTAREA
======================================*/

.contacto-form__input,
.contacto-form__select,
.contacto-form__textarea{
    width:100%;

    margin:0 !important;

    padding:
        12px
        0
        14px !important;

    border:0 !important;
    border-bottom:1px solid rgba(23,23,21,.18) !important;
    border-radius:0 !important;

    background:transparent;

    box-shadow:none;

    font-family:"Manrope",sans-serif;
    font-size:16px;
    font-weight:400;
    line-height:1.5;

    color:#171715;

    transition:
        border-color .25s ease,
        color .25s ease;
}


/*======================================
=                FOCUS
======================================*/

.contacto-form__input:focus,
.contacto-form__select:focus,
.contacto-form__textarea:focus{
    border-bottom-color:#171715;

    outline:none;
}


.contacto-form__input:focus-visible,
.contacto-form__select:focus-visible,
.contacto-form__textarea:focus-visible{
    outline:1px solid rgba(23,23,21,.45);
    outline-offset:4px;

    border-bottom-color:#171715;
}


/*======================================
=            PLACEHOLDER
======================================*/

.contacto-form__input::placeholder,
.contacto-form__textarea::placeholder{
    color:#8b8982;
    opacity:1;
}


/*======================================
=                SELECT
======================================*/

.contacto-form__select{
    min-height:52px;

    cursor:pointer;

    appearance:auto;
    -webkit-appearance:auto;
}


/*======================================
=              TEXTAREA
======================================*/

.contacto-form__textarea{
    min-height:150px;

    padding-top:14px !important;

    resize:vertical;
}


/*======================================
=             FORM FOOTER
======================================*/

.contacto-form__footer{
    width:100%;

    margin:0 !important;
    padding:0 !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:stretch;
}


/*======================================
=            PRIVACY COPY
======================================*/

.contacto-form__privacy{
    width:100%;
    max-width:500px;

    margin:
        -4px
        0
        clamp(32px,3vw,42px) !important;

    padding:0 !important;

    font-family:"Manrope",sans-serif;
    font-size:12px;
    font-weight:400;
    line-height:1.6;

    color:#797872;
}


.contacto-form__privacy a{
    color:#171715;
    text-decoration:none;

    border-bottom:1px solid rgba(23,23,21,.35);

    transition:border-color .25s ease;
}


.contacto-form__privacy a:hover{
    border-bottom-color:#171715;
}


.contacto-form__privacy a:focus-visible{
    outline:1px solid #171715;
    outline-offset:4px;
}


/*======================================
=            SUBMIT BUTTON
======================================*/

.contacto-form__submit{
    width:auto;
    min-width:240px;
    min-height:54px;

    margin:0 !important;
    padding:16px 22px !important;

    display:inline-flex !important;
    align-items:center;
    justify-content:space-between;

    align-self:flex-start;

    border:1px solid #171715;
    border-radius:0;

    background:#171715;

    box-shadow:none;

    font-family:"Manrope",sans-serif;
    font-size:11px;
    font-weight:600;
    line-height:1.2;

    letter-spacing:.12em;
    text-transform:uppercase;

    color:#f6f3ee;

    cursor:pointer;

    transition:
        background-color .25s ease,
        color .25s ease,
        border-color .25s ease;
}


.contacto-form__submit:hover{
    background:transparent;

    color:#171715;
}


.contacto-form__submit:focus-visible{
    outline:2px solid #171715;
    outline-offset:4px;
}


/*======================================
=          DISABLED / SENDING
======================================*/

.contacto-form__submit:disabled{
    cursor:not-allowed;

    opacity:.5;
}


/*======================================
=      SUCCESS / ERROR STATES
======================================*/

/*
Si asignaste clases personalizadas a los
contenedores Success y Error, usa estas:
*/

.contacto-form__success,
.contacto-form__error{
    width:100%;

    margin:28px 0 0 !important;
    padding:20px 0 0 !important;

    border-top:1px solid rgba(23,23,21,.16);

    font-family:"Manrope",sans-serif;
    font-size:14px;
    font-weight:400;
    line-height:1.6;

    color:#171715;
}


.contacto-form__success p,
.contacto-form__error p{
    margin:0 !important;
    padding:0 !important;

    font:inherit;
    color:inherit;
}


/*======================================
=            INVALID FIELDS
======================================*/

/*
Estas clases cubren escenarios habituales
si Atomic Form / navegador marca el campo
como inválido.
*/

.contacto-form__input[aria-invalid="true"],
.contacto-form__select[aria-invalid="true"],
.contacto-form__textarea[aria-invalid="true"]{
    border-bottom-color:#171715;
}


.contacto-form__input:invalid:not(:placeholder-shown),
.contacto-form__textarea:invalid:not(:placeholder-shown){
    border-bottom-color:rgba(23,23,21,.55);
}


/*======================================
=                TABLET
======================================*/

@media (max-width:1024px){

    .contacto-form__inner{
        padding:
            clamp(100px,11vw,132px)
            5vw
            clamp(110px,12vw,145px) !important;

        grid-template-columns:repeat(8,minmax(0,1fr));

        column-gap:clamp(16px,2.2vw,24px);
    }


    .contacto-form__editorial{
        grid-column:1 / 4;
    }


    .contacto-form__title{
        max-width:390px;

        margin-top:42px !important;

        font-size:clamp(36px,5vw,52px); /* CORREGIDO */
        line-height:.95;
    }


    .contacto-form__intro{
        max-width:300px;

        margin-top:34px !important;

        font-size:15px;
    }


    .contacto-form__form-wrap{
        grid-column:5 / 9;
    }


    .contacto-form__field{
        padding-bottom:32px !important;
    }


    .contacto-form__textarea{
        min-height:140px;
    }


    .contacto-form__submit{
        min-width:220px;
    }

}


/*======================================
=         TABLET ESTRECHO
======================================*/

@media (max-width:860px){

    .contacto-form__inner{
        grid-template-columns:repeat(8,minmax(0,1fr));
    }


    .contacto-form__editorial{
        grid-column:1 / 4;
    }


    .contacto-form__form-wrap{
        grid-column:5 / 9;
    }


    .contacto-form__title{
        font-size:clamp(34px,5vw,48px); /* CORREGIDO */
    }


    .contacto-form__intro{
        max-width:270px;
    }

}


/*======================================
=            SMARTPHONE
======================================*/

@media (max-width:767px){

    .contacto-form__inner{
        width:100%;
        max-width:none;

        padding:
            82px
            20px
            96px !important;

        display:flex !important;
        flex-direction:column !important;
    }


    .contacto-form__editorial{
        width:100%;
    }


    .contacto-form__title{
        width:100%;
        max-width:580px;

        margin-top:36px !important;

        font-size:clamp(32px,9vw,44px); /* CORREGIDO */
        line-height:.96;
    }


    .contacto-form__intro{
        width:100%;
        max-width:520px;

        margin-top:32px !important;

        font-size:15px;
    }


    .contacto-form__form-wrap{
        width:100%;

        margin-top:64px !important;
    }


    .contacto-form__field{
        padding-bottom:30px;
    }


    .contacto-form__field-label{
        margin-bottom:10px !important;
    }


    .contacto-form__label-row{
        margin-bottom:10px !important;
    }


    .contacto-form__input,
    .contacto-form__select,
    .contacto-form__textarea{
        font-size:16px;
    }


    .contacto-form__textarea{
        min-height:170px;
    }


    .contacto-form__privacy{
        width:100%;
        max-width:none;

        margin-bottom:30px !important;
    }


    .contacto-form__submit{
        width:100%;
        min-width:0;
        min-height:52px;

        align-self:stretch;

        padding:16px 18px !important;
    }

}


/*======================================
=        SMALL MOBILE <= 390px
======================================*/

@media (max-width:390px){

    .contacto-form__inner{
        padding:
            72px
            18px
            86px !important;
    }


    .contacto-form__title{
        margin-top:32px !important;

        font-size:clamp(28px,9vw,36px) !important; /* CORREGIDO */
        line-height:.97;
    }


    .contacto-form__intro{
        margin-top:28px !important;

        font-size:14.5px !important;
    }


    .contacto-form__form-wrap{
        margin-top:54px !important;
    }


    .contacto-form__field{
        padding-bottom:27px !important;
    }


    .contacto-form__field-label{
        font-size:10px !important;
    }


    .contacto-form__optional{
        font-size:9px !important;
    }


    .contacto-form__privacy{
        font-size:11.5px;
    }


    .contacto-form__submit{
        min-height:50px;

        font-size:10px;
    }

}

/*======================================
=     SECTION 05 — CONTACTO DIRECTO
======================================*/

.contacto-cierre{
    width:100%;
    margin:0;
    padding:0;

    background:#171715;
    color:#f6f3ee;
}


/*======================================
=               INNER
======================================*/

.contacto-cierre__inner{
    width:100%;
    max-width:1280px;

    margin:0 auto;

    padding:
        clamp(120px,10vw,160px)
        6vw
        clamp(125px,10.5vw,170px) !important;
}


/*======================================
=               LABEL
======================================*/

.contacto-cierre__label{
    width:auto;

    margin:0 !important;
    padding:0 !important;

    font-family:"Manrope",sans-serif;
    font-size:clamp(11px,.78vw,13px);
    font-weight:500;
    line-height:1.2;

    letter-spacing:.16em;
    text-transform:uppercase;

    color:rgba(246,243,238,.55);
}


/*======================================
=               LAYOUT
======================================*/

.contacto-cierre__layout{
    width:100%;

    margin:clamp(58px,5.5vw,84px) 0 0 !important;
    padding:0 !important;

    display:grid !important;

    grid-template-columns:repeat(12,minmax(0,1fr));

    column-gap:clamp(18px,2vw,32px);

    align-items:start;
}


/*======================================
=              EDITORIAL
======================================*/

.contacto-cierre__editorial{
    grid-column:1 / 8;

    width:100%;

    margin:0 !important;
    padding:0 !important;
}


/*======================================
=               TITLE
======================================*/

.contacto-cierre__title{
    width:100%;
    max-width:820px;

    margin:0 !important;
    padding:0 !important;

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(40px,4.5vw,60px); /* CORREGIDO: Escalado con el resto de secciones H2 */
    font-weight:400;
    line-height:.94;

    letter-spacing:-.022em;

    color:#f6f3ee;

    text-wrap:balance;
}


/*======================================
=               ACTIONS
======================================*/

.contacto-cierre__actions{
    grid-column:9 / 13;

    width:100%;

    margin:clamp(10px,1.5vw,24px) 0 0 !important;
    padding:0 !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:stretch;
}


/*======================================
=                INTRO
======================================*/

.contacto-cierre__intro{
    width:100%;
    max-width:360px;

    margin:0 !important;
    padding:0 !important;

    font-family:"Manrope",sans-serif;

    font-size:clamp(15px,1vw,17px);
    font-weight:400;
    line-height:1.65;

    color:rgba(246,243,238,.68);
}


/*======================================
=          WHATSAPP PRIMARY
======================================*/

.contacto-cierre__whatsapp{
    width:100%;
    min-height:62px;

    margin:clamp(44px,4vw,58px) 0 0 !important;
    padding:18px 20px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between;

    border:1px solid #f6f3ee;
    border-radius:0;

    background:#f6f3ee;

    font-family:"Manrope",sans-serif;
    font-size:11px;
    font-weight:600;
    line-height:1.2;

    letter-spacing:.12em;
    text-transform:uppercase;

    color:#171715;

    text-decoration:none;

    transition:
        background-color .25s ease,
        color .25s ease;
}


.contacto-cierre__whatsapp:hover{
    background:transparent;
    color:#f6f3ee;
}


.contacto-cierre__whatsapp:focus-visible{
    outline:2px solid #f6f3ee;
    outline-offset:4px;
}


/*======================================
=            EMAIL SECONDARY
======================================*/

.contacto-cierre__email{
    width:100%;

    margin:22px 0 0 !important;
    padding:20px 0 0 !important;

    border-top:1px solid rgba(246,243,238,.16);

    font-family:"Manrope",sans-serif;

    font-size:11px;
    font-weight:500;
    line-height:1.5;

    letter-spacing:.08em;
    text-transform:uppercase;

    color:rgba(246,243,238,.72);

    text-decoration:none;

    transition:
        color .25s ease,
        padding-left .25s ease;
}


.contacto-cierre__email:hover{
    color:#f6f3ee;

    padding-left:4px !important;
}


.contacto-cierre__email:focus-visible{
    outline:1px solid #f6f3ee;
    outline-offset:4px;
}


/*======================================
=               TABLET
======================================*/

@media (max-width:1024px){

    .contacto-cierre__inner{
        padding:
            clamp(100px,11vw,132px)
            5vw
            clamp(105px,12vw,140px) !important;
    }


    .contacto-cierre__layout{
        margin-top:50px !important;

        grid-template-columns:repeat(8,minmax(0,1fr));

        column-gap:clamp(16px,2.2vw,24px);
    }


    .contacto-cierre__editorial{
        grid-column:1 / 6;
    }


    .contacto-cierre__title{
        max-width:620px;

        font-size:clamp(36px,5vw,52px); /* CORREGIDO */
        line-height:.95;
    }


    .contacto-cierre__actions{
        grid-column:6 / 9;

        margin-top:8px !important;
    }


    .contacto-cierre__intro{
        max-width:300px;

        font-size:14.5px;
    }


    .contacto-cierre__whatsapp{
        margin-top:38px !important;

        min-height:58px;

        padding:16px 16px !important;

        font-size:10px;
    }


    .contacto-cierre__email{
        font-size:10px;
    }

}


/*======================================
=          TABLET ESTRECHO
======================================*/

@media (max-width:860px){

    .contacto-cierre__editorial{
        grid-column:1 / 6;
    }


    .contacto-cierre__actions{
        grid-column:6 / 9;
    }


    .contacto-cierre__title{
        font-size:clamp(34px,5vw,48px); /* CORREGIDO */
    }

}


/*======================================
=            SMARTPHONE
======================================*/

@media (max-width:767px){

    .contacto-cierre__inner{
        width:100%;
        max-width:none;

        padding:
            82px
            20px
            94px !important;
    }


    .contacto-cierre__layout{
        width:100%;

        margin-top:38px !important;

        display:flex !important;
        flex-direction:column !important;
    }


    .contacto-cierre__editorial{
        width:100%;
    }


    .contacto-cierre__title{
        width:100%;
        max-width:620px;

        font-size:clamp(32px,9vw,44px); /* CORREGIDO */
        line-height:.96;
    }


    .contacto-cierre__actions{
        width:100%;

        margin-top:48px !important;
    }


    .contacto-cierre__intro{
        width:100%;
        max-width:520px;

        font-size:15px;
    }


    .contacto-cierre__whatsapp{
        width:100%;

        min-height:54px;

        margin-top:36px !important;

        padding:16px 18px;

        font-size:10.5px;
    }


    .contacto-cierre__email{
        width:100%;

        margin-top:20px !important;

        padding-top:20px !important;

        font-size:10.5px;
    }

}


/*======================================
=        SMALL MOBILE <=390px
======================================*/

@media (max-width:390px){

    .contacto-cierre__inner{
        padding:
            72px
            18px
            84px !important;
    }


    .contacto-cierre__layout{
        margin-top:34px;
    }


    .contacto-cierre__title{
        font-size:clamp(28px,9vw,36px); /* CORREGIDO */
        line-height:.97;
    }


    .contacto-cierre__actions{
        margin-top:42px !important;
    }


    .contacto-cierre__intro{
        font-size:14.5px;
    }


    .contacto-cierre__whatsapp{
        min-height:52px;

        margin-top:32px !important;

        padding:15px 16px !important;

        font-size:10px;
    }


    .contacto-cierre__email{
        font-size:10px;
        line-height:1.55;
    }

}/* End custom CSS */