/* =============================================================
   LA57 · secciones.css — un bloque por sección, en orden
   ============================================================= */

.seccion { position: relative; padding-block: var(--seccion); isolation: isolate; }
.encabezado { position: relative; max-width: 1200px; margin-bottom: clamp(2.5rem, 4.5vw, 4rem); }
.encabezado--centro { text-align: center; margin-inline: auto; display: flex; flex-direction: column; align-items: center; }
.encabezado--centro .intro { margin-inline: auto; }

.marco-foto { position: relative; overflow: hidden; border-radius: var(--radio-s); background: var(--carbon); }
.marco-foto img { width: 100%; height: 100%; object-fit: cover; }

/* Cierres comerciales */
.cierre { display: flex; align-items: center; gap: clamp(1rem, 2.4vw, 2.2rem); flex-wrap: wrap; }
.cierre .boton { flex: none; }
.cierre__icono { width: clamp(2.2rem, 3vw, 2.9rem); height: clamp(2.2rem, 3vw, 2.9rem); color: var(--naranja); flex: none; }
.cierre__divisor { width: 1px; align-self: stretch; min-height: 2.8rem; background: var(--linea-fuerte); flex: none; }
.cierre__pregunta {
  font-family: var(--fuente-display); text-transform: uppercase; font-size: clamp(1.55rem, 1rem + 1.9vw, 2.6rem);
  line-height: 1.1; color: var(--blanco); flex: 1 1 18ch;
}
.cierre__nota { color: var(--texto-3); font-size: .95rem; line-height: 1.45; max-width: 30ch; }
.cierre--caja { margin-top: clamp(1.25rem, 2vw, 1.6rem); padding: clamp(1.1rem, 2vw, 1.4rem) clamp(1.25rem, 3.5vw, 3.4rem); background: rgba(21, 23, 26, .88); border: 1px solid var(--linea); border-radius: var(--radio); }
.cierre--caja .boton { margin-left: auto; }
.cierre--linea { margin-top: clamp(2.5rem, 5vw, 4rem); padding: clamp(1.1rem, 2vw, 1.5rem) clamp(1.25rem, 3vw, 2.6rem); border: 1.5px solid rgba(255, 106, 0, .75); border-radius: var(--radio-l); background: rgba(8, 9, 11, .7); }

/* =========================== 1 · HERO =========================== */
.hero {
  position: relative; min-height: 100svh; display: flex; align-items: center; overflow: clip; isolation: isolate;
  padding-top: calc(var(--alto-cabecera) + clamp(2.5rem, 6vh, 5rem)); padding-bottom: clamp(3rem, 8vh, 6rem);
}
.hero__fondo { position: absolute; inset: 0; z-index: -3; }
.hero__rejilla {
  position: absolute; inset: -10% 0; opacity: .45;
  background-image: linear-gradient(rgba(184, 192, 200, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(184, 192, 200, .06) 1px, transparent 1px);
  background-size: 88px 88px;
  mask-image: radial-gradient(ellipse at 20% 45%, #000 10%, transparent 60%);
  -webkit-mask-image: radial-gradient(ellipse at 20% 45%, #000 10%, transparent 60%);
}
.hero__luz {
  position: absolute; width: 60vw; height: 60vw; right: 8vw; top: 10%; border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 106, 0, .22), rgba(255, 106, 0, 0) 62%);
  will-change: transform;
}
.hero__foto { position: absolute; top: 0; right: 0; bottom: 0; width: 56%; z-index: -2; }
.hero__foto-marco {
  position: absolute; inset: 0; overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0, transparent 24px, rgba(0,0,0,.55) 16%, #000 34%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, transparent 24px, rgba(0,0,0,.55) 16%, #000 34%);
  mask-repeat: no-repeat; -webkit-mask-repeat: no-repeat;
}
.hero__foto picture, .hero__foto img { width: 100%; height: 100%; }
.hero__foto img { object-fit: cover; object-position: 30% 50%; transform: scale(1.08); will-change: transform; }
.hero__barrido {
  position: absolute; inset: -20% -40%; pointer-events: none; mix-blend-mode: screen; opacity: .9;
  background: linear-gradient(105deg, transparent 42%, rgba(255, 150, 40, .0) 44%, rgba(255, 196, 120, .55) 50%, rgba(255, 150, 40, 0) 56%, transparent 58%);
  transform: translateX(-70%);
}
.hero__contenido { position: relative; }
.hero__titulo { font-size: clamp(2.6rem, 6.3vw, 7rem); }
.hero__subtitulo {
  margin-top: clamp(.9rem, 1.6vw, 1.4rem);
  font-family: var(--fuente-display); text-transform: uppercase; font-size: clamp(1.45rem, 3vw, 3.1rem); line-height: 1.1; letter-spacing: .01em;
}
.hero__texto { margin-top: clamp(1rem, 1.6vw, 1.4rem); max-width: 40ch; color: var(--texto-2); font-size: clamp(1.05rem, .95rem + .45vw, 1.5rem); line-height: 1.45; }
.hero__acciones { margin-top: clamp(1.8rem, 3vw, 2.6rem); display: flex; flex-wrap: wrap; gap: clamp(.8rem, 1.6vw, 1.8rem); }

@media (max-width: 980px) {
  .hero { align-items: flex-end; min-height: 100svh; }
  .hero__foto { width: 100%; bottom: auto; height: 64svh; }
  .hero__foto-marco {
    mask-image: linear-gradient(180deg, #000 35%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, #000 35%, transparent 100%);
  }
  .hero__foto img { object-position: 60% 30%; opacity: .72; }
  .hero__contenido { padding-top: 30svh; }
  .hero__titulo { font-size: clamp(2.6rem, 8.6vw, 5.6rem); text-shadow: 0 4px 30px rgba(0, 0, 0, .7); }
}
@media (max-width: 560px) {
  .hero__titulo { font-size: calc((100vw - 2.6rem) / 7.4); }
  .hero__subtitulo { font-size: 1.55rem; }
  /* Ancho al contenido para que el botón flotante de WhatsApp no se encime */
  .hero__acciones { flex-direction: column; align-items: flex-start; }
  .hero__acciones .boton { width: min(100%, 15.5rem); }
}

/* ========================= 2 · CAPACIDAD ========================= */
.capacidad { overflow-x: clip; background: linear-gradient(180deg, var(--negro), #0c0d10 50%, var(--negro)); }
.capacidad__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.capacidad__figura { position: relative; }
.capacidad__figura .marco-foto { aspect-ratio: 752 / 819; }
.capacidad__figura figcaption { margin-top: 1.5rem; color: var(--texto-3); font-size: .92rem; line-height: 1.3rem; }
.esquinas { position: absolute; left: -14px; right: -14px; top: -14px; bottom: calc(2.8rem - 14px); pointer-events: none; }
.esquinas i { position: absolute; width: 34px; height: 34px; border: 0 solid var(--naranja); }
.esquinas i:nth-child(1) { left: 0; top: 0; border-left-width: 2px; border-top-width: 2px; transform-origin: 0 0; }
.esquinas i:nth-child(2) { right: 0; top: 0; border-right-width: 2px; border-top-width: 2px; transform-origin: 100% 0; }
.esquinas i:nth-child(3) { right: 0; bottom: 0; border-right-width: 2px; border-bottom-width: 2px; transform-origin: 100% 100%; }
.esquinas i:nth-child(4) { left: 0; bottom: 0; border-left-width: 2px; border-bottom-width: 2px; transform-origin: 0 100%; }
.argumentos { margin-top: clamp(1.8rem, 3vw, 2.6rem); display: grid; gap: clamp(1.1rem, 2vw, 1.7rem); }
.argumento { display: grid; grid-template-columns: 4.6rem 1px 1fr; gap: 0 clamp(1.1rem, 2.4vw, 2.2rem); align-items: center; }
.argumento__num { font-family: var(--fuente-display); color: var(--naranja); font-size: clamp(2.6rem, 2rem + 1.6vw, 3.6rem); line-height: 1; }
.argumento__divisor { align-self: stretch; background: var(--linea-fuerte); transform-origin: top; }
.argumento__titulo { font-family: var(--fuente-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.25rem, 1rem + .8vw, 1.7rem); line-height: 1.12; letter-spacing: .01em; }
.argumento p { color: var(--texto-2); margin-top: .2rem; }
.capacidad__cta { margin-top: clamp(1.8rem, 3vw, 2.4rem); }

@media (max-width: 900px) {
  .capacidad__grid { grid-template-columns: 1fr; }
  .capacidad__figura { order: 2; max-width: 560px; }
  .capacidad__figura .marco-foto { aspect-ratio: 4 / 3.4; }
  .argumento { grid-template-columns: 3.4rem 1px 1fr; }
}

/* ========================= 3 · SOLUCIONES ========================= */
.mosaico {
  display: grid; gap: clamp(.75rem, 1vw, 1rem);
  grid-template-columns: minmax(0, 47fr) minmax(0, 25fr) minmax(0, 26fr);
  grid-template-rows: minmax(250px, 1fr) minmax(250px, 1fr);
  min-height: clamp(480px, 40vw, 580px);
}
.solucion {
  position: relative; overflow: hidden; border-radius: var(--radio-s);
  background: var(--carbon); border: 1px solid var(--linea);
  display: flex; flex-direction: column; justify-content: flex-end;
  transform-style: preserve-3d; transform: perspective(1000px);
}
.solucion--principal { grid-row: 1 / 3; }
.solucion--ancha { grid-column: 2 / 4; }
.solucion__foto { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.solucion__foto picture, .solucion__foto img { width: 100%; height: 100%; }
.solucion__foto img { object-fit: cover; transform: scale(1.12); will-change: transform; transition: filter .5s var(--ease); }
.solucion__foto::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(8, 9, 11, 0) 25%, rgba(8, 9, 11, .72) 58%, rgba(8, 9, 11, .96) 100%);
}
.solucion--principal .solucion__foto::after { background: linear-gradient(180deg, rgba(8, 9, 11, 0) 45%, rgba(8, 9, 11, .8) 75%, rgba(8, 9, 11, .97) 100%); }
.solucion--ancha .solucion__foto::after { background: linear-gradient(180deg, rgba(8, 9, 11, .05) 10%, rgba(8, 9, 11, .78) 55%, rgba(8, 9, 11, .97) 100%); }
.solucion--principal .solucion__foto img { object-position: 18% 45%; }
.solucion--ancha .solucion__foto img { object-position: 50% 35%; }
.solucion:hover .solucion__foto img { filter: saturate(1.15) brightness(1.08); }
.solucion__info { display: flex; gap: clamp(.9rem, 1.6vw, 1.6rem); padding: clamp(1.1rem, 2vw, 1.8rem); align-items: flex-start; }
.solucion__num { font-family: var(--fuente-display); color: var(--naranja); font-size: clamp(2.4rem, 1.8rem + 1.6vw, 3.8rem); line-height: .9; padding-right: clamp(.9rem, 1.6vw, 1.5rem); border-right: 1px solid var(--linea-fuerte); }
.solucion__titulo { font-family: var(--fuente-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.2rem, .95rem + .85vw, 1.85rem); line-height: 1.12; letter-spacing: .01em; }
.solucion__cuerpo p { color: var(--texto-2); margin-top: .3rem; font-size: clamp(.95rem, .9rem + .2vw, 1.12rem); line-height: 1.4; }
.solucion:not(.solucion--principal):not(.solucion--ancha) .solucion__num { font-size: clamp(1.9rem, 1.4rem + 1vw, 2.6rem); padding-right: .8rem; }
.solucion:not(.solucion--principal):not(.solucion--ancha) .solucion__info { gap: .8rem; padding: 1rem 1.1rem 1.1rem; }
.solucion:not(.solucion--principal):not(.solucion--ancha) .solucion__titulo { font-size: clamp(1.05rem, .9rem + .5vw, 1.4rem); }
.solucion:not(.solucion--principal):not(.solucion--ancha) .solucion__cuerpo p { font-size: .95rem; }
.solucion:not(.solucion--principal):not(.solucion--ancha) .enlace-cotizar { margin-top: .4rem; font-size: 1rem; }

/* borde reactivo al puntero */
[data-tarjeta]::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1.5px; pointer-events: none; z-index: 2;
  background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(255, 106, 0, .95), rgba(255, 196, 0, .35) 35%, transparent 65%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude;
  opacity: 0; transition: opacity .4s var(--ease);
}
[data-tarjeta]:hover::before, [data-tarjeta]:focus-within::before { opacity: 1; }

@media (max-width: 1080px) {
  .mosaico { grid-template-columns: 1fr 1fr; grid-template-rows: auto; min-height: 0; }
  .solucion--principal { grid-row: auto; grid-column: 1 / 3; min-height: 440px; }
  .solucion--ancha { grid-column: 1 / 3; min-height: 300px; }
  .solucion { min-height: 330px; }
}
@media (max-width: 640px) {
  .mosaico { grid-template-columns: 1fr; }
  .solucion--principal, .solucion--ancha { grid-column: auto; }
  .solucion, .solucion--principal, .solucion--ancha { min-height: 0; justify-content: flex-start; }
  /* En móvil la fotografía va arriba y el texto debajo, sin superponerse */
  .solucion__foto { position: relative; z-index: 0; aspect-ratio: 16 / 10; }
  .solucion__foto::after, .solucion--principal .solucion__foto::after, .solucion--ancha .solucion__foto::after { background: linear-gradient(180deg, transparent 60%, rgba(21, 23, 26, .9)); }
  .solucion__info, .solucion:not(.solucion--principal):not(.solucion--ancha) .solucion__info { padding: 1.1rem 1.1rem 1.2rem; gap: .9rem; }
  .cierre--caja .cierre__divisor { display: none; }
  .cierre--caja .boton { margin-left: 0; width: 100%; }
}

/* ========================= 4 · PROCESO ========================= */
.proceso { overflow: clip; }
.proceso__fondo {
  position: absolute; top: 0; right: 0; width: min(60vw, 960px); height: min(62%, 640px); z-index: -1; opacity: .55; overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 45%), linear-gradient(0deg, transparent, #000 45%);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 45%);
  mask-composite: intersect;
}
.proceso__fondo picture, .proceso__fondo img { width: 100%; height: 100%; }
.proceso__fondo img { object-fit: cover; will-change: transform; transform: scale(1.1); }
.proceso__fondo::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(0deg, var(--negro) 0%, rgba(8, 9, 11, .5) 40%, transparent 75%);
}

.ruta { position: relative; margin-top: clamp(1rem, 2vw, 2rem); }
.ruta__camino {
  position: absolute; left: 0; right: 0; top: 146px; height: 44px; overflow: hidden;
  background: linear-gradient(180deg, #5b6168 0%, #9aa3ab 10%, #3a3f45 22%, #26292d 50%, #3a3f45 78%, #9aa3ab 90%, #5b6168 100%);
  box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .9);
}
.ruta__lineas {
  position: absolute; left: -64px; right: 0; top: 50%; height: 3px; margin-top: -1.5px;
  background: repeating-linear-gradient(90deg, rgba(245, 245, 242, .85) 0 30px, transparent 30px 64px);
  animation: carril 2.4s linear infinite;
}
@keyframes carril { to { transform: translateX(64px); } }
.ruta__avance {
  position: absolute; left: 0; right: 0; top: 50%; height: 4px; margin-top: -2px;
  background: linear-gradient(90deg, var(--naranja), var(--ambar));
  box-shadow: 0 0 16px rgba(255, 106, 0, .8);
  transform: scaleX(0); transform-origin: left;
}
.ruta__pasos { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 2rem); }
.paso__nodo { position: relative; height: 190px; display: flex; flex-direction: column; align-items: center; width: 140px; }
.paso__icono {
  position: relative; width: 132px; height: 132px; border-radius: 50%; display: grid; place-items: center; flex: none;
  background: radial-gradient(circle at 50% 35%, #26292d, #111316 70%);
  border: 4px solid var(--grafito); color: var(--plata);
  transition: border-color .5s var(--ease), box-shadow .5s var(--ease), color .5s var(--ease);
}
.paso__icono svg { width: 58px; height: 58px; }
.paso__tallo { width: 4px; height: 18px; background: var(--grafito); transition: background-color .5s var(--ease); }
.paso__pin { width: 22px; height: 22px; border-radius: 50%; background: var(--blanco); border: 5px solid var(--grafito); transition: border-color .5s var(--ease), box-shadow .5s var(--ease); }
.paso.activo .paso__icono { border-color: var(--naranja); color: var(--blanco); box-shadow: 0 0 0 6px rgba(255, 106, 0, .12), 0 0 40px -6px rgba(255, 106, 0, .8); }
.paso.activo .paso__tallo { background: var(--naranja); }
.paso.activo .paso__pin { border-color: var(--naranja); box-shadow: 0 0 18px rgba(255, 106, 0, .9); }
.paso__texto { display: grid; grid-template-columns: auto 1px 1fr; gap: 0 clamp(.8rem, 1.4vw, 1.3rem); margin-top: clamp(1.4rem, 2.4vw, 2.2rem); }
.paso__num { font-family: var(--fuente-display); color: var(--naranja); font-size: clamp(2.8rem, 2rem + 2.2vw, 4.6rem); line-height: .9; }
.paso__divisor { background: var(--linea-fuerte); align-self: stretch; }
.paso__titulo { font-family: var(--fuente-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.2rem, .95rem + .75vw, 1.7rem); line-height: 1.12; }
.paso__texto p { color: var(--texto-2); margin-top: .55rem; font-size: clamp(.95rem, .9rem + .2vw, 1.1rem); line-height: 1.4; }
.cierre--linea .cierre__pregunta { flex: 1 1 auto; }
@media (min-width: 1100px) {
  .cierre--linea, .cierre--plano { flex-wrap: nowrap; }
  .cierre--plano .cierre__nota { flex: 1 1 26ch; max-width: 36ch; }
  .cierre--linea .cierre__pregunta, .cierre--plano .cierre__pregunta { font-size: clamp(1.45rem, .35rem + 1.55vw, 2.4rem); white-space: nowrap; }
  .cierre--linea { gap: clamp(1rem, 1.6vw, 1.8rem); }
  .cierre--linea .cierre__pregunta { font-size: clamp(1.35rem, .3rem + 1.35vw, 2.1rem); }
  .cierre--linea .cierre__nota { flex: 1 1 22ch; max-width: 26ch; }
}

@media (max-width: 980px) {
  .ruta__camino { top: 0; bottom: 0; left: calc(var(--margen) + 33px); right: auto; width: 26px; height: auto; background: linear-gradient(90deg, #5b6168 0%, #9aa3ab 12%, #2c3035 30%, #202326 50%, #2c3035 70%, #9aa3ab 88%, #5b6168 100%); }
  .ruta__lineas { left: 50%; right: auto; top: -64px; bottom: 0; width: 2px; height: auto; margin: 0 0 0 -1px; background: repeating-linear-gradient(180deg, rgba(245, 245, 242, .8) 0 22px, transparent 22px 48px); animation-name: carril-v; }
  @keyframes carril-v { to { transform: translateY(48px); } }
  .ruta__avance { top: 0; bottom: 0; left: 50%; right: auto; width: 4px; height: auto; margin: 0 0 0 -2px; transform: scaleY(0); transform-origin: top; }
  .ruta__pasos { grid-template-columns: 1fr; gap: clamp(2rem, 6vw, 3rem); }
  .paso { display: grid; grid-template-columns: 92px 1fr; gap: 1.2rem; align-items: start; }
  .paso__nodo { width: 92px; height: auto; flex-direction: row; }
  .paso__icono { width: 92px; height: 92px; border-width: 3px; }
  .paso__icono svg { width: 42px; height: 42px; }
  .paso__tallo, .paso__pin { display: none; }
  .paso__texto { margin-top: .5rem; }
  .proceso__fondo { width: 100%; height: 420px; opacity: .45; }
}
@media (max-width: 640px) {
  .cierre--linea { flex-direction: column; align-items: flex-start; }
  .cierre--linea .cierre__divisor { display: none; }
  .cierre--linea .boton { width: 100%; }
  .paso__num { font-size: 2.6rem; }
}

/* ========================= 5 · SECTORES ========================= */
.sectores { padding-bottom: 0; overflow: clip; }
.sectores__fondo { position: absolute; top: 0; right: 0; width: min(55vw, 900px); height: 520px; z-index: -1; opacity: .8; overflow: hidden; }
.sectores__fondo picture, .sectores__fondo img { width: 100%; height: 100%; }
.sectores__fondo img { object-fit: cover; will-change: transform; transform: scale(1.1); }
.sectores__fondo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--negro) 0%, rgba(8, 9, 11, .4) 50%, rgba(8, 9, 11, .2)), linear-gradient(0deg, var(--negro) 5%, transparent 60%); }
.sectores__lista { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.8rem, 1.2vw, 1.2rem); }
.sector {
  --corte: 18px;
  position: relative; background: linear-gradient(180deg, #17191c, #111316); border: 1px solid var(--linea);
  clip-path: polygon(0 0, calc(100% - var(--corte)) 0, 100% var(--corte), 100% 100%, var(--corte) 100%, 0 calc(100% - var(--corte)));
  transform-style: preserve-3d;
}
.sector__foto { position: relative; aspect-ratio: 374 / 289; overflow: hidden; }
.sector__foto picture, .sector__foto img { width: 100%; height: 100%; }
.sector__foto img { object-fit: cover; transform: scale(1.14); will-change: transform; }
.sector__foto::after { content: ""; position: absolute; right: 0; bottom: 0; width: 28px; height: 28px; background: linear-gradient(135deg, transparent 50%, var(--naranja) 50%); opacity: .9; }
.sector__texto { padding: clamp(1.2rem, 2vw, 1.8rem) clamp(1.2rem, 2vw, 1.7rem) clamp(1.6rem, 2.5vw, 2.2rem); }
.sector__titulo { position: relative; padding-left: 1.1rem; font-family: var(--fuente-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.15rem, .85rem + .62vw, 1.6rem); line-height: 1.12; }
.sector__titulo::before { content: ""; position: absolute; left: 0; top: .08em; bottom: .08em; width: 4px; background: var(--naranja); }
.sector__texto p { color: var(--texto-2); margin-top: .7rem; padding-left: 1.1rem; font-size: clamp(.98rem, .9rem + .25vw, 1.15rem); line-height: 1.45; }

.sectores__cierre { position: relative; margin-top: clamp(2.5rem, 5vw, 4rem); border-top: 1px solid var(--linea); background: linear-gradient(180deg, #0d0e11, var(--negro)); overflow: hidden; }
.sectores__cierre-in { display: flex; align-items: center; justify-content: flex-end; gap: clamp(1rem, 3vw, 2.5rem); flex-wrap: wrap; padding-block: clamp(1.8rem, 3.5vw, 3rem); }
.sectores__cierre .cierre__pregunta { flex: 0 1 auto; text-align: right; }
.sectores__chevrons { position: absolute; left: 0; top: 0; bottom: 0; width: min(26vw, 320px); display: flex; align-items: center; gap: 0; overflow: hidden; }
.sectores__chevrons span {
  flex: none; width: 90px; height: 140%; margin-right: -38px;
  background: linear-gradient(180deg, rgba(255, 106, 0, .55), rgba(255, 106, 0, .15));
  clip-path: polygon(0 0, 45% 0, 100% 50%, 45% 100%, 0 100%, 55% 50%);
  animation: chevron 2.4s var(--ease) infinite;
}
.sectores__chevrons span:nth-child(2) { animation-delay: .2s; opacity: .7; }
.sectores__chevrons span:nth-child(3) { animation-delay: .4s; opacity: .45; }
@keyframes chevron { 0%, 100% { transform: translateX(-12px); } 50% { transform: translateX(10px); } }

@media (max-width: 1080px) {
  .sectores__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sectores__chevrons { opacity: .5; }
}
@media (max-width: 600px) {
  .sectores__lista { grid-template-columns: 1fr; }
  .sector { display: grid; grid-template-columns: 42% 1fr; align-items: center; }
  .sector__foto { aspect-ratio: auto; height: 100%; min-height: 150px; }
  .sector__texto { padding: 1rem 1.1rem 1.2rem; }
  .sector__texto p { font-size: .95rem; }
  .sectores__cierre-in { justify-content: flex-start; }
  .sectores__cierre .cierre__pregunta { text-align: left; }
  .sectores__cierre .boton { width: 100%; }
  .sectores__chevrons { display: none; }
}

/* ===================== 6 · DETALLES DE FABRICACIÓN ===================== */
.fabricacion { padding-bottom: 0; overflow-x: clip; background: radial-gradient(ellipse at 70% 10%, rgba(255, 106, 0, .09), transparent 55%), var(--negro); }
.fabricacion__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.fabricacion__izq .encabezado { margin-bottom: clamp(1.8rem, 3vw, 2.6rem); }
.detalle { position: relative; }
.detalle__foto { aspect-ratio: 613 / 290; border: 1px solid var(--linea); }
.detalle--principal .detalle__foto { aspect-ratio: 16 / 10; }
.detalle--principal .detalle__foto img { object-position: 50% 30%; }
.detalle__foto img { transform: scale(1.1); will-change: transform; }
.detalle__callout { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--naranja); pointer-events: none; }
.detalle__punto { position: absolute; left: 59%; top: 35%; width: 20px; height: 20px; margin: -10px 0 0 -10px; border-radius: 50%; background: var(--naranja); box-shadow: 0 0 0 6px rgba(255, 106, 0, .22), 0 0 18px rgba(255, 106, 0, .9); animation: latido 2.2s var(--ease) infinite; }
@keyframes latido { 0%, 100% { box-shadow: 0 0 0 4px rgba(255, 106, 0, .25), 0 0 14px rgba(255, 106, 0, .8); } 50% { box-shadow: 0 0 0 11px rgba(255, 106, 0, 0), 0 0 24px rgba(255, 106, 0, 1); } }
.detalle__texto { display: grid; grid-template-columns: auto 1px 1fr; gap: 0 clamp(1rem, 2vw, 1.8rem); margin-top: clamp(1rem, 1.6vw, 1.4rem); align-items: start; }
.detalle__num { font-family: var(--fuente-display); color: var(--naranja); font-size: clamp(1.8rem, 1.4rem + 1vw, 2.5rem); line-height: 1; }
.detalle__divisor { background: rgba(255, 106, 0, .55); align-self: stretch; }
.detalle__titulo { font-family: var(--fuente-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.25rem, 1rem + .8vw, 1.8rem); line-height: 1.12; letter-spacing: .02em; }
.detalle__texto p { color: var(--texto-2); margin-top: .35rem; }
.fabricacion__der { position: relative; display: grid; gap: clamp(1.8rem, 3vw, 2.6rem); padding-top: clamp(1rem, 6vw, 5.5rem); }
.fabricacion__trazo { position: absolute; left: -9rem; top: 0; width: 9rem; height: 5.5rem; color: var(--naranja); overflow: visible; }
.franja-cierre { margin-top: clamp(3rem, 6vw, 5rem); border-top: 1px solid var(--linea); background: #0f1013; }
.cierre--plano { padding-block: clamp(1.6rem, 3vw, 2.4rem); }
.cierre--plano .cierre__pregunta { flex: 0 1 auto; }

@media (max-width: 980px) {
  .fabricacion__grid { grid-template-columns: 1fr; }
  .fabricacion__der { padding-top: 0; grid-template-columns: 1fr 1fr; }
  .fabricacion__trazo { display: none; }
}
@media (max-width: 640px) {
  .fabricacion__der { grid-template-columns: 1fr; }
  .cierre--plano { flex-direction: column; align-items: flex-start; }
  .cierre--plano .cierre__divisor { display: none; }
  .cierre--plano .boton { width: 100%; }
}

/* ======================= 7 · COTIZACIÓN ======================= */
.cotizacion { overflow: clip; background: #0b0c0e; }
.cotizacion:focus { outline: none; }
.cotizacion__fondo { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.cotizacion__plano {
  position: absolute; inset: 0; opacity: .55;
  background-image:
    linear-gradient(rgba(184, 192, 200, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184, 192, 200, .05) 1px, transparent 1px),
    linear-gradient(rgba(184, 192, 200, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184, 192, 200, .025) 1px, transparent 1px);
  background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px;
  mask-image: linear-gradient(90deg, #000, transparent 55%);
  -webkit-mask-image: linear-gradient(90deg, #000, transparent 55%);
}
.cotizacion__textura {
  position: absolute; left: 0; bottom: 0; width: min(50vw, 820px); opacity: .55;
  mask-image: radial-gradient(ellipse 75% 85% at 35% 65%, #000 35%, transparent 72%);
  -webkit-mask-image: radial-gradient(ellipse 75% 85% at 35% 65%, #000 35%, transparent 72%);
}
.cotizacion__textura img { width: 100%; }
.cotizacion__senal { position: absolute; top: 0; right: 0; bottom: 0; width: clamp(80px, 9vw, 150px); }
.cotizacion__senal img { width: 100%; height: 100%; object-fit: cover; object-position: 0 50%; opacity: .85; }
.cotizacion__senal::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #0b0c0e, transparent 60%); }

.cotizacion__grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(2rem, 4vw, 4.5rem); align-items: center; padding-right: calc(var(--margen) + clamp(20px, 4vw, 64px)); }
.cotizacion .titulo-seccion { font-size: clamp(2.1rem, .4rem + 2.7vw, 3.8rem); }
.subtitulo-linea {
  display: flex; align-items: center; gap: 1.2rem; margin-top: clamp(2rem, 4vw, 3.4rem);
  font-family: var(--fuente-display); font-weight: 400; text-transform: uppercase; letter-spacing: .08em; font-size: clamp(1.4rem, 1.1rem + .8vw, 1.9rem);
}
.subtitulo-linea::after { content: ""; flex: 1; max-width: 17rem; height: 1px; background: var(--linea-fuerte); }
.lista-check { margin-top: 1.4rem; display: grid; gap: 1.05rem; }
.lista-check li { display: flex; align-items: center; gap: 1.2rem; color: var(--texto); font-size: clamp(1rem, .95rem + .25vw, 1.2rem); }
.lista-check__icono { width: 38px; height: 38px; border-radius: 50%; background: var(--naranja); color: var(--negro); display: grid; place-items: center; flex: none; box-shadow: 0 0 20px -4px rgba(255, 106, 0, .7); }
.lista-check__icono svg { width: 22px; height: 22px; }

.formulario-panel {
  position: relative; background: linear-gradient(180deg, rgba(24, 26, 29, .97), rgba(16, 17, 20, .97));
  border: 1px solid var(--linea-fuerte); border-radius: var(--radio-l);
  padding: clamp(1.4rem, 3vw, 2.6rem); box-shadow: var(--sombra);
}
.formulario-panel::before { content: ""; position: absolute; left: 2rem; right: 2rem; top: -1px; height: 2px; background: linear-gradient(90deg, transparent, var(--naranja), transparent); }
.formulario__titulo { font-family: var(--fuente-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.7rem, 1rem + 1.5vw, 2.6rem); line-height: 1.02; }
.formulario__ayuda { margin-top: .5rem; color: var(--texto-3); font-size: .9rem; }
.obligatorio { color: var(--naranja); }
.formulario__resumen { margin-top: 1rem; padding: .9rem 1rem; border-radius: var(--radio-s); background: rgba(255, 139, 107, .1); border: 1px solid rgba(255, 139, 107, .5); color: #ffd2c4; font-size: .95rem; }
.formulario__resumen:focus { outline: none; }
.campos { margin-top: 1.4rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 1.4rem; }
.campo { display: grid; gap: .45rem; align-content: start; min-width: 0; }
.campo--completo { grid-column: 1 / -1; }
.campo label, .campo__etiqueta { font-weight: 600; font-size: .98rem; color: var(--blanco); }
.campo input, .campo select, .campo textarea {
  width: 100%; min-height: 3.15rem; padding: .8rem 1rem; border-radius: var(--radio-s);
  background: #0e0f12; border: 1px solid #3a3f45; color: var(--blanco); font-size: 1rem;
  transition: border-color .25s var(--ease), box-shadow .25s var(--ease), background-color .25s var(--ease);
}
.campo textarea { min-height: 7rem; resize: vertical; line-height: 1.45; }
.campo input::placeholder, .campo textarea::placeholder { color: #858d95; }
.campo input:hover, .campo select:hover, .campo textarea:hover { border-color: #5a6068; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--naranja); box-shadow: 0 0 0 3px rgba(255, 106, 0, .22); background: #121317; }
.campo.con-error input, .campo.con-error select, .campo.con-error textarea, .campo.con-error .carga__zona { border-color: var(--error); }
.campo__error { color: var(--error); font-size: .88rem; line-height: 1.35; }
.campo__error:empty { display: none; }
.selector { position: relative; }
.selector select { appearance: none; -webkit-appearance: none; padding-right: 2.8rem; }
.selector select:invalid { color: #b3b9bf; }
.selector option { background: #15171a; color: var(--blanco); }
.selector svg { position: absolute; right: 1rem; top: 50%; width: 20px; height: 20px; margin-top: -10px; pointer-events: none; color: var(--plata); }
.selector.resaltado select { animation: resalto 1.4s var(--ease); }
@keyframes resalto { 0%, 60% { border-color: var(--naranja); box-shadow: 0 0 0 5px rgba(255, 106, 0, .35); } 100% { box-shadow: 0 0 0 0 rgba(255, 106, 0, 0); } }

.carga { position: relative; }
.carga__input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.carga__zona {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .4rem; text-align: center;
  min-height: 6rem; padding: 1rem; border: 1.5px dashed #4a5057; border-radius: var(--radio-s); background: rgba(14, 15, 18, .6); color: var(--texto-2);
  transition: border-color .25s var(--ease), background-color .25s var(--ease);
}
.carga__zona svg { width: 30px; height: 30px; color: var(--plata); }
.carga__accion strong { color: var(--naranja); font-weight: 600; }
.carga__limites { font-size: .82rem; color: var(--texto-3); }
.carga__input:focus-visible + .carga__zona { outline: 2px solid var(--ambar); outline-offset: 3px; }
.carga__zona:hover, .carga.arrastrando .carga__zona { border-color: var(--naranja); background: rgba(255, 106, 0, .06); }
.carga__lista { display: grid; gap: .5rem; margin-top: .6rem; }
.carga__lista li { display: flex; align-items: center; gap: .7rem; padding: .55rem .7rem; border-radius: var(--radio-s); background: #0e0f12; border: 1px solid #2f3439; font-size: .9rem; }
.carga__lista svg { width: 18px; height: 18px; color: var(--plata); flex: none; }
.carga__nombre { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.carga__peso { color: var(--texto-3); flex: none; }
.carga__quitar { flex: none; width: 36px; height: 36px; border-radius: 6px; border: 1px solid transparent; background: transparent; color: var(--plata); display: grid; place-items: center; }
.carga__quitar:hover { border-color: var(--linea-fuerte); color: var(--blanco); }

.trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.boton--envio { margin-top: 1.6rem; min-height: 3.8rem; font-size: 1.25rem; background: linear-gradient(180deg, #ff7a1a, var(--naranja)); }
.boton--envio .boton__cargando { display: none; width: 22px; height: 22px; border-radius: 50%; border: 2.5px solid rgba(8, 9, 11, .3); border-top-color: var(--negro); animation: girar .8s linear infinite; }
.boton--envio[aria-busy="true"] .boton__cargando { display: block; }
.boton--envio[aria-busy="true"] .boton__flecha { display: none; }
.boton--envio[disabled] { cursor: progress; opacity: .85; }
@keyframes girar { to { transform: rotate(360deg); } }
.formulario__estado { margin-top: 1rem; padding: 1rem 1.1rem; border-radius: var(--radio-s); font-size: .96rem; line-height: 1.45; border: 1px solid; }
.formulario__estado a { color: var(--naranja); font-weight: 600; white-space: nowrap; }
.formulario__estado[data-tipo="exito"] { background: rgba(80, 200, 120, .08); border-color: rgba(80, 200, 120, .45); color: #cfeedd; }
.formulario__estado[data-tipo="pendiente"] { background: rgba(255, 196, 0, .07); border-color: rgba(255, 196, 0, .45); color: #ffe9a8; }
.formulario__estado[data-tipo="error"] { background: rgba(255, 139, 107, .08); border-color: rgba(255, 139, 107, .5); color: #ffd2c4; }
.formulario__estado strong { display: block; color: var(--blanco); margin-bottom: .2rem; }
.formulario__nota { margin-top: 1rem; text-align: center; color: var(--texto-3); font-size: .92rem; }

@media (min-width: 1100px) {
  .cotizacion .titulo-seccion { font-size: min(3.8rem, 2.9vw); }
  .cotizacion .titulo-seccion .linea__in { white-space: nowrap; }
}
@media (max-width: 1080px) {
  .cotizacion__grid { grid-template-columns: 1fr; padding-right: var(--margen); }
  .cotizacion__senal { display: none; }
  .lista-check { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
}
@media (max-width: 620px) {
  .campos { grid-template-columns: 1fr; }
  .formulario-panel { padding: 1.3rem 1.1rem 1.5rem; border-radius: var(--radio); }
  .lista-check { grid-template-columns: 1fr; gap: .8rem; }
  .lista-check__icono { width: 32px; height: 32px; }
}

/* ========================= 8 · CLIENTES ========================= */
.clientes { overflow: clip; background: #0a0b0d; }
.clientes__fondo { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.clientes__fondo picture, .clientes__fondo img { width: 100%; height: 100%; }
.clientes__fondo img { object-fit: cover; opacity: .32; }
.clientes__fondo::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(8, 9, 11, .15), rgba(8, 9, 11, .92)); }
.clientes__luz {
  position: absolute; top: 0; bottom: 0; width: min(24vw, 360px); z-index: 1; pointer-events: none;
  mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 30%, #000 70%, transparent 100%);
}
.clientes__luz::before, .clientes__luz::after {
  content: ""; position: absolute; top: -10%; bottom: -10%; width: 3px; border-radius: 3px;
  background: linear-gradient(180deg, transparent, rgba(255, 138, 46, .95) 35%, rgba(255, 106, 0, .9) 65%, transparent);
  box-shadow: 0 0 22px 6px rgba(255, 106, 0, .45);
}
.clientes__luz--izq { left: 0; }
.clientes__luz--izq::before { left: 38%; transform: rotate(-24deg); }
.clientes__luz--izq::after { left: 70%; transform: rotate(-24deg); opacity: .55; }
.clientes__luz--der { right: 0; }
.clientes__luz--der::before { right: 38%; transform: rotate(24deg); }
.clientes__luz--der::after { right: 70%; transform: rotate(24deg); opacity: .55; }
.clientes .eyebrow { letter-spacing: .42em; }

.banda { position: relative; margin-top: clamp(1rem, 2vw, 1.5rem); }
.banda__riel {
  display: block; height: 16px; position: relative;
  background: linear-gradient(180deg, #7b838b 0%, #d2d8dd 18%, #6d747b 45%, #2d3136 80%, #55595f 100%);
  box-shadow: 0 3px 10px rgba(0, 0, 0, .6);
}
.banda__riel::after {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(circle at center, #1b1d20 0 2.5px, #9aa2aa 3px 4.5px, transparent 5px) 0 50% / 25% 100% repeat-x;
}
.banda__ventana {
  position: relative; overflow: hidden; padding-block: clamp(1.6rem, 3vw, 2.4rem);
  background: linear-gradient(180deg, #0c0d0f, #16181b 50%, #0c0d0f);
}
/* Estado base (sin JS o con movimiento reducido): lista estática y legible */
.banda__pista { display: flex; }
.banda__grupo { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; row-gap: 1rem; padding-inline: var(--margen); }
/* Estado animado: una sola línea continua */
.banda.animada .banda__ventana {
  mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent);
}
.banda.animada .banda__pista { width: max-content; will-change: transform; }
.banda.animada .banda__grupo { flex-wrap: nowrap; flex: none; padding-inline: 0; }
.banda__grupo li {
  display: flex; align-items: center; white-space: nowrap;
  font-family: var(--fuente-display); text-transform: uppercase; font-size: clamp(1.6rem, 1.2rem + 1.3vw, 2.5rem); line-height: 1; letter-spacing: .01em;
  color: #e2e6e9;
}
.banda__grupo li::after {
  content: ""; width: .42em; height: .42em; margin-inline: clamp(1.1rem, 2vw, 1.8rem); background: var(--naranja);
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); flex: none;
}
.banda__control {
  position: absolute; left: var(--margen); bottom: -3.2rem; display: inline-flex; align-items: center; gap: .5rem;
  min-height: 40px; padding: .4rem .8rem; border-radius: 999px; background: rgba(21, 23, 26, .85); border: 1px solid var(--linea); color: var(--texto-3); font-size: .82rem;
}
.banda__control svg { width: 14px; height: 14px; }
.banda__control:hover { color: var(--blanco); border-color: var(--linea-fuerte); }
.banda__icono-play { display: none; }
.banda__control[aria-pressed="true"] .banda__icono-play { display: block; }
.banda__control[aria-pressed="true"] .banda__icono-pausa { display: none; }
.banda:not(.animada) .banda__grupo li { font-size: clamp(1.2rem, 1rem + .8vw, 1.8rem); }

.clientes__cierre { margin-top: clamp(3.5rem, 6vw, 5rem); display: flex; flex-direction: column; align-items: center; gap: 1.2rem; text-align: center; }
.clientes__lema { text-transform: uppercase; letter-spacing: .38em; color: var(--texto-2); font-size: clamp(.8rem, .7rem + .4vw, 1.05rem); }

@media (max-width: 640px) {
  .banda__control { position: static; margin: 1rem auto 0; display: flex; width: max-content; }
  .clientes__luz { width: 30vw; opacity: .45; }
  .clientes .eyebrow, .clientes__lema { letter-spacing: .22em; }
}

/* ========================= 9 · CONTACTO ========================= */
.contacto { overflow: clip; padding-bottom: clamp(5rem, 10vw, 9rem); background: radial-gradient(ellipse at 30% 0%, #17191d, var(--negro) 60%); }
.contacto__fondo { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.contacto__fondo picture { position: absolute; left: 0; right: 0; bottom: 0; height: 62%; mask-image: linear-gradient(180deg, transparent 0%, #000 45%); -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 45%); }
.contacto__fondo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; opacity: .9; }
.contacto__fondo picture::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 9, 11, .5) 0%, rgba(8, 9, 11, .25) 50%, rgba(8, 9, 11, .55)); }
.contacto__estela {
  position: absolute; left: -30%; bottom: 20%; width: 30%; height: 2px; border-radius: 2px; opacity: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 150, 60, .95), transparent);
  box-shadow: 0 0 12px rgba(255, 106, 0, .9);
  animation: estela 5.5s cubic-bezier(.5, 0, .5, 1) infinite;
}
.contacto__estela--2 { bottom: 14%; animation-delay: 2.4s; animation-duration: 6.5s; }
@keyframes estela { 0% { transform: translateX(0); opacity: 0; } 10% { opacity: 1; } 70% { opacity: 1; } 100% { transform: translateX(460%); opacity: 0; } }

.contacto__grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, .8fr); gap: clamp(2rem, 3.5vw, 3.5rem); align-items: center; }
.contacto .titulo-seccion { font-size: clamp(2.3rem, .6rem + 3.3vw, 4.6rem); }
.contacto__texto [data-revelar] .boton { margin-top: clamp(1.6rem, 3vw, 2.4rem); }
.contacto__nota { margin-top: 1rem; color: var(--texto-2); font-size: .98rem; }

.letrero { position: relative; padding-right: clamp(22px, 3vw, 40px); perspective: 1200px; }
.letrero__poste {
  position: absolute; right: 0; top: -40%; bottom: -60%; width: clamp(22px, 2.6vw, 36px);
  background: linear-gradient(90deg, #4d545b, #c8cfd5 35%, #7d858c 60%, #3b4046); border-radius: 3px;
}
.letrero__poste i { position: absolute; left: -10px; right: -4px; height: 26px; background: linear-gradient(90deg, #5d646b, #d7dde2 40%, #6c737a); border-radius: 3px; }
.letrero__poste i:first-child { top: 44%; }
.letrero__poste i:last-child { top: 68%; }
.letrero__placa {
  position: relative; z-index: 1; margin-right: clamp(4px, 1vw, 12px);
  padding: clamp(1.8rem, 3.2vw, 2.8rem) clamp(1.5rem, 3vw, 2.8rem);
  border: clamp(7px, .7vw, 10px) solid transparent; border-radius: 14px;
  background:
    linear-gradient(160deg, #1b1d21, #0d0e11 70%) padding-box,
    linear-gradient(135deg, #8e969d, #e3e8ec 20%, #6f777e 40%, #c3cad0 60%, #5c6369 85%, #aab2b9) border-box;
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .95), inset 0 0 60px rgba(0, 0, 0, .6);
  transform-origin: right center;
}
.letrero__placa::after { content: ""; position: absolute; inset: 0; border-radius: 6px; background: linear-gradient(115deg, rgba(255, 255, 255, .05), transparent 40%); pointer-events: none; }
.letrero__tornillo { position: absolute; width: 12px; height: 12px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #e5e9ec, #6a7178 60%, #2a2e33); }
.letrero__tornillo:nth-child(1) { top: 12px; left: 12px; }
.letrero__tornillo:nth-child(2) { top: 12px; right: 12px; }
.letrero__tornillo:nth-child(3) { bottom: 12px; left: 12px; }
.letrero__tornillo:nth-child(4) { bottom: 12px; right: 12px; }
.letrero__titulo { font-family: var(--fuente-display); font-weight: 400; text-transform: uppercase; white-space: nowrap; font-size: clamp(1.8rem, 1.1rem + 1.5vw, 2.8rem); line-height: 1; padding-bottom: 1.1rem; border-bottom: 2px solid rgba(245, 245, 242, .75); }
.letrero__datos li { display: flex; gap: clamp(1rem, 2vw, 1.6rem); align-items: center; padding-block: clamp(1.1rem, 2vw, 1.5rem); border-bottom: 1px solid var(--linea); }
.letrero__datos li:last-child { border-bottom: 0; padding-bottom: 0; }
.letrero__icono { width: clamp(50px, 4.5vw, 62px); height: clamp(50px, 4.5vw, 62px); border-radius: 50%; border: 2.5px solid var(--naranja); color: var(--naranja); display: grid; place-items: center; flex: none; }
.letrero__icono svg { width: 48%; height: 48%; }
.letrero__etiqueta { display: block; font-family: var(--fuente-display); text-transform: uppercase; letter-spacing: .06em; color: var(--plata); font-size: 1.05rem; line-height: 1.2; }
.letrero__valor { display: inline-block; font-family: var(--fuente-display); font-size: clamp(1.6rem, 1rem + 1.2vw, 2.3rem); line-height: 1.05; letter-spacing: .02em; color: var(--blanco); white-space: nowrap; transition: color .3s var(--ease); padding-block: .1rem; }
.letrero__valor:hover, .letrero__valor:focus-visible { color: var(--naranja); }
.letrero__direccion { font-size: clamp(1rem, .9rem + .3vw, 1.2rem); line-height: 1.35; color: var(--blanco); margin-top: .2rem; }

@media (max-width: 900px) {
  .contacto__grid { grid-template-columns: 1fr; }
  .letrero { max-width: 560px; }
  .letrero__poste { top: -8%; bottom: -30%; }
  .contacto__fondo picture { height: 45%; top: 22%; bottom: auto; }
}

/* =========================== FOOTER =========================== */
.pie { background: #0f1013; border-top: 1px solid var(--linea); padding-bottom: clamp(5.5rem, 6vw, 7rem); }
.pie__barra { display: flex; align-items: center; gap: clamp(1.2rem, 3vw, 3rem); padding-block: 1.4rem; }
.pie__logo img { height: 74px; width: auto; }
.pie__divisor { width: 1px; height: 64px; background: var(--linea-fuerte); flex: none; }
.pie__divisor--der { margin-left: auto; }
.pie__nav { display: flex; flex-wrap: wrap; gap: .25rem clamp(1.2rem, 3vw, 3rem); }
.pie__nav a { color: var(--texto-2); padding-block: .6rem; min-height: 44px; display: inline-flex; align-items: center; transition: color .25s var(--ease); }
.pie__nav a:hover { color: var(--naranja); }
.pie__legal { color: var(--texto-3); font-size: .95rem; }
.pie__firma {
  border-top: 1px solid var(--linea); padding-block: 1.1rem 0; text-align: center;
  color: var(--texto-3); font-size: .88rem; line-height: 1.6;
}
.pie__firma a {
  color: var(--plata); font-weight: 600;
  text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
  transition: color .25s var(--ease);
}
.pie__firma a:hover, .pie__firma a:focus-visible { color: var(--naranja); }
.pie__firma-legal { display: inline-block; color: rgba(154, 162, 170, .75); }

@media (max-width: 860px) {
  .pie__barra { flex-wrap: wrap; justify-content: center; text-align: center; padding-block: 2rem 1.6rem; }
  .pie__firma-legal { display: block; margin-top: .3rem; }
  .pie__divisor { display: none; }
  .pie__nav { justify-content: center; width: 100%; }
  .pie__legal { width: 100%; }
}

/* ===================== WHATSAPP FLOTANTE ===================== */
.wa {
  position: fixed; right: clamp(1rem, 2.5vw, 2rem); bottom: clamp(1rem, 2.5vw, 2rem); z-index: 120;
  display: inline-flex; align-items: center; gap: .7rem;
  padding: .85rem 1.25rem .85rem 1rem; border-radius: 999px;
  background: #25D366; color: #06321d;
  font-family: var(--fuente); font-weight: 600; font-size: 1.02rem; line-height: 1;
  box-shadow: 0 14px 30px -12px rgba(37, 211, 102, .75), 0 2px 0 rgba(0, 0, 0, .35);
  transition: transform .35s var(--ease-salida), background-color .3s var(--ease), box-shadow .3s var(--ease);
}
.wa__icono { width: 28px; height: 28px; flex: none; }
.wa__halo {
  position: absolute; inset: 0; border-radius: inherit; border: 2px solid #25D366; pointer-events: none;
  animation: wa-halo 2.8s var(--ease) infinite;
}
@keyframes wa-halo { 0% { transform: scale(1); opacity: .6; } 70% { transform: scale(1.22); opacity: 0; } 100% { opacity: 0; } }
.wa:hover, .wa:focus-visible { background: #1FBF5B; transform: translateY(-2px); box-shadow: 0 18px 34px -12px rgba(37, 211, 102, .9); }
.wa:hover .wa__halo, .wa:focus-visible .wa__halo { animation-play-state: paused; opacity: 0; }
.wa:active { transform: scale(.97); }

@media (max-width: 760px) {
  /* En móvil queda compacto y se aparta cuando el formulario está en pantalla */
  .wa { padding: .8rem; gap: 0; right: .85rem; bottom: .85rem; }
  .wa__icono { width: 26px; height: 26px; }
  .wa__texto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
.wa.es-oculto { opacity: 0; transform: translateY(14px) scale(.9); pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .wa__halo { display: none; } }

/* ===================== AVISO DE PRIVACIDAD ===================== */
.formulario__privacidad { margin-top: .6rem; text-align: center; color: var(--texto-3); font-size: .92rem; }
.enlace-aviso {
  background: none; border: 0; padding: 0; color: var(--naranja); font: inherit; font-weight: 600;
  text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
  transition: color .25s var(--ease);
}
.enlace-aviso:hover { color: var(--naranja-claro); }
.enlace-aviso--pie { color: var(--texto-2); font-weight: 400; text-decoration: none; padding-block: .6rem; min-height: 44px; display: inline-flex; align-items: center; }
.enlace-aviso--pie:hover { color: var(--naranja); }

.aviso { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: clamp(1rem, 4vw, 3rem); }
.aviso__fondo { position: absolute; inset: 0; background: rgba(4, 5, 6, .82); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.aviso__panel {
  position: relative; width: min(760px, 100%); max-height: min(82vh, 780px); display: flex; flex-direction: column;
  background: linear-gradient(180deg, #17191d, #0e0f12); border: 1px solid var(--linea-fuerte);
  border-radius: var(--radio-l); box-shadow: var(--sombra); overflow: hidden;
  animation: aviso-entra .45s var(--ease-salida);
}
@keyframes aviso-entra { from { opacity: 0; transform: translateY(24px) scale(.98); } }
.aviso__barra {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: clamp(1.1rem, 2.5vw, 1.6rem) clamp(1.2rem, 3vw, 2.2rem);
  border-bottom: 1px solid var(--linea); background: rgba(8, 9, 11, .5);
}
.aviso__titulo { font-family: var(--fuente-display); font-weight: 400; text-transform: uppercase; font-size: clamp(1.4rem, 1rem + 1.2vw, 2rem); line-height: 1; }
.aviso__cerrar {
  flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
  background: transparent; border: 1px solid var(--linea-fuerte); color: var(--plata);
  transition: transform .3s var(--ease-salida), color .25s var(--ease), border-color .25s var(--ease);
}
.aviso__cerrar svg { width: 20px; height: 20px; }
.aviso__cerrar:hover { color: var(--blanco); border-color: var(--naranja); transform: rotate(90deg); }
.aviso__cuerpo {
  overflow-y: auto; padding: clamp(1.2rem, 3vw, 2.2rem); display: grid; gap: 1rem;
  color: var(--texto-2); font-size: .98rem; line-height: 1.6;
}
.aviso__cuerpo h3 {
  font-family: var(--fuente-display); font-weight: 400; text-transform: uppercase; letter-spacing: .04em;
  font-size: 1.15rem; color: var(--blanco); margin-top: .6rem;
}
.aviso__cuerpo ul { display: grid; gap: .4rem; padding-left: 1.1rem; }
.aviso__cuerpo li { list-style: disc; }
.aviso__cuerpo a { color: var(--naranja); text-decoration: underline; text-underline-offset: 3px; }
.aviso__fecha { color: var(--texto-3); font-size: .9rem; border-top: 1px solid var(--linea); padding-top: 1rem; }
body.aviso-abierto { overflow: hidden; }
