:root {
  --bg: #040404;
  --bg-deep: #010101;
  --stage-size: min(35.7vw, 28.9svh, 306px);
  --speed: 13.8s;
  --neon-distance-scale: 1;
  --neon-intensity: 1;
  --neon-thickness: 18px;
  --neon-near-blur: 20px;
  --neon-near-shadow-1: 18px;
  --neon-near-shadow-2: 32px;
  --neon-near-shadow-3: 58px;
  --neon-far-blur: 74px;
  --neon-far-shadow-1: 28px;
  --neon-far-shadow-2: 72px;
  --neon-far-shadow-3: 124px;
  --neon-grow-scale: 1.016;
  --neon-far-scale: 1.105;
  --box-cloud-fill: 0;
  --box-white-near: 1;
  --box-near-alpha: 0;
  --box-mid-alpha: 0;
  --box-far-alpha: 0;
  --box-field-blur: 24px;
  --box-occluder-blur: 10px;
  --box-origin-alpha: 0;
  --box-origin-blur: 22px;
  --box-origin-scale: 1.04;
  --box-depth-1: 20%;
  --box-depth-2: 41%;
  --box-depth-3: 57%;
  --box-depth-end: 70%;
}

* { box-sizing: border-box; }

html, body {
  width: 100%;
  min-height: 100%;
  margin: 0;
}

body {
  overflow: hidden;
  background: #000000;
  font-family: Arial, Helvetica, sans-serif;
}

.hero {
  position: relative;
  z-index: 0;
  min-height: 100svh;
  display: grid;
  place-items: center;
  isolation: isolate;
}

.stage {
  position: relative;
  z-index: 1;
  width: var(--stage-size);
  aspect-ratio: 900 / 1024;
  display: grid;
  place-items: center;
  isolation: isolate;
}

/* Llenado blanco del cuadro: nace desde el borde exterior del neón y se desvanece hacia afuera */
.box-cloud {
  position: fixed;
  left: 50%;
  top: 50%;
  width: min(56vw, 930px);
  height: min(70vh, 650px);
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 0;
  opacity: 1;
  isolation: isolate;
  mix-blend-mode: screen;
  background:
    radial-gradient(
      ellipse at center,
      rgba(255,255,255,var(--box-near-alpha)) 0%,
      rgba(255,255,255,var(--box-near-alpha)) var(--box-depth-1),
      rgba(255,255,255,var(--box-mid-alpha)) var(--box-depth-2),
      rgba(255,255,255,var(--box-far-alpha)) var(--box-depth-3),
      rgba(255,255,255,0.00) var(--box-depth-end),
      rgba(255,255,255,0.00) 100%
    );
  filter: blur(var(--box-field-blur));
  transition: filter 180ms linear, background 180ms linear;
}

/* Arranque exacto desde el borde exterior del neón del logo */
.box-cloud::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(var(--stage-size) * 1.03);
  aspect-ratio: 900 / 1024;
  transform: translate(-50%, -50%) scale(var(--box-origin-scale));
  transform-origin: center;
  background: rgba(255,255,255,1);
  -webkit-mask: url("assets/logo-edge-mask.png") center / contain no-repeat;
  mask: url("assets/logo-edge-mask.png") center / contain no-repeat;
  filter:
    blur(var(--box-origin-blur))
    drop-shadow(0 0 calc(var(--box-origin-blur) * 0.55) rgba(255,255,255,var(--box-origin-alpha)))
    drop-shadow(0 0 calc(var(--box-origin-blur) * 1.15) rgba(255,255,255,calc(var(--box-origin-alpha) * 0.72)))
    drop-shadow(0 0 calc(var(--box-origin-blur) * 2.2) rgba(255,255,255,calc(var(--box-origin-alpha) * 0.34)));
  opacity: var(--box-cloud-fill);
}

/* Ocultador del interior: evita que el cuadro se pinte dentro del logo */
.box-cloud::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(var(--stage-size) * 0.63);
  height: calc(var(--stage-size) * 0.84);
  transform: translate(-50%, -50%) rotate(-17deg);
  border-radius: 50% 48% 52% 50% / 55% 44% 56% 45%;
  background: #000;
  filter: blur(var(--box-occluder-blur));
}

/*
  IDEA CLAVE:
  La luz ya no es una "imagen del logo" ni un contorno orbitando.
  Ahora es un glow pequeño que se mueve.
  Ese glow es recortado por la máscara del CONTORNO del logo.
  Así la luz adopta SOLO la forma local del área por donde está pasando.
*/
.contour-light {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  -webkit-mask: url("assets/logo-edge-mask.png") center / contain no-repeat;
  mask: url("assets/logo-edge-mask.png") center / contain no-repeat;
}

.contour-light__glow {
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 999px;
  pointer-events: none;
  offset-path: ellipse(36% 41% at 50% 50%);
  offset-rotate: auto;
  animation: travel var(--speed) linear infinite;
  mix-blend-mode: screen;
}

/* capa amplia, gaussiana */
.contour-light__glow--soft {
  width: 54%;
  height: 138%;
  background:
    linear-gradient(
      180deg,
      transparent 0%,
      rgba(255,255,255,0.065) 4%,
      rgba(255,255,255,0.293) 16%,
      rgba(255,255,255,0.644) 32%,
      rgba(255,255,255,0.878) 50%,
      rgba(255,255,255,0.644) 68%,
      rgba(255,255,255,0.293) 84%,
      rgba(255,255,255,0.076) 96%,
      transparent 100%
    );
  transform: translate(-50%, -50%);
  filter: blur(28px) drop-shadow(0 0 18px rgba(255,255,255,0.55)) drop-shadow(0 0 42px rgba(255,255,255,0.28));
  opacity: 1;
}

/* núcleo del destello */
.contour-light__glow--core {
  width: 28%;
  height: 92%;
  background:
    linear-gradient(
      180deg,
      transparent 0%,
      rgba(255,255,255,0.147) 6%,
      rgba(255,255,255,0.644) 20%,
      rgba(255,255,255,1.00) 34%,
      rgba(255,255,255,1.00) 52%,
      rgba(255,255,255,1.00) 70%,
      rgba(255,255,255,0.527) 84%,
      rgba(255,255,255,0.098) 96%,
      transparent 100%
    );
  transform: translate(-50%, -50%);
  filter: blur(9px) drop-shadow(0 0 10px rgba(255,255,255,0.85)) drop-shadow(0 0 24px rgba(255,255,255,0.38));
  opacity: 1;
}

.contour-light--core .contour-light__glow--core {
  animation-duration: calc(var(--speed) * 0.985);
}

/* Logo */
.logo {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  isolation: isolate;
}

/* Mantiene el interior del logo completamente limpio:
   la nube/humo exterior no debe entrar en la cavidad central. */
.logo::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(var(--stage-size) * 0.63);
  height: calc(var(--stage-size) * 0.84);
  transform: translate(-50%, -50%) rotate(-17deg);
  transform-origin: center;
  border-radius: 50% 48% 52% 50% / 55% 44% 56% 45%;
  background: #000;
  filter: blur(1.5px);
  z-index: 1;
  pointer-events: none;
}

.logo__halo,
.logo__solid,
.logo__metal-reflection,
.logo__protected-inner {
  z-index: 2;
  position: absolute;
  inset: 0;
  -webkit-mask: url("assets/logo-mask.png") center / contain no-repeat;
  mask: url("assets/logo-mask.png") center / contain no-repeat;
}

/* halo completo muy sutil */
.logo__halo {
  z-index: 0;
  background: rgba(255,255,255,0.9);
  filter: blur(15px);
  opacity: 0;
  transform: scale(1.015);
}

/* silueta con tono metálico muy sutil, casi negro, con matices morado/rosado oscuros */
.logo__solid {
  z-index: 1;
  background:
    radial-gradient(ellipse at 36% 38%, rgba(232,92,188,0.115) 0%, rgba(188,88,176,0.072) 28%, rgba(136,86,172,0.032) 52%, rgba(136,86,172,0) 76%),
    radial-gradient(ellipse at 61% 46%, rgba(159,120,215,0.095) 0%, rgba(125,113,198,0.056) 32%, rgba(92,122,188,0.026) 58%, rgba(92,122,188,0) 80%),
    radial-gradient(ellipse at 54% 68%, rgba(74,161,176,0.052) 0%, rgba(68,136,161,0.026) 36%, rgba(68,136,161,0) 72%),
    conic-gradient(from 205deg at 50% 50%,
      rgba(225,88,180,0.055) 0deg,
      rgba(166,103,201,0.060) 72deg,
      rgba(114,132,199,0.050) 148deg,
      rgba(87,156,169,0.036) 224deg,
      rgba(177,114,191,0.050) 302deg,
      rgba(225,88,180,0.055) 360deg),
    linear-gradient(
      135deg,
      #030304 0%,
      #07070a 14%,
      #0d0c11 27%,
      #15121a 40%,
      #1d1822 52%,
      #191a21 64%,
      #12161a 76%,
      #0a0b0e 88%,
      #040405 100%
    );
}




.logo__metal-reflection {
  z-index: 2;
  isolation: isolate;
  pointer-events: none;
  -webkit-mask: url("assets/logo-metal-mask.png") center / contain no-repeat;
  mask: url("assets/logo-metal-mask.png") center / contain no-repeat;
}

.logo__metal-reflection-glow {
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 999px;
  pointer-events: none;
  offset-path: ellipse(33.8% 38.8% at 50% 50%);
  offset-rotate: auto;
  animation: travel var(--speed) linear infinite;
  mix-blend-mode: screen;
  opacity: 1;
}

.logo__metal-reflection-glow--soft {
  z-index: 1;
  width: 34%;
  height: 88%;
  background:
    linear-gradient(
      180deg,
      transparent 0%,
      rgba(255,255,255,0.02) 10%,
      rgba(255,255,255,0.14) 25%,
      rgba(255,255,255,0.30) 42%,
      rgba(255,255,255,0.48) 55%,
      rgba(255,255,255,0.24) 70%,
      rgba(255,255,255,0.08) 86%,
      transparent 100%
    );
  transform: translate(-50%, -50%);
  filter:
    blur(18px)
    drop-shadow(0 0 10px rgba(255,255,255,0.22))
    drop-shadow(0 0 24px rgba(255,255,255,0.12));
}

.logo__metal-reflection-glow--core {
  z-index: 2;
  width: 16%;
  height: 54%;
  background:
    linear-gradient(
      180deg,
      transparent 0%,
      rgba(255,255,255,0.08) 10%,
      rgba(255,255,255,0.42) 24%,
      rgba(255,255,255,0.92) 42%,
      rgba(255,255,255,1) 54%,
      rgba(255,255,255,0.82) 67%,
      rgba(255,255,255,0.24) 84%,
      transparent 100%
    );
  transform: translate(-50%, -50%);
  filter:
    blur(6px)
    drop-shadow(0 0 6px rgba(255,255,255,0.66))
    drop-shadow(0 0 16px rgba(255,255,255,0.24));
}

.logo__metal-reflection-glow--core {
  animation-duration: calc(var(--speed) * 0.985);
}

/* Protección total de las líneas punteadas, nodos y Wi‑Fi.
   Esta copia limpia queda por encima de neón, nube y sombra,
   y nunca recibe variables ni filtros de los controles. */
.logo__protected-inner {
  z-index: 8;
  background:
    radial-gradient(ellipse at 36% 38%, rgba(232,92,188,0.115) 0%, rgba(188,88,176,0.072) 28%, rgba(136,86,172,0.032) 52%, rgba(136,86,172,0) 76%),
    radial-gradient(ellipse at 61% 46%, rgba(159,120,215,0.095) 0%, rgba(125,113,198,0.056) 32%, rgba(92,122,188,0.026) 58%, rgba(92,122,188,0) 80%),
    radial-gradient(ellipse at 54% 68%, rgba(74,161,176,0.052) 0%, rgba(68,136,161,0.026) 36%, rgba(68,136,161,0) 72%),
    conic-gradient(from 205deg at 50% 50%,
      rgba(225,88,180,0.055) 0deg,
      rgba(166,103,201,0.060) 72deg,
      rgba(114,132,199,0.050) 148deg,
      rgba(87,156,169,0.036) 224deg,
      rgba(177,114,191,0.050) 302deg,
      rgba(225,88,180,0.055) 360deg),
    linear-gradient(
      135deg,
      #030304 0%,
      #07070a 14%,
      #0d0c11 27%,
      #15121a 40%,
      #1d1822 52%,
      #191a21 64%,
      #12161a 76%,
      #0a0b0e 88%,
      #040405 100%
    );
  clip-path: ellipse(39% 30% at 56% 56%);
  -webkit-clip-path: ellipse(39% 30% at 56% 56%);
  opacity: 1;
  filter: none !important;
  mix-blend-mode: normal !important;
  transform: none !important;
  scale: 1 !important;
  animation: none !important;
  pointer-events: none;
}

/* El resaltado secuencial del Wi‑Fi permanece independiente y por encima. */
.logo__wifi-sequence {
  z-index: 9 !important;
  filter: none !important;
  transform: none !important;
  scale: 1 !important;
}

@keyframes travel {
  from { offset-distance: 0%; }
  to   { offset-distance: 100%; }
}

@media (max-height: 650px) and (min-width: 700px) {
  :root { --stage-size: min(33.15vw, 33.15svh, 255px); }
}

@media (max-width: 640px) {
  :root {
    --stage-size: min(38.25vw, 30.6svh);
    --speed: 12s;
  }

  .contour-light__glow--soft { filter: blur(24px) drop-shadow(0 0 14px rgba(255,255,255,0.45)) drop-shadow(0 0 34px rgba(255,255,255,0.24)); }
  .contour-light__glow--core { filter: blur(8px) drop-shadow(0 0 8px rgba(255,255,255,0.72)) drop-shadow(0 0 18px rgba(255,255,255,0.30)); }
  .logo__halo { filter: blur(9px) drop-shadow(0 0 10px rgba(255,255,255,0.85)) drop-shadow(0 0 24px rgba(255,255,255,0.38)); }
}



/* =========================================================
   AURA PRINCIPAL REFINADA
   - Se desactiva la nube oval genérica
   - El resplandor ahora nace del borde real del logo
   ========================================================= */
.wifi-aura-sequence { display: none; }


/* Resplandor gaussiano blanco, sincronizado con cada elemento */
.wifi-glow {
  position: absolute;
  inset: 0;
  opacity: 0;
  background: rgba(255,255,255,0.115);
  mix-blend-mode: screen;
  pointer-events: none;
}

.wifi-glow--dot {
  -webkit-mask: url("assets/wifi-dot-mask.png") center / contain no-repeat;
  mask: url("assets/wifi-dot-mask.png") center / contain no-repeat;
  filter:
    blur(7px)
    drop-shadow(0 0 12px rgba(255,255,255,0.72))
    drop-shadow(0 0 26px rgba(255,255,255,0.34));
  animation: wifiDotGlow 14s ease-in-out infinite;
}

.wifi-glow--wave1 {
  -webkit-mask: url("assets/wifi-wave1-mask.png") center / contain no-repeat;
  mask: url("assets/wifi-wave1-mask.png") center / contain no-repeat;
  filter:
    blur(7px)
    drop-shadow(0 0 12px rgba(255,255,255,0.68))
    drop-shadow(0 0 26px rgba(255,255,255,0.32));
  animation: wifiWave1Glow 14s ease-in-out infinite;
}

.wifi-glow--wave2 {
  -webkit-mask: url("assets/wifi-wave2-mask.png") center / contain no-repeat;
  mask: url("assets/wifi-wave2-mask.png") center / contain no-repeat;
  filter:
    blur(8px)
    drop-shadow(0 0 14px rgba(255,255,255,0.72))
    drop-shadow(0 0 30px rgba(255,255,255,0.34));
  animation: wifiWave2Glow 14s ease-in-out infinite;
}

@keyframes wifiDotGlow {
  0%, 3%    { opacity: 0; }
  7%, 24%   { opacity: 0.12; }
  29%, 100% { opacity: 0; }
}

@keyframes wifiWave1Glow {
  0%, 30%   { opacity: 0; }
  35%, 52%  { opacity: 0.115; }
  57%, 100% { opacity: 0; }
}

@keyframes wifiWave2Glow {
  0%, 58%   { opacity: 0; }
  63%, 82%  { opacity: 0.12; }
  88%, 100% { opacity: 0; }
}


/* =========================================================
   RESALTADO SECUENCIAL DEL WIFI CON MÁSCARAS EXACTAS
   Cada brillo adopta exactamente la forma y rotación del elemento real.
   ========================================================= */
.logo__wifi-sequence {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.wifi-mask {
  position: absolute;
  inset: 0;
  opacity: 0;
  background: rgba(255,255,255,0.125);
  mix-blend-mode: screen;
  pointer-events: none;
}

.wifi-mask--dot {
  -webkit-mask: url("assets/wifi-dot-mask.png") center / contain no-repeat;
  mask: url("assets/wifi-dot-mask.png") center / contain no-repeat;
  filter:
    drop-shadow(0 0 3px rgba(255,255,255,0.98))
    drop-shadow(0 0 10px rgba(255,255,255,0.66))
    drop-shadow(0 0 22px rgba(255,255,255,0.28));
  animation: wifiDotHighlight 14s ease-in-out infinite;
}

.wifi-mask--wave1 {
  -webkit-mask: url("assets/wifi-wave1-mask.png") center / contain no-repeat;
  mask: url("assets/wifi-wave1-mask.png") center / contain no-repeat;
  filter:
    drop-shadow(0 0 3px rgba(255,255,255,0.94))
    drop-shadow(0 0 9px rgba(255,255,255,0.58))
    drop-shadow(0 0 20px rgba(255,255,255,0.24));
  animation: wifiWave1Highlight 14s ease-in-out infinite;
}

.wifi-mask--wave2 {
  -webkit-mask: url("assets/wifi-wave2-mask.png") center / contain no-repeat;
  mask: url("assets/wifi-wave2-mask.png") center / contain no-repeat;
  filter:
    drop-shadow(0 0 4px rgba(255,255,255,0.96))
    drop-shadow(0 0 11px rgba(255,255,255,0.62))
    drop-shadow(0 0 24px rgba(255,255,255,0.26));
  animation: wifiWave2Highlight 14s ease-in-out infinite;
}

@keyframes wifiDotHighlight {
  0%, 3%    { opacity: 0; }
  7%, 24%   { opacity: 0.125; }
  29%, 100% { opacity: 0; }
}

@keyframes wifiWave1Highlight {
  0%, 30%   { opacity: 0; }
  35%, 52%  { opacity: 0.125; }
  57%, 100% { opacity: 0; }
}

@keyframes wifiWave2Highlight {
  0%, 58%   { opacity: 0; }
  63%, 82%  { opacity: 0.125; }
  88%, 100% { opacity: 0; }
}





/* =========================================================
   RESPLANDOR BLANCO TIPO TRIÁNGULO
   - Sigue la forma real del logo mediante la máscara del borde
   - Blanco fuerte pegado al contorno
   - Degradado amplio, continuo y sin apariencia circular
   - Sin línea sólida visible
   ========================================================= */
.soft-neon-sequence {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: clamp(0, var(--neon-intensity), 1);
}

.soft-neon {
  position: absolute;
  inset: 0;
  pointer-events: none;
  mix-blend-mode: screen;
  -webkit-mask: url("assets/logo-edge-mask.png") center / contain no-repeat;
  mask: url("assets/logo-edge-mask.png") center / contain no-repeat;
  background: #ffffff;
  opacity: 1;
  will-change: filter, transform;
}

/* brillo blanco pegado al borde, sin línea sólida visible */
.soft-neon--near {
  filter:
    blur(var(--neon-near-blur))
    drop-shadow(0 0 var(--neon-near-shadow-1) rgba(255,255,255,1))
    drop-shadow(0 0 var(--neon-near-shadow-2) rgba(255,255,255,0.92))
    drop-shadow(0 0 var(--neon-near-shadow-3) rgba(255,255,255,0.52));
  scale: calc(var(--neon-grow-scale) * var(--neon-distance-scale));
  transform-origin: center;
  opacity: 1;
  animation: none;
}

/* halo exterior más amplio, suave y continuo como el triángulo */
.soft-neon--far {
  filter:
    blur(var(--neon-far-blur))
    drop-shadow(0 0 var(--neon-far-shadow-1) rgba(255,255,255,0.32))
    drop-shadow(0 0 var(--neon-far-shadow-2) rgba(255,255,255,0.19))
    drop-shadow(0 0 var(--neon-far-shadow-3) rgba(255,255,255,0.10));
  scale: calc(var(--neon-far-scale) * var(--neon-distance-scale));
  transform-origin: center;
  opacity: 0.18;
  animation: none;
}

/* El neón permanece estable: sin parpadeo ni apariciones/desapariciones. */

/* =========================================================
   PANEL TEMPORAL DE AJUSTES
   ========================================================= */
.tuning-panel {
  position: fixed;
  top: 18px;
  left: 18px;
  z-index: 1000;
  width: min(340px, calc(100vw - 36px));
  color: #f7f7f7;
  background: rgba(12,12,14,0.92);
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 14px;
  box-shadow: 0 18px 50px rgba(0,0,0,0.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  font-size: 13px;
}

.tuning-panel__toggle {
  width: 100%;
  padding: 12px 14px;
  border: 0;
  border-radius: 14px 14px 0 0;
  color: #fff;
  background: rgba(255,255,255,0.06);
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.tuning-panel__body {
  padding: 12px 14px 14px;
}

.tuning-panel.is-collapsed .tuning-panel__body {
  display: none;
}

.tuning-panel.is-collapsed .tuning-panel__toggle {
  border-radius: 14px;
}

.control-row + .control-row {
  margin-top: 14px;
}

.control-row__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
}

.control-row__header output {
  color: #fff;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.stepper {
  display: grid;
  grid-template-columns: 34px 1fr 34px;
  align-items: center;
  gap: 8px;
}

.stepper button,
.tuning-panel__actions button {
  min-height: 32px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 8px;
  color: #fff;
  background: rgba(255,255,255,0.08);
  cursor: pointer;
}

.stepper button:hover,
.tuning-panel__actions button:hover {
  background: rgba(255,255,255,0.15);
}

.stepper input[type="range"] {
  width: 100%;
  accent-color: #fff;
}

.tuning-panel__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 15px;
}

.values-summary {
  margin-top: 10px;
  padding: 9px 10px;
  border-radius: 8px;
  color: rgba(255,255,255,0.76);
  background: rgba(0,0,0,0.28);
  font-family: Consolas, Monaco, monospace;
  font-size: 11px;
  line-height: 1.45;
}

.cloud-disabled .soft-neon--far {
  display: none;
}

@media (max-width: 640px) {
  .tuning-panel {
    top: 10px;
    left: 10px;
    width: min(320px, calc(100vw - 20px));
  }
}

@media (prefers-reduced-motion: reduce) {
  .contour-light__glow {
    animation: none;
    offset-distance: 24%;
  }

  .wifi-mask,
  .wifi-glow,
  .wifi-aura {
    animation: none;
    opacity: 0;
  }

  .soft-neon--near { opacity: .5; }
  .soft-neon--far { opacity: 0.18; }
}


/* Modo de calibración: el botón de secuencia solo afecta el Wi‑Fi
   (punto + 2 ondas). No debe tocar neón, halo, nube ni destello del contorno. */
.sequence-paused .wifi-glow,
.sequence-paused .wifi-mask {
  animation-play-state: running !important;
}

/* La secuencia automática del Wi‑Fi sigue activa incluso cuando
   el resto de la secuencia está marcado como pausado. */

.tuning-panel__actions #resetControls {
  grid-column: 1 / -1;
}

/* Garantía final: ningún estado del panel altera la capa interior protegida. */
.cloud-disabled .logo__protected-inner,
.parallel-shadow-disabled .logo__protected-inner,
.sequence-paused .logo__protected-inner {
  opacity: 1;
  filter: none !important;
  transform: none !important;
  scale: 1 !important;
  animation: none !important;
  mix-blend-mode: normal !important;
}

/* El control Intensidad del neón jamás alcanza la zona interior protegida. */
.logo__inner-shield,
.logo__protected-inner,
.logo__wifi-sequence,
.logo__wifi-sequence .wifi-glow,
.logo__wifi-sequence .wifi-mask {
  --neon-intensity: 1 !important;
  --parallel-shadow-opacity: 0;
}

.cloud-disabled .logo__inner-shield,
.parallel-shadow-disabled .logo__inner-shield,
.sequence-paused .logo__inner-shield {
  opacity: 1;
  filter: none !important;
  transform: translate(-50%, -50%) rotate(-7deg) !important;
}


/* =========================================================
   CLICK: SOLO CAMBIO DE COLOR DEL AURA
   No modifica tamaño, posición, rebote, ondas ni animación automática.
   Tonos inspirados en el triángulo: magenta/rojo a la izquierda,
   azul/cian a la derecha y verde suave en la base.
   ========================================================= */
.logo {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  outline: none;
}

.logo:focus-visible {
  filter: none;
}

/* Aura cromática amplia. Permanece inmóvil: solo cambia su opacidad. */
.click-bloom {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 255%;
  aspect-ratio: 1;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  mix-blend-mode: screen;
  background:
    radial-gradient(circle at 31% 47%, rgba(255,42,122,.72) 0%, rgba(255,42,122,.30) 24%, rgba(255,42,122,0) 54%),
    radial-gradient(circle at 73% 46%, rgba(77,138,255,.82) 0%, rgba(77,138,255,.34) 27%, rgba(77,138,255,0) 58%),
    radial-gradient(circle at 52% 70%, rgba(79,224,170,.52) 0%, rgba(79,224,170,.18) 22%, rgba(79,224,170,0) 50%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.30) 0%, rgba(255,255,255,.10) 28%, rgba(255,255,255,0) 64%);
  filter: blur(34px);
  transition: opacity 520ms ease-in-out;
}

/* Capa cromática pegada al contorno real del logo. */
.click-wave {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  /* Se desactiva la capa pegada al contorno para que al hacer click
     solo se vea el aura de color exterior, sin borde visible. */
  background: none;
  filter: none;
  scale: 1;
  transform-origin: center;
  transition: opacity 420ms ease-in-out;
}

.stage.logo-clicked .click-bloom {
  opacity: .92;
}

.stage.logo-clicked .click-wave {
  opacity: 0;
}

/* Al hacer clic no se toca ninguna animación ni transformación existente. */
.stage.logo-clicked .logo,
.stage.logo-clicked .soft-neon--near,
.stage.logo-clicked .soft-neon--far,
.stage.logo-clicked .contour-light__glow,
.stage.logo-clicked .wifi-glow,
.stage.logo-clicked .wifi-mask {
  animation-play-state: inherit;
}

@media (prefers-reduced-motion: reduce) {
  .click-bloom,
  .click-wave {
    transition-duration: 1ms;
  }
}

/* Protección final absoluta del contenido interno.
   Ningún control ni el estado de clic puede alterar estas capas. */
.logo__protected-inner,
.logo__wifi-sequence,
.logo__wifi-sequence .wifi-glow,
.logo__wifi-sequence .wifi-mask {
  filter: none;
  transform: none;
  scale: 1;
  mix-blend-mode: normal;
}

.stage.logo-clicked .logo__protected-inner,
.stage.logo-clicked .logo__wifi-sequence,
.stage.logo-clicked .logo__wifi-sequence .wifi-glow,
.stage.logo-clicked .logo__wifi-sequence .wifi-mask,
body:not(.logo-clicked) .logo__protected-inner {
  opacity: 1;
  transform: none !important;
  scale: 1 !important;
}

/* Los colores del clic quedan detrás del escudo interior. */
.click-bloom,
.click-wave {
  z-index: 0;
}
.logo { z-index: 2; }
.logo__protected-inner { z-index: 8; }
.logo__wifi-sequence { z-index: 9 !important; }


/* Panel de ajustes oculto: toda la animación continúa automática. */
.tuning-panel { display: none !important; }


/* =========================================================
   INTERIOR SIEMPRE LIMPIO — SIN REDIBUJAR EL LOGO
   Se usa el mismo logo original y solo se recortan las zonas exactas
   de la línea punteada, nodos internos y Wi‑Fi. No hay círculos negros.
   ========================================================= */
.logo__protected-inner {
  position: absolute;
  inset: 0;
  z-index: 20 !important;
  background: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  clip-path: none !important;
  -webkit-clip-path: none !important;
  opacity: 1;
  filter: none !important;
  mix-blend-mode: normal !important;
  transform: none !important;
  scale: 1 !important;
  animation: none !important;
  pointer-events: none;
  isolation: isolate;
}

.logo__protected-piece {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(ellipse at 36% 38%, rgba(232,92,188,0.115) 0%, rgba(188,88,176,0.072) 28%, rgba(136,86,172,0.032) 52%, rgba(136,86,172,0) 76%),
    radial-gradient(ellipse at 61% 46%, rgba(159,120,215,0.095) 0%, rgba(125,113,198,0.056) 32%, rgba(92,122,188,0.026) 58%, rgba(92,122,188,0) 80%),
    radial-gradient(ellipse at 54% 68%, rgba(74,161,176,0.052) 0%, rgba(68,136,161,0.026) 36%, rgba(68,136,161,0) 72%),
    conic-gradient(from 205deg at 50% 50%,
      rgba(225,88,180,0.055) 0deg,
      rgba(166,103,201,0.060) 72deg,
      rgba(114,132,199,0.050) 148deg,
      rgba(87,156,169,0.036) 224deg,
      rgba(177,114,191,0.050) 302deg,
      rgba(225,88,180,0.055) 360deg),
    linear-gradient(
      135deg,
      #030304 0%,
      #07070a 14%,
      #0d0c11 27%,
      #15121a 40%,
      #1d1822 52%,
      #191a21 64%,
      #12161a 76%,
      #0a0b0e 88%,
      #040405 100%
    );
  -webkit-mask: url("assets/logo-mask.png") center / contain no-repeat;
  mask: url("assets/logo-mask.png") center / contain no-repeat;
  opacity: 1;
  filter: none !important;
  mix-blend-mode: normal !important;
  transform: none !important;
  scale: 1 !important;
  animation: none !important;
}

/* Recortes pequeños: solo repintan los elementos internos reales. */
.logo__protected-piece--line-left {
  clip-path: polygon(29% 56%, 51% 60%, 52% 69%, 28% 65%);
}
.logo__protected-piece--line-mid {
  clip-path: polygon(45% 61%, 58% 48%, 63% 54%, 50% 68%);
}
.logo__protected-piece--line-right {
  clip-path: polygon(55% 48%, 76% 60%, 72% 69%, 52% 57%);
}
.logo__protected-piece--line-vertical {
  clip-path: polygon(69% 34%, 79% 34%, 76% 68%, 68% 68%);
}
.logo__protected-piece--node-left {
  clip-path: circle(7.2% at 48.8% 65.0%);
}
.logo__protected-piece--node-center {
  clip-path: circle(5.4% at 56.7% 54.5%);
}
.logo__protected-piece--node-right {
  clip-path: circle(6.8% at 72.0% 64.0%);
}
.logo__protected-piece--wifi {
  clip-path: polygon(47% 37%, 67% 37%, 67% 57%, 47% 57%);
}

/* El Wi‑Fi animado anterior se oculta para que no añada halo ni suciedad. */
.logo__wifi-sequence,
.logo__wifi-sequence .wifi-glow,
.logo__wifi-sequence .wifi-mask,
.wifi-glow,
.wifi-mask {
  display: none !important;
  opacity: 0;
  filter: none !important;
  animation: none !important;
  mix-blend-mode: normal !important;
}

/* Los efectos permanecen detrás del logo y del repintado limpio. */
.click-bloom,
.click-wave,
.soft-neon-sequence,
.contour-light,
.box-cloud {
  pointer-events: none;
}

.logo { z-index: 2; }
.logo__protected-inner { z-index: 20 !important; }

/* Panel oculto: toda la animación continúa automática. */
.tuning-panel { display: none !important; }


/* V63: regreso a la versión limpia anterior.
   Se anula cualquier máscara/ocultador negro añadido después. */
.box-cloud,
.soft-neon-sequence,
.click-bloom,
.click-wave {
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

.box-cloud::after {
  display: none !important;
  content: none !important;
}


/* =========================================================
   V66 — RECUPERA TAMAÑO + MÁSCARA EXTERIOR BASADA EN EL LOGO REAL
   La máscara usa assets/logo-mask.png, no una elipse ni un trazado manual.
   Solo recorta los efectos; nunca cambia el tamaño ni la estructura del logo.
   ========================================================= */
:root {
  --stage-size: min(35.7vw, 28.9svh, 306px);
  --logo-exact-mask: url("assets/logo-mask.png");
}

.stage,
.logo {
  width: var(--stage-size) !important;
  height: auto !important;
  aspect-ratio: 900 / 1024 !important;
  transform: none !important;
  scale: 1 !important;
}

.logo {
  position: relative !important;
  inset: auto !important;
}

/* Mantener los controles visibles para continuar afinando. */
.tuning-panel {
  display: block !important;
}

/* Quitar cualquier ocultador negro anterior. */
.box-cloud::after {
  display: none !important;
  content: none !important;
}

/* Campo de luz: rectángulo completo menos la silueta real del logo.
   El 112% sella pequeñas ranuras internas sin deformar el contorno exterior. */
.box-cloud {
  -webkit-mask-image: linear-gradient(#fff 0 0), var(--logo-exact-mask) !important;
  -webkit-mask-size: 100% 100%, calc(var(--stage-size) * 1.12) auto !important;
  -webkit-mask-position: center, center !important;
  -webkit-mask-repeat: no-repeat, no-repeat !important;
  -webkit-mask-composite: xor !important;
  mask-image: linear-gradient(#fff 0 0), var(--logo-exact-mask) !important;
  mask-size: 100% 100%, calc(var(--stage-size) * 1.12) auto !important;
  mask-position: center, center !important;
  mask-repeat: no-repeat, no-repeat !important;
  mask-composite: exclude !important;
}

/* Neón y destello: mismo recorte exacto, sin tocar el logo. */
.soft-neon-sequence,
.click-wave {
  -webkit-mask-image: linear-gradient(#fff 0 0), var(--logo-exact-mask) !important;
  -webkit-mask-size: 100% 100%, 112% auto !important;
  -webkit-mask-position: center, center !important;
  -webkit-mask-repeat: no-repeat, no-repeat !important;
  -webkit-mask-composite: xor !important;
  mask-image: linear-gradient(#fff 0 0), var(--logo-exact-mask) !important;
  mask-size: 100% 100%, 112% auto !important;
  mask-position: center, center !important;
  mask-repeat: no-repeat, no-repeat !important;
  mask-composite: exclude !important;
}

/* Aura de color: el logo ocupa 39.216% de su lienzo de 255%;
   se amplía a 43.92% solo para sellar el interior. */
.click-bloom {
  -webkit-mask-image: linear-gradient(#fff 0 0), var(--logo-exact-mask) !important;
  -webkit-mask-size: 100% 100%, 43.92% auto !important;
  -webkit-mask-position: center, center !important;
  -webkit-mask-repeat: no-repeat, no-repeat !important;
  -webkit-mask-composite: xor !important;
  mask-image: linear-gradient(#fff 0 0), var(--logo-exact-mask) !important;
  mask-size: 100% 100%, 43.92% auto !important;
  mask-position: center, center !important;
  mask-repeat: no-repeat, no-repeat !important;
  mask-composite: exclude !important;
}

@media (max-height: 650px) and (min-width: 700px) {
  :root { --stage-size: min(33.15vw, 33.15svh, 255px); }
}

@media (max-width: 640px) {
  :root { --stage-size: min(38.25vw, 30.6svh); }
}


/* =========================================================
   V67 — MÁSCARA EXTERIOR EXACTA TRAZADA SOBRE EL LOGO DE REFERENCIA
   Conserva el tamaño recuperado y los controles visibles.
   ========================================================= */
:root {
  --logo-exterior-exact-mask: url("data:image/png;base64,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");
}

/* El campo grande excluye exactamente la silueta exterior del logo. */
.box-cloud {
  -webkit-mask-image: linear-gradient(#fff 0 0), var(--logo-exterior-exact-mask) !important;
  -webkit-mask-size: 100% 100%, calc(var(--stage-size) * 0.9118) auto !important;
  -webkit-mask-position: center, center !important;
  -webkit-mask-repeat: no-repeat, no-repeat !important;
  -webkit-mask-composite: xor !important;
  mask-image: linear-gradient(#fff 0 0), var(--logo-exterior-exact-mask) !important;
  mask-size: 100% 100%, calc(var(--stage-size) * 0.9118) auto !important;
  mask-position: center, center !important;
  mask-repeat: no-repeat, no-repeat !important;
  mask-composite: exclude !important;
}

/* Capas del tamaño del stage: máscara 1:1, sin agrandarla ni encogerla. */
.soft-neon-sequence,
.click-wave {
  -webkit-mask-image: linear-gradient(#fff 0 0), var(--logo-exterior-exact-mask) !important;
  -webkit-mask-size: 100% 100%, 91.18% 91.18% !important;
  -webkit-mask-position: center, center !important;
  -webkit-mask-repeat: no-repeat, no-repeat !important;
  -webkit-mask-composite: xor !important;
  mask-image: linear-gradient(#fff 0 0), var(--logo-exterior-exact-mask) !important;
  mask-size: 100% 100%, 91.18% 91.18% !important;
  mask-position: center, center !important;
  mask-repeat: no-repeat, no-repeat !important;
  mask-composite: exclude !important;
}

/* El aura de color mide 255% del stage; 39.216% equivale al logo exacto. */
.click-bloom {
  -webkit-mask-image: linear-gradient(#fff 0 0), var(--logo-exterior-exact-mask) !important;
  -webkit-mask-size: 100% 100%, 35.75% auto !important;
  -webkit-mask-position: center, center !important;
  -webkit-mask-repeat: no-repeat, no-repeat !important;
  -webkit-mask-composite: xor !important;
  mask-image: linear-gradient(#fff 0 0), var(--logo-exterior-exact-mask) !important;
  mask-size: 100% 100%, 35.75% auto !important;
  mask-position: center, center !important;
  mask-repeat: no-repeat, no-repeat !important;
  mask-composite: exclude !important;
}

/* Controles permanecen visibles para continuar afinando. */
.tuning-panel { display: block !important; }


/* V68: máscara exterior exacta con transparencia real.
   El negro del PNG ya no forma parte de la máscara: solo la silueta blanca
   recorta el aura, por eso desaparece por completo el cuadrado. */
.box-cloud,
.click-bloom,
.click-wave {
  -webkit-mask-mode: alpha !important;
  mask-mode: alpha !important;
}

/* La máscara debe coincidir 1:1 con el tamaño y proporción reales del logo. */
.box-cloud {
  -webkit-mask-size: 100% 100%, calc(var(--stage-size) * 0.9118) auto !important;
  mask-size: 100% 100%, calc(var(--stage-size) * 0.9118) auto !important;
  -webkit-mask-position: center, center !important;
  mask-position: center, center !important;
}

.click-bloom {
  -webkit-mask-size: 100% 100%, 35.75% auto !important;
  mask-size: 100% 100%, 35.75% auto !important;
  -webkit-mask-position: center, center !important;
  mask-position: center, center !important;
}

.click-wave {
  -webkit-mask-size: 100% 100%, 91.18% 91.18% !important;
  mask-size: 100% 100%, 91.18% 91.18% !important;
  -webkit-mask-position: center, center !important;
  mask-position: center, center !important;
}


/* =========================================================
   V69 — máscara corregida sin deformación
   La máscara tiene exactamente la misma proporción 900/1024 del stage.
   ========================================================= */
.box-cloud {
  -webkit-mask-size: 100% 100%, calc(var(--stage-size) * 0.9118) auto !important;
  mask-size: 100% 100%, calc(var(--stage-size) * 0.9118) auto !important;
  -webkit-mask-position: center, center !important;
  mask-position: center, center !important;
}
.soft-neon-sequence,
.click-wave {
  -webkit-mask-size: 100% 100%, 91.18% 91.18% !important;
  mask-size: 100% 100%, 91.18% 91.18% !important;
  -webkit-mask-position: center, center !important;
  mask-position: center, center !important;
}
.click-bloom {
  -webkit-mask-size: 100% 100%, 35.75% auto !important;
  mask-size: 100% 100%, 35.75% auto !important;
  -webkit-mask-position: center, center !important;
  mask-position: center, center !important;
}


/* =========================================================
   V70 — MÁSCARA SEGÚN LA SILUETA ENTREGADA POR EL USUARIO
   La figura negra de referencia se convirtió a transparencia real.
   No existe fondo cuadrado: solo la silueta exterior recorta el aura.
   ========================================================= */
:root {
  --logo-exterior-exact-mask: url("data:image/png;base64,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");
}

.box-cloud,
.soft-neon-sequence,
.click-wave,
.click-bloom {
  -webkit-mask-image: linear-gradient(#fff 0 0), var(--logo-exterior-exact-mask) !important;
  mask-image: linear-gradient(#fff 0 0), var(--logo-exterior-exact-mask) !important;
  -webkit-mask-position: center, center !important;
  mask-position: center, center !important;
  -webkit-mask-repeat: no-repeat, no-repeat !important;
  mask-repeat: no-repeat, no-repeat !important;
  -webkit-mask-composite: xor !important;
  mask-composite: exclude !important;
  -webkit-mask-mode: alpha !important;
  mask-mode: alpha !important;
}

/* La nube está en un lienzo grande: la silueta conserva exactamente
   el ancho del logo y su proporción 900/1024. */
.box-cloud {
  -webkit-mask-size: 100% 100%, calc(var(--stage-size) * 0.9118) auto !important;
  mask-size: 100% 100%, calc(var(--stage-size) * 0.9118) auto !important;
}

/* Capas del mismo tamaño del logo: ajuste 1:1, sin deformación. */
.soft-neon-sequence,
.click-wave {
  -webkit-mask-size: 100% 100%, 91.18% 91.18% !important;
  mask-size: 100% 100%, 91.18% 91.18% !important;
}

/* El aura cromática mide 255% del stage; 39.216% equivale al logo 1:1. */
.click-bloom {
  -webkit-mask-size: 100% 100%, 35.75% auto !important;
  mask-size: 100% 100%, 35.75% auto !important;
}

/* Se mantienen visibles los controles para seguir afinando. */
.tuning-panel { display: block !important; }

/* V73: ajuste fino adicional: máscara 3% más pequeña respecto de V72. */

/* V72: máscara 3% adicional más pequeña para ajustar al borde exacto. */


/* =========================================================
   V75 — máscara exterior suavizada
   Curvas superiores e inferiores continuas, sin "cachitos".
   Se conserva el ajuste manual de todos los controles.
   ========================================================= */
.box-cloud {
  -webkit-mask-size: 100% 100%, var(--stage-size) auto !important;
  mask-size: 100% 100%, var(--stage-size) auto !important;
  -webkit-mask-position: center, center !important;
  mask-position: center, center !important;
}
.soft-neon-sequence,
.click-wave {
  -webkit-mask-size: 100% 100%, 100% 100% !important;
  mask-size: 100% 100%, 100% 100% !important;
  -webkit-mask-position: center, center !important;
  mask-position: center, center !important;
}
.click-bloom {
  -webkit-mask-size: 100% 100%, 39.216% auto !important;
  mask-size: 100% 100%, 39.216% auto !important;
  -webkit-mask-position: center, center !important;
  mask-position: center, center !important;
}

/* V77 — ajuste fino solicitado: máscara 2% más pequeña, sin otros cambios. */
.box-cloud {
  -webkit-mask-size: 100% 100%, calc(var(--stage-size) * 0.98) auto !important;
  mask-size: 100% 100%, calc(var(--stage-size) * 0.98) auto !important;
}
.soft-neon-sequence,
.click-wave {
  -webkit-mask-size: 100% 100%, 98% 98% !important;
  mask-size: 100% 100%, 98% 98% !important;
}
.click-bloom {
  -webkit-mask-size: 100% 100%, 38.432% auto !important;
  mask-size: 100% 100%, 38.432% auto !important;
}

/* V78 — ajuste fino adicional: máscara 2% más pequeña que V77. */
.box-cloud {
  -webkit-mask-size: 100% 100%, calc(var(--stage-size) * 0.9604) auto !important;
  mask-size: 100% 100%, calc(var(--stage-size) * 0.9604) auto !important;
}
.soft-neon-sequence,
.click-wave {
  -webkit-mask-size: 100% 100%, 96.04% 96.04% !important;
  mask-size: 100% 100%, 96.04% 96.04% !important;
}
.click-bloom {
  -webkit-mask-size: 100% 100%, 37.663% auto !important;
  mask-size: 100% 100%, 37.663% auto !important;
}


/* V79 — ajuste fino adicional: máscara 2% más pequeña que V78. */
.box-cloud {
  -webkit-mask-size: 100% 100%, calc(var(--stage-size) * 0.941192) auto !important;
  mask-size: 100% 100%, calc(var(--stage-size) * 0.941192) auto !important;
}
.soft-neon-sequence,
.click-wave {
  -webkit-mask-size: 100% 100%, 94.1192% 94.1192% !important;
  mask-size: 100% 100%, 94.1192% 94.1192% !important;
}
.click-bloom {
  -webkit-mask-size: 100% 100%, 36.910% auto !important;
  mask-size: 100% 100%, 36.910% auto !important;
}


/* V80 — máscara 2% adicional más pequeña y controles solo manuales. */
.box-cloud {
  -webkit-mask-size: 100% 100%, calc(var(--stage-size) * 0.92236816) auto !important;
  mask-size: 100% 100%, calc(var(--stage-size) * 0.92236816) auto !important;
}
.soft-neon-sequence,
.click-wave {
  -webkit-mask-size: 100% 100%, 92.236816% 92.236816% !important;
  mask-size: 100% 100%, 92.236816% 92.236816% !important;
}
.click-bloom {
  -webkit-mask-size: 100% 100%, 36.1718% auto !important;
  mask-size: 100% 100%, 36.1718% auto !important;
}

/* =========================================================
   V81 — selector manual de dos modos de calibración.
   NORMAL y COLOR guardan valores independientes.
   ========================================================= */
.mode-selector {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0 0 15px;
  padding: 0;
  border: 0;
}

.mode-selector legend {
  grid-column: 1 / -1;
  margin-bottom: 7px;
  color: rgba(255,255,255,.86);
  font-weight: 700;
}

.mode-option {
  position: relative;
  display: block;
  cursor: pointer;
}

.mode-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.mode-option span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.06);
  text-align: center;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.mode-option input:checked + span {
  color: #fff;
  border-color: rgba(255,255,255,.58);
  background: rgba(255,255,255,.17);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}

.mode-option input:focus-visible + span {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* Previsualización permanente del mismo color que aparece al hacer clic. */
.stage.manual-color-preview .click-bloom {
  opacity: .92;
}

.stage.manual-color-preview .click-wave {
  opacity: 0;
}

.stage.manual-color-preview .logo,
.stage.manual-color-preview .soft-neon--near,
.stage.manual-color-preview .soft-neon--far,
.stage.manual-color-preview .contour-light__glow,
.stage.manual-color-preview .wifi-glow,
.stage.manual-color-preview .wifi-mask {
  animation-play-state: inherit;
}

/* =========================================================
   V83 — humo orgánico exterior regulable.
   Reemplaza el llenado uniforme del cuadro por bruma irregular.
   ========================================================= */
:root {
  --smoke-density: 0;
  --smoke-opacity: 0;
  --smoke-core-opacity: 0;
}

/* Desactivar el antiguo relleno uniforme para evitar el rectángulo/elipse plana. */
.box-cloud {
  opacity: 0;
}

.edge-smoke {
  position: absolute;
  inset: -34%;
  z-index: 1;
  pointer-events: none;
  opacity: var(--smoke-opacity);
  filter: blur(calc(10px + var(--neon-thickness) * .35));
  mix-blend-mode: screen;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(#fff 0 0), var(--logo-exterior-exact-mask);
  mask-image: linear-gradient(#fff 0 0), var(--logo-exterior-exact-mask);
  -webkit-mask-position: center, center;
  mask-position: center, center;
  -webkit-mask-repeat: no-repeat, no-repeat;
  mask-repeat: no-repeat, no-repeat;
  -webkit-mask-size: 100% 100%, calc(var(--stage-size) * 0.92236816) auto;
  mask-size: 100% 100%, calc(var(--stage-size) * 0.92236816) auto;
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  -webkit-mask-mode: alpha;
  mask-mode: alpha;
}

.edge-smoke::before,
.edge-smoke::after {
  content: "";
  position: absolute;
  inset: 18%;
  border-radius: 47% 53% 52% 48% / 58% 42% 60% 40%;
  background:
    radial-gradient(ellipse at 20% 30%, rgba(255,255,255,.34), transparent 27%),
    radial-gradient(ellipse at 77% 24%, rgba(225,235,255,.28), transparent 24%),
    radial-gradient(ellipse at 83% 66%, rgba(255,255,255,.23), transparent 25%),
    radial-gradient(ellipse at 34% 80%, rgba(238,242,255,.25), transparent 28%);
  opacity: var(--smoke-core-opacity);
  filter: blur(18px);
  transform: rotate(-7deg) scale(1.06, .93);
  animation: smokeDriftA 8.5s ease-in-out infinite alternate;
}

.edge-smoke::after {
  inset: 13%;
  opacity: calc(var(--smoke-core-opacity) * .72);
  transform: rotate(11deg) scale(.96, 1.08);
  animation: smokeDriftB 10.5s ease-in-out infinite alternate;
}

.edge-smoke__wisp {
  position: absolute;
  width: 28%;
  aspect-ratio: 1.9 / 1;
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 35% 50%, rgba(255,255,255,.58), rgba(235,242,255,.22) 38%, transparent 72%);
  opacity: calc(var(--smoke-opacity) * .72);
  filter: blur(13px);
  transform-origin: center;
  animation: smokeWisp 7s ease-in-out infinite alternate;
}

.edge-smoke__wisp--1 { left: 28%; top: 19%; transform: rotate(-18deg) scale(1.15,.72); animation-delay: -1.2s; }
.edge-smoke__wisp--2 { right: 20%; top: 27%; transform: rotate(24deg) scale(.92,.62); animation-delay: -3.8s; }
.edge-smoke__wisp--3 { right: 18%; bottom: 25%; transform: rotate(-16deg) scale(1.08,.68); animation-delay: -5.1s; }
.edge-smoke__wisp--4 { left: 26%; bottom: 18%; transform: rotate(13deg) scale(1.22,.64); animation-delay: -2.6s; }
.edge-smoke__wisp--5 { left: 15%; top: 43%; transform: rotate(72deg) scale(.85,.58); animation-delay: -4.4s; }
.edge-smoke__wisp--6 { right: 13%; top: 47%; transform: rotate(105deg) scale(.78,.55); animation-delay: -6.2s; }

.stage.manual-color-preview .edge-smoke,
.stage.logo-clicked .edge-smoke {
  filter: blur(calc(10px + var(--neon-thickness) * .35)) saturate(1.15);
}

.stage.manual-color-preview .edge-smoke::before,
.stage.logo-clicked .edge-smoke::before {
  background:
    radial-gradient(ellipse at 18% 35%, rgba(255,72,162,.42), transparent 28%),
    radial-gradient(ellipse at 77% 28%, rgba(102,153,255,.38), transparent 25%),
    radial-gradient(ellipse at 72% 74%, rgba(96,225,190,.25), transparent 26%),
    radial-gradient(ellipse at 34% 78%, rgba(255,255,255,.18), transparent 28%);
}

.stage.manual-color-preview .edge-smoke__wisp,
.stage.logo-clicked .edge-smoke__wisp {
  background: radial-gradient(ellipse at 35% 50%, rgba(210,225,255,.50), rgba(155,190,255,.19) 40%, transparent 74%);
}

body.cloud-disabled .edge-smoke { opacity: 0; }

@keyframes smokeDriftA {
  from { transform: rotate(-7deg) translate(-1.5%, 1%) scale(1.04,.92); }
  to   { transform: rotate(-3deg) translate(2%, -1.2%) scale(1.09,.96); }
}

@keyframes smokeDriftB {
  from { transform: rotate(11deg) translate(1.2%, -1%) scale(.95,1.07); }
  to   { transform: rotate(7deg) translate(-1.8%, 1.5%) scale(.99,1.10); }
}

@keyframes smokeWisp {
  from { translate: -2% 1%; opacity: calc(var(--smoke-opacity) * .48); }
  to   { translate: 3% -2%; opacity: calc(var(--smoke-opacity) * .78); }
}

@media (prefers-reduced-motion: reduce) {
  .edge-smoke::before,
  .edge-smoke::after,
  .edge-smoke__wisp { animation: none !important; }
}


/* =========================================================
   V84 — los dos últimos controles expanden el humo.
   ========================================================= */
:root {
  --smoke-near-scale: 1;
  --smoke-far-inset: -24%;
  --smoke-far-blur: 10px;
  --smoke-core-inset: 24%;
  --smoke-wisp-size: 24%;
}

.edge-smoke {
  inset: var(--smoke-far-inset) !important;
  filter: blur(calc(var(--smoke-far-blur) + var(--neon-thickness) * .35)) !important;
}

.edge-smoke::before {
  inset: var(--smoke-core-inset) !important;
  transform: rotate(-7deg) scale(calc(1.06 * var(--smoke-near-scale)), calc(.93 * var(--smoke-near-scale)));
}

.edge-smoke::after {
  inset: calc(var(--smoke-core-inset) - 5%) !important;
  transform: rotate(11deg) scale(calc(.96 * var(--smoke-near-scale)), calc(1.08 * var(--smoke-near-scale)));
}

.edge-smoke__wisp {
  width: var(--smoke-wisp-size) !important;
}

.stage.manual-color-preview .edge-smoke,
.stage.logo-clicked .edge-smoke {
  filter: blur(calc(var(--smoke-far-blur) + var(--neon-thickness) * .35)) saturate(1.15) !important;
}


/* =========================================================
   V86 — conserva el humo expandido de V84, pero añade un
   núcleo blanco más denso junto al borde del logo.
   El humo permanece blanco también en el modo de color.
   ========================================================= */
:root {
  --smoke-edge-opacity: 0;
}

.edge-smoke__core {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: var(--smoke-edge-opacity);
  background-image: var(--logo-exterior-exact-mask);
  background-position: center;
  background-repeat: no-repeat;
  background-size: calc(var(--stage-size) * 0.92236816) auto;
  filter:
    blur(calc(4px + var(--neon-thickness) * .22))
    drop-shadow(0 0 7px rgba(255,255,255,.96))
    drop-shadow(0 0 16px rgba(255,255,255,.68))
    drop-shadow(0 0 28px rgba(255,255,255,.34));
  transform: scale(var(--smoke-near-scale));
  transform-origin: center;
}

.edge-smoke::before,
.edge-smoke::after,
.edge-smoke__wisp {
  z-index: 1;
}

/* Todo el humo se mantiene blanco, incluso durante la vista de color. */
.stage.manual-color-preview .edge-smoke,
.stage.logo-clicked .edge-smoke {
  filter: blur(calc(var(--smoke-far-blur) + var(--neon-thickness) * .35)) !important;
}

.stage.manual-color-preview .edge-smoke::before,
.stage.logo-clicked .edge-smoke::before,
.stage.manual-color-preview .edge-smoke::after,
.stage.logo-clicked .edge-smoke::after {
  background:
    radial-gradient(ellipse at 20% 30%, rgba(255,255,255,.40), transparent 27%),
    radial-gradient(ellipse at 77% 24%, rgba(255,255,255,.33), transparent 24%),
    radial-gradient(ellipse at 83% 66%, rgba(255,255,255,.28), transparent 25%),
    radial-gradient(ellipse at 34% 80%, rgba(255,255,255,.30), transparent 28%) !important;
}

.stage.manual-color-preview .edge-smoke__wisp,
.stage.logo-clicked .edge-smoke__wisp {
  background: radial-gradient(ellipse at 35% 50%, rgba(255,255,255,.64), rgba(255,255,255,.25) 38%, transparent 72%) !important;
}

.stage.manual-color-preview .edge-smoke__core,
.stage.logo-clicked .edge-smoke__core {
  filter:
    blur(calc(4px + var(--neon-thickness) * .22))
    drop-shadow(0 0 7px rgba(255,255,255,.96))
    drop-shadow(0 0 16px rgba(255,255,255,.68))
    drop-shadow(0 0 28px rgba(255,255,255,.34)) !important;
}


/* =========================================================
   V87 — humo blanco, irregular y más denso junto al logo.
   Recupera el carácter aleatorio de la versión anterior,
   evitando una nube circular uniforme.
   ========================================================= */
.edge-smoke {
  overflow: visible !important;
  opacity: calc(var(--smoke-opacity) * .95) !important;
}

/* Núcleo cercano: más denso, pero fragmentado para no dibujar un aro perfecto. */
.edge-smoke__core {
  opacity: calc(var(--smoke-edge-opacity) * .68) !important;
  background-image: none !important;
  inset: 17% !important;
  border-radius: 46% 54% 48% 52% / 58% 43% 57% 42%;
  background:
    radial-gradient(ellipse at 18% 31%, rgba(255,255,255,.92) 0 5%, rgba(255,255,255,.46) 15%, transparent 32%),
    radial-gradient(ellipse at 47% 13%, rgba(255,255,255,.76) 0 4%, rgba(255,255,255,.34) 13%, transparent 28%),
    radial-gradient(ellipse at 82% 30%, rgba(255,255,255,.88) 0 5%, rgba(255,255,255,.42) 14%, transparent 30%),
    radial-gradient(ellipse at 91% 61%, rgba(255,255,255,.78) 0 4%, rgba(255,255,255,.30) 14%, transparent 29%),
    radial-gradient(ellipse at 69% 88%, rgba(255,255,255,.82) 0 5%, rgba(255,255,255,.38) 15%, transparent 31%),
    radial-gradient(ellipse at 30% 87%, rgba(255,255,255,.84) 0 5%, rgba(255,255,255,.39) 15%, transparent 31%),
    radial-gradient(ellipse at 7% 61%, rgba(255,255,255,.86) 0 5%, rgba(255,255,255,.40) 14%, transparent 30%);
  filter: blur(calc(7px + var(--neon-thickness) * .30)) !important;
  transform: rotate(-4deg) scale(calc(.98 * var(--smoke-near-scale)), calc(.94 * var(--smoke-near-scale))) !important;
  animation: smokeCoreIrregular 9s ease-in-out infinite alternate;
}

/* Las masas grandes pierden simetría y se mantienen blancas. */
.edge-smoke::before,
.edge-smoke::after {
  background:
    radial-gradient(ellipse at 13% 28%, rgba(255,255,255,.42), transparent 24%),
    radial-gradient(ellipse at 38% 12%, rgba(255,255,255,.28), transparent 19%),
    radial-gradient(ellipse at 76% 20%, rgba(255,255,255,.35), transparent 22%),
    radial-gradient(ellipse at 91% 48%, rgba(255,255,255,.25), transparent 20%),
    radial-gradient(ellipse at 72% 83%, rgba(255,255,255,.30), transparent 23%),
    radial-gradient(ellipse at 31% 90%, rgba(255,255,255,.27), transparent 24%),
    radial-gradient(ellipse at 8% 66%, rgba(255,255,255,.34), transparent 22%) !important;
  border-radius: 43% 57% 61% 39% / 55% 37% 63% 45% !important;
  opacity: calc(var(--smoke-core-opacity) * .74) !important;
  filter: blur(calc(18px + var(--smoke-far-blur) * .32)) !important;
}

.edge-smoke::after {
  opacity: calc(var(--smoke-core-opacity) * .48) !important;
  border-radius: 58% 42% 39% 61% / 43% 61% 39% 57% !important;
}

/* Mechones blancos desiguales. Su posición y forma rompen el aspecto redondo. */
.edge-smoke__wisp {
  width: calc(var(--smoke-wisp-size) * .78) !important;
  aspect-ratio: 2.35 / 1 !important;
  border-radius: 58% 42% 66% 34% / 54% 63% 37% 46% !important;
  background:
    radial-gradient(ellipse at 28% 48%, rgba(255,255,255,.72) 0 8%, rgba(255,255,255,.31) 31%, transparent 71%),
    radial-gradient(ellipse at 71% 42%, rgba(255,255,255,.32), transparent 57%) !important;
  opacity: calc(var(--smoke-opacity) * .82) !important;
  filter: blur(calc(9px + var(--smoke-far-blur) * .18)) !important;
  animation-name: smokeWispIrregular !important;
  animation-timing-function: ease-in-out !important;
  animation-direction: alternate !important;
}

.edge-smoke__wisp--1  { left: 25%; top: 22%; transform: rotate(-24deg) scale(1.24,.55); animation-duration: 8.1s; }
.edge-smoke__wisp--2  { right: 18%; top: 27%; transform: rotate(31deg) scale(.88,.49); animation-duration: 10.7s; }
.edge-smoke__wisp--3  { right: 14%; bottom: 28%; transform: rotate(-20deg) scale(1.18,.52); animation-duration: 7.6s; }
.edge-smoke__wisp--4  { left: 24%; bottom: 17%; transform: rotate(17deg) scale(1.32,.48); animation-duration: 11.4s; }
.edge-smoke__wisp--5  { left: 10%; top: 46%; transform: rotate(78deg) scale(.92,.46); animation-duration: 9.3s; }
.edge-smoke__wisp--6  { right: 8%; top: 48%; transform: rotate(102deg) scale(.83,.42); animation-duration: 12.2s; }
.edge-smoke__wisp--7  { left: 34%; top: 8%; transform: rotate(-8deg) scale(.76,.36); animation-duration: 6.9s; animation-delay: -2.1s; }
.edge-smoke__wisp--8  { right: 30%; top: 12%; transform: rotate(12deg) scale(1.08,.40); animation-duration: 13.1s; animation-delay: -5.2s; }
.edge-smoke__wisp--9  { right: 3%; top: 36%; transform: rotate(63deg) scale(.73,.35); animation-duration: 8.8s; animation-delay: -3.7s; }
.edge-smoke__wisp--10 { right: 25%; bottom: 6%; transform: rotate(-7deg) scale(1.10,.38); animation-duration: 10.2s; animation-delay: -6.1s; }
.edge-smoke__wisp--11 { left: 16%; bottom: 27%; transform: rotate(43deg) scale(.89,.41); animation-duration: 7.9s; animation-delay: -4.4s; }
.edge-smoke__wisp--12 { left: 2%; top: 31%; transform: rotate(-58deg) scale(.78,.33); animation-duration: 12.7s; animation-delay: -7.0s; }

/* El humo permanece blanco tanto en Normal como en Color. */
.stage.manual-color-preview .edge-smoke__core,
.stage.logo-clicked .edge-smoke__core,
.stage.manual-color-preview .edge-smoke::before,
.stage.logo-clicked .edge-smoke::before,
.stage.manual-color-preview .edge-smoke::after,
.stage.logo-clicked .edge-smoke::after,
.stage.manual-color-preview .edge-smoke__wisp,
.stage.logo-clicked .edge-smoke__wisp {
  filter: inherit;
}

@keyframes smokeCoreIrregular {
  0%   { translate: -1.2% .5%; rotate: -3deg; scale: 1 .97; }
  45%  { translate: .8% -1%; rotate: 1deg; scale: 1.025 1.01; }
  100% { translate: 1.7% .7%; rotate: 3deg; scale: .99 1.025; }
}

@keyframes smokeWispIrregular {
  0%   { translate: -3% 2%; opacity: calc(var(--smoke-opacity) * .48); }
  38%  { translate: 1% -1%; opacity: calc(var(--smoke-opacity) * .82); }
  72%  { translate: 4% 1%; opacity: calc(var(--smoke-opacity) * .58); }
  100% { translate: -1% -3%; opacity: calc(var(--smoke-opacity) * .76); }
}

/* =========================================================
   V88 — mayor alcance y gradiente real de densidad.
   Blanco muy denso junto al logo; tenue a gran distancia.
   ========================================================= */
:root {
  --smoke-mid-opacity: 0;
  --smoke-far-opacity: 0;
}

/* Capa pegada al logo: la más blanca y compacta. */
.edge-smoke__core {
  opacity: var(--smoke-edge-opacity) !important;
  filter:
    blur(calc(4px + var(--neon-thickness) * .22))
    drop-shadow(0 0 5px rgba(255,255,255,.98))
    drop-shadow(0 0 12px rgba(255,255,255,.78))
    drop-shadow(0 0 24px rgba(255,255,255,.42)) !important;
}

/* Masa intermedia: visible, pero claramente menos densa. */
.edge-smoke::before {
  opacity: var(--smoke-mid-opacity) !important;
}

.edge-smoke::after {
  opacity: calc(var(--smoke-mid-opacity) * .68) !important;
}

/* Mechones lejanos: alcance amplio, poca densidad y blanco limpio. */
.edge-smoke__wisp {
  opacity: var(--smoke-far-opacity) !important;
  filter: blur(calc(12px + var(--smoke-far-blur) * .22)) !important;
}

@keyframes smokeWispIrregular {
  0%   { translate: -3% 2%; opacity: calc(var(--smoke-far-opacity) * .55); }
  38%  { translate: 1% -1%; opacity: var(--smoke-far-opacity); }
  72%  { translate: 4% 1%; opacity: calc(var(--smoke-far-opacity) * .68); }
  100% { translate: -1% -3%; opacity: calc(var(--smoke-far-opacity) * .86); }
}


/* =========================================================
   V89 — núcleo de humo realmente blanco y denso al 100%.
   La expansión conserva la irregularidad; sólo se refuerza
   la franja pegada a la silueta del logo.
   ========================================================= */
.edge-smoke {
  opacity: var(--smoke-opacity) !important;
}

/* Franja compacta pegada al logo: usa la silueta exacta y se
   vuelve casi blanca cuando Densidad del humo llega a 100%. */
.edge-smoke__core {
  inset: 0 !important;
  background: rgba(255,255,255,1) !important;
  background-image: none !important;
  border-radius: 0 !important;
  opacity: var(--smoke-core-opacity) !important;

  -webkit-mask-image: var(--logo-exterior-exact-mask) !important;
  mask-image: var(--logo-exterior-exact-mask) !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-size: calc(var(--stage-size) * 0.92236816) auto !important;
  mask-size: calc(var(--stage-size) * 0.92236816) auto !important;
  -webkit-mask-mode: alpha !important;
  mask-mode: alpha !important;

  transform: scale(calc(1.008 + var(--box-white-near) * .018)) !important;
  transform-origin: center !important;
  animation: smokeCoreDensePulse 8s ease-in-out infinite alternate !important;

  filter:
    blur(calc(2px + var(--neon-thickness) * .12))
    drop-shadow(0 0 3px rgba(255,255,255,1))
    drop-shadow(0 0 7px rgba(255,255,255,.98))
    drop-shadow(0 0 14px rgba(255,255,255,.90))
    drop-shadow(0 0 25px rgba(255,255,255,.62))
    drop-shadow(0 0 42px rgba(255,255,255,.32)) !important;
}

/* Refuerzo cercano irregular para que no se convierta en un aro perfecto. */
.edge-smoke::before {
  opacity: calc(var(--smoke-core-opacity) * .78) !important;
  filter: blur(calc(10px + var(--smoke-far-blur) * .16)) !important;
}

.edge-smoke::after {
  opacity: calc(var(--smoke-mid-opacity) * .78) !important;
}

/* Lejos del logo sigue siendo tenue aunque el alcance sea alto. */
.edge-smoke__wisp {
  opacity: var(--smoke-far-opacity) !important;
}

@keyframes smokeCoreDensePulse {
  0%   { translate: -.25% .15%; scale: 1 .995; }
  50%  { translate: .18% -.18%; scale: 1.004 1.006; }
  100% { translate: .28% .20%; scale: .998 1.003; }
}

/* === Capa adicional: nube PNG detrás del logo (sin tocar funcionalidad) === */
.stage::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(calc(var(--stage-size) * 2.35), 92vw);
  aspect-ratio: 1470 / 1070;
  transform: translate(-50%, -50%);
  background: url("assets/cloud-gray-transparent.png") center / contain no-repeat;
  opacity: 0.34;
  mix-blend-mode: screen;
  filter: grayscale(1) brightness(1.08) contrast(1.03) blur(14px);
  pointer-events: none;
  z-index: 0;
}

/* V94 — controles independientes para la nube PNG agregada */
:root {
  --png-cloud-opacity: .34;
  --png-cloud-scale: 1;
}

.stage::before {
  width: min(calc(var(--stage-size) * 2.35 * var(--png-cloud-scale)), 96vw) !important;
  opacity: var(--png-cloud-opacity) !important;
  transition: width 160ms linear, opacity 160ms linear;
}

body.cloud-disabled .stage::before {
  opacity: 0;
}

/* V95 — nube PNG con aspecto más de humo y sin cuadritos */
.stage::before {
  background: url("assets/cloud-gray-transparent.png") center / contain no-repeat !important;
  filter: grayscale(1) brightness(1.02) contrast(1.14) blur(3px) !important;
}

/* V96 — la nube PNG adicional no debe entrar al logo:
   se recorta con la misma máscara exterior exacta del otro humo. */
.stage::before {
  -webkit-mask-image: linear-gradient(#fff 0 0), var(--logo-exterior-exact-mask) !important;
  mask-image: linear-gradient(#fff 0 0), var(--logo-exterior-exact-mask) !important;
  -webkit-mask-position: center, center !important;
  mask-position: center, center !important;
  -webkit-mask-repeat: no-repeat, no-repeat !important;
  mask-repeat: no-repeat, no-repeat !important;
  -webkit-mask-composite: xor !important;
  mask-composite: exclude !important;
  -webkit-mask-mode: alpha !important;
  mask-mode: alpha !important;
  -webkit-mask-size: 100% 100%, calc(var(--stage-size) * 0.9118) auto !important;
  mask-size: 100% 100%, calc(var(--stage-size) * 0.9118) auto !important;
}

/* =========================================================
   CORRECCIÓN FINAL — WIFI SECUENCIAL VISIBLE EN 14 SEGUNDOS
   Punto -> primer arco -> segundo arco -> reinicio.
   Esta regla anula los bloqueos antiguos que ocultaban el Wi‑Fi.
   ========================================================= */
.logo__wifi-sequence,
.logo__wifi-sequence .wifi-glow,
.logo__wifi-sequence .wifi-mask,
.wifi-glow,
.wifi-mask {
  display: block !important;
  visibility: visible !important;
  pointer-events: none !important;
  animation-play-state: running !important;
}

.logo__wifi-sequence {
  position: absolute !important;
  inset: 0 !important;
  z-index: 30 !important;
  opacity: 1;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* Aunque la secuencia general esté marcada como pausada,
   el pintado del Wi‑Fi continúa automáticamente. */
.sequence-paused .logo__wifi-sequence .wifi-glow,
.sequence-paused .logo__wifi-sequence .wifi-mask,
body.sequence-paused .logo__wifi-sequence .wifi-glow,
body.sequence-paused .logo__wifi-sequence .wifi-mask {
  animation-play-state: running !important;
}

.logo__wifi-sequence .wifi-glow {
  background: rgba(255,255,255,.36) !important;
  mix-blend-mode: screen !important;
  filter:
    blur(5px)
    drop-shadow(0 0 5px rgba(255,255,255,.50))
    drop-shadow(0 0 13px rgba(255,255,255,.48))
    drop-shadow(0 0 27px rgba(255,255,255,.29)) !important;
}

.logo__wifi-sequence .wifi-mask {
  background: rgba(255,255,255,.50) !important;
  mix-blend-mode: screen !important;
  filter:
    drop-shadow(0 0 2px rgba(255,255,255,.50))
    drop-shadow(0 0 7px rgba(255,255,255,.50))
    drop-shadow(0 0 16px rgba(255,255,255,.41)) !important;
}

.logo__wifi-sequence .wifi-glow--dot,
.logo__wifi-sequence .wifi-mask--dot {
  animation: wifiDotVisible14 14s ease-in-out infinite !important;
}

.logo__wifi-sequence .wifi-glow--wave1,
.logo__wifi-sequence .wifi-mask--wave1 {
  animation: wifiWave1Visible14 14s ease-in-out infinite !important;
}

.logo__wifi-sequence .wifi-glow--wave2,
.logo__wifi-sequence .wifi-mask--wave2 {
  animation: wifiWave2Visible14 14s ease-in-out infinite !important;
}

@keyframes wifiDotVisible14 {
  0%, 3%   { opacity: 0; }
  8%, 82%  { opacity: .5; }
  92%,100% { opacity: 0; }
}

@keyframes wifiWave1Visible14 {
  0%, 27%  { opacity: 0; }
  34%, 82% { opacity: .5; }
  92%,100% { opacity: 0; }
}

@keyframes wifiWave2Visible14 {
  0%, 54%  { opacity: 0; }
  62%, 82% { opacity: .5; }
  92%,100% { opacity: 0; }
}


/* V102 — corrección real de la secuencia Wi‑Fi de 14 segundos. */
.logo__wifi-sequence {
  z-index: 40 !important;
  opacity: 1 !important;
  display: block !important;
  visibility: visible !important;
}

.logo__wifi-sequence .wifi-glow,
.logo__wifi-sequence .wifi-mask {
  display: block !important;
  visibility: visible !important;
  animation-play-state: running !important;
  will-change: opacity;
}

.logo__wifi-sequence .wifi-glow--dot,
.logo__wifi-sequence .wifi-mask--dot {
  animation: wifiDotVisible14 14s linear infinite !important;
}
.logo__wifi-sequence .wifi-glow--wave1,
.logo__wifi-sequence .wifi-mask--wave1 {
  animation: wifiWave1Visible14 14s linear infinite !important;
}
.logo__wifi-sequence .wifi-glow--wave2,
.logo__wifi-sequence .wifi-mask--wave2 {
  animation: wifiWave2Visible14 14s linear infinite !important;
}

@keyframes wifiDotVisible14 {
  0%, 4% { opacity: 0; }
  8%, 88% { opacity: .5; }
  96%, 100% { opacity: 0; }
}
@keyframes wifiWave1Visible14 {
  0%, 31% { opacity: 0; }
  36%, 88% { opacity: .5; }
  96%, 100% { opacity: 0; }
}
@keyframes wifiWave2Visible14 {
  0%, 58% { opacity: 0; }
  64%, 88% { opacity: .5; }
  96%, 100% { opacity: 0; }
}


/* =========================================================
   V103 — CLICK SIMPLE: MISMO LOGO NORMAL, SOLO HUMO DE COLOR
   - Se elimina completamente el círculo/aura multicolor anterior.
   - No cambia el logo, neón, reflejo ni controles.
   - Únicamente la nube exterior pasa de blanco/gris a color.
   ========================================================= */
.stage.logo-clicked .click-bloom,
.stage.logo-clicked .click-wave,
.stage.manual-color-preview .click-bloom,
.stage.manual-color-preview .click-wave {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
  background: none !important;
  filter: none !important;
}

/* Mantener el logo exactamente igual al estado normal durante el clic. */
.stage.logo-clicked .logo,
.stage.logo-clicked .logo__solid,
.stage.logo-clicked .logo__halo,
.stage.logo-clicked .logo__metal-reflection,
.stage.logo-clicked .soft-neon--near,
.stage.logo-clicked .soft-neon--far,
.stage.logo-clicked .contour-light__glow {
  filter: revert-layer !important;
  transform: revert-layer !important;
  opacity: revert-layer !important;
}

/* Nube PNG: mismo humo y transparencia real; solo cambia el color.
   No se usan degradados de fondo, por eso el fondo permanece negro. */
.stage.logo-clicked::before,
.stage.manual-color-preview::before {
  background: url("assets/cloud-color-transparent.png") center / contain no-repeat !important;
  background-color: transparent !important;
  background-blend-mode: normal !important;
  filter: brightness(1.03) contrast(1.12) saturate(1.20) blur(3px) !important;
}

/* Humo orgánico: conservar exactamente su forma, movimiento y densidad;
   solo reemplazar el blanco por la mezcla de colores. */
.stage.logo-clicked .edge-smoke,
.stage.manual-color-preview .edge-smoke {
  filter: blur(calc(var(--smoke-far-blur) + var(--neon-thickness) * .35)) saturate(1.22) !important;
}

.stage.logo-clicked .edge-smoke__core,
.stage.manual-color-preview .edge-smoke__core {
  background:
    radial-gradient(ellipse at 18% 31%, rgba(255,78,166,.92) 0 5%, rgba(255,78,166,.42) 15%, transparent 32%),
    radial-gradient(ellipse at 47% 13%, rgba(184,112,255,.76) 0 4%, rgba(184,112,255,.34) 13%, transparent 28%),
    radial-gradient(ellipse at 82% 30%, rgba(76,136,255,.88) 0 5%, rgba(76,136,255,.42) 14%, transparent 30%),
    radial-gradient(ellipse at 91% 61%, rgba(72,218,188,.68) 0 4%, rgba(72,218,188,.28) 14%, transparent 29%),
    radial-gradient(ellipse at 69% 88%, rgba(116,168,255,.66) 0 5%, rgba(116,168,255,.28) 15%, transparent 31%),
    radial-gradient(ellipse at 30% 87%, rgba(255,102,190,.72) 0 5%, rgba(255,102,190,.30) 15%, transparent 31%),
    radial-gradient(ellipse at 7% 61%, rgba(112,152,255,.74) 0 5%, rgba(112,152,255,.32) 14%, transparent 30%) !important;
}

.stage.logo-clicked .edge-smoke::before,
.stage.logo-clicked .edge-smoke::after,
.stage.manual-color-preview .edge-smoke::before,
.stage.manual-color-preview .edge-smoke::after {
  background:
    radial-gradient(ellipse at 13% 28%, rgba(255,70,164,.52), transparent 24%),
    radial-gradient(ellipse at 38% 12%, rgba(190,108,255,.38), transparent 19%),
    radial-gradient(ellipse at 76% 20%, rgba(78,135,255,.48), transparent 22%),
    radial-gradient(ellipse at 91% 48%, rgba(66,214,184,.34), transparent 20%),
    radial-gradient(ellipse at 72% 83%, rgba(92,154,255,.32), transparent 23%),
    radial-gradient(ellipse at 31% 90%, rgba(255,88,180,.38), transparent 24%),
    radial-gradient(ellipse at 8% 66%, rgba(108,148,255,.42), transparent 22%) !important;
}

.stage.logo-clicked .edge-smoke__wisp,
.stage.manual-color-preview .edge-smoke__wisp {
  background:
    radial-gradient(ellipse at 26% 48%, rgba(255,86,176,.76) 0 8%, rgba(255,86,176,.31) 31%, transparent 71%),
    radial-gradient(ellipse at 72% 42%, rgba(78,140,255,.48), transparent 57%),
    radial-gradient(ellipse at 55% 60%, rgba(67,214,180,.25), transparent 50%) !important;
}

/* V104 — corrección definitiva: nube de color con transparencia real.
   El fondo de la página permanece negro; no existe ninguna capa rectangular. */
.stage.logo-clicked,
.stage.manual-color-preview {
  background: transparent !important;
}

.stage.logo-clicked::before,
.stage.manual-color-preview::before {
  background-image: url("assets/cloud-color-transparent.png") !important;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  background-blend-mode: normal !important;
  mix-blend-mode: screen !important;
  filter: brightness(1.02) contrast(1.08) saturate(1.12) blur(3px) !important;
}


/* =========================================================
   V105 — giro del logo mediante arrastre.
   El humo se oculta al arrastrar y vuelve al soltar.
   El logo regresa a su posición inicial en 7 segundos.
   ========================================================= */
.logo {
  --drag-rotate-x: 0deg;
  --drag-rotate-y: 0deg;
  --drag-rotate-z: 0deg;
  cursor: grab;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  transform-style: preserve-3d;
  will-change: transform;
  transform:
    perspective(900px)
    rotateX(var(--drag-rotate-x))
    rotateY(var(--drag-rotate-y))
    rotateZ(var(--drag-rotate-z)) !important;
}

.stage.logo-dragging .logo {
  cursor: grabbing;
  transition: none !important;
}

.logo.logo-returning {
  transition: transform 7s cubic-bezier(.16, .84, .28, 1) !important;
}

.stage.logo-dragging .edge-smoke,
.stage.logo-dragging::before,
.stage.logo-dragging .box-cloud {
  opacity: 0 !important;
  visibility: hidden !important;
}

.stage.logo-dragging .soft-neon-sequence,
.stage.logo-dragging .contour-light,
.stage.logo-dragging .logo__halo,
.stage.logo-dragging .logo__metal-reflection {
  visibility: visible !important;
}

@media (prefers-reduced-motion: reduce) {
  .logo.logo-returning {
    transition-duration: 700ms !important;
  }
}

/* V106 — ocultar la máscara/ocultador plano durante el giro 3D.
   Evita que aparezca el óvalo negro detrás del logo al arrastrar.
   Se vuelve a mostrar cuando termina el regreso de 7 segundos. */
.stage.logo-dragging .logo::before,
.logo.logo-returning::before {
  opacity: 0 !important;
  visibility: hidden !important;
}

.stage.logo-dragging .logo,
.logo.logo-returning {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.stage.logo-dragging .logo__solid,
.stage.logo-dragging .logo__metal-reflection,
.stage.logo-dragging .logo__protected-inner,
.stage.logo-dragging .logo__wifi-sequence,
.logo.logo-returning .logo__solid,
.logo.logo-returning .logo__metal-reflection,
.logo.logo-returning .logo__protected-inner,
.logo.logo-returning .logo__wifi-sequence {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* =========================================================
   V107 — arrastre 3D tipo moneda.
   Durante el arrastre el fondo queda negro, sin máscaras 2D
   detrás del logo. El neón y el grosor giran junto al logo.
   ========================================================= */
.logo {
  transform-style: preserve-3d !important;
}

.logo__thickness,
.logo__drag-neon {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform-style: preserve-3d;
}

.logo__thickness {
  z-index: -1;
}

.logo__thickness > span {
  position: absolute;
  inset: 0;
  transform: translateZ(var(--z));
  background:
    linear-gradient(90deg,
      #050506 0%,
      #111018 20%,
      #2a2435 45%,
      #0d0e13 72%,
      #030304 100%);
  -webkit-mask: url("assets/logo-edge-mask.png") center / contain no-repeat;
  mask: url("assets/logo-edge-mask.png") center / contain no-repeat;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035);
  backface-visibility: visible;
  -webkit-backface-visibility: visible;
}

.logo__drag-neon {
  z-index: -3;
  transform: translateZ(-26px) scale(1.01);
  background: rgba(255,255,255,.72);
  -webkit-mask: url("assets/logo-edge-mask.png") center / contain no-repeat;
  mask: url("assets/logo-edge-mask.png") center / contain no-repeat;
  filter:
    blur(9px)
    drop-shadow(0 0 8px rgba(255,255,255,.72))
    drop-shadow(0 0 20px rgba(255,255,255,.38));
}

.stage.logo-dragging .logo__thickness,
.stage.logo-dragging .logo__drag-neon,
.logo.logo-returning .logo__thickness,
.logo.logo-returning .logo__drag-neon {
  opacity: 1;
  visibility: visible;
}

/* Fondo totalmente negro mientras se arrastra: se ocultan todas
   las capas 2D que quedaban fijas detrás y revelaban la máscara. */
.stage.logo-dragging::before,
.stage.logo-dragging::after,
.stage.logo-dragging .edge-smoke,
.stage.logo-dragging .box-cloud,
.stage.logo-dragging .soft-neon-sequence,
.stage.logo-dragging .contour-light,
.stage.logo-dragging .wifi-aura-sequence,
.stage.logo-dragging .click-bloom,
.stage.logo-dragging .click-wave {
  opacity: 0 !important;
  visibility: hidden !important;
  display: none !important;
}

.stage.logo-dragging {
  background: #000 !important;
}

.stage.logo-dragging .logo::before {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* El frente sigue limpio; el volumen se forma solo hacia atrás. */
.stage.logo-dragging .logo__solid,
.stage.logo-dragging .logo__metal-reflection,
.stage.logo-dragging .logo__protected-inner,
.stage.logo-dragging .logo__wifi-sequence,
.logo.logo-returning .logo__solid,
.logo.logo-returning .logo__metal-reflection,
.logo.logo-returning .logo__protected-inner,
.logo.logo-returning .logo__wifi-sequence {
  transform: translateZ(1px);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* Al soltar, las capas normales reaparecen de inmediato.
   El grosor sigue visible solo mientras la moneda vuelve en 7 s. */
.logo:not(.logo-returning) .logo__thickness,
.logo:not(.logo-returning) .logo__drag-neon {
  transition: opacity 140ms linear;
}

/* V108 — moneda 3D cinco veces más gruesa. */
.logo__drag-neon {
  transform: translateZ(-124px) scale(1.015) !important;
}

.logo__thickness > span {
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.028),
    inset 9px 0 14px rgba(255,255,255,.025),
    inset -12px 0 18px rgba(0,0,0,.52);
}

/* V109 — grosor 3D visible tipo cinco monedas.
   El volumen usa la silueta completa del logo, no solo el borde. */
.logo__thickness {
  z-index: 0 !important;
  transform-style: preserve-3d !important;
}

.logo__thickness > span {
  z-index: 0 !important;
  background:
    linear-gradient(
      90deg,
      #020203 0%,
      #0a0910 14%,
      #211c2b 34%,
      #3a3048 50%,
      #17131f 68%,
      #07070b 86%,
      #010102 100%
    ) !important;
  -webkit-mask: url("assets/logo-mask.png") center / contain no-repeat !important;
  mask: url("assets/logo-mask.png") center / contain no-repeat !important;
  backface-visibility: visible !important;
  -webkit-backface-visibility: visible !important;
  box-shadow:
    inset 2px 0 2px rgba(255,255,255,.07),
    inset -6px 0 9px rgba(0,0,0,.70) !important;
}

/* La cara frontal queda delante de todas las capas del canto. */
.logo__halo,
.logo__solid,
.logo__metal-reflection,
.logo__protected-inner,
.logo__wifi-sequence {
  z-index: 20 !important;
  transform: translateZ(4px) !important;
}

/* Luz tenue en la cara posterior para separar visualmente el grosor. */
.logo__drag-neon {
  z-index: 1 !important;
  transform: translateZ(-126px) scale(1.012) !important;
  opacity: 0 !important;
}

.stage.logo-dragging .logo__drag-neon,
.logo.logo-returning .logo__drag-neon {
  opacity: .42 !important;
}

/* Evita que el aislamiento plano esconda las capas negativas de profundidad. */
.stage.logo-dragging .logo,
.logo.logo-returning {
  overflow: visible !important;
  isolation: auto !important;
  transform-style: preserve-3d !important;
}


/* =========================================================
   V112 — regreso rápido en 3 s y sin reflejos/sombras
   durante arrastre y retorno.
   ========================================================= */
.logo.logo-returning {
  transition: transform 3s cubic-bezier(.16, .84, .28, 1) !important;
}

@media (prefers-reduced-motion: reduce) {
  .logo.logo-returning {
    transition-duration: 300ms !important;
  }
}

/* Sin reflejo ni sombra mientras se arrastra y mientras vuelve. */
.stage.logo-dragging .logo__metal-reflection,
.logo.logo-returning .logo__metal-reflection,
.stage.logo-dragging .logo__drag-neon,
.logo.logo-returning .logo__drag-neon {
  opacity: 0 !important;
  visibility: hidden !important;
  display: none !important;
}


/* =========================================================
   V113 — sin reflejo al soltar, retorno más suave y grosor 40% menor.
   ========================================================= */

/* El grosor visible baja aprox. 40% respecto al volumen previo. */
.logo__thickness > span:nth-child(1) { opacity: .92 !important; }
.logo__thickness > span:nth-child(2) { opacity: .84 !important; }
.logo__thickness > span:nth-child(3) { opacity: .74 !important; }
.logo__thickness > span:nth-child(4) { opacity: .60 !important; }
.logo__thickness > span:nth-child(5) { opacity: .44 !important; }
.logo__thickness > span:nth-child(6) { opacity: .28 !important; }
.logo__thickness > span:nth-child(7) { opacity: .12 !important; }

/* Nada de reflejos ni brillos extra durante arrastre ni durante el regreso. */
.stage.logo-dragging .logo__metal-reflection,
.logo.logo-returning .logo__metal-reflection,
.stage.logo-dragging .logo__drag-neon,
.logo.logo-returning .logo__drag-neon {
  opacity: 0 !important;
  visibility: hidden !important;
  display: none !important;
}

/* El volumen 3D se ve solo en arrastre. Al volver, se desvanece
   de forma progresiva para evitar el salto brusco al regresar
   al logo normal. */
.stage.logo-dragging .logo__thickness {
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
}

.logo.logo-returning .logo__thickness {
  opacity: 0 !important;
  visibility: visible !important;
  transition: opacity 3s ease !important;
}

/* El logo vuelve más limpio, sin halo extraño en la parte trasera. */
.logo.logo-returning .logo::before {
  opacity: 1 !important;
  visibility: visible !important;
  transition: opacity 3s ease !important;
}

/* Mantener el fondo totalmente negro mientras se arrastra y mientras vuelve. */
.stage.logo-dragging,
.stage.logo-returning-stage {
  background: #000 !important;
}
.stage.logo-returning-stage::before,
.stage.logo-returning-stage::after,
.stage.logo-returning-stage .edge-smoke,
.stage.logo-returning-stage .box-cloud,
.stage.logo-returning-stage .soft-neon-sequence,
.stage.logo-returning-stage .contour-light,
.stage.logo-returning-stage .wifi-aura-sequence,
.stage.logo-returning-stage .click-bloom,
.stage.logo-returning-stage .click-wave,
.stage.logo-returning-stage .logo__halo {
  opacity: 0 !important;
  visibility: hidden !important;
  display: none !important;
}


/* =========================================================
   V115 — grosor ~10% mayor y un poco más visible/claro solo en el grosor
   mientras se arrastra el mouse.
   ========================================================= */

/* Ligeramente más claro y con un reflejo sutil solo en el canto 3D. */
.stage.logo-dragging .logo__thickness > span {
  background:
    linear-gradient(
      90deg,
      #06060a 0%,
      #13111b 16%,
      #2d2440 34%,
      #4a3c61 50%,
      #241d33 68%,
      #0b0b11 86%,
      #020203 100%
    ) !important;
  box-shadow:
    inset 2px 0 2px rgba(255,255,255,.12),
    inset 8px 0 18px rgba(186,164,255,.10),
    inset -8px 0 14px rgba(0,0,0,.56),
    0 0 1px rgba(255,255,255,.05) !important;
  filter: brightness(1.08) saturate(1.05) !important;
}

/* Mantener el reflejo sutil también mientras vuelve, pero solo en el grosor. */
.logo.logo-returning .logo__thickness > span {
  background:
    linear-gradient(
      90deg,
      #050509 0%,
      #120f19 16%,
      #2a233c 34%,
      #46385c 50%,
      #211a30 68%,
      #0a0a10 86%,
      #020203 100%
    ) !important;
  box-shadow:
    inset 2px 0 2px rgba(255,255,255,.10),
    inset 7px 0 14px rgba(170,150,245,.08),
    inset -8px 0 12px rgba(0,0,0,.54) !important;
  filter: brightness(1.05) saturate(1.03) !important;
}


/* =========================================================
   V116 — el reflejo que recorre el contorno reaparece suavemente
   después del regreso, sin salto brusco.
   ========================================================= */
.stage.logo-effects-resuming .contour-light,
.stage.logo-effects-resuming .contour-light__glow {
  display: block !important;
  visibility: visible !important;
  opacity: 0 !important;
  transition: opacity 1.1s ease !important;
}

.stage.logo-effects-resuming.logo-effects-resuming-active .contour-light,
.stage.logo-effects-resuming.logo-effects-resuming-active .contour-light__glow {
  opacity: 1 !important;
}

/* =========================================================
   V117 — controles ocultos y logo centrado en cualquier pantalla.
   No modifica la lógica ni las animaciones del logo.
   ========================================================= */
.tuning-panel {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html,
body {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.hero {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.stage {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  justify-self: center !important;
  align-self: center !important;
  transform-origin: center center !important;
}

@supports not (height: 100dvh) {
  .hero {
    height: 100svh !important;
  }
}

/* =========================================================
   V118 — cinta superior, menú, botones y título.
   Mantiene el logo exactamente centrado y no altera su funcionalidad.
   ========================================================= */
:root {
  --header-text: rgba(244,244,244,.90);
  --header-muted: rgba(244,244,244,.66);
  --header-line: rgba(255,255,255,.12);
}

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  width: 100%;
  color: var(--header-text);
  font-family: Arial, Helvetica, sans-serif;
  pointer-events: auto;
}

.top-ribbon {
  min-height: 34px;
  padding: 0 4.5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: rgba(19,19,22,.78);
  background:
    linear-gradient(90deg,
      rgba(178,206,162,.94) 0%,
      rgba(201,193,234,.96) 36%,
      rgba(182,157,236,.96) 67%,
      rgba(231,229,199,.94) 100%);
  font-size: 12px;
  font-weight: 600;
}

.top-ribbon a {
  color: inherit;
  text-decoration: none;
}

.top-ribbon__contact {
  display: flex;
  align-items: center;
  gap: 28px;
  min-width: 0;
}

.language-menu {
  display: flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
}

.language-menu a {
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.language-menu a.is-active {
  background: rgba(255,255,255,.58);
}

.main-nav {
  min-height: 74px;
  padding: 0 4.5vw;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: clamp(24px, 4vw, 70px);
  background: linear-gradient(180deg, rgba(5,5,7,.97), rgba(5,5,7,.72));
  border-bottom: 1px solid var(--header-line);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.brand,
.primary-menu a,
.nav-actions a {
  color: var(--header-text);
  text-decoration: none;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 700;
  white-space: nowrap;
}

.brand__mark {
  position: relative;
  width: 20px;
  height: 18px;
  display: inline-block;
}

.brand__mark i {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 2px;
  background: #f2f2ee;
}
.brand__mark i:nth-child(1) { left: 0; bottom: 0; }
.brand__mark i:nth-child(2) { right: 0; top: 0; }
.brand__mark i:nth-child(3) { right: 0; bottom: 0; }

.primary-menu {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: clamp(24px, 3vw, 48px);
}

.primary-menu a,
.login-link {
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
  transition: opacity .2s ease;
}

.primary-menu a:hover,
.login-link:hover { opacity: .68; }

.nav-actions {
  display: flex;
  align-items: center;
  gap: 13px;
  white-space: nowrap;
}

.nav-button {
  min-height: 42px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}

.nav-button--outline {
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.02);
}

.nav-button--light {
  color: #18181b !important;
  background: #efeee9;
}

.hero-copy {
  position: fixed;
  z-index: 900;
  top: 126px;
  left: 50%;
  width: min(94vw, 1120px);
  transform: translateX(-50%);
  text-align: center;
  color: rgba(240,240,238,.72);
  font-family: Arial, Helvetica, sans-serif;
  pointer-events: none;
}

.hero-copy h1 {
  margin: 0;
  font-size: clamp(38px, 4.8vw, 76px);
  line-height: .96;
  letter-spacing: -.055em;
  font-weight: 500;
  text-wrap: balance;
}

.hero-copy h1 span {
  color: rgba(240,240,238,.88);
}

/* El logo continúa centrado en la ventana completa. */
.hero {
  z-index: 10 !important;
}

@media (max-width: 1050px) {
  .main-nav {
    gap: 18px;
    padding-inline: 24px;
  }
  .primary-menu { gap: 20px; }
  .nav-button { padding-inline: 16px; }
  .hero-copy { top: 122px; }
}

@media (max-width: 860px) {
  .top-ribbon {
    padding: 7px 16px;
    align-items: flex-start;
  }
  .top-ribbon__contact {
    gap: 8px;
    flex-direction: column;
    align-items: flex-start;
  }
  .main-nav {
    min-height: 112px;
    padding: 12px 16px;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "brand actions"
      "menu menu";
    row-gap: 12px;
  }
  .brand { grid-area: brand; }
  .primary-menu {
    grid-area: menu;
    justify-content: center;
    gap: clamp(16px, 5vw, 34px);
    overflow-x: auto;
    scrollbar-width: none;
  }
  .primary-menu::-webkit-scrollbar { display: none; }
  .nav-actions { grid-area: actions; }
  .login-link { display: none; }
  .hero-copy { top: 176px; }
  .hero-copy h1 { font-size: clamp(32px, 7vw, 52px); }
}

@media (max-width: 560px) {
  .top-ribbon__contact a:nth-of-type(2),
  .top-ribbon__contact > span { display: none; }
  .top-ribbon { min-height: 31px; }
  .main-nav {
    min-height: 102px;
    grid-template-columns: 1fr;
    grid-template-areas:
      "brand"
      "actions";
    justify-items: center;
  }
  .primary-menu { display: none; }
  .nav-actions { gap: 8px; }
  .nav-button {
    min-height: 36px;
    padding-inline: 14px;
    font-size: 12px;
  }
  .brand { font-size: 18px; }
  .hero-copy {
    top: 158px;
    width: min(92vw, 520px);
  }
  .hero-copy h1 {
    font-size: clamp(27px, 8.2vw, 42px);
    line-height: 1.02;
  }
}

@media (max-height: 680px) {
  .hero-copy { top: 112px; }
  .hero-copy h1 { font-size: clamp(26px, 5.2vh, 48px); }
  .main-nav { min-height: 58px; }
  .top-ribbon { min-height: 28px; }
}

/* =========================================================
   V119 — contenido lateral de la portada.
   Conserva el logo exactamente centrado y sus animaciones intactas.
   ========================================================= */
.hero-copy {
  display: none !important;
}

.hero-side-content {
  position: fixed;
  z-index: 900;
  inset: 108px 0 0;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(330px, 1fr);
  align-items: center;
  justify-content: space-between;
  column-gap: clamp(360px, 34vw, 660px);
  padding: 0 clamp(42px, 8vw, 150px);
  color: rgba(244,244,242,.92);
  font-family: Arial, Helvetica, sans-serif;
  pointer-events: none;
}

.hero-side-content__left {
  justify-self: start;
  max-width: 430px;
}

.hero-side-content__left h1 {
  margin: 0;
  font-size: clamp(44px, 4.2vw, 72px);
  line-height: .9;
  letter-spacing: -.055em;
  font-weight: 500;
}

.hero-side-content__left h1 span {
  color: rgba(244,244,242,.78);
}

.hero-side-content__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
  pointer-events: auto;
}

.hero-action {
  min-height: 42px;
  padding: 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #f2f2ef;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  transition: transform .2s ease, opacity .2s ease, background .2s ease;
}

.hero-action:hover {
  transform: translateY(-1px);
  opacity: .86;
}

.hero-action--light {
  color: #141416;
  background: #f1f0ec;
}

.hero-action--outline {
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.025);
}

.hero-side-content__services {
  justify-self: end;
  width: min(100%, 440px);
  margin: 0;
  padding: 0;
  display: grid;
  gap: 22px;
  list-style: none;
  font-family: "Courier New", Courier, monospace;
  font-size: clamp(13px, 1vw, 17px);
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.hero-side-content__services li {
  position: relative;
  padding-left: 24px;
}

.hero-side-content__services li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .58em;
  width: 7px;
  height: 7px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(255,255,255,.26);
  transform: translateY(-50%);
}

@media (max-width: 1180px) {
  .hero-side-content {
    column-gap: clamp(250px, 29vw, 400px);
    padding-inline: 40px;
  }

  .hero-side-content__left h1 {
    font-size: clamp(38px, 4.6vw, 58px);
  }

  .hero-side-content__services {
    max-width: 350px;
    font-size: 12px;
  }
}

@media (max-width: 860px) {
  html,
  body {
    overflow-y: auto !important;
  }

  .hero-side-content {
    inset: 177px 0 auto;
    min-height: calc(100dvh - 177px);
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto;
    align-items: start;
    gap: 0;
    padding: 26px 22px 30px;
  }

  .hero-side-content__left {
    justify-self: center;
    text-align: center;
  }

  .hero-side-content__left h1 {
    font-size: clamp(34px, 9vw, 54px);
  }

  .hero-side-content__actions {
    justify-content: center;
    margin-top: 18px;
  }

  .hero-side-content__services {
    align-self: end;
    justify-self: center;
    width: min(92vw, 520px);
    margin-top: 410px;
    gap: 13px;
    font-size: clamp(10px, 2.7vw, 13px);
  }
}

@media (max-width: 560px) {
  .hero-side-content {
    inset-block-start: 133px;
    min-height: calc(100dvh - 133px);
    padding-top: 20px;
  }

  .hero-action {
    min-height: 36px;
    padding-inline: 16px;
    font-size: 12px;
  }

  .hero-side-content__services {
    margin-top: 350px;
    letter-spacing: .025em;
  }
}

@media (max-height: 680px) and (min-width: 861px) {
  .hero-side-content {
    inset-block-start: 86px;
  }

  .hero-side-content__left h1 {
    font-size: clamp(34px, 8vh, 54px);
  }

  .hero-side-content__actions {
    margin-top: 20px;
  }

  .hero-side-content__services {
    gap: 14px;
  }
}


/* =========================================================
   V120 — composición final: contenido centrado con el logo,
   tipografía moderna, tres puntos en Flowing y franja inferior.
   El logo original y toda su animación permanecen intactos.
   ========================================================= */
:root {
  --hero-header-space: 108px;
  --partner-strip-height: 116px;
}

/* La marca superior conserva exactamente tres puntos. */
.brand__mark i:nth-child(n+4) { display: none !important; }

.hero-side-content {
  inset: var(--hero-header-space) 0 var(--partner-strip-height) !important;
  grid-template-columns: minmax(285px, 1fr) minmax(360px, 1fr) !important;
  align-items: center !important;
  column-gap: clamp(390px, 36vw, 700px) !important;
  padding-inline: clamp(54px, 8.4vw, 160px) !important;
}

.hero-side-content__left,
.hero-side-content__services {
  align-self: center !important;
}

.hero-side-content__left {
  max-width: 470px !important;
}

.hero-side-content__left h1 {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(43px, 4vw, 68px) !important;
  line-height: .94 !important;
  letter-spacing: -.052em !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

.hero-side-content__left h1 span {
  display: block;
  width: 100%;
  padding-right: .08em;
  text-align: right;
  font-size: .78em;
  line-height: 1.04;
  color: rgba(244,244,242,.88) !important;
}

.hero-side-content__services {
  justify-self: end !important;
  align-content: center !important;
  width: min(100%, 420px) !important;
  gap: 24px !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: clamp(15px, 1.13vw, 19px) !important;
  line-height: 1.28 !important;
  font-weight: 400 !important;
  letter-spacing: -.012em !important;
  text-transform: none !important;
}

.hero-side-content__services li {
  padding-left: 28px !important;
}

.hero-side-content__services li::before {
  top: .72em !important;
  width: 7px !important;
  height: 7px !important;
  border: 0 !important;
  background: rgba(245,245,242,.92) !important;
  box-shadow: 0 0 12px rgba(255,255,255,.28) !important;
}

.hero-side-content__services span,
.hero-side-content__services small {
  display: block;
}

.hero-side-content__services small {
  margin-top: 4px;
  color: rgba(244,244,242,.72);
  font: inherit;
}

.partner-strip {
  position: fixed;
  z-index: 920;
  left: 0;
  right: 0;
  bottom: 0;
  min-height: var(--partner-strip-height);
  padding: 0 clamp(36px, 5vw, 90px);
  display: grid;
  grid-template-columns: repeat(7, minmax(105px, 1fr));
  align-items: center;
  gap: clamp(18px, 2.5vw, 46px);
  color: rgba(244,244,242,.88);
  background: rgba(0,0,0,.91);
  border-top: 1px solid rgba(255,255,255,.12);
  font-family: Arial, Helvetica, sans-serif;
  pointer-events: none;
}

.partner {
  justify-self: center;
  white-space: nowrap;
  font-size: clamp(14px, 1.15vw, 20px);
  font-weight: 700;
  letter-spacing: -.025em;
  filter: grayscale(1);
  opacity: .92;
}
.partner--schwab { display: grid; line-height: .83; text-align: center; }
.partner--schwab em { font-family: Georgia, serif; font-size: 1.25em; font-weight: 400; }
.partner--schwab strong { font-family: Georgia, serif; font-size: .9em; letter-spacing: .02em; }
.partner--supreme { font-family: Georgia, serif; font-style: italic; font-size: clamp(17px, 1.45vw, 25px); }
.partner--weather { font-size: clamp(11px, .9vw, 15px); line-height: .85; text-align: left; }
.partner--openai { font-size: clamp(18px, 1.35vw, 25px); }

@media (max-width: 1180px) {
  .hero-side-content {
    column-gap: clamp(280px, 31vw, 430px) !important;
    padding-inline: 42px !important;
  }
  .hero-side-content__services { max-width: 345px !important; }
  .partner-strip { grid-template-columns: repeat(4, 1fr); min-height: 134px; }
  .partner:nth-child(n+5) { display: none; }
  :root { --partner-strip-height: 134px; }
}

@media (max-width: 860px) {
  :root { --hero-header-space: 177px; --partner-strip-height: 94px; }
  .hero-side-content {
    inset: var(--hero-header-space) 0 var(--partner-strip-height) !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto 1fr auto !important;
    padding: 22px 20px 24px !important;
  }
  .hero-side-content__left { justify-self: center !important; text-align: center; }
  .hero-side-content__left h1 span { text-align: center; }
  .hero-side-content__services {
    justify-self: center !important;
    align-self: end !important;
    margin-top: 390px !important;
    width: min(92vw, 520px) !important;
    font-size: 13px !important;
    gap: 12px !important;
  }
  .partner-strip {
    grid-template-columns: repeat(3, 1fr);
    min-height: var(--partner-strip-height);
    padding-inline: 16px;
  }
  .partner:nth-child(n+4) { display: none; }
}

@media (max-width: 560px) {
  :root { --hero-header-space: 133px; --partner-strip-height: 82px; }
  .hero-side-content__left h1 { font-size: clamp(31px, 9vw, 44px) !important; }
  .hero-side-content__services { margin-top: 320px !important; font-size: 11px !important; }
  .partner-strip { grid-template-columns: repeat(2, 1fr); }
  .partner:nth-child(n+3) { display: none; }
}

@media (max-height: 680px) and (min-width: 861px) {
  :root { --hero-header-space: 86px; --partner-strip-height: 90px; }
  .hero-side-content__left h1 { font-size: clamp(34px, 7vh, 50px) !important; }
  .hero-side-content__services { gap: 14px !important; font-size: 13px !important; }
  .partner-strip { min-height: var(--partner-strip-height); }
}


/* V121 — logotipo tipográfico exacto aportado por el usuario. */
.hero-side-content__left .hero-wordmark {
  width: min(100%, 470px) !important;
  margin: 0 !important;
  line-height: 0 !important;
}

.hero-side-content__left .hero-wordmark img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: none;
}

@media (max-width: 1180px) {
  .hero-side-content__left .hero-wordmark {
    width: min(100%, 420px) !important;
  }
}

@media (max-width: 860px) {
  .hero-side-content__left .hero-wordmark {
    width: min(88vw, 470px) !important;
    margin-inline: auto !important;
  }
}


/* V122 — reduce el logotipo 25% visualmente dentro de la página. */
.hero-side-content__left .hero-wordmark {
  width: min(100%, 352.5px) !important;
}

@media (max-width: 1180px) {
  .hero-side-content__left .hero-wordmark {
    width: min(100%, 315px) !important;
  }
}

@media (max-width: 860px) {
  .hero-side-content__left .hero-wordmark {
    width: min(66vw, 352.5px) !important;
  }
}

/* =========================================================
   V123 — adaptación móvil limpia.
   Mantiene intacta la composición de escritorio y las
   animaciones del logo; solo reorganiza la portada en teléfono.
   ========================================================= */
@media (max-width: 560px) {
  :root {
    --stage-size: clamp(138px, 44vw, 168px);
    --hero-header-space: 133px;
    --partner-strip-height: 82px;
  }

  html,
  body {
    width: 100%;
    min-height: 100%;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
  }

  /* El centro real se calcula dentro del espacio libre entre
     la cabecera y la franja inferior. */
  .hero {
    width: 100%;
    min-height: 100svh;
    padding-top: var(--hero-header-space);
    padding-bottom: var(--partner-strip-height);
    place-items: center;
  }

  .stage {
    position: relative;
    left: auto;
    top: auto;
    margin: 0 auto;
    transform: translateY(118px);
  }

  .box-cloud {
    left: 50%;
    top: calc(
      var(--hero-header-space) +
      (100svh - var(--hero-header-space) - var(--partner-strip-height) ) / 2 + 118px
    );
    width: min(112vw, 430px);
    height: min(62svh, 470px);
  }

  .hero-side-content {
    position: fixed !important;
    inset: var(--hero-header-space) 0 var(--partner-strip-height) !important;
    min-height: 0 !important;
    display: block !important;
    padding: 0 16px !important;
    pointer-events: none;
  }

  .hero-side-content__left {
    position: absolute;
    z-index: 4;
    top: 18px;
    left: 50%;
    width: min(92vw, 360px);
    max-width: none !important;
    transform: translateX(-50%);
    text-align: center;
  }

  .hero-side-content__left .hero-wordmark {
    width: min(82vw, 300px) !important;
    margin: 0 auto !important;
    background: transparent !important;
  }

  .hero-side-content__left .hero-wordmark img {
    width: 100%;
    max-width: 100%;
    background: transparent !important;
  }

  .hero-side-content__actions {
    justify-content: center;
    flex-wrap: nowrap;
    gap: 9px;
    margin-top: 12px;
    pointer-events: auto;
  }

  .hero-action {
    min-height: 35px;
    padding-inline: 15px;
    font-size: 11px;
    white-space: nowrap;
  }

  .hero-side-content__services {
    position: absolute;
    z-index: 4;
    left: 50%;
    bottom: 14px;
    width: min(88vw, 330px) !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%);
    gap: 8px !important;
    font-size: clamp(9.5px, 2.65vw, 11px) !important;
    line-height: 1.22 !important;
    text-align: left;
  }

  .hero-side-content__services li {
    padding-left: 18px !important;
  }

  .hero-side-content__services li::before {
    top: .62em !important;
    width: 5px !important;
    height: 5px !important;
  }

  .hero-side-content__services small {
    margin-top: 2px;
  }

  .partner-strip {
    height: var(--partner-strip-height);
    min-height: var(--partner-strip-height);
    padding: 0 18px;
    gap: 22px;
  }

  .partner {
    font-size: 12px;
  }

  .partner--schwab em { font-size: 1.1em; }
  .partner--schwab strong { font-size: .8em; }
}

/* Teléfonos bajos: conserva separación sin tocar el logo. */
@media (max-width: 560px) and (max-height: 680px) {
  :root {
    --stage-size: clamp(126px, 40vw, 150px);
  }

  .stage {
    transform: translateY(88px);
  }

  .box-cloud {
    top: calc(
      var(--hero-header-space) +
      (100svh - var(--hero-header-space) - var(--partner-strip-height) ) / 2 + 88px
    );
  }

  .hero-side-content__left {
    top: 10px;
  }

  .hero-side-content__left .hero-wordmark {
    width: min(75vw, 270px) !important;
  }

  .hero-side-content__actions {
    margin-top: 8px;
  }

  .hero-side-content__services {
    bottom: 8px;
    gap: 5px !important;
    font-size: 9px !important;
  }
}


/* V124 — posición móvil corregida:
   se fija la ubicación vertical del logo para que no invada los botones. */
@media (max-width: 560px) {
  .hero .stage {
    position: absolute !important;
    left: 50% !important;
    top: clamp(332px, 47svh, 395px) !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    justify-self: auto !important;
    align-self: auto !important;
  }

  .hero .box-cloud {
    left: 50% !important;
    top: clamp(412px, 57svh, 478px) !important;
    transform: translate(-50%, -50%) !important;
  }
}

@media (max-width: 560px) and (max-height: 680px) {
  .hero .stage {
    top: clamp(300px, 45svh, 338px) !important;
  }

  .hero .box-cloud {
    top: clamp(368px, 54svh, 412px) !important;
  }
}


/* V125 — fondo oscuro con lienzo gris y botón superior tipo cápsula. */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(ellipse 58% 48% at 76% 48%, rgba(117,117,117,.18) 0%, rgba(69,69,69,.12) 33%, rgba(20,20,20,.04) 64%, transparent 82%),
    radial-gradient(ellipse 46% 36% at 61% 56%, rgba(154,154,154,.09) 0%, rgba(56,56,56,.05) 48%, transparent 76%),
    linear-gradient(115deg, #020202 0%, #050505 42%, #111 74%, #050505 100%);
}

body::after {
  content: "";
  position: fixed;
  z-index: -1;
  left: -12vw;
  top: 69vh;
  width: 125vw;
  height: 105px;
  pointer-events: none;
  transform: rotate(7deg);
  transform-origin: left center;
  background: linear-gradient(90deg, transparent 0%, rgba(190,190,190,.05) 24%, rgba(215,215,215,.13) 50%, rgba(170,170,170,.05) 74%, transparent 100%);
  filter: blur(18px);
  opacity: .78;
}

.control-flowing-pill {
  width: max-content;
  min-height: 35px;
  margin: 0 0 24px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  color: rgba(244,244,244,.94);
  background:
    linear-gradient(#151515, #151515) padding-box,
    linear-gradient(100deg, #7b4dff, #e56385, #d8ad3d, #36c08f) border-box;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03), 0 8px 24px rgba(0,0,0,.28);
  text-decoration: none;
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: -.01em;
  pointer-events: auto;
  transition: transform .2s ease, background .2s ease, opacity .2s ease;
}

.control-flowing-pill:hover {
  transform: translateY(-1px);
  opacity: .9;
}

.control-flowing-pill span:last-child {
  font-size: 18px;
  line-height: .8;
  transform: translateY(-1px);
}

@media (max-width: 560px) {
  body::after {
    top: 71vh;
    height: 72px;
    transform: rotate(10deg);
  }

  .control-flowing-pill {
    min-height: 31px;
    margin-bottom: 15px;
    padding-inline: 11px;
    gap: 7px;
    font-size: 11px;
  }

  .control-flowing-pill span:last-child {
    font-size: 15px;
  }
}

/* V126 — pliegues del fondo más visibles y franja inferior translúcida. */
body::before {
  background:
    radial-gradient(ellipse 64% 56% at 78% 48%, rgba(138,138,138,.26) 0%, rgba(92,92,92,.18) 30%, rgba(42,42,42,.09) 56%, transparent 80%),
    radial-gradient(ellipse 54% 42% at 62% 55%, rgba(172,172,172,.12) 0%, rgba(76,76,76,.08) 44%, transparent 74%),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,0) 0px,
      rgba(255,255,255,0) 62px,
      rgba(255,255,255,.016) 92px,
      rgba(255,255,255,.05) 128px,
      rgba(255,255,255,.014) 168px,
      rgba(255,255,255,0) 212px
    ),
    linear-gradient(115deg, #020202 0%, #050505 42%, #111111 74%, #050505 100%) !important;
}

body::after {
  left: -10vw;
  top: 68vh;
  width: 130vw;
  height: 116px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(185,185,185,.03) 15%,
    rgba(215,215,215,.10) 34%,
    rgba(242,242,242,.19) 50%,
    rgba(215,215,215,.10) 66%,
    rgba(185,185,185,.03) 84%,
    transparent 100%) !important;
  filter: blur(18px);
  opacity: .96;
}

.hero::before,
.hero::after {
  content: "";
  position: fixed;
  left: -12vw;
  width: 124vw;
  pointer-events: none;
  z-index: 0;
  transform-origin: left center;
  mix-blend-mode: screen;
}

.hero::before {
  top: 57vh;
  height: 84px;
  transform: rotate(7.5deg);
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(195,195,195,.02) 18%,
    rgba(225,225,225,.07) 34%,
    rgba(244,244,244,.14) 50%,
    rgba(225,225,225,.07) 66%,
    rgba(195,195,195,.02) 82%,
    transparent 100%);
  filter: blur(16px);
  opacity: .72;
}

.hero::after {
  top: 77vh;
  height: 92px;
  transform: rotate(6deg);
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(190,190,190,.018) 22%,
    rgba(222,222,222,.055) 38%,
    rgba(240,240,240,.11) 52%,
    rgba(222,222,222,.055) 67%,
    rgba(190,190,190,.018) 82%,
    transparent 100%);
  filter: blur(20px);
  opacity: .64;
}

.partner-strip {
  background: rgba(0,0,0,.54) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-top: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 -10px 32px rgba(0,0,0,.14);
}

.partner-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0) 45%);
}

@media (max-width: 560px) {
  body::before {
    background:
      radial-gradient(ellipse 74% 58% at 76% 48%, rgba(132,132,132,.22) 0%, rgba(84,84,84,.14) 34%, rgba(34,34,34,.07) 58%, transparent 82%),
      repeating-linear-gradient(
        90deg,
        rgba(255,255,255,0) 0px,
        rgba(255,255,255,0) 44px,
        rgba(255,255,255,.012) 72px,
        rgba(255,255,255,.036) 98px,
        rgba(255,255,255,.012) 130px,
        rgba(255,255,255,0) 166px
      ),
      linear-gradient(115deg, #020202 0%, #050505 42%, #101010 74%, #050505 100%) !important;
  }

  body::after {
    top: 69vh;
    height: 78px;
    transform: rotate(8.5deg);
    opacity: .82;
  }

  .hero::before {
    top: 60vh;
    height: 62px;
    opacity: .58;
  }

  .hero::after {
    top: 79vh;
    height: 70px;
    opacity: .5;
  }

  .partner-strip {
    background: rgba(0,0,0,.44) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }
}

/* V127 — fondo real combinado con los archivos del ejemplo. */
body {
  background: #000 !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    linear-gradient(rgba(0,0,0,.16), rgba(0,0,0,.16)),
    url("assets/bg-hero-1.jpg") center center / cover no-repeat !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  width: auto !important;
  height: auto !important;
  left: 0 !important;
  top: 0 !important;
  pointer-events: none;
  background: url("assets/bg-light.png") center center / cover no-repeat !important;
  opacity: .88 !important;
  filter: none !important;
  transform: none !important;
  mix-blend-mode: screen;
}

/* Se eliminan los pliegues CSS anteriores porque ahora vienen de las imágenes reales. */
.hero::before,
.hero::after {
  display: none !important;
}

.partner-strip {
  background: rgba(0,0,0,.42) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 -10px 34px rgba(0,0,0,.12) !important;
}

.partner-strip::before {
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,0) 55%) !important;
}

@media (max-width: 560px) {
  body::before {
    background:
      linear-gradient(rgba(0,0,0,.13), rgba(0,0,0,.13)),
      url("assets/bg-hero-1.jpg") center center / cover no-repeat !important;
  }

  body::after {
    background-size: cover !important;
    background-position: center center !important;
    opacity: .78 !important;
  }

  .partner-strip {
    background: rgba(0,0,0,.36) !important;
  }
}


/* V127 — partner strip with custom client logos. */
:root {
  --partner-strip-height: 136px;
}

.partner-strip {
  position: fixed;
  z-index: 920;
  left: 0;
  right: 0;
  bottom: 0;
  min-height: var(--partner-strip-height);
  padding: 14px clamp(18px, 3.2vw, 42px) 12px;
  display: grid;
  grid-template-columns: repeat(7, minmax(110px, 1fr));
  align-items: end;
  gap: clamp(10px, 1.6vw, 24px);
  background: rgba(0,0,0,.42) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-top: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 -10px 32px rgba(0,0,0,.14);
  pointer-events: none;
}

.partner-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: end;
  gap: 8px;
  text-align: center;
  color: rgba(244,244,242,.92);
  pointer-events: none;
}

.partner-card img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 46px;
  object-fit: contain;
  filter: none;
}

.partner-card:nth-child(1) img { max-height: 54px; }
.partner-card:nth-child(2) img { max-height: 46px; }
.partner-card:nth-child(3) img { max-height: 42px; }
.partner-card:nth-child(4) img { max-height: 42px; }
.partner-card:nth-child(5) img { max-height: 56px; }
.partner-card:nth-child(6) img { max-height: 52px; }
.partner-card:nth-child(7) img { max-height: 56px; }

.partner-card span {
  display: block;
  max-width: 100%;
  font-size: clamp(11px, .78vw, 13px);
  line-height: 1.15;
  letter-spacing: -.01em;
  font-weight: 600;
  text-wrap: balance;
}

@media (max-width: 1180px) {
  :root { --partner-strip-height: 170px; }
  .partner-strip {
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    padding-inline: 16px;
    row-gap: 14px;
  }
  .partner-card:nth-child(n) img { max-height: 46px; }
  .partner-card:nth-child(5) img,
  .partner-card:nth-child(7) img { max-height: 52px; }
}

@media (max-width: 860px) {
  :root { --partner-strip-height: 188px; }
  .partner-strip {
    grid-template-columns: repeat(3, minmax(90px, 1fr));
    padding: 12px 12px 10px;
    gap: 12px 10px;
  }
  .partner-card span { font-size: 11px; }
}

@media (max-width: 560px) {
  :root { --partner-strip-height: 230px; }
  .partner-strip {
    grid-template-columns: repeat(2, minmax(110px, 1fr));
    padding: 12px 12px 14px;
    gap: 12px 8px;
    background: rgba(0,0,0,.34) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }
  .partner-card img { max-height: 34px; }
  .partner-card:nth-child(1) img,
  .partner-card:nth-child(5) img,
  .partner-card:nth-child(7) img { max-height: 42px; }
  .partner-card:nth-child(6) img { max-height: 38px; }
  .partner-card span {
    font-size: 10px;
    line-height: 1.12;
  }
}


/* V128 — reducir 25% la cinta de logos y quitar fondo negro al arrastrar. */
:root {
  --partner-strip-height: 104px;
}

.partner-strip {
  min-height: var(--partner-strip-height);
  padding: 9px clamp(16px, 2.8vw, 36px) 8px;
  gap: clamp(8px, 1.25vw, 18px);
}

.partner-card {
  gap: 6px;
}

.partner-card img {
  max-height: 35px;
}

.partner-card:nth-child(1) img { max-height: 41px; }
.partner-card:nth-child(2) img { max-height: 35px; }
.partner-card:nth-child(3) img { max-height: 32px; }
.partner-card:nth-child(4) img { max-height: 32px; }
.partner-card:nth-child(5) img { max-height: 42px; }
.partner-card:nth-child(6) img { max-height: 39px; }
.partner-card:nth-child(7) img { max-height: 42px; }

@media (max-width: 1180px) {
  :root { --partner-strip-height: 128px; }
  .partner-strip {
    padding: 10px 14px 8px;
    row-gap: 10px;
  }
  .partner-card:nth-child(n) img { max-height: 35px; }
  .partner-card:nth-child(5) img,
  .partner-card:nth-child(7) img { max-height: 39px; }
}

@media (max-width: 860px) {
  :root { --partner-strip-height: 141px; }
  .partner-strip {
    padding: 10px 10px 8px;
    gap: 10px 8px;
  }
}

@media (max-width: 560px) {
  :root { --partner-strip-height: 173px; }
  .partner-strip {
    padding: 10px 10px 10px;
    gap: 10px 8px;
  }
  .partner-card img { max-height: 26px; }
  .partner-card:nth-child(1) img,
  .partner-card:nth-child(5) img,
  .partner-card:nth-child(7) img { max-height: 32px; }
  .partner-card:nth-child(6) img { max-height: 29px; }
}

/* Quitar el cuadro negro al arrastrar o al regresar el logo:
   mantener la misma transparencia/canvas detrás. */
.stage.logo-dragging,
.stage.logo-returning-stage {
  background: transparent !important;
}

/* No forzar fondo negro detrás de la moneda/logo durante el drag. */
.stage.logo-dragging::before,
.stage.logo-returning-stage::before,
.stage.logo-returning-stage::after {
  background: transparent !important;
}


/* V129 — banderas en selector de idioma. */
.language-menu {
  gap: 9px;
}

.language-menu a {
  width: 28px;
  height: 28px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 16px;
  line-height: 1;
  text-transform: none;
  text-decoration: none;
}

.language-menu a span[aria-hidden="true"] {
  display: block;
  transform: translateY(0.5px);
}

.language-menu a.is-active {
  background: rgba(255,255,255,.58);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}

@media (max-width: 560px) {
  .language-menu {
    gap: 8px;
  }

  .language-menu a {
    width: 26px;
    height: 26px;
    font-size: 15px;
  }
}


/* V130 — iconos reales de banderas (no emojis). */
.language-menu a img {
  display: block;
  width: 20px;
  height: 14px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0,0,0,.14);
}

@media (max-width: 560px) {
  .language-menu a img {
    width: 19px;
    height: 13px;
  }
}


/* V131 — móvil redistribuido: wordmark y 7 logos más pequeños. */
@media (max-width: 560px) {
  :root {
    --stage-size: clamp(116px, 35vw, 138px);
    --partner-strip-height: 148px;
  }

  .hero-side-content {
    inset: var(--hero-header-space) 0 var(--partner-strip-height) !important;
    padding: 0 12px !important;
  }

  .hero-side-content__left {
    top: 10px !important;
    width: min(88vw, 330px) !important;
  }

  .hero-side-content__left .hero-wordmark {
    width: min(68vw, 250px) !important;
    margin: 0 auto !important;
  }

  .hero-side-content__actions {
    margin-top: 10px !important;
    gap: 8px !important;
  }

  .hero-action {
    min-height: 33px;
    padding-inline: 14px;
    font-size: 10.5px;
  }

  .hero .stage {
    top: clamp(336px, 50svh, 388px) !important;
  }

  .hero .box-cloud {
    top: clamp(408px, 58svh, 458px) !important;
    width: min(104vw, 390px) !important;
    height: min(53svh, 390px) !important;
  }

  .hero-side-content__services {
    bottom: 6px !important;
    width: min(84vw, 306px) !important;
    gap: 6px !important;
    font-size: clamp(8.6px, 2.35vw, 9.8px) !important;
    line-height: 1.18 !important;
  }

  .hero-side-content__services li {
    padding-left: 16px !important;
  }

  .hero-side-content__services li::before {
    width: 4px !important;
    height: 4px !important;
  }

  .hero-side-content__services small {
    margin-top: 1px !important;
  }

  .partner-strip {
    grid-template-columns: repeat(2, minmax(96px, 1fr)) !important;
    min-height: var(--partner-strip-height) !important;
    height: var(--partner-strip-height) !important;
    padding: 8px 8px 10px !important;
    gap: 8px 6px !important;
  }

  .partner-card {
    gap: 4px !important;
  }

  .partner-card img {
    max-height: 10px !important;
  }

  .partner-card:nth-child(1) img,
  .partner-card:nth-child(5) img,
  .partner-card:nth-child(7) img {
    max-height: 13px !important;
  }

  .partner-card:nth-child(2) img,
  .partner-card:nth-child(6) img {
    max-height: 11px !important;
  }

  .partner-card span {
    font-size: 8px !important;
    line-height: 1.04 !important;
    letter-spacing: -.015em !important;
  }
}

@media (max-width: 560px) and (max-height: 680px) {
  :root {
    --stage-size: clamp(108px, 33vw, 128px);
    --partner-strip-height: 138px;
  }

  .hero-side-content__left .hero-wordmark {
    width: min(64vw, 230px) !important;
  }

  .hero .stage {
    top: clamp(306px, 47svh, 346px) !important;
  }

  .hero .box-cloud {
    top: clamp(372px, 54svh, 410px) !important;
  }

  .hero-side-content__services {
    width: min(82vw, 296px) !important;
    font-size: 8.2px !important;
    gap: 5px !important;
  }

  .partner-strip {
    padding: 7px 8px 9px !important;
    gap: 7px 6px !important;
  }

  .partner-card span {
    font-size: 7.6px !important;
  }
}


/* V132 — logo principal web 10% más pequeño y Lode Data oculto solo en móvil. */
@media (min-width: 561px) {
  :root {
    --stage-size: min(32.13vw, 26.01svh, 275.4px);
  }
}

@media (max-width: 560px) {
  .partner-card:nth-child(2) {
    display: none !important;
  }

  .partner-strip {
    grid-template-columns: repeat(2, minmax(96px, 1fr)) !important;
  }
}

/* V133 — Cox 10% más pequeño solamente en versión web. */
@media (min-width: 561px) {
  .partner-card:nth-child(4) img {
    transform: scale(0.9);
    transform-origin: center bottom;
  }
}

/* V134 — contenido complementario debajo del hero, sin alterar la pantalla inicial. */
html { scroll-behavior: smooth; }
body {
  overflow-x: hidden;
  overflow-y: auto;
  color: #d9dbe2;
}

.site-content {
  position: relative;
  z-index: 5000;
  margin-top: 100svh;
  min-height: 100svh;
  background:
    radial-gradient(circle at 78% 8%, rgba(95, 76, 156, .13), transparent 28%),
    radial-gradient(circle at 8% 40%, rgba(24, 123, 145, .08), transparent 30%),
    #08090a;
  border-top: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 -30px 80px rgba(0,0,0,.65);
}

.content-shell {
  width: min(1280px, calc(100% - 64px));
  margin: 0 auto;
  padding: 110px 0 38px;
}

.content-intro {
  max-width: 920px;
  padding-bottom: 90px;
}
.section-kicker {
  display: inline-block;
  margin-bottom: 18px;
  color: #8f95a3;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.content-intro h2,
.split-section__copy h3,
.developer-section__copy h3,
.contact-panel h3 {
  margin: 0;
  color: #f3f4f6;
  font-size: clamp(36px, 5.2vw, 72px);
  line-height: 1.02;
  letter-spacing: -.052em;
  text-wrap: balance;
}
.content-intro p {
  max-width: 790px;
  margin: 30px 0 0;
  color: #9da2ad;
  font-size: clamp(17px, 1.6vw, 22px);
  line-height: 1.62;
}

.content-section {
  padding: 88px 0;
  border-top: 1px solid rgba(255,255,255,.09);
}
.section-heading {
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: start;
  margin-bottom: 42px;
}
.section-heading > span { color: #666c78; font-size: 13px; }
.section-heading p { margin: 0 0 8px; color: #858b97; font-size: 13px; text-transform: uppercase; letter-spacing: .12em; }
.section-heading h3 { margin: 0; color: #eef0f4; font-size: clamp(28px, 3.3vw, 48px); letter-spacing: -.035em; }

.service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.service-card {
  position: relative;
  min-height: 330px;
  padding: 34px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.012));
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.service-card::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -90px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(106, 89, 188, .17), transparent 68%);
}
.service-card:hover { transform: translateY(-4px); border-color: rgba(170,160,220,.28); background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.018)); }
.service-card__number { color: #666c78; font-size: 12px; letter-spacing: .12em; }
.service-card h4 { margin: 54px 0 10px; color: #f2f3f5; font-size: clamp(25px, 2.3vw, 34px); letter-spacing: -.035em; }
.service-card__subtitle { margin: 0 0 24px !important; color: #b9bdc7 !important; font-weight: 700; }
.service-card p { position: relative; z-index: 1; max-width: 520px; margin: 0; color: #8f95a1; line-height: 1.65; }

.split-section { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(48px, 8vw, 120px); }
.split-section__copy { position: sticky; top: 120px; align-self: start; }
.split-section__copy h3 { font-size: clamp(34px, 4.1vw, 58px); }
.split-section__copy p { margin: 28px 0; color: #959ba6; font-size: 17px; line-height: 1.7; }
.text-link { display: inline-flex; gap: 12px; color: #e8e9ed; text-decoration: none; border-bottom: 1px solid #6d7280; padding-bottom: 8px; }
.capability-list article { display: grid; grid-template-columns: 52px 1fr; gap: 18px; padding: 28px 0; border-top: 1px solid rgba(255,255,255,.09); }
.capability-list article:last-child { border-bottom: 1px solid rgba(255,255,255,.09); }
.capability-list article > span { color: #646a76; font-size: 12px; }
.capability-list h4 { margin: 0 0 10px; color: #eff0f3; font-size: 22px; letter-spacing: -.02em; }
.capability-list p { margin: 0; color: #8c929e; line-height: 1.55; }

.developer-section { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr); gap: clamp(45px, 8vw, 120px); align-items: center; }
.developer-section__visual { position: relative; min-height: 460px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.08); border-radius: 28px; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(91,72,156,.24), transparent 33%), #0b0c0e; }
.developer-section__visual::before { content:""; position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to bottom, transparent, black 20%, black 80%, transparent); }
.developer-section__visual strong { position: relative; color: #d7d3ed; font-size: clamp(64px, 9vw, 122px); font-weight: 400; letter-spacing: -.08em; text-shadow: 0 0 45px rgba(125,104,210,.32); }
.code-line { position:absolute; height:1px; background: linear-gradient(90deg, transparent, rgba(121,101,199,.6), transparent); transform: rotate(-10deg); }
.code-line--1 { width: 80%; top: 25%; left: 4%; }.code-line--2 { width: 62%; top: 70%; right: 2%; }.code-line--3 { width: 48%; top: 48%; left: 24%; transform: rotate(18deg); }
.developer-section__copy h3 { font-size: clamp(38px, 4.4vw, 62px); }
.developer-section__copy > p { margin: 28px 0 34px; color: #959ba6; font-size: 17px; line-height: 1.7; }
.mini-metrics { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.09); }
.mini-metrics div { padding: 22px 14px 0 0; }
.mini-metrics strong { display:block; color:#eceef2; font-size:20px; }
.mini-metrics span { display:block; margin-top:7px; color:#777e8a; font-size:12px; line-height:1.35; }

.contact-panel { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-top: 30px; padding: 70px; border:1px solid rgba(255,255,255,.11); border-radius:28px; background: linear-gradient(130deg, rgba(91,73,155,.16), rgba(9,10,12,.92) 46%, rgba(27,93,105,.09)); }
.contact-panel h3 { max-width: 760px; font-size: clamp(36px, 4.7vw, 66px); }
.contact-panel__actions { display:flex; flex-direction:column; align-items:flex-end; gap:18px; flex:0 0 auto; }
.contact-panel__actions > a:first-child { color:#a8adb7; text-decoration:none; font-size:14px; }
.contact-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 24px; border-radius:999px; background:#f1f2f4; color:#111214; text-decoration:none; font-weight:700; }
.content-footer { display:flex; justify-content:space-between; padding:32px 4px 0; color:#686e79; font-size:12px; }
.content-footer a { color:#8e949f; text-decoration:none; }

@media (max-width: 900px) {
  .content-shell { width: min(100% - 36px, 1280px); padding-top: 78px; }
  .content-intro { padding-bottom: 65px; }
  .content-section { padding: 64px 0; }
  .service-grid, .split-section, .developer-section { grid-template-columns: 1fr; }
  .split-section__copy { position: static; }
  .developer-section__visual { min-height: 340px; }
  .contact-panel { align-items:flex-start; flex-direction:column; padding:42px; }
  .contact-panel__actions { align-items:flex-start; }
}

@media (max-width: 560px) {
  .site-content { margin-top: 100svh; }
  .content-shell { width: calc(100% - 24px); padding-top: 58px; }
  .content-intro h2 { font-size: 35px; }
  .content-intro p { font-size: 16px; }
  .section-heading { grid-template-columns: 40px 1fr; }
  .service-card { min-height: auto; padding: 26px; }
  .service-card h4 { margin-top: 38px; }
  .developer-section__visual { min-height: 270px; }
  .mini-metrics { grid-template-columns: 1fr; }
  .mini-metrics div { padding:18px 0; border-bottom:1px solid rgba(255,255,255,.07); }
  .contact-panel { padding:30px 24px; }
  .contact-panel__actions > a:first-child { font-size:12px; word-break:break-all; }
  .content-footer { gap:18px; flex-direction:column; }
}

/* V135 — habilita el desplazamiento vertical del contenido complementario.
   Corrige las reglas anteriores con overflow:hidden !important sin mover el hero inicial. */
html,
body {
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body {
  position: relative !important;
}

.site-content {
  display: block !important;
  position: relative !important;
  margin-top: 100svh !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* V136 — imágenes tomadas exclusivamente del sitio original sansfrontieres-design.com */
.content-intro {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  gap: clamp(48px, 7vw, 96px);
  align-items: center;
}
.content-intro__copy { min-width: 0; }
.original-carousel {
  position: relative;
  min-height: 430px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 24px;
  background: #0c0d12;
  box-shadow: 0 28px 80px rgba(0,0,0,.34);
}
.original-carousel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(7,8,11,.04), rgba(7,8,11,.30));
}
.original-carousel__slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: originalSiteCarousel 15s infinite ease-in-out;
}
.original-carousel__slide--1 { animation-delay: 0s; }
.original-carousel__slide--2 { animation-delay: 5s; }
.original-carousel__slide--3 { animation-delay: 10s; }
@keyframes originalSiteCarousel {
  0% { opacity: 0; transform: scale(1.025); }
  6%, 28% { opacity: 1; transform: scale(1); }
  34%, 100% { opacity: 0; transform: scale(1.018); }
}
.service-card__image {
  position: absolute;
  top: 22px;
  right: 22px;
  z-index: 2;
  width: 150px;
  height: 150px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  filter: brightness(.76) saturate(.82) contrast(1.08);
  box-shadow: 0 16px 35px rgba(0,0,0,.32);
}
.service-card h4 { max-width: calc(100% - 175px); }
.developer-section__visual { background: #0b0c0e; }
.developer-section__visual::before { display: none; }
.developer-section__visual img {
  width: 100%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
  filter: brightness(.64) saturate(.72) contrast(1.08);
}
@media (max-width: 900px) {
  .content-intro { grid-template-columns: 1fr; }
  .original-carousel { min-height: 360px; }
  .developer-section__visual img { min-height: 340px; }
}
@media (max-width: 560px) {
  .original-carousel { min-height: 250px; border-radius: 18px; }
  .service-card__image { width: 104px; height: 104px; top: 20px; right: 20px; }
  .service-card h4 { max-width: calc(100% - 118px); margin-top: 48px; font-size: 25px; }
  .developer-section__visual img { min-height: 270px; }
}
@media (prefers-reduced-motion: reduce) {
  .original-carousel__slide { animation: none; opacity: 0; }
  .original-carousel__slide--1 { opacity: 1; }
}

/* =========================================================
   PROGRAMMING & SOFTWARE DEVELOPMENT
   ========================================================= */
.programming-section {
  display: grid;
  grid-template-columns: minmax(340px, .88fr) minmax(0, 1.12fr);
  gap: clamp(48px, 7vw, 110px);
  align-items: center;
}

.programming-section__intro h3 {
  max-width: 760px;
  margin-top: 18px;
  font-size: clamp(40px, 4.6vw, 68px);
  line-height: .98;
  letter-spacing: -.055em;
  color: #f1f2f5;
}

.programming-section__intro > p {
  max-width: 690px;
  margin: 30px 0 38px;
  color: #979da8;
  font-size: 17px;
  line-height: 1.75;
}

.programming-services {
  border-top: 1px solid rgba(255,255,255,.09);
}

.programming-services article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 18px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(255,255,255,.075);
}

.programming-services article > span {
  padding-top: 3px;
  color: #626975;
  font-size: 11px;
  letter-spacing: .16em;
}

.programming-services strong {
  display: block;
  color: #eceef2;
  font-size: 18px;
}

.programming-services p {
  margin-top: 7px;
  color: #7f8691;
  font-size: 13px;
  line-height: 1.55;
}

.programming-gallery {
  position: relative;
  min-height: 650px;
}

.programming-gallery figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  background: #090a0c;
  box-shadow: 0 28px 70px rgba(0,0,0,.42);
}

.programming-gallery img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.programming-gallery__main {
  position: absolute;
  inset: 0 12% 8% 0;
  border-radius: 28px;
}

.programming-gallery__main img {
  object-position: center;
}

.programming-gallery__dashboard {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 72%;
  height: 38%;
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(0,0,0,.58), 0 0 0 8px rgba(7,8,10,.78);
}

.programming-gallery__dashboard img {
  object-fit: cover;
  object-position: center;
}

@media (max-width: 980px) {
  .programming-section {
    grid-template-columns: 1fr;
  }

  .programming-gallery {
    min-height: 580px;
  }
}

@media (max-width: 640px) {
  .programming-section__intro h3 {
    font-size: clamp(36px, 11vw, 54px);
  }

  .programming-gallery {
    min-height: 430px;
  }

  .programming-gallery__main {
    inset: 0 5% 14% 0;
    border-radius: 22px;
  }

  .programming-gallery__dashboard {
    width: 88%;
    height: 34%;
    border-radius: 16px;
  }
}

/* =========================================================
   V138 — LIGHT CONTENT AREA BELOW THE UNCHANGED HERO
   The first viewport/hero remains untouched. Only .site-content is restyled.
   ========================================================= */
.site-content {
  color: #27272a !important;
  background: #f5f3ef !important;
  border-top: 1px solid #dedad2 !important;
  box-shadow: none !important;
}

.site-content .content-shell {
  background: transparent !important;
}

.site-content .content-section {
  border-top-color: #d9d5ce !important;
}

.site-content .section-kicker,
.site-content .section-heading p,
.site-content .section-heading > span,
.site-content .service-card__number,
.site-content .capability-list article > span,
.site-content .programming-services article > span {
  color: #77736d !important;
}

.site-content .content-intro h2,
.site-content .section-heading h3,
.site-content .service-card h4,
.site-content .split-section__copy h3,
.site-content .capability-list h4,
.site-content .developer-section__copy h3,
.site-content .programming-section__intro h3,
.site-content .programming-services strong,
.site-content .mini-metrics strong,
.site-content .contact-panel h3 {
  color: #1d1d1f !important;
}

.site-content .content-intro p,
.site-content .service-card p,
.site-content .split-section__copy p,
.site-content .capability-list p,
.site-content .developer-section__copy > p,
.site-content .programming-section__intro > p,
.site-content .programming-services p,
.site-content .mini-metrics span {
  color: #62605c !important;
}

.site-content .service-card__subtitle {
  color: #45433f !important;
}

.site-content .service-card {
  border-color: #d8d4cd !important;
  background: #fffefa !important;
  box-shadow: 0 14px 35px rgba(45, 40, 34, .06) !important;
}

.site-content .service-card::after {
  background: radial-gradient(circle, rgba(123, 97, 126, .10), transparent 68%) !important;
}

.site-content .service-card:hover {
  border-color: #bdb6ad !important;
  background: #ffffff !important;
  box-shadow: 0 18px 44px rgba(45, 40, 34, .09) !important;
}

.site-content .service-card__image {
  border-color: #d8d4cd !important;
  filter: brightness(.94) saturate(.76) contrast(1.02) !important;
  box-shadow: 0 12px 28px rgba(45, 40, 34, .12) !important;
}

.site-content .capability-list article,
.site-content .capability-list article:last-child,
.site-content .mini-metrics,
.site-content .programming-services,
.site-content .programming-services article {
  border-color: #d9d5ce !important;
}

.site-content .text-link {
  color: #252422 !important;
  border-bottom-color: #8b867f !important;
}

.site-content .original-carousel,
.site-content .developer-section__visual,
.site-content .programming-gallery figure {
  border-color: #d7d2ca !important;
  background: #ece8e1 !important;
  box-shadow: 0 20px 50px rgba(45, 40, 34, .12) !important;
}

.site-content .original-carousel::after {
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(35,31,27,.16)) !important;
}

.site-content .developer-section__visual img,
.site-content .programming-gallery img {
  filter: brightness(.92) saturate(.78) contrast(1.03) !important;
}

.site-content .programming-gallery__dashboard {
  box-shadow: 0 20px 48px rgba(45, 40, 34, .20), 0 0 0 8px rgba(245,243,239,.88) !important;
}

.site-content .contact-panel {
  border-color: #d3cec6 !important;
  background: linear-gradient(135deg, #fffefa, #eee9e1) !important;
  box-shadow: 0 18px 45px rgba(45, 40, 34, .08) !important;
}

.site-content .contact-panel__actions > a:first-child,
.site-content .content-footer,
.site-content .content-footer a {
  color: #66615b !important;
}

.site-content .contact-button {
  background: #242321 !important;
  color: #ffffff !important;
}

.site-content .content-footer {
  border-top-color: #d9d5ce !important;
}

@media (max-width: 560px) {
  .site-content .mini-metrics div {
    border-bottom-color: #d9d5ce !important;
  }
}

/* =========================================================
   V139 — BULLETS + WARM VISUAL DEPTH BELOW THE UNCHANGED HERO
   Scope is strictly limited to .site-content.
   ========================================================= */
.site-content {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 18%, rgba(151, 104, 91, .10), transparent 24%),
    radial-gradient(circle at 92% 46%, rgba(117, 87, 112, .09), transparent 27%),
    linear-gradient(180deg, #f7f4ee 0%, #f3efe8 52%, #f8f5ef 100%) !important;
}

.site-content::before,
.site-content::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 999px;
  filter: blur(2px);
  opacity: .7;
}

.site-content::before {
  width: 360px;
  height: 360px;
  left: -230px;
  top: 18%;
  border: 1px solid rgba(130, 88, 78, .16);
  box-shadow: 0 0 0 42px rgba(130, 88, 78, .025), 0 0 0 88px rgba(130, 88, 78, .018);
}

.site-content::after {
  width: 430px;
  height: 430px;
  right: -310px;
  top: 58%;
  border: 1px solid rgba(104, 77, 101, .14);
  box-shadow: 0 0 0 50px rgba(104, 77, 101, .022), 0 0 0 102px rgba(104, 77, 101, .016);
}

.site-content .content-shell {
  position: relative;
  z-index: 1;
}

/* Replace every visible sequence number with a refined bullet. */
.site-content .section-heading > span,
.site-content .service-card__number,
.site-content .capability-list article > span,
.site-content .programming-services article > span {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 18px;
  min-width: 18px;
  height: 18px;
  overflow: hidden;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

.site-content .section-heading > span::before,
.site-content .service-card__number::before,
.site-content .capability-list article > span::before,
.site-content .programming-services article > span::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(135deg, #9a685b, #6e536b);
  box-shadow: 0 0 0 5px rgba(143, 94, 86, .10);
}

.site-content .section-heading {
  grid-template-columns: 28px 1fr !important;
  align-items: start;
}

/* Give sections more rhythm and depth. */
.site-content .content-section {
  position: relative;
}

.site-content .content-section::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 92px;
  height: 2px;
  background: linear-gradient(90deg, #9a685b, #75566d, transparent);
}

.site-content .section-kicker,
.site-content .section-heading p {
  color: #765d58 !important;
  font-weight: 700;
}

.site-content .service-card {
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(125, 110, 98, .27) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(252,248,241,.96)) !important;
  box-shadow:
    0 18px 42px rgba(55, 46, 39, .08),
    inset 0 1px 0 rgba(255,255,255,.92) !important;
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease !important;
}

.site-content .service-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #9a685b, #72546a 55%, rgba(114,84,106,0));
  opacity: .82;
}

.site-content .service-card::after {
  width: 260px !important;
  height: 260px !important;
  right: -110px !important;
  bottom: -140px !important;
  background: radial-gradient(circle, rgba(137, 91, 84, .12), transparent 70%) !important;
}

.site-content .service-card:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(126, 83, 78, .38) !important;
  box-shadow:
    0 28px 62px rgba(55, 46, 39, .13),
    0 8px 18px rgba(94, 68, 62, .07) !important;
}

.site-content .service-card__image {
  transition: transform .38s ease, filter .38s ease, box-shadow .38s ease !important;
}

.site-content .service-card:hover .service-card__image {
  transform: translateY(-4px) scale(1.035);
  filter: brightness(.98) saturate(.88) contrast(1.04) !important;
  box-shadow: 0 18px 34px rgba(56, 45, 39, .18) !important;
}

.site-content .capability-list article,
.site-content .programming-services article {
  position: relative;
  border-radius: 16px;
  transition: background .25s ease, transform .25s ease, border-color .25s ease;
}

.site-content .capability-list article:hover,
.site-content .programming-services article:hover {
  transform: translateX(5px);
  background: rgba(255,255,255,.52);
  border-color: rgba(132, 91, 84, .25) !important;
}

.site-content .original-carousel,
.site-content .programming-gallery figure {
  overflow: hidden;
}

.site-content .programming-gallery figure::after,
.site-content .original-carousel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.10), transparent 45%, rgba(111,78,101,.08));
  z-index: 2;
}

.site-content .programming-gallery img,
.site-content .original-carousel img {
  transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .4s ease !important;
}

.site-content .programming-gallery figure:hover img,
.site-content .original-carousel:hover img {
  transform: scale(1.035);
}

.site-content .contact-panel {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 87% 20%, rgba(122, 83, 107, .13), transparent 28%),
    linear-gradient(135deg, #fffdf8, #eee7dd) !important;
}

.site-content .contact-panel::before {
  content: "";
  position: absolute;
  width: 210px;
  height: 210px;
  right: -85px;
  bottom: -120px;
  border-radius: 50%;
  border: 1px solid rgba(121, 79, 101, .18);
  box-shadow: 0 0 0 32px rgba(121, 79, 101, .035), 0 0 0 68px rgba(121, 79, 101, .02);
}

.site-content .contact-button {
  background: linear-gradient(135deg, #302a28, #5d454f) !important;
  box-shadow: 0 10px 22px rgba(64, 47, 49, .20);
  transition: transform .25s ease, box-shadow .25s ease !important;
}

.site-content .contact-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 28px rgba(64, 47, 49, .27);
}

@media (max-width: 700px) {
  .site-content::before,
  .site-content::after { display: none; }
  .site-content .section-heading { grid-template-columns: 22px 1fr !important; }
  .site-content .service-card:hover { transform: none !important; }
  .site-content .capability-list article:hover,
  .site-content .programming-services article:hover { transform: none; }
}

/* V140 — cleaner modern service cards: remove the colored top stripe. */
.site-content .service-card {
  border: 1px solid rgba(108, 96, 86, .18) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(121, 87, 105, .065), transparent 26%),
    linear-gradient(145deg, rgba(255,255,255,.995), rgba(252,249,244,.985)) !important;
  box-shadow:
    0 1px 1px rgba(49, 42, 36, .025),
    0 10px 28px rgba(49, 42, 36, .065),
    inset 0 1px 0 rgba(255,255,255,.96) !important;
}

.site-content .service-card::before {
  content: "";
  position: absolute;
  width: 110px;
  height: 110px;
  left: auto;
  right: -48px;
  top: -52px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124, 88, 108, .12) 0%, rgba(124, 88, 108, .035) 46%, transparent 72%);
  opacity: .85;
  pointer-events: none;
  transition: transform .4s ease, opacity .4s ease;
}

.site-content .service-card::after {
  content: "";
  position: absolute;
  width: 54px !important;
  height: 2px !important;
  left: 30px !important;
  right: auto !important;
  bottom: 25px !important;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(143, 96, 86, .55), rgba(112, 81, 105, .18), transparent) !important;
  opacity: .55;
  pointer-events: none;
  transition: width .35s ease, opacity .35s ease;
}

.site-content .service-card:hover {
  border-color: rgba(112, 83, 91, .28) !important;
  box-shadow:
    0 2px 3px rgba(49, 42, 36, .025),
    0 22px 48px rgba(49, 42, 36, .105),
    inset 0 1px 0 rgba(255,255,255,.98) !important;
}

.site-content .service-card:hover::before {
  transform: scale(1.16);
  opacity: 1;
}

.site-content .service-card:hover::after {
  width: 82px !important;
  opacity: .9;
}

/* V141 — content refinements requested by the client. */

/* Important message inside the existing dark hero without moving its elements. */
.hero-value-statement {
  position: absolute;
  right: clamp(38px, 7vw, 112px);
  bottom: clamp(98px, 12vh, 150px);
  z-index: 18;
  width: min(560px, 39vw);
  margin: 0;
  padding: 18px 22px 18px 24px;
  border-left: 2px solid rgba(205, 194, 186, .52);
  color: rgba(238, 235, 231, .82);
  font-size: clamp(13px, .95vw, 16px);
  line-height: 1.65;
  letter-spacing: .01em;
  text-wrap: balance;
  background: linear-gradient(90deg, rgba(255,255,255,.035), rgba(255,255,255,0));
  backdrop-filter: blur(2px);
}

/* Statement placed directly after the main screen. */
.site-content .technology-statement {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 44px minmax(0, 920px);
  gap: 24px;
  align-items: center;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 48px 0 30px;
}

.site-content .technology-statement span {
  width: 44px;
  height: 1px;
  background: linear-gradient(90deg, #8c655d, rgba(140,101,93,.12));
}

.site-content .technology-statement p {
  margin: 0;
  color: #2a2825;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 3vw, 43px);
  line-height: 1.2;
  letter-spacing: -.025em;
  text-wrap: balance;
}

/* No bullets or numbers inside the four core service cards. */
.site-content .service-card__number {
  display: none !important;
}

/* Six original areas from the main Sans Frontières Design website. */
.site-content .experience-section {
  padding-top: clamp(72px, 8vw, 118px);
}

.site-content .experience-heading {
  max-width: 760px;
  margin-bottom: 42px;
}

.site-content .experience-heading h3 {
  margin: 10px 0 8px;
  color: #171717;
  font-size: clamp(36px, 5vw, 66px);
  line-height: 1;
  letter-spacing: -.045em;
}

.site-content .experience-heading > p {
  margin: 0;
  color: #625d57;
  font-size: clamp(18px, 2vw, 26px);
}

.site-content .experience-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.site-content .experience-card {
  position: relative;
  min-height: 330px;
  padding: 34px 30px 30px;
  overflow: hidden;
  border: 1px solid rgba(93, 82, 72, .16);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(118, 83, 101, .075), transparent 34%),
    rgba(255,255,255,.76);
  box-shadow: 0 12px 34px rgba(53, 46, 40, .055);
  transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease;
}

.site-content .experience-card::after {
  content: "";
  position: absolute;
  left: 30px;
  bottom: 24px;
  width: 34px;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, rgba(137,91,84,.58), transparent);
  transition: width .3s ease;
}

.site-content .experience-card:hover {
  transform: translateY(-7px);
  border-color: rgba(108, 78, 89, .27);
  box-shadow: 0 24px 54px rgba(53, 46, 40, .10);
}

.site-content .experience-card:hover::after {
  width: 72px;
}

.site-content .experience-card img {
  display: block;
  width: auto;
  max-width: 124px;
  height: 72px;
  margin: 0 0 28px;
  object-fit: contain;
  object-position: left center;
  filter: saturate(.9);
  transition: transform .32s ease, filter .32s ease;
}

.site-content .experience-card:hover img {
  transform: translateY(-3px) scale(1.035);
  filter: saturate(1);
}

.site-content .experience-card h4 {
  margin: 0 0 14px;
  color: #191817;
  font-size: 20px;
  line-height: 1.25;
}

.site-content .experience-card p {
  margin: 0;
  color: #5f5a54;
  font-size: 15px;
  line-height: 1.72;
}

@media (max-width: 1100px) {
  .hero-value-statement {
    right: 38px;
    bottom: 105px;
    width: 43vw;
    font-size: 13px;
  }
  .site-content .experience-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .hero-value-statement {
    left: 50%;
    right: auto;
    bottom: 82px;
    width: min(88vw, 520px);
    transform: translateX(-50%);
    padding: 12px 16px;
    border-left-width: 1px;
    font-size: 11px;
    line-height: 1.45;
    text-align: center;
  }
  .site-content .technology-statement {
    grid-template-columns: 30px 1fr;
    gap: 14px;
    width: min(100% - 32px, 1180px);
    padding-top: 34px;
  }
  .site-content .technology-statement span { width: 30px; }
  .site-content .experience-grid { grid-template-columns: 1fr; }
  .site-content .experience-card { min-height: 0; }
}

/* V142: important project value statement moved below the hero */
.site-content .project-value-callout {
  width: min(1120px, calc(100% - 48px));
  margin: 28px auto 10px;
  padding: 28px 34px;
  display: grid;
  grid-template-columns: minmax(190px, .34fr) minmax(0, 1fr);
  align-items: center;
  gap: 34px;
  background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(247,243,238,.96));
  border: 1px solid rgba(46, 39, 36, .12);
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(58, 47, 42, .09);
  position: relative;
  overflow: hidden;
}

.site-content .project-value-callout::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, #6f5b67, #b58a77);
}

.site-content .project-value-callout__label {
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 700;
  color: #755f68;
}

.site-content .project-value-callout p {
  margin: 0;
  font-size: clamp(21px, 2vw, 31px);
  line-height: 1.28;
  letter-spacing: -.025em;
  font-weight: 650;
  color: #171414;
}

@media (max-width: 760px) {
  .site-content .project-value-callout {
    width: min(100% - 28px, 1120px);
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 24px 24px 25px 28px;
    border-radius: 20px;
  }

  .site-content .project-value-callout p {
    font-size: 21px;
  }
}

/* V143 — AutoCAD temporary image popup */
.autocad-popup-trigger {
  cursor: pointer;
}

button.partner-card {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  font: inherit;
  color: inherit;
  background: transparent;
}

.experience-card--interactive {
  position: relative;
}

.experience-card--interactive::after {
  content: "View project image";
  display: block;
  margin-top: 14px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .25s ease, transform .25s ease;
}

.experience-card--interactive:hover::after,
.experience-card--interactive:focus-visible::after {
  opacity: .55;
  transform: translateY(0);
}

.experience-card--interactive:focus-visible,
button.partner-card:focus-visible {
  outline: 2px solid rgba(94, 73, 89, .55);
  outline-offset: 5px;
}

.modal-open {
  overflow: hidden !important;
}

.image-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  padding: 24px;
  visibility: hidden;
  opacity: 0;
  transition: opacity .22s ease, visibility .22s ease;
}

.image-modal.is-open {
  visibility: visible;
  opacity: 1;
}

.image-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(9, 9, 10, .78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.image-modal__panel {
  position: relative;
  z-index: 1;
  width: min(900px, 92vw);
  transform: translateY(12px) scale(.985);
  transition: transform .24s ease;
  filter: drop-shadow(0 24px 60px rgba(0, 0, 0, .42));
}

.image-modal.is-open .image-modal__panel {
  transform: translateY(0) scale(1);
}

.image-modal__panel img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 82vh;
  object-fit: contain;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 12px;
  background: #fff;
}

.image-modal__close {
  position: absolute;
  top: -15px;
  right: -15px;
  z-index: 2;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .6);
  border-radius: 50%;
  background: rgba(255, 255, 255, .96);
  color: #151515;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .28);
}

.image-modal__close:hover {
  transform: scale(1.06);
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 640px) {
  .image-modal {
    padding: 14px;
  }
  .image-modal__panel {
    width: 96vw;
  }
  .image-modal__close {
    top: -12px;
    right: -6px;
  }
}


/* V144 — AutoCAD trigger and true centered modal */
button.partner-card.autocad-popup-trigger {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: inherit !important;
  font: inherit !important;
  cursor: pointer;
}

button.partner-card.autocad-popup-trigger:hover,
button.partner-card.autocad-popup-trigger:focus,
button.partner-card.autocad-popup-trigger:active {
  background: transparent !important;
  box-shadow: none !important;
}

.image-modal[hidden] {
  display: none !important;
}

#autocad-project-modal.image-modal {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 2147483647 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  margin: 0 !important;
  overflow: auto !important;
  background: transparent !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .22s ease, visibility .22s ease !important;
}

#autocad-project-modal.image-modal.is-open {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

#autocad-project-modal .image-modal__backdrop {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(8, 8, 10, .78) !important;
  backdrop-filter: blur(7px) !important;
  -webkit-backdrop-filter: blur(7px) !important;
  cursor: pointer;
}

#autocad-project-modal .image-modal__panel {
  position: relative !important;
  z-index: 2 !important;
  width: min(760px, 90vw) !important;
  max-width: 760px !important;
  margin: auto !important;
  padding: 0 !important;
  background: transparent !important;
  transform: translateY(12px) scale(.985) !important;
  transition: transform .24s ease !important;
  filter: drop-shadow(0 24px 60px rgba(0, 0, 0, .48)) !important;
}

#autocad-project-modal.image-modal.is-open .image-modal__panel {
  transform: translateY(0) scale(1) !important;
}

#autocad-project-modal .image-modal__panel img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 80vh !important;
  object-fit: contain !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
}

#autocad-project-modal .image-modal__close {
  position: absolute !important;
  top: -16px !important;
  right: -16px !important;
  z-index: 3 !important;
}

@media (max-width: 640px) {
  #autocad-project-modal.image-modal { padding: 14px !important; }
  #autocad-project-modal .image-modal__panel { width: 94vw !important; }
  #autocad-project-modal .image-modal__close { top: -13px !important; right: -5px !important; }
}

/* V145 — smaller modal close button; AutoCAD ribbon icon remains a modal trigger */
#autocad-project-modal .image-modal__close {
  width: 30px !important;
  height: 30px !important;
  top: -11px !important;
  right: -11px !important;
  border-width: 1px !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  box-shadow: 0 7px 18px rgba(0, 0, 0, .24) !important;
}

#autocad-project-modal .image-modal__close:hover {
  transform: scale(1.04) !important;
}

@media (max-width: 640px) {
  #autocad-project-modal .image-modal__close {
    width: 28px !important;
    height: 28px !important;
    top: -9px !important;
    right: -3px !important;
    font-size: 19px !important;
  }
}

/* V146 — Enable the first AutoCAD logo in the main partner strip as a popup trigger. */
.partner-strip {
  pointer-events: auto !important;
}

.partner-strip .partner-card {
  pointer-events: none !important;
}

.partner-strip button.partner-card.autocad-popup-trigger {
  pointer-events: auto !important;
  cursor: pointer !important;
}

.partner-strip button.partner-card.autocad-popup-trigger > * {
  pointer-events: none !important;
}

/* =========================================================
   V147 — ajuste exclusivo para móvil.
   - Muestra solo los dos primeros servicios.
   - Los distribuye en dos columnas.
   - Aumenta 10% el logo animado central.
   ========================================================= */
@media (max-width: 560px) {
  :root {
    --stage-size: clamp(128px, 38.5vw, 152px);
  }

  .hero-side-content__services {
    width: min(94vw, 372px) !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    column-gap: 18px !important;
    row-gap: 0 !important;
    text-align: left !important;
  }

  .hero-side-content__services li {
    min-width: 0;
    padding-left: 14px !important;
  }

  .hero-side-content__services li:nth-child(2) {
    justify-self: end;
    width: 100%;
  }

  .hero-side-content__services li:nth-child(n+3) {
    display: none !important;
  }

  .hero-side-content__services span,
  .hero-side-content__services small {
    white-space: normal;
  }
}

@media (max-width: 560px) and (max-height: 680px) {
  :root {
    --stage-size: clamp(119px, 36.3vw, 141px);
  }

  .hero-side-content__services {
    width: min(92vw, 354px) !important;
    column-gap: 14px !important;
  }
}

/* =========================================================
   V149 — MOBILE ONLY
   - Align the two hero service texts with the two logo columns.
   - Increase service text readability.
   - Keep only AutoCAD, Charter, Cox and Iris in the mobile logo strip.
   - Replace the mobile telecommunications text block with the existing
     animated image carousel. Desktop/web remains unchanged.
   ========================================================= */
@media (max-width: 560px) {
  /* Shared two-column width so services and logos align vertically. */
  .hero-side-content__services,
  .partner-strip {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 18px !important;
  }

  .hero-side-content__services {
    padding: 0 28px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-items: start !important;
  }

  .hero-side-content__services li {
    width: 100% !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    padding-left: 16px !important;
    font-size: 13px !important;
    line-height: 1.22 !important;
  }

  .hero-side-content__services li:nth-child(2) {
    justify-self: stretch !important;
  }

  .hero-side-content__services span {
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 600 !important;
  }

  .hero-side-content__services small {
    display: block !important;
    margin-top: 3px !important;
    font-size: 11.5px !important;
    line-height: 1.22 !important;
  }

  /* Four selected logos only: AutoCAD, Charter, Cox and Iris. */
  .partner-strip {
    padding: 10px 28px 12px !important;
    row-gap: 12px !important;
    align-content: center !important;
    height: auto !important;
    min-height: 164px !important;
  }

  .partner-strip .partner-card:nth-child(2),
  .partner-strip .partner-card:nth-child(5),
  .partner-strip .partner-card:nth-child(6) {
    display: none !important;
  }

  .partner-strip .partner-card {
    width: 100% !important;
    min-width: 0 !important;
    justify-self: stretch !important;
  }

  /* Preserve the requested order in the two-column mobile grid. */
  .partner-strip .partner-card:nth-child(1) { grid-column: 1; grid-row: 1; }
  .partner-strip .partner-card:nth-child(3) { grid-column: 2; grid-row: 1; }
  .partner-strip .partner-card:nth-child(4) { grid-column: 1; grid-row: 2; }
  .partner-strip .partner-card:nth-child(7) { grid-column: 2; grid-row: 2; }

  /* Remove only the mobile copy that was crossed out and give the carousel
     the full section width. The carousel keeps its existing animation. */
  .content-intro {
    display: block !important;
    padding-top: 0 !important;
  }

  .content-intro__copy {
    display: none !important;
  }

  .content-intro .original-carousel {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
    margin: 0 !important;
    border-radius: 18px !important;
  }
}

/* =========================================================
   V150 — MOBILE ONLY
   Compact the four-logo ribbon so it no longer overlaps the two
   service descriptions above it. Desktop/web remains unchanged.
   ========================================================= */
@media (max-width: 560px) {
  :root {
    --partner-strip-height: 122px !important;
  }

  .partner-strip {
    min-height: 122px !important;
    height: 122px !important;
    padding: 6px 28px 7px !important;
    row-gap: 5px !important;
    column-gap: 18px !important;
    align-content: center !important;
  }

  .partner-strip .partner-card {
    gap: 2px !important;
    min-height: 0 !important;
  }

  .partner-strip .partner-card img,
  .partner-strip .partner-card:nth-child(1) img,
  .partner-strip .partner-card:nth-child(3) img,
  .partner-strip .partner-card:nth-child(4) img,
  .partner-strip .partner-card:nth-child(7) img {
    max-height: 23px !important;
  }

  .partner-strip .partner-card span {
    font-size: 9px !important;
    line-height: 1.05 !important;
  }
}

/* =========================================================
   V152 — MOBILE ONLY
   Fine-tune the vertical alignment in the hero area:
   - move the central animated logo upward,
   - move the two service text blocks upward,
   - raise the first row of mobile logos,
   - lower the second row text labels so their bottom edge sits lower.
   Desktop/web remains unchanged.
   ========================================================= */
@media (max-width: 560px) {
  .stage {
    transform: translateY(96px) !important;
  }

  .box-cloud {
    top: calc(
      var(--hero-header-space) +
      (100svh - var(--hero-header-space) - var(--partner-strip-height)) / 2 + 96px
    ) !important;
  }

  .hero-side-content__services {
    bottom: 28px !important;
  }

  .partner-strip {
    min-height: 118px !important;
    height: 118px !important;
    padding: 4px 28px 6px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: 1fr 1fr !important;
    align-content: stretch !important;
    row-gap: 0 !important;
  }

  .partner-strip .partner-card {
    height: 100% !important;
    gap: 1px !important;
  }

  .partner-strip .partner-card:nth-child(1),
  .partner-strip .partner-card:nth-child(3) {
    justify-content: flex-start !important;
    align-self: start !important;
  }

  .partner-strip .partner-card:nth-child(4),
  .partner-strip .partner-card:nth-child(7) {
    justify-content: flex-end !important;
    align-self: end !important;
  }

  .partner-strip .partner-card:nth-child(4) span,
  .partner-strip .partner-card:nth-child(7) span {
    margin-top: 3px !important;
  }
}

@media (max-width: 560px) and (max-height: 680px) {
  .stage {
    transform: translateY(76px) !important;
  }

  .box-cloud {
    top: calc(
      var(--hero-header-space) +
      (100svh - var(--hero-header-space) - var(--partner-strip-height)) / 2 + 76px
    ) !important;
  }

  .hero-side-content__services {
    bottom: 22px !important;
  }
}

/* =========================================================
   V153 — MOBILE ONLY
   Requested refinements:
   1) move the central animated logo upward,
   2) lower the first row logos (AutoCAD and Charter),
   3) reduce the Cox logo about 10%,
   4) enlarge the four logo captions for better readability.
   Desktop/web remains unchanged.
   ========================================================= */
@media (max-width: 560px) {
  .stage {
    transform: translateY(74px) !important;
  }

  .box-cloud {
    top: calc(
      var(--hero-header-space) +
      (100svh - var(--hero-header-space) - var(--partner-strip-height)) / 2 + 74px
    ) !important;
  }

  .partner-strip .partner-card:nth-child(1),
  .partner-strip .partner-card:nth-child(3) {
    justify-content: center !important;
    align-self: stretch !important;
    padding-top: 10px !important;
  }

  .partner-strip .partner-card:nth-child(4) img {
    max-height: 20px !important;
    width: auto !important;
  }

  .partner-strip .partner-card span {
    font-size: 10.5px !important;
    line-height: 1.08 !important;
  }
}

@media (max-width: 560px) and (max-height: 680px) {
  .stage {
    transform: translateY(58px) !important;
  }

  .box-cloud {
    top: calc(
      var(--hero-header-space) +
      (100svh - var(--hero-header-space) - var(--partner-strip-height)) / 2 + 58px
    ) !important;
  }
}

/* =========================================================
   V154 — MOBILE ONLY
   Raise the central animated logo a little more, keeping all other
   mobile adjustments intact. Desktop/web remains unchanged.
   ========================================================= */
@media (max-width: 560px) {
  .stage {
    transform: translateY(60px) !important;
  }

  .box-cloud {
    top: calc(
      var(--hero-header-space) +
      (100svh - var(--hero-header-space) - var(--partner-strip-height)) / 2 + 60px
    ) !important;
  }
}

@media (max-width: 560px) and (max-height: 680px) {
  .stage {
    transform: translateY(44px) !important;
  }

  .box-cloud {
    top: calc(
      var(--hero-header-space) +
      (100svh - var(--hero-header-space) - var(--partner-strip-height)) / 2 + 44px
    ) !important;
  }
}

/* =========================================================
   V155 — MOBILE ONLY
   Correct the actual positioned element used by the current files.
   The logo is controlled by .hero .stage { top: ... }, so this rule
   moves the animated logo upward without changing desktop layout.
   ========================================================= */
@media (max-width: 560px) {
  .hero .stage {
    top: clamp(305px, 45svh, 342px) !important;
    transform: none !important;
  }

  .hero .box-cloud {
    top: clamp(377px, 53svh, 412px) !important;
  }
}

@media (max-width: 560px) and (max-height: 680px) {
  .hero .stage {
    top: clamp(280px, 43svh, 315px) !important;
    transform: none !important;
  }

  .hero .box-cloud {
    top: clamp(345px, 50svh, 378px) !important;
  }
}

/* =========================================================
   V156 — MOBILE ONLY
   Center the animated logo exactly on mobile. The previous override
   removed the horizontal centering transform, so restore precise
   centering while keeping the mobile vertical position adjustment.
   Desktop/web remains unchanged.
   ========================================================= */
@media (max-width: 560px) {
  .hero .stage {
    left: 50% !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    top: clamp(305px, 45svh, 342px) !important;
  }

  .hero .box-cloud {
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    top: clamp(377px, 53svh, 412px) !important;
  }
}

@media (max-width: 560px) and (max-height: 680px) {
  .hero .stage {
    left: 50% !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    top: clamp(280px, 43svh, 315px) !important;
  }

  .hero .box-cloud {
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    top: clamp(345px, 50svh, 378px) !important;
  }
}

/* =========================================================
   V157 — MOBILE ONLY
   Lower the two service text blocks closer to the guide line and
   center the Optical Fiber title/subtitle block relative to itself.
   Desktop/web remains unchanged.
   ========================================================= */
@media (max-width: 560px) {
  .hero-side-content__services {
    bottom: 14px !important;
  }

  .hero-side-content__services li:nth-child(2) span,
  .hero-side-content__services li:nth-child(2) small {
    width: 100% !important;
    text-align: center !important;
  }
}

@media (max-width: 560px) and (max-height: 680px) {
  .hero-side-content__services {
    bottom: 10px !important;
  }
}

/* =========================================================
   V158 — MOBILE ONLY
   Nudge the central animated logo slightly downward so it sits more
   evenly centered between the upper and lower guide lines. Desktop/web
   remains unchanged.
   ========================================================= */
@media (max-width: 560px) {
  .hero .stage {
    top: clamp(317px, 46.5svh, 354px) !important;
  }

  .hero .box-cloud {
    top: clamp(389px, 54.5svh, 424px) !important;
  }
}

@media (max-width: 560px) and (max-height: 680px) {
  .hero .stage {
    top: clamp(292px, 44.5svh, 327px) !important;
  }

  .hero .box-cloud {
    top: clamp(357px, 51.5svh, 390px) !important;
  }
}

/* =========================================================
   V159 — MOBILE ONLY
   Place the animated project image between the two important statements:
   technology statement → carousel → accuracy/schedule/budget statement.
   Desktop layout remains unchanged.
   ========================================================= */
.original-carousel--mobile-between-statements {
  display: none;
}

@media (max-width: 560px) {
  .original-carousel--mobile-between-statements {
    display: block !important;
    width: calc(100% - 28px) !important;
    max-width: none !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
    margin: 28px auto 28px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
  }

  .content-intro > .original-carousel {
    display: none !important;
  }
}

/* =========================================================
   V160 — ALL SCREEN SIZES
   Place the animated project image between the two important statements
   on desktop/web as well as mobile. The duplicated carousel inside the
   telecommunications intro is hidden so the image appears only once.
   ========================================================= */
.original-carousel--mobile-between-statements {
  display: block !important;
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: none !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 7 !important;
  margin: 42px auto !important;
  border-radius: 22px !important;
  overflow: hidden !important;
}

.content-intro > .original-carousel {
  display: none !important;
}

.content-intro {
  grid-template-columns: minmax(0, 1fr) !important;
}

.content-intro__copy {
  max-width: 880px !important;
}

@media (max-width: 560px) {
  .original-carousel--mobile-between-statements {
    width: calc(100% - 28px) !important;
    aspect-ratio: 16 / 10 !important;
    margin: 28px auto !important;
    border-radius: 18px !important;
  }
}

.page-signature{position:fixed;right:18px;bottom:calc(var(--partner-strip-height) + 18px);z-index:930;max-width:270px;padding:8px 10px;border-radius:10px;background:rgba(8,13,25,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.07);color:rgba(255,255,255,.82);font-size:11px;line-height:1.35;text-align:right;font-weight:400;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.page-signature .signature-author{display:block;text-align:right}
@media (max-width:1000px){.page-signature{right:14px;bottom:calc(var(--partner-strip-height) + 14px);max-width:220px;font-size:10px}}
@media (max-width:650px){.page-signature{right:8px;bottom:calc(var(--partner-strip-height) + 8px);max-width:170px;padding:6px 8px;font-size:9px}}


/* V152 — reduce Bentley logo by 20%. */
.partner-strip .partner-card:nth-child(5) img {
  transform: scale(0.8) !important;
  transform-origin: center center;
}

/* Language selector: English is active by default. */
.language-menu a{opacity:.58;transition:opacity .2s ease,transform .2s ease,box-shadow .2s ease}
.language-menu a.is-active{opacity:1;transform:translateY(-1px);box-shadow:0 0 0 2px rgba(255,255,255,.55);border-radius:999px}


/* V153 — normalize all partner strip logo heights and alignment. */
.partner-strip .partner-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
}
.partner-strip .partner-card img,
.partner-strip .partner-card:nth-child(1) img,
.partner-strip .partner-card:nth-child(2) img,
.partner-strip .partner-card:nth-child(3) img,
.partner-strip .partner-card:nth-child(4) img,
.partner-strip .partner-card:nth-child(5) img,
.partner-strip .partner-card:nth-child(6) img,
.partner-strip .partner-card:nth-child(7) img{
  height:46px !important;
  max-height:46px !important;
  width:auto !important;
  object-fit:contain !important;
}
.partner-strip .partner-card span{
  width:100% !important;
  text-align:center !important;
}
@media (max-width:780px){
  .partner-strip .partner-card img,
  .partner-strip .partner-card:nth-child(1) img,
  .partner-strip .partner-card:nth-child(2) img,
  .partner-strip .partner-card:nth-child(3) img,
  .partner-strip .partner-card:nth-child(4) img,
  .partner-strip .partner-card:nth-child(5) img,
  .partner-strip .partner-card:nth-child(6) img,
  .partner-strip .partner-card:nth-child(7) img{
    height:34px !important;
    max-height:34px !important;
  }
}
@media (max-width:560px){
  .partner-strip .partner-card img,
  .partner-strip .partner-card:nth-child(1) img,
  .partner-strip .partner-card:nth-child(2) img,
  .partner-strip .partner-card:nth-child(3) img,
  .partner-strip .partner-card:nth-child(4) img,
  .partner-strip .partner-card:nth-child(5) img,
  .partner-strip .partner-card:nth-child(6) img,
  .partner-strip .partner-card:nth-child(7) img{
    height:26px !important;
    max-height:26px !important;
  }
}


/* V154 — reduce the seven partner-strip logos by 20% while keeping equal height and alignment. */
.partner-strip .partner-card img,
.partner-strip .partner-card:nth-child(1) img,
.partner-strip .partner-card:nth-child(2) img,
.partner-strip .partner-card:nth-child(3) img,
.partner-strip .partner-card:nth-child(4) img,
.partner-strip .partner-card:nth-child(5) img,
.partner-strip .partner-card:nth-child(6) img,
.partner-strip .partner-card:nth-child(7) img{
  height:37px !important;
  max-height:37px !important;
}
@media (max-width:780px){
  .partner-strip .partner-card img,
  .partner-strip .partner-card:nth-child(1) img,
  .partner-strip .partner-card:nth-child(2) img,
  .partner-strip .partner-card:nth-child(3) img,
  .partner-strip .partner-card:nth-child(4) img,
  .partner-strip .partner-card:nth-child(5) img,
  .partner-strip .partner-card:nth-child(6) img,
  .partner-strip .partner-card:nth-child(7) img{
    height:27px !important;
    max-height:27px !important;
  }
}
@media (max-width:560px){
  .partner-strip .partner-card img,
  .partner-strip .partner-card:nth-child(1) img,
  .partner-strip .partner-card:nth-child(2) img,
  .partner-strip .partner-card:nth-child(3) img,
  .partner-strip .partner-card:nth-child(4) img,
  .partner-strip .partner-card:nth-child(5) img,
  .partner-strip .partner-card:nth-child(6) img,
  .partner-strip .partner-card:nth-child(7) img{
    height:21px !important;
    max-height:21px !important;
  }
}


/* V155 — reduce the seven partner-strip logos 20% more. */
.partner-strip .partner-card img,
.partner-strip .partner-card:nth-child(1) img,
.partner-strip .partner-card:nth-child(2) img,
.partner-strip .partner-card:nth-child(3) img,
.partner-strip .partner-card:nth-child(4) img,
.partner-strip .partner-card:nth-child(5) img,
.partner-strip .partner-card:nth-child(6) img,
.partner-strip .partner-card:nth-child(7) img{
  height:30px !important;
  max-height:30px !important;
}
@media (max-width:780px){
  .partner-strip .partner-card img,
  .partner-strip .partner-card:nth-child(1) img,
  .partner-strip .partner-card:nth-child(2) img,
  .partner-strip .partner-card:nth-child(3) img,
  .partner-strip .partner-card:nth-child(4) img,
  .partner-strip .partner-card:nth-child(5) img,
  .partner-strip .partner-card:nth-child(6) img,
  .partner-strip .partner-card:nth-child(7) img{
    height:22px !important;
    max-height:22px !important;
  }
}
@media (max-width:560px){
  .partner-strip .partner-card img,
  .partner-strip .partner-card:nth-child(1) img,
  .partner-strip .partner-card:nth-child(2) img,
  .partner-strip .partner-card:nth-child(3) img,
  .partner-strip .partner-card:nth-child(4) img,
  .partner-strip .partner-card:nth-child(5) img,
  .partner-strip .partner-card:nth-child(6) img,
  .partner-strip .partner-card:nth-child(7) img{
    height:17px !important;
    max-height:17px !important;
  }
}


/* V156 — reduce the seven partner-strip logos 10% more. */
.partner-strip .partner-card img,
.partner-strip .partner-card:nth-child(1) img,
.partner-strip .partner-card:nth-child(2) img,
.partner-strip .partner-card:nth-child(3) img,
.partner-strip .partner-card:nth-child(4) img,
.partner-strip .partner-card:nth-child(5) img,
.partner-strip .partner-card:nth-child(6) img,
.partner-strip .partner-card:nth-child(7) img{
  height:27px !important;
  max-height:27px !important;
}
@media (max-width:780px){
  .partner-strip .partner-card img,
  .partner-strip .partner-card:nth-child(1) img,
  .partner-strip .partner-card:nth-child(2) img,
  .partner-strip .partner-card:nth-child(3) img,
  .partner-strip .partner-card:nth-child(4) img,
  .partner-strip .partner-card:nth-child(5) img,
  .partner-strip .partner-card:nth-child(6) img,
  .partner-strip .partner-card:nth-child(7) img{
    height:20px !important;
    max-height:20px !important;
  }
}
@media (max-width:560px){
  .partner-strip .partner-card img,
  .partner-strip .partner-card:nth-child(1) img,
  .partner-strip .partner-card:nth-child(2) img,
  .partner-strip .partner-card:nth-child(3) img,
  .partner-strip .partner-card:nth-child(4) img,
  .partner-strip .partner-card:nth-child(5) img,
  .partner-strip .partner-card:nth-child(6) img,
  .partner-strip .partner-card:nth-child(7) img{
    height:15px !important;
    max-height:15px !important;
  }
}


/* V157 — vertically center all seven partner-strip icons within the ribbon. */
.partner-strip .partner-card{
  display:grid !important;
  grid-template-rows:44px auto !important;
  align-items:center !important;
  justify-items:center !important;
  align-content:center !important;
  row-gap:8px !important;
}
.partner-strip .partner-card img,
.partner-strip .partner-card:nth-child(1) img,
.partner-strip .partner-card:nth-child(2) img,
.partner-strip .partner-card:nth-child(3) img,
.partner-strip .partner-card:nth-child(4) img,
.partner-strip .partner-card:nth-child(5) img,
.partner-strip .partner-card:nth-child(6) img,
.partner-strip .partner-card:nth-child(7) img{
  grid-row:1 !important;
  align-self:center !important;
  justify-self:center !important;
  display:block !important;
  margin:0 auto !important;
}
.partner-strip .partner-card span{
  grid-row:2 !important;
  align-self:start !important;
  width:100% !important;
  text-align:center !important;
}
@media (max-width:780px){
  .partner-strip .partner-card{grid-template-rows:34px auto !important;}
}
@media (max-width:560px){
  .partner-strip .partner-card{grid-template-rows:26px auto !important;row-gap:6px !important;}
}


/* V158 — align the vertical center of the Lode Data logo with Charter. */
.partner-strip .partner-card:nth-child(2) img{
  transform: translateY(10px) !important;
}
@media (max-width:780px){
  .partner-strip .partner-card:nth-child(2) img{
    transform: translateY(7px) !important;
  }
}
@media (max-width:560px){
  .partner-strip .partner-card:nth-child(2) img{
    transform: translateY(5px) !important;
  }
}


/* V160 — fine-tune only Lode Data and Charter so they visually align with the other partner logos. */
.partner-strip .partner-card:nth-child(2) img{
  transform: translateY(7px) !important;
}
.partner-strip .partner-card:nth-child(3) img{
  transform: translateY(5px) !important;
}
@media (max-width:780px){
  .partner-strip .partner-card:nth-child(2) img{
    transform: translateY(5px) !important;
  }
  .partner-strip .partner-card:nth-child(3) img{
    transform: translateY(4px) !important;
  }
}
@media (max-width:560px){
  .partner-strip .partner-card:nth-child(2) img{
    transform: translateY(4px) !important;
  }
  .partner-strip .partner-card:nth-child(3) img{
    transform: translateY(3px) !important;
  }
}


/* V161 — distribute the seven partner logos evenly across the ribbon with balanced outer margins. */
.partner-strip{
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  justify-items:center !important;
  align-items:end !important;
  column-gap:clamp(14px,1.8vw,28px) !important;
  row-gap:0 !important;
  padding-left:clamp(26px,3.2vw,56px) !important;
  padding-right:clamp(26px,3.2vw,56px) !important;
}
.partner-strip .partner-card{
  width:100% !important;
  max-width:none !important;
  justify-self:center !important;
}
@media (max-width:780px){
  .partner-strip{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    column-gap:14px !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }
}
@media (max-width:560px){
  .partner-strip{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:10px !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }
}


/* V162 — desktop partner strip uses proportional spacing including the outer left and right gaps. */
@media (min-width: 781px){
  .partner-strip{
    display:flex !important;
    justify-content:space-evenly !important;
    align-items:end !important;
    gap:0 !important;
    padding-left:clamp(28px,3vw,56px) !important;
    padding-right:clamp(28px,3vw,56px) !important;
  }
  .partner-strip .partner-card{
    flex:0 1 12.8% !important;
    max-width:220px !important;
    min-width:0 !important;
    width:auto !important;
  }
}


/* V163 — exact equal horizontal center spacing for all seven partner logos. */
@media (min-width: 781px){
  .partner-strip{
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    column-gap:0 !important;
    justify-items:center !important;
    align-items:end !important;
    padding-left:42px !important;
    padding-right:42px !important;
  }
  .partner-strip .partner-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    justify-self:stretch !important;
    flex:none !important;
  }
}


/* V164 — exact proportional horizontal distribution: the left edge gap, every center-to-center gap, and the right edge gap are equal. */
@media (min-width:781px){
  .partner-strip{
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    column-gap:0 !important;
    padding-left:6.25% !important;
    padding-right:6.25% !important;
    justify-items:stretch !important;
  }
  .partner-strip .partner-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    justify-self:stretch !important;
    margin:0 !important;
  }
}


/* V165 — visual proportional spacing based on each logo's visible width. */
@media (min-width:781px){
  .partner-strip{
    display:flex !important;
    justify-content:space-evenly !important;
    align-items:end !important;
    gap:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .partner-strip .partner-card{
    flex:0 0 auto !important;
    min-width:0 !important;
    max-width:none !important;
    justify-self:auto !important;
    margin:0 !important;
  }
  .partner-strip .partner-card:nth-child(1){width:20px !important;}
  .partner-strip .partner-card:nth-child(2){width:46px !important;}
  .partner-strip .partner-card:nth-child(3){width:80px !important;}
  .partner-strip .partner-card:nth-child(4){width:82px !important;}
  .partner-strip .partner-card:nth-child(5){width:88px !important;}
  .partner-strip .partner-card:nth-child(6){width:24px !important;}
  .partner-strip .partner-card:nth-child(7){width:32px !important;}
  .partner-strip .partner-card span{
    width:max-content !important;
    max-width:none !important;
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    white-space:nowrap !important;
  }
}


/* V163 — move only the Sans Frontières Design logo further left so it is visually centered between Bentley and Iris. */
.partner-strip .partner-card:nth-child(6) img{
  transform: translateX(-34px) !important;
}
@media (max-width:780px){
  .partner-strip .partner-card:nth-child(6) img{
    transform: translateX(-20px) !important;
  }
}
@media (max-width:560px){
  .partner-strip .partner-card:nth-child(6) img{
    transform: translateX(-12px) !important;
  }
}


/* V164 — move the Sans Frontières icon a bit more left and align the Bentley/Sans Frontières labels with their icons. */
.partner-strip .partner-card:nth-child(5) span{
  transform: translateX(-8px) !important;
}
.partner-strip .partner-card:nth-child(6) img{
  transform: translateX(-48px) !important;
}
.partner-strip .partner-card:nth-child(6) span{
  transform: translateX(-48px) !important;
}
@media (max-width:780px){
  .partner-strip .partner-card:nth-child(5) span{
    transform: translateX(-5px) !important;
  }
  .partner-strip .partner-card:nth-child(6) img{
    transform: translateX(-28px) !important;
  }
  .partner-strip .partner-card:nth-child(6) span{
    transform: translateX(-28px) !important;
  }
}
@media (max-width:560px){
  .partner-strip .partner-card:nth-child(5) span{
    transform: translateX(-3px) !important;
  }
  .partner-strip .partner-card:nth-child(6) img{
    transform: translateX(-16px) !important;
  }
  .partner-strip .partner-card:nth-child(6) span{
    transform: translateX(-16px) !important;
  }
}


/* V165 — align the Bentley Soft and Sans Frontières Design labels horizontally with their own icons, using Cox as the visual reference. */
.partner-strip .partner-card:nth-child(5) span,
.partner-strip .partner-card:nth-child(6) span{
  width:max-content !important;
  max-width:none !important;
  position:relative !important;
  text-align:center !important;
}
.partner-strip .partner-card:nth-child(5) span{
  left:50% !important;
  transform:translateX(-50%) !important;
}
.partner-strip .partner-card:nth-child(6) span{
  left:50% !important;
  transform:translateX(calc(-50% - 48px)) !important;
}
@media (max-width:780px){
  .partner-strip .partner-card:nth-child(6) span{
    transform:translateX(calc(-50% - 28px)) !important;
  }
}
@media (max-width:560px){
  .partner-strip .partner-card:nth-child(6) span{
    transform:translateX(calc(-50% - 16px)) !important;
  }
}


/* V166 — slowly move the partner logos like a continuous ribbon loop while preserving their spacing. */
.partner-strip.partner-strip--marquee{
  display:block !important;
  overflow:hidden !important;
  padding:10px 0 8px !important;
}
.partner-strip.partner-strip--marquee .partner-marquee-track{
  display:flex !important;
  align-items:flex-end !important;
  width:max-content !important;
  will-change:transform;
  animation:sfdPartnerRibbonLoop 62s linear infinite;
}
.partner-strip.partner-strip--marquee .partner-marquee-set{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-start !important;
  gap:clamp(52px,4.5vw,96px) !important;
  padding-left:clamp(28px,3vw,54px) !important;
  padding-right:clamp(28px,3vw,54px) !important;
  flex:0 0 auto !important;
}
.partner-strip.partner-strip--marquee .partner-card{
  flex:0 0 auto !important;
}
.partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(1){ width:20px !important; }
.partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(2){ width:46px !important; }
.partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(3){ width:80px !important; }
.partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(4){ width:82px !important; }
.partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(5){ width:88px !important; }
.partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(6){ width:24px !important; }
.partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(7){ width:32px !important; }
.partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card span{
  white-space:nowrap !important;
}
@keyframes sfdPartnerRibbonLoop{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@media (max-width: 980px){
  .partner-strip.partner-strip--marquee .partner-marquee-track{
    animation-duration:56s;
  }
  .partner-strip.partner-strip--marquee .partner-marquee-set{
    gap:34px !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
}
@media (max-width: 560px){
  .partner-strip.partner-strip--marquee{
    padding:8px 0 7px !important;
  }
  .partner-strip.partner-strip--marquee .partner-marquee-track{
    animation-duration:46s;
  }
  .partner-strip.partner-strip--marquee .partner-marquee-set{
    gap:24px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(1){ width:18px !important; }
  .partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(2){ width:40px !important; }
  .partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(3){ width:70px !important; }
  .partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(4){ width:72px !important; }
  .partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(5){ width:78px !important; }
  .partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(6){ width:22px !important; }
  .partner-strip.partner-strip--marquee .partner-marquee-set > .partner-card:nth-child(7){ width:28px !important; }
}


/* V167 — true 7-icon ticker loop: keep only the 7 icons, move them slowly left, and recycle each icon from left to right with no duplicated visible set. */
.partner-strip.partner-strip--ticker{
  position:relative !important;
  display:block !important;
  overflow:hidden !important;
  min-height:var(--partner-strip-height) !important;
}
.partner-strip.partner-strip--ticker .partner-card{
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  margin:0 !important;
  transform:translate3d(0,-50%,0);
  will-change:transform;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
}
.partner-strip.partner-strip--ticker .partner-card span{
  white-space:nowrap !important;
}
.partner-strip.partner-strip--ticker .partner-card:nth-child(1){ width:20px !important; }
.partner-strip.partner-strip--ticker .partner-card:nth-child(2){ width:46px !important; }
.partner-strip.partner-strip--ticker .partner-card:nth-child(3){ width:80px !important; }
.partner-strip.partner-strip--ticker .partner-card:nth-child(4){ width:82px !important; }
.partner-strip.partner-strip--ticker .partner-card:nth-child(5){ width:88px !important; }
.partner-strip.partner-strip--ticker .partner-card:nth-child(6){ width:24px !important; }
.partner-strip.partner-strip--ticker .partner-card:nth-child(7){ width:32px !important; }
@media (max-width: 980px){
  .partner-strip.partner-strip--ticker .partner-card:nth-child(1){ width:18px !important; }
  .partner-strip.partner-strip--ticker .partner-card:nth-child(2){ width:42px !important; }
  .partner-strip.partner-strip--ticker .partner-card:nth-child(3){ width:72px !important; }
  .partner-strip.partner-strip--ticker .partner-card:nth-child(4){ width:74px !important; }
  .partner-strip.partner-strip--ticker .partner-card:nth-child(5){ width:80px !important; }
  .partner-strip.partner-strip--ticker .partner-card:nth-child(6){ width:23px !important; }
  .partner-strip.partner-strip--ticker .partner-card:nth-child(7){ width:30px !important; }
}
@media (max-width: 560px){
  .partner-strip.partner-strip--ticker .partner-card:nth-child(1){ width:18px !important; }
  .partner-strip.partner-strip--ticker .partner-card:nth-child(2){ width:40px !important; }
  .partner-strip.partner-strip--ticker .partner-card:nth-child(3){ width:70px !important; }
  .partner-strip.partner-strip--ticker .partner-card:nth-child(4){ width:72px !important; }
  .partner-strip.partner-strip--ticker .partner-card:nth-child(5){ width:78px !important; }
  .partner-strip.partner-strip--ticker .partner-card:nth-child(6){ width:22px !important; }
  .partner-strip.partner-strip--ticker .partner-card:nth-child(7){ width:28px !important; }
}


/* V168 — restore visible ticker ribbon and allow JavaScript to position the seven cards. */
.partner-strip.partner-strip--ticker{
  display:block !important;
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:var(--partner-strip-height) !important;
  min-height:var(--partner-strip-height) !important;
  overflow:hidden !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:920 !important;
  background:rgba(0,0,0,.42) !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}
.partner-strip.partner-strip--ticker .partner-card{
  visibility:visible !important;
  opacity:1 !important;
}


/* V152 — clean partner ribbon loop: keep original icon sizes while the whole strip moves smoothly. */
.partner-strip.partner-strip--clean-loop {
  display: block !important;
  overflow: hidden !important;
  padding: 0 !important;
  min-height: var(--partner-strip-height) !important;
  height: var(--partner-strip-height) !important;
}

.partner-strip--clean-loop .partner-strip__track {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: stretch;
  gap: var(--partner-loop-gap, 22px);
  will-change: transform;
}

.partner-strip--clean-loop .partner-card {
  flex: 0 0 var(--partner-slot-width, 132px);
  width: var(--partner-slot-width, 132px);
  min-width: var(--partner-slot-width, 132px);
  max-width: var(--partner-slot-width, 132px);
  height: 100%;
  padding: 8px 0 8px;
  justify-content: flex-end;
  gap: 6px;
}

.partner-strip--clean-loop .partner-card img {
  display: block;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  transform: none !important;
  margin-inline: auto;
}

.partner-strip--clean-loop .partner-card span {
  display: block;
  width: 100%;
  text-align: center;
}

.partner-strip--clean-loop .partner-card--autocad img { max-height: 41px !important; }
.partner-strip--clean-loop .partner-card--lode img { max-height: 35px !important; }
.partner-strip--clean-loop .partner-card--charter img { max-height: 32px !important; }
.partner-strip--clean-loop .partner-card--cox img { max-height: 32px !important; }
.partner-strip--clean-loop .partner-card--bentley img { max-height: 42px !important; }
.partner-strip--clean-loop .partner-card--sfd img { max-height: 39px !important; }
.partner-strip--clean-loop .partner-card--iris img { max-height: 42px !important; }

@media (max-width: 1180px) {
  .partner-strip--clean-loop .partner-card--autocad img,
  .partner-strip--clean-loop .partner-card--bentley img,
  .partner-strip--clean-loop .partner-card--iris img { max-height: 39px !important; }
  .partner-strip--clean-loop .partner-card--lode img,
  .partner-strip--clean-loop .partner-card--sfd img { max-height: 35px !important; }
  .partner-strip--clean-loop .partner-card--charter img,
  .partner-strip--clean-loop .partner-card--cox img { max-height: 32px !important; }
}

@media (max-width: 560px) {
  .partner-strip--clean-loop .partner-card {
    padding: 8px 0 10px;
    gap: 4px;
  }

  .partner-strip--clean-loop .partner-card span {
    font-size: 8px !important;
    line-height: 1.04 !important;
  }

  .partner-strip--clean-loop .partner-card--autocad img,
  .partner-strip--clean-loop .partner-card--bentley img,
  .partner-strip--clean-loop .partner-card--iris img { max-height: 24px !important; }
  .partner-strip--clean-loop .partner-card--lode img,
  .partner-strip--clean-loop .partner-card--sfd img { max-height: 21px !important; }
  .partner-strip--clean-loop .partner-card--charter img,
  .partner-strip--clean-loop .partner-card--cox img { max-height: 19px !important; }
}


/* V168 — stable seven-logo loop: fixed sizes and equal spacing; only horizontal movement changes. */
.partner-strip.partner-strip--fixed-loop{
  position:fixed !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  display:block !important;
  overflow:hidden !important;
  padding:0 !important;
  height:var(--partner-strip-height) !important;
  min-height:var(--partner-strip-height) !important;
}
.partner-strip--fixed-loop .partner-card{
  position:absolute !important;
  top:0 !important;
  bottom:0 !important;
  height:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:8px 0 8px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:6px !important;
  box-sizing:border-box !important;
}
.partner-strip--fixed-loop .partner-card img{
  display:block !important;
  width:auto !important;
  max-width:90% !important;
  margin:0 auto !important;
  object-fit:contain !important;
  transform:none !important;
  flex:none !important;
}
.partner-strip--fixed-loop .partner-card span{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  position:static !important;
  left:auto !important;
  transform:none !important;
  text-align:center !important;
  white-space:nowrap !important;
}
.partner-strip--fixed-loop .partner-card--autocad img{height:27px !important;max-height:27px !important;}
.partner-strip--fixed-loop .partner-card--lode img{height:27px !important;max-height:27px !important;}
.partner-strip--fixed-loop .partner-card--charter img{height:27px !important;max-height:27px !important;}
.partner-strip--fixed-loop .partner-card--cox img{height:27px !important;max-height:27px !important;}
.partner-strip--fixed-loop .partner-card--bentley img{height:27px !important;max-height:27px !important;}
.partner-strip--fixed-loop .partner-card--sfd img{height:27px !important;max-height:27px !important;}
.partner-strip--fixed-loop .partner-card--iris img{height:27px !important;max-height:27px !important;}
@media(max-width:980px){
  .partner-strip--fixed-loop .partner-card img{height:20px !important;max-height:20px !important;}
  .partner-strip--fixed-loop .partner-card span{font-size:9px !important;}
}
@media(max-width:560px){
  .partner-strip--fixed-loop .partner-card{padding:7px 0 8px !important;gap:4px !important;}
  .partner-strip--fixed-loop .partner-card img{height:15px !important;max-height:15px !important;}
  .partner-strip--fixed-loop .partner-card span{font-size:8px !important;}
}

/* V169 — move only the AutoCAD ribbon item slightly upward to align vertically with the other partner icons. */
.partner-strip--fixed-loop .partner-card--autocad{
  padding-top:4px !important;
  padding-bottom:16px !important;
}
@media(max-width:980px){
  .partner-strip--fixed-loop .partner-card--autocad{
    padding-top:4px !important;
    padding-bottom:14px !important;
  }
}
@media(max-width:560px){
  .partner-strip--fixed-loop .partner-card--autocad{
    padding-top:3px !important;
    padding-bottom:11px !important;
  }
}

/* V170 — stronger visual alignment for AutoCAD only: move the full AutoCAD item upward so it matches Iris and Lode more closely. */
.partner-strip--fixed-loop .partner-card--autocad{
  transform:translateY(-10px) !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}
@media(max-width:980px){
  .partner-strip--fixed-loop .partner-card--autocad{
    transform:translateY(-8px) !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
}
@media(max-width:560px){
  .partner-strip--fixed-loop .partner-card--autocad{
    transform:translateY(-6px) !important;
    padding-top:7px !important;
    padding-bottom:7px !important;
  }
}

/* =========================================================
   V171 — MOBILE ONLY
   - Keep every partner logo in one continuous horizontal line.
   - Move only the large Sans Frontières Design wordmark slightly lower.
   Desktop/web remains unchanged.
   ========================================================= */
@media (max-width: 560px) {
  .hero-wordmark {
    transform: translateY(14px) !important;
  }

  .hero-side-content__actions {
    margin-top: 32px !important;
  }

  .partner-strip {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    align-content: center !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    row-gap: 0 !important;
    height: 82px !important;
    min-height: 82px !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .partner-strip .partner-card,
  .partner-strip .partner-card:nth-child(n) {
    display: flex !important;
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: center !important;
    justify-self: auto !important;
  }

  .partner-strip--fixed-loop .partner-card,
  .partner-strip--fixed-loop .partner-card:nth-child(n) {
    top: 0 !important;
    bottom: 0 !important;
    height: 82px !important;
    padding: 8px 0 9px !important;
    justify-content: center !important;
    transform: none !important;
  }

  .partner-strip--fixed-loop .partner-card img,
  .partner-strip--fixed-loop .partner-card:nth-child(n) img {
    height: 20px !important;
    max-height: 20px !important;
  }

  .partner-strip--fixed-loop .partner-card span,
  .partner-strip--fixed-loop .partner-card:nth-child(n) span {
    font-size: 8px !important;
    line-height: 1.05 !important;
  }
}
