/* ============================================================
   GRUPO CD3 — sistema visual
   Cosa de Tres, S. de R.L. de C.V.
   ============================================================ */

:root{
  --negro:#0B0B0E;
  --negro-2:#14141A;
  --negro-3:#1C1C24;
  --rojo:#BE0032;
  --rojo-claro:#E4103F;
  --rojo-osc:#8E0026;
  --papel:#F4F4F6;
  --blanco:#FFFFFF;
  --gris:#63676F;
  --gris-claro:#9DA1AC;
  --linea:#DCDDE2;
  --linea-osc:#25252E;
  --skew:-16deg;
  --ancho:1180px;
  --sombra:0 1px 2px rgba(11,11,14,.04), 0 8px 24px rgba(11,11,14,.06);
  --sombra-alta:0 2px 4px rgba(11,11,14,.05), 0 24px 60px rgba(11,11,14,.14);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--papel);color:var(--negro);
  font-family:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--rojo);outline-offset:3px;border-radius:1px}
::selection{background:var(--rojo);color:#fff}

.wrap{max-width:var(--ancho);margin:0 auto;padding:0 26px}
h1,h2,h3{font-family:"Archivo",system-ui,sans-serif;font-weight:800;letter-spacing:-.028em;line-height:1.03;margin:0}
.mono{font-family:"IBM Plex Mono",monospace;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase}
.slash{display:inline-block;width:8px;height:1em;background:var(--rojo);transform:skewX(var(--skew));
  vertical-align:-.12em;margin-right:12px;flex:none}

.saltar{position:absolute;left:-9999px;top:0;background:var(--rojo);color:#fff;padding:12px 20px;z-index:200;text-decoration:none}
.saltar:focus{left:12px;top:12px}

/* ---------- barra de progreso de lectura ---------- */
.progreso{position:fixed;top:0;left:0;height:3px;width:100%;z-index:60;pointer-events:none}
.progreso i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--rojo),var(--rojo-claro))}

/* ---------- header ---------- */
header{
  position:sticky;top:0;z-index:50;background:rgba(11,11,14,.92);
  backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent;transition:border-color .3s,background .3s;
}
header.fijo{border-bottom-color:var(--linea-osc);background:rgba(11,11,14,.97)}
.bar{display:flex;align-items:center;justify-content:space-between;height:80px;gap:20px;transition:height .3s var(--ease)}
header.fijo .bar{height:66px}
.bar .marca{display:flex;align-items:center;gap:14px;text-decoration:none;flex:none}
.bar .marca img{height:32px;width:auto;display:block;transition:height .3s var(--ease)}
header.fijo .bar .marca img{height:28px}

.nav{display:flex;gap:4px;align-items:center}
.nav a{font-size:14px;text-decoration:none;color:var(--gris-claro);white-space:nowrap;padding:9px 13px;position:relative;transition:color .25s}
.nav a::after{
  content:"";position:absolute;left:13px;right:13px;bottom:3px;height:2px;background:var(--rojo);
  transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);
}
.nav a:hover{color:#fff}
.nav a:hover::after,.nav a.activo::after{transform:scaleX(1)}
.nav a.activo{color:#fff}
.nav .btn-tel{
  margin-left:14px;background:var(--rojo);color:#fff;padding:11px 20px;font-weight:600;
  transform:skewX(var(--skew));transition:background .25s;
}
.nav .btn-tel span{display:inline-block;transform:skewX(16deg)}
.nav .btn-tel::after{display:none}
.nav .btn-tel:hover{background:var(--rojo-claro);color:#fff}

/* hamburguesa */
.hamb{display:none;background:none;border:0;width:44px;height:44px;padding:10px;cursor:pointer;flex:none}
.hamb i{display:block;height:2px;background:#fff;margin:5px 0;transition:transform .3s var(--ease),opacity .2s}
.hamb[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamb[aria-expanded="true"] i:nth-child(2){opacity:0}
.hamb[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.menu-movil{
  position:fixed;inset:0;background:var(--negro);z-index:45;display:flex;flex-direction:column;
  justify-content:center;gap:2px;padding:96px 30px 40px;transform:translateY(-100%);
  transition:transform .45s var(--ease);overflow-y:auto;
}
.menu-movil.abierto{transform:translateY(0)}
.menu-movil a{
  font-family:"Archivo",sans-serif;font-weight:700;font-size:clamp(24px,6.5vw,38px);color:#fff;
  text-decoration:none;letter-spacing:-.02em;padding:12px 0;border-bottom:1px solid var(--linea-osc);
}
.menu-movil a:last-child{border-bottom:0;color:var(--rojo)}
@media(max-width:1040px){
  .nav{display:none}
  .hamb{display:block}
}

/* ---------- hero ---------- */
.hero{background:var(--negro);color:#F2F2F4;padding:96px 0 0;overflow:hidden;position:relative}
.hero::before{
  content:"";position:absolute;top:-25%;left:50%;width:900px;height:900px;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(190,0,50,.20),transparent 62%);pointer-events:none;filter:blur(30px);
}
.hero .wrap{position:relative;z-index:2}
.hero .mono{color:#8A8E99;display:block}
.hero h1{font-size:clamp(42px,7vw,94px);max-width:15ch;margin:26px 0 0;font-weight:900;letter-spacing:-.035em}
.hero h1 em{font-style:normal;color:var(--rojo);position:relative;display:inline-block}
.hero h1 em::after{
  content:"";position:absolute;left:0;bottom:.05em;height:.06em;width:100%;background:var(--rojo);
  transform:scaleX(0);transform-origin:left;animation:subrayar 1s var(--ease) 1.1s forwards;
}
@keyframes subrayar{to{transform:scaleX(1)}}
.hero .lead{margin:30px 0 0;max-width:62ch;color:#B4B8C2;font-size:19.5px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin:38px 0 0}

.campo{
  margin:66px 0 0;height:170px;position:relative;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.franjas{position:absolute;inset:0;display:flex;gap:12px;align-items:stretch}
.franjas i{flex:1;background:linear-gradient(180deg,#22222B,#16161C);transform:skewX(var(--skew));border-radius:1px}
.pulso{
  position:absolute;top:0;bottom:0;width:38%;
  background:linear-gradient(90deg,transparent,rgba(228,16,63,.9),transparent);
  filter:blur(1px);mix-blend-mode:screen;animation:barrido 5.2s linear infinite;
}
.pulso.secundario{width:22%;opacity:.5;animation-duration:7.8s;animation-delay:2.1s}
@keyframes barrido{from{transform:translateX(-140%)}to{transform:translateX(380%)}}

.pie-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0 76px;color:#8A8E99;flex-wrap:wrap}
.baja{display:inline-flex;align-items:center;gap:10px;color:#8A8E99;text-decoration:none;transition:color .25s}
.baja:hover{color:#fff}
.baja i{display:block;width:1px;height:26px;background:var(--rojo);animation:caer 1.8s var(--ease) infinite}
@keyframes caer{
  0%{transform:scaleY(.2);transform-origin:top}
  45%{transform:scaleY(1);transform-origin:top}
  46%{transform:scaleY(1);transform-origin:bottom}
  100%{transform:scaleY(0);transform-origin:bottom}
}

/* ---------- botones ---------- */
.btn{
  display:inline-flex;align-items:center;text-decoration:none;font-weight:600;font-size:16px;
  padding:16px 28px;transform:skewX(var(--skew));border:1px solid transparent;
  transition:background .28s,color .28s,box-shadow .28s,border-color .28s;
}
.btn > span{display:inline-flex;align-items:center;gap:12px;transform:skewX(16deg)}
.btn.primario{background:var(--rojo);color:#fff}
.btn.primario:hover{background:var(--rojo-claro);box-shadow:0 12px 34px rgba(190,0,50,.34)}
.btn.fantasma{background:transparent;color:#fff;border-color:#3A3A46}
.btn.fantasma:hover{background:#fff;color:var(--negro);border-color:#fff}
.btn .fl{transition:transform .28s var(--ease)}
.btn:hover .fl{transform:translateX(5px)}

/* ---------- banda de cifras ---------- */
.banda{background:var(--rojo);color:#fff;position:relative;overflow:hidden}
.banda::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 2px,transparent 2px 26px);
}
.banda .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding-top:44px;padding-bottom:44px;position:relative;z-index:1}
.banda .cifra{font-family:"Archivo",sans-serif;font-weight:900;font-size:clamp(34px,4.4vw,46px);letter-spacing:-.04em;line-height:1;display:block}
.banda .mono{display:block;margin-top:10px;color:rgba(255,255,255,.86)}
.banda > .wrap > div{position:relative;padding-left:20px}
.banda > .wrap > div::before{
  content:"";position:absolute;left:0;top:4px;bottom:4px;width:3px;
  background:rgba(255,255,255,.32);transform:skewX(var(--skew));
}
@media(max-width:820px){.banda .wrap{grid-template-columns:1fr 1fr;gap:30px 20px}}

/* ---------- secciones ---------- */
section{padding:110px 0;position:relative}
.cabeza{max-width:68ch;margin-bottom:56px}
.cabeza .mono{color:var(--gris);display:block;margin-bottom:20px}
.cabeza h2{font-size:clamp(31px,4.2vw,50px)}
.cabeza p{margin:22px 0 0;color:var(--gris);font-size:17.5px}
.cabeza .regla{height:2px;width:0;background:var(--rojo);margin-top:26px;transition:width 1s var(--ease) .25s}
.cabeza.ver .regla{width:88px}
.oscura .cabeza .mono{color:#8A8E99}
.oscura .cabeza p{color:#B4B8C2}

/* ---------- reveal ---------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.ver{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}
.rv-d2{transition-delay:.16s}
.rv-d3{transition-delay:.24s}
.rv-d4{transition-delay:.32s}

/* ---------- quiénes somos ---------- */
.dos{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:start}
.prosa p{margin:0 0 22px;font-size:18px}
.prosa p:first-child{font-size:20.5px}
.prosa p:last-child{margin-bottom:0}
.nota{background:var(--blanco);border:1px solid var(--linea);padding:34px 32px;position:relative;box-shadow:var(--sombra)}
.nota::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--rojo)}
.nota h3{font-size:22px;margin-bottom:16px}
.nota p{margin:0 0 14px;font-size:15.5px;color:var(--gris)}
.nota p:last-child{margin-bottom:0}
@media(max-width:900px){.dos{grid-template-columns:1fr;gap:34px}}

/* ---------- áreas de negocio ---------- */
.areas{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.card{
  background:var(--blanco);border:1px solid var(--linea);padding:40px 36px 36px;position:relative;overflow:hidden;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
}
.card::after{
  content:"";position:absolute;top:-20px;right:-30px;width:78px;height:150%;
  background:var(--papel);transform:skewX(var(--skew));transition:background .4s;
}
.card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--rojo);
  transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease);z-index:2;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--sombra-alta);border-color:#CFD0D6}
.card:hover::after{background:rgba(190,0,50,.09)}
.card:hover::before{transform:scaleY(1)}
.card > *{position:relative;z-index:1}
.card .clave{display:flex;align-items:center;gap:12px;color:var(--rojo);font-weight:500}
.card h3{font-size:31px;margin:18px 0 12px}
.card .sub{margin:0 0 24px;color:var(--gris);font-size:15.5px}
.caps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.caps li{display:grid;grid-template-columns:12px 1fr;gap:14px;font-size:16px;align-items:start}
.caps li::before{content:"";width:6px;height:15px;background:var(--rojo);transform:skewX(var(--skew));margin-top:6px}
@media(max-width:900px){.areas{grid-template-columns:1fr}}

/* ---------- tecnologías y volumen ---------- */
.tecno{display:flex;flex-wrap:wrap;gap:12px}
.tecno span{
  background:var(--blanco);border:1px solid var(--linea);padding:12px 22px;
  font-family:"IBM Plex Mono",monospace;font-size:14px;letter-spacing:.06em;
  transition:background .28s,color .28s,border-color .28s,transform .28s;cursor:default;
}
.tecno span:hover{background:var(--negro);color:#fff;border-color:var(--negro);transform:translateY(-3px)}
.volumen{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px}
.vol{background:var(--negro);color:#EDEDF0;padding:36px 34px;position:relative;overflow:hidden}
.vol::after{
  content:"";position:absolute;right:-40px;bottom:-60px;width:180px;height:180px;
  background:radial-gradient(circle,rgba(190,0,50,.30),transparent 68%);filter:blur(8px);
}
.vol > *{position:relative;z-index:1}
.vol .mono{color:var(--rojo)}
.vol .n{font-family:"Archivo",sans-serif;font-weight:900;font-size:clamp(40px,5.4vw,54px);letter-spacing:-.04em;line-height:1;display:block;margin:16px 0 8px}
.vol p{margin:0;color:#A8ACB8;font-size:15px}
@media(max-width:820px){.volumen{grid-template-columns:1fr}}

/* ---------- secciones oscuras ---------- */
.oscura{background:var(--negro);color:#EDEDF0}
.plazas{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linea-osc);border:1px solid var(--linea-osc)}
.plaza{background:var(--negro);padding:30px 26px;position:relative;transition:background .35s;overflow:hidden}
.plaza::after{
  content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--rojo);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);
}
.plaza:hover{background:var(--negro-3)}
.plaza:hover::after{transform:scaleX(1)}
.plaza.central{background:var(--negro-2)}
.plaza.central::after{transform:scaleX(1)}
.plaza h3{font-size:23px;margin-bottom:8px;font-weight:700}
.plaza .mono{color:#8A8E99}
.plaza.central .mono{color:var(--rojo)}
@media(max-width:900px){.plazas{grid-template-columns:1fr 1fr}}

/* ---------- capas / modelo operativo ---------- */
.capas{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea)}
.capa{background:var(--blanco);padding:34px 28px 38px;transition:background .35s;position:relative}
.capa .num{font-family:"Archivo",sans-serif;font-weight:900;font-size:15px;color:var(--rojo);letter-spacing:.06em}
.capa h3{font-size:21px;margin:18px 0 10px;font-weight:700}
.capa p{margin:0;font-size:15px;color:var(--gris)}
.capa:hover{background:var(--papel)}
.oscura .capas{background:var(--linea-osc);border-color:var(--linea-osc)}
.oscura .capa{background:var(--negro)}
.oscura .capa:hover{background:var(--negro-3)}
.oscura .capa p{color:#A8ACB8}
@media(max-width:900px){.capas{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.capas{grid-template-columns:1fr}}

/* ---------- distribuidor RAD ---------- */
.distrib{
  background:var(--blanco);border:1px solid var(--linea);padding:46px 44px;display:grid;
  grid-template-columns:auto 1fr;gap:42px;align-items:center;box-shadow:var(--sombra);
}
.sello{
  width:124px;height:124px;background:#fff;border:1px solid var(--linea);
  display:grid;place-items:center;position:relative;overflow:hidden;
}
.sello img{width:78px;height:auto;display:block;position:relative;z-index:1}
.sello::after{
  content:"";position:absolute;top:-60%;left:-120%;width:60%;height:260%;
  background:linear-gradient(90deg,transparent,rgba(0,0,0,.07),transparent);
  transform:skewX(-22deg);animation:brillo 4.5s ease-in-out infinite;
}
@keyframes brillo{0%,72%{left:-120%}100%{left:150%}}
.distrib h3{font-size:27px;margin-bottom:12px}
.distrib p{margin:0;color:var(--gris)}
@media(max-width:720px){.distrib{grid-template-columns:1fr;gap:26px;padding:34px 28px}}

/* ---------- historia ---------- */
.linea-t{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea)}
.hito{background:var(--papel);padding:32px 26px 36px;position:relative;transition:background .35s}
.hito:hover{background:var(--blanco)}
.hito .anio{font-family:"Archivo",sans-serif;font-weight:900;font-size:32px;letter-spacing:-.035em;display:block}
.hito .mono{color:var(--rojo);display:block;margin:12px 0 10px}
.hito p{margin:0;font-size:15px;color:var(--gris)}
.hito::before{
  content:"";position:absolute;top:0;left:0;height:3px;width:100%;background:var(--rojo);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);
}
.hito:hover::before{transform:scaleX(1)}
@media(max-width:900px){.linea-t{grid-template-columns:1fr 1fr}}

/* ---------- clientes ---------- */
.clientes{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea)}
.cliente{background:var(--blanco);padding:32px 28px 36px;display:grid;gap:8px;align-content:start;position:relative;transition:background .35s,color .35s}
.cliente b{font-family:"Archivo",sans-serif;font-size:22px;font-weight:800;letter-spacing:-.015em}

/* caja de logo: alto fijo, ancho por marca para equilibrio optico */
.cliente .logo{height:54px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:6px}
.cliente .logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:left center;transition:filter .35s}
.cliente .logo .l-telmex{width:148px}
.cliente .logo .l-megacable{width:150px}
.cliente .logo .l-telcel{width:98px}
.cliente .logo .l-carso{width:134px}
.cliente .logo .l-nokia{width:126px}
.cliente .logo .l-rad{width:80px}
.cliente .logo .l-albis{width:100px}
.cliente .logo .l-totalplay{width:120px}
.cliente .logo .l-kelios{width:138px}
/* la marca queda en el logo: el nombre se conserva solo para lectores y buscadores */
.cliente > b{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.cliente.destacado > b{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;clip-path:none;white-space:normal}
.cliente:hover .logo img{filter:brightness(0) invert(1)}
.cliente:hover .logo img.no-inv{filter:none}
.cliente span{font-size:14.5px;color:var(--gris);line-height:1.5;transition:color .35s}
.cliente:hover{background:var(--negro);color:#fff}
.cliente:hover span{color:#A8ACB8}
.cliente.destacado{background:var(--negro);color:#fff}
.cliente.destacado b{color:var(--rojo);font-size:30px}
.cliente.destacado span{color:#A8ACB8}
.cliente.destacado{grid-column:span 3;display:flex;flex-direction:column;justify-content:center}
@media(max-width:980px){.clientes{grid-template-columns:1fr 1fr}.cliente.destacado{grid-column:span 1}}
@media(max-width:520px){.clientes{grid-template-columns:1fr}.cliente .logo{height:48px}}

/* ---------- contacto ---------- */
.contacto{background:var(--negro);color:#EDEDF0;position:relative;overflow:hidden}
.contacto::before{
  content:"";position:absolute;bottom:-40%;left:50%;width:1000px;height:800px;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(190,0,50,.20),transparent 62%);filter:blur(30px);pointer-events:none;
}
.contacto .wrap{position:relative;z-index:1}
.cta-fila{display:flex;flex-wrap:wrap;gap:16px}
.datos{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:56px;border-top:1px solid var(--linea-osc);padding-top:38px}
.datos .mono{color:var(--rojo);display:block;margin-bottom:12px}
.datos p{margin:0;font-size:16px;color:#C6C9D2;line-height:1.65}
.datos a{text-decoration:none;border-bottom:1px solid #3A3A46;transition:border-color .25s,color .25s}
.datos a:hover{color:#fff;border-color:var(--rojo)}
@media(max-width:820px){.datos{grid-template-columns:1fr;gap:28px}}

/* ---------- footer ---------- */
footer{background:var(--negro-2);color:#8A8E99;padding:56px 0 40px;border-top:1px solid var(--linea-osc)}
.pie-top{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding-bottom:34px;border-bottom:1px solid var(--linea-osc)}
.pie-top img{height:34px;width:auto;display:block;margin-bottom:18px}
.pie-top p{margin:0;font-size:15px;max-width:44ch}
.pie-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;align-content:start}
.pie-nav a{text-decoration:none;font-size:15px;transition:color .25s}
.pie-nav a:hover{color:#fff}
.pie-bot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:26px;font-size:14px}
.pie-bot .areas-txt{color:var(--rojo);font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:760px){.pie-top{grid-template-columns:1fr;gap:30px}}

/* ---------- volver arriba ---------- */
.arriba{
  position:fixed;right:22px;bottom:22px;width:48px;height:48px;background:var(--negro);color:#fff;border:0;
  display:grid;place-items:center;cursor:pointer;z-index:40;opacity:0;pointer-events:none;
  transform:translateY(14px);transition:opacity .35s,transform .35s,background .25s;
}
.arriba.ver{opacity:1;pointer-events:auto;transform:none}
.arriba:hover{background:var(--rojo)}

/* ---------- movimiento reducido ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .rv{opacity:1;transform:none}
  .pulso{left:30%;opacity:.6}
  .hero h1 em::after{transform:scaleX(1)}
  .cabeza .regla{width:88px}
}

/* ---------- impresión ---------- */
@media print{
  header,.menu-movil,.arriba,.progreso,.campo,.hero-cta,.pie-hero{display:none !important}
  body{background:#fff;font-size:12pt}
  .hero,.oscura,.contacto,.vol,.banda,.cliente.destacado{background:#fff !important;color:#000 !important}
  section{padding:24px 0;page-break-inside:avoid}
}
