/* CONSTRUCCIONES BURGA | estilos principales */
:root{--azul:#062653;--azul-oscuro:#031a3b;--azul-medio:#0c3973;--rojo:#f51f2b;--rojo-hover:#d91421;--blanco:#fff;--fondo:#f2f6fa;--texto:#26384e;--gris:#63748a;--borde:#dce5ee;--sombra:0 5px 18px rgba(5,32,68,.09);--radio:10px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:Arial,Helvetica,sans-serif;color:var(--texto);background:#fff;line-height:1.6;overflow-x:hidden}
img{display:block;width:100%;max-width:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
.container{width:min(1200px,calc(100% - 48px));margin-inline:auto}
.header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 2px 12px rgba(0,20,50,.09)}
.header-content{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.logo{display:inline-flex;align-items:center;flex-shrink:0}
.logo-img{display:block;width:220px;height:72px;object-fit:contain;object-position:left center}
.nav{display:flex;align-items:center;justify-content:center;gap:22px}
.nav>a,.nav-dropdown>.dropdown-trigger{display:block;padding:30px 0 26px;border-bottom:3px solid transparent;color:var(--azul);font-size:12px;font-weight:600;white-space:nowrap;transition:color .2s,border-color .2s}
.nav>a:hover,.nav-dropdown>.dropdown-trigger:hover,.nav>a.active{color:var(--rojo);border-bottom-color:var(--rojo)}
.nav-dropdown{position:relative}
.dropdown-menu{position:absolute;top:100%;left:-18px;width:250px;max-height:70vh;overflow-y:auto;padding:8px;background:#fff;border:1px solid var(--borde);border-radius:0 0 10px 10px;box-shadow:var(--sombra);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu a{display:block;padding:10px 12px;border-radius:5px;color:var(--azul);font-size:13px}
.dropdown-menu a:hover{color:var(--rojo);background:var(--fondo)}
.header-action{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0}
.location{color:var(--azul);font-size:10px;white-space:nowrap}
.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--borde);border-radius:7px;background:#fff;color:var(--azul);font-size:24px;cursor:pointer}
.btn{min-height:44px;display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:12px 22px;border:1px solid transparent;border-radius:30px;font-size:13px;font-weight:700;line-height:1.3;text-align:center;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.btn-red{background:var(--rojo);color:#fff;box-shadow:0 4px 12px rgba(245,31,43,.12)}
.btn-red:hover{background:var(--rojo-hover);box-shadow:0 6px 16px rgba(245,31,43,.22)}
.btn-small{min-height:38px;padding:10px 18px;border-radius:9px;font-size:11px}
.btn-outline{border-color:rgba(255,255,255,.8);background:rgba(4,28,63,.22);color:#fff}
.btn-outline:hover{background:#fff;color:var(--azul)}
.btn-outline-dark{border-color:var(--rojo);background:transparent;color:var(--rojo)}
.btn-outline-dark:hover{background:var(--rojo);color:#fff}
.hero{position:relative;min-height:440px;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:#031a3b url("../imagenes/inicio/portada-vivienda.webp") center 55%/cover no-repeat}
.hero-overlay{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(2,25,58,.99) 0%,rgba(3,31,69,.95) 31%,rgba(3,31,69,.69) 49%,rgba(3,31,69,.05) 78%)}
.hero-content{padding-top:55px;padding-bottom:55px}
.hero-copy{max-width:600px;color:#fff}
.eyebrow{display:inline-block;margin-bottom:12px;color:var(--rojo);font-size:11px;font-weight:800;letter-spacing:1.4px}
.hero .eyebrow{color:#ff9ba0}
.hero h1{max-width:580px;margin-bottom:17px;font-size:clamp(36px,4vw,55px);font-weight:900;line-height:1.08;letter-spacing:-1.7px}
.hero h1 span{display:block;color:var(--rojo)}
.hero-copy>p{max-width:455px;margin-bottom:25px;color:#f1f5fa;font-size:15px;line-height:1.7}
.hero-buttons{display:flex;flex-wrap:wrap;gap:12px}
.hero-benefits{display:flex;flex-wrap:wrap;gap:0;margin-top:34px}
.hero-benefits>div{display:flex;align-items:center;gap:10px;padding:0 18px;border-right:1px solid rgba(255,255,255,.35);color:#fff;font-size:24px}
.hero-benefits>div:first-child{padding-left:0}.hero-benefits>div:last-child{border-right:0}
.hero-benefits>div>span:last-child{font-size:11px;line-height:1.4}.benefit-symbol{font-size:24px}
.benefits-strip{background:#fff;border-bottom:1px solid var(--borde)}
.benefits-grid{min-height:78px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}
.benefit-item{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border-right:1px solid var(--borde);color:var(--azul);font-size:13px;font-weight:700}
.benefit-item:last-child{border-right:0}.benefit-item>span{color:var(--azul);font-size:28px}
.section{padding:65px 0}.services-section{background:linear-gradient(180deg,#f4f7fa 0%,#edf3f8 100%)}
.section-heading{max-width:760px;margin:0 auto 32px;text-align:center}.section-heading .eyebrow{margin-bottom:8px}
.section-heading h2,.about-content h2,.coverage-content h2{color:var(--azul);font-size:clamp(25px,3vw,34px);font-weight:900;line-height:1.2;letter-spacing:-.7px}
.heading-line{display:block;width:64px;height:4px;margin:15px auto;background:var(--rojo)}
.section-heading p{color:var(--gris);font-size:14px}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.service-card{overflow:hidden;border:1px solid var(--borde);border-radius:var(--radio);background:#fff;box-shadow:0 3px 8px rgba(5,32,68,.06);transition:transform .25s,box-shadow .25s}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--sombra)}
.service-card>img{height:145px;background:#dbe5ef}
.service-body{display:grid;grid-template-columns:35px minmax(0,1fr);gap:9px;padding:17px 15px 18px}
.service-icon{color:var(--rojo);font-size:27px;font-weight:700;line-height:1.2}
.service-body h3{margin-bottom:9px;color:var(--azul);font-size:12px;font-weight:900;line-height:1.4;text-transform:uppercase}
.service-body p{min-height:76px;margin-bottom:10px;color:var(--gris);font-size:12px;line-height:1.55}
.service-link{display:inline-block;color:var(--rojo);font-size:11px;font-weight:800}.service-link:hover{text-decoration:underline}
.center-action{display:flex;justify-content:center;margin-top:32px}
.about-section{display:grid;grid-template-columns:1fr 1.2fr .72fr;align-items:stretch;background:#f0f5f9}
.about-image{min-height:370px;overflow:hidden}.about-image img{height:100%;min-height:370px;object-position:center}
.about-content{align-self:center;padding:45px 35px}.about-content h2{margin-bottom:20px;font-size:29px}
.about-content p{margin-bottom:13px;color:var(--gris);font-size:13px;line-height:1.8}.about-content .btn{margin-top:8px;border-radius:8px;font-size:12px}
.about-points{display:flex;flex-direction:column;justify-content:center;gap:20px;margin:35px 0;padding:20px 25px;border-left:1px solid #cbd7e3}
.about-points>div{display:flex;align-items:center;gap:14px;color:var(--azul);font-size:13px;font-weight:700}.about-points span{color:var(--rojo);font-size:26px}
.projects-section{background:#fff}.projects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.project-item{position:relative;height:165px;overflow:hidden;border-radius:8px;background:var(--azul-oscuro)}
.project-item img{height:100%;transition:transform .35s}.project-item:hover img{transform:scale(1.07)}
.project-item:after{position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(3,20,46,.88));content:""}
.project-item span{position:absolute;z-index:1;right:12px;bottom:12px;left:12px;color:#fff;font-size:12px;font-weight:800}
.coverage-section{padding:52px 0;background:#edf3f8}.coverage-content{display:flex;align-items:center;justify-content:space-between;gap:35px}
.coverage-content>div{max-width:690px}.coverage-content h2{margin-bottom:13px}.coverage-content p{color:var(--gris);font-size:14px}
.coverage-content .btn{flex-shrink:0;border-color:var(--azul);color:var(--azul)}.coverage-content .btn:hover{background:var(--azul);color:#fff}
.cta-section{position:relative;overflow:hidden;padding:24px 0;background:linear-gradient(105deg,var(--azul-oscuro),var(--azul));border-top:4px solid var(--rojo);border-bottom:4px solid var(--rojo);color:#fff}
.cta-content{display:flex;align-items:center;gap:22px}.cta-symbol{color:#fff;font-size:48px}.cta-content>div:nth-child(2){flex:1}
.cta-content h2{margin-bottom:4px;font-size:20px;line-height:1.3}.cta-content p{color:#e1eaf6;font-size:13px}.cta-content .btn{flex-shrink:0}
.footer{background:var(--azul-oscuro);color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr 1.2fr .9fr 1.2fr;gap:35px;padding-top:45px;padding-bottom:38px}
.logo-footer .logo-img{width:230px;height:85px}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-column h3{margin-bottom:6px;font-size:14px}
.footer-column p,.footer-column a{color:#d4e0ef;font-size:12px;overflow-wrap:anywhere}.footer-column a:hover{color:#ff6d76}
.footer-bottom{border-top:1px solid rgba(255,255,255,.2)}.footer-bottom p{padding:15px 0;color:#d4e0ef;font-size:11px;text-align:center}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:1100;display:flex;align-items:center;gap:10px;padding:13px 18px;border-radius:40px;background:#20b95a;color:#fff;font-size:13px;font-weight:700;box-shadow:0 5px 18px rgba(0,0,0,.2);transition:transform .2s,background .2s}
.whatsapp-float:hover{transform:translateY(-3px);background:#159447}.whatsapp-icon{font-size:22px;line-height:1}
a:focus-visible,button:focus-visible{outline:3px solid #ff6973;outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* =========================================
   PÁGINA DE CONTACTO Y COTIZACIONES
========================================= */

.contact-hero {
    padding: 55px 0 50px;
    background: #edf3f8;
    border-bottom: 1px solid var(--borde);
}

.contact-hero h1 {
    margin-bottom: 14px;
    color: var(--azul);
    font-size: clamp(32px, 4vw, 45px);
    font-weight: 900;
    line-height: 1.15;
}

.contact-hero p {
    max-width: 680px;
    color: var(--gris);
    font-size: 15px;
}

.contact-section {
    padding: 65px 0;
    background: #fff;
}

.contact-layout {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: start;
    gap: 55px;
}

.contact-info {
    padding-top: 15px;
}

.contact-info h2,
.contact-form-card h2 {
    margin-bottom: 15px;
    color: var(--azul);
    font-size: 27px;
    font-weight: 900;
    line-height: 1.25;
}

.contact-info > p {
    margin-bottom: 30px;
    color: var(--gris);
    font-size: 14px;
    line-height: 1.8;
}

.contact-info-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 24px;
}

.contact-info-icon {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    flex-shrink: 0;
    border-radius: 8px;
    background: #edf3f8;
    color: var(--rojo);
    font-size: 14px;
    font-weight: 900;
}

.contact-info-item h3 {
    margin-bottom: 4px;
    color: var(--azul);
    font-size: 14px;
}

.contact-info-item p {
    color: var(--gris);
    font-size: 13px;
}

.contact-direct {
    display: inline-block;
    margin-top: 5px;
    color: var(--rojo);
    font-weight: 800;
}

.contact-form-card {
    padding: 30px;
    border: 1px solid var(--borde);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--sombra);
}

.form-description {
    margin-bottom: 24px;
    color: var(--gris);
    font-size: 13px;
}

.form-field {
    margin-bottom: 19px;
}

.form-field label {
    display: block;
    margin-bottom: 7px;
    color: var(--azul);
    font-size: 13px;
    font-weight: 700;
}

.form-field input,
.form-field select,
.form-field textarea {
    display: block;
    width: 100%;
    min-height: 46px;
    padding: 12px 13px;
    border: 1px solid #cbd7e3;
    border-radius: 7px;
    background: #fff;
    color: var(--texto);
    font: inherit;
    font-size: 14px;
}

.form-field textarea {
    min-height: 115px;
    resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
    border-color: var(--azul-medio);
    outline: 2px solid rgba(12, 57, 115, 0.12);
}

.contact-submit {
    width: 100%;
    border: 0;
    border-radius: 7px;
    font: inherit;
    font-size: 14px;
    cursor: pointer;
}

.form-privacy {
    margin-top: 14px;
    color: var(--gris);
    font-size: 11px;
    line-height: 1.6;
}

.form-status {
    margin-top: 8px;
    color: var(--azul);
    font-size: 12px;
}

@media (max-width: 800px) {
    .contact-layout {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .contact-info {
        padding-top: 0;
    }

    .contact-form-card {
        padding: 24px;
    }
}

@media (max-width: 480px) {
    .contact-hero {
        padding: 38px 0;
    }

    .contact-section {
        padding: 40px 0;
    }

    .contact-info h2,
    .contact-form-card h2 {
        font-size: 24px;
    }

    .contact-form-card {
        padding: 19px;
    }
}
