/*
GS FRONTEND CORE · PLAYSTATION 2
Versión 0.51.1
Estilos consolidados desde los 10 widgets originales de Elementor.
*/

.gsps2-loading, .gsps2-noscript {
  margin: 0;
  padding: 18px 20px;
  border: 1px solid rgba(24,185,255,.20);
  border-radius: 16px;
  color: inherit;
  background: rgba(24,185,255,.045);
  font: inherit;
}

[data-gs-component^="playstation-2-"] {
  min-height: 220px;
}
[data-gs-component^="playstation-2-"][data-gs-loaded="1"] { min-height: 0; }

@media (max-width: 767px) {
  [data-gs-component^="playstation-2-"] { min-height: 160px; }
}


/* =========================================================
   PLAYSTATION 2 · HERO
   ========================================================= */
.gsvps2hero {
    --ps2-cyan: #21d9f3;
    --ps2-blue: #407cff;
    --ps2-violet: #9d84ff;
    --ps2-green: #45dfa0;
    --ps2-yellow: #ffc95e;
    --ps2-text: #a9bfd1;

    position: relative !important;
    isolation: isolate;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: hidden !important;
    clear: both !important;
    margin: 0 !important;
    padding: clamp(80px, 8vw, 118px) 24px 34px !important;
    color: #ffffff;
    background:
      radial-gradient(circle at 8% 14%, rgba(33,217,243,.11), transparent 31%),
      radial-gradient(circle at 92% 12%, rgba(157,132,255,.1), transparent 30%),
      radial-gradient(circle at 82% 92%, rgba(64,124,255,.08), transparent 35%),
      linear-gradient(118deg, #020713, #07152d 52%, #101d4c);
    font-family: "Poppins", system-ui, sans-serif;
    container-type: inline-size;
  }

  .gsvps2hero *,
  .gsvps2hero *::before,
  .gsvps2hero *::after {
    box-sizing: border-box !important;
    min-width: 0;
  }

  .gsvps2hero h1,
  .gsvps2hero p,
  .gsvps2hero small,
  .gsvps2hero strong {
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
  }

  .gsvps2hero a {
    text-decoration: none !important;
  }

  .gsvps2hero svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsvps2hero__grid {
    position: absolute;
    z-index: -4;
    inset: 0;
    opacity: .29;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(63,139,209,.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(63,139,209,.07) 1px, transparent 1px),
      radial-gradient(circle, rgba(157,132,255,.18) 1px, transparent 1.5px);
    background-size: 72px 72px, 72px 72px, 36px 36px;
  }

  .gsvps2hero__glow {
    position: absolute;
    z-index: -3;
    width: 460px;
    height: 460px;
    border-radius: 50%;
    filter: blur(145px);
    pointer-events: none;
  }

  .gsvps2hero__glow--blue {
    top: -160px;
    left: -220px;
    opacity: .08;
    background: var(--ps2-cyan);
  }

  .gsvps2hero__glow--violet {
    right: -230px;
    bottom: -150px;
    opacity: .07;
    background: var(--ps2-violet);
  }

  .gsvps2hero__wrap {
    display: block !important;
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
  }

  .gsvps2hero__layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.06fr) minmax(430px, .94fr);
    gap: clamp(42px, 6vw, 78px);
    align-items: center;
    width: 100%;
  }

  /* CONTENIDO */

  .gsvps2hero__content {
    display: block !important;
    width: 100%;
  }

  .gsvps2hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 19px;
    color: #75e8f8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.25px;
    text-transform: uppercase;
  }

  .gsvps2hero__eyebrow > span {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--ps2-cyan);
    box-shadow:
      0 0 0 6px rgba(33,217,243,.08),
      0 0 18px rgba(33,217,243,.65);
    animation: gsvps2heroPulse 2.5s ease-in-out infinite;
  }

  .gsvps2hero__content h1 {
    max-width: 760px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(48px, 6vw, 82px);
    font-weight: 800;
    line-height: .98;
    letter-spacing: -.058em;
  }

  .gsvps2hero__content h1 span {
    display: block;
    margin-top: 8px;
    color: transparent;
    background:
      linear-gradient(
        90deg,
        #6bdcff,
        var(--ps2-blue),
        var(--ps2-violet)
      );
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gsvps2hero__lead {
    max-width: 720px;
    margin: 24px 0 0;
    color: var(--ps2-text);
    font-size: 15px;
    line-height: 1.78;
  }

  /* COMPATIBILIDAD */

  .gsvps2hero__compatibility {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin-top: 23px;
    padding: 17px;
    border: 1px solid rgba(255,201,94,.18);
    border-radius: 17px;
    background:
      radial-gradient(circle at 0 50%, rgba(255,201,94,.05), transparent 35%),
      rgba(255,255,255,.018);
  }

  .gsvps2hero__compatibility-icon {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2-yellow);
    background: rgba(255,201,94,.075);
  }

  .gsvps2hero__compatibility small,
  .gsvps2hero__compatibility strong {
    display: block;
  }

  .gsvps2hero__compatibility small {
    color: #a99a74;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2hero__compatibility strong {
    margin-top: 4px;
    color: #fff2d0;
    font-size: 13px;
    line-height: 1.45;
  }

  .gsvps2hero__compatibility p {
    margin: 6px 0 0;
    color: #a99e86;
    font-size: 12px;
    line-height: 1.63;
  }

  /* BOTONES */

  .gsvps2hero__actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: 10px;
    margin-top: 18px;
  }

  .gsvps2hero__button {
    min-height: 70px;
    display: grid !important;
    grid-template-columns: 47px minmax(0, 1fr) 20px;
    gap: 11px;
    align-items: center;
    padding: 11px 14px;
    border-radius: 15px;
    transition:
      transform 220ms ease,
      box-shadow 220ms ease;
  }

  .gsvps2hero__button:hover {
    transform: translateY(-3px);
  }

  .gsvps2hero__button:focus-visible {
    outline: 2px solid var(--ps2-cyan);
    outline-offset: 3px;
  }

  .gsvps2hero__button-icon {
    width: 47px;
    height: 47px;
    display: grid;
    place-items: center;
    border-radius: 12px;
  }

  .gsvps2hero__button small,
  .gsvps2hero__button strong {
    display: block;
  }

  .gsvps2hero__button small {
    font-size: 9px;
    font-weight: 750;
  }

  .gsvps2hero__button strong {
    margin-top: 3px;
    font-size: 12px;
  }

  .gsvps2hero__button b {
    font-size: 17px;
  }

  .gsvps2hero__button--whatsapp {
    border: 1px solid rgba(69,223,160,.28);
    color: #ffffff !important;
    background: linear-gradient(110deg, #089d65, #13c982);
    box-shadow: 0 18px 36px rgba(16,191,124,.19);
  }

  .gsvps2hero__button--whatsapp .gsvps2hero__button-icon {
    background: rgba(255,255,255,.12);
  }

  .gsvps2hero__button--whatsapp small {
    color: rgba(255,255,255,.72);
  }

  .gsvps2hero__button--secondary {
    border: 1px solid rgba(64,124,255,.2);
    color: #ebf4ff !important;
    background: rgba(64,124,255,.05);
  }

  .gsvps2hero__button--secondary .gsvps2hero__button-icon {
    color: #8badff;
    background: rgba(64,124,255,.09);
  }

  .gsvps2hero__button--secondary small {
    color: #7890b1;
  }

  /* DATOS RÁPIDOS */

  .gsvps2hero__quick {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 17px;
  }

  .gsvps2hero__quick article {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    padding: 10px;
    border: 1px solid rgba(92,174,255,.09);
    border-radius: 12px;
    background: rgba(255,255,255,.018);
  }

  .gsvps2hero__quick article > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--ps2-cyan);
    background: rgba(33,217,243,.07);
    font-size: 9px;
    font-weight: 850;
  }

  .gsvps2hero__quick small,
  .gsvps2hero__quick strong {
    display: block;
  }

  .gsvps2hero__quick small {
    color: #6f879d;
    font-size: 8px;
  }

  .gsvps2hero__quick strong {
    margin-top: 2px;
    color: #d2e2ec;
    font-size: 10px;
    line-height: 1.35;
  }

  /* PANEL VISUAL */

  .gsvps2hero__visual {
    display: block !important;
    width: 100%;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(101,146,255,.21);
    border-radius: 28px;
    background:
      radial-gradient(circle at 50% 34%, rgba(64,124,255,.11), transparent 42%),
      radial-gradient(circle at 85% 16%, rgba(157,132,255,.07), transparent 25%),
      linear-gradient(145deg, rgba(13,35,79,.83), rgba(3,10,29,.97));
    box-shadow:
      0 34px 75px rgba(0,0,0,.34),
      inset 0 1px 0 rgba(255,255,255,.055);
    backdrop-filter: blur(12px);
  }

  .gsvps2hero__visual-head {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: center;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(101,146,255,.11);
  }

  .gsvps2hero__visual-head img {
    width: 130px;
    height: auto;
    display: block;
  }

  .gsvps2hero__visual-head > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #798fb2;
    font-size: 9px;
    font-weight: 800;
  }

  .gsvps2hero__visual-head i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ps2-green);
    box-shadow: 0 0 9px rgba(69,223,160,.55);
  }

  /* ESCENARIO */

  .gsvps2hero__stage {
    position: relative;
    height: 430px;
    margin-top: 6px;
  }

  .gsvps2hero__orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(101,146,255,.14);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: gsvps2heroOrbit 5.2s ease-in-out infinite;
  }

  .gsvps2hero__orbit--outer {
    width: 380px;
    height: 380px;
  }

  .gsvps2hero__orbit--inner {
    width: 275px;
    height: 275px;
    animation-delay: -2.5s;
  }

  .gsvps2hero__signal {
    position: absolute;
    z-index: 2;
    top: 50%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(
        90deg,
        transparent,
        var(--ps2-cyan),
        var(--ps2-violet)
      );
    animation: gsvps2heroSignal 3.2s ease-in-out infinite;
  }

  .gsvps2hero__signal--left {
    right: 50%;
    left: 2%;
  }

  .gsvps2hero__signal--right {
    right: 2%;
    left: 50%;
    animation-delay: -1.6s;
  }

  /* IMAGEN REAL */

  .gsvps2hero__device {
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 50%;
    width: 590px;
    max-width: 128%;
    aspect-ratio: 2048 / 852;
    transform:
      translate(-50%, -50%)
      rotate(-1.2deg);
    transform-origin: center;
    animation: gsvps2heroDevice 5.4s ease-in-out infinite;
    filter:
      drop-shadow(0 28px 26px rgba(0,0,0,.55))
      drop-shadow(0 0 9px rgba(80,112,255,.24))
      drop-shadow(0 0 20px rgba(111,77,255,.13));
  }

  .gsvps2hero__device::before {
    content: "";
    position: absolute;
    z-index: -2;
    top: 13%;
    right: 7%;
    bottom: 7%;
    left: 8%;
    border-radius: 50%;
    background:
      radial-gradient(
        ellipse,
        rgba(69,86,255,.2),
        rgba(128,76,255,.11) 39%,
        transparent 72%
      );
    filter: blur(25px);
    transform: scale(1.06);
    animation: gsvps2heroDeviceHalo 3.8s ease-in-out infinite;
  }

  .gsvps2hero__device-glow {
    position: absolute;
    z-index: -1;
    top: 9%;
    right: 5%;
    bottom: 3%;
    left: 4%;
    border-radius: 50%;
    background:
      radial-gradient(
        ellipse,
        rgba(42,159,255,.1),
        rgba(137,81,255,.08) 42%,
        transparent 72%
      );
    filter: blur(14px);
  }

  .gsvps2hero__device-image {
    position: absolute;
    z-index: 2;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
  }

  .gsvps2hero__device-scan {
    position: absolute;
    z-index: 4;
    top: 13%;
    right: 4%;
    left: 4%;
    height: 2px;
    border-radius: 999px;
    opacity: .7;
    background:
      linear-gradient(
        90deg,
        transparent,
        rgba(33,217,243,.9),
        rgba(64,124,255,.95),
        rgba(157,132,255,.9),
        transparent
      );
    box-shadow:
      0 0 8px rgba(33,217,243,.55),
      0 0 15px rgba(157,132,255,.35);
    animation: gsvps2heroScan 4.2s ease-in-out infinite;
  }

  /* NODOS */

  .gsvps2hero__node {
    position: absolute;
    z-index: 9;
    min-width: 118px;
    display: grid !important;
    grid-template-columns: 33px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 7px;
    border: 1px solid rgba(101,146,255,.2);
    border-radius: 11px;
    background: rgba(6,18,45,.97);
    box-shadow: 0 17px 30px rgba(0,0,0,.3);
  }

  .gsvps2hero__node > span {
    width: 33px;
    height: 33px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: var(--ps2-cyan);
    background: rgba(33,217,243,.08);
    font-size: 9px;
    font-weight: 850;
  }

  .gsvps2hero__node small,
  .gsvps2hero__node strong {
    display: block;
  }

  .gsvps2hero__node small {
    color: #7588a9;
    font-size: 7px;
  }

  .gsvps2hero__node strong {
    margin-top: 2px;
    color: #e0e8f8;
    font-size: 8px;
    line-height: 1.35;
  }

  .gsvps2hero__node--power {
    top: 21px;
    left: 0;
  }

  .gsvps2hero__node--disc {
    top: 65px;
    right: 0;
  }

  .gsvps2hero__node--disc > span {
    color: var(--ps2-violet);
    background: rgba(157,132,255,.08);
  }

  .gsvps2hero__node--video {
    bottom: 33px;
    left: 0;
  }

  .gsvps2hero__node--video > span {
    color: var(--ps2-yellow);
    background: rgba(255,201,94,.08);
  }

  .gsvps2hero__node--board {
    right: 0;
    bottom: 67px;
  }

  .gsvps2hero__node--board > span {
    color: var(--ps2-green);
    background: rgba(69,223,160,.08);
  }

  .gsvps2hero__monitor {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  .gsvps2hero__monitor article {
    padding: 11px 5px;
    border: 1px solid rgba(101,146,255,.09);
    border-radius: 10px;
    background: rgba(255,255,255,.018);
    text-align: center;
  }

  .gsvps2hero__monitor small,
  .gsvps2hero__monitor strong {
    display: block;
  }

  .gsvps2hero__monitor small {
    color: #687d9d;
    font-size: 8px;
  }

  .gsvps2hero__monitor strong {
    margin-top: 3px;
    color: #cbd7ee;
    font-size: 9px;
  }

  .gsvps2hero__visual-warning {
    display: grid !important;
    grid-template-columns: 43px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-top: 9px;
    padding: 11px;
    border: 1px solid rgba(255,201,94,.12);
    border-radius: 12px;
    background: rgba(255,201,94,.022);
  }

  .gsvps2hero__visual-warning > span {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--ps2-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2hero__visual-warning p {
    margin: 0;
    color: #a69c84;
    font-size: 11px;
    line-height: 1.58;
  }

  /* RUTA INFERIOR */

  .gsvps2hero__route {
    display: grid !important;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    gap: 26px;
    align-items: center;
    width: 100%;
    margin-top: clamp(42px, 5vw, 62px);
    padding: 18px;
    border: 1px solid rgba(101,146,255,.14);
    border-radius: 19px;
    background:
      radial-gradient(circle at 0 50%, rgba(33,217,243,.045), transparent 28%),
      rgba(2,12,34,.45);
  }

  .gsvps2hero__route-title {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
  }

  .gsvps2hero__route-title > span {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background:
      radial-gradient(circle, var(--ps2-green) 0 12%, transparent 14%),
      rgba(69,223,160,.07);
    box-shadow: inset 0 0 0 1px rgba(69,223,160,.1);
  }

  .gsvps2hero__route-title small,
  .gsvps2hero__route-title strong {
    display: block;
  }

  .gsvps2hero__route-title small {
    color: #6f8fa5;
    font-size: 9px;
    font-weight: 800;
  }

  .gsvps2hero__route-title strong {
    margin-top: 3px;
    color: #d5e4ef;
    font-size: 11px;
    line-height: 1.45;
  }

  .gsvps2hero__route-items {
    display: grid !important;
    grid-template-columns:
      minmax(0, 1fr) 18px
      minmax(0, 1fr) 18px
      minmax(0, 1fr) 18px
      minmax(0, 1fr) 18px
      minmax(0, 1fr);
    gap: 5px;
    align-items: center;
  }

  .gsvps2hero__route-items article {
    min-height: 54px;
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 7px;
    align-items: center;
    padding: 8px;
    border: 1px solid rgba(101,146,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.016);
  }

  .gsvps2hero__route-items article > span {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    color: var(--ps2-cyan);
    background: rgba(33,217,243,.07);
    font-size: 8px;
    font-weight: 850;
  }

  .gsvps2hero__route-items article small {
    color: #8a9db9;
    font-size: 7px;
    font-weight: 800;
  }

  .gsvps2hero__route-items > i {
    position: relative;
    height: 2px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(64,124,255,.12);
  }

  .gsvps2hero__route-items > i::after {
    content: "";
    position: absolute;
    top: 0;
    left: -70%;
    width: 70%;
    height: 100%;
    background:
      linear-gradient(
        90deg,
        transparent,
        var(--ps2-cyan),
        var(--ps2-violet)
      );
    animation: gsvps2heroFlow 2.5s linear infinite;
  }

  .gsvps2hero__disclaimer {
    margin: 17px auto 0 !important;
    color: #647996;
    font-size: 10px;
    line-height: 1.7;
    text-align: center;
  }

  /* ANIMACIONES */

  @keyframes gsvps2heroPulse {
    0%,
    100% {
      opacity: .5;
      transform: scale(.88);
    }

    50% {
      opacity: 1;
      transform: scale(1.12);
    }
  }

  @keyframes gsvps2heroOrbit {
    0%,
    100% {
      opacity: .22;
      transform: translate(-50%, -50%) scale(.96);
    }

    50% {
      opacity: .62;
      transform: translate(-50%, -50%) scale(1.04);
    }
  }

  @keyframes gsvps2heroSignal {
    0%,
    100% {
      opacity: .2;
      transform: scaleX(.65);
    }

    50% {
      opacity: .9;
      transform: scaleX(1);
    }
  }

  @keyframes gsvps2heroDevice {
    0%,
    100% {
      transform:
        translate(-50%, -50%)
        rotate(-1.2deg)
        translateY(0);
    }

    50% {
      transform:
        translate(-50%, -50%)
        rotate(-.3deg)
        translateY(-7px);
    }
  }

  @keyframes gsvps2heroDeviceHalo {
    0%,
    100% {
      opacity: .45;
      transform: scale(1.02);
    }

    50% {
      opacity: .85;
      transform: scale(1.1);
    }
  }

  @keyframes gsvps2heroScan {
    0%,
    100% {
      top: 13%;
      opacity: .18;
    }

    50% {
      top: 86%;
      opacity: .9;
    }
  }

  @keyframes gsvps2heroFlow {
    0% {
      left: -70%;
    }

    100% {
      left: 120%;
    }
  }

  /* TABLETA */

  @media (max-width: 1080px) {

    .gsvps2hero__layout {
      grid-template-columns: 1fr;
    }

    .gsvps2hero__visual {
      width: min(760px, 100%);
      margin: 0 auto;
    }

    .gsvps2hero__route {
      grid-template-columns: 1fr;
    }

  }

  @container (max-width: 900px) {

    .gsvps2hero__layout,
    .gsvps2hero__route {
      grid-template-columns: 1fr;
    }

    .gsvps2hero__visual {
      width: min(760px, 100%);
      margin: 0 auto;
    }

  }

  /* MÓVIL */

  @media (max-width: 760px) {

    .gsvps2hero {
      padding: 68px 17px 30px !important;
    }

    .gsvps2hero__actions,
    .gsvps2hero__quick,
    .gsvps2hero__route-items {
      grid-template-columns: 1fr;
    }

    .gsvps2hero__route-items > i {
      display: none;
    }

    .gsvps2hero__visual {
      padding: 18px 16px;
      backdrop-filter: none;
    }

    .gsvps2hero__glow {
      display: none;
    }

    .gsvps2hero__eyebrow > span,
    .gsvps2hero__orbit,
    .gsvps2hero__signal,
    .gsvps2hero__device,
    .gsvps2hero__device::before,
    .gsvps2hero__device-scan,
    .gsvps2hero__route-items > i::after {
      animation: none;
    }

    .gsvps2hero__device {
      transform:
        translate(-50%, -50%)
        rotate(-.5deg);
    }

    .gsvps2hero__button {
      transition: none;
    }

    .gsvps2hero__button:hover {
      transform: none;
    }

  }

  @media (max-width: 560px) {

    .gsvps2hero__content h1 {
      font-size: clamp(43px, 13vw, 59px);
    }

    .gsvps2hero__compatibility {
      grid-template-columns: 1fr;
    }

    .gsvps2hero__visual-head {
      flex-direction: column;
      align-items: flex-start;
    }

    .gsvps2hero__stage {
      height: 380px;
    }

    .gsvps2hero__device {
      width: 480px;
      max-width: 140%;
    }

  }

  @media (max-width: 390px) {

    .gsvps2hero {
      padding-right: 14px !important;
      padding-left: 14px !important;
    }

    .gsvps2hero__visual,
    .gsvps2hero__route {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsvps2hero__stage {
      height: 345px;
    }

    .gsvps2hero__device {
      width: 410px;
      max-width: 145%;
    }

    .gsvps2hero__node {
      min-width: 84px;
      grid-template-columns: 26px minmax(0, 1fr);
      gap: 5px;
      padding: 5px;
    }

    .gsvps2hero__node > span {
      width: 26px;
      height: 26px;
    }

    .gsvps2hero__node small {
      font-size: 6px;
    }

    .gsvps2hero__node strong {
      font-size: 7px;
    }

    .gsvps2hero__button {
      grid-template-columns: 42px minmax(0, 1fr) 16px;
      padding-right: 11px;
      padding-left: 11px;
    }

    .gsvps2hero__button-icon {
      width: 42px;
      height: 42px;
    }

  }

  @media (prefers-reduced-motion: reduce) {

    .gsvps2hero__eyebrow > span,
    .gsvps2hero__orbit,
    .gsvps2hero__signal,
    .gsvps2hero__device,
    .gsvps2hero__device::before,
    .gsvps2hero__device-scan,
    .gsvps2hero__route-items > i::after {
      animation: none !important;
    }

    .gsvps2hero__button {
      transition: none !important;
    }

  }

/* =========================================================
   PLAYSTATION 2 · MODELOS
   ========================================================= */
.gsvps2scope {
    --ps2s-cyan: #21d9f3;
    --ps2s-blue: #407cff;
    --ps2s-violet: #9d84ff;
    --ps2s-green: #45dfa0;
    --ps2s-yellow: #ffc95e;
    --ps2s-red: #ff6578;
    --ps2s-text: #a9bfd1;

    position: relative !important;
    isolation: isolate;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(76px, 8vw, 116px) 24px !important;
    overflow: hidden !important;
    clear: both !important;
    color: #ffffff;
    background:
      radial-gradient(circle at 8% 10%, rgba(33,217,243,.09), transparent 30%),
      radial-gradient(circle at 93% 15%, rgba(157,132,255,.08), transparent 31%),
      radial-gradient(circle at 82% 94%, rgba(64,124,255,.07), transparent 34%),
      linear-gradient(118deg, #020713, #07152d 52%, #101d4c);
    font-family: "Poppins", system-ui, sans-serif;
    container-type: inline-size;
  }

  .gsvps2scope *,
  .gsvps2scope *::before,
  .gsvps2scope *::after {
    box-sizing: border-box !important;
    min-width: 0;
  }

  .gsvps2scope h2,
  .gsvps2scope h3,
  .gsvps2scope h4,
  .gsvps2scope p,
  .gsvps2scope small,
  .gsvps2scope strong {
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none;
  }

  .gsvps2scope a {
    text-decoration: none !important;
  }

  .gsvps2scope svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsvps2scope__grid-bg {
    position: absolute;
    z-index: -4;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(63,139,209,.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(63,139,209,.07) 1px, transparent 1px),
      radial-gradient(circle, rgba(157,132,255,.16) 1px, transparent 1.5px);
    background-size: 72px 72px, 72px 72px, 36px 36px;
  }

  .gsvps2scope__glow {
    position: absolute;
    z-index: -3;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    filter: blur(140px);
    pointer-events: none;
  }

  .gsvps2scope__glow--cyan {
    top: 3%;
    left: -230px;
    opacity: .07;
    background: var(--ps2s-cyan);
  }

  .gsvps2scope__glow--violet {
    right: -230px;
    bottom: 5%;
    opacity: .06;
    background: var(--ps2s-violet);
  }

  .gsvps2scope__wrap {
    display: block !important;
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
  }

  /* ENCABEZADO */

  .gsvps2scope__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
    gap: clamp(38px, 6vw, 80px);
    align-items: end;
    margin-bottom: clamp(38px, 5vw, 58px);
  }

  .gsvps2scope__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    color: #75e8f8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.25px;
    text-transform: uppercase;
  }

  .gsvps2scope__eyebrow > span {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--ps2s-cyan);
    box-shadow:
      0 0 0 6px rgba(33,217,243,.08),
      0 0 18px rgba(33,217,243,.62);
    animation: gsvps2scopePulse 2.5s ease-in-out infinite;
  }

  .gsvps2scope__header h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(39px, 4.6vw, 62px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.052em;
  }

  .gsvps2scope__header h2 span {
    display: block;
    margin-top: 6px;
    color: transparent;
    background:
      linear-gradient(90deg, #6bdcff, var(--ps2s-blue), var(--ps2s-violet));
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gsvps2scope__header-info > p {
    margin: 0;
    color: var(--ps2s-text);
    font-size: 15px;
    line-height: 1.76;
  }

  .gsvps2scope__header-note {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid rgba(255,201,94,.16);
    border-radius: 15px;
    background: rgba(255,201,94,.024);
  }

  .gsvps2scope__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2s-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2scope__icon--yellow {
    color: var(--ps2s-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2scope__header-note small,
  .gsvps2scope__header-note strong {
    display: block;
  }

  .gsvps2scope__header-note small {
    margin-bottom: 3px;
    color: #a29677;
    font-size: 10px;
  }

  .gsvps2scope__header-note strong {
    color: #f2e8d2;
    font-size: 12px;
    line-height: 1.5;
  }

  /* PANEL */

  .gsvps2scope__panel {
    position: relative;
    overflow: hidden;
    padding: 25px;
    border: 1px solid rgba(101,146,255,.2);
    border-radius: 28px;
    background:
      radial-gradient(circle at 18% 25%, rgba(33,217,243,.065), transparent 35%),
      radial-gradient(circle at 90% 22%, rgba(157,132,255,.05), transparent 28%),
      linear-gradient(145deg, rgba(13,39,82,.78), rgba(3,12,31,.96));
    box-shadow:
      0 30px 70px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter: blur(12px);
  }

  .gsvps2scope__panel-grid {
    position: absolute;
    inset: 0;
    opacity: .38;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(64,124,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(64,124,255,.05) 1px, transparent 1px);
    background-size: 30px 30px;
  }

  .gsvps2scope__panel > *:not(.gsvps2scope__panel-grid) {
    position: relative;
    z-index: 2;
  }

  .gsvps2scope__panel-status {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(101,146,255,.12);
  }

  .gsvps2scope__panel-status > span,
  .gsvps2scope__content-head > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2scope__panel-status i,
  .gsvps2scope__content-head i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ps2s-green);
    box-shadow: 0 0 9px rgba(69,223,160,.55);
  }

  .gsvps2scope__panel-status > strong {
    color: #7288a7;
    font-size: 10px;
    letter-spacing: .6px;
  }

  .gsvps2scope__layout {
    display: grid !important;
    grid-template-columns: minmax(350px, .78fr) minmax(0, 1.22fr);
    gap: 22px;
    align-items: start;
    margin-top: 22px;
  }

  /* VISUAL */

  .gsvps2scope__visual {
    position: sticky;
    top: 24px;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 22px;
    background:
      radial-gradient(circle at 50% 38%, rgba(64,124,255,.075), transparent 43%),
      rgba(0,9,27,.4);
  }

  .gsvps2scope__visual-copy > small {
    display: block;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
  }

  .gsvps2scope__visual-copy h3 {
    margin: 7px 0 0;
    color: #ffffff;
    font-size: clamp(29px, 3vw, 39px);
    line-height: 1.12;
    letter-spacing: -1.1px;
  }

  .gsvps2scope__visual-copy h3 span {
    display: block;
    color: #9daeff;
  }

  .gsvps2scope__visual-copy p {
    margin: 13px 0 0;
    color: #93a9bc;
    font-size: 13px;
    line-height: 1.7;
  }

  .gsvps2scope__stage {
    position: relative;
    height: 410px;
    margin-top: 8px;
  }

  .gsvps2scope__orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(101,146,255,.13);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: gsvps2scopeOrbit 5s ease-in-out infinite;
  }

  .gsvps2scope__orbit--outer {
    width: 350px;
    height: 350px;
  }

  .gsvps2scope__orbit--inner {
    width: 250px;
    height: 250px;
    animation-delay: -2.4s;
  }

  .gsvps2scope__signal {
    position: absolute;
    z-index: 2;
    top: 50%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(90deg, transparent, var(--ps2s-cyan), var(--ps2s-violet));
    animation: gsvps2scopeSignal 3.2s ease-in-out infinite;
  }

  .gsvps2scope__signal--left {
    right: 50%;
    left: 2%;
  }

  .gsvps2scope__signal--right {
    right: 2%;
    left: 50%;
    animation-delay: -1.6s;
  }

  .gsvps2scope__device {
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 50%;
    width: 550px;
    max-width: 128%;
    aspect-ratio: 2048 / 852;
    transform: translate(-50%, -50%) rotate(-1deg);
    animation: gsvps2scopeDevice 5.3s ease-in-out infinite;
    filter:
      drop-shadow(0 28px 27px rgba(0,0,0,.54))
      drop-shadow(0 0 12px rgba(64,124,255,.23))
      drop-shadow(0 0 22px rgba(157,132,255,.12));
  }

  .gsvps2scope__device-halo {
    position: absolute;
    z-index: -1;
    inset: 8% 5% 5%;
    border-radius: 50%;
    background:
      radial-gradient(
        ellipse,
        rgba(64,124,255,.18),
        rgba(157,132,255,.09) 40%,
        transparent 72%
      );
    filter: blur(24px);
    animation: gsvps2scopeHalo 3.8s ease-in-out infinite;
  }

  .gsvps2scope__device img {
    position: absolute;
    z-index: 2;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
  }

  .gsvps2scope__scan {
    position: absolute;
    z-index: 4;
    top: 14%;
    right: 4%;
    left: 4%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(
        90deg,
        transparent,
        var(--ps2s-cyan),
        var(--ps2s-blue),
        var(--ps2s-violet),
        transparent
      );
    box-shadow:
      0 0 8px rgba(33,217,243,.5),
      0 0 14px rgba(157,132,255,.3);
    animation: gsvps2scopeScan 4s ease-in-out infinite;
  }

  /* NODOS */

  .gsvps2scope__node {
    position: absolute;
    z-index: 9;
    min-width: 115px;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 7px;
    border: 1px solid rgba(101,146,255,.19);
    border-radius: 11px;
    background: rgba(6,18,45,.97);
    box-shadow: 0 16px 30px rgba(0,0,0,.29);
  }

  .gsvps2scope__node > span {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: var(--ps2s-cyan);
    background: rgba(33,217,243,.08);
    font-size: 9px;
    font-weight: 850;
  }

  .gsvps2scope__node small,
  .gsvps2scope__node strong {
    display: block;
  }

  .gsvps2scope__node small {
    color: #7588a9;
    font-size: 7px;
  }

  .gsvps2scope__node strong {
    margin-top: 2px;
    color: #e0e8f8;
    font-size: 8px;
    line-height: 1.35;
  }

  .gsvps2scope__node--model {
    top: 22px;
    left: 0;
  }

  .gsvps2scope__node--revision {
    top: 70px;
    right: 0;
  }

  .gsvps2scope__node--revision > span {
    color: var(--ps2s-violet);
    background: rgba(157,132,255,.08);
  }

  .gsvps2scope__node--condition {
    bottom: 34px;
    left: 0;
  }

  .gsvps2scope__node--condition > span {
    color: var(--ps2s-yellow);
    background: rgba(255,201,94,.08);
  }

  .gsvps2scope__node--parts {
    right: 0;
    bottom: 72px;
  }

  .gsvps2scope__node--parts > span {
    color: var(--ps2s-green);
    background: rgba(69,223,160,.08);
  }

  .gsvps2scope__visual-status {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  .gsvps2scope__visual-status article {
    padding: 10px 5px;
    border: 1px solid rgba(101,146,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.018);
    text-align: center;
  }

  .gsvps2scope__visual-status small,
  .gsvps2scope__visual-status strong {
    display: block;
  }

  .gsvps2scope__visual-status small {
    color: #687d9d;
    font-size: 8px;
  }

  .gsvps2scope__visual-status strong {
    margin-top: 3px;
    color: #cbd7ee;
    font-size: 9px;
  }

  .gsvps2scope__visual-note {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-top: 9px;
    padding: 12px;
    border: 1px solid rgba(255,201,94,.12);
    border-radius: 13px;
    background: rgba(255,201,94,.022);
  }

  .gsvps2scope__visual-note .gsvps2scope__icon {
    width: 44px;
    height: 44px;
  }

  .gsvps2scope__visual-note p {
    margin: 0;
    color: #aaa087;
    font-size: 11px;
    line-height: 1.6;
  }

  /* PASOS */

  .gsvps2scope__content-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.019);
  }

  .gsvps2scope__content-head small {
    display: block;
    color: #6e849f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2scope__content-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.35;
  }

  .gsvps2scope__steps {
    display: grid;
    gap: 9px;
  }

  .gsvps2scope__step {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 11px;
  }

  .gsvps2scope__step-index {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .gsvps2scope__step-index span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(33,217,243,.13);
    border-radius: 12px;
    color: var(--ps2s-cyan);
    background: rgba(33,217,243,.055);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2scope__step-index i {
    width: 1px;
    flex: 1 1 auto;
    margin-top: 7px;
    background:
      linear-gradient(var(--ps2s-cyan), rgba(33,217,243,.04));
  }

  .gsvps2scope__step-body {
    padding: 14px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 38%),
      rgba(255,255,255,.019);
  }

  .gsvps2scope__step-heading {
    display: grid !important;
    grid-template-columns: 45px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
  }

  .gsvps2scope__step-icon {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2s-blue);
    background: rgba(64,124,255,.07);
  }

  .gsvps2scope__step-icon--violet {
    color: var(--ps2s-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2scope__step-icon--yellow {
    color: var(--ps2s-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2scope__step-icon--green {
    color: var(--ps2s-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2scope__step-heading small {
    display: block;
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2scope__step-heading h4 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.45;
  }

  .gsvps2scope__step-body > p {
    margin: 10px 0 0;
    color: #8fa4b5;
    font-size: 12px;
    line-height: 1.65;
  }

  .gsvps2scope__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 11px;
  }

  .gsvps2scope__tags span {
    padding: 6px 8px;
    border: 1px solid rgba(101,146,255,.09);
    border-radius: 999px;
    color: #7891aa;
    background: rgba(255,255,255,.017);
    font-size: 10px;
    line-height: 1;
  }

  /* ENCABEZADOS INFERIORES */

  .gsvps2scope__section {
    margin-top: clamp(55px, 6vw, 80px);
  }

  .gsvps2scope__section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .68fr);
    gap: 35px;
    align-items: end;
    margin-bottom: 24px;
  }

  .gsvps2scope__section-head small {
    display: block;
    margin-bottom: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2scope__section-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(29px, 3.5vw, 44px);
    line-height: 1.1;
    letter-spacing: -1.3px;
  }

  .gsvps2scope__section-head > p {
    margin: 0;
    color: #91a6b8;
    font-size: 13px;
    line-height: 1.7;
  }

  /* ESTADOS */

  .gsvps2scope__status-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2scope__status-card {
    padding: 19px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 19px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.021);
  }

  .gsvps2scope__status-card--accepted {
    border-color: rgba(69,223,160,.17);
  }

  .gsvps2scope__status-card--verify {
    border-color: rgba(255,201,94,.17);
  }

  .gsvps2scope__status-card--unsupported {
    border-color: rgba(255,101,120,.16);
  }

  .gsvps2scope__status-top {
    display: flex;
    gap: 11px;
    align-items: center;
  }

  .gsvps2scope__status-top > span {
    width: 49px;
    height: 49px;
    display: grid;
    place-items: center;
    flex: 0 0 49px;
    border-radius: 13px;
    color: var(--ps2s-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2scope__status-card--verify .gsvps2scope__status-top > span {
    color: var(--ps2s-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2scope__status-card--unsupported .gsvps2scope__status-top > span {
    color: var(--ps2s-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2scope__status-top small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2scope__status-card h4 {
    margin: 15px 0 0;
    color: #ffffff;
    font-size: 15px;
    line-height: 1.45;
  }

  .gsvps2scope__status-card > p {
    margin: 9px 0 0;
    color: #8b9fb1;
    font-size: 12px;
    line-height: 1.65;
  }

  .gsvps2scope__status-card ul {
    display: grid;
    gap: 7px;
    margin: 14px 0 0;
    padding: 13px 0 0;
    border-top: 1px solid rgba(101,146,255,.08);
    list-style: none;
  }

  .gsvps2scope__status-card li {
    position: relative;
    padding-left: 17px;
    color: #8398aa;
    font-size: 11px;
    line-height: 1.5;
  }

  .gsvps2scope__status-card li::before {
    content: "•";
    position: absolute;
    left: 1px;
    color: var(--ps2s-green);
  }

  .gsvps2scope__status-card--verify li::before {
    color: var(--ps2s-yellow);
  }

  .gsvps2scope__status-card--unsupported li::before {
    color: var(--ps2s-red);
  }

  /* ALCANCE TÉCNICO CORREGIDO */

  .gsvps2scope__services {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
  }

  .gsvps2scope__services article {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    width: 100%;
    min-height: 155px;
    padding: 19px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 18px;
    background:
      radial-gradient(circle at 100% 0%, rgba(33,217,243,.035), transparent 42%),
      rgba(255,255,255,.021);
  }

  .gsvps2scope__services article > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    border-radius: 13px;
    color: var(--ps2s-cyan);
    background: rgba(33,217,243,.075);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2scope__service-copy {
    display: block !important;
    width: 100%;
    min-width: 0;
    padding-top: 2px;
  }

  .gsvps2scope__service-copy small,
  .gsvps2scope__service-copy strong {
    display: block !important;
    width: 100%;
    max-width: 100%;
  }

  .gsvps2scope__service-copy small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.4;
  }

  .gsvps2scope__service-copy strong {
    margin-top: 10px;
    color: #dce7f2;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.62;
    letter-spacing: 0;
  }

  /* LIMITACIONES */

  .gsvps2scope__limits {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(255,101,120,.14);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0 50%, rgba(255,101,120,.045), transparent 30%),
      rgba(1,9,25,.4);
  }

  .gsvps2scope__limits-head {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .gsvps2scope__limits-head > span {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2s-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2scope__limits-head small,
  .gsvps2scope__limits-head strong {
    display: block;
  }

  .gsvps2scope__limits-head small {
    color: #a87884;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2scope__limits-head strong {
    margin-top: 4px;
    color: #f0dde2;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2scope__limits-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 16px;
  }

  .gsvps2scope__limits-grid article {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(255,101,120,.09);
    border-radius: 13px;
    background: rgba(255,255,255,.016);
  }

  .gsvps2scope__limits-grid article > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--ps2s-red);
    background: rgba(255,101,120,.07);
    font-size: 18px;
    font-weight: 700;
  }

  .gsvps2scope__limits-grid small,
  .gsvps2scope__limits-grid strong {
    display: block;
  }

  .gsvps2scope__limits-grid small {
    color: #a87884;
    font-size: 9px;
    font-weight: 800;
  }

  .gsvps2scope__limits-grid strong {
    margin-top: 3px;
    color: #d9c9ce;
    font-size: 11px;
    line-height: 1.45;
  }

  /* POLÍTICA */

  .gsvps2scope__policy {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(33,217,243,.13);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0 50%, rgba(33,217,243,.045), transparent 30%),
      rgba(1,9,25,.4);
  }

  .gsvps2scope__policy-head {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .gsvps2scope__policy-head > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2s-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2scope__policy-head small {
    display: block;
    color: #6f91a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2scope__policy-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 19px;
    line-height: 1.35;
  }

  .gsvps2scope__policy-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  .gsvps2scope__policy-grid article {
    display: grid !important;
    grid-template-columns: 41px minmax(0, 1fr);
    gap: 11px;
    padding: 15px;
    border: 1px solid rgba(101,146,255,.09);
    border-radius: 15px;
    background: rgba(255,255,255,.018);
  }

  .gsvps2scope__policy-grid article > span {
    width: 41px;
    height: 41px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--ps2s-cyan);
    background: rgba(33,217,243,.065);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2scope__policy-grid small,
  .gsvps2scope__policy-grid strong {
    display: block;
  }

  .gsvps2scope__policy-grid small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2scope__policy-grid strong {
    margin-top: 4px;
    color: #e2edf4;
    font-size: 12px;
    line-height: 1.45;
  }

  .gsvps2scope__policy-grid p {
    margin: 6px 0 0;
    color: #899eaf;
    font-size: 11px;
    line-height: 1.6;
  }

  /* CTA */

  .gsvps2scope__cta {
    display: flex !important;
    justify-content: space-between;
    gap: 25px;
    align-items: center;
    margin-top: 18px;
    padding: 19px;
    border: 1px solid rgba(101,146,255,.14);
    border-radius: 19px;
    background: rgba(1,9,25,.4);
  }

  .gsvps2scope__cta-copy {
    display: grid !important;
    grid-template-columns: 49px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
  }

  .gsvps2scope__cta-copy .gsvps2scope__icon {
    width: 49px;
    height: 49px;
    color: var(--ps2s-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2scope__cta-copy small,
  .gsvps2scope__cta-copy strong {
    display: block;
  }

  .gsvps2scope__cta-copy small {
    color: #718ca6;
    font-size: 10px;
  }

  .gsvps2scope__cta-copy strong {
    margin-top: 3px;
    color: #dcecff;
    font-size: 12px;
  }

  .gsvps2scope__cta-copy p {
    margin: 5px 0 0;
    color: #8097ab;
    font-size: 11px;
    line-height: 1.55;
  }

  .gsvps2scope__actions {
    display: flex;
    gap: 9px;
  }

  .gsvps2scope__button {
    min-height: 47px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    padding: 12px 15px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 800;
    transition:
      transform 220ms ease,
      box-shadow 220ms ease;
  }

  .gsvps2scope__button:hover {
    transform: translateY(-3px);
  }

  .gsvps2scope__button:focus-visible {
    outline: 2px solid var(--ps2s-cyan);
    outline-offset: 3px;
  }

  .gsvps2scope__button--secondary {
    border: 1px solid rgba(101,146,255,.18);
    color: #e5efff !important;
    background: rgba(64,124,255,.045);
  }

  .gsvps2scope__button--whatsapp {
    border: 1px solid rgba(69,223,160,.26);
    color: #ffffff !important;
    background: linear-gradient(110deg, #089d65, #13c982);
    box-shadow: 0 16px 32px rgba(16,191,124,.18);
  }

  .gsvps2scope__disclaimer {
    margin: 17px auto 0 !important;
    color: #647996;
    font-size: 10px;
    line-height: 1.7;
    text-align: center;
  }

  /* ANIMACIONES */

  @keyframes gsvps2scopePulse {
    0%,
    100% {
      opacity: .5;
      transform: scale(.88);
    }

    50% {
      opacity: 1;
      transform: scale(1.12);
    }
  }

  @keyframes gsvps2scopeOrbit {
    0%,
    100% {
      opacity: .22;
      transform: translate(-50%, -50%) scale(.96);
    }

    50% {
      opacity: .62;
      transform: translate(-50%, -50%) scale(1.04);
    }
  }

  @keyframes gsvps2scopeSignal {
    0%,
    100% {
      opacity: .2;
      transform: scaleX(.65);
    }

    50% {
      opacity: .9;
      transform: scaleX(1);
    }
  }

  @keyframes gsvps2scopeDevice {
    0%,
    100% {
      transform: translate(-50%, -50%) rotate(-1deg) translateY(0);
    }

    50% {
      transform: translate(-50%, -50%) rotate(-.25deg) translateY(-7px);
    }
  }

  @keyframes gsvps2scopeHalo {
    0%,
    100% {
      opacity: .45;
      transform: scale(1);
    }

    50% {
      opacity: .85;
      transform: scale(1.09);
    }
  }

  @keyframes gsvps2scopeScan {
    0%,
    100% {
      top: 14%;
      opacity: .2;
    }

    50% {
      top: 86%;
      opacity: .9;
    }
  }

  /* TABLETA */

  @media (max-width: 1080px) {

    .gsvps2scope__layout {
      grid-template-columns: 1fr;
    }

    .gsvps2scope__visual {
      position: relative;
      top: auto;
      display: grid !important;
      grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
      gap: 18px;
    }

    .gsvps2scope__visual-copy,
    .gsvps2scope__visual-note {
      grid-column: 1 / -1;
    }

    .gsvps2scope__visual-status {
      align-content: center;
    }

    .gsvps2scope__services {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

  }

  @media (max-width: 900px) {

    .gsvps2scope__header,
    .gsvps2scope__section-head {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .gsvps2scope__status-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2scope__cta {
      flex-direction: column;
      align-items: stretch;
    }

    .gsvps2scope__actions {
      width: 100%;
    }

    .gsvps2scope__button {
      flex: 1 1 0;
    }

  }

  @container (max-width: 900px) {

    .gsvps2scope__header,
    .gsvps2scope__layout,
    .gsvps2scope__section-head {
      grid-template-columns: 1fr;
    }

  }

  /* MÓVIL */

  @media (max-width: 700px) {

    .gsvps2scope {
      padding: 66px 17px 72px !important;
    }

    .gsvps2scope__panel {
      padding: 19px 17px;
      border-radius: 23px;
      backdrop-filter: none;
    }

    .gsvps2scope__visual {
      display: block !important;
      padding: 18px 16px;
    }

    .gsvps2scope__services,
    .gsvps2scope__limits-grid,
    .gsvps2scope__policy-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2scope__services article {
      min-height: 0;
    }

    .gsvps2scope__actions {
      flex-direction: column;
    }

    .gsvps2scope__glow {
      display: none;
    }

    .gsvps2scope__eyebrow > span,
    .gsvps2scope__orbit,
    .gsvps2scope__signal,
    .gsvps2scope__device,
    .gsvps2scope__device-halo,
    .gsvps2scope__scan {
      animation: none;
    }

    .gsvps2scope__device {
      transform: translate(-50%, -50%) rotate(-.4deg);
    }

    .gsvps2scope__button {
      transition: none;
    }

    .gsvps2scope__button:hover {
      transform: none;
    }

  }

  @media (max-width: 560px) {

    .gsvps2scope__header h2 {
      font-size: clamp(36px, 11vw, 49px);
    }

    .gsvps2scope__header-note,
    .gsvps2scope__visual-note,
    .gsvps2scope__limits-head,
    .gsvps2scope__policy-head,
    .gsvps2scope__cta-copy {
      grid-template-columns: 1fr;
    }

    .gsvps2scope__panel-status > strong,
    .gsvps2scope__content-head > span {
      display: none;
    }

    .gsvps2scope__stage {
      height: 370px;
    }

    .gsvps2scope__device {
      width: 470px;
      max-width: 140%;
    }

    .gsvps2scope__step {
      grid-template-columns: 38px minmax(0, 1fr);
      gap: 9px;
    }

    .gsvps2scope__step-index span {
      width: 38px;
      height: 38px;
    }

  }

  @media (max-width: 390px) {

    .gsvps2scope {
      padding-right: 14px !important;
      padding-left: 14px !important;
    }

    .gsvps2scope__panel,
    .gsvps2scope__visual,
    .gsvps2scope__limits,
    .gsvps2scope__policy {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsvps2scope__stage {
      height: 340px;
    }

    .gsvps2scope__device {
      width: 400px;
      max-width: 145%;
    }

    .gsvps2scope__node {
      min-width: 83px;
      grid-template-columns: 26px minmax(0, 1fr);
      gap: 5px;
      padding: 5px;
    }

    .gsvps2scope__node > span {
      width: 26px;
      height: 26px;
    }

    .gsvps2scope__node small {
      font-size: 6px;
    }

    .gsvps2scope__node strong {
      font-size: 7px;
    }

    .gsvps2scope__step {
      grid-template-columns: 34px minmax(0, 1fr);
      gap: 8px;
    }

    .gsvps2scope__step-index span {
      width: 34px;
      height: 34px;
      font-size: 9px;
    }

    .gsvps2scope__step-heading {
      grid-template-columns: 1fr;
    }

    .gsvps2scope__services article {
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 11px;
      padding: 15px;
    }

    .gsvps2scope__services article > span {
      width: 42px;
      height: 42px;
    }

    .gsvps2scope__service-copy strong {
      font-size: 12px;
    }

    .gsvps2scope__policy-grid article {
      grid-template-columns: 35px minmax(0, 1fr);
    }

    .gsvps2scope__policy-grid article > span {
      width: 35px;
      height: 35px;
    }

  }

  @media (prefers-reduced-motion: reduce) {

    .gsvps2scope__eyebrow > span,
    .gsvps2scope__orbit,
    .gsvps2scope__signal,
    .gsvps2scope__device,
    .gsvps2scope__device-halo,
    .gsvps2scope__scan {
      animation: none !important;
    }

    .gsvps2scope__button {
      transition: none !important;
    }

  }

/* =========================================================
   PLAYSTATION 2 · FALLAS
   ========================================================= */
.gsvps2faults {
    --ps2f-cyan: #21d9f3;
    --ps2f-blue: #407cff;
    --ps2f-violet: #9d84ff;
    --ps2f-green: #45dfa0;
    --ps2f-yellow: #ffc95e;
    --ps2f-red: #ff6578;
    --ps2f-text: #a9bfd1;

    position: relative !important;
    isolation: isolate;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(76px, 8vw, 116px) 24px !important;
    overflow: hidden !important;
    clear: both !important;
    color: #ffffff;
    background:
      radial-gradient(circle at 8% 10%, rgba(33,217,243,.09), transparent 30%),
      radial-gradient(circle at 93% 16%, rgba(157,132,255,.08), transparent 31%),
      radial-gradient(circle at 82% 94%, rgba(64,124,255,.07), transparent 34%),
      linear-gradient(118deg, #020713, #07152d 52%, #101d4c);
    font-family: "Poppins", system-ui, sans-serif;
    container-type: inline-size;
  }

  .gsvps2faults *,
  .gsvps2faults *::before,
  .gsvps2faults *::after {
    box-sizing: border-box !important;
    min-width: 0;
  }

  .gsvps2faults h2,
  .gsvps2faults h3,
  .gsvps2faults h4,
  .gsvps2faults p,
  .gsvps2faults small,
  .gsvps2faults strong,
  .gsvps2faults li {
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none;
  }

  .gsvps2faults a {
    text-decoration: none !important;
  }

  .gsvps2faults svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsvps2faults__grid-bg {
    position: absolute;
    z-index: -4;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(63,139,209,.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(63,139,209,.07) 1px, transparent 1px),
      radial-gradient(circle, rgba(157,132,255,.16) 1px, transparent 1.5px);
    background-size: 72px 72px, 72px 72px, 36px 36px;
  }

  .gsvps2faults__glow {
    position: absolute;
    z-index: -3;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    filter: blur(140px);
    pointer-events: none;
  }

  .gsvps2faults__glow--cyan {
    top: 3%;
    left: -230px;
    opacity: .07;
    background: var(--ps2f-cyan);
  }

  .gsvps2faults__glow--violet {
    right: -230px;
    bottom: 5%;
    opacity: .06;
    background: var(--ps2f-violet);
  }

  .gsvps2faults__wrap {
    display: block !important;
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
  }

  /* ENCABEZADO */

  .gsvps2faults__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
    gap: clamp(38px, 6vw, 80px);
    align-items: end;
    margin-bottom: clamp(38px, 5vw, 58px);
  }

  .gsvps2faults__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    color: #75e8f8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.25px;
    text-transform: uppercase;
  }

  .gsvps2faults__eyebrow > span {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--ps2f-cyan);
    box-shadow:
      0 0 0 6px rgba(33,217,243,.08),
      0 0 18px rgba(33,217,243,.62);
    animation: gsvps2faultsPulse 2.5s ease-in-out infinite;
  }

  .gsvps2faults__header h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(39px, 4.6vw, 62px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.052em;
  }

  .gsvps2faults__header h2 span {
    display: block;
    margin-top: 6px;
    color: transparent;
    background:
      linear-gradient(90deg, #6bdcff, var(--ps2f-blue), var(--ps2f-violet));
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gsvps2faults__header-info > p {
    margin: 0;
    color: var(--ps2f-text);
    font-size: 15px;
    line-height: 1.76;
  }

  .gsvps2faults__header-note {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid rgba(255,201,94,.16);
    border-radius: 15px;
    background: rgba(255,201,94,.024);
  }

  .gsvps2faults__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2f-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2faults__icon--yellow {
    color: var(--ps2f-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2faults__header-note small,
  .gsvps2faults__header-note strong {
    display: block;
  }

  .gsvps2faults__header-note small {
    margin-bottom: 3px;
    color: #a29677;
    font-size: 10px;
  }

  .gsvps2faults__header-note strong {
    color: #f2e8d2;
    font-size: 12px;
    line-height: 1.5;
  }

  /* PANEL */

  .gsvps2faults__panel {
    position: relative;
    overflow: hidden;
    padding: 25px;
    border: 1px solid rgba(101,146,255,.2);
    border-radius: 28px;
    background:
      radial-gradient(circle at 18% 25%, rgba(33,217,243,.065), transparent 35%),
      radial-gradient(circle at 90% 22%, rgba(157,132,255,.05), transparent 28%),
      linear-gradient(145deg, rgba(13,39,82,.78), rgba(3,12,31,.96));
    box-shadow:
      0 30px 70px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter: blur(12px);
  }

  .gsvps2faults__panel-grid {
    position: absolute;
    inset: 0;
    opacity: .38;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(64,124,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(64,124,255,.05) 1px, transparent 1px);
    background-size: 30px 30px;
  }

  .gsvps2faults__panel > *:not(.gsvps2faults__panel-grid) {
    position: relative;
    z-index: 2;
  }

  .gsvps2faults__panel-status {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(101,146,255,.12);
  }

  .gsvps2faults__panel-status > span,
  .gsvps2faults__diagnosis-head > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faults__panel-status i,
  .gsvps2faults__diagnosis-head i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ps2f-green);
    box-shadow: 0 0 9px rgba(69,223,160,.55);
  }

  .gsvps2faults__panel-status > strong {
    color: #7288a7;
    font-size: 10px;
    letter-spacing: .6px;
  }

  .gsvps2faults__layout {
    display: grid !important;
    grid-template-columns: minmax(370px, .82fr) minmax(0, 1.18fr);
    gap: 22px;
    align-items: start;
    margin-top: 22px;
  }

  /* VISUAL */

  .gsvps2faults__visual {
    position: sticky;
    top: 24px;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 22px;
    background:
      radial-gradient(circle at 50% 38%, rgba(64,124,255,.075), transparent 43%),
      rgba(0,9,27,.4);
  }

  .gsvps2faults__visual-copy > small {
    display: block;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
  }

  .gsvps2faults__visual-copy h3 {
    margin: 7px 0 0;
    color: #ffffff;
    font-size: clamp(29px, 3vw, 39px);
    line-height: 1.12;
    letter-spacing: -1.1px;
  }

  .gsvps2faults__visual-copy h3 span {
    display: block;
    color: #9daeff;
  }

  .gsvps2faults__visual-copy p {
    margin: 13px 0 0;
    color: #93a9bc;
    font-size: 13px;
    line-height: 1.7;
  }

  .gsvps2faults__stage {
    position: relative;
    height: 420px;
    margin-top: 8px;
  }

  .gsvps2faults__orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(101,146,255,.13);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: gsvps2faultsOrbit 5s ease-in-out infinite;
  }

  .gsvps2faults__orbit--outer {
    width: 355px;
    height: 355px;
  }

  .gsvps2faults__orbit--inner {
    width: 250px;
    height: 250px;
    animation-delay: -2.4s;
  }

  .gsvps2faults__signal {
    position: absolute;
    z-index: 2;
    top: 50%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(90deg, transparent, var(--ps2f-cyan), var(--ps2f-violet));
    animation: gsvps2faultsSignal 3.2s ease-in-out infinite;
  }

  .gsvps2faults__signal--left {
    right: 50%;
    left: 2%;
  }

  .gsvps2faults__signal--right {
    right: 2%;
    left: 50%;
    animation-delay: -1.6s;
  }

  .gsvps2faults__device {
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 50%;
    width: 555px;
    max-width: 130%;
    aspect-ratio: 2048 / 852;
    transform: translate(-50%, -50%) rotate(-1deg);
    animation: gsvps2faultsDevice 5.3s ease-in-out infinite;
    filter:
      drop-shadow(0 28px 27px rgba(0,0,0,.54))
      drop-shadow(0 0 12px rgba(64,124,255,.23))
      drop-shadow(0 0 22px rgba(157,132,255,.12));
  }

  .gsvps2faults__device-halo {
    position: absolute;
    z-index: -1;
    inset: 8% 5% 5%;
    border-radius: 50%;
    background:
      radial-gradient(
        ellipse,
        rgba(64,124,255,.18),
        rgba(157,132,255,.09) 40%,
        transparent 72%
      );
    filter: blur(24px);
    animation: gsvps2faultsHalo 3.8s ease-in-out infinite;
  }

  .gsvps2faults__device img {
    position: absolute;
    z-index: 2;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
  }

  .gsvps2faults__scan {
    position: absolute;
    z-index: 4;
    top: 14%;
    right: 4%;
    left: 4%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(
        90deg,
        transparent,
        var(--ps2f-cyan),
        var(--ps2f-blue),
        var(--ps2f-violet),
        transparent
      );
    box-shadow:
      0 0 8px rgba(33,217,243,.5),
      0 0 14px rgba(157,132,255,.3);
    animation: gsvps2faultsScan 4s ease-in-out infinite;
  }

  /* NODOS */

  .gsvps2faults__node {
    position: absolute;
    z-index: 9;
    min-width: 116px;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 7px;
    border: 1px solid rgba(101,146,255,.19);
    border-radius: 11px;
    background: rgba(6,18,45,.97);
    box-shadow: 0 16px 30px rgba(0,0,0,.29);
  }

  .gsvps2faults__node > span {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: var(--ps2f-cyan);
    background: rgba(33,217,243,.08);
    font-size: 9px;
    font-weight: 850;
  }

  .gsvps2faults__node small,
  .gsvps2faults__node strong {
    display: block;
  }

  .gsvps2faults__node small {
    color: #7588a9;
    font-size: 7px;
  }

  .gsvps2faults__node strong {
    margin-top: 2px;
    color: #e0e8f8;
    font-size: 8px;
    line-height: 1.35;
  }

  .gsvps2faults__node--power {
    top: 20px;
    left: 0;
  }

  .gsvps2faults__node--optical {
    top: 64px;
    right: 0;
  }

  .gsvps2faults__node--optical > span {
    color: var(--ps2f-violet);
    background: rgba(157,132,255,.08);
  }

  .gsvps2faults__node--av {
    bottom: 27px;
    left: 0;
  }

  .gsvps2faults__node--av > span {
    color: var(--ps2f-yellow);
    background: rgba(255,201,94,.08);
  }

  .gsvps2faults__node--input {
    right: 0;
    bottom: 63px;
  }

  .gsvps2faults__node--input > span {
    color: var(--ps2f-green);
    background: rgba(69,223,160,.08);
  }

  .gsvps2faults__node--board {
    right: 50%;
    bottom: 4px;
    transform: translateX(50%);
  }

  .gsvps2faults__node--board > span {
    color: var(--ps2f-red);
    background: rgba(255,101,120,.08);
  }

  .gsvps2faults__visual-status {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  .gsvps2faults__visual-status article {
    padding: 10px 5px;
    border: 1px solid rgba(101,146,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.018);
    text-align: center;
  }

  .gsvps2faults__visual-status small,
  .gsvps2faults__visual-status strong {
    display: block;
  }

  .gsvps2faults__visual-status small {
    color: #687d9d;
    font-size: 8px;
  }

  .gsvps2faults__visual-status strong {
    margin-top: 3px;
    color: #cbd7ee;
    font-size: 9px;
  }

  .gsvps2faults__visual-warning {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-top: 9px;
    padding: 12px;
    border: 1px solid rgba(255,201,94,.12);
    border-radius: 13px;
    background: rgba(255,201,94,.022);
  }

  .gsvps2faults__visual-warning > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2f-yellow);
    background: rgba(255,201,94,.065);
  }

  .gsvps2faults__visual-warning p {
    margin: 0;
    color: #aaa087;
    font-size: 11px;
    line-height: 1.6;
  }

  /* RUTA DE DIAGNÓSTICO */

  .gsvps2faults__diagnosis {
    width: 100%;
  }

  .gsvps2faults__diagnosis-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.019);
  }

  .gsvps2faults__diagnosis-head small {
    display: block;
    color: #6e849f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faults__diagnosis-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.35;
  }

  .gsvps2faults__steps {
    display: grid;
    gap: 9px;
  }

  .gsvps2faults__step {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 15px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 38%),
      rgba(255,255,255,.019);
  }

  .gsvps2faults__step-number {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2f-cyan);
    background: rgba(33,217,243,.07);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2faults__step-copy {
    display: block !important;
    width: 100%;
  }

  .gsvps2faults__step-copy small,
  .gsvps2faults__step-copy strong {
    display: block;
  }

  .gsvps2faults__step-copy small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faults__step-copy strong {
    margin-top: 4px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.48;
  }

  .gsvps2faults__step-copy p {
    margin: 7px 0 0;
    color: #8fa4b5;
    font-size: 12px;
    line-height: 1.62;
  }

  /* ENCABEZADOS DE SECCIÓN */

  .gsvps2faults__section {
    margin-top: clamp(58px, 6vw, 82px);
  }

  .gsvps2faults__section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .68fr);
    gap: 35px;
    align-items: end;
    margin-bottom: 24px;
  }

  .gsvps2faults__section-head small {
    display: block;
    margin-bottom: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faults__section-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(29px, 3.5vw, 44px);
    line-height: 1.1;
    letter-spacing: -1.3px;
  }

  .gsvps2faults__section-head > p {
    margin: 0;
    color: #91a6b8;
    font-size: 13px;
    line-height: 1.7;
  }

  /* TARJETAS DE FALLAS */

  .gsvps2faults__fault-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
  }

  .gsvps2faults__fault-card {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    width: 100%;
    padding: 19px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 18px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 42%),
      rgba(255,255,255,.021);
  }

  .gsvps2faults__fault-number {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2f-cyan);
    background: rgba(33,217,243,.075);
    font-size: 11px;
    font-weight: 850;
  }

  .gsvps2faults__fault-number--blue {
    color: #8eacff;
    background: rgba(64,124,255,.08);
  }

  .gsvps2faults__fault-number--violet {
    color: var(--ps2f-violet);
    background: rgba(157,132,255,.08);
  }

  .gsvps2faults__fault-number--green {
    color: var(--ps2f-green);
    background: rgba(69,223,160,.08);
  }

  .gsvps2faults__fault-number--yellow {
    color: var(--ps2f-yellow);
    background: rgba(255,201,94,.08);
  }

  .gsvps2faults__fault-number--red {
    color: var(--ps2f-red);
    background: rgba(255,101,120,.08);
  }

  .gsvps2faults__fault-copy {
    display: block !important;
    width: 100%;
  }

  .gsvps2faults__fault-title small,
  .gsvps2faults__fault-title strong {
    display: block;
  }

  .gsvps2faults__fault-title small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faults__fault-title strong {
    margin-top: 5px;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.45;
  }

  .gsvps2faults__fault-copy > p {
    margin: 10px 0 0;
    color: #8fa4b5;
    font-size: 12px;
    line-height: 1.65;
  }

  .gsvps2faults__fault-copy ul {
    display: grid;
    gap: 6px;
    margin: 13px 0 0;
    padding: 12px 0 0;
    border-top: 1px solid rgba(101,146,255,.08);
    list-style: none;
  }

  .gsvps2faults__fault-copy li {
    position: relative;
    padding-left: 17px;
    color: #8398aa;
    font-size: 11px;
    line-height: 1.5;
  }

  .gsvps2faults__fault-copy li::before {
    content: "•";
    position: absolute;
    left: 1px;
    color: var(--ps2f-cyan);
  }

  /* CRITERIOS */

  .gsvps2faults__criteria-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2faults__criteria-grid article {
    display: block !important;
    padding: 18px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 18px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.021);
  }

  .gsvps2faults__criteria-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2f-blue);
    background: rgba(64,124,255,.07);
  }

  .gsvps2faults__criteria-icon--yellow {
    color: var(--ps2f-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2faults__criteria-icon--violet {
    color: var(--ps2f-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2faults__criteria-icon--green {
    color: var(--ps2f-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2faults__criteria-grid small,
  .gsvps2faults__criteria-grid strong {
    display: block;
  }

  .gsvps2faults__criteria-grid small {
    margin-top: 13px;
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faults__criteria-grid strong {
    margin-top: 6px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2faults__criteria-grid p {
    margin: 9px 0 0;
    color: #8b9fb1;
    font-size: 11px;
    line-height: 1.65;
  }

  /* ADVERTENCIA */

  .gsvps2faults__warning {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(255,101,120,.15);
    border-radius: 18px;
    background:
      radial-gradient(circle at 0 50%, rgba(255,101,120,.05), transparent 28%),
      rgba(1,9,25,.4);
  }

  .gsvps2faults__warning > span {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--ps2f-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2faults__warning small,
  .gsvps2faults__warning strong {
    display: block;
  }

  .gsvps2faults__warning small {
    color: #a87884;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faults__warning strong {
    margin-top: 4px;
    color: #f0dde2;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2faults__warning p {
    margin: 6px 0 0;
    color: #a59097;
    font-size: 11px;
    line-height: 1.62;
  }

  /* POLÍTICA */

  .gsvps2faults__policy {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(33,217,243,.13);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0 50%, rgba(33,217,243,.045), transparent 30%),
      rgba(1,9,25,.4);
  }

  .gsvps2faults__policy-head {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .gsvps2faults__policy-head > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2f-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2faults__policy-head small {
    display: block;
    color: #6f91a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faults__policy-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 19px;
    line-height: 1.35;
  }

  .gsvps2faults__policy-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  .gsvps2faults__policy-grid article {
    display: grid !important;
    grid-template-columns: 41px minmax(0, 1fr);
    gap: 11px;
    padding: 15px;
    border: 1px solid rgba(101,146,255,.09);
    border-radius: 15px;
    background: rgba(255,255,255,.018);
  }

  .gsvps2faults__policy-grid article > span {
    width: 41px;
    height: 41px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--ps2f-cyan);
    background: rgba(33,217,243,.065);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2faults__policy-grid small,
  .gsvps2faults__policy-grid strong {
    display: block;
  }

  .gsvps2faults__policy-grid small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faults__policy-grid strong {
    margin-top: 4px;
    color: #e2edf4;
    font-size: 12px;
    line-height: 1.45;
  }

  .gsvps2faults__policy-grid p {
    margin: 6px 0 0;
    color: #899eaf;
    font-size: 11px;
    line-height: 1.6;
  }

  /* CTA */

  .gsvps2faults__cta {
    display: flex !important;
    justify-content: space-between;
    gap: 25px;
    align-items: center;
    margin-top: 18px;
    padding: 19px;
    border: 1px solid rgba(101,146,255,.14);
    border-radius: 19px;
    background: rgba(1,9,25,.4);
  }

  .gsvps2faults__cta-copy {
    display: grid !important;
    grid-template-columns: 49px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
  }

  .gsvps2faults__cta-copy .gsvps2faults__icon {
    width: 49px;
    height: 49px;
    color: var(--ps2f-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2faults__cta-copy small,
  .gsvps2faults__cta-copy strong {
    display: block;
  }

  .gsvps2faults__cta-copy small {
    color: #718ca6;
    font-size: 10px;
  }

  .gsvps2faults__cta-copy strong {
    margin-top: 3px;
    color: #dcecff;
    font-size: 12px;
  }

  .gsvps2faults__cta-copy p {
    margin: 5px 0 0;
    color: #8097ab;
    font-size: 11px;
    line-height: 1.55;
  }

  .gsvps2faults__actions {
    display: flex;
    gap: 9px;
  }

  .gsvps2faults__button {
    min-height: 47px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    padding: 12px 15px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 800;
    transition:
      transform 220ms ease,
      box-shadow 220ms ease;
  }

  .gsvps2faults__button:hover {
    transform: translateY(-3px);
  }

  .gsvps2faults__button:focus-visible {
    outline: 2px solid var(--ps2f-cyan);
    outline-offset: 3px;
  }

  .gsvps2faults__button--secondary {
    border: 1px solid rgba(101,146,255,.18);
    color: #e5efff !important;
    background: rgba(64,124,255,.045);
  }

  .gsvps2faults__button--whatsapp {
    border: 1px solid rgba(69,223,160,.26);
    color: #ffffff !important;
    background: linear-gradient(110deg, #089d65, #13c982);
    box-shadow: 0 16px 32px rgba(16,191,124,.18);
  }

  .gsvps2faults__disclaimer {
    margin: 17px auto 0 !important;
    color: #647996;
    font-size: 10px;
    line-height: 1.7;
    text-align: center;
  }

  /* ANIMACIONES */

  @keyframes gsvps2faultsPulse {
    0%,
    100% {
      opacity: .5;
      transform: scale(.88);
    }

    50% {
      opacity: 1;
      transform: scale(1.12);
    }
  }

  @keyframes gsvps2faultsOrbit {
    0%,
    100% {
      opacity: .22;
      transform: translate(-50%, -50%) scale(.96);
    }

    50% {
      opacity: .62;
      transform: translate(-50%, -50%) scale(1.04);
    }
  }

  @keyframes gsvps2faultsSignal {
    0%,
    100% {
      opacity: .2;
      transform: scaleX(.65);
    }

    50% {
      opacity: .9;
      transform: scaleX(1);
    }
  }

  @keyframes gsvps2faultsDevice {
    0%,
    100% {
      transform: translate(-50%, -50%) rotate(-1deg) translateY(0);
    }

    50% {
      transform: translate(-50%, -50%) rotate(-.25deg) translateY(-7px);
    }
  }

  @keyframes gsvps2faultsHalo {
    0%,
    100% {
      opacity: .45;
      transform: scale(1);
    }

    50% {
      opacity: .85;
      transform: scale(1.09);
    }
  }

  @keyframes gsvps2faultsScan {
    0%,
    100% {
      top: 14%;
      opacity: .2;
    }

    50% {
      top: 86%;
      opacity: .9;
    }
  }

  /* TABLETA */

  @media (max-width: 1080px) {

    .gsvps2faults__layout {
      grid-template-columns: 1fr;
    }

    .gsvps2faults__visual {
      position: relative;
      top: auto;
      width: min(760px, 100%);
      margin: 0 auto;
    }

    .gsvps2faults__criteria-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

  }

  @media (max-width: 900px) {

    .gsvps2faults__header,
    .gsvps2faults__section-head {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .gsvps2faults__fault-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2faults__cta {
      flex-direction: column;
      align-items: stretch;
    }

    .gsvps2faults__actions {
      width: 100%;
    }

    .gsvps2faults__button {
      flex: 1 1 0;
    }

  }

  @container (max-width: 900px) {

    .gsvps2faults__header,
    .gsvps2faults__layout,
    .gsvps2faults__section-head {
      grid-template-columns: 1fr;
    }

  }

  /* MÓVIL */

  @media (max-width: 700px) {

    .gsvps2faults {
      padding: 66px 17px 72px !important;
    }

    .gsvps2faults__panel {
      padding: 19px 17px;
      border-radius: 23px;
      backdrop-filter: none;
    }

    .gsvps2faults__visual {
      padding: 18px 16px;
      backdrop-filter: none;
    }

    .gsvps2faults__criteria-grid,
    .gsvps2faults__policy-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2faults__actions {
      flex-direction: column;
    }

    .gsvps2faults__glow {
      display: none;
    }

    .gsvps2faults__eyebrow > span,
    .gsvps2faults__orbit,
    .gsvps2faults__signal,
    .gsvps2faults__device,
    .gsvps2faults__device-halo,
    .gsvps2faults__scan {
      animation: none;
    }

    .gsvps2faults__device {
      transform: translate(-50%, -50%) rotate(-.4deg);
    }

    .gsvps2faults__button {
      transition: none;
    }

    .gsvps2faults__button:hover {
      transform: none;
    }

  }

  @media (max-width: 560px) {

    .gsvps2faults__header h2 {
      font-size: clamp(36px, 11vw, 49px);
    }

    .gsvps2faults__header-note,
    .gsvps2faults__visual-warning,
    .gsvps2faults__warning,
    .gsvps2faults__policy-head,
    .gsvps2faults__cta-copy {
      grid-template-columns: 1fr;
    }

    .gsvps2faults__panel-status > strong,
    .gsvps2faults__diagnosis-head > span {
      display: none;
    }

    .gsvps2faults__stage {
      height: 380px;
    }

    .gsvps2faults__device {
      width: 475px;
      max-width: 140%;
    }

    .gsvps2faults__diagnosis-head {
      display: block;
    }

  }

  @media (max-width: 390px) {

    .gsvps2faults {
      padding-right: 14px !important;
      padding-left: 14px !important;
    }

    .gsvps2faults__panel,
    .gsvps2faults__visual,
    .gsvps2faults__warning,
    .gsvps2faults__policy {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsvps2faults__stage {
      height: 345px;
    }

    .gsvps2faults__device {
      width: 405px;
      max-width: 145%;
    }

    .gsvps2faults__node {
      min-width: 82px;
      grid-template-columns: 26px minmax(0, 1fr);
      gap: 5px;
      padding: 5px;
    }

    .gsvps2faults__node > span {
      width: 26px;
      height: 26px;
    }

    .gsvps2faults__node small {
      font-size: 6px;
    }

    .gsvps2faults__node strong {
      font-size: 7px;
    }

    .gsvps2faults__step {
      grid-template-columns: 39px minmax(0, 1fr);
      gap: 10px;
      padding: 13px;
    }

    .gsvps2faults__step-number {
      width: 39px;
      height: 39px;
    }

    .gsvps2faults__fault-card {
      grid-template-columns: 43px minmax(0, 1fr);
      gap: 11px;
      padding: 15px;
    }

    .gsvps2faults__fault-number {
      width: 43px;
      height: 43px;
    }

    .gsvps2faults__policy-grid article {
      grid-template-columns: 35px minmax(0, 1fr);
    }

    .gsvps2faults__policy-grid article > span {
      width: 35px;
      height: 35px;
    }

  }

  @media (prefers-reduced-motion: reduce) {

    .gsvps2faults__eyebrow > span,
    .gsvps2faults__orbit,
    .gsvps2faults__signal,
    .gsvps2faults__device,
    .gsvps2faults__device-halo,
    .gsvps2faults__scan {
      animation: none !important;
    }

    .gsvps2faults__button {
      transition: none !important;
    }

  }

/* =========================================================
   PLAYSTATION 2 · LECTOR
   ========================================================= */
.gsvps2optical {
    --ps2o-cyan: #21d9f3;
    --ps2o-blue: #407cff;
    --ps2o-violet: #9d84ff;
    --ps2o-green: #45dfa0;
    --ps2o-yellow: #ffc95e;
    --ps2o-red: #ff6578;
    --ps2o-text: #a9bfd1;

    position: relative !important;
    isolation: isolate;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(76px, 8vw, 116px) 24px !important;
    overflow: hidden !important;
    clear: both !important;
    color: #ffffff;
    background:
      radial-gradient(circle at 8% 9%, rgba(33,217,243,.09), transparent 30%),
      radial-gradient(circle at 93% 15%, rgba(157,132,255,.08), transparent 31%),
      radial-gradient(circle at 82% 94%, rgba(64,124,255,.07), transparent 34%),
      linear-gradient(118deg, #020713, #07152d 52%, #101d4c);
    font-family: "Poppins", system-ui, sans-serif;
  }

  .gsvps2optical *,
  .gsvps2optical *::before,
  .gsvps2optical *::after {
    box-sizing: border-box !important;
    min-width: 0;
  }

  .gsvps2optical h2,
  .gsvps2optical h3,
  .gsvps2optical p,
  .gsvps2optical small,
  .gsvps2optical strong,
  .gsvps2optical li {
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none;
  }

  .gsvps2optical a {
    text-decoration: none !important;
  }

  .gsvps2optical svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsvps2optical__grid-bg {
    position: absolute;
    z-index: -4;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(63,139,209,.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(63,139,209,.07) 1px, transparent 1px),
      radial-gradient(circle, rgba(157,132,255,.16) 1px, transparent 1.5px);
    background-size: 72px 72px, 72px 72px, 36px 36px;
  }

  .gsvps2optical__glow {
    position: absolute;
    z-index: -3;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    filter: blur(140px);
    pointer-events: none;
  }

  .gsvps2optical__glow--cyan {
    top: 3%;
    left: -230px;
    opacity: .07;
    background: var(--ps2o-cyan);
  }

  .gsvps2optical__glow--violet {
    right: -230px;
    bottom: 5%;
    opacity: .06;
    background: var(--ps2o-violet);
  }

  .gsvps2optical__wrap {
    display: block !important;
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
  }

  /* ENCABEZADO */

  .gsvps2optical__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
    gap: clamp(38px, 6vw, 80px);
    align-items: end;
    margin-bottom: clamp(38px, 5vw, 58px);
  }

  .gsvps2optical__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    color: #75e8f8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.25px;
    text-transform: uppercase;
  }

  .gsvps2optical__eyebrow > span {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--ps2o-cyan);
    box-shadow:
      0 0 0 6px rgba(33,217,243,.08),
      0 0 18px rgba(33,217,243,.62);
    animation: gsvps2opticalPulse 2.5s ease-in-out infinite;
  }

  .gsvps2optical__header h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(39px, 4.6vw, 62px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.052em;
  }

  .gsvps2optical__header h2 span {
    display: block;
    margin-top: 6px;
    color: transparent;
    background:
      linear-gradient(90deg, #6bdcff, var(--ps2o-blue), var(--ps2o-violet));
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gsvps2optical__header-info > p {
    margin: 0;
    color: var(--ps2o-text);
    font-size: 15px;
    line-height: 1.76;
  }

  .gsvps2optical__header-note {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid rgba(255,201,94,.16);
    border-radius: 15px;
    background: rgba(255,201,94,.024);
  }

  .gsvps2optical__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2o-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2optical__icon--yellow {
    color: var(--ps2o-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2optical__header-note small,
  .gsvps2optical__header-note strong {
    display: block;
  }

  .gsvps2optical__header-note small {
    margin-bottom: 3px;
    color: #a29677;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2optical__header-note strong {
    color: #f2e8d2;
    font-size: 12px;
    line-height: 1.5;
  }

  /* PANEL */

  .gsvps2optical__panel {
    position: relative;
    overflow: hidden;
    padding: 25px;
    border: 1px solid rgba(101,146,255,.2);
    border-radius: 28px;
    background:
      radial-gradient(circle at 18% 25%, rgba(33,217,243,.065), transparent 35%),
      radial-gradient(circle at 90% 22%, rgba(157,132,255,.05), transparent 28%),
      linear-gradient(145deg, rgba(13,39,82,.78), rgba(3,12,31,.96));
    box-shadow:
      0 30px 70px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter: blur(12px);
  }

  .gsvps2optical__panel-grid {
    position: absolute;
    inset: 0;
    opacity: .38;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(64,124,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(64,124,255,.05) 1px, transparent 1px);
    background-size: 30px 30px;
  }

  .gsvps2optical__panel > *:not(.gsvps2optical__panel-grid) {
    position: relative;
    z-index: 2;
  }

  .gsvps2optical__panel-status {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(101,146,255,.12);
  }

  .gsvps2optical__panel-status > span,
  .gsvps2optical__diagnosis-head > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2optical__panel-status i,
  .gsvps2optical__diagnosis-head i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ps2o-green);
    box-shadow: 0 0 9px rgba(69,223,160,.55);
  }

  .gsvps2optical__panel-status > strong {
    color: #7288a7;
    font-size: 10px;
    letter-spacing: .6px;
  }

  .gsvps2optical__layout {
    display: grid !important;
    grid-template-columns: minmax(370px, .82fr) minmax(0, 1.18fr);
    gap: 22px;
    align-items: start;
    margin-top: 22px;
  }

  /* VISUAL */

  .gsvps2optical__visual {
    position: sticky;
    top: 24px;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 22px;
    background:
      radial-gradient(circle at 50% 44%, rgba(64,124,255,.085), transparent 44%),
      rgba(0,9,27,.42);
  }

  .gsvps2optical__visual-copy > small {
    display: block;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
  }

  .gsvps2optical__visual-copy h3 {
    margin: 7px 0 0;
    color: #ffffff;
    font-size: clamp(29px, 3vw, 39px);
    line-height: 1.12;
    letter-spacing: -1.1px;
  }

  .gsvps2optical__visual-copy h3 span {
    display: block;
    color: #9daeff;
  }

  .gsvps2optical__visual-copy p {
    margin: 13px 0 0;
    color: #93a9bc;
    font-size: 13px;
    line-height: 1.7;
  }

  .gsvps2optical__stage {
    position: relative;
    height: 440px;
    margin-top: 8px;
  }

  .gsvps2optical__orbit {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(101,146,255,.13);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: gsvps2opticalOrbit 5s ease-in-out infinite;
  }

  .gsvps2optical__orbit--outer {
    width: 360px;
    height: 360px;
  }

  .gsvps2optical__orbit--inner {
    width: 255px;
    height: 255px;
    animation-delay: -2.4s;
  }

  .gsvps2optical__signal {
    position: absolute;
    z-index: 2;
    top: 50%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(90deg, transparent, var(--ps2o-cyan), var(--ps2o-violet));
    animation: gsvps2opticalSignal 3.2s ease-in-out infinite;
  }

  .gsvps2optical__signal--left {
    right: 50%;
    left: 2%;
  }

  .gsvps2optical__signal--right {
    right: 2%;
    left: 50%;
    animation-delay: -1.6s;
  }

  /* DISCO */

  .gsvps2optical__disc {
    position: absolute;
    z-index: 5;
    top: 51%;
    left: 50%;
    width: 275px;
    height: 275px;
    overflow: hidden;
    border: 1px solid rgba(101,146,255,.26);
    border-radius: 50%;
    background:
      conic-gradient(
        from 40deg,
        rgba(33,217,243,.08),
        rgba(157,132,255,.16),
        rgba(64,124,255,.05),
        rgba(33,217,243,.12),
        rgba(157,132,255,.08)
      ),
      radial-gradient(circle, #070b19 0 15%, #111a35 16% 31%, #050916 32% 100%);
    box-shadow:
      inset 0 0 40px rgba(0,0,0,.55),
      0 24px 35px rgba(0,0,0,.4),
      0 0 25px rgba(64,124,255,.13);
    transform: translate(-50%, -50%) perspective(700px) rotateX(58deg);
    animation: gsvps2opticalDisc 6.5s linear infinite;
  }

  .gsvps2optical__disc-ring {
    position: absolute;
    border: 1px solid rgba(118,151,255,.2);
    border-radius: 50%;
  }

  .gsvps2optical__disc-ring--one {
    inset: 13px;
  }

  .gsvps2optical__disc-ring--two {
    inset: 49px;
  }

  .gsvps2optical__disc-ring--three {
    inset: 88px;
  }

  .gsvps2optical__disc-center {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 42px;
    height: 42px;
    border: 6px solid #151f3d;
    border-radius: 50%;
    background: #02040c;
    box-shadow: 0 0 15px rgba(33,217,243,.12);
    transform: translate(-50%, -50%);
  }

  .gsvps2optical__disc-copy {
    position: absolute;
    z-index: 2;
    top: 30%;
    left: 50%;
    text-align: center;
    transform: translateX(-50%);
  }

  .gsvps2optical__disc-copy small,
  .gsvps2optical__disc-copy strong {
    display: block;
  }

  .gsvps2optical__disc-copy small {
    color: #7188b2;
    font-size: 8px;
    letter-spacing: .12em;
  }

  .gsvps2optical__disc-copy strong {
    margin-top: 4px;
    color: #b7c4ff;
    font-size: 11px;
    letter-spacing: .14em;
  }

  .gsvps2optical__disc-scan {
    position: absolute;
    z-index: 4;
    top: 12%;
    right: 7%;
    left: 7%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(
        90deg,
        transparent,
        var(--ps2o-cyan),
        var(--ps2o-blue),
        var(--ps2o-violet),
        transparent
      );
    box-shadow:
      0 0 8px rgba(33,217,243,.55),
      0 0 15px rgba(157,132,255,.35);
    animation: gsvps2opticalScan 4s ease-in-out infinite;
  }

  /* PICKUP */

  .gsvps2optical__pickup {
    position: absolute;
    z-index: 7;
    top: 53%;
    left: 50%;
    width: 250px;
    height: 54px;
    transform: translate(-50%, 65px) rotate(-7deg);
  }

  .gsvps2optical__pickup-rail {
    position: absolute;
    top: 24px;
    right: 0;
    left: 0;
    height: 5px;
    border-radius: 999px;
    background:
      linear-gradient(90deg, #2a3557, #7886ae, #222c4a);
    box-shadow: 0 4px 10px rgba(0,0,0,.4);
  }

  .gsvps2optical__pickup-head {
    position: absolute;
    top: 6px;
    left: 42px;
    width: 62px;
    height: 42px;
    border: 1px solid rgba(101,146,255,.22);
    border-radius: 11px;
    background:
      linear-gradient(145deg, #172346, #050a18);
    box-shadow:
      0 10px 20px rgba(0,0,0,.45),
      0 0 13px rgba(33,217,243,.1);
    animation: gsvps2opticalPickup 3.8s ease-in-out infinite;
  }

  .gsvps2optical__pickup-head span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 18px;
    border: 3px solid rgba(33,217,243,.28);
    border-radius: 50%;
    background: #020711;
    box-shadow: 0 0 10px rgba(33,217,243,.22);
    transform: translate(-50%, -50%);
  }

  .gsvps2optical__pickup-head i {
    position: absolute;
    top: 50%;
    right: -48px;
    width: 48px;
    height: 2px;
    background:
      linear-gradient(90deg, var(--ps2o-cyan), transparent);
  }

  /* NODOS */

  .gsvps2optical__node {
    position: absolute;
    z-index: 10;
    min-width: 116px;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 7px;
    border: 1px solid rgba(101,146,255,.19);
    border-radius: 11px;
    background: rgba(6,18,45,.97);
    box-shadow: 0 16px 30px rgba(0,0,0,.29);
  }

  .gsvps2optical__node > span {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: var(--ps2o-cyan);
    background: rgba(33,217,243,.08);
    font-size: 9px;
    font-weight: 850;
  }

  .gsvps2optical__node small,
  .gsvps2optical__node strong {
    display: block;
  }

  .gsvps2optical__node small {
    color: #7588a9;
    font-size: 7px;
  }

  .gsvps2optical__node strong {
    margin-top: 2px;
    color: #e0e8f8;
    font-size: 8px;
    line-height: 1.35;
  }

  .gsvps2optical__node--media {
    top: 18px;
    left: 0;
  }

  .gsvps2optical__node--lid {
    top: 64px;
    right: 0;
  }

  .gsvps2optical__node--lid > span {
    color: var(--ps2o-yellow);
    background: rgba(255,201,94,.08);
  }

  .gsvps2optical__node--spin {
    bottom: 33px;
    left: 0;
  }

  .gsvps2optical__node--spin > span {
    color: var(--ps2o-green);
    background: rgba(69,223,160,.08);
  }

  .gsvps2optical__node--optical {
    right: 0;
    bottom: 70px;
  }

  .gsvps2optical__node--optical > span {
    color: var(--ps2o-violet);
    background: rgba(157,132,255,.08);
  }

  .gsvps2optical__node--control {
    right: 50%;
    bottom: -2px;
    transform: translateX(50%);
  }

  .gsvps2optical__node--control > span {
    color: var(--ps2o-red);
    background: rgba(255,101,120,.08);
  }

  .gsvps2optical__monitor {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  .gsvps2optical__monitor article {
    padding: 10px 5px;
    border: 1px solid rgba(101,146,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.018);
    text-align: center;
  }

  .gsvps2optical__monitor small,
  .gsvps2optical__monitor strong {
    display: block;
  }

  .gsvps2optical__monitor small {
    color: #687d9d;
    font-size: 8px;
  }

  .gsvps2optical__monitor strong {
    margin-top: 3px;
    color: #cbd7ee;
    font-size: 9px;
  }

  .gsvps2optical__visual-note {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-top: 9px;
    padding: 12px;
    border: 1px solid rgba(255,201,94,.12);
    border-radius: 13px;
    background: rgba(255,201,94,.022);
  }

  .gsvps2optical__visual-note > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2o-yellow);
    background: rgba(255,201,94,.065);
  }

  .gsvps2optical__visual-note p {
    margin: 0;
    color: #aaa087;
    font-size: 11px;
    line-height: 1.6;
  }

  /* DIAGNÓSTICO */

  .gsvps2optical__diagnosis-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.019);
  }

  .gsvps2optical__diagnosis-head small {
    display: block;
    color: #6e849f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2optical__diagnosis-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.35;
  }

  .gsvps2optical__steps {
    display: grid;
    gap: 9px;
  }

  .gsvps2optical__step {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 15px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 38%),
      rgba(255,255,255,.019);
  }

  .gsvps2optical__step-number {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2o-cyan);
    background: rgba(33,217,243,.07);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2optical__step-number--yellow {
    color: var(--ps2o-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2optical__step-number--green {
    color: var(--ps2o-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2optical__step-number--violet {
    color: var(--ps2o-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2optical__step-number--blue {
    color: #8eacff;
    background: rgba(64,124,255,.08);
  }

  .gsvps2optical__step-number--red {
    color: var(--ps2o-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2optical__step-copy small,
  .gsvps2optical__step-copy strong {
    display: block;
  }

  .gsvps2optical__step-copy small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2optical__step-copy strong {
    margin-top: 4px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.48;
  }

  .gsvps2optical__step-copy p {
    margin: 7px 0 0;
    color: #8fa4b5;
    font-size: 12px;
    line-height: 1.62;
  }

  /* SECCIONES */

  .gsvps2optical__section {
    margin-top: clamp(58px, 6vw, 82px);
  }

  .gsvps2optical__section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .68fr);
    gap: 35px;
    align-items: end;
    margin-bottom: 24px;
  }

  .gsvps2optical__section-head small {
    display: block;
    margin-bottom: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2optical__section-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(29px, 3.5vw, 44px);
    line-height: 1.1;
    letter-spacing: -1.3px;
  }

  .gsvps2optical__section-head > p {
    margin: 0;
    color: #91a6b8;
    font-size: 13px;
    line-height: 1.7;
  }

  /* SÍNTOMAS */

  .gsvps2optical__symptoms {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2optical__symptoms article {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    padding: 17px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 17px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.02);
  }

  .gsvps2optical__symptoms article > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2o-cyan);
    background: rgba(33,217,243,.075);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2optical__symptoms article > .gsvps2optical__symptom-number--yellow {
    color: var(--ps2o-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2optical__symptoms article > .gsvps2optical__symptom-number--violet {
    color: var(--ps2o-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2optical__symptoms article > .gsvps2optical__symptom-number--green {
    color: var(--ps2o-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2optical__symptoms article > .gsvps2optical__symptom-number--blue {
    color: #8eacff;
    background: rgba(64,124,255,.08);
  }

  .gsvps2optical__symptoms article > .gsvps2optical__symptom-number--red {
    color: var(--ps2o-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2optical__symptoms small,
  .gsvps2optical__symptoms strong {
    display: block;
  }

  .gsvps2optical__symptoms small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2optical__symptoms strong {
    margin-top: 5px;
    color: #dce7f2;
    font-size: 12px;
    line-height: 1.5;
  }

  /* CRITERIOS */

  .gsvps2optical__criteria {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2optical__criteria article {
    padding: 18px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 18px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.021);
  }

  .gsvps2optical__criteria-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2o-blue);
    background: rgba(64,124,255,.07);
  }

  .gsvps2optical__criteria-icon--yellow {
    color: var(--ps2o-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2optical__criteria-icon--violet {
    color: var(--ps2o-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2optical__criteria-icon--green {
    color: var(--ps2o-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2optical__criteria small,
  .gsvps2optical__criteria strong {
    display: block;
  }

  .gsvps2optical__criteria small {
    margin-top: 13px;
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2optical__criteria strong {
    margin-top: 6px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2optical__criteria p {
    margin: 9px 0 0;
    color: #8b9fb1;
    font-size: 11px;
    line-height: 1.65;
  }

  /* VERIFICACIÓN */

  .gsvps2optical__verification {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(69,223,160,.13);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0 50%, rgba(69,223,160,.045), transparent 30%),
      rgba(1,9,25,.4);
  }

  .gsvps2optical__verification-head {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .gsvps2optical__verification-head > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2o-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2optical__verification-head small {
    display: block;
    color: #72a38f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2optical__verification-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 19px;
    line-height: 1.35;
  }

  .gsvps2optical__verification-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-top: 16px;
  }

  .gsvps2optical__verification-grid article {
    display: grid !important;
    grid-template-columns: 39px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(69,223,160,.08);
    border-radius: 13px;
    background: rgba(255,255,255,.016);
  }

  .gsvps2optical__verification-grid article > span {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--ps2o-green);
    background: rgba(69,223,160,.07);
    font-size: 9px;
    font-weight: 850;
  }

  .gsvps2optical__verification-grid small,
  .gsvps2optical__verification-grid strong {
    display: block;
  }

  .gsvps2optical__verification-grid small {
    color: #72a38f;
    font-size: 9px;
    font-weight: 800;
  }

  .gsvps2optical__verification-grid strong {
    margin-top: 3px;
    color: #d5e8df;
    font-size: 11px;
    line-height: 1.45;
  }

  /* ADVERTENCIA */

  .gsvps2optical__warning {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(255,101,120,.15);
    border-radius: 18px;
    background:
      radial-gradient(circle at 0 50%, rgba(255,101,120,.05), transparent 28%),
      rgba(1,9,25,.4);
  }

  .gsvps2optical__warning > span {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--ps2o-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2optical__warning small,
  .gsvps2optical__warning strong {
    display: block;
  }

  .gsvps2optical__warning small {
    color: #a87884;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2optical__warning strong {
    margin-top: 4px;
    color: #f0dde2;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2optical__warning p {
    margin: 6px 0 0;
    color: #a59097;
    font-size: 11px;
    line-height: 1.62;
  }

  /* POLÍTICA */

  .gsvps2optical__policy {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(33,217,243,.13);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0 50%, rgba(33,217,243,.045), transparent 30%),
      rgba(1,9,25,.4);
  }

  .gsvps2optical__policy-head {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .gsvps2optical__policy-head > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2o-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2optical__policy-head small {
    display: block;
    color: #6f91a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2optical__policy-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 19px;
    line-height: 1.35;
  }

  .gsvps2optical__policy-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  .gsvps2optical__policy-grid article {
    display: grid !important;
    grid-template-columns: 41px minmax(0, 1fr);
    gap: 11px;
    padding: 15px;
    border: 1px solid rgba(101,146,255,.09);
    border-radius: 15px;
    background: rgba(255,255,255,.018);
  }

  .gsvps2optical__policy-grid article > span {
    width: 41px;
    height: 41px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--ps2o-cyan);
    background: rgba(33,217,243,.065);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2optical__policy-grid small,
  .gsvps2optical__policy-grid strong {
    display: block;
  }

  .gsvps2optical__policy-grid small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2optical__policy-grid strong {
    margin-top: 4px;
    color: #e2edf4;
    font-size: 12px;
    line-height: 1.45;
  }

  .gsvps2optical__policy-grid p {
    margin: 6px 0 0;
    color: #899eaf;
    font-size: 11px;
    line-height: 1.6;
  }

  /* CTA */

  .gsvps2optical__cta {
    display: flex !important;
    justify-content: space-between;
    gap: 25px;
    align-items: center;
    margin-top: 18px;
    padding: 19px;
    border: 1px solid rgba(101,146,255,.14);
    border-radius: 19px;
    background: rgba(1,9,25,.4);
  }

  .gsvps2optical__cta-copy {
    display: grid !important;
    grid-template-columns: 49px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
  }

  .gsvps2optical__cta-copy .gsvps2optical__icon {
    width: 49px;
    height: 49px;
    color: var(--ps2o-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2optical__cta-copy small,
  .gsvps2optical__cta-copy strong {
    display: block;
  }

  .gsvps2optical__cta-copy small {
    color: #718ca6;
    font-size: 10px;
  }

  .gsvps2optical__cta-copy strong {
    margin-top: 3px;
    color: #dcecff;
    font-size: 12px;
  }

  .gsvps2optical__cta-copy p {
    margin: 5px 0 0;
    color: #8097ab;
    font-size: 11px;
    line-height: 1.55;
  }

  .gsvps2optical__actions {
    display: flex;
    gap: 9px;
  }

  .gsvps2optical__button {
    min-height: 47px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    padding: 12px 15px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 800;
    transition:
      transform 220ms ease,
      box-shadow 220ms ease;
  }

  .gsvps2optical__button:hover {
    transform: translateY(-3px);
  }

  .gsvps2optical__button:focus-visible {
    outline: 2px solid var(--ps2o-cyan);
    outline-offset: 3px;
  }

  .gsvps2optical__button--secondary {
    border: 1px solid rgba(101,146,255,.18);
    color: #e5efff !important;
    background: rgba(64,124,255,.045);
  }

  .gsvps2optical__button--whatsapp {
    border: 1px solid rgba(69,223,160,.26);
    color: #ffffff !important;
    background: linear-gradient(110deg, #089d65, #13c982);
    box-shadow: 0 16px 32px rgba(16,191,124,.18);
  }

  .gsvps2optical__disclaimer {
    margin: 17px auto 0 !important;
    color: #647996;
    font-size: 10px;
    line-height: 1.7;
    text-align: center;
  }

  /* ANIMACIONES */

  @keyframes gsvps2opticalPulse {
    0%,
    100% {
      opacity: .5;
      transform: scale(.88);
    }

    50% {
      opacity: 1;
      transform: scale(1.12);
    }
  }

  @keyframes gsvps2opticalOrbit {
    0%,
    100% {
      opacity: .22;
      transform: translate(-50%, -50%) scale(.96);
    }

    50% {
      opacity: .62;
      transform: translate(-50%, -50%) scale(1.04);
    }
  }

  @keyframes gsvps2opticalSignal {
    0%,
    100% {
      opacity: .2;
      transform: scaleX(.65);
    }

    50% {
      opacity: .9;
      transform: scaleX(1);
    }
  }

  @keyframes gsvps2opticalDisc {
    from {
      transform: translate(-50%, -50%) perspective(700px) rotateX(58deg) rotateZ(0deg);
    }

    to {
      transform: translate(-50%, -50%) perspective(700px) rotateX(58deg) rotateZ(360deg);
    }
  }

  @keyframes gsvps2opticalScan {
    0%,
    100% {
      top: 12%;
      opacity: .2;
    }

    50% {
      top: 86%;
      opacity: .9;
    }
  }

  @keyframes gsvps2opticalPickup {
    0%,
    100% {
      left: 34px;
    }

    50% {
      left: 145px;
    }
  }

  /* TABLETA */

  @media (max-width: 1080px) {

    .gsvps2optical__layout {
      grid-template-columns: 1fr;
    }

    .gsvps2optical__visual {
      position: relative;
      top: auto;
      width: min(760px, 100%);
      margin: 0 auto;
    }

    .gsvps2optical__criteria,
    .gsvps2optical__verification-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

  }

  @media (max-width: 900px) {

    .gsvps2optical__header,
    .gsvps2optical__section-head {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .gsvps2optical__policy-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2optical__cta {
      flex-direction: column;
      align-items: stretch;
    }

    .gsvps2optical__actions {
      width: 100%;
    }

    .gsvps2optical__button {
      flex: 1 1 0;
    }

  }

  /* MÓVIL */

  @media (max-width: 700px) {

    .gsvps2optical {
      padding: 66px 17px 72px !important;
    }

    .gsvps2optical__panel {
      padding: 19px 17px;
      border-radius: 23px;
      backdrop-filter: none;
    }

    .gsvps2optical__visual {
      padding: 18px 16px;
      backdrop-filter: none;
    }

    .gsvps2optical__symptoms,
    .gsvps2optical__criteria,
    .gsvps2optical__verification-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2optical__actions {
      flex-direction: column;
    }

    .gsvps2optical__glow {
      display: none;
    }

    .gsvps2optical__eyebrow > span,
    .gsvps2optical__orbit,
    .gsvps2optical__signal,
    .gsvps2optical__disc,
    .gsvps2optical__disc-scan,
    .gsvps2optical__pickup-head {
      animation: none;
    }

    .gsvps2optical__disc {
      transform:
        translate(-50%, -50%)
        perspective(700px)
        rotateX(58deg);
    }

    .gsvps2optical__pickup-head {
      left: 88px;
    }

    .gsvps2optical__button {
      transition: none;
    }

    .gsvps2optical__button:hover {
      transform: none;
    }

  }

  @media (max-width: 560px) {

    .gsvps2optical__header h2 {
      font-size: clamp(36px, 11vw, 49px);
    }

    .gsvps2optical__header-note,
    .gsvps2optical__visual-note,
    .gsvps2optical__verification-head,
    .gsvps2optical__warning,
    .gsvps2optical__policy-head,
    .gsvps2optical__cta-copy {
      grid-template-columns: 1fr;
    }

    .gsvps2optical__panel-status > strong,
    .gsvps2optical__diagnosis-head > span {
      display: none;
    }

    .gsvps2optical__diagnosis-head {
      display: block;
    }

    .gsvps2optical__stage {
      height: 395px;
    }

    .gsvps2optical__disc {
      width: 235px;
      height: 235px;
    }

    .gsvps2optical__pickup {
      width: 215px;
      transform: translate(-50%, 57px) rotate(-7deg);
    }

  }

  @media (max-width: 390px) {

    .gsvps2optical {
      padding-right: 14px !important;
      padding-left: 14px !important;
    }

    .gsvps2optical__panel,
    .gsvps2optical__visual,
    .gsvps2optical__verification,
    .gsvps2optical__warning,
    .gsvps2optical__policy {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsvps2optical__stage {
      height: 360px;
    }

    .gsvps2optical__disc {
      width: 205px;
      height: 205px;
    }

    .gsvps2optical__pickup {
      width: 180px;
      transform: translate(-50%, 48px) rotate(-7deg);
    }

    .gsvps2optical__node {
      min-width: 82px;
      grid-template-columns: 26px minmax(0, 1fr);
      gap: 5px;
      padding: 5px;
    }

    .gsvps2optical__node > span {
      width: 26px;
      height: 26px;
    }

    .gsvps2optical__node small {
      font-size: 6px;
    }

    .gsvps2optical__node strong {
      font-size: 7px;
    }

    .gsvps2optical__step {
      grid-template-columns: 39px minmax(0, 1fr);
      gap: 10px;
      padding: 13px;
    }

    .gsvps2optical__step-number {
      width: 39px;
      height: 39px;
    }

    .gsvps2optical__symptoms article {
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 11px;
      padding: 14px;
    }

    .gsvps2optical__symptoms article > span {
      width: 42px;
      height: 42px;
    }

    .gsvps2optical__verification-grid article,
    .gsvps2optical__policy-grid article {
      grid-template-columns: 35px minmax(0, 1fr);
    }

    .gsvps2optical__verification-grid article > span,
    .gsvps2optical__policy-grid article > span {
      width: 35px;
      height: 35px;
    }

  }

  @media (prefers-reduced-motion: reduce) {

    .gsvps2optical__eyebrow > span,
    .gsvps2optical__orbit,
    .gsvps2optical__signal,
    .gsvps2optical__disc,
    .gsvps2optical__disc-scan,
    .gsvps2optical__pickup-head {
      animation: none !important;
    }

    .gsvps2optical__button {
      transition: none !important;
    }

  }

/* =========================================================
   PLAYSTATION 2 · ENCENDIDO
   ========================================================= */
.gsvps2power {
    --ps2p-cyan: #21d9f3;
    --ps2p-blue: #407cff;
    --ps2p-violet: #9d84ff;
    --ps2p-green: #45dfa0;
    --ps2p-yellow: #ffc95e;
    --ps2p-red: #ff6578;
    --ps2p-text: #a9bfd1;

    position: relative !important;
    isolation: isolate;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(76px, 8vw, 116px) 24px !important;
    overflow: hidden !important;
    clear: both !important;
    color: #ffffff;
    background:
      radial-gradient(circle at 8% 9%, rgba(33,217,243,.09), transparent 30%),
      radial-gradient(circle at 93% 15%, rgba(157,132,255,.08), transparent 31%),
      radial-gradient(circle at 82% 94%, rgba(64,124,255,.07), transparent 34%),
      linear-gradient(118deg, #020713, #07152d 52%, #101d4c);
    font-family: "Poppins", system-ui, sans-serif;
    container-type: inline-size;
  }

  .gsvps2power *,
  .gsvps2power *::before,
  .gsvps2power *::after {
    box-sizing: border-box !important;
    min-width: 0;
  }

  .gsvps2power h2,
  .gsvps2power h3,
  .gsvps2power p,
  .gsvps2power small,
  .gsvps2power strong {
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none;
  }

  .gsvps2power a {
    text-decoration: none !important;
  }

  .gsvps2power svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsvps2power__grid-bg {
    position: absolute;
    z-index: -4;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(63,139,209,.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(63,139,209,.07) 1px, transparent 1px),
      radial-gradient(circle, rgba(157,132,255,.16) 1px, transparent 1.5px);
    background-size: 72px 72px, 72px 72px, 36px 36px;
  }

  .gsvps2power__glow {
    position: absolute;
    z-index: -3;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    filter: blur(140px);
    pointer-events: none;
  }

  .gsvps2power__glow--cyan {
    top: 3%;
    left: -230px;
    opacity: .07;
    background: var(--ps2p-cyan);
  }

  .gsvps2power__glow--violet {
    right: -230px;
    bottom: 5%;
    opacity: .06;
    background: var(--ps2p-violet);
  }

  .gsvps2power__wrap {
    display: block !important;
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
  }

  /* ENCABEZADO */

  .gsvps2power__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
    gap: clamp(38px, 6vw, 80px);
    align-items: end;
    margin-bottom: clamp(38px, 5vw, 58px);
  }

  .gsvps2power__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    color: #75e8f8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.25px;
    text-transform: uppercase;
  }

  .gsvps2power__eyebrow > span {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--ps2p-cyan);
    box-shadow:
      0 0 0 6px rgba(33,217,243,.08),
      0 0 18px rgba(33,217,243,.62);
    animation: gsvps2powerPulse 2.5s ease-in-out infinite;
  }

  .gsvps2power__header h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(39px, 4.6vw, 62px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.052em;
  }

  .gsvps2power__header h2 span {
    display: block;
    margin-top: 6px;
    color: transparent;
    background:
      linear-gradient(90deg, #6bdcff, var(--ps2p-blue), var(--ps2p-violet));
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gsvps2power__header-info > p {
    margin: 0;
    color: var(--ps2p-text);
    font-size: 15px;
    line-height: 1.76;
  }

  .gsvps2power__header-note {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid rgba(255,201,94,.16);
    border-radius: 15px;
    background: rgba(255,201,94,.024);
  }

  .gsvps2power__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2p-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2power__icon--yellow {
    color: var(--ps2p-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2power__header-note small,
  .gsvps2power__header-note strong {
    display: block;
  }

  .gsvps2power__header-note small {
    margin-bottom: 3px;
    color: #a29677;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2power__header-note strong {
    color: #f2e8d2;
    font-size: 12px;
    line-height: 1.5;
  }

  /* PANEL */

  .gsvps2power__panel {
    position: relative;
    overflow: hidden;
    padding: 25px;
    border: 1px solid rgba(101,146,255,.2);
    border-radius: 28px;
    background:
      radial-gradient(circle at 18% 25%, rgba(33,217,243,.065), transparent 35%),
      radial-gradient(circle at 90% 22%, rgba(157,132,255,.05), transparent 28%),
      linear-gradient(145deg, rgba(13,39,82,.78), rgba(3,12,31,.96));
    box-shadow:
      0 30px 70px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter: blur(12px);
  }

  .gsvps2power__panel-grid {
    position: absolute;
    inset: 0;
    opacity: .38;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(64,124,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(64,124,255,.05) 1px, transparent 1px);
    background-size: 30px 30px;
  }

  .gsvps2power__panel > *:not(.gsvps2power__panel-grid) {
    position: relative;
    z-index: 2;
  }

  .gsvps2power__panel-status {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(101,146,255,.12);
  }

  .gsvps2power__panel-status > span,
  .gsvps2power__diagnosis-head > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2power__panel-status i,
  .gsvps2power__diagnosis-head i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ps2p-green);
    box-shadow: 0 0 9px rgba(69,223,160,.55);
  }

  .gsvps2power__panel-status > strong {
    color: #7288a7;
    font-size: 10px;
    letter-spacing: .6px;
  }

  .gsvps2power__layout {
    display: grid !important;
    grid-template-columns: minmax(390px, .86fr) minmax(0, 1.14fr);
    gap: 22px;
    align-items: start;
    margin-top: 22px;
  }

  /* VISUAL */

  .gsvps2power__visual {
    position: sticky;
    top: 24px;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 22px;
    background:
      radial-gradient(circle at 50% 42%, rgba(64,124,255,.085), transparent 44%),
      rgba(0,9,27,.42);
  }

  .gsvps2power__visual-copy > small {
    display: block;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
  }

  .gsvps2power__visual-copy h3 {
    margin: 7px 0 0;
    color: #ffffff;
    font-size: clamp(29px, 3vw, 39px);
    line-height: 1.12;
    letter-spacing: -1.1px;
  }

  .gsvps2power__visual-copy h3 span {
    display: block;
    color: #9daeff;
  }

  .gsvps2power__visual-copy p {
    margin: 13px 0 0;
    color: #93a9bc;
    font-size: 13px;
    line-height: 1.7;
  }

  .gsvps2power__stage {
    position: relative;
    height: 470px;
    margin-top: 8px;
  }

  .gsvps2power__orbit {
    position: absolute;
    top: 48%;
    left: 50%;
    border: 1px solid rgba(101,146,255,.13);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: gsvps2powerOrbit 5s ease-in-out infinite;
  }

  .gsvps2power__orbit--outer {
    width: 365px;
    height: 365px;
  }

  .gsvps2power__orbit--inner {
    width: 255px;
    height: 255px;
    animation-delay: -2.4s;
  }

  .gsvps2power__signal {
    position: absolute;
    z-index: 2;
    top: 48%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(90deg, transparent, var(--ps2p-cyan), var(--ps2p-violet));
    animation: gsvps2powerSignal 3.2s ease-in-out infinite;
  }

  .gsvps2power__signal--left {
    right: 50%;
    left: 2%;
  }

  .gsvps2power__signal--right {
    right: 2%;
    left: 50%;
    animation-delay: -1.6s;
  }

  .gsvps2power__device {
    position: absolute;
    z-index: 5;
    top: 45%;
    left: 50%;
    width: 545px;
    max-width: 128%;
    aspect-ratio: 2048 / 852;
    transform: translate(-50%, -50%) rotate(-1deg);
    animation: gsvps2powerDevice 5.3s ease-in-out infinite;
    filter:
      drop-shadow(0 28px 27px rgba(0,0,0,.54))
      drop-shadow(0 0 12px rgba(64,124,255,.23))
      drop-shadow(0 0 22px rgba(157,132,255,.12));
  }

  .gsvps2power__device-halo {
    position: absolute;
    z-index: -1;
    inset: 8% 5% 5%;
    border-radius: 50%;
    background:
      radial-gradient(
        ellipse,
        rgba(64,124,255,.18),
        rgba(157,132,255,.09) 40%,
        transparent 72%
      );
    filter: blur(24px);
    animation: gsvps2powerHalo 3.8s ease-in-out infinite;
  }

  .gsvps2power__device img {
    position: absolute;
    z-index: 2;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
  }

  .gsvps2power__scan {
    position: absolute;
    z-index: 4;
    top: 14%;
    right: 4%;
    left: 4%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(
        90deg,
        transparent,
        var(--ps2p-cyan),
        var(--ps2p-blue),
        var(--ps2p-violet),
        transparent
      );
    box-shadow:
      0 0 8px rgba(33,217,243,.5),
      0 0 14px rgba(157,132,255,.3);
    animation: gsvps2powerScan 4s ease-in-out infinite;
  }

  /* MONITOR DE SEÑAL */

  .gsvps2power__screen {
    position: absolute;
    z-index: 7;
    right: 17px;
    bottom: 38px;
    width: 185px;
    height: 115px;
    overflow: hidden;
    padding: 14px;
    border: 1px solid rgba(33,217,243,.18);
    border-radius: 14px;
    background:
      radial-gradient(circle at 50% 0%, rgba(33,217,243,.1), transparent 55%),
      rgba(2,14,31,.93);
    box-shadow:
      0 18px 32px rgba(0,0,0,.36),
      0 0 16px rgba(33,217,243,.07);
  }

  .gsvps2power__screen-grid {
    position: absolute;
    inset: 0;
    opacity: .35;
    background-image:
      linear-gradient(rgba(33,217,243,.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(33,217,243,.06) 1px, transparent 1px);
    background-size: 15px 15px;
  }

  .gsvps2power__screen-line {
    position: absolute;
    z-index: 4;
    top: 10%;
    right: 5%;
    left: 5%;
    height: 2px;
    background:
      linear-gradient(90deg, transparent, var(--ps2p-cyan), transparent);
    box-shadow: 0 0 8px rgba(33,217,243,.45);
    animation: gsvps2powerScreenScan 3s ease-in-out infinite;
  }

  .gsvps2power__screen-copy {
    position: relative;
    z-index: 3;
    text-align: center;
  }

  .gsvps2power__screen-copy small,
  .gsvps2power__screen-copy strong {
    display: block;
  }

  .gsvps2power__screen-copy small {
    color: #718ba3;
    font-size: 8px;
  }

  .gsvps2power__screen-copy strong {
    margin-top: 3px;
    color: var(--ps2p-cyan);
    font-size: 10px;
    letter-spacing: .08em;
  }

  .gsvps2power__screen-progress {
    position: relative;
    width: 92px;
    height: 4px;
    overflow: hidden;
    margin: 8px auto 0;
    border-radius: 999px;
    background: rgba(33,217,243,.1);
  }

  .gsvps2power__screen-progress span {
    position: absolute;
    top: 0;
    left: -42%;
    width: 42%;
    height: 100%;
    border-radius: inherit;
    background:
      linear-gradient(90deg, var(--ps2p-cyan), var(--ps2p-violet));
    animation: gsvps2powerProgress 2.8s ease-in-out infinite;
  }

  .gsvps2power__screen-status {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
    margin-top: 9px;
  }

  .gsvps2power__screen-status div {
    padding: 5px;
    border: 1px solid rgba(33,217,243,.08);
    border-radius: 7px;
    text-align: center;
  }

  .gsvps2power__screen-status small,
  .gsvps2power__screen-status strong {
    display: block;
  }

  .gsvps2power__screen-status small {
    color: #657d94;
    font-size: 6px;
  }

  .gsvps2power__screen-status strong {
    margin-top: 2px;
    color: #c8dae5;
    font-size: 7px;
  }

  /* NODOS */

  .gsvps2power__node {
    position: absolute;
    z-index: 10;
    min-width: 116px;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 7px;
    border: 1px solid rgba(101,146,255,.19);
    border-radius: 11px;
    background: rgba(6,18,45,.97);
    box-shadow: 0 16px 30px rgba(0,0,0,.29);
  }

  .gsvps2power__node > span {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: var(--ps2p-cyan);
    background: rgba(33,217,243,.08);
    font-size: 9px;
    font-weight: 850;
  }

  .gsvps2power__node small,
  .gsvps2power__node strong {
    display: block;
  }

  .gsvps2power__node small {
    color: #7588a9;
    font-size: 7px;
  }

  .gsvps2power__node strong {
    margin-top: 2px;
    color: #e0e8f8;
    font-size: 8px;
    line-height: 1.35;
  }

  .gsvps2power__node--source {
    top: 19px;
    left: 0;
  }

  .gsvps2power__node--input {
    top: 65px;
    right: 0;
  }

  .gsvps2power__node--input > span {
    color: var(--ps2p-yellow);
    background: rgba(255,201,94,.08);
  }

  .gsvps2power__node--startup {
    bottom: 34px;
    left: 0;
  }

  .gsvps2power__node--startup > span {
    color: var(--ps2p-green);
    background: rgba(69,223,160,.08);
  }

  .gsvps2power__node--av {
    right: 0;
    bottom: 170px;
  }

  .gsvps2power__node--av > span {
    color: var(--ps2p-violet);
    background: rgba(157,132,255,.08);
  }

  .gsvps2power__node--board {
    right: 50%;
    bottom: -1px;
    transform: translateX(50%);
  }

  .gsvps2power__node--board > span {
    color: var(--ps2p-red);
    background: rgba(255,101,120,.08);
  }

  .gsvps2power__monitor {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  .gsvps2power__monitor article {
    padding: 10px 5px;
    border: 1px solid rgba(101,146,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.018);
    text-align: center;
  }

  .gsvps2power__monitor small,
  .gsvps2power__monitor strong {
    display: block;
  }

  .gsvps2power__monitor small {
    color: #687d9d;
    font-size: 8px;
  }

  .gsvps2power__monitor strong {
    margin-top: 3px;
    color: #cbd7ee;
    font-size: 9px;
  }

  .gsvps2power__visual-warning {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-top: 9px;
    padding: 12px;
    border: 1px solid rgba(255,201,94,.12);
    border-radius: 13px;
    background: rgba(255,201,94,.022);
  }

  .gsvps2power__visual-warning > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2p-yellow);
    background: rgba(255,201,94,.065);
  }

  .gsvps2power__visual-warning p {
    margin: 0;
    color: #aaa087;
    font-size: 11px;
    line-height: 1.6;
  }

  /* DIAGNÓSTICO */

  .gsvps2power__diagnosis-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.019);
  }

  .gsvps2power__diagnosis-head small {
    display: block;
    color: #6e849f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2power__diagnosis-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.35;
  }

  .gsvps2power__steps {
    display: grid;
    gap: 9px;
  }

  .gsvps2power__step {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 15px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 38%),
      rgba(255,255,255,.019);
  }

  .gsvps2power__step-number {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2p-cyan);
    background: rgba(33,217,243,.07);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2power__step-number--yellow {
    color: var(--ps2p-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2power__step-number--green {
    color: var(--ps2p-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2power__step-number--violet {
    color: var(--ps2p-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2power__step-number--blue {
    color: #8eacff;
    background: rgba(64,124,255,.08);
  }

  .gsvps2power__step-number--red {
    color: var(--ps2p-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2power__step-number--cyan {
    color: var(--ps2p-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2power__step-copy small,
  .gsvps2power__step-copy strong {
    display: block;
  }

  .gsvps2power__step-copy small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2power__step-copy strong {
    margin-top: 4px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.48;
  }

  .gsvps2power__step-copy p {
    margin: 7px 0 0;
    color: #8fa4b5;
    font-size: 12px;
    line-height: 1.62;
  }

  /* SECCIONES */

  .gsvps2power__section {
    margin-top: clamp(58px, 6vw, 82px);
  }

  .gsvps2power__section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .68fr);
    gap: 35px;
    align-items: end;
    margin-bottom: 24px;
  }

  .gsvps2power__section-head small {
    display: block;
    margin-bottom: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2power__section-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(29px, 3.5vw, 44px);
    line-height: 1.1;
    letter-spacing: -1.3px;
  }

  .gsvps2power__section-head > p {
    margin: 0;
    color: #91a6b8;
    font-size: 13px;
    line-height: 1.7;
  }

  /* SÍNTOMAS */

  .gsvps2power__symptoms {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2power__symptoms article {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    padding: 17px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 17px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.02);
  }

  .gsvps2power__symptoms article > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2p-cyan);
    background: rgba(33,217,243,.075);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2power__symptoms article > .gsvps2power__symptom-number--yellow {
    color: var(--ps2p-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2power__symptoms article > .gsvps2power__symptom-number--violet {
    color: var(--ps2p-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2power__symptoms article > .gsvps2power__symptom-number--green {
    color: var(--ps2p-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2power__symptoms article > .gsvps2power__symptom-number--blue {
    color: #8eacff;
    background: rgba(64,124,255,.08);
  }

  .gsvps2power__symptoms article > .gsvps2power__symptom-number--red {
    color: var(--ps2p-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2power__symptoms article > .gsvps2power__symptom-number--cyan {
    color: var(--ps2p-cyan);
    background: rgba(33,217,243,.075);
  }

  .gsvps2power__symptoms small,
  .gsvps2power__symptoms strong {
    display: block;
  }

  .gsvps2power__symptoms small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2power__symptoms strong {
    margin-top: 5px;
    color: #dce7f2;
    font-size: 12px;
    line-height: 1.5;
  }

  /* DIFERENCIAR */

  .gsvps2power__difference-grid,
  .gsvps2power__criteria {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2power__difference-grid article,
  .gsvps2power__criteria article {
    padding: 18px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 18px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.021);
  }

  .gsvps2power__difference-icon,
  .gsvps2power__criteria-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2p-blue);
    background: rgba(64,124,255,.07);
  }

  .gsvps2power__difference-icon--yellow,
  .gsvps2power__criteria-icon--yellow {
    color: var(--ps2p-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2power__difference-icon--violet,
  .gsvps2power__criteria-icon--violet {
    color: var(--ps2p-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2power__difference-icon--green,
  .gsvps2power__criteria-icon--green {
    color: var(--ps2p-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2power__difference-grid small,
  .gsvps2power__difference-grid strong,
  .gsvps2power__criteria small,
  .gsvps2power__criteria strong {
    display: block;
  }

  .gsvps2power__difference-grid small,
  .gsvps2power__criteria small {
    margin-top: 13px;
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2power__difference-grid strong,
  .gsvps2power__criteria strong {
    margin-top: 6px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2power__difference-grid p,
  .gsvps2power__criteria p {
    margin: 9px 0 0;
    color: #8b9fb1;
    font-size: 11px;
    line-height: 1.65;
  }

  /* VERIFICACIÓN */

  .gsvps2power__verification {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(69,223,160,.13);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0 50%, rgba(69,223,160,.045), transparent 30%),
      rgba(1,9,25,.4);
  }

  .gsvps2power__verification-head {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .gsvps2power__verification-head > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2p-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2power__verification-head small {
    display: block;
    color: #72a38f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2power__verification-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 19px;
    line-height: 1.35;
  }

  .gsvps2power__verification-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
    margin-top: 16px;
  }

  .gsvps2power__verification-grid article {
    display: grid !important;
    grid-template-columns: 39px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(69,223,160,.08);
    border-radius: 13px;
    background: rgba(255,255,255,.016);
  }

  .gsvps2power__verification-grid article > span {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--ps2p-green);
    background: rgba(69,223,160,.07);
    font-size: 9px;
    font-weight: 850;
  }

  .gsvps2power__verification-grid small,
  .gsvps2power__verification-grid strong {
    display: block;
  }

  .gsvps2power__verification-grid small {
    color: #72a38f;
    font-size: 9px;
    font-weight: 800;
  }

  .gsvps2power__verification-grid strong {
    margin-top: 3px;
    color: #d5e8df;
    font-size: 10px;
    line-height: 1.45;
  }

  /* ADVERTENCIA */

  .gsvps2power__warning {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(255,101,120,.15);
    border-radius: 18px;
    background:
      radial-gradient(circle at 0 50%, rgba(255,101,120,.05), transparent 28%),
      rgba(1,9,25,.4);
  }

  .gsvps2power__warning > span {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--ps2p-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2power__warning small,
  .gsvps2power__warning strong {
    display: block;
  }

  .gsvps2power__warning small {
    color: #a87884;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2power__warning strong {
    margin-top: 4px;
    color: #f0dde2;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2power__warning p {
    margin: 6px 0 0;
    color: #a59097;
    font-size: 11px;
    line-height: 1.62;
  }

  /* POLÍTICA */

  .gsvps2power__policy {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(33,217,243,.13);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0 50%, rgba(33,217,243,.045), transparent 30%),
      rgba(1,9,25,.4);
  }

  .gsvps2power__policy-head {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .gsvps2power__policy-head > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2p-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2power__policy-head small {
    display: block;
    color: #6f91a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2power__policy-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 19px;
    line-height: 1.35;
  }

  .gsvps2power__policy-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  .gsvps2power__policy-grid article {
    display: grid !important;
    grid-template-columns: 41px minmax(0, 1fr);
    gap: 11px;
    padding: 15px;
    border: 1px solid rgba(101,146,255,.09);
    border-radius: 15px;
    background: rgba(255,255,255,.018);
  }

  .gsvps2power__policy-grid article > span {
    width: 41px;
    height: 41px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--ps2p-cyan);
    background: rgba(33,217,243,.065);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2power__policy-grid small,
  .gsvps2power__policy-grid strong {
    display: block;
  }

  .gsvps2power__policy-grid small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2power__policy-grid strong {
    margin-top: 4px;
    color: #e2edf4;
    font-size: 12px;
    line-height: 1.45;
  }

  .gsvps2power__policy-grid p {
    margin: 6px 0 0;
    color: #899eaf;
    font-size: 11px;
    line-height: 1.6;
  }

  /* CTA */

  .gsvps2power__cta {
    display: flex !important;
    justify-content: space-between;
    gap: 25px;
    align-items: center;
    margin-top: 18px;
    padding: 19px;
    border: 1px solid rgba(101,146,255,.14);
    border-radius: 19px;
    background: rgba(1,9,25,.4);
  }

  .gsvps2power__cta-copy {
    display: grid !important;
    grid-template-columns: 49px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
  }

  .gsvps2power__cta-copy .gsvps2power__icon {
    width: 49px;
    height: 49px;
    color: var(--ps2p-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2power__cta-copy small,
  .gsvps2power__cta-copy strong {
    display: block;
  }

  .gsvps2power__cta-copy small {
    color: #718ca6;
    font-size: 10px;
  }

  .gsvps2power__cta-copy strong {
    margin-top: 3px;
    color: #dcecff;
    font-size: 12px;
  }

  .gsvps2power__cta-copy p {
    margin: 5px 0 0;
    color: #8097ab;
    font-size: 11px;
    line-height: 1.55;
  }

  .gsvps2power__actions {
    display: flex;
    gap: 9px;
  }

  .gsvps2power__button {
    min-height: 47px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    padding: 12px 15px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 800;
    transition:
      transform 220ms ease,
      box-shadow 220ms ease;
  }

  .gsvps2power__button:hover {
    transform: translateY(-3px);
  }

  .gsvps2power__button:focus-visible {
    outline: 2px solid var(--ps2p-cyan);
    outline-offset: 3px;
  }

  .gsvps2power__button--secondary {
    border: 1px solid rgba(101,146,255,.18);
    color: #e5efff !important;
    background: rgba(64,124,255,.045);
  }

  .gsvps2power__button--whatsapp {
    border: 1px solid rgba(69,223,160,.26);
    color: #ffffff !important;
    background: linear-gradient(110deg, #089d65, #13c982);
    box-shadow: 0 16px 32px rgba(16,191,124,.18);
  }

  .gsvps2power__disclaimer {
    margin: 17px auto 0 !important;
    color: #647996;
    font-size: 10px;
    line-height: 1.7;
    text-align: center;
  }

  /* ANIMACIONES */

  @keyframes gsvps2powerPulse {
    0%,
    100% {
      opacity: .5;
      transform: scale(.88);
    }

    50% {
      opacity: 1;
      transform: scale(1.12);
    }
  }

  @keyframes gsvps2powerOrbit {
    0%,
    100% {
      opacity: .22;
      transform: translate(-50%, -50%) scale(.96);
    }

    50% {
      opacity: .62;
      transform: translate(-50%, -50%) scale(1.04);
    }
  }

  @keyframes gsvps2powerSignal {
    0%,
    100% {
      opacity: .2;
      transform: scaleX(.65);
    }

    50% {
      opacity: .9;
      transform: scaleX(1);
    }
  }

  @keyframes gsvps2powerDevice {
    0%,
    100% {
      transform: translate(-50%, -50%) rotate(-1deg) translateY(0);
    }

    50% {
      transform: translate(-50%, -50%) rotate(-.25deg) translateY(-7px);
    }
  }

  @keyframes gsvps2powerHalo {
    0%,
    100% {
      opacity: .45;
      transform: scale(1);
    }

    50% {
      opacity: .85;
      transform: scale(1.09);
    }
  }

  @keyframes gsvps2powerScan {
    0%,
    100% {
      top: 14%;
      opacity: .2;
    }

    50% {
      top: 86%;
      opacity: .9;
    }
  }

  @keyframes gsvps2powerScreenScan {
    0%,
    100% {
      top: 10%;
      opacity: .25;
    }

    50% {
      top: 88%;
      opacity: .9;
    }
  }

  @keyframes gsvps2powerProgress {
    0% {
      left: -42%;
    }

    50% {
      left: 58%;
    }

    100% {
      left: -42%;
    }
  }

  /* TABLETA */

  @media (max-width: 1080px) {

    .gsvps2power__layout {
      grid-template-columns: 1fr;
    }

    .gsvps2power__visual {
      position: relative;
      top: auto;
      width: min(760px, 100%);
      margin: 0 auto;
    }

    .gsvps2power__difference-grid,
    .gsvps2power__criteria {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gsvps2power__verification-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

  }

  @media (max-width: 900px) {

    .gsvps2power__header,
    .gsvps2power__section-head {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .gsvps2power__policy-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2power__cta {
      flex-direction: column;
      align-items: stretch;
    }

    .gsvps2power__actions {
      width: 100%;
    }

    .gsvps2power__button {
      flex: 1 1 0;
    }

  }

  @container (max-width: 900px) {

    .gsvps2power__header,
    .gsvps2power__layout,
    .gsvps2power__section-head {
      grid-template-columns: 1fr;
    }

  }

  /* MÓVIL */

  @media (max-width: 700px) {

    .gsvps2power {
      padding: 66px 17px 72px !important;
    }

    .gsvps2power__panel {
      padding: 19px 17px;
      border-radius: 23px;
      backdrop-filter: none;
    }

    .gsvps2power__visual {
      padding: 18px 16px;
      backdrop-filter: none;
    }

    .gsvps2power__symptoms,
    .gsvps2power__difference-grid,
    .gsvps2power__criteria,
    .gsvps2power__verification-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2power__actions {
      flex-direction: column;
    }

    .gsvps2power__glow {
      display: none;
    }

    .gsvps2power__eyebrow > span,
    .gsvps2power__orbit,
    .gsvps2power__signal,
    .gsvps2power__device,
    .gsvps2power__device-halo,
    .gsvps2power__scan,
    .gsvps2power__screen-line,
    .gsvps2power__screen-progress span {
      animation: none;
    }

    .gsvps2power__device {
      transform: translate(-50%, -50%) rotate(-.4deg);
    }

    .gsvps2power__button {
      transition: none;
    }

    .gsvps2power__button:hover {
      transform: none;
    }

  }

  @media (max-width: 560px) {

    .gsvps2power__header h2 {
      font-size: clamp(36px, 11vw, 49px);
    }

    .gsvps2power__header-note,
    .gsvps2power__visual-warning,
    .gsvps2power__verification-head,
    .gsvps2power__warning,
    .gsvps2power__policy-head,
    .gsvps2power__cta-copy {
      grid-template-columns: 1fr;
    }

    .gsvps2power__panel-status > strong,
    .gsvps2power__diagnosis-head > span {
      display: none;
    }

    .gsvps2power__diagnosis-head {
      display: block;
    }

    .gsvps2power__stage {
      height: 420px;
    }

    .gsvps2power__device {
      width: 475px;
      max-width: 140%;
    }

    .gsvps2power__screen {
      right: 4px;
      bottom: 50px;
      width: 165px;
    }

  }

  @media (max-width: 390px) {

    .gsvps2power {
      padding-right: 14px !important;
      padding-left: 14px !important;
    }

    .gsvps2power__panel,
    .gsvps2power__visual,
    .gsvps2power__verification,
    .gsvps2power__warning,
    .gsvps2power__policy {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsvps2power__stage {
      height: 385px;
    }

    .gsvps2power__device {
      width: 405px;
      max-width: 145%;
    }

    .gsvps2power__screen {
      right: 0;
      bottom: 47px;
      width: 145px;
      height: 105px;
      padding: 11px;
    }

    .gsvps2power__node {
      min-width: 82px;
      grid-template-columns: 26px minmax(0, 1fr);
      gap: 5px;
      padding: 5px;
    }

    .gsvps2power__node > span {
      width: 26px;
      height: 26px;
    }

    .gsvps2power__node small {
      font-size: 6px;
    }

    .gsvps2power__node strong {
      font-size: 7px;
    }

    .gsvps2power__step {
      grid-template-columns: 39px minmax(0, 1fr);
      gap: 10px;
      padding: 13px;
    }

    .gsvps2power__step-number {
      width: 39px;
      height: 39px;
    }

    .gsvps2power__symptoms article {
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 11px;
      padding: 14px;
    }

    .gsvps2power__symptoms article > span {
      width: 42px;
      height: 42px;
    }

    .gsvps2power__verification-grid article,
    .gsvps2power__policy-grid article {
      grid-template-columns: 35px minmax(0, 1fr);
    }

    .gsvps2power__verification-grid article > span,
    .gsvps2power__policy-grid article > span {
      width: 35px;
      height: 35px;
    }

  }

  @media (prefers-reduced-motion: reduce) {

    .gsvps2power__eyebrow > span,
    .gsvps2power__orbit,
    .gsvps2power__signal,
    .gsvps2power__device,
    .gsvps2power__device-halo,
    .gsvps2power__scan,
    .gsvps2power__screen-line,
    .gsvps2power__screen-progress span {
      animation: none !important;
    }

    .gsvps2power__button {
      transition: none !important;
    }

  }

/* =========================================================
   PLAYSTATION 2 · CONTROLES
   ========================================================= */
.gsvps2io {
    --ps2i-cyan: #21d9f3;
    --ps2i-blue: #407cff;
    --ps2i-violet: #9d84ff;
    --ps2i-green: #45dfa0;
    --ps2i-yellow: #ffc95e;
    --ps2i-red: #ff6578;
    --ps2i-text: #a9bfd1;

    position: relative !important;
    isolation: isolate;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(76px, 8vw, 116px) 24px !important;
    overflow: hidden !important;
    clear: both !important;
    color: #ffffff;
    background:
      radial-gradient(circle at 8% 9%, rgba(33,217,243,.09), transparent 30%),
      radial-gradient(circle at 93% 15%, rgba(157,132,255,.08), transparent 31%),
      radial-gradient(circle at 82% 94%, rgba(64,124,255,.07), transparent 34%),
      linear-gradient(118deg, #020713, #07152d 52%, #101d4c);
    font-family: "Poppins", system-ui, sans-serif;
    container-type: inline-size;
  }

  .gsvps2io *,
  .gsvps2io *::before,
  .gsvps2io *::after {
    box-sizing: border-box !important;
    min-width: 0;
  }

  .gsvps2io h2,
  .gsvps2io h3,
  .gsvps2io p,
  .gsvps2io small,
  .gsvps2io strong {
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none;
  }

  .gsvps2io a {
    text-decoration: none !important;
  }

  .gsvps2io svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsvps2io__grid-bg {
    position: absolute;
    z-index: -4;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(63,139,209,.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(63,139,209,.07) 1px, transparent 1px),
      radial-gradient(circle, rgba(157,132,255,.16) 1px, transparent 1.5px);
    background-size: 72px 72px, 72px 72px, 36px 36px;
  }

  .gsvps2io__glow {
    position: absolute;
    z-index: -3;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    filter: blur(140px);
    pointer-events: none;
  }

  .gsvps2io__glow--cyan {
    top: 3%;
    left: -230px;
    opacity: .07;
    background: var(--ps2i-cyan);
  }

  .gsvps2io__glow--violet {
    right: -230px;
    bottom: 5%;
    opacity: .06;
    background: var(--ps2i-violet);
  }

  .gsvps2io__wrap {
    display: block !important;
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
  }

  /* ENCABEZADO */

  .gsvps2io__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
    gap: clamp(38px, 6vw, 80px);
    align-items: end;
    margin-bottom: clamp(38px, 5vw, 58px);
  }

  .gsvps2io__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    color: #75e8f8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.25px;
    text-transform: uppercase;
  }

  .gsvps2io__eyebrow > span {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--ps2i-cyan);
    box-shadow:
      0 0 0 6px rgba(33,217,243,.08),
      0 0 18px rgba(33,217,243,.62);
    animation: gsvps2ioPulse 2.5s ease-in-out infinite;
  }

  .gsvps2io__header h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(39px, 4.6vw, 62px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.052em;
  }

  .gsvps2io__header h2 span {
    display: block;
    margin-top: 6px;
    color: transparent;
    background:
      linear-gradient(90deg, #6bdcff, var(--ps2i-blue), var(--ps2i-violet));
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gsvps2io__header-info > p {
    margin: 0;
    color: var(--ps2i-text);
    font-size: 15px;
    line-height: 1.76;
  }

  .gsvps2io__header-note {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid rgba(255,201,94,.16);
    border-radius: 15px;
    background: rgba(255,201,94,.024);
  }

  .gsvps2io__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2i-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2io__icon--yellow {
    color: var(--ps2i-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2io__header-note small,
  .gsvps2io__header-note strong {
    display: block;
  }

  .gsvps2io__header-note small {
    margin-bottom: 3px;
    color: #a29677;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2io__header-note strong {
    color: #f2e8d2;
    font-size: 12px;
    line-height: 1.5;
  }

  /* PANEL */

  .gsvps2io__panel {
    position: relative;
    overflow: hidden;
    padding: 25px;
    border: 1px solid rgba(101,146,255,.2);
    border-radius: 28px;
    background:
      radial-gradient(circle at 18% 25%, rgba(33,217,243,.065), transparent 35%),
      radial-gradient(circle at 90% 22%, rgba(157,132,255,.05), transparent 28%),
      linear-gradient(145deg, rgba(13,39,82,.78), rgba(3,12,31,.96));
    box-shadow:
      0 30px 70px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter: blur(12px);
  }

  .gsvps2io__panel-grid {
    position: absolute;
    inset: 0;
    opacity: .38;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(64,124,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(64,124,255,.05) 1px, transparent 1px);
    background-size: 30px 30px;
  }

  .gsvps2io__panel > *:not(.gsvps2io__panel-grid) {
    position: relative;
    z-index: 2;
  }

  .gsvps2io__panel-status {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(101,146,255,.12);
  }

  .gsvps2io__panel-status > span,
  .gsvps2io__diagnosis-head > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2io__panel-status i,
  .gsvps2io__diagnosis-head i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ps2i-green);
    box-shadow: 0 0 9px rgba(69,223,160,.55);
  }

  .gsvps2io__panel-status > strong {
    color: #7288a7;
    font-size: 10px;
    letter-spacing: .6px;
  }

  .gsvps2io__layout {
    display: grid !important;
    grid-template-columns: minmax(390px, .86fr) minmax(0, 1.14fr);
    gap: 22px;
    align-items: start;
    margin-top: 22px;
  }

  /* VISUAL */

  .gsvps2io__visual {
    position: sticky;
    top: 24px;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 22px;
    background:
      radial-gradient(circle at 50% 43%, rgba(64,124,255,.085), transparent 44%),
      rgba(0,9,27,.42);
  }

  .gsvps2io__visual-copy > small {
    display: block;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
  }

  .gsvps2io__visual-copy h3 {
    margin: 7px 0 0;
    color: #ffffff;
    font-size: clamp(29px, 3vw, 39px);
    line-height: 1.12;
    letter-spacing: -1.1px;
  }

  .gsvps2io__visual-copy h3 span {
    display: block;
    color: #9daeff;
  }

  .gsvps2io__visual-copy p {
    margin: 13px 0 0;
    color: #93a9bc;
    font-size: 13px;
    line-height: 1.7;
  }

  .gsvps2io__stage {
    position: relative;
    height: 480px;
    margin-top: 8px;
  }

  .gsvps2io__orbit {
    position: absolute;
    top: 49%;
    left: 50%;
    border: 1px solid rgba(101,146,255,.13);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: gsvps2ioOrbit 5s ease-in-out infinite;
  }

  .gsvps2io__orbit--outer {
    width: 365px;
    height: 365px;
  }

  .gsvps2io__orbit--inner {
    width: 255px;
    height: 255px;
    animation-delay: -2.4s;
  }

  .gsvps2io__signal {
    position: absolute;
    z-index: 2;
    top: 49%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(90deg, transparent, var(--ps2i-cyan), var(--ps2i-violet));
    animation: gsvps2ioSignal 3.2s ease-in-out infinite;
  }

  .gsvps2io__signal--left {
    right: 50%;
    left: 2%;
  }

  .gsvps2io__signal--right {
    right: 2%;
    left: 50%;
    animation-delay: -1.6s;
  }

  /* MÓDULO */

  .gsvps2io__module {
    position: absolute;
    z-index: 5;
    top: 44%;
    left: 50%;
    width: 330px;
    max-width: 84%;
    overflow: hidden;
    border: 1px solid rgba(101,146,255,.22);
    border-radius: 18px;
    background:
      linear-gradient(145deg, #17203b, #050916 62%, #02040b);
    box-shadow:
      0 28px 38px rgba(0,0,0,.46),
      0 0 22px rgba(64,124,255,.1),
      inset 0 1px 0 rgba(255,255,255,.055);
    transform: translate(-50%, -50%) perspective(800px) rotateX(8deg);
    animation: gsvps2ioModule 5.2s ease-in-out infinite;
  }

  .gsvps2io__module-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 11px 14px;
    border-bottom: 1px solid rgba(101,146,255,.12);
  }

  .gsvps2io__module-top span {
    color: #8398bf;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
  }

  .gsvps2io__module-top i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ps2i-green);
    box-shadow: 0 0 10px rgba(69,223,160,.55);
  }

  .gsvps2io__module-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 16px;
  }

  .gsvps2io__port-block {
    padding: 11px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 13px;
    background: rgba(255,255,255,.018);
  }

  .gsvps2io__port-block > small {
    display: block;
    margin-bottom: 9px;
    color: #7187a9;
    font-size: 9px;
    font-weight: 800;
  }

  .gsvps2io__controller-port {
    position: relative;
    height: 55px;
    border: 1px solid rgba(107,135,200,.26);
    border-radius: 10px;
    background:
      linear-gradient(180deg, #03050b, #10162a);
    box-shadow: inset 0 8px 13px rgba(0,0,0,.5);
  }

  .gsvps2io__controller-port > span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 57px;
    height: 27px;
    border: 1px solid rgba(95,123,183,.25);
    border-radius: 7px;
    background: #010208;
    transform: translate(-50%, -50%);
  }

  .gsvps2io__controller-port i {
    position: absolute;
    top: 50%;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #667599;
    transform: translateY(-50%);
  }

  .gsvps2io__controller-port i:nth-of-type(1) {
    left: 31%;
  }

  .gsvps2io__controller-port i:nth-of-type(2) {
    left: 43%;
  }

  .gsvps2io__controller-port i:nth-of-type(3) {
    right: 43%;
  }

  .gsvps2io__controller-port i:nth-of-type(4) {
    right: 31%;
  }

  .gsvps2io__memory-slot {
    position: relative;
    height: 41px;
    margin-top: 9px;
    overflow: hidden;
    border: 1px solid rgba(101,146,255,.18);
    border-radius: 8px;
    background: #02040b;
  }

  .gsvps2io__memory-slot span {
    position: absolute;
    top: 6px;
    left: 9px;
    color: #667a9a;
    font-size: 8px;
    font-weight: 800;
  }

  .gsvps2io__memory-slot i {
    position: absolute;
    right: 9px;
    bottom: 9px;
    left: 9px;
    height: 6px;
    border-radius: 2px;
    background:
      repeating-linear-gradient(
        90deg,
        #394867 0 4px,
        #080b13 4px 7px
      );
  }

  .gsvps2io__module-scan {
    position: absolute;
    z-index: 4;
    top: 12%;
    right: 4%;
    left: 4%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(
        90deg,
        transparent,
        var(--ps2i-cyan),
        var(--ps2i-blue),
        var(--ps2i-violet),
        transparent
      );
    box-shadow:
      0 0 8px rgba(33,217,243,.5),
      0 0 14px rgba(157,132,255,.3);
    animation: gsvps2ioScan 4s ease-in-out infinite;
  }

  /* NODOS */

  .gsvps2io__node {
    position: absolute;
    z-index: 10;
    min-width: 116px;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 7px;
    border: 1px solid rgba(101,146,255,.19);
    border-radius: 11px;
    background: rgba(6,18,45,.97);
    box-shadow: 0 16px 30px rgba(0,0,0,.29);
  }

  .gsvps2io__node > span {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: var(--ps2i-cyan);
    background: rgba(33,217,243,.08);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2io__node small,
  .gsvps2io__node strong {
    display: block;
  }

  .gsvps2io__node small {
    color: #8296b6;
    font-size: 8px;
    font-weight: 750;
  }

  .gsvps2io__node strong {
    margin-top: 2px;
    color: #e0e8f8;
    font-size: 9px;
    line-height: 1.35;
  }

  .gsvps2io__node--controller {
    top: 18px;
    left: 0;
  }

  .gsvps2io__node--port {
    top: 64px;
    right: 0;
  }

  .gsvps2io__node--port > span {
    color: var(--ps2i-yellow);
    background: rgba(255,201,94,.08);
  }

  .gsvps2io__node--flex {
    bottom: 36px;
    left: 0;
  }

  .gsvps2io__node--flex > span {
    color: var(--ps2i-green);
    background: rgba(69,223,160,.08);
  }

  .gsvps2io__node--memory {
    right: 0;
    bottom: 180px;
  }

  .gsvps2io__node--memory > span {
    color: var(--ps2i-violet);
    background: rgba(157,132,255,.08);
  }

  .gsvps2io__node--board {
    right: 50%;
    bottom: 0;
    transform: translateX(50%);
  }

  .gsvps2io__node--board > span {
    color: var(--ps2i-red);
    background: rgba(255,101,120,.08);
  }

  .gsvps2io__monitor {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  .gsvps2io__monitor article {
    padding: 10px 5px;
    border: 1px solid rgba(101,146,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.018);
    text-align: center;
  }

  .gsvps2io__monitor small,
  .gsvps2io__monitor strong {
    display: block;
  }

  .gsvps2io__monitor small {
    color: #758aa8;
    font-size: 9px;
  }

  .gsvps2io__monitor strong {
    margin-top: 3px;
    color: #d5def1;
    font-size: 10px;
  }

  .gsvps2io__visual-note {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-top: 9px;
    padding: 12px;
    border: 1px solid rgba(255,201,94,.12);
    border-radius: 13px;
    background: rgba(255,201,94,.022);
  }

  .gsvps2io__visual-note > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2i-yellow);
    background: rgba(255,201,94,.065);
  }

  .gsvps2io__visual-note p {
    margin: 0;
    color: #aaa087;
    font-size: 11px;
    line-height: 1.6;
  }

  /* DIAGNÓSTICO */

  .gsvps2io__diagnosis-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.019);
  }

  .gsvps2io__diagnosis-head small {
    display: block;
    color: #6e849f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2io__diagnosis-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.35;
  }

  .gsvps2io__steps {
    display: grid;
    gap: 9px;
  }

  .gsvps2io__step {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 15px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 38%),
      rgba(255,255,255,.019);
  }

  .gsvps2io__step-number {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2i-cyan);
    background: rgba(33,217,243,.07);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2io__step-number--yellow {
    color: var(--ps2i-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2io__step-number--green {
    color: var(--ps2i-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2io__step-number--violet {
    color: var(--ps2i-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2io__step-number--blue {
    color: #8eacff;
    background: rgba(64,124,255,.08);
  }

  .gsvps2io__step-number--red {
    color: var(--ps2i-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2io__step-copy {
    display: block !important;
    width: 100%;
  }

  .gsvps2io__step-copy small,
  .gsvps2io__step-copy strong {
    display: block;
  }

  .gsvps2io__step-copy small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2io__step-copy strong {
    margin-top: 4px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.48;
  }

  .gsvps2io__step-copy p {
    margin: 7px 0 0;
    color: #8fa4b5;
    font-size: 12px;
    line-height: 1.62;
  }

  /* SECCIONES */

  .gsvps2io__section {
    margin-top: clamp(58px, 6vw, 82px);
  }

  .gsvps2io__section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .68fr);
    gap: 35px;
    align-items: end;
    margin-bottom: 24px;
  }

  .gsvps2io__section-head small {
    display: block;
    margin-bottom: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2io__section-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(29px, 3.5vw, 44px);
    line-height: 1.1;
    letter-spacing: -1.3px;
  }

  .gsvps2io__section-head > p {
    margin: 0;
    color: #91a6b8;
    font-size: 13px;
    line-height: 1.7;
  }

  /* SÍNTOMAS */

  .gsvps2io__symptoms {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2io__symptoms article {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    padding: 17px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 17px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.02);
  }

  .gsvps2io__symptoms article > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2i-cyan);
    background: rgba(33,217,243,.075);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2io__symptoms article > .gsvps2io__symptom-number--yellow {
    color: var(--ps2i-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2io__symptoms article > .gsvps2io__symptom-number--violet {
    color: var(--ps2i-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2io__symptoms article > .gsvps2io__symptom-number--green {
    color: var(--ps2i-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2io__symptoms article > .gsvps2io__symptom-number--blue {
    color: #8eacff;
    background: rgba(64,124,255,.08);
  }

  .gsvps2io__symptoms article > .gsvps2io__symptom-number--red {
    color: var(--ps2i-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2io__symptoms small,
  .gsvps2io__symptoms strong {
    display: block;
  }

  .gsvps2io__symptoms small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2io__symptoms strong {
    margin-top: 5px;
    color: #dce7f2;
    font-size: 12px;
    line-height: 1.5;
  }

  /* ORIGEN Y CRITERIOS */

  .gsvps2io__origin-grid,
  .gsvps2io__criteria {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2io__origin-grid article,
  .gsvps2io__criteria article {
    padding: 18px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 18px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.021);
  }

  .gsvps2io__origin-icon,
  .gsvps2io__criteria-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2i-blue);
    background: rgba(64,124,255,.07);
  }

  .gsvps2io__origin-icon--yellow,
  .gsvps2io__criteria-icon--yellow {
    color: var(--ps2i-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2io__origin-icon--violet,
  .gsvps2io__criteria-icon--violet {
    color: var(--ps2i-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2io__origin-icon--green,
  .gsvps2io__criteria-icon--green {
    color: var(--ps2i-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2io__origin-grid small,
  .gsvps2io__origin-grid strong,
  .gsvps2io__criteria small,
  .gsvps2io__criteria strong {
    display: block;
  }

  .gsvps2io__origin-grid small,
  .gsvps2io__criteria small {
    margin-top: 13px;
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2io__origin-grid strong,
  .gsvps2io__criteria strong {
    margin-top: 6px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2io__origin-grid p,
  .gsvps2io__criteria p {
    margin: 9px 0 0;
    color: #8b9fb1;
    font-size: 11px;
    line-height: 1.65;
  }

  /* MATRIZ */

  .gsvps2io__matrix {
    overflow: hidden;
    border: 1px solid rgba(101,146,255,.13);
    border-radius: 19px;
    background: rgba(1,9,25,.4);
  }

  .gsvps2io__matrix-head,
  .gsvps2io__matrix-row {
    display: grid !important;
    grid-template-columns:
      minmax(180px, .8fr)
      minmax(100px, .42fr)
      minmax(100px, .42fr)
      minmax(250px, 1.1fr);
    gap: 10px;
    align-items: center;
  }

  .gsvps2io__matrix-head {
    padding: 13px 16px;
    border-bottom: 1px solid rgba(101,146,255,.12);
    background: rgba(64,124,255,.04);
  }

  .gsvps2io__matrix-head span {
    color: #7e94ae;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2io__matrix-row {
    padding: 15px 16px;
    border-bottom: 1px solid rgba(101,146,255,.07);
  }

  .gsvps2io__matrix-row:last-child {
    border-bottom: 0;
  }

  .gsvps2io__matrix-row > strong {
    color: #dce8f1;
    font-size: 12px;
    line-height: 1.45;
  }

  .gsvps2io__matrix-row > p {
    margin: 0;
    color: #899eaf;
    font-size: 11px;
    line-height: 1.55;
  }

  .gsvps2io__matrix-status {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    justify-content: center;
    min-height: 29px;
    padding: 7px 9px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 850;
  }


  .gsvps2io__matrix-status::before {
    content: none;
  }

  .gsvps2io__matrix-status--ok {
    border: 1px solid rgba(69,223,160,.16);
    color: var(--ps2i-green);
    background: rgba(69,223,160,.06);
  }

  .gsvps2io__matrix-status--fail {
    border: 1px solid rgba(255,101,120,.16);
    color: var(--ps2i-red);
    background: rgba(255,101,120,.06);
  }

  .gsvps2io__matrix-status--warn {
    border: 1px solid rgba(255,201,94,.16);
    color: var(--ps2i-yellow);
    background: rgba(255,201,94,.06);
  }

  /* VERIFICACIÓN */

  .gsvps2io__verification {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(69,223,160,.13);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0 50%, rgba(69,223,160,.045), transparent 30%),
      rgba(1,9,25,.4);
  }

  .gsvps2io__verification-head {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .gsvps2io__verification-head > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2i-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2io__verification-head small {
    display: block;
    color: #72a38f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2io__verification-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 19px;
    line-height: 1.35;
  }

  .gsvps2io__verification-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
    margin-top: 16px;
  }

  .gsvps2io__verification-grid article {
    display: grid !important;
    grid-template-columns: 39px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(69,223,160,.08);
    border-radius: 13px;
    background: rgba(255,255,255,.016);
  }

  .gsvps2io__verification-grid article > span {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--ps2i-green);
    background: rgba(69,223,160,.07);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2io__verification-grid small,
  .gsvps2io__verification-grid strong {
    display: block;
  }

  .gsvps2io__verification-grid small {
    color: #7fb29d;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2io__verification-grid strong {
    margin-top: 3px;
    color: #d5e8df;
    font-size: 10px;
    line-height: 1.45;
  }

  /* ADVERTENCIA */

  .gsvps2io__warning {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(255,101,120,.15);
    border-radius: 18px;
    background:
      radial-gradient(circle at 0 50%, rgba(255,101,120,.05), transparent 28%),
      rgba(1,9,25,.4);
  }

  .gsvps2io__warning > span {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--ps2i-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2io__warning small,
  .gsvps2io__warning strong {
    display: block;
  }

  .gsvps2io__warning small {
    color: #a87884;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2io__warning strong {
    margin-top: 4px;
    color: #f0dde2;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2io__warning p {
    margin: 6px 0 0;
    color: #a59097;
    font-size: 11px;
    line-height: 1.62;
  }

  /* POLÍTICA */

  .gsvps2io__policy {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(33,217,243,.13);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0 50%, rgba(33,217,243,.045), transparent 30%),
      rgba(1,9,25,.4);
  }

  .gsvps2io__policy-head {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .gsvps2io__policy-head > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2i-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2io__policy-head small {
    display: block;
    color: #6f91a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2io__policy-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 19px;
    line-height: 1.35;
  }

  .gsvps2io__policy-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  .gsvps2io__policy-grid article {
    display: grid !important;
    grid-template-columns: 41px minmax(0, 1fr);
    gap: 11px;
    padding: 15px;
    border: 1px solid rgba(101,146,255,.09);
    border-radius: 15px;
    background: rgba(255,255,255,.018);
  }

  .gsvps2io__policy-grid article > span {
    width: 41px;
    height: 41px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--ps2i-cyan);
    background: rgba(33,217,243,.065);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2io__policy-grid small,
  .gsvps2io__policy-grid strong {
    display: block;
  }

  .gsvps2io__policy-grid small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2io__policy-grid strong {
    margin-top: 4px;
    color: #e2edf4;
    font-size: 12px;
    line-height: 1.45;
  }

  .gsvps2io__policy-grid p {
    margin: 6px 0 0;
    color: #899eaf;
    font-size: 11px;
    line-height: 1.6;
  }

  /* CTA */

  .gsvps2io__cta {
    display: flex !important;
    justify-content: space-between;
    gap: 25px;
    align-items: center;
    margin-top: 18px;
    padding: 19px;
    border: 1px solid rgba(101,146,255,.14);
    border-radius: 19px;
    background: rgba(1,9,25,.4);
  }

  .gsvps2io__cta-copy {
    display: grid !important;
    grid-template-columns: 49px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
  }

  .gsvps2io__cta-copy .gsvps2io__icon {
    width: 49px;
    height: 49px;
    color: var(--ps2i-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2io__cta-copy small,
  .gsvps2io__cta-copy strong {
    display: block;
  }

  .gsvps2io__cta-copy small {
    color: #718ca6;
    font-size: 10px;
  }

  .gsvps2io__cta-copy strong {
    margin-top: 3px;
    color: #dcecff;
    font-size: 12px;
  }

  .gsvps2io__cta-copy p {
    margin: 5px 0 0;
    color: #8097ab;
    font-size: 11px;
    line-height: 1.55;
  }

  .gsvps2io__actions {
    display: flex;
    gap: 9px;
  }

  .gsvps2io__button {
    min-height: 47px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    padding: 12px 15px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 800;
    transition:
      transform 220ms ease,
      box-shadow 220ms ease;
  }

  .gsvps2io__button:hover {
    transform: translateY(-3px);
  }

  .gsvps2io__button:focus-visible {
    outline: 2px solid var(--ps2i-cyan);
    outline-offset: 3px;
  }

  .gsvps2io__button--secondary {
    border: 1px solid rgba(101,146,255,.18);
    color: #e5efff !important;
    background: rgba(64,124,255,.045);
  }

  .gsvps2io__button--whatsapp {
    border: 1px solid rgba(69,223,160,.26);
    color: #ffffff !important;
    background: linear-gradient(110deg, #089d65, #13c982);
    box-shadow: 0 16px 32px rgba(16,191,124,.18);
  }

  .gsvps2io__disclaimer {
    margin: 17px auto 0 !important;
    color: #647996;
    font-size: 10px;
    line-height: 1.7;
    text-align: center;
  }

  /* ANIMACIONES */

  @keyframes gsvps2ioPulse {
    0%,
    100% {
      opacity: .5;
      transform: scale(.88);
    }

    50% {
      opacity: 1;
      transform: scale(1.12);
    }
  }

  @keyframes gsvps2ioOrbit {
    0%,
    100% {
      opacity: .22;
      transform: translate(-50%, -50%) scale(.96);
    }

    50% {
      opacity: .62;
      transform: translate(-50%, -50%) scale(1.04);
    }
  }

  @keyframes gsvps2ioSignal {
    0%,
    100% {
      opacity: .2;
      transform: scaleX(.65);
    }

    50% {
      opacity: .9;
      transform: scaleX(1);
    }
  }

  @keyframes gsvps2ioModule {
    0%,
    100% {
      transform:
        translate(-50%, -50%)
        perspective(800px)
        rotateX(8deg)
        translateY(0);
    }

    50% {
      transform:
        translate(-50%, -50%)
        perspective(800px)
        rotateX(6deg)
        translateY(-6px);
    }
  }

  @keyframes gsvps2ioScan {
    0%,
    100% {
      top: 12%;
      opacity: .2;
    }

    50% {
      top: 88%;
      opacity: .9;
    }
  }

  /* TABLETA */

  @media (max-width: 1080px) {

    .gsvps2io__layout {
      grid-template-columns: 1fr;
    }

    .gsvps2io__visual {
      position: relative;
      top: auto;
      width: min(760px, 100%);
      margin: 0 auto;
    }

    .gsvps2io__origin-grid,
    .gsvps2io__criteria {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gsvps2io__verification-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

  }

  @media (max-width: 900px) {

    .gsvps2io__header,
    .gsvps2io__section-head {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .gsvps2io__matrix-head {
      display: none !important;
    }

    .gsvps2io__matrix-row {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      padding: 17px;
    }

    .gsvps2io__matrix-row > strong,
    .gsvps2io__matrix-row > p {
      grid-column: 1 / -1;
    }

    .gsvps2io__matrix-status {
      width: 100%;
      justify-content: flex-start;
      gap: 8px;
      border-radius: 11px;
    }

    .gsvps2io__matrix-status::before {
      content: attr(data-port);
      margin-right: auto;
      color: #7e94ae;
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .04em;
    }

    .gsvps2io__policy-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2io__cta {
      flex-direction: column;
      align-items: stretch;
    }

    .gsvps2io__actions {
      width: 100%;
    }

    .gsvps2io__button {
      flex: 1 1 0;
    }

  }

  @container (max-width: 900px) {

    .gsvps2io__header,
    .gsvps2io__layout,
    .gsvps2io__section-head {
      grid-template-columns: 1fr;
    }

  }

  /* MÓVIL */

  @media (max-width: 700px) {

    .gsvps2io {
      padding: 66px 17px 72px !important;
    }

    .gsvps2io__panel {
      padding: 19px 17px;
      border-radius: 23px;
      backdrop-filter: none;
    }

    .gsvps2io__visual {
      padding: 18px 16px;
      backdrop-filter: none;
    }

    .gsvps2io__symptoms,
    .gsvps2io__origin-grid,
    .gsvps2io__criteria,
    .gsvps2io__verification-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2io__actions {
      flex-direction: column;
    }

    .gsvps2io__glow {
      display: none;
    }

    .gsvps2io__eyebrow > span,
    .gsvps2io__orbit,
    .gsvps2io__signal,
    .gsvps2io__module,
    .gsvps2io__module-scan

    .gsvps2io__module {
      transform:
        translate(-50%, -50%)
        perspective(800px)
        rotateX(7deg);
    }

    .gsvps2io__button {
      transition: none;
    }

    .gsvps2io__button:hover {
      transform: none;
    }

  }

  @media (max-width: 560px) {

    .gsvps2io__header h2 {
      font-size: clamp(36px, 11vw, 49px);
    }

    .gsvps2io__header-note,
    .gsvps2io__visual-note,
    .gsvps2io__verification-head,
    .gsvps2io__warning,
    .gsvps2io__policy-head,
    .gsvps2io__cta-copy {
      grid-template-columns: 1fr;
    }

    .gsvps2io__panel-status > strong,
    .gsvps2io__diagnosis-head > span {
      display: none;
    }

    .gsvps2io__diagnosis-head {
      display: block;
    }

    .gsvps2io__stage {
      height: 400px;
    }

    .gsvps2io__module {
      width: 305px;
      max-width: 92%;
    }


  }

  @media (max-width: 390px) {

    .gsvps2io {
      padding-right: 14px !important;
      padding-left: 14px !important;
    }

    .gsvps2io__panel,
    .gsvps2io__visual,
    .gsvps2io__verification,
    .gsvps2io__warning,
    .gsvps2io__policy {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsvps2io__stage {
      height: 370px;
    }

    .gsvps2io__module {
      width: 275px;
      max-width: 94%;
    }

    .gsvps2io__module-body {
      gap: 7px;
      padding: 10px;
    }

    .gsvps2io__port-block {
      padding: 8px;
    }


    .gsvps2io__node {
      min-width: 82px;
      grid-template-columns: 26px minmax(0, 1fr);
      gap: 5px;
      padding: 5px;
    }

    .gsvps2io__node > span {
      width: 26px;
      height: 26px;
    }

    .gsvps2io__node small {
      font-size: 7px;
    }

    .gsvps2io__node strong {
      font-size: 8px;
    }

    .gsvps2io__step {
      grid-template-columns: 39px minmax(0, 1fr);
      gap: 10px;
      padding: 13px;
    }

    .gsvps2io__step-number {
      width: 39px;
      height: 39px;
    }

    .gsvps2io__symptoms article {
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 11px;
      padding: 14px;
    }

    .gsvps2io__symptoms article > span {
      width: 42px;
      height: 42px;
    }

    .gsvps2io__matrix-row {
      grid-template-columns: 1fr;
    }

    .gsvps2io__matrix-row > strong,
    .gsvps2io__matrix-row > p {
      grid-column: auto;
    }

    .gsvps2io__verification-grid article,
    .gsvps2io__policy-grid article {
      grid-template-columns: 35px minmax(0, 1fr);
    }

    .gsvps2io__verification-grid article > span,
    .gsvps2io__policy-grid article > span {
      width: 35px;
      height: 35px;
    }

  }

  @media (prefers-reduced-motion: reduce) {

    .gsvps2io__eyebrow > span,
    .gsvps2io__orbit,
    .gsvps2io__signal,
    .gsvps2io__module,
    .gsvps2io__module-scan

    .gsvps2io__button {
      transition: none !important;
    }

  }

/* =========================================================
   PLAYSTATION 2 · DIAGNOSTICO
   ========================================================= */
.gsvps2diag {
    --ps2d-cyan: #21d9f3;
    --ps2d-blue: #407cff;
    --ps2d-violet: #9d84ff;
    --ps2d-green: #45dfa0;
    --ps2d-yellow: #ffc95e;
    --ps2d-red: #ff6578;
    --ps2d-text: #a9bfd1;

    position: relative !important;
    isolation: isolate;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(76px, 8vw, 116px) 24px !important;
    overflow: hidden !important;
    clear: both !important;
    color: #ffffff;
    background:
      radial-gradient(circle at 8% 9%, rgba(33,217,243,.09), transparent 30%),
      radial-gradient(circle at 93% 15%, rgba(157,132,255,.08), transparent 31%),
      radial-gradient(circle at 82% 94%, rgba(64,124,255,.07), transparent 34%),
      linear-gradient(118deg, #020713, #07152d 52%, #101d4c);
    font-family: "Poppins", system-ui, sans-serif;
    container-type: inline-size;
  }

  .gsvps2diag *,
  .gsvps2diag *::before,
  .gsvps2diag *::after {
    box-sizing: border-box !important;
    min-width: 0;
  }

  .gsvps2diag h2,
  .gsvps2diag h3,
  .gsvps2diag h4,
  .gsvps2diag p,
  .gsvps2diag small,
  .gsvps2diag strong,
  .gsvps2diag li {
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none;
  }

  .gsvps2diag a {
    text-decoration: none !important;
  }

  .gsvps2diag svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsvps2diag__grid-bg {
    position: absolute;
    z-index: -4;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(63,139,209,.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(63,139,209,.07) 1px, transparent 1px),
      radial-gradient(circle, rgba(157,132,255,.16) 1px, transparent 1.5px);
    background-size: 72px 72px, 72px 72px, 36px 36px;
  }

  .gsvps2diag__glow {
    position: absolute;
    z-index: -3;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    filter: blur(140px);
    pointer-events: none;
  }

  .gsvps2diag__glow--cyan {
    top: 3%;
    left: -230px;
    opacity: .07;
    background: var(--ps2d-cyan);
  }

  .gsvps2diag__glow--violet {
    right: -230px;
    bottom: 5%;
    opacity: .06;
    background: var(--ps2d-violet);
  }

  .gsvps2diag__wrap {
    display: block !important;
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
  }

  /* ENCABEZADO */

  .gsvps2diag__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
    gap: clamp(38px, 6vw, 80px);
    align-items: end;
    margin-bottom: clamp(38px, 5vw, 58px);
  }

  .gsvps2diag__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    color: #75e8f8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.25px;
    text-transform: uppercase;
  }

  .gsvps2diag__eyebrow > span {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--ps2d-cyan);
    box-shadow:
      0 0 0 6px rgba(33,217,243,.08),
      0 0 18px rgba(33,217,243,.62);
    animation: gsvps2diagPulse 2.5s ease-in-out infinite;
  }

  .gsvps2diag__header h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(39px, 4.6vw, 62px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.052em;
  }

  .gsvps2diag__header h2 span {
    display: block;
    margin-top: 6px;
    color: transparent;
    background:
      linear-gradient(90deg, #6bdcff, var(--ps2d-blue), var(--ps2d-violet));
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gsvps2diag__header-info > p {
    margin: 0;
    color: var(--ps2d-text);
    font-size: 15px;
    line-height: 1.76;
  }

  .gsvps2diag__header-note {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid rgba(255,201,94,.16);
    border-radius: 15px;
    background: rgba(255,201,94,.024);
  }

  .gsvps2diag__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2d-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2diag__icon--yellow {
    color: var(--ps2d-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2diag__header-note small,
  .gsvps2diag__header-note strong {
    display: block;
  }

  .gsvps2diag__header-note small {
    margin-bottom: 3px;
    color: #a29677;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2diag__header-note strong {
    color: #f2e8d2;
    font-size: 12px;
    line-height: 1.5;
  }

  /* PANEL */

  .gsvps2diag__panel {
    position: relative;
    overflow: hidden;
    padding: 25px;
    border: 1px solid rgba(101,146,255,.2);
    border-radius: 28px;
    background:
      radial-gradient(circle at 18% 25%, rgba(33,217,243,.065), transparent 35%),
      radial-gradient(circle at 90% 22%, rgba(157,132,255,.05), transparent 28%),
      linear-gradient(145deg, rgba(13,39,82,.78), rgba(3,12,31,.96));
    box-shadow:
      0 30px 70px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter: blur(12px);
  }

  .gsvps2diag__panel-grid {
    position: absolute;
    inset: 0;
    opacity: .38;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(64,124,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(64,124,255,.05) 1px, transparent 1px);
    background-size: 30px 30px;
  }

  .gsvps2diag__panel > *:not(.gsvps2diag__panel-grid) {
    position: relative;
    z-index: 2;
  }

  .gsvps2diag__panel-status {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(101,146,255,.12);
  }

  .gsvps2diag__panel-status > span,
  .gsvps2diag__diagnosis-head > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2diag__panel-status i,
  .gsvps2diag__diagnosis-head i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ps2d-green);
    box-shadow: 0 0 9px rgba(69,223,160,.55);
  }

  .gsvps2diag__panel-status > strong {
    color: #7288a7;
    font-size: 10px;
    letter-spacing: .6px;
  }

  .gsvps2diag__layout {
    display: grid !important;
    grid-template-columns: minmax(390px, .86fr) minmax(0, 1.14fr);
    gap: 22px;
    align-items: start;
    margin-top: 22px;
  }

  /* VISUAL */

  .gsvps2diag__visual {
    position: sticky;
    top: 24px;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 22px;
    background:
      radial-gradient(circle at 50% 43%, rgba(64,124,255,.085), transparent 44%),
      rgba(0,9,27,.42);
  }

  .gsvps2diag__visual-copy > small {
    display: block;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
  }

  .gsvps2diag__visual-copy h3 {
    margin: 7px 0 0;
    color: #ffffff;
    font-size: clamp(29px, 3vw, 39px);
    line-height: 1.12;
    letter-spacing: -1.1px;
  }

  .gsvps2diag__visual-copy h3 span {
    display: block;
    color: #9daeff;
  }

  .gsvps2diag__visual-copy p {
    margin: 13px 0 0;
    color: #93a9bc;
    font-size: 13px;
    line-height: 1.7;
  }

  .gsvps2diag__stage {
    position: relative;
    height: 490px;
    margin-top: 8px;
  }

  .gsvps2diag__orbit {
    position: absolute;
    top: 48%;
    left: 50%;
    border: 1px solid rgba(101,146,255,.13);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: gsvps2diagOrbit 5s ease-in-out infinite;
  }

  .gsvps2diag__orbit--outer {
    width: 370px;
    height: 370px;
  }

  .gsvps2diag__orbit--inner {
    width: 260px;
    height: 260px;
    animation-delay: -2.4s;
  }

  .gsvps2diag__signal {
    position: absolute;
    z-index: 2;
    top: 48%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(90deg, transparent, var(--ps2d-cyan), var(--ps2d-violet));
    animation: gsvps2diagSignal 3.2s ease-in-out infinite;
  }

  .gsvps2diag__signal--left {
    right: 50%;
    left: 2%;
  }

  .gsvps2diag__signal--right {
    right: 2%;
    left: 50%;
    animation-delay: -1.6s;
  }

  /* BOARD */

  .gsvps2diag__board {
    position: absolute;
    z-index: 5;
    top: 46%;
    left: 50%;
    width: 330px;
    max-width: 86%;
    overflow: hidden;
    border: 1px solid rgba(101,146,255,.23);
    border-radius: 18px;
    background:
      linear-gradient(145deg, #112542, #071321 58%, #020711);
    box-shadow:
      0 30px 42px rgba(0,0,0,.46),
      0 0 24px rgba(33,217,243,.09),
      inset 0 1px 0 rgba(255,255,255,.055);
    transform:
      translate(-50%, -50%)
      perspective(850px)
      rotateX(9deg)
      rotateZ(-2deg);
    animation: gsvps2diagBoard 5.2s ease-in-out infinite;
  }

  .gsvps2diag__board-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    padding: 11px 14px;
    border-bottom: 1px solid rgba(101,146,255,.12);
  }

  .gsvps2diag__board-head span {
    color: #7892b4;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
  }

  .gsvps2diag__board-head i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ps2d-green);
    box-shadow: 0 0 10px rgba(69,223,160,.55);
  }

  .gsvps2diag__board-body {
    position: relative;
    height: 230px;
    background-image:
      linear-gradient(rgba(33,217,243,.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(33,217,243,.035) 1px, transparent 1px);
    background-size: 18px 18px;
  }

  .gsvps2diag__trace {
    position: absolute;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(90deg, rgba(33,217,243,.1), rgba(33,217,243,.55), transparent);
  }

  .gsvps2diag__trace--one {
    top: 45px;
    left: 28px;
    width: 122px;
    transform: rotate(18deg);
  }

  .gsvps2diag__trace--two {
    top: 84px;
    right: 24px;
    width: 130px;
    transform: rotate(-12deg);
  }

  .gsvps2diag__trace--three {
    top: 137px;
    left: 29px;
    width: 150px;
    transform: rotate(-5deg);
  }

  .gsvps2diag__trace--four {
    right: 38px;
    bottom: 45px;
    width: 120px;
    transform: rotate(18deg);
  }

  .gsvps2diag__trace--five {
    top: 30px;
    left: 50%;
    width: 2px;
    height: 165px;
    background:
      linear-gradient(rgba(157,132,255,.6), transparent);
  }

  .gsvps2diag__chip {
    position: absolute;
    display: grid;
    place-items: center;
    border: 1px solid rgba(101,146,255,.2);
    border-radius: 8px;
    background:
      linear-gradient(145deg, #17243d, #050812);
    box-shadow:
      0 9px 16px rgba(0,0,0,.35),
      inset 0 1px 0 rgba(255,255,255,.04);
    text-align: center;
  }

  .gsvps2diag__chip small,
  .gsvps2diag__chip strong {
    display: block;
  }

  .gsvps2diag__chip small {
    color: #7890ae;
    font-size: 8px;
    font-weight: 750;
  }

  .gsvps2diag__chip strong {
    margin-top: 2px;
    color: #b9c6ff;
    font-size: 9px;
  }

  .gsvps2diag__chip--main {
    top: 69px;
    left: 50%;
    width: 86px;
    height: 70px;
    transform: translateX(-50%);
  }

  .gsvps2diag__chip--power {
    top: 31px;
    left: 30px;
    width: 62px;
    height: 47px;
  }

  .gsvps2diag__chip--av {
    top: 33px;
    right: 28px;
    width: 58px;
    height: 44px;
  }

  .gsvps2diag__chip--io {
    right: 38px;
    bottom: 30px;
    width: 68px;
    height: 48px;
  }

  .gsvps2diag__connector {
    position: absolute;
    border: 1px solid rgba(101,146,255,.18);
    border-radius: 4px;
    background:
      repeating-linear-gradient(
        90deg,
        #344666 0 4px,
        #07101d 4px 7px
      );
  }

  .gsvps2diag__connector--top {
    top: 13px;
    left: 50%;
    width: 95px;
    height: 13px;
    transform: translateX(-50%);
  }

  .gsvps2diag__connector--side {
    top: 96px;
    right: 10px;
    width: 14px;
    height: 75px;
    background:
      repeating-linear-gradient(
        180deg,
        #344666 0 4px,
        #07101d 4px 7px
      );
  }

  .gsvps2diag__connector--bottom {
    bottom: 12px;
    left: 26px;
    width: 105px;
    height: 13px;
  }

  .gsvps2diag__test-point {
    position: absolute;
    width: 9px;
    height: 9px;
    border: 2px solid rgba(33,217,243,.32);
    border-radius: 50%;
    background: #020711;
    box-shadow: 0 0 8px rgba(33,217,243,.18);
  }

  .gsvps2diag__test-point--one {
    top: 46px;
    left: 119px;
  }

  .gsvps2diag__test-point--two {
    top: 48px;
    right: 109px;
  }

  .gsvps2diag__test-point--three {
    bottom: 50px;
    left: 80px;
  }

  .gsvps2diag__test-point--four {
    right: 120px;
    bottom: 50px;
  }

  .gsvps2diag__board-scan {
    position: absolute;
    z-index: 4;
    top: 12%;
    right: 4%;
    left: 4%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(
        90deg,
        transparent,
        var(--ps2d-cyan),
        var(--ps2d-blue),
        var(--ps2d-violet),
        transparent
      );
    box-shadow:
      0 0 8px rgba(33,217,243,.5),
      0 0 14px rgba(157,132,255,.3);
    animation: gsvps2diagScan 4s ease-in-out infinite;
  }

  /* METER */

  .gsvps2diag__meter {
    position: absolute;
    z-index: 8;
    right: 8px;
    bottom: 48px;
    width: 154px;
    padding: 12px;
    border: 1px solid rgba(255,201,94,.16);
    border-radius: 14px;
    background: rgba(4,12,27,.95);
    box-shadow: 0 18px 32px rgba(0,0,0,.38);
    transform: rotate(4deg);
  }

  .gsvps2diag__meter-display {
    padding: 9px;
    border: 1px solid rgba(69,223,160,.12);
    border-radius: 9px;
    background: rgba(69,223,160,.035);
    text-align: center;
  }

  .gsvps2diag__meter-display small,
  .gsvps2diag__meter-display strong,
  .gsvps2diag__meter-display span {
    display: block;
  }

  .gsvps2diag__meter-display small {
    color: #7ea296;
    font-size: 9px;
    font-weight: 750;
  }

  .gsvps2diag__meter-display strong {
    margin-top: 3px;
    color: var(--ps2d-green);
    font-size: 11px;
  }

  .gsvps2diag__meter-display span {
    margin-top: 5px;
    color: #b7d7ca;
    font-size: 13px;
    letter-spacing: .12em;
  }

  .gsvps2diag__meter-status {
    display: flex;
    gap: 7px;
    align-items: center;
    margin-top: 8px;
  }

  .gsvps2diag__meter-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ps2d-yellow);
    box-shadow: 0 0 8px rgba(255,201,94,.4);
  }

  .gsvps2diag__meter-status small {
    color: #a39a82;
    font-size: 9px;
    line-height: 1.35;
  }

  /* NODOS */

  .gsvps2diag__node {
    position: absolute;
    z-index: 10;
    min-width: 120px;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 7px;
    border: 1px solid rgba(101,146,255,.19);
    border-radius: 11px;
    background: rgba(6,18,45,.97);
    box-shadow: 0 16px 30px rgba(0,0,0,.29);
  }

  .gsvps2diag__node > span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: var(--ps2d-cyan);
    background: rgba(33,217,243,.08);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2diag__node small,
  .gsvps2diag__node strong {
    display: block;
  }

  .gsvps2diag__node small {
    color: #8296b5;
    font-size: 9px;
    font-weight: 750;
  }

  .gsvps2diag__node strong {
    margin-top: 2px;
    color: #e6edf9;
    font-size: 10px;
    line-height: 1.35;
  }

  .gsvps2diag__node--input {
    top: 18px;
    left: 0;
  }

  .gsvps2diag__node--rails {
    top: 66px;
    right: 0;
  }

  .gsvps2diag__node--rails > span {
    color: var(--ps2d-yellow);
    background: rgba(255,201,94,.08);
  }

  .gsvps2diag__node--signal {
    bottom: 38px;
    left: 0;
  }

  .gsvps2diag__node--signal > span {
    color: var(--ps2d-green);
    background: rgba(69,223,160,.08);
  }

  .gsvps2diag__node--component {
    right: 0;
    bottom: 184px;
  }

  .gsvps2diag__node--component > span {
    color: var(--ps2d-violet);
    background: rgba(157,132,255,.08);
  }

  .gsvps2diag__node--result {
    right: 50%;
    bottom: 0;
    transform: translateX(50%);
  }

  .gsvps2diag__node--result > span {
    color: var(--ps2d-red);
    background: rgba(255,101,120,.08);
  }

  .gsvps2diag__monitor {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  .gsvps2diag__monitor article {
    padding: 10px 5px;
    border: 1px solid rgba(101,146,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.018);
    text-align: center;
  }

  .gsvps2diag__monitor small,
  .gsvps2diag__monitor strong {
    display: block;
  }

  .gsvps2diag__monitor small {
    color: #788dab;
    font-size: 9px;
  }

  .gsvps2diag__monitor strong {
    margin-top: 3px;
    color: #d8e1f3;
    font-size: 10px;
  }

  .gsvps2diag__visual-note {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-top: 9px;
    padding: 12px;
    border: 1px solid rgba(255,201,94,.12);
    border-radius: 13px;
    background: rgba(255,201,94,.022);
  }

  .gsvps2diag__visual-note > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2d-yellow);
    background: rgba(255,201,94,.065);
  }

  .gsvps2diag__visual-note p {
    margin: 0;
    color: #aaa087;
    font-size: 11px;
    line-height: 1.6;
  }

  /* DIAGNÓSTICO */

  .gsvps2diag__diagnosis-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.019);
  }

  .gsvps2diag__diagnosis-head small {
    display: block;
    color: #6e849f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2diag__diagnosis-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.35;
  }

  .gsvps2diag__steps {
    display: grid;
    gap: 9px;
  }

  .gsvps2diag__step {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 15px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 38%),
      rgba(255,255,255,.019);
  }

  .gsvps2diag__step-number {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2d-cyan);
    background: rgba(33,217,243,.07);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2diag__step-number--yellow {
    color: var(--ps2d-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2diag__step-number--green {
    color: var(--ps2d-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2diag__step-number--violet {
    color: var(--ps2d-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2diag__step-number--blue {
    color: #8eacff;
    background: rgba(64,124,255,.08);
  }

  .gsvps2diag__step-number--red {
    color: var(--ps2d-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2diag__step-number--cyan {
    color: var(--ps2d-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2diag__step-copy small,
  .gsvps2diag__step-copy strong {
    display: block;
  }

  .gsvps2diag__step-copy small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2diag__step-copy strong {
    margin-top: 4px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.48;
  }

  .gsvps2diag__step-copy p {
    margin: 7px 0 0;
    color: #8fa4b5;
    font-size: 12px;
    line-height: 1.62;
  }

  /* SECCIONES */

  .gsvps2diag__section {
    margin-top: clamp(58px, 6vw, 82px);
  }

  .gsvps2diag__section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .68fr);
    gap: 35px;
    align-items: end;
    margin-bottom: 24px;
  }

  .gsvps2diag__section-head small {
    display: block;
    margin-bottom: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2diag__section-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(29px, 3.5vw, 44px);
    line-height: 1.1;
    letter-spacing: -1.3px;
  }

  .gsvps2diag__section-head > p {
    margin: 0;
    color: #91a6b8;
    font-size: 13px;
    line-height: 1.7;
  }

  /* ÁREAS */

  .gsvps2diag__areas {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2diag__areas article {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    padding: 17px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 17px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.02);
  }

  .gsvps2diag__areas article > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2d-cyan);
    background: rgba(33,217,243,.075);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2diag__areas article > .gsvps2diag__area-number--yellow {
    color: var(--ps2d-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2diag__areas article > .gsvps2diag__area-number--violet {
    color: var(--ps2d-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2diag__areas article > .gsvps2diag__area-number--green {
    color: var(--ps2d-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2diag__areas article > .gsvps2diag__area-number--blue {
    color: #8eacff;
    background: rgba(64,124,255,.08);
  }

  .gsvps2diag__areas article > .gsvps2diag__area-number--red {
    color: var(--ps2d-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2diag__areas small,
  .gsvps2diag__areas strong {
    display: block;
  }

  .gsvps2diag__areas small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2diag__areas strong {
    margin-top: 5px;
    color: #dce7f2;
    font-size: 12px;
    line-height: 1.5;
  }

  /* PARTES */

  .gsvps2diag__parts-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .gsvps2diag__part-card {
    padding: 20px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 19px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.021);
  }

  .gsvps2diag__part-card--available {
    border-color: rgba(69,223,160,.17);
  }

  .gsvps2diag__part-card--used {
    border-color: rgba(157,132,255,.17);
  }

  .gsvps2diag__part-card--pending {
    border-color: rgba(255,201,94,.17);
  }

  .gsvps2diag__part-card--unavailable {
    border-color: rgba(255,101,120,.17);
  }

  .gsvps2diag__part-top {
    display: flex;
    gap: 12px;
    align-items: center;
  }

  .gsvps2diag__part-top > span {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    flex: 0 0 50px;
    border-radius: 14px;
    color: var(--ps2d-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2diag__part-card--used .gsvps2diag__part-top > span {
    color: var(--ps2d-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2diag__part-card--pending .gsvps2diag__part-top > span {
    color: var(--ps2d-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2diag__part-card--unavailable .gsvps2diag__part-top > span {
    color: var(--ps2d-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2diag__part-top small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2diag__part-card h4 {
    margin: 15px 0 0;
    color: #ffffff;
    font-size: 15px;
    line-height: 1.45;
  }

  .gsvps2diag__part-card > p {
    margin: 9px 0 0;
    color: #8b9fb1;
    font-size: 12px;
    line-height: 1.65;
  }

  .gsvps2diag__part-card ul {
    display: grid;
    gap: 7px;
    margin: 14px 0 0;
    padding: 13px 0 0;
    border-top: 1px solid rgba(101,146,255,.08);
    list-style: none;
  }

  .gsvps2diag__part-card li {
    position: relative;
    padding-left: 17px;
    color: #8398aa;
    font-size: 11px;
    line-height: 1.5;
  }

  .gsvps2diag__part-card li::before {
    content: "•";
    position: absolute;
    left: 1px;
    color: var(--ps2d-green);
  }

  .gsvps2diag__part-card--used li::before {
    color: var(--ps2d-violet);
  }

  .gsvps2diag__part-card--pending li::before {
    color: var(--ps2d-yellow);
  }

  .gsvps2diag__part-card--unavailable li::before {
    color: var(--ps2d-red);
  }

  /* RESULTADOS Y CRITERIOS */

  .gsvps2diag__results,
  .gsvps2diag__criteria {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2diag__results article,
  .gsvps2diag__criteria article {
    padding: 18px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 18px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.021);
  }

  .gsvps2diag__result-icon,
  .gsvps2diag__criteria-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2d-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2diag__result-icon--yellow,
  .gsvps2diag__criteria-icon--yellow {
    color: var(--ps2d-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2diag__result-icon--violet,
  .gsvps2diag__criteria-icon--violet {
    color: var(--ps2d-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2diag__result-icon--red {
    color: var(--ps2d-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2diag__criteria-icon--green {
    color: var(--ps2d-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2diag__results small,
  .gsvps2diag__results strong,
  .gsvps2diag__criteria small,
  .gsvps2diag__criteria strong {
    display: block;
  }

  .gsvps2diag__results small,
  .gsvps2diag__criteria small {
    margin-top: 13px;
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2diag__results strong,
  .gsvps2diag__criteria strong {
    margin-top: 6px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2diag__results p,
  .gsvps2diag__criteria p {
    margin: 9px 0 0;
    color: #8b9fb1;
    font-size: 11px;
    line-height: 1.65;
  }

  /* ADVERTENCIA */

  .gsvps2diag__warning {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(255,101,120,.15);
    border-radius: 18px;
    background:
      radial-gradient(circle at 0 50%, rgba(255,101,120,.05), transparent 28%),
      rgba(1,9,25,.4);
  }

  .gsvps2diag__warning > span {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--ps2d-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2diag__warning small,
  .gsvps2diag__warning strong {
    display: block;
  }

  .gsvps2diag__warning small {
    color: #a87884;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2diag__warning strong {
    margin-top: 4px;
    color: #f0dde2;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2diag__warning p {
    margin: 6px 0 0;
    color: #a59097;
    font-size: 11px;
    line-height: 1.62;
  }

  /* POLÍTICA */

  .gsvps2diag__policy {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(33,217,243,.13);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0 50%, rgba(33,217,243,.045), transparent 30%),
      rgba(1,9,25,.4);
  }

  .gsvps2diag__policy-head {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .gsvps2diag__policy-head > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2d-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2diag__policy-head small {
    display: block;
    color: #6f91a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2diag__policy-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 19px;
    line-height: 1.35;
  }

  .gsvps2diag__policy-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  .gsvps2diag__policy-grid article {
    display: grid !important;
    grid-template-columns: 41px minmax(0, 1fr);
    gap: 11px;
    padding: 15px;
    border: 1px solid rgba(101,146,255,.09);
    border-radius: 15px;
    background: rgba(255,255,255,.018);
  }

  .gsvps2diag__policy-grid article > span {
    width: 41px;
    height: 41px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--ps2d-cyan);
    background: rgba(33,217,243,.065);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2diag__policy-grid small,
  .gsvps2diag__policy-grid strong {
    display: block;
  }

  .gsvps2diag__policy-grid small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2diag__policy-grid strong {
    margin-top: 4px;
    color: #e2edf4;
    font-size: 12px;
    line-height: 1.45;
  }

  .gsvps2diag__policy-grid p {
    margin: 6px 0 0;
    color: #899eaf;
    font-size: 11px;
    line-height: 1.6;
  }

  /* CTA */

  .gsvps2diag__cta {
    display: flex !important;
    justify-content: space-between;
    gap: 25px;
    align-items: center;
    margin-top: 18px;
    padding: 19px;
    border: 1px solid rgba(101,146,255,.14);
    border-radius: 19px;
    background: rgba(1,9,25,.4);
  }

  .gsvps2diag__cta-copy {
    display: grid !important;
    grid-template-columns: 49px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
  }

  .gsvps2diag__cta-copy .gsvps2diag__icon {
    width: 49px;
    height: 49px;
    color: var(--ps2d-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2diag__cta-copy small,
  .gsvps2diag__cta-copy strong {
    display: block;
  }

  .gsvps2diag__cta-copy small {
    color: #718ca6;
    font-size: 10px;
  }

  .gsvps2diag__cta-copy strong {
    margin-top: 3px;
    color: #dcecff;
    font-size: 12px;
  }

  .gsvps2diag__cta-copy p {
    margin: 5px 0 0;
    color: #8097ab;
    font-size: 11px;
    line-height: 1.55;
  }

  .gsvps2diag__actions {
    display: flex;
    gap: 9px;
  }

  .gsvps2diag__button {
    min-height: 47px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    padding: 12px 15px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 800;
    transition:
      transform 220ms ease,
      box-shadow 220ms ease;
  }

  .gsvps2diag__button:hover {
    transform: translateY(-3px);
  }

  .gsvps2diag__button:focus-visible {
    outline: 2px solid var(--ps2d-cyan);
    outline-offset: 3px;
  }

  .gsvps2diag__button--secondary {
    border: 1px solid rgba(101,146,255,.18);
    color: #e5efff !important;
    background: rgba(64,124,255,.045);
  }

  .gsvps2diag__button--whatsapp {
    border: 1px solid rgba(69,223,160,.26);
    color: #ffffff !important;
    background: linear-gradient(110deg, #089d65, #13c982);
    box-shadow: 0 16px 32px rgba(16,191,124,.18);
  }

  .gsvps2diag__disclaimer {
    margin: 17px auto 0 !important;
    color: #647996;
    font-size: 10px;
    line-height: 1.7;
    text-align: center;
  }

  /* ANIMACIONES */

  @keyframes gsvps2diagPulse {
    0%,
    100% {
      opacity: .5;
      transform: scale(.88);
    }

    50% {
      opacity: 1;
      transform: scale(1.12);
    }
  }

  @keyframes gsvps2diagOrbit {
    0%,
    100% {
      opacity: .22;
      transform: translate(-50%, -50%) scale(.96);
    }

    50% {
      opacity: .62;
      transform: translate(-50%, -50%) scale(1.04);
    }
  }

  @keyframes gsvps2diagSignal {
    0%,
    100% {
      opacity: .2;
      transform: scaleX(.65);
    }

    50% {
      opacity: .9;
      transform: scaleX(1);
    }
  }

  @keyframes gsvps2diagBoard {
    0%,
    100% {
      transform:
        translate(-50%, -50%)
        perspective(850px)
        rotateX(9deg)
        rotateZ(-2deg)
        translateY(0);
    }

    50% {
      transform:
        translate(-50%, -50%)
        perspective(850px)
        rotateX(7deg)
        rotateZ(-1deg)
        translateY(-6px);
    }
  }

  @keyframes gsvps2diagScan {
    0%,
    100% {
      top: 12%;
      opacity: .2;
    }

    50% {
      top: 88%;
      opacity: .9;
    }
  }

  /* TABLETA */

  @media (max-width: 1080px) {

    .gsvps2diag__layout {
      grid-template-columns: 1fr;
    }

    .gsvps2diag__visual {
      position: relative;
      top: auto;
      width: min(760px, 100%);
      margin: 0 auto;
    }

    .gsvps2diag__areas {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gsvps2diag__results,
    .gsvps2diag__criteria {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

  }

  @media (max-width: 900px) {

    .gsvps2diag__header,
    .gsvps2diag__section-head {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .gsvps2diag__cta {
      flex-direction: column;
      align-items: stretch;
    }

    .gsvps2diag__actions {
      width: 100%;
    }

    .gsvps2diag__button {
      flex: 1 1 0;
    }

  }

  @container (max-width: 900px) {

    .gsvps2diag__header,
    .gsvps2diag__layout,
    .gsvps2diag__section-head {
      grid-template-columns: 1fr;
    }

  }

  /* MÓVIL */

  @media (max-width: 700px) {

    .gsvps2diag {
      padding: 66px 17px 72px !important;
    }

    .gsvps2diag__panel {
      padding: 19px 17px;
      border-radius: 23px;
      backdrop-filter: none;
    }

    .gsvps2diag__visual {
      padding: 18px 16px;
      backdrop-filter: none;
    }

    .gsvps2diag__areas,
    .gsvps2diag__parts-grid,
    .gsvps2diag__results,
    .gsvps2diag__criteria,
    .gsvps2diag__policy-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2diag__actions {
      flex-direction: column;
    }

    .gsvps2diag__glow {
      display: none;
    }

    .gsvps2diag__eyebrow > span,
    .gsvps2diag__orbit,
    .gsvps2diag__signal,
    .gsvps2diag__board,
    .gsvps2diag__board-scan {
      animation: none;
    }

    .gsvps2diag__board {
      transform:
        translate(-50%, -50%)
        perspective(850px)
        rotateX(8deg)
        rotateZ(-1deg);
    }

    .gsvps2diag__button {
      transition: none;
    }

    .gsvps2diag__button:hover {
      transform: none;
    }

  }

  @media (max-width: 560px) {

    .gsvps2diag__header h2 {
      font-size: clamp(36px, 11vw, 49px);
    }

    .gsvps2diag__header-note,
    .gsvps2diag__visual-note,
    .gsvps2diag__warning,
    .gsvps2diag__policy-head,
    .gsvps2diag__cta-copy {
      grid-template-columns: 1fr;
    }

    .gsvps2diag__panel-status > strong,
    .gsvps2diag__diagnosis-head > span {
      display: none;
    }

    .gsvps2diag__diagnosis-head {
      display: block;
    }

    .gsvps2diag__stage {
      height: 440px;
    }

    .gsvps2diag__board {
      width: 305px;
      max-width: 92%;
    }

    .gsvps2diag__meter {
      display: none;
    }

  }

  @media (max-width: 390px) {

    .gsvps2diag {
      padding-right: 14px !important;
      padding-left: 14px !important;
    }

    .gsvps2diag__panel,
    .gsvps2diag__visual,
    .gsvps2diag__warning,
    .gsvps2diag__policy {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsvps2diag__stage {
      height: 405px;
    }

    .gsvps2diag__board {
      width: 275px;
      max-width: 94%;
    }

    .gsvps2diag__board-body {
      height: 205px;
    }

    .gsvps2diag__node {
      min-width: 84px;
      grid-template-columns: 27px minmax(0, 1fr);
      gap: 5px;
      padding: 5px;
    }

    .gsvps2diag__node > span {
      width: 27px;
      height: 27px;
    }

    .gsvps2diag__node small {
      font-size: 8px;
    }

    .gsvps2diag__node strong {
      font-size: 8px;
    }

    .gsvps2diag__step {
      grid-template-columns: 39px minmax(0, 1fr);
      gap: 10px;
      padding: 13px;
    }

    .gsvps2diag__step-number {
      width: 39px;
      height: 39px;
    }

    .gsvps2diag__areas article {
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 11px;
      padding: 14px;
    }

    .gsvps2diag__areas article > span {
      width: 42px;
      height: 42px;
    }

    .gsvps2diag__policy-grid article {
      grid-template-columns: 35px minmax(0, 1fr);
    }

    .gsvps2diag__policy-grid article > span {
      width: 35px;
      height: 35px;
    }

  }

  @media (prefers-reduced-motion: reduce) {

    .gsvps2diag__eyebrow > span,
    .gsvps2diag__orbit,
    .gsvps2diag__signal,
    .gsvps2diag__board,
    .gsvps2diag__board-scan {
      animation: none !important;
    }

    .gsvps2diag__button {
      transition: none !important;
    }

  }

/* =========================================================
   PLAYSTATION 2 · PROCESO
   ========================================================= */
.gsvps2process {
    --ps2pr-cyan: #21d9f3;
    --ps2pr-blue: #407cff;
    --ps2pr-violet: #9d84ff;
    --ps2pr-green: #45dfa0;
    --ps2pr-yellow: #ffc95e;
    --ps2pr-red: #ff6578;
    --ps2pr-text: #a9bfd1;

    position: relative !important;
    isolation: isolate;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(76px, 8vw, 116px) 24px !important;
    overflow: hidden !important;
    clear: both !important;
    color: #ffffff;
    background:
      radial-gradient(circle at 8% 9%, rgba(33,217,243,.09), transparent 30%),
      radial-gradient(circle at 93% 15%, rgba(157,132,255,.08), transparent 31%),
      radial-gradient(circle at 82% 94%, rgba(64,124,255,.07), transparent 34%),
      linear-gradient(118deg, #020713, #07152d 52%, #101d4c);
    font-family: "Poppins", system-ui, sans-serif;
    container-type: inline-size;
  }

  .gsvps2process *,
  .gsvps2process *::before,
  .gsvps2process *::after {
    box-sizing: border-box !important;
    min-width: 0;
  }

  .gsvps2process h2,
  .gsvps2process h3,
  .gsvps2process h4,
  .gsvps2process p,
  .gsvps2process small,
  .gsvps2process strong {
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none;
  }

  .gsvps2process a {
    text-decoration: none !important;
  }

  .gsvps2process svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsvps2process__grid-bg {
    position: absolute;
    z-index: -4;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(63,139,209,.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(63,139,209,.07) 1px, transparent 1px),
      radial-gradient(circle, rgba(157,132,255,.16) 1px, transparent 1.5px);
    background-size: 72px 72px, 72px 72px, 36px 36px;
  }

  .gsvps2process__glow {
    position: absolute;
    z-index: -3;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    filter: blur(140px);
    pointer-events: none;
  }

  .gsvps2process__glow--cyan {
    top: 3%;
    left: -230px;
    opacity: .07;
    background: var(--ps2pr-cyan);
  }

  .gsvps2process__glow--violet {
    right: -230px;
    bottom: 5%;
    opacity: .06;
    background: var(--ps2pr-violet);
  }

  .gsvps2process__wrap {
    display: block !important;
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
  }

  /* ENCABEZADO */

  .gsvps2process__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
    gap: clamp(38px, 6vw, 80px);
    align-items: end;
    margin-bottom: clamp(38px, 5vw, 58px);
  }

  .gsvps2process__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    color: #75e8f8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.25px;
    text-transform: uppercase;
  }

  .gsvps2process__eyebrow > span {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--ps2pr-cyan);
    box-shadow:
      0 0 0 6px rgba(33,217,243,.08),
      0 0 18px rgba(33,217,243,.62);
    animation: gsvps2processPulse 2.5s ease-in-out infinite;
  }

  .gsvps2process__header h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(39px, 4.6vw, 62px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.052em;
  }

  .gsvps2process__header h2 span {
    display: block;
    margin-top: 6px;
    color: transparent;
    background:
      linear-gradient(90deg, #6bdcff, var(--ps2pr-blue), var(--ps2pr-violet));
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gsvps2process__header-info > p {
    margin: 0;
    color: var(--ps2pr-text);
    font-size: 15px;
    line-height: 1.76;
  }

  .gsvps2process__header-note {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid rgba(255,201,94,.16);
    border-radius: 15px;
    background: rgba(255,201,94,.024);
  }

  .gsvps2process__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2pr-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2process__icon--yellow {
    color: var(--ps2pr-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2process__header-note small,
  .gsvps2process__header-note strong {
    display: block;
  }

  .gsvps2process__header-note small {
    margin-bottom: 3px;
    color: #a29677;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__header-note strong {
    color: #f2e8d2;
    font-size: 12px;
    line-height: 1.5;
  }

  /* PANEL */

  .gsvps2process__panel {
    position: relative;
    overflow: hidden;
    padding: 25px;
    border: 1px solid rgba(101,146,255,.2);
    border-radius: 28px;
    background:
      radial-gradient(circle at 18% 25%, rgba(33,217,243,.065), transparent 35%),
      radial-gradient(circle at 90% 22%, rgba(157,132,255,.05), transparent 28%),
      linear-gradient(145deg, rgba(13,39,82,.78), rgba(3,12,31,.96));
    box-shadow:
      0 30px 70px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter: blur(12px);
  }

  .gsvps2process__panel-grid {
    position: absolute;
    inset: 0;
    opacity: .38;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(64,124,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(64,124,255,.05) 1px, transparent 1px);
    background-size: 30px 30px;
  }

  .gsvps2process__panel > *:not(.gsvps2process__panel-grid) {
    position: relative;
    z-index: 2;
  }

  .gsvps2process__panel-status {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(101,146,255,.12);
  }

  .gsvps2process__panel-status > span,
  .gsvps2process__workflow-head > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__panel-status i,
  .gsvps2process__workflow-head i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ps2pr-green);
    box-shadow: 0 0 9px rgba(69,223,160,.55);
  }

  .gsvps2process__panel-status > strong {
    color: #7288a7;
    font-size: 10px;
    letter-spacing: .6px;
  }

  .gsvps2process__layout {
    display: grid !important;
    grid-template-columns: minmax(390px, .86fr) minmax(0, 1.14fr);
    gap: 22px;
    align-items: start;
    margin-top: 22px;
  }

  /* TERMINAL */

  .gsvps2process__visual {
    position: sticky;
    top: 24px;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 22px;
    background:
      radial-gradient(circle at 50% 43%, rgba(64,124,255,.085), transparent 44%),
      rgba(0,9,27,.42);
  }

  .gsvps2process__visual-copy > small {
    display: block;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
  }

  .gsvps2process__visual-copy h3 {
    margin: 7px 0 0;
    color: #ffffff;
    font-size: clamp(29px, 3vw, 39px);
    line-height: 1.12;
    letter-spacing: -1.1px;
  }

  .gsvps2process__visual-copy h3 span {
    display: block;
    color: #9daeff;
  }

  .gsvps2process__visual-copy p {
    margin: 13px 0 0;
    color: #93a9bc;
    font-size: 13px;
    line-height: 1.7;
  }

  .gsvps2process__terminal {
    position: relative;
    overflow: hidden;
    margin-top: 20px;
    border: 1px solid rgba(101,146,255,.18);
    border-radius: 18px;
    background:
      radial-gradient(circle at 50% 0%, rgba(33,217,243,.06), transparent 50%),
      rgba(2,10,25,.72);
    box-shadow:
      0 25px 42px rgba(0,0,0,.35),
      inset 0 1px 0 rgba(255,255,255,.04);
  }

  .gsvps2process__terminal-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border-bottom: 1px solid rgba(101,146,255,.1);
  }

  .gsvps2process__terminal-head small,
  .gsvps2process__terminal-head strong {
    display: block;
  }

  .gsvps2process__terminal-head small {
    color: #748ba8;
    font-size: 10px;
    font-weight: 750;
  }

  .gsvps2process__terminal-head strong {
    margin-top: 3px;
    color: #c5d4ed;
    font-size: 10px;
  }

  .gsvps2process__terminal-head > span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    color: var(--ps2pr-green);
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__terminal-head > span i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ps2pr-green);
    box-shadow: 0 0 9px rgba(69,223,160,.5);
  }

  .gsvps2process__terminal-body {
    padding: 20px;
  }

  .gsvps2process__route {
    position: relative;
    display: grid;
    gap: 11px;
  }

  .gsvps2process__route-line,
  .gsvps2process__route-progress {
    position: absolute;
    top: 25px;
    bottom: 25px;
    left: 20px;
    width: 2px;
    border-radius: 999px;
  }

  .gsvps2process__route-line {
    background: rgba(101,146,255,.12);
  }

  .gsvps2process__route-progress {
    bottom: auto;
    height: 52%;
    background:
      linear-gradient(
        var(--ps2pr-cyan),
        var(--ps2pr-blue),
        var(--ps2pr-violet)
      );
    box-shadow: 0 0 10px rgba(33,217,243,.3);
    animation: gsvps2processRoute 4s ease-in-out infinite;
  }

  .gsvps2process__route-step {
    position: relative;
    z-index: 2;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    padding: 8px;
    border: 1px solid rgba(101,146,255,.07);
    border-radius: 12px;
    background: rgba(255,255,255,.014);
  }

  .gsvps2process__route-step > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(33,217,243,.16);
    border-radius: 11px;
    color: var(--ps2pr-cyan);
    background: rgba(33,217,243,.065);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2process__route-step small,
  .gsvps2process__route-step strong {
    display: block;
  }

  .gsvps2process__route-step small {
    color: #758ba8;
    font-size: 10px;
    font-weight: 750;
  }

  .gsvps2process__route-step strong {
    margin-top: 2px;
    color: #d5e0ed;
    font-size: 10px;
  }

  .gsvps2process__route-step--three > span,
  .gsvps2process__route-step--four > span {
    color: var(--ps2pr-yellow);
    border-color: rgba(255,201,94,.15);
    background: rgba(255,201,94,.055);
  }

  .gsvps2process__route-step--five > span,
  .gsvps2process__route-step--six > span {
    color: var(--ps2pr-violet);
    border-color: rgba(157,132,255,.15);
    background: rgba(157,132,255,.055);
  }

  .gsvps2process__route-step--seven > span {
    color: var(--ps2pr-green);
    border-color: rgba(69,223,160,.15);
    background: rgba(69,223,160,.055);
  }

  .gsvps2process__terminal-data {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 15px;
  }

  .gsvps2process__terminal-data article {
    padding: 10px;
    border: 1px solid rgba(101,146,255,.07);
    border-radius: 10px;
    background: rgba(255,255,255,.014);
  }

  .gsvps2process__terminal-data small,
  .gsvps2process__terminal-data strong {
    display: block;
  }

  .gsvps2process__terminal-data small {
    color: #7488a4;
    font-size: 10px;
    font-weight: 750;
  }

  .gsvps2process__terminal-data strong {
    margin-top: 3px;
    color: #c8d5e6;
    font-size: 10px;
  }

  .gsvps2process__terminal-scan {
    position: absolute;
    z-index: 5;
    top: 5%;
    right: 3%;
    left: 3%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(
        90deg,
        transparent,
        var(--ps2pr-cyan),
        var(--ps2pr-blue),
        var(--ps2pr-violet),
        transparent
      );
    box-shadow:
      0 0 8px rgba(33,217,243,.5),
      0 0 14px rgba(157,132,255,.3);
    animation: gsvps2processScan 5s ease-in-out infinite;
  }

  .gsvps2process__visual-status {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin-top: 10px;
  }

  .gsvps2process__visual-status article {
    padding: 10px 5px;
    border: 1px solid rgba(101,146,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.018);
    text-align: center;
  }

  .gsvps2process__visual-status small,
  .gsvps2process__visual-status strong {
    display: block;
  }

  .gsvps2process__visual-status small {
    color: #788ca8;
    font-size: 10px;
    font-weight: 750;
  }

  .gsvps2process__visual-status strong {
    margin-top: 3px;
    color: #d7e0f2;
    font-size: 10px;
  }

  .gsvps2process__visual-note {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-top: 9px;
    padding: 12px;
    border: 1px solid rgba(255,201,94,.12);
    border-radius: 13px;
    background: rgba(255,201,94,.022);
  }

  .gsvps2process__visual-note > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2pr-yellow);
    background: rgba(255,201,94,.065);
  }

  .gsvps2process__visual-note p {
    margin: 0;
    color: #aaa087;
    font-size: 11px;
    line-height: 1.6;
  }

  /* PASOS */

  .gsvps2process__workflow-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.019);
  }

  .gsvps2process__workflow-head small {
    display: block;
    color: #6e849f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__workflow-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.35;
  }

  .gsvps2process__steps {
    display: grid;
    gap: 9px;
  }

  .gsvps2process__step {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 11px;
  }

  .gsvps2process__step-index {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .gsvps2process__step-index span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(33,217,243,.13);
    border-radius: 12px;
    color: var(--ps2pr-cyan);
    background: rgba(33,217,243,.055);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2process__step-index i {
    width: 1px;
    flex: 1 1 auto;
    margin-top: 7px;
    background:
      linear-gradient(var(--ps2pr-cyan), rgba(33,217,243,.04));
  }

  .gsvps2process__step-body {
    padding: 14px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 38%),
      rgba(255,255,255,.019);
  }

  .gsvps2process__step-heading {
    display: grid !important;
    grid-template-columns: 45px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
  }

  .gsvps2process__step-icon {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2pr-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2process__step-icon--yellow {
    color: var(--ps2pr-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2process__step-icon--violet {
    color: var(--ps2pr-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2process__step-icon--blue {
    color: #8eacff;
    background: rgba(64,124,255,.08);
  }

  .gsvps2process__step-icon--green {
    color: var(--ps2pr-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2process__step-icon--red {
    color: var(--ps2pr-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2process__step-icon--cyan {
    color: var(--ps2pr-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2process__step-heading small {
    display: block;
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__step-heading h4 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.45;
  }

  .gsvps2process__step-body > p {
    margin: 10px 0 0;
    color: #8fa4b5;
    font-size: 12px;
    line-height: 1.65;
  }

  .gsvps2process__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 11px;
  }

  .gsvps2process__tags span {
    padding: 6px 8px;
    border: 1px solid rgba(101,146,255,.09);
    border-radius: 999px;
    color: #7891aa;
    background: rgba(255,255,255,.017);
    font-size: 10px;
    line-height: 1;
  }

  /* SECCIONES */

  .gsvps2process__section {
    margin-top: clamp(58px, 6vw, 82px);
  }

  .gsvps2process__section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .68fr);
    gap: 35px;
    align-items: end;
    margin-bottom: 24px;
  }

  .gsvps2process__section-head small {
    display: block;
    margin-bottom: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__section-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(29px, 3.5vw, 44px);
    line-height: 1.1;
    letter-spacing: -1.3px;
  }

  .gsvps2process__section-head > p {
    margin: 0;
    color: #91a6b8;
    font-size: 13px;
    line-height: 1.7;
  }

  /* QUÉ ENTREGAR */

  .gsvps2process__bring-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2process__bring-grid article {
    padding: 18px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 18px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.021);
  }

  .gsvps2process__bring-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2pr-blue);
    background: rgba(64,124,255,.07);
  }

  .gsvps2process__bring-icon--yellow {
    color: var(--ps2pr-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2process__bring-icon--violet {
    color: var(--ps2pr-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2process__bring-icon--green {
    color: var(--ps2pr-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2process__bring-grid small,
  .gsvps2process__bring-grid strong {
    display: block;
  }

  .gsvps2process__bring-grid small {
    margin-top: 13px;
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__bring-grid strong {
    margin-top: 6px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2process__bring-grid p {
    margin: 9px 0 0;
    color: #8b9fb1;
    font-size: 11px;
    line-height: 1.65;
  }

  /* TIEMPOS */

  .gsvps2process__times {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2process__time-card {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    padding: 18px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 18px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.02);
  }

  .gsvps2process__time-card--main {
    grid-row: span 2;
    display: block !important;
    border-color: rgba(69,223,160,.16);
    background:
      radial-gradient(circle at 50% 0%, rgba(69,223,160,.065), transparent 45%),
      rgba(255,255,255,.021);
  }

  .gsvps2process__time-top {
    display: flex;
    gap: 12px;
    align-items: center;
  }

  .gsvps2process__time-top > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2pr-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2process__time-top small {
    color: #72a38f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__time-value {
    display: block;
    margin-top: 24px;
    color: #ffffff;
    font-size: clamp(58px, 7vw, 86px);
    line-height: .9;
    letter-spacing: -.06em;
  }

  .gsvps2process__time-value small {
    display: block;
    margin-top: 11px;
    color: var(--ps2pr-green);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
  }

  .gsvps2process__time-card--main > p {
    margin: 21px 0 0;
    color: #91aa9f;
    font-size: 12px;
    line-height: 1.7;
  }

  .gsvps2process__time-number {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2pr-cyan);
    background: rgba(33,217,243,.075);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2process__time-number--yellow {
    color: var(--ps2pr-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2process__time-number--violet {
    color: var(--ps2pr-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2process__time-number--red {
    color: var(--ps2pr-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2process__time-card small,
  .gsvps2process__time-card strong {
    display: block;
  }

  .gsvps2process__time-card:not(.gsvps2process__time-card--main) small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__time-card:not(.gsvps2process__time-card--main) strong {
    margin-top: 5px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2process__time-card:not(.gsvps2process__time-card--main) p {
    margin: 8px 0 0;
    color: #8b9fb1;
    font-size: 11px;
    line-height: 1.65;
  }

  /* PAGOS */

  .gsvps2process__payment-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2process__payment-card {
    padding: 19px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 18px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.021);
  }

  .gsvps2process__payment-card--diagnosis {
    border-color: rgba(69,223,160,.15);
  }

  .gsvps2process__payment-card--review {
    border-color: rgba(255,201,94,.15);
  }

  .gsvps2process__payment-card--approval {
    border-color: rgba(157,132,255,.15);
  }

  .gsvps2process__payment-card--payment {
    border-color: rgba(33,217,243,.15);
  }

  .gsvps2process__payment-top {
    display: flex;
    gap: 11px;
    align-items: center;
  }

  .gsvps2process__payment-top > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    border-radius: 12px;
    color: var(--ps2pr-cyan);
    background: rgba(33,217,243,.07);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2process__payment-card--diagnosis .gsvps2process__payment-top > span {
    color: var(--ps2pr-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2process__payment-card--review .gsvps2process__payment-top > span {
    color: var(--ps2pr-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2process__payment-card--approval .gsvps2process__payment-top > span {
    color: var(--ps2pr-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2process__payment-top small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__payment-card > strong {
    display: block;
    margin-top: 14px;
    color: #ffffff;
    font-size: 14px;
    line-height: 1.5;
  }

  .gsvps2process__payment-card > p {
    margin: 9px 0 0;
    color: #8b9fb1;
    font-size: 11px;
    line-height: 1.65;
  }

  /* VERIFICACIÓN */

  .gsvps2process__verification {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(69,223,160,.13);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0 50%, rgba(69,223,160,.045), transparent 30%),
      rgba(1,9,25,.4);
  }

  .gsvps2process__verification-head,
  .gsvps2process__warranty-head {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .gsvps2process__verification-head > span,
  .gsvps2process__warranty-head > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2pr-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2process__verification-head small,
  .gsvps2process__warranty-head small {
    display: block;
    color: #72a38f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__verification-head h3,
  .gsvps2process__warranty-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 19px;
    line-height: 1.35;
  }

  .gsvps2process__verification-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
    margin-top: 16px;
  }

  .gsvps2process__verification-grid article {
    display: grid !important;
    grid-template-columns: 39px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(69,223,160,.08);
    border-radius: 13px;
    background: rgba(255,255,255,.016);
  }

  .gsvps2process__verification-grid article > span {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--ps2pr-green);
    background: rgba(69,223,160,.07);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2process__verification-grid small,
  .gsvps2process__verification-grid strong {
    display: block;
  }

  .gsvps2process__verification-grid small {
    color: #7db19a;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__verification-grid strong {
    margin-top: 3px;
    color: #d5e8df;
    font-size: 10px;
    line-height: 1.45;
  }

  /* GARANTÍA */

  .gsvps2process__warranty {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(157,132,255,.15);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0 50%, rgba(157,132,255,.05), transparent 30%),
      rgba(1,9,25,.4);
  }

  .gsvps2process__warranty-head > span {
    color: var(--ps2pr-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2process__warranty-head small {
    color: #9385bb;
  }

  .gsvps2process__warranty-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
  }

  .gsvps2process__warranty-grid article {
    padding: 15px;
    border: 1px solid rgba(157,132,255,.08);
    border-radius: 15px;
    background: rgba(255,255,255,.018);
  }

  .gsvps2process__warranty-grid small,
  .gsvps2process__warranty-grid strong {
    display: block;
  }

  .gsvps2process__warranty-grid small {
    color: #9385bb;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__warranty-grid strong {
    margin-top: 6px;
    color: #ddd7ee;
    font-size: 11px;
    line-height: 1.6;
  }

  /* ADVERTENCIA */

  .gsvps2process__warning {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(255,101,120,.15);
    border-radius: 18px;
    background:
      radial-gradient(circle at 0 50%, rgba(255,101,120,.05), transparent 28%),
      rgba(1,9,25,.4);
  }

  .gsvps2process__warning > span {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--ps2pr-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2process__warning small,
  .gsvps2process__warning strong {
    display: block;
  }

  .gsvps2process__warning small {
    color: #a87884;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2process__warning strong {
    margin-top: 4px;
    color: #f0dde2;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2process__warning p {
    margin: 6px 0 0;
    color: #a59097;
    font-size: 11px;
    line-height: 1.62;
  }

  /* CTA */

  .gsvps2process__cta {
    display: flex !important;
    justify-content: space-between;
    gap: 25px;
    align-items: center;
    margin-top: 18px;
    padding: 19px;
    border: 1px solid rgba(101,146,255,.14);
    border-radius: 19px;
    background: rgba(1,9,25,.4);
  }

  .gsvps2process__cta-copy {
    display: grid !important;
    grid-template-columns: 49px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
  }

  .gsvps2process__cta-copy .gsvps2process__icon {
    width: 49px;
    height: 49px;
    color: var(--ps2pr-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2process__cta-copy small,
  .gsvps2process__cta-copy strong {
    display: block;
  }

  .gsvps2process__cta-copy small {
    color: #718ca6;
    font-size: 10px;
  }

  .gsvps2process__cta-copy strong {
    margin-top: 3px;
    color: #dcecff;
    font-size: 12px;
  }

  .gsvps2process__cta-copy p {
    margin: 5px 0 0;
    color: #8097ab;
    font-size: 11px;
    line-height: 1.55;
  }

  .gsvps2process__actions {
    display: flex;
    gap: 9px;
  }

  .gsvps2process__button {
    min-height: 47px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    padding: 12px 15px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 800;
    transition:
      transform 220ms ease,
      box-shadow 220ms ease;
  }

  .gsvps2process__button:hover {
    transform: translateY(-3px);
  }

  .gsvps2process__button:focus-visible {
    outline: 2px solid var(--ps2pr-cyan);
    outline-offset: 3px;
  }

  .gsvps2process__button--secondary {
    border: 1px solid rgba(101,146,255,.18);
    color: #e5efff !important;
    background: rgba(64,124,255,.045);
  }

  .gsvps2process__button--whatsapp {
    border: 1px solid rgba(69,223,160,.26);
    color: #ffffff !important;
    background: linear-gradient(110deg, #089d65, #13c982);
    box-shadow: 0 16px 32px rgba(16,191,124,.18);
  }

  .gsvps2process__disclaimer {
    margin: 17px auto 0 !important;
    color: #647996;
    font-size: 10px;
    line-height: 1.7;
    text-align: center;
  }

  /* ANIMACIONES */

  @keyframes gsvps2processPulse {
    0%,
    100% {
      opacity: .5;
      transform: scale(.88);
    }

    50% {
      opacity: 1;
      transform: scale(1.12);
    }
  }

  @keyframes gsvps2processRoute {
    0%,
    100% {
      height: 18%;
      opacity: .45;
    }

    50% {
      height: 90%;
      opacity: 1;
    }
  }

  @keyframes gsvps2processScan {
    0%,
    100% {
      top: 5%;
      opacity: .2;
    }

    50% {
      top: 94%;
      opacity: .9;
    }
  }

  /* TABLETA */

  @media (max-width: 1080px) {

    .gsvps2process__layout {
      grid-template-columns: 1fr;
    }

    .gsvps2process__visual {
      position: relative;
      top: auto;
      width: min(760px, 100%);
      margin: 0 auto;
    }

    .gsvps2process__bring-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gsvps2process__verification-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

  }

  @media (max-width: 900px) {

    .gsvps2process__header,
    .gsvps2process__section-head {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .gsvps2process__times,
    .gsvps2process__payment-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2process__time-card--main {
      grid-row: auto;
    }

    .gsvps2process__warranty-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2process__cta {
      flex-direction: column;
      align-items: stretch;
    }

    .gsvps2process__actions {
      width: 100%;
    }

    .gsvps2process__button {
      flex: 1 1 0;
    }

  }

  @container (max-width: 900px) {

    .gsvps2process__header,
    .gsvps2process__layout,
    .gsvps2process__section-head {
      grid-template-columns: 1fr;
    }

  }

  /* MÓVIL */

  @media (max-width: 700px) {

    .gsvps2process {
      padding: 66px 17px 72px !important;
    }

    .gsvps2process__panel {
      padding: 19px 17px;
      border-radius: 23px;
      backdrop-filter: none;
    }

    .gsvps2process__visual {
      padding: 18px 16px;
      backdrop-filter: none;
    }

    .gsvps2process__bring-grid,
    .gsvps2process__verification-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2process__actions {
      flex-direction: column;
    }

    .gsvps2process__glow {
      display: none;
    }

    .gsvps2process__eyebrow > span,
    .gsvps2process__route-progress,
    .gsvps2process__terminal-scan {
      animation: none;
    }

    .gsvps2process__route-progress {
      height: 78%;
      opacity: .7;
    }

    .gsvps2process__button {
      transition: none;
    }

    .gsvps2process__button:hover {
      transform: none;
    }

  }

  @media (max-width: 560px) {

    .gsvps2process__header h2 {
      font-size: clamp(36px, 11vw, 49px);
    }

    .gsvps2process__header-note,
    .gsvps2process__visual-note,
    .gsvps2process__verification-head,
    .gsvps2process__warranty-head,
    .gsvps2process__warning,
    .gsvps2process__cta-copy {
      grid-template-columns: 1fr;
    }

    .gsvps2process__panel-status > strong,
    .gsvps2process__workflow-head > span {
      display: none;
    }

    .gsvps2process__workflow-head {
      display: block;
    }

    .gsvps2process__terminal-body {
      padding: 15px;
    }

    .gsvps2process__visual-status {
      display: none !important;
    }

  }

  @media (max-width: 390px) {

    .gsvps2process {
      padding-right: 14px !important;
      padding-left: 14px !important;
    }

    .gsvps2process__panel,
    .gsvps2process__visual,
    .gsvps2process__verification,
    .gsvps2process__warranty,
    .gsvps2process__warning {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsvps2process__terminal-data {
      grid-template-columns: 1fr;
    }

    .gsvps2process__step {
      grid-template-columns: 36px minmax(0, 1fr);
      gap: 8px;
    }

    .gsvps2process__step-index span {
      width: 36px;
      height: 36px;
      font-size: 10px;
    }

    .gsvps2process__step-heading {
      grid-template-columns: 1fr;
    }

    .gsvps2process__time-card:not(.gsvps2process__time-card--main) {
      grid-template-columns: 42px minmax(0, 1fr);
      gap: 10px;
      padding: 14px;
    }

    .gsvps2process__time-number {
      width: 42px;
      height: 42px;
    }

    .gsvps2process__verification-grid article {
      grid-template-columns: 35px minmax(0, 1fr);
    }

    .gsvps2process__verification-grid article > span {
      width: 35px;
      height: 35px;
    }

  }

  @media (prefers-reduced-motion: reduce) {

    .gsvps2process__eyebrow > span,
    .gsvps2process__route-progress,
    .gsvps2process__terminal-scan {
      animation: none !important;
    }

    .gsvps2process__button {
      transition: none !important;
    }

  }

/* =========================================================
   PLAYSTATION 2 · FAQS
   ========================================================= */
.gsvps2faq {
    --ps2f-cyan: #21d9f3;
    --ps2f-blue: #407cff;
    --ps2f-violet: #9d84ff;
    --ps2f-green: #45dfa0;
    --ps2f-yellow: #ffc95e;
    --ps2f-red: #ff6578;
    --ps2f-text: #a9bfd1;

    position: relative !important;
    isolation: isolate;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(76px, 8vw, 116px) 24px !important;
    overflow: hidden !important;
    clear: both !important;
    color: #ffffff;
    background:
      radial-gradient(circle at 8% 9%, rgba(33,217,243,.09), transparent 30%),
      radial-gradient(circle at 93% 15%, rgba(157,132,255,.08), transparent 31%),
      radial-gradient(circle at 82% 94%, rgba(64,124,255,.07), transparent 34%),
      linear-gradient(118deg, #020713, #07152d 52%, #101d4c);
    font-family: "Poppins", system-ui, sans-serif;
    container-type: inline-size;
  }

  .gsvps2faq *,
  .gsvps2faq *::before,
  .gsvps2faq *::after {
    box-sizing: border-box !important;
    min-width: 0;
  }

  .gsvps2faq h2,
  .gsvps2faq h3,
  .gsvps2faq p,
  .gsvps2faq small,
  .gsvps2faq strong,
  .gsvps2faq li,
  .gsvps2faq summary {
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none;
  }

  .gsvps2faq a {
    text-decoration: none !important;
  }

  .gsvps2faq svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsvps2faq__grid-bg {
    position: absolute;
    z-index: -4;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(63,139,209,.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(63,139,209,.07) 1px, transparent 1px),
      radial-gradient(circle, rgba(157,132,255,.16) 1px, transparent 1.5px);
    background-size: 72px 72px, 72px 72px, 36px 36px;
  }

  .gsvps2faq__glow {
    position: absolute;
    z-index: -3;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    filter: blur(140px);
    pointer-events: none;
  }

  .gsvps2faq__glow--cyan {
    top: 3%;
    left: -230px;
    opacity: .07;
    background: var(--ps2f-cyan);
  }

  .gsvps2faq__glow--violet {
    right: -230px;
    bottom: 5%;
    opacity: .06;
    background: var(--ps2f-violet);
  }

  .gsvps2faq__wrap {
    display: block !important;
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
  }

  /* ENCABEZADO */

  .gsvps2faq__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
    gap: clamp(38px, 6vw, 80px);
    align-items: end;
    margin-bottom: clamp(38px, 5vw, 58px);
  }

  .gsvps2faq__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    color: #75e8f8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.25px;
    text-transform: uppercase;
  }

  .gsvps2faq__eyebrow > span {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--ps2f-cyan);
    box-shadow:
      0 0 0 6px rgba(33,217,243,.08),
      0 0 18px rgba(33,217,243,.62);
    animation: gsvps2faqPulse 2.5s ease-in-out infinite;
  }

  .gsvps2faq__header h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(39px, 4.6vw, 62px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.052em;
  }

  .gsvps2faq__header h2 span {
    display: block;
    margin-top: 6px;
    color: transparent;
    background:
      linear-gradient(90deg, #6bdcff, var(--ps2f-blue), var(--ps2f-violet));
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gsvps2faq__header-info > p {
    margin: 0;
    color: var(--ps2f-text);
    font-size: 15px;
    line-height: 1.76;
  }

  .gsvps2faq__header-note {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid rgba(255,201,94,.16);
    border-radius: 15px;
    background: rgba(255,201,94,.024);
  }

  .gsvps2faq__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2f-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2faq__icon--yellow {
    color: var(--ps2f-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2faq__header-note small,
  .gsvps2faq__header-note strong {
    display: block;
  }

  .gsvps2faq__header-note small {
    margin-bottom: 3px;
    color: #a29677;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faq__header-note strong {
    color: #f2e8d2;
    font-size: 12px;
    line-height: 1.5;
  }

  /* PANEL */

  .gsvps2faq__panel {
    position: relative;
    overflow: hidden;
    padding: 25px;
    border: 1px solid rgba(101,146,255,.2);
    border-radius: 28px;
    background:
      radial-gradient(circle at 18% 25%, rgba(33,217,243,.065), transparent 35%),
      radial-gradient(circle at 90% 22%, rgba(157,132,255,.05), transparent 28%),
      linear-gradient(145deg, rgba(13,39,82,.78), rgba(3,12,31,.96));
    box-shadow:
      0 30px 70px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter: blur(12px);
  }

  .gsvps2faq__panel-grid {
    position: absolute;
    inset: 0;
    opacity: .38;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(64,124,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(64,124,255,.05) 1px, transparent 1px);
    background-size: 30px 30px;
  }

  .gsvps2faq__panel > *:not(.gsvps2faq__panel-grid) {
    position: relative;
    z-index: 2;
  }

  .gsvps2faq__panel-status {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(101,146,255,.12);
  }

  .gsvps2faq__panel-status > span,
  .gsvps2faq__content-head > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faq__panel-status i,
  .gsvps2faq__content-head i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ps2f-green);
    box-shadow: 0 0 9px rgba(69,223,160,.55);
  }

  .gsvps2faq__panel-status > strong {
    color: #7288a7;
    font-size: 10px;
    letter-spacing: .6px;
  }

  .gsvps2faq__layout {
    display: grid !important;
    grid-template-columns: minmax(360px, .72fr) minmax(0, 1.28fr);
    gap: 22px;
    align-items: start;
    margin-top: 22px;
  }

  /* SIDEBAR */

  .gsvps2faq__sidebar {
    position: sticky;
    top: 24px;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 22px;
    background:
      radial-gradient(circle at 50% 35%, rgba(64,124,255,.085), transparent 43%),
      rgba(0,9,27,.42);
  }

  .gsvps2faq__sidebar-copy > small {
    display: block;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
  }

  .gsvps2faq__sidebar-copy h3 {
    margin: 7px 0 0;
    color: #ffffff;
    font-size: clamp(29px, 3vw, 39px);
    line-height: 1.12;
    letter-spacing: -1.1px;
  }

  .gsvps2faq__sidebar-copy h3 span {
    display: block;
    color: #9daeff;
  }

  .gsvps2faq__sidebar-copy p {
    margin: 13px 0 0;
    color: #93a9bc;
    font-size: 13px;
    line-height: 1.7;
  }

  /* CONSOLA */

  .gsvps2faq__console {
    position: relative;
    height: 280px;
    margin-top: 14px;
  }

  .gsvps2faq__console-orbit {
    position: absolute;
    top: 48%;
    left: 50%;
    border: 1px solid rgba(101,146,255,.13);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: gsvps2faqOrbit 5s ease-in-out infinite;
  }

  .gsvps2faq__console-orbit--outer {
    width: 270px;
    height: 270px;
  }

  .gsvps2faq__console-orbit--inner {
    width: 190px;
    height: 190px;
    animation-delay: -2.4s;
  }

  .gsvps2faq__console-image {
    position: absolute;
    z-index: 4;
    top: 43%;
    left: 50%;
    width: 420px;
    max-width: 130%;
    aspect-ratio: 2048 / 852;
    transform: translate(-50%, -50%) rotate(-1deg);
    filter:
      drop-shadow(0 25px 24px rgba(0,0,0,.52))
      drop-shadow(0 0 13px rgba(64,124,255,.18));
    animation: gsvps2faqDevice 5.2s ease-in-out infinite;
  }

  .gsvps2faq__console-halo {
    position: absolute;
    z-index: -1;
    inset: 4% 6%;
    border-radius: 50%;
    background:
      radial-gradient(
        ellipse,
        rgba(64,124,255,.18),
        rgba(157,132,255,.08) 43%,
        transparent 72%
      );
    filter: blur(25px);
  }

  .gsvps2faq__console-image img {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
  }

  .gsvps2faq__console-scan {
    position: absolute;
    z-index: 4;
    top: 13%;
    right: 4%;
    left: 4%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(
        90deg,
        transparent,
        var(--ps2f-cyan),
        var(--ps2f-blue),
        var(--ps2f-violet),
        transparent
      );
    box-shadow:
      0 0 8px rgba(33,217,243,.5),
      0 0 14px rgba(157,132,255,.3);
    animation: gsvps2faqScan 4s ease-in-out infinite;
  }

  .gsvps2faq__console-terminal {
    position: absolute;
    z-index: 8;
    right: 3px;
    bottom: 19px;
    width: 145px;
    padding: 12px;
    border: 1px solid rgba(33,217,243,.14);
    border-radius: 13px;
    background: rgba(3,14,31,.95);
    box-shadow: 0 17px 29px rgba(0,0,0,.36);
  }

  .gsvps2faq__console-terminal small,
  .gsvps2faq__console-terminal strong {
    display: block;
  }

  .gsvps2faq__console-terminal small {
    color: #748fa7;
    font-size: 9px;
    font-weight: 750;
  }

  .gsvps2faq__console-terminal strong {
    margin-top: 3px;
    color: var(--ps2f-cyan);
    font-size: 10px;
  }

  .gsvps2faq__console-terminal > div {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5px;
    margin-top: 9px;
  }

  .gsvps2faq__console-terminal > div span {
    height: 5px;
    border-radius: 999px;
    background: rgba(33,217,243,.17);
  }

  .gsvps2faq__console-terminal > div span:nth-child(2) {
    background: rgba(157,132,255,.25);
  }

  .gsvps2faq__console-terminal > div span:nth-child(3) {
    background: rgba(69,223,160,.22);
  }

  .gsvps2faq__console-terminal > div span:nth-child(4) {
    background: rgba(255,201,94,.22);
  }

  /* DATOS RÁPIDOS */

  .gsvps2faq__quick-facts {
    display: grid;
    gap: 8px;
  }

  .gsvps2faq__quick-facts article {
    display: grid !important;
    grid-template-columns: 43px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    padding: 11px;
    border: 1px solid rgba(101,146,255,.08);
    border-radius: 13px;
    background: rgba(255,255,255,.017);
  }

  .gsvps2faq__quick-facts article > span {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--ps2f-cyan);
    background: rgba(33,217,243,.07);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2faq__quick-facts article > .gsvps2faq__quick-number--yellow {
    color: var(--ps2f-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2faq__quick-facts article > .gsvps2faq__quick-number--green {
    color: var(--ps2f-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2faq__quick-facts article > .gsvps2faq__quick-number--violet {
    color: var(--ps2f-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2faq__quick-facts small,
  .gsvps2faq__quick-facts strong {
    display: block;
  }

  .gsvps2faq__quick-facts small {
    color: #7d92ad;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faq__quick-facts strong {
    margin-top: 3px;
    color: #d9e4ed;
    font-size: 11px;
    line-height: 1.45;
  }

  .gsvps2faq__sidebar-note {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-top: 9px;
    padding: 12px;
    border: 1px solid rgba(255,201,94,.12);
    border-radius: 13px;
    background: rgba(255,201,94,.022);
  }

  .gsvps2faq__sidebar-note > span {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2f-yellow);
    background: rgba(255,201,94,.065);
  }

  .gsvps2faq__sidebar-note p {
    margin: 0;
    color: #aaa087;
    font-size: 11px;
    line-height: 1.6;
  }

  /* CONTENIDO */

  .gsvps2faq__content-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.019);
  }

  .gsvps2faq__content-head small {
    display: block;
    color: #6e849f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faq__content-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.35;
  }

  .gsvps2faq__categories {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 10px 0;
  }

  .gsvps2faq__categories span {
    padding: 7px 10px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 999px;
    color: #7890aa;
    background: rgba(255,255,255,.016);
    font-size: 10px;
    font-weight: 700;
  }

  /* ACORDEÓN */

  .gsvps2faq__accordion {
    display: grid;
    gap: 9px;
  }

  .gsvps2faq__item {
    overflow: hidden;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 38%),
      rgba(255,255,255,.019);
    transition:
      border-color 220ms ease,
      background 220ms ease,
      box-shadow 220ms ease;
  }

  .gsvps2faq__item[open] {
    border-color: rgba(33,217,243,.19);
    background:
      radial-gradient(circle at 100% 0%, rgba(33,217,243,.055), transparent 40%),
      rgba(255,255,255,.025);
    box-shadow: 0 14px 30px rgba(0,0,0,.13);
  }

  .gsvps2faq__item summary {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr) 38px;
    gap: 12px;
    align-items: center;
    padding: 15px;
    cursor: pointer;
    list-style: none;
  }

  .gsvps2faq__item summary::-webkit-details-marker {
    display: none;
  }

  .gsvps2faq__item summary::marker {
    display: none;
    content: "";
  }

  .gsvps2faq__item summary:focus-visible {
    outline: 2px solid var(--ps2f-cyan);
    outline-offset: -3px;
    border-radius: 15px;
  }

  .gsvps2faq__item-number {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2f-cyan);
    background: rgba(33,217,243,.07);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2faq__item-number--yellow {
    color: var(--ps2f-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2faq__item-number--violet {
    color: var(--ps2f-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2faq__item-number--green {
    color: var(--ps2f-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2faq__item-number--blue {
    color: #8eacff;
    background: rgba(64,124,255,.08);
  }

  .gsvps2faq__item-number--red {
    color: var(--ps2f-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2faq__question small,
  .gsvps2faq__question strong {
    display: block;
  }

  .gsvps2faq__question small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faq__question strong {
    margin-top: 4px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.48;
  }

  .gsvps2faq__toggle {
    position: relative;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 11px;
    background: rgba(255,255,255,.018);
  }

  .gsvps2faq__toggle::before,
  .gsvps2faq__toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 2px;
    border-radius: 999px;
    background: #91a9c4;
    transform: translate(-50%, -50%);
    transition: transform 220ms ease;
  }

  .gsvps2faq__toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
  }

  .gsvps2faq__item[open] .gsvps2faq__toggle {
    border-color: rgba(33,217,243,.18);
    background: rgba(33,217,243,.055);
  }

  .gsvps2faq__item[open] .gsvps2faq__toggle::before,
  .gsvps2faq__item[open] .gsvps2faq__toggle::after {
    background: var(--ps2f-cyan);
  }

  .gsvps2faq__item[open] .gsvps2faq__toggle::after {
    transform: translate(-50%, -50%) rotate(0deg);
  }

  .gsvps2faq__answer {
    padding:
      0
      15px
      16px
      73px;
    border-top: 1px solid rgba(101,146,255,.07);
  }

  .gsvps2faq__answer > p {
    margin: 14px 0 0;
    color: #96aabd;
    font-size: 12px;
    line-height: 1.7;
  }

  .gsvps2faq__answer > p strong {
    color: #e4eef7;
  }

  .gsvps2faq__answer ul {
    display: grid;
    gap: 8px;
    margin: 13px 0 0;
    padding: 0;
    list-style: none;
  }

  .gsvps2faq__answer li {
    position: relative;
    padding-left: 19px;
    color: #91a6b8;
    font-size: 12px;
    line-height: 1.6;
  }

  .gsvps2faq__answer li::before {
    content: "";
    position: absolute;
    top: .58em;
    left: 2px;
    width: 7px;
    height: 7px;
    border: 2px solid var(--ps2f-cyan);
    border-radius: 50%;
  }

  .gsvps2faq__answer-note {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    margin-top: 13px;
    padding: 11px;
    border: 1px solid rgba(33,217,243,.1);
    border-radius: 12px;
    background: rgba(33,217,243,.025);
  }

  .gsvps2faq__answer-note > span {
    padding: 7px 9px;
    border-radius: 999px;
    color: var(--ps2f-cyan);
    background: rgba(33,217,243,.07);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2faq__answer-note p {
    margin: 0;
    color: #8fa7b8;
    font-size: 11px;
    line-height: 1.55;
  }

  .gsvps2faq__answer-note--yellow {
    border-color: rgba(255,201,94,.11);
    background: rgba(255,201,94,.025);
  }

  .gsvps2faq__answer-note--yellow > span {
    color: var(--ps2f-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2faq__answer-note--violet {
    border-color: rgba(157,132,255,.11);
    background: rgba(157,132,255,.025);
  }

  .gsvps2faq__answer-note--violet > span {
    color: var(--ps2f-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2faq__answer-note--green {
    border-color: rgba(69,223,160,.11);
    background: rgba(69,223,160,.025);
  }

  .gsvps2faq__answer-note--green > span {
    color: var(--ps2f-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2faq__answer-note--blue {
    border-color: rgba(64,124,255,.12);
    background: rgba(64,124,255,.028);
  }

  .gsvps2faq__answer-note--blue > span {
    color: #8eacff;
    background: rgba(64,124,255,.08);
  }

  .gsvps2faq__answer-note--red {
    border-color: rgba(255,101,120,.11);
    background: rgba(255,101,120,.025);
  }

  .gsvps2faq__answer-note--red > span {
    color: var(--ps2f-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2faq__exclusions {
    margin-top: 14px;
    padding: 12px;
    border: 1px solid rgba(255,101,120,.1);
    border-radius: 12px;
    background: rgba(255,101,120,.024);
  }

  .gsvps2faq__exclusions > small {
    display: block;
    color: #b98993;
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2faq__exclusions > div {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 9px;
  }

  .gsvps2faq__exclusions span {
    padding: 6px 8px;
    border: 1px solid rgba(255,101,120,.1);
    border-radius: 999px;
    color: #c69aa3;
    background: rgba(255,101,120,.035);
    font-size: 10px;
  }

  /* SECCIONES */

  .gsvps2faq__section {
    margin-top: clamp(58px, 6vw, 82px);
  }

  .gsvps2faq__section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .68fr);
    gap: 35px;
    align-items: end;
    margin-bottom: 24px;
  }

  .gsvps2faq__section-head small {
    display: block;
    margin-bottom: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faq__section-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(29px, 3.5vw, 44px);
    line-height: 1.1;
    letter-spacing: -1.3px;
  }

  .gsvps2faq__section-head > p {
    margin: 0;
    color: #91a6b8;
    font-size: 13px;
    line-height: 1.7;
  }

  /* RESUMEN */

  .gsvps2faq__summary-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2faq__summary-grid article {
    padding: 18px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 18px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.021);
  }

  .gsvps2faq__summary-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2f-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2faq__summary-icon--yellow {
    color: var(--ps2f-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2faq__summary-icon--violet {
    color: var(--ps2f-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2faq__summary-icon--green {
    color: var(--ps2f-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2faq__summary-icon--blue {
    color: #8eacff;
    background: rgba(64,124,255,.08);
  }

  .gsvps2faq__summary-icon--red {
    color: var(--ps2f-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2faq__summary-grid small,
  .gsvps2faq__summary-grid strong {
    display: block;
  }

  .gsvps2faq__summary-grid small {
    margin-top: 13px;
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faq__summary-grid strong {
    margin-top: 6px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2faq__summary-grid p {
    margin: 9px 0 0;
    color: #8b9fb1;
    font-size: 11px;
    line-height: 1.65;
  }

  /* GUÍA DE CONTACTO */

  .gsvps2faq__contact-guide {
    margin-top: 18px;
    padding: 20px;
    border: 1px solid rgba(33,217,243,.13);
    border-radius: 20px;
    background:
      radial-gradient(circle at 0 50%, rgba(33,217,243,.045), transparent 30%),
      rgba(1,9,25,.4);
  }

  .gsvps2faq__contact-guide-head {
    display: grid !important;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }

  .gsvps2faq__contact-guide-head > span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2f-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2faq__contact-guide-head small {
    display: block;
    color: #6f91a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faq__contact-guide-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 19px;
    line-height: 1.35;
  }

  .gsvps2faq__contact-guide-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-top: 16px;
  }

  .gsvps2faq__contact-guide-grid article {
    display: grid !important;
    grid-template-columns: 39px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(33,217,243,.08);
    border-radius: 13px;
    background: rgba(255,255,255,.016);
  }

  .gsvps2faq__contact-guide-grid article > span {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--ps2f-cyan);
    background: rgba(33,217,243,.07);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2faq__contact-guide-grid small,
  .gsvps2faq__contact-guide-grid strong {
    display: block;
  }

  .gsvps2faq__contact-guide-grid small {
    color: #7da0b0;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2faq__contact-guide-grid strong {
    margin-top: 3px;
    color: #d5e5ec;
    font-size: 10px;
    line-height: 1.45;
  }

  /* CTA */

  .gsvps2faq__cta {
    display: flex !important;
    justify-content: space-between;
    gap: 25px;
    align-items: center;
    margin-top: 18px;
    padding: 19px;
    border: 1px solid rgba(101,146,255,.14);
    border-radius: 19px;
    background: rgba(1,9,25,.4);
  }

  .gsvps2faq__cta-copy {
    display: grid !important;
    grid-template-columns: 49px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
  }

  .gsvps2faq__cta-copy .gsvps2faq__icon {
    width: 49px;
    height: 49px;
    color: var(--ps2f-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2faq__cta-copy small,
  .gsvps2faq__cta-copy strong {
    display: block;
  }

  .gsvps2faq__cta-copy small {
    color: #718ca6;
    font-size: 10px;
  }

  .gsvps2faq__cta-copy strong {
    margin-top: 3px;
    color: #dcecff;
    font-size: 12px;
  }

  .gsvps2faq__cta-copy p {
    margin: 5px 0 0;
    color: #8097ab;
    font-size: 11px;
    line-height: 1.55;
  }

  .gsvps2faq__actions {
    display: flex;
    gap: 9px;
  }

  .gsvps2faq__button {
    min-height: 47px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 11px;
    padding: 12px 15px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 800;
    transition:
      transform 220ms ease,
      box-shadow 220ms ease;
  }

  .gsvps2faq__button:hover {
    transform: translateY(-3px);
  }

  .gsvps2faq__button:focus-visible {
    outline: 2px solid var(--ps2f-cyan);
    outline-offset: 3px;
  }

  .gsvps2faq__button--secondary {
    border: 1px solid rgba(101,146,255,.18);
    color: #e5efff !important;
    background: rgba(64,124,255,.045);
  }

  .gsvps2faq__button--whatsapp {
    border: 1px solid rgba(69,223,160,.26);
    color: #ffffff !important;
    background: linear-gradient(110deg, #089d65, #13c982);
    box-shadow: 0 16px 32px rgba(16,191,124,.18);
  }

  .gsvps2faq__disclaimer {
    margin: 17px auto 0 !important;
    color: #647996;
    font-size: 10px;
    line-height: 1.7;
    text-align: center;
  }

  /* ANIMACIONES */

  @keyframes gsvps2faqPulse {
    0%,
    100% {
      opacity: .5;
      transform: scale(.88);
    }

    50% {
      opacity: 1;
      transform: scale(1.12);
    }
  }

  @keyframes gsvps2faqOrbit {
    0%,
    100% {
      opacity: .22;
      transform: translate(-50%, -50%) scale(.96);
    }

    50% {
      opacity: .62;
      transform: translate(-50%, -50%) scale(1.04);
    }
  }

  @keyframes gsvps2faqDevice {
    0%,
    100% {
      transform: translate(-50%, -50%) rotate(-1deg) translateY(0);
    }

    50% {
      transform: translate(-50%, -50%) rotate(-.3deg) translateY(-6px);
    }
  }

  @keyframes gsvps2faqScan {
    0%,
    100% {
      top: 13%;
      opacity: .2;
    }

    50% {
      top: 87%;
      opacity: .9;
    }
  }

  /* TABLETA */

  @media (max-width: 1080px) {

    .gsvps2faq__layout {
      grid-template-columns: 1fr;
    }

    .gsvps2faq__sidebar {
      position: relative;
      top: auto;
      width: min(760px, 100%);
      margin: 0 auto;
    }

    .gsvps2faq__summary-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gsvps2faq__contact-guide-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

  }

  @media (max-width: 900px) {

    .gsvps2faq__header,
    .gsvps2faq__section-head {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .gsvps2faq__cta {
      flex-direction: column;
      align-items: stretch;
    }

    .gsvps2faq__actions {
      width: 100%;
    }

    .gsvps2faq__button {
      flex: 1 1 0;
    }

  }

  @container (max-width: 900px) {

    .gsvps2faq__header,
    .gsvps2faq__layout,
    .gsvps2faq__section-head {
      grid-template-columns: 1fr;
    }

  }

  /* MÓVIL */

  @media (max-width: 700px) {

    .gsvps2faq {
      padding: 66px 17px 72px !important;
    }

    .gsvps2faq__panel {
      padding: 19px 17px;
      border-radius: 23px;
      backdrop-filter: none;
    }

    .gsvps2faq__sidebar {
      padding: 18px 16px;
      backdrop-filter: none;
    }

    .gsvps2faq__summary-grid,
    .gsvps2faq__contact-guide-grid {
      grid-template-columns: 1fr;
    }

    .gsvps2faq__actions {
      flex-direction: column;
    }

    .gsvps2faq__glow {
      display: none;
    }

    .gsvps2faq__eyebrow > span,
    .gsvps2faq__console-orbit,
    .gsvps2faq__console-image,
    .gsvps2faq__console-scan {
      animation: none;
    }

    .gsvps2faq__console-image {
      transform: translate(-50%, -50%) rotate(-.5deg);
    }

    .gsvps2faq__item,
    .gsvps2faq__toggle,
    .gsvps2faq__toggle::before,
    .gsvps2faq__toggle::after,
    .gsvps2faq__button {
      transition: none;
    }

    .gsvps2faq__button:hover {
      transform: none;
    }

  }

  @media (max-width: 560px) {

    .gsvps2faq__header h2 {
      font-size: clamp(36px, 11vw, 49px);
    }

    .gsvps2faq__header-note,
    .gsvps2faq__sidebar-note,
    .gsvps2faq__contact-guide-head,
    .gsvps2faq__cta-copy {
      grid-template-columns: 1fr;
    }

    .gsvps2faq__panel-status > strong,
    .gsvps2faq__content-head > span {
      display: none;
    }

    .gsvps2faq__content-head {
      display: block;
    }

    .gsvps2faq__console {
      height: 245px;
    }

    .gsvps2faq__console-image {
      width: 365px;
      max-width: 135%;
    }

    .gsvps2faq__item summary {
      grid-template-columns: 42px minmax(0, 1fr) 35px;
      gap: 10px;
      padding: 13px;
    }

    .gsvps2faq__item-number {
      width: 42px;
      height: 42px;
    }

    .gsvps2faq__toggle {
      width: 35px;
      height: 35px;
    }

    .gsvps2faq__answer {
      padding:
        0
        13px
        14px
        65px;
    }

    .gsvps2faq__answer-note {
      grid-template-columns: 1fr;
      align-items: start;
    }

    .gsvps2faq__answer-note > span {
      width: fit-content;
    }

  }

  @media (max-width: 390px) {

    .gsvps2faq {
      padding-right: 14px !important;
      padding-left: 14px !important;
    }

    .gsvps2faq__panel,
    .gsvps2faq__sidebar,
    .gsvps2faq__contact-guide {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsvps2faq__console {
      height: 220px;
    }

    .gsvps2faq__console-image {
      width: 315px;
      max-width: 140%;
    }

    .gsvps2faq__console-terminal {
      display: none;
    }

    .gsvps2faq__item summary {
      grid-template-columns: 38px minmax(0, 1fr) 31px;
      gap: 8px;
      padding: 11px;
    }

    .gsvps2faq__item-number {
      width: 38px;
      height: 38px;
      font-size: 9px;
    }

    .gsvps2faq__toggle {
      width: 31px;
      height: 31px;
    }

    .gsvps2faq__question small {
      font-size: 9px;
    }

    .gsvps2faq__question strong {
      font-size: 12px;
    }

    .gsvps2faq__answer {
      padding:
        0
        11px
        13px
        57px;
    }

    .gsvps2faq__quick-facts article {
      grid-template-columns: 39px minmax(0, 1fr);
      gap: 9px;
    }

    .gsvps2faq__quick-facts article > span {
      width: 39px;
      height: 39px;
    }

    .gsvps2faq__contact-guide-grid article {
      grid-template-columns: 35px minmax(0, 1fr);
    }

    .gsvps2faq__contact-guide-grid article > span {
      width: 35px;
      height: 35px;
    }

  }

  @media (prefers-reduced-motion: reduce) {

    .gsvps2faq__eyebrow > span,
    .gsvps2faq__console-orbit,
    .gsvps2faq__console-image,
    .gsvps2faq__console-scan {
      animation: none !important;
    }

    .gsvps2faq__item,
    .gsvps2faq__toggle,
    .gsvps2faq__toggle::before,
    .gsvps2faq__toggle::after,
    .gsvps2faq__button {
      transition: none !important;
    }

  }

/* =========================================================
   PLAYSTATION 2 · CTA
   ========================================================= */
.gsvps2cta {
    --ps2c-cyan: #21d9f3;
    --ps2c-blue: #407cff;
    --ps2c-violet: #9d84ff;
    --ps2c-green: #45dfa0;
    --ps2c-yellow: #ffc95e;
    --ps2c-red: #ff6578;
    --ps2c-text: #a9bfd1;

    position: relative !important;
    isolation: isolate;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: clamp(76px, 8vw, 116px) 24px !important;
    overflow: hidden !important;
    clear: both !important;
    color: #ffffff;
    background:
      radial-gradient(circle at 8% 9%, rgba(33,217,243,.09), transparent 30%),
      radial-gradient(circle at 93% 15%, rgba(157,132,255,.08), transparent 31%),
      radial-gradient(circle at 82% 94%, rgba(64,124,255,.07), transparent 34%),
      linear-gradient(118deg, #020713, #07152d 52%, #101d4c);
    font-family: "Poppins", system-ui, sans-serif;
    container-type: inline-size;
  }

  .gsvps2cta *,
  .gsvps2cta *::before,
  .gsvps2cta *::after {
    box-sizing: border-box !important;
    min-width: 0;
  }

  .gsvps2cta h2,
  .gsvps2cta h3,
  .gsvps2cta p,
  .gsvps2cta small,
  .gsvps2cta strong {
    writing-mode: horizontal-tb !important;
    word-break: normal !important;
    overflow-wrap: break-word;
    hyphens: none;
  }

  .gsvps2cta a {
    text-decoration: none !important;
  }

  .gsvps2cta svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsvps2cta__grid-bg {
    position: absolute;
    z-index: -4;
    inset: 0;
    opacity: .26;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(63,139,209,.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(63,139,209,.07) 1px, transparent 1px),
      radial-gradient(circle, rgba(157,132,255,.16) 1px, transparent 1.5px);
    background-size: 72px 72px, 72px 72px, 36px 36px;
  }

  .gsvps2cta__glow {
    position: absolute;
    z-index: -3;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    filter: blur(140px);
    pointer-events: none;
  }

  .gsvps2cta__glow--cyan {
    top: 3%;
    left: -230px;
    opacity: .07;
    background: var(--ps2c-cyan);
  }

  .gsvps2cta__glow--violet {
    right: -230px;
    bottom: 5%;
    opacity: .06;
    background: var(--ps2c-violet);
  }

  .gsvps2cta__wrap {
    display: block !important;
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
  }

  /* ENCABEZADO */

  .gsvps2cta__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
    gap: clamp(38px, 6vw, 80px);
    align-items: end;
    margin-bottom: clamp(38px, 5vw, 58px);
  }

  .gsvps2cta__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    color: #75e8f8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.25px;
    text-transform: uppercase;
  }

  .gsvps2cta__eyebrow > span {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-radius: 50%;
    background: var(--ps2c-cyan);
    box-shadow:
      0 0 0 6px rgba(33,217,243,.08),
      0 0 18px rgba(33,217,243,.62);
    animation: gsvps2ctaPulse 2.5s ease-in-out infinite;
  }

  .gsvps2cta__header h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(39px, 4.6vw, 62px);
    font-weight: 800;
    line-height: 1.04;
    letter-spacing: -.052em;
  }

  .gsvps2cta__header h2 span {
    display: block;
    margin-top: 6px;
    color: transparent;
    background:
      linear-gradient(90deg, #6bdcff, var(--ps2c-blue), var(--ps2c-violet));
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gsvps2cta__header-info > p {
    margin: 0;
    color: var(--ps2c-text);
    font-size: 15px;
    line-height: 1.76;
  }

  .gsvps2cta__header-note {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid rgba(255,201,94,.16);
    border-radius: 15px;
    background: rgba(255,201,94,.024);
  }

  .gsvps2cta__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    color: var(--ps2c-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2cta__icon--yellow {
    color: var(--ps2c-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2cta__header-note small,
  .gsvps2cta__header-note strong {
    display: block;
  }

  .gsvps2cta__header-note small {
    margin-bottom: 3px;
    color: #a29677;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2cta__header-note strong {
    color: #f2e8d2;
    font-size: 12px;
    line-height: 1.5;
  }

  /* PANEL */

  .gsvps2cta__panel {
    position: relative;
    overflow: hidden;
    padding: 25px;
    border: 1px solid rgba(101,146,255,.2);
    border-radius: 28px;
    background:
      radial-gradient(circle at 18% 25%, rgba(33,217,243,.065), transparent 35%),
      radial-gradient(circle at 90% 22%, rgba(157,132,255,.05), transparent 28%),
      linear-gradient(145deg, rgba(13,39,82,.78), rgba(3,12,31,.96));
    box-shadow:
      0 30px 70px rgba(0,0,0,.28),
      inset 0 1px 0 rgba(255,255,255,.05);
    backdrop-filter: blur(12px);
  }

  .gsvps2cta__panel-grid {
    position: absolute;
    inset: 0;
    opacity: .38;
    pointer-events: none;
    background-image:
      linear-gradient(rgba(64,124,255,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(64,124,255,.05) 1px, transparent 1px);
    background-size: 30px 30px;
  }

  .gsvps2cta__panel > *:not(.gsvps2cta__panel-grid) {
    position: relative;
    z-index: 2;
  }

  .gsvps2cta__panel-status {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(101,146,255,.12);
  }

  .gsvps2cta__panel-status > span,
  .gsvps2cta__request-head > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2cta__panel-status i,
  .gsvps2cta__request-head i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ps2c-green);
    box-shadow: 0 0 9px rgba(69,223,160,.55);
  }

  .gsvps2cta__panel-status > strong {
    color: #7288a7;
    font-size: 10px;
    letter-spacing: .6px;
  }

  .gsvps2cta__layout {
    display: grid !important;
    grid-template-columns: minmax(390px, .9fr) minmax(0, 1.1fr);
    gap: 22px;
    align-items: start;
    margin-top: 22px;
  }

  /* VISUAL */

  .gsvps2cta__visual {
    position: sticky;
    top: 24px;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(101,146,255,.11);
    border-radius: 22px;
    background:
      radial-gradient(circle at 50% 43%, rgba(64,124,255,.085), transparent 44%),
      rgba(0,9,27,.42);
  }

  .gsvps2cta__visual-copy > small {
    display: block;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .7px;
  }

  .gsvps2cta__visual-copy h3 {
    margin: 7px 0 0;
    color: #ffffff;
    font-size: clamp(29px, 3vw, 39px);
    line-height: 1.12;
    letter-spacing: -1.1px;
  }

  .gsvps2cta__visual-copy h3 span {
    display: block;
    color: #9daeff;
  }

  .gsvps2cta__visual-copy p {
    margin: 13px 0 0;
    color: #93a9bc;
    font-size: 13px;
    line-height: 1.7;
  }

  .gsvps2cta__stage {
    position: relative;
    height: 465px;
    margin-top: 8px;
  }

  .gsvps2cta__orbit {
    position: absolute;
    top: 47%;
    left: 50%;
    border: 1px solid rgba(101,146,255,.13);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: gsvps2ctaOrbit 5s ease-in-out infinite;
  }

  .gsvps2cta__orbit--outer {
    width: 360px;
    height: 360px;
  }

  .gsvps2cta__orbit--inner {
    width: 250px;
    height: 250px;
    animation-delay: -2.4s;
  }

  .gsvps2cta__signal {
    position: absolute;
    z-index: 2;
    top: 47%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(90deg, transparent, var(--ps2c-cyan), var(--ps2c-violet));
    animation: gsvps2ctaSignal 3.2s ease-in-out infinite;
  }

  .gsvps2cta__signal--left {
    right: 50%;
    left: 2%;
  }

  .gsvps2cta__signal--right {
    right: 2%;
    left: 50%;
    animation-delay: -1.6s;
  }

  .gsvps2cta__device {
    position: absolute;
    z-index: 5;
    top: 43%;
    left: 50%;
    width: 535px;
    max-width: 127%;
    aspect-ratio: 2048 / 852;
    transform: translate(-50%, -50%) rotate(-1deg);
    animation: gsvps2ctaDevice 5.2s ease-in-out infinite;
    filter:
      drop-shadow(0 28px 27px rgba(0,0,0,.54))
      drop-shadow(0 0 12px rgba(64,124,255,.23))
      drop-shadow(0 0 22px rgba(157,132,255,.12));
  }

  .gsvps2cta__device-halo {
    position: absolute;
    z-index: -1;
    inset: 8% 5% 5%;
    border-radius: 50%;
    background:
      radial-gradient(
        ellipse,
        rgba(64,124,255,.18),
        rgba(157,132,255,.09) 40%,
        transparent 72%
      );
    filter: blur(24px);
  }

  .gsvps2cta__device img {
    position: absolute;
    z-index: 2;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
  }

  .gsvps2cta__scan {
    position: absolute;
    z-index: 4;
    top: 14%;
    right: 4%;
    left: 4%;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(
        90deg,
        transparent,
        var(--ps2c-cyan),
        var(--ps2c-blue),
        var(--ps2c-violet),
        transparent
      );
    box-shadow:
      0 0 8px rgba(33,217,243,.5),
      0 0 14px rgba(157,132,255,.3);
    animation: gsvps2ctaScan 4s ease-in-out infinite;
  }

  /* TERMINAL */

  .gsvps2cta__terminal {
    position: absolute;
    z-index: 8;
    right: 4px;
    bottom: 45px;
    width: 185px;
    overflow: hidden;
    padding: 13px;
    border: 1px solid rgba(33,217,243,.16);
    border-radius: 14px;
    background: rgba(3,14,31,.96);
    box-shadow: 0 18px 32px rgba(0,0,0,.38);
  }

  .gsvps2cta__terminal-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .gsvps2cta__terminal-head span {
    color: #7b97ab;
    font-size: 9px;
    font-weight: 800;
  }

  .gsvps2cta__terminal-head i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ps2c-green);
    box-shadow: 0 0 8px rgba(69,223,160,.5);
  }

  .gsvps2cta__terminal-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-top: 10px;
  }

  .gsvps2cta__terminal-body article {
    padding: 7px;
    border: 1px solid rgba(101,146,255,.08);
    border-radius: 8px;
    background: rgba(255,255,255,.017);
    text-align: center;
  }

  .gsvps2cta__terminal-body small,
  .gsvps2cta__terminal-body strong {
    display: block;
  }

  .gsvps2cta__terminal-body small {
    color: #7488a2;
    font-size: 8px;
    font-weight: 750;
  }

  .gsvps2cta__terminal-body strong {
    margin-top: 3px;
    color: #d0dbea;
    font-size: 9px;
  }

  .gsvps2cta__terminal-progress {
    position: relative;
    height: 4px;
    overflow: hidden;
    margin-top: 10px;
    border-radius: 999px;
    background: rgba(33,217,243,.09);
  }

  .gsvps2cta__terminal-progress span {
    position: absolute;
    top: 0;
    left: -42%;
    width: 42%;
    height: 100%;
    border-radius: inherit;
    background:
      linear-gradient(90deg, var(--ps2c-cyan), var(--ps2c-violet));
    animation: gsvps2ctaProgress 2.8s ease-in-out infinite;
  }

  /* NODOS */

  .gsvps2cta__node {
    position: absolute;
    z-index: 10;
    min-width: 118px;
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    padding: 7px;
    border: 1px solid rgba(101,146,255,.19);
    border-radius: 11px;
    background: rgba(6,18,45,.97);
    box-shadow: 0 16px 30px rgba(0,0,0,.29);
  }

  .gsvps2cta__node > span {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: var(--ps2c-cyan);
    background: rgba(33,217,243,.08);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2cta__node small,
  .gsvps2cta__node strong {
    display: block;
  }

  .gsvps2cta__node small {
    color: #8295b3;
    font-size: 9px;
    font-weight: 750;
  }

  .gsvps2cta__node strong {
    margin-top: 2px;
    color: #e6edf9;
    font-size: 10px;
    line-height: 1.35;
  }

  .gsvps2cta__node--model {
    top: 20px;
    left: 0;
  }

  .gsvps2cta__node--symptom {
    top: 68px;
    right: 0;
  }

  .gsvps2cta__node--symptom > span {
    color: var(--ps2c-yellow);
    background: rgba(255,201,94,.08);
  }

  .gsvps2cta__node--history {
    bottom: 38px;
    left: 0;
  }

  .gsvps2cta__node--history > span {
    color: var(--ps2c-violet);
    background: rgba(157,132,255,.08);
  }

  .gsvps2cta__node--result {
    right: 50%;
    bottom: 0;
    transform: translateX(50%);
  }

  .gsvps2cta__node--result > span {
    color: var(--ps2c-green);
    background: rgba(69,223,160,.08);
  }

  .gsvps2cta__visual-status {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  .gsvps2cta__visual-status article {
    padding: 10px 5px;
    border: 1px solid rgba(101,146,255,.08);
    border-radius: 10px;
    background: rgba(255,255,255,.018);
    text-align: center;
  }

  .gsvps2cta__visual-status small,
  .gsvps2cta__visual-status strong {
    display: block;
  }

  .gsvps2cta__visual-status small {
    color: #788dab;
    font-size: 10px;
    font-weight: 750;
  }

  .gsvps2cta__visual-status strong {
    margin-top: 3px;
    color: #d7e1f2;
    font-size: 10px;
  }

  /* SOLICITUD */

  .gsvps2cta__request-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background: rgba(255,255,255,.019);
  }

  .gsvps2cta__request-head small {
    display: block;
    color: #6e849f;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2cta__request-head h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.35;
  }

  .gsvps2cta__request-list {
    display: grid;
    gap: 9px;
  }

  .gsvps2cta__request-list article {
    display: grid !important;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 15px;
    border: 1px solid rgba(101,146,255,.1);
    border-radius: 16px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 38%),
      rgba(255,255,255,.019);
  }

  .gsvps2cta__request-number {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--ps2c-cyan);
    background: rgba(33,217,243,.07);
    font-size: 10px;
    font-weight: 850;
  }

  .gsvps2cta__request-number--yellow {
    color: var(--ps2c-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2cta__request-number--violet {
    color: var(--ps2c-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2cta__request-number--green {
    color: var(--ps2c-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2cta__request-number--red {
    color: var(--ps2c-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2cta__request-list small,
  .gsvps2cta__request-list strong {
    display: block;
  }

  .gsvps2cta__request-list small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2cta__request-list strong {
    margin-top: 4px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.48;
  }

  .gsvps2cta__request-list p {
    margin: 7px 0 0;
    color: #8fa4b5;
    font-size: 12px;
    line-height: 1.62;
  }

  /* WHATSAPP PRINCIPAL */

  .gsvps2cta__whatsapp {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) 40px;
    gap: 14px;
    align-items: center;
    margin-top: 11px;
    padding: 17px;
    border: 1px solid rgba(69,223,160,.25);
    border-radius: 18px;
    color: #ffffff !important;
    background:
      radial-gradient(circle at 0 50%, rgba(255,255,255,.08), transparent 30%),
      linear-gradient(115deg, #08764f, #0eac70 55%, #14c783);
    box-shadow: 0 20px 38px rgba(7,153,96,.2);
    transition:
      transform 220ms ease,
      box-shadow 220ms ease;
  }

  .gsvps2cta__whatsapp:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 44px rgba(7,153,96,.27);
  }

  .gsvps2cta__whatsapp:focus-visible {
    outline: 2px solid #8affc6;
    outline-offset: 3px;
  }

  .gsvps2cta__whatsapp-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: rgba(255,255,255,.1);
  }

  .gsvps2cta__whatsapp small,
  .gsvps2cta__whatsapp strong {
    display: block;
  }

  .gsvps2cta__whatsapp small {
    color: rgba(255,255,255,.7);
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2cta__whatsapp strong {
    margin-top: 3px;
    color: #ffffff;
    font-size: 15px;
    line-height: 1.4;
  }

  .gsvps2cta__whatsapp p {
    margin: 4px 0 0;
    color: rgba(255,255,255,.75);
    font-size: 11px;
  }

  .gsvps2cta__whatsapp-arrow {
    font-size: 26px;
    text-align: center;
  }

  /* SECCIONES */

  .gsvps2cta__section {
    margin-top: clamp(58px, 6vw, 82px);
  }

  .gsvps2cta__section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .68fr);
    gap: 35px;
    align-items: end;
    margin-bottom: 24px;
  }

  .gsvps2cta__section-head small {
    display: block;
    margin-bottom: 7px;
    color: #75e8f8;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2cta__section-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(29px, 3.5vw, 44px);
    line-height: 1.1;
    letter-spacing: -1.3px;
  }

  .gsvps2cta__section-head > p {
    margin: 0;
    color: #91a6b8;
    font-size: 13px;
    line-height: 1.7;
  }

  /* DATOS */

  .gsvps2cta__facts {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2cta__facts article {
    padding: 18px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 18px;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.035), transparent 40%),
      rgba(255,255,255,.021);
  }

  .gsvps2cta__fact-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2c-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2cta__fact-icon--yellow {
    color: var(--ps2c-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2cta__fact-icon--green {
    color: var(--ps2c-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2cta__fact-icon--violet {
    color: var(--ps2c-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2cta__facts small,
  .gsvps2cta__facts strong {
    display: block;
  }

  .gsvps2cta__facts small {
    margin-top: 13px;
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2cta__facts strong {
    margin-top: 6px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2cta__facts p {
    margin: 9px 0 0;
    color: #8b9fb1;
    font-size: 11px;
    line-height: 1.65;
  }

  /* CONTACTO */

  .gsvps2cta__contact-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
  }

  .gsvps2cta__contact-card {
    position: relative;
    display: block;
    padding: 19px 54px 19px 19px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 18px;
    color: inherit !important;
    background:
      radial-gradient(circle at 100% 0%, rgba(64,124,255,.04), transparent 42%),
      rgba(255,255,255,.021);
    transition:
      transform 220ms ease,
      border-color 220ms ease,
      background 220ms ease;
  }

  .gsvps2cta__contact-card:hover {
    transform: translateY(-4px);
    border-color: rgba(33,217,243,.24);
    background:
      radial-gradient(circle at 100% 0%, rgba(33,217,243,.07), transparent 42%),
      rgba(255,255,255,.027);
  }

  .gsvps2cta__contact-card:focus-visible {
    outline: 2px solid var(--ps2c-cyan);
    outline-offset: 3px;
  }

  .gsvps2cta__contact-icon {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--ps2c-cyan);
    background: rgba(33,217,243,.07);
  }

  .gsvps2cta__contact-icon--violet {
    color: var(--ps2c-violet);
    background: rgba(157,132,255,.07);
  }

  .gsvps2cta__contact-icon--green {
    color: var(--ps2c-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2cta__contact-card small,
  .gsvps2cta__contact-card strong {
    display: block;
  }

  .gsvps2cta__contact-card small {
    margin-top: 13px;
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2cta__contact-card strong {
    margin-top: 5px;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2cta__contact-card p {
    margin: 8px 0 0;
    color: #8b9fb1;
    font-size: 11px;
    line-height: 1.65;
  }

  .gsvps2cta__contact-arrow {
    position: absolute;
    top: 50%;
    right: 19px;
    color: #8199b3;
    font-size: 22px;
    transform: translateY(-50%);
  }

  /* UBICACIÓN */

  .gsvps2cta__location {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr);
    gap: 12px;
    margin-top: 18px;
  }

  .gsvps2cta__location-main,
  .gsvps2cta__schedule {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 18px;
    border: 1px solid rgba(101,146,255,.12);
    border-radius: 18px;
    background: rgba(1,9,25,.4);
  }

  .gsvps2cta__location-icon,
  .gsvps2cta__schedule-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--ps2c-green);
    background: rgba(69,223,160,.07);
  }

  .gsvps2cta__schedule-icon {
    color: var(--ps2c-yellow);
    background: rgba(255,201,94,.07);
  }

  .gsvps2cta__location small,
  .gsvps2cta__location strong {
    display: block;
  }

  .gsvps2cta__location small {
    color: #7186a2;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2cta__location h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 15px;
    line-height: 1.45;
  }

  .gsvps2cta__location p {
    margin: 5px 0 0;
    color: #8b9fb1;
    font-size: 11px;
    line-height: 1.55;
  }

  .gsvps2cta__schedule strong {
    margin-top: 4px;
    color: #f1e9d5;
    font-size: 13px;
    line-height: 1.5;
  }

  /* ADVERTENCIA */

  .gsvps2cta__warning {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(255,101,120,.15);
    border-radius: 18px;
    background:
      radial-gradient(circle at 0 50%, rgba(255,101,120,.05), transparent 28%),
      rgba(1,9,25,.4);
  }

  .gsvps2cta__warning > span {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    color: var(--ps2c-red);
    background: rgba(255,101,120,.07);
  }

  .gsvps2cta__warning small,
  .gsvps2cta__warning strong {
    display: block;
  }

  .gsvps2cta__warning small {
    color: #a87884;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2cta__warning strong {
    margin-top: 4px;
    color: #f0dde2;
    font-size: 13px;
    line-height: 1.5;
  }

  .gsvps2cta__warning p {
    margin: 6px 0 0;
    color: #a59097;
    font-size: 11px;
    line-height: 1.62;
  }

  /* CTA FINAL */

  .gsvps2cta__final {
    display: flex !important;
    justify-content: space-between;
    gap: 28px;
    align-items: center;
    margin-top: 18px;
    padding: 22px;
    border: 1px solid rgba(33,217,243,.16);
    border-radius: 21px;
    background:
      radial-gradient(circle at 0 50%, rgba(33,217,243,.06), transparent 32%),
      radial-gradient(circle at 100% 50%, rgba(157,132,255,.055), transparent 32%),
      rgba(1,9,25,.48);
    box-shadow: 0 24px 50px rgba(0,0,0,.17);
  }

  .gsvps2cta__final-copy {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
  }

  .gsvps2cta__final-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: var(--ps2c-cyan);
    background: rgba(33,217,243,.08);
  }

  .gsvps2cta__final-copy small {
    display: block;
    color: #75a6b3;
    font-size: 10px;
    font-weight: 800;
  }

  .gsvps2cta__final-copy h3 {
    margin: 4px 0 0;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.35;
  }

  .gsvps2cta__final-copy p {
    margin: 6px 0 0;
    color: #8da4b6;
    font-size: 11px;
    line-height: 1.6;
  }

  .gsvps2cta__final-actions {
    display: flex;
    gap: 9px;
    flex: 0 0 auto;
  }

  .gsvps2cta__button {
    min-height: 49px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 16px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 800;
    transition:
      transform 220ms ease,
      box-shadow 220ms ease;
  }

  .gsvps2cta__button:hover {
    transform: translateY(-3px);
  }

  .gsvps2cta__button:focus-visible {
    outline: 2px solid var(--ps2c-cyan);
    outline-offset: 3px;
  }

  .gsvps2cta__button--secondary {
    border: 1px solid rgba(101,146,255,.18);
    color: #e5efff !important;
    background: rgba(64,124,255,.045);
  }

  .gsvps2cta__button--whatsapp {
    border: 1px solid rgba(69,223,160,.26);
    color: #ffffff !important;
    background: linear-gradient(110deg, #089d65, #13c982);
    box-shadow: 0 16px 32px rgba(16,191,124,.18);
  }

  .gsvps2cta__disclaimer {
    margin: 17px auto 0 !important;
    color: #647996;
    font-size: 10px;
    line-height: 1.7;
    text-align: center;
  }

  /* ANIMACIONES */

  @keyframes gsvps2ctaPulse {
    0%,
    100% {
      opacity: .5;
      transform: scale(.88);
    }

    50% {
      opacity: 1;
      transform: scale(1.12);
    }
  }

  @keyframes gsvps2ctaOrbit {
    0%,
    100% {
      opacity: .22;
      transform: translate(-50%, -50%) scale(.96);
    }

    50% {
      opacity: .62;
      transform: translate(-50%, -50%) scale(1.04);
    }
  }

  @keyframes gsvps2ctaSignal {
    0%,
    100% {
      opacity: .2;
      transform: scaleX(.65);
    }

    50% {
      opacity: .9;
      transform: scaleX(1);
    }
  }

  @keyframes gsvps2ctaDevice {
    0%,
    100% {
      transform: translate(-50%, -50%) rotate(-1deg) translateY(0);
    }

    50% {
      transform: translate(-50%, -50%) rotate(-.25deg) translateY(-7px);
    }
  }

  @keyframes gsvps2ctaScan {
    0%,
    100% {
      top: 14%;
      opacity: .2;
    }

    50% {
      top: 86%;
      opacity: .9;
    }
  }

  @keyframes gsvps2ctaProgress {
    0% {
      left: -42%;
    }

    50% {
      left: 58%;
    }

    100% {
      left: -42%;
    }
  }

  /* TABLETA */

  @media (max-width: 1080px) {

    .gsvps2cta__layout {
      grid-template-columns: 1fr;
    }

    .gsvps2cta__visual {
      position: relative;
      top: auto;
      width: min(760px, 100%);
      margin: 0 auto;
    }

    .gsvps2cta__facts {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

  }

  @media (max-width: 900px) {

    .gsvps2cta__header,
    .gsvps2cta__section-head {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .gsvps2cta__contact-grid,
    .gsvps2cta__location {
      grid-template-columns: 1fr;
    }

    .gsvps2cta__final {
      flex-direction: column;
      align-items: stretch;
    }

    .gsvps2cta__final-actions {
      width: 100%;
    }

    .gsvps2cta__button {
      flex: 1 1 0;
    }

  }

  @container (max-width: 900px) {

    .gsvps2cta__header,
    .gsvps2cta__layout,
    .gsvps2cta__section-head {
      grid-template-columns: 1fr;
    }

  }

  /* MÓVIL */

  @media (max-width: 700px) {

    .gsvps2cta {
      padding: 66px 17px 72px !important;
    }

    .gsvps2cta__panel {
      padding: 19px 17px;
      border-radius: 23px;
      backdrop-filter: none;
    }

    .gsvps2cta__visual {
      padding: 18px 16px;
      backdrop-filter: none;
    }

    .gsvps2cta__facts {
      grid-template-columns: 1fr;
    }

    .gsvps2cta__final-actions {
      flex-direction: column;
    }

    .gsvps2cta__glow {
      display: none;
    }

    .gsvps2cta__eyebrow > span,
    .gsvps2cta__orbit,
    .gsvps2cta__signal,
    .gsvps2cta__device,
    .gsvps2cta__scan,
    .gsvps2cta__terminal-progress span {
      animation: none;
    }

    .gsvps2cta__device {
      transform: translate(-50%, -50%) rotate(-.4deg);
    }

    .gsvps2cta__whatsapp,
    .gsvps2cta__contact-card,
    .gsvps2cta__button {
      transition: none;
    }

    .gsvps2cta__whatsapp:hover,
    .gsvps2cta__contact-card:hover,
    .gsvps2cta__button:hover {
      transform: none;
    }

  }

  @media (max-width: 560px) {

    .gsvps2cta__header h2 {
      font-size: clamp(36px, 11vw, 49px);
    }

    .gsvps2cta__header-note,
    .gsvps2cta__location-main,
    .gsvps2cta__schedule,
    .gsvps2cta__warning,
    .gsvps2cta__final-copy {
      grid-template-columns: 1fr;
    }

    .gsvps2cta__panel-status > strong,
    .gsvps2cta__request-head > span {
      display: none;
    }

    .gsvps2cta__request-head {
      display: block;
    }

    .gsvps2cta__stage {
      height: 390px;
    }

    .gsvps2cta__device {
      width: 475px;
      max-width: 140%;
    }

    .gsvps2cta__terminal,
    .gsvps2cta__visual-status {
      display: none !important;
    }

    .gsvps2cta__whatsapp {
      grid-template-columns: 50px minmax(0, 1fr);
    }

    .gsvps2cta__whatsapp-arrow {
      display: none;
    }

  }

  @media (max-width: 390px) {

    .gsvps2cta {
      padding-right: 14px !important;
      padding-left: 14px !important;
    }

    .gsvps2cta__panel,
    .gsvps2cta__visual,
    .gsvps2cta__location-main,
    .gsvps2cta__schedule,
    .gsvps2cta__warning,
    .gsvps2cta__final {
      padding-right: 14px;
      padding-left: 14px;
    }

    .gsvps2cta__stage {
      height: 360px;
    }

    .gsvps2cta__device {
      width: 405px;
      max-width: 145%;
    }

    .gsvps2cta__node {
      min-width: 82px;
      grid-template-columns: 26px minmax(0, 1fr);
      gap: 5px;
      padding: 5px;
    }

    .gsvps2cta__node > span {
      width: 26px;
      height: 26px;
    }

    .gsvps2cta__node small {
      font-size: 8px;
    }

    .gsvps2cta__node strong {
      font-size: 9px;
    }

    .gsvps2cta__request-list article {
      grid-template-columns: 39px minmax(0, 1fr);
      gap: 10px;
      padding: 13px;
    }

    .gsvps2cta__request-number {
      width: 39px;
      height: 39px;
    }

    .gsvps2cta__whatsapp {
      grid-template-columns: 44px minmax(0, 1fr);
      gap: 10px;
      padding: 14px;
    }

    .gsvps2cta__whatsapp-icon {
      width: 44px;
      height: 44px;
    }

    .gsvps2cta__whatsapp strong {
      font-size: 13px;
    }

  }

  @media (prefers-reduced-motion: reduce) {

    .gsvps2cta__eyebrow > span,
    .gsvps2cta__orbit,
    .gsvps2cta__signal,
    .gsvps2cta__device,
    .gsvps2cta__scan,
    .gsvps2cta__terminal-progress span {
      animation: none !important;
    }

    .gsvps2cta__whatsapp,
    .gsvps2cta__contact-card,
    .gsvps2cta__button {
      transition: none !important;
    }

  }
