/* C&C Maquinaria e Ingeniería S.A.S. — página pública
   Identidad tomada de los videos de marca: negro piedra, dorado, Anton + Montserrat. */
:root {
  --negro: #080808; --fondo: #0b0b0b; --fondo-b: #100f0e; --carbon: #151412; --panel: #1b1916;
  --amarillo: #FFC107; --oro: #F2B732; --oro-claro: #FFE08A; --oro-oscuro: #C98A12;
  --blanco: #fff; --texto: #e9e7e2; --tenue: #a8a49b; --borde: rgba(242, 183, 50, .22); --raya: rgba(255, 255, 255, .08);
  --verde: #2fe37a; --rojo: #ff5252; --ambar: #ffd23f; --wa: #25D366;
  --g-oro: linear-gradient(180deg, #FFE9A8 0%, #FFC107 48%, #D18F10 100%);
  --g-placa: linear-gradient(180deg, #2a2620, #0d0c0a);
  --g-borde: linear-gradient(135deg, #FFE6A0, #C98A12 50%, #FFD45A);
  --f-tit: 'Anton', 'Impact', 'Arial Narrow', sans-serif; --f-txt: 'Montserrat', 'Segoe UI', system-ui, sans-serif;
  --ancho: 1200px; --cab: 72px; --curva: cubic-bezier(.2, .7, .2, 1);
  --grano: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .055 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--cab) + 8px); -webkit-text-size-adjust: 100%; overflow-x: hidden; }
body { margin: 0; background: var(--fondo) var(--grano); color: var(--texto); font: 400 16px/1.6 var(--f-txt); overflow-x: clip; -webkit-font-smoothing: antialiased; }
img, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
h1, h2, h3, p, ul, ol, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
svg { width: 1.2em; height: 1.2em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
:focus-visible { outline: 2px solid var(--amarillo); outline-offset: 3px; border-radius: 4px; }
[hidden] { display: none !important; }
.cont { width: min(var(--ancho), 100% - 40px); margin-inline: auto; }
.saltar { position: fixed; left: 12px; top: -60px; z-index: 200; background: var(--amarillo); color: #111; padding: 10px 16px; border-radius: 8px; font-weight: 700; }
.saltar:focus { top: 12px; }

/* ── Títulos y textos ── */
h1, h2, h3 { font-family: var(--f-tit); font-weight: 400; text-transform: uppercase; letter-spacing: .012em; line-height: 1.06; color: var(--blanco); }
h1 em, h2 em, .lema { font-style: normal; background: var(--g-oro); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .55)); }
h2 { font-size: clamp(2rem, 4.6vw, 3.4rem); }
.sobre { display: inline-flex; align-items: center; gap: 14px; max-width: 100%; font: 700 .74rem/1 var(--f-txt); letter-spacing: .32em; text-transform: uppercase; color: #d9d9d9; margin-bottom: 18px; }
.sobre::before { content: ''; width: 44px; height: 3px; background: var(--oro); box-shadow: 0 0 12px rgba(255, 190, 70, .7); }
.sobre-lineas::before, .sobre-lineas::after { content: ''; width: clamp(28px, 8vw, 90px); height: 2px; background: var(--oro); box-shadow: 0 0 12px rgba(255, 190, 70, .7); }
.texto { color: var(--texto); opacity: .86; max-width: 62ch; font-size: 1.02rem; line-height: 1.75; }
.sec { position: relative; padding: clamp(68px, 9vw, 124px) 0; }
.sec-b { background: var(--fondo-b) var(--grano); }
.sec-b::before, .sec-b::after { content: ''; position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 214, 110, .55), transparent); }
.sec-b::before { top: 0; } .sec-b::after { bottom: 0; }
.sec-cab > * + * { margin-top: 16px; }
.sec-cab .sobre { margin-bottom: 2px; }
.sec-cab.centro { text-align: center; margin-bottom: clamp(30px, 5vw, 54px); }
.sec-cab.centro .texto { margin-inline: auto; }
.dos-col { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(32px, 6vw, 76px); align-items: center; }

/* ── Botones ── */
.btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 26px; border-radius: 12px; font: 800 .84rem/1 var(--f-txt); letter-spacing: .09em; text-transform: uppercase; overflow: hidden; isolation: isolate; transition: transform .25s var(--curva), box-shadow .25s, filter .25s; white-space: nowrap; }
.btn::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(105deg, transparent 38%, rgba(255, 255, 255, .55) 50%, transparent 62%); transform: translateX(-120%); transition: transform .7s var(--curva); }
.btn:hover::after { transform: translateX(120%); }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(.98); }
.btn-oro { background: var(--g-oro); color: #141414; box-shadow: 0 8px 26px rgba(255, 180, 40, .28), inset 0 1px 0 rgba(255, 255, 255, .6); }
.btn-oro:hover { box-shadow: 0 12px 34px rgba(255, 180, 40, .45), inset 0 1px 0 rgba(255, 255, 255, .6); }
.btn-placa { background: var(--g-placa) padding-box, var(--g-borde) border-box; border: 1.5px solid transparent; color: var(--oro-claro); padding: 13.5px 24.5px; }
.btn-placa:hover { box-shadow: 0 0 26px rgba(255, 190, 60, .32); }
.btn-wa { background: var(--wa); color: #062b14; box-shadow: 0 8px 24px rgba(37, 211, 102, .25); }
.btn-wa:hover { box-shadow: 0 12px 30px rgba(37, 211, 102, .42); }
.btn-s { padding: 11px 16px; font-size: .74rem; border-radius: 10px; }
.btn-placa.btn-s { padding: 9.5px 14.5px; }
.btn-ancho { width: 100%; padding-block: 17px; }
.btn[disabled] { opacity: .6; pointer-events: none; }

/* ── Estados de disponibilidad ── */
.disp { --c: var(--verde); } .alq { --c: var(--rojo); } .mant { --c: var(--ambar); }
.insignia { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px 7px 10px; border-radius: 999px; background: rgba(8, 8, 8, .78); border: 1px solid color-mix(in srgb, var(--c) 55%, transparent); color: var(--c); font: 800 .68rem/1 var(--f-txt); letter-spacing: .12em; text-transform: uppercase; backdrop-filter: blur(6px); }
.insignia i, .filtro i, .leyenda i, .vivo i, .hero-vivo i, .fila-led { width: 9px; height: 9px; border-radius: 50%; background: var(--c, var(--verde)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c, var(--verde)) 22%, transparent), 0 0 12px var(--c, var(--verde)); flex: none; }
.disp .insignia i, .insignia.disp i, .vivo i, .hero-vivo i { animation: latido 2s ease-in-out infinite; }
@keyframes latido { 50% { box-shadow: 0 0 0 6px color-mix(in srgb, var(--c, var(--verde)) 8%, transparent), 0 0 16px var(--c, var(--verde)); } }

/* ── Decoración de marca: esquinas en panal y rayos dorados ── */
.esquina { position: absolute; width: clamp(120px, 21vw, 320px); aspect-ratio: 1; pointer-events: none; }
.esquina::before { content: ''; position: absolute; inset: 0; clip-path: polygon(0 0, 100% 0, 0 100%); opacity: .82;
  background: linear-gradient(135deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .05) 38%, rgba(255, 200, 90, .22) 50%),
    radial-gradient(circle, rgba(10, 6, 0, .7) 0 2.300px, transparent 2.800px) 0 0 / 11px 19px,
    radial-gradient(circle, rgba(10, 6, 0, .7) 0 2.300px, transparent 2.800px) 5.500px 9.500px / 11px 19px,
    linear-gradient(135deg, #d39a2a, #5a3a0c); }
.esquina::after { content: ''; position: absolute; left: 0; top: 100%; width: 141.42%; height: 6px; margin-top: -3px; border-radius: 3px; transform-origin: 0 50%; transform: rotate(-45deg); background: linear-gradient(90deg, rgba(150, 95, 20, .6), #F2B732 50%, #FFECAA); box-shadow: 0 0 22px rgba(255, 190, 70, .9); }
.esquina-a { left: 0; top: 0; } .esquina-b { right: 0; bottom: 0; transform: rotate(180deg); }
.rayo { position: absolute; width: clamp(180px, 34vw, 520px); height: 2px; background: linear-gradient(90deg, transparent, rgba(255, 214, 110, .85), transparent); box-shadow: 0 0 10px rgba(255, 190, 70, .8); transform: rotate(-45deg); pointer-events: none; animation: titilar 5s ease-in-out infinite; }
.rayo-1 { right: -4%; top: 18%; } .rayo-2 { right: -9%; top: 34%; opacity: .5; animation-delay: -1.5s; }
.rayo-3 { left: -5%; bottom: 22%; animation-delay: -2.5s; } .rayo-4 { left: -1%; bottom: 8%; opacity: .45; animation-delay: -3.5s; }
@keyframes titilar { 50% { opacity: .35; } }
.particulas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }

/* ── Entrada del logo ── */
.intro { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; background: var(--negro) var(--grano); transition: opacity .7s ease, visibility .7s; }
html:not(.js) .intro, .intro.fuera { opacity: 0; visibility: hidden; pointer-events: none; }
.sin-intro .intro { display: none; }
.intro-logo { position: relative; width: min(300px, 58vw); animation: sello 1.200s var(--curva) both; }
.intro-logo img { width: 100%; height: auto; filter: drop-shadow(0 12px 30px rgba(0, 0, 0, .7)); }
.intro-logo::after, .hero-emblema::after { content: ''; position: absolute; inset: 0; -webkit-mask: url(../assets/marca/logo-emblema.png) center / 100% 100% no-repeat; mask: url(../assets/marca/logo-emblema.png) center / 100% 100% no-repeat; background: linear-gradient(105deg, transparent 42%, rgba(255, 244, 214, .9) 50%, transparent 58%) 130% 0 / 300% 100% no-repeat; }
.intro-logo::after { animation: barrido 1.100s .35s ease-in-out both; }
.intro-linea { display: block; height: 3px; margin: 18px auto 0; background: linear-gradient(90deg, transparent, #FFD66E, transparent); box-shadow: 0 0 14px rgba(255, 190, 70, .9); animation: linea 1s .25s var(--curva) both; }
@keyframes sello { from { opacity: 0; transform: scale(1.14); } }
@keyframes barrido { from { background-position: 130% 0; } to { background-position: -30% 0; } }
@keyframes linea { from { width: 0; opacity: 0; } to { width: 100%; opacity: 1; } }

/* ── Cabecera ── */
.cab { position: fixed; inset: 0 0 auto 0; z-index: 100; height: var(--cab); transition: background .35s, box-shadow .35s, height .35s; }
.cab.solida { background: rgba(9, 9, 9, .9); backdrop-filter: blur(12px); box-shadow: 0 1px 0 rgba(242, 183, 50, .25), 0 10px 30px rgba(0, 0, 0, .5); }
.cab-fila { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.marca { display: flex; align-items: center; gap: 12px; }
.marca img { height: 46px; width: auto; filter: drop-shadow(0 3px 8px rgba(0, 0, 0, .6)); }
.marca-texto { display: grid; line-height: 1; }
.marca-texto b { font: 400 1.22rem/1 var(--f-tit); text-transform: uppercase; letter-spacing: .02em; color: var(--blanco); }
.marca-texto small { font: 700 .58rem/1 var(--f-txt); letter-spacing: .2em; text-transform: uppercase; color: var(--amarillo); margin-top: 5px; }
.nav { display: flex; align-items: center; gap: clamp(14px, 2vw, 28px); }
.nav a:not(.btn) { position: relative; white-space: nowrap; font: 600 .76rem/1 var(--f-txt); letter-spacing: .1em; text-transform: uppercase; padding: 10px 0; color: #e6e6e6; transition: color .2s; }
.nav a:not(.btn)::after { content: ''; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px; background: var(--amarillo); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--curva); box-shadow: 0 0 10px rgba(255, 190, 70, .8); }
.nav a:not(.btn):hover, .nav a.activo { color: var(--amarillo); }
.nav a:not(.btn):hover::after, .nav a.activo::after { transform: scaleX(1); }
.menu-boton { display: none; width: 46px; height: 46px; border-radius: 10px; border: 1px solid var(--borde); color: var(--amarillo); place-items: center; }
.menu-boton svg { width: 24px; height: 24px; }

/* ── Inicio ── */
.hero { position: relative; min-height: 100vh; min-height: 100svh; display: grid; place-items: center; text-align: center; padding: calc(var(--cab) + 28px) 0 84px; overflow: hidden; isolation: isolate; }
.hero-fondo { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: var(--negro); }
.hero-poster, .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.92) contrast(1.05); }
.hero-poster { animation: acercar 24s ease-in-out infinite alternate; }
.hero-video { opacity: 0; transition: opacity 1.200s ease; }
.hero-video.listo { opacity: 1; }
@keyframes acercar { from { transform: scale(1.03); } to { transform: scale(1.13); } }
.hero-velo { position: absolute; inset: 0; background:
  radial-gradient(circle at 50% 30%, rgba(255, 200, 90, .13), transparent 55%),
  radial-gradient(ellipse at 50% 45%, rgba(8, 8, 8, .6), rgba(8, 8, 8, .88) 72%),
  linear-gradient(180deg, rgba(8, 8, 8, .82), rgba(8, 8, 8, .3) 34%, rgba(8, 8, 8, .55) 70%, var(--fondo) 100%); }
.hero-cuerpo { display: grid; justify-items: center; }
.hero-logo { display: grid; justify-items: center; gap: clamp(10px, 1.6vw, 18px); margin-bottom: clamp(18px, 3vw, 30px); }
.hero-emblema { position: relative; width: clamp(170px, 23vw, 300px); filter: drop-shadow(0 14px 34px rgba(0, 0, 0, .75)); }
.hero-emblema img { width: 100%; height: auto; }
.hero-emblema::after { animation: barridoLento 6s 1.800s ease-in-out infinite; }
@keyframes barridoLento { 0% { background-position: 130% 0; } 22%, 100% { background-position: -30% 0; } }
.hero-nombre { width: clamp(250px, 42vw, 540px); height: auto; filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .8)); }
.hero h1 { font-size: clamp(2.150rem, 6.200vw, 5rem); max-width: 17.500ch; text-shadow: 0 6px 22px rgba(0, 0, 0, .7); }
.hero-sub { margin-top: 20px; max-width: 58ch; font-size: clamp(.98rem, 1.5vw, 1.12rem); color: #efefef; opacity: .9; text-shadow: 0 2px 10px rgba(0, 0, 0, .8); }
.hero-botones { margin-top: clamp(26px, 4vw, 38px); display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.hero-vivo { margin-top: 26px; display: inline-flex; align-items: center; gap: 10px; padding: 9px 16px; border-radius: 999px; background: rgba(8, 8, 8, .6); border: 1px solid rgba(47, 227, 122, .35); font: 600 .78rem/1 var(--f-txt); letter-spacing: .04em; color: #dfffe9; backdrop-filter: blur(6px); transition: border-color .2s, background .2s; }
.hero-vivo:hover { border-color: var(--verde); background: rgba(8, 8, 8, .8); }
.hero-bajar { position: absolute; left: 50%; bottom: 22px; width: 44px; height: 44px; margin-left: -22px; border-radius: 50%; display: grid; place-items: center; color: var(--amarillo); border: 1px solid var(--borde); animation: rebote 2.200s ease-in-out infinite; }
@keyframes rebote { 50% { transform: translateY(7px); } }
/* aparición escalonada del inicio */
.js .hero-cuerpo > * { opacity: 0; transform: translateY(26px); }
.js.lista .hero-cuerpo > * { opacity: 1; transform: none; transition: opacity .9s var(--curva), transform .9s var(--curva); }
.js.lista .hero-cuerpo > :nth-child(2) { transition-delay: .12s; } .js.lista .hero-cuerpo > :nth-child(3) { transition-delay: .22s; }
.js.lista .hero-cuerpo > :nth-child(4) { transition-delay: .34s; } .js.lista .hero-cuerpo > :nth-child(5) { transition-delay: .46s; }
.js.lista .hero-cuerpo > :nth-child(6) { transition-delay: .58s; }

/* ── Resumen en vivo ── */
.franja { position: relative; background: linear-gradient(180deg, #17150f, #0c0b09); border-block: 1px solid rgba(242, 183, 50, .35); box-shadow: 0 0 40px rgba(255, 180, 40, .08) inset; }
.franja-fila { display: grid; grid-template-columns: repeat(4, 1fr); }
.dato { padding: 26px 12px; text-align: center; display: grid; gap: 6px; }
.dato + .dato { border-left: 1px solid var(--raya); }
.dato b { font: 400 clamp(2.100rem, 4.400vw, 3.100rem)/1 var(--f-tit); background: var(--g-oro); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dato[class*=" "] b { background: none; color: var(--c); text-shadow: 0 0 22px color-mix(in srgb, var(--c) 45%, transparent); }
.dato span { font: 700 .68rem/1.3 var(--f-txt); letter-spacing: .16em; text-transform: uppercase; color: var(--tenue); }

/* ── Nosotros ── */
.checks { display: grid; gap: 10px; margin-block: 22px 28px !important; }
.checks li { display: flex; align-items: center; gap: 12px; font-weight: 600; }
.checks svg { width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--g-oro); color: #141414; stroke-width: 3; }
.nos-visual { position: relative; aspect-ratio: 5 / 4; }
.marco { position: absolute; overflow: hidden; border-radius: 16px; border: 1.5px solid transparent; background: var(--g-placa) padding-box, var(--g-borde) border-box; box-shadow: 0 24px 60px rgba(0, 0, 0, .65), 0 0 34px rgba(255, 180, 40, .12); }
.marco img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.200s var(--curva); }
.marco:hover img { transform: scale(1.06); }
.marco-a { inset: 0 0 18% 12%; } .marco-b { left: 0; bottom: 0; width: 54%; aspect-ratio: 4 / 3; }
.pilares { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: clamp(44px, 7vw, 76px); }
.pilar { position: relative; padding: 24px 22px; border-radius: 14px; background: var(--g-placa); border: 1px solid var(--borde); overflow: hidden; transition: transform .35s var(--curva), border-color .3s, box-shadow .3s; }
.pilar::after { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgba(255, 230, 160, .12) 50%, transparent 60%); transform: translateX(-120%); transition: transform .9s var(--curva); }
.pilar:hover { transform: translateY(-5px); border-color: var(--oro); box-shadow: 0 16px 40px rgba(0, 0, 0, .5), 0 0 28px rgba(255, 180, 40, .14); }
.pilar:hover::after { transform: translateX(120%); }
.pilar svg { width: 34px; height: 34px; color: var(--amarillo); margin-bottom: 14px; stroke-width: 1.6; }
.pilar h3 { font-size: 1.180rem; letter-spacing: .03em; margin-bottom: 6px; }
.pilar p { font-size: .92rem; color: var(--tenue); line-height: 1.55; }

/* ── Flota ── */
.barra-flota { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 20px; margin-bottom: 28px; }
.buscador { position: relative; flex: 1 1 260px; max-width: 380px; display: flex; align-items: center; }
.buscador svg { position: absolute; left: 16px; color: var(--amarillo); width: 18px; height: 18px; }
.buscador input { width: 100%; padding: 14px 16px 14px 46px; border-radius: 12px; border: 1px solid var(--borde); background: #0c0c0b; outline: none; transition: border-color .2s, box-shadow .2s; }
.buscador input:focus { border-color: var(--oro); box-shadow: 0 0 0 3px rgba(242, 183, 50, .18); }
.buscador input::placeholder { color: #8a867d; }
.filtros { display: flex; flex-wrap: wrap; gap: 8px; }
.filtro { display: inline-flex; align-items: center; gap: 9px; padding: 11px 15px; border-radius: 999px; border: 1px solid var(--raya); background: #0c0c0b; font: 700 .72rem/1 var(--f-txt); letter-spacing: .08em; text-transform: uppercase; color: #d6d3cc; transition: all .25s var(--curva); }
.filtro b { font-weight: 800; color: var(--tenue); }
.filtro:hover { border-color: var(--oro); color: var(--blanco); }
.filtro.activo { background: var(--g-oro); color: #141414; border-color: transparent; box-shadow: 0 6px 20px rgba(255, 180, 40, .28); }
.filtro.activo b { color: #5b3f05; }
.rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 22px; }
.tarjeta { position: relative; display: flex; flex-direction: column; border-radius: 16px; overflow: hidden; background: linear-gradient(180deg, #191714, #0f0e0d); border: 1px solid var(--raya); transition: transform .4s var(--curva), border-color .3s, box-shadow .4s; animation: aparecer .6s var(--curva) both; }
@keyframes aparecer { from { opacity: 0; transform: translateY(18px); } }
.tarjeta::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 3px; z-index: 2; background: var(--c); box-shadow: 0 0 16px var(--c); }
.tarjeta:hover { transform: translateY(-6px); border-color: rgba(242, 183, 50, .55); box-shadow: 0 22px 50px rgba(0, 0, 0, .6), 0 0 30px rgba(255, 180, 40, .12); }
.tarjeta-foto { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; background: #060606; }
.tarjeta-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--curva), filter .4s; }
.tarjeta:hover .tarjeta-foto img { transform: scale(1.07); }
.tarjeta:not(.disp) .tarjeta-foto img { filter: saturate(.55) brightness(.8); }
.tarjeta-foto::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .35), transparent 30%, transparent 62%, rgba(15, 14, 13, .95)); }
.tarjeta-foto .insignia { position: absolute; left: 14px; top: 16px; z-index: 1; }
.tarjeta-foto .con-video { position: absolute; right: 14px; top: 16px; z-index: 1; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: rgba(8, 8, 8, .75); color: var(--amarillo); border: 1px solid var(--borde); }
.tarjeta-foto .con-video svg { width: 14px; height: 14px; }
.sin-foto { position: absolute; inset: 0; display: grid; place-items: center; background: var(--g-placa); }
.sin-foto img { width: 42% !important; height: auto !important; object-fit: contain !important; opacity: .35; filter: grayscale(1) !important; transform: none !important; }
.tarjeta-cuerpo { flex: 1; display: flex; flex-direction: column; gap: 10px; padding: 16px 20px 20px; }
.tipo { font: 700 .66rem/1 var(--f-txt); letter-spacing: .22em; text-transform: uppercase; color: var(--amarillo); }
.tarjeta h3 { font-size: 1.420rem; }
.desc { font-size: .9rem; color: var(--tenue); line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chips li { font: 600 .7rem/1 var(--f-txt); padding: 7px 10px; border-radius: 8px; background: rgba(255, 255, 255, .05); border: 1px solid var(--raya); color: #d9d6cf; }
.chips li b { color: var(--oro-claro); font-weight: 700; }
.aviso { display: flex; gap: 8px; align-items: flex-start; font-size: .8rem; line-height: 1.45; padding: 10px 12px; border-radius: 10px; color: color-mix(in srgb, var(--c) 70%, white); background: color-mix(in srgb, var(--c) 9%, transparent); border: 1px solid color-mix(in srgb, var(--c) 30%, transparent); }
.aviso svg { margin-top: 1px; width: 15px; height: 15px; }
.tarjeta-acciones { margin-top: auto; padding-top: 6px; display: flex; gap: 8px; align-items: stretch; }
.tarjeta-acciones .btn-oro { flex: 1; }
.wa-mini { width: 42px; border-radius: 10px; display: grid; place-items: center; background: rgba(37, 211, 102, .12); color: var(--wa); border: 1px solid rgba(37, 211, 102, .4); transition: background .2s, transform .2s; }
.wa-mini:hover { background: var(--wa); color: #062b14; transform: translateY(-2px); }
.tarjeta.cambio .insignia { animation: destello 1.600s ease-out; }
@keyframes destello { 0% { box-shadow: 0 0 0 0 var(--c); transform: scale(1.18); } 100% { box-shadow: 0 0 0 26px transparent; transform: none; } }
.esqueleto { min-height: 420px; background: linear-gradient(100deg, #151412 30%, #1f1c18 50%, #151412 70%) 0 0 / 250% 100%; animation: brillo 1.400s linear infinite; }
.esqueleto::before { display: none; }
@keyframes brillo { to { background-position: -250% 0; } }
.vacio { text-align: center; padding: 46px 20px; color: var(--tenue); border: 1px dashed var(--borde); border-radius: 16px; }
.vacio a { color: var(--amarillo); font-weight: 700; }

/* ── Disponibilidad ── */
.vivo { font: 600 .8rem/1.5 var(--f-txt); color: #cfeedd; letter-spacing: .03em; }
.vivo i { display: inline-block; margin-right: 10px; }
.tablero { border-radius: 16px; overflow: hidden; border: 1px solid var(--borde); background: var(--g-placa); box-shadow: 0 20px 50px rgba(0, 0, 0, .45); }
.fila { display: grid; grid-template-columns: minmax(0, 2.200fr) 190px minmax(0, 1.600fr) 178px; gap: 14px 20px; align-items: center; padding: 16px 22px; transition: background .2s; }
.fila .btn { width: 100%; }
.fila + .fila { border-top: 1px solid var(--raya); }
.fila:hover { background: rgba(255, 255, 255, .03); }
.fila-nombre { display: flex; align-items: center; gap: 14px; min-width: 0; text-align: left; }
.fila-nombre img { width: 62px; height: 46px; object-fit: cover; border-radius: 8px; border: 1px solid var(--raya); flex: none; }
.fila-nombre b { display: block; font: 400 1.080rem/1.15 var(--f-tit); text-transform: uppercase; letter-spacing: .02em; color: var(--blanco); }
.fila-nombre small { font: 700 .62rem/1 var(--f-txt); letter-spacing: .18em; text-transform: uppercase; color: var(--tenue); }
.fila-nombre:hover b { color: var(--amarillo); }
.fila-estado { display: flex; align-items: center; gap: 10px; font: 800 .74rem/1 var(--f-txt); letter-spacing: .1em; text-transform: uppercase; color: var(--c); }
.fila-detalle { font-size: .84rem; color: var(--tenue); line-height: 1.45; display: grid; gap: 3px; }
.fila-detalle span { display: flex; gap: 7px; align-items: flex-start; }
.fila-detalle svg { width: 14px; height: 14px; margin-top: 2px; color: var(--oro); }
.leyenda { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px 26px; margin-top: 24px; font-size: .84rem; color: var(--tenue); }
.leyenda li { position: relative; padding-left: 24px; line-height: 1.45; }
.leyenda i { position: absolute; left: 3px; top: 4px; }
.leyenda b { display: block; margin-bottom: 4px; color: var(--c); font: 800 .72rem/1.3 var(--f-txt); letter-spacing: .1em; text-transform: uppercase; }

/* ── Galería ── */
.galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 46%), 1fr)); grid-auto-rows: clamp(150px, 18vw, 210px); grid-auto-flow: dense; gap: 14px; }
.medio { position: relative; overflow: hidden; border-radius: 14px; border: 1px solid var(--raya); background: #060606; transition: border-color .3s, box-shadow .3s, transform .4s var(--curva); }
.medio.alto { grid-row: span 2; } .medio.grande { grid-column: span 2; grid-row: span 2; }
.medio img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.100s var(--curva); }
.medio::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0, 0, 0, .82)); }
.medio:hover { border-color: var(--oro); box-shadow: 0 0 30px rgba(255, 180, 40, .18); }
.medio:hover img { transform: scale(1.07); }
.medio-titulo { position: absolute; left: 14px; right: 14px; bottom: 12px; z-index: 1; text-align: left; font: 400 1rem/1.15 var(--f-tit); text-transform: uppercase; letter-spacing: .03em; color: var(--blanco); text-shadow: 0 2px 8px #000; }
.medio-play { position: absolute; left: 50%; top: 50%; z-index: 1; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; display: grid; place-items: center; background: var(--g-oro); color: #141414; box-shadow: 0 0 0 8px rgba(255, 193, 7, .18), 0 10px 30px rgba(0, 0, 0, .6); transition: transform .3s var(--curva); }
.medio-play svg { width: 24px; height: 24px; margin-left: 3px; }
.medio:hover .medio-play { transform: scale(1.12); }
.medio-etiqueta { position: absolute; left: 12px; top: 12px; z-index: 1; font: 800 .6rem/1 var(--f-txt); letter-spacing: .18em; padding: 6px 9px; border-radius: 6px; background: rgba(8, 8, 8, .8); color: var(--amarillo); border: 1px solid var(--borde); }

/* ── Cotización ── */
.cot { align-items: start; }
.pasos { display: grid; gap: 14px; margin-top: 26px !important; counter-reset: p; }
.pasos li { display: flex; align-items: center; gap: 16px; font-weight: 500; }
.pasos b { flex: none; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font: 400 1.300rem/1 var(--f-tit); background: var(--g-placa) padding-box, var(--g-borde) border-box; border: 1.5px solid transparent; color: var(--amarillo); }
.cot-directo { margin-top: 30px !important; font-weight: 700; color: var(--blanco); }
.cot-wa { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px !important; }
.cot-caja { position: relative; padding: clamp(20px, 3.400vw, 34px); border-radius: 18px; border: 1.5px solid transparent; background: linear-gradient(180deg, #1c1a16, #0e0d0c) padding-box, var(--g-borde) border-box; box-shadow: 0 30px 70px rgba(0, 0, 0, .55), 0 0 44px rgba(255, 180, 40, .1); }
.formulario { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 14px; }
.ancho { grid-column: 1 / -1; }
.campo { display: grid; gap: 7px; align-content: start; min-width: 0; }
.campo label { font: 700 .68rem/1.2 var(--f-txt); letter-spacing: .12em; text-transform: uppercase; color: #cfccc5; }
.campo label small { text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--tenue); }
.campo input, .campo select, .campo textarea { width: 100%; padding: 13px 14px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, .14); background: #0b0b0a; outline: none; color-scheme: dark; transition: border-color .2s, box-shadow .2s; }
.campo textarea { resize: vertical; min-height: 104px; line-height: 1.5; }
.campo select { appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFC107' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 18px; }
.campo input:focus, .campo select:focus, .campo textarea:focus { border-color: var(--oro); box-shadow: 0 0 0 3px rgba(242, 183, 50, .18); }
.campo input::placeholder, .campo textarea::placeholder { color: #77736b; }
.campo.mal input, .campo.mal select { border-color: var(--rojo); }
.campo .falla { font-size: .76rem; color: #ff8d8d; }
.aviso-estado { margin-top: 2px; }
.trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-error { padding: 12px 14px; border-radius: 10px; background: rgba(255, 82, 82, .1); border: 1px solid rgba(255, 82, 82, .4); color: #ffb3b3; font-size: .88rem; }
.form-error a { color: var(--blanco); font-weight: 700; text-decoration: underline; }
.form-nota { font-size: .76rem; color: var(--tenue); text-align: center; }
.exito { text-align: center; display: grid; justify-items: center; gap: 14px; padding: 18px 4px; outline: none; }
.exito-icono { width: 78px; height: 78px; border-radius: 50%; display: grid; place-items: center; background: var(--g-oro); color: #141414; box-shadow: 0 0 0 10px rgba(255, 193, 7, .14), 0 0 40px rgba(255, 180, 40, .4); animation: sello .7s var(--curva) both; }
.exito-icono svg { width: 38px; height: 38px; stroke-width: 3; }
.exito h3 { font-size: 1.900rem; }
.exito p { color: var(--texto); opacity: .88; max-width: 44ch; }
.exito-botones { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 6px; }

/* ── Contacto ── */
.sec-contacto { text-align: center; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 50% 30%, rgba(255, 214, 150, .07), transparent 55%), var(--negro) var(--grano); border-top: 1px solid rgba(242, 183, 50, .3); }
.contacto-fondo { position: absolute; inset: 0; z-index: -1; }
.contacto-cuerpo { display: grid; justify-items: center; }
.contacto-logo { width: clamp(150px, 20vw, 230px); height: auto; filter: drop-shadow(0 12px 28px rgba(0, 0, 0, .7)); }
.contacto-nombre { width: clamp(240px, 40vw, 460px); height: auto; margin-top: 14px; }
.lema { font-size: clamp(2.200rem, 6vw, 4rem); margin: 26px 0 20px; }
.placas { display: grid; gap: 16px; width: min(520px, 100%); margin-top: 6px; }
.placa { position: relative; display: flex; align-items: center; justify-content: center; gap: 18px; padding: 16px 22px; border-radius: 22px; border: 2px solid transparent; background: var(--g-placa) padding-box, var(--g-borde) border-box; overflow: hidden; transition: transform .3s var(--curva), box-shadow .3s; }
.placa::after { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgba(255, 240, 200, .5) 50%, transparent 60%); transform: translateX(-120%); transition: transform .8s var(--curva); }
.placa:hover { transform: translateY(-3px) scale(1.015); box-shadow: 0 0 40px rgba(255, 190, 60, .35); }
.placa:hover::after { transform: translateX(120%); }
.placa svg { width: clamp(30px, 6vw, 42px); height: clamp(30px, 6vw, 42px); color: var(--amarillo); }
.placa span { font: 400 clamp(2rem, 7.400vw, 3.200rem)/1 var(--f-tit); letter-spacing: .02em; background: var(--g-oro); -webkit-background-clip: text; background-clip: text; color: transparent; }
.contacto-datos { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 26px; margin-top: 30px; font-size: .92rem; color: #d8d5ce; }
.contacto-datos li { display: flex; align-items: center; gap: 8px; }
.contacto-datos svg { color: var(--amarillo); }
.contacto-datos a:hover { color: var(--amarillo); }

/* ── Pie ── */
.pie { border-top: 1px solid var(--raya); background: #070707; font-size: .82rem; color: var(--tenue); padding: 22px 0 92px; }
.pie-fila { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; }
.pie nav { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.pie a:hover { color: var(--amarillo); }

/* ── WhatsApp flotante ── */
.wa-flot { position: fixed; right: 18px; bottom: 18px; z-index: 90; display: grid; justify-items: end; gap: 12px; }
.wa-boton { position: relative; width: 60px; height: 60px; border-radius: 50%; background: var(--wa); color: #fff; display: grid; place-items: center; box-shadow: 0 10px 30px rgba(0, 0, 0, .5), 0 0 0 0 rgba(37, 211, 102, .6); animation: pulso 2.600s ease-out infinite; transition: transform .25s var(--curva); }
.wa-boton:hover { transform: scale(1.08); }
.wa-boton svg { width: 32px; height: 32px; }
@keyframes pulso { 70% { box-shadow: 0 10px 30px rgba(0, 0, 0, .5), 0 0 0 18px rgba(37, 211, 102, 0); } 100% { box-shadow: 0 10px 30px rgba(0, 0, 0, .5), 0 0 0 0 rgba(37, 211, 102, 0); } }
.wa-menu { width: 260px; padding: 14px; border-radius: 16px; border: 1.5px solid transparent; background: var(--g-placa) padding-box, var(--g-borde) border-box; box-shadow: 0 20px 50px rgba(0, 0, 0, .7); animation: aparecer .3s var(--curva) both; }
.wa-menu p { font: 700 .68rem/1 var(--f-txt); letter-spacing: .14em; text-transform: uppercase; color: var(--tenue); margin-bottom: 10px; }
.wa-menu a { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 10px; font: 400 1.300rem/1 var(--f-tit); letter-spacing: .03em; color: var(--oro-claro); transition: background .2s; }
.wa-menu a + a { margin-top: 4px; }
.wa-menu a:hover { background: rgba(37, 211, 102, .14); }
.wa-menu svg { color: var(--wa); width: 22px; height: 22px; }
.demo-aviso { position: fixed; left: 14px; bottom: 14px; z-index: 80; max-width: min(360px, calc(100vw - 110px)); display: flex; gap: 8px; align-items: center; padding: 9px 13px; border-radius: 10px; background: rgba(20, 18, 14, .94); border: 1px dashed rgba(255, 193, 7, .5); font-size: .72rem; line-height: 1.35; color: #e8d9a6; }
.demo-aviso svg { color: var(--amarillo); }

/* ── Ficha y visor ── */
dialog { color: var(--texto); border: 0; padding: 0; max-width: none; max-height: none; }
dialog::backdrop { background: rgba(0, 0, 0, .8); backdrop-filter: blur(6px); }
dialog[open] { animation: abrir .35s var(--curva); }
@keyframes abrir { from { opacity: 0; transform: translateY(18px) scale(.97); } }
.cerrar { position: absolute; right: 14px; top: 14px; z-index: 5; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: rgba(8, 8, 8, .82); border: 1px solid var(--borde); color: var(--amarillo); transition: transform .25s, background .2s; }
.cerrar:hover { transform: rotate(90deg); background: var(--amarillo); color: #111; }
.ficha { width: min(1080px, 94vw); max-height: 92vh; overflow: auto; border-radius: 18px; border: 1.5px solid transparent; background: linear-gradient(180deg, #171512, #0c0b0a) padding-box, var(--g-borde) border-box; box-shadow: 0 40px 100px rgba(0, 0, 0, .8); }
.ficha-cuerpo { display: grid; grid-template-columns: 1.050fr 1fr; }
.ficha-medios { padding: 18px; display: grid; gap: 10px; align-content: start; }
.ficha-principal { position: relative; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: #050505; display: block; width: 100%; }
.ficha-principal img, .ficha-principal video, .ficha-principal iframe { width: 100%; height: 100%; object-fit: cover; border: 0; }
.ficha-principal video { object-fit: contain; }
.miniaturas { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.miniatura { position: relative; flex: none; width: 78px; height: 58px; border-radius: 8px; overflow: hidden; border: 2px solid transparent; opacity: .6; transition: opacity .2s, border-color .2s; background: #050505; }
.miniatura img { width: 100%; height: 100%; object-fit: cover; }
.miniatura.activa, .miniatura:hover { opacity: 1; border-color: var(--amarillo); }
.miniatura svg { position: absolute; inset: 0; margin: auto; width: 20px; height: 20px; color: var(--amarillo); }
.ficha-info { padding: 30px 30px 28px 14px; display: grid; gap: 14px; align-content: start; }
.ficha-info h2 { font-size: clamp(1.700rem, 3.200vw, 2.300rem); }
.ficha-info .texto { font-size: .96rem; }
.ficha-info h3 { font-size: 1rem; letter-spacing: .08em; color: var(--amarillo); margin-top: 6px; }
.specs { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin: 0; }
.specs div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px dashed var(--raya); font-size: .86rem; }
.specs dt { color: var(--tenue); } .specs dd { margin: 0; font-weight: 700; color: var(--blanco); text-align: right; }
.meta { display: grid; gap: 8px; font-size: .9rem; }
.meta li { display: flex; gap: 10px; align-items: flex-start; }
.meta svg { color: var(--amarillo); margin-top: 3px; }
.ficha-acciones { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.ficha-acciones .btn { flex: 1 1 200px; }
.visor { width: 100vw; height: 100vh; height: 100dvh; background: rgba(4, 4, 4, .96); }
.visor[open] { display: grid; place-items: center; }
.visor-medio { max-width: 92vw; max-height: 84vh; display: grid; place-items: center; }
.visor-medio img, .visor-medio video { max-width: 92vw; max-height: 84vh; width: auto; height: auto; border-radius: 10px; box-shadow: 0 30px 80px #000; }
.visor-medio iframe { width: min(92vw, 150vh); aspect-ratio: 16 / 9; border: 0; border-radius: 10px; }
.visor-nav { position: absolute; top: 50%; width: 50px; height: 50px; margin-top: -25px; border-radius: 50%; display: grid; place-items: center; background: rgba(8, 8, 8, .7); border: 1px solid var(--borde); color: var(--amarillo); z-index: 4; transition: background .2s, color .2s; }
.visor-nav:hover { background: var(--amarillo); color: #111; }
.visor-nav svg { width: 24px; height: 24px; }
.visor-nav.ant { left: 14px; } .visor-nav.sig { right: 14px; }
.visor-pie { position: absolute; left: 0; right: 0; bottom: 16px; text-align: center; font: 400 1rem/1.2 var(--f-tit); letter-spacing: .06em; text-transform: uppercase; color: #ddd; }

/* ── Modo vitrina: publicada sin base de datos. No se muestran estados que nadie puede actualizar. ── */
.vitrina .insignia, .vitrina #filtros, .vitrina #disponibilidad, .vitrina a[href="#disponibilidad"], .vitrina .franja,
.vitrina .hero-vivo, .vitrina .tarjeta::before, .vitrina .pie a[href="admin/"] { display: none !important; }

/* ── Aparición al desplazarse ── */
.js [data-rev] { opacity: 0; transform: translateY(32px); transition: opacity .9s var(--curva) var(--d, 0s), transform .9s var(--curva) var(--d, 0s); }
.js [data-rev].vis { opacity: 1; transform: none; }

/* ── Adaptación a tablets y celulares ── */
@media (max-width: 1100px) {
  .menu-boton { display: grid; }
  .nav { position: fixed; inset: var(--cab) 0 auto 0; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 20px 24px; background: rgba(9, 9, 9, .97); backdrop-filter: blur(14px); border-bottom: 1px solid var(--borde); transform: translateY(-12px); opacity: 0; visibility: hidden; transition: all .3s var(--curva); max-height: calc(100dvh - var(--cab)); overflow: auto; }
  .nav.abierto { transform: none; opacity: 1; visibility: visible; }
  .nav a:not(.btn) { padding: 17px 4px; font-size: .9rem; border-bottom: 1px solid var(--raya); }
  .nav a:not(.btn)::after { display: none; }
  .nav-cta { margin-top: 18px; padding-block: 16px; font-size: .86rem; }
  .cab.menu-abierto { background: rgba(9, 9, 9, .97); }
  .dos-col { grid-template-columns: 1fr; }
  .pilares { grid-template-columns: repeat(2, 1fr); }
  .ficha-cuerpo { grid-template-columns: 1fr; }
  .ficha-info { padding: 6px 22px 26px; }
  .fila { grid-template-columns: minmax(0, 1fr) auto; }
  .fila-detalle { grid-column: 1; grid-row: 2; }
  .fila .btn { grid-column: 2; grid-row: 2; }
}
@media (max-width: 640px) {
  :root { --cab: 64px; }
  .cont { width: calc(100% - 32px); }
  .marca img { height: 40px; } .marca-texto b { font-size: 1.060rem; }
  .hero-botones { width: 100%; display: grid; }
  .franja-fila { grid-template-columns: 1fr 1fr; }
  .dato:nth-child(3) { border-left: 0; } .dato:nth-child(n+3) { border-top: 1px solid var(--raya); }
  .pilares { grid-template-columns: 1fr; }
  .barra-flota { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
  .buscador { max-width: none; flex: none; }
  .filtros { flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding: 2px 16px 6px; scrollbar-width: none; }
  .filtros::-webkit-scrollbar { display: none; }
  .filtro { flex: none; }
  .tarjeta-acciones { flex-wrap: wrap; }
  .tarjeta-acciones .btn-oro { flex: 1 1 100%; padding-block: 14px; }
  .tarjeta-acciones .btn-placa { flex: 1; }
  .wa-mini { width: 52px; min-height: 40px; }
  .formulario { grid-template-columns: 1fr; }
  .leyenda { grid-template-columns: 1fr; }
  .fila { padding: 14px 16px; grid-template-columns: 1fr; }
  .fila-detalle, .fila .btn { grid-column: 1; grid-row: auto; }
  .specs { grid-template-columns: 1fr; }
  .medio.grande { grid-column: span 2; }
  .ficha { width: 100vw; max-height: 100dvh; height: 100dvh; border-radius: 0; border: 0; }
  .ficha-medios { padding: 0 0 10px; } .ficha-principal { border-radius: 0; } .miniaturas { padding-inline: 14px; }
  .visor-nav { top: auto; bottom: 54px; }
  .rayo-2, .rayo-4 { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js [data-rev], .js .hero-cuerpo > * { opacity: 1; transform: none; }
}
