
/* ==========================================================
   MAR & ASOCIADOS — BRAND FINAL
   Azul corporativo + amarillo/dorado del logotipo
   Capa final sobre estilos.css + luxury.css
   ========================================================== */

:root{
  --brand-blue:#082b67;
  --brand-blue-dark:#041a42;
  --brand-blue-deep:#031331;
  --brand-blue-light:#123f82;
  --brand-gold:#f4c515;
  --brand-gold-2:#d6aa12;
  --brand-gray:#8d8d8d;
  --brand-bg:#f7f8fa;
  --brand-white:#ffffff;
  --brand-text:#17243a;
  --brand-muted:#667085;
  --brand-line:#e5e9ef;
  --brand-shadow:0 22px 60px rgba(4,26,66,.12);
}

html,body{max-width:100%;overflow-x:hidden}
body{background:var(--brand-bg)!important;color:var(--brand-text)}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto}

/* ---------- Header corporativo ---------- */
.site-header{
  position:relative;
  z-index:5000;
  background:var(--brand-white);
  box-shadow:0 3px 18px rgba(3,19,49,.08);
  overflow:visible!important;
}
.top-bar{
  background:var(--brand-blue-deep)!important;
  min-height:28px;
}
.top-bar-inner{
  min-height:28px!important;
  justify-content:flex-end;
  padding-top:4px!important;
  padding-bottom:4px!important;
}
.top-bar .contact-item{
  color:rgba(255,255,255,.86)!important;
  font-size:.72rem!important;
}
.top-bar .contact-item i{color:var(--brand-gold)!important}

.main-header{
  background:linear-gradient(180deg,var(--brand-blue) 0%,#07265b 100%)!important;
  overflow:visible!important;
}
.main-header-inner{
  min-height:86px!important;
  display:flex!important;
  align-items:center!important;
  gap:34px!important;
  overflow:visible!important;
}
.logo{
  flex:0 0 auto;
  display:flex!important;
  align-items:center;
}
.logo img{
  width:270px!important;
  max-width:34vw!important;
  max-height:64px!important;
  object-fit:contain!important;
  filter:none!important;
}

/* navegación sobre azul, con bloque blanco fino y elegante */
.navigation{
  margin-left:auto;
  overflow:visible!important;
}
.nav-list{
  display:flex;
  align-items:center;
  gap:4px!important;
  padding:5px!important;
  margin:0!important;
  border-radius:14px;
  background:rgba(255,255,255,.98);
  box-shadow:0 8px 24px rgba(2,17,44,.15);
  overflow:visible!important;
}
.nav-list>li{
  position:relative!important;
  overflow:visible!important;
}
.nav-list>li>a{
  min-height:44px;
  display:flex!important;
  align-items:center!important;
  gap:7px;
  padding:0 14px!important;
  color:var(--brand-blue-dark)!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.035em!important;
  border-radius:10px!important;
  white-space:nowrap;
}
.nav-list>li>a::after{display:none!important}
.nav-list>li>a:hover,
.nav-list>li:focus-within>a{
  background:#f6f7f9!important;
  color:var(--brand-blue)!important;
}
.dropdown-icon{color:var(--brand-gold-2)!important}

/* ---------- PERSONAS dropdown normal ---------- */
.navigation .sub-menu{
  z-index:9000!important;
}
@media (min-width:1025px){
  .nav-list>li:not(.company-menu)>.sub-menu{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    width:280px!important;
    min-width:280px!important;
    display:block!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(8px)!important;
    transition:.2s ease!important;
    background:#fff!important;
    border:1px solid var(--brand-line)!important;
    border-top:3px solid var(--brand-gold)!important;
    border-radius:14px!important;
    padding:8px!important;
    box-shadow:0 22px 55px rgba(3,19,49,.18)!important;
    overflow:visible!important;
  }
  .nav-list>li:not(.company-menu):hover>.sub-menu,
  .nav-list>li:not(.company-menu):focus-within>.sub-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  .nav-list>li:not(.company-menu)>.sub-menu a{
    display:flex!important;
    align-items:center!important;
    min-height:39px!important;
    padding:8px 11px!important;
    color:#3d4a5e!important;
    border-radius:8px!important;
    font-size:.75rem!important;
    white-space:normal!important;
  }
  .nav-list>li:not(.company-menu)>.sub-menu a:hover{
    color:var(--brand-blue)!important;
    background:#f7f8fa!important;
  }

  /* ---------- EMPRESA como mega menú: todas las opciones visibles ---------- */
  .company-menu{
    position:static!important;
  }
  .company-menu>.sub-menu{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    right:0!important;
    left:auto!important;
    width:min(700px,calc(100vw - 50px))!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(8px)!important;
    transition:.2s ease!important;
    background:#fff!important;
    border:1px solid var(--brand-line)!important;
    border-top:3px solid var(--brand-gold)!important;
    border-radius:16px!important;
    padding:14px!important;
    box-shadow:0 28px 70px rgba(3,19,49,.20)!important;
    overflow:visible!important;
  }
  .company-menu:hover>.sub-menu,
  .company-menu:focus-within>.sub-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  .company-menu>.sub-menu>li{
    min-width:0;
    background:#f8f9fb;
    border:1px solid var(--brand-line);
    border-radius:12px;
    padding:8px!important;
  }
  .company-menu>.sub-menu>li>a{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:42px!important;
    padding:8px 10px!important;
    color:var(--brand-blue-dark)!important;
    font-size:.78rem!important;
    font-weight:800!important;
    background:transparent!important;
    white-space:normal!important;
  }
  .company-menu>.sub-menu>li>a .dropdown-icon{display:none!important}
  .company-menu .sub-sub-menu{
    position:static!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    box-shadow:none!important;
    border:0!important;
    background:transparent!important;
    padding:0!important;
  }
  .company-menu .sub-sub-menu li a{
    display:block!important;
    min-height:34px!important;
    padding:7px 10px!important;
    color:#4b5870!important;
    background:#fff!important;
    border-radius:7px!important;
    font-size:.72rem!important;
    line-height:1.3!important;
    white-space:normal!important;
    margin:2px 0!important;
  }
  .company-menu .sub-sub-menu li a:hover{
    background:#fff9d9!important;
    color:var(--brand-blue)!important;
  }
}

/* ---------- Contacto: hero limpio, SIN menú lateral ---------- */
.contact-hero-section{
  padding:42px 0 34px!important;
  background:linear-gradient(180deg,#fff,#f7f8fa)!important;
}
.contact-hero-section .container{display:block!important}
.contact-hero-full{
  width:100%!important;
  min-height:390px!important;
  max-width:none!important;
  border-radius:26px!important;
  overflow:hidden!important;
  background-position:center!important;
  background-size:cover!important;
  box-shadow:var(--brand-shadow)!important;
}
.contact-hero-full .hero-static-overlay{
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(3,19,49,.92) 0%,rgba(8,43,103,.80) 48%,rgba(8,43,103,.28) 100%)!important;
}
.contact-hero-full .hero-static-content{
  min-height:390px!important;
  max-width:760px!important;
  padding:55px!important;
  display:flex!important;
  justify-content:center!important;
  align-items:flex-start!important;
}
.contact-hero-kicker{
  color:var(--brand-gold)!important;
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.16em;
  margin-bottom:10px;
}
.contact-hero-full h1{
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(3rem,7vw,5.6rem)!important;
  line-height:.95!important;
  margin:0 0 18px!important;
  color:#fff!important;
}
.contact-hero-copy{
  max-width:650px;
  color:rgba(255,255,255,.84)!important;
  font-size:1rem;
  line-height:1.75;
  margin:0 0 20px;
}
.contact-hero-full .breadcrumbs,
.contact-hero-full .breadcrumbs a{color:rgba(255,255,255,.72)!important}
.contact-hero-full .breadcrumbs .current{color:var(--brand-gold)!important}

/* ---------- Componentes de marca ---------- */
.btn-primary,
.luxury-btn-primary{
  background:var(--brand-gold)!important;
  color:var(--brand-blue-dark)!important;
  border-color:var(--brand-gold)!important;
}
.btn-primary:hover,
.luxury-btn-primary:hover{
  background:#ffd62f!important;
  border-color:#ffd62f!important;
}
.section-kicker,
.luxury-eyebrow{color:#a17d00!important}
.srv-cta-banner{
  background:
    radial-gradient(circle at 85% 10%,rgba(244,197,21,.20),transparent 18rem),
    var(--brand-blue-dark)!important;
}
.process-card span{background:var(--brand-blue)!important}
.service-icon-large,
.coverage-icon,
.mv-icon{
  color:var(--brand-blue)!important;
  background:rgba(244,197,21,.16)!important;
}
.site-footer{
  background:var(--brand-blue-deep)!important;
  border-top:3px solid var(--brand-gold)!important;
}

/* ---------- Tablet / móvil ---------- */
@media (max-width:1024px){
  .main-header-inner{
    min-height:76px!important;
  }
  .logo img{
    width:220px!important;
    max-width:62vw!important;
  }
  .menu-toggle{
    display:inline-flex!important;
    margin-left:auto!important;
    width:46px!important;height:46px!important;
    border-radius:10px!important;
    color:#fff!important;
    background:rgba(255,255,255,.10)!important;
    border:1px solid rgba(255,255,255,.18)!important;
  }
  .navigation{
    position:fixed!important;
    top:0!important;
    right:-100%!important;
    width:min(90vw,400px)!important;
    max-width:400px!important;
    height:100dvh!important;
    overflow-y:auto!important;
    margin:0!important;
    background:#fff!important;
    z-index:10000!important;
    border-left:3px solid var(--brand-gold)!important;
    transition:right .28s ease!important;
  }
  .navigation.active{right:0!important}
  .nav-list{
    display:block!important;
    padding:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }
  .nav-list>li{
    width:100%!important;
    border-bottom:1px solid var(--brand-line)!important;
  }
  .nav-list>li>a{
    width:100%!important;
    min-height:50px!important;
    justify-content:space-between!important;
    padding:0 20px!important;
    border-radius:0!important;
  }
  .navigation .sub-menu,
  .company-menu>.sub-menu,
  .company-menu .sub-sub-menu{
    position:static!important;
    width:100%!important;
    min-width:0!important;
    display:none!important;
    grid-template-columns:1fr!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#f7f8fa!important;
    padding:0!important;
  }
  .navigation li.open>.sub-menu,
  .navigation li.open>.sub-sub-menu{
    display:block!important;
  }
  .company-menu>.sub-menu>li{
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#f4f5f7!important;
  }
  .navigation .sub-menu li>a,
  .company-menu>.sub-menu>li>a{
    min-height:46px!important;
    padding:11px 22px 11px 34px!important;
    color:#344054!important;
    background:#f7f8fa!important;
    border-radius:0!important;
    font-size:.77rem!important;
    border-bottom:1px solid #e7eaf0!important;
  }
  .company-menu .sub-sub-menu li>a{
    padding-left:50px!important;
    min-height:42px!important;
    margin:0!important;
    background:#fff!important;
  }
  .mobile-menu-head{
    background:var(--brand-blue)!important;
  }
  .mobile-logo{
    width:205px!important;
    max-width:70%!important;
    filter:none!important;
  }
  .close-menu{color:#fff!important}
  .menu-overlay{z-index:9999!important}
}

@media (max-width:768px){
  .container{width:calc(100% - 22px)!important}
  .top-bar{display:none!important}
  .main-header-inner{min-height:70px!important}
  .logo img{width:185px!important;max-width:64vw!important}

  .contact-hero-section{padding:18px 0!important}
  .contact-hero-full,
  .contact-hero-full .hero-static-content{
    min-height:330px!important;
  }
  .contact-hero-full{
    border-radius:18px!important;
  }
  .contact-hero-full .hero-static-content{
    padding:28px 22px!important;
  }
  .contact-hero-full h1{
    font-size:clamp(2.6rem,14vw,4rem)!important;
  }
  .contact-hero-copy{
    font-size:.9rem!important;
    line-height:1.6!important;
  }

  .contact-page-section,
  .service-detail-section,
  .about-content-section{padding:44px 0!important}

  .footer-container{grid-template-columns:1fr!important}
}

@media (max-width:480px){
  .container{width:calc(100% - 16px)!important}
  .logo img{width:165px!important}
  .navigation{width:94vw!important}
  .contact-hero-full,
  .contact-hero-full .hero-static-content{min-height:300px!important}
  .contact-hero-full .hero-static-content{padding:24px 18px!important}
}


/* ==========================================================
   NOSOTROS + FOOTER WEBMAIL — AJUSTE FINAL
   ========================================================== */

/* Nosotros: hero limpio, sin menú lateral */
.about-hero-section{
  padding:42px 0 34px!important;
  background:linear-gradient(180deg,#fff,#f7f8fa)!important;
}
.about-hero-section .container{
  display:block!important;
}
.about-hero-full{
  width:100%!important;
  max-width:none!important;
  min-height:390px!important;
  position:relative!important;
  border-radius:26px!important;
  overflow:hidden!important;
  background-position:center!important;
  background-size:cover!important;
  box-shadow:var(--brand-shadow)!important;
}
.about-hero-full .hero-static-overlay{
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(3,19,49,.92) 0%,rgba(8,43,103,.80) 48%,rgba(8,43,103,.28) 100%)!important;
}
.about-hero-full .hero-static-content{
  position:relative!important;
  z-index:2!important;
  min-height:390px!important;
  max-width:760px!important;
  padding:55px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
}
.about-hero-kicker{
  color:var(--brand-gold)!important;
  font-size:.75rem!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.16em!important;
  margin-bottom:10px!important;
}
.about-hero-full h1{
  margin:0 0 18px!important;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(3rem,7vw,5.6rem)!important;
  line-height:.95!important;
  letter-spacing:-.035em!important;
}
.about-hero-copy{
  max-width:650px!important;
  margin:0 0 20px!important;
  color:rgba(255,255,255,.84)!important;
  font-size:1rem!important;
  line-height:1.75!important;
}
.about-hero-full .breadcrumbs,
.about-hero-full .breadcrumbs a{
  color:rgba(255,255,255,.72)!important;
}
.about-hero-full .breadcrumbs .current{
  color:var(--brand-gold)!important;
}

/* Footer: reemplazo de redes por acceso a correo GoDaddy */
.footer-webmail{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:12px!important;
}
.footer-webmail-title{
  margin:0!important;
  color:rgba(255,255,255,.72)!important;
  font-size:.78rem!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-weight:700!important;
}
.webmail-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:46px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.18)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:700!important;
  font-size:.82rem!important;
  transition:.2s ease!important;
}
.webmail-link i{
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  border-radius:50%!important;
  background:var(--brand-gold)!important;
  color:var(--brand-blue-deep)!important;
}
.webmail-link span{
  color:#fff!important;
}
.webmail-link:hover{
  transform:translateY(-2px)!important;
  background:rgba(255,255,255,.13)!important;
  border-color:rgba(244,197,21,.55)!important;
}

/* eliminar cualquier resto visual de redes */
.social-links{
  display:none!important;
}

@media(max-width:768px){
  .about-hero-section{padding:18px 0!important}
  .about-hero-full,
  .about-hero-full .hero-static-content{
    min-height:330px!important;
  }
  .about-hero-full{
    border-radius:18px!important;
  }
  .about-hero-full .hero-static-content{
    padding:28px 22px!important;
  }
  .about-hero-full h1{
    font-size:clamp(2.6rem,14vw,4rem)!important;
  }
  .about-hero-copy{
    font-size:.9rem!important;
    line-height:1.6!important;
  }
  .footer-webmail{
    align-items:flex-start!important;
  }
}

@media(max-width:480px){
  .about-hero-full,
  .about-hero-full .hero-static-content{
    min-height:300px!important;
  }
  .about-hero-full .hero-static-content{
    padding:24px 18px!important;
  }
  .webmail-link{
    width:100%!important;
    justify-content:flex-start!important;
  }
}
