/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Inter',sans-serif;
    background:#07131f;
    color:#fff;
    overflow-x:hidden;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

.container{
    width:min(1280px,92%);
    margin:auto;
}

/* =========================
   VARIABLES
========================= */

:root{

    --primary:#f97316;
    --primary-dark:#ea580c;

    --dark:#07131f;
    --dark-2:#0c1c2d;
    --dark-3:#12263b;

    --glass:rgba(255,255,255,.08);

    --border:rgba(255,255,255,.12);

    --text-soft:#bfc8d3;

    --radius:28px;

    --transition:.35s ease;

}

/* =========================
   HEADER
========================= */

.site-header{

    position:fixed;

    top:0;
    left:0;

    width:100%;

    z-index:1000;

    padding:20px 0;

    transition:.4s ease;

}

.site-header.scrolled{

    background:rgba(7,19,31,.88);

    backdrop-filter:blur(18px);

    box-shadow:0 10px 40px rgba(0,0,0,.35);

}

.header-container{

    display:flex;

    align-items:center;

    justify-content:center;

    position:relative;

}

.brand{

    position:absolute;

    left:0;

    top:50%;

    transform:translateY(-50%);

}

.main-nav{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:40px;

}

.main-nav a{

    color:#fff;

    font-size:.95rem;

    font-weight:600;

    position:relative;

    transition:.3s ease;

}

.main-nav a:hover{

    color:var(--primary);

}

.main-nav a::after{

    content:'';

    position:absolute;

    left:0;
    bottom:-8px;

    width:0;

    height:2px;

    background:var(--primary);

    transition:.35s ease;

}

.main-nav a:hover::after{

    width:100%;

}

/* HAMBURGUESA */

.nav-toggle{

    display:none;

    border:none;

    background:none;

    cursor:pointer;

    position:absolute;

    right:0;

}

.nav-toggle span{

    width:28px;

    height:3px;

    display:block;

    margin:5px 0;

    background:#fff;

    border-radius:30px;

}
/* =========================
   BUTTONS
========================= */

.btn{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    padding:15px 28px;

    border-radius:999px;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:var(--primary);

    color:#fff;

}

.btn-primary:hover{

    transform:translateY(-4px);

    background:var(--primary-dark);

}

.btn-secondary{

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

    color:#fff;

    backdrop-filter:blur(10px);

}

.btn-secondary:hover{

    background:rgba(255,255,255,.08);

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

.hero-home{

    position:relative;

    height:100vh;

    min-height:750px;

    overflow:hidden;

}

.hero-bg{

    position:absolute;

    inset:0;

}

.hero-bg img{

    width:100%;
    height:100%;

    object-fit:cover;

    animation:heroZoom 12s ease-in-out infinite alternate;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        rgba(7,19,31,.20),
        rgba(7,19,31,.65)
    );

}

.hero-center{

    position:relative;

    z-index:5;

    height:100%;

    display:flex;

    align-items:center;

    justify-content:center;

}

.hero-glass{

    width:min(1000px,95%);

    padding:40px;

    text-align:center;

    background:none;

    border:none;

    backdrop-filter:none;

    box-shadow:none;

    animation:heroContent 1.2s ease;

}

.hero-logo{

    width:720px;

    max-width:90%;

    margin:0 auto 45px;

    filter:
        drop-shadow(0 25px 60px rgba(0,0,0,.95))
        drop-shadow(0 45px 120px rgba(0,0,0,.80))
        drop-shadow(0 0 60px rgba(0,102,255,.25));

}

.hero-actions{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:18px;

}

.hero-actions .btn{

    min-width:220px;

}

/* YA NO SE USAN */

.hero-eyebrow,
.hero-description,
.hero-home h1{

    display:none;

}

@keyframes heroZoom{

    from{
        transform:scale(1);
    }

    to{
        transform:scale(1.06);
    }

}

@keyframes heroContent{

    from{

        opacity:0;

        transform:
        translateY(40px)
        scale(.95);

    }

    to{

        opacity:1;

        transform:
        translateY(0)
        scale(1);

    }

}
/* =========================
   SECTIONS
========================= */

.section{

    padding:120px 0;

}

.section-eyebrow{

    color:var(--primary);

    font-size:.85rem;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:14px;

}

.section-heading{

    text-align:center;

    margin-bottom:70px;

}

.section-heading h2{

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

}

.editorial-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.editorial-image img{

    border-radius:30px;

}

.editorial-content h2{

    font-size:3rem;

    margin-bottom:25px;

}

.editorial-content p{

    color:var(--text-soft);

    line-height:1.8;

    margin-bottom:18px;

}

.services-grid{

    display:grid;

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

    gap:25px;

}

.service-card{

    padding:35px;

    border-radius:28px;

    background:var(--dark-2);

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

    transition:.4s ease;

}

.service-card:hover{

    transform:translateY(-10px);

}

.service-card h3{

    font-size:1.4rem;

    margin-bottom:18px;

}

.service-card p{

    color:var(--text-soft);

}
/* =========================
   GALLERY
========================= */

.gallery-grid{

    display:grid;

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

    gap:20px;

}

.gallery-item{

    position:relative;

    height:320px;

    border-radius:24px;

    overflow:hidden;

    cursor:pointer;

}

.gallery-item img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:.5s ease;

}

.gallery-item:hover img{

    transform:scale(1.08);

}

.gallery-item::after{

    content:'';

    position:absolute;

    inset:0;

    background:linear-gradient(
        transparent,
        rgba(0,0,0,.25)
    );

    pointer-events:none;

}

.gallery-item img{
    position:relative;
    z-index:1;
}

/* =========================
   LIGHTBOX
========================= */

.gallery-lightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.92);

    backdrop-filter:blur(10px);

    display:flex;

    align-items:center;

    justify-content:center;

    padding:30px;

    z-index:99999;

    opacity:0;

    visibility:hidden;

    transition:.35s ease;

}

.gallery-lightbox.active{

    opacity:1;

    visibility:visible;

}

.gallery-lightbox img{

    max-width:92vw;

    max-height:90vh;

    object-fit:contain;

    border-radius:20px;

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

    transform:scale(.95);

    transition:.3s ease;

}

.gallery-lightbox.active img{

    transform:scale(1);

}

.gallery-close{

    position:absolute;

    top:25px;

    right:25px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:#ff7b00;

    color:#fff;

    font-size:32px;

    font-weight:700;

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:center;

    transition:.25s ease;

}

.gallery-close:hover{

    transform:scale(1.1);

}


/* =========================
   STATS
========================= */

.stats-section{

    background:var(--dark-2);

}

.stats-grid{

    display:grid;

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

    gap:25px;

}

.stat-card{

    text-align:center;

    padding:40px;

}

.stat-card strong{

    display:block;

    font-size:4rem;

    color:var(--primary);

}

.stat-card span{

    color:var(--text-soft);

}
/* =========================
   CTA
========================= */

.cta-box{

    text-align:center;

    padding:90px;

    border-radius:32px;

    background:linear-gradient(
    135deg,
    #0f2238,
    #142d48
    );

}

.cta-box h2{

    font-size:3rem;

    margin-bottom:20px;

}

.cta-box p{

    color:var(--text-soft);

    margin-bottom:30px;

}

/* =========================
   FOOTER
========================= */

.site-footer{

    padding:80px 0;

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

}

.footer-grid{

    display:grid;

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

    gap:40px;

}

.footer-grid h3,
.footer-grid h4{

    margin-bottom:20px;

}

.footer-grid li{

    margin-bottom:10px;

    color:var(--text-soft);

}

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

.page-hero{

    position:relative;

    min-height:85vh;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

}

.hero-dark{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        180deg,
        rgba(7,19,31,.82),
        rgba(7,19,31,.92)
    );

}

.hero-inner{

    position:relative;

    z-index:5;

    width:min(1100px,92%);

}

.hero-centered{

    text-align:center;

}

.hero-mini{

    color:var(--primary);

    text-transform:uppercase;

    letter-spacing:5px;

    font-size:.85rem;

    font-weight:600;

    margin-bottom:20px;

}

.page-hero h1{

    max-width:900px;

    margin:0 auto 30px;

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

    line-height:1.05;

    letter-spacing:-2px;

}

.hero-text{

    max-width:700px;

    margin:0 auto;

    font-size:1.15rem;

    color:var(--text-soft);

    line-height:1.9;

}
/* ==================================================
   SERVICES EDITORIAL
================================================== */

.service-editorial{

    padding:140px 0;

    position:relative;

}

.service-block{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:100px;

    align-items:center;

    margin-bottom:140px;

}

.service-block.reverse{

    direction:rtl;

}

.service-block.reverse .service-content{

    direction:ltr;

}

.service-media{

    position:relative;

}

.service-media img{

    width:100%;

    height:700px;

    object-fit:cover;

    border-radius:36px;

    transition:.6s ease;

}

.service-block:hover .service-media img{

    transform:scale(1.03);

}

.service-media::before{

    content:'';

    position:absolute;

    inset:25px -25px -25px 25px;

    border-radius:36px;

    border:1px solid rgba(249,115,22,.20);

    z-index:-1;

}

.service-media::after{

    content:'';

    position:absolute;

    left:-40px;

    top:50%;

    transform:translateY(-50%);

    width:120px;

    height:120px;

    border-radius:50%;

    background:
    radial-gradient(
        rgba(249,115,22,.18),
        transparent 70%
    );

    pointer-events:none;

}

.service-content{

    max-width:650px;

}

.service-content .section-eyebrow{

    margin-bottom:18px;

}

.service-content h2{

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

    line-height:1;

    letter-spacing:-2px;

    margin-bottom:30px;

}

.service-content p{

    color:var(--text-soft);

    line-height:2;

    font-size:1.05rem;

    margin-bottom:35px;

}

.service-list{

    display:grid;

    gap:16px;

}

.service-list li{

    padding:18px 22px;

    border-radius:18px;

    background:rgba(255,255,255,.03);

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

    transition:.35s ease;

}

.service-list li:hover{

    transform:translateX(12px);

    border-color:rgba(249,115,22,.35);

    background:rgba(255,255,255,.05);

}
/* ==================================================
   PROCESS
================================================== */

.process-section{

    padding:120px 0;

    background:#091725;

}

.process-grid{

    display:grid;

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

    gap:25px;

    margin-top:70px;

}

.process-card{

    padding:45px 30px;

    text-align:center;

    border-radius:28px;

    background:var(--dark-2);

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

    transition:.4s ease;

}

.process-card:hover{

    transform:translateY(-10px);

}

.process-card span{

    display:block;

    font-size:4rem;

    font-weight:800;

    color:var(--primary);

    margin-bottom:20px;

    line-height:1;

}

.process-card h3{

    font-size:1.3rem;

}

/* ==================================================
   CTA AJUSTE
================================================== */

.cta-section{

    padding:120px 0;

}

.cta-box{

    max-width:1100px;

    margin:auto;

}

/* ==================================================
   REVEAL
================================================== */

.reveal{

    opacity:0;

    transform:translateY(60px);

    transition:1s ease;

}

.reveal.active{

    opacity:1;

    transform:none;

}

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

.about-hero{

    background:
    url('../img/about-hero.jpg')
    center center/cover no-repeat;

}

/* ==================================================
   ABOUT STORY
================================================== */

.about-story{

    background:#07131f;

}

.about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}

.about-grid.reverse{

    direction:rtl;

}

.about-grid.reverse .about-content{

    direction:ltr;

}

.about-image{

    position:relative;

}

.about-image img{

    width:100%;

    height:650px;

    object-fit:cover;

    border-radius:32px;

}

.about-image::before{

    content:'';

    position:absolute;

    inset:20px -20px -20px 20px;

    border-radius:32px;

    border:1px solid rgba(249,115,22,.20);

    z-index:-1;

}

.about-content{

    max-width:650px;

}

.about-content h2{

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

    line-height:1.08;

    margin-bottom:25px;

}

.about-content p{

    color:var(--text-soft);

    line-height:1.9;

    margin-bottom:18px;

}

/* ==================================================
   VALUES
================================================== */

.values-section{

    background:#091725;

}

.values-grid{

    display:grid;

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

    gap:25px;

    margin-top:60px;

}

.value-card{

    padding:40px;

    border-radius:28px;

    background:var(--dark-2);

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

    transition:.4s ease;

    position:relative;

    overflow:hidden;

}

.value-card::before{

    content:'';

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:4px;

    background:var(--primary);

    transform:scaleX(0);

    transform-origin:left;

    transition:.4s ease;

}

.value-card:hover{

    transform:translateY(-10px);

}

.value-card:hover::before{

    transform:scaleX(1);

}

.value-card h3{

    font-size:1.6rem;

    margin-bottom:18px;

}

.value-card p{

    color:var(--text-soft);

    line-height:1.8;

}

/* ==================================================
   DIFFERENTIAL
================================================== */

.about-differential{

    background:#07131f;

}

.about-list{

    display:grid;

    gap:14px;

    margin-top:30px;

}

.about-list li{

    padding:14px 18px;

    border-radius:16px;

    background:rgba(255,255,255,.04);

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

}

/* ==================================================
   ABOUT STATS
================================================== */

.about-stats{

    background:#091725;

    position:relative;

}

.about-stats::before{

    content:'';

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:1px;

    background:rgba(255,255,255,.06);

}

.about-stats .stat-card{

    background:var(--dark-2);

    border-radius:28px;

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

    transition:.4s ease;

}

.about-stats .stat-card:hover{

    transform:translateY(-8px);

}

.about-stats .stat-card strong{

    font-size:4rem;

}

/* ==================================================
   ABOUT FLOAT EFFECT
================================================== */

.about-image img{

    animation:floatImage 8s ease-in-out infinite;

}

@keyframes floatImage{

    0%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-12px);
    }

    100%{
        transform:translateY(0);
    }

}

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

.contact-command{

    padding:180px 0 120px;

    background:#07131f;

}

.contact-heading{

    max-width:850px;

    margin:0 auto 70px;

    text-align:center;

}

.contact-heading h1{

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

    line-height:1;

    letter-spacing:-2px;

    margin-bottom:25px;

}

.contact-heading p{

    color:var(--text-soft);

    font-size:1.1rem;

    line-height:1.9;

}

.contact-top-grid{

    display:grid;

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

    gap:20px;

    margin-bottom:70px;

}

.contact-top-card{

    padding:30px;

    border-radius:24px;

    background:var(--dark-2);

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

    text-decoration:none;

    transition:.35s ease;

}

.contact-top-card:hover{

    transform:translateY(-8px);

    border-color:rgba(249,115,22,.35);

}

.contact-top-card span{

    display:block;

    color:var(--text-soft);

    margin-bottom:10px;

}

.contact-top-card strong{

    color:#fff;

    font-size:1.1rem;

}

.contact-premium{

    display:grid;

    grid-template-columns:.9fr 1.1fr;

    gap:60px;

    align-items:start;

}

.contact-copy h2{

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

    line-height:1.05;

    margin-bottom:25px;

}

.contact-copy p{

    color:var(--text-soft);

    line-height:1.9;

    margin-bottom:30px;

}

.contact-benefits{

    display:grid;

    gap:14px;

}

.contact-benefits li{

    padding:16px 20px;

    border-radius:16px;

    background:rgba(255,255,255,.04);

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

}

.contact-form-premium{

    position:relative;

    padding:45px;

    border-radius:32px;

    background:rgba(255,255,255,.04);

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

    backdrop-filter:blur(14px);

    overflow:hidden;

}

.contact-form-premium::before{

    content:'';

    position:absolute;

    width:320px;
    height:320px;

    top:-160px;
    right:-160px;

    border-radius:50%;

    background:
    radial-gradient(
        rgba(249,115,22,.15),
        transparent 70%
    );

    pointer-events:none;

}

.contact-form-modern{

    display:grid;

    gap:18px;

}

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;

}

.form-group{

    display:flex;

    flex-direction:column;

}

.form-group label{

    margin-bottom:8px;

    font-size:.9rem;

    color:#d8dee7;

}

.contact-form-modern input,
.contact-form-modern textarea{

    width:100%;

    padding:18px 22px;

    border-radius:18px;

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

    background:rgba(255,255,255,.05);

    color:#fff;

    outline:none;

    transition:.3s ease;

    font-family:'Inter',sans-serif;

}

.contact-form-modern textarea{

    resize:none;

}

.contact-form-modern input:focus,
.contact-form-modern textarea:focus{

    border-color:rgba(249,115,22,.45);

    background:rgba(255,255,255,.08);

}

.contact-form-modern input::placeholder,
.contact-form-modern textarea::placeholder{

    color:#9aa7b8;

}

/* ==================================================
   MAP
================================================== */

.map-section{

    position:relative;

    height:550px;

}

.map-section iframe{

    width:100%;
    height:100%;

    border:none;

}

.map-card{

    position:absolute;

    left:50px;
    bottom:50px;

    padding:25px 30px;

    border-radius:24px;

    background:rgba(7,19,31,.92);

    backdrop-filter:blur(16px);

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

}

.map-card span{

    display:block;

    color:var(--primary);

    margin-bottom:8px;

    text-transform:uppercase;

    font-size:.8rem;

    letter-spacing:2px;

}

.map-card strong{

    display:block;

    font-size:1.2rem;

    margin-bottom:8px;

}

.map-card p{

    color:var(--text-soft);

}

.services-hero{
    position: relative;
    min-height: 100vh;

    background-image:
        linear-gradient(
            rgba(0,0,0,.55),
            rgba(0,0,0,.55)
        ),
        url("../img/hero-servicios.png");

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

    display: flex;
    align-items: center;
    justify-content: center;
}

.services-hero .hero-dark{
    display:none;
}

.services-hero .hero-inner{
    position:relative;
    z-index:2;
}

.footer-social{
    display:flex;
    gap:14px;
    margin-top:24px;
}

.footer-social a{
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;

    color:#fff;

    transition:.3s;
}

.footer-social a:hover{
    background:#ff6b00;
    border-color:#ff6b00;
    transform:translateY(-4px);
}

.footer-social svg{
    width:22px;
    height:22px;
}

.footer-bottom{
    margin-top:50px;
    padding-top:25px;

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

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

    font-size:.95rem;
}

.whatsapp-float{
    position:fixed;
    right:25px;
    bottom:25px;
    width:68px;
    height:68px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#25D366;
    color:#fff;
    border-radius:50%;
    box-shadow:0 10px 30px rgba(37,211,102,.45);
    z-index:9999;
    transition:.3s ease;
}

.whatsapp-float:hover{
    transform:translateY(-5px) scale(1.08);
}

.whatsapp-float svg{
    width:34px;
    height:34px;
}

/* =========================
   MINI SLIDER PÉRGOLAS
========================= */

.mini-slider{
    position:relative;
    overflow:hidden;
    border-radius:32px;
}

.mini-slider .slide{
    display:none;
    width:100%;
    height:auto;
    object-fit:cover;
}

.mini-slider .slide.active{
    display:block;
}

.slider-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);

    width:48px;
    height:48px;

    border:none;
    border-radius:50%;

    background:rgba(0,0,0,.55);
    color:#fff;

    font-size:22px;
    cursor:pointer;
    z-index:10;

    transition:.3s;
}

.slider-btn:hover{
    background:#ff7b00;
}

.slider-btn.prev{
    left:15px;
}

.slider-btn.next{
    right:15px;
}

/* =========================
   HERO MOBILE SERVICIOS
========================= */

.services-hero-mobile{
    display:none;
}

.services-hero-mobile img{
    width:100%;
    display:block;
}

/* SOLO EN SERVICIOS MOBILE */


@media(max-width:900px){

    /* =========================
       HEADER
    ========================= */

    .brand,
    .brand-logo{
        display:none;
    }

    .header-container{
        justify-content:flex-end;
    }

    .nav-toggle{

        display:flex;

        flex-direction:column;

        justify-content:center;

        align-items:center;

        position:relative;

        z-index:10002;

    }

    .main-nav{

        position:fixed;

        top:0;
        right:-100%;

        width:280px;

        height:100vh;

        background:#07131f;

        display:flex;

        flex-direction:column;

        justify-content:center;

        align-items:center;

        gap:30px;

        transition:.35s ease;

        z-index:10001;

    }

    .main-nav.active{

        right:0;

    }

    .main-nav a{

        font-size:1.15rem;

    }

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

    .hero-home{

        min-height:100vh;

        height:100vh;

    }

    .hero-glass{

        width:100%;

        padding:20px;

    }

    .hero-logo{

        width:280px;

        max-width:85%;

        margin:0 auto 35px;

    }

    .hero-actions{

        flex-direction:column;

        align-items:center;

        gap:14px;

    }

    .hero-actions .btn{

        width:260px;

    }

    /* =========================
       HOME
    ========================= */

    .editorial-grid{

        grid-template-columns:1fr;

    }

    .services-grid{

        grid-template-columns:1fr;

    }

    .gallery-grid{

        grid-template-columns:1fr;

    }

    .stats-grid{

        grid-template-columns:1fr 1fr;

    }

    .cta-box{

        padding:50px 25px;

    }

    .cta-box h2{

        font-size:2rem;

    }

        .gallery-grid{

        grid-template-columns:1fr;

    }

    .gallery-item{

        height:260px;

    }

    .gallery-close{

        width:48px;

        height:48px;

        font-size:28px;

    }

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

    .page-hero{

        min-height:70vh;

        text-align:center;

    }

    .page-hero h1{

        font-size:2.9rem;

    }

    .hero-text{

        margin:auto;

    }

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

    .intro-grid{

        grid-template-columns:1fr;

        gap:50px;

    }

    .service-block,
    .service-block.reverse{

        grid-template-columns:1fr;

        direction:ltr;

    }

    .service-block{

        gap:40px;

        margin-bottom:90px;

    }

    .service-editorial{

        padding:90px 0;

    }

    .service-media img{

        height:380px;

    }

    .service-media::before{

        inset:12px -10px -10px 12px;

    }

    .service-content{

        max-width:100%;

    }

    .service-content h2{

        font-size:2.2rem;

    }

    .process-grid{

        grid-template-columns:1fr 1fr;

    }

    /* =========================
       NOSOTROS
    ========================= */

    .about-grid,
    .about-grid.reverse{

        grid-template-columns:1fr;

        direction:ltr;

        gap:45px;

    }

    .about-image img{

        height:380px;

    }

    .about-image::before{

        inset:12px -10px -10px 12px;

    }

    .about-content{

        max-width:100%;

    }

    .about-content h2{

        font-size:2.3rem;

    }

    .values-grid{

        grid-template-columns:1fr;

    }

    .about-list{

        margin-top:20px;

    }

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

    .contact-top-grid{

        grid-template-columns:1fr;

    }

    .contact-premium{

        grid-template-columns:1fr;

        gap:50px;

    }

    .form-row{

        grid-template-columns:1fr;

    }

    .contact-form-premium{

        padding:30px;

    }

    .map-section{

        height:400px;

    }

    /* =========================
       FOOTER
    ========================= */

    .site-footer{

        padding:50px 0;

    }

    .footer-grid{

        display:flex;

        flex-direction:column;

        gap:25px;

        text-align:center;

    }

    .footer-grid > div{

        width:100%;

    }

    .footer-grid h3,
    .footer-grid h4{

        margin-bottom:10px;

    }

    .footer-grid p{

        max-width:260px;

        margin:auto;

    }

    .footer-grid ul{

        padding:0;

        margin:0;

    }

    .footer-grid li{

        list-style:none;

        margin-bottom:6px;

    }

        .footer-bottom{
        flex-direction:column;
        text-align:center;
    }

        .whatsapp-float{
        width:60px;
        height:60px;
        right:18px;
        bottom:18px;
    }

    .whatsapp-float svg{
        width:30px;
        height:30px;
    }

    .slider-btn{
        width:40px;
        height:40px;
        font-size:18px;
    }

        .services-hero{
        display:none;
    }

    .services-hero-mobile{
        display:block;
        margin-top:80px;
    }

}

@media(max-width:700px){

    .hero-logo{

        width:220px;

    }

    .stats-grid{

        grid-template-columns:1fr;

    }

    .process-grid{

        grid-template-columns:1fr;

    }

    .page-hero h1{

        font-size:2.2rem;

    }

    .about-content h2,
    .service-content h2{

        font-size:2rem;

    }

    .contact-command{

        padding:140px 0 90px;

    }

    .contact-heading h1{

        font-size:2.5rem;

    }


}
