:root{--blue:#2e316d;--navy:#061b3d;--yellow:#ffe500;--soft:#f4f6fa;--text:#14213d;--line:#dce3ec;--shadow:0 18px 50px rgba(6,27,61,.14)}
html{scroll-behavior:smooth}body{font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff}a{text-decoration:none}.topbar{background:var(--navy);color:#fff;padding:.5rem 0;font-size:.84rem}.topbar a{color:#fff}.navbar-brand img{height:70px;width:auto;object-fit:contain}.nav-link{font-weight:800;text-transform:uppercase;font-size:.82rem;color:#0e1b36!important;padding:.8rem .85rem!important}.nav-link:hover{color:var(--blue)!important}.search-btn{font-size:1.25rem}.hero{position:relative;background-image:linear-gradient(90deg,rgba(3,20,52,.98) 0%,rgba(3,20,52,.88) 38%,rgba(3,20,52,.38) 62%,rgba(3,20,52,.06) 100%),url("../img/hero-arquitectura.svg");background-size:cover;background-position:center right;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.16));pointer-events:none}.min-vh-hero{min-height:620px;position:relative;z-index:2}.kicker,.section-title small{font-size:.8rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--yellow)}.hero h1{font-size:clamp(2.65rem,5vw,4.95rem);line-height:1.01;text-transform:uppercase;color:#fff;font-weight:900;max-width:760px;letter-spacing:-.035em;text-shadow:0 4px 24px rgba(0,0,0,.18)}.hero h1 span{display:block;color:var(--yellow)}.hero p{color:#fff;font-size:1.18rem;line-height:1.65;max-width:720px}.btn-brand{background:var(--yellow);border-color:var(--yellow);color:#07142d;font-weight:900;text-transform:uppercase}.btn-brand:hover{background:#efd900;border-color:#efd900;color:#07142d}.hero-points{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2rem;color:#fff;font-weight:700}.hero-points i{font-size:1.5rem;margin-right:.45rem}.stats{margin-top:-38px;position:relative;z-index:5}.stats-grid{background:#fff;border-radius:18px;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(5,1fr);overflow:hidden}.stats-grid>div{padding:1.45rem;text-align:center;border-right:1px solid var(--line)}.stats-grid>div:last-child{border-right:0}.stats b,.stats span{display:block}.stats b{font-size:1.45rem;color:var(--navy)}.stats span{font-size:.78rem;color:#627086}.section{padding:92px 0}.bg-soft{background:var(--soft)}.section-title{margin-bottom:2.2rem}.section-title small{color:var(--blue)}.section-title h2,.contact h2{font-weight:900;text-transform:uppercase;color:var(--navy);font-size:clamp(2rem,4vw,3.4rem)}.product-card,.solution,.catalog{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 22px rgba(6,27,61,.05);transition:.25s}.product-card:hover,.solution:hover,.catalog:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.product-img{height:230px;background:#eef2f7;overflow:hidden}
.product-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}
.product-card:hover .product-img img{transform:scale(1.045)}.product-card h3,.solution h3,.catalog h3{font-size:1.2rem;font-weight:900;color:var(--navy)}.product-card p,.solution p{color:#667386}.product-card a,.catalog a{font-weight:800;color:var(--blue)}.brands{background:var(--navy);color:#fff;padding:1.8rem 0}.brands .container{display:flex;gap:2rem;justify-content:space-between;align-items:center;flex-wrap:wrap}.brands strong{text-transform:uppercase;color:var(--yellow);max-width:220px;line-height:1.25}.supplier-logos{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:1rem;align-items:center;flex:1}.supplier-logo{height:112px;background:#fff;border:1px solid rgba(255,255,255,.45);border-radius:16px;display:flex;align-items:center;justify-content:center;padding:18px 24px;box-shadow:0 12px 28px rgba(0,0,0,.18);overflow:hidden}
.supplier-logo img{display:block;max-width:100%;max-height:76px;width:auto;height:auto;object-fit:contain;object-position:center}
.supplier-logo:nth-child(1) img{max-height:64px}
.supplier-logo:nth-child(2) img{max-height:80px}
.supplier-logo:nth-child(3) img{max-height:68px}
.supplier-logo:nth-child(4) img{max-height:78px}.solution{padding:1.5rem;height:100%}.solution i{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--yellow);font-size:1.5rem;color:var(--navy);margin-bottom:1rem}.projects{background:linear-gradient(135deg,#041a3b,#0b4089)}.projects .section-title h2{color:#fff}.project{min-height:330px;border-radius:18px;padding:1.7rem;display:flex;align-items:end;color:#fff;background:linear-gradient(0deg,rgba(3,20,52,.92),rgba(3,20,52,.08)),linear-gradient(135deg,#315d87,#c0d2df)}.p2{background:linear-gradient(0deg,rgba(3,20,52,.92),rgba(3,20,52,.08)),linear-gradient(135deg,#657991,#d9e0e7)}.p3{background:linear-gradient(0deg,rgba(3,20,52,.92),rgba(3,20,52,.08)),linear-gradient(135deg,#7a6a5b,#d0b99d)}.project h3{font-weight:900}.logo-card{padding:3rem;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);position:relative}.logo-card:after{content:"";position:absolute;right:-16px;bottom:-16px;width:55%;height:35%;background:var(--yellow);z-index:-1;border-radius:18px}.logo-card img{width:100%;max-height:330px;object-fit:contain}.catalog{padding:1.5rem;height:100%}.catalog i{font-size:2.2rem;color:#c92020}.branch{display:flex;gap:1rem;border:1px solid var(--line);padding:1rem;border-radius:14px;margin:.8rem 0}.branch i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:var(--yellow)}.branch b,.branch span{display:block}.branch span{font-size:.85rem;color:#6a7688}.map{min-height:470px;border-radius:24px;background:linear-gradient(135deg,#061b3d,#0b4692);color:rgba(255,255,255,.08);font-size:clamp(4rem,10vw,8rem);font-weight:900;display:grid;place-items:center;position:relative;box-shadow:var(--shadow)}.pin{position:absolute;width:22px;height:22px;background:var(--yellow);border:5px solid #fff;border-radius:50%;box-shadow:0 6px 18px rgba(0,0,0,.3)}.pin.a{left:35%;top:42%}.pin.b{left:41%;top:50%}.pin.c{left:48%;top:55%}.pin.d{left:45%;top:63%}.contact{background:linear-gradient(135deg,#061b3d,#0c3f84)}.contact h2{color:#fff}.contact small{color:var(--yellow);font-weight:900;text-transform:uppercase;letter-spacing:.15em}.form-card{background:#fff;border-radius:20px;padding:2rem;box-shadow:var(--shadow)}.form-control,.form-select{min-height:52px}.form-card textarea{min-height:140px}footer{background:#03142e;color:#fff;padding:60px 0 25px}footer img{max-width:220px;background:#fff;border-radius:8px;padding:.35rem}footer h3{font-size:1rem;color:var(--yellow);text-transform:uppercase}footer a{display:block;color:rgba(255,255,255,.8);margin:.35rem 0}.whatsapp{position:fixed;right:22px;bottom:22px;width:62px;height:62px;border-radius:50%;background:#20b957;color:#fff;display:grid;place-items:center;font-size:2rem;box-shadow:0 14px 30px rgba(0,0,0,.25);z-index:20}.result{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;padding:1rem;margin-bottom:.65rem;color:var(--text)}.result span{font-size:.9rem;color:#687487}@media(max-width:991px){.topbar{display:none}.navbar-brand img{height:58px}.stats-grid{grid-template-columns:1fr 1fr}.stats-grid>div{border-bottom:1px solid var(--line)}.hero{background-image:linear-gradient(90deg,rgba(3,20,52,.97),rgba(3,20,52,.82)),url("../img/hero-arquitectura.svg");background-position:63% center}.supplier-logos{grid-template-columns:repeat(2,minmax(150px,1fr));width:100%}}@media(max-width:575px){.section{padding:68px 0}.hero h1{font-size:2.5rem}.hero p{font-size:1rem}.stats{margin-top:-18px}.stats-grid{grid-template-columns:1fr}.stats-grid>div{border-right:0}.brands .container{display:block}.brands strong{display:block;margin-bottom:1rem}.supplier-logos{grid-template-columns:1fr}.supplier-logo{height:84px}}

.map-image-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);overflow:hidden}.map-image-card img{display:block;width:100%;height:auto;border-radius:14px}

/* Sucursales 2.0 */
.branches-section{background:linear-gradient(180deg,#fff,#f7f9fc)}
.branch-list-modern{display:grid;gap:14px}
.branch-card-modern{display:flex;gap:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(6,27,61,.06);transition:.2s}
.branch-card-modern:hover,.branch-card-modern.active{transform:translateY(-2px);border-color:#9db2ce;box-shadow:0 18px 38px rgba(6,27,61,.12)}
.branch-pin{width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--yellow);font-size:1.35rem}
.branch-info h3{font-size:1.03rem;font-weight:900;text-transform:uppercase;color:var(--navy);margin:0 0 8px}
.branch-info p{font-size:.88rem;color:#687487;margin:0 0 12px;line-height:1.45}
.branch-actions{display:flex;flex-wrap:wrap;gap:8px 14px}
.branch-actions a{font-size:.86rem;font-weight:800;color:var(--navy)}
.branch-actions .wa-link{color:#149447}
.live-map-card{height:100%;min-height:620px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:12px;box-shadow:var(--shadow);overflow:hidden}
#branchMap{height:100%;min-height:594px;border-radius:16px;z-index:1}
.leaflet-popup-content-wrapper{border-radius:14px}.leaflet-popup-content{margin:14px 16px;min-width:220px}.map-popup h4{font-size:1rem;font-weight:900;color:var(--navy);margin:0 0 6px}.map-popup p{font-size:.82rem;margin:0 0 8px;color:#5d6878}.map-popup a{font-weight:800;color:#149447}
.whatsapp{border:0}
.wa-options{display:grid;gap:10px}.wa-options a{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--navy)}.wa-options a:hover{background:#f4f8f5;border-color:#7bcf98}.wa-options span{display:grid}.wa-options small{color:#6b7788}.wa-options i{font-size:1.7rem;color:#20b957}
@media(max-width:991px){.live-map-card{min-height:480px}#branchMap{min-height:454px}}

/* Redes sociales */
.footer-brand-logo{max-width:220px;background:#fff;border-radius:8px;padding:.35rem}
.social-links{display:grid;gap:10px}
.social-link{display:flex!important;align-items:center;gap:11px;color:#fff!important;margin:0!important;padding:8px 10px;border:1px solid rgba(255,255,255,.13);border-radius:11px;transition:.2s}
.social-link:hover{background:rgba(255,255,255,.08);transform:translateX(3px)}
.social-link i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.2rem}
.social-link.linkedin i{background:#0a66c2}
.social-link.youtube i{background:#ff0000}
.social-link.instagram i{background:linear-gradient(135deg,#feda75,#d62976,#4f5bd5)}
.social-link span{font-weight:800}
.footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:rgba(255,255,255,.72)}
@media(max-width:575px){
  .product-img{height:210px}
  .supplier-logo{height:100px}
  .footer-bottom{flex-direction:column}
}


/* Ajustes 2.1: sin teléfono general visible */
.topbar .container{display:flex;justify-content:flex-start!important}
.contact-note{color:rgba(255,255,255,.72);font-size:.95rem}
.map-popup-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.map-popup-actions a{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:7px;background:#061b3d;color:#fff!important;font-weight:700}
.map-popup-actions a:last-child{background:#20b957}

.catalog{display:flex;flex-direction:column;gap:.65rem}
.catalog p{color:#647083;flex:1}
.catalog-category{display:inline-flex;width:max-content;padding:.3rem .65rem;border-radius:999px;background:#eef3fb;color:#0b3d91;font-size:.74rem;font-weight:900;text-transform:uppercase}
.catalog-pending{font-size:.82rem;color:#7b8797}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.catalog-download-card{display:flex;gap:22px;padding:26px;border:1px solid #dce3ef;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(3,22,54,.07)}
.catalog-icon{flex:0 0 72px;width:72px;height:72px;border-radius:16px;background:#fff1f1;color:#c51f2c;display:grid;place-items:center;font-size:2.2rem}
.catalog-card-content{display:flex;flex-direction:column;align-items:flex-start}
.catalog-card-content h2{font-size:1.35rem;margin:.45rem 0}
.catalog-card-content p{color:#647083;flex:1}
.thanks-card{max-width:760px;margin:auto;background:#fff;border-radius:22px;padding:58px 32px;box-shadow:0 18px 50px rgba(3,22,54,.12)}
.thanks-card>i{font-size:4rem;color:#20b957}
@media(max-width:767px){.catalog-grid{grid-template-columns:1fr}.catalog-download-card{flex-direction:column}}

.social-link.facebook i{background:#1877f2}


/* Experiencias de capacitación */
.training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.training-card{display:grid;grid-template-columns:220px 1fr;border:1px solid #dce3ef;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 12px 32px rgba(3,22,54,.08);transition:.25s}
.training-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(3,22,54,.13)}
.training-image{min-height:230px;background:#eaf0f7}
.training-image img{width:100%;height:100%;object-fit:cover}
.training-body{padding:24px;display:flex;flex-direction:column}
.training-city{color:#0b3d91;font-size:.8rem;font-weight:900;text-transform:uppercase}
.training-body h3{font-size:1.35rem;font-weight:900;margin:.65rem 0}
.training-body p{color:#647083;flex:1}
.training-body a{font-weight:900;color:#0b3d91}
.training-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.training-gallery-item{margin:0;border-radius:16px;overflow:hidden;background:#fff;border:1px solid #dce3ef;box-shadow:0 10px 26px rgba(3,22,54,.08)}
.training-gallery-item img{display:block;width:100%;height:280px;object-fit:cover}
.training-gallery-item figcaption{padding:14px 16px;font-weight:800;color:#061b3d}
.training-empty{text-align:center;background:#f3f6fb;border:2px dashed #b9c8dc;border-radius:20px;padding:55px 25px}
.training-empty i{font-size:4rem;color:#0b3d91}
.training-empty code{display:inline-block;padding:9px 13px;background:#061b3d;color:#ffe500;border-radius:8px}
@media(max-width:991px){
  .training-grid{grid-template-columns:1fr}
  .training-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .training-card{grid-template-columns:1fr}
  .training-image{height:220px}
  .training-gallery{grid-template-columns:1fr}
}
/* =========================================================
   SOLUCIONES POR SEGMENTO
   ========================================================= */

.solutions-section {
    background: #f4f6fa;
}

.solutions-section .section-title small {
    display: block;
    color: #17285c;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 3px;
    margin-bottom: 8px;
}

.solutions-section .section-title h2 {
    color: #061f47;
    font-size: clamp(32px, 4vw, 56px);
    font-weight: 900;
    line-height: 1;
    margin: 0;
}

/* TARJETA */

.segment-card {
    height: 270px;
    background: #fff;
    border: 1px solid #dce3ed;
    border-radius: 20px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    padding: 28px 18px;

    box-shadow: 0 12px 30px rgba(5, 31, 70, 0.06);

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

/* ICONO */

.segment-icon {
    width: 110px;
    height: 110px;

    border-radius: 50%;

    background: #fff3b0;

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

    margin-bottom: 22px;

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

.segment-icon i {
    font-size: 52px;
    line-height: 1;

    color: #082650;
}

/* TÍTULO */

.segment-card h3 {
    color: #061f47;

    font-size: 21px;
    font-weight: 900;

    line-height: 1.15;

    margin: 0;
}

/* EFECTO AL PASAR EL MOUSE */

.segment-card:hover {
    transform: translateY(-7px);

    border-color: #ffdc00;

    box-shadow:
        0 18px 40px
        rgba(5, 31, 70, 0.14);
}

.segment-card:hover .segment-icon {
    background: #ffdc00;
    transform: scale(1.07);
}

/* TABLET */

@media (max-width: 991px) {

    .segment-card {
        height: 240px;
    }

    .segment-icon {
        width: 95px;
        height: 95px;
    }

    .segment-icon i {
        font-size: 44px;
    }
}

/* CELULAR */

@media (max-width: 575px) {

    .solutions-section .section-title h2 {
        font-size: 34px;
    }

    .segment-card {
        height: 205px;
        padding: 20px 10px;
    }

    .segment-icon {
        width: 80px;
        height: 80px;
        margin-bottom: 16px;
    }

    .segment-icon i {
        font-size: 36px;
    }

    .segment-card h3 {
        font-size: 17px;
    }
}
/* =========================================================
   HERO PRINCIPAL DIALUC
   ========================================================= */

.hero {
    position: relative;
    min-height: 610px;
    overflow: hidden;

    background-image:
        linear-gradient(
            90deg,
            rgba(4, 25, 55, 0.94) 0%,
            rgba(4, 25, 55, 0.82) 28%,
            rgba(4, 25, 55, 0.40) 48%,
            rgba(4, 25, 55, 0.05) 70%,
            rgba(4, 25, 55, 0.00) 100%
        ),
        url('../img/hero-dialuc-30.jpg');

    background-size: cover;

    /* ESTA ES LA CLAVE:
       anclamos la imagen abajo para NO cortar el logo */
    background-position: center bottom;

    background-repeat: no-repeat;
}
/* El contenido siempre queda por encima de la fotografía */
.hero .container {
    position: relative;
    z-index: 2;
}

/* En celular movemos la fotografía para conservar
   mejor la zona importante */
@media (max-width: 768px) {

    .hero {
        min-height: 650px;

        background-image:
            linear-gradient(
                90deg,
                rgba(4, 25, 55, 0.96) 0%,
                rgba(4, 25, 55, 0.90) 55%,
                rgba(4, 25, 55, 0.60) 100%
            ),
            url('../img/hero-dialuc-30.jpg');

        background-position: 55% center;
    }
}