/* ==============================
   style.css — Govisan (LIMPIO + FIXES)
   ============================== */
/*
Theme: Govisan
File: style.css (clean)
Scope: Base + Header + Hero (genérico) + CTAs + KPIs genéricos + Footer
Nota: Las secciones de Home (Partners, Over 25, Solutions, Specialization,
      Success Stories, Insights, Contact) van en home.css
*/

/* ==============================
   01) Variables + Reset + Base
   ============================== */
:root{
  --font-sans:'Montserrat', ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial;
  --text:#0e2235;
  --muted:#5a6c7d;
  --bg:#ffffff;
  --brand-yellow:#EAB84C;

  --header-bg:#ffffff;
  --header-text:#0b1b2b;
  --header-hover:#EAB84C;
}

html{ box-sizing:border-box; }
*,*::before,*::after{ box-sizing:inherit; }

body{
  margin:0;
  font-family:var(--font-sans);
  font-weight:500;
  line-height:1.5;
  color:var(--text);
  background:var(--bg);
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--font-sans);
  color:var(--text);
  margin:0 0 .6em;
}
strong,b{ font-weight:800; }

/* Accesibilidad: utilidades */
.screen-reader-text{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.screen-reader-text:focus{
  position:static; width:auto; height:auto; padding:.5rem .75rem; background:#111; color:#fff; z-index:9999;
}

/* ==============================
   02) Header (sticky, limpio)
   ============================== */
.site-header{
  position:sticky;
  top:0;
  z-index:9999;
  background:rgba(255,255,255,.97);
  -webkit-backdrop-filter:saturate(180%) blur(10px);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid #e5e7eb;
  transition:background .2s ease, box-shadow .2s ease;
}
.header-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
  height:80px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

/* Marca */
.brand,
.brand:link,
.brand:visited{
  display:flex; align-items:center; gap:10px;
  text-decoration:none;
  color:var(--header-text);
  font-weight:800;
  letter-spacing:-.02em;
  font-size:1.125rem;
  transition:color .18s ease;
}
.brand img{ height:28px; width:auto; display:block; }
.brand:hover{ color:var(--header-hover); }

/* Navegación */
.primary-nav{ display:flex; align-items:center; gap:24px; }
.primary-nav .menu{
  margin:0; padding:0; list-style:none;
  display:flex; align-items:center; gap:24px;
}
.primary-nav .menu a{
  text-decoration:none;
  color:#334155;
  font-weight:600;
  font-size:.95rem;
  padding:8px 2px;
  border-radius:8px;
  transition:color .18s ease;
}
.primary-nav .menu a:hover,
.primary-nav .menu .current-menu-item > a,
.primary-nav .menu .current_page_item > a{
  color:#0f172a;
}
.primary-nav .menu a:focus-visible{
  outline:2px solid rgba(15,23,42,.25);
  outline-offset:3px;
  border-radius:8px;
}

/* CTA del header */
.header-cta{
  display:inline-flex; align-items:center; height:40px; padding:0 16px;
  border-radius:12px; background:var(--brand-yellow); color:#0b1a2a;
  font-weight:700; text-decoration:none;
  box-shadow:0 1px 2px rgba(0,0,0,.08);
  transition:filter .18s ease, transform .18s ease;
}
.header-cta:hover{ filter:brightness(.98); transform:translateY(-1px); }
.header-cta:focus-visible{ outline:2px solid #f59e0b; outline-offset:2px; }

/* Toggle móvil (3 spans en el HTML) */
.nav-toggle{
  display:none; width:40px; height:40px; border:0; background:transparent; cursor:pointer;
  position:relative; border-radius:10px;
}
.nav-toggle span{
  position:absolute; left:10px; right:10px; height:2px; background:#0f172a;
  transition:transform .2s ease, opacity .2s ease;
}
.nav-toggle span:nth-child(1){ top:12px; }
.nav-toggle span:nth-child(2){ top:19px; }
.nav-toggle span:nth-child(3){ top:26px; }

/* Mobile nav */
@media (max-width: 992px){
  .nav-toggle{ display:block; }
  .primary-nav{
    position:fixed; inset:80px 0 0 0;
    background:rgba(255,255,255,.98);
    transform:translateY(-10px);
    opacity:0; pointer-events:none;
    display:flex; flex-direction:column; align-items:center; gap:20px; padding:24px;
    box-shadow:0 12px 24px rgba(16,24,40,.12);
    transition:opacity .2s ease, transform .2s ease;
  }
  .primary-nav.open{ transform:translateY(0); opacity:1; pointer-events:auto; }
  .primary-nav .menu{ flex-direction:column; gap:16px; }
  html.nav-open{ overflow:hidden; }
}

/* ==============================
   03) Hero (genérico compartido)
   ============================== */
.hero{
  position:relative; overflow:hidden; color:#fff;
  padding: clamp(100px, 18vw, 180px) 0 40px;
}
.hero.has-bg{
  background:
    linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.30) 100%),
    var(--hero-bg, #000);
  background-size:cover; background-position:center;
}
.hero .hero-inner,
.hero .container{
  position:relative; z-index:1;
  max-width:1200px; margin:0 auto; padding:0 16px;
  text-align:center;
}
.hero h1{
  font-weight:600;
  font-size: clamp(32px, 5.6vw, 72px);
  line-height:1.08; letter-spacing:-0.02em;
  margin:0 0 16px;
  color:#fff;
}
.hero .subtitle{
  font-weight:300;
  font-size: clamp(13px, 1.25vw, 18px);
  line-height:1.45; opacity:.95;
  max-width:1000px; margin:0 auto 24px;
  color:#fff;
}

/* ==============================
   04) Botones / CTAs (base)
   ============================== */
.btn, .button, .cta{
  display:inline-flex; align-items:center; gap:12px;
  padding:18px 26px; border-radius:16px;
  font-weight:600; font-size:18px; line-height:1;
  text-decoration:none; border:2px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.btn .btn__icon, .cta .cta__icon{ display:inline-block; }

/* CTAs del hero (usarlas dentro de .hero-ctas) */
.hero-ctas{
  display:flex; flex-wrap:wrap; gap:16px; justify-content:center; margin-top:28px;
}
.cta--primary, .btn-primary{
  background:var(--brand-yellow);
  color:#fff;
  box-shadow:0 10px 24px rgba(234,184,76,.35);
}
.cta--primary:hover, .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(234,184,76,.45); }

.cta--ghost, .btn-ghost{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:2px solid #fff;
  backdrop-filter: blur(2px);
}
.cta--ghost:hover, .btn-ghost:hover{ background:rgba(255,255,255,.18); transform:translateY(-2px); }

/* ==============================
   05) KPIs del hero (genérico)
   ============================== */
.hero-stats{
  margin-top:32px;
  max-width:1200px; margin-left:auto; margin-right:auto;
  padding:0 16px;
}
.hero-stats .stats-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(300px, 1fr));
  gap:28px;
  align-items:stretch;
}
.stat-card{
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  text-align:center;
  min-height:240px; padding:28px; border-radius:28px;
  background: linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.18));
  border:1px solid rgba(255,255,255,.35);
  box-shadow: 0 10px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.25);
  color:#fff;
  backdrop-filter: blur(10px) saturate(120%);
  -webkit-backdrop-filter: blur(10px) saturate(120%);
}
.stat-value{
  font-weight:800; color:var(--brand-yellow);
  font-size: clamp(36px, 6vw, 68px);
  line-height:1; margin:0 0 12px 0; letter-spacing:.2px;
}
.stat-label{
  font-weight:600;
  font-size: clamp(18px, 1.8vw, 24px);
  line-height:1.25; color:rgba(255,255,255,.95);
}

/* Responsive KPIs */
@media (max-width:1100px){
  .hero-stats .stats-grid{ gap:22px; }
  .stat-card{ min-height:220px; padding:24px; }
}
@media (max-width:860px){
  .hero-stats .stats-grid{
    grid-template-columns:1fr; max-width:680px; margin:0 auto;
  }
  .stat-card{ min-height:200px; }
}

/* ==============================
   06) Footer (global)
   ============================== */
.site-footer{
  background:#0c2231; color:#cfe0ea; position:relative;
}
.site-footer a{ color:#cfe0ea; text-decoration:none; }
.site-footer a:hover{ color:#ffffff; }

.site-footer .container{
  max-width:1240px; margin:0 auto; padding:70px 24px;
}

/* Grid principal: brand + 4 columnas + oficinas */
.footer-grid{
  display:grid;
  grid-template-columns: 1.15fr .8fr .8fr .8fr .8fr 1.3fr;
  gap:40px 36px;
  align-items:start;
}

/* Brand / intro */
.footer-logo{ line-height:1; margin-bottom:14px; }
.footer-logo .f-brand-1{ display:block; font-weight:800; letter-spacing:.02em; color:#e5b24c; font-size:36px; }
.footer-logo .f-brand-2{ display:block; font-weight:700; font-size:28px; color:#ffffff; margin-top:2px; }
.footer-intro{ color:#a3bdcc; font-size:17px; line-height:1.65; margin:14px 0 16px; }
.footer-sub{ color:#a3bdcc; font-size:15px; margin-bottom:14px; }

.footer-social{ display:flex; gap:12px; }
.social-btn{
  width:40px; height:40px; border-radius:10px; display:grid; place-items:center;
  background:#143348; color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.15);
  transition:transform .2s ease, background .2s ease;
}
.social-btn:hover{ transform:translateY(-2px); background:#1b4360; }

/* Columnas de enlaces */
.footer-col h4{
  margin:0 0 14px; color:#fff; font-weight:700; font-size:18px;
}
.footer-col ul{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.footer-col a{ opacity:.95; }
.footer-col a:hover{ opacity:1; text-decoration:underline; }

/* Oficinas (derecha) */
.footer-offices{
  display:grid; grid-template-columns: 1fr 1px 1fr; gap:22px; align-items:start;
  padding-left:24px; position:relative;
}
.off-sep{ width:1px; background:linear-gradient(180deg,#a66a00 0,#a66a00 100%); opacity:.4; }
.off-title{ color:#fff; font-weight:700; font-size:20px; margin-bottom:10px; }
.off-list{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.off-list .ico{ display:inline-block; width:22px; }

/* Bottom bar */
.footer-bottom{ border-top:1px solid rgba(255,255,255,.07); }
.footer-bottom__in{
  max-width:1240px; margin:0 auto; padding:18px 24px;
  display:flex; align-items:center; justify-content:space-between;
  color:#a3bdcc; font-size:15px;
}
.footer-tagline{ opacity:.95; }

/* Footer responsive */
@media (max-width:1180px){
  .footer-grid{ grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-offices{ grid-column: 1 / -1; padding-left:0; }
}
@media (max-width:760px){
  .site-footer .container{ padding:50px 20px; }
  .footer-grid{ grid-template-columns: 1fr; }
  .footer-col, .footer-offices{ margin-top:8px; }
  .footer-bottom__in{ flex-direction:column; gap:8px; text-align:center; }
}

/* ——— Over 25 years: centrado ——— */
.over25{ padding: clamp(60px,10vw,120px) 0; }
.over25__grid{
  display:grid;
  grid-template-columns: minmax(0,1.15fr) minmax(0,1fr);
  gap: clamp(24px,4vw,48px);
  align-items: center;
}
.over25__left{ max-width: 760px; }
.over25__right{ display:grid; gap: 18px; }
.over25__card{
  background:#fff;
  border:1px solid rgba(15,23,42,.08);
  border-radius: 18px;
  padding: 18px 20px;
  box-shadow: 0 14px 36px rgba(16,24,40,.06);
}
@media (max-width: 980px){
  .over25__grid{ grid-template-columns: 1fr; align-items: start; }
}

/* --- Divisores ondulados reutilizables --- */
.section--wave-top,
.section--wave-bottom{ position:relative; z-index:1; }

/* Onda superior */
.section--wave-top::before{
  content:"";
  position:absolute; left:0; right:0; top:-1px;
  height:72px; pointer-events:none;
  background-repeat:no-repeat;
  background-size:100% 100%;
  background-position:top center;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'>\
  <defs><linearGradient id='g' x1='0' y1='0' x2='0' y2='1'>\
    <stop offset='0' stop-color='%23e7eef6'/><stop offset='1' stop-color='%23f3f7fb'/>\
  </linearGradient></defs>\
  <path d='M0,80 C240,110 480,110 720,90 C960,70 1200,70 1440,88 L1440,0 L0,0 Z' fill='url(%23g)'/>\
  <path d='M0,80 C240,110 480,110 720,90 C960,70 1200,70 1440,88' fill='none' stroke='%2390a6c0' stroke-width='2' opacity='.55'/>\
</svg>");
}

/* Onda inferior */
.section--wave-bottom::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-1px;
  height:72px; pointer-events:none;
  background-repeat:no-repeat;
  background-size:100% 100%;
  background-position:bottom center;
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'>\
  <defs><linearGradient id='g' x1='0' y1='0' x2='0' y2='1'>\
    <stop offset='0' stop-color='%23f3f7fb'/><stop offset='1' stop-color='%23e7eef6'/>\
  </linearGradient></defs>\
  <path d='M0,32 C240,14 480,14 720,34 C960,54 1200,54 1440,24 L1440,120 L0,120 Z' fill='url(%23g)'/>\
  <path d='M0,32 C240,14 480,14 720,34 C960,54 1200,54 1440,24' fill='none' stroke='%2390a6c0' stroke-width='2' opacity='.55'/>\
</svg>");
}
@media (max-width: 980px){
  .section--wave-top::before,
  .section--wave-bottom::after{ height:56px; }
}

/* ===== Trusted Partners — Marquee ===== */
.partners--marquee{ padding:72px 0 88px; background:#f6f7f9; }
.partners--marquee .section-head-center{ text-align:center; margin-bottom: 18px; }

.marquee{
  position:relative; overflow:hidden;
  padding: 8px clamp(24px,5vw,72px);
  mask-image: linear-gradient( to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}
@supports not (mask-image: linear-gradient(#000,#000)) {
  .marquee::before,.marquee::after{
    content:""; position:absolute; top:0; bottom:0; width:56px; z-index:2; pointer-events:none;
    background: linear-gradient(90deg, rgba(246,247,249,1), rgba(246,247,249,0));
  }
  .marquee::before{ left:0; }
  .marquee::after{ right:0; transform: scaleX(-1); }
}
.marquee__track{
  display:flex; gap:18px; align-items:stretch;
  animation: marquee-scroll var(--marquee-duration, 30s) linear infinite;
}
.marquee:hover .marquee__track{ animation-play-state: paused; }
@media (prefers-reduced-motion: reduce){ .marquee__track{ animation: none; } }
.marquee__item{ display:grid; align-content:start; min-width: 220px; }
@media (max-width:640px){ .marquee__item{ min-width: 180px; } }

.card-surface{
  background:#fff; border:1px solid rgba(15,23,42,.10); border-radius:18px;
  height: 110px; display:grid; place-items:center; padding:18px;
  box-shadow: 0 16px 42px rgba(15,23,42,.10), 0 7px 18px rgba(15,23,42,.08);
  position:relative; overflow:hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  background-image: radial-gradient(200px 200px at var(--mx,-200px) var(--my,-200px), rgba(255,255,255,.9) 0%, rgba(255,255,255,0) 60%);
  background-blend-mode: screen;
}
.card-surface::after{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background: radial-gradient(60% 50% at 50% 110%, rgba(15,23,42,.10), transparent 60%);
  opacity:.55;
}
.card-surface:hover{
  transform: translateY(-3px);
  box-shadow: 0 22px 56px rgba(15,23,42,.16);
  border-color: rgba(15,23,42,.14);
}
.card-surface img{
  max-height: 64px; max-width: 88%; width:auto; height:auto;
  filter:grayscale(100%); opacity:.95;
  transition: filter .18s ease, opacity .18s ease, transform .18s ease;
}
.card-surface:hover img{ filter:none; opacity:1; transform: scale(1.02); }
.partner-caption{
  text-align:center; margin-top:8px; color:#98a2b3; font-weight:700;
  text-shadow: 0 1px 0 rgba(255,255,255,.55); font-size: 14px;
}
@keyframes marquee-scroll{ to{ transform: translateX(var(--marquee-translate, -50%)); } }

/* ——— Solutions & Services ——— */
.solutions{ padding: clamp(56px, 7vw, 96px) 0; }
.solutions .container{ max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.solutions .sol-header{ text-align:center; max-width: 980px; margin: 0 auto 28px; }
.solutions .sol-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 12px; border-radius:999px;
  background:#fde7ad; color:#7a5a00; font-weight:700; font-size:14px;
}
.solutions .sol-title{ margin: 10px 0 8px; font-size: clamp(28px,4vw,44px); line-height:1.12; }
.solutions .sol-lead{ font-size: clamp(16px,1.9vw,20px); opacity:.85; }
.solutions .sol-grid{
  display:grid; gap: 24px;
  grid-template-columns: repeat(4, minmax(240px, 1fr));
  align-items: stretch;
}
@media (max-width: 1100px){ .solutions .sol-grid{ grid-template-columns: repeat(2, minmax(240px, 1fr)); } }
@media (max-width: 640px){ .solutions .sol-grid{ grid-template-columns: 1fr; } }
.solutions .sol-card{
  background:#fff !important;
  color:#0f172a !important;
  border:1px solid #e7edf5 !important;
  border-radius: 18px !important;
  padding: 20px 20px 18px !important;
  box-shadow: 0 12px 36px rgba(16,24,40,.06) !important;
  transition: transform .18s ease, box-shadow .18s ease;
}
.solutions .sol-card:hover{ transform: translateY(-2px); box-shadow: 0 16px 42px rgba(16,24,40,.10); }
.solutions .sol-token{
  width:48px; height:48px; border-radius:14px;
  display:inline-grid; place-items:center;
  background: linear-gradient(180deg,#e7f0ff,#dff7ef);
  margin: 4px 0 10px;
}
.solutions .sol-card__title{ font-size: clamp(18px,2.2vw,22px); line-height:1.25; margin: 0 0 8px; }
.solutions .sol-card__desc{ color:#475569; margin: 0 0 8px; min-height: 2.6em; }
.solutions .sol-list{ margin: 8px 0 0 0; padding-left: 18px; }
.solutions .sol-list li{ margin: 6px 0; color:#334155; line-height:1.5; }
.solutions .sol-card *{ color: inherit; }

/* Waves full-width */
.section-wave{ position:relative; height:72px; overflow:hidden; display:block; line-height:0; margin:0; }
.section-wave svg{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.section-wave path{ fill:#eef5fb; stroke:#bcd0e5; stroke-width:2; }
.wave-bottom{ margin-top:-1px; }
.section-wave + #success-stories{ padding-top: clamp(18px, 3vw, 42px); }
#success-stories .ss-head{ margin-top: clamp(6px, 1.6vw, 16px); }
.section-wave{ margin-bottom: clamp(8px, 1.5vw, 18px); }
.section-wave svg{ display:block; width:100%; height:auto; }
.section-wave + #insights{ padding-top: clamp(18px, 3vw, 44px); }
.wave-sep{ position: relative; height: 78px; line-height: 0; overflow: hidden; margin: -10px 0 0; }
.wave-sep svg{ display: block; width: 100%; height: 100%; transform: translateY(1px); }
.wave-sep + #insights{ padding-top: clamp(18px, 3vw, 48px); }

/* ——— CTAs/Pills amarillos con texto blanco ——— */
.ins-badge-pill,
.ss-kicker {
  color: #fff !important;
  background: linear-gradient(180deg, #f6ca67 0%, #e4ac44 100%) !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.18);
  border: none;
}
/* Ajuste de forma */
.ss-kicker{
  display:inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 700;
  font-size: .95rem;
}
/* Hover sutil */
.ins-badge-pill:hover,
.ss-kicker:hover{
  filter: brightness(1.05);
} /* <-- CIERRE AÑADIDO (faltaba) */

/* ——— CTAs amarillos (Primary) -> texto blanco ——— */
a.btn.btn-primary,
button.btn.btn-primary,
input[type="submit"].btn.btn-primary,
input[type="button"].btn.btn-primary {
  color: #fff !important;
  text-shadow: 0 1px 0 rgba(0,0,0,.22);
}
.btn.btn-primary .arr,
.btn.btn-primary svg,
.btn.btn-primary i { color: #fff !important; fill: #fff !important; }
a.btn.btn-primary:hover,
a.btn.btn-primary:active,
a.btn.btn-primary:visited,
button.btn.btn-primary:hover,
button.btn.btn-primary:active { color: #fff !important; }

/* Contact – CTA ancho */
#contact #contact-form .btn.btn-primary.btn-lg{
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 56px; padding: 0 24px; border: 0; border-radius: 14px;
  font-weight: 800; letter-spacing: .2px; color: #fff !important;
  background: linear-gradient(90deg, #f0c24e 0%, #0b6bff 100%);
  box-shadow: 0 16px 40px rgba(11, 107, 255, .15);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
#contact #contact-form .btn.btn-primary.btn-lg:hover{ transform: translateY(-1px); filter: brightness(1.03); box-shadow: 0 20px 50px rgba(11, 107, 255, .22); }
#contact #contact-form .btn.btn-primary.btn-lg:active{ transform: translateY(0); }
#contact #contact-form .btn.btn-primary.btn-lg span{ margin-left: 10px; }
#contact .contact-card form{ gap: 0; }
#contact .contact-card .contact-msg{ margin: 6px 0 12px; }

#contact.section .contact-card form#contact-form button[type="submit"].btn.btn-primary.btn-lg,
#contact .contact-card form#contact-form button[type="submit"].btn.btn-primary.btn-lg,
section#contact .contact-card button[type="submit"].btn.btn-primary.btn-lg{
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; height: 56px !important; padding: 0 24px !important; border: 0 !important; border-radius: 14px !important;
  font-weight: 800 !important; letter-spacing: .2px !important; color: #fff !important;
  background: linear-gradient(90deg, #f0c24e 0%, #0b6bff 100%) !important;
  box-shadow: 0 16px 40px rgba(11,107,255,.15) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
#contact .contact-card form#contact-form button[type="submit"].btn.btn-primary.btn-lg:hover{
  transform: translateY(-1px) !important; filter: brightness(1.03) !important; box-shadow: 0 20px 50px rgba(11,107,255,.22) !important;
}
#contact .contact-card form#contact-form button[type="submit"].btn.btn-primary.btn-lg:active{ transform: translateY(0) !important; }
#contact .contact-card form#contact-form button[type="submit"].btn.btn-primary.btn-lg span{ margin-left: 10px !important; }

/* Botón flotante */
.gv-scroll-top{
  position: fixed; right: clamp(14px, 2.2vw, 22px); bottom: clamp(14px, 2.6vw, 26px); z-index: 999;
  width: 64px; height: 64px; border: 0; border-radius: 999px; background: #0b1f2e; color:#fff;
  box-shadow: 0 22px 48px rgba(15,23,42,.25), 0 2px 0 rgba(255,255,255,.1) inset;
  display: grid; place-items: center; cursor: pointer; transform: translateY(20px); opacity: 0; pointer-events: none;
  transition: opacity .22s ease, transform .22s ease, box-shadow .18s ease, background .18s ease;
}
.gv-scroll-top:hover{ background: #0f2a3b; box-shadow: 0 26px 56px rgba(15,23,42,.32); }
.gv-scroll-top:focus-visible{ outline: 3px solid #ffd067; outline-offset: 3px; }
.gv-scroll-top.is-visible{ opacity: 1; transform: translateY(0); pointer-events: auto; }
@media (max-width: 560px){ .gv-scroll-top{ width:56px; height:56px; } }

/* COMING SOON (ID 144) */
.page-id-144 .entry-title,
.page-id-144 .entry-header,
body.page-id-144 .entry-title,
body.page-id-144 .page-title,
body.page-id-144 .wp-block-post-title,
body.page-id-144 .page-header,
body.page-id-144 .entry-header,
body.page-id-144 .site-main > header,
body.page-id-144 .site-main > .page-header{ display: none !important; }
body.page-id-144 .entry-content > *:first-child{ margin-top: 0 !important; }
body.page-id-144 .site-header,
body.page-id-144 .site-footer,
body.page-id-144 .entry-header,
body.page-id-144 .page-header{ display:none !important; }
body.page-id-144,
body.page-id-144 .site-main{ padding-top:0 !important; margin-top:0 !important; }
body.page-id-144.admin-bar{ margin-top:0 !important; }

/* ===== Success Stories (Landing) — MASTER ===== */
.ss-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:28px; }
@media (max-width:1024px){ .ss-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:24px; } }
@media (max-width:640px){  .ss-grid{ grid-template-columns:1fr; gap:20px; } }
.ss-card{ background:transparent; border:0; border-radius:22px; overflow:hidden; box-shadow:0 24px 44px rgba(0,0,0,.18); }
.ss-card .ss-media{ line-height:0; }
.ss-card .ss-media img{ width:100%; display:block; aspect-ratio:16/9; object-fit:cover; border-radius:22px 22px 0 0; }
.ss-card .ss-body{ background:#0e2235; color:#eef3f7; text-align:center; padding:18px 20px 22px; border-radius:0 0 22px 22px; }
.ss-card .ss-title-sm{ position:absolute !important; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; padding:0; }
.ss-card .ss-badges{ display:flex; justify-content:center; margin-bottom:10px; }
.ss-card .ss-badge{ display:inline-flex; align-items:center; gap:.5rem; color:#cfe0eb; font-weight:600; letter-spacing:.2px; }
.ss-card .ss-desc{ margin:0; line-height:1.55; font-size:clamp(16px,1.35vw,20px); }
.ss-card a{ pointer-events:none; cursor:default; text-decoration:none; color:inherit; }

/* ===== Insights Hub (hero + grid genérico) ===== */
.ins-archive__hero{ padding: clamp(48px,7vw,80px) 0 10px; text-align:center; }
.ins-archive__hero .container{ max-width:1100px; }
.ins-archive__title{ font-size: clamp(28px,4.8vw,44px); line-height:1.12; margin:10px 0 8px; }
.ins-archive__lead{ color:#475569; font-size: clamp(16px,1.8vw,19px); max-width:900px; margin:0 auto; }
.ins-archive__hero .ins-badge-pill{ margin-bottom:10px; }

/* Filtros genéricos */
.ins-archive__filters{ padding: 10px 0 14px; }
.ins-archive__filters .container{ max-width:1100px; }
.ins-filter .ins-filter__row{ display:grid; gap:14px; grid-template-columns: 1fr 220px 220px auto; align-items:center; }
@media (max-width:960px){ .ins-filter .ins-filter__row{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .ins-filter .ins-filter__row{ grid-template-columns:1fr; } }
.ins-filter__group select,
.ins-filter__group input[type="search"]{ width:100%; height:48px; border:1px solid #e7edf5; border-radius:14px; padding:0 14px; font-weight:600; color:#0f172a; background:#fff; }
.ins-filter__actions{ display:flex; gap:10px; justify-content:flex-end; }
.ins-filter__chips{ margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; }
.ins-filter__chips .chip{ display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; background:#f6e4b8; color:#7a5a00; font-weight:700; font-size:13px; }

/* Grid genérico de insights */
.ins-archive__grid{ padding: 8px 0 64px; }
.ins-archive__grid .container{ max-width:1200px; }
.ins-grid{ display:grid; gap:22px; grid-template-columns: repeat(3, minmax(260px,1fr)); }
@media (max-width:1100px){ .ins-grid{ grid-template-columns: repeat(2, minmax(240px,1fr)); } }
@media (max-width:640px){  .ins-grid{ grid-template-columns: 1fr; } }
.ins-card{ background:#fff; border:1px solid #e7edf5; border-radius:18px; overflow:hidden; box-shadow:0 14px 36px rgba(16,24,40,.08); transition: transform .18s ease, box-shadow .18s ease; }
.ins-card:hover{ transform: translateY(-2px); box-shadow:0 18px 46px rgba(16,24,40,.12); }
.ins-media{ position:relative; display:block; aspect-ratio:16/9; overflow:hidden; }
.ins-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.ins-fallback{ display:grid; place-items:center; width:100%; aspect-ratio:16/9; background:#0b1a2a; color:#fff; font-weight:900; font-size:38px; }
.ins-cat{ position:absolute; left:12px; top:12px; background:linear-gradient(180deg,#f6ca67 0%, #e4ac44 100%); color:#fff; font-weight:800; font-size:12px; padding:6px 10px; border-radius:999px; box-shadow:0 6px 16px rgba(234,184,76,.25); }
.ins-meta{ display:flex; gap:10px; align-items:center; color:#94a3b8; font-weight:700; font-size:12px; margin:12px 18px 0; }
.ins-h3{ font-size: clamp(18px,2.2vw,22px); line-height:1.25; margin:8px 18px; }
.ins-excerpt{ color:#475569; margin:0 18px 10px; }
.ins-more{ margin:0 18px 18px; display:inline-flex; align-items:center; gap:6px; text-decoration:none; font-weight:800; color:#0b1a2a; }
.ins-more span{ transition: transform .18s; } .ins-more:hover span{ transform: translateX(2px); }

/* Paginación genérica */
.ins-pagination{ margin-top:22px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.ins-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding:0 12px; border-radius:12px;
  border:1px solid #e7edf5; background:#fff; color:#0f172a; text-decoration:none; font-weight:700;
}
.ins-pagination .current, .ins-pagination .page-numbers:hover{
  background:linear-gradient(180deg,#f6ca67 0%, #e4ac44 100%);
  color:#fff; border-color:transparent; box-shadow:0 8px 22px rgba(234,184,76,.25);
}

/* ====== Insights landing (escopado por ID de página) ====== */
.page-id-313{ --ins-gap:22px; --ins-radius:18px; }
.page-id-313 .filter-row{ display:grid; gap:14px; grid-template-columns: 1fr 220px 220px auto; align-items:center; margin: 6px 0 16px; }
@media (max-width:960px){ .page-id-313 .filter-row{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .page-id-313 .filter-row{ grid-template-columns:1fr; } }
.page-id-313 .wp-block-search__input,
.page-id-313 select{ height:48px; border:1px solid #e7edf5; border-radius:14px; padding:0 14px; font-weight:600; color:#0f172a; background:#fff; }
.page-id-313 .wp-block-query{ max-width:1200px; margin:0 auto; }
.page-id-313 .wp-block-post-template{ display:grid; gap:var(--ins-gap); grid-template-columns: repeat(3, minmax(260px,1fr)); }
@media (max-width:1100px){ .page-id-313 .wp-block-post-template{ grid-template-columns: repeat(2, minmax(240px,1fr)); } }
@media (max-width:640px){ .page-id-313 .wp-block-post-template{ grid-template-columns: 1fr; } }
.page-id-313 .wp-block-post{ background:#fff; border:1px solid #e7edf5; border-radius:var(--ins-radius); overflow:hidden; box-shadow:0 14px 36px rgba(16,24,40,.08); transition: transform .18s ease, box-shadow .18s ease; }
.page-id-313 .wp-block-post:hover{ transform: translateY(-2px); box-shadow:0 18px 46px rgba(16,24,40,.12); }
.page-id-313 .wp-block-post-featured-image{ aspect-ratio:16/9; overflow:hidden; margin:0; }
.page-id-313 .wp-block-post-featured-image img{ width:100%; height:100%; object-fit:cover; display:block; }
.page-id-313 .wp-block-post-date{ color:#94a3b8; font-weight:700; font-size:12px; margin:12px 18px 0; }
.page-id-313 .wp-block-post-title{ font-size: clamp(18px,2.2vw,22px); line-height:1.25; margin:8px 18px; }
.page-id-313 .wp-block-post-excerpt{ color:#475569; margin:0 16px 116px; }
.page-id-313 .wp-block-read-more{ margin:0 18px 18px; display:inline-flex; align-items:center; gap:6px; text-decoration:none; font-weight:800; color:#0b1a2a; }
.page-id-313 .wp-block-read-more:hover{ text-decoration:underline; }
.page-id-313 .wp-block-query-pagination{ margin-top:22px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.page-id-313 .wp-block-query-pagination-numbers a,
.page-id-313 .wp-block-query-pagination-numbers span{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding:0 12px; border-radius:12px;
  border:1px solid #e7edf5; background:#fff; color:#0f172a; text-decoration:none; font-weight:700;
}
.page-id-313 .wp-block-query-pagination-numbers .current,
.page-id-313 .wp-block-query-pagination-numbers a:hover{
  background:linear-gradient(180deg,#f6ca67 0%, #e4ac44 100%);
  color:#fff; border-color:transparent; box-shadow:0 8px 22px rgba(234,184,76,.25);
} /* <-- CIERRE AÑADIDO (faltaba) */

/* ===== Insights landing (clase .page-insights) ===== */
.page-insights .ins-hero{ max-width: 1100px; margin: 28px auto 16px; padding: 0 20px; text-align:center; }
.page-insights .ins-pill{
  display:inline-block; padding:10px 16px; border-radius:999px;
  font-weight:800; letter-spacing:.2px; color:#fff;
  background:linear-gradient(180deg,#f6ca67 0%, #e4ac44 100%);
  box-shadow:0 10px 24px rgba(234,184,76,.28);
}
.page-insights .ins-title{ margin:12px 0 8px; font-size: clamp(28px,4.8vw,46px); line-height:1.12; color:#0e2235; }
.page-insights .ins-lead{ color:#637788; max-width:900px; margin:0 auto 18px; font-size: clamp(15px,1.5vw,18px); }
.page-insights .wp-block-query{ max-width:1200px; margin:0 auto; padding:0 20px; }
.page-insights .wp-block-post-template{ display:grid; gap:22px; grid-template-columns: repeat(3, minmax(260px,1fr)); }
@media (max-width:1100px){ .page-insights .wp-block-post-template{ grid-template-columns: repeat(2, minmax(240px,1fr)); } }
@media (max-width:640px){ .page-insights .wp-block-post-template{ grid-template-columns:1fr; } }
.page-insights .wp-block-post{ background:#fff; border:1px solid #e7edf5; border-radius:18px; overflow:hidden; box-shadow:0 14px 36px rgba(16,24,40,.08); transition: transform .18s ease, box-shadow .18s ease; }
.page-insights .wp-block-post:hover{ transform: translateY(-2px); box-shadow:0 18px 46px rgba(16,24,40,.12); }
.page-insights .wp-block-post-featured-image{ aspect-ratio:16/9; overflow:hidden; margin:0; }
.page-insights .wp-block-post-featured-image img{ width:100%; height:100%; object-fit:cover; display:block; }
.page-insights .wp-block-post-date{ color:#94a3b8; font-weight:700; font-size:12px; margin:12px 18px 0; }
.page-insights .wp-block-post-title{ font-size: clamp(18px,2.2vw,22px); line-height:1.25; margin:8px 18px; }
.page-insights .wp-block-post-excerpt{ color:#475569; margin:0 18px 14px; }
.page-insights .wp-block-read-more{ margin:0 18px 18px; display:inline-flex; align-items:center; gap:6px; text-decoration:none; font-weight:800; color:#0b1a2a; }
.page-insights .wp-block-read-more:hover{ text-decoration:underline; }
.page-insights .wp-block-query-pagination{ margin-top:22px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.page-insights .wp-block-query-pagination-numbers a,
.page-insights .wp-block-query-pagination-numbers span{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding:0 12px; border-radius:12px;
  border:1px solid #e7edf5; background:#fff; color:#0f172a; text-decoration:none; font-weight:700;
}
.page-insights .wp-block-query-pagination-numbers .current,
.page-insights .wp-block-query-pagination-numbers a:hover{
  background:linear-gradient(180deg,#f6ca67 0%, #e4ac44 100%); color:#fff; border-color:transparent;
  box-shadow:0 8px 22px rgba(234,184,76,.25);
}

/* INSIGHTS: listados blog/archivo */
body.page-id-178 .wp-block-query{ max-width: 1200px !important; margin-inline: auto !important; padding-inline: clamp(16px, 4vw, 32px) !important; }
body.page-id-178 .wp-block-post-template{ display: grid !important; grid-template-columns: repeat(3, minmax(260px, 1fr)) !important; gap: clamp(16px, 2.4vw, 28px) !important; }
@media (max-width: 1100px){ body.page-id-178 .wp-block-post-template{ grid-template-columns: repeat(2, minmax(260px, 1fr)) !important; } }
@media (max-width: 640px){ body.page-id-178 .wp-block-post-template{ grid-template-columns: 1fr !important; } }
body.page-id-178 .wp-block-post .wp-block-post-featured-image img{ width: 100% !important; height: 220px !important; object-fit: cover !important; }

body.blog .wp-block-query,
body.archive .wp-block-query{ max-width: 1180px !important; margin-inline: auto !important; padding-inline: clamp(16px, 4vw, 32px) !important; }
body.blog .wp-block-post-template,
body.archive .wp-block-post-template{ display: grid !important; grid-template-columns: repeat(3, minmax(260px, 1fr)) !important; gap: clamp(16px, 2.4vw, 28px) !important; }
body.blog .wp-block-post,
body.archive .wp-block-post{ border-radius: 16px; overflow: hidden; box-shadow: 0 10px 30px rgba(16,24,40,.08); background: #fff; }
body.blog .wp-block-post-featured-image img,
body.archive .wp-block-post-featured-image img{ width: 100% !important; height: 210px !important; object-fit: cover !important; display: block !important; }
body.blog .wp-block-query-pagination,
body.archive .wp-block-query-pagination{ display: flex; justify-content: center; margin-top: 24px; }
@media (max-width: 1100px){
  body.blog .wp-block-post-template,
  body.archive .wp-block-post-template{ grid-template-columns: repeat(2, minmax(260px, 1fr)) !important; }
}
@media (max-width: 640px){
  body.blog .wp-block-post-template,
  body.archive .wp-block-post-template{ grid-template-columns: 1fr !important; }
}

/* ==============================
   PÁGINA: page-insights.php (plantilla)
   ============================== */
body.page-template-page-insights-php .container{ max-width:1180px; margin-inline:auto; padding-inline: clamp(16px, 4vw, 32px); }
body.page-template-page-insights-php .ins-hero{ padding: clamp(48px,7vw,80px) 0 10px; text-align:center; }
body.page-template-page-insights-php .ins-pill{
  display:inline-block; padding:10px 16px; border-radius:999px;
  font-weight:800; letter-spacing:.2px; color:#fff;
  background:linear-gradient(180deg,#f6ca67 0%, #e4ac44 100%);
  box-shadow:0 10px 24px rgba(234,184,76,.28);
}
body.page-template-page-insights-php .ins-title{ margin:12px 0 8px; font-size: clamp(28px,4.8vw,46px); line-height:1.12; color:#0e2235; }
body.page-template-page-insights-php .ins-lead{ color:#637788; max-width:900px; margin:0 auto 18px; font-size: clamp(15px,1.5vw,18px); }

body.page-template-page-insights-php .ins-filters{ padding: 10px 0 14px; }
body.page-template-page-insights-php .filter-row{ display:grid; gap:14px; grid-template-columns: 1fr 220px 220px auto; align-items:center; }
@media (max-width:960px){ body.page-template-page-insights-php .filter-row{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ body.page-template-page-insights-php .filter-row{ grid-template-columns:1fr; } }
body.page-template-page-insights-php .ins-input,
body.page-template-page-insights-php .ins-select{ width:100%; height:48px; border:1px solid #e7edf5; border-radius:14px; padding:0 14px; font-weight:600; color:#0f172a; background:#fff; }
body.page-template-page-insights-php .filter-actions{ display:flex; gap:10px; justify-content:flex-end; }
body.page-template-page-insights-php .filter-chips{ margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; }
body.page-template-page-insights-php .chip{ display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; background:#f6e4b8; color:#7a5a00; font-weight:700; font-size:13px; }

body.page-template-page-insights-php .ins-grid-wrap{ padding: 8px 0 64px; }
body.page-template-page-insights-php .ins-grid{ display:grid; gap: clamp(16px, 2.4vw, 28px); grid-template-columns: repeat(3, minmax(260px,1fr)); }
@media (max-width:1100px){ body.page-template-page-insights-php .ins-grid{ grid-template-columns: repeat(2, minmax(240px,1fr)); } }
@media (max-width:640px){  body.page-template-page-insights-php .ins-grid{ grid-template-columns: 1fr; } }
body.page-template-page-insights-php .ins-card{ background:#fff; border:1px solid #e7edf5; border-radius:18px; overflow:hidden; box-shadow:0 14px 36px rgba(16,24,40,.08); transition: transform .18s ease, box-shadow .18s ease; }
body.page-template-page-insights-php .ins-card:hover{ transform: translateY(-2px); box-shadow:0 18px 46px rgba(16,24,40,.12); }
body.page-template-page-insights-php .ins-media{ position:relative; display:block; aspect-ratio:16/9; overflow:hidden; }
body.page-template-page-insights-php .ins-media img{ width:100%; height:100%; object-fit:cover; display:block; }
body.page-template-page-insights-php .ins-fallback{ display:grid; place-items:center; width:100%; aspect-ratio:16/9; background:#0b1a2a; color:#fff; font-weight:900; font-size:38px; }
body.page-template-page-insights-php .ins-cat{
  position:absolute; left:12px; top:12px; background:linear-gradient(180deg,#f6ca67 0%, #e4ac44 100%); color:#fff; font-weight:800; font-size:12px; padding:6px 10px; border-radius:999px; box-shadow:0 6px 16px rgba(234,184,76,.25);
}
body.page-template-page-insights-php .ins-meta{ display:flex; gap:10px; align-items:center; color:#94a3b8; font-weight:700; font-size:12px; margin:12px 18px 0; }
body.page-template-page-insights-php .ins-h3{ font-size: clamp(18px,2.2vw,22px); line-height:1.25; margin:8px 18px; }
body.page-template-page-insights-php .ins-excerpt{ color:#475569; margin:0 18px 14px; }
body.page-template-page-insights-php .ins-more{ margin:0 18px 18px; display:inline-flex; align-items:center; gap:6px; text-decoration:none; font-weight:800; color:#0b1a2a; }
body.page-template-page-insights-php .ins-more span{ transition: transform .18s; }
body.page-template-page-insights-php .ins-more:hover span{ transform: translateX(2px); }
body.page-template-page-insights-php .ins-pagination{ margin-top:22px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
body.page-template-page-insights-php .ins-pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding:0 12px; border-radius:12px;
  border:1px solid #e7edf5; background:#fff; color:#0f172a; text-decoration:none; font-weight:700;
}
body.page-template-page-insights-php .ins-pagination .current,
body.page-template-page-insights-php .ins-pagination .page-numbers:hover{
  background:linear-gradient(180deg,#f6ca67 0%, #e4ac44 100%);
  color:#fff; border-color:transparent; box-shadow:0 8px 22px rgba(234,184,76,.25);
}
body.page-template-page-insights-php .sr-only{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }

/* Pill dorado unificado */
.gv-pill,
.ss-kicker,
.ins-badge-pill{
  display:inline-block; padding:10px 16px; border-radius:999px;
  font-weight:800; letter-spacing:.2px; color:#fff !important;
  background:linear-gradient(180deg,#f6ca67 0%, #e4ac44 100%) !important;
  box-shadow:0 10px 24px rgba(234,184,76,.28); border:0 !important;
}
.gv-pill--lg{ padding:12px 22px; font-size:clamp(16px,1.6vw,20px); }
.over25 .gv-pill, .over25 .ss-kicker, .over25 .ins-badge-pill{ display:inline-block; margin:0 auto 10px; }

/* ===== Footer GOVISAN ===== */
.gv-footer{color:#eaf0f6;background:#0b1f2e}
.gv-footer a{color:#eaf0f6;text-decoration:none}
.gv-footer a:hover{opacity:.9}
.gv-footer .container{max-width:1220px;margin:0 auto;padding:0 clamp(16px,5vw,36px)}
.gv-footer__top{padding:52px 0 30px}
.gv-footer__grid{ display:grid; gap:28px; grid-template-columns: 1.2fr repeat(3, .9fr) .9fr; }
@media (max-width:1100px){ .gv-footer__grid{grid-template-columns:1fr 1fr; gap:34px} }
@media (max-width:640px){ .gv-footer__grid{grid-template-columns:1fr} }
.gv-footer__brand .brand{display:inline-flex; align-items:flex-end; gap:10px}
.gv-footer__brand .brand img{max-height:48px}
.gv-footer__brand .brand-text{font-weight:800; font-size:34px; line-height:1.05}
.gv-footer__brand .brand-text b{color:#f3c15e}
.gv-footer__brand .brand-tagline{max-width:34ch;margin:14px 0 10px;color:#c7d3df}
.gv-footer__brand .brand-sub{opacity:.85;margin:0 0 14px}
.gv-footer__brand .brand-social{display:flex; gap:10px}
.gv-footer__brand .social-btn{ width:40px;height:40px;display:grid;place-items:center;border-radius:12px; background:#132b3e; box-shadow:0 10px 24px rgba(0,0,0,.2); }
.gv-footer__col h3{margin:6px 0 10px;font-weight:800;color:#f3c15e}
.gv-footer__menu{list-style:none;margin:0;padding:0}
.gv-footer__menu li+li{margin-top:8px}
.gv-footer__menu a{color:#eaf0f6;opacity:.95}
.gv-footer__menu a:hover{opacity:1}
.gv-footer__offices{display:grid;gap:22px}
.gv-footer__offices .office h4{margin:6px 0 10px;font-weight:800;color:#f3c15e}
.gv-footer__offices .office ul{list-style:none;margin:0;padding:0}
.gv-footer__offices .office li{display:flex;align-items:center;gap:10px;margin:8px 0;color:#eaf0f6}
.gv-footer__offices .office a{color:#eaf0f6;text-decoration:none}
.gv-footer__offices .i{ width:18px;height:18px;display:inline-block;border-radius:6px;background:#132b3e;position:relative; }
.gv-footer__offices .i.pin::after{content:"📍";position:absolute;inset:0;display:grid;place-items:center}
.gv-footer__offices .i.phone::after{content:"☎️";position:absolute;inset:0;display:grid;place-items:center}
.gv-footer__offices .i.mail::after{content:"✉️";position:absolute;inset:0;display:grid;place-items:center}
.gv-footer__bottom{border-top:1px solid rgba(255,255,255,.06);padding:16px 0}
.gv-footer__bottom .container{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.gv-footer__bottom .copy{margin:0;opacity:.9}
.gv-footer__bottom .slogan{margin:0;color:#c7d3df}

/* Our Services — token degradado azul→dorado */
.solutions .sol-token{
  width:48px; height:48px; border-radius:14px; display:inline-grid; place-items:center;
  background:
    radial-gradient(120% 120% at 15% 115%, rgba(234,184,76,.65) 0%, rgba(234,184,76,0) 45%),
    radial-gradient(120% 120% at 110% -10%, #2a7fff 0%, rgba(42,127,255,0) 55%),
    linear-gradient(135deg, #eab84c 0%, #0b6bff 100%) !important;
  box-shadow: 0 10px 24px rgba(11,107,255,.18), 0 6px 18px rgba(234,184,76,.18);
  margin: 4px 0 10px;
}
.solutions .sol-token svg,
.solutions .sol-token svg *,
.solutions .sol-token i{ color:#fff !important; fill:#fff !important; stroke:#fff !important; }

/* ===== GOVISAN — FOOTER HOTFIX COMPACTO ===== */
#colophon.site-footer, footer.gv-footer{--gold:#EAB84C;--text:#e9f2f8;--bg:#0b1f2e;}
#colophon.site-footer, footer.gv-footer{background:var(--bg);color:var(--text);}
#colophon.site-footer, #colophon.site-footer nav a,
footer.gv-footer, footer.gv-footer nav a{font-size:14px!important;}
#colophon.site-footer nav h3, footer.gv-footer nav h3{ font-size:16px!important;font-weight:800!important;color:var(--gold)!important;letter-spacing:.2px; }
#colophon.site-footer .offices-title, footer.gv-footer .offices-title,
#colophon.site-footer .gv-footer__offices h2, #colophon.site-footer .gv-footer__offices h3, #colophon.site-footer .gv-footer__offices h4,
footer.gv-footer .gv-footer__offices h2, footer.gv-footer .gv-footer__offices h3, footer.gv-footer .gv-footer__offices h4{
  color:var(--gold)!important;opacity:1!important;font-weight:800!important;margin:0 0 10px!important;background:none!important;border:0!important;border-radius:0!important;padding:0!important;
}
#colophon.site-footer .gv-footer__offices [class*="card"],
#colophon.site-footer .gv-footer__offices [class*="panel"],
#colophon.site-footer .gv-footer__offices [class*="box"],
#colophon.site-footer .gv-footer__offices [class*="chip"],
footer.gv-footer .gv-footer__offices [class*="card"],
footer.gv-footer .gv-footer__offices [class*="panel"],
footer.gv-footer .gv-footer__offices [class*="box"],
footer.gv-footer .gv-footer__offices [class*="chip"]{ background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important; }
#colophon.site-footer .gv-footer__offices .office, footer.gv-footer .gv-footer__offices .office{position:relative!important;padding-left:18px!important;margin:14px 0 6px;}
#colophon.site-footer .gv-footer__offices .office::before, footer.gv-footer .gv-footer__offices .office::before{ content:"";position:absolute;left:0;top:2px;bottom:2px;width:3px;background:var(--gold);border-radius:3px;opacity:.95; }
#colophon.site-footer .gv-footer__offices ul, footer.gv-footer .gv-footer__offices ul{list-style:none!important;margin:8px 0 0!important;padding:0!important;}
#colophon.site-footer .gv-footer__offices li, footer.gv-footer .gv-footer__offices li{position:relative;padding-left:26px;color:var(--text);margin:10px 0;}
#colophon.site-footer .gv-footer__offices li::before, footer.gv-footer .gv-footer__offices li::before{
  content:"";position:absolute;left:0;top:1px;width:18px;height:18px;background-repeat:no-repeat;background-size:contain;background-position:center;
}
#colophon.site-footer .gv-footer__offices li:nth-child(1)::before, footer.gv-footer .gv-footer__offices li:nth-child(1)::before{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23EAB84C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s-7-6.5-7-11a7 7 0 1 1 14 0c0 4.5-7 11-7 11z"/><circle cx="12" cy="11" r="2.5" fill="%23EAB84C" stroke="none"/></svg>');
}
#colophon.site-footer .gv-footer__offices li:nth-child(2)::before, footer.gv-footer .gv-footer__offices li:nth-child(2)::before{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23EAB84C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07A19.5 19.5 0 0 1 3.15 12.81 19.8 19.8 0 0 1 .08 4.18 2 2 0 0 1 2.11 2h3A2 2 0 0 1 7.1 3.72l.5 3a2 2 0 0 1-1.1 2.12l-.8.4a16 16 0 0 0 7.2 7.2l.4-.8a2 2 0 0 1 2.12-1.1l3 .5A2 2 0 0 1 22 16.92z"/></svg>');
}
#colophon.site-footer .gv-footer__offices li:nth-child(3)::before, footer.gv-footer .gv-footer__offices li:nth-child(3)::before{
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23EAB84C" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="5" width="18" height="14" rx="2" ry="2"/><polyline points="3 7 12 13 21 7"/></svg>');
}
#colophon.site-footer nav a, footer.gv-footer nav a{color:var(--text)!important;font-weight:600;opacity:.95;}
#colophon.site-footer nav a:hover, footer.gv-footer nav a:hover{color:#FFD067!important;}
#colophon.site-footer .gv-footer__offices .office + .office, footer.gv-footer .gv-footer__offices .office + .office{margin-top:18px!important;}

/* --- GOVISAN: chips/pins categoría landing /insights --- */
:root{ --gv-gold:#EAB84C; --gv-ink:#0b1f2e; }
.insights-grid .post-chip,
.insights-grid .category-pill,
.insights-grid .cat-badge,
.insights-list .post-chip,
.insights-list .category-pill,
.insights-list .cat-badge,
.post-grid.insights .post-chip,
.post-grid.insights .category-pill,
.post-grid.insights .cat-badge{ background: var(--gv-gold) !important; color: var(--gv-ink) !important; border-color: transparent !important; }
.insights-grid .post-chip::before,
.insights-grid .category-pill::before,
.insights-list .post-chip::before,
.insights-list .category-pill::before,
.post-grid.insights .post-chip::before,
.post-grid.insights .category-pill::before{ background: var(--gv-ink) !important; }
.insights-grid .post-chip:hover,
.insights-list .post-chip:hover,
.post-grid.insights .post-chip:hover{ background: #FFD067 !important; color: var(--gv-ink) !important; }

/* H1 hero blanco si el bloque usa clases genéricas */
.gv-hero{ --text:#fff; }
.hero, .section--hero{ --text:#fff; }
.gv-hero h1, .gv-hero h2, .hero h1, .hero .section-title{ color:#fff !important; }

/* Menú Insights activo sin link */
.page-id-178 .site-header .main-nav .current-menu-item > a,
.page-template-page-insights .site-header .main-nav .current-menu-item > a,
.page-id-178 .site-header .menu .current-menu-item > a,
.page-template-page-insights .site-header .menu .current-menu-item > a{
  pointer-events:none; cursor:default; color:#EAB84C !important; font-weight:800;
}

/* =========================================================
   FINAL OVERRIDES (coloca SIEMPRE al final del archivo)
   - Fuerzan H1 del hero en Insights a blanco sin tocar la regla global
   ========================================================= */
.page-template-page-insights-php .ins-hero .ins-title,
.page-insights .ins-hero .ins-title,
.page-template-page-insights-php .wp-block-cover__inner-container h1,
.page-template-page-insights .wp-block-cover__inner-container h1,
.page-insights .wp-block-cover__inner-container h1,
body.page-id-313 .wp-block-cover__inner-container h1,
body.page-id-178 .wp-block-cover__inner-container h1{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  mix-blend-mode:normal !important;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
/* ===== Header: estado "activo" del menú en dorado en TODO el sitio ===== */
.site-header .primary-nav .menu .current-menu-item > a,
.site-header .primary-nav .menu .current_page_item > a,
.site-header .primary-nav .menu .current-menu-ancestor > a,
.site-header .primary-nav .menu a[aria-current="page"]{
  color:#EAB84C !important;
  font-weight:800;
  pointer-events:none; /* evita que el activo parezca clicable */
}

/* Color base y hover del resto de enlaces del menú (no activos) */
.site-header .primary-nav .menu a{
  color:#334155 !important;
}
.site-header .primary-nav .menu a:hover{
  color:#0f172a !important;
}

/* Si algún ítem del menú lleva clases de botón, neutralízalo dentro del menú */
.site-header .primary-nav .menu a.btn,
.site-header .primary-nav .menu a.btn-primary{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:#334155 !important;
}

/* El CTA de la derecha (“Request Proposal”) mantiene su estilo de botón */
.header-cta{ color:#fff !important; }
/* ===== Header: arreglar el link "Insights" ===== */

/* Estado normal (no activo): texto legible, sin estilos de pill */
.site-header .primary-nav .menu a[href*="/insights"]{
  color:#334155 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

/* Hover coherente */
.site-header .primary-nav .menu a[href*="/insights"]:hover{
  color:#0f172a !important;
}

/* Estado activo (página de Insights / archivo / detalle) en dorado */
.site-header .primary-nav .menu .current-menu-item > a[href*="/insights"],
.site-header .primary-nav .menu .current_page_item > a[href*="/insights"],
.site-header .primary-nav .menu .current-menu-ancestor > a[href*="/insights"],
.site-header .primary-nav .menu a[href*="/insights"][aria-current="page"]{
  color:#EAB84C !important;
  font-weight:800;
  pointer-events:none;
}
/* ===== Header: arreglar el link "Insights" ===== */

/* Estado normal (no activo): texto legible, sin estilos de pill */
.site-header .primary-nav .menu a[href*="/insights"]{
  color:#334155 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

/* Hover coherente */
.site-header .primary-nav .menu a[href*="/insights"]:hover{
  color:#0f172a !important;
}

/* Estado activo (página de Insights / archivo / detalle) en dorado */
.site-header .primary-nav .menu .current-menu-item > a[href*="/insights"],
.site-header .primary-nav .menu .current_page_item > a[href*="/insights"],
.site-header .primary-nav .menu .current-menu-ancestor > a[href*="/insights"],
.site-header .primary-nav .menu a[href*="/insights"][aria-current="page"]{
  color:#EAB84C !important;
  font-weight:800;
  pointer-events:none;
}
/* ====== HEADER — Enlaces del menú (reset duro) ====== */
/* Pone TODOS los enlaces del menú en color normal
   y les quita cualquier estilo de "pill/botón" que se les haya colado */
.site-header .header-wrap nav ul li > a:not(.header-cta):not(.btn):not(.btn-primary){
  color:#334155 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
}
.site-header .header-wrap nav ul li > a:not(.header-cta):not(.btn):not(.btn-primary) *{
  color:#334155 !important;
  fill:#334155 !important;
}

/* Activo en DORADO para el item actual (cualquier sección) */
.site-header .header-wrap nav ul li.current-menu-item > a,
.site-header .header-wrap nav ul li.current_page_item > a,
.site-header .header-wrap nav ul li.current-menu-ancestor > a{
  color:#EAB84C !important;
  font-weight:800;
  pointer-events:none;
}

/* Caso específico: si el enlace de Insights tuviera clases de pill/botón */
.site-header .header-wrap nav ul li > a[href*="insights"]{
  color:#334155 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
}
.site-header .header-wrap nav ul li > a[href*="insights"] *{
  color:#334155 !important;
  fill:#334155 !important;
}
/* ===== Contacto: compactar líneas dentro de las tarjetas ===== */
#contact .contact-card h2,
#contact .contact-card h3{
  margin-bottom: 10px !important;       /* título + poco aire */
}

#contact .contact-card address,
#contact .contact-card .address,
#contact .contact-card p,
#contact .contact-card .wp-block-paragraph{
  line-height: 1.45 !important;          /* líneas más juntas */
  margin: 4px 0 !important;              /* quitamos el gran margen vertical */
}

/* cuando hay párrafos consecutivos (líneas de la dirección) */
#contact .contact-card p + p{
  margin-top: 4px !important;
}

/* filas de teléfono / email (con icono) */
#contact .contact-card li,
#contact .contact-card .contact-row{
  margin: 6px 0 !important;
}

/* si la tarjeta mete mucho padding vertical, podemos afinar un poco */
#contact .contact-card{
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}
/* === HEADER FIX — conservar CTA y arreglar Insights === */

/* 1) Restaurar el CTA de la derecha (Request Proposal) */
.site-header .header-cta,
.site-header a.header-cta,
.site-header .wp-block-button .wp-block-button__link{
  background: linear-gradient(180deg,#f6ca67 0%, #e4ac44 100%) !important;
  color:#fff !important;
  border:0 !important;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(234,184,76,.28) !important;
}

/* 2) Enlaces del menú (NO CTA): color normal y sin “pill” accidental */
.site-header nav a:not(.header-cta):not(.wp-block-button__link){
  color:#334155 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

/* 3) Si algún enlace del menú trae clases tipo pill/badge, neutralízalas SOLO en el menú */
.site-header nav .ins-badge-pill,
.site-header nav .ss-kicker,
.site-header nav [class*="pill"],
.site-header nav [class*="badge"]{
  background:transparent !important;
  color:#334155 !important;
  box-shadow:none !important;
  border:0 !important;
}

/* 4) Ítem ACTIVO del menú en dorado (igual que en Insights) */
.site-header nav .current-menu-item > a,
.site-header nav .current_page_item > a,
.site-header nav .current-menu-ancestor > a,
.site-header nav a[aria-current="page"]{
  color:#EAB84C !important;
  font-weight:800;
  pointer-events:none;
}
/* ===== Header: forzar visibilidad de "Insights" en el menú ===== */

/* Estado normal: texto legible, sin pill ni efectos raros */
.site-header .header-wrap .primary-nav .menu li a[href*="/insights"],
.site-header .header-wrap nav .menu li a[href*="/insights"]{
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important; /* por si algún mix-blend/text-fill lo blanquea */
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  opacity:1 !important;
  visibility:visible !important;
  mix-blend-mode:normal !important;
}

/* Si el enlace trae la clase de "pill", la neutralizamos SOLO aquí */
.site-header .header-wrap .primary-nav .menu li a[href*="/insights"].ins-badge-pill,
.site-header .header-wrap .primary-nav .menu li a[href*="/insights"] .ins-badge-pill{
  background:transparent !important;
  color:#334155 !important;
  box-shadow:none !important;
  border:0 !important;
  padding:0 !important;
  border-radius:0 !important;
}

/* También si hay spans internos, los pintamos como link normal */
.site-header .header-wrap .primary-nav .menu li a[href*="/insights"] *{
  color:#334155 !important;
  fill:#334155 !important;
}

/* Hover coherente */
.site-header .header-wrap .primary-nav .menu li a[href*="/insights"]:hover{
  color:#0f172a !important;
}

/* Activo (cuando estés en Insights): dorado, como el resto */
.site-header .header-wrap .primary-nav .menu li.current-menu-item > a[href*="/insights"],
.site-header .header-wrap .primary-nav .menu li.current_page_item > a[href*="/insights"],
.site-header .header-wrap .primary-nav .menu li.current-menu-ancestor > a[href*="/insights"],
.site-header .header-wrap .primary-nav .menu li a[href*="/insights"][aria-current="page"]{
  color:#EAB84C !important;
  -webkit-text-fill-color:#EAB84C !important;
  font-weight:800;
  pointer-events:none;
}
/* =========================
   NAV — FIX INSIGHTS (solo en el header)
   ========================= */

/* 0) El CTA de la derecha NO se toca */
.site-header .header-cta,
.site-header a.header-cta,
.site-header .wp-block-button .wp-block-button__link{
  background: linear-gradient(180deg,#f6ca67 0%, #e4ac44 100%) !important;
  color:#fff !important;
}

/* 1) Neutraliza cualquier “pill/badge” dentro del menú del header */
.site-header nav :is(a,span,strong).ins-badge-pill,
.site-header nav :is(a,span,strong).ss-kicker,
.site-header nav :is(a,span,strong)[class*="pill"],
.site-header nav :is(a,span,strong)[class*="badge"]{
  background:transparent !important;
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  text-shadow:none !important;
  box-shadow:none !important;
  border:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
}

/* Si la clase va en el <li>, también forzamos el <a> */
.site-header nav li.ins-badge-pill > a,
.site-header nav li[class*="pill"] > a,
.site-header nav li[class*="badge"] > a{
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  background:transparent !important;
  text-shadow:none !important;
  box-shadow:none !important;
}

/* 2) Color normal para TODOS los enlaces del menú (no CTA) */
.site-header nav a:not(.header-cta):not(.wp-block-button__link){
  color:#334155 !important;
  background:transparent !important;
  text-shadow:none !important;
  box-shadow:none !important;
}

/* 3) Activo en dorado en todo el sitio (incluye Insights) */
.site-header nav .current-menu-item > a,
.site-header nav .current_page_item > a,
.site-header nav .current-menu-ancestor > a,
.site-header nav a[aria-current="page"]{
  color:#EAB84C !important;
  -webkit-text-fill-color:#EAB84C !important;
  font-weight:800;
  pointer-events:none;
}

/* 4) Extra-robusto para el enlace de Insights aunque sea #insights o tenga wrappers */
.site-header nav a[href*="insights" i],
.site-header nav a[href*="#insights" i],
.site-header nav a[href*="/insights" i]{
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  background:transparent !important;
}
.site-header nav a[href*="insights" i] *{
  color:#334155 !important;
  fill:#334155 !important;
}

/* =========================
   SUCCESS STORIES — banda azul bajo el header
   (aparece cuando Success Stories es la sección/página activa)
   ========================= */
.site-header{ position:sticky; z-index:9999; }
.site-header:has(.primary-nav .menu .current-menu-item > a[href*="success" i]),
.site-header:has(.primary-nav .menu a[aria-current="page"][href*="success" i]){
  border-bottom:0 !important;
}
.site-header:has(.primary-nav .menu .current-menu-item > a[href*="success" i])::after,
.site-header:has(.primary-nav .menu a[aria-current="page"][href*="success" i])::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:8px;
  background:#0b1f2e; /* azul GOVISAN */
  box-shadow:0 8px 24px rgba(11,31,46,.25);
  pointer-events:none;
}
/* INSIGHTS — visibilidad en el header */
.site-header .header-wrap .primary-nav .menu > li > a[href*="/insights"],
.site-header .header-wrap nav .menu > li > a[href*="/insights"]{
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  background:transparent !important;
  text-shadow:none !important;
  box-shadow:none !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
  visibility:visible !important;
}
/* Por si el texto va envuelto en spans/pills dentro del <a> */
.site-header .header-wrap .primary-nav .menu > li > a[href*="/insights"] *{
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  background:transparent !important;
  text-shadow:none !important;
  box-shadow:none !important;
}

/* Hover normal */
.site-header .header-wrap .primary-nav .menu > li > a[href*="/insights"]:hover{
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
}

/* Activo en dorado (igual que el resto) */
.site-header .header-wrap .primary-nav .menu > li.current-menu-item > a[href*="/insights"],
.site-header .header-wrap .primary-nav .menu > li.current_page_item > a[href*="/insights"],
.site-header .header-wrap .primary-nav .menu > li.current-menu-ancestor > a[href*="/insights"],
.site-header .header-wrap .primary-nav .menu > li > a[href*="/insights"][aria-current="page"]{
  color:#EAB84C !important;
  -webkit-text-fill-color:#EAB84C !important;
  font-weight:800 !important;
  pointer-events:none;
}
/* SUCCESS STORIES — hero azul (aplica a un Cover con clase hero--navy) */
.hero--navy.wp-block-cover{
  background:
    radial-gradient(120% 160% at 8% 0%, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, #0b1f2e 0%, #0e3046 100%) !important;
}

/* Tipografías dentro del hero en blanco */
.hero--navy .wp-block-cover__inner-container h1,
.hero--navy .wp-block-cover__inner-container h2,
.hero--navy .wp-block-cover__inner-container p{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}

/* El pill dorado (Success Stories) mantiene su estilo */
.hero--navy .ss-kicker,
.hero--navy .ins-badge-pill{
  background: linear-gradient(180deg, #f6ca67 0%, #e4ac44 100%) !important;
  color:#fff !important;
  text-shadow:0 1px 0 rgba(0,0,0,.18);
}
/* =========================
   INSIGHTS — SIEMPRE VISIBLE EN EL MENÚ
   ========================= */

/* 1) Forzar color normal del enlace (y de todo lo que lleve dentro) */
.site-header nav a[href*="/insights" i],
.site-header nav a[href*="/insights" i] *,
.site-header .menu a[href*="/insights" i],
.site-header .menu a[href*="/insights" i] *{
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  background:transparent !important;
  text-shadow:none !important;
  box-shadow:none !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  -webkit-text-stroke:0 !important;
  text-stroke:0 !important;
}

/* 2) Si el label viene como “pill” dentro del <a>, lo neutralizamos SOLO en header */
.site-header nav a[href*="/insights" i] .ins-badge-pill,
.site-header nav a[href*="/insights" i] .gv-pill,
.site-header nav a[href*="/insights" i] [class*="pill"],
.site-header nav a[href*="/insights" i] [class*="badge"]{
  background:transparent !important;
  color:#334155 !important;
  box-shadow:none !important;
  border:0 !important;
  padding:0 !important;
  border-radius:0 !important;
}

/* 3) Hover normal */
.site-header nav a[href*="/insights" i]:hover{
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
}

/* 4) Activo en dorado (como el resto) */
.site-header nav .current-menu-item > a[href*="/insights" i],
.site-header nav .current_page_item > a[href*="/insights" i],
.site-header nav .current-menu-ancestor > a[href*="/insights" i],
.site-header nav a[href*="/insights" i][aria-current="page"]{
  color:#EAB84C !important;
  -webkit-text-fill-color:#EAB84C !important;
  font-weight:800 !important;
  pointer-events:none;
}

/* Mantener el CTA del header como botón (por si algún reset lo pisa) */
.site-header a.header-cta,
.site-header .wp-block-button .wp-block-button__link{
  background: linear-gradient(180deg,#f6ca67 0%, #e4ac44 100%) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:14px !important;
  box-shadow:0 10px 24px rgba(234,184,76,.28) !important;
}
/* SUCCESS STORIES — poner el primer Cover del contenido en azul
   cuando el item "Success Stories" está activo en el menú */
body:has(.site-header nav .current-menu-item > a[href*="/success" i]) .wp-block-cover:first-of-type{
  background:
    radial-gradient(120% 160% at 8% 0%, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, #0b1f2e 0%, #0e3046 100%) !important;
}
body:has(.site-header nav .current-menu-item > a[href*="/success" i]) .wp-block-cover:first-of-type .wp-block-cover__image-background{
  opacity:.08 !important; /* por si hay imagen */
}
body:has(.site-header nav .current-menu-item > a[href*="/success" i]) .wp-block-cover__inner-container h1,
body:has(.site-header nav .current-menu-item > a[href*="/success" i]) .wp-block-cover__inner-container p,
body:has(.site-header nav .current-menu-item > a[href*="/success" i]) .wp-block-cover__inner-container .ss-kicker{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
Opción B — por ID/slug de página (compatible total)
Sustituye XXX por el ID real de la página de Success Stories (o usa .page-name-success-stories si tu body trae esa clase).

css
Copiar código
/* Reemplaza XXX por el ID de la página Success Stories */
body.page-id-XXX .wp-block-cover:first-of-type{
  background:
    radial-gradient(120% 160% at 8% 0%, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, #0b1f2e 0%, #0e3046 100%) !important;
}
body.page-id-XXX .wp-block-cover:first-of-type .wp-block-cover__image-background{ opacity:.08 !important; }
body.page-id-XXX .wp-block-cover__inner-container h1,
body.page-id-XXX .wp-block-cover__inner-container p,
body.page-id-XXX .wp-block-cover__inner-container .ss-kicker{
  color:#fff !important; -webkit-text-fill-color:#fff !important; text-shadow:0 1px 2px rgba(0,0,0,.25);
}
/* MENU — Fix duro SOLO para el item "Insights" */
.site-header .primary-nav .menu > li.menu-insights > a,
.site-header .header-wrap nav .menu > li.menu-insights > a{
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  background:transparent !important;
  text-shadow:none !important;
  box-shadow:none !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
}
.site-header .primary-nav .menu > li.menu-insights > a:hover{
  color:#0f172a !important;
}
.site-header .primary-nav .menu > li.menu-insights.current-menu-item > a,
.site-header .primary-nav .menu > li.menu-insights.current_page_item > a,
.site-header .primary-nav .menu > li.menu-insights > a[aria-current="page"]{
  color:#EAB84C !important;
  -webkit-text-fill-color:#EAB84C !important;
  font-weight:800 !important;
  pointer-events:none;
}
/* ===== NAV: forzar visibilidad del item "Insights" (#menu-item-70) ===== */
#menu-item-70 { 
  display:list-item !important;
  visibility:visible !important;
  opacity:1 !important;
}

#menu-item-70 > a{
  /* que se vea como un link normal del menú */
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-shadow:none !important;
  mix-blend-mode:normal !important;
  filter:none !important;
  padding:8px 2px !important;
  pointer-events:auto !important;
}

/* spans/iconos internos, por si hubiera un “pill” dentro */
#menu-item-70 > a *{
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  background:transparent !important;
  fill:#334155 !important;
  box-shadow:none !important;
  text-shadow:none !important;
}

/* hover coherente */
#menu-item-70 > a:hover{
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
}

/* estado ACTIVO en dorado */
.current-menu-item#menu-item-70 > a,
.current_page_item#menu-item-70 > a,
.current-menu-ancestor#menu-item-70 > a,
#menu-item-70 > a[aria-current="page"]{
  color:#EAB84C !important;
  -webkit-text-fill-color:#EAB84C !important;
  font-weight:800 !important;
  pointer-events:none;
}
/* === INSIGHTS en el menú: forzar visibilidad y color === */
.site-header .primary-nav .menu li.menu-insights > a,
.site-header .primary-nav .menu li#menu-item-70 > a,
.site-header .header-wrap nav ul li#menu-item-70 > a{
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
  background:transparent !important;
  text-shadow:none !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  pointer-events:auto !important;
}

.site-header .primary-nav .menu li.menu-insights > a:hover,
.site-header .primary-nav .menu li#menu-item-70 > a:hover,
.site-header .header-wrap nav ul li#menu-item-70 > a:hover{
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
}

/* Activo en dorado cuando estás en páginas/plantillas de Insights */
body.page-id-178  .site-header #menu-item-70 > a,
body.page-id-313  .site-header #menu-item-70 > a,
body.page-template-page-insights-php .site-header #menu-item-70 > a,
body.page-template-page-insights    .site-header #menu-item-70 > a{
  color:#EAB84C !important;
  -webkit-text-fill-color:#EAB84C !important;
  font-weight:800 !important;
  pointer-events:none;
}
.legal-doc{max-width:760px;margin:0 auto;line-height:1.7}
.legal-doc h2{margin-top:1.6rem}
.legal-doc h3{margin-top:1.2rem}
.legal-toc{margin:1rem 0 1.5rem;padding-left:1.1rem}
.legal-toc li{margin:.25rem 0}
:target{scroll-margin-top:90px} /* compensa header sticky al saltar a secciones */
/* =============== NAV: Submenus (desktop + móvil) =============== */
.primary-nav .menu .sub-menu{ list-style:none; margin:0; padding:8px 0; }

@media (min-width:1025px){
  .primary-nav .menu > li{ position:relative; }
  .primary-nav .menu .sub-menu{
    position:absolute; top:100%; left:0; min-width:220px;
    background:#fff; border:1px solid #eaeaea; border-radius:12px;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
    display:none;
  }
  .primary-nav .menu .sub-menu li a{
    display:block; padding:10px 14px; white-space:nowrap; color:#0f172a; text-decoration:none;
  }
  .primary-nav .menu li:hover > .sub-menu,
  .primary-nav .menu li:focus-within > .sub-menu{ display:block; }
  .submenu-toggle{ display:none; } /* oculto el botón de acordeón en desktop */
}

@media (max-width:1024px){
  .primary-nav .menu .sub-menu{
    display:none; padding-left:14px; border-left:2px solid rgba(15,23,42,.06); margin:6px 0 0;
  }
  .primary-nav .menu .menu-item-has-children[aria-expanded="true"] > .sub-menu{ display:block; }
  .primary-nav .menu .menu-item-has-children{ position:relative; }
  .primary-nav .menu .submenu-toggle{
    position:absolute; right:-6px; top:0; height:100%; width:36px;
    border:0; background:transparent; font-size:16px; cursor:pointer;
  }
  .primary-nav .menu .menu-item-has-children > a{ padding-right:28px; }
}

/* =============== Utilidades responsive extra =============== */
.wp-block-table{ display:block; overflow-x:auto; }
.wp-block-table table{ min-width:600px; }
.wp-block-embed__wrapper iframe, iframe{ width:100%; height:auto; aspect-ratio:16/9; }
:target{ scroll-margin-top:90px; } /* compensa header sticky al saltar a anclas */
/* ==== Mobile menu: overlay 100% BLANCO cuando está abierto ==== */

/* Capa blanca de fondo (queda detrás del header y del menú) */
body.gv-nav-open::before{
  content:"";
  position:fixed; inset:0;
  background:#fff;
  z-index:9998;            /* debajo del header/menú */
}

/* Asegura header por encima y blanco */
body.gv-nav-open .elementor-location-header,
body.gv-nav-open .site-header,
body.gv-nav-open #masthead{
  background:#fff !important;
  z-index:10000;
  box-shadow:0 1px 0 rgba(0,0,0,.06);
}

/* Contenedor del menú (varias variantes de Elementor/tema) */
body.gv-nav-open .elementor-nav-menu--dropdown .elementor-nav-menu__container,
body.gv-nav-open nav.elementor-nav-menu__container,
body.gv-nav-open .elementor-nav-menu--dropdown,
body.gv-nav-open .primary-menu,
body.gv-nav-open #primary-menu,
body.gv-nav-open .main-nav .menu{
  position:fixed !important;
  left:0; right:0; top:0; bottom:0;
  width:100% !important;
  overflow-y:auto !important;
  background:#fff !important;         /* ← BLANCO sólido */
  padding:72px 16px 20px !important;  /* hueco bajo el header */
  z-index:10001 !important;
  box-shadow:0 18px 32px rgba(0,0,0,.12);
}

/* Links en tinta oscura dentro del overlay */
body.gv-nav-open .elementor-nav-menu a,
body.gv-nav-open .primary-menu a,
body.gv-nav-open #primary-menu a{ color:#0b1f2e !important; }
body.gv-nav-open .elementor-nav-menu a:hover{ background:rgba(0,0,0,.04) !important; border-radius:12px; }

/* Admin bar: evita solape */
body.admin-bar.gv-nav-open::before{ top:32px; }
@media (max-width:782px){
  body.admin-bar.gv-nav-open::before{ top:46px; }
}
/* ==== GV — Mobile hamburger overlay 100% BLANCO, sin transparencia ==== */
@media (max-width:1024px){
  /* Header siempre blanco en móvil */
  .elementor-location-header,
  .site-header,
  #masthead{
    background:#fff !important;
    box-shadow:0 1px 0 rgba(0,0,0,.06) !important;
    position:sticky; top:0; z-index:9999;
  }

  /* 1) Contenedores típicos de Elementor/Nav: fondo blanco */
  .elementor-nav-menu--dropdown,
  .elementor-nav-menu__container,
  .elementor-nav-menu--dropdown .elementor-nav-menu__container,
  .elementor-nav-menu--dropdown .elementor-nav-menu{
    background:#fff !important;
    backdrop-filter:none !important;
  }

  /* 2) Cuando el menú está visible, conviértelo en overlay fijo */
  /* Usamos varias condiciones y además el truco del box-shadow para rellenar */
  .gv-nav-open .elementor-nav-menu--dropdown .elementor-nav-menu__container,
  .elementor-nav-menu--dropdown .elementor-nav-menu__container.elementor-active,
  .menu-toggle[aria-expanded="true"] ~ .elementor-nav-menu__container{
    position:fixed !important;
    left:0; right:0; top:0; bottom:0;
    width:100% !important;
    padding:72px 16px 24px !important; /* hueco bajo el header */
    overflow-y:auto !important;
    background:#fff !important;
    box-shadow:0 0 0 9999px #fff !important; /* ← tapadera blanca total */
    z-index:10001 !important;
  }

  /* 3) Si el tema crea una capa overlay aparte: blanquearla */
  .e-n-menu-overlay,
  .nav-overlay,
  .menu-overlay{
    background:#fff !important;
    opacity:1 !important;
    backdrop-filter:none !important;
  }

  /* 4) Tipografía de los enlaces dentro del overlay */
  .elementor-nav-menu--dropdown .elementor-nav-menu a,
  .elementor-nav-menu a,
  .primary-menu a,
  #primary-menu a{
    color:#0b1f2e !important;
    font-weight:700;
  }
  .elementor-nav-menu--dropdown .elementor-nav-menu a:hover{
    background:rgba(0,0,0,.04) !important;
    border-radius:12px;
  }
}

/* Admin bar: evita solapes del overlay */
body.admin-bar .elementor-nav-menu--dropdown .elementor-nav-menu__container.elementor-active{ top:32px; }
@media (max-width:782px){
  body.admin-bar .elementor-nav-menu--dropdown .elementor-nav-menu__container.elementor-active{ top:46px; }
}

/* Anclas protegidas por el header */
:root{ --header-offset:88px; }
@media (max-width:782px){ :root{ --header-offset:72px); }
:target{ scroll-margin-top: var(--header-offset); }
/* ===== GOVISAN — MOBILE MENU OVERLAY EN BLANCO ===== */
@media (max-width:1024px){

  /* Header móvil SIEMPRE blanco */
  .elementor-location-header,
  .site-header,
  #masthead{
    background:#fff !important;
    box-shadow:0 1px 0 rgba(0,0,0,.06) !important;
    position:sticky; top:0; z-index:9999;
  }

  /* Contenedor del dropdown de Elementor cuando está ABIERTO → overlay a pantalla completa */
  .elementor-nav-menu--dropdown .elementor-nav-menu__container.elementor-active{
    position:fixed !important;
    left:0; right:0; top:0; bottom:0;
    width:100% !important;
    max-height:none !important;
    overflow-y:auto !important;
    padding:72px 16px 24px !important;   /* hueco bajo el header */
    background:#fff !important;          /* ← BLANCO sólido */
    backdrop-filter:none !important;
    /* “tapadera” por si queda algo debajo con transparencia */
    box-shadow:0 0 0 9999px #fff !important;
    z-index:10001 !important;
  }

  /* Si Elementor crea una capa overlay aparte, blanquearla también */
  .e-n-menu-overlay{
    background:#fff !important;
    opacity:1 !important;
    backdrop-filter:none !important;
  }

  /* Variante de temas con .menu-toggle (no Elementor) */
  .menu-toggle[aria-expanded="true"] ~ nav,
  .menu-toggle[aria-expanded="true"] ~ .menu,
  .menu-toggle[aria-expanded="true"] ~ .primary-menu{
    position:fixed !important;
    left:0; right:0; top:0; bottom:0;
    width:100% !important;
    overflow-y:auto !important;
    padding:72px 16px 24px !important;
    background:#fff !important;
    box-shadow:0 0 0 9999px #fff !important;
    z-index:10001 !important;
  }

  /* Enlaces dentro del overlay: tinta oscura */
  .elementor-nav-menu--dropdown .elementor-nav-menu a,
  .elementor-nav-menu a,
  .primary-menu a,
  #primary-menu a{
    color:#0b1f2e !important;
    font-weight:700;
  }
  .elementor-nav-menu--dropdown .elementor-nav-menu a:hover{
    background:rgba(0,0,0,.04) !important;
    border-radius:12px;
  }
}

/* Admin bar: evita solape en móvil logueado */
body.admin-bar .elementor-nav-menu--dropdown .elementor-nav-menu__container.elementor-active{ top:32px; }
@media (max-width:782px){
  body.admin-bar .elementor-nav-menu--dropdown .elementor-nav-menu__container.elementor-active{ top:46px; }
}
/* ===== GOVISAN — MOBILE: overlay hamburguesa 100% BLANCO ===== */
@media (max-width:1024px){

  /* Header móvil siempre blanco */
  .elementor-location-header,
  .site-header,
  #masthead{
    background:#fff !important;
    box-shadow:0 1px 0 rgba(0,0,0,.06) !important;
    position:sticky; top:0; z-index:9999;
  }

  /* CONTENEDOR DEL DROPDOWN CUANDO ESTÁ ABIERTO (todas las variantes) */
  /* Elementor usa .elementor-active o aria-hidden="false" */
  [class*="elementor-nav-menu--dropdown"] .elementor-nav-menu__container.elementor-active,
  .elementor-nav-menu__container[aria-hidden="false"]{
    position: fixed !important;
    inset: 0 !important;            /* full screen */
    width: 100% !important;
    height: 100vh !important;
    overflow-y: auto !important;
    padding: 72px 16px 24px !important;   /* hueco bajo header */
    background: #fff !important;          /* ← BLANCO sólido */
    backdrop-filter: none !important;
    z-index: 10001 !important;

    /* “tapadera” por si queda algo semitransparente debajo */
    box-shadow: 0 0 0 9999px #fff !important;
  }

  /* Capa overlay propia de Elementor: fuera/transparente */
  .e-n-menu-overlay{ display:none !important; background:#fff !important; opacity:1 !important; }

  /* Enlaces dentro del overlay: tinta oscura */
  [class*="elementor-nav-menu--dropdown"] .elementor-nav-menu a,
  .elementor-nav-menu a{ color:#0b1f2e !important; font-weight:700; }
  [class*="elementor-nav-menu--dropdown"] .elementor-nav-menu a:hover{
    background: rgba(0,0,0,.04) !important; border-radius:12px;
  }
}

/* Extra robustez: crea una capa blanca cuando el menú está activo (CSS :has) */
@supports(selector(body:has(.elementor-nav-menu__container.elementor-active))){
  @media (max-width:1024px){
    body:has(.elementor-nav-menu__container.elementor-active)::before,
    body:has(.elementor-nav-menu__container[aria-hidden="false"])::before{
      content:"";
      position:fixed; inset:0;
      background:#fff;
      z-index:9998; /* debajo del menú, encima del contenido */
    }
  }
}

/* Admin bar (logueado) para que no tape la barra */
body.admin-bar .elementor-nav-menu__container.elementor-active{ top:32px; }
@media (max-width:782px){
  body.admin-bar .elementor-nav-menu__container.elementor-active{ top:46px; }
}
/* === GV · FIX DEFINITIVO MENÚ MÓVIL (blanco sólido + sin scroll interno) === */

/* 0) Fondo blanco global cuando el menú está abierto (html.nav-open) */
html.nav-open body::before{
  content:"";
  position:fixed; inset:0;
  background:#fff;               /* blanco sólido */
  z-index:9998;                  /* debajo del header y del nav */
}

/* 1) Header por encima y blanco */
html.nav-open .site-header,
html.nav-open #masthead,
html.nav-open .elementor-location-header{
  background:#fff !important;
  box-shadow:0 1px 0 rgba(0,0,0,.06) !important;
  z-index:10000;
}

/* 2) Contenedor del menú propio (.primary-nav) a pantalla completa, sin scroll interno */
@media (max-width:1024px){
  .nav-toggle{ display:block; }

  .primary-nav{
    position:fixed;
    left:0; right:0;
    top:72px;                     /* alto aproximado del header */
    bottom:auto;
    min-height:calc(100vh - 72px);
    display:flex; flex-direction:column; align-items:center;
    gap:16px;
    padding:24px 20px 28px;
    background:#fff !important;   /* blanco sólido */
    box-shadow:0 0 0 9999px #fff !important; /* tapadera total */
    transform:translateY(-6px);
    opacity:0; pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
    overflow:visible !important;  /* <- quita scroll interno */
  }

  html.nav-open .primary-nav{ transform:none; opacity:1; pointer-events:auto; }

  /* Menú en columna, 100% ancho */
  .primary-nav .menu{ flex-direction:column; gap:16px; align-items:center; width:100%; }
  .primary-nav .menu a{ color:#0b1f2e !important; font-weight:700; }

  /* Bloquea scroll del documento (para que no se mueva el fondo) */
  html.nav-open, html.nav-open body{ overflow:hidden; }

  /* Ajuste si hay admin bar */
  body.admin-bar .primary-nav{ top:104px; min-height:calc(100vh - 104px); }
  @media (max-width:782px){
    body.admin-bar .primary-nav{ top:118px; min-height:calc(100vh - 118px); }
  }
}

/* 3) Compatibilidad con reglas antiguas que usaban body.gv-nav-open */
body.gv-nav-open::before{ content:""; position:fixed; inset:0; background:#fff; z-index:9998; }
body.gv-nav-open .primary-nav{ background:#fff !important; box-shadow:0 0 0 9999px #fff !important; overflow:visible !important; }
/* === Contact cards (compact) === */
.contact-cards .contact-card{
  padding: 20px 22px; /* un pelín menos de padding */
}

.contact-cards .contact-card h3{
  margin: 0 0 10px;
  line-height: 1.2;
}

.contact-cards .contact-card address,
.contact-cards .contact-card p,
.contact-cards .contact-card li{
  font-style: normal;       /* <address> sin cursiva */
  line-height: 1.38;        /* antes ~1.6–1.8 */
  margin: 2px 0;            /* líneas pegadas con respiración */
}

.contact-cards .contact-card .group + .group{
  margin-top: 10px;         /* espacio solo entre bloques */
}

/* filas con icono (teléfono, email) */
.contact-cards .contact-card .row{
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 2px 0;
}

.contact-cards .contact-card svg{
  flex: 0 0 18px;
}

.contact-cards .contact-card a{
  text-decoration: none;
  word-break: break-word;   /* evita desbordes en emails largos */
}
/* Compactar textos en las oficinas del bloque de contacto */
.compact-contact h3,
.compact-contact h4{
  margin: 0 0 10px;
  line-height: 1.2;
}

.compact-contact .office{           /* espacio entre Barcelona / Bengaluru */
  margin: 0 0 14px;
}

.compact-contact p{                 /* líneas más juntas */
  margin: 2px 0;
  line-height: 1.38;
}

.compact-contact p.addr{            /* dirección con <br> */
  line-height: 1.38;
}
/* Espacio entre las 3 rayas y el texto "Menu" (solo móvil) */
@media (max-width:1024px){
  .nav-toggle{ 
    gap: 12px !important;          /* antes eran ~10px */
    padding-right: 8px !important; /* pequeño respiro al borde derecho */
  }
  .nav-toggle__label{
    margin-left: 6px !important;   /* extra por si algún tema ignora gap */
    white-space: nowrap;
  }
}
/* Más espacio entre el icono y el texto "Menu" (solo móvil) */
@media (max-width:1024px){
  .nav-toggle{
    gap: 22px !important;          /* antes 14px */
    padding-right: 10px !important;
  }
  .nav-toggle__label{
    margin-left: 10px !important;  /* extra por si algún tema ignora gap */
    white-space: nowrap;
  }
}
/* GOVISAN — separaciones del botón "Menu" en móvil */
@media (max-width:1024px){
  /* 1) Que no quede pegado al borde derecho */
  .site-header .nav-toggle{
    margin-right: 14px !important;     /* separa del borde derecho */
    padding-right: 6px !important;     /* un pelín más de aire interno */
  }

  /* 2) Espacio entre las 3 rayas y el texto "Menu" */
  .site-header .nav-toggle .nav-toggle__label{
    margin-left: 12px !important;      /* si el texto queda a la derecha */
    margin-top: 6px !important;        /* si el texto cae debajo (stack) */
    display: inline-block;             /* asegura que los márgenes se apliquen */
  }
}
/* GOVISAN — micro-ajustes del botón Menu (móvil) */
@media (max-width:1024px){
  /* separa un poco más del borde derecho */
  .site-header .nav-toggle{
    margin-right: 18px !important;
  }

  /* más aire entre las 3 rayas y el texto "Menu" */
  .site-header .nav-toggle .nav-toggle__label{
    margin-top: 8px !important;   /* si el texto queda debajo */
    margin-left: 14px !important; /* si tu tema lo coloca al lado */
  }
}
/* GOVISAN — micro-ajuste botón "Menu" en móvil */
@media (max-width:1024px){
  /* separa del borde derecho */
  .site-header .nav-toggle{
    margin-right: 22px !important;   /* antes 18px */
  }
  /* más espacio entre rayas y texto */
  .site-header .nav-toggle .nav-toggle__label{
    margin-top: 10px !important;     /* si el texto va debajo */
    margin-left: 16px !important;    /* si en tu tema va a la derecha */
  }
}
/* ===== Specializations – ajustes visuales pedidos ===== */

/* Tema azul del panel */
#specialization.spec--panel-blue{
  --panel-bg: rgba(13,39,71,.92);     /* azul profundo translúcido */
  --panel-color: #fff;                /* textos blancos */
  --accent: #8fc5ff;                  /* bullets/acentos */
}

/* Gradiente azul encima de la foto (pre-hover) */
#specialization .spec-overlay{
  background:linear-gradient(180deg,
    rgba(12,33,57,.22) 0%,
    rgba(12,33,57,.58) 100%
  );
  opacity:.95;
}

/* Título visible antes del hover: siempre blanco y legible */
#specialization .spec-caption__title{
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}

/* Panel que entra desde la derecha */
#specialization .spec-panel{
  background:var(--panel-bg);
  color:var(--panel-color);
  /* ya entra con translateX(105%) -> 0 en hover (de tu CSS anterior) */
}

/* Asegurar color blanco en todo el panel y quitar clamps/ellipsis globales */
#specialization .spec-panel,
#specialization .spec-panel *{
  color:var(--panel-color) !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
}

/* Ver TODAS las líneas: si el contenido es largo, scroll suave en el panel */
#specialization .spec-panel__inner{
  max-height:calc(100% - 24px);
  overflow:auto;
  scrollbar-width:thin;
}

/* Bullets más visibles sobre azul */
#specialization .spec-panel__list li::before{
  color:var(--accent);
  opacity:1;
}

/* Reveal: mostrar cuando tu home.js añade .in-view */
#specialization .spec-card{
  transform:translateY(8px);
  opacity:0;
  transition:transform .6s cubic-bezier(.2,.7,.2,1), opacity .6s;
}
#specialization .spec-card.in,
#specialization .spec-card.in-view{  /* <- clave para que aparezcan */
  transform:translateY(0);
  opacity:1;
}

/* Opcional: imagen con un pelín más de contraste al hover */
@media (hover:hover){
  #specialization .spec-card:hover .spec-bgi{ filter:saturate(1.12) contrast(1.08) brightness(1); }
}
/* HERO – centra todo el bloque y el subtítulo */
html body main#primary section.hero .hero-inner{
  text-align:center;
}

html body main#primary section.hero .hero-inner h1{
  margin-inline:auto;
}

html body main#primary section.hero .hero-inner .subtitle,
html body main#primary section.hero .hero-inner .desc{
  max-width: clamp(680px, 75vw, 1100px);
  margin-left:auto;
  margin-right:auto;
  text-align:center !important;
  text-wrap: balance; /* mejor reparto de líneas (si está disponible) */
}

/* Opcional: centra también los botones */
html body main#primary section.hero .hero-ctas{
  display:flex;
  justify-content:center;
  gap:12px;
}
/* Tamaño y nitidez del logo en cabecera */
.site-header .custom-logo,
.site-header .site-logo img,
.site-branding .custom-logo {
  height: 44px;     /* ← ajusta: 40/44/48px */
  width: auto;
  display: block;   /* evita huecos por baseline */
  image-rendering: -webkit-optimize-contrast;
}

/* Elimina posibles bordes/separadores junto al logo */
.site-header .site-branding,
.site-header .custom-logo-link,
.site-header .site-logo{
  border: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}
.site-header .site-branding::before,
.site-header .site-branding::after,
.site-header .custom-logo-link::before,
.site-header .custom-logo-link::after{
  content: none !important;
}

/* (Opcional) un tamaño algo menor en móvil */
@media (max-width: 768px){
  .site-header .custom-logo,
  .site-header .site-logo img,
  .site-branding .custom-logo{
    height: 36px;
  }
}