:root{--green:#09b63a;--cyan:#00a3b5;--ink:#071514;--white:#f8fbfa;--muted:#64706e;--pale:#e7f8f0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font:16px Manrope,sans-serif}
h1,h2,h3{font-family:"Barlow Condensed",sans-serif;letter-spacing:0;margin:0}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

.wrap{width:min(100% - 32px,1216px);margin:auto}

.section{padding:112px 0;scroll-margin-top:80px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--green)}
h2{font-size:clamp(48px,6vw,76px);line-height:.95;max-width:850px}


header {
    position: fixed;
    z-index: 20;
    inset: 0 0 auto;
    height: 101px;
    padding: 0 max(16px, calc((100% - 1216px)/2));
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    background: transparent;
    color: white;
    border-bottom: 1px solid transparent;
	background: rgba(7, 21, 20, 0.25);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(8px);
}










.brand {
    display: flex;
    align-items: center;
    width: 145px;
    flex-shrink: 0;
}

.brand span {
    display: block;
    width: 145px;
    padding: 0;
    flex-shrink: 0;
}

.brand img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}
@media (max-width: 768px) {
    .brand {
        width: 120px;
    }

    .brand span {
        width: 120px;
    }
}

@media (max-width: 400px) {
    .brand {
        width: 105px;
    }

    .brand span {
        width: 105px;
    }
}













nav{display:flex;gap:44px}nav a{font-size:13px;font-weight:800;text-transform:uppercase}

#menu{display:none;background:none;border:0;color:white;font-size:24px}
.hero{position:relative;min-height:94svh;color:white;overflow:hidden}
.hero>img,.statement>img{position:absolute;inset:0;width:100%;height:115%;object-fit:cover}



.statement {
    position: relative;
    overflow: hidden;
}

.veil {
    position: absolute;
    inset: 0;

    background: linear-gradient(
        to bottom,
        rgba(0, 148, 178, 0.43) 10%,
        rgba(0, 148, 178, 0.65) 40%,
        rgba(33, 173, 0, 0.43) 100%
    );

    z-index: 0;

    pointer-events: none;
}

.statement .wrap {
    position: relative;
    z-index: 2;
}



.hero-copy{position:relative;min-height:94svh;display:flex;justify-content:center;flex-direction:column;padding-top:100px}
.hero h1{font-size:clamp(58px,8vw,106px);line-height:.88;max-width:820px}
.hero h1 em{color:var(--green);font-style:normal}
.hero-copy>p:not(.eyebrow){max-width:680px;color:#ffffffcc;line-height:1.7}
.actions{display:flex;gap:12px;margin-top:24px}

.btn{padding:16px 24px;border-radius:3px;font-weight:700;transition:.25s}.btn:hover,.contact-links a:hover,.tiles>div:hover,.steps article:hover{transform:translateY(-7px)}.primary{background:var(--green)}.light{background:white;color:var(--ink)}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.split>div>p:not(.eyebrow){color:var(--muted);line-height:1.8;max-width:580px}.facts{display:grid;grid-template-columns:1fr 1fr;margin-top:32px;border:1px solid #dbe3e0}.facts b{padding:20px;border:1px solid #dbe3e0;font-family:"Barlow Condensed";font-size:22px}.facts small{display:block;font:11px Manrope;color:var(--muted);margin-top:5px}


.gallery {
    height: 650px;
    display: grid;
    grid-template-columns: 3fr 2fr;
    grid-template-rows: minmax(0, 3fr) minmax(0, 2fr);
    gap: 12px;
    overflow: hidden;
}

.gallery img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
}

.gallery img:first-child {
    grid-row: 1 / 3;
}




.dark{background:#014E18;color:white}
.dark h2{margin-top:12px}

.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}
.service-grid article{border:1px solid #ffffff24}


.photo{height:480px;position:relative;overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover;transition:.7s}
.photo:hover img{transform:scale(1.05)}
.photo strong{position:absolute;left:20px;top:20px;background:var(--green);padding:10px;font-size:11px}
.photo strong.blue{background:var(--cyan)}
.tiles{display:grid;grid-template-columns:1fr 1fr}
.tiles>div{padding:22px;border:1px solid #ffffff1c;transition:.25s}
.tiles i{font-style:normal;color:var(--green);font-size:24px}
.tiles h3{font-size:24px;margin-top:14px}
.tiles p{font-size:13px;color:#ffffff9f;line-height:1.6}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}
.duo img{height:350px;width:100%;object-fit:cover}
.pale{background:var(--pale)}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:42px}
.steps article{background:white;padding:24px;border-top:4px solid var(--green);transition:.25s}
.steps b{font:700 38px "Barlow Condensed";color:#09b63a55}
.steps h3{font-size:23px;margin-top:24px}
.steps p{font-size:13px;color:var(--muted)}





/* =========================================
   STATEMENT
========================================= */

.statement {
    position: relative;

    min-height: 78vh;

    margin: 0;
    padding: 0;

    overflow: hidden;

    color: #fff;

    /* FOTO */
    background-image: url("assets/statement.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}


/* =========================================
   CAPA VERDE
========================================= */

.statement::before {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 0;

    background: rgba(1, 78, 24, 0.90);


}


/* =========================================
   CONTENIDO
========================================= */

.statement .wrap {
    position: relative;

    z-index: 1;

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

    min-height: 78vh;

    margin: 0 auto;

    padding-left: 0;
    padding-right: 0;

    box-sizing: border-box;

    display: flex;

    flex-direction: column;

    justify-content: center;
}


/* =========================================
   ICONO / EYEBROW
========================================= */

.statement .wrap > p {
    margin: 0 0 18px;

    font-size: 48px;

    line-height: 1;

    color: #23ae00;
}


/* =========================================
   TITULO
========================================= */

.statement h2 {
    max-width: 900px;

    margin: 0;

    color: #fff;

    font-size: clamp(45px, 6vw, 88px);

    line-height: .95;

    letter-spacing: -2px;
}


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

@media (max-width: 1248px) {

    .statement .wrap {
        padding-left: 16px;
        padding-right: 16px;
    }

}


@media (max-width: 768px) {

    .statement {
        min-height: 70vh;

        background-attachment: scroll;
    }

.statement::before {
    content: "";

    position: absolute;

    inset: 0;

    z-index: 0;

    background: rgba(1, 78, 24, 0.90);


}

    .statement .wrap {
        min-height: 70vh;

        padding-left: 16px;
        padding-right: 16px;
    }

    .statement .wrap > p {
        font-size: 28px;

        margin-bottom: 14px;
    }

    .statement h2 {
        max-width: 100%;

        font-size: clamp(38px, 10vw, 60px);

        line-height: .98;

        letter-spacing: -1px;
    }

}










.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}.faqs{border-top:1px solid #ccd5d2}.faqs details{border-bottom:1px solid #ccd5d2;padding:24px 0}.faqs summary{font:700 26px "Barlow Condensed";cursor:pointer}.faqs p{color:var(--muted);line-height:1.7}.contact{background:var(--green);color:white}.contact .eyebrow{color:white}.contact .split>div>p:not(.eyebrow){color:#ffffffcc}.contact-links{display:grid;gap:12px}.contact-links a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:0 16px;align-items:center;background:var(--ink);padding:22px;transition:.25s}.contact-links a:nth-child(2){background:white;color:var(--ink)}.contact-links span{grid-row:1/3;font-size:24px}.contact-links small{opacity:.6}.contact-links b{overflow:hidden;text-overflow:ellipsis}

footer{min-height:100px;padding:20px max(16px,calc((100% - 1216px)/2));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;background:var(--ink);color:white;font-size:12px}
footer img{width:111px;padding:5px}
footer a{color:var(--green);font-weight:800}

@media(max-width:800px){header{height:80px}.brand b,nav{display:none}#menu{display:block}nav.open{display:block;position:absolute;left:0;right:0;top:80px;padding:14px 20px;background:var(--ink)}nav.open a{display:block;padding:13px;border-bottom:1px solid #ffffff1a}.section{padding:76px 0}.hero-copy{justify-content:flex-end;padding-bottom:64px}.hero h1{font-size:48px}.hero>img{object-position:60% center}.actions{flex-direction:column}.btn{text-align:center}.split,.service-grid,.faq-layout{grid-template-columns:1fr;gap:36px}.gallery{height:460px}.steps{grid-template-columns:1fr}.photo{height:288px}.tiles{grid-template-columns:1fr}.duo img{height:160px}footer{grid-template-columns:auto 1fr}footer span{display:none}h2{font-size:46px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.parallax{transform:none!important}}


















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

.contact {
    position: relative;

    min-height: calc(100vh - 101px);

    box-sizing: border-box;

    padding: 90px 0;

    display: flex;

    align-items: center;

    color: #ffffff;

    background:
        url("assets/contacto2.jpg")
        center center /
        cover
        no-repeat;

    overflow: hidden;
}


/* =========================================
   CAPA VERDE SEMITRANSPARENTE
========================================= */

.contact-overlay {
    position: absolute;

    inset: 0;

    z-index: 0;

    background: rgba(0, 200, 83, .78);
}


/* =========================================
   CONTENEDOR
========================================= */

.contact-wrap {
    position: relative;

    z-index: 1;


}


/* =========================================
   ENCABEZADO
========================================= */

.contact-header {
    max-width: 750px;

    margin-bottom: 50px;
}


.contact-header .eyebrow {
    margin-bottom: 12px;

    color: #071514;
}


.contact-header h2 {
    margin: 0 0 15px;

    font-size: clamp(55px, 7vw, 95px);

    line-height: .9;

    letter-spacing: -2px;

    color: #ffffff;
}


.contact-header > p:last-child {
    margin: 0;

    max-width: 620px;

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

    font-size: 18px;

    line-height: 1.6;
}


/* =========================================
   GRID PRINCIPAL
========================================= */

.contact-grid {
    display: grid;

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

    gap: 60px;

    align-items: stretch;
}


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

.contact-info {
    display: flex;

    flex-direction: column;

    gap: 14px;

    min-width: 0;

    height: 100%;
}


/* =========================================
   CARDS
========================================= */

.contact-card {
    position: relative;

    display: grid;

    grid-template-columns: 64px minmax(0, 1fr) 30px;

    align-items: center;

    gap: 18px;

    min-height: 125px;

    padding: 22px 25px;

    box-sizing: border-box;

    text-decoration: none;

    color: #ffffff;

    background: rgba(7,21,20,.94);

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

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


.contact-card:hover {
    transform: translateY(-4px);

    background: #071514;

    border-color: rgba(255,255,255,.18);
}


/* =========================================
   ICONOS
========================================= */

.contact-icon {
    width: 58px;

    height: 58px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    background: #00c853;

    color: #ffffff;

    font-size: 30px;

    box-shadow:
        0 0 0 7px rgba(0,200,83,.15);
}


.email .contact-icon {
    background: #087f98;

    box-shadow:
        0 0 0 7px rgba(8,127,152,.18);
}


/* =========================================
   TEXTO CARDS
========================================= */

.contact-card-text {
    min-width: 0;
}


.contact-card small {
    display: block;

    margin-bottom: 5px;

    color: #00c853;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.5px;
}


.contact-card b {
    display: block;

    color: #ffffff;

    font-size: 18px;

    line-height: 1.3;

    word-break: break-word;
}


.contact-card em {
    display: block;

    margin-top: 5px;

    color: #899896;

    font-size: 13px;

    font-style: normal;
}


.contact-card strong {
    color: #00c853;

    font-size: 25px;

    font-weight: 400;
}


/* =========================================
   FOTO CONTACTO 1
========================================= */

.contact-photo {
    position: relative;

    width: 100%;

    flex: 1;

    min-height: 210px;

    overflow: hidden;

    background: #071514;
}


.contact-photo::after {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.35),
            transparent 45%
        );

    pointer-events: none;
}


.contact-photo img {
    display: block;

    width: 100%;

    height: 100%;

    min-height: 100%;

    object-fit: cover;

    object-position: center;

    transition:
        transform .5s ease;
}


.contact-photo:hover img {
    transform: scale(1.03);
}


/* =========================================
   FORMULARIO
========================================= */

.contact-form-box {
    width: 100%;

    box-sizing: border-box;

    padding: 40px;

    align-self: center;

    background: #f4f7f6;

    color: #071514;

    box-shadow:
        0 20px 60px rgba(0,0,0,.12);
}


.contact-form-box h3 {
    margin: 0 0 8px;

    color: #071514;

    font-size: 30px;

    line-height: 1.1;
}


.contact-form-box > p {
    margin: 0 0 28px;

    color: #63716f;

    font-size: 15px;

    line-height: 1.5;
}


/* =========================================
   FORM
========================================= */

#contactForm {
    display: flex;

    flex-direction: column;

    gap: 18px;
}


.form-row {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 16px;
}


/* =========================================
   LABELS
========================================= */

#contactForm label {
    display: flex;

    flex-direction: column;

    gap: 7px;

    color: #19302d;

    font-size: 12px;

    font-weight: 700;
}


#contactForm label > span {
    display: block;
}


/* =========================================
   INPUTS
========================================= */

#contactForm input,
#contactForm textarea {
    width: 100%;

    box-sizing: border-box;

    padding: 14px 15px;

    border: 1px solid #d5dfdc;

    border-radius: 0;

    outline: none;

    background: #ffffff;

    color: #071514;

    font-family: inherit;

    font-size: 15px;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}


#contactForm input {
    height: 50px;
}


#contactForm textarea {
    min-height: 130px;

    resize: vertical;
}


#contactForm input:focus,
#contactForm textarea:focus {
    border-color: #00c853;

    box-shadow:
        0 0 0 3px rgba(0,200,83,.10);
}


#contactForm input::placeholder,
#contactForm textarea::placeholder {
    color: #9aa6a4;
}


/* =========================================
   BOTÓN WHATSAPP
========================================= */

.form-button {
    display: flex;

    align-items: center;

    justify-content: space-between;

    width: 100%;

    min-height: 58px;

    padding: 0 20px;

    border: 0;

    border-radius: 0;

    outline: none;

    cursor: pointer;

    background: #00c853;

    color: #ffffff;

    font-family: inherit;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: .4px;

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


.form-button:hover {
    background: #00a844;

    transform: translateY(-2px);
}


.form-button span {
    display: flex;

    align-items: center;

    gap: 10px;
}


.form-button i {
    font-size: 21px;
}


.form-button b {
    font-size: 23px;

    font-weight: 400;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .contact {
        min-height: auto;

        padding: 75px 0;
    }


    .contact-grid {
        grid-template-columns: 1fr;

        gap: 35px;
    }


    .contact-info {
        display: grid;

        grid-template-columns: 1fr 1fr;

        gap: 14px;

        height: auto;
    }


    .contact-photo {
        grid-column: 1 / -1;

        height: 280px;

        min-height: 280px;

        flex: none;
    }


    .contact-form-box {
        align-self: auto;
    }

}


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

@media (max-width: 768px) {

    .contact {
        padding: 65px 0;
    }


    .contact-overlay {
        background: rgba(0,200,83,.84);
    }


    .contact-header {
        margin-bottom: 35px;
    }


    .contact-header h2 {
        font-size: 58px;

        letter-spacing: -1.5px;
    }


    .contact-header > p:last-child {
        font-size: 16px;
    }


    .contact-grid {
        grid-template-columns: 1fr;

        gap: 30px;
    }


    .contact-info {
        display: flex;

        flex-direction: column;

        gap: 12px;
    }


    .contact-card {
        grid-template-columns: 52px minmax(0, 1fr) 20px;

        gap: 14px;

        min-height: 105px;

        padding: 18px;
    }


    .contact-icon {
        width: 48px;

        height: 48px;

        font-size: 24px;
    }


    .contact-card b {
        font-size: 15px;
    }


    .contact-card em {
        font-size: 12px;
    }


    .contact-card strong {
        font-size: 20px;
    }


    .contact-photo {
        width: 100%;

        height: 220px;

        min-height: 220px;

        flex: none;
    }


    .contact-form-box {
        padding: 25px 20px;
    }


    .contact-form-box h3 {
        font-size: 25px;
    }


    .form-row {
        grid-template-columns: 1fr;

        gap: 18px;
    }


    #contactForm input {
        height: 50px;
    }


    #contactForm textarea {
        min-height: 130px;
    }


    .form-button {
        min-height: 56px;

        padding: 0 17px;

        font-size: 12px;
    }

}


/* =========================================
   MÓVIL PEQUEÑO
========================================= */

@media (max-width: 400px) {

    .contact {
        padding: 55px 0;
    }


    .contact-header h2 {
        font-size: 50px;
    }


    .contact-card {
        grid-template-columns: 46px minmax(0, 1fr) 15px;

        gap: 10px;

        padding: 15px;
    }


    .contact-icon {
        width: 43px;

        height: 43px;

        font-size: 21px;
    }


    .contact-card b {
        font-size: 14px;
    }


    .contact-form-box {
        padding: 22px 16px;
    }


    .contact-photo {
        height: 190px;

        min-height: 190px;
    }

}














/* =========================================
   WHATSAPP FLOTANTE
========================================= */

.whatsapp-float {
    position: fixed;

    right: 25px;
    bottom: 25px;

    z-index: 9999;

    display: flex;

    align-items: center;

    gap: 12px;

    min-height: 62px;

    padding: 9px 20px 9px 10px;

    box-sizing: border-box;

    border-radius: 40px;

    background: #25D366;

    color: #ffffff;

    text-decoration: none;

    box-shadow:
        0 8px 25px rgba(0,0,0,.25);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;

    animation: whatsapp-pulse 2.5s infinite;
}


/* ICONO */

.whatsapp-float > i {
    width: 44px;

    height: 44px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    background: #ffffff;

    color: #25D366;

    font-size: 28px;
}


/* TEXTO */

.whatsapp-float-text {
    display: flex;

    flex-direction: column;

    justify-content: center;

    font-size: 12px;

    line-height: 1.2;
}


.whatsapp-float-text strong {
    margin-top: 3px;

    font-size: 14px;

    font-weight: 800;
}


/* HOVER */

.whatsapp-float:hover {
    transform: translateY(-4px) scale(1.02);

    background: #20bd5b;

    box-shadow:
        0 12px 30px rgba(0,0,0,.30);

    animation: none;
}


/* =========================================
   ANIMACIÓN
========================================= */

@keyframes whatsapp-pulse {

    0% {
        box-shadow:
            0 8px 25px rgba(0,0,0,.25),
            0 0 0 0 rgba(37,211,102,.55);
    }

    70% {
        box-shadow:
            0 8px 25px rgba(0,0,0,.25),
            0 0 0 14px rgba(37,211,102,0);
    }

    100% {
        box-shadow:
            0 8px 25px rgba(0,0,0,.25),
            0 0 0 0 rgba(37,211,102,0);
    }

}


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

@media (max-width: 768px) {

    .whatsapp-float {
        right: 16px;

        bottom: 16px;

        min-height: 56px;

        padding: 7px 16px 7px 7px;

        gap: 9px;
    }


    .whatsapp-float > i {
        width: 42px;

        height: 42px;

        font-size: 25px;
    }


    .whatsapp-float-text {
        font-size: 10px;
    }


    .whatsapp-float-text strong {
        font-size: 12px;
    }

}


/* =========================================
   TELÉFONOS MUY PEQUEÑOS
========================================= */

@media (max-width: 400px) {

    .whatsapp-float {
        right: 12px;

        bottom: 12px;

        width: 54px;

        height: 54px;

        min-height: 54px;

        padding: 5px;

        justify-content: center;
    }


    .whatsapp-float > i {
        width: 44px;

        height: 44px;

        font-size: 27px;
    }


    .whatsapp-float-text {
        display: none;
    }

}



/* =========================================================
   ANIMACIONES SUAVES
   ========================================================= */

/* Estado inicial */
.reveal {
    opacity: 0;
    transform: translateY(35px);
    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.22,1,.36,1);
}

/* Estado visible */
.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Animación escalonada */
.reveal-delay-1 { transition-delay: .08s; }
.reveal-delay-2 { transition-delay: .16s; }
.reveal-delay-3 { transition-delay: .24s; }
.reveal-delay-4 { transition-delay: .32s; }
.reveal-delay-5 { transition-delay: .40s; }


/* Entrada suave del contenido del Hero */
.hero-copy {
    animation: heroEntrance 1.1s cubic-bezier(.22,1,.36,1) both;
}

@keyframes heroEntrance {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Movimiento muy sutil de las imágenes */
.gallery img,
.photo img,
.duo img,
.contact-photo img {
    transition:
        transform .8s cubic-bezier(.22,1,.36,1),
        filter .8s ease;
}

.gallery img:hover,
.duo img:hover {
    transform: scale(1.025);
}


/* Tarjetas */
.tiles > div,
.steps article,
.contact-card {
    transition:
        transform .35s cubic-bezier(.22,1,.36,1),
        box-shadow .35s ease,
        border-color .35s ease;
}

.tiles > div:hover,
.steps article:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 35px rgba(0,0,0,.10);
}


/* Botones */
.btn {
    position: relative;
    overflow: hidden;
}

.btn::after {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.25),
        transparent
    );
    transform: skewX(-20deg);
    transition: left .6s ease;
}

.btn:hover::after {
    left: 140%;
}


/* Flechas con movimiento sutil */
.contact-card > strong,
.form-button b {
    transition: transform .3s ease;
}

.contact-card:hover > strong,
.form-button:hover b {
    transform: translateX(5px);
}


/* Icono del statement */
.statement .wrap > p {
    animation: breathing 3s ease-in-out infinite;
}

@keyframes breathing {
    0%, 100% {
        transform: scale(1);
        opacity: .85;
    }

    50% {
        transform: scale(1.08);
        opacity: 1;
    }
}


/* Imagen de contacto */
.contact-photo:hover img {
    transform: scale(1.045);
}


/* Accesibilidad */
@media (prefers-reduced-motion: reduce) {

    .reveal,
    .hero-copy {
        opacity: 1;
        transform: none;
        animation: none;
        transition: none;
    }

    .statement .wrap > p {
        animation: none;
    }

    * {
        scroll-behavior: auto !important;
    }
}







.sedesu-info{
    display:flex;
    flex-direction:column;
    gap:5px;
    position:relative;
    padding-left:4px;
}

.sedesu-info small{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    font-weight:900;
    letter-spacing:2.5px;
    text-transform:uppercase;
    color:#21ad00;
}

.sedesu-info small::before{
    content:"?";
    display:flex;
    align-items:center;
    justify-content:center;
    width:19px;
    height:19px;
    border-radius:50%;
    background:#21ad00;
    color:#fff;
    font-size:12px;
    font-weight:900;
}

.sedesu-info strong{
    display:block;
    width:max-content;
    max-width:100%;
    padding:9px 15px;
    margin:2px 0 3px;
    background:#21ad00;
    color:#fff;
    border-radius:5px;
    font-size:24px;
    line-height:1;
    font-weight:900;
    letter-spacing:1.5px;
    box-shadow:0 5px 18px rgba(33,173,0,.35);
}

.sedesu-info span{
    display:block;
    font-size:14px;
    font-weight:700;
    color:#fff;
    letter-spacing:.3px;
}