:root{
  --bg: #0b1220;
  --panel: #0f1a33;
  --muted: #0b162e;
  --text: #eaf0ff;
  --text2:#b9c6ee;
  --line: rgba(234,240,255,.14);
  --brand: #1b5fa8;
  --brand-rgb: 27, 95, 168;

  --brand2: #78a8ff;
  --brand2-rgb: 120, 168, 255;

  --accent: #f2c14e;
  --accent-rgb: 242, 193, 78;

  --shadow: 0 18px 60px rgba(0,0,0,.35);
  --radius: 16px;
  --container: 1120px;
  --surface: #f6f8ff;
  --ink: #0b1220;
  --teal: #2cc8b0;
  --teal-rgb: 44, 200, 176;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 500px at 10% 10%, rgba(var(--brand-rgb), .18), transparent 55%),
    radial-gradient(900px 500px at 80% 0%, rgba(var(--brand2-rgb), .12), transparent 55%),
    linear-gradient(180deg, #070b14, var(--bg) 30%, #050812);
}

a{color:inherit; text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; display:block}

.container{max-width:var(--container); margin:0 auto; padding:0 20px}
.muted{color:var(--text2)}
.sr-only{
  position:absolute; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.skip-link{
  position:absolute; left:-999px; top:10px;
  background:var(--brand); color:#00131b; padding:14px 14px;
  border-radius:10px; z-index:999;
}
.skip-link:focus{left:10px}

.topbar{
  border-bottom: 1px solid var(--line);
  background: rgba(10,15,30,.6);
  backdrop-filter: blur(10px);
}
.topbar__inner{
  display:flex; gap:14px; align-items:center; justify-content:space-between;
  padding:10px 0;
  font-size: 14px;
}
.topbar__links{display:flex; gap:14px; align-items:center; flex-wrap:wrap}
.topbar__meta{display:flex; gap:8px; align-items:center}
.pill{
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
}
.pill--wa{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  padding:7px 12px;
}
.pill--wa .wa-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:block;
}
.pill--wa > span{
  font-weight:600;
  letter-spacing:.01em;
}
.linklike{
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  cursor:pointer;
  text-decoration: underline;
}

.header{
  position:sticky;
  top:0;
  z-index:50;
  border-bottom: 1px solid rgba(11,18,32,.10);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(14px);
  color: var(--ink);
}
.header__inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px;
  padding:14px 0;
}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none}
.brand__logo{display:flex; align-items:center}
.brand__logo img{height:56px; width:auto}
.brand__mark{
  width:42px; height:42px;
  display:grid; place-items:center;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(var(--brand-rgb), .95), rgba(var(--brand2-rgb), .9));
  color:#00131b;
  font-weight:800;
  letter-spacing:.5px;
}
.brand__name{font-weight:700; line-height:1.1}

.nav{
  display:flex; align-items:center; gap:16px;
}
.nav a,
.nav button{
  padding:10px 10px;
  border-radius: 12px;
  color: inherit;
  text-decoration:none;
  background: transparent;
  border: 0;
  font: inherit;
  cursor: pointer;
}
.nav a:hover,
.nav button:hover{background: rgba(11,18,32,.06); text-decoration:none}

/* Dropdown: Servicios */
.nav__dropdown{ position: relative; display: flex; align-items: center; }
.nav__dropdown-trigger{ display:flex; align-items:center; gap:8px; }
.nav__caret{ font-size: 12px; opacity: .85; transform: translateY(1px); }

.nav__dropdown-menu{
  position:absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 280px;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.14);
  /* Más contraste para que el texto se lea sobre imágenes del hero */
  background: rgba(10, 16, 26, .94);
  box-shadow: 0 24px 60px rgba(0,0,0,.45);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
  z-index: 50;
}

.nav__dropdown:hover .nav__dropdown-menu,
.nav__dropdown:focus-within .nav__dropdown-menu{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.nav__dropdown-menu a{
  display:block;
  padding: 10px 12px;
  border-radius: 12px;
  /* Fuerza color claro (evita que se “apague” por herencia en algunos estilos) */
  color: rgba(255,255,255,.96);
}
.nav__dropdown-menu a:hover{ background: rgba(255,255,255,.10); }
.nav__dropdown-menu .dd-title{ display:block; font-weight: 750; }
.nav__dropdown-menu .dd-desc{ display:block; font-size: 12px; color: rgba(255,255,255,.72); margin-top: 2px; }
.nav__cta{
  background: rgba(var(--brand-rgb), .16);
  border: 1px solid rgba(var(--brand-rgb), .30);
}
.nav__cta:hover{background: rgba(var(--brand-rgb), .22)}

.iconbtn{
  width:40px; height:40px;
  border-radius: 12px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  color:inherit;
  cursor:pointer;
}
.iconbtn:hover{background: rgba(255,255,255,.07)}
.iconbtn__bars{
  display:block; width:18px; height:12px; margin:0 auto;
  background:
    linear-gradient(var(--text),var(--text)) 0 0/100% 2px,
    linear-gradient(var(--text),var(--text)) 0 50%/100% 2px,
    linear-gradient(var(--text),var(--text)) 0 100%/100% 2px;
  background-repeat:no-repeat;
}
.header__menu{display:none}
.header__search{display:none}

/* Header claro: logo a color y navegación con alto contraste */
.header .iconbtn{
  border:1px solid rgba(11,18,32,.12);
  background: rgba(11,18,32,.03);
  color: var(--ink);
}
.header .iconbtn:hover{background: rgba(11,18,32,.06)}
.header .iconbtn__bars{
  background:
    linear-gradient(var(--ink),var(--ink)) 0 0/100% 2px,
    linear-gradient(var(--ink),var(--ink)) 0 50%/100% 2px,
    linear-gradient(var(--ink),var(--ink)) 0 100%/100% 2px;
  background-repeat:no-repeat;
}
.header .nav__cta{
  background: rgb(var(--brand-rgb));
  color:#fff;
  border: 1px solid rgba(var(--brand-rgb), .60);
}
.header .nav__cta:hover{background: rgba(var(--brand-rgb), .92)}


.hero{
  position:relative;
  padding:72px 0 34px;
  min-height: 560px;
  overflow:hidden;
  isolation:isolate;
}
.hero__bg{
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
}
.hero__bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform: scale(1.02);
}
.hero__scrim{
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg, rgba(7,11,20,.92) 0%, rgba(7,11,20,.78) 42%, rgba(7,11,20,.55) 72%, rgba(7,11,20,.45) 100%),
    linear-gradient(180deg, rgba(7,11,20,.22) 0%, rgba(7,11,20,.72) 100%);
}

.hero__inner{
  display:grid;
  grid-template-columns: 1fr 1.05fr;
  gap:24px;
  align-items:stretch;
}
.hero__copy{align-self:center}
.hero__panel{
  display:flex;
  justify-content:center;
  align-items:center;
}

.kicker{
  margin:0 0 10px;
  color:var(--text2);
  letter-spacing:.12em;
  text-transform: uppercase;
  font-size: 12px;
}
.hero h1{
  margin:0;
  font-size: clamp(34px, 5vw, 56px);
  line-height:1.05;
}
.lead{
  margin:14px 0 18px;
  color: var(--text2);
  max-width: 56ch;
}
.hero__actions{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:16px}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  padding:12px 16px;
  border-radius: 14px;
  border:1px solid rgba(var(--brand-rgb), .35);
  background: rgba(var(--brand-rgb), .22);
  color: var(--text);
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
}
.btn:hover{background: rgba(var(--brand-rgb), .28); text-decoration:none}
.btn--ghost{
  border:1px solid var(--line);
  background: rgba(255,255,255,.05);
}
.btn--ghost:hover{background: rgba(255,255,255,.08)}
.btn--small{padding:14px 14px; border-radius: 12px; font-weight:700}

.searchbox{
  margin-top:10px;
  display:flex;
  gap:10px;
  padding:10px;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: rgba(255,255,255,.03);
}
.searchbox input{
  flex:1;
  min-width: 160px;
  border:0;
  outline:none;
  background: transparent;
  color: var(--text);
  font-size: 16px;
}
.searchbox input::placeholder{color: rgba(185,198,238,.75)}

.topics{margin-top:14px}
.topics__label{display:block; color:var(--text2); font-size: 13px; margin-bottom:8px}
.topics__chips{display:flex; gap:10px; flex-wrap:wrap}
.chip{
  border: 1px solid var(--line);
  background: rgba(255,255,255,.04);
  padding:8px 10px;
  border-radius: 999px;
  font-size: 13px;
  cursor:pointer;
}
.chip:hover{background: rgba(255,255,255,.07); text-decoration:none}

.cardglass{
  width:min(360px, 100%);
  display:grid;
  gap:12px;
  padding:16px;
  border-radius: 18px;
  border: 1px solid rgba(234,240,255,.18);
  background: rgba(15,26,51,.62);
  backdrop-filter: blur(12px);
  box-shadow: var(--shadow);
}
.cardglass__kicker{
  display:flex;
  align-items:center;
  gap:10px;
  color: rgba(185,198,238,.85);
  font-size: 13px;
  letter-spacing:.10em;
  text-transform: uppercase;
}
.cardglass__kicker 
/* Hero story card (bloque blanco tipo referencia) */
.storycard{
  width:min(620px, 100%);
  border-radius: 18px;
  overflow:hidden;
  background:#ffffff;
  color:#0b1220;
  border:1px solid rgba(255,255,255,.18);
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
}
.storycard__media{
  position:relative;
  background: #0b1220;
}
/*
  La imagen promocional es cuadrada y el contenedor es horizontal.
  Para mostrarla COMPLETA sin recortes y sin barras blancas,
  usamos un fondo "cover" desenfocado y encima la imagen en "contain".
*/
.storycard__media::before{
  content:"";
  position:absolute;
  inset:-26px;
  background-image: var(--media-bg);
  background-size: cover;
  background-position: center;
  filter: blur(18px) saturate(1.05);
  transform: scale(1.08);
  opacity: .95;
}
.storycard__media::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(11,18,32,.35) 0%, rgba(11,18,32,.55) 100%);
}
.storycard__media picture{display:block; position:relative; z-index:1}
.storycard__media img{
  width:100%;
  height: 340px;
  object-fit: contain;
  background: transparent;
  display:block;
}
.storycard__body{padding:16px 18px 18px; background:#ffffff}

/*
  Modo PROMO:
  El arte que nos pasaste es cuadrado y ya trae el mensaje.
  Para evitar "lados vacíos" (barras) sin inventar fondos,
  convertimos el bloque en formato 1:1 (cuadrado) y ocultamos
  el cuerpo de texto inferior.
*/
.storycard--promo{width:min(620px, 100%); background: transparent; border: none; box-shadow: 0 30px 90px rgba(0,0,0,.55)}
.storycard--promo .storycard__body{display:none}
.storycard--promo .storycard__media{
  aspect-ratio: 1 / 1;
  background: transparent;
}
.storycard--promo .storycard__media::before,
.storycard--promo .storycard__media::after{content:none; display:none}
.storycard--promo .storycard__media picture{height:100%}
.storycard--promo .storycard__media img{
  height:100%;
  object-fit: cover;
  object-position:center;
}
.storycard__brand{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 14px;
  background: rgba(11,18,32,.96);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-bottom: 3px solid rgba(var(--accent-rgb), .95);
  margin-bottom: 12px;
}
.storycard__brand picture{display:block}
.storycard__brand img{
  width: min(280px, 100%);
  height: auto;
  display:block;
}
.storycard__brand img{height:56px; width:auto; max-width:100%}
.storycard__brand--text{
  color:#fff;
  font-weight:950;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:15px;
}

.storycard__meta{
  color: rgba(15,25,45,.72);
  font-size: 13px;
  margin-bottom: 8px;
}
.storycard__title{
  margin:0 0 8px;
  font-size: 22px;
  line-height:1.2;
  font-weight: 900;
}
.storycard__text{
  margin:0 0 10px;
  color: rgba(15,25,45,.78);
}
.storycard__link{
  display:inline-flex; align-items:center; gap:8px;
  color: var(--brand);
  font-weight: 900;
  text-decoration:none;
}
.storycard__link::after{content:"→"}
.storycard__link:hover{text-decoration:underline}

@media (max-width: 700px){
  .storycard__media img{height: 260px}
}


.dot{margin-top:0}
.cardglass__headline{font-weight:900; font-size: 18px; line-height:1.15}
.cardglass__actions{display:flex; gap:10px; flex-wrap:wrap}
.cardglass__text{color:var(--text2); font-size: 13px}
.cardglass__fine{color: rgba(185,198,238,.82); font-size: 12px}
.dot{
  width:12px; height:12px; border-radius: 50%;
  margin-top: 5px;
  background: var(--brand);
}
.dot--2{background: rgba(var(--brand2-rgb), .95)}
.dot--3{background: rgba(var(--accent-rgb), .95)}

.section{padding:34px 0}
.section--muted{background: rgba(255,255,255,.02); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line)}
.section__head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:16px; flex-wrap:wrap;
  margin-bottom: 16px;
}
.section__head p{margin:0; color:var(--text2)}

.feature{
  border: 1px solid var(--line);
  border-radius: 18px;
  padding:18px;
  background: rgba(255,255,255,.03);
  box-shadow: 0 10px 30px rgba(0,0,0,.22);
  margin-bottom: 16px;
}
.feature.ok{
  border-color: rgba(72, 187, 120, .35);
  background: rgba(72, 187, 120, .08);
}
.feature.err{
  border-color: rgba(245, 101, 101, .35);
  background: rgba(245, 101, 101, .08);
}
.feature__tag{color:var(--text2); font-size: 13px; margin-bottom: 6px}
.feature__title{margin:0 0 6px; font-size: 22px}
.feature__text{margin:0 0 8px; color: var(--text2)}
/* About page media */
.feature__media{
  margin-top: 18px;
  border-radius: 18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  box-shadow: var(--shadow);
}
.feature__media img{
  width:100%;
  height:auto;
  display:block;
  object-fit: cover;
}

.link{color: var(--brand); font-weight:700}

.grid{display:grid; gap:14px}
.grid--4{grid-template-columns: repeat(4, minmax(0,1fr))}
.grid--3{grid-template-columns: repeat(3, minmax(0,1fr))}
.tile{
  border: 1px solid var(--line);
  border-radius: 18px;
  padding:16px;
  background: rgba(255,255,255,.03);
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
  text-decoration:none;
  display:flex; flex-direction:column; gap:8px;
}
.tile h3{margin:0; font-size: 16px}
.tile p{margin:0; color: var(--text2); font-size: 14px; line-height:1.4}
.tile__more{margin-top:auto; color: var(--brand); font-weight:800; font-size: 13px}

.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  align-items:center;
}
.split__copy p{color: var(--text2)}
.checklist{margin:14px 0 0; padding-left: 18px; color: var(--text2)}
.checklist li{margin:8px 0}

.split__visual{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
}
.imageph{
  border-radius: 18px;
  border: 1px solid var(--line);
  background:
    radial-gradient(650px 180px at 10% 30%, rgba(var(--brand-rgb), .26), transparent 55%),
    radial-gradient(650px 180px at 80% 70%, rgba(var(--brand2-rgb), .18), transparent 60%),
    rgba(255,255,255,.03);
  min-height: 150px;
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}
.imageph--2{min-height: 210px}

.post{
  border: 1px solid var(--line);
  border-radius: 18px;
  padding:16px;
  background: rgba(255,255,255,.03);
}
.post h3{margin:0 0 6px; font-size: 16px}
.post p{margin:0; color: var(--text2); font-size: 14px; line-height:1.45}
.post a:hover{text-decoration:underline}

.cta{
  padding: 26px 0 42px;
}
.cta__inner{
  border: 1px solid rgba(var(--brand-rgb), .28);
  background: radial-gradient(900px 260px at 20% 10%, rgba(var(--brand-rgb), .16), transparent 60%),
              rgba(255,255,255,.03);
  border-radius: 22px;
  padding: 22px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap:16px;
  flex-wrap:wrap;
  box-shadow: var(--shadow);
}
.cta h2{margin:0 0 6px}
.cta p{margin:0; color: var(--text2)}

.footer{
  margin-top: 20px;
  border-top: 1px solid var(--line);
  background: rgba(0,0,0,.18);
}
.footer__grid{
  padding: 26px 0;
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap:16px;
}
.footer__brand{font-weight:900}
.footer__text{color: var(--text2); margin: 8px 0 0}
.footer h3{margin:0 0 10px; font-size: 14px; color: var(--text2); letter-spacing:.08em; text-transform: uppercase}
.footer nav{display:grid; gap:8px}
.footer nav a{color: var(--text); opacity:.92}
.footer nav a:hover{opacity:1}

.footer__bottom{
  padding: 14px 0 22px;
  border-top: 1px solid var(--line);
  color: var(--text2);
}

dialog{
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(15,26,51,.92);
  color: var(--text);
  box-shadow: var(--shadow);
  padding:0;
}
dialog::backdrop{background: rgba(0,0,0,.6)}
.searchdialog{width:min(720px, calc(100% - 30px))}
.searchdialog__box{padding:16px; display:grid; gap:12px}
.searchdialog__head{
  display:flex; align-items:center; justify-content:space-between;
}
.searchdialog input{
  width:100%;
  padding:12px 12px;
  border-radius: 14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  color: var(--text);
  outline:none;
}
.searchdialog__hint{display:grid; gap:8px}
.smalldialog{width:min(520px, calc(100% - 30px))}
.smalldialog__box{padding:16px}
.smalldialog__head{display:flex; align-items:center; justify-content:space-between; margin-bottom: 8px}
.smalldialog__menu{display:flex; justify-content:center; padding:0; margin:12px 0 0}

@media (max-width: 980px){
  .grid--4{grid-template-columns: repeat(2, minmax(0,1fr))}
  .hero__inner{grid-template-columns: 1fr}
  .hero{min-height:unset; padding:56px 0 28px}
  .hero__panel{justify-content:flex-start}
  .cardglass{width:100%}
  .split{grid-template-columns: 1fr}
  .footer__grid{grid-template-columns: 1fr 1fr}
}

@media (max-width: 700px){
  .topbar__inner{flex-direction:column; align-items:flex-start}
  .topbar__links{flex-wrap:wrap}
  .nav{
    position:fixed;
    inset: 72px 14px auto 14px;
    display:none;
    padding:12px;
    border-radius: 18px;
    border: 1px solid rgba(234,240,255,.14);
    background: rgba(11,18,32,.96);
    color: rgba(234,240,255,.96);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: var(--shadow);
    flex-direction:column;
    align-items:stretch;
  }
  .nav a{padding:12px 12px}
  .header__menu{display:inline-grid; place-items:center}
  .header__search{display:inline-grid; place-items:center}
  .nav.is-open{display:flex}
}


/* --- About page layout (inspired by reference blocks) --- */
.pagehero{
  position:relative;
  padding: 70px 0 120px;
  background:
    radial-gradient(1100px 520px at 10% 10%, rgba(var(--brand2-rgb), .18), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.55));
  overflow:hidden;
}
.pagehero--light{
  background:
    radial-gradient(900px 520px at 10% 10%, rgba(var(--brand-rgb), .10), transparent 60%),
    linear-gradient(180deg, rgba(11,18,32,.18), rgba(11,18,32,.45));
}
.pagehero__inner{
  display:grid;
  grid-template-columns: 1.05fr 1.25fr;
  gap: 26px;
  align-items:stretch;
}
.pagehero__crumb{
  margin:0 0 10px;
  color: rgba(234,240,255,.72);
  font-size: 13px;
}
.pagehero__title{
  margin:0 0 10px;
  font-size: clamp(34px, 4.1vw, 54px);
  line-height:1.05;
  letter-spacing: -.02em;
  font-weight: 950;
}
.pagehero__lead{
  margin:0;
  max-width: 52ch;
  color: rgba(234,240,255,.82);
  font-size: 16px;
  line-height:1.6;
}
.pagehero__copy{
  padding: 10px 0;
}
.pagehero__media{
  border-radius: 22px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
  min-height: 340px;
}
.pagehero__media img{
  width:100%;
  height:100%;
  min-height: 340px;
  object-fit: cover;
  display:block;
  transform: scale(1.02);
}
.pagehero__wave{
  position:absolute;
  left:0; right:0;
  bottom:-1px;
  width:100%;
  height:120px;
  display:block;
}
.pagehero__wave path{fill: var(--surface);}

.aboutSplit{
  background: var(--surface);
  color: var(--ink);
  padding: 40px 0 22px;
}
.aboutSplit__wrap{
  display:grid;
  /* Más espacio para la imagen (más “estirada”) */
  grid-template-columns: 1.3fr .7fr;
  gap:0;
  border-radius: 22px;
  overflow:hidden;
  box-shadow: 0 26px 90px rgba(0,0,0,.22);
  border: 1px solid rgba(15,25,45,.08);
}
.aboutSplit__image{
  min-height: 620px;
  background:#0b1220;
}
.aboutSplit__image img{
  width:100%;
  height:100%;
  min-height: 620px;
  object-fit: cover;
  object-position: 50% 15%;
  display:block;
}
.aboutSplit__panel{
  position:relative;
  padding: 26px 26px 24px;
  background:
    linear-gradient(135deg, rgba(var(--teal-rgb), .98), rgba(var(--teal-rgb), .88));
  color: #061014;
}
.aboutSplit__panel::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width: 14px;
  background: rgba(var(--accent-rgb), .95);
}
.aboutSplit__kicker{
  margin:0 0 6px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .78;
}
.aboutSplit__title{
  margin:0 0 10px;
  font-size: 26px;
  line-height:1.15;
  font-weight: 950;
  letter-spacing: -.01em;
}
.aboutSplit__text{
  margin:0 0 14px;
  font-size: 15px;
  line-height:1.65;
  max-width: 60ch;
}
.aboutSplit__why{
  margin: 10px 0 10px;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: -.01em;
}
.aboutSplit__checks{
  margin: 0;
  padding: 0;
  list-style: none;
  display:grid;
  gap: 10px;
}
.aboutSplit__checks li{
  background: rgba(255,255,255,.48);
  border: 1px solid rgba(6,16,20,.10);
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 14.5px;
  line-height: 1.55;
}

.aboutAfter{
  background: var(--surface);
  color: var(--ink);
  padding: 18px 0 46px;
}
.aboutAfter__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.aboutMini{
  border-radius: 18px;
  background:#ffffff;
  border: 1px solid rgba(15,25,45,.10);
  padding: 14px 14px 16px;
  box-shadow: 0 18px 55px rgba(0,0,0,.12);
}
.aboutMini h3{
  margin: 0 0 6px;
  font-size: 15px;
  letter-spacing: -.01em;
}
.aboutMini p{
  margin:0;
  color: rgba(15,25,45,.76);
  font-size: 14px;
  line-height:1.55;
}

@media (max-width: 980px){
  .pagehero__inner{grid-template-columns: 1fr}
  .pagehero__media{min-height: 260px}
  .pagehero__media img{min-height: 260px}
  .aboutSplit__wrap{grid-template-columns: 1fr}
  .aboutSplit__image{min-height: 340px}
  .aboutSplit__image img{min-height: 340px}
  .aboutAfter__grid{grid-template-columns: 1fr}
}

@media (max-width: 700px){
  .brand__logo img{height:52px; width:auto}
}


/* ==============================
   Catálogo de equipos
   ============================== */
.section--tight{padding:28px 0 34px}

.catbar{
  margin: 16px 0 18px;
  background: linear-gradient(90deg, rgba(var(--brand-rgb), .96), rgba(var(--brand2-rgb), .78));
  border-radius: 18px;
  border: 1px solid rgba(var(--accent-rgb), .28);
  box-shadow: 0 18px 60px rgba(0,0,0,.25);
  position: relative;
  overflow: hidden;
}
.catbar::after{
  content:'';
  position:absolute;
  inset:0;
  background: radial-gradient(700px 240px at 18% 50%, rgba(var(--accent-rgb), .18), transparent 62%);
  pointer-events:none;
  opacity:.95;
}
.catbar__scroll{
  display:flex;
  gap:10px;
  overflow:auto;
  padding:12px 12px;
  scrollbar-width: thin;
  position: relative;
  z-index: 1;
}
.catbar__item{
  display:flex;
  align-items:center;
  gap:10px;
  white-space: nowrap;
  padding:10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  color:#fff;
  cursor:pointer;
}
.catbar__item:hover{background: rgba(255,255,255,.12)}
.catbar__item.is-active{
  background: rgba(var(--accent-rgb), .22);
  border-color: rgba(var(--accent-rgb), .55);
}
.catbar__icon{width:18px; display:inline-grid; place-items:center}
.catbar__label{font-weight:700; font-size:12px; letter-spacing:.2px}

.catbar--hidden{display:none !important}

/* === Panel de categorías (Ventas de equipos) === */
.equippanel{padding: 28px 0 10px}
.equippanel__head{display:flex; flex-direction:column; gap:10px; margin-bottom:18px; align-items:center; text-align:center}
.equippanel__brands{display:flex; align-items:baseline; justify-content:center; gap:26px}
.equippanel__brand{display:inline-flex; align-items:center; justify-content:center; padding:0; border-radius:0; font-weight:900; letter-spacing:.02em;
  background: transparent; border:0; color: rgba(255,255,255,.92); font-size: 40px; line-height: 1}
.equippanel__brand--criffer{font-weight:900; font-size: 32px; opacity: .95}
.equippanel__title{margin:0; color: rgba(255,255,255,.78); font-weight:900; letter-spacing:.14em; text-transform: uppercase; font-size:13px}
.equippanel__subtitle{margin:0; max-width: 70ch; color: rgba(255,255,255,.70)}

.equippanel__grid{display:grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap:18px}
.equippanel__tile{position:relative; display:flex; flex-direction:column; gap:12px; padding:22px 18px 18px; border-radius:22px; min-width:0;
  background:
    radial-gradient(140px 120px at 50% 18%, rgba(77,166,255,.18), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 60px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.08);
  min-height: 210px;
  text-align:center; cursor:pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, filter .18s ease}
.equippanel__tile:focus-visible{outline:2px solid rgba(77,166,255,.90); outline-offset: 3px}
.equippanel__tile:hover{transform: translateY(-3px); border-color: rgba(77,166,255,.70);
  box-shadow: 0 26px 86px rgba(0,0,0,.48), 0 0 0 1px rgba(77,166,255,.28), 0 0 40px rgba(77,166,255,.22)}
.equippanel__tile.is-active{border-color: rgba(77,166,255,.95);
  box-shadow: 0 28px 92px rgba(0,0,0,.52), 0 0 0 1px rgba(77,166,255,.35), 0 0 55px rgba(77,166,255,.26)}

.equippanel__icon{width:86px; height:86px; display:grid; place-items:center; background: transparent; border:0; box-shadow:none; margin: 0 auto}
.equippanel__icon svg{width:72px; height:72px; color: #4da6ff; filter: drop-shadow(0 14px 26px rgba(77,166,255,.18))}
.equippanel__name{font-weight:900; font-size:18px; color: rgba(255,255,255,.96); line-height:1.25; text-wrap:balance}
.equippanel__hint{margin-top:auto; width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding: 10px 12px; border-radius: 14px;
  background: rgba(0,0,0,.18); border:1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.84); font-size:13px;
  opacity: 0; transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease}
.equippanel__tile:hover .equippanel__hint,
.equippanel__tile.is-active .equippanel__hint{opacity: 1; transform: translateY(0)}
.equippanel__count{display:inline-flex; align-items:center; justify-content:center; padding:6px 10px; border-radius:999px;
  background: rgba(77,166,255,.16); border:1px solid rgba(77,166,255,.30); color: rgba(255,255,255,.92); font-weight:900}

/* Beneficios (barra informativa) */
.equipbenefits{padding: 12px 0 30px}
.equipbenefits__grid{display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:14px;
  background:
    linear-gradient(135deg, rgba(12,20,46,.94), rgba(4,10,30,.98)),
    radial-gradient(circle at top, rgba(77,166,255,.20), transparent 55%);
  border-radius: 24px;
  padding: 18px;
  border: 1px solid rgba(109, 164, 255, .18);
  box-shadow: 0 22px 70px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(10px)}
.equipbenefits__item{display:flex; gap:14px; align-items:flex-start; padding:16px 14px; border-radius:18px;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.05);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease}
.equipbenefits__item:hover{transform: translateY(-2px); border-color: rgba(109, 164, 255, .22); box-shadow: 0 16px 34px rgba(0,0,0,.18)}
.equipbenefits__icon{flex: 0 0 auto; width:46px; height:46px; border-radius:15px; display:grid; place-items:center;
  background: linear-gradient(180deg, rgba(77,166,255,.16), rgba(77,166,255,.08));
  border: 1px solid rgba(109, 164, 255, .22); color: #72b2ff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 24px rgba(0,0,0,.18)}
.equipbenefits__icon svg{width:22px; height:22px}
.equipbenefits__text strong{display:block; font-size:15px; line-height:1.25; color: rgba(255,255,255,.98); margin-bottom:5px; font-weight:800}
.equipbenefits__text span{display:block; font-size:13px; line-height:1.55; color: rgba(219, 233, 255, .72)}

@media (max-width: 980px){
  .equippanel__grid{grid-template-columns: repeat(2, minmax(0,1fr))}
  .equipbenefits__grid{grid-template-columns: repeat(2, minmax(0,1fr))}
}

@media (max-width: 520px){
  .equippanel{padding: 18px 0 8px}
  .equippanel__brand{font-size: 32px}
  .equippanel__brand--criffer{font-size: 26px}
  .equippanel__title{font-size:12px}
  .equippanel__grid{grid-template-columns: repeat(2, minmax(0,1fr)); gap:12px}
  .equippanel__tile{min-height: 170px; padding:18px 14px 14px}
  .equippanel__icon{width:74px; height:74px}
  .equippanel__icon svg{width:58px; height:58px}
  .equippanel__name{font-size:16px}
  .equippanel__hint{font-size:12px; padding:8px 10px}
  .equipbenefits__grid{grid-template-columns: 1fr; padding:16px}
  .equipbenefits__item{padding:14px 12px}
  .equipbenefits__text strong{font-size:14px}
  .equipbenefits__text span{font-size:12px}
}


@media (prefers-reduced-motion: reduce){
  .equippanel__tile{transition:none}
  .equippanel__tile:hover{transform:none}
}


.cataloghead{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  margin: 6px 0 14px;
}
.cataloghead__count{color: var(--text2)}

.catalogfilters{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:center;
}
.catalogfilters__field{display:flex; flex-direction:column; gap:6px; font-size:12px; color: var(--text2)}
.catalogfilters__field > span{font-weight:600}
.catalogfilters select,
.catalogfilters input{
  padding:10px 12px;
  border-radius: 12px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  color: var(--text);
  min-width: 170px;
}

/* Make native select options readable on dark UI */
.catalogfilters select option{background:#0b1220; color:#e5e7eb}
.catalogfilters input{min-width: 230px}
.catalogfilters select{color-scheme: dark;}
.catalogfilters select:focus,
.catalogfilters input:focus{outline:2px solid rgba(var(--accent-rgb), .45); outline-offset:2px}

.productgrid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-bottom: 18px;
}
.product{
  border:1px solid var(--line);
  border-radius: var(--radius);
  overflow:hidden;
  background: rgba(255,255,255,.03);
  box-shadow: 0 10px 30px rgba(0,0,0,.20);
}

/* Keep cards aligned (CTA pinned to bottom) */
.product{display:flex; flex-direction:column; height:100%}
.product__img{
  /* Área fija para miniaturas: mantiene proporción y alineación */
  aspect-ratio: 16/10;
  /* Sin “caja blanca”: integra la imagen con el fondo del card */
  background: transparent;
  border-radius: 16px;
  overflow: hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.product__img img{
  /* Evita imágenes “gigantes” (verticales) y mejora la proporción visual */
  width:100%;
  height:100%;
  max-width:88%;
  max-height:88%;
  object-fit: contain;
  object-position: center;
  display:block;
}
.product__body{padding:14px}

.product__body{display:flex; flex-direction:column; flex:1}
.product__meta{display:flex; gap:8px; align-items:center; color: var(--text2); font-size:12px; margin-bottom:6px}
.product__brand{font-weight:700}
.product__title a{color:inherit; text-decoration:none}
.product__title a:hover{text-decoration:none}
.product__desc{display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.product__category-badge{white-space:nowrap}
.dot{opacity:.6}
.product__title{margin:0 0 6px; font-size:18px; line-height:1.2}
.product__desc{margin:0 0 10px; color: var(--text2); font-size:14px; line-height:1.5; display:-webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow:hidden}
.product__tags{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px}
.tag{
  font-size:12px;
  padding:4px 8px;
  border-radius: 999px;
  border:1px solid rgba(59,130,246,.28);
  background: rgba(59,130,246,.10);
  color: rgba(234,240,255,.92);
}

.product__actions{display:flex; gap:10px; margin-top:auto}
.product__actions .btn{flex:1}

.cta-strip{
  margin: 18px 0 0;
  padding: 16px;
  border-radius: var(--radius);
  border:1px solid var(--line);
  background: rgba(255,255,255,.03);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.empty{padding:20px; border:1px dashed var(--line); border-radius: var(--radius); background: rgba(255,255,255,.02)}

@media (max-width: 980px){
  .productgrid{grid-template-columns: repeat(2, minmax(0, 1fr))}
}
@media (max-width: 640px){
  .productgrid{grid-template-columns: 1fr}
  .catalogfilters select,
  .catalogfilters input{min-width: 100%}
}


/* ===== Tolak-like header pill + logo badge ===== */
.header{
  background: transparent !important;
  border-bottom: none !important;
  color: var(--text) !important;
  padding: 14px 0;
}
.header__inner{
  padding: 12px 18px !important;
  border-radius: 999px !important;
  background: rgba(11,18,32,.72) !important;
  border: 1px solid rgba(234,240,255,.14) !important;
  box-shadow: 0 18px 70px rgba(0,0,0,.45) !important;
  backdrop-filter: blur(18px);
}
.brand{
  gap: 12px !important;
}
.brand__logo{
  /* Solo logo (sin círculo) */
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  padding: 0;
}
.brand__logo img{
  height: 56px;
  width: auto;
  max-width: 170px;
  object-fit: contain;
  /* leve brillo para que se note en el header oscuro */
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));
}

.brand__name{
  font-weight: 700;
  letter-spacing: .02em;
  color: var(--text);
  white-space: nowrap;
}
.header .nav a{
  color: var(--text) !important;
  text-decoration: none;
}
.header .nav a:hover{
  background: rgba(234,240,255,.08) !important;
}
.header .nav__cta{
  color: #fff !important;
  background: linear-gradient(135deg, rgba(var(--brand-rgb),.88), rgba(var(--brand2-rgb),.88)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
}
.header .nav__cta:hover{
  filter: brightness(1.05);
}
.header .iconbtn{
  color: var(--text) !important;
  border: 1px solid rgba(234,240,255,.14) !important;
  background: rgba(234,240,255,.06) !important;
}
.header .iconbtn:hover{
  background: rgba(234,240,255,.10) !important;
}
@media (max-width: 900px){
  .header{padding: 10px 0}
  .header__inner{border-radius: 18px !important}
  .brand__name{display:none}
  .brand__logo img{height: 44px; max-width: 150px}
}



/* WhatsApp pill */
.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.wa-icon{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 22px;
  color:#ffffff;
  background:linear-gradient(180deg, rgba(37,211,102,.96), rgba(18,168,76,.96));
  border-radius:999px;
  box-shadow:0 8px 18px rgba(18,168,76,.25);
}
.wa-icon svg{
  width:13px;
  height:13px;
  display:block;
}
.wa-number{
  font-weight:700;
  letter-spacing:.01em;
}
@media (max-width: 640px){
  .topbar__inner{ gap:10px; }
  .topbar__links{ gap:10px; }
  .pill{
    padding:6px 9px;
    font-size:13px;
  }
  .wa-icon{
    width:20px;
    height:20px;
    flex-basis:20px;
  }
  .wa-icon svg{
    width:12px;
    height:12px;
  }
}

/* ==============================
   About page revamp
============================== */
.aboutPage{
  background:
    radial-gradient(980px 520px at 8% 0%, rgba(var(--brand-rgb), .18), transparent 58%),
    radial-gradient(760px 420px at 92% 10%, rgba(var(--accent-rgb), .12), transparent 58%),
    linear-gradient(180deg, rgba(5,10,25,.98), rgba(2,7,22,1));
}
.aboutHeroPro{
  padding: 38px 0 26px;
}
.aboutHeroPro__grid{
  display:grid;
  grid-template-columns: 1.04fr .96fr;
  gap: 28px;
  align-items: stretch;
}
.aboutHeroPro__copy,
.aboutHeroPro__visual{
  border:1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(18,28,58,.88), rgba(10,17,36,.72));
  border-radius: 28px;
  box-shadow: 0 26px 90px rgba(0,0,0,.34);
}
.aboutHeroPro__copy{
  padding: 34px;
}
.aboutHeroPro__eyebrow{
  margin:0 0 12px;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 12px;
  color: rgba(234,240,255,.72);
}
.aboutHeroPro__title{
  margin:0 0 16px;
  font-size: clamp(38px, 5vw, 68px);
  line-height: .96;
  letter-spacing: -.045em;
}
.aboutHeroPro__lead{
  margin:0 0 20px;
  max-width: 58ch;
  color: rgba(234,240,255,.82);
  font-size: 17px;
  line-height: 1.7;
}
.aboutHeroPro__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom: 20px;
}
.aboutHeroPro__metrics{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.aboutMetricCard{
  border-radius: 20px;
  padding: 18px 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.08);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.aboutMetricCard:hover{
  transform: translateY(-5px);
  border-color: rgba(var(--brand-rgb), .4);
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
}
.aboutMetricCard__label{
  display:block;
  margin-bottom: 6px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(234,240,255,.62);
}
.aboutMetricCard strong{
  display:block;
  margin-bottom: 6px;
  font-size: 22px;
  letter-spacing:-.02em;
}
.aboutMetricCard p{
  margin:0;
  color: rgba(234,240,255,.74);
  line-height:1.55;
  font-size: 14px;
}
.aboutHeroPro__visual{
  position:relative;
  overflow:hidden;
  min-height: 620px;
}
.aboutHeroPro__visual::before{
  content:"";
  position:absolute;
  inset: 18px;
  border-radius: 24px;
  border:1px solid rgba(255,255,255,.06);
  pointer-events:none;
}
.aboutHeroPro__photo,
.aboutHeroPro__photo img{
  display:block;
  width:100%;
  height:100%;
}
.aboutHeroPro__photo img{
  object-fit: cover;
  min-height: 620px;
}
.aboutHeroPro__floating{
  position:absolute;
  left: 24px;
  right: 24px;
  bottom: 24px;
  padding: 18px 20px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(8,13,30,.9), rgba(8,13,30,.72));
  border: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(8px);
  box-shadow: 0 22px 55px rgba(0,0,0,.34);
}
.aboutHeroPro__floating-kicker{
  margin:0 0 4px;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(234,240,255,.64);
}
.aboutHeroPro__floating h2{
  margin:0 0 8px;
  font-size: 24px;
}
.aboutHeroPro__floating p{
  margin:0 0 10px;
  color: rgba(234,240,255,.82);
  line-height: 1.6;
}
.aboutHeroPro__floating ul{
  list-style:none;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding:0;
  margin:0;
}
.aboutHeroPro__floating li{
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(var(--brand-rgb), .14);
  border:1px solid rgba(var(--brand-rgb), .24);
  color:#fff;
  font-size: 13px;
}
.aboutTabs{
  padding: 18px 0 18px;
}

/* Reduce “aire” lateral en pantallas grandes, sin perder márgenes en móvil */
.aboutTabs .container{
  max-width: 1280px;
}
.aboutTabs__shell{
  display:grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 22px;
  align-items: start;
}
.aboutTabs__intro,
.aboutTabs__panels{
  border:1px solid rgba(255,255,255,.08);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(17,27,56,.86), rgba(9,16,34,.7));
  box-shadow: 0 22px 80px rgba(0,0,0,.30);
}
.aboutTabs__intro{
  position:sticky;
  top: 126px;
  padding: 30px;
}
.aboutTabs__kicker{
  margin:0 0 10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  color: rgba(234,240,255,.66);
}
.aboutTabs__intro h2{
  margin:0 0 12px;
  font-size: clamp(28px, 3.4vw, 42px);
  line-height:1.02;
  letter-spacing:-.03em;
}
.aboutTabs__intro > p{
  margin:0 0 18px;
  color: rgba(234,240,255,.76);
  line-height:1.7;
}
.aboutTabs__nav{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.aboutTabs__tab{
  appearance:none;
  border:none;
  width:100%;
  text-align:left;
  cursor:pointer;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  color: rgba(234,240,255,.82);
  border:1px solid rgba(255,255,255,.08);
  font-size:15px;
  font-weight: 700;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.aboutTabs__tab:hover,
.aboutTabs__tab.is-active{
  transform: translateX(6px);
  border-color: rgba(var(--brand-rgb), .38);
  background: linear-gradient(90deg, rgba(var(--brand-rgb), .18), rgba(255,255,255,.05));
}
.aboutTabs__panels{
  padding: 22px;
}
.aboutTabs__panel{display:none;}
.aboutTabs__panel.is-active{display:block;}
.aboutTabs__panel-grid{
  display:grid;
  /* Diseño más limpio: una sola columna */
  grid-template-columns: 1fr;
  gap: 18px;
  align-items:start;
}
.aboutTabs__panel h3{
  margin:0 0 12px;
  font-size: clamp(26px, 3vw, 38px);
  letter-spacing:-.03em;
}
.aboutTabs__panel p{
  color: rgba(234,240,255,.78);
  line-height: 1.75;
}
.aboutTabs__panel-photo{
  display:block;
  min-height: 420px;
  border-radius: 24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  box-shadow: 0 22px 70px rgba(0,0,0,.32);
}
.aboutTabs__panel-photo img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit: cover;
  display:block;
}
.aboutCheckGrid{
  margin-top: 18px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}
.aboutCheckGrid article,
.aboutReasonCard,
.aboutValueCard,
.aboutAlliance__badge{
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  box-shadow: 0 18px 40px rgba(0,0,0,.24);
}
.aboutCheckGrid article{
  padding: 16px;
}
.aboutCheckGrid strong{
  display:block;
  margin-bottom: 6px;
}
.aboutCheckGrid span{
  color: rgba(234,240,255,.74);
  line-height:1.6;
  font-size: 14px;
}
.aboutReasonsGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}
.aboutReasonCard{
  padding: 20px;
  transition: transform .18s ease, border-color .18s ease;
}
.aboutReasonCard:hover,
.aboutValueCard:hover{
  transform: translateY(-5px);
  border-color: rgba(var(--brand-rgb), .36);
}
.aboutReasonCard h3,
.aboutValueCard h3{
  margin:0 0 8px;
  font-size: 20px;
  letter-spacing:-.02em;
}
.aboutReasonCard p,
.aboutValueCard p{
  margin:0;
  color: rgba(234,240,255,.74);
  line-height:1.6;
}
.aboutAlliance{
  display:grid;
  /* Una sola columna evita “huecos” visuales en desktop */
  grid-template-columns: 1fr;
  gap: 18px;
  /* Evita “tarjetas” estiradas con mucho espacio vacío cuando el contenido es corto */
  align-items:start;
}
.aboutAlliance__label{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background: rgba(var(--accent-rgb), .16);
  color: #fff;
  border:1px solid rgba(var(--accent-rgb), .26);
  font-size: 12px;
  letter-spacing:.1em;
  text-transform: uppercase;
  margin: 0 0 10px;
}
.aboutAlliance h3{
  margin:0 0 12px;
  font-size: 32px;
}
.aboutAlliance__list{
  list-style:none;
  padding:0;
  margin:16px 0 0;
  display:grid;
  gap:10px;
}
.aboutAlliance__list li{
  padding-left: 18px;
  position:relative;
  color: rgba(234,240,255,.82);
}
.aboutAlliance__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:8px;
  height:8px;
  border-radius:50%;
  background: rgb(var(--accent-rgb));
  box-shadow: 0 0 16px rgba(var(--accent-rgb), .6);
}
.aboutAlliance__badge{
  display:flex;
  flex-direction:row;
  /* Alinea el contenido arriba para que no quede centrado con mucho vacío */
  justify-content:flex-start;
  align-items:center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 24px;
}

.aboutAlliance__badge strong{
  font-size: 20px;
}
.aboutAlliance__badge span{
  display:inline-block;
  padding:8px 12px;
  border-radius:999px;
  background: rgba(var(--brand-rgb), .16);
  border:1px solid rgba(var(--brand-rgb), .26);
  margin-bottom: 12px;
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.aboutAlliance__badge strong{
  font-size: 30px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.aboutValueStrip{
  padding: 18px 0 18px;
}
.aboutValueStrip__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}
.aboutValueCard{
  padding: 22px;
}
.aboutValueCard__icon{
  display:inline-flex;
  width: 44px;
  height: 44px;
  align-items:center;
  justify-content:center;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(var(--brand-rgb), .22), rgba(var(--accent-rgb), .18));
  border:1px solid rgba(255,255,255,.1);
  margin-bottom: 14px;
  font-size: 14px;
  font-weight: 900;
}
.aboutCTA{
  padding: 18px 0 60px;
}
.aboutCTA__box{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 24px;
  align-items:center;
  padding: 30px;
  border-radius: 28px;
  border:1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(17,27,56,.86), rgba(9,16,34,.72));
  box-shadow: 0 22px 80px rgba(0,0,0,.30);
}
.aboutCTA__kicker{
  margin:0 0 10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  color: rgba(234,240,255,.66);
}
.aboutCTA__box h2{
  margin:0 0 10px;
  font-size: clamp(28px, 3.2vw, 40px);
  line-height:1.08;
  letter-spacing:-.03em;
}
.aboutCTA__box p{
  margin:0;
  color: rgba(234,240,255,.78);
  line-height:1.7;
}
.aboutCTA__actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

@media (max-width: 1100px){
  .aboutHeroPro__grid,
  .aboutTabs__shell,
  .aboutCTA__box,
  .aboutTabs__panel-grid,
  .aboutAlliance{grid-template-columns: 1fr;}
  .aboutTabs__intro{position: static;}
  .aboutHeroPro__visual{min-height: 520px;}
  .aboutHeroPro__photo img{min-height:520px;}
  .aboutCTA__actions{justify-content:flex-start;}
}
@media (max-width: 900px){
  .aboutHeroPro__metrics,
  .aboutValueStrip__grid,
  .aboutReasonsGrid,
  .aboutCheckGrid{grid-template-columns: 1fr;}
}
@media (max-width: 640px){
  .aboutHeroPro__copy,
  .aboutTabs__intro,
  .aboutTabs__panels,
  .aboutCTA__box{padding: 22px;}
  .aboutHeroPro__title{font-size: clamp(34px, 10vw, 52px);}
  .aboutHeroPro__floating{left:16px; right:16px; bottom:16px;}
  .aboutHeroPro__floating h2{font-size: 20px;}
  .aboutTabs__tab:hover,
  .aboutTabs__tab.is-active{transform:none;}
}


/* ===== Responsive improvements (v56) ===== */
@media (max-width: 980px){
  /* 3 columnas -> 2 columnas (tablet) */
  .grid--3{grid-template-columns: repeat(2, minmax(0,1fr));}
}

@media (max-width: 700px){
  /* 2 columnas -> 1 columna (móvil) */
  .footer__grid{grid-template-columns: 1fr;}
}

@media (max-width: 640px){
  /* Más aire en móvil y cards en una columna */
  .grid--4{grid-template-columns: 1fr;}
  .grid--3{grid-template-columns: 1fr;}
  .hero{padding: 44px 0 22px;}
  .hero__visual--single{min-height: 360px;}
  .hero__single-art{width: 100%; border-radius: 22px;}
}

@media (max-width: 900px){
  /* Menú tipo “burger” también en tablets */
  .topbar__inner{flex-direction:column; align-items:flex-start}
  .topbar__links{flex-wrap:wrap}
  .nav{
    position:fixed;
    inset: 84px 14px auto 14px;
    display:none;
    padding:12px;
    border-radius: 18px;
    border: 1px solid rgba(234,240,255,.14);
    background: rgba(11,18,32,.96);
    color: rgba(234,240,255,.96);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: var(--shadow);
    flex-direction:column;
    align-items:stretch;
    max-height: calc(100vh - 110px);
    overflow:auto;
    z-index: 1000;
  }
  .nav a,
  .nav button{padding:12px 12px}
  .header__menu{display:inline-grid; place-items:center}
  .header__search{display:inline-grid; place-items:center}
  .nav.is-open{display:flex}

  /* Dropdown Servicios dentro del menú móvil: en flujo normal (no flotante) */
  .nav__dropdown{width:100%; align-items:stretch}
  .nav__dropdown-trigger{width:100%; justify-content:space-between}
  .nav__dropdown-menu{
    position: static;
    min-width: 100%;
    margin-top: 8px;
    opacity: 0;
    transform: none;
    pointer-events: none;
    box-shadow: none;
    border-radius: 14px;
  }
  .nav__dropdown:focus-within .nav__dropdown-menu{
    opacity: 1;
    pointer-events: auto;
  }
}

.formgrid{display:grid; gap:12px}
.formgrid--2{grid-template-columns: repeat(2, minmax(0,1fr))}
@media (max-width: 700px){
  .formgrid--2{grid-template-columns: 1fr}
}


/* === Catálogo actualizado blanco y ordenado === */
.cataloghead__count strong{color:#fff}
.product--white{background:#ffffff;border:1px solid rgba(15,23,42,.08);box-shadow:0 16px 38px rgba(15,23,42,.10)}
.product--white .product__img{background:linear-gradient(180deg,#ffffff,#f8fafc);border-bottom:1px solid rgba(15,23,42,.06);padding:24px}
.product__img--link{text-decoration:none}
.product__title a{text-decoration:none;color:#0f172a}
.product__title a:hover{color:#1d4ed8}
.product--white .product__desc{color:#475569}
.product__category-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:12px;font-weight:700;border:1px solid rgba(29,78,216,.12)}
.product--white .tag{background:#f8fafc;border-color:rgba(148,163,184,.35);color:#334155}
.btn--ghost-dark{background:#fff;color:#0f172a;border:1px solid rgba(15,23,42,.12)}
.btn--ghost-dark:hover{background:#f8fafc}

/* === Ficha de producto === */
.productpage{padding:32px 0 56px}
.productpage__shell{background:#fff;border-radius:28px;border:1px solid rgba(15,23,42,.08);box-shadow:0 20px 48px rgba(15,23,42,.12);padding:28px}
.productpage__back{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;color:#cbd5e1;text-decoration:none}
.productpage__back:hover{color:#fff}
.productpage__grid{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr) minmax(320px,420px);gap:18px;align-items:start}
.productpage__thumbs{display:flex;flex-direction:column;gap:12px}
.productpage__thumb{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:8px;cursor:pointer;transition:.2s ease;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1}
.productpage__thumb.is-active,.productpage__thumb:hover{border-color:#1d4ed8;box-shadow:0 12px 24px rgba(29,78,216,.12)}
.productpage__thumb img{max-width:100%;max-height:100%;object-fit:contain}
.productpage__hero{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:24px;min-height:420px;display:flex;align-items:center;justify-content:center}
.productpage__hero img{max-width:100%;max-height:100%;object-fit:contain}
.productpage__info{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:24px;color:#0f172a}
.productpage__eyebrow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.productpage__eyebrow span{font-size:12px;font-weight:700;padding:5px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8}
.productpage__title{margin:0 0 12px;font-size:34px;line-height:1.05;color:#0f172a}
.productpage__meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;padding:16px 0;border-top:1px solid rgba(15,23,42,.08);border-bottom:1px solid rgba(15,23,42,.08);margin-bottom:18px}
.productpage__meta div{font-size:14px;color:#475569}
.productpage__meta strong{display:block;color:#0f172a;font-size:13px;margin-bottom:2px}
.productpage__buy{display:block;text-align:center;text-decoration:none;background:#22c55e;color:#fff;font-weight:800;padding:18px 18px;border-radius:16px;margin-bottom:14px}
.productpage__buy:hover{filter:brightness(.96)}
.productpage__mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.productpage__mini-actions a{text-decoration:none;text-align:center;padding:14px;border-radius:14px;background:#f8fafc;border:1px solid rgba(15,23,42,.08);color:#0f172a;font-weight:600}
.productpage__tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.productpage__tab{border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:18px;background:#fff;color:#334155}
.productpage__tab h3{margin:0 0 10px;color:#0f172a;font-size:16px}
.productpage__tab ul{margin:0;padding-left:18px}
.productpage__related{margin-top:22px}
.productpage__related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.productpage__related-card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:16px;text-decoration:none;color:#0f172a;box-shadow:0 12px 24px rgba(15,23,42,.06)}
.productpage__related-card img{width:100%;aspect-ratio:4/3;object-fit:contain;margin-bottom:12px}
.productpage__related-card span{display:inline-flex;font-size:12px;padding:4px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;margin-bottom:8px}
@media (max-width: 1100px){.productpage__grid{grid-template-columns:1fr}.productpage__thumbs{order:2;flex-direction:row;overflow:auto}.productpage__hero{min-height:320px}.productpage__related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.productpage__shell{padding:18px}.productpage__title{font-size:28px}.productpage__meta{grid-template-columns:1fr}.productpage__tabs,.productpage__related-grid{grid-template-columns:1fr}}


/* ===== Mejoras catálogo / consistencia visual ===== */
.header{position:sticky;top:0;z-index:120;backdrop-filter:none;}
.topbar{position:relative;z-index:121;}
main.section.section--tight{padding-top:8px;}
.cataloghead,
.cta-strip,
.empty{background:linear-gradient(180deg, rgba(10,18,40,.72), rgba(7,13,32,.88));border-color:rgba(106,163,255,.18);box-shadow:0 16px 36px rgba(3,8,22,.22);}
.cataloghead{padding:16px 18px;border:1px solid rgba(106,163,255,.18);border-radius:20px;}
.cataloghead__count{color:rgba(231,238,252,.82);font-size:15px;}
.catalogfilters__field{color:rgba(231,238,252,.72)}
.catalogfilters__field > span{color:rgba(231,238,252,.92)}
.catalogfilters select,
.catalogfilters input{background:rgba(255,255,255,.08);border-color:rgba(106,163,255,.16);color:#eef4ff;box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
.catalogfilters input::placeholder{color:rgba(231,238,252,.48);}
.product{border-color:rgba(106,163,255,.16);background:linear-gradient(180deg, rgba(11,20,44,.92), rgba(8,15,34,.98));box-shadow:0 16px 34px rgba(4,10,26,.30);}
.product__img{background:radial-gradient(circle at 50% 28%, rgba(77,166,255,.10), transparent 55%);border-bottom:1px solid rgba(106,163,255,.10);}
.product__title a{color:#f7fbff;text-decoration:none;}
.product__title a:hover{color:#8bc5ff;}
.product__desc{color:rgba(231,238,252,.68);}
.product__brand{color:#ffffff;}
.product__category-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;background:rgba(77,166,255,.12);border:1px solid rgba(77,166,255,.24);color:#9bd1ff;font-weight:700;}
.product--white .tag{background:rgba(77,166,255,.10);border-color:rgba(77,166,255,.18);color:#dbeafe;}
.btn--ghost-dark{background:rgba(255,255,255,.08);color:#f8fbff;border:1px solid rgba(106,163,255,.16);}
.btn--ghost-dark:hover{background:rgba(255,255,255,.12);}
.empty{padding:22px;color:#eef4ff;}
.empty .muted{color:rgba(231,238,252,.68);}
.cta-strip strong{color:#fff;}
.cta-strip .muted{color:rgba(231,238,252,.7);}

/* ===== Ficha de producto en la misma línea visual del sitio ===== */
.productpage__shell{background:linear-gradient(180deg, rgba(9,16,36,.88), rgba(7,13,31,.96));border:1px solid rgba(106,163,255,.18);box-shadow:0 24px 56px rgba(2,8,20,.34);}
.productpage__thumb,
.productpage__hero,
.productpage__info,
.productpage__tab,
.productpage__related-card{background:linear-gradient(180deg, rgba(11,20,44,.92), rgba(8,15,34,.98));border:1px solid rgba(106,163,255,.14);box-shadow:0 14px 30px rgba(4,10,26,.20);}
.productpage__back{color:#dbeafe;}
.productpage__back:hover{color:#ffffff;}
.productpage__eyebrow span{background:rgba(77,166,255,.12);color:#9bd1ff;border:1px solid rgba(77,166,255,.22);}
.productpage__title,
.productpage__tab h3,
.productpage__meta strong,
.productpage__related-card strong{color:#f8fbff;}
.productpage__info,
.productpage__tab,
.productpage__related-card,
.productpage__meta div{color:rgba(231,238,252,.76);}
.productpage__meta{border-top:1px solid rgba(106,163,255,.14);border-bottom:1px solid rgba(106,163,255,.14);}
.productpage__buy{background:linear-gradient(135deg, rgba(59,130,246,.96), rgba(37,99,235,.92));}
.productpage__mini-actions a{background:rgba(255,255,255,.06);border-color:rgba(106,163,255,.14);color:#eff6ff;}
.productpage__related-card span{background:rgba(77,166,255,.12);color:#9bd1ff;}
@media (max-width: 900px){
  .header{top:0;}
  .cataloghead{padding:14px;}
}


/* Ajustes finos catálogo y ficha de producto */
.productpage__grid{grid-template-columns:88px minmax(0,1fr) minmax(300px,380px);gap:20px;}
.productpage__thumbs{gap:10px;max-height:560px;overflow:auto;padding-right:2px;}
.productpage__thumb{min-height:88px;max-height:88px;border-radius:16px;padding:6px;background:#ffffff;}
.productpage__thumb img{width:100%;height:100%;object-fit:contain;}
.productpage__hero{padding:18px;min-height:460px;}
.productpage__hero-stage{width:100%;height:100%;min-height:420px;border-radius:20px;background:#ffffff;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.productpage__hero img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;}
.productpage__info{background:linear-gradient(180deg, rgba(11,20,44,.96), rgba(8,15,34,.98));}
.productpage__tab ul li + li{margin-top:6px;}
@media (max-width: 1100px){
  .productpage__grid{grid-template-columns:1fr;}
  .productpage__thumbs{order:2;flex-direction:row;max-height:none;overflow:auto;padding-right:0;}
  .productpage__thumb{min-width:84px;max-width:84px;min-height:84px;max-height:84px;}
  .productpage__hero{min-height:340px;}
  .productpage__hero-stage{min-height:300px;}
}


/* === Stable local-ready fixes + mobile-only equipment tuning === */
html, body { max-width: 100%; overflow-x: clip; }
body.page-equipos, body.page-producto { overflow-x: hidden; }

/* Keep desktop as-is; only refine equipment flow on small screens */
@media (max-width: 900px){
  body.page-equipos .topbar,
  body.page-producto .topbar{display:none}

  body.page-equipos .header,
  body.page-producto .header{padding:10px 0 0}

  body.page-equipos .header__inner,
  body.page-producto .header__inner{
    border-radius: 22px !important;
    padding: 12px 16px !important;
  }

  body.page-equipos .nav,
  body.page-producto .nav{
    inset: 78px 12px auto 12px;
    max-width: calc(100vw - 24px);
    overflow: hidden;
  }
}

@media (max-width: 760px){
  body.page-equipos main.section.section--tight,
  body.page-producto .productpage{padding-top: 10px}

  body.page-equipos .catalog-hero{padding-top: 8px}
  body.page-equipos .catalog-hero__frame{
    border-radius: 24px;
    overflow:hidden;
  }
  body.page-equipos .catalog-hero__picture img{
    width:100%;
    min-height: 230px;
    object-fit: cover;
    object-position: center;
  }

  body.page-equipos .equippanel{padding-top: 18px}
  body.page-equipos .equippanel__head{margin-bottom: 14px}
  body.page-equipos .equippanel__brands{gap:14px}
  body.page-equipos .equippanel__brand{font-size: 28px}
  body.page-equipos .equippanel__brand--criffer{font-size: 22px}
  body.page-equipos .equippanel__subtitle{font-size: 14px; padding: 0 4px}
  body.page-equipos .equippanel__grid{gap:12px}
  body.page-equipos .equippanel__tile{
    min-height: 158px;
    padding:16px 12px 12px;
  }
  body.page-equipos .equippanel__icon{width:64px;height:64px}
  body.page-equipos .equippanel__icon svg{width:48px;height:48px}
  body.page-equipos .equippanel__name{font-size:15px}
  body.page-equipos .equippanel__hint{padding:8px 10px;font-size:12px}

  body.page-equipos .cataloghead{
    padding: 14px;
    border-radius: 18px;
    gap: 14px;
  }
  body.page-equipos .catalogfilters{width:100%}
  body.page-equipos .catalogfilters__field{width:100%}
  body.page-equipos .catalogfilters select,
  body.page-equipos .catalogfilters input{width:100%; min-width:0}

  body.page-equipos .productgrid{gap:14px}
  body.page-equipos .product{
    border-radius: 18px;
  }
  body.page-equipos .product__img{
    aspect-ratio: 4 / 3;
    padding: 14px;
  }
  body.page-equipos .product__img img{
    max-width: 72%;
    max-height: 72%;
    object-fit: contain;
    transform: translateZ(0);
  }
  body.page-equipos .product__body{padding: 14px}
  body.page-equipos .product__title{font-size: 18px}
  body.page-equipos .product__desc{font-size: 14px; -webkit-line-clamp: 4}
  body.page-equipos .product__actions{flex-direction: column}
  body.page-equipos .cta-strip{padding: 16px; border-radius: 18px}

  body.page-producto .productpage{padding:18px 0 36px}
  body.page-producto .productpage__shell{
    padding: 16px;
    border-radius: 22px;
  }
  body.page-producto .productpage__back{margin-bottom: 14px}
  body.page-producto .productpage__grid{gap:14px}
  body.page-producto .productpage__hero{
    padding: 14px;
    min-height: auto;
  }
  body.page-producto .productpage__hero-stage{
    min-height: 260px;
    max-height: 320px;
  }
  body.page-producto .productpage__hero img{
    max-width: 78%;
    max-height: 78%;
    object-fit: contain;
  }
  body.page-producto .productpage__thumbs{
    order: 2;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 2px;
    scrollbar-width: none;
  }
  body.page-producto .productpage__thumbs::-webkit-scrollbar{display:none}
  body.page-producto .productpage__thumb{
    min-width: 72px;
    max-width: 72px;
    min-height: 72px;
    max-height: 72px;
    border-radius: 14px;
  }
  body.page-producto .productpage__info{padding:18px}
  body.page-producto .productpage__title{font-size: 28px}
  body.page-producto .productpage__mini-actions{grid-template-columns:1fr}
  body.page-producto .productpage__tabs{grid-template-columns:1fr; gap:10px}
}

/* ===== Final cleanup: mobile/tablet only, keep desktop intact ===== */
html, body { overflow-x: hidden; }
body { overscroll-behavior-x: none; }
img { image-rendering: auto; }

/* Slightly reduce product imagery inside frames without shrinking the frame */
.product__img img { max-width: 78%; max-height: 78%; object-fit: contain; }
.productpage__hero img { max-width: 88%; max-height: 88%; object-fit: contain; }

/* About banner: keep centered and proportional */
.aboutBanner__frame { overflow: hidden; }
.aboutBanner__img { width: 100%; height: auto; object-fit: cover; object-position: center; }

@media (max-width: 980px) {
  .topbar { display: none !important; }
  .header { padding: 10px 0 0 !important; }
  .header__inner {
    border-radius: 22px !important;
    padding: 12px 16px !important;
  }
  .header__search { display: none !important; }
  .header .iconbtn {
    width: 46px;
    height: 46px;
    border-radius: 16px;
    background: rgba(47,114,255,.12) !important;
    border: 1px solid rgba(120,168,255,.28) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  }
  .header .iconbtn__bars {
    background:
      linear-gradient(#eaf0ff,#eaf0ff) 0 0/100% 2px,
      linear-gradient(#eaf0ff,#eaf0ff) 0 50%/100% 2px,
      linear-gradient(#eaf0ff,#eaf0ff) 0 100%/100% 2px;
    background-repeat:no-repeat;
  }

  .nav {
    inset: 86px 12px auto 12px !important;
    padding: 16px !important;
    gap: 6px;
    border-radius: 24px !important;
    background: rgba(7,13,31,.96) !important;
    border: 1px solid rgba(106,163,255,.18) !important;
    box-shadow: 0 22px 48px rgba(2,8,20,.38) !important;
    max-height: calc(100vh - 108px);
    overflow-y: auto;
    overflow-x: hidden;
  }
  .nav a,
  .nav button {
    padding: 14px 10px !important;
    font-size: 17px;
    line-height: 1.25;
  }
  .nav__dropdown { width: 100%; display: block; }
  .nav__dropdown-trigger {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .nav__dropdown-menu {
    display: none;
    position: static !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    margin-top: 10px;
    min-width: 100%;
    padding: 8px;
    border-radius: 18px;
    border: 1px solid rgba(106,163,255,.14);
    background: rgba(255,255,255,.04);
    box-shadow: none !important;
  }
  .nav__dropdown.is-open .nav__dropdown-menu { display: block; }
  .nav__dropdown-menu a {
    padding: 14px 14px;
    border-radius: 14px;
  }
  .nav__dropdown-menu .dd-title { font-size: 16px; }
  .nav__dropdown-menu .dd-desc { font-size: 13px; }
  .nav__cta { margin-top: 8px; }

  .hero__inner {
    gap: 18px;
  }
  .hero__visual--single {
    min-height: unset;
  }
  .hero__single-art,
  .catalog-hero__frame,
  .aboutBanner__frame {
    border-radius: 22px !important;
    overflow: hidden;
  }
  .hero__single-art img,
  .catalog-hero__picture img,
  .aboutBanner__img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center;
  }

  .footer { overflow: hidden; }
  .footer .container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .footer__grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    padding: 28px 0 22px !important;
  }
  .footer h3 { margin-bottom: 12px; }
  .footer nav { gap: 10px; }
  .footer__bottom {
    padding: 18px 0 26px !important;
  }
}

@media (max-width: 760px) {
  .hero { padding: 30px 0 22px; }
  .hero__copy { padding-inline: 2px; }
  .hero__single-art img,
  .catalog-hero__picture img,
  .aboutBanner__img {
    min-height: 210px;
    max-height: 320px;
  }
  body.page-equipos .equippanel__grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 12px;
  }
  body.page-equipos .equippanel__tile {
    min-height: 150px;
  }
  body.page-equipos .product__img {
    padding: 16px !important;
  }
  body.page-equipos .product__img img {
    max-width: 70% !important;
    max-height: 70% !important;
  }
  body.page-producto .productpage__thumbs {
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }
}


/* ===== Mobile-only stabilization patch (desktop untouched) ===== */
@media (max-width: 980px){
  html,body{overflow-x:hidden !important; max-width:100% !important; background:#07101f !important;}
  body{background:
    radial-gradient(900px 500px at 10% 10%, rgba(var(--brand-rgb), .18), transparent 55%),
    radial-gradient(900px 500px at 80% 0%, rgba(var(--brand2-rgb), .12), transparent 55%),
    linear-gradient(180deg, #070b14, var(--bg) 30%, #050812) !important;}
  body.page-index, body.page-home, body.page-nosotros, body.page-servicios, body.page-recursos, body.page-carreras,
  body.page-contacto, body.page-programas, body.page-sedes, body.page-verificacion, body.page-legal,
  body.page-monitoreo, body.page-equipos, body.page-producto{background:
    radial-gradient(900px 500px at 10% 10%, rgba(var(--brand-rgb), .18), transparent 55%),
    radial-gradient(900px 500px at 80% 0%, rgba(var(--brand2-rgb), .12), transparent 55%),
    linear-gradient(180deg, #070b14, var(--bg) 30%, #050812) !important;}

  .topbar{display:none !important;}
  .header{background:transparent !important; border-bottom:none !important; padding-top:10px !important;}
  .header__inner{
    background:rgba(6,10,20,.92) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    border-radius:28px !important;
    padding:12px 16px !important;
    box-shadow:0 18px 45px rgba(0,0,0,.32) !important;
  }
  .header__search{display:none !important;}
  .brand__logo img{height:48px !important; width:auto !important;}
  .header .iconbtn{
    width:52px !important; height:52px !important; border-radius:18px !important;
    background:rgba(27,95,168,.18) !important;
    border:1px solid rgba(120,168,255,.34) !important;
  }
  .header .iconbtn__bars{
    background:
      linear-gradient(#eaf0ff,#eaf0ff) 0 0/100% 2px,
      linear-gradient(#eaf0ff,#eaf0ff) 0 50%/100% 2px,
      linear-gradient(#eaf0ff,#eaf0ff) 0 100%/100% 2px !important;
    background-repeat:no-repeat !important;
  }

  .nav{
    inset:86px 12px auto 12px !important;
    max-height:calc(100vh - 108px) !important;
    overflow-y:auto !important; overflow-x:hidden !important;
    background:rgba(7,13,31,.97) !important;
    border:1px solid rgba(106,163,255,.18) !important;
    border-radius:24px !important;
    box-shadow:0 24px 48px rgba(2,8,20,.42) !important;
    padding:16px !important;
    gap:6px !important;
    z-index:90 !important;
  }
  .nav a, .nav button{padding:14px 10px !important; font-size:18px !important; line-height:1.25 !important;}
  .nav__dropdown-menu{position:static !important; width:100% !important; min-width:0 !important; margin-top:10px !important; background:rgba(255,255,255,.04) !important;}

  .hero{padding:22px 0 20px !important; min-height:unset !important;}
  .hero__inner{grid-template-columns:1fr !important; gap:18px !important;}
  .hero__copy, .hero__copy > *{max-width:none !important;}
  .hero__panel, .hero__visual, .hero__visual--single{display:none !important;}
  .hero h1{font-size:clamp(42px, 13vw, 58px) !important; line-height:0.98 !important; letter-spacing:-.03em !important;}
  .lead{font-size:15px !important; line-height:1.45 !important; max-width:none !important;}
  .pro-bullets{gap:10px !important; max-width:none !important;}
  .hero__closing{margin-top:14px !important;}
  .hero__actions{gap:10px !important;}
  .hero .btn{min-height:48px !important;}
  .searchbox{margin-top:14px !important; padding:10px !important;}
  .topics{margin-top:10px !important;}

  .section{padding:24px 0 !important;}
  .section--muted{background:rgba(255,255,255,.02) !important;}
  .pro-servicegrid, .grid, .grid--4, .grid--3, .split, .footer__grid{grid-template-columns:1fr !important;}
  .pro-service, .feature, .tile, .split__copy, .split__visual{width:100% !important;}
  .pro-service{padding:20px !important; border-radius:24px !important;}
  .pro-service .pro-ico img{max-width:64% !important; max-height:64% !important;}
  .feature{padding:18px !important; border-radius:24px !important;}
  .tile{padding:18px !important;}

  .pagehero__inner, .aboutSplit__wrap, .aboutAfter__grid, .aboutAlliance, .aboutCheckGrid{grid-template-columns:1fr !important;}
  .aboutBanner__frame{border-radius:22px !important; overflow:hidden !important;}
  .aboutBanner__img{width:100% !important; height:auto !important; object-fit:cover !important; object-position:center !important;}

  .footer{overflow:hidden !important;}
  .footer .container{padding-left:20px !important; padding-right:20px !important;}
  .footer__grid{gap:22px !important; padding:30px 0 24px !important;}
  .footer__bottom{padding:18px 0 30px !important;}

  .owh-quick-btn--bot, .owh-helpbot{display:none !important;}
  .owh-quick-dock{right:14px !important; bottom:14px !important;}
}

@media (max-width: 760px){
  .container{padding-left:16px !important; padding-right:16px !important;}
  .hero h1{font-size:clamp(34px, 12vw, 50px) !important;}
  .brand__logo img{height:44px !important;}
  .header .iconbtn{width:50px !important; height:50px !important;}
  .pro-servicegrid{gap:14px !important;}
  .feature__title{font-size:34px !important; line-height:1.05 !important;}
  .pro-service .pro-ico img, .tile img, .feature img{max-width:72% !important;}
  body.page-equipos .product__img{padding:16px !important; aspect-ratio:4/3 !important;}
  body.page-equipos .product__img img{max-width:70% !important; max-height:70% !important; object-fit:contain !important;}
  body.page-producto .productpage__hero{padding:16px !important;}
  body.page-producto .productpage__hero img{max-width:78% !important; max-height:78% !important;}
}


/* ===== mobile hotfix v13: iphone/cpanel only ===== */
@media (max-width: 980px){
  .topbar{display:none !important;}
  body, html{background:#07101f !important; overflow-x:hidden !important;}
  body::before{content:""; position:fixed; inset:0; background:#07101f; z-index:-3;}
  .header{padding-top:10px !important; background:transparent !important;}
  .header__inner{background:linear-gradient(180deg, rgba(9,17,39,.96), rgba(9,17,39,.92)) !important; border-color:rgba(124,153,214,.22) !important;}
  .header .iconbtn{background:rgba(21,36,74,.8) !important; border-color:rgba(124,153,214,.28) !important;}
  .header .iconbtn__bars{filter:none !important;}
  .nav{inset:86px 12px auto 12px !important; padding:18px !important; background:rgba(6,11,27,.98) !important;}
  .nav__dropdown-menu{position:static !important; margin:10px 0 4px !important; border-radius:18px !important; background:rgba(255,255,255,.05) !important; box-shadow:none !important;}
  .hero{padding-top:12px !important;}
  .hero__inner{display:grid !important; grid-template-columns:1fr !important; gap:18px !important; align-items:start !important;}
  .hero__copy{width:100% !important; max-width:100% !important; min-width:0 !important; order:1 !important;}
  .hero__visual, .hero__visual--single{display:block !important; width:100% !important; max-width:100% !important; order:2 !important;}
  .hero__single-art{max-width:100% !important; margin:0 auto !important;}
  .hero__single-art img{width:100% !important; height:auto !important; object-fit:cover !important;}
  .hero h1{font-size:clamp(34px,9vw,48px) !important; line-height:1.05 !important; max-width:10ch !important; letter-spacing:-.03em !important;}
  .lead{font-size:17px !important; line-height:1.45 !important; max-width:30ch !important;}
  .pro-bullets{font-size:15px !important; line-height:1.45 !important; max-width:32ch !important;}
  .searchbox{display:grid !important; grid-template-columns:1fr auto !important; gap:10px !important; align-items:center !important; overflow:hidden !important;}
  .searchbox input{min-width:0 !important; width:100% !important;}
  .section, .section--muted{background:transparent !important;}
  .pro-servicegrid, .grid, .grid--4, .grid--3, .split, .footer__grid{grid-template-columns:1fr !important;}
  .pro-service, .feature, .tile, .storycard, .split__copy, .split__visual{background:linear-gradient(180deg, rgba(9,17,39,.96), rgba(9,17,39,.9)) !important; color:#e8eefc !important; border-color:rgba(124,153,214,.16) !important;}
  .pro-service .link, .storycard a, .tile .link{color:#60a5fa !important;}
  .storycard__body{background:transparent !important;}
  .feature__media, .tile__media, .storycard__media, .aboutBanner__frame{overflow:hidden !important; border-radius:24px !important;}
  .feature__media img, .tile__media img, .storycard__media img, .aboutBanner__img{width:100% !important; height:auto !important; object-fit:cover !important;}
  .footer .container{padding-left:22px !important; padding-right:22px !important;}
  .footer__grid{gap:24px !important;}
  .footer__bottom{padding-bottom:30px !important;}
  .owh-quick-btn--bot, .owh-helpbot{display:none !important;}
}
@media (max-width: 760px){
  .container{padding-left:18px !important; padding-right:18px !important;}
  .hero h1{font-size:clamp(32px,10.5vw,44px) !important; max-width:9ch !important;}
  .lead, .pro-bullets{max-width:none !important;}
  body.page-index .hero__single-art{margin-top:4px !important;}
  body.page-index .hero__single-art img{border-radius:22px !important;}
  body.page-index .pro-service .pro-ico img{max-width:54% !important; max-height:54% !important;}
  body.page-index .pro-service{padding:18px !important;}
  body.page-index .pro-service h3{font-size:32px !important; line-height:1.08 !important;}
  body.page-index .feature__title{font-size:30px !important; line-height:1.08 !important;}
  body.page-index .pro-stat{padding:16px !important;}
  body.page-equipos .product__img, body.page-monitoreo .product__img{padding:18px !important;}
  body.page-equipos .product__img img, body.page-monitoreo .product__img img{max-width:62% !important; max-height:62% !important; object-fit:contain !important;}
}


/* ===== Mobile-only stabilization patch v14 ===== */
@media (max-width: 760px){
  :root{ --surface:#091224; }
  html, body{ overflow-x:hidden !important; max-width:100% !important; }
  body{ background: linear-gradient(180deg, #050913 0%, #081126 100%) !important; }
  .topbar{ display:none !important; }
  .header{ padding:10px 0 !important; position:sticky; top:0; z-index:80; }
  .header__inner{
    padding: 12px 14px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(8,14,31,.96), rgba(6,11,24,.92)) !important;
    border: 1px solid rgba(120,168,255,.18) !important;
    box-shadow: 0 16px 42px rgba(0,0,0,.32) !important;
  }
  .header__search{ display:none !important; }
  .header .iconbtn{
    background: rgba(255,255,255,.04) !important;
    border-color: rgba(120,168,255,.26) !important;
  }
  .nav{
    inset: 84px 14px auto 14px !important;
    max-height: calc(100vh - 110px) !important;
    overflow:auto !important;
    background: rgba(7,12,27,.98) !important;
  }
  .nav__dropdown-menu{
    position:static !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    display:none;
    margin-top:10px;
    border-radius:18px !important;
    background: rgba(255,255,255,.04) !important;
    box-shadow:none !important;
  }
  .nav__dropdown.is-open .nav__dropdown-menu{ display:grid !important; }

  .hero--pro{ padding: 18px 0 12px !important; }
  .hero--pro .hero__inner{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .hero__copy{ order:1; }
  .hero__visual--single{ order:2; min-height:auto !important; margin-top: 0 !important; }
  .hero__single-art{ width:100% !important; max-width:none !important; border-radius: 18px !important; overflow:hidden !important; }
  .hero__single-art img{ width:100% !important; height:auto !important; display:block !important; }
  .hero h1{
    font-size: clamp(28px, 9.2vw, 42px) !important;
    line-height: .95 !important;
    letter-spacing: -.04em !important;
    max-width: 8ch !important;
    margin-bottom: 10px !important;
  }
  .hero .lead{
    font-size: 15px !important;
    line-height: 1.5 !important;
    max-width:none !important;
    margin-bottom: 12px !important;
  }
  .pro-bullets{ gap:8px !important; margin: 0 0 14px !important; }
  .pro-bullets li{ font-size: 13px !important; line-height: 1.4 !important; }
  .hero__actions{ gap:10px !important; margin-bottom: 12px !important; }
  .hero__actions .btn{ flex:1 1 0; min-width:0; justify-content:center; }
  .searchbox{ padding:10px !important; border-radius:16px !important; }
  .searchbox__row{ flex-direction:row !important; }
  .topics{ margin-top: 12px !important; }
  .topics__chips{ gap:8px !important; }
  .chip{ font-size: 11px !important; padding: 7px 10px !important; }

  .section--muted,
  .pagehero--light,
  .aboutSplit,
  .aboutAfter,
  .aboutValues,
  .feature,
  .tile,
  .post,
  .pro-service,
  .pro-stat,
  .legal-card,
  .legal-doc,
  .empty,
  .cta-strip,
  .catalogfilters select,
  .catalogfilters input{
    background-color: transparent !important;
  }

  .pro-service,
  .tile,
  .post,
  .article,
  .article-card,
  .feature,
  .legal-card,
  .legal-doc,
  .empty,
  .product,
  .monitor-icon-card,
  .monitor-benefit-card{
    background: linear-gradient(180deg, rgba(13,23,47,.92), rgba(8,14,30,.9)) !important;
    border-color: rgba(255,255,255,.08) !important;
    box-shadow: 0 14px 36px rgba(0,0,0,.22) !important;
  }

  .pro-servicegrid{ grid-template-columns:1fr !important; gap:14px !important; }
  .pro-service{ border-radius:24px !important; padding:16px !important; }
  .pro-ico{ width:88px !important; height:88px !important; }
  .pro-service h3{ font-size: 16px !important; }
  .pro-service p{ font-size: 14px !important; }

  .catalog-hero--top .container,
  .section .container,
  .footer .container{ padding-left:16px !important; padding-right:16px !important; }
  .equippanel__grid{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 12px !important; }
  .equippanel__tile{ min-height: 164px !important; }

  .footer{ margin-top: 22px !important; }
  .footer__grid{ grid-template-columns: 1fr !important; gap:18px !important; }
  .footer__grid > div{ padding-left: 6px !important; padding-right: 6px !important; }
  .footer__bottom{ padding-left: 6px !important; padding-right: 6px !important; }
}


/* ===== Mobile-only stability fixes v15 ===== */
@media (max-width: 760px){
  html,body{max-width:100%;overflow-x:hidden;background:#030b1b !important;}
  body{background:#030b1b !important;}
  .topbar{display:none !important;}
  .header{background:transparent !important;}
  .header__inner{padding:10px 14px !important;}
  .brand__logo img{width:96px !important;height:auto !important;}
  .header__menu{
    display:inline-grid !important;place-items:center;
    width:54px;height:54px;border-radius:18px;
    background:rgba(255,255,255,.06) !important;
    border:1px solid rgba(120,170,255,.26) !important;
    color:#dbeafe !important;
    box-shadow:0 10px 24px rgba(0,0,0,.28);
  }
  .header__search{display:none !important;}
  .iconbtn__bars,.iconbtn__bars::before,.iconbtn__bars::after{background:#dbeafe !important;}
  .nav{inset:84px 12px auto 12px !important;max-height:calc(100vh - 108px) !important;}
  .nav__dropdown-menu{position:static !important; left:auto !important; right:auto !important; min-width:100% !important;}
  body.menu-open{overflow:hidden !important;}

  .hero--pro{padding:16px 0 24px !important;}
  .hero__inner{grid-template-columns:1fr !important;gap:16px !important;}
  .hero__copy{max-width:none !important;}
  .hero h1,.hero__title{font-size:clamp(18px, 9.2vw, 30px) !important;line-height:1.02 !important;max-width:none !important;letter-spacing:-0.02em;}
  .hero .lead,.hero__lead{font-size:14px !important;line-height:1.45 !important;max-width:none !important;}
  .pro-bullets li{font-size:13px !important;line-height:1.42 !important;}
  .hero__closing{font-size:13px !important;line-height:1.4 !important;}
  .hero__actions{display:grid !important;grid-template-columns:1fr 1fr;gap:10px !important;}
  .hero__actions .btn{min-width:0 !important;padding-inline:12px !important;justify-content:center;}
  .searchbox{padding:10px !important;border-radius:16px !important;}
  .searchbox input{min-width:0 !important;font-size:14px !important;}
  .topics__chips{display:flex;overflow:auto;gap:8px;padding-bottom:2px;scrollbar-width:none;}
  .topics__chips::-webkit-scrollbar{display:none;}
  .topics__chips .chip{white-space:nowrap;}

  .hero__visual--single{min-height:0 !important;order:2;align-items:flex-start !important;}
  .hero__single-art{
    width:100% !important;aspect-ratio:auto !important;min-height:0 !important;
    background:transparent !important;border-radius:20px !important;overflow:hidden !important;
    box-shadow:0 12px 30px rgba(0,0,0,.28);
  }
  .hero__single-art picture,.hero__single-art img{
    width:100% !important;height:auto !important;min-height:0 !important;
    object-fit:contain !important;object-position:center center !important;display:block;
  }

  .section,.section--muted,.pagehero,.pagehero--light{background:transparent !important;}
  .pro-sectionhead{margin-bottom:12px !important;}
  .pro-sectionhead h2,.pro-sectionhead p{color:#fff !important;}
  .pro-servicegrid{grid-template-columns:1fr !important;gap:14px !important;}
  .pro-service{
    background:linear-gradient(180deg, rgba(8,17,40,.92), rgba(6,13,30,.94)) !important;
    border:1px solid rgba(106,163,255,.16) !important;
    border-radius:24px !important;
    box-shadow:0 18px 36px rgba(2,8,20,.34) !important;
    padding:16px !important;
  }
  .pro-service h3,.pro-service .link{color:#fff !important;}
  .pro-service p{color:rgba(231,238,252,.76) !important;}
  .pro-ico--badge{width:min(220px,64vw) !important;height:min(220px,64vw) !important;margin:0 auto 12px !important;}
  .pro-ico--badge img{filter:drop-shadow(0 10px 18px rgba(0,0,0,.26)) !important;}

  .footer__grid{grid-template-columns:1fr !important;gap:22px !important;padding-inline:18px !important;}
  .footer__bottom{padding-inline:18px !important;}

  .owh-quick-btn--bot,#owh-helpbot-btn,.owh-helpbot{display:none !important;}
}


/* ===== mobile-only stability fix v16 ===== */
@media (max-width: 900px){
  html,body{overflow-x:hidden !important;max-width:100% !important;background:#07101f !important;}
  body{background:linear-gradient(180deg,#07101f 0%,#081428 100%) !important;}
  .topbar{display:none !important;}
  .header{padding-top:10px !important;background:transparent !important;border-bottom:none !important;}
  .header__inner{padding:10px 16px !important;min-height:auto !important;background:linear-gradient(180deg,rgba(9,16,36,.96),rgba(7,13,31,.92)) !important;border:1px solid rgba(106,163,255,.18) !important;border-radius:24px !important;box-shadow:0 16px 36px rgba(0,0,0,.28) !important;}
  .header__search{display:none !important;}
  .header__menu{width:56px !important;height:56px !important;border-radius:18px !important;background:rgba(255,255,255,.05) !important;border:1px solid rgba(120,170,255,.28) !important;box-shadow:none !important;}
  .iconbtn__bars,.iconbtn__bars::before,.iconbtn__bars::after{background:#e8eefc !important;}
  .nav{inset:92px 12px auto 12px !important;max-height:calc(100vh - 116px) !important;border-radius:24px !important;overflow:auto !important;}
  .nav__dropdown-menu{position:static !important;min-width:100% !important;box-shadow:none !important;}
  body.menu-open{overflow:hidden !important;}

  .hero--pro{padding:18px 0 18px !important;}
  .hero__inner{display:grid !important;grid-template-columns:1fr !important;gap:16px !important;align-items:start !important;}
  .hero__copy,.hero__copy > *{max-width:none !important;width:100% !important;}
  .hero h1{font-size:clamp(40px,11vw,52px) !important;line-height:1.02 !important;letter-spacing:-.03em !important;max-width:none !important;text-wrap:balance;}
  .hero .lead{font-size:16px !important;line-height:1.5 !important;max-width:none !important;}
  .pro-bullets li{font-size:14px !important;line-height:1.45 !important;}
  .hero__actions{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important;}
  .searchbox{padding:10px !important;border-radius:16px !important;}
  .searchbox button{white-space:nowrap !important;}
  .topics__chips{display:flex !important;gap:8px !important;overflow:auto !important;padding-bottom:2px !important;scrollbar-width:none;}
  .topics__chips::-webkit-scrollbar{display:none;}
  .topics__chips .chip{white-space:nowrap !important;}

  .hero__visual--single{display:block !important;order:2 !important;min-height:unset !important;}
  .hero__single-art{width:100% !important;max-width:100% !important;margin:0 auto !important;background:transparent !important;border:none !important;box-shadow:none !important;border-radius:22px !important;overflow:hidden !important;}
  .hero__single-art picture,.hero__single-art img{display:block !important;width:100% !important;height:auto !important;max-height:none !important;object-fit:contain !important;object-position:center center !important;}

  .pro-servicegrid{grid-template-columns:1fr !important;gap:16px !important;}
  .pro-service{padding:18px !important;border-radius:24px !important;}
  .pro-ico--badge{width:min(240px,72vw) !important;height:min(240px,72vw) !important;margin:0 auto 14px !important;}
  .pro-ico--badge img{max-width:78% !important;max-height:78% !important;object-fit:contain !important;}

  .feature,.tile,.post,.article,.article-card,.pro-service,.pro-stat,.legal-card,.legal-doc,.empty,.monitor-icon-card,.monitor-benefit-card{background:linear-gradient(180deg,rgba(9,17,39,.96),rgba(7,13,31,.92)) !important;border-color:rgba(124,153,214,.14) !important;}
  .footer,.footer *{word-break:normal !important;}
  .footer__grid{grid-template-columns:1fr !important;gap:22px !important;padding-inline:18px !important;}
  .footer__bottom{padding:18px 18px 30px !important;}
  .owh-quick-btn--bot,#owh-helpbot-btn,.owh-helpbot{display:none !important;}
}

@media (max-width: 640px){
  .hero h1{font-size:clamp(36px,10vw,46px) !important;}
  body.page-index .hero__single-art img{width:100% !important; height:auto !important; object-fit:contain !important;}
  body.page-index .pro-service .pro-ico img{max-width:82% !important;max-height:82% !important;}
  body.page-monitoreo .monitoring-service__hero,
  body.page-monitoreo .monitoring-overview,
  body.page-nosotros .pagehero__inner{grid-template-columns:1fr !important;}
}


/* ===== mobile-only hosting stability fix v17 ===== */
@media (max-width: 980px){
  html,body{overflow-x:hidden !important; width:100%; max-width:100%;}
  body{background:#07101f !important;}
  body::before{
    content:""; position:fixed; inset:0; pointer-events:none; z-index:-1;
    background:
      radial-gradient(900px 500px at 10% 10%, rgba(var(--brand-rgb), .18), transparent 55%),
      radial-gradient(900px 500px at 80% 0%, rgba(var(--brand2-rgb), .12), transparent 55%),
      linear-gradient(180deg, #070b14, var(--bg) 30%, #050812);
  }
  .header{padding-top:10px !important; background:transparent !important; border-bottom:none !important;}
  .header__inner{
    background:linear-gradient(135deg, rgba(7,13,31,.96), rgba(10,18,38,.92)) !important;
    border:1px solid rgba(120,168,255,.20) !important;
    box-shadow:0 16px 36px rgba(0,0,0,.28) !important;
  }
  .header__menu{background:rgba(255,255,255,.05) !important; border-color:rgba(120,168,255,.28) !important;}
  .topbar{display:none !important;}
  .owh-quick-btn--bot,.owh-helpbot{display:none !important;}
  .hero--pro{padding:18px 0 14px !important;}
  .hero__inner{display:grid !important; grid-template-columns:1fr !important; gap:14px !important; align-items:start !important;}
  .hero__copy{order:1 !important; max-width:none !important;}
  .hero__visual--single{order:2 !important; min-height:unset !important; margin-top:4px !important;}
  .hero h1,.hero__title{font-size:clamp(30px, 10vw, 42px) !important; line-height:1.02 !important; letter-spacing:-.02em !important; max-width:11ch !important; text-wrap:balance;}
  .hero .lead,.hero__lead{font-size:15px !important; line-height:1.42 !important; max-width:26ch !important;}
  .hero__actions{display:flex !important; flex-wrap:wrap !important; gap:10px !important;}
  .hero__actions .btn{flex:0 1 auto !important; min-width:0 !important;}
  body.page-index .hero__single-art,
  body.page-index .hero__single-art picture,
  body.page-index .hero__single-art img{
    width:100% !important; max-width:100% !important; height:auto !important; display:block !important;
  }
  body.page-index .hero__single-art{border-radius:20px !important; overflow:hidden !important;}
  body.page-index .hero__single-art img{object-fit:cover !important; object-position:center center !important; aspect-ratio:1.22/1 !important;}
  body.page-index .pro-service{padding:18px !important; min-height:unset !important;}
  body.page-index .pro-service .pro-ico{width:92px !important; height:92px !important; margin-inline:auto !important;}
  body.page-index .pro-service .pro-ico img{max-width:68% !important; max-height:68% !important; object-fit:contain !important;}
  body.page-index .pro-service h3{font-size:20px !important; line-height:1.14 !important;}
  body.page-index .pro-service p{font-size:15px !important; line-height:1.45 !important;}
  body.page-index .section,
  body.page-index .section--muted,
  body.page-servicios .section,
  body.page-monitoreo .section,
  body.page-nosotros .section,
  body.page-recursos .section,
  body.page-carreras .section,
  body.page-producto .section{background:transparent !important;}
  .section,.section--muted,.pagehero,.pagehero--light,.storycard,.storycard__body{background:transparent !important;}
  footer .footer__inner, footer .container{padding-left:20px !important; padding-right:20px !important;}
}
@media (max-width: 640px){
  .hero h1,.hero__title{font-size:clamp(28px, 9.6vw, 38px) !important; max-width:10ch !important;}
  .hero .lead,.hero__lead{font-size:14px !important; max-width:none !important;}
  body.page-index .hero__single-art img{aspect-ratio:1.16/1 !important; object-position:62% center !important;}
  body.page-index .pro-service .pro-ico{width:84px !important; height:84px !important;}
}

/* ===== mobile index cleanup v18 ===== */
@media (max-width: 760px){
  body.page-index .hero--pro{
    padding: 12px 0 10px !important;
  }
  body.page-index .hero__inner{
    gap: 12px !important;
  }
  body.page-index .hero__copy{
    padding-bottom: 0 !important;
  }
  body.page-index .hero .kicker{
    margin: 0 0 8px !important;
    font-size: 11px !important;
    letter-spacing: .12em !important;
  }
  body.page-index .hero h1,
  body.page-index .hero__title{
    font-size: clamp(27px, 8.8vw, 38px) !important;
    line-height: 1.02 !important;
    max-width: 8.6ch !important;
    margin: 0 0 12px !important;
  }
  body.page-index .hero .lead,
  body.page-index .hero__lead{
    font-size: 14px !important;
    line-height: 1.48 !important;
    max-width: none !important;
    margin: 0 0 12px !important;
  }
  body.page-index .pro-bullets{
    margin: 0 0 12px !important;
    gap: 7px !important;
  }
  body.page-index .pro-bullets li{
    font-size: 13px !important;
    line-height: 1.38 !important;
  }
  body.page-index .hero__closing{
    margin: 0 0 12px !important;
    font-size: 12px !important;
  }
  body.page-index .hero__actions{
    margin: 0 0 10px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  body.page-index .hero__actions .btn{
    min-height: 46px !important;
    padding: 12px 10px !important;
    font-size: 14px !important;
  }
  body.page-index .searchbox{
    margin-top: 0 !important;
    padding: 10px !important;
    border-radius: 16px !important;
  }
  body.page-index .searchbox input{
    font-size: 14px !important;
  }
  body.page-index .topics{
    margin-top: 8px !important;
  }
  body.page-index .topics__label{
    margin-bottom: 8px !important;
    font-size: 12px !important;
  }
  body.page-index .hero__visual--single{
    margin-top: 2px !important;
  }
  body.page-index .hero__single-art,
  body.page-index .hero__single-art picture,
  body.page-index .hero__single-art img{
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    display: block !important;
  }
  body.page-index .hero__single-art{
    border-radius: 22px !important;
    overflow: hidden !important;
    box-shadow: 0 18px 34px rgba(0,0,0,.22) !important;
    background: transparent !important;
  }
  body.page-index .hero__single-art img{
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }

  body.page-index .services-premium{
    padding-top: 14px !important;
    margin-top: 0 !important;
  }
  body.page-index .services-premium__head{
    display: none !important;
  }
  body.page-index .services-mobile-intro{
    display: block !important;
    margin: 0 0 14px !important;
    padding: 0 2px !important;
  }
  body.page-index .services-mobile-intro h2{
    margin: 0 0 8px !important;
    font-size: clamp(2rem, 7.2vw, 2.5rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.03em !important;
    color: #f3f6ff !important;
  }
  body.page-index .services-mobile-intro p{
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: rgba(230,238,255,.82) !important;
  }
  body.page-index .services-mobile-grid{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin-top: 0 !important;
  }
  body.page-index .service-visual-card{
    display: grid !important;
    gap: 12px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
  }
  body.page-index .service-visual-card__media{
    line-height: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    background: transparent !important;
  }
  body.page-index .service-visual-card__media img{
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center top !important;
    box-shadow: none !important;
  }
  body.page-index .service-visual-card__body{
    padding: 0 2px !important;
  }
  body.page-index .service-visual-card__body h3{
    margin: 0 0 8px !important;
    font-size: 18px !important;
    line-height: 1.12 !important;
    color: #f3f6ff !important;
  }
  body.page-index .service-visual-card__body p{
    margin: 0 0 10px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: rgba(230,238,255,.82) !important;
  }
  body.page-index .service-visual-card__body .link{
    font-size: 14px !important;
  }
}

/* ===== mobile hero reorder / cleanup v19 ===== */
@media (max-width: 760px){
  body.page-index .hero--pro{
    padding: 10px 0 12px !important;
  }
  body.page-index .hero__inner{
    gap: 14px !important;
  }
  body.page-index .hero__copy{
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  body.page-index .hero .kicker{
    margin: 0 0 10px !important;
  }
  body.page-index .hero h1,
  body.page-index .hero__title{
    font-size: clamp(24px, 8.3vw, 34px) !important;
    line-height: 1.02 !important;
    max-width: 7.4ch !important;
    margin: 0 0 12px !important;
  }
  body.page-index .hero .lead,
  body.page-index .hero__lead{
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    margin: 0 0 12px !important;
    max-width: none !important;
  }
  body.page-index .pro-bullets{
    margin: 0 0 12px !important;
    padding: 12px 12px 12px 14px !important;
    gap: 8px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(7,13,29,.56), rgba(7,13,29,.34)) !important;
    border: 1px solid rgba(133,164,255,.12) !important;
    backdrop-filter: blur(4px) !important;
  }
  body.page-index .pro-bullets li{
    font-size: 12.7px !important;
    line-height: 1.42 !important;
  }
  body.page-index .hero__closing{
    margin: 0 0 12px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
  body.page-index .hero__actions{
    margin: 0 0 12px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  body.page-index .hero__actions .btn,
  body.page-index .hero__actions .btn--ghost{
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    text-align: center !important;
  }
  body.page-index .searchbox{
    margin-top: 0 !important;
    padding: 10px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(17,26,49,.84), rgba(11,18,32,.72)) !important;
    border: 1px solid rgba(120,153,255,.18) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
  }
  body.page-index .searchbox input{
    min-height: 42px !important;
  }
  body.page-index .topics{
    margin-top: 10px !important;
  }
  body.page-index .topics__label{
    margin-bottom: 8px !important;
    font-size: 12px !important;
  }
  body.page-index .topics__chips{
    gap: 8px !important;
    flex-wrap: wrap !important;
  }
  body.page-index .hero__visual--single{
    margin-top: 2px !important;
  }
}

/* ===== mobile hero title refine v20 ===== */
@media (max-width: 760px){
  body.page-index .hero__copy{
    max-width: min(100%, 340px) !important;
  }
  body.page-index .hero .kicker{
    margin-bottom: 12px !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
  }
  body.page-index .hero h1,
  body.page-index .hero__title{
    font-size: clamp(38px, 11.4vw, 52px) !important;
    line-height: .98 !important;
    letter-spacing: -.04em !important;
    max-width: 9.2ch !important;
    text-wrap: balance !important;
    margin: 0 0 14px !important;
  }
}

@media (max-width: 430px){
  body.page-index .hero__copy{
    max-width: min(100%, 320px) !important;
  }
  body.page-index .hero h1,
  body.page-index .hero__title{
    font-size: clamp(40px, 11.8vw, 50px) !important;
    max-width: 9.5ch !important;
  }
}

/* ===== mobile hero polish v21 ===== */
@media (max-width: 760px){
  body.page-index .hero--pro{
    padding: 14px 0 18px !important;
  }
  body.page-index .hero__inner{
    gap: 18px !important;
  }
  body.page-index .hero__copy{
    max-width: none !important;
    width: 100% !important;
    padding: 14px 14px 0 !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(4,10,23,.52), rgba(4,10,23,.18)) !important;
    border: 1px solid rgba(130,160,255,.08) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.12) !important;
    backdrop-filter: blur(3px) !important;
  }
  body.page-index .hero .kicker{
    margin: 0 0 10px !important;
    font-size: 10px !important;
    letter-spacing: .16em !important;
    color: rgba(226,234,255,.82) !important;
  }
  body.page-index .hero h1,
  body.page-index .hero__title{
    font-size: clamp(44px, 11.6vw, 54px) !important;
    line-height: .94 !important;
    letter-spacing: -.045em !important;
    max-width: 7.2ch !important;
    margin: 0 0 14px !important;
    text-wrap: balance !important;
  }
  body.page-index .hero .lead,
  body.page-index .hero__lead{
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: rgba(239,243,255,.9) !important;
    margin: 0 0 14px !important;
    max-width: 32ch !important;
  }
  body.page-index .pro-bullets{
    margin: 0 0 14px !important;
    padding: 14px 14px 14px 16px !important;
    gap: 9px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(8,14,31,.74), rgba(8,14,31,.48)) !important;
    border: 1px solid rgba(137,166,255,.14) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
  }
  body.page-index .pro-bullets li{
    font-size: 13px !important;
    line-height: 1.42 !important;
  }
  body.page-index .hero__closing{
    margin: 0 0 14px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    color: rgba(244,247,255,.94) !important;
  }
  body.page-index .hero__actions{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
  }
  body.page-index .hero__actions .btn,
  body.page-index .hero__actions .btn--ghost{
    width: 100% !important;
    min-height: 50px !important;
    border-radius: 16px !important;
    font-size: 15px !important;
  }
  body.page-index .searchbox{
    margin-top: 0 !important;
    padding: 10px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(12,18,36,.86), rgba(9,15,28,.78)) !important;
    border: 1px solid rgba(123,155,255,.14) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
  }
  body.page-index .searchbox input{
    min-height: 44px !important;
    font-size: 14px !important;
  }
  body.page-index .searchbox .btn,
  body.page-index .searchbox button{
    min-width: 92px !important;
    min-height: 44px !important;
    border-radius: 14px !important;
  }
  body.page-index .topics{
    margin-top: 12px !important;
    padding-bottom: 2px !important;
  }
  body.page-index .topics__label{
    margin-bottom: 8px !important;
    font-size: 12px !important;
    color: rgba(231,237,255,.84) !important;
  }
  body.page-index .topics__chips{
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  body.page-index .topics__chips .chip{
    padding: 8px 12px !important;
    font-size: 12px !important;
  }
  body.page-index .hero__visual--single{
    margin-top: 2px !important;
  }
}

@media (max-width: 430px){
  body.page-index .hero__copy{
    padding: 12px 12px 0 !important;
  }
  body.page-index .hero h1,
  body.page-index .hero__title{
    font-size: clamp(42px, 11.8vw, 50px) !important;
    max-width: 7ch !important;
  }
}

/* ===== Final mobile hero cleanup v18 ===== */
@media (max-width: 760px){
  body.page-index .hero--pro{
    padding: 10px 0 18px !important;
  }
  body.page-index .hero__scrim{
    background:
      linear-gradient(180deg, rgba(3,8,19,.18) 0%, rgba(3,8,19,.58) 24%, rgba(3,8,19,.82) 58%, rgba(3,8,19,.94) 100%) !important;
  }
  body.page-index .hero__inner{
    gap: 14px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  body.page-index .hero__copy{
    padding: 18px 16px 14px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(5,12,28,.72), rgba(5,12,28,.82)) !important;
    border: 1px solid rgba(120,168,255,.12) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.18) !important;
    backdrop-filter: blur(3px) !important;
  }
  body.page-index .hero .kicker{
    font-size: 10px !important;
    line-height: 1.35 !important;
    letter-spacing: .16em !important;
    margin: 0 0 10px !important;
    color: rgba(226,235,255,.78) !important;
  }
  body.page-index .hero h1,
  body.page-index .hero__title{
    font-size: clamp(40px, 12.2vw, 52px) !important;
    line-height: .94 !important;
    letter-spacing: -.04em !important;
    max-width: 12ch !important;
    margin: 0 0 12px !important;
    text-wrap: balance !important;
  }
  body.page-index .hero .lead,
  body.page-index .hero__lead{
    font-size: 15px !important;
    line-height: 1.52 !important;
    color: rgba(236,242,255,.90) !important;
    margin: 0 0 14px !important;
    max-width: none !important;
  }
  body.page-index .pro-bullets{
    display: grid !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
  }
  body.page-index .pro-bullets li{
    font-size: 13px !important;
    line-height: 1.42 !important;
    padding: 10px 12px 10px 30px !important;
    margin: 0 !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.05) !important;
    border: 1px solid rgba(120,168,255,.08) !important;
    position: relative !important;
    color: rgba(236,242,255,.92) !important;
  }
  body.page-index .pro-bullets li::before{
    width: 10px !important;
    height: 10px !important;
    left: 12px !important;
    top: 14px !important;
    background: linear-gradient(180deg, #8ec5ff, #4c8dff) !important;
    box-shadow: 0 0 0 4px rgba(109,166,255,.12) !important;
  }
  body.page-index .hero__closing{
    margin: 2px 0 14px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    color: #ffffff !important;
  }
  body.page-index .hero__actions{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 0 14px !important;
  }
  body.page-index .hero__actions .btn{
    width: 100% !important;
    min-height: 50px !important;
    padding-inline: 18px !important;
    justify-content: center !important;
    border-radius: 16px !important;
    font-size: 15px !important;
  }
  body.page-index .searchbox{
    margin-top: 0 !important;
    padding: 10px !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(120,168,255,.10) !important;
  }
  body.page-index .searchbox input{
    font-size: 14px !important;
    min-height: 44px !important;
  }
  body.page-index .searchbox .btn,
  body.page-index .searchbox button{
    min-height: 44px !important;
    padding-inline: 16px !important;
  }
  body.page-index .topics{
    margin-top: 12px !important;
  }
  body.page-index .topics__label{
    font-size: 12px !important;
    color: rgba(226,235,255,.80) !important;
    margin-bottom: 8px !important;
  }
  body.page-index .topics__chips{
    gap: 8px !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
  }
  body.page-index .topics__chips .chip{
    font-size: 11px !important;
    padding: 8px 10px !important;
  }
  body.page-index .hero__visual--single{
    margin-top: 2px !important;
  }
  body.page-index .hero__single-art{
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.24) !important;
  }
  body.page-index .hero__single-art img{
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}

@media (max-width: 420px){
  body.page-index .hero__copy{
    padding: 17px 14px 14px !important;
  }
  body.page-index .hero h1,
  body.page-index .hero__title{
    font-size: clamp(36px, 11.5vw, 46px) !important;
    max-width: 11ch !important;
  }
  body.page-index .hero .lead,
  body.page-index .hero__lead{
    font-size: 14px !important;
  }
  body.page-index .pro-bullets li{
    font-size: 12.5px !important;
    padding: 9px 11px 9px 28px !important;
  }
}

/* ===== Mobile hero title bump v19 ===== */
@media (max-width: 760px){
  body.page-index .hero h1,
  body.page-index .hero__title{
    font-size: clamp(46px, 13.4vw, 60px) !important;
    line-height: .93 !important;
    max-width: 10ch !important;
  }
}

@media (max-width: 420px){
  body.page-index .hero h1,
  body.page-index .hero__title{
    font-size: clamp(42px, 13vw, 54px) !important;
    line-height: .93 !important;
    max-width: 9ch !important;
  }
}


/* ===== Global responsive stabilization (v62) ===== */
html, body{max-width:100%;overflow-x:clip;}
img, picture, video, canvas, svg{max-width:100%;}
body.is-resizing *,
body.is-resizing *::before,
body.is-resizing *::after{
  transition:none !important;
  animation:none !important;
  scroll-behavior:auto !important;
}

@media (max-width: 1180px){
  .header__menu{display:inline-grid !important;place-items:center;}
  .header__search{display:none !important;}
  .header__inner{gap:14px !important;padding:12px 14px !important;border-radius:24px !important;}
  .brand__logo img{height:48px !important;width:auto !important;max-width:140px !important;}
  .nav{
    position:fixed !important;
    inset:86px 14px auto 14px !important;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
    padding:16px !important;
    max-height:calc(100vh - 110px) !important;
    overflow:auto !important;
    border-radius:24px !important;
    background:rgba(7,12,27,.98) !important;
    border:1px solid rgba(120,168,255,.18) !important;
    box-shadow:0 18px 48px rgba(0,0,0,.36) !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    z-index:1000 !important;
  }
  .nav.is-open{display:flex !important;}
  .nav a, .nav button{padding:12px 12px !important;}
  .nav__dropdown{width:100% !important;align-items:stretch !important;}
  .nav__dropdown-trigger{width:100% !important;justify-content:space-between !important;}
  .nav__dropdown-menu{
    position:static !important;
    min-width:100% !important;
    display:none !important;
    margin-top:8px !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    box-shadow:none !important;
  }
  .nav__dropdown.is-open .nav__dropdown-menu{display:grid !important;}
}

@media (max-width: 1024px){
  .reveal,
  .reveal.is-visible{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
  .container{width:min(100% - 28px, 1200px) !important;}
}

@media (max-width: 1180px){
  .owh-quick-dock,
  .owh-helpbot{display:none !important;}
}

@media (max-width: 820px){
  .container{width:min(100% - 24px, 1200px) !important;}
  .grid--3,
  .grid--4,
  .pro-servicegrid,
  .equippanel__grid,
  .footer__grid,
  .split,
  .hero__inner,
  .pagehero__inner,
  .cataloggrid,
  .catalogList,
  .servicegrid,
  .contactgrid,
  .formgrid--2{grid-template-columns:1fr !important;}
}

@media (max-width: 560px){
  .header{padding:8px 0 !important;}
  .header__inner{padding:10px 12px !important;border-radius:20px !important;}
  .brand__logo img{height:42px !important;max-width:120px !important;}
}

/* ===== Ventas de equipos: acabado blanco, limpio y simétrico (v64) ===== */
body.page-equipos .productgrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:22px;
  align-items:stretch;
}
body.page-equipos .product.product--white{
  background:#ffffff !important;
  border:1px solid rgba(15,23,42,.10) !important;
  border-radius:24px !important;
  box-shadow:0 18px 40px rgba(15,23,42,.10) !important;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:100%;
}
body.page-equipos .product__img{
  background:#ffffff !important;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
  aspect-ratio:4 / 3 !important;
  padding:20px !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
body.page-equipos .product__img img{
  max-width:74% !important;
  max-height:74% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}
body.page-equipos .product__body{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:20px 20px 18px;
  flex:1;
}
body.page-equipos .product__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
body.page-equipos .product__brand,
body.page-equipos .product__title a{
  color:#0f172a !important;
}
body.page-equipos .product__title{
  margin:0;
  min-height:3.2em;
  font-size:1.35rem;
  line-height:1.18;
}
body.page-equipos .product__desc{
  color:#475569 !important;
  margin:0;
  min-height:4.9em;
}
body.page-equipos .product__tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
body.page-equipos .product--white .tag{
  background:#f8fafc !important;
  border:1px solid rgba(148,163,184,.28) !important;
  color:#334155 !important;
}
body.page-equipos .product__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:auto;
}
body.page-equipos .btn--ghost-dark{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid rgba(15,23,42,.12) !important;
}
body.page-equipos .btn--ghost-dark:hover{
  background:#f8fafc !important;
}

body.page-producto .productpage__shell{
  background:linear-gradient(180deg, rgba(9,16,36,.88), rgba(7,13,31,.96));
}
body.page-producto .productpage__grid{
  grid-template-columns:78px minmax(0, 760px) minmax(320px, 390px) !important;
  gap:18px !important;
  align-items:start;
}
body.page-producto .productpage__thumbs{
  gap:10px;
}
body.page-producto .productpage__thumb{
  background:#ffffff !important;
  border:1px solid rgba(15,23,42,.10) !important;
  border-radius:18px !important;
  min-height:78px !important;
  max-height:78px !important;
  padding:6px !important;
  box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
}
body.page-producto .productpage__hero{
  background:#ffffff !important;
  border:1px solid rgba(15,23,42,.10) !important;
  border-radius:26px !important;
  padding:16px !important;
  min-height:auto !important;
  box-shadow:0 16px 34px rgba(15,23,42,.10) !important;
}
body.page-producto .productpage__hero-stage{
  width:100%;
  min-height:0 !important;
  aspect-ratio:4 / 3;
  background:#ffffff !important;
  border-radius:22px !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
body.page-producto .productpage__hero img{
  max-width:84% !important;
  max-height:84% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
}
body.page-producto .productpage__related-card{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid rgba(15,23,42,.10) !important;
  box-shadow:0 14px 30px rgba(15,23,42,.08) !important;
}
body.page-producto .productpage__related-card strong,
body.page-producto .productpage__related-card span{
  color:#0f172a !important;
}
body.page-producto .productpage__related-card span{
  background:#eff6ff !important;
}
body.page-producto .productpage__related-card img{
  background:#ffffff;
  border-radius:16px;
  padding:12px;
  box-sizing:border-box;
}

@media (max-width: 1180px){
  body.page-producto .productpage__grid{
    grid-template-columns:1fr !important;
  }
  body.page-producto .productpage__thumbs{
    order:2;
    flex-direction:row;
    max-height:none;
    overflow:auto;
  }
  body.page-producto .productpage__thumb{
    min-width:78px !important;
    max-width:78px !important;
  }
}

@media (max-width: 760px){
  body.page-equipos .productgrid{
    grid-template-columns:1fr;
    gap:18px;
  }
  body.page-equipos .product__img{
    aspect-ratio:1 / 1 !important;
  }
  body.page-equipos .product__img img{
    max-width:72% !important;
    max-height:72% !important;
  }
  body.page-producto .productpage__hero-stage{
    aspect-ratio:1 / 1;
  }
}

/* ===== Ventas de equipos: fondos totalmente blancos + badges visibles (v65) ===== */
body.page-equipos .product.product--white{
  background:#ffffff !important;
}
body.page-equipos .product__img{
  background:#ffffff !important;
  border-bottom:none !important;
  box-shadow:none !important;
}
body.page-equipos .product__img img{
  filter:none !important;
}
body.page-equipos .product__category-badge,
body.page-producto .productpage__eyebrow span,
body.page-producto .productpage__related-card span{
  background:linear-gradient(135deg, #2f7cf7, #67a3ff) !important;
  color:#ffffff !important;
  border:1px solid rgba(37,99,235,.18) !important;
  box-shadow:0 8px 18px rgba(37,99,235,.18) !important;
}
body.page-producto .productpage__thumb,
body.page-producto .productpage__hero,
body.page-producto .productpage__hero-stage,
body.page-producto .productpage__related-card img{
  background:#ffffff !important;
}
body.page-producto .productpage__thumb,
body.page-producto .productpage__hero,
body.page-producto .productpage__related-card img{
  border-color:rgba(15,23,42,.06) !important;
}
body.page-producto .productpage__hero{
  box-shadow:0 14px 30px rgba(15,23,42,.08) !important;
}


.footer__logo-link{display:inline-flex;margin-top:12px}
.footer__logo{display:block;width:180px;max-width:100%;height:auto;opacity:.98;filter:drop-shadow(0 6px 18px rgba(0,0,0,.22));}
.footer__address{line-height:1.65;max-width:340px}
.footer__address strong{color:var(--text);font-weight:700}

/* Footer refinement */
.footer{
  margin-top: 28px;
  border-top: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(7,16,34,.78), rgba(4,10,22,.94));
}
.footer__grid--refined{
  padding: 38px 0 30px;
  grid-template-columns: 1.15fr 1.45fr .9fr .95fr;
  gap: 30px;
  align-items: start;
}
.footer__col{min-width:0}
.footer__col--brand{padding-right:10px}
.footer__logo-link{
  display:inline-flex;
  align-items:center;
  margin-top:0;
}
.footer__logo--footer{
  width: 170px;
  max-width: 100%;
  height: auto;
  opacity: 1;
  filter: none;
}
.footer__intro{
  margin-top: 16px;
  max-width: 270px;
  line-height: 1.65;
}
.footer h3{
  margin: 0 0 14px;
  font-size: 13px;
  color: rgba(255,255,255,.78);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.footer__nav{
  display: grid;
  gap: 10px;
  align-content: start;
}
.footer__nav a,
.footer__contact-link{
  color: var(--text);
  opacity: .94;
}
.footer__nav a:hover,
.footer__contact-link:hover{
  opacity: 1;
}
.footer__location + .footer__location{
  margin-top: 18px;
}
.footer__label-row{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.footer__label{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid rgba(120,168,255,.22);
  background: rgba(85,139,245,.12);
  color: rgba(255,255,255,.92);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.footer__flag{
  width: 22px;
  height: 16px;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.22));
}
.footer__address{
  margin-top: 10px;
  max-width: 360px;
  line-height: 1.65;
}
.footer__contact-copy{
  margin-top: 0;
  margin-bottom: 8px;
}
.footer__contact-link{
  display: block;
  margin-top: 8px;
  font-weight: 600;
}
.footer__social{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:18px;
}
.footer__social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:auto;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transition:transform .2s ease, opacity .2s ease;
}
.footer__social-link:hover{
  transform:translateY(-1px) scale(1.04);
  opacity:.92;
  background:transparent;
}
.footer__social-link svg{
  width:22px;
  height:22px;
  display:block;
}
.footer__social-link--whatsapp svg{
  width:24px;
  height:24px;
}
.footer__bottom{
  padding: 18px 0 26px;
  border-top: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 980px){
  .footer__grid--refined{
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
}
@media (max-width: 640px){
  .footer__grid--refined{
    grid-template-columns: 1fr !important;
    gap: 22px;
    padding-top: 30px;
  }
  .footer__logo--footer{width: 150px}
  .footer__intro,
  .footer__address{max-width: none}
}
