:root{
  --bg:#0b1220;
  --panel:#0f1a2e;
  --text:#eaf0ff;
  --muted:#b9c4e4;
  --card:#111f3a;
  --border:rgba(255,255,255,.12);
  --accent:#2f7ddc;   /* azul */
  --accent2:#61b83b;  /* verde */
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --radius: 16px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  background: radial-gradient(1200px 600px at 10% 10%, #13264b 0%, var(--bg) 55%);
  color:var(--text);
  line-height:1.5;
}

a{color:inherit}
.container{max-width:1120px;margin:0 auto;padding:0 18px}
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;}
.skip-link:focus{left:18px;top:18px;width:auto;height:auto;background:#fff;color:#000;padding:10px;border-radius:10px;z-index:999}

.site-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter: blur(10px);
  background: rgba(11,18,32,.72);
  border-bottom:1px solid var(--border);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:14px;}

.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:40px;width:auto;display:block}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-size:1.05rem}
.brand-text small{color:var(--muted);margin-top:3px}

.site-nav{display:flex;align-items:center;gap:14px}
.site-nav a{text-decoration:none;color:var(--muted);padding:10px 10px;border-radius:12px}
.site-nav a:hover{color:var(--text);background:rgba(255,255,255,.06)}

.btn{
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  color:#07101f !important;
  font-weight:800;
  padding:10px 14px;border-radius:14px;text-decoration:none;
  box-shadow: var(--shadow);
  display:inline-flex;align-items:center;gap:8px;
}
.btn-outline{
  border:1px solid var(--border);
  color:var(--text);
  padding:10px 14px;border-radius:14px;text-decoration:none;
  background: rgba(255,255,255,.04);
}
.nav-toggle{
  display:none;
  border:1px solid var(--border);
  background: rgba(255,255,255,.04);
  color:var(--text);
  padding:10px 12px;border-radius:14px;
}

.hero{padding:54px 0 26px}
.hero-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:22px;
  align-items:stretch;
}
h1{font-size:clamp(30px,4vw,46px);line-height:1.1;margin:0 0 10px}
.lead{color:var(--muted);font-size:1.08rem;margin:0 0 18px;max-width:58ch}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.trust-row{display:flex;gap:10px;flex-wrap:wrap}
.pill{border:1px solid var(--border);padding:8px 10px;border-radius:999px;color:var(--muted);background:rgba(255,255,255,.03)}

.hero-card{
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.hero-card-inner{padding:18px}
.kicker{margin:0 0 10px;color:var(--muted);text-transform:uppercase;font-size:.85rem;letter-spacing:.08em}
.checklist{margin:0;padding-left:18px;color:var(--text)}
.checklist li{margin:8px 0}
.small{font-size:.9rem}
.muted{color:var(--muted)}

.section{padding:46px 0}
.section.alt{background: rgba(255,255,255,.03);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
h2{font-size:clamp(22px,3vw,30px);margin:0 0 10px}
.cards{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
  margin-top:18px;
}
.card{
  background: rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding:16px;
}
.card h3{margin:0 0 8px}
.card p{margin:0 0 10px;color:var(--muted)}
.text-link{color:var(--text);font-weight:700;text-decoration:none}
.text-link:hover{text-decoration:underline}

.steps{
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap:12px;
  margin-top:16px;
}
.step{
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  border-radius: var(--radius);
  padding:14px;
}
.step span{
  display:inline-grid;place-items:center;
  width:34px;height:34px;border-radius:12px;
  background: rgba(255,255,255,.08);
  margin-bottom:10px;
  font-weight:800;
}
.step p{margin:8px 0 0;color:var(--muted)}

.callout{
  margin-top:18px;
  display:flex;gap:14px;align-items:center;justify-content:space-between;
  border:1px solid var(--border);
  background: linear-gradient(135deg, rgba(47,125,220,.16), rgba(97,184,59,.10));
  border-radius: var(--radius);
  padding:16px;
}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form{
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  border-radius: var(--radius);
  padding:16px;
}
label{display:block;font-weight:700;margin-top:10px}
input, textarea{
  width:100%;
  margin-top:6px;
  border-radius:12px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  color:var(--text);
  padding:10px 12px;
  font: inherit;
}
textarea{min-height:140px;resize:vertical}
.form .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

.site-footer{padding:30px 0}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap:14px;
  border-top:1px solid var(--border);
  padding-top:20px;
}
.footer-bottom{padding-top:14px;border-top:1px solid var(--border);margin-top:14px}

.badge{
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  padding:10px 12px;border-radius:999px;
}

@media (max-width: 980px){
  .hero-grid{grid-template-columns: 1fr}
  .cards{grid-template-columns: repeat(2, 1fr)}
  .steps{grid-template-columns: repeat(2, 1fr)}
  .callout{flex-direction:column;align-items:flex-start}
  .grid-2{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .nav-toggle{display:inline-flex}
  .site-nav{
    position:absolute;right:18px;top:76px;
    flex-direction:column;align-items:stretch;
    background: rgba(11,18,32,.96);
    border:1px solid var(--border);
    border-radius: var(--radius);
    padding:10px;
    display:none;
    min-width: 240px;
  }
  .site-nav.is-open{display:flex}
  .cards{grid-template-columns: 1fr}
}


/* === Enhancements: hero logo + solution images === */
.hero-logo-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.hero-logo{max-width:520px;width:100%;height:auto;filter: drop-shadow(0 10px 24px rgba(0,0,0,.35));}
.slogan{
  font-size: clamp(18px, 2.2vw, 28px);
  font-weight: 800;
  letter-spacing: .02em;
  margin: 6px 0 0;
  color: var(--text);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .9s ease, transform .9s ease;
}
.slogan.is-visible{opacity:1; transform: translateY(0);}
.card-media{
  width:100%;
  height:160px;
  object-fit:contain;
  border-radius: 14px;
  border:1px solid var(--border);
  margin-bottom:12px;
}
@media (max-width: 980px){
  .hero-logo-wrap{align-items:flex-start}
  .hero-logo{max-width:420px}
}

#play-voice{cursor:pointer;}


/* Brand logo only */
.brand picture, .brand img { display:block; height:44px; width:auto; }
@media (max-width: 640px){ .brand picture, .brand img { height:38px; }}

/* ===== INTRO FULLSCREEN ===== */
.intro{
  position: relative;
  min-height: 92vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding: 72px 18px 54px;
}
.intro-bg{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 460px at 50% 35%, rgba(47,125,220,.35) 0%, rgba(11,18,32,0) 60%),
    radial-gradient(900px 460px at 60% 60%, rgba(97,184,59,.18) 0%, rgba(11,18,32,0) 65%);
  pointer-events:none;
}
.intro-center{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 14px;
  max-width: 900px;
}
.hero-logo{
  max-width: 720px;
  width: 100%;
  height: auto;
  opacity: 0;
  transform: translateY(10px) scale(.94);
  filter: drop-shadow(0 14px 30px rgba(0,0,0,.38));
  transition: opacity 1.15s ease, transform 1.15s ease;
}
.hero-logo.logo-in{ opacity:1; transform: translateY(0) scale(1); }

.hero-slogan{
  margin: 18px 0 0;
  font-size: clamp(18px, 2.2vw, 28px);
  font-weight: 650;
  letter-spacing: .05em;
  color: var(--text);
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 1.0s ease, transform 1.0s ease;
}
.hero-slogan.slogan-in{ opacity:1; transform: translateY(0); }

.intro-actions{
  margin-top: 18px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
}

@media (max-width: 768px){ .hero-logo{ max-width: 520px; } }

/* Music toggle */
.music-toggle{
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 999;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(11,18,32,.55);
  backdrop-filter: blur(8px);
  color: #eaf0ff;
  border-radius: 14px;
  padding: 10px 12px;
  cursor: pointer;
}
.music-toggle:hover{ background: rgba(255,255,255,.08); }


/* ===== LANDING COMMERCIAL ===== */
.landing-impact,
.landing-problem,
.landing-solution,
.landing-close { padding: 80px 20px; }

.landing-impact { background: #0f1a2e; text-align: center; }
.landing-impact h2 { font-size: 34px; margin-bottom: 20px; }

.lead { max-width: 800px; margin: 0 auto 30px; font-size: 18px; line-height: 1.6; }

.impact-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 30px; }

.landing-problem { background: #ffffff; color: #111; }
.landing-problem h2 { text-align: center; margin-bottom: 20px; }
.landing-problem ul { max-width: 600px; margin: 0 auto 20px; }
.highlight { text-align: center; font-weight: bold; font-size: 18px; }

.landing-solution { background: #f4f6f9; color: #111; }
.landing-solution h2 { text-align: center; margin-bottom: 20px; }
.landing-solution ol { max-width: 600px; margin: 0 auto; }

.landing-close { background: #0f1a2e; text-align: center; }
.landing-close h2 { margin-bottom: 30px; }
.btn.large { padding: 16px 32px; font-size: 18px; }

/* ===== Misión / Visión / Filosofía / Valores (Nosotros) ===== */
.mvfv{ padding: 80px 20px; background: #ffffff; color: #111; }
.mvfv h2{ margin-top: 28px; color: #0f1a2e; }
.mvfv p{ max-width: 900px; line-height: 1.75; }
.mvfv-list{ max-width: 900px; line-height: 1.75; padding-left: 18px; }
.mvfv-list li{ margin: 10px 0; }
.mvfv-slogan{ margin-top: 18px; text-align: center; font-size: 22px; }
.mvfv-slogan em{ font-style: italic; color: #2f7d3c; font-weight: 600; }

/* ===== QUIENES SOMOS PREMIUM ===== */

.quienes-premium{
  padding:100px 20px;
  background:linear-gradient(180deg,#f5f7fa 0%, #ffffff 100%);
}

.qp-header{
  text-align:center;
  max-width:900px;
  margin:0 auto 60px;
}

.qp-header h1{
  font-size:38px;
  margin-bottom:15px;
  color:#0f1a2e;
}

.qp-intro{
  font-size:18px;
  line-height:1.7;
  color:#333;
}

.qp-slogan{
  margin-top:25px;
  font-size:28px;
  text-align:center;
}

.qp-slogan em{
  font-style:italic;
  color:#2f7d3c;
  font-weight:600;
}

.qp-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:25px;
}

.qp-card{
  background:#ffffff;
  border-radius:18px;
  padding:30px;
  box-shadow:0 20px 50px rgba(0,0,0,0.08);
  transition:all .3s ease;
}

.qp-card:hover{
  transform:translateY(-5px);
  box-shadow:0 30px 60px rgba(0,0,0,0.12);
}

.qp-card h3{
  margin-bottom:15px;
  color:#0f1a2e;
}


/* ===== FIX VISIBILIDAD TEXTOS QUIENES SOMOS ===== */

.qp-card{
  background:#ffffff !important;
  border:1px solid rgba(0,0,0,0.08);
}

.qp-card p{
  color:#1a1a1a !important;
  font-size:16px;
  line-height:1.8;
}

.qp-card h3{
  color:#0f1a2e !important;
  font-weight:700;
}

.quienes-premium{
  background:#f4f6f9 !important;
}



/* ===== BOTÓN HOME ===== */

.btn-home{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 14px;
    border-radius:20px;
    background:#0f1a2e;
    color:#ffffff;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    margin-right:15px;
    transition:all .3s ease;
}

.btn-home:hover{
    background:#2f7d3c;
}

.home-icon{
    font-size:16px;
}



/* ===== RESUMEN PREMIUM QUIENES SOMOS ===== */

.resumen-premium{
    margin-top:40px;
    padding:40px;
    background:#ffffff;
    border-radius:18px;
    box-shadow:0 20px 50px rgba(0,0,0,0.08);
}

.resumen-premium h3{
    margin-bottom:20px;
    color:#0f1a2e;
    font-size:22px;
}

.resumen-premium p{
    line-height:1.8;
    color:#1a1a1a;
    margin-bottom:15px;
}

.resumen-slogan{
    text-align:center;
    font-size:24px;
}

.resumen-slogan em{
    font-style:italic;
    color:#2f7d3c;
    font-weight:600;
}



/* ===== SLOGAN CENTRADO RESUMEN EJECUTIVO ===== */

.resumen-slogan-centrado{
    text-align:center;
    font-size:26px;
    margin-top:25px;
}

.resumen-slogan-centrado em{
    font-style:italic;
    color:#2f7d3c;
    font-weight:600;
}



/* ===== Foto institucional en Home (solo área superior) ===== */
.intro{ position: relative; overflow: hidden; }
.intro-foto{
  position: absolute;
  top: 90px;
  left: 6%;
  width: min(420px, 40vw);
  max-width: 420px;
  z-index: 1;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}
.intro-foto img{
  display:block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Mantener el logo centrado por encima */
.intro-center{ position: relative; z-index: 2; }

@media (max-width: 980px){
  .intro-foto{
    position: relative;
    top: auto; left: auto;
    width: min(560px, 92vw);
    margin: 0 auto 18px;
    box-shadow: 0 14px 34px rgba(0,0,0,.14);
  }
}


/* ===== Ajuste logo a la derecha (Home) ===== */
/* Reservamos espacio para la foto a la izquierda y alineamos el logo a la derecha */
@media (min-width: 981px){
  .intro{
    padding-left: calc(18px + min(420px, 40vw) + 36px);
    padding-right: 6%;
  }
  .intro-center{
    width: 100%;
    align-items: flex-end;
    text-align: right;
  }
  .intro-actions{
    justify-content: flex-end;
  }
  .hero-logo{
    max-width: 620px;
  }
}

/* Home-only: hide header brand/logo */
.home .brand{display:none !important;}

/* ===== Intro white (Home) ===== */
.home .intro-white{
  background:#ffffff;
  color:#0f1a2e;
}
.home .intro-white .intro-bg{ display:none !important; }
.home .intro-white .hero-slogan,
.home .intro-white h1,
.home .intro-white h2,
.home .intro-white p{ color:#0f1a2e; }
.home .intro-white .hero-slogan em,
.home .intro-white .hero-slogan,
.home .intro-white .slogan-principal,
.home .intro-white .slogan-destacado{
  color:#2f7d3c !important;
  font-style: italic !important;
}
/* Buttons on white */
.home .intro-white .btn,
.home .intro-white a.btn{
  background:#0f1a2e !important;
  color:#ffffff !important;
  border:1px solid rgba(15,26,46,.18);
}
.home .intro-white .btn:hover,
.home .intro-white a.btn:hover{
  background:#2f7d3c !important;
  color:#ffffff !important;
}
/* Nav links on white */
.home header a{ color:#0f1a2e; }

/* ===== Home nav buttons unified ===== */
.home .site-nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 16px;
  border-radius:14px;
  background:#0f1a2e;
  color:#ffffff !important;
  font-weight:600;
  text-decoration:none;
  margin-left:8px;
  transition:all .3s ease;
}

.home .site-nav a:hover{
  background:#2f7d3c;
  color:#ffffff !important;
}

/* Remove default link styling */
.home .site-nav a:not(.btn){
  border:none;
}

/* ===== Logo limpio Home ===== */
.home .hero-logo,
.home .intro-center img,
.home .brand img{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

.home .intro-center{
  background:transparent !important;
}


/* ===== Eliminar cualquier recuadro en Home (logo + slogan) ===== */

.home .intro,
.home .intro-white,
.home .intro-center,
.home .premium-cta,
.home .institutional-block{
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    backdrop-filter: none !important;
}

.home .intro-center *{
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}



/* ===== FIX: Mantener fondo blanco en Home (solo área superior) ===== */
.home .intro-white{
  background:#ffffff !important;
  color:#0f1a2e;
}

/* Quitar cualquier recuadro/panel alrededor del logo/slogan/botón en Home */
.home .intro-white .intro-center,
.home .intro-white .institutional-block,
.home .intro-white .premium-cta,
.home .intro-white .cta-center{
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  margin-top: 18px;
}

/* Asegurar logo y slogan sin marco */
.home .intro-white .hero-logo{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Slogan siempre verde institucional en cursiva */
.home .intro-white .hero-slogan em,
.home .intro-white .hero-slogan{
  color:#2f7d3c !important;
  font-style: italic !important;
  background: transparent !important;
}

/* Botón visible sobre blanco */
.home .intro-white a.btn,
.home .intro-white .btn{
  background:#0f1a2e !important;
  color:#ffffff !important;
  border-radius:14px;
}
.home .intro-white a.btn:hover,
.home .intro-white .btn:hover{
  background:#2f7d3c !important;
  color:#ffffff !important;
}


/* ===== ELIMINAR TOTALMENTE CUALQUIER RECUADRO / SOMBRA (HOME) ===== */

.home .intro,
.home .intro-white,
.home .intro-center,
.home .institutional-block,
.home .premium-cta,
.home .cta-center,
.home .hero-logo,
.home .hero-slogan{
    background: #ffffff !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
}

/* Quitar sombras internas si existieran */
.home .intro-center *{
    box-shadow: none !important;
    border: none !important;
}

/* Asegurar slogan limpio */
.home .hero-slogan,
.home .hero-slogan em{
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    font-style: italic !important;
    color: #2f7d3c !important;
}



/* ===== Limpieza estructural Home: logo y slogan sin recuadros ===== */
.home .intro-white{
  background:#ffffff !important;
  color:#0f1a2e;
}
.home .intro-white .intro-center{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}
.home .intro-white .hero-logo{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  outline:none !important;
  border-radius:0 !important;
  display:block;
  margin:0 auto;
}
.home .intro-white .hero-slogan{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  margin-top:18px;
}
.home .intro-white .hero-slogan em{
  font-style: italic !important;
  color:#2f7d3c !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

/* Asegurar que la foto no afecte el layout inferior (flotante superior izq) */
.home .intro-white{ position:relative; overflow:hidden; padding-top:110px; }
.home .intro-white .intro-foto{
  position:absolute;
  top:24px;
  left:6%;
  width:min(420px, 40vw);
  max-width:420px;
  border:none !important;
  box-shadow:none !important;
  background:transparent !important;
}
.home .intro-white .intro-foto img{
  width:100%;
  height:auto;
  display:block;
  border-radius:6px;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:none !important;
}
@media (max-width: 980px){
  .home .intro-white{ padding-top:40px; }
  .home .intro-white .intro-foto{
    position:relative;
    top:auto; left:auto;
    width:min(560px, 92vw);
    margin:0 auto 18px;
  }
}


/* ===== Destacar botón Agendar asesoría (Home) ===== */

.home .intro-white .btn-outline{
  background:#2f7d3c !important;
  color:#ffffff !important;
  border:2px solid #2f7d3c !important;
  font-weight:600;
  border-radius:14px;
  padding:10px 18px;
}

.home .intro-white .btn-outline:hover{
  background:#256732 !important;
  border-color:#256732 !important;
  color:#ffffff !important;
}



/* ===== Botón Soluciones dentro de recuadros ===== */
.btn-soluciones{
  margin-top:14px;
  display:inline-block;
  background:#0f1a2e;
  color:#ffffff !important;
  border-radius:14px;
  padding:10px 16px;
  font-weight:600;
  text-decoration:none;
}
.btn-soluciones:hover{
  background:#2f7d3c;
  color:#ffffff !important;
}



/* ===== Botón Ver más en sección Soluciones ===== */
.btn-ver-mas{
  display:inline-block;
  margin-top:12px;
  padding:8px 16px;
  border-radius:14px;
  background:#2f7d3c;
  color:#ffffff !important;
  font-weight:600;
  text-decoration:none;
}
.btn-ver-mas:hover{
  background:#256732;
  color:#ffffff !important;
}



/* ===== Ver más (Soluciones) ===== */
.soluciones .btn-ver-mas{
  display:inline-block;
  margin-top:12px;
  padding:8px 16px;
  border-radius:14px;
  background:#2f7d3c;
  color:#ffffff !important;
  font-weight:600;
  text-decoration:none;
}
.soluciones .btn-ver-mas:hover{
  background:#256732;
  color:#ffffff !important;
}


/* ===== Botón Google Maps ===== */
.btn-maps{
  display:inline-block;
  margin-top:15px;
  padding:10px 20px;
  border-radius:18px;
  background:#2f7d3c;
  color:#ffffff !important;
  font-weight:600;
  text-decoration:none;
  transition:all .3s ease;
}
.btn-maps:hover{
  background:#256732;
  color:#ffffff !important;
}



/* ===== BOTÓN MAPS VISIBLE FORZADO ===== */
.maps-visible-block{
  margin-top:20px;
  text-align:center;
}

.btn-maps-visible{
  display:inline-block !important;
  background:#2f7d3c !important;
  color:#ffffff !important;
  padding:12px 24px !important;
  border-radius:22px !important;
  font-size:16px !important;
  font-weight:700 !important;
  text-decoration:none !important;
  box-shadow:0 6px 18px rgba(0,0,0,0.15) !important;
}

.btn-maps-visible:hover{
  background:#256732 !important;
  color:#ffffff !important;
}


.btn-maps-visible{display:inline-block !important;}


/* ===== Seguro de Vida page ===== */
.page{ padding-top: 10px; }
.page-hero{
  padding: 70px 20px 40px;
  background: #ffffff;
}
.page-hero h1{ color:#0f1a2e; margin:0 0 10px; }
.page-subtitle{ max-width: 900px; line-height:1.7; color:#1a1a1a; }
.seguro-vida .hero-slogan em{
  font-style: italic;
  color:#2f7d3c;
  font-weight:600;
}
.vida-content{ padding: 40px 20px 70px; background: #f5f7fa; }
.vida-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.vida-card{
  background:#ffffff;
  border:1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 18px 45px rgba(0,0,0,.07);
}
.vida-card h2{ margin:0 0 12px; color:#0f1a2e; }
.vida-card ul{ margin:0; padding-left: 18px; line-height:1.8; color:#1a1a1a; }
.vida-cta{ margin-top: 18px; }
.btn-info{
  background:#2f7d3c !important;
  color:#ffffff !important;
}
.btn-info:hover{ background:#256732 !important; color:#ffffff !important; }
.vida-footer{ padding: 50px 20px; background:#ffffff; }
.vida-footer .muted{ color: rgba(15,26,46,.72); line-height:1.7; }

@media (max-width: 980px){
  .vida-grid{ grid-template-columns: 1fr; }
}

.gmm-hero{background:linear-gradient(135deg,#0f1a2e,#2f7d3c);color:#fff;padding:80px 20px;text-align:center;}
.gmm-hero h1{font-size:42px;margin:0 0 10px;}
.gmm-sub{opacity:.9;font-size:18px;}
.gmm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;padding:50px 20px;}
.stat-card{background:#fff;border-radius:16px;padding:30px 20px;text-align:center;box-shadow:0 20px 40px rgba(0,0,0,.08);}
.stat-card strong{display:block;font-size:28px;color:#2f7d3c;margin-bottom:8px;}
.stat-card span{font-size:14px;color:#444;}
.gmm-costs{background:#f4f7fa;padding:60px 20px;}
.gmm-costs h2{text-align:center;margin-bottom:40px;color:#0f1a2e;}
.cost-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;}
.cost-item{background:#fff;padding:20px;border-radius:14px;border-left:5px solid #2f7d3c;box-shadow:0 10px 25px rgba(0,0,0,.05);}
.cost-item span{display:block;font-size:14px;color:#555;}
.cost-item strong{font-size:18px;color:#0f1a2e;}
.gmm-cta{padding:70px 20px;text-align:center;background:#ffffff;}

/* ===== Fuentes (GMM) ===== */
.gmm-fuentes{
  background:#ffffff;
  padding:40px 20px 70px;
}
.gmm-fuentes h2{
  text-align:center;
  margin:0 0 18px;
  color:#0f1a2e;
}
.gmm-fuentes ul{
  max-width:720px;
  margin:0 auto;
  padding-left:20px;
  line-height:1.8;
  color:#1a1a1a;
}

.stat-card small{
  display:block;
  margin-top:8px;
  font-size:11px;
  color:#777;
}


/* ===== Fuentes hover (GMM) ===== */
.stat-card{ position:relative; overflow:hidden; }

.src-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:999px;
  background:rgba(47,125,60,.12);
  color:#2f7d3c;
  font-weight:700;
  font-size:13px;
  margin-top:10px;
}

.src-tooltip{
  position:absolute;
  left:50%;
  bottom:16px;
  transform:translate(-50%, 8px);
  background:#0f1a2e;
  color:#ffffff;
  padding:8px 10px;
  border-radius:10px;
  font-size:12px;
  line-height:1.3;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}

.stat-card:hover .src-tooltip,
.stat-card:focus-within .src-tooltip{
  opacity:1;
  transform:translate(-50%, 0);
}



/* ===== Fuentes visibles destacadas (GMM) ===== */
.src-visible{
  margin-top:10px;
  font-size:12px;
  font-weight:700;
  color:#2f7d3c;
  background:rgba(47,125,60,.08);
  padding:6px 8px;
  border-radius:8px;
  display:inline-block;
}



/* ===== Recuadro Premium GMM ===== */
.gmm-premium-box{
  margin:60px auto 40px;
  padding:40px 30px;
  border-radius:20px;
  background:linear-gradient(135deg,#0f1a2e,#1b2b45);
  color:#ffffff;
  box-shadow:0 25px 60px rgba(0,0,0,.25);
}
.gmm-premium-box h3{
  text-align:center;
  margin-bottom:30px;
  font-size:24px;
}
.premium-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:30px;
}
.gmm-premium-box h4{
  margin-bottom:12px;
  color:#2f7d3c;
}
.gmm-premium-box ul{
  padding-left:18px;
  line-height:1.8;
}
.premium-note{
  margin-top:25px;
  text-align:center;
  font-style:italic;
  opacity:.9;
}



/* ===== Premium Elevado ===== */
.gmm-premium-box{
  position:relative;
  overflow:hidden;
}

.gmm-premium-box::before{
  content:'';
  position:absolute;
  top:-50%;
  right:-50%;
  width:400px;
  height:400px;
  background:radial-gradient(circle,rgba(47,125,60,.15),transparent 70%);
  transform:rotate(25deg);
}

.fade-up{
  opacity:0;
  transform:translateY(40px);
  animation:fadeUp 1s ease forwards;
}

@keyframes fadeUp{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.gmm-premium-box ul li{
  position:relative;
  padding-left:10px;
}

.gmm-premium-box ul li::marker{
  color:#2f7d3c;
}



/* ===== Ajuste recuadro premium: más pegado y verde institucional ===== */
.gmm-premium-box{
  margin-top: 25px !important;   /* antes 60px */
  background: #2f7d3c !important;
  color: #ffffff !important;
}

.gmm-premium-box h3{
  color:#ffffff !important;
}

.gmm-premium-box h4{
  color:#0f1a2e !important; /* contraste alto sobre verde */
  background: rgba(255,255,255,.18);
  padding:10px 12px;
  border-radius:12px;
  display:inline-block;
}

.gmm-premium-box ul li{
  color:#ffffff !important;
}

.premium-note{
  color: rgba(255,255,255,.92) !important;
}

.gmm-premium-box::before{
  background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%) !important;
}



/* ===== Cambio a azul institucional ===== */
.gmm-premium-box{
  background:#0f1a2e !important; /* azul institucional */
  color:#ffffff !important;
}

.gmm-premium-box h4{
  color:#ffffff !important;
  background:rgba(255,255,255,.12) !important;
}



/* ===== Azul exacto institucional del logo ===== */
.gmm-premium-box{
  background:#003366 !important; /* azul corporativo del logo */
  color:#ffffff !important;
}

.gmm-premium-box h3,
.gmm-premium-box h4{
  color:#ffffff !important;
}

.gmm-premium-box h4{
  background:rgba(255,255,255,.10) !important;
}



/* ===== Socios Comerciales - Estilo A ===== */
.socios-section{
  padding:70px 20px;
  background:#ffffff;
  text-align:center;
}

.socios-title{
  font-size:28px;
  margin-bottom:40px;
  color:#003366;
}

.socios-carousel{
  overflow:hidden;
  position:relative;
}

.socios-track{
  display:flex;
  gap:60px;
  animation:scrollSocios 30s linear infinite;
}

.socio-item{
  flex:0 0 auto;
  font-size:22px;
  font-weight:700;
  color:#003366;
  opacity:.85;
  transition:all .3s ease;
}

.socio-item:hover{
  opacity:1;
  transform:scale(1.1);
}

@keyframes scrollSocios{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}



/* ===== Socios Comerciales - Más Corporativo ===== */
.socios-section{
  padding:35px 20px 50px !important;
  margin-top:-20px; /* más pegado a la imagen */
  background:#f4f6f9; /* gris institucional sobrio */
  border-top:1px solid rgba(0,0,0,.05);
}

.socios-title{
  font-size:22px;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#003366;
  margin-bottom:25px;
}

.socios-track{
  gap:80px !important;
  animation:scrollSocios 40s linear infinite; /* más elegante y lento */
}

.socio-item{
  font-size:20px;
  font-weight:600;
  opacity:.75;
}

.socio-item:hover{
  opacity:1;
  transform:scale(1.08);
}



/* ===== Socios totalmente pegado al hero ===== */
.socios-section{
  margin-top:-40px !important;
  padding-top:20px !important;
  border-top:none !important;
}

.hero,
.hero-section{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}



/* ===== Corrección definitiva Socios ===== */

/* eliminar cualquier espacio del hero */
.hero, .hero-section, .hero img{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

/* pegar completamente sin margen */
.socios-section{
  margin:0 !important;
  padding:15px 0 35px !important;
  background:#ffffff !important;
}

/* asegurar visibilidad del título */
.socios-title{
  display:block !important;
  font-size:20px !important;
  color:#003366 !important;
  margin:10px 0 20px !important;
  opacity:1 !important;
}



/* ===== Socios: overlay dentro del hero SIN mover logo/slogan/botones ===== */
.home .intro-white{ position:relative; padding-bottom:120px; } /* espacio para el carrusel */
.socios-overlay{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:0;
  margin:0;
  pointer-events:auto;
}

/* Estilo corporativo dentro del hero */
.socios-overlay .socios-section{
  background: rgba(15,26,46,.78) !important; /* azul oscuro translúcido */
  backdrop-filter: blur(6px);
  padding:18px 0 20px !important;
  margin:0 !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
}

.socios-overlay .socios-title{
  display:block !important;
  margin:0 0 12px !important;
  font-size:14px !important;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:#ffffff !important;
  opacity:1 !important;
}

.socios-overlay .socios-carousel{ overflow:hidden; }
.socios-overlay .socios-track{
  animation:scrollSocios 36s linear infinite;
  gap:70px !important;
}

.socios-overlay .socio-item{
  color:#ffffff !important;
  opacity:.9;
  font-size:18px;
  font-weight:600;
}
.socios-overlay .socio-item:hover{ opacity:1; transform:scale(1.06); }

@media (max-width: 980px){
  .home .intro-white{ padding-bottom:150px; }
  .socios-overlay .socios-section{ padding:14px 0 18px !important; }
  .socios-overlay .socio-item{ font-size:16px; }
}



/* ===== GMM formato similar a Seguro de Vida ===== */
.gmm-format .hero-slogan em{
  font-style:italic;
  color:#2f7d3c;
  font-weight:600;
}

.gmm-content{ padding: 40px 20px 70px; background:#f5f7fa; }
.gmm-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:22px;
}

.gmm-card{
  background:#ffffff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  padding:28px;
  box-shadow:0 18px 45px rgba(0,0,0,.07);
}

.gmm-card h2{
  margin:0 0 14px;
  color:#0f1a2e;
}

.gmm-list{
  margin:0;
  padding-left:18px;
  line-height:1.85;
  color:#1a1a1a;
}

.gmm-list li{ margin-bottom:10px; }
.gmm-list strong{ color:#0f1a2e; }

/* fuentes visibles (reusamos clase) */
.gmm-format .src-visible{
  margin-left:8px;
  font-size:11px;
  font-weight:700;
  color:#2f7d3c;
  background:rgba(47,125,60,.08);
  padding:4px 8px;
  border-radius:999px;
  display:inline-block;
  vertical-align:middle;
}

/* Lista de costos */
.gmm-costs-list{
  list-style:none;
  padding:0;
  margin:0;
}
.gmm-costs-list li{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid rgba(0,0,0,.06);
  color:#1a1a1a;
}
.gmm-costs-list li:last-child{ border-bottom:none; }
.gmm-costs-list span{ color:#1a1a1a; }
.gmm-costs-list strong{ color:#0f1a2e; white-space:nowrap; }

/* Planes */
.gmm-plans{
  grid-column: 1 / -1;
  background:#003366; /* azul del logo */
  color:#ffffff;
  border:none;
}
.gmm-plans h2{ color:#ffffff; }
.plans-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:22px;
  margin-top:10px;
}
.plan-col h3{
  margin:10px 0 10px;
  font-size:16px;
  color:#ffffff;
  background:rgba(255,255,255,.10);
  padding:10px 12px;
  border-radius:12px;
  display:inline-block;
}
.plan-col ul{
  margin:0;
  padding-left:18px;
  line-height:1.85;
}
.gmm-plans .premium-note{
  margin-top:18px;
  text-align:center;
  font-style:italic;
  opacity:.92;
}

@media (max-width: 980px){
  .gmm-grid{ grid-template-columns: 1fr; }
  .plans-grid{ grid-template-columns: 1fr; }
}



/* ===== GMM Hero con imagen lateral ===== */

.gmm-hero-split .hero-split-container{
  display:grid;
  grid-template-columns: 1.2fr 1fr;
  align-items:center;
  gap:40px;
}

.gmm-hero-split .hero-text{
  padding-right:10px;
}

.gmm-hero-split .hero-image img{
  width:100%;
  border-radius:18px;
  box-shadow:0 25px 60px rgba(0,0,0,.18);
}

@media (max-width: 980px){
  .gmm-hero-split .hero-split-container{
    grid-template-columns:1fr;
  }
  .gmm-hero-split .hero-image{
    margin-top:25px;
  }
}



/* ===== BLOQUE HOME DIAGONAL CORPORATIVO ===== */
.home-alegre-block{
  position: relative;
  background: #f7fafc;
  padding: 50px 0;
  overflow: hidden;
}

/* Línea diagonal corporativa */
.home-alegre-block::before{
  content: "";
  position: absolute;
  top: -120px;
  right: -200px;
  width: 600px;
  height: 600px;
  background: linear-gradient(
    135deg,
    rgba(0,51,102,0.08),
    rgba(47,125,60,0.10)
  );
  transform: rotate(25deg);
  border-radius: 60px;
  z-index: 0;
}

/* Asegura que el contenido esté encima */
.home-alegre-block .container{
  position: relative;
  z-index: 1;
}


/* ===== CORRECCIÓN DEFINITIVA FONDO BLOQUE HOME ===== */

/* Aplica directamente al bloque que contiene la frase */
section:has(h2), section:has(h3){
}

/* Forzamos fondo en bloque específico por estructura visual */
.home .container h2:contains("Una decisión técnica hoy evita un problema financiero mañana"){
}

/* Aplicación directa por clase estructural existente */
.home .section-decision,
.home .decision-block,
.home-alegre-block{
  background: linear-gradient(
    135deg,
    #e3f0ff 0%,
    #eaf7ef 100%
  ) !important;
  padding:60px 0 !important;
  position:relative;
}

.home .section-decision::before,
.home .decision-block::before,
.home-alegre-block::before{
  content:"";
  position:absolute;
  top:-150px;
  right:-250px;
  width:700px;
  height:700px;
  background:linear-gradient(
    135deg,
    rgba(0,51,102,0.12),
    rgba(47,125,60,0.15)
  );
  transform:rotate(25deg);
  border-radius:80px;
  z-index:0;
}

.home .section-decision > *,
.home .decision-block > *,
.home-alegre-block > *{
  position:relative;
  z-index:1;
}



/* ===== LANDING-CLOSE DIAGONAL CORPORATIVO (Home) ===== */
.landing-close{
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #e3f0ff 0%, #eaf7ef 100%) !important;
  padding: 70px 20px !important;
}

.landing-close::before{
  content: "";
  position: absolute;
  top: -140px;
  right: -220px;
  width: 720px;
  height: 720px;
  background: linear-gradient(135deg, rgba(0,51,102,0.14), rgba(47,125,60,0.16));
  transform: rotate(25deg);
  border-radius: 90px;
  z-index: 0;
}

.landing-close .container{
  position: relative;
  z-index: 1;
}

.landing-close h2{
  color:#003366 !important;
}

.landing-close .btn.large{
  background:#2f7d3c !important;
  color:#ffffff !important;
}
.landing-close .btn.large:hover{
  background:#256732 !important;
}



/* ===== HOME DIAGONAL BG (Secciones) ===== */
.home-diagonal-bg{
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #e3f0ff 0%, #eaf7ef 100%) !important;
}

.home-diagonal-bg::before{
  content: "";
  position: absolute;
  top: -140px;
  right: -220px;
  width: 720px;
  height: 720px;
  background: linear-gradient(135deg, rgba(0,51,102,0.12), rgba(47,125,60,0.14));
  transform: rotate(25deg);
  border-radius: 90px;
  z-index: 0;
}

.home-diagonal-bg .container{
  position: relative;
  z-index: 1;
}

/* Ajuste de títulos para contraste */
.home-diagonal-bg h2{
  color:#003366;
}



/* ===== Mejora de contraste en secciones con fondo diagonal ===== */
.home-diagonal-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(255,255,255,.55); /* velo para legibilidad */
  z-index:0;
}

/* Mantener contenedor y contenido encima del velo */
.home-diagonal-bg .container{ position:relative; z-index:2; }

/* Textos */
.home-diagonal-bg h2,
.home-diagonal-bg h3{
  color:#0f1a2e !important;
  text-shadow:0 1px 0 rgba(255,255,255,.6);
}

.home-diagonal-bg p,
.home-diagonal-bg li,
.home-diagonal-bg .muted,
.home-diagonal-bg .subtitle{
  color:#0f1a2e !important;
}

/* Tarjetas/recuadros dentro de estas secciones */
.home-diagonal-bg .card,
.home-diagonal-bg .feature,
.home-diagonal-bg .box,
.home-diagonal-bg .solution-card,
.home-diagonal-bg .process-step{
  background: rgba(255,255,255,.92) !important;
  border:1px solid rgba(0,0,0,.06) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.08) !important;
}

/* Botones dentro del bloque */
.home-diagonal-bg a.btn,
.home-diagonal-bg .btn{
  box-shadow:0 14px 30px rgba(0,0,0,.12);
}



/* ===== Seguro de Vida Hero con imagen de fondo ===== */
.vida-hero-bg{
  background: linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.45)),
              url('../img/vida-hero-real.jpg') center/cover no-repeat;
  color:#ffffff;
  padding:120px 20px;
}

.vida-hero-bg h1,
.vida-hero-bg p,
.vida-hero-bg .page-subtitle{
  color:#ffffff !important;
}



/* ===== Ajuste para que la imagen no se vea cortada ===== */
.vida-hero-bg{
  min-height: 520px;
  display:flex;
  align-items:center;
  background-position: center bottom; /* enfoca figuras */
  background-size: cover;
}

@media (min-width:1400px){
  .vida-hero-bg{
    min-height: 650px;
  }
}



/* ===== GMM Hero con imagen de fondo ===== */
.gmm-hero-bg{
  background: linear-gradient(rgba(0,0,0,.50), rgba(0,0,0,.50)),
              url('../img/gmm-hero.jpg') center/cover no-repeat;
  color:#ffffff;
  padding:120px 20px;
  min-height:520px;
  display:flex;
  align-items:center;
}

.gmm-hero-bg h1,
.gmm-hero-bg p,
.gmm-hero-bg .page-subtitle{
  color:#ffffff !important;
}



/* ===== HEADER HOMOGENEIZADO GMM ===== */
.gmm-hero-bg + * {
  margin-top: 0;
}

.site-header{
  background:#ffffff;
  border-bottom:1px solid rgba(0,0,0,.06);
}

.site-header .nav-cta{
  background:#2f7d3c;
  color:#ffffff !important;
}



/* ===== HEADER ESTILO BANCA PRIVADA ===== */

.site-header{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  background: rgba(255,255,255,0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,0.3);
  transition: all .3s ease;
}

body{
  padding-top: 90px;
}

.site-header .site-nav a{
  font-weight:500;
  letter-spacing:.3px;
}

.site-header .nav-cta{
  background:#003366;
  color:#ffffff !important;
  border-radius:30px;
  padding:10px 22px;
  transition:all .3s ease;
}

.site-header .nav-cta:hover{
  background:#00264d;
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(0,0,0,.15);
}



/* ===== HOMOGENEIZACIÓN TOTAL HEADER (Todas las secciones) ===== */

.site-header{
  position: fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  background: rgba(255,255,255,0.75) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

.site-header .brand img{
  height:52px;
}

.site-header .site-nav a{
  font-weight:500;
  color:#0f1a2e;
}

.site-header .nav-cta{
  background:#003366 !important;
  color:#ffffff !important;
  border-radius:30px;
  padding:10px 22px;
}

body{
  padding-top: 90px;
}



/* ===== FORZAR CINTA EXACTA COMO HOME EN TODAS LAS PÁGINAS ===== */
.site-header{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 1000 !important;
  background: rgba(255,255,255,0.75) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(0,0,0,0.05) !important;
  box-shadow: none !important;
}

.site-header .brand img{
  height: 52px !important;
  width: auto !important;
}

.site-header .site-nav a{
  color: #0f1a2e !important;
  font-weight: 500 !important;
  letter-spacing: .3px !important;
}

.site-header .site-nav a:hover{
  color: #003366 !important;
}

.site-header .nav-cta{
  background: #003366 !important;
  color: #ffffff !important;
  border-radius: 30px !important;
  padding: 10px 22px !important;
}

body{
  padding-top: 90px !important;
}


/* ===== CINTA DE NAVEGACIÓN VISIBLE + ELEGANTE (TODAS LAS PÁGINAS) ===== */
.site-header{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;

  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;

  z-index:9999 !important;

  background: rgba(255,255,255,0.92) !important; /* más visible */
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;

  border-bottom: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.10) !important; /* elegante y visible */
}

.header-inner{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.site-header .brand img{
  height:54px !important;
  width:auto !important;
  display:block;
}

.site-header .site-nav{
  display:flex !important;
  align-items:center;
  gap:14px;
}

.site-header .site-nav a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:16px;
  text-decoration:none;
  color:#0f1a2e !important;
  font-weight:600 !important;
}

.site-header .site-nav a:hover{
  background: rgba(0,51,102,0.06);
}

.site-header .nav-cta{
  background:#003366 !important;
  color:#ffffff !important;
  border-radius:999px !important;
  padding:10px 18px !important;
  box-shadow: 0 12px 26px rgba(0,0,0,0.14);
}

.site-header .nav-cta:hover{
  background:#00264d !important;
}

/* espacio superior para no tapar contenido */
body{
  padding-top: 90px !important;
}

/* asegurar que el hero no tape al header por z-index */
.page-hero, .intro, .intro-white, .hero, .hero-section{
  position:relative;
  z-index:1;
}



/* ===== HEADER DEFINITIVO HOMOGÉNEO (PRIORIDAD MÁXIMA) ===== */
:root body .site-header{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:2147483647 !important;

  background: rgba(255,255,255,0.96) !important;
  backdrop-filter: blur(16px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.2) !important;

  border-bottom: 1px solid rgba(0,0,0,0.10) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,0.14) !important;

  padding: 0 !important;
  height: 84px !important;
}

:root body .site-header .header-inner{
  width: min(1180px, calc(100% - 36px)) !important;
  margin: 0 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
}

:root body .site-header .brand img{
  height:56px !important;
  width:auto !important;
}

:root body .site-header .site-nav{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}

:root body .site-header .site-nav a{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:10px 14px !important;
  border-radius:14px !important;
  text-decoration:none !important;

  color:#0f1a2e !important;
  font-weight:600 !important;
  letter-spacing:.2px !important;

  background: transparent !important;
}

:root body .site-header .site-nav a:hover{
  background: rgba(0,51,102,0.08) !important;
}

:root body .site-header .btn-home{
  border: 1px solid rgba(0,51,102,0.18) !important;
}

:root body .site-header .nav-cta{
  background:#003366 !important;
  color:#ffffff !important;
  border-radius:999px !important;
  padding:10px 18px !important;
  box-shadow: 0 12px 26px rgba(0,0,0,0.16) !important;
}

:root body .site-header .nav-cta:hover{
  background:#00264d !important;
}

/* Espacio superior global */
:root body{ padding-top: 92px !important; }

/* Evita que overlays tapen la cinta */
:root body .intro, 
:root body .intro-white, 
:root body .hero, 
:root body .hero-section,
:root body .page-hero{
  z-index:0 !important;
}



/* ===== Soluciones: fondo alegre corporativo + alto contraste ===== */
.soluciones-page{
  background:
    radial-gradient(800px 500px at 12% 18%, rgba(0,51,102,0.10), transparent 60%),
    radial-gradient(700px 450px at 88% 22%, rgba(47,125,60,0.12), transparent 60%),
    linear-gradient(135deg, #f7fbff 0%, #f4fbf7 100%) !important;
  color:#0f1a2e;
}

.soluciones-page main,
.soluciones-page .page,
.soluciones-page .section,
.soluciones-page section{
  background: transparent !important;
}

.soluciones-page h1, .soluciones-page h2, .soluciones-page h3{
  color:#0f1a2e !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.65);
}

.soluciones-page p, .soluciones-page li, .soluciones-page .muted{
  color:#1a1a1a !important;
}

/* Tarjetas en Soluciones */
.soluciones-page .card,
.soluciones-page .solution-card,
.soluciones-page .feature,
.soluciones-page .box{
  background: rgba(255,255,255,0.94) !important;
  border:1px solid rgba(0,0,0,0.08) !important;
  box-shadow: 0 18px 45px rgba(0,0,0,0.08) !important;
}

/* Sección encabezado/hero de soluciones (si existe) */
.soluciones-page .page-hero,
.soluciones-page .soluciones-hero{
  background: rgba(255,255,255,0.55) !important;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.07);
  margin-top: 18px;
}

/* Botones */
.soluciones-page .btn,
.soluciones-page a.btn{
  box-shadow: 0 14px 30px rgba(0,0,0,0.12);
}

.soluciones-page .btn-ver-mas{
  background:#003366 !important;
}
.soluciones-page .btn-ver-mas:hover{
  background:#00264d !important;
}



/* ===== SOLUCIONES FONDO PREMIUM GRADIENT ===== */

.soluciones-page{
  background:
    linear-gradient(120deg, #eef4ff 0%, #f8fbff 35%, #f4fbf7 70%, #eaf5ff 100%),
    radial-gradient(circle at 15% 20%, rgba(0,51,102,0.12), transparent 55%),
    radial-gradient(circle at 85% 25%, rgba(47,125,60,0.12), transparent 55%) !important;
  background-attachment: fixed;
}

.soluciones-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background: linear-gradient(to bottom, rgba(255,255,255,.85), rgba(255,255,255,.65));
  z-index:-1;
}

.soluciones-page .section{
  background: transparent !important;
}

.soluciones-page h1,
.soluciones-page h2,
.soluciones-page h3{
  color:#0f1a2e !important;
}

.soluciones-page .card,
.soluciones-page .solution-card{
  background: rgba(255,255,255,0.96) !important;
  border:1px solid rgba(0,0,0,0.08);
  box-shadow: 0 20px 50px rgba(0,0,0,0.10);
}



/* ===== PREMIUM GRADIENT GLOBAL (Soluciones + Nosotros) ===== */
.premium-gradient{
  background: linear-gradient(135deg,
    #f4f9ff 0%,
    #eef4ff 30%,
    #f4fbf7 65%,
    #eaf3ff 100%) !important;
  position: relative;
}

.premium-gradient::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 600px at 15% 18%, rgba(0,51,102,0.14), transparent 60%),
    radial-gradient(900px 600px at 88% 20%, rgba(47,125,60,0.12), transparent 60%);
  z-index:-1;
}

.premium-gradient main,
.premium-gradient .page,
.premium-gradient section{
  background: transparent !important;
}

.premium-gradient .card,
.premium-gradient .feature,
.premium-gradient .solution-card,
.premium-gradient .box{
  background: rgba(255,255,255,0.96) !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: 0 20px 55px rgba(0,0,0,0.10) !important;
}

.premium-gradient h1,
.premium-gradient h2,
.premium-gradient h3,
.premium-gradient p,
.premium-gradient li{
  color:#0f1a2e !important;
}



/* ===== PREMIUM WAVE GRADIENT (VISIBLE) ===== */

.premium-gradient{
  background:
    linear-gradient(180deg, #f3f8ff 0%, #ffffff 40%, #f4fbf7 100%) !important;
  position: relative;
  overflow-x:hidden;
}

/* Onda superior */
.premium-gradient::before{
  content:"";
  position:absolute;
  top:-120px;
  left:-10%;
  width:120%;
  height:300px;
  background: radial-gradient(circle at 50% 50%, rgba(0,51,102,0.18), transparent 70%);
  transform: rotate(-3deg);
  z-index:0;
}

/* Onda inferior */
.premium-gradient::after{
  content:"";
  position:absolute;
  bottom:-150px;
  right:-10%;
  width:120%;
  height:350px;
  background: radial-gradient(circle at 50% 50%, rgba(47,125,60,0.18), transparent 70%);
  transform: rotate(4deg);
  z-index:0;
}

.premium-gradient > *{
  position:relative;
  z-index:1;
}

/* Asegurar que tarjetas destaquen */
.premium-gradient .card,
.premium-gradient .solution-card,
.premium-gradient .feature,
.premium-gradient .box{
  background:#ffffff !important;
  border:1px solid rgba(0,0,0,0.06) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,0.12) !important;
}

.premium-gradient h1,
.premium-gradient h2,
.premium-gradient h3{
  color:#0f1a2e !important;
}



/* ===== MISMO DEGRADADO QUE HOME ===== */

.home-style-gradient{
  background: linear-gradient(135deg, #e3f0ff 0%, #eaf7ef 100%) !important;
  position: relative;
}

.home-style-gradient::before{
  content:"";
  position:absolute;
  top:-140px;
  right:-220px;
  width:720px;
  height:720px;
  background: linear-gradient(135deg, rgba(0,51,102,0.14), rgba(47,125,60,0.16));
  transform: rotate(25deg);
  border-radius:90px;
  z-index:0;
}

.home-style-gradient > *{
  position:relative;
  z-index:1;
}



/* ===== NOSOTROS: LOGO FONDO DE AGUA (Misión a Valores) ===== */

.nosotros-watermark .section-mision,
.nosotros-watermark .mision-vision,
.nosotros-watermark .filosofia-valores{
  position:relative;
  background:#ffffff;
  padding:80px 20px;
  overflow:hidden;
}

.nosotros-watermark .section-mision::before,
.nosotros-watermark .mision-vision::before,
.nosotros-watermark .filosofia-valores::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('../img/logo-principal.png') center/500px no-repeat;
  opacity:0.06;
  z-index:0;
}

.nosotros-watermark h2,
.nosotros-watermark h3,
.nosotros-watermark p,
.nosotros-watermark li{
  position:relative;
  z-index:1;
  color:#0f1a2e !important;
}

.nosotros-watermark .card,
.nosotros-watermark .box{
  background:rgba(255,255,255,0.96);
  box-shadow:0 20px 55px rgba(0,0,0,0.12);
}



/* ===== LOGO FONDO DE AGUA VISIBLE (NOSOTROS) ===== */

.watermark-logo-block{
  position:relative;
  background-color:#ffffff;
  background-image:url('../img/logo-principal.png');
  background-repeat:no-repeat;
  background-position:center center;
  background-size:600px;
  padding:100px 40px;
}

.watermark-logo-block::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(255,255,255,0.88);
  z-index:0;
}

.watermark-logo-block > *{
  position:relative;
  z-index:1;
}

.watermark-logo-block h2,
.watermark-logo-block h3{
  font-weight:700;
  color:#0f1a2e !important;
}

.watermark-logo-block p,
.watermark-logo-block li{
  color:#0f1a2e !important;
}



/* ===== FIX: LOGO FONDO DE AGUA (MÁS VISIBLE) ===== */
.watermark-logo-block{
  background-image:
    linear-gradient(rgba(255,255,255,0.72), rgba(255,255,255,0.72)),
    url('../img/logo-principal.png') !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: center center, center center !important;
  background-size: auto, 720px !important;
}

/* Eliminar overlay que lo tapaba */
.watermark-logo-block::before{ display:none !important; }



/* ===== NOSOTROS: LOGO COMO FONDO DE AGUA EN MVFV ===== */
.mvfv{
  position: relative;
  overflow: hidden;
  /* fondo premium + logo de agua */
  background-image:
    linear-gradient(135deg, rgba(227,240,255,0.95) 0%, rgba(234,247,239,0.95) 100%),
    url('../img/logo-principal.png');
  background-repeat: no-repeat, no-repeat;
  background-position: center center, center center;
  background-size: cover, 720px;
}

/* Hacer el logo más visible pero elegante */
.mvfv::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: url('../img/logo-principal.png');
  background-repeat:no-repeat;
  background-position:center center;
  background-size:720px;
  opacity:0.07;
  z-index:0;
  pointer-events:none;
}

/* Contenido encima */
.mvfv .container{
  position:relative;
  z-index:1;
}

/* Destacar textos */
.mvfv h2, .mvfv h3{
  color:#0f1a2e !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.7);
}
.mvfv p, .mvfv li{
  color:#0f1a2e !important;
  font-weight:500;
}

/* Recuadros dentro de MVFV (si existen) */
.mvfv .card, .mvfv .box{
  background: rgba(255,255,255,0.96) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,0.12) !important;
}



/* ===== AJUSTE LOGO FONDO DE AGUA MÁS PROTAGÓNICO ===== */

.mvfv::before{
  background-size: 900px !important;   /* más grande */
  opacity: 0.12 !important;            /* más visible pero elegante */
}



/* ===== FOOTER CINTA INSTITUCIONAL (IGUAL EN TODAS) ===== */
.site-footer{
  background:#0f1a2e !important; /* azul institucional oscuro */
  color:#ffffff !important;
  padding:34px 0 !important;
}

.site-footer .muted{
  color: rgba(255,255,255,.82) !important;
}

.site-footer a{
  color:#ffffff !important;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.22);
}

.site-footer a:hover{
  border-bottom-color: rgba(255,255,255,.55);
}

.site-footer .footer-grid{
  border-top:1px solid rgba(255,255,255,.14) !important;
  padding-top:22px !important;
  gap:18px !important;
}

.site-footer .footer-bottom{
  border-top:1px solid rgba(255,255,255,.14) !important;
  margin-top:18px !important;
  padding-top:16px !important;
}

.site-footer strong{
  color:#ffffff !important;
  letter-spacing:.3px;
}

/* Botón/Badge WhatsApp más visible en fondo oscuro */
.site-footer .badge{
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color:#ffffff !important;
}

.site-footer .badge:hover{
  background: rgba(255,255,255,.12) !important;
}



/* ===== CONTACTO FONDO AZUL CIELO ===== */

.contacto-cielo{
  background: linear-gradient(180deg, #87CEFA 0%, #bfe6ff 100%) !important;
}

.contacto-cielo section,
.contacto-cielo .section,
.contacto-cielo .page{
  background: transparent !important;
}

.contacto-cielo h1,
.contacto-cielo h2,
.contacto-cielo h3{
  color:#0f1a2e !important;
}

.contacto-cielo p,
.contacto-cielo label{
  color:#0f1a2e !important;
}

.contacto-cielo .card,
.contacto-cielo .box,
.contacto-cielo .form-container{
  background: rgba(255,255,255,0.96) !important;
  box-shadow: 0 20px 55px rgba(0,0,0,0.12) !important;
  border-radius:14px;
}



/* ===== CONTACTO AZUL CIELO EJECUTIVO + FORM DESTACADO ===== */

.contacto-cielo{
  background: linear-gradient(180deg, #5fb3f3 0%, #8fd0ff 50%, #cfeeff 100%) !important;
}

/* Contenedor del formulario más premium */
.contacto-cielo form,
.contacto-cielo .form-container{
  background: #ffffff !important;
  padding: 36px !important;
  border-radius: 18px !important;
  box-shadow: 0 25px 70px rgba(0,51,102,0.18) !important;
  border: 1px solid rgba(0,51,102,0.12) !important;
}

/* Inputs destacados */
.contacto-cielo input,
.contacto-cielo textarea,
.contacto-cielo select{
  border: 1.5px solid rgba(0,51,102,0.25) !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  background: #f7fbff !important;
  transition: all .25s ease;
}

/* Efecto focus profesional */
.contacto-cielo input:focus,
.contacto-cielo textarea:focus,
.contacto-cielo select:focus{
  outline: none !important;
  border-color: #003366 !important;
  box-shadow: 0 0 0 3px rgba(0,51,102,0.15) !important;
  background: #ffffff !important;
}

/* Botón enviar más elegante */
.contacto-cielo button,
.contacto-cielo .btn-primary{
  background: #003366 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 12px 26px !important;
  box-shadow: 0 14px 30px rgba(0,0,0,0.18) !important;
}

.contacto-cielo button:hover,
.contacto-cielo .btn-primary:hover{
  background: #00264d !important;
}



/* ===== CONTACTO: ALTA GAMA ASEGURADORA ===== */
.contacto-cielo{
  background:
    radial-gradient(900px 520px at 18% 18%, rgba(255,255,255,0.55), transparent 62%),
    radial-gradient(900px 520px at 86% 22%, rgba(255,255,255,0.35), transparent 62%),
    linear-gradient(135deg, #2f88d8 0%, #74c3ff 45%, #d7f1ff 100%) !important;
  background-attachment: fixed;
}

/* Panel tipo "glass" */
.contacto-cielo form{
  background: rgba(255,255,255,0.68) !important;
  backdrop-filter: blur(16px) saturate(1.15) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
  border: 1px solid rgba(255,255,255,0.55) !important;
  box-shadow:
    0 30px 85px rgba(0,51,102,0.22),
    inset 0 1px 0 rgba(255,255,255,0.65) !important;
}

/* Labels refinados */
.contacto-cielo form label{
  display:block;
  font-weight:700;
  color:#0f1a2e !important;
  letter-spacing:.2px;
  margin-bottom:14px;
}
.contacto-cielo form label input,
.contacto-cielo form label textarea,
.contacto-cielo form label select{
  margin-top:8px;
  width:100%;
}

/* Inputs alta gama con iconos */
.contacto-cielo form input,
.contacto-cielo form textarea,
.contacto-cielo form select{
  background-color: rgba(247,251,255,0.92) !important;
  border: 1.6px solid rgba(0,51,102,0.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.85);
  padding-left: 46px !important;
  background-repeat:no-repeat !important;
  background-position: 14px 50% !important;
  background-size: 18px 18px !important;
}
.contacto-cielo form input[name="Nombre"]{
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%3E%3Cpath%20d=%22M12%2012a4%204%200%201%200-4-4%204%204%200%200%200%204%204Z%22%20stroke=%22#003366%22%20stroke-width=%222%22/%3E%3Cpath%20d=%22M4%2020c1.6-4%2014.4-4%2016%200%22%20stroke=%22#003366%22%20stroke-width=%222%22%20stroke-linecap=%22round%22/%3E%3C/svg%3E') !important;
}
.contacto-cielo form input[name="Telefono"]{
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%3E%3Cpath%20d=%22M7%204h3l1%205-2%201c1%203%203%205%206%206l1-2%205%201v3c0%201-1%202-2%202C10%2020%204%2014%204%206c0-1%201-2%203-2Z%22%20stroke=%22#003366%22%20stroke-width=%222%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E') !important;
}
.contacto-cielo form input[type="email"][name="Correo"]{
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%3E%3Cpath%20d=%22M4%206h16v12H4V6Z%22%20stroke=%22#003366%22%20stroke-width=%222%22%20/%3E%3Cpath%20d=%22m4%207%208%206%208-6%22%20stroke=%22#003366%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E') !important;
}
.contacto-cielo form textarea[name="Mensaje"]{
  background-image: url('data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%3E%3Cpath%20d=%22M4%205h16v11H7l-3%203V5Z%22%20stroke=%22#003366%22%20stroke-width=%222%22%20stroke-linejoin=%22round%22/%3E%3C/svg%3E') !important;
  background-position: 14px 16px !important;
  padding-top: 14px !important;
}

/* Focus más premium */
.contacto-cielo form input:focus,
.contacto-cielo form textarea:focus,
.contacto-cielo form select:focus{
  border-color: rgba(0,51,102,0.65) !important;
  box-shadow:
    0 0 0 4px rgba(0,51,102,0.16),
    inset 0 1px 0 rgba(255,255,255,0.9) !important;
}

/* Botones estilo banca privada */
.contacto-cielo form .row{
  gap:12px;
}
.contacto-cielo form .btn{
  background: linear-gradient(135deg, #003366 0%, #00264d 100%) !important;
  color:#fff !important;
  border:none !important;
  border-radius:999px !important;
  padding:12px 24px !important;
  box-shadow: 0 16px 34px rgba(0,0,0,0.20) !important;
}
.contacto-cielo form .btn:hover{
  transform: translateY(-1px);
}
.contacto-cielo form .btn-outline{
  background: rgba(255,255,255,0.55) !important;
  border: 1px solid rgba(0,51,102,0.22) !important;
  color:#003366 !important;
  border-radius:999px !important;
  padding:12px 20px !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.contacto-cielo form .btn-outline:hover{
  background: rgba(255,255,255,0.72) !important;
}



/* ===== CINTA CARRUSEL (TICKER) SLOGAN ===== */
.slogan-ticker{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 34px;
  z-index: 2147483647;
  background: linear-gradient(90deg, rgba(0,51,102,0.95), rgba(0,38,77,0.95));
  border-bottom: 1px solid rgba(255,255,255,0.15);
  overflow: hidden;
}

.slogan-ticker .ticker-track{
  display:flex;
  align-items:center;
  height:34px;
  white-space: nowrap;
  will-change: transform;
  animation: tickerMove 18s linear infinite;
}

.slogan-ticker .ticker-item{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 0 26px;
  color: rgba(255,255,255,0.92);
  font-weight: 600;
  letter-spacing: .3px;
}

.slogan-ticker .ticker-item em{
  color: #2f7d3c; /* verde institucional */
  font-style: italic;
  font-weight: 700;
}

.slogan-ticker .dot{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,0.55);
}

@keyframes tickerMove{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

/* Empujar header hacia abajo (porque ya hay cinta arriba) */
:root body .site-header{
  top: 34px !important;
}

/* Ajuste del padding del body (cinta + header) */
:root body{
  padding-top: 126px !important; /* 34px ticker + 84px header + margen */
}

@media (max-width: 640px){
  .slogan-ticker{ height: 30px; }
  .slogan-ticker .ticker-track{ height: 30px; }
  :root body .site-header{ top: 30px !important; }
  :root body{ padding-top: 118px !important; }
}



/* ===== HOME: mejorar visibilidad de recuadros después de "Un proceso claro, sin complicaciones" ===== */

/* Sección Proceso (id=proceso) y siguiente sección: elevar contraste */
#proceso{
  position: relative;
}

#proceso .card,
#proceso .feature,
#proceso .box,
#proceso .process-step{
  background: rgba(255,255,255,0.96) !important;
  border: 1px solid rgba(0,0,0,0.10) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,0.12) !important;
  transform: translateZ(0);
}

#proceso .card h3,
#proceso .feature h3,
#proceso .box h3,
#proceso .process-step h3{
  color:#003366 !important;
  font-weight: 800 !important;
  letter-spacing: .2px;
  margin-bottom: 10px;
}

#proceso .card p,
#proceso .feature p,
#proceso .box p,
#proceso .process-step p{
  color:#0f1a2e !important;
}

/* Sección inmediatamente posterior al proceso: también mejorar */
#proceso + section .card,
#proceso + section .feature,
#proceso + section .box{
  background: rgba(255,255,255,0.96) !important;
  border: 1px solid rgba(0,0,0,0.10) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,0.12) !important;
}

#proceso + section h3{
  color:#003366 !important;
  font-weight: 800 !important;
}



/* ===== FIX REAL: HOME Proceso (steps/step) ===== */
#proceso .steps{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap:16px;
  margin-top: 18px;
}

#proceso .step{
  background: rgba(255,255,255,0.96) !important;
  border: 1px solid rgba(0,0,0,0.10) !important;
  border-radius: 16px;
  padding: 18px 16px;
  box-shadow: 0 22px 60px rgba(0,0,0,0.12) !important;
}

#proceso .step span{
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background: rgba(0,51,102,0.10);
  color:#003366;
  font-weight:800;
  margin-bottom:10px;
}

#proceso .step strong{
  display:block;
  color:#003366 !important;
  font-weight: 900 !important;
  letter-spacing:.2px;
  margin-bottom: 8px;
  font-size: 1.02rem;
}

#proceso .step p{
  margin:0;
  color:#0f1a2e !important;
  font-weight:500;
}





/* ===== Restaurar estilo original para Diagnóstico sin costo ===== */
#proceso .callout{
  background: inherit !important;  /* vuelve al fondo previo */
  border: none !important;
  box-shadow: none !important;
}

#proceso .callout h3{
  color:#003366 !important;
  font-weight:800 !important;
}



/* ===== Diagnóstico sin costo - degradado azul verde tenue (como v123) ===== */

#proceso .callout{
  background: linear-gradient(135deg, 
              rgba(227,240,255,0.95) 0%, 
              rgba(234,247,239,0.95) 100%) !important;
  border: 1px solid rgba(0,51,102,0.08) !important;
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(0,0,0,0.10) !important;
  padding: 22px 24px;
}

#proceso .callout h3{
  color:#003366 !important;
  font-weight:900 !important;
}

#proceso .callout p{
  color:#0f1a2e !important;
}



/* ===== GMM IMPACTO COMERCIAL DESTACADO ===== */

.gmm-impact-highlight{
  position: relative;
  padding: 70px 24px;
  background: linear-gradient(135deg, #003366 0%, #1f6fb2 50%, #2f7d3c 100%);
  border-radius: 22px;
  margin: 40px 0;
  box-shadow: 0 30px 80px rgba(0,0,0,0.25);
}

.gmm-impact-highlight h2,
.gmm-impact-highlight h3{
  color:#ffffff !important;
  font-weight:900 !important;
  font-size:1.8rem;
  letter-spacing:.4px;
}

.gmm-impact-highlight p{
  color:rgba(255,255,255,0.95) !important;
  font-size:1.08rem;
  font-weight:500;
}

.gmm-impact-highlight strong{
  color:#ffffff !important;
  font-weight:900 !important;
}

.gmm-impact-highlight .btn{
  background:#ffffff !important;
  color:#003366 !important;
  font-weight:800 !important;
  border-radius:999px !important;
  padding:12px 28px !important;
  box-shadow: 0 16px 35px rgba(0,0,0,0.25);
}

.gmm-impact-highlight .btn:hover{
  background:#f1f1f1 !important;
}



/* ===== GMM: BLOQUE PREVIO A BOTÓN INFORMACIÓN (IMPACTO COMERCIAL) ===== */
.gmm-impact{
  background: linear-gradient(135deg, #003366 0%, #1f6fb2 50%, #2f7d3c 100%) !important;
  border-radius: 22px;
  margin: 40px 0;
  box-shadow: 0 30px 80px rgba(0,0,0,0.25);
  padding: 56px 20px !important;
  position: relative;
  overflow: hidden;
}

.gmm-impact::before{
  content:"";
  position:absolute;
  top:-220px;
  right:-260px;
  width:720px;
  height:720px;
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.18), transparent 60%);
  transform: rotate(20deg);
  z-index:0;
}

.gmm-impact .container{
  position:relative;
  z-index:1;
  text-align:center;
}

.gmm-impact .muted{
  color: rgba(255,255,255,0.96) !important;
  font-size: 1.15rem;
  line-height: 1.7;
  font-weight: 600;
  max-width: 980px;
  margin: 0 auto 18px;
}

.gmm-impact .cta-center .btn{
  background:#ffffff !important;
  color:#003366 !important;
  font-weight: 900 !important;
  letter-spacing: .3px;
  border-radius: 999px !important;
  padding: 12px 30px !important;
  box-shadow: 0 16px 35px rgba(0,0,0,0.25);
  text-transform: uppercase;
}

.gmm-impact .cta-center .btn:hover{
  background:#f1f1f1 !important;
}



/* ===== GMM IMPACTO - TEXTO MÁS GRANDE Y CONTUNDENTE ===== */
.gmm-impact .muted{
  font-size: 1.35rem !important;
  line-height: 1.8 !important;
  font-weight: 700 !important;
}

@media (min-width: 992px){
  .gmm-impact .muted{
    font-size: 1.6rem !important;
  }
}



/* ===== Autos y Camiones (subpágina premium) ===== */
.autos-hero{
  padding: 84px 0 46px;
}
.autos-hero-inner{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
}
.autos-hero-copy{
  max-width: 860px;
}
.autos-hero h1{
  color:#003366;
  font-weight: 950;
  letter-spacing: .6px;
  margin: 0 0 10px;
}
.autos-hero .lead{
  font-size: 1.1rem;
  color:#0f1a2e;
  margin: 0 0 18px;
}
.autos-hero .cta-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom: 10px;
}
.autos-hero .slogan-line em{
  color:#2f7d3c;
  font-style: italic;
  font-weight: 700;
}

.autos-section{
  padding: 34px 0 56px;
}
.section-head{
  margin-bottom: 16px;
}
.section-head h2{
  color:#003366;
  font-weight: 900;
  margin: 0 0 6px;
}
.section-head .muted{
  color:#0f1a2e;
}

.premium-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  margin-top: 18px;
}
.premium-card{
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 18px;
  padding: 18px 18px 16px;
  box-shadow: 0 22px 60px rgba(0,0,0,0.10);
  transition: transform .18s ease, box-shadow .18s ease;
}
.premium-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 28px 70px rgba(0,0,0,0.14);
}
.premium-card .card-icon{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(0,51,102,0.08);
  color:#003366;
  margin-bottom: 10px;
}
.premium-card .card-icon svg{
  width: 22px;
  height: 22px;
}
.premium-card h3{
  margin: 0 0 8px;
  color:#003366;
  font-weight: 900;
  letter-spacing: .2px;
}
.premium-card p{
  margin: 0;
  color:#0f1a2e;
  font-weight: 500;
  line-height: 1.55;
}

.autos-cta{
  margin-top: 24px;
}
.autos-cta-box{
  background: linear-gradient(135deg, rgba(227,240,255,0.95) 0%, rgba(234,247,239,0.95) 100%);
  border: 1px solid rgba(0,51,102,0.08);
  border-radius: 22px;
  padding: 22px 22px;
  box-shadow: 0 18px 50px rgba(0,0,0,0.10);
  text-align:center;
}
.autos-cta-box h3{
  margin: 0 0 8px;
  color:#003366;
  font-weight: 900;
}
.autos-cta-box p{
  margin: 0 0 14px;
  color:#0f1a2e;
}



/* ===== Subpágina Autos/Camiones - carrusel infografía ===== */
.autos-hero--infografia{
  padding-top: 92px;
}


/* Mantener coherencia también en Autos y Motos */




/* ===== FORZAR COLORES INSTITUCIONALES (LOGO/SLOGAN) ===== */
:root{
  --estrategias-blue: rgb(0, 51, 116);
  --estrategias-green: rgb(80, 143, 67);
}

/* Slogan siempre verde institucional en cursiva */
em, .slogan, .slogan-line em, .ticker-item em{
  color: var(--estrategias-green) !important;
  font-style: italic !important;
}

/* Evitar que algún filtro afecte logos */
img.logo, .brand img, .brand-link img, .site-header img, .site-footer img{
  filter: none !important;
}

/* Botones/elementos azul institucional */
.site-header, .nav-cta, .btn-primary{
  /* no forzamos fondo aquí para no romper, solo aseguramos color de acento donde aplique */
}


/* ===== Carrusel Premium (4 láminas) ===== */
.autos-section--carousel{
  padding: 86px 0 62px;
}

.premium-carousel{
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 30px 85px rgba(0,0,0,0.18);
}

.premium-carousel .carousel-track{
  display: flex;
  width: 100%;
  transition: transform .35s ease;
}

.premium-carousel .carousel-slide{
  min-width: 100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background: transparent;
}

.premium-carousel .carousel-slide img{
  width: 100%;
  height: auto;
  display:block;
}

/* Flechas visibles en ambos lados */
.premium-carousel .carousel-btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  border-radius: 999px;
  border: 1px solid rgba(0,51,102,0.20);
  background: rgba(255,255,255,0.92);
  color: #003366;
  font-size: 34px;
  font-weight: 900;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 18px 45px rgba(0,0,0,0.18);
  cursor:pointer;
  z-index: 6;
}

.premium-carousel .carousel-btn.prev{ left: 14px; }
.premium-carousel .carousel-btn.next{ right: 14px; }

.premium-carousel .carousel-btn:hover{
  background: #ffffff;
  box-shadow: 0 22px 55px rgba(0,0,0,0.22);
}

/* Dots */
.premium-carousel .carousel-dots{
  position:absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  display:flex;
  gap:8px;
  z-index: 6;
}

.premium-carousel .carousel-dots .dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,51,102,0.35);
  background: rgba(255,255,255,0.72);
  cursor:pointer;
}

.premium-carousel .carousel-dots .dot.active{
  background: rgba(0,51,102,0.88);
  border-color: rgba(0,51,102,0.88);
}

@media (max-width: 640px){
  .premium-carousel .carousel-btn{
    width: 46px;
    height: 46px;
    font-size: 30px;
  }
  .premium-carousel .carousel-btn.prev{ left: 10px; }
  .premium-carousel .carousel-btn.next{ right: 10px; }
}



/* ===== Daños Hogar (subpágina) ===== */
.hogar-page{
  min-height: 100vh;
}
.hogar-hero{
  padding: 84px 0 22px;
  text-align: center;
}
.hogar-hero h1{
  color:#003366;
  font-weight: 950;
  letter-spacing: .6px;
  margin: 0 0 10px;
}
.hogar-hero .lead{
  max-width: 980px;
  margin: 0 auto 10px;
  color:#0f1a2e;
  font-weight: 550;
  line-height: 1.75;
}
.hogar-hero .slogan-line em{
  color:#2f7d3c;
  font-style: italic;
  font-weight: 800;
}

.hogar-regletas{
  padding: 18px 0 18px;
}
.regleta-block{
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(0,0,0,0.07);
  border-radius: 22px;
  box-shadow: 0 18px 55px rgba(0,0,0,0.10);
  padding: 20px 18px;
  margin: 16px 0;
}
.regleta-block h2{
  margin: 0 0 12px;
  color:#003366;
  font-weight: 900;
  letter-spacing:.2px;
}
.regleta-grid{
  display:grid;
  gap: 12px;
}
.regleta-grid.two{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.regleta-grid.three{ grid-template-columns: repeat(3, minmax(0,1fr)); }

.regleta-card{
  background: linear-gradient(135deg, rgba(227,240,255,0.95) 0%, rgba(234,247,239,0.95) 100%);
  border: 1px solid rgba(0,51,102,0.10);
  border-radius: 18px;
  padding: 14px 12px;
  text-align:center;
  color:#003366;
  font-weight: 900;
  box-shadow: 0 14px 40px rgba(0,0,0,0.08);
}

.hogar-beneficios{
  padding: 18px 0 26px;
}
.beneficios-wrap{
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 18px;
  align-items: stretch;
}
.beneficios-copy{
  background: rgba(255,255,255,0.84);
  border: 1px solid rgba(0,0,0,0.07);
  border-radius: 26px;
  box-shadow: 0 22px 70px rgba(0,0,0,0.12);
  padding: 22px 22px;
}
.beneficios-copy h2{
  margin: 0 0 14px;
  color:#003366;
  font-weight: 950;
}
.beneficios-columns{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.beneficios-col h3{
  margin: 0 0 8px;
  color:#003366;
  font-weight: 900;
}
.beneficios-col ul{
  margin: 0;
  padding-left: 18px;
  color:#0f1a2e;
  font-weight: 550;
  line-height: 1.75;
}
.beneficios-image .img-frame{
  height: 100%;
  background: rgba(255,255,255,0.84);
  border: 1px solid rgba(0,0,0,0.07);
  border-radius: 26px;
  box-shadow: 0 22px 70px rgba(0,0,0,0.12);
  overflow:hidden;
}
.beneficios-image img{
  width:100%;
  height:auto;
  object-fit: cover;
  display:block;
}
.cta-inline{
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.hogar-asistencias{
  padding: 10px 0 62px;
}
.hogar-asistencias h2{
  text-align:center;
  color:#003366;
  font-weight: 950;
  margin: 0 0 14px;
}
.asistencias-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
}
.as-card{
  background: rgba(255,255,255,0.84);
  border: 1px solid rgba(0,0,0,0.07);
  border-radius: 22px;
  box-shadow: 0 18px 55px rgba(0,0,0,0.10);
  padding: 16px 16px;
}
.as-card h3{
  margin: 0 0 8px;
  color:#003366;
  font-weight: 900;
}
.as-card p{
  margin: 0;
  color:#0f1a2e;
  font-weight: 550;
  line-height: 1.6;
}
.as-card .note{
  opacity: .85;
  font-weight: 600;
}

.hogar-close{
  margin-top: 18px;
  text-align:center;
  background: linear-gradient(135deg, rgba(227,240,255,0.95) 0%, rgba(234,247,239,0.95) 100%);
  border: 1px solid rgba(0,51,102,0.10);
  border-radius: 26px;
  box-shadow: 0 22px 70px rgba(0,0,0,0.12);
  padding: 18px 16px;
}
.hogar-close strong{
  color:#003366;
  font-weight: 950;
}
.hogar-close .muted{
  margin: 8px 0 12px;
}

/* responsive */
@media (max-width: 920px){
  .beneficios-wrap{ grid-template-columns: 1fr; }
  .beneficios-columns{ grid-template-columns: 1fr; }
  .regleta-grid.two{ grid-template-columns: 1fr; }
  .regleta-grid.three{ grid-template-columns: 1fr; }
}



/* ===== Carrusel Casa Habitación (Subpágina) ===== */
.hogar-carrusel{
  padding: 18px 0 10px;
}
.carousel{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 20px 70px rgba(0,0,0,0.12);
}
.carousel-viewport{
  overflow: hidden;
}
.carousel-track{
  display: flex;
  transform: translateX(0%);
  transition: transform 420ms ease;
  will-change: transform;
}
.carousel-slide{
  min-width: 100%;
  display: grid;
  place-items: center;
  background: #fff;
}
.carousel-slide img{
  width: 100%;
  height: auto;
  display: block;
}
.carousel-btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.55);
  background: rgba(0,51,102,0.78);
  color: #fff;
  font-size: 22px;
  font-weight: 900;
  cursor: pointer;
  display: grid;
  place-items: center;
  z-index: 5;
  box-shadow: 0 14px 40px rgba(0,0,0,0.25);
}
.carousel-btn:hover{
  background: rgba(0,51,102,0.92);
}
.carousel-btn.prev{ left: 14px; }
.carousel-btn.next{ right: 14px; }

.carousel-dots{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  display: flex;
  gap: 8px;
  justify-content: center;
  z-index: 6;
}
.carousel-dots .dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.75);
  background: rgba(255,255,255,0.45);
  cursor: pointer;
}
.carousel-dots .dot.is-active{
  background: rgba(46,125,50,0.95);
  border-color: rgba(46,125,50,0.95);
}

@media (max-width: 720px){
  .carousel-btn{ width: 40px; height: 40px; font-size: 20px; }
  .carousel-btn.prev{ left: 10px; }
  .carousel-btn.next{ right: 10px; }
}


/* === Mejora visual carrusel Casa Habitación === */
.hogar-carrusel .carousel-viewport {
  max-width: 1400px;
  margin: 0 auto;
}

.hogar-carrusel .carousel-slide img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.18);
  filter: brightness(1.08) contrast(1.05);
}

.hogar-carrusel {
  padding: 80px 0;
}


/* === Carrusel Casa Habitación tamaño tipo Autos y Motos === */
.hogar-carrusel {
  padding: 100px 0;
}

.hogar-carrusel .container {
  max-width: 1600px !important;
}

.hogar-carrusel .carousel-viewport {
  max-width: 1600px !important;
  margin: 0 auto;
}

.hogar-carrusel .carousel-slide img {
  width: 100%;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 30px 60px rgba(0,0,0,0.22);
  filter: brightness(1.1) contrast(1.08);
  transition: transform 0.6s ease;
}

.hogar-carrusel .carousel-slide.is-active img {
  transform: scale(1.02);
}


/* === Estandar carrusel premium (autos, casa, flotillas) === */
.premium-carousel .carousel-track,
.carousel[data-carousel] .carousel-track{
  transition: transform .6s ease;
}

.premium-carousel .carousel-dots,
.carousel[data-carousel] .carousel-dots{
  position: absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 7;
}

.premium-carousel .carousel-dots .dot,
.carousel[data-carousel] .carousel-dots .dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.18);
  background: rgba(255,255,255,0.72);
  cursor: pointer;
  padding: 0;
}

.premium-carousel .carousel-dots .dot.is-active,
.premium-carousel .carousel-dots .dot.active,
.carousel[data-carousel] .carousel-dots .dot.is-active,
.carousel[data-carousel] .carousel-dots .dot.active{
  background: rgba(0,51,102,0.85);
  border-color: rgba(0,51,102,0.35);
}

.info-btn-wrapper {
    text-align: center;
    margin: 40px 0 60px 0;
}

.btn-informacion {
    display: inline-block;
    padding: 14px 38px;
    background: linear-gradient(135deg, #0d5c63, #15803d);
    color: #ffffff;
    font-weight: 600;
    letter-spacing: 1px;
    border-radius: 40px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.btn-informacion:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.25);
}

/* --- Módulo Daños: pantalla intermedia (scoped) --- */
.danos-selector{padding:80px 20px;background:#f5f3ef;text-align:center}
.danos-selector .danos-title{font-size:42px;margin:0 0 10px;color:#20302a}
.danos-selector .danos-subtitle{font-size:20px;margin:0 0 50px;color:#5f5a52}
.danos-selector .danos-card{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:30px 40px;margin:20px auto;max-width:980px;background:rgba(255,255,255,.78);border:1px solid rgba(120,110,95,.35);border-radius:14px;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.danos-selector .danos-card-text{text-align:left}
.danos-selector .danos-card h2{margin:0 0 6px;color:#20302a}
.danos-selector .danos-card p{margin:0;color:#5f5a52;line-height:1.35}
.danos-selector .danos-btn{background:#2c4f46;color:#fff;padding:12px 30px;border-radius:10px;text-decoration:none;border:1px solid rgba(180,140,70,.35);white-space:nowrap}
@media(max-width:760px){
  .danos-selector .danos-card{flex-direction:column;align-items:stretch;text-align:left}
  .danos-selector .danos-btn{align-self:flex-start}
}


/* ===== Ajuste visual carrusel Casa Habitación ===== */
.hogar-carrusel .carousel-slide{
  padding:10px;
}

.hogar-carrusel .carousel-slide img{
  width:100%;
  height:auto;
  object-fit:contain;
  border-radius:14px;
  box-shadow:0 12px 28px rgba(0,0,0,0.15);
  display:block;
}



/* ===== FIX Casa Habitación: evitar corte superior en láminas =====
   - Mantener look premium tipo Daños
   - Evitar que el título (parte superior) se recorte
   (Solo afecta el carrusel dentro de .hogar-carrusel)
=============================================================== */
.hogar-carrusel .premium-carousel .carousel-slide{
  /* mismo formato 16:9 del carrusel de autos/daños */
  aspect-ratio: 16 / 9;
  padding: 10px;
  box-sizing: border-box;
}

.hogar-carrusel .premium-carousel .carousel-slide img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* prioriza la parte superior para que no se corte el título */
  object-position: top center;
  border-radius: 14px;
  box-shadow: 0 30px 60px rgba(0,0,0,0.22);
  filter: brightness(1.1) contrast(1.08);
  display: block;
}

/* desactivar zoom que podía recortar bordes por overflow hidden */
.hogar-carrusel .premium-carousel .carousel-slide.is-active img{
  transform: none !important;
}



/* ===== Casa Habitación: láminas tipo tarjeta (evitar "recortes pegados") =====
   Solo afecta el carrusel dentro de .hogar-carrusel
========================================================================== */
.hogar-carrusel .premium-carousel{
  /* sutil base para que las tarjetas destaquen */
  padding: 6px 0 10px;
}

.hogar-carrusel .premium-carousel .carousel-track{
  gap: 14px; /* si el track es flex */
}

.hogar-carrusel .premium-carousel .carousel-slide{
  aspect-ratio: 16 / 9;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(180,140,70,.20);
  border-radius: 20px;
  padding: 14px;
  box-sizing: border-box;
  box-shadow:
    0 18px 40px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.65);
  backdrop-filter: blur(6px);
  overflow: hidden;
}

.hogar-carrusel .premium-carousel .carousel-slide img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 16px 34px rgba(0,0,0,.18);
  filter: brightness(1.08) contrast(1.06);
  background: rgba(255,255,255,.9);
  display: block;
}

/* Estado activo: micro realce, sin recortar */
.hogar-carrusel .premium-carousel .carousel-slide.is-active{
  transform: translateY(-2px);
  box-shadow:
    0 22px 52px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.70);
}
.hogar-carrusel .premium-carousel .carousel-slide.is-active img{
  transform: none !important;
}


/* Página intermedia Daños */
.danos-selector{
  padding:80px 20px;
  text-align:center;
  background:linear-gradient(#f5f2ea,#f1eee6);
}

.danos-title{
  font-size:48px;
  margin-bottom:10px;
  color:#2f3a2f;
}

.danos-subtitle{
  font-size:20px;
  margin-bottom:50px;
  color:#6a6a6a;
}

.danos-card{
  max-width:900px;
  margin:20px auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:28px 36px;
  border-radius:16px;
  background:#ffffffcc;
  border:1px solid #e6dfcf;
  box-shadow:0 8px 22px rgba(0,0,0,0.08);
}

.danos-card-left{
  display:flex;
  align-items:center;
  gap:18px;
  text-align:left;
}

.danos-icon{
  font-size:36px;
}

.danos-btn{
  background:#2f4a36;
  color:#fff;
  padding:12px 28px;
  border-radius:8px;
  text-decoration:none;
  border:2px solid #c9a85c;
  font-weight:600;
}

.danos-btn:hover{
  background:#3f5e45;
}



/* ===== Daños (intermedia) — iconos lineales dorados y legibilidad ===== */
.danos-opciones-page .danos-selector{
  background: linear-gradient(180deg, #f2efe6 0%, #ece8dd 100%);
}

.danos-opciones-page .danos-title{
  color:#233026;
  letter-spacing:.2px;
}

.danos-opciones-page .danos-subtitle{
  color:#5e5e5e;
}

.danos-opciones-page .danos-card{
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(200,168,106,.32);
}

.danos-opciones-page .danos-card h3{
  color:#233026;
  margin:0 0 4px;
}

.danos-opciones-page .danos-card p{
  color:#5a5a5a;
  margin:0;
}

.danos-opciones-page .danos-icon{
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#c8a86a;
  background: rgba(200,168,106,.10);
  border: 1px solid rgba(200,168,106,.28);
  border-radius:14px;
  flex: 0 0 54px;
}

.danos-opciones-page .danos-svg{
  width:34px;
  height:34px;
  display:block;
}



/* =========================================================
   ESTÁNDAR VISUAL PREMIUM UNIFICADO
   Autos, Casa Habitación, Daños Empresariales y Transporte
   ========================================================= */
.autos-section--carousel .premium-carousel,
.hogar-carrusel .premium-carousel,
[data-carousel="danos-emp"],
[data-carousel="transporte-mercancias"]{
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 30px 85px rgba(0,0,0,0.18);
}

.autos-section--carousel .premium-carousel .carousel-track,
.hogar-carrusel .premium-carousel .carousel-track,
[data-carousel="danos-emp"] .carousel-track,
[data-carousel="transporte-mercancias"] .carousel-track{
  display:flex;
  width:100%;
  transition: transform .45s ease;
}

.autos-section--carousel .premium-carousel .carousel-slide,
.hogar-carrusel .premium-carousel .carousel-slide,
[data-carousel="danos-emp"] .carousel-slide,
[data-carousel="transporte-mercancias"] .carousel-slide{
  min-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background: transparent;
}

.autos-section--carousel .premium-carousel .carousel-slide img,
.hogar-carrusel .premium-carousel .carousel-slide img,
[data-carousel="danos-emp"] .carousel-slide img,
[data-carousel="transporte-mercancias"] .carousel-slide img{
  width:100%;
  height:auto;
  display:block;
  border-radius:0;
  box-shadow:none;
  filter:none;
  transform:none !important;
  object-fit:contain;
}

.autos-section--carousel .premium-carousel .carousel-btn,
.hogar-carrusel .premium-carousel .carousel-btn,
[data-carousel="danos-emp"] .carousel-btn,
[data-carousel="transporte-mercancias"] .carousel-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:56px;
  height:56px;
  border-radius:999px;
  border:1px solid rgba(0,51,102,0.20);
  background:rgba(255,255,255,0.92);
  color:#003366;
  font-size:34px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 18px 45px rgba(0,0,0,0.18);
  cursor:pointer;
  z-index:6;
}

.autos-section--carousel .premium-carousel .carousel-btn.prev,
.hogar-carrusel .premium-carousel .carousel-btn.prev,
[data-carousel="danos-emp"] .carousel-btn.prev,
[data-carousel="transporte-mercancias"] .carousel-btn.prev{ left:14px; }

.autos-section--carousel .premium-carousel .carousel-btn.next,
.hogar-carrusel .premium-carousel .carousel-btn.next,
[data-carousel="danos-emp"] .carousel-btn.next,
[data-carousel="transporte-mercancias"] .carousel-btn.next{ right:14px; }

.autos-section--carousel .premium-carousel .carousel-btn:hover,
.hogar-carrusel .premium-carousel .carousel-btn:hover,
[data-carousel="danos-emp"] .carousel-btn:hover,
[data-carousel="transporte-mercancias"] .carousel-btn:hover{
  background:#ffffff;
  box-shadow:0 22px 55px rgba(0,0,0,0.22);
}

.autos-section--carousel .premium-carousel .carousel-dots,
.hogar-carrusel .premium-carousel .carousel-dots,
[data-carousel="danos-emp"] .carousel-dots,
[data-carousel="transporte-mercancias"] .carousel-dots{
  position:absolute;
  bottom:14px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:10px;
  z-index:7;
}

.autos-section--carousel .premium-carousel .carousel-dots .dot,
.hogar-carrusel .premium-carousel .carousel-dots .dot,
[data-carousel="danos-emp"] .carousel-dots .dot,
[data-carousel="transporte-mercancias"] .carousel-dots .dot{
  width:10px;
  height:10px;
  border-radius:999px;
  border:1px solid rgba(0,51,102,0.35);
  background:rgba(255,255,255,0.72);
  cursor:pointer;
  padding:0;
}

.autos-section--carousel .premium-carousel .carousel-dots .dot.active,
.autos-section--carousel .premium-carousel .carousel-dots .dot.is-active,
.hogar-carrusel .premium-carousel .carousel-dots .dot.active,
.hogar-carrusel .premium-carousel .carousel-dots .dot.is-active,
[data-carousel="danos-emp"] .carousel-dots .dot.active,
[data-carousel="danos-emp"] .carousel-dots .dot.is-active,
[data-carousel="transporte-mercancias"] .carousel-dots .dot.active,
[data-carousel="transporte-mercancias"] .carousel-dots .dot.is-active{
  background:rgba(0,51,102,0.88);
  border-color:rgba(0,51,102,0.88);
}

@media (max-width: 640px){
  .autos-section--carousel .premium-carousel .carousel-btn,
  .hogar-carrusel .premium-carousel .carousel-btn,
  [data-carousel="danos-emp"] .carousel-btn,
  [data-carousel="transporte-mercancias"] .carousel-btn{
    width:46px;
    height:46px;
    font-size:28px;
  }
}


/* Bloque de texto debajo de carrusel - legible */
.info-bloque-carrusel{
  padding:40px 0 20px;
  text-align:center;
}
.info-legible h1,
.info-legible h2{
  font-size:36px;
  margin-bottom:12px;
  color:#1c2b24;
}
.info-legible p{
  font-size:18px;
  max-width:820px;
  margin:0 auto 24px auto;
  line-height:1.6;
  color:#4b4b4b;
}

/* Bloque institucional con slogan debajo de carruseles */
.slogan-carrusel{
  padding:40px 0 20px;
  text-align:center;
}

.slogan-texto{
  font-size:19px;
  line-height:1.7;
  max-width:820px;
  margin:0 auto 25px auto;
  color:#2c2c2c;
}

.slogan-texto strong{
  color:#15803d;
  font-weight:700;
}


/* Vida individual premium */
.vida-individual-premium{
padding:70px 0;
background:#f7f7f5;
}

.vida-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:center;
}

.vida-img img{
width:100%;
border-radius:18px;
box-shadow:0 25px 60px rgba(0,0,0,0.15);
}

.vida-content h2{
font-size:36px;
margin-bottom:15px;
}

.vida-content p{
font-size:18px;
line-height:1.6;
margin-bottom:20px;
}

.vida-beneficios{
list-style:none;
padding:0;
margin:0 0 25px 0;
}

.vida-beneficios li{
margin-bottom:10px;
font-size:17px;
}

@media(max-width:900px){
.vida-grid{
grid-template-columns:1fr;
}
}


/* Vida individual diseño premium ancho completo */
.vida-hero img{
  width:100%;
  border-radius:18px;
  box-shadow:0 25px 60px rgba(0,0,0,0.15);
}

.vida-card-premium{
  margin-top:30px;
  padding:40px;
  background:#ffffff;
  border-radius:18px;
  box-shadow:0 25px 60px rgba(0,0,0,0.12);
  text-align:center;
}

.vida-card-premium h2{
  font-size:36px;
  margin-bottom:15px;
}

.vida-intro{
  font-size:18px;
  line-height:1.6;
  max-width:800px;
  margin:0 auto 30px auto;
}

.vida-beneficios-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 30px;
  max-width:700px;
  margin:0 auto 30px auto;
}

.vida-item{
  font-size:17px;
  text-align:left;
}

@media(max-width:900px){
 .vida-beneficios-grid{
  grid-template-columns:1fr;
 }
}


/* Bloque razones seguro de vida */
.vida-razones{
  padding:50px 0 70px;
  background:#f5f6f4;
}

.vida-razones-card{
  max-width:900px;
  margin:auto;
  background:#ffffff;
  border-radius:18px;
  padding:35px 40px;
  box-shadow:0 20px 50px rgba(0,0,0,0.12);
  text-align:center;
}

.vida-razones-card h3{
  font-size:28px;
  margin-bottom:25px;
}

.vida-razones-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  font-size:18px;
}

.vida-razon{
  text-align:left;
}



/* Layout vida premium con imagen retiro */
.vida-card-premium-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:40px;
  margin-top:30px;
}

.vida-retiro-img img{
  width:100%;
  border-radius:18px;
  box-shadow:0 25px 60px rgba(0,0,0,0.18);
}

/* mejorar legibilidad razones */
.vida-razones-card{
  max-width:900px;
  margin:auto;
  background:#ffffff;
  border-radius:18px;
  padding:45px 50px;
  box-shadow:0 25px 60px rgba(0,0,0,0.15);
}

.vida-razones-card h3{
  font-size:32px;
  margin-bottom:25px;
}

.vida-razones-lista{
  list-style:none;
  padding:0;
  margin:0;
  font-size:20px;
  line-height:1.8;
}

@media(max-width:900px){
  .vida-card-premium-grid{
    grid-template-columns:1fr;
  }
}


/* ===== Seguro de Vida: versión legible con imagen de retiro ===== */
.vida-individual-premium{
  padding: 56px 0 28px;
  background: #f7f7f5;
}
.vida-hero img{
  width:100%;
  display:block;
  border-radius:22px;
  box-shadow:0 24px 60px rgba(0,0,0,.14);
}
.vida-card-premium-grid{
  display:grid;
  grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr);
  gap:32px;
  margin-top:30px;
  align-items:stretch;
}
.vida-card-premium{
  margin-top:0;
  padding:42px 44px;
  background: rgba(255,255,255,.98);
  border:1px solid rgba(0,0,0,.06);
  border-radius:22px;
  box-shadow:0 22px 55px rgba(0,0,0,.10);
  text-align:left;
}
.vida-card-premium h2{
  font-size: 38px;
  line-height:1.15;
  margin:0 0 14px;
  color:#213126;
}
.vida-intro{
  font-size:19px;
  line-height:1.75;
  margin:0 0 24px;
  max-width:none;
  color:#4b4b4b;
  text-align:left;
}
.vida-beneficios-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  max-width:none;
  margin:0 0 28px;
}
.vida-item{
  font-size:18px;
  line-height:1.55;
  color:#2b2b2b;
  background:#f7f7f5;
  border:1px solid rgba(0,0,0,.05);
  border-radius:14px;
  padding:14px 16px;
  text-align:left;
}
.vida-retiro-img img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  display:block;
  border-radius:22px;
  box-shadow:0 24px 60px rgba(0,0,0,.16);
}

.vida-razones{
  padding: 20px 0 72px;
  background:#f5f6f4;
}
.vida-razones-card.legible{
  max-width:980px;
  margin:auto;
  background:#ffffff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:22px;
  padding:38px 42px;
  box-shadow:0 22px 55px rgba(0,0,0,.10);
  text-align:left;
}
.vida-razones-card.legible h3{
  font-size:34px;
  line-height:1.2;
  margin:0 0 14px;
  color:#213126;
}
.vida-razones-intro{
  font-size:19px;
  line-height:1.75;
  color:#4b4b4b;
  margin:0 0 22px;
}
.vida-razones-simple{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.vida-razon-item{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:12px;
  align-items:flex-start;
  font-size:20px;
  line-height:1.6;
  color:#2b2b2b;
  background:#f7f7f5;
  border:1px solid rgba(0,0,0,.05);
  border-radius:14px;
  padding:14px 16px;
}
.vida-razon-item .check{
  color:#15803d;
  font-weight:700;
}
@media (max-width: 900px){
  .vida-card-premium-grid{
    grid-template-columns:1fr;
  }
  .vida-retiro-img img{
    min-height:360px;
  }
  .vida-card-premium,
  .vida-razones-card.legible{
    padding:28px 24px;
  }
  .vida-card-premium h2{ font-size:32px; }
  .vida-razones-card.legible h3{ font-size:30px; }
  .vida-intro,
  .vida-razones-intro,
  .vida-item,
  .vida-razon-item{ font-size:18px; }
}


/* Premium insurers strip */
.premium-insurers .socios-sub{
  max-width: 760px;
  margin: 0 auto 22px;
  text-align: center;
  color: rgba(255,255,255,.82);
  font-size: 16px;
  line-height: 1.55;
}
.premium-insurers .socios-track{
  gap: 28px !important;
  animation-duration: 28s !important;
}
.premium-insurers .socio-item{
  min-width: 188px;
  padding: 18px 24px;
  border-radius: 18px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 16px 34px rgba(0,0,0,.10);
  color: rgba(255,255,255,.88);
  letter-spacing: .8px;
  font-weight: 800;
}
.premium-insurers .socio-item:hover{
  background: rgba(255,255,255,.18);
}
@media (max-width: 720px){
  .premium-insurers .socios-sub{font-size:14px; margin-bottom:16px;}
  .premium-insurers .socio-item{min-width:150px; padding:14px 18px; font-size:15px;}
}


/* ===== Socios aseguradores: logos oficiales + legibilidad ===== */
.premium-insurers.logos-mode{
  margin: 0 !important;
  padding: 26px 0 42px !important;
  background: #f7f9fc !important;
  border-top: 1px solid rgba(0,0,0,.05);
}
.premium-insurers.logos-mode .socios-title{
  display:block !important;
  font-size: 28px !important;
  line-height: 1.2;
  color: #16324a !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 0 10px !important;
}
.premium-insurers.logos-mode .socios-sub{
  max-width: 760px;
  margin: 0 auto 28px !important;
  color: #51606f !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  text-align: center;
}
.premium-insurers.logos-mode .socios-carousel{
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}
.premium-insurers.logos-mode .socios-track{
  display: flex;
  align-items: center;
  gap: 34px !important;
  width: max-content;
  animation: sociosLogosMarquee 34s linear infinite !important;
}
.premium-insurers.logos-mode .socios-carousel:hover .socios-track{
  animation-play-state: paused;
}
.premium-insurers.logos-mode .socio-item.logo{
  min-width: 184px;
  height: 90px;
  padding: 18px 22px;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 14px 34px rgba(0,0,0,.08);
  display: flex;
  align-items: center;
  justify-content: center;
}
.premium-insurers.logos-mode .socio-item.logo img{
  max-width: 150px;
  max-height: 42px;
  width: auto;
  height: auto;
  display: block;
  filter: grayscale(100%);
  opacity: .82;
  transition: transform .25s ease, filter .25s ease, opacity .25s ease;
}
.premium-insurers.logos-mode .socio-item.logo:hover img{
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.04);
}
@keyframes sociosLogosMarquee{
  0% { transform: translateX(0); }
  100% { transform: translateX(calc(-50% - 17px)); }
}
@media (max-width: 720px){
  .premium-insurers.logos-mode .socios-title{ font-size: 24px !important; }
  .premium-insurers.logos-mode .socios-sub{ font-size: 16px !important; margin-bottom: 20px !important; }
  .premium-insurers.logos-mode .socio-item.logo{
    min-width: 148px;
    height: 78px;
    padding: 14px 18px;
  }
  .premium-insurers.logos-mode .socio-item.logo img{
    max-width: 118px;
    max-height: 34px;
  }
}


/* ===== Carrusel socios aseguradores premium ===== */

.socios-carousel{
overflow:hidden;
position:relative;
margin-top:30px;
}

.socios-track{
display:flex;
gap:40px;
align-items:center;
width:max-content;
animation:sociosScroll 35s linear infinite;
}

.socios-carousel:hover .socios-track{
animation-play-state:paused;
}

.socio-item.logo{
width:180px;
height:90px;
display:flex;
align-items:center;
justify-content:center;
background:#ffffff;
border-radius:16px;
box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.socio-item.logo img{
max-height:42px;
max-width:140px;
width:auto;
height:auto;
object-fit:contain;
filter:grayscale(100%);
opacity:.85;
transition:.3s;
}

.socio-item.logo:hover img{
filter:grayscale(0%);
opacity:1;
transform:scale(1.05);
}

@keyframes sociosScroll{
0%{transform:translateX(0)}
100%{transform:translateX(-50%)}
}


/* Vida Grupo (Continuidad) - slide premium */
.vida-grupo-slide-section{
  padding: 56px 0 24px;
  background: #f7f7f5;
}
.vida-grupo-slide-card{
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 24px;
  box-shadow: 0 28px 72px rgba(0,0,0,0.12);
  overflow: hidden;
}
.vida-grupo-slide-card img{
  display:block;
  width:100%;
  height:auto;
}
.vida-grupo-cierre{
  padding-top: 34px;
  padding-bottom: 56px;
}



/* GMM Individual - carrusel premium */
[data-carousel="gmm-individual"]{
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 30px 85px rgba(0,0,0,0.18);
}
[data-carousel="gmm-individual"] .carousel-track{
  display:flex;
  width:100%;
  transition: transform .45s ease;
}
[data-carousel="gmm-individual"] .carousel-slide{
  min-width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
[data-carousel="gmm-individual"] .carousel-slide img{
  width:100%;
  height:auto;
  display:block;
}


/* Vida Grupo - franja premium de protecciones */
.vida-grupo-protege{
  padding: 48px 0 28px;
  background: #f7f7f5;
}

.vida-grupo-protege .container{
  max-width: 1180px;
}

.protege-title{
  text-align: center;
  font-size: 30px;
  line-height: 1.2;
  margin-bottom: 30px;
  color: #1f3d2b;
}

.protege-grid{
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 24px;
  text-align: center;
}

.protege-item{
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  padding: 24px 20px;
  box-shadow: 0 18px 42px rgba(0,0,0,.10);
  transition: transform .28s ease, box-shadow .28s ease;
}

.protege-item:hover{
  transform: translateY(-5px);
  box-shadow: 0 24px 52px rgba(0,0,0,.14);
}

.protege-icon{
  width: 66px;
  height: 66px;
  margin: 0 auto 12px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(21,128,61,.10);
  border: 1px solid rgba(21,128,61,.12);
  color: #1f5c3f;
  font-size: 30px;
  font-weight: 800;
}

.protege-item p{
  margin: 0;
  color: #253227;
  font-weight: 700;
  line-height: 1.35;
}

@media(max-width: 900px){
  .protege-grid{
    grid-template-columns: repeat(2,1fr);
  }
}

@media(max-width: 560px){
  .protege-grid{
    grid-template-columns: 1fr;
  }
  .protege-title{
    font-size: 26px;
  }
}
