:root{
  --bg:#0b1220; --fg:#e6f3f7; --muted:#9fb4bb;
  --accent:#0ea5b7; --link:#22d3ee; --card:rgba(255,255,255,.05);
}

/* ===== RESET & BASE ===== */
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--fg);font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;line-height:1.6}
a{color:var(--link);text-decoration:none} 
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.container{max-width:1100px;margin:0 auto;padding:0 20px}

/* ===== HEADER ===== */
.site-header{
  position:sticky; top:0; background:rgba(1,9,18,.8);
  backdrop-filter:blur(8px); border-bottom:1px solid rgba(255,255,255,.06);
  z-index:3000;
}
.site-header .container{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 20px; gap:12px;
}
.brand{display:flex; align-items:center; gap:10px; min-width:0; flex:1}
.brand img{height:40px;width:auto}
.logo-text{font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#22d3ee}
@media (max-width:420px){ .logo-text{max-width:55vw} }

.menu-toggle{
  display:none; background:transparent; border:1px solid rgba(255,255,255,.25);
  color:#e6f3f7; padding:8px 12px; border-radius:10px; font-size:20px; cursor:pointer;
  flex-shrink:0; margin-left:auto;
}

/* ===== NAV ===== */
.main-nav .nav-list{list-style:none; display:flex; align-items:center; gap:14px}
.main-nav a{display:inline-block; padding:10px 8px}
.has-dropdown{position:relative}
.has-dropdown> a::after{content:"▾"; margin-left:6px; font-size:.85em; opacity:.7}

/* “Puente” para que no se cierre al bajar el cursor */
.has-dropdown::after{content:""; position:absolute; left:0; right:0; top:100%; height:10px}

/* Dropdown */
.dropdown{
  position:absolute; top:calc(100% - 1px); left:0; min-width:320px;
  padding:8px 0; background:rgba(3,12,20,.96); border:1px solid rgba(255,255,255,.08);
  border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.35); display:none; z-index:4000;
}
.dropdown a{display:block; padding:10px 16px; white-space:nowrap}
.dropdown a:hover{background:rgba(255,255,255,.06)}
.has-dropdown:hover>.dropdown, .has-dropdown:focus-within>.dropdown{display:block !important}

/* ===== HERO ===== */
.hero-impact.refined{
  position:relative; height:100vh; color:#fff; overflow:hidden;
  display:flex; align-items:center; justify-content:flex-start;
}
.hero-impact.refined .hero-landing__bg{position:absolute; inset:0; overflow:hidden}
.hero-impact.refined .hero-landing__bg img{
  width:100%; height:100%; object-fit:cover; filter:brightness(0.75); transform:scale(1.05);
}
.hero-impact.refined .hero-gradient{
  position:absolute; left:0; top:0; bottom:0; width:55%;
  background:linear-gradient(to right, rgba(5,12,20,.9), rgba(5,12,20,0));
}
.hero-impact.refined .hero-landing__content{
  position:absolute; left:10%; top:58%; transform:translateY(-40%);
  text-align:left; max-width:650px; z-index:2;
}
.hero-impact.refined h1{
  font-size:clamp(28px,4vw,46px); line-height:1.25; font-weight:800; margin-bottom:16px;
}
.hero-impact.refined p{color:#cfe9f1; font-size:1.1rem; margin-bottom:28px}

/* ===== BOTONES ===== */
.btn-primary{
  display:inline-block; background:#0891b2; color:#fff; font-weight:700;
  padding:12px 22px; border-radius:10px; margin:0 8px 10px 0; transition:all .3s ease;
}
.btn-primary:hover{background:#06b6d4; transform:translateY(-2px); box-shadow:0 4px 10px rgba(0,0,0,.3)}
.btn-primary.alt{background:#0ea5b7}
.btn-primary.alt:hover{background:#22d3ee}

/* ===== SECCIONES / CARDS / FOOTER ===== */
.cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px}
.card{background:var(--card); border:1px solid rgba(255,255,255,.06); border-radius:16px; padding:18px}
.section{padding:56px 0; border-top:1px solid rgba(255,255,255,.06)}
.site-footer{padding:36px 0; border-top:1px solid rgba(255,255,255,.06); color:var(--muted); text-align:center}

/* ===== FORM ===== */
form label{display:block; margin:.6rem 0 .2rem}
.field{width:100%; padding:10px; border-radius:10px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); color:#fff}
form .row{display:grid; gap:12px; grid-template-columns:1fr 1fr}

/* ===== RESPONSIVE ===== */
@media (max-width:900px){
  .main-nav .nav-list{gap:8px}
  .has-dropdown.open .dropdown{display:block}
  form .row{grid-template-columns:1fr}
}
@media (max-width:860px){
  .menu-toggle{display:block}
  .main-nav{
    position:fixed; inset:64px 0 auto 0; background:rgba(3,12,20,.98);
    border-top:1px solid rgba(255,255,255,.08); display:none; z-index:1200;
  }
  .main-nav.open{display:block}
  .main-nav .nav-list{flex-direction:column; align-items:flex-start; gap:0; padding:8px 12px}
  .main-nav a{width:100%; padding:12px 10px}
  .has-dropdown .dropdown{position:static; display:none; margin:0; padding:6px 0; background:transparent; border:0; box-shadow:none}
  .has-dropdown.open .dropdown{display:block}
}
@media (max-width:768px){
  .hero-impact.refined .hero-landing__content{
    position:relative; left:auto; top:auto; transform:none;
    text-align:center; max-width:680px; padding:0 20px; margin:0 auto;
  }
}

/* ===== ANIMACIONES ===== */
@keyframes fadeUp{to{opacity:1; transform:translateY(0)}}
@keyframes zoomSlow{from{transform:scale(1.05)} to{transform:scale(1.1)}}

/* ===== FAB WHATSAPP DEFINITIVO ===== */
#whatsapp-fab {
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  background: #25D366;
  border-radius: 50%;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  text-decoration: none;
  z-index: 2147483647;
  transition: transform 0.2s ease-in-out;
  pointer-events: auto;
}
#whatsapp-fab:hover { transform: translateY(-3px); }
#whatsapp-fab:active { transform: translateY(0); }
#whatsapp-fab svg {
  width: 28px !important;
  height: 28px !important;
  display: block;
  fill: #fff !important;
}

/* ===== FIXES CHAT ANTIGUO / OVERLAYS ===== */
.hero-landing__bg,
.hero-gradient { pointer-events: none !important; }

[class*="chat"], [id*="chat"],
[class*="crisp"], [id*="crisp"],
[class*="tawk"], [id*="tawk"],
[class*="intercom"], [id*="intercom"],
[class*="zopim"], [id*="zopim"]{
  pointer-events: none !important;
}

.dropdown { z-index: 5000 !important; }
