/* ==================================================
VALMICK CONTRUCTION S.A.S
CSS FINAL PREMIUM 3.0
================================================== */

/* RESET */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    background:#ffffff;
    color:#111;
    line-height:1.6;
    overflow-x:hidden;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

.container{
    width:90%;
    max-width:1450px;
    margin:auto;
}

section{
    padding:120px 0;
}

/* ==================================================
ANIMACIÓN SCROLL
================================================== */

.reveal{
    opacity:0;
    transform:translateY(50px);
    transition:all 1s ease;
}

.reveal.active{
    opacity:1;
    transform:translateY(0);
}

/* ==================================================
HEADER FINAL EXACTO COMO MOCKUP
SIN ESFERA / LIMPIO / PREMIUM
REEMPLAZA TODO HEADER CSS
================================================== */

.mega-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:9999;
    transition:.45s ease;
}

/* ==================================================
BARRA SUPERIOR
================================================== */

.header-top{
    background:linear-gradient(90deg,#04172f,#0d2f58);
    color:#fff;
    font-size:14px;
    font-weight:600;
}

.top-inner{
    height:42px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.top-left,
.top-right{
    display:flex;
    align-items:center;
    gap:26px;
}

/* ==================================================
HEADER PRINCIPAL
================================================== */

.header-main{
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(12px);

    box-shadow:
    0 14px 30px rgba(0,0,0,.05);
}

/* CONTENEDOR */

.nav-premium{
    height:118px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

/* ==================================================
BLOQUE IZQUIERDO
================================================== */

.brand-group{
    display:flex;
    align-items:center;
    gap:24px;
    flex-shrink:0;
}

/* ==================================================
MASCOTA SIN ESFERA
================================================== */

.brand-mascot{
    width:135px;
    height:135px;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;
    background:transparent;
    border:none;
    box-shadow:none;
}

.brand-mascot img{
    width:100%;
    height:100%;
    object-fit:contain;
    display:block;
    transition:.35s ease;
}

.brand-mascot:hover img{
    transform:translateY(-4px) scale(1.03);
}

/* DIVISOR */

.brand-divider{
    width:1px;
    height:62px;
    background:#d8e0ea;
}

/* ==================================================
LOGO
================================================== */

.brand-premium{
    display:flex;
    align-items:center;
}

.brand-premium img{
    height:78px;
    width:auto;
    display:block;
    transition:.35s ease;
}

.brand-premium:hover img{
    transform:scale(1.03);
}

/* ==================================================
MENU
================================================== */

.nav-links{
    display:flex;
    align-items:center;
    gap:14px;
}

.nav-links a{
    text-decoration:none;
    color:#0b2340;

    font-size:17px;
    font-weight:800;

    padding:15px 24px;
    border-radius:999px;

    transition:.28s ease;
    position:relative;
}

.nav-links a:hover{
    color:#0071e3;
}

.nav-links a.active{
    background:#edf4ff;
    color:#0071e3;
}

.nav-links a::after{
    content:"";
    position:absolute;
    left:28px;
    right:28px;
    bottom:10px;

    height:2px;
    border-radius:20px;

    background:#0071e3;

    transform:scaleX(0);
    transition:.28s ease;
}

.nav-links a:hover::after,
.nav-links a.active::after{
    transform:scaleX(1);
}

/* ==================================================
BOTON
================================================== */

.header-btn{
    text-decoration:none;

    background:linear-gradient(135deg,#0071e3,#0b49ad);
    color:#fff;

    padding:18px 34px;
    border-radius:999px;

    font-size:17px;
    font-weight:800;

    box-shadow:
    0 14px 28px rgba(0,113,227,.20);

    transition:.30s ease;
}

.header-btn:hover{
    transform:translateY(-3px);
    box-shadow:
    0 20px 36px rgba(0,113,227,.28);
}

/* ==================================================
SCROLL
================================================== */

.mega-header.scrolled .header-top{
    transform:translateY(-100%);
    opacity:0;
}

.mega-header.scrolled .nav-premium{
    height:88px;
}

.mega-header.scrolled .brand-mascot{
    width:88px;
    height:88px;
}

.mega-header.scrolled .brand-premium img{
    height:58px;
}

/* ==================================================
HERO AJUSTE
================================================== */

.hero{
    margin-top:160px;
}

/* ==================================================
MOBILE
================================================== */

.menu-toggle,
.mobile-nav{
    display:none;
}

/* ==================================================
RESPONSIVE
================================================== */

@media(max-width:1250px){

.nav-links,
.header-btn{
    display:none;
}

.menu-toggle{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;

    width:48px;
    height:48px;

    border:none;
    border-radius:14px;

    background:#f2f6fb;
    cursor:pointer;
}

.menu-toggle span{
    width:22px;
    height:2px;
    background:#0c2340;
    border-radius:20px;
    margin:auto;
}

.mobile-nav.show{
    display:flex;
    flex-direction:column;
    gap:10px;

    background:#fff;
    padding:18px;

    box-shadow:0 18px 35px rgba(0,0,0,.08);
}

.mobile-nav a{
    text-decoration:none;
    color:#0c2340;
    font-weight:800;
    padding:14px 16px;
    border-radius:14px;
    background:#f6f9fc;
}

.hero{
    margin-top:150px;
}

}

@media(max-width:768px){

.header-top{
    display:none;
}

.nav-premium{
    height:86px;
}

.brand-group{
    gap:12px;
}

.brand-mascot{
    width:82px;
    height:82px;
}

.brand-divider{
    height:42px;
}

.brand-premium img{
    height:56px;
}

.hero{
    margin-top:86px;
}

}

/* ==================================================
HERO
================================================== */

.hero{
    margin-top:95px;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    position:relative;
    overflow:hidden;
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:url("img/obra1.png") center center/cover no-repeat;
    animation:zoomHero 18s ease-in-out infinite;
}

.hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.48);
}

.hero-content{
    position:relative;
    z-index:2;
    max-width:950px;
}

.hero h1{
    font-size:88px;
    font-weight:900;
    color:#fff;
    line-height:1.05;
    margin-bottom:24px;
}

.hero p{
    font-size:26px;
    color:#fff;
    margin-bottom:40px;
}

.hero-buttons{
    display:flex;
    justify-content:center;
    gap:18px;
    flex-wrap:wrap;
}

.btn-primary,
.btn-secondary{
    padding:16px 34px;
    border-radius:40px;
    font-weight:700;
    transition:.35s;
    border:none;
    cursor:pointer;
}

.btn-primary{
    background:#0071e3;
    color:#fff;
}

.btn-primary:hover{
    transform:translateY(-4px);
}

.btn-secondary{
    color:#fff;
    border:1px solid rgba(255,255,255,.45);
    background:transparent;
}

/* ==================================================
STATS
================================================== */

.stats{
    background:#ffffff;
}

.stats-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:26px;
}

.stat-box{
    background:#fff;
    border-radius:28px;
    padding:36px;
    text-align:center;
    box-shadow:0 20px 40px rgba(0,0,0,.05);
}

.stat-box h3{
    font-size:52px;
    color:#0071e3;
    font-weight:900;
    margin-bottom:10px;
}

.stat-box p{
    color:#555;
    font-weight:600;
}

/* ==================================================
INTRO
================================================== */

.intro{
    position:relative;
    overflow:hidden;
    background:#fff;
}

.intro::before{
    content:"";
    position:absolute;
    width:1700px;
    height:260px;
    top:90px;
    right:-660px;
    border-radius:140px;
    transform:rotate(-35deg);
    background:linear-gradient(
        90deg,
        rgba(0,113,227,.95),
        rgba(0,113,227,.72),
        rgba(0,113,227,0)
    );
    z-index:1;
}

.intro::after{
    content:"";
    position:absolute;
    width:1700px;
    height:260px;
    bottom:-40px;
    left:-520px;
    border-radius:140px;
    transform:rotate(-35deg);
    background:linear-gradient(
        90deg,
        rgba(150,160,175,.95),
        rgba(205,212,220,.78),
        rgba(255,255,255,0)
    );
    z-index:1;
}

.intro .container{
    position:relative;
    z-index:2;
}

.grid-2{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}

.mini-title{
    color:#0071e3;
    font-size:14px;
    font-weight:800;
    letter-spacing:4px;
}

.intro h2{
    font-size:82px;
    line-height:1.05;
    font-weight:900;
    margin:18px 0;
}

.intro p{
    font-size:22px;
    color:#555;
    margin-bottom:28px;
}

.link-arrow{
    color:#0071e3;
    font-weight:700;
}

.intro-image img{
    border-radius:28px;
    box-shadow:0 30px 55px rgba(0,0,0,.12);
}

/* ==================================================
SERVICIOS
================================================== */

/* ==================================================
SERVICIOS HOME PREMIUM
REEMPLAZA .home-services DEL INDEX
================================================== */

.home-services{
    background:#f7f9fc;
    padding:130px 0;
    position:relative;
    overflow:hidden;
}

/* FONDO PREMIUM */

.home-services::before{
    content:"";
    position:absolute;

    width:620px;
    height:620px;
    border-radius:50%;

    top:-220px;
    left:-180px;

    background:radial-gradient(
        circle,
        rgba(0,113,227,.16),
        rgba(0,113,227,.06),
        transparent
    );
}

.home-services::after{
    content:"";
    position:absolute;

    width:700px;
    height:700px;
    border-radius:50%;

    bottom:-260px;
    right:-180px;

    background:radial-gradient(
        circle,
        rgba(185,195,210,.18),
        rgba(220,225,230,.08),
        transparent
    );
}

.home-services .container{
    position:relative;
    z-index:2;
}

/* TITULOS */

.home-services .section-title{
    text-align:center;
    font-size:74px;
    font-weight:900;
    line-height:1.08;
    max-width:980px;
    margin:18px auto 20px auto;
}

.services-intro{
    text-align:center;
    max-width:780px;
    margin:0 auto 70px auto;

    font-size:24px;
    color:#555;
    line-height:1.6;
}

/* GRID */

.services-home-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
}

/* CARD */

.service-home-card{
    background:linear-gradient(145deg,#ffffff,#f9fbff);

    padding:38px 32px;
    border-radius:32px;

    border:1px solid #edf1f5;

    box-shadow:
    0 18px 40px rgba(0,0,0,.04),
    0 8px 18px rgba(0,113,227,.03);

    transition:.4s ease;

    color:#111;
    text-decoration:none;
}

.service-home-card:hover{
    transform:translateY(-10px);
    box-shadow:
    0 28px 55px rgba(0,0,0,.08),
    0 10px 22px rgba(0,113,227,.06);
}

/* ICONO */

.service-home-icon{
    width:72px;
    height:72px;

    border-radius:22px;

    background:linear-gradient(135deg,#0071e3,#0a3d91);

    color:#fff;
    font-size:32px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:24px;

    box-shadow:0 12px 24px rgba(0,113,227,.18);
}

/* TEXTOS */

.service-home-card h3{
    font-size:28px;
    font-weight:900;
    line-height:1.2;
    margin-bottom:14px;
}

.service-home-card p{
    font-size:18px;
    color:#555;
    line-height:1.6;
    margin-bottom:20px;
}

.service-home-card span{
    font-size:16px;
    font-weight:800;
    color:#0071e3;
    letter-spacing:.2px;
}

/* CTA */

.services-home-cta{
    text-align:center;
    margin-top:55px;
}

/* ==================================================
RESPONSIVE
================================================== */

@media(max-width:1200px){

.services-home-grid{
    grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:900px){

.home-services{
    padding:110px 0;
}

.home-services .section-title{
    font-size:46px;
}

.services-intro{
    font-size:19px;
    margin-bottom:50px;
}

.service-home-card{
    padding:32px 24px;
}

.service-home-card h3{
    font-size:24px;
}

.service-home-card p{
    font-size:16px;
}

}

@media(max-width:700px){

.services-home-grid{
    grid-template-columns:1fr;
}

.home-services .section-title{
    font-size:38px;
}

}

/* ==================================================
POR QUÉ ELEGIRNOS PREMIUM
DISEÑO NUEVO / DIFERENTE / MENOS REPETITIVO
REEMPLAZA SOLO ESTA SECCIÓN
================================================== */

/* =====================================================
WHY CHOOSE - PREMIUM FINAL DEFINITIVO
3 COLUMNAS REALES / 2 FILAS / FULL CORREGIDO
===================================================== */

.why-choose{
    background:
    linear-gradient(135deg,#07111f 0%,#0c1d34 45%,#0f2747 100%);
    padding:140px 0;
    position:relative;
    overflow:hidden;
    color:#fff;
}

/* =====================================================
FONDO PREMIUM
===================================================== */

.why-choose::before{
    content:"";
    position:absolute;
    width:900px;
    height:900px;
    border-radius:50%;
    top:-420px;
    left:-260px;

    background:
    radial-gradient(circle,
    rgba(0,113,227,.22),
    transparent 65%);
}

.why-choose::after{
    content:"";
    position:absolute;
    width:700px;
    height:700px;
    border-radius:50%;
    bottom:-320px;
    right:-180px;

    background:
    radial-gradient(circle,
    rgba(255,255,255,.08),
    transparent 70%);
}

/* =====================================================
CONTAINER MÁS ANCHO
===================================================== */

.why-choose .container{
    max-width:1450px;
    width:92%;
    margin:auto;
    position:relative;
    z-index:2;
}

/* =====================================================
TÍTULOS
===================================================== */

.why-choose .mini-title{
    color:#6fb8ff;
    text-align:center;
    display:block;
}

.why-choose .section-title{
    text-align:center;
    font-size:72px;
    font-weight:900;
    line-height:1.05;
    margin:16px auto 18px;
    color:#fff;
}

.why-intro{
    text-align:center;
    max-width:860px;
    margin:0 auto 75px;
    font-size:24px;
    line-height:1.6;
    color:rgba(255,255,255,.82);
}

/* =====================================================
GRID 3 X 2 REAL
===================================================== */

.why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
    align-items:stretch;
}

/* =====================================================
CARD
===================================================== */

.why-card{
    position:relative;
    min-height:270px;
    height:100%;

    padding:36px 34px;
    border-radius:28px;

    background:rgba(255,255,255,.06);
    backdrop-filter:blur(14px);

    border:1px solid rgba(255,255,255,.12);

    overflow:hidden;
    transition:.45s ease;
}

.why-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:5px;
    height:100%;
    background:linear-gradient(#0071e3,#73b8ff);
}

.why-card:hover{
    transform:translateY(-10px);
    background:rgba(255,255,255,.10);

    box-shadow:
    0 28px 55px rgba(0,0,0,.22),
    0 12px 28px rgba(0,113,227,.20);
}

/* =====================================================
ICONO
===================================================== */

.why-icon{
    display:block;
    font-size:42px;
    line-height:1;
    margin-bottom:18px;
}

/* =====================================================
TEXTOS
===================================================== */

.why-card h3{
    font-size:28px;
    font-weight:900;
    line-height:1.2;
    margin-bottom:14px;
    color:#fff;
}

.why-card p{
    font-size:18px;
    line-height:1.65;
    margin:0;
    color:rgba(255,255,255,.78);
}

/* =====================================================
CTA
===================================================== */

.why-cta{
    text-align:center;
    margin-top:60px;
}

.why-cta .btn-primary{
    background:#fff;
    color:#0c1d34;
}

.why-cta .btn-primary:hover{
    transform:translateY(-4px);
}

/* =====================================================
RESPONSIVE
===================================================== */

@media(max-width:1200px){

.why-grid{
    grid-template-columns:repeat(2,1fr);
}

.why-choose .section-title{
    font-size:58px;
}

}

@media(max-width:900px){

.why-choose{
    padding:110px 0;
}

.why-choose .section-title{
    font-size:46px;
}

.why-intro{
    font-size:19px;
    margin-bottom:50px;
}

.why-card{
    min-height:240px;
    padding:30px 24px;
}

.why-card h3{
    font-size:24px;
}

.why-card p{
    font-size:16px;
}

}

@media(max-width:700px){

.why-grid{
    grid-template-columns:1fr;
}

.why-choose .section-title{
    font-size:38px;
}

.why-card{
    min-height:auto;
}

}

/* =====================================================
EL PROBLEMA REAL:
TU HTML TIENE 6 TARJETAS PERO EL CONTAINER OTRA REGLA
ESTÁ FORZANDO 4 COLUMNAS.
ESTO LO SOBREESCRIBE TODO.
PEGA AL FINAL DEL CSS.
===================================================== */

.why-choose .why-grid{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(320px,1fr)) !important;
    gap:28px !important;
    justify-content:center !important;
    align-items:stretch !important;
}

/* TARJETAS */

.why-choose .why-card{
    width:100% !important;
    min-height:270px !important;
}

/* TABLET */

@media(max-width:1200px){

.why-choose .why-grid{
    grid-template-columns:repeat(2,minmax(320px,1fr)) !important;
}

}

/* MOBILE */

@media(max-width:768px){

.why-choose .why-grid{
    grid-template-columns:1fr !important;
}

}
/* ==================================================
FORMULARIO
================================================== */

.quote-section{
    background:#ffffff;
}

.quote-box{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:start;
}

.quote-text h2{
    font-size:72px;
    font-weight:900;
    margin:18px 0;
}

.quote-text p{
    font-size:22px;
    color:#555;
}

.quote-form{
    display:grid;
    gap:18px;
}

.quote-form input,
.quote-form select,
.quote-form textarea{
    padding:18px 20px;
    border-radius:18px;
    border:1px solid #dde5f0;
    font-size:16px;
    font-family:inherit;
}

.quote-form textarea{
    min-height:160px;
    resize:none;
}

/* ==================================================
CTA
================================================== */

.cta{
    text-align:center;
    color:#fff;
    position:relative;
    overflow:hidden;
}

.cta::before{
    content:"";
    position:absolute;
    inset:0;
    background:
    linear-gradient(rgba(0,0,0,.52),rgba(0,0,0,.72)),
    url("img/fondo2.png") center center/cover no-repeat;
}

.cta .container{
    position:relative;
    z-index:2;
}

.cta h2{
    font-size:76px;
    font-weight:900;
    margin-bottom:18px;
}

.cta p{
    font-size:24px;
    margin-bottom:34px;
}

/* =====================================================
SECCIÓN FINAL HOME - CONTACTO PREMIUM FINAL
FONDO NUEVO CLARO / MODERNO / MASCOTA PROTAGONISTA
REEMPLAZA TODO EL CSS ANTERIOR
===================================================== */

.home-contact-premium{
    padding:115px 0;
    position:relative;
    overflow:hidden;

    background:
    linear-gradient(135deg,#ffffff 0%,#f7fafd 55%,#eef4fa 100%);
}

/* =====================================================
FORMAS NUEVAS DE FONDO
===================================================== */

/* GLOW SUPERIOR DERECHO */

.home-contact-premium::before{
    content:"";
    position:absolute;
    width:540px;
    height:540px;
    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(13,110,253,.09),
    transparent 70%);

    top:-170px;
    right:-120px;
}

/* BLOQUE CURVO INFERIOR */

.home-contact-premium::after{
    content:"";
    position:absolute;
    width:680px;
    height:240px;

    background:#edf4fa;

    bottom:-90px;
    left:-120px;

    border-radius:140px;
    transform:rotate(-8deg);
}

/* CONTENIDO ENCIMA */

.home-contact-premium .container{
    position:relative;
    z-index:2;
}

/* =====================================================
GRID
===================================================== */

.home-contact-grid{
    display:grid;
    grid-template-columns:520px 1fr;
    gap:78px;
    align-items:center;
}

/* =====================================================
    MASCOTA
    ===================================================== */
/* =====================================================
MASCOTA AGRANDADA PREMIUM
REEMPLAZA TU BLOQUE ACTUAL
===================================================== */

.home-contact-image{
    text-align:center;
    position:relative;
    transform:scale(1.08);
}

/* GLOW DETRÁS */

.home-contact-image::before{
    content:"";
    position:absolute;
    width:430px;
    height:430px;
    border-radius:50%;

    background:
    radial-gradient(circle,
    rgba(13,110,253,.22),
    transparent 72%);

    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    z-index:0;
}

.home-contact-image img{
    position:relative;
    z-index:2;
    width:100%;
    max-width:620px;

    filter:drop-shadow(0 35px 45px rgba(0,0,0,.14));
    transition:.3s ease;
}

.home-contact-image img:hover{
    transform:translateY(-8px) scale(1.02);
}

/* =====================================================
CONTENIDO
===================================================== */

.contact-mini-title{
    display:inline-block;
    font-size:13px;
    font-weight:800;
    letter-spacing:3px;
    color:#0d6efd;
    margin-bottom:18px;
}

.home-contact-content h2{
    font-size:56px;
    line-height:1.08;
    font-weight:900;
    color:#081f3e;
    margin-bottom:24px;
}

.home-contact-content p{
    font-size:20px;
    line-height:1.85;
    color:#5b6978;
    max-width:690px;
    margin-bottom:34px;
}

/* =====================================================
DATOS
===================================================== */

.contact-data-list{
    display:flex;
    flex-direction:column;
    gap:18px;
    margin-bottom:36px;
}

.contact-item{
    font-size:18px;
    line-height:1.65;
    color:#42576d;
}

.contact-item strong{
    display:block;
    font-weight:800;
    color:#081f3e;
    margin-bottom:4px;
}

/* =====================================================
BOTONES
===================================================== */

.contact-buttons{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

.btn-contact-main,
.btn-contact-second{
    text-decoration:none;
    padding:18px 30px;
    border-radius:999px;
    font-size:16px;
    font-weight:800;
    transition:.25s ease;
}

/* PRINCIPAL */

.btn-contact-main{
    background:linear-gradient(135deg,#0d6efd,#0056d6);
    color:#fff;
    box-shadow:0 18px 35px rgba(13,110,253,.18);
}

.btn-contact-main:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 42px rgba(13,110,253,.24);
}

/* SECUNDARIO */

.btn-contact-second{
    border:2px solid #d5e0ec;
    color:#0d6efd;
    background:#fff;
}

.btn-contact-second:hover{
    transform:translateY(-4px);
    border-color:#0d6efd;
}

/* =====================================================
RESPONSIVE
===================================================== */

@media(max-width:1200px){

.home-contact-grid{
    grid-template-columns:1fr;
    gap:42px;
}

.home-contact-content{
    text-align:center;
}

.home-contact-content p{
    margin:auto auto 34px;
}

.contact-buttons{
    justify-content:center;
}

.home-contact-image{
    order:2;
}

.home-contact-content{
    order:1;
}

}

@media(max-width:768px){

.home-contact-premium{
    padding:85px 0;
}

.home-contact-content h2{
    font-size:38px;
}

.home-contact-content p{
    font-size:18px;
}

.contact-item{
    font-size:17px;
}

.btn-contact-main,
.btn-contact-second{
    width:100%;
    text-align:center;
}

.home-contact-image img{
    max-width:340px;
}

.home-contact-image::before{
    width:250px;
    height:250px;
}

}

/* =====================================================
BOTONES REDES PREMIUM
===================================================== */

.contact-buttons{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

.btn-social{
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:12px;

    padding:18px 28px;
    border-radius:999px;

    font-size:16px;
    font-weight:800;

    transition:.25s ease;
}

/* ICONO */

.social-icon{
    font-size:20px;
    line-height:1;
}

/* INSTAGRAM */

.instagram-btn{
    color:#fff;

    background:
    linear-gradient(135deg,
    #833ab4,
    #fd1d1d,
    #fcb045);

    box-shadow:0 18px 35px rgba(225,48,108,.22);
}

.instagram-btn:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 42px rgba(225,48,108,.30);
}

/* FACEBOOK */

.facebook-btn{
    color:#fff;

    background:
    linear-gradient(135deg,#1877f2,#0d5fd3);

    box-shadow:0 18px 35px rgba(24,119,242,.22);
}

.facebook-btn:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 42px rgba(24,119,242,.30);
}

/* MOBILE */

@media(max-width:768px){

.btn-social{
    width:100%;
    justify-content:center;
}

}

/* ==================================================
FOOTER
================================================== */

.footer{
    background:#08111f;
    color:#fff;
    padding:90px 0 0;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1.2fr;
    gap:45px;
    padding-bottom:50px;
}

.footer-logo{
    height:70px;
    margin-bottom:18px;
}

.footer h4{
    margin-bottom:16px;
}

.footer a,
.footer p{
    color:rgba(255,255,255,.72);
    display:block;
    margin-bottom:12px;
}

.footer-social{
    display:flex;
    gap:10px;
    margin-top:16px;
}

.footer-social a{
    width:40px;
    height:40px;
    border-radius:50%;
    background:#13233d;
    display:flex;
    align-items:center;
    justify-content:center;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding:22px 0;
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
}

/* ==================================================
WHATSAPP
================================================== */

.whatsapp-float{
    position:fixed;
    right:25px;
    bottom:25px;
    z-index:9999;

    background:#25D366;
    color:#fff;

    padding:16px 22px;
    border-radius:50px;

    font-weight:700;
    box-shadow:0 18px 30px rgba(37,211,102,.28);

    animation:pulse 2s infinite;
}

@keyframes pulse{
    0%{transform:scale(1);}
    50%{transform:scale(1.08);}
    100%{transform:scale(1);}
}

/* ==================================================
ANIMACIONES
================================================== */

@keyframes zoomHero{
    0%{transform:scale(1);}
    50%{transform:scale(1.08);}
    100%{transform:scale(1);}
}

/* ==================================================
RESPONSIVE
================================================== */

@media(max-width:1100px){

.main-nav{
    display:none;
}

.grid-2,
.quote-box,
.footer-grid{
    grid-template-columns:1fr;
}

}

@media(max-width:900px){

.hero h1{
    font-size:54px;
}

.hero p{
    font-size:20px;
}

.intro h2,
.home-services h2,
.projects h2,
.quote-text h2,
.cta h2{
    font-size:46px;
}

.project-card img{
    height:260px;
}

.nav-wrap{
    height:88px;
}

.hero{
    margin-top:88px;
}

}

@media(max-width:700px){

.quote-btn{
    padding:12px 18px;
    font-size:14px;
}

.whatsapp-float{
    right:18px;
    bottom:18px;
    padding:14px 18px;
}

}



/* ==================================================
SERVICIOS VISUAL PREMIUM
PEGAR AL FINAL DE styles.css
================================================== */

/* HERO */
.page-hero{
    margin-top:95px;
    min-height:78vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    position:relative;
    overflow:hidden;
    color:#fff;
}

.services-hero::before{
    content:"";
    position:absolute;
    inset:0;

    background:
    linear-gradient(rgba(0,0,0,.58),rgba(0,0,0,.72)),
    url("img/fondo3.png") center center/cover no-repeat;
}

.page-hero .container{
    position:relative;
    z-index:2;
    max-width:950px;
}

.page-hero h1{
    font-size:84px;
    font-weight:900;
    line-height:1.05;
    margin:18px 0;
}

.page-hero p{
    font-size:24px;
    color:rgba(255,255,255,.92);
}

/* TITULOS */
.section-title{
    text-align:center;
    font-size:72px;
    font-weight:900;
    margin-bottom:70px;
}

/* ==================================================
SERVICIOS
================================================== */

.services-premium{
    background:#f7f9fc;
    padding:120px 0;
    position:relative;
    overflow:hidden;
}

/* BURBUJAS */
.services-premium::before{
    content:"";
    position:absolute;
    width:620px;
    height:620px;
    border-radius:50%;
    top:-180px;
    left:-180px;

    background:radial-gradient(
        circle,
        rgba(0,113,227,.18),
        rgba(0,113,227,.08),
        transparent
    );
}

.services-premium::after{
    content:"";
    position:absolute;
    width:700px;
    height:700px;
    border-radius:50%;
    bottom:-240px;
    right:-180px;

    background:radial-gradient(
        circle,
        rgba(180,190,205,.24),
        rgba(220,225,230,.10),
        transparent
    );
}

.services-premium .container{
    position:relative;
    z-index:2;
}

/* FILAS */

.service-list{
    display:flex;
    flex-direction:column;
    gap:40px;
}

.service-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:45px;
    align-items:center;

    background:#fff;
    padding:26px;
    border-radius:34px;

    box-shadow:0 22px 45px rgba(0,0,0,.05);

    transition:.4s;
}

.service-row:hover{
    transform:translateY(-8px);
    box-shadow:0 28px 55px rgba(0,0,0,.08);
}

.service-row.reverse .service-img{
    order:2;
}

.service-row.reverse .service-content{
    order:1;
}

/* IMAGEN */

.service-img img{
    width:100%;
    height:330px;
    object-fit:cover;
    border-radius:28px;
}

/* CONTENIDO */

.service-content{
    padding:15px 10px;
}

.service-content h3{
    font-size:42px;
    font-weight:900;
    margin-bottom:18px;
    color:#111;
}

.service-content p{
    font-size:22px;
    color:#555;
    line-height:1.6;
    max-width:520px;
}

/* CTA */
.cta{
    text-align:center;
    color:#fff;
    padding:130px 0;
    position:relative;
    overflow:hidden;
}

.cta::before{
    content:"";
    position:absolute;
    inset:0;

    background:
    linear-gradient(rgba(0,0,0,.60),rgba(0,0,0,.74)),
    url("img/fondo2.png") center center/cover no-repeat;
}

.cta .container{
    position:relative;
    z-index:2;
}

.cta h2{
    font-size:76px;
    font-weight:900;
    margin-bottom:18px;
}

.cta p{
    font-size:24px;
    margin-bottom:32px;
}

/* BOTON */

.btn-primary{
    display:inline-block;
    padding:16px 34px;
    border-radius:40px;

    background:#0071e3;
    color:#fff;

    font-weight:700;
    transition:.35s;
}

.btn-primary:hover{
    transform:translateY(-4px);
}

/* ==================================================
RESPONSIVE
================================================== */

@media(max-width:1100px){

.service-row{
    grid-template-columns:1fr;
}

.service-row.reverse .service-img,
.service-row.reverse .service-content{
    order:unset;
}

}

@media(max-width:900px){

.page-hero h1{
    font-size:52px;
}

.page-hero p{
    font-size:20px;
}

.section-title{
    font-size:44px;
}

.service-content h3{
    font-size:32px;
}

.service-content p{
    font-size:18px;
}

.service-img img{
    height:260px;
}

.cta h2{
    font-size:44px;
}

}

@media(max-width:700px){

.page-hero{
    min-height:68vh;
}

.service-row{
    padding:18px;
}

}



/* ==================================================
INSPECCIONES PREMIUM COMPLETO CORREGIDO
3 COLUMNAS + ICONOS CENTRADOS + DISEÑO PREMIUM
REEMPLAZA TODA LA SECCIÓN INSPECCIONES
================================================== */

.inspections-premium{
    background:#ffffff;
    padding:130px 0;
    position:relative;
    overflow:hidden;
}

/* FONDO DECORATIVO */

.inspections-premium::before{
    content:"";
    position:absolute;

    width:520px;
    height:520px;
    border-radius:50%;

    top:-180px;
    right:-180px;

    background:radial-gradient(
        circle,
        rgba(0,113,227,.16),
        rgba(0,113,227,.06),
        transparent
    );
}

.inspections-premium::after{
    content:"";
    position:absolute;

    width:620px;
    height:620px;
    border-radius:50%;

    bottom:-240px;
    left:-220px;

    background:radial-gradient(
        circle,
        rgba(185,195,210,.18),
        rgba(220,225,230,.08),
        transparent
    );
}

.inspections-premium .container{
    position:relative;
    z-index:2;
}

/* TEXTO SUPERIOR */

.inspection-intro{
    text-align:center;
    max-width:850px;
    margin:0 auto 70px auto;

    font-size:24px;
    color:#555;
    line-height:1.6;
}

/* ==================================================
GRID 3 x 3
================================================== */

.inspection-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

/* ==================================================
TARJETAS
================================================== */

.inspection-card{
    background:linear-gradient(145deg,#ffffff,#f8fbff);

    padding:42px 34px;
    border-radius:30px;

    border:1px solid #edf1f5;

    box-shadow:
    0 20px 40px rgba(0,0,0,.04),
    0 8px 18px rgba(0,113,227,.03);

    transition:.4s ease;
}

.inspection-card:hover{
    transform:translateY(-8px);
    box-shadow:
    0 28px 55px rgba(0,0,0,.08),
    0 10px 22px rgba(0,113,227,.06);
}

/* ==================================================
ICONO CENTRADO
================================================== */

.inspection-icon{
    width:78px;
    height:78px;

    border-radius:24px;

    background:linear-gradient(135deg,#0071e3,#0a3d91);

    color:#fff;
    font-size:34px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin:0 auto 24px auto;

    box-shadow:0 12px 25px rgba(0,113,227,.20);
}

/* ==================================================
TEXTOS CENTRADOS
================================================== */

.inspection-card h3{
    font-size:30px;
    font-weight:900;
    line-height:1.2;
    margin-bottom:16px;
    color:#111;
    text-align:center;
}

.inspection-card p{
    font-size:18px;
    color:#555;
    line-height:1.6;
    text-align:center;
}

/* ==================================================
RESPONSIVE
================================================== */

@media(max-width:1200px){

.inspection-grid{
    grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:800px){

.inspections-premium{
    padding:100px 0;
}

.inspection-grid{
    grid-template-columns:1fr;
}

.inspection-intro{
    font-size:19px;
    margin-bottom:45px;
}

.inspection-card{
    padding:34px 24px;
}

.inspection-card h3{
    font-size:25px;
}

.inspection-card p{
    font-size:16px;
}

}


/* ==================================================
/* ==================================================
NOSOTROS.CSS COMPLETO NUEVO
DISEÑO LIMPIO / ELEGANTE / LETRAS PROPORCIONADAS
================================================== */


/* ==================================================
HERO NOSOTROS
================================================== */

.about-hero.clean-about{
    padding:165px 0 95px;
    background:
    linear-gradient(135deg,#f8fbff 0%,#eef4fa 55%,#ffffff 100%);
    overflow:hidden;
}

.about-clean-grid{
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:60px;
    align-items:center;
}

/* TEXTO */

.about-clean-mini{
    display:inline-block;
    font-size:13px;
    font-weight:800;
    letter-spacing:2px;
    color:#0071e3;
    margin-bottom:18px;
}

.about-clean-left h1{
    font-size:52px;
    line-height:1.08;
    font-weight:900;
    color:#0b2340;
    margin-bottom:22px;
}

.about-clean-left p{
    font-size:19px;
    line-height:1.85;
    color:#5c6b7c;
    max-width:620px;
    margin-bottom:30px;
}

/* BOTONES */

.about-clean-actions{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.clean-btn-primary,
.clean-btn-secondary{
    padding:15px 26px;
    border-radius:999px;
    font-size:15px;
    font-weight:800;
    transition:.25s ease;
}

.clean-btn-primary{
    background:#0071e3;
    color:#fff;
    box-shadow:0 14px 24px rgba(0,113,227,.18);
}

.clean-btn-secondary{
    border:2px solid #0071e3;
    color:#0071e3;
    background:#fff;
}

.clean-btn-primary:hover,
.clean-btn-secondary:hover{
    transform:translateY(-3px);
}

/* IMAGEN */

.about-clean-right{
    position:relative;
}

.about-clean-right img{
    width:100%;
    border-radius:26px;
    box-shadow:0 28px 55px rgba(0,0,0,.10);
}

/* FLOAT CARD */

.about-floating-data{
    position:absolute;
    right:-18px;   /* antes left */
    left:auto;
    bottom:26px;

    background:#fff;
    padding:18px 22px;
    border-radius:18px;
    box-shadow:0 18px 30px rgba(0,0,0,.08);
}

.about-floating-data strong{
    display:block;
    font-size:24px;
    font-weight:900;
    color:#0b2340;
    margin-bottom:4px;
}

.about-floating-data span{
    font-size:14px;
    color:#5c6b7c;
    font-weight:600;
}

/* ==================================================
TÍTULOS GENERALES
================================================== */

.section-title{
    margin-bottom:42px;
}

.section-title span{
    display:block;
    font-size:13px;
    font-weight:800;
    letter-spacing:2px;
    color:#0071e3;
    margin-bottom:10px;
}

.section-title h2{
    font-size:40px;
    font-weight:900;
    line-height:1.15;
    color:#0b2340;
}

.center{
    text-align:center;
}

/* ==================================================
QUIÉNES SOMOS
================================================== */

.company-section{
    padding:90px 0;
}

.company-text{
    max-width:920px;
    margin:auto;
    text-align:center;
    font-size:19px;
    line-height:1.9;
    color:#5b6978;
}

/* ==================================================
MISIÓN / VISIÓN
================================================== */
.mission-vision{
    position:relative;
    padding:110px 0;
    background:#f8fafc;
    overflow:hidden;
}

.mission-vision::before{
    content:"";
    position:absolute;
    width:340px;
    height:900px;
    background:linear-gradient(180deg,#0d6efd,#0056d6);
    opacity:.60;
    top:-220px;
    left:140px;
    transform:rotate(32deg);
    border-radius:40px;
}

.mission-vision::after{
    content:"";
    position:absolute;
    width:340px;
    height:900px;
    background:linear-gradient(180deg,#d8dee7,#a9b5c5);
    opacity:.50;
    top:-220px;
    left:340px;
    transform:rotate(-32deg);
    border-radius:40px;
}

.mission-vision .container{
    position:relative;
    z-index:2;
}

.mission-vision{
    padding:20px 0 95px;
}

.mv-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:26px;
}

.mv-card{
    background:#fff;
    padding:38px;
    border-radius:24px;
    border:1px solid #edf1f6;
    box-shadow:0 16px 32px rgba(0,0,0,.05);
}

.mv-card span{
    display:block;
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
    color:#0071e3;
    margin-bottom:12px;
}

.mv-card h3{
    font-size:28px;
    font-weight:900;
    color:#0b2340;
    margin-bottom:14px;
}

.mv-card p{
    font-size:17px;
    line-height:1.8;
    color:#5c6b7c;
}
/* REEMPLAZA TODO EL BLOQUE .mv-premium-section POR ESTE */

.mv-premium-section{
    position: relative;
    padding: 110px 0;
    background:#f8fafc;
    overflow:hidden;
    z-index:1;
}

/* V AZUL */

.mv-premium-section::before{
    content:"";
    position:absolute;
    width:340px;
    height:900px;

    background:linear-gradient(180deg,#0d6efd,#0056d6);
    opacity:.12;

    top:-220px;
    left:140px;

    transform:rotate(32deg);
    border-radius:40px;

    z-index:0;
}

/* V PLATEADA */

.mv-premium-section::after{
    content:"";
    position:absolute;
    width:340px;
    height:900px;

    background:linear-gradient(180deg,#d8dee7,#a9b5c5);
    opacity:.16;

    top:-220px;
    left:340px;

    transform:rotate(-32deg);
    border-radius:40px;

    z-index:0;
}

/* CONTENIDO ENCIMA */

.mv-premium-section .container{
    position:relative;
    z-index:2;
}

/* ==================================================
VALORES
================================================== */

/* ==================================================
SECCIÓN PRINCIPIOS / VALORES PREMIUM
AROS + CENTRADO
================================================== */

.values-section{
    position:relative;
    padding:110px 0;
    background:#f8fbff;
    overflow:hidden;
}

/* ARO AZUL */

.values-section::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border:34px solid rgba(0,113,227,.30);
    border-radius:50%;

    top:120px;
    left:-160px;
}

/* ARO PLATEADO */

.values-section::after{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    border:28px solid rgba(180,190,205,.40);
    border-radius:50%;

    bottom:-90px;
    right:-80px;
}

/* CONTENIDO ENCIMA */

.values-section .container{
    position:relative;
    z-index:2;
}

/* TARJETAS */

.values-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

/* CENTRAR CONTENIDO */

.value-box{
    background:#fff;
    padding:38px 26px;
    border-radius:24px;
    box-shadow:0 18px 34px rgba(0,0,0,.05);
    text-align:center;   /* IMPORTANTE */
    transition:.25s ease;
}

.value-box:hover{
    transform:translateY(-7px);
}

.value-box h4{
    font-size:22px;
    font-weight:900;
    color:#0b2340;
    margin-bottom:14px;
}

.value-box p{
    font-size:16px;
    line-height:1.7;
    color:#5c6b7c;
    max-width:260px;
    margin:auto;
}

/* AGREGA ESTE EFECTO A LOS TÍTULOS */

.value-box h4{
    position:relative;
    display:inline-block;
    padding-bottom:14px;
}

/* LÍNEA NEÓN */

.value-box h4::after{
    content:"";
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:0;

    width:58px;
    height:4px;

    border-radius:999px;

    background:#0d6efd;

    box-shadow:
    0 0 8px rgba(13,110,253,.75),
    0 0 18px rgba(13,110,253,.55),
    0 0 28px rgba(13,110,253,.35);
}
/* RESPONSIVE */

@media(max-width:1100px){

.values-grid{
    grid-template-columns:1fr 1fr;
}

}

@media(max-width:768px){

.values-grid{
    grid-template-columns:1fr;
}

.values-section::before,
.values-section::after{
    opacity:.45;
}

}

/* ==================================================
POR QUÉ ELEGIRNOS
================================================== */

.why-section{
    padding:100px 0;
}

.why-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.why-box{
    padding:30px;
    border-radius:22px;
    background:linear-gradient(145deg,#0071e3,#0b49ad);
    color:#fff;
    box-shadow:0 18px 32px rgba(0,113,227,.16);
}

.why-box h4{
    font-size:22px;
    font-weight:800;
    margin-bottom:12px;
}

.why-box p{
    font-size:15px;
    line-height:1.7;
    opacity:.95;
}

/* ==================================================
HSEQ
================================================== */

.hseq-section{
    position:relative;
    padding:110px 0;
    background:#0b2340;
    overflow:hidden;
}

.hseq-box{
    max-width:980px;
    margin:auto;
    text-align:center;
}

.hseq-box span{
    display:block;
    font-size:13px;
    font-weight:800;
    letter-spacing:3px;
    color:#55a8ff;
    margin-bottom:12px;
}

.hseq-box h2{
    font-size:46px;
    line-height:1.2;
    font-weight:900;
    color:#fff;
    margin-bottom:22px;
}

.hseq-box p{
    font-size:19px;
    line-height:1.9;
    color:rgba(255,255,255,.86);
    margin-bottom:16px;
}

/* ARO IZQUIERDO */

.hseq-section::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border:32px solid rgba(255,255,255,.05);
    border-radius:50%;

    top:-120px;
    left:-140px;
}

/* ARO DERECHO */

.hseq-section::after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    border:24px solid rgba(0,113,227,.18);
    border-radius:50%;

    bottom:-80px;
    right:-70px;
}

/* LINEAS TECNICAS */

.hseq-box{
    position:relative;
    z-index:2;
}

.hseq-box::before{
    content:"";
    position:absolute;
    inset:-40px;

    background:
    repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 18px,
        rgba(255,255,255,.018) 18px,
        rgba(255,255,255,.018) 19px
    );

    z-index:-1;
}

/* ==================================================
FOOTER
================================================== */

.footer{
    padding:42px 0;
    background:#06172e;
    text-align:center;
}

.footer p{
    font-size:14px;
    color:rgba(255,255,255,.74);
}

/* ==================================================
RESPONSIVE
================================================== */

@media(max-width:1200px){

.about-clean-grid,
.mv-grid,
.values-grid,
.why-grid{
    grid-template-columns:1fr;
}

.about-clean-left{
    text-align:center;
}

.about-clean-left p{
    margin:0 auto 28px;
}

.about-clean-actions{
    justify-content:center;
}

.about-floating-data{
    left:20px;
}

.section-title h2{
    font-size:34px;
}

.about-clean-left h1{
    font-size:44px;
}

.hseq-box h2{
    font-size:38px;
}

}

@media(max-width:768px){

.about-hero.clean-about{
    padding:135px 0 70px;
}

.about-clean-left h1{
    font-size:34px;
}

.about-clean-left p,
.company-text,
.mv-card p,
.value-box p,
.hseq-box p{
    font-size:17px;
}

.section-title h2{
    font-size:28px;
}

.mv-card h3,
.value-box h4,
.why-box h4{
    font-size:22px;
}

.hseq-box h2{
    font-size:30px;
}

.clean-btn-primary,
.clean-btn-secondary{
    width:100%;
    text-align:center;
}

.about-floating-data{
    position:relative;
    left:auto;
    bottom:auto;
    margin-top:16px;
}

}

/* =====================================================
COTIZACION PREMIUM
===================================================== */

.quote-hero{
    padding:170px 0 110px;
    background:linear-gradient(135deg,#f8fbff 0%,#eef4f9 55%,#ffffff 100%);
    position:relative;
    overflow:hidden;
}

/* AROS FONDO */

.quote-hero::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border:32px solid rgba(0,113,227,.08);
    border-radius:50%;
    top:-140px;
    left:-120px;
}

.quote-hero::after{
    content:"";
    position:absolute;
    width:300px;
    height:300px;
    border:26px solid rgba(180,190,205,.18);
    border-radius:50%;
    bottom:-80px;
    right:-60px;
}

.quote-hero .container{
    position:relative;
    z-index:2;
}

/* GRID */

.quote-hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

/* IZQUIERDA */

.quote-mini{
    display:inline-block;
    font-size:13px;
    font-weight:800;
    letter-spacing:3px;
    color:#0d6efd;
    margin-bottom:18px;
}

.quote-left h1{
    font-size:72px;
    line-height:1.03;
    font-weight:900;
    color:#081f3e;
    margin-bottom:28px;
}

.quote-left p{
    font-size:21px;
    line-height:1.8;
    color:#5b6978;
    max-width:620px;
    margin-bottom:30px;
}

.quote-contact-data{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.quote-contact-data div{
    font-size:18px;
    color:#24384f;
    font-weight:600;
}

/* FORMULARIO */

.quote-form-box{
    background:#fff;
    padding:42px;
    border-radius:30px;
    box-shadow:0 25px 50px rgba(0,0,0,.08);
    border:1px solid #edf1f6;
}

.quote-form-box form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.quote-form-box input,
.quote-form-box select,
.quote-form-box textarea{
    width:100%;
    border:1px solid #dbe4ee;
    border-radius:18px;
    padding:18px 20px;
    font-size:16px;
    font-family:inherit;
    outline:none;
    transition:.25s ease;
    background:#fff;
}

.quote-form-box input:focus,
.quote-form-box select:focus,
.quote-form-box textarea:focus{
    border-color:#0d6efd;
    box-shadow:0 0 0 4px rgba(13,110,253,.08);
}

.quote-form-box textarea{
    resize:none;
}

/* BOTON */

.quote-form-box button{
    border:none;
    padding:20px 26px;
    border-radius:999px;
    background:linear-gradient(135deg,#0d6efd,#0056d6);
    color:#fff;
    font-size:17px;
    font-weight:800;
    cursor:pointer;
    transition:.25s ease;
    box-shadow:0 18px 35px rgba(13,110,253,.18);
}

.quote-form-box button:hover{
    transform:translateY(-4px);
    box-shadow:0 24px 40px rgba(13,110,253,.25);
}

/* RESPONSIVE */

@media(max-width:1200px){

.quote-hero-grid{
    grid-template-columns:1fr;
}

.quote-left{
    text-align:center;
}

.quote-left p{
    margin:auto auto 30px;
}

.quote-contact-data{
    align-items:center;
}

.quote-left h1{
    font-size:58px;
}

}

@media(max-width:768px){

.quote-hero{
    padding:145px 0 80px;
}

.quote-left h1{
    font-size:42px;
}

.quote-left p{
    font-size:18px;
}

.quote-form-box{
    padding:28px;
}

.quote-form-box button{
    font-size:16px;
}

}



