@font-face {
  font-family: "Plex";
  src: url("../fonts/IBMPlexSans-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Plex";
  src: url("../fonts/IBMPlexSans-SemiBold.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "PlexMono";
  src: url("../fonts/IBMPlexMono-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "PlexMono";
  src: url("../fonts/IBMPlexMono-Medium.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}
:root {
  --morado: #9b2e8c;
  --morado-hondo: #5c185f;
  --morado-noche: #401142;
  --morado-claro: #e1c0dc;
  --acero: #3157a7;
  --acero-hondo: #223d75;
  --acero-claro: #8ea3cf;
  --tinta: #363636;
  --tinta-media: #5a5a5a;
  --tinta-suave: #6b6b6b;
  --papel: #fcfbfd;
  --nieve: #ffffff;
  --niebla: #f5eaf4;
  --linea: #e5dae5;
  --linea-fuerte: #cebacf;
  --sobre-oscuro: #e1c0dc;
  --sobre-oscuro-tenue: #c88cc0;
  --sobre-oscuro-vivo: #f5eaf4;
  --sobre-oscuro-cita: #efdeed;
  --pie-texto: #e1c0dc;
  --pie-tenue: #c88cc0;
  --whatsapp: #1b8046;
  --whatsapp-hondo: #156b39;
  --ops-mesa: #eef0f4;
  --ops-borde: #dfe2ea;
  --ops-tenue: #5a5f73;
  --ops-lado: #363636;
  --ops-fija: #f9f2f8;
  --ops-ok: #0b6e4f;
  --ops-ok-suave: #e6f3ed;
  --ops-alerta: #8a4d08;
  --ops-alerta-suave: #fcf3e3;
  --ops-critico: #b42318;
  --ops-info-suave: #eaeef6;
  --ops-ing: rgba(5, 150, 105, .08);
  --ops-desc: rgba(220, 38, 38, .07);
  --sans: "Plex", "Segoe UI", system-ui, -apple-system, sans-serif;
  --mono: "PlexMono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --lazo: linear-gradient(90deg, var(--morado) 0%, #842777 45%, var(--acero) 100%);
  --lazo-claro: linear-gradient(90deg, var(--morado-claro) 0%, var(--acero-claro) 100%);
  --rafaga:
      linear-gradient(208deg,
        rgba(49, 87, 167, 0) 38%,
        rgba(49, 87, 167, .30) 45%,
        rgba(110, 134, 190, .19) 50%,
        rgba(110, 134, 190, 0) 59%),
      radial-gradient(116% 90% at 87% 10%,
        rgba(155, 46, 140, .82) 0%,
        rgba(205, 151, 198, .30) 30%,
        rgba(205, 151, 198, 0) 58%),
      radial-gradient(78% 68% at 5% 96%,
        rgba(110, 134, 190, .26) 0%,
        rgba(110, 134, 190, 0) 58%);
  --ancho: 1180px;
  --canal: clamp(1.25rem, 4vw, 2.5rem);
  --radio: 4px;
  --radio-g: 12px;
  --cabecera: 5rem;
  --halo: 0 1px 2px rgba(36, 16, 43, .05),
          0 22px 48px -22px rgba(155, 46, 140, .55),
          0 10px 34px -18px rgba(49, 87, 167, .38);
  --sombra: 0 1px 2px rgba(36, 16, 43, .05), 0 8px 24px -12px rgba(36, 16, 43, .18);
  --sombra-alta: 0 2px 4px rgba(36, 16, 43, .07), 0 24px 48px -20px rgba(36, 16, 43, .32);
  --sombra-honda: 0 4px 8px rgba(0, 0, 0, .2), 0 32px 64px -24px rgba(0, 0, 0, .55);
}
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: calc(var(--cabecera) + 1.25rem);
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
body {
  margin: 0;
  background: var(--papel);
  color: var(--tinta);
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.65;
  font-feature-settings: "kern" 1, "liga" 1;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img, svg { max-width: 100%; height: auto; display: block; }
h1, h2, h3, h4 {
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.022em;
  margin: 0 0 .6em;
  text-wrap: balance;
}
h1 { font-size: clamp(2.3rem, 1.05rem + 5vw, 4.75rem); line-height: 1.02; letter-spacing: -.038em; }
h2 { font-size: clamp(1.75rem, 1.1rem + 2.8vw, 3.05rem); line-height: 1.07; letter-spacing: -.03em; }
h3 { font-size: clamp(1.12rem, 1.02rem + .45vw, 1.32rem); letter-spacing: -.014em; }
h4 { font-size: 1.02rem; }
h1 em, h2 em { font-style: normal; }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  h1 em, h2 em {
    background-image: var(--lazo);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  .campo-oscuro h1 em, .campo-oscuro h2 em,
  .portada h1 em, .portada h2 em { background-image: var(--lazo-claro); }
}
p { margin: 0 0 1.1em; text-wrap: pretty; }
p:last-child { margin-bottom: 0; }
a { color: var(--morado); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--acero-hondo); }
strong { font-weight: 600; }
:focus-visible {
  outline: 3px solid var(--acero-hondo);
  outline-offset: 3px;
  border-radius: 2px;
}
.campo-oscuro :focus-visible, .portada :focus-visible, .cabecera :focus-visible, .pie :focus-visible,
.vitrina :focus-visible, .bolsa-portada :focus-visible, .bolsa-caja--empresa :focus-visible {
  outline-color: var(--acero-claro);
}
::selection { background: var(--morado-claro); color: var(--morado-hondo); }
.saltar {
  position: absolute; left: -9999px; top: 0; z-index: 200;
  background: var(--morado-hondo); color: #fff;
  padding: .85rem 1.25rem; border-radius: 0 0 var(--radio) 0;
}
.saltar:focus { left: 0; color: #fff; }
.oculto {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.zona { width: 100%; max-width: var(--ancho); margin-inline: auto; padding-inline: var(--canal); }
.zona--angosta { max-width: 800px; }
.bloque { padding-block: clamp(3.75rem, 8vw, 7.5rem); }
.bloque--ceñido { padding-block: clamp(2.75rem, 5vw, 4.5rem); }
.bloque--niebla { background: var(--niebla); }
.bloque--nieve { background: var(--nieve); }
[id] { scroll-margin-top: calc(var(--cabecera) + 1rem); }
.cabeza-seccion { max-width: 62ch; margin-bottom: clamp(2.25rem, 4vw, 3.25rem); }
.cabeza-seccion--centro { margin-inline: auto; text-align: center; }
.cabeza-seccion--centro h2 { max-width: 24ch; margin-inline: auto; }
.sep     { margin-top: 2.75rem; }
.sep-m   { margin-top: 1.75rem; }
.sep-s   { margin-top: 1.5rem; }
.sep-xs  { margin-top: 1.15rem; }
.bajo-s  { margin-bottom: 1.5rem; }
.apagado { color: var(--tinta-media); }
.centrado { text-align: center; padding-block: 3rem; }
.centrado .entradilla { margin-inline: auto; }
.centrado .botonera { justify-content: center; margin-top: 2rem; }
.rotulo {
  font-family: var(--mono);
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .155em;
  text-transform: uppercase;
  color: var(--morado);
  line-height: 1.4;
  margin: 0 0 1.1rem;
  display: flex;
  align-items: center;
  gap: .85rem;
}
.rotulo::after {
  content: "";
  flex: 1;
  height: 2px;
  max-width: 7rem;
  background: var(--lazo);
  border-radius: 2px;
}
.rotulo--claro { color: var(--morado-claro); }
.rotulo--claro::after { background: var(--lazo-claro); opacity: .55; }
.rotulo--centro { justify-content: center; }
.rotulo--centro::after { display: none; }
.entradilla {
  font-size: clamp(1.1rem, 1rem + .55vw, 1.35rem);
  line-height: 1.5;
  color: var(--tinta-media);
  max-width: 60ch;
}
.cabecera {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--morado-noche);
  background: color-mix(in srgb, var(--morado-noche) 94%, transparent);
  -webkit-backdrop-filter: saturate(160%) blur(12px);
  backdrop-filter: saturate(160%) blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}
.cabecera__fila {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: var(--cabecera);
}
.progreso { position: absolute; left: 0; bottom: -1px; height: 2px; width: 100%; transform: scaleX(0); transform-origin: 0 50%; background: var(--lazo-claro); }
.marca { display: flex; align-items: center; text-decoration: none; color: #fff; margin-right: auto; }
.marca img { width: auto; height: 3.25rem; }
@media (max-width: 480px) { .marca img { height: 2.75rem; } }
.nav__lista { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: .1rem; }
.nav__lista > li { position: relative; }
.nav__lista > li > a, .nav__boton {
  position: relative; display: inline-flex; align-items: center; gap: .4rem; min-height: 44px;
  padding: .55rem .78rem; border: 0; border-radius: var(--radio); background: none; cursor: pointer;
  font: inherit; font-size: .94rem; font-weight: 500; color: var(--sobre-oscuro);
  text-decoration: none; white-space: nowrap; transition: color .15s;
}
.nav__lista > li > a::after, .nav__boton::after {
  content: ""; position: absolute; left: .78rem; right: .78rem; bottom: .32rem; height: 2px;
  border-radius: 2px; background: var(--lazo-claro); transform: scaleX(0); transform-origin: left center;
  transition: transform .2s ease;
}
.nav__lista > li > a:hover, .nav__boton:hover,
.nav__lista > li > a[aria-current="page"], .nav__boton.es-actual { color: #fff; }
.nav__lista > li > a:hover::after, .nav__boton:hover::after,
.nav__lista > li > a[aria-current="page"]::after, .nav__boton.es-actual::after { transform: scaleX(1); }
.nav__flecha {
  width: .45rem; height: .45rem; margin-top: -.2rem; border: solid currentColor; border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg); transition: transform .2s ease;
}
.nav__boton[aria-expanded="true"] .nav__flecha { transform: rotate(-135deg); margin-top: .2rem; }
.nav__panel { display: none; }
.nav__item--desplegable.abierto > .nav__panel { display: block; animation: panel-entra .18s ease-out both; }
@keyframes panel-entra { from { opacity: 0; transform: translateY(-6px); } }
.nav__item--desplegable.callado > .nav__panel { display: none !important; }
.nav__panel-caja {
  display: grid; gap: .5rem 1rem; padding: .9rem; border-radius: 18px;
  background: var(--nieve); border: 1px solid var(--linea); box-shadow: var(--sombra-honda);
}
.nav__servicios { list-style: none; margin: 0; padding: 0; display: grid; gap: .2rem; }
.nav__servicios a {
  display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); align-items: center; gap: .8rem;
  padding: .7rem .75rem; border-radius: 12px; text-decoration: none; color: var(--tinta); transition: background .15s;
}
.nav__servicios a:hover, .nav__servicios a[aria-current="page"] { background: var(--niebla); }
.nav__ic { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 12px; background: var(--niebla); }
.nav__servicios a:hover .nav__ic, .nav__servicios a[aria-current="page"] .nav__ic { background: var(--nieve); }
.nav__ic .ico { width: 1.7rem; height: 1.7rem; }
.nav__servicios b { display: block; font-size: .95rem; font-weight: 600; color: var(--tinta); }
.nav__servicios small { display: block; margin-top: .1rem; font-size: .82rem; line-height: 1.4; color: var(--tinta-media); }
.nav__panel-pie { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin: 0; padding: .7rem .75rem .2rem; border-top: 1px solid var(--linea); }
.nav__panel-pie a { font-size: .88rem; font-weight: 600; color: var(--morado); text-decoration: none; }
.nav__panel-pie a::after { content: "\00a0\2192"; }
.nav__panel-pie a:hover { text-decoration: underline; }
.nav__promo {
  display: flex; flex-direction: column; gap: .5rem; padding: 1.1rem; border-radius: 14px;
  background: var(--morado-noche); color: var(--sobre-oscuro); font-size: .88rem; line-height: 1.5;
}
.nav__promo b { font-size: 1rem; color: #fff; }
.nav__promo a { margin-top: auto; padding-top: .4rem; font-weight: 600; color: #fff; text-decoration: none; }
.nav__promo a::after { content: "\00a0\2192"; }
.nav__promo a:hover { text-decoration: underline; }
.cabecera__acciones { display: flex; align-items: center; gap: .6rem; }
@media (min-width: 1001px) {
  .nav__item--desplegable:hover > .nav__panel { display: block; animation: panel-entra .18s ease-out both; }
  .nav__item--desplegable:hover .nav__flecha { transform: rotate(-135deg); margin-top: .2rem; }
  .nav__panel { position: absolute; top: 100%; left: -1rem; z-index: 5; width: min(44rem, calc(100vw - 4rem)); padding-top: .55rem; }
  .nav__panel-caja { grid-template-columns: minmax(0, 1fr) 13rem; }
  .nav__servicios { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav__panel-pie { grid-column: 1; }
  .nav__promo { grid-column: 2; grid-row: 1 / span 2; }
}
.cabecera .boton { min-height: 42px; padding: .5rem 1.05rem; font-size: .9rem; }
.hamburguesa {
  display: none;
  align-items: center;
  justify-content: center;
  width: 46px; height: 46px;
  margin-left: auto;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: var(--radio);
  color: #fff;
  cursor: pointer;
}
.hamburguesa span { position: relative; display: block; width: 19px; height: 1.5px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.hamburguesa span::before, .hamburguesa span::after {
  content: ""; position: absolute; left: 0; width: 19px; height: 1.5px; background: currentColor;
  transition: transform .2s ease, opacity .2s ease;
}
.hamburguesa span::before { top: -6px; }
.hamburguesa span::after  { top: 6px; }
.hamburguesa[aria-expanded="true"] span { background: transparent; }
.hamburguesa[aria-expanded="true"] span::before { transform: translateY(6px) rotate(45deg); }
.hamburguesa[aria-expanded="true"] span::after  { transform: translateY(-6px) rotate(-45deg); }
@media (max-width: 1000px) {
  .hamburguesa { display: flex; }
  .cabecera__menu {
    display: none;
    position: absolute;
    left: 0; right: 0; top: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: .2rem;
    padding: .75rem var(--canal) 1.5rem;
    background: var(--morado-noche);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    box-shadow: var(--sombra-honda);
  }
  .cabecera__menu.abierto { display: flex; }
  .nav__lista { flex-direction: column; align-items: stretch; gap: 0; }
  .nav__lista > li > a, .nav__boton {
    width: 100%; justify-content: space-between; padding: .85rem .5rem; border-radius: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12); font-size: 1rem;
  }
  .nav__lista > li > a::after, .nav__boton::after { display: none; }
  .nav__lista > li > a[aria-current="page"], .nav__boton.es-actual { color: var(--acero-claro); }
  .nav__panel { padding: .3rem 0 .6rem; }
  .nav__panel-caja { padding: .3rem; background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .1); box-shadow: none; }
  .nav__servicios a { color: #fff; }
  .nav__servicios a:hover, .nav__servicios a[aria-current="page"] { background: rgba(255, 255, 255, .08); }
  .nav__servicios b { color: #fff; }
  .nav__servicios small { color: var(--sobre-oscuro-tenue); }
  .nav__ic, .nav__servicios a:hover .nav__ic, .nav__servicios a[aria-current="page"] .nav__ic { background: rgba(255, 255, 255, .1); }
  .nav__panel-pie { border-top-color: rgba(255, 255, 255, .12); }
  .nav__panel-pie a { color: var(--acero-claro); }
  .nav__promo { display: none; }
  .cabecera__acciones { flex-direction: column; align-items: stretch; margin-top: .9rem; }
  .cabecera__menu .boton { min-height: 48px; }
}
@media (min-width: 1001px) {
  .cabecera__menu { display: flex !important; align-items: center; gap: .8rem; }
}
.boton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 48px;
  padding: .8rem 1.6rem;
  border: 1px solid transparent;
  border-radius: var(--radio);
  font: inherit;
  font-weight: 600;
  font-size: .98rem;
  letter-spacing: -.008em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.boton:hover { transform: translateY(-1px); }
.boton:active { transform: translateY(0); }
.boton--linea { background: transparent; color: var(--morado); border-color: var(--linea-fuerte); }
.boton--linea:hover { border-color: var(--morado); background: var(--nieve); color: var(--morado); }
.boton--claro { background: #fff; color: var(--morado-hondo); }
.boton--claro:hover { background: var(--morado-claro); color: var(--morado-hondo); }
.boton--fantasma { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .38); }
.boton--fantasma:hover { background: rgba(255, 255, 255, .1); color: #fff; border-color: rgba(255, 255, 255, .7); }
.botonera { display: flex; flex-wrap: wrap; gap: .75rem; }
.portada {
  position: relative;
  isolation: isolate;
  background: var(--morado-noche);
  color: var(--sobre-oscuro);
  overflow: hidden;
  overflow: clip;
  padding-block: clamp(2.75rem, 6vw, 5.5rem) clamp(3.5rem, 8vw, 7rem);
}
.portada::before {
  content: "";
  position: absolute; inset: -30% -10% auto -25%;
  height: 120%;
  background:
    radial-gradient(48% 55% at 18% 32%, rgba(155, 46, 140, .55), transparent 70%),
    radial-gradient(42% 50% at 88% 8%, rgba(49, 87, 167, .28), transparent 68%);
  z-index: -1;
  pointer-events: none;
}
.portada__rejilla > * { min-width: 0; }
.portada__rejilla { display: grid; gap: clamp(2.75rem, 5vw, 4rem); align-items: center; }
@media (min-width: 940px) { .portada__rejilla { grid-template-columns: 1.06fr .94fr; } }
.portada h1 { color: #fff; margin-bottom: .42em; }
.portada .entradilla { color: var(--sobre-oscuro); margin-bottom: 2rem; max-width: 54ch; }
.escena { position: relative; isolation: isolate; }
.escena::before {
  content: "";
  position: absolute; inset: -14% -9% -11% -7%;
  z-index: -1;
  background:
    radial-gradient(56% 50% at 74% 24%, rgba(155, 46, 140, .62), rgba(155, 46, 140, 0) 72%),
    radial-gradient(52% 46% at 24% 84%, rgba(49, 87, 167, .34), rgba(49, 87, 167, 0) 70%);
  filter: blur(34px);
  pointer-events: none;
}
.escena__cinta {
  position: absolute; z-index: -1;
  left: -52%; right: -24%; top: 6%; bottom: -18%;
  width: auto; height: auto;
  pointer-events: none;
}
@supports (mask-image: linear-gradient(#000, #000)) {
  .escena__cinta {
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, #000 34%);
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, #000 34%);
  }
}
.escena__cinta-t, .escena__cinta-f {
  fill: none; stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}
.escena__cinta-f { stroke: url(#cinta-calida) #9b2e8c; stroke-width: 74; opacity: .17; }
.escena__cinta-t { stroke: url(#cinta-fria) #223d75; stroke-width: 46; opacity: .14; }
.escena__foto {
  position: relative;
  border-radius: var(--radio-g) clamp(2.5rem, 6vw, 5rem) var(--radio-g) clamp(2.5rem, 6vw, 5rem);
  overflow: hidden;
}
@supports (mask-image: linear-gradient(#000, #000)) {
  .escena__foto {
    -webkit-mask-image: linear-gradient(to bottom,
        rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .45) 5%, #000 17%,
        #000 94%, rgba(0, 0, 0, .62) 100%);
    mask-image: linear-gradient(to bottom,
        rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .45) 5%, #000 17%,
        #000 94%, rgba(0, 0, 0, .62) 100%);
  }
}
.escena__foto img { width: 100%; height: auto; }
.escena__foto::after {
  content: "";
  position: absolute; inset: -14%;
  background: var(--rafaga);
  mix-blend-mode: screen;
  pointer-events: none;
}
.cifras-banda { background: var(--nieve); border-bottom: 1px solid var(--linea); }
.cifras {
  list-style: none; margin: 0 0 clamp(2.5rem, 5vw, 3.75rem); padding: 0;
  display: grid; gap: clamp(1.5rem, 3vw, 2rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 359px) { .cifras { grid-template-columns: 1fr; } }
@media (min-width: 760px) { .cifras { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cifra { display: flex; flex-direction: column; gap: .5rem; padding-top: 1.1rem; border-top: 2px solid transparent; border-image: var(--lazo) 1; }
.cifra__n {
  font-family: var(--mono);
  font-weight: 500;
  font-size: clamp(2.75rem, 1.2rem + 5vw, 4.5rem);
  line-height: 1.05;
  letter-spacing: -.05em;
  font-variant-numeric: tabular-nums;
  color: var(--morado);
  display: block;
  overflow: hidden;
}
.cifra__n > span { display: block; }
.cifra__n i { font-style: normal; font-size: .58em; color: inherit;
  letter-spacing: 0; vertical-align: .14em; }
.cifra__que { font-size: .93rem; line-height: 1.4; color: var(--tinta-media); }
.sectores__lista {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 1.25rem 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 439px) { .sectores__lista { grid-template-columns: 1fr; } }
@media (min-width: 760px) { .sectores__lista { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sectores__lista li { border-top: 1px solid var(--linea); padding-top: .9rem; }
.sectores__lista b { display: block; font-size: 1.05rem; letter-spacing: -.015em; margin-bottom: .2rem; }
.sectores__lista span { font-size: .92rem; color: var(--tinta-media); line-height: 1.45; }
.riesgo__titular { max-width: 44rem; margin-bottom: clamp(2.25rem, 4vw, 3.25rem); }
.riesgo__titular h2 { margin-bottom: 0; }
.riesgo__remache {
  margin-top: 1.6rem; padding-top: 1.2rem;
  border-top: 1px solid rgba(255, 255, 255, .18);
  font-size: 1.15rem; font-weight: 600; color: #fff !important;
  letter-spacing: -.015em;
}
.exigencias {
  list-style: none; margin: 0; padding: 0;
  counter-reset: papel;
}
.exigencias li {
  counter-increment: papel;
  position: relative;
  padding: 1.05rem 0 1.05rem 3.25rem;
  border-bottom: 1px solid var(--linea);
  color: var(--tinta-media);
  font-size: .99rem;
  line-height: 1.55;
}
.exigencias li:first-child { border-top: 1px solid var(--linea); }
.exigencias li::before {
  content: counter(papel, decimal-leading-zero);
  position: absolute; left: 0; top: 1.15rem;
  font-family: var(--mono); font-size: .78rem; font-weight: 500;
  letter-spacing: .06em; color: var(--acero-hondo);
}
.exigencias b { color: var(--tinta); font-weight: 600; }
.exigencias em { font-style: italic; color: var(--morado); font-weight: 600; }
.pasos { list-style: none; margin: 0; padding: 0; }
@media (min-width: 860px) {
  #proceso .duo > :first-child { position: sticky; top: calc(var(--cabecera) + 2.5rem); }
}
.equipo { margin-top: clamp(3rem, 6vw, 4.5rem); }
.equipo .rotulo { margin-bottom: 1.75rem; }
.cierre { text-align: center; }
.cierre h2 { max-width: 20ch; margin-inline: auto; }
.cierre .entradilla { margin-inline: auto; }
.cierre .botonera { justify-content: center; margin-top: 1.9rem; }
.cierre__directo {
  list-style: none; margin: clamp(2.25rem, 4vw, 3rem) 0 0; padding: 1.5rem 0 0;
  border-top: 1px solid rgba(255, 255, 255, .18);
  display: grid; gap: 1.25rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
}
.cierre__directo li { display: flex; flex-direction: column; gap: .15rem; }
.cierre__directo span {
  font-family: var(--mono); font-size: .68rem; font-weight: 500;
  letter-spacing: .15em; text-transform: uppercase; color: var(--morado-claro);
}
.cierre__directo a { color: #fff; text-decoration: none; font-size: 1rem; font-weight: 600; min-height: 44px; display: flex; align-items: center; justify-content: center; }
.cierre__directo a:hover { color: var(--acero-claro); text-decoration: underline; }
.malla { display: grid; gap: 1.15rem; }
.malla--2 { grid-template-columns: 1fr; }
@media (min-width: 700px) { .malla--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.malla--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); }
.malla--4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.malla--4:has(.retrato) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 720px) {
  .malla--4:has(.retrato) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.ficha {
  position: relative;
  display: flex; flex-direction: column;
  padding: 1.75rem 1.6rem 1.6rem;
  background: var(--nieve);
  border: 1px solid var(--linea);
  border-radius: var(--radio-g);
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.ficha::before {
  content: ""; position: absolute; inset: -1px -1px auto -1px; height: 3px;
  background: var(--lazo); border-radius: var(--radio-g) var(--radio-g) 0 0;
  opacity: 0; transition: opacity .18s ease;
}
.ficha:hover, .ficha:focus-within { transform: translateY(-3px); box-shadow: var(--sombra); border-color: var(--linea-fuerte); }
.ficha:hover::before, .ficha:focus-within::before { opacity: 1; }
.ficha h3 { margin-bottom: .45em; }
.ficha p { color: var(--tinta-media); font-size: .96rem; }
.ficha__enlace {
  margin-top: auto; padding-top: 1rem; min-height: 44px;
  display: inline-flex; align-items: flex-end;
  font-weight: 600; font-size: .93rem; text-decoration: none;
}
.ficha__enlace::after { content: " →"; }
.ficha__enlace::before { content: ""; position: absolute; inset: 0; }
.ficha__ico { display: block; margin-bottom: .95rem; }
.bloque--nieve .ficha { background: var(--papel); }
.paso {
  display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: .15rem 1.15rem;
  padding: 1.5rem 0; border-top: 1px solid var(--linea);
}
.paso:last-child { border-bottom: 1px solid var(--linea); }
.paso__ico { grid-column: 1; grid-row: 1 / span 3; }
.paso__n, .paso h3, .paso p { grid-column: 2; }
.paso__n {
  font-family: var(--mono); font-size: .8rem; font-weight: 500; letter-spacing: .06em;
  color: var(--acero-hondo);
}
.paso h3 { margin-bottom: .3em; }
.paso p { color: var(--tinta-media); font-size: .97rem; margin: 0; max-width: 62ch; }
.bloque--niebla .paso { border-color: var(--linea-fuerte); }
.campo-oscuro {
  position: relative;
  background: var(--morado-noche);
  color: var(--sobre-oscuro-vivo);
  overflow: hidden;
  overflow: clip;
}
.campo-oscuro::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: var(--lazo);
}
.campo-oscuro::after {
  content: ""; position: absolute; right: -18%; top: -35%;
  width: 65%; aspect-ratio: 1;
  background: radial-gradient(circle, rgba(49, 87, 167, .16), transparent 65%);
  pointer-events: none;
}
.campo-oscuro h2, .campo-oscuro h3 { color: #fff; }
.campo-oscuro .entradilla { color: var(--sobre-oscuro); }
.campo-oscuro p { color: var(--sobre-oscuro); }
.campo-oscuro a:not(.boton) { color: var(--acero-claro); }
.campo-oscuro .zona { position: relative; z-index: 1; }
.cita-legal {
  margin: 0;
  padding: 1.35rem 1.5rem;
  background: rgba(255, 255, 255, .05);
  border-left: 3px solid var(--acero);
  border-radius: 0 var(--radio) var(--radio) 0;
}
.cita-legal p { font-size: 1.02rem; color: var(--sobre-oscuro-cita); }
.cita-legal footer { margin-top: .7rem; font-family: var(--mono); font-size: .73rem; letter-spacing: .09em; text-transform: uppercase; color: var(--acero-claro); }
.lista-marca { list-style: none; margin: 0; padding: 0; }
.lista-marca li {
  position: relative;
  padding: .55rem 0 .55rem 1.85rem;
  border-bottom: 1px solid var(--linea);
  color: var(--tinta-media);
  font-size: .99rem;
}
.lista-marca li:last-child { border-bottom: 0; }
.lista-marca li::before {
  content: "";
  position: absolute; left: 0; top: 1.12rem;
  width: 10px; height: 2px; border-radius: 2px;
  background: var(--lazo);
}
.campo-oscuro .lista-marca li { color: var(--sobre-oscuro); border-color: rgba(255, 255, 255, .12); }
.campo-oscuro .lista-marca li::before { background: var(--lazo-claro); }
.lista-marca--densa li { padding-block: .38rem; font-size: .95rem; }
.encabezado-pagina { padding-block: clamp(2.5rem, 5vw, 4rem) clamp(2rem, 4vw, 3rem); border-bottom: 1px solid var(--linea); background: var(--nieve); }
.encabezado-pagina .entradilla { margin-top: .3rem; }
.miga { font-family: var(--mono); font-size: .73rem; letter-spacing: .07em; color: var(--tinta-suave); margin-bottom: 1.1rem; }
.miga a { color: var(--tinta-suave); text-decoration: none; padding-block: .95rem; }
.miga a:hover { color: var(--morado); text-decoration: underline; }
.panel p a { padding-block: .7rem; }
.miga span { margin-inline: .45rem; opacity: .5; }
.miga span[aria-current] { margin-inline: 0; opacity: 1; color: var(--tinta-suave); }
.duo { display: grid; gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
@media (min-width: 860px) {
  .duo { grid-template-columns: 1.25fr .75fr; }
  .duo--par { grid-template-columns: 1fr 1fr; align-items: center; }
  .duo--peso-derecha { grid-template-columns: .8fr 1.2fr; }
}
.panel {
  padding: 1.6rem 1.5rem;
  background: var(--niebla);
  border-radius: var(--radio-g);
}
.panel h3 { font-size: 1.06rem; }
.panel p { font-size: .97rem; color: var(--tinta-media); }
.panel .lista-marca li { border-color: var(--linea-fuerte); }
.foto-marco {
  border-radius: var(--radio-g) clamp(1.75rem, 4vw, 3rem) var(--radio-g) clamp(1.75rem, 4vw, 3rem);
  overflow: hidden;
  box-shadow: var(--halo);
}
.retrato { text-align: center; }
.retrato img { width: 100%; height: auto; border-radius: var(--radio-g); background: var(--niebla); }
.retrato h3, .retrato h4 { margin: .9rem 0 .1rem; font-size: 1.02rem; }
.retrato p { font-family: var(--mono); font-size: .76rem; letter-spacing: .04em; color: var(--tinta-suave); margin: 0; line-height: 1.4; }
.oficina { padding: 1.5rem; background: var(--nieve); border: 1px solid var(--linea); border-radius: var(--radio-g); }
.oficina h3 { font-size: 1.08rem; margin-bottom: .2em; }
.oficina__ciudad { font-family: var(--mono); font-size: .7rem; font-weight: 500; letter-spacing: .15em; text-transform: uppercase; color: var(--acero-hondo); display: block; margin-bottom: .55rem; }
.oficina address { font-style: normal; color: var(--tinta-media); font-size: .95rem; line-height: 1.55; }
.oficina address a { display: flex; align-items: center; min-height: 44px; }
.oficina address br { display: none; }
.oficina__mapa { display: inline-flex; align-items: center; min-height: 44px; margin-top: .35rem; font-size: .9rem; font-weight: 600; text-decoration: none; }
.oficina__mapa::after { content: "\00a0\2192"; }
.formulario { display: grid; gap: 1.1rem; }
@media (min-width: 620px) { .formulario__par { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; } }
.campo { display: flex; flex-direction: column; gap: .35rem; }
.campo label { font-size: .88rem; font-weight: 600; color: var(--tinta); }
.campo .ayuda { font-size: .8rem; color: var(--tinta-suave); font-weight: 400; }
.campo input, .campo select, .campo textarea {
  min-height: 48px;
  padding: .7rem .85rem;
  font: inherit; font-size: 1rem;
  color: var(--tinta);
  background: var(--nieve);
  border: 1px solid var(--linea-fuerte);
  border-radius: var(--radio);
  width: 100%;
}
.campo textarea { min-height: 128px; resize: vertical; line-height: 1.55; field-sizing: content; }
.campo input:hover, .campo select:hover, .campo textarea:hover { border-color: var(--tinta-suave); }
.campo input:focus, .campo select:focus, .campo textarea:focus { border-color: var(--morado); outline: 3px solid rgba(155, 46, 140, .22); outline-offset: 0; }
.campo--requerido label::after { content: " *"; color: var(--morado); }
.nota-legal { font-size: .83rem; color: var(--tinta-suave); line-height: 1.5; }
.campo-oscuro .nota-legal { color: var(--sobre-oscuro-tenue); }
.faq { border-top: 1px solid var(--linea); }
.faq details { border-bottom: 1px solid var(--linea); }
.faq summary {
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: 1.15rem 0; min-height: 48px;
  font-weight: 600; font-size: 1.05rem; cursor: pointer;
  list-style: none;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-family: var(--mono); font-size: 1.3rem; color: var(--morado); line-height: 1; }
.faq details[open] summary::after { content: "−"; }
.faq details > div { padding-bottom: 1.3rem; color: var(--tinta-media); font-size: .99rem; max-width: 68ch; }
.remate-banda { padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.remate { text-align: center; }
.remate.campo-oscuro {
  padding: clamp(2.4rem, 5vw, 3.8rem) clamp(1.3rem, 5vw, 3.5rem); border-radius: 28px;
  background: radial-gradient(120% 140% at 0% 0%, #5b1d5c 0%, var(--morado-noche) 55%);
  box-shadow: var(--sombra-honda);
}
.remate h2 { max-width: 24ch; margin-inline: auto; }
.remate .entradilla { margin-inline: auto; max-width: 54ch; }
.remate .botonera { justify-content: center; margin-top: 1.8rem; }
.pie {
  position: relative; background: var(--morado-noche); color: var(--sobre-oscuro-tenue);
  font-size: .93rem; padding-block: clamp(3rem, 6vw, 4.5rem) 1.4rem;
}
.pie::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--lazo); }
.pie a:not(.boton) { color: var(--pie-texto); text-decoration: none; }
.pie a:not(.boton):hover { color: #fff; text-decoration: underline; }
.marca-pie { display: inline-block; }
.marca-pie img { width: 168px; height: auto; }
.pie h2 { color: #fff; font-size: .75rem; font-family: var(--mono); font-weight: 500; letter-spacing: .15em; text-transform: uppercase; margin: 0 0 .9rem; }
.pie__rejilla { display: grid; gap: 2.2rem 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pie__marca, .pie__col--oficinas { grid-column: 1 / -1; }
@media (min-width: 1000px) {
  .pie__rejilla { grid-template-columns: 1.45fr 1fr 1fr 1.35fr; gap: 2.5rem; }
  .pie__marca, .pie__col--oficinas { grid-column: auto; }
}
.pie ul { list-style: none; margin: 0; padding: 0; }
.pie__col li a { display: inline-flex; align-items: center; min-height: 40px; }
.pie__nota { max-width: 34ch; margin: .9rem 0 0; font-size: .9rem; line-height: 1.6; }
.pie .pie__contacto { display: grid; gap: .6rem; margin-top: 1.3rem; }
.pie__contacto span { display: block; font-family: var(--mono); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--pie-tenue); }
.pie .pie__contacto a { font-size: 1rem; font-weight: 600; color: #fff; }
.pie__oficinas { display: grid; gap: 1rem; }
.pie__oficinas li { display: grid; gap: .15rem; }
.pie__oficinas strong { color: #fff; font-weight: 600; }
.pie .pie__tel { width: fit-content; }
.pie__cierre {
  display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.5rem; justify-content: space-between;
  margin-top: 2.75rem; padding-top: 1.3rem; border-top: 1px solid rgba(255, 255, 255, .13);
  font-size: .82rem; color: var(--pie-tenue);
}
.pie .pie__arriba { display: inline-flex; align-items: center; min-height: 40px; font-weight: 600; color: #fff; }
.pie .pie__arriba::after { content: "\00a0\2191"; }
.redes { display: flex; gap: .5rem; margin-top: 1.2rem; }
.redes a {
  display: flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  border: 1px solid rgba(255, 255, 255, .18); border-radius: var(--radio);
}
.redes a:hover { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .4); }
.redes svg { width: 18px; height: 18px; fill: currentColor; }
.flotante {
  position: fixed; right: 1rem; bottom: 1rem; z-index: 90;
  display: flex; align-items: center; gap: .5rem;
  min-height: 48px; padding: .7rem 1.1rem;
  background: var(--whatsapp); color: #fff;
  border-radius: 999px; box-shadow: 0 6px 20px -6px rgba(0, 0, 0, .45);
  font-size: .9rem; font-weight: 600; text-decoration: none;
}
.flotante:hover { background: var(--whatsapp-hondo); color: #fff; }
.flotante svg { width: 20px; height: 20px; fill: currentColor; flex: none; }
@media (max-width: 480px) { .flotante span { display: none; } .flotante { padding: .8rem; border-radius: 50%; } }
.defs-svg { position: absolute; width: 0; height: 0; overflow: hidden; }
.ico { display: block; width: 40px; height: 40px; flex: none; }
.ico__t, .ico__cinta { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.ico__t     { stroke: url(#cinta-fria) #223d75;  stroke-width: 1.9; }
.ico__cinta { stroke: url(#cinta-calida) #9b2e8c; stroke-width: 2.5; }
.escena__foto--flota { will-change: transform; }
.escena__ficha {
  position: relative; z-index: 1;
  display: flex; align-items: center; gap: .85rem;
  margin: -2.25rem -1.5rem 0 auto; width: max-content; max-width: calc(100% + 1.5rem);
  padding: .85rem 1.25rem .85rem .9rem;
  background: var(--nieve); border-radius: var(--radio-g);
  box-shadow: var(--sombra-alta);
}
.escena__ficha-ico { display: flex; flex: none; }
.escena__ficha span span, .escena__ficha > span:last-child {
  font-size: .85rem; line-height: 1.35; color: var(--tinta-media);
}
.escena__ficha b { display: block; color: var(--tinta); font-size: .95rem; letter-spacing: -.015em; }
@media (max-width: 560px) {
  .escena__ficha { margin: .9rem 0 0; max-width: 100%; }
}
.valores {
  list-style: none; margin: clamp(2.25rem, 4vw, 3rem) 0 0; padding: 0;
  display: grid; gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}
.valor {
  display: flex; align-items: center; gap: .9rem;
  padding: 1.1rem 1.2rem;
  background: var(--papel); border: 1px solid var(--linea); border-radius: var(--radio-g);
  font-size: .95rem; line-height: 1.4; color: var(--tinta);
  transition: transform .22s ease-out, box-shadow .22s ease-out, border-color .22s ease-out;
}
.valor:hover { transform: translateY(-4px); box-shadow: var(--sombra); border-color: var(--linea-fuerte); }
.banda { position: relative; isolation: isolate; overflow: hidden; display: grid; }
.banda__fondo {
  grid-area: 1 / 1;
  width: 100%; height: clamp(19rem, 34vw, 27rem);
  object-fit: cover; object-position: center 38%;
  z-index: -1;
}
.banda--corta .banda__fondo { height: clamp(13rem, 24vw, 19rem); object-position: center 72%; }
.banda::after {
  content: ""; grid-area: 1 / 1; z-index: -1;
  background: linear-gradient(100deg, rgba(36, 16, 43, .95) 0%, rgba(36, 16, 43, .84) 48%, rgba(39, 95, 136, .62) 100%);
}
.banda__dicho { grid-area: 1 / 1; align-self: center; }
.banda__lema {
  margin: 0; max-width: 22ch;
  font-size: clamp(1.6rem, 4.2vw, 2.7rem); font-weight: 600;
  line-height: 1.15; letter-spacing: -.03em; color: #fff;
}
.banda__lema em { font-style: normal; background: var(--lazo-claro); -webkit-background-clip: text; background-clip: text; color: transparent; }
.mv { display: grid; gap: 1.1rem; margin-top: 1.9rem; }
@media (min-width: 560px) { .mv { grid-template-columns: 1fr 1fr; } }
.mv__parte { padding-top: 1rem; border-top: 2px solid transparent; border-image: var(--lazo) 1; }
.mv__parte h3 {
  font-family: var(--mono); font-size: .74rem; font-weight: 500; letter-spacing: .14em;
  text-transform: uppercase; color: var(--acero-hondo); margin-bottom: .55rem;
}
.mv__parte p { font-size: .95rem; color: var(--tinta-media); margin: 0; }
.clientes { overflow: hidden; overflow: clip; }
.clientes .rotulo { margin-bottom: 1.9rem; }
.marquesina { overflow: hidden; }
@supports (mask-image: linear-gradient(90deg, #000, #000)) {
  .marquesina {
    mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  }
}
.marquesina__par { display: flex; width: max-content; }
.marquesina__tira {
  display: flex; align-items: center; gap: 1rem;
  list-style: none; margin: 0; padding: 0 .5rem;
}
.cliente {
  display: flex; align-items: center; justify-content: center;
  flex: none; width: 9.5rem; height: 5.5rem; padding: .7rem;
  background: var(--nieve); border: 1px solid var(--linea); border-radius: var(--radio-g);
}
.cliente img {
  max-width: 100%; max-height: 100%; width: auto; height: auto;
  filter: grayscale(1); opacity: .74;
  transition: filter .25s ease-out, opacity .25s ease-out;
}
.cliente:hover img { filter: grayscale(0); opacity: 1; }
.premios__duo { display: grid; gap: clamp(2rem, 4vw, 3.25rem); align-items: center; }
@media (min-width: 860px) { .premios__duo { grid-template-columns: .92fr 1.08fr; } }
.premios__duo .cabeza-seccion { margin-bottom: 0; }
.relevo {
  list-style: none; margin: 0; padding: 0;
  max-width: 32rem;
  display: grid; gap: 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 519px) { .relevo { grid-template-columns: minmax(0, 1fr); max-width: 22rem; } }
.relevo__pieza img {
  width: 100%; height: auto;
  border-radius: var(--radio-g) 2.25rem var(--radio-g) 2.25rem;
  background: var(--niebla);
  box-shadow: var(--halo);
}
.relevo__pieza p {
  margin: .9rem 0 0; padding-top: .7rem;
  border-top: 2px solid transparent; border-image: var(--lazo) 1;
  font-size: .88rem; line-height: 1.5; color: var(--tinta-media);
}
.mapa { margin: 0; padding: 1.6rem; }
.mapa__svg { width: 100%; max-width: 16rem; height: auto; margin-inline: auto; }
.mapa__base, .mapa__pulso { fill: none; stroke-linejoin: round; stroke-linecap: round; }
.mapa__base  { stroke: url(#cinta-fria) #223d75; stroke-width: 2.2; opacity: .5; }
.mapa__pulso { stroke: url(#cinta-calida) #9b2e8c; stroke-width: 4; }
.mapa__punto { fill: url(#cinta-calida) #9b2e8c; }
.mapa__ciudad {
  font-family: var(--mono); font-size: 14px; letter-spacing: .02em;
  fill: var(--tinta-media);
}
.cumple { display: grid; gap: clamp(1.8rem, 4vw, 3.5rem); align-items: center; }
@media (min-width: 900px) { .cumple { grid-template-columns: minmax(0, 1fr) minmax(0, 31rem); } }
.cumple__dicho .cabeza-seccion { margin-bottom: 1.4rem; }
.carpeta {
  margin: 0; width: 100%; max-width: 34rem; justify-self: center; padding: 1.15rem 1.25rem 1.2rem;
  background: var(--nieve); border: 1px solid var(--linea); border-radius: 20px; box-shadow: var(--sombra-alta);
}
.carpeta__cab { display: flex; align-items: center; gap: .8rem; padding-bottom: .9rem; border-bottom: 1px solid var(--linea); }
.carpeta__ic { flex: none; display: grid; place-items: center; width: 2.7rem; height: 2.7rem; border-radius: 12px; background: var(--niebla); }
.carpeta__ic .ico { width: 1.7rem; height: 1.7rem; }
.carpeta__tit { margin: 0; display: grid; min-width: 0; }
.carpeta__tit b { font-size: 1.02rem; color: var(--tinta); }
.carpeta__tit span { font-size: .84rem; color: var(--tinta-media); }
.carpeta__estado {
  margin-left: auto; flex: none; display: inline-flex; align-items: center; gap: .4rem; padding: .32rem .75rem;
  border-radius: 999px; background: var(--ops-ok-suave); color: var(--ops-ok); font-size: .8rem; font-weight: 600;
}
.carpeta__estado::before { content: ""; width: .45rem; height: .45rem; border-radius: 50%; background: currentColor; }
.carpeta__docs { list-style: none; margin: .3rem 0 0; padding: 0; }
.carpeta__doc {
  display: grid; grid-template-columns: 2.2rem minmax(0, 1fr) auto; align-items: center; gap: .75rem;
  padding: .62rem .1rem; border-bottom: 1px dashed var(--linea);
}
.carpeta__doc-ic { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 10px; background: var(--niebla); }
.carpeta__doc-ic .ico { width: 1.45rem; height: 1.45rem; }
.carpeta__doc-txt { font-size: .95rem; font-weight: 500; color: var(--tinta); }
.carpeta__ok { display: inline-flex; align-items: center; gap: .4rem; font-size: .8rem; font-weight: 600; color: var(--ops-ok); white-space: nowrap; }
.carpeta__ok i { position: relative; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: var(--ops-ok); }
.carpeta__ok i::after {
  content: ""; position: absolute; left: .4rem; top: .2rem; width: .3rem; height: .55rem;
  border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.carpeta .carpeta__pie { display: grid; gap: .45rem; margin: .9rem 0 0; font-size: .82rem; color: var(--tinta-media); }
.carpeta__avance { display: block; height: .4rem; border-radius: 999px; background: var(--niebla); overflow: hidden; }
.carpeta__avance i { display: block; height: 100%; background: linear-gradient(90deg, var(--morado), var(--acero)); transform-origin: left center; }
@media (max-width: 420px) { .carpeta__ok { font-size: 0; gap: 0; } .carpeta__ok i { font-size: .8rem; } }
.cumple-oscuro { display: grid; justify-items: center; margin-top: 2rem; }
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .carpeta { view-timeline: --carpeta block; }
    .carpeta__ok { animation: carpeta-ok cubic-bezier(.2, .8, .3, 1.2) both; animation-timeline: --carpeta; }
    .carpeta__doc:nth-child(1) .carpeta__ok { animation-range: entry 30% cover 20%; }
    .carpeta__doc:nth-child(2) .carpeta__ok { animation-range: entry 45% cover 25%; }
    .carpeta__doc:nth-child(3) .carpeta__ok { animation-range: entry 60% cover 30%; }
    .carpeta__doc:nth-child(4) .carpeta__ok { animation-range: entry 75% cover 34%; }
    .carpeta__doc:nth-child(5) .carpeta__ok { animation-range: entry 90% cover 38%; }
    .carpeta__avance i { animation: carpeta-avance linear both; animation-timeline: --carpeta; animation-range: entry 30% cover 38%; }
    .carpeta__estado { animation: carpeta-ok cubic-bezier(.2, .8, .3, 1.2) both; animation-timeline: --carpeta; animation-range: cover 36% cover 42%; }
  }
}
@keyframes carpeta-ok { from { opacity: 0; transform: scale(.6); } }
@keyframes carpeta-avance { from { transform: scaleX(0); } }
.barra-movil { display: none; }
@media (max-width: 760px) {
  .barra-movil {
    display: flex; gap: .6rem; align-items: center;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    padding: .6rem .9rem calc(.6rem + env(safe-area-inset-bottom, 0px));
    background: var(--nieve);
    border-top: 1px solid var(--linea);
    box-shadow: 0 -8px 24px rgba(64, 17, 66, .10);
  }
  .barra-movil[hidden] { display: none; }
  .barra-movil__accion {
    flex: 1 1 auto; display: grid; place-items: center; min-height: 44px;
    padding: 0 1rem; border-radius: var(--radio-g);
    background: var(--morado); color: var(--nieve);
    font-weight: 600; text-decoration: none;
  }
  .barra-movil__wa {
    flex: none; display: grid; place-items: center;
    width: 44px; height: 44px; border-radius: var(--radio-g);
    border: 1px solid var(--linea); color: var(--morado-hondo);
  }
  .barra-movil__wa svg { width: 22px; height: 22px; }
  body.con-barra-movil { padding-bottom: 4.6rem; }
  body.con-barra-movil .flotante { display: none; }
}
.ficha--lleva { cursor: pointer; transition: border-color .15s, background .15s; }
.ficha--lleva:hover, .ficha--lleva:focus-visible {
  border-color: var(--morado); background: var(--niebla);
}
.ficha__pista {
  display: inline-block; margin-top: .7rem; font-size: .82rem;
  font-weight: 600; color: var(--morado-hondo); text-decoration: none;
}
.ficha__pista:hover, .ficha--lleva:hover .ficha__pista {
  text-decoration: underline;
}
@media (pointer: coarse) {
  .ficha__pista { display: flex; align-items: center; min-height: 44px; }
}
.resaltado {
  outline: 2px solid var(--morado); outline-offset: 3px;
  border-radius: var(--radio-g);
  animation: resaltar 2.4s ease-out forwards;
}
@keyframes resaltar {
  0%, 70% { outline-color: var(--morado); }
  100% { outline-color: transparent; }
}
.embudo { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.embudo__paso { justify-self: center; width: 100%; }
.embudo__paso--2 { width: 90.5%; }
.embudo__paso--3 { width: 81%; }
.embudo__paso--4 { width: 71.5%; }
.embudo__paso--5 { width: 62%; }
@media (max-width: 760px) {
  .embudo__paso, .embudo__paso--2, .embudo__paso--3,
  .embudo__paso--4, .embudo__paso--5 { width: 100%; }
}
.embudo__caja {
  display: grid; grid-template-columns: 2.2rem minmax(0, 1fr);
  gap: .2rem .9rem; align-items: start;
  background: var(--nieve); border: 1px solid var(--linea);
  border-radius: var(--radio-g); padding: .9rem 1.1rem;
  transition: border-color .15s, box-shadow .15s;
}
.embudo__paso:hover .embudo__caja {
  border-color: var(--morado); box-shadow: 0 6px 20px rgba(64, 17, 66, .08);
}
.embudo__n {
  grid-row: 1 / 3; display: grid; place-items: center;
  width: 2.2rem; height: 2.2rem; border-radius: 999px;
  background: var(--niebla); color: var(--morado-hondo);
  font-family: var(--mono); font-size: .9rem; font-weight: 600;
}
.embudo__caja h3 { margin: 0; font-size: 1rem; }
.embudo__caja p { margin: .15rem 0 0; color: var(--tinta-suave); font-size: .92rem; }
.video {
  border-radius: var(--radio-g); overflow: hidden;
  box-shadow: var(--sombra-alta);
  background: var(--morado-noche);
}
.video__pieza { display: block; width: 100%; height: auto; }
.equipo__dicho { max-width: 60ch; margin-bottom: 1.9rem; }
.carrusel {
  overflow-x: auto; overflow-y: hidden;
  overscroll-behavior-x: contain;
  padding-bottom: .9rem;
  scrollbar-width: none;
  cursor: grab;
  touch-action: pan-x;
  user-select: none; -webkit-user-select: none;
  -webkit-user-drag: none;
}
.carrusel img { -webkit-user-drag: none; }
.carrusel::-webkit-scrollbar { display: none; }
.carrusel.arrastrando { cursor: grabbing; }
.carrusel:focus-visible { outline: 3px solid var(--acero-hondo); outline-offset: 4px; border-radius: var(--radio-g); }
.carrusel__par { display: flex; width: max-content; gap: 1.15rem; }
.tira {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-auto-flow: column;
  grid-auto-columns: 15rem;
  gap: 1.15rem;
}
.retrato { transition: transform .24s ease-out; }
.retrato img { transition: box-shadow .24s ease-out; }
.retrato:hover { transform: translateY(-4px); }
.retrato:hover img { box-shadow: var(--sombra); }
.cierre { text-align: initial; }
.cierre__cabeza { max-width: 62ch; margin-inline: auto; text-align: center; margin-bottom: clamp(2.25rem, 4vw, 3rem); }
.cierre__cabeza h2 { max-width: 22ch; margin-inline: auto; }
.cierre__cabeza .entradilla { margin-inline: auto; }
.cierre__remate { text-align: center; margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.cierre__remate .entradilla { margin-inline: auto; max-width: 46ch; }
.botonera--centro { justify-content: center; }
.campo-oscuro .oficina { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .16); }
.campo-oscuro .oficina address { color: var(--sobre-oscuro); }
.campo-oscuro .oficina__ciudad { color: var(--acero-claro); }
.foto-marco--alto img { width: 100%; height: auto; display: block; }
.foto-marco img { width: 100%; height: auto; display: block; }
@media (max-width: 859px) {
  .ficha p, .paso p, .panel p, .faq details > div,
  .lista-marca li, .lista-marca--densa li, .exigencias li, .valor,
  .oficina address, .mv__parte p, .sectores__lista span,
  .nota-legal, .pie__nota, .cifra__que { font-size: 1rem; }
}
@media (max-width: 640px) {
  .tira { grid-auto-columns: clamp(11.5rem, 72vw, 17rem); }
  .cliente { width: 8rem; height: 4.75rem; padding: .55rem; }
  .marquesina__tira { gap: .75rem; }
  .pie li { margin-bottom: .5rem; }
  .oficina__mapa { margin-top: .75rem; }
}
@keyframes surgir {
  from { opacity: 0; transform: translateY(1.75rem); }
  to   { opacity: 1; transform: none; }
}
@keyframes trepar {
  from { transform: translateY(90%); }
  to   { transform: none; }
}
@keyframes avanzar {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}
@keyframes entrar {
  from { opacity: 0; transform: translateY(1.25rem); }
  to   { opacity: 1; transform: none; }
}
@keyframes flotar {
  from { transform: translateY(.45rem); }
  to   { transform: translateY(-.45rem); }
}
@keyframes derivar {
  from { transform: translate3d(-2%, 1%, 0) scale(1); }
  to   { transform: translate3d(3%, -2%, 0) scale(1.07); }
}
@keyframes desfilar {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@keyframes ondear {
  from { transform: translate3d(-5%, 2%, 0) rotate(-1deg); }
  to   { transform: translate3d(5%, -2%, 0) rotate(1deg); }
}
@keyframes relevar-2 {
  0%, 44% { opacity: 1; }  50%, 94% { opacity: 0; }  100% { opacity: 1; }
}
@keyframes relevar-3 {
  0%, 29.33% { opacity: 1; }  33.33%, 96% { opacity: 0; }  100% { opacity: 1; }
}
@keyframes relevar-4 {
  0%, 22% { opacity: 1; }  25%, 97% { opacity: 0; }  100% { opacity: 1; }
}
@keyframes relevar-5 {
  0%, 17.6% { opacity: 1; }  20%, 97.6% { opacity: 0; }  100% { opacity: 1; }
}
@keyframes relevar-6 {
  0%, 14.67% { opacity: 1; }  16.67%, 98% { opacity: 0; }  100% { opacity: 1; }
}
@keyframes repasar {
  from { stroke-dashoffset: 1000; }
  to   { stroke-dashoffset: 0; }
}
@keyframes vaiven {
  0%   { opacity: 0; transform: translateY(1.5rem); }
  18%  { opacity: 1; transform: none; }
  82%  { opacity: 1; transform: none; }
  100% { opacity: 0; transform: translateY(-1rem); }
}
@media (prefers-reduced-motion: no-preference) {
  .entra { animation: entrar .6s cubic-bezier(.22, .8, .3, 1) both; }
  .portada__dicho > .entra:nth-child(1) { animation-delay: .06s; }
  .portada__dicho > .entra:nth-child(2) { animation-delay: .14s; }
  .portada__dicho > .entra:nth-child(3) { animation-delay: .22s; }
  .portada__dicho > .entra:nth-child(4) { animation-delay: .30s; }
  .escena.entra { animation-delay: .18s; }
  .escena__foto--flota { animation: flotar 7s ease-in-out 1.2s infinite alternate; }
  .portada::before { animation: derivar 26s ease-in-out infinite alternate; }
  .escena:hover .escena__foto--flota { animation-play-state: paused; }
  .portada:hover::before { animation-play-state: paused; }
  .escena__foto::after { animation: ondear 24s ease-in-out infinite alternate; }
  .escena:hover .escena__foto::after { animation-play-state: paused; }
  .marquesina__par { animation: desfilar 80s linear infinite; }
  .marquesina:hover .marquesina__par,
  .marquesina:focus-within .marquesina__par { animation-play-state: paused; }
  .relevo { grid-template-columns: minmax(0, 1fr); gap: 0; max-width: 32rem; }
  .relevo__pieza { grid-area: 1 / 1; }
  .relevo.relevo--2 .relevo__pieza { animation: relevar-2 10s linear infinite; }
  .relevo--2 .relevo__pieza:nth-child(2) { animation-delay: -5s; }
  .relevo.relevo--3 .relevo__pieza { animation: relevar-3 15s linear infinite; }
  .relevo--3 .relevo__pieza:nth-child(2) { animation-delay: -10s; }
  .relevo--3 .relevo__pieza:nth-child(3) { animation-delay: -5s; }
  .relevo.relevo--4 .relevo__pieza { animation: relevar-4 20s linear infinite; }
  .relevo--4 .relevo__pieza:nth-child(2) { animation-delay: -15s; }
  .relevo--4 .relevo__pieza:nth-child(3) { animation-delay: -10s; }
  .relevo--4 .relevo__pieza:nth-child(4) { animation-delay: -5s; }
  .relevo.relevo--5 .relevo__pieza { animation: relevar-5 25s linear infinite; }
  .relevo--5 .relevo__pieza:nth-child(2) { animation-delay: -20s; }
  .relevo--5 .relevo__pieza:nth-child(3) { animation-delay: -15s; }
  .relevo--5 .relevo__pieza:nth-child(4) { animation-delay: -10s; }
  .relevo--5 .relevo__pieza:nth-child(5) { animation-delay: -5s; }
  .relevo.relevo--6 .relevo__pieza { animation: relevar-6 30s linear infinite; }
  .relevo--6 .relevo__pieza:nth-child(2) { animation-delay: -25s; }
  .relevo--6 .relevo__pieza:nth-child(3) { animation-delay: -20s; }
  .relevo--6 .relevo__pieza:nth-child(4) { animation-delay: -15s; }
  .relevo--6 .relevo__pieza:nth-child(5) { animation-delay: -10s; }
  .relevo--6 .relevo__pieza:nth-child(6) { animation-delay: -5s; }
  .relevo:hover .relevo__pieza,
  .relevo:focus-within .relevo__pieza { animation-play-state: paused; }
  .mapa__pulso { stroke-dasharray: 160 840; animation: repasar 7s linear infinite; }
  .presencia:focus-within .mapa__pulso { animation-play-state: paused; }
  @supports (animation-timeline: view()) {
    .surge {
      animation: surgir linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 55%;
    }
    .cifra__n > span, .cifra__n {
      animation: trepar cubic-bezier(.22, .8, .3, 1) both;
      animation-timeline: view();
      animation-range: entry 10% entry 70%;
    }
    .escalona > * {
      animation: surgir linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 48%;
    }
    .escalona > :nth-child(2) { animation-range: entry 4%  entry 52%; }
    .escalona > :nth-child(3) { animation-range: entry 8%  entry 56%; }
    .escalona > :nth-child(4) { animation-range: entry 12% entry 60%; }
    .escalona > :nth-child(5) { animation-range: entry 16% entry 64%; }
    .escalona > :nth-child(6) { animation-range: entry 20% entry 68%; }
    .escalona > :nth-child(7) { animation-range: entry 24% entry 72%; }
    .escalona > :nth-child(n + 8) { animation-range: entry 28% entry 76%; }
    .vaiven > * {
      animation: vaiven linear both;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }
    @media (max-width: 640px) {
      .vaiven > * { animation-name: surgir; animation-range: entry 0% entry 45%; }
    }
  }
  @supports (animation-timeline: scroll()) {
    .progreso {
      animation: avanzar linear both;
      animation-timeline: scroll(root block);
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  .marquesina { mask-image: none; -webkit-mask-image: none; overflow: visible; }
  .marquesina__par { width: auto; }
  .marquesina__tira { flex-wrap: wrap; justify-content: center; }
  .marquesina__tira[aria-hidden="true"] { display: none; }
  .carrusel .tira[aria-hidden="true"] { display: none; }
  .mapa__pulso { stroke-dasharray: none; }
}
@media print {
  .cabecera, .flotante, .redes, .botonera, .progreso { display: none; }
  body { background: #fff; font-size: 11pt; }
  .portada, .campo-oscuro, .pie { background: #fff !important; color: #000 !important; }
  .portada h1, .campo-oscuro h2, .campo-oscuro p, .portada .entradilla { color: #000 !important; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; }
}
.empleo-card { display: block; background: var(--papel); border: 1px solid var(--linea);
  border-radius: 16px; padding: 1.4rem 1.5rem; text-decoration: none; color: var(--tinta);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.empleo-card:hover { transform: translateY(-2px); border-color: var(--morado-claro);
  box-shadow: 0 10px 30px rgba(58, 20, 68, .10); }
.empleo-card h3 { margin: 0 0 .2rem; font-size: 1.15rem; }
.empleo-chip { display: inline-block; font-size: .78rem; font-weight: 600;
  border: 1px solid var(--linea); border-radius: 999px; padding: .18rem .7rem;
  color: var(--tinta-media); background: #fff; }
.empleo-vacio { border: 1px dashed var(--linea); border-radius: 16px;
  padding: 2.4rem; text-align: center; color: var(--tinta-media); }
.empleo-descripcion { margin: 1.4rem 0; }
.empleo-descripcion ul { padding-left: 1.2rem; }
.empleo-postular { background: var(--papel); border: 1px solid var(--linea);
  border-radius: 16px; padding: 1.6rem 1.7rem; margin-top: 1.6rem; }
.hp-campo { position: absolute; left: -9999px; top: -9999px; height: 1px;
  width: 1px; overflow: hidden; }
.empleo-logo { width: 52px; height: 52px; object-fit: contain;
  border-radius: 12px; border: 1px solid var(--linea); background: #fff;
  padding: 5px; flex: none; }
.empleo-logo--grande { width: 76px; height: 76px; }
.empleo-chip--cat { background: var(--morado); color: #fff;
  border-color: var(--morado); }
.empleo-buscar { width: 100%; border: 1.5px solid var(--linea);
  border-radius: 12px; padding: .8rem 1.1rem; font: inherit;
  font-size: .95rem; background: #fff; color: var(--tinta); }
.empleo-buscar:focus { border-color: var(--morado);
  outline: 3px solid rgba(155, 46, 140, .18); }
.empleo-filtros { display: grid; gap: .7rem; margin-bottom: 1.6rem; }
.filtro-fila { display: flex; flex-wrap: wrap; gap: .45rem; }
.filtro-chip { border: 1px solid var(--linea); background: #fff;
  color: var(--tinta-media); border-radius: 999px; padding: .34rem .95rem;
  font: inherit; font-size: .82rem; font-weight: 600; cursor: pointer;
  transition: background-color .15s ease, color .15s ease,
    border-color .15s ease, transform .15s ease; }
.filtro-chip:hover { border-color: var(--morado-claro);
  transform: translateY(-1px); }
.filtro-chip.activo { background: var(--morado); color: #fff;
  border-color: var(--morado); }
.filtro-chip--ciudad.activo { background: var(--morado-hondo);
  border-color: var(--morado-hondo); }
.empleo-card.filtrada { display: none; }
.oculto-filtro { display: none; }
.empleo-vacio-filtro { color: var(--tinta-media); text-align: center;
  padding: 1rem; }
.empleo-descripcion h3, .empleo-descripcion h4 { color: var(--morado-hondo);
  margin: 1.3rem 0 .35rem; font-size: 1.05rem; }
.empleo-ic svg { width: 18px; height: 18px; display: block; }
.empleo-medallon { display: grid;
  place-items: center; color: #fff; background: linear-gradient(135deg, var(--morado-hondo), var(--morado)); }
.empleo-medallon { width: 64px; height: 64px; border-radius: 50%; margin: 0 auto .8rem;
  box-shadow: 0 14px 28px -12px rgba(155, 46, 140, .8); }
.empleo-medallon svg { width: 30px; height: 30px; }
.empleo-vacio h2 { font-size: 1.35rem; margin: 0 0 .4rem; }
.empleo-postular { box-shadow: 0 12px 28px -18px rgba(54, 54, 54, .35); padding-top: .4rem; }
.empleo-descripcion p { margin: .5rem 0; }
.empleo-descripcion ul, .empleo-descripcion ol { margin: .5rem 0;
  padding-left: 1.35rem; }
.empleo-descripcion li { margin: .28rem 0; }
.empleo-descripcion li::marker { color: var(--morado); }
.faq { display: grid; gap: .7rem; }
.faq__item { border: 1px solid var(--linea); border-radius: 14px;
  background: var(--papel); overflow: hidden; }
.faq__item summary { cursor: pointer; padding: 1.05rem 1.3rem;
  font-weight: 600; color: var(--tinta); list-style: none;
  position: relative; padding-right: 3rem; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: "+"; position: absolute;
  right: 1.2rem; top: 50%; transform: translateY(-50%);
  color: var(--morado); font-size: 1.3rem; font-weight: 600;
  transition: transform .18s ease; }
.faq__item[open] summary::after { content: "–"; }
.faq__item p { margin: 0; padding: 0 1.3rem 1.1rem;
  color: var(--tinta-media); line-height: 1.6; }
.portada__entradilla { color: var(--sobre-oscuro-tenue, rgba(255,255,255,.78)); max-width: 52ch; margin: 1.1rem 0 0; }
.portada__confianza {
  margin: 1.4rem 0 0; font-family: var(--mono); font-size: .78rem; letter-spacing: .04em;
  color: var(--sobre-oscuro-tenue, rgba(255,255,255,.7));
}
.portada__confianza b { color: #fff; font-weight: 600; }
.recorrido {
  --pasos: 4;
  list-style: none; margin: 0; padding: 0; position: relative;
  display: grid; gap: 1.4rem;
  grid-template-columns: repeat(var(--pasos), minmax(0, 1fr));
  view-timeline: --recorrido block;
}
.recorrido--6 { --pasos: 6; }
.recorrido::before {
  content: ""; position: absolute; top: 27px; height: 2px;
  left: calc(100% / (var(--pasos) * 2)); right: calc(100% / (var(--pasos) * 2));
  background: var(--lazo); transform-origin: left center;
}
.recorrido__paso {
  position: relative; display: grid; justify-items: center; align-content: start;
  gap: .3rem; text-align: center;
}
.recorrido__ico {
  display: grid; place-items: center; width: 56px; height: 56px;
  margin-bottom: .55rem; border-radius: 999px;
  background: var(--nieve); border: 1px solid var(--linea); box-shadow: var(--sombra);
  position: relative; z-index: 1;
  transition: transform .2s ease-out, border-color .2s;
}
.recorrido__ico .ico { width: 32px; height: 32px; }
.recorrido__paso:hover .recorrido__ico { transform: translateY(-3px); border-color: var(--morado); }
.recorrido__paso h3 { margin: 0; font-size: 1.05rem; }
.recorrido__paso p { margin: 0; max-width: 24ch; color: var(--tinta-suave); font-size: .92rem; }
@media (max-width: 1100px) {
  .recorrido--6 { grid-template-columns: 1fr; max-width: 36rem; gap: 1.1rem; }
  .recorrido--6::before {
    left: 27px; right: auto; top: 28px; bottom: 28px; width: 2px; height: auto;
    background: linear-gradient(var(--morado), var(--acero)); transform-origin: center top;
  }
  .recorrido--6 .recorrido__paso {
    grid-template-columns: 56px minmax(0, 1fr); justify-items: start; text-align: left;
    column-gap: 1rem; row-gap: .1rem;
  }
  .recorrido--6 .recorrido__ico { grid-row: 1 / 3; margin: 0; }
  .recorrido--6 .recorrido__paso h3 { align-self: end; }
  .recorrido--6 .recorrido__paso p { max-width: none; }
}
@media (max-width: 760px) {
  .recorrido { grid-template-columns: 1fr; gap: 1.1rem; }
  .recorrido::before {
    left: 27px; right: auto; top: 28px; bottom: 28px; width: 2px; height: auto;
    background: linear-gradient(var(--morado), var(--acero)); transform-origin: center top;
  }
  .recorrido__paso {
    grid-template-columns: 56px minmax(0, 1fr); justify-items: start; text-align: left;
    column-gap: 1rem; row-gap: .1rem;
  }
  .recorrido__ico { grid-row: 1 / 3; margin: 0; }
  .recorrido__paso h3 { align-self: end; }
  .recorrido__paso p { max-width: none; }
}
.mosaico {
  list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}
.mosaico--tres { grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
.mosaico__item {
  display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: .9rem; align-items: start;
  padding: 1rem 1.1rem; background: var(--nieve);
  border: 1px solid var(--linea); border-radius: var(--radio-g);
  transition: border-color .15s, transform .2s ease-out, box-shadow .2s;
}
.mosaico__item:hover { border-color: var(--morado); transform: translateY(-2px); box-shadow: var(--sombra); }
.mosaico__item h3 { margin: .1rem 0 .15rem; font-size: 1rem; }
.mosaico__item p { margin: 0; color: var(--tinta-suave); font-size: .92rem; }
.bloque--nieve .mosaico__item { background: var(--papel); }
.lista__tit, .avisos__tit {
  margin: 0 0 .6rem; font-family: var(--mono); font-size: .72rem;
  letter-spacing: .12em; text-transform: uppercase; color: var(--morado-hondo);
}
.encabezado-venta {
  background:
    radial-gradient(60rem 28rem at 88% -10%, var(--niebla), transparent 70%),
    var(--nieve);
}
.venta {
  display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 3.5rem); align-items: center;
}
@media (max-width: 980px) { .venta { grid-template-columns: 1fr; } }
@media (max-width: 560px) {
  .venta__dicho .botonera .boton { flex: 1 1 100%; }
}
.venta__sello {
  display: inline-flex; align-items: center; gap: .5rem; margin: .4rem 0 1rem;
  padding: .35rem .85rem; border-radius: 999px;
  background: var(--niebla); border: 1px solid var(--morado-claro);
  font-size: .8rem; font-weight: 600; letter-spacing: .02em; color: var(--morado-hondo);
}
.venta__sello::before {
  content: ""; width: .5rem; height: .5rem; border-radius: 999px; background: var(--morado);
}
.venta__dicho .entradilla b { color: var(--tinta); font-weight: 600; }
.venta__dicho .botonera { margin-top: 1.6rem; }
.venta__nota {
  position: relative; margin: .9rem 0 0; padding-left: 1.5rem;
  font-size: .88rem; color: var(--tinta-suave);
}
.venta__nota::before {
  content: ""; position: absolute; left: 0; top: .1em;
  width: 1rem; height: 1rem; border-radius: 999px; border: 1.5px solid var(--morado-claro);
}
.venta__nota::after {
  content: ""; position: absolute; left: .36rem; top: calc(.1em + .2rem);
  width: .26rem; height: .48rem;
  border: solid var(--morado); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.venta__cifras {
  list-style: none; margin: 1.8rem 0 0; padding: 1.3rem 0 0;
  border-top: 1px solid var(--linea);
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem;
}
.venta__cifras b {
  display: block; font-family: var(--mono); font-weight: 500;
  font-size: clamp(1.6rem, 1rem + 1.6vw, 2.2rem); line-height: 1.1;
  letter-spacing: -.03em; color: var(--morado);
}
.venta__cifras span {
  display: block; margin-top: .25rem; font-family: var(--mono); font-size: .7rem;
  letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-suave);
}
.respaldo {
  background: var(--nieve); border: 1px solid var(--linea);
  border-radius: calc(var(--radio-g) * 1.6); box-shadow: var(--sombra-alta);
  padding: 1.6rem 1.6rem 1.5rem;
}
.respaldo__cabeza {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem;
  padding-bottom: 1.1rem; border-bottom: 1px solid var(--linea);
}
.respaldo__rotulo {
  margin: 0; font-family: var(--mono); font-size: .72rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--morado);
}
.respaldo__tit { margin: .25rem 0 0; font-size: 1.2rem; font-weight: 600; color: var(--tinta); letter-spacing: -.015em; }
.respaldo__estado {
  flex: none; display: inline-flex; align-items: center; gap: .4rem;
  padding: .3rem .75rem; border-radius: 999px; border: 1px solid var(--morado-claro);
  background: var(--niebla); color: var(--morado-hondo); font-size: .8rem; font-weight: 600;
}
.respaldo__estado::before {
  content: ""; width: .45rem; height: .45rem; border-radius: 999px; background: var(--morado);
}
.respaldo__lista { list-style: none; margin: 1.1rem 0 0; padding: 0; display: grid; gap: 1rem; }
.respaldo__lista li {
  position: relative; display: grid; gap: .15rem; padding-left: 3rem; min-height: 2.2rem;
}
.respaldo__lista li::before {
  content: ""; position: absolute; left: 0; top: 0;
  width: 2.1rem; height: 2.1rem; border-radius: var(--radio); background: var(--niebla);
}
.respaldo__lista li::after {
  content: ""; position: absolute; left: .83rem; top: .52rem;
  width: .38rem; height: .72rem;
  border: solid var(--morado); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.respaldo__lista b { font-weight: 600; color: var(--tinta); }
.respaldo__lista span { font-size: .88rem; color: var(--tinta-suave); }
.respaldo__remate {
  margin-top: 1.4rem; padding: 1.3rem 1.3rem 1.2rem; border-radius: var(--radio-g);
  background: linear-gradient(135deg, var(--morado-noche), var(--morado-hondo));
  text-align: center; color: var(--sobre-oscuro);
}
.respaldo__remate p { margin: 0; font-size: .9rem; }
.respaldo__remate b { display: block; margin: .2rem 0 .9rem; font-size: 1.02rem; color: var(--nieve); }
.respaldo__remate .boton { width: 100%; justify-content: center; }
.carpeta-mes__cabeza small {
  display: block; margin-top: .2rem; font-size: .85rem; font-weight: 400; color: var(--tinta-suave);
}
.factura__linea:not(:first-child) > summary b::before,
.factura__total span::before {
  display: inline-block; width: 1.1rem; margin-left: -1.1rem;
  font-family: var(--mono); font-weight: 500; color: var(--morado);
}
.factura__linea:not(:first-child) > summary b::before { content: "+"; }
.factura__total span::before { content: "="; }
.factura__lineas, .factura__total { padding-left: 1.1rem; }
.factura__linea > summary::after {
  width: .5rem; height: .5rem; top: .45rem; right: .2rem; background: none;
  border: solid var(--morado); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.factura__linea[open] > summary::after { transform: rotate(225deg); top: .7rem; }
.vistos {
  list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
}
.vistos--dos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vistos--una { grid-template-columns: 1fr; }
.vistos li {
  position: relative; padding-left: 1.75rem;
  color: var(--tinta); font-size: .95rem; line-height: 1.4;
}
.vistos li::before {
  content: ""; position: absolute; left: 0; top: .12em;
  width: 1.15rem; height: 1.15rem; border-radius: 999px;
  border: 1.5px solid var(--morado-claro);
}
.vistos li::after {
  content: ""; position: absolute; left: .42rem; top: calc(.12em + .24rem);
  width: .3rem; height: .55rem;
  border: solid var(--morado); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.lista__tit, .avisos__tit {
  margin: 0 0 .75rem; font-family: var(--mono); font-size: .72rem;
  letter-spacing: .12em; text-transform: uppercase; color: var(--morado-hondo);
}
.panel .vistos { margin-top: .9rem; }
.carpeta-mes {
  margin-top: 2.6rem; display: grid;
  grid-template-columns: minmax(0, 14rem) minmax(0, 1fr);
  gap: 1.1rem 2rem; align-items: center;
  padding: 1.35rem 1.6rem; background: var(--nieve);
  border: 1px solid var(--linea); border-radius: var(--radio-g); box-shadow: var(--sombra);
}
.carpeta-mes__cabeza { display: flex; align-items: center; gap: .8rem; }
.carpeta-mes__cabeza p { margin: 0; font-weight: 600; color: var(--tinta); line-height: 1.3; }
.carpeta-mes .vistos { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12.5rem), 1fr)); }
@media (max-width: 860px) { .carpeta-mes { grid-template-columns: 1fr; } }
.carpeta-mes .vistos--dos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 560px) { .carpeta-mes .vistos--dos { grid-template-columns: 1fr; } }
.tambien { margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--linea); }
.sintomas { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.sintoma {
  position: relative; display: grid; gap: .2rem;
  padding: .95rem 1.15rem .95rem 3.1rem;
  background: var(--nieve); border: 1px solid var(--linea); border-radius: var(--radio-g);
}
.sintoma b { font-weight: 600; color: var(--tinta); }
.sintoma span { color: var(--tinta-suave); font-size: .92rem; }
.sintomas--visto .sintoma::before {
  content: ""; position: absolute; left: 1rem; top: 1rem;
  width: 1.4rem; height: 1.4rem; border-radius: 999px; background: var(--niebla);
}
.sintomas--visto .sintoma::after {
  content: ""; position: absolute; left: calc(1rem + .5rem); top: calc(1rem + .3rem);
  width: .38rem; height: .66rem;
  border: solid var(--morado); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.sintomas--fila { grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); }
.sintomas--evita .sintoma::before {
  content: "\00D7"; position: absolute; left: 1rem; top: .9rem;
  display: grid; place-items: center; width: 1.4rem; height: 1.4rem;
  border-radius: 999px; background: var(--niebla);
  color: var(--morado); font-weight: 600; line-height: 1;
}
.frentes {
  display: grid; gap: 1.15rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}
.frente {
  display: flex; flex-direction: column; gap: .7rem;
  padding: 1.3rem 1.35rem 1.2rem; background: var(--nieve);
  border: 1px solid var(--linea); border-radius: var(--radio-g); box-shadow: var(--sombra);
  view-timeline: --frente block;
}
.frente h3 { margin: .2rem 0 0; font-size: 1.12rem; }
.frente > p { margin: 0; color: var(--tinta-suave); }
.frente .vistos { padding-top: .2rem; }
.frente .vistos li { font-size: .92rem; }
.frente__ir {
  display: inline-flex; align-items: center; min-height: 44px; align-self: flex-start;
  margin-top: auto; font-weight: 600; color: var(--morado-hondo); text-decoration: none;
}
.frente__ir::after { content: " \2193"; white-space: pre; }
.frente__ir:hover { text-decoration: underline; }
.frente__svg {
  display: block; width: 100%; height: auto; max-height: 8rem;
  padding: .6rem .4rem .2rem; border-radius: var(--radio); background: var(--niebla);
}
.frente__svg path, .frente__svg circle, .frente__svg rect { stroke-linecap: round; stroke-linejoin: round; }
.fr-suelo { fill: none; stroke: var(--linea-fuerte); stroke-width: 2; }
.fr-persona circle, .fr-persona path { fill: none; stroke: var(--acero-claro); stroke-width: 3; }
.fr-elegida circle, .fr-elegida path { stroke: var(--morado); }
.fr-lupa circle { fill: none; stroke: var(--acero-hondo); stroke-width: 4; }
.fr-lupa path { fill: none; stroke: var(--acero-hondo); stroke-width: 6; }
.fr-barra { fill: var(--acero-claro); opacity: .55; }
.fr-barra--top { fill: url(#cinta-calida) #9b2e8c; opacity: 1; }
.fr-trazo { fill: none; stroke: var(--acero-hondo); stroke-width: 2.5; }
.fr-punto { fill: var(--morado); }
.fr-nodo { fill: var(--nieve); stroke: var(--acero-claro); stroke-width: 2.5; }
.fr-nodo--top { fill: url(#cinta-calida) #9b2e8c; stroke: none; }
.fr-renglon { fill: none; stroke: var(--linea-fuerte); stroke-width: 3; }
.avisos__tit { margin-top: 1.5rem; }
.avisos { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.aviso {
  display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); gap: .75rem; align-items: center;
  padding: .7rem .9rem; background: var(--nieve);
  border: 1px solid var(--linea); border-left: 3px solid var(--morado);
  border-radius: var(--radio-g); box-shadow: var(--sombra);
}
.aviso__ico {
  display: grid; place-items: center; width: 2.2rem; height: 2.2rem;
  border-radius: 999px; background: var(--niebla);
}
.aviso__ico svg {
  width: 18px; height: 18px; fill: none;
  stroke: var(--morado-hondo); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}
.aviso b { display: block; font-size: .95rem; color: var(--tinta); }
.aviso b + span { font-size: .86rem; color: var(--tinta-suave); }
.sistema__nota { margin: 1.6rem 0 0; color: var(--tinta-media); font-size: .95rem; }
.sistema__nota a { color: var(--morado-hondo); font-weight: 600; }
.mosaico--dos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 560px) { .mosaico--dos { grid-template-columns: 1fr; } }
.duo .foto-marco + .lista__tit { margin-top: 1.5rem; }
.bloque--niebla .panel { background: var(--nieve); border: 1px solid var(--linea); }
@keyframes fr-lupa { from { transform: translateX(-96px); } to { transform: none; } }
@keyframes fr-elegir { from { stroke: var(--acero-claro); } to { stroke: var(--morado); } }
@keyframes crecer-y { from { transform: scaleY(0); } to { transform: none; } }
@keyframes deslizar {
  from { opacity: 0; transform: translateX(-1.5rem); }
  to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .recorrido::before {
      animation: avanzar linear both;
      animation-timeline: --recorrido;
      animation-range: entry 30% cover 55%;
    }
    @media (max-width: 1100px) {
      .recorrido--6::before { animation-name: crecer-y; }
    }
    @media (max-width: 760px) {
      .recorrido::before { animation-name: crecer-y; }
    }
    .reparto__rama {
      stroke-dasharray: 1000;
      animation: repasar linear both;
      animation-timeline: --reparto; animation-range: entry 0% cover 34%;
    }
    .reparto__rama--fee { animation-range: entry 20% cover 38%; }
    .reparto__destino {
      animation: deslizar linear both;
      animation-timeline: --reparto; animation-range: entry 60% cover 40%;
    }
    .reparto__destino--fee { animation-range: entry 80% cover 44%; }
    .cobro__incluye { view-timeline: --incluye block; }
    .cobro__check { animation: cobro-check cubic-bezier(.2, .8, .3, 1.3) both; animation-timeline: --incluye; }
    .cobro__incluye li:nth-child(1) .cobro__check { animation-range: entry 40% cover 22%; }
    .cobro__incluye li:nth-child(2) .cobro__check { animation-range: entry 55% cover 28%; }
    .cobro__incluye li:nth-child(3) .cobro__check { animation-range: entry 70% cover 34%; }
    .cobro__incluye li:nth-child(4) .cobro__check { animation-range: entry 85% cover 40%; }
    .fr-lupa {
      animation: fr-lupa cubic-bezier(.3, .7, .3, 1) both;
      animation-timeline: --frente; animation-range: entry 20% cover 38%;
    }
    .fr-elegida circle, .fr-elegida path {
      animation: fr-elegir linear both;
      animation-timeline: --frente; animation-range: cover 32% cover 40%;
    }
    .fr-barra {
      transform-box: fill-box; transform-origin: center bottom;
      animation: crecer-y cubic-bezier(.22, .8, .3, 1) both;
      animation-timeline: --frente; animation-range: entry 30% cover 34%;
    }
    .fr-barra:nth-of-type(2) { animation-range: entry 35% cover 37%; }
    .fr-barra:nth-of-type(3) { animation-range: entry 40% cover 40%; }
    .fr-barra:nth-of-type(4) { animation-range: entry 45% cover 42%; }
    .fr-trazo {
      stroke-dasharray: 1000;
      animation: repasar linear both;
      animation-timeline: --frente; animation-range: entry 30% cover 42%;
    }
    .traza__caso { animation: entrar .35s cubic-bezier(.22, .8, .3, 1) both; }
    .aviso {
      animation: deslizar linear both;
      animation-timeline: view(); animation-range: entry 0% entry 70%;
    }
    .aviso:nth-child(2) { animation-range: entry 10% entry 80%; }
    .aviso:nth-child(3) { animation-range: entry 20% entry 90%; }
  }
}
@keyframes latir {
  0%, 100% { box-shadow: 0 0 0 0 rgba(155, 46, 140, .45); }
  60%      { box-shadow: 0 0 0 .4rem rgba(155, 46, 140, 0); }
}
@media (prefers-reduced-motion: no-preference) {
  .venta .respaldo.entra { animation-delay: .15s; }
  .respaldo__estado::before { animation: latir 2.4s ease-out infinite; }
  .respaldo:hover .respaldo__estado::before { animation-play-state: paused; }
}
:root {
  --boton-degrade: linear-gradient(115deg, #b13aa1 0%, var(--morado) 34%, #7a2c93 68%, var(--acero) 100%);
  --boton-sombra: inset 0 1px 0 rgba(255, 255, 255, .22), 0 8px 18px -8px rgba(155, 46, 140, .65);
  --boton-sombra-alta: inset 0 1px 0 rgba(255, 255, 255, .26), 0 14px 26px -10px rgba(92, 24, 95, .7);
  --boton-degrade-empleo: linear-gradient(115deg, #4a78cc 0%, var(--acero) 34%, #2a4f93 68%, var(--morado) 100%);
  --boton-sombra-empleo: inset 0 1px 0 rgba(255, 255, 255, .22), 0 8px 18px -8px rgba(49, 87, 167, .65);
  --boton-sombra-empleo-alta: inset 0 1px 0 rgba(255, 255, 255, .26), 0 14px 26px -10px rgba(34, 61, 117, .7);
}
.boton--empleo {
  background-color: var(--acero); background-image: var(--boton-degrade-empleo);
  background-size: 190% 100%; background-position: 0% 50%;
  color: #fff; box-shadow: var(--boton-sombra-empleo);
  transition: background-position .5s ease, box-shadow .25s ease, transform .18s ease, color .18s ease;
}
.boton--empleo:hover, .boton--empleo:focus-visible { background-position: 100% 50%; color: #fff; box-shadow: var(--boton-sombra-empleo-alta); }
.boton--empleo[aria-current="page"] { box-shadow: var(--boton-sombra-empleo-alta), 0 0 0 2px rgba(255, 255, 255, .55); }
.boton--accion, .boton--lleno, .barra-movil__accion {
  background-color: var(--morado);
  background-image: var(--boton-degrade);
  background-size: 190% 100%; background-position: 0% 50%;
  color: #fff; box-shadow: var(--boton-sombra);
  transition: background-position .5s ease, box-shadow .25s ease, transform .18s ease, color .18s ease;
}
.boton--accion:hover, .boton--lleno:hover, .barra-movil__accion:hover,
.boton--accion:focus-visible, .boton--lleno:focus-visible {
  background-position: 100% 50%; color: #fff; box-shadow: var(--boton-sombra-alta);
}
.boton--accion::after, .boton--lleno::after, .boton--empleo::after {
  content: "\2192"; display: inline-block; transition: transform .2s ease;
}
.boton--accion:hover::after, .boton--lleno:hover::after, .boton--empleo:hover::after,
.boton--accion:focus-visible::after, .boton--lleno:focus-visible::after, .boton--empleo:focus-visible::after { transform: translateX(3px); }
.boton--accion, .barra-movil__accion, .boton--empleo { position: relative; overflow: hidden; isolation: isolate; }
.boton--accion::before, .barra-movil__accion::before, .boton--empleo::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, .42) 50%, transparent 70%);
  transform: translateX(-130%);
}
@keyframes brillo {
  0%        { transform: translateX(-130%); }
  22%, 100% { transform: translateX(130%); }
}
@keyframes empujar {
  0%, 55%, 100% { transform: none; }
  65%           { transform: translateX(4px); }
  75%           { transform: none; }
  85%           { transform: translateX(3px); }
}
@media (prefers-reduced-motion: no-preference) {
  .boton--accion::before, .barra-movil__accion::before {
    animation: brillo 4s ease-in-out .8s infinite;
  }
  .cabecera .boton--accion::before { animation-delay: 2.8s; }
  .boton--empleo::before { animation: brillo 4s ease-in-out 1.6s infinite; }
  .boton--empleo::after { animation: empujar 4s ease-in-out 1.6s infinite; }
  .boton--empleo:hover::before, .boton--empleo:focus-visible::before,
  .boton--empleo:hover::after, .boton--empleo:focus-visible::after { animation: none; }
  .boton--empleo:hover::before, .boton--empleo:focus-within::before,
  .boton--empleo:hover::after, .boton--empleo:focus-within::after { animation-play-state: paused; }
  .boton--accion::after { animation: empujar 4s ease-in-out .8s infinite; }
  .cabecera .boton--accion::after { animation-delay: 2.8s; }
  .boton--accion:hover::before, .boton--accion:focus-visible::before,
  .barra-movil__accion:hover::before, .barra-movil__accion:focus-visible::before {
    animation-play-state: paused;
  }
  .boton--accion:hover::after, .boton--accion:focus-visible::after {
    animation-play-state: paused; animation-name: none;
  }
}
.pie__direccion, .oficina__direccion {
  text-decoration: underline dotted; text-underline-offset: 3px;
  text-decoration-color: currentColor;
}
.pie__direccion::after, .oficina__direccion::after { content: "\00a0\2197"; font-size: .85em; }
.pie__direccion:hover, .oficina__direccion:hover { text-decoration-style: solid; }
.oficina address .oficina__direccion { color: inherit; }
.pie li a.pie__direccion {
  display: inline; line-height: 1.5; text-decoration: underline dotted; text-underline-offset: 3px;
}
.hamburguesa[hidden] { display: none; }
@media (scripting: none) and (max-width: 1000px) {
  .cabecera { position: static; }
  .cabecera__fila { flex-wrap: wrap; }
  .cabecera__menu {
    display: flex; position: static; width: 100%;
    padding: 0 0 1rem; box-shadow: none; border-bottom: 0; background: none;
  }
  .nav__panel { display: block; }
}
@media (scripting: none) {
  .nav__item--desplegable:focus-within > .nav__panel { display: block; }
}
@media (max-width: 1000px) {
  .cabecera__menu { max-height: calc(100dvh - var(--cabecera)); overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 760px) {
  html:has(body.con-barra-movil) { scroll-padding-bottom: 5.5rem; }
}
.pie { padding-bottom: 5.5rem; }
.fuera-de-vista::before,
.fuera-de-vista .escena__foto--flota, .fuera-de-vista .escena__foto::after,
.fuera-de-vista .escena__estado, .fuera-de-vista .marquesina__par,
.fuera-de-vista .relevo__pieza, .fuera-de-vista .premios__hito,
.fuera-de-vista .mapa__onda, .fuera-de-vista .mapa__pulso,
.fuera-de-vista .respaldo__estado::before,
.fuera-de-vista .ba-tarjeta, .fuera-de-vista .ba-cv, .fuera-de-vista .ba-lupa,
.fuera-de-vista .ba-onda, .fuera-de-vista .ba-chispa { animation-play-state: paused; }
.relevo__pieza { will-change: opacity; }
.e404-cerrada:not([hidden]) {
  display: grid; gap: .9rem; justify-items: start; margin-top: 2rem; padding: 1.2rem 1.35rem;
  border-radius: var(--radio-g); background: var(--niebla); border-left: 3px solid var(--morado);
}
.e404-cerrada p { margin: 0; color: var(--tinta-media); }
.e404-cerrada b { color: var(--tinta); }
.cabeza-foto {
  display: grid; gap: clamp(1.4rem, 4vw, 3rem); align-items: center;
  margin-bottom: clamp(1.8rem, 4vw, 2.6rem);
}
@media (min-width: 861px) { .cabeza-foto { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); } }
.cabeza-foto .cabeza-seccion { margin-bottom: 0; }
.cabeza-foto__img img { display: block; width: 100%; height: clamp(13rem, 22vw, 18rem); object-fit: cover; }
