/* =========================================================
   GS FRONTEND CORE 0.44.0
   CONTACTO
   6 secciones
   ========================================================= */

/* ===== HERO · contacto-inicio ===== */
.gschero {
    --gschero-cyan: #24d7f3;
    --gschero-blue: #237cff;
--gschero-green: #45d795;
    --gschero-white: #ffffff;
    --gschero-text: #b7c8dc;
    --gschero-muted: #7f96ae;
position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    padding: clamp(85px, 9vw, 138px) 24px 0;
    color: var(--gschero-white);
    background:
      radial-gradient(
        circle at 9% 18%,
        rgba(36, 215, 243, 0.14),
        transparent 30%
      ),
      radial-gradient(
        circle at 91% 30%,
        rgba(35, 124, 255, 0.19),
        transparent 34%
      ),
      linear-gradient(
        118deg,
        #020914 0%,
        #05162c 52%,
        #0b2450 100%
      );
    font-family:var(--gs-font-sans);
  }

  .gschero *,
  .gschero *::before,
  .gschero *::after {
    box-sizing: border-box;
  }

  .gschero__grid {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: 0.32;
    pointer-events: none;
    background-image:
      linear-gradient(
        rgba(56, 146, 220, 0.09) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(56, 146, 220, 0.09) 1px,
        transparent 1px
      ),
      radial-gradient(
        circle,
        rgba(36, 215, 243, 0.28) 1px,
        transparent 1.5px
      );
    background-size:
      72px 72px,
      72px 72px,
      36px 36px;
    mask-image:
      linear-gradient(
        to bottom,
        black,
        black 82%,
        transparent
      );
  }

  .gschero__glow {
    position: absolute;
    z-index: -2;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    filter: blur(125px);
    pointer-events: none;
  }

  .gschero__glow--cyan {
    top: 12%;
    left: -170px;
    opacity: 0.11;
    background: var(--gschero-cyan);
  }

  .gschero__glow--blue {
    top: 5%;
    right: -150px;
    opacity: 0.15;
    background: var(--gschero-blue);
  }

  .gschero__wrap {
    width: min(1240px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns:
      minmax(0, 1.05fr)
      minmax(390px, 0.78fr);
    gap: clamp(50px, 7vw, 100px);
    align-items: center;
  }

  /* =========================================================
     CONTENIDO
     ========================================================= */

  .gschero__content {
    position: relative;
    z-index: 2;
    padding-bottom: clamp(68px, 8vw, 110px);
  }

  .gschero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 21px;
    color: #83dcff;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
  }

  .gschero__eyebrow-dot {
    position: relative;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--gschero-green);
    box-shadow:
      0 0 0 6px rgba(69, 215, 149, 0.08),
      0 0 17px rgba(69, 215, 149, 0.64);
  }

  .gschero__eyebrow-dot::after {
    content: "";
    position: absolute;
    inset: -6px;
    border: 1px solid rgba(69, 215, 149, 0.23);
    border-radius: 50%;
    animation: gscheroStatusPulse 2.4s ease-out infinite;
  }

  .gschero h1 {
    max-width: 780px;
    margin: 0;
    color: #ffffff;
    font-size: clamp(45px, 5.5vw, 76px);
    line-height: 1.02;
    font-weight: 850;
    letter-spacing: -0.055em;
  }

  .gschero h1 span {
    display: block;
    margin-top: 5px;
    color: transparent;
    background:
      linear-gradient(
        90deg,
        #73dcff,
        var(--gschero-cyan) 46%,
        #6491ff
      );
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gschero__description {
    max-width: 680px;
    margin: 25px 0 0;
    color: var(--gschero-text);
    font-size: clamp(16px, 1.4vw, 19px);
    line-height: 1.78;
  }

  .gschero__hub {
    width: min(700px, 100%);
    margin-top: 30px;
  }

  .gschero__hub-title {
    margin: 0 0 12px;
    color: #ddecfb;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
  }

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

  .gschero__hub-card {
    min-width: 0;
    min-height: 78px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 15px;
    border: 1px solid rgba(104, 181, 241, 0.22);
    border-radius: 18px;
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.045);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
    text-align: left;
    text-decoration: none !important;
    backdrop-filter: blur(10px);
    transition:
      transform 220ms ease,
      border-color 220ms ease,
      background-color 220ms ease,
      box-shadow 220ms ease;
  }

  .gschero__hub-card:hover {
    transform: translateY(-3px);
    border-color: rgba(36, 215, 243, 0.48);
    color: #ffffff !important;
    background-color: rgba(36, 215, 243, 0.075);
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.06),
      0 13px 28px rgba(0, 11, 27, 0.22);
  }

  .gschero__hub-card--whatsapp {
    border-color: rgba(69, 215, 149, 0.28);
    background-color: rgba(37, 211, 102, 0.095);
  }

  .gschero__hub-card--whatsapp:hover {
    border-color: rgba(69, 215, 149, 0.55);
    background-color: rgba(37, 211, 102, 0.14);
  }

  .gschero__hub-card--whatsapp .gs-global-wa-icon {
    width: 23px;
    height: 23px;
    min-width: 23px;
    min-height: 23px;
    max-width: 23px;
    max-height: 23px;
    margin-right: 0;
    flex: 0 0 23px;
  }

  .gschero__hub-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(82, 181, 241, 0.25);
    border-radius: 12px;
    color: var(--gschero-cyan);
    background-color: rgba(36, 215, 243, 0.06);
  }

  .gschero__hub-icon svg,
  .gschero__hub-meta svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gschero__hub-icon svg {
    width: 20px;
    height: 20px;
  }

  .gschero__hub-copy {
    min-width: 0;
    display: block;
  }

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

  .gschero__hub-copy strong {
    color: #f4f9ff;
    font-size: 13px;
    line-height: 1.25;
    font-weight: 800;
  }

  .gschero__hub-copy small {
    margin-top: 4px;
    color: #91a9c1;
    font-size: 10px;
    line-height: 1.35;
    font-weight: 650;
  }

  .gschero__hub-arrow {
    margin-left: auto;
    flex: 0 0 auto;
    color: #79dfff;
    font-size: 18px;
    line-height: 1;
    transition: transform 220ms ease;
  }

  .gschero__hub-card:hover .gschero__hub-arrow {
    transform: translateX(3px);
  }

  .gschero__quick-info {
    display: flex;
    flex-wrap: wrap;
    gap: 13px 26px;
    margin-top: 31px;
    padding-top: 27px;
    border-top: 1px solid rgba(108, 175, 227, 0.15);
  }

  .gschero__quick-item {
    min-width: 230px;
    display: flex;
    align-items: center;
    gap: 11px;
  }

  .gschero__quick-icon {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(74, 174, 237, 0.23);
    border-radius: 12px;
    color: var(--gschero-cyan);
    background: rgba(36, 215, 243, 0.065);
  }

  .gschero__quick-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gschero__quick-item small,
  .gschero__quick-item strong,
  .gschero__quick-item a {
    display: block;
  }

  .gschero__quick-item small {
    margin-bottom: 3px;
    color: var(--gschero-muted);
    font-size: 9px;
    line-height: 1.3;
  }

  .gschero__quick-item strong,
  .gschero__quick-item a {
    color: #e8f3ff !important;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 700;
    text-decoration: none !important;
  }

  .gschero__quick-item a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
  }

  /* =========================================================
     PANEL VISUAL
     ========================================================= */

  .gschero__visual {
    position: relative;
    min-height: 540px;
    display: grid;
    place-items: center;
    padding-bottom: 55px;
  }

  .gschero__visual-card {
    position: relative;
    z-index: 2;
    width: min(430px, 100%);
    min-height: 430px;
    overflow: hidden;
    padding: 25px;
    border: 1px solid rgba(93, 175, 255, 0.22);
    border-radius: 35px;
    background:
      radial-gradient(
        circle at 50% 45%,
        rgba(36, 215, 243, 0.12),
        transparent 44%
      ),
      linear-gradient(
        145deg,
        rgba(17, 52, 89, 0.75),
        rgba(4, 17, 35, 0.9)
      );
    box-shadow:
      0 35px 80px rgba(0, 0, 0, 0.32),
      0 0 42px rgba(36, 215, 243, 0.06),
      inset 0 1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(16px);
  }

  .gschero__visual-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
      linear-gradient(
        rgba(62, 157, 220, 0.06) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(62, 157, 220, 0.06) 1px,
        transparent 1px
      );
    background-size: 30px 30px;
    mask-image:
      radial-gradient(
        circle at center,
        black,
        transparent 76%
      );
  }

  .gschero__visual-label {
    position: relative;
    z-index: 2;
    min-height: 31px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border: 1px solid rgba(85, 185, 244, 0.23);
    border-radius: 999px;
    color: #92ddff;
    background: rgba(3, 17, 34, 0.56);
    font-size: 9px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.85px;
    text-transform: uppercase;
  }

  .gschero__visual-label i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gschero-green);
    box-shadow: 0 0 12px rgba(69, 215, 149, 0.7);
  }

  .gschero__radar {
    position: relative;
    width: 300px;
    height: 300px;
    margin: 12px auto 0;
    display: grid;
    place-items: center;
  }

  .gschero__radar-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(73, 183, 242, 0.18);
    border-radius: 50%;
    transform: translate(-50%, -50%);
  }

  .gschero__radar-ring--1 {
    width: 255px;
    height: 255px;
  }

  .gschero__radar-ring--2 {
    width: 185px;
    height: 185px;
  }

  .gschero__radar-ring--3 {
    width: 112px;
    height: 112px;
  }

  .gschero__radar-line {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 128px;
    height: 128px;
    overflow: hidden;
    transform-origin: left top;
    animation: gscheroRadar 7s linear infinite;
  }

  .gschero__radar-line::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      conic-gradient(
        from 270deg at 0 0,
        rgba(36, 215, 243, 0.28),
        transparent 45deg
      );
  }

  .gschero__center-icon {
    position: relative;
    z-index: 3;
    width: 82px;
    height: 82px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(99, 200, 249, 0.43);
    border-radius: 26px;
    color: #88e4ff;
    background:
      linear-gradient(
        145deg,
        rgba(36, 215, 243, 0.16),
        rgba(35, 124, 255, 0.09)
      );
    box-shadow:
      0 0 0 10px rgba(36, 215, 243, 0.035),
      0 0 30px rgba(36, 215, 243, 0.14),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
    animation: gscheroCenterFloat 4s ease-in-out infinite;
  }

  .gschero__center-icon svg {
    width: 43px;
    height: 43px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gschero__signal {
    position: absolute;
    width: 12px;
    height: 12px;
    border: 2px solid var(--gschero-cyan);
    border-radius: 50%;
    background: #09213c;
    box-shadow:
      0 0 0 7px rgba(36, 215, 243, 0.045),
      0 0 15px rgba(36, 215, 243, 0.44);
    animation: gscheroSignal 2.8s ease-in-out infinite;
  }

  .gschero__signal--one {
    top: 57px;
    right: 68px;
  }

  .gschero__signal--two {
    bottom: 70px;
    left: 51px;
    animation-delay: -0.9s;
  }

  .gschero__signal--three {
    right: 42px;
    bottom: 92px;
    animation-delay: -1.7s;
  }

  .gschero__status-row {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 15px;
    border-top: 1px solid rgba(90, 170, 228, 0.14);
    color: #93abc0;
    font-size: 9px;
  }

  .gschero__status-row > div {
    display: flex;
    align-items: center;
    gap: 7px;
  }

  .gschero__status-row strong {
    color: #ddecfa;
    font-size: 10px;
  }

  .gschero__status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gschero-green);
    box-shadow: 0 0 11px rgba(69, 215, 149, 0.68);
  }

  .gschero__mini-card {
    position: absolute;
    z-index: 4;
    min-height: 74px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 15px;
    border: 1px solid rgba(92, 174, 255, 0.21);
    border-radius: 18px;
    background: rgba(5, 21, 42, 0.91);
    box-shadow:
      0 18px 35px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(13px);
  }

  .gschero__mini-card--diagnosis {
    left: -32px;
    bottom: 60px;
    width: 245px;
    animation: gscheroMiniLeft 5s ease-in-out infinite;
  }

  .gschero__mini-card--experience {
    right: -20px;
    top: 88px;
    width: 220px;
    animation: gscheroMiniRight 5.5s ease-in-out infinite;
  }

  .gschero__mini-icon {
    width: 41px;
    height: 41px;
    flex: 0 0 41px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(60, 193, 247, 0.3);
    border-radius: 13px;
    color: var(--gschero-cyan);
    background: rgba(36, 215, 243, 0.08);
  }

  .gschero__mini-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gschero__mini-card--experience .gschero__mini-icon svg {
    fill: rgba(36, 215, 243, 0.1);
  }

  .gschero__mini-card small,
  .gschero__mini-card strong {
    display: block;
  }

  .gschero__mini-card small {
    margin-bottom: 4px;
    color: #748da5;
    font-size: 8px;
    line-height: 1.3;
  }

  .gschero__mini-card strong {
    color: #e8f4ff;
    font-size: 10px;
    line-height: 1.4;
  }

  /* =========================================================
     FRANJA INFERIOR
     ========================================================= */

  .gschero__bottom {
    border-top: 1px solid rgba(91, 170, 226, 0.15);
    background: rgba(2, 11, 24, 0.48);
    backdrop-filter: blur(10px);
  }

  .gschero__bottom-wrap {
    width: min(1240px, calc(100% - 48px));
    min-height: 78px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 16px 0;
  }

  .gschero__bottom-message {
    display: flex;
    align-items: center;
    gap: 11px;
  }

  .gschero__bottom-message > span {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 190, 77, 0.22);
    border-radius: 11px;
    color: #ffc45c;
    background: rgba(255, 173, 43, 0.06);
  }

  .gschero__bottom-message svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gschero__bottom-message p {
    max-width: 710px;
    margin: 0;
    color: #879db2;
    font-size: 9px;
    line-height: 1.55;
  }

  .gschero__bottom-badge {
    flex: 0 0 auto;
    padding: 8px 12px;
    border: 1px solid rgba(92, 174, 255, 0.16);
    border-radius: 999px;
    color: #89badc;
    background: rgba(35, 124, 255, 0.05);
    font-size: 8px;
    font-weight: 700;
  }

  /* =========================================================
     ANIMACIONES
     ========================================================= */

  @keyframes gscheroStatusPulse {
    0% {
      opacity: 0.7;
      transform: scale(0.7);
    }

    100% {
      opacity: 0;
      transform: scale(1.6);
    }
  }

  @keyframes gscheroRadar {
    from {
      transform: rotate(0deg);
    }

    to {
      transform: rotate(360deg);
    }
  }

  @keyframes gscheroCenterFloat {
    0%,
    100% {
      transform: translateY(0);
    }

    50% {
      transform: translateY(-7px);
    }
  }

  @keyframes gscheroSignal {
    0%,
    100% {
      opacity: 0.45;
      transform: scale(0.85);
    }

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

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

    50% {
      transform: translateY(-7px) rotate(0deg);
    }
  }

  @keyframes gscheroMiniRight {
    0%,
    100% {
      transform: translateY(0) rotate(1deg);
    }

    50% {
      transform: translateY(7px) rotate(0deg);
    }
  }

  /* =========================================================
     TABLETA
     ========================================================= */

  @media (max-width: 1100px) {
    .gschero__wrap {
      grid-template-columns:
        minmax(0, 1fr)
        minmax(340px, 0.75fr);
      gap: 45px;
    }

    .gschero__mini-card--diagnosis {
      left: -10px;
    }

    .gschero__mini-card--experience {
      right: -5px;
    }
  }

  @media (max-width: 900px) {
    .gschero {
      padding-top: 85px;
    }

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

    .gschero__content {
      padding-bottom: 10px;
      text-align: center;
    }

    .gschero__eyebrow {
      justify-content: center;
    }

    .gschero__hub {
      margin-right: auto;
      margin-left: auto;
      text-align: left;
    }

    .gschero__quick-info {
      width: min(700px, 100%);
      margin-right: auto;
      margin-left: auto;
      justify-content: center;
    }

    .gschero__description {
      margin-right: auto;
      margin-left: auto;
    }


    .gschero__visual {
      width: min(520px, 100%);
      margin: 0 auto;
      min-height: 515px;
    }

    .gschero__bottom-wrap {
      flex-direction: column;
      align-items: flex-start;
    }
  }

  /* =========================================================
     MÓVIL
     ========================================================= */

  @media (max-width: 600px) {
    .gschero {
      padding: 68px 17px 0;
    }

    .gschero h1 {
      font-size: clamp(39px, 12vw, 55px);
      letter-spacing: -0.047em;
    }

    .gschero__description {
      font-size: 15px;
      line-height: 1.7;
    }

    .gschero__hub-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 9px;
    }

    .gschero__hub-card {
      min-height: 88px;
      align-items: flex-start;
      padding: 13px 12px;
    }

    .gschero__hub-icon {
      width: 33px;
      height: 33px;
      flex-basis: 33px;
    }

    .gschero__hub-card--whatsapp .gs-global-wa-icon {
      width: 21px;
      height: 21px;
      min-width: 21px;
      min-height: 21px;
      max-width: 21px;
      max-height: 21px;
      flex-basis: 21px;
      margin-top: 5px;
    }

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

    .gschero__hub-copy small {
      font-size: 9px;
    }

    .gschero__hub-arrow {
      display: none;
    }

    .gschero__quick-info {
      display: grid;
      grid-template-columns: 1fr;
    }

    .gschero__quick-item {
      min-width: 0;
      text-align: left;
    }

    .gschero__visual {
      min-height: 440px;
      padding-bottom: 35px;
    }

    .gschero__visual-card {
      min-height: 365px;
      padding: 20px;
      border-radius: 28px;
    }

    .gschero__radar {
      width: 260px;
      height: 255px;
    }

    .gschero__radar-ring--1 {
      width: 230px;
      height: 230px;
    }

    .gschero__radar-ring--2 {
      width: 165px;
      height: 165px;
    }

    .gschero__radar-ring--3 {
      width: 100px;
      height: 100px;
    }

    .gschero__radar-line {
      width: 115px;
      height: 115px;
    }

    .gschero__mini-card {
      min-height: 66px;
      padding: 10px 12px;
    }

    .gschero__mini-card--diagnosis {
      left: -4px;
      bottom: 25px;
      width: 222px;
    }

    .gschero__mini-card--experience {
      top: 73px;
      right: -4px;
      width: 194px;
    }

    .gschero__mini-icon {
      width: 37px;
      height: 37px;
      flex-basis: 37px;
    }

    .gschero__bottom {
      margin-right: -17px;
      margin-left: -17px;
    }

    .gschero__bottom-wrap {
      width: calc(100% - 34px);
    }

    .gschero__bottom-badge {
      white-space: normal;
    }
  }

  @media (max-width: 390px) {
    .gschero__hub-grid {
      grid-template-columns: 1fr;
    }

    .gschero__hub-card {
      min-height: 72px;
      align-items: center;
    }

    .gschero__hub-arrow {
      display: inline-block;
    }
  }

  @media (max-width: 420px) {
    .gschero__eyebrow {
      font-size: 9px;
      letter-spacing: 1.35px;
    }

    .gschero__visual {
      min-height: 430px;
    }

    .gschero__radar {
      transform: scale(0.89);
    }

    .gschero__mini-card--experience {
      top: 76px;
      right: -8px;
      width: 183px;
    }

    .gschero__mini-card--diagnosis {
      left: -8px;
      width: 210px;
    }

    .gschero__mini-card strong {
      font-size: 9px;
    }
  }

  /* =========================================================
     ACCESIBILIDAD
     ========================================================= */

  @media (prefers-reduced-motion: reduce) {
    .gschero__eyebrow-dot::after,
    .gschero__radar-line,
    .gschero__center-icon,
    .gschero__signal,
    .gschero__mini-card {
      animation: none !important;
    }

    .gschero__hub-card,
    .gschero__hub-arrow {
      transition: none;
    }
  }

.gschero a:focus-visible,
.gschero button:focus-visible,
.gschero summary:focus-visible,
.gschero input:focus-visible,
.gschero select:focus-visible,
.gschero textarea:focus-visible{
    outline:2px solid var(--gschero-cyan) !important;
    outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
    .gschero,
    .gschero *,
    .gschero *::before,
    .gschero *::after{
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }
}


/* ===== FORMULARIO DE ORIENTACIÓN · gs-contacto-formulario ===== */
.gscform {
    --gscform-cyan: #24d7f3;
    --gscform-blue: #237cff;
--gscform-green: #45d795;
    --gscform-yellow: #ffc45c;
    --gscform-white: #ffffff;
    --gscform-text: #b7c8dc;
    --gscform-muted: #7f96ae;
position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    padding: clamp(78px, 8vw, 120px) 24px;
    color: var(--gscform-white);
    background:
      radial-gradient(
        circle at 8% 25%,
        rgba(36, 215, 243, 0.12),
        transparent 31%
      ),
      radial-gradient(
        circle at 94% 80%,
        rgba(35, 124, 255, 0.17),
        transparent 34%
      ),
      linear-gradient(
        118deg,
        #020914 0%,
        #05162c 52%,
        #0a2247 100%
      );
    font-family:var(--gs-font-sans);
  }

  .gscform *,
  .gscform *::before,
  .gscform *::after {
    box-sizing: border-box;
  }

  .gscform__grid {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: 0.27;
    pointer-events: none;
    background-image:
      linear-gradient(
        rgba(56, 146, 220, 0.08) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(56, 146, 220, 0.08) 1px,
        transparent 1px
      ),
      radial-gradient(
        circle,
        rgba(36, 215, 243, 0.25) 1px,
        transparent 1.5px
      );
    background-size:
      72px 72px,
      72px 72px,
      36px 36px;
  }

  .gscform__glow {
    position: absolute;
    z-index: -2;
    width: 440px;
    height: 440px;
    border-radius: 50%;
    filter: blur(130px);
    pointer-events: none;
  }

  .gscform__glow--cyan {
    top: 10%;
    left: -190px;
    opacity: 0.1;
    background: var(--gscform-cyan);
  }

  .gscform__glow--blue {
    right: -170px;
    bottom: 5%;
    opacity: 0.14;
    background: var(--gscform-blue);
  }

  .gscform__wrap {
    width: min(1240px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns:
      minmax(0, 0.85fr)
      minmax(460px, 1.15fr);
    gap: clamp(45px, 7vw, 92px);
    align-items: start;
  }

  /* INFORMACIÓN */

  .gscform__info {
    position: sticky;
    top: 35px;
  }

  .gscform__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 19px;
    color: #83dcff;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
  }

  .gscform__eyebrow > span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--gscform-green);
    box-shadow:
      0 0 0 6px rgba(69, 215, 149, 0.08),
      0 0 17px rgba(69, 215, 149, 0.6);
  }

  .gscform__info h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(39px, 4.3vw, 61px);
    line-height: 1.04;
    font-weight: 850;
    letter-spacing: -0.05em;
  }

  .gscform__info h2 span {
    display: block;
    margin-top: 4px;
    color: transparent;
    background:
      linear-gradient(
        90deg,
        #73dcff,
        var(--gscform-cyan) 48%,
        #6491ff
      );
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gscform__description {
    margin: 22px 0 0;
    color: var(--gscform-text);
    font-size: 15px;
    line-height: 1.75;
  }

  .gscform__cards {
    display: grid;
    gap: 11px;
    margin-top: 29px;
  }

  .gscform__info-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 13px;
    padding: 15px;
    border: 1px solid rgba(92, 174, 255, 0.14);
    border-radius: 17px;
    background: rgba(255, 255, 255, 0.027);
    transition:
      transform 240ms ease,
      border-color 240ms ease,
      background-color 240ms ease;
  }

  .gscform__info-card:hover {
    transform: translateX(5px);
    border-color: rgba(36, 215, 243, 0.31);
    background: rgba(36, 215, 243, 0.045);
  }

  .gscform__info-icon {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(36, 215, 243, 0.25);
    border-radius: 13px;
    color: var(--gscform-cyan);
    background: rgba(36, 215, 243, 0.07);
  }

  .gscform__info-icon--warning {
    color: var(--gscform-yellow);
    border-color: rgba(255, 196, 92, 0.23);
    background: rgba(255, 196, 92, 0.06);
  }

  .gscform__info-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gscform__info-card strong {
    display: block;
    margin: 1px 0 5px;
    color: #e9f4ff;
    font-size: 11px;
    line-height: 1.4;
  }

  .gscform__info-card p {
    margin: 0;
    color: #8097ad;
    font-size: 9px;
    line-height: 1.6;
  }

  .gscform__direct {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(92, 174, 255, 0.14);
  }

  .gscform__direct-item {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 10px;
    border: 1px solid rgba(92, 174, 255, 0.14);
    border-radius: 14px;
    color: inherit !important;
    background: rgba(255, 255, 255, 0.025);
    text-decoration: none !important;
  }

  .gscform__direct-item > span {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--gscform-cyan);
    background: rgba(36, 215, 243, 0.065);
  }

  .gscform__direct-item svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gscform__direct-item small,
  .gscform__direct-item strong {
    display: block;
    overflow-wrap: anywhere;
  }

  .gscform__direct-item small {
    margin-bottom: 2px;
    color: var(--gscform-muted);
    font-size: 7px;
  }

  .gscform__direct-item strong {
    color: #dceeff;
    font-size: 8px;
    line-height: 1.4;
  }

  /* PANEL */

  .gscform__panel {
    position: relative;
    overflow: hidden;
    padding: clamp(25px, 3vw, 39px);
    border: 1px solid rgba(92, 174, 255, 0.2);
    border-radius: 30px;
    background:
      radial-gradient(
        circle at 100% 0%,
        rgba(35, 124, 255, 0.16),
        transparent 34%
      ),
      linear-gradient(
        145deg,
        rgba(15, 47, 84, 0.74),
        rgba(4, 17, 35, 0.94)
      );
    box-shadow:
      0 32px 75px rgba(0, 0, 0, 0.3),
      0 0 35px rgba(36, 215, 243, 0.045),
      inset 0 1px 0 rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(14px);
  }

  .gscform__panel::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.45;
    background-image:
      linear-gradient(
        rgba(66, 157, 220, 0.045) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(66, 157, 220, 0.045) 1px,
        transparent 1px
      );
    background-size: 30px 30px;
    mask-image:
      radial-gradient(
        circle at 75% 25%,
        black,
        transparent 70%
      );
  }

  .gscform__panel-head,
  .gscform__form {
    position: relative;
    z-index: 2;
  }

  .gscform__panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 27px;
    padding-bottom: 23px;
    border-bottom: 1px solid rgba(92, 174, 255, 0.14);
  }

  .gscform__panel-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 11px;
    color: #7ed9b1;
    font-size: 8px;
    font-weight: 750;
    letter-spacing: 0.8px;
    text-transform: uppercase;
  }

  .gscform__panel-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gscform-green);
    box-shadow: 0 0 12px rgba(69, 215, 149, 0.68);
  }

  .gscform__panel-head h3 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(22px, 2.2vw, 29px);
    line-height: 1.25;
    font-weight: 750;
    letter-spacing: -0.55px;
  }

  .gscform__panel-head p {
    max-width: 530px;
    margin: 8px 0 0;
    color: #8399ae;
    font-size: 10px;
    line-height: 1.6;
  }

  .gscform__panel-number {
    color: rgba(255, 255, 255, 0.08);
    font-size: 50px;
    line-height: 1;
    font-weight: 850;
  }

  /* CAMPOS */

  .gscform__form {
    display: grid;
    gap: 17px;
  }

  .gscform__field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .gscform__field {
    display: grid;
    gap: 7px;
  }

  .gscform__field > span:first-child {
    color: #b9cbe0;
    font-size: 9px;
    line-height: 1.4;
    font-weight: 700;
  }

  .gscform__field > span:first-child i {
    color: var(--gscform-cyan);
    font-style: normal;
  }

  .gscform__input {
    min-height: 52px;
    display: grid;
    grid-template-columns: 21px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    border: 1px solid rgba(101, 172, 230, 0.16);
    border-radius: 14px;
    background: rgba(1, 11, 25, 0.55);
    transition:
      border-color 220ms ease,
      box-shadow 220ms ease,
      background-color 220ms ease;
  }

  .gscform__input:focus-within {
    border-color: rgba(36, 215, 243, 0.52);
    background: rgba(4, 20, 40, 0.78);
    box-shadow:
      0 0 0 4px rgba(36, 215, 243, 0.055),
      0 0 21px rgba(36, 215, 243, 0.055);
  }

  .gscform__input > svg {
    width: 19px;
    height: 19px;
    color: #4daeda;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.65;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gscform__input input,
  .gscform__input select,
  .gscform__input textarea {
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    color: #e9f4ff !important;
    background: transparent !important;
    box-shadow: none !important;
    font: inherit;
    font-size: 11px;
  }

  .gscform__input input {
    min-height: 50px;
  }

  .gscform__input select {
    min-height: 50px;
    cursor: pointer;
    appearance: none;
  }

  .gscform__input select option {
    color: #152235;
    background: #ffffff;
  }

  .gscform__input input::placeholder,
  .gscform__input textarea::placeholder {
    color: #617a92 !important;
    opacity: 1;
  }

  .gscform__input--select {
    position: relative;
  }

  .gscform__input--select::after {
    content: "";
    position: absolute;
    right: 16px;
    width: 7px;
    height: 7px;
    border-right: 2px solid #5ba8cf;
    border-bottom: 2px solid #5ba8cf;
    transform: rotate(45deg) translateY(-3px);
    pointer-events: none;
  }

  .gscform__input--select select {
    padding-right: 24px !important;
  }

  .gscform__input--textarea {
    min-height: 142px;
    align-items: start;
    padding-top: 15px;
  }

  .gscform__input--textarea > svg {
    margin-top: 2px;
  }

  .gscform__input textarea {
    min-height: 110px;
    resize: vertical;
    line-height: 1.65;
  }


  /* AVISO DE PRIVACIDAD SIMPLIFICADO */

  .gscform__privacy {
    position: relative;
    overflow: hidden;
    padding: 14px 15px;
    border: 1px solid rgba(92, 174, 255, 0.14);
    border-radius: 14px;
    background:
      linear-gradient(
        135deg,
        rgba(36, 215, 243, 0.035),
        rgba(35, 124, 255, 0.025)
      ),
      rgba(1, 11, 25, 0.42);
  }

  .gscform__privacy::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 150px;
    height: 1px;
    background:
      linear-gradient(
        90deg,
        var(--gscform-cyan),
        rgba(35, 124, 255, 0.55),
        transparent
      );
  }

  .gscform__privacy-head {
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
  }

  .gscform__privacy-icon {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(36, 215, 243, 0.2);
    border-radius: 9px;
    color: var(--gscform-cyan);
    background: rgba(36, 215, 243, 0.055);
  }

  .gscform__privacy-icon svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gscform__privacy-head strong,
  .gscform__privacy-head span {
    display: block;
  }

  .gscform__privacy-head strong {
    color: #dceeff;
    font-size: 10.5px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 0.35px;
    text-transform: uppercase;
  }

  .gscform__privacy-head span {
    margin-top: 2px;
    color: #7089a0;
    font-size: 9.5px;
    line-height: 1.5;
  }

  .gscform__privacy-body {
    display: grid;
    gap: 7px;
    margin-top: 11px;
    padding-top: 10px;
    border-top: 1px solid rgba(92, 174, 255, 0.09);
  }

  .gscform__privacy-body p {
    margin: 0;
    color: #70879c;
    font-size: 10px;
    line-height: 1.62;
  }

  .gscform__privacy-body strong {
    color: #a9c7dc;
    font-weight: 750;
  }

  .gscform__privacy a {
    color: #73d9f1 !important;
    text-decoration: none !important;
    font-weight: 700;
  }

  .gscform__privacy a:hover {
    color: #b8effa !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
  }

  .gscform__privacy-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-top: 10px;
  }

  .gscform__privacy-actions > a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    padding: 6px 9px;
    border: 1px solid rgba(36, 215, 243, 0.13);
    border-radius: 8px;
    color: #8ddff0 !important;
    background: rgba(36, 215, 243, 0.035);
    font-size: 9.5px;
    line-height: 1.4;
    font-weight: 750;
    text-decoration: none !important;
  }

  .gscform__privacy-actions > a:hover {
    border-color: rgba(36, 215, 243, 0.28);
    text-decoration: none !important;
  }

  .gscform__channel-note {
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr);
    gap: 9px;
    align-items: start;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(92, 174, 255, 0.09);
  }

  .gscform__channel-code {
    width: 31px;
    height: 31px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 196, 92, 0.18);
    border-radius: 9px;
    color: #d8b263;
    background: rgba(255, 196, 92, 0.045);
    font-size: 9px;
    line-height: 1;
    font-weight: 800;
  }

  .gscform__channel-note p {
    margin: 0;
    color: #6c8195;
    font-size: 9.5px;
    line-height: 1.58;
  }

  .gscform__channel-note strong {
    color: #9db4c7;
    font-weight: 750;
  }
/* AUTORIZACIÓN */

  .gscform__check {
    position: relative;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    cursor: pointer;
    color: #7e95aa;
    font-size: 9.5px;
    line-height: 1.58;
  }

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

  .gscform__check-box {
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(100, 175, 232, 0.27);
    border-radius: 6px;
    background: rgba(1, 11, 25, 0.55);
    transition:
      border-color 220ms ease,
      background-color 220ms ease;
  }

  .gscform__check-box svg {
    width: 13px;
    height: 13px;
    opacity: 0;
    fill: none;
    stroke: #04160e;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    transform: scale(0.5);
    transition:
      opacity 180ms ease,
      transform 180ms ease;
  }

  .gscform__check input:checked + .gscform__check-box {
    border-color: var(--gscform-green);
    background: var(--gscform-green);
  }

  .gscform__check input:checked + .gscform__check-box svg {
    opacity: 1;
    transform: scale(1);
  }

  .gscform__check input:focus-visible + .gscform__check-box {
    box-shadow: 0 0 0 4px rgba(36, 215, 243, 0.1);
  }

  /* BOTÓN */

  .gscform__submit {
    width: 100%;
    min-height: 64px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 19px;
    border: 0;
    border-radius: 17px;
    color: #ffffff;
    background:
      linear-gradient(
        110deg,
        #089d65,
        #13c982
      );
    box-shadow:
      0 18px 37px rgba(16, 191, 124, 0.23),
      0 0 25px rgba(69, 215, 149, 0.07);
    cursor: pointer;
    font-family: inherit;
    text-align: left;
    transition:
      transform 240ms ease,
      box-shadow 240ms ease;
  }

  .gscform__submit:hover {
    transform: translateY(-4px);
    box-shadow:
      0 23px 45px rgba(16, 191, 124, 0.32),
      0 0 31px rgba(69, 215, 149, 0.13);
  }

  .gscform__submit-icon {
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.13);
  }

  .gscform__submit-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gscform__submit > span:nth-child(2) {
    display: block;
  }

  .gscform__submit small,
  .gscform__submit > span:nth-child(2) {
    line-height: 1.2;
  }

  .gscform__submit small {
    display: block;
    margin-bottom: 4px;
    color: rgba(255, 255, 255, 0.67);
    font-size: 8px;
    font-weight: 650;
  }

  .gscform__submit > span:nth-child(2) {
    font-size: 12px;
    font-weight: 800;
  }

  .gscform__submit > i {
    margin-left: auto;
    font-size: 20px;
    font-style: normal;
    transition: transform 220ms ease;
  }

  .gscform__submit:hover > i {
    transform: translateX(5px);
  }

  .gscform__form-status {
    display: none;
    padding: 11px 13px;
    border: 1px solid rgba(255, 196, 92, 0.22);
    border-radius: 12px;
    color: #e8d4a9;
    background: rgba(255, 196, 92, 0.06);
    font-size: 9px;
    line-height: 1.5;
  }

  .gscform__form-status.is-visible {
    display: block;
  }

  .gscform__security {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px 20px;
    padding-top: 15px;
    border-top: 1px solid rgba(92, 174, 255, 0.12);
  }

  .gscform__security span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #657e96;
    font-size: 7px;
    line-height: 1.4;
  }

  .gscform__security svg {
    width: 15px;
    height: 15px;
    color: #55b9dd;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  /* RESPONSIVE */

  @media (max-width: 1024px) {
    .gscform__wrap {
      grid-template-columns: 1fr;
    }

    .gscform__info {
      position: static;
      max-width: 850px;
    }

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

  @media (max-width: 700px) {
    .gscform {
      padding: 66px 17px 72px;
    }

    .gscform__cards,
    .gscform__field-grid,
    .gscform__direct {
      grid-template-columns: 1fr;
    }

    .gscform__panel {
      padding: 24px 19px;
      border-radius: 24px;
    }

    .gscform__panel-number {
      display: none;
    }

    .gscform__privacy {
      padding: 13px;
    }

    .gscform__privacy-body p,
    .gscform__channel-note p {
      font-size: 10px;
    }

    .gscform__panel-head {
      margin-bottom: 23px;
    }
  }

  @media (max-width: 420px) {
    .gscform__info h2 {
      font-size: clamp(36px, 11vw, 49px);
    }

    .gscform__panel {
      padding-right: 16px;
      padding-left: 16px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .gscform__info-card,
    .gscform__submit,
    .gscform__submit > i {
      transition: none !important;
    }
  }

.gscform a:focus-visible,
.gscform button:focus-visible,
.gscform summary:focus-visible,
.gscform input:focus-visible,
.gscform select:focus-visible,
.gscform textarea:focus-visible{
    outline:2px solid var(--gscform-cyan) !important;
    outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
    .gscform,
    .gscform *,
    .gscform *::before,
    .gscform *::after{
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }
}


/* ===== CONTACTO DIRECTO · contacto-directo ===== */
.gscdirect {
    --gscdirect-cyan: #24d7f3;
    --gscdirect-blue: #237cff;
--gscdirect-green: #45d795;
    --gscdirect-white: #ffffff;
    --gscdirect-text: #b7c8dc;
--gscdirect-border: rgba(92, 174, 255, 0.18);

    position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    padding: clamp(78px, 8vw, 120px) 24px;
    color: var(--gscdirect-white);
    background:
      radial-gradient(
        circle at 7% 20%,
        rgba(36, 215, 243, 0.12),
        transparent 31%
      ),
      radial-gradient(
        circle at 94% 78%,
        rgba(35, 124, 255, 0.18),
        transparent 35%
      ),
      linear-gradient(
        118deg,
        #020914 0%,
        #05162c 52%,
        #0a2247 100%
      );
    font-family:var(--gs-font-sans);
  }

  .gscdirect *,
  .gscdirect *::before,
  .gscdirect *::after {
    box-sizing: border-box;
  }

  .gscdirect__grid {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: 0.27;
    pointer-events: none;
    background-image:
      linear-gradient(
        rgba(56, 146, 220, 0.08) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(56, 146, 220, 0.08) 1px,
        transparent 1px
      ),
      radial-gradient(
        circle,
        rgba(36, 215, 243, 0.25) 1px,
        transparent 1.5px
      );
    background-size:
      72px 72px,
      72px 72px,
      36px 36px;
  }

  .gscdirect__glow {
    position: absolute;
    z-index: -2;
    width: 440px;
    height: 440px;
    border-radius: 50%;
    filter: blur(130px);
    pointer-events: none;
  }

  .gscdirect__glow--cyan {
    top: 10%;
    left: -190px;
    opacity: 0.1;
    background: var(--gscdirect-cyan);
  }

  .gscdirect__glow--blue {
    right: -170px;
    bottom: 5%;
    opacity: 0.14;
    background: var(--gscdirect-blue);
  }

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

  /* Encabezado */

  .gscdirect__header {
    display: grid;
    grid-template-columns:
      minmax(0, 1.08fr)
      minmax(330px, 0.72fr);
    gap: clamp(38px, 6vw, 80px);
    align-items: end;
    margin-bottom: clamp(42px, 5vw, 66px);
  }

  .gscdirect__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    color: #83dcff;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
  }

  .gscdirect__eyebrow > span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--gscdirect-green);
    box-shadow:
      0 0 0 6px rgba(69, 215, 149, 0.08),
      0 0 17px rgba(69, 215, 149, 0.6);
  }

  .gscdirect__header h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(39px, 4.5vw, 62px);
    line-height: 1.04;
    font-weight: 850;
    letter-spacing: -0.052em;
  }

  .gscdirect__header h2 span {
    display: block;
    margin-top: 5px;
    color: transparent;
    background:
      linear-gradient(
        90deg,
        #73dcff,
        var(--gscdirect-cyan) 48%,
        #6491ff
      );
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gscdirect__description {
    margin: 0;
    color: var(--gscdirect-text);
    font-size: 15px;
    line-height: 1.75;
  }

  /* Distribución */

  .gscdirect__layout {
    display: grid;
    grid-template-columns:
      minmax(0, 1.12fr)
      minmax(370px, 0.88fr);
    gap: 22px;
    align-items: stretch;
  }

  .gscdirect__channels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px;
  }

  /* Tarjetas */

  .gscdirect__card {
    position: relative;
    min-width: 0;
    min-height: 270px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 24px 23px 22px;
    border: 1px solid var(--gscdirect-border);
    border-radius: 23px;
    background:
      linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.075),
        rgba(255, 255, 255, 0.025)
      );
    box-shadow:
      0 20px 50px rgba(0, 0, 0, 0.19),
      inset 0 1px 0 rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(10px);
    transition:
      transform 250ms ease,
      border-color 250ms ease,
      box-shadow 250ms ease,
      background-color 250ms ease;
  }

  .gscdirect__card::before {
    content: "";
    position: absolute;
    top: -45px;
    right: -37px;
    width: 135px;
    height: 135px;
    border-radius: 50%;
    background: rgba(36, 215, 243, 0.055);
    pointer-events: none;
    transition: transform 260ms ease;
  }

  .gscdirect__card::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 3px;
    opacity: 0;
    background:
      linear-gradient(
        90deg,
        transparent,
        var(--gscdirect-cyan),
        var(--gscdirect-blue),
        transparent
      );
    transition: opacity 250ms ease;
  }

  .gscdirect__card:hover {
    transform: translateY(-6px);
    border-color: rgba(36, 215, 243, 0.4);
    background: rgba(36, 215, 243, 0.045);
    box-shadow:
      0 26px 58px rgba(0, 0, 0, 0.25),
      0 0 28px rgba(36, 215, 243, 0.075);
  }

  .gscdirect__card:hover::before {
    transform: scale(1.13);
  }

  .gscdirect__card:hover::after {
    opacity: 1;
  }

  .gscdirect__card--whatsapp {
    border-color: rgba(69, 215, 149, 0.22);
    background:
      radial-gradient(
        circle at 100% 0%,
        rgba(69, 215, 149, 0.11),
        transparent 42%
      ),
      linear-gradient(
        145deg,
        rgba(15, 75, 58, 0.34),
        rgba(5, 28, 36, 0.75)
      );
  }

  .gscdirect__card-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 21px;
  }

  .gscdirect__icon {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(36, 215, 243, 0.3);
    border-radius: 15px;
    color: var(--gscdirect-cyan);
    background: rgba(36, 215, 243, 0.075);
  }

  .gscdirect__card--whatsapp .gscdirect__icon {
    color: var(--gscdirect-green);
    border-color: rgba(69, 215, 149, 0.31);
    background: rgba(69, 215, 149, 0.075);
  }

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

  .gscdirect__availability {
    min-height: 27px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 9px;
    border: 1px solid rgba(69, 215, 149, 0.2);
    border-radius: 999px;
    color: #83dfb7;
    background: rgba(69, 215, 149, 0.055);
    font-size: 7px;
    font-weight: 750;
  }

  .gscdirect__availability i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gscdirect-green);
    box-shadow: 0 0 10px rgba(69, 215, 149, 0.72);
    animation: gscdirectStatus 2.2s ease-in-out infinite;
  }

  .gscdirect__number {
    color: rgba(255, 255, 255, 0.12);
    font-size: 28px;
    line-height: 1;
    font-weight: 850;
  }

  .gscdirect__card > small {
    position: relative;
    z-index: 1;
    display: block;
    color: #6f89a0;
    font-size: 8px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.75px;
    text-transform: uppercase;
  }

  .gscdirect__card h3 {
    position: relative;
    z-index: 1;
    margin: 7px 0 0;
    color: #ffffff;
    font-size: 21px;
    line-height: 1.25;
    font-weight: 750;
    letter-spacing: -0.55px;
  }

  .gscdirect__card h3.gscdirect__email {
    font-size: 14px;
    overflow-wrap: anywhere;
  }

  .gscdirect__card > p {
    position: relative;
    z-index: 1;
    margin: 12px 0 18px;
    color: #8399ae;
    font-size: 10px;
    line-height: 1.65;
  }

  .gscdirect__card > a {
    position: relative;
    z-index: 1;
    min-height: 42px;
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 13px;
    border: 1px solid rgba(36, 215, 243, 0.18);
    border-radius: 12px;
    color: #b9eaff !important;
    background: rgba(36, 215, 243, 0.045);
    font-size: 9px;
    font-weight: 750;
    text-decoration: none !important;
    transition:
      border-color 220ms ease,
      background-color 220ms ease;
  }

  .gscdirect__card > a:hover {
    border-color: rgba(36, 215, 243, 0.45);
    background: rgba(36, 215, 243, 0.09);
  }

  .gscdirect__card--whatsapp > a {
    border-color: rgba(69, 215, 149, 0.24);
    color: #abf2cf !important;
    background: rgba(69, 215, 149, 0.06);
  }

  .gscdirect__schedule {
    display: grid;
    gap: 3px;
  }

  .gscdirect__schedule strong {
    color: #dcecff;
    font-size: 11px;
  }

  .gscdirect__schedule span {
    color: #7e95aa;
    font-size: 9px;
  }

  .gscdirect__schedule-note {
    position: relative;
    z-index: 1;
    margin-top: auto;
    padding: 11px 12px;
    border-left: 3px solid var(--gscdirect-cyan);
    border-radius: 0 10px 10px 0;
    color: #748ba0;
    background: rgba(36, 215, 243, 0.045);
    font-size: 8px;
    line-height: 1.55;
  }

  /* Ubicación */

  .gscdirect__location {
    position: relative;
    min-width: 0;
    overflow: hidden;
    padding: 27px;
    border: 1px solid rgba(92, 174, 255, 0.21);
    border-radius: 27px;
    background:
      radial-gradient(
        circle at 50% 38%,
        rgba(36, 215, 243, 0.13),
        transparent 44%
      ),
      linear-gradient(
        145deg,
        rgba(15, 48, 84, 0.73),
        rgba(4, 17, 35, 0.94)
      );
    box-shadow:
      0 28px 65px rgba(0, 0, 0, 0.27),
      inset 0 1px 0 rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(14px);
  }

  .gscdirect__location-grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.48;
    background-image:
      linear-gradient(
        rgba(66, 157, 220, 0.055) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(66, 157, 220, 0.055) 1px,
        transparent 1px
      );
    background-size: 30px 30px;
    mask-image:
      radial-gradient(
        circle at center,
        black,
        transparent 74%
      );
  }

  .gscdirect__location-head {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .gscdirect__location-icon {
    width: 49px;
    height: 49px;
    flex: 0 0 49px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(36, 215, 243, 0.3);
    border-radius: 15px;
    color: var(--gscdirect-cyan);
    background: rgba(36, 215, 243, 0.075);
  }

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

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

  .gscdirect__location-head small {
    margin-bottom: 3px;
    color: #748da4;
    font-size: 8px;
  }

  .gscdirect__location-head strong {
    color: #ffffff;
    font-size: 17px;
  }

  .gscdirect__map-visual {
    position: relative;
    z-index: 1;
    width: min(300px, 100%);
    height: 260px;
    margin: 15px auto 7px;
  }

  .gscdirect__map-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(36, 215, 243, 0.16);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: gscdirectMapRing 4.5s ease-in-out infinite;
  }

  .gscdirect__map-ring--one {
    width: 230px;
    height: 230px;
  }

  .gscdirect__map-ring--two {
    width: 165px;
    height: 165px;
    animation-delay: -1.5s;
  }

  .gscdirect__map-ring--three {
    width: 95px;
    height: 95px;
    animation-delay: -3s;
  }

  .gscdirect__route {
    position: absolute;
    height: 2px;
    border-radius: 999px;
    background:
      linear-gradient(
        90deg,
        transparent,
        rgba(36, 215, 243, 0.46),
        transparent
      );
    transform-origin: left center;
  }

  .gscdirect__route--one {
    width: 180px;
    top: 83px;
    left: 47px;
    transform: rotate(28deg);
  }

  .gscdirect__route--two {
    width: 164px;
    top: 165px;
    left: 56px;
    transform: rotate(-24deg);
  }

  .gscdirect__route--three {
    width: 125px;
    top: 122px;
    left: 92px;
    transform: rotate(76deg);
  }

  .gscdirect__map-point {
    position: absolute;
    width: 9px;
    height: 9px;
    border: 2px solid var(--gscdirect-cyan);
    border-radius: 50%;
    background: #071c35;
    box-shadow: 0 0 12px rgba(36, 215, 243, 0.55);
  }

  .gscdirect__map-point--one {
    top: 57px;
    left: 64px;
  }

  .gscdirect__map-point--two {
    right: 51px;
    top: 81px;
  }

  .gscdirect__map-point--three {
    left: 52px;
    bottom: 54px;
  }

  /* Pin vertical */

  .gscdirect__pin {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 50%;
    width: 72px;
    height: 92px;
    transform: translate(-50%, -59%);
    animation: gscdirectPinFloat 4s ease-in-out infinite;
    filter:
      drop-shadow(0 17px 20px rgba(0, 0, 0, 0.28))
      drop-shadow(0 0 16px rgba(36, 215, 243, 0.28));
  }

  .gscdirect__pin svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
  }

  .gscdirect__pin-pulse {
    position: absolute;
    z-index: 2;
    top: 57%;
    left: 50%;
    width: 75px;
    height: 26px;
    border: 1px solid rgba(36, 215, 243, 0.38);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: gscdirectPinPulse 2.5s ease-out infinite;
  }

  .gscdirect__address {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 15px;
    border: 1px solid rgba(92, 174, 255, 0.15);
    border-radius: 16px;
    background: rgba(1, 12, 26, 0.4);
  }

  .gscdirect__address > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--gscdirect-cyan);
    background: rgba(36, 215, 243, 0.065);
  }

  .gscdirect__address svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gscdirect__address small {
    display: block;
    margin-bottom: 5px;
    color: #728ba2;
    font-size: 8px;
  }

  .gscdirect__address address {
    color: #dcecff;
    font-size: 10px;
    line-height: 1.6;
    font-style: normal;
  }

  .gscdirect__location-actions {
    position: relative;
    z-index: 2;
    margin-top: 14px;
  }

  .gscdirect__map-button {
    min-height: 49px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 11px 15px;
    border-radius: 14px;
    color: #ffffff !important;
    background:
      linear-gradient(
        110deg,
        #1872e8,
        #2aaeed
      );
    box-shadow:
      0 15px 30px rgba(35, 124, 255, 0.22);
    font-size: 10px;
    font-weight: 750;
    text-decoration: none !important;
    transition:
      transform 230ms ease,
      box-shadow 230ms ease;
  }

  .gscdirect__map-button:hover {
    transform: translateY(-3px);
    box-shadow:
      0 20px 37px rgba(35, 124, 255, 0.31);
  }

  .gscdirect__map-button svg {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gscdirect__map-button > span {
    margin-left: auto;
    font-size: 16px;
  }

  .gscdirect__location-actions p {
    margin: 10px 0 0;
    color: #71899f;
    font-size: 8px;
    line-height: 1.55;
    text-align: center;
  }

  /* Nota inferior */

  .gscdirect__notice {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    margin-top: 22px;
    padding: 15px 17px;
    border: 1px solid rgba(92, 174, 255, 0.14);
    border-radius: 16px;
    background: rgba(1, 12, 26, 0.34);
  }

  .gscdirect__notice > span {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--gscdirect-cyan);
    background: rgba(36, 215, 243, 0.06);
  }

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

  .gscdirect__notice p {
    max-width: 830px;
    margin: 0;
    color: #7890a6;
    font-size: 8px;
    line-height: 1.6;
  }

  /* Animaciones */

  @keyframes gscdirectStatus {
    0%,
    100% {
      opacity: 0.45;
      transform: scale(0.85);
    }

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

  @keyframes gscdirectMapRing {
    0%,
    100% {
      opacity: 0.25;
      transform: translate(-50%, -50%) scale(0.96);
    }

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

  @keyframes gscdirectPinFloat {
    0%,
    100% {
      transform: translate(-50%, -59%);
    }

    50% {
      transform: translate(-50%, -68%);
    }
  }

  @keyframes gscdirectPinPulse {
    0% {
      opacity: 0.72;
      transform: translate(-50%, -50%) scale(0.65);
    }

    100% {
      opacity: 0;
      transform: translate(-50%, -50%) scale(1.45);
    }
  }

  /* Tableta */

  @media (max-width: 1050px) {
    .gscdirect__layout {
      grid-template-columns: 1fr;
    }

    .gscdirect__location {
      display: grid;
      grid-template-columns:
        minmax(280px, 0.75fr)
        minmax(0, 1.25fr);
      gap: 22px 30px;
      align-items: center;
    }

    .gscdirect__location-head {
      grid-column: 1 / -1;
    }

    .gscdirect__map-visual {
      grid-column: 1;
      grid-row: 2 / span 2;
    }

    .gscdirect__address,
    .gscdirect__location-actions {
      grid-column: 2;
    }
  }

  @media (max-width: 850px) {
    .gscdirect__header {
      grid-template-columns: 1fr;
      gap: 20px;
    }
  }

  /* Móvil */

  @media (max-width: 700px) {
    .gscdirect {
      padding: 66px 17px 72px;
    }

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

    .gscdirect__card {
      min-height: auto;
    }

    .gscdirect__location {
      display: block;
      padding: 23px 19px;
    }

    .gscdirect__map-visual {
      height: 245px;
    }

    .gscdirect__location-actions {
      margin-top: 14px;
    }

    .gscdirect__notice {
      align-items: flex-start;
      text-align: left;
    }
  }

  @media (max-width: 420px) {
    .gscdirect__header h2 {
      font-size: clamp(36px, 11vw, 49px);
    }

    .gscdirect__map-visual {
      transform: scale(0.9);
      margin-right: -12px;
      margin-left: -12px;
    }

    .gscdirect__map-button {
      font-size: 9px;
    }
  }

  /* Accesibilidad */

  @media (prefers-reduced-motion: reduce) {
    .gscdirect__availability i,
    .gscdirect__map-ring,
    .gscdirect__pin,
    .gscdirect__pin-pulse {
      animation: none !important;
    }

    .gscdirect__card,
    .gscdirect__card::before,
    .gscdirect__card::after,
    .gscdirect__map-button {
      transition: none !important;
    }
  }

.gscdirect a:focus-visible,
.gscdirect button:focus-visible,
.gscdirect summary:focus-visible,
.gscdirect input:focus-visible,
.gscdirect select:focus-visible,
.gscdirect textarea:focus-visible{
    outline:2px solid var(--gscdirect-cyan) !important;
    outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
    .gscdirect,
    .gscdirect *,
    .gscdirect *::before,
    .gscdirect *::after{
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }
}


/* ===== UBICACIÓN Y CONFIANZA · ubicacion-confianza-contacto ===== */
.gslocation {
    --gslocation-cyan: #24d7f3;
    --gslocation-blue: #237cff;
    --gslocation-green: #45d795;
    --gslocation-yellow: #ffc45c;
    --gslocation-white: #ffffff;
    --gslocation-text: #b7c8dc;
position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    padding: clamp(78px, 8vw, 120px) 24px;
    color: var(--gslocation-white);
    background:
      radial-gradient(
        circle at 7% 20%,
        rgba(36, 215, 243, 0.12),
        transparent 31%
      ),
      radial-gradient(
        circle at 94% 80%,
        rgba(35, 124, 255, 0.18),
        transparent 35%
      ),
      linear-gradient(
        118deg,
        #020914 0%,
        #05162c 52%,
        #0a2247 100%
      );
    font-family:var(--gs-font-sans);
  }

  .gslocation *,
  .gslocation *::before,
  .gslocation *::after {
    box-sizing: border-box;
  }

  .gslocation__grid {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: 0.26;
    pointer-events: none;
    background-image:
      linear-gradient(
        rgba(56, 146, 220, 0.08) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(56, 146, 220, 0.08) 1px,
        transparent 1px
      ),
      radial-gradient(
        circle,
        rgba(36, 215, 243, 0.25) 1px,
        transparent 1.5px
      );
    background-size:
      72px 72px,
      72px 72px,
      36px 36px;
  }

  .gslocation__glow {
    position: absolute;
    z-index: -2;
    width: 440px;
    height: 440px;
    border-radius: 50%;
    filter: blur(130px);
    pointer-events: none;
  }

  .gslocation__glow--cyan {
    top: 8%;
    left: -190px;
    opacity: 0.1;
    background: var(--gslocation-cyan);
  }

  .gslocation__glow--blue {
    right: -170px;
    bottom: 5%;
    opacity: 0.14;
    background: var(--gslocation-blue);
  }

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

  /* ENCABEZADO */

  .gslocation__header {
    display: grid;
    grid-template-columns:
      minmax(0, 1.08fr)
      minmax(330px, 0.72fr);
    gap: clamp(38px, 6vw, 80px);
    align-items: end;
    margin-bottom: clamp(42px, 5vw, 65px);
  }

  .gslocation__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    color: #83dcff;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
  }

  .gslocation__eyebrow > span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--gslocation-green);
    box-shadow:
      0 0 0 6px rgba(69, 215, 149, 0.08),
      0 0 17px rgba(69, 215, 149, 0.62);
  }

  .gslocation__header h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(39px, 4.5vw, 62px);
    line-height: 1.04;
    font-weight: 850;
    letter-spacing: -0.052em;
  }

  .gslocation__header h2 span {
    display: block;
    margin-top: 5px;
    color: transparent;
    background:
      linear-gradient(
        90deg,
        #73dcff,
        var(--gslocation-cyan) 48%,
        #6491ff
      );
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gslocation__description {
    margin: 0;
    color: var(--gslocation-text);
    font-size: 15px;
    line-height: 1.75;
  }

  /* DISTRIBUCIÓN */

  .gslocation__layout {
    display: grid;
    grid-template-columns:
      minmax(0, 1.08fr)
      minmax(390px, 0.92fr);
    gap: 22px;
    align-items: stretch;
  }

  /* MAPA */

  .gslocation__map-card {
    min-width: 0;
    overflow: hidden;
    padding: 22px;
    border: 1px solid rgba(92, 174, 255, 0.2);
    border-radius: 27px;
    background:
      radial-gradient(
        circle at 30% 15%,
        rgba(36, 215, 243, 0.08),
        transparent 37%
      ),
      linear-gradient(
        145deg,
        rgba(15, 48, 84, 0.73),
        rgba(4, 17, 35, 0.94)
      );
    box-shadow:
      0 28px 65px rgba(0, 0, 0, 0.27),
      inset 0 1px 0 rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(14px);
  }

  .gslocation__map-head {
    min-height: 53px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 17px;
    margin-bottom: 17px;
  }

  .gslocation__map-title {
    display: flex;
    align-items: center;
    gap: 11px;
  }

  .gslocation__map-icon {
    width: 45px;
    height: 45px;
    flex: 0 0 45px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(36, 215, 243, 0.28);
    border-radius: 14px;
    color: var(--gslocation-cyan);
    background: rgba(36, 215, 243, 0.07);
  }

  .gslocation__map-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

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

  .gslocation__map-title small {
    margin-bottom: 3px;
    color: #728aa1;
    font-size: 8px;
  }

  .gslocation__map-title strong {
    color: #ffffff;
    font-size: 15px;
  }

  .gslocation__map-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid rgba(69, 215, 149, 0.2);
    border-radius: 999px;
    color: #82ddb6;
    background: rgba(69, 215, 149, 0.055);
    font-size: 7px;
    font-weight: 750;
  }

  .gslocation__map-status i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--gslocation-green);
    box-shadow: 0 0 10px rgba(69, 215, 149, 0.72);
    animation: gslocationStatus 2.3s ease-in-out infinite;
  }

  .gslocation__map-frame {
    position: relative;
    min-height: 490px;
    overflow: hidden;
    border: 1px solid rgba(92, 174, 255, 0.19);
    border-radius: 21px;
    background: #07172a;
  }

  .gslocation__map-frame iframe {
    display: block;
    width: 100%;
    height: 490px;
    border: 0;
    filter:
      saturate(0.82)
      contrast(1.03);
  }

  .gslocation__map-overlay {
    position: absolute;
    z-index: 3;
    left: 16px;
    bottom: 16px;
    width: min(340px, calc(100% - 32px));
    display: grid;
    grid-template-columns: 43px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(100, 183, 240, 0.24);
    border-radius: 16px;
    background: rgba(3, 17, 34, 0.92);
    box-shadow:
      0 18px 38px rgba(0, 0, 0, 0.31),
      inset 0 1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(13px);
  }

  .gslocation__map-overlay > span {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: var(--gslocation-cyan);
    background: rgba(36, 215, 243, 0.075);
  }

  .gslocation__map-overlay svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gslocation__map-overlay small,
  .gslocation__map-overlay strong {
    display: block;
  }

  .gslocation__map-overlay small {
    margin-bottom: 4px;
    color: #70899f;
    font-size: 7px;
  }

  .gslocation__map-overlay strong {
    color: #ffffff;
    font-size: 10px;
    line-height: 1.4;
  }

  .gslocation__map-overlay p {
    margin: 5px 0 0;
    color: #8199af;
    font-size: 8px;
    line-height: 1.55;
  }

  .gslocation__map-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    margin-top: 14px;
  }

  .gslocation__button {
    min-width: 0;
    min-height: 59px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 13px;
    border: 1px solid transparent;
    border-radius: 15px;
    color: #ffffff !important;
    text-decoration: none !important;
    transition:
      transform 230ms ease,
      border-color 230ms ease,
      box-shadow 230ms ease,
      background-color 230ms ease;
  }

  .gslocation__button:hover {
    transform: translateY(-3px);
    color: #ffffff !important;
  }

  .gslocation__button > span {
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.11);
  }

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

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

  .gslocation__button small {
    margin-bottom: 3px;
    color: rgba(255, 255, 255, 0.64);
    font-size: 7px;
  }

  .gslocation__button strong {
    font-size: 9px;
    line-height: 1.35;
  }

  .gslocation__button > i {
    margin-left: auto;
    font-size: 17px;
    font-style: normal;
  }

  .gslocation__button--route {
    background:
      linear-gradient(
        110deg,
        #1872e8,
        #2aaeed
      );
    box-shadow: 0 15px 30px rgba(35, 124, 255, 0.2);
  }

  .gslocation__button--reviews {
    border-color: rgba(255, 196, 92, 0.24);
    background:
      linear-gradient(
        145deg,
        rgba(111, 75, 18, 0.46),
        rgba(48, 35, 12, 0.64)
      );
  }

  .gslocation__button--reviews > span {
    color: var(--gslocation-yellow);
  }

  /* CONFIANZA */

  .gslocation__trust {
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 27px;
    border: 1px solid rgba(92, 174, 255, 0.2);
    border-radius: 27px;
    background:
      radial-gradient(
        circle at 100% 0%,
        rgba(35, 124, 255, 0.14),
        transparent 38%
      ),
      linear-gradient(
        145deg,
        rgba(15, 48, 84, 0.73),
        rgba(4, 17, 35, 0.94)
      );
    box-shadow:
      0 28px 65px rgba(0, 0, 0, 0.27),
      inset 0 1px 0 rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(14px);
  }

  .gslocation__trust-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #7ed9b1;
    font-size: 8px;
    font-weight: 750;
    letter-spacing: 0.8px;
    text-transform: uppercase;
  }

  .gslocation__trust-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gslocation-green);
    box-shadow: 0 0 11px rgba(69, 215, 149, 0.68);
  }

  .gslocation__trust-head h3 {
    margin: 12px 0 0;
    color: #ffffff;
    font-size: clamp(25px, 2.5vw, 34px);
    line-height: 1.15;
    font-weight: 780;
    letter-spacing: -1px;
  }

  .gslocation__trust-head h3 span {
    display: block;
    color: #78daf8;
  }

  .gslocation__trust-head p {
    margin: 12px 0 0;
    color: #859caf;
    font-size: 10px;
    line-height: 1.7;
  }

  .gslocation__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    margin-top: 22px;
  }

  .gslocation__stat {
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(92, 174, 255, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.027);
    transition:
      transform 230ms ease,
      border-color 230ms ease,
      background-color 230ms ease;
  }

  .gslocation__stat:hover {
    transform: translateY(-4px);
    border-color: rgba(36, 215, 243, 0.31);
    background: rgba(36, 215, 243, 0.045);
  }

  .gslocation__stat-icon {
    width: 39px;
    height: 39px;
    display: grid;
    place-items: center;
    margin-bottom: 11px;
    border: 1px solid rgba(36, 215, 243, 0.24);
    border-radius: 12px;
    color: var(--gslocation-cyan);
    background: rgba(36, 215, 243, 0.065);
  }

  .gslocation__stat-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

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

  .gslocation__stat small {
    color: #71899f;
    font-size: 7px;
  }

  .gslocation__stat strong {
    margin-top: 4px;
    color: #e6f2ff;
    font-size: 11px;
    line-height: 1.35;
  }

  .gslocation__stat p {
    margin: 5px 0 0;
    color: #71899f;
    font-size: 7px;
    line-height: 1.5;
  }

  /* RESEÑAS */

  .gslocation__reviews {
    margin-top: 13px;
    padding: 15px;
    border: 1px solid rgba(255, 196, 92, 0.17);
    border-radius: 17px;
    background:
      radial-gradient(
        circle at 100% 0%,
        rgba(255, 196, 92, 0.08),
        transparent 38%
      ),
      rgba(255, 255, 255, 0.022);
  }

  .gslocation__reviews-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
  }

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

  .gslocation__reviews-head small {
    margin-bottom: 4px;
    color: #8d7953;
    font-size: 7px;
  }

  .gslocation__reviews-head strong {
    color: #e9f3fd;
    font-size: 9px;
    line-height: 1.45;
  }

  .gslocation__stars {
    flex: 0 0 auto;
    display: flex;
    gap: 2px;
    color: var(--gslocation-yellow);
    font-size: 13px;
    letter-spacing: 1px;
  }

  .gslocation__review-themes {
    display: grid;
    gap: 7px;
    margin-top: 13px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 196, 92, 0.11);
  }

  .gslocation__review-themes span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #8299ad;
    font-size: 8px;
    line-height: 1.4;
  }

  .gslocation__review-themes svg {
    width: 14px;
    height: 14px;
    color: var(--gslocation-green);
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gslocation__reviews > a {
    min-height: 37px;
    margin-top: 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 11px;
    border: 1px solid rgba(255, 196, 92, 0.18);
    border-radius: 11px;
    color: #e6c984 !important;
    background: rgba(255, 196, 92, 0.045);
    font-size: 8px;
    font-weight: 750;
    text-decoration: none !important;
  }

  /* AVISO */

  .gslocation__notice {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 11px;
    margin-top: 13px;
    padding: 13px;
    border: 1px solid rgba(92, 174, 255, 0.14);
    border-radius: 15px;
    background: rgba(1, 12, 26, 0.37);
  }

  .gslocation__notice > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    color: var(--gslocation-cyan);
    background: rgba(36, 215, 243, 0.065);
  }

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

  .gslocation__notice strong {
    display: block;
    color: #dcecff;
    font-size: 9px;
  }

  .gslocation__notice p {
    margin: 5px 0 0;
    color: #748da3;
    font-size: 8px;
    line-height: 1.55;
  }

  .gslocation__whatsapp {
    min-height: 60px;
    margin-top: auto;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 11px;
    border-radius: 15px;
    color: #ffffff !important;
    background:
      linear-gradient(
        110deg,
        #089d65,
        #13c982
      );
    box-shadow:
      0 17px 34px rgba(16, 191, 124, 0.22),
      0 0 24px rgba(69, 215, 149, 0.07);
    text-decoration: none !important;
    transition:
      transform 230ms ease,
      box-shadow 230ms ease;
  }

  .gslocation__whatsapp:hover {
    transform: translateY(-3px);
    color: #ffffff !important;
    box-shadow:
      0 22px 42px rgba(16, 191, 124, 0.31),
      0 0 29px rgba(69, 215, 149, 0.12);
  }

  .gslocation__whatsapp > span {
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.12);
  }

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

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

  .gslocation__whatsapp small {
    margin-bottom: 3px;
    color: rgba(255, 255, 255, 0.66);
    font-size: 7px;
  }

  .gslocation__whatsapp strong {
    font-size: 10px;
  }

  .gslocation__whatsapp > i {
    margin-left: auto;
    font-size: 18px;
    font-style: normal;
  }

  /* ANIMACIONES */

  @keyframes gslocationStatus {
    0%,
    100% {
      opacity: 0.45;
      transform: scale(0.85);
    }

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

  /* TABLETA */

  @media (max-width: 1020px) {
    .gslocation__layout {
      grid-template-columns: 1fr;
    }

    .gslocation__trust {
      display: grid;
      grid-template-columns:
        minmax(270px, 0.8fr)
        minmax(0, 1.2fr);
      gap: 13px 20px;
      align-items: start;
    }

    .gslocation__trust-head {
      grid-column: 1;
      grid-row: 1 / span 2;
    }

    .gslocation__stats {
      grid-column: 2;
      margin-top: 0;
    }

    .gslocation__reviews {
      grid-column: 1 / -1;
    }

    .gslocation__notice {
      grid-column: 1;
      margin-top: 0;
    }

    .gslocation__whatsapp {
      grid-column: 2;
      margin-top: 0;
    }
  }

  @media (max-width: 850px) {
    .gslocation__header {
      grid-template-columns: 1fr;
      gap: 20px;
    }
  }

  /* MÓVIL */

  @media (max-width: 700px) {
    .gslocation {
      padding: 66px 17px 72px;
    }

    .gslocation__map-card,
    .gslocation__trust {
      padding: 19px;
      border-radius: 23px;
    }

    .gslocation__map-head {
      align-items: flex-start;
    }

    .gslocation__map-status {
      display: none;
    }

    .gslocation__map-frame {
      min-height: 430px;
    }

    .gslocation__map-frame iframe {
      height: 430px;
    }

    .gslocation__map-actions {
      grid-template-columns: 1fr;
    }

    .gslocation__trust {
      display: flex;
    }

    .gslocation__stats {
      margin-top: 21px;
    }

    .gslocation__notice {
      margin-top: 13px;
    }

    .gslocation__whatsapp {
      margin-top: 13px;
    }
  }

  @media (max-width: 480px) {
    .gslocation__header h2 {
      font-size: clamp(36px, 11vw, 49px);
    }

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

    .gslocation__map-frame {
      min-height: 400px;
    }

    .gslocation__map-frame iframe {
      height: 400px;
    }

    .gslocation__map-overlay {
      left: 10px;
      bottom: 10px;
      width: calc(100% - 20px);
    }

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

  /* ACCESIBILIDAD */

  @media (prefers-reduced-motion: reduce) {
    .gslocation__map-status i {
      animation: none !important;
    }

    .gslocation__button,
    .gslocation__stat,
    .gslocation__whatsapp {
      transition: none !important;
    }
  }

.gslocation a:focus-visible,
.gslocation button:focus-visible,
.gslocation summary:focus-visible,
.gslocation input:focus-visible,
.gslocation select:focus-visible,
.gslocation textarea:focus-visible{
    outline:2px solid var(--gslocation-cyan) !important;
    outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
    .gslocation,
    .gslocation *,
    .gslocation *::before,
    .gslocation *::after{
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }
}


/* ===== PREGUNTAS FRECUENTES · preguntas-contacto ===== */
.gsfaqc {
    --gsfaqc-cyan: #24d7f3;
    --gsfaqc-blue: #237cff;
    --gsfaqc-green: #45d795;
    --gsfaqc-white: #ffffff;
    --gsfaqc-text: #b7c8dc;
position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    padding: clamp(78px, 8vw, 120px) 24px;
    color: var(--gsfaqc-white);
    background:
      radial-gradient(
        circle at 8% 25%,
        rgba(36, 215, 243, 0.11),
        transparent 30%
      ),
      radial-gradient(
        circle at 94% 75%,
        rgba(35, 124, 255, 0.17),
        transparent 35%
      ),
      linear-gradient(
        118deg,
        #020914 0%,
        #05162c 52%,
        #0a2247 100%
      );
    font-family:var(--gs-font-sans);
  }

  .gsfaqc *,
  .gsfaqc *::before,
  .gsfaqc *::after {
    box-sizing: border-box;
  }

  .gsfaqc__grid {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: 0.25;
    pointer-events: none;
    background-image:
      linear-gradient(
        rgba(56, 146, 220, 0.08) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(56, 146, 220, 0.08) 1px,
        transparent 1px
      ),
      radial-gradient(
        circle,
        rgba(36, 215, 243, 0.25) 1px,
        transparent 1.5px
      );
    background-size:
      72px 72px,
      72px 72px,
      36px 36px;
  }

  .gsfaqc__glow {
    position: absolute;
    z-index: -2;
    width: 430px;
    height: 430px;
    border-radius: 50%;
    filter: blur(125px);
    pointer-events: none;
  }

  .gsfaqc__glow--cyan {
    top: 8%;
    left: -180px;
    opacity: 0.1;
    background: var(--gsfaqc-cyan);
  }

  .gsfaqc__glow--blue {
    right: -170px;
    bottom: 4%;
    opacity: 0.14;
    background: var(--gsfaqc-blue);
  }

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

  /* Encabezado */

  .gsfaqc__header {
    display: grid;
    grid-template-columns:
      minmax(0, 1.08fr)
      minmax(330px, 0.72fr);
    gap: clamp(38px, 6vw, 80px);
    align-items: end;
    margin-bottom: clamp(42px, 5vw, 65px);
  }

  .gsfaqc__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    color: #83dcff;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
  }

  .gsfaqc__eyebrow > span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--gsfaqc-green);
    box-shadow:
      0 0 0 6px rgba(69, 215, 149, 0.08),
      0 0 17px rgba(69, 215, 149, 0.62);
  }

  .gsfaqc__header h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(39px, 4.5vw, 62px);
    line-height: 1.04;
    font-weight: 850;
    letter-spacing: -0.052em;
  }

  .gsfaqc__header h2 span {
    display: block;
    margin-top: 5px;
    color: transparent;
    background:
      linear-gradient(
        90deg,
        #73dcff,
        var(--gsfaqc-cyan) 48%,
        #6491ff
      );
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gsfaqc__description {
    margin: 0;
    color: var(--gsfaqc-text);
    font-size: 15px;
    line-height: 1.75;
  }

  /* Distribución */

  .gsfaqc__layout {
    display: grid;
    grid-template-columns:
      minmax(310px, 0.72fr)
      minmax(0, 1.28fr);
    gap: clamp(25px, 4vw, 48px);
    align-items: start;
  }

  /* Panel lateral */

  .gsfaqc__side {
    position: sticky;
    top: 35px;
    overflow: hidden;
    padding: 25px;
    border: 1px solid rgba(92, 174, 255, 0.21);
    border-radius: 28px;
    background:
      radial-gradient(
        circle at 50% 35%,
        rgba(36, 215, 243, 0.13),
        transparent 44%
      ),
      linear-gradient(
        145deg,
        rgba(15, 48, 84, 0.73),
        rgba(4, 17, 35, 0.94)
      );
    box-shadow:
      0 28px 65px rgba(0, 0, 0, 0.27),
      inset 0 1px 0 rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(14px);
  }

  .gsfaqc__side::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.45;
    background-image:
      linear-gradient(
        rgba(66, 157, 220, 0.05) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(66, 157, 220, 0.05) 1px,
        transparent 1px
      );
    background-size: 30px 30px;
    mask-image:
      radial-gradient(
        circle at center,
        black,
        transparent 75%
      );
  }

  .gsfaqc__side-status {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #7ed9b1;
    font-size: 8px;
    line-height: 1.4;
    font-weight: 750;
    letter-spacing: 0.8px;
    text-transform: uppercase;
  }

  .gsfaqc__side-status > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gsfaqc-green);
    box-shadow: 0 0 11px rgba(69, 215, 149, 0.68);
  }

  .gsfaqc__side-visual {
    position: relative;
    z-index: 1;
    width: 270px;
    max-width: 100%;
    height: 270px;
    margin: 17px auto 11px;
    display: grid;
    place-items: center;
  }

  .gsfaqc__ring {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(36, 215, 243, 0.16);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: gsfaqcRing 4.5s ease-in-out infinite;
  }

  .gsfaqc__ring--one {
    width: 238px;
    height: 238px;
  }

  .gsfaqc__ring--two {
    width: 168px;
    height: 168px;
    animation-delay: -1.5s;
  }

  .gsfaqc__ring--three {
    width: 100px;
    height: 100px;
    animation-delay: -3s;
  }

  .gsfaqc__question-icon {
    position: relative;
    z-index: 3;
    width: 92px;
    height: 92px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(98, 197, 246, 0.41);
    border-radius: 28px;
    color: #8ce4ff;
    background:
      linear-gradient(
        145deg,
        rgba(36, 215, 243, 0.16),
        rgba(35, 124, 255, 0.09)
      );
    box-shadow:
      0 0 0 10px rgba(36, 215, 243, 0.035),
      0 0 30px rgba(36, 215, 243, 0.14),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
    animation: gsfaqcFloat 4s ease-in-out infinite;
  }

  .gsfaqc__question-icon svg {
    width: 53px;
    height: 53px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsfaqc__signal {
    position: absolute;
    width: 11px;
    height: 11px;
    border: 2px solid var(--gsfaqc-cyan);
    border-radius: 50%;
    background: #09213c;
    box-shadow:
      0 0 0 6px rgba(36, 215, 243, 0.045),
      0 0 14px rgba(36, 215, 243, 0.44);
    animation: gsfaqcSignal 2.8s ease-in-out infinite;
  }

  .gsfaqc__signal--one {
    top: 47px;
    right: 53px;
  }

  .gsfaqc__signal--two {
    bottom: 61px;
    left: 42px;
    animation-delay: -0.9s;
  }

  .gsfaqc__signal--three {
    right: 32px;
    bottom: 75px;
    animation-delay: -1.7s;
  }

  .gsfaqc__side-info {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .gsfaqc__side-info > div {
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(92, 174, 255, 0.14);
    border-radius: 14px;
    background: rgba(1, 12, 26, 0.38);
  }

  .gsfaqc__side-info small,
  .gsfaqc__side-info strong,
  .gsfaqc__side-info span {
    display: block;
  }

  .gsfaqc__side-info small {
    margin-bottom: 5px;
    color: #71899f;
    font-size: 7px;
  }

  .gsfaqc__side-info strong {
    color: #dcecff;
    font-size: 9px;
    line-height: 1.4;
  }

  .gsfaqc__side-info span {
    margin-top: 3px;
    color: #71899f;
    font-size: 7px;
    line-height: 1.45;
  }

  .gsfaqc__side-button {
    position: relative;
    z-index: 2;
    min-height: 49px;
    margin-top: 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 15px;
    border: 1px solid rgba(69, 215, 149, 0.25);
    border-radius: 14px;
    color: #abf2cf !important;
    background: rgba(69, 215, 149, 0.065);
    font-size: 9px;
    font-weight: 750;
    text-decoration: none !important;
    transition:
      transform 230ms ease,
      border-color 230ms ease,
      background-color 230ms ease;
  }

  .gsfaqc__side-button:hover {
    transform: translateY(-3px);
    border-color: rgba(69, 215, 149, 0.48);
    background: rgba(69, 215, 149, 0.11);
  }

  .gsfaqc__side-button > span {
    font-size: 17px;
  }

  /* Acordeón */

  .gsfaqc__accordion {
    display: grid;
    gap: 12px;
  }

  .gsfaqc__item {
    overflow: hidden;
    border: 1px solid rgba(92, 174, 255, 0.16);
    border-radius: 18px;
    background:
      linear-gradient(
        145deg,
        rgba(255, 255, 255, 0.055),
        rgba(255, 255, 255, 0.02)
      );
    box-shadow:
      0 15px 35px rgba(0, 0, 0, 0.13),
      inset 0 1px 0 rgba(255, 255, 255, 0.045);
    backdrop-filter: blur(10px);
    transition:
      border-color 240ms ease,
      background-color 240ms ease,
      box-shadow 240ms ease;
  }

  .gsfaqc__item[open] {
    border-color: rgba(36, 215, 243, 0.34);
    background:
      radial-gradient(
        circle at 100% 0%,
        rgba(36, 215, 243, 0.07),
        transparent 38%
      ),
      linear-gradient(
        145deg,
        rgba(11, 42, 72, 0.72),
        rgba(4, 20, 40, 0.86)
      );
    box-shadow:
      0 20px 43px rgba(0, 0, 0, 0.19),
      0 0 23px rgba(36, 215, 243, 0.045);
  }

  .gsfaqc__item summary {
    min-height: 75px;
    display: grid;
    grid-template-columns:
      42px
      minmax(0, 1fr)
      34px;
    gap: 14px;
    align-items: center;
    padding: 15px 18px;
    cursor: pointer;
    list-style: none;
  }

  .gsfaqc__item summary::-webkit-details-marker {
    display: none;
  }

  .gsfaqc__item-number {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(36, 215, 243, 0.22);
    border-radius: 12px;
    color: var(--gsfaqc-cyan);
    background: rgba(36, 215, 243, 0.06);
    font-size: 9px;
    font-weight: 800;
  }

  .gsfaqc__item-title {
    color: #dcecff;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 700;
  }

  .gsfaqc__item-toggle {
    position: relative;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(92, 174, 255, 0.16);
    border-radius: 10px;
    background: rgba(1, 12, 26, 0.35);
  }

  .gsfaqc__item-toggle::before,
  .gsfaqc__item-toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 2px;
    border-radius: 999px;
    background: #62c8ed;
    transform: translate(-50%, -50%);
    transition: transform 220ms ease;
  }

  .gsfaqc__item-toggle::after {
    transform:
      translate(-50%, -50%)
      rotate(90deg);
  }

  .gsfaqc__item[open] .gsfaqc__item-toggle::after {
    transform:
      translate(-50%, -50%)
      rotate(0deg);
  }

  .gsfaqc__answer {
    padding:
      0
      23px
      21px
      74px;
  }

  .gsfaqc__answer p {
    margin: 0;
    color: #879db2;
    font-size: 10px;
    line-height: 1.75;
  }

  .gsfaqc__answer p + p {
    margin-top: 10px;
  }

  /* Animaciones */

  @keyframes gsfaqcRing {
    0%,
    100% {
      opacity: 0.25;
      transform: translate(-50%, -50%) scale(0.96);
    }

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

  @keyframes gsfaqcFloat {
    0%,
    100% {
      transform: translateY(0);
    }

    50% {
      transform: translateY(-7px);
    }
  }

  @keyframes gsfaqcSignal {
    0%,
    100% {
      opacity: 0.45;
      transform: scale(0.85);
    }

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

  /* Tableta */

  @media (max-width: 950px) {
    .gsfaqc__layout {
      grid-template-columns: 1fr;
    }

    .gsfaqc__side {
      position: static;
      display: grid;
      grid-template-columns:
        minmax(250px, 0.8fr)
        minmax(0, 1.2fr);
      gap: 15px 25px;
      align-items: center;
    }

    .gsfaqc__side-status {
      grid-column: 1 / -1;
    }

    .gsfaqc__side-visual {
      grid-column: 1;
      grid-row: 2 / span 2;
    }

    .gsfaqc__side-info,
    .gsfaqc__side-button {
      grid-column: 2;
    }
  }

  @media (max-width: 850px) {
    .gsfaqc__header {
      grid-template-columns: 1fr;
      gap: 20px;
    }
  }

  /* Móvil */

  @media (max-width: 700px) {
    .gsfaqc {
      padding: 66px 17px 72px;
    }

    .gsfaqc__side {
      display: block;
      padding: 22px 18px;
    }

    .gsfaqc__side-visual {
      height: 240px;
    }

    .gsfaqc__side-info {
      margin-top: 7px;
    }

    .gsfaqc__item summary {
      grid-template-columns:
        38px
        minmax(0, 1fr)
        31px;
      gap: 10px;
      padding: 13px;
    }

    .gsfaqc__item-number {
      width: 38px;
      height: 38px;
    }

    .gsfaqc__item-title {
      font-size: 10px;
    }

    .gsfaqc__item-toggle {
      width: 31px;
      height: 31px;
    }

    .gsfaqc__answer {
      padding:
        0
        15px
        18px
        61px;
    }

    .gsfaqc__answer p {
      font-size: 9px;
    }
  }

  @media (max-width: 420px) {
    .gsfaqc__header h2 {
      font-size: clamp(36px, 11vw, 49px);
    }

    .gsfaqc__side-info {
      grid-template-columns: 1fr;
    }

    .gsfaqc__side-visual {
      transform: scale(0.9);
      margin-right: -8px;
      margin-left: -8px;
    }
  }

  /* Accesibilidad */

  @media (prefers-reduced-motion: reduce) {
    .gsfaqc__ring,
    .gsfaqc__question-icon,
    .gsfaqc__signal {
      animation: none !important;
    }

    .gsfaqc__item,
    .gsfaqc__item-toggle::before,
    .gsfaqc__item-toggle::after,
    .gsfaqc__side-button {
      transition: none !important;
    }
  }

.gsfaqc a:focus-visible,
.gsfaqc button:focus-visible,
.gsfaqc summary:focus-visible,
.gsfaqc input:focus-visible,
.gsfaqc select:focus-visible,
.gsfaqc textarea:focus-visible{
    outline:2px solid var(--gsfaqc-cyan) !important;
    outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
    .gsfaqc,
    .gsfaqc *,
    .gsfaqc *::before,
    .gsfaqc *::after{
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }
}


/* ===== CTA FINAL · cta-contacto ===== */
.gsctafinal {
    --gsctafinal-cyan: #24d7f3;
    --gsctafinal-blue: #237cff;
    --gsctafinal-green: #45d795;
    --gsctafinal-white: #ffffff;
    --gsctafinal-text: #b7c8dc;
position: relative;
    isolation: isolate;
    overflow: hidden;
    width: 100%;
    padding: clamp(80px, 8vw, 125px) 24px 0;
    color: var(--gsctafinal-white);
    background:
      radial-gradient(
        circle at 10% 15%,
        rgba(36, 215, 243, 0.14),
        transparent 31%
      ),
      radial-gradient(
        circle at 92% 50%,
        rgba(35, 124, 255, 0.2),
        transparent 38%
      ),
      linear-gradient(
        118deg,
        #020914 0%,
        #05162c 52%,
        #0a2247 100%
      );
    font-family:var(--gs-font-sans);
  }

  .gsctafinal *,
  .gsctafinal *::before,
  .gsctafinal *::after {
    box-sizing: border-box;
  }

  .gsctafinal__grid {
    position: absolute;
    z-index: -3;
    inset: 0;
    opacity: 0.27;
    pointer-events: none;
    background-image:
      linear-gradient(
        rgba(56, 146, 220, 0.08) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(56, 146, 220, 0.08) 1px,
        transparent 1px
      ),
      radial-gradient(
        circle,
        rgba(36, 215, 243, 0.25) 1px,
        transparent 1.5px
      );
    background-size:
      72px 72px,
      72px 72px,
      36px 36px;
  }

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

  .gsctafinal__glow--cyan {
    top: 7%;
    left: -190px;
    opacity: 0.11;
    background: var(--gsctafinal-cyan);
  }

  .gsctafinal__glow--blue {
    right: -170px;
    bottom: 4%;
    opacity: 0.16;
    background: var(--gsctafinal-blue);
  }

  .gsctafinal__wrap {
    width: min(1240px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns:
      minmax(0, 1fr)
      minmax(390px, 0.78fr);
    gap: clamp(48px, 7vw, 95px);
    align-items: center;
    padding-bottom: clamp(75px, 8vw, 115px);
  }

  /* CONTENIDO */

  .gsctafinal__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 19px;
    color: #83dcff;
    font-size: 11px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 1.8px;
    text-transform: uppercase;
  }

  .gsctafinal__eyebrow > span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--gsctafinal-green);
    box-shadow:
      0 0 0 6px rgba(69, 215, 149, 0.08),
      0 0 17px rgba(69, 215, 149, 0.64);
  }

  .gsctafinal h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(43px, 5vw, 70px);
    line-height: 1.03;
    font-weight: 850;
    letter-spacing: -0.055em;
  }

  .gsctafinal h2 span {
    display: block;
    margin-top: 5px;
    color: transparent;
    background:
      linear-gradient(
        90deg,
        #73dcff,
        var(--gsctafinal-cyan) 48%,
        #6491ff
      );
    -webkit-background-clip: text;
    background-clip: text;
  }

  .gsctafinal__description {
    max-width: 670px;
    margin: 23px 0 0;
    color: var(--gsctafinal-text);
    font-size: 15px;
    line-height: 1.78;
  }

  .gsctafinal__features {
    display: grid;
    gap: 10px;
    margin-top: 28px;
  }

  .gsctafinal__feature {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 11px 13px;
    border: 1px solid rgba(92, 174, 255, 0.14);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.025);
  }

  .gsctafinal__feature > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(36, 215, 243, 0.24);
    border-radius: 12px;
    color: var(--gsctafinal-cyan);
    background: rgba(36, 215, 243, 0.065);
  }

  .gsctafinal__feature svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

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

  .gsctafinal__feature strong {
    color: #e6f2ff;
    font-size: 10px;
    line-height: 1.4;
  }

  .gsctafinal__feature small {
    margin-top: 3px;
    color: #7890a6;
    font-size: 8px;
    line-height: 1.45;
  }

  .gsctafinal__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
  }

  .gsctafinal__button {
    min-height: 62px;
    display: inline-flex;
    align-items: center;
    gap: 11px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: 17px;
    color: #ffffff !important;
    text-decoration: none !important;
    transition:
      transform 230ms ease,
      border-color 230ms ease,
      box-shadow 230ms ease,
      background-color 230ms ease;
  }

  .gsctafinal__button:hover {
    transform: translateY(-4px);
    color: #ffffff !important;
  }

  .gsctafinal__button-icon {
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.12);
  }

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

  .gsctafinal__button small {
    display: block;
    margin-bottom: 4px;
    color: rgba(255, 255, 255, 0.67);
    font-size: 8px;
  }

  .gsctafinal__button > span:nth-child(2) {
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
  }

  .gsctafinal__button > i {
    margin-left: 5px;
    font-size: 18px;
    font-style: normal;
  }

  .gsctafinal__button--whatsapp {
    min-width: 235px;
    background:
      linear-gradient(
        110deg,
        #089d65,
        #13c982
      );
    box-shadow:
      0 18px 37px rgba(16, 191, 124, 0.24),
      0 0 25px rgba(69, 215, 149, 0.08);
  }

  .gsctafinal__button--whatsapp:hover {
    box-shadow:
      0 23px 45px rgba(16, 191, 124, 0.32),
      0 0 31px rgba(69, 215, 149, 0.13);
  }

  .gsctafinal__button--phone {
    border-color: rgba(92, 174, 255, 0.25);
    background: rgba(255, 255, 255, 0.045);
    backdrop-filter: blur(10px);
  }

  .gsctafinal__button--phone:hover {
    border-color: rgba(36, 215, 243, 0.47);
    background: rgba(36, 215, 243, 0.08);
  }

  /* VISUAL */

  .gsctafinal__visual {
    position: relative;
    min-height: 535px;
    display: grid;
    place-items: center;
  }

  .gsctafinal__visual-card {
    position: relative;
    width: min(430px, 100%);
    min-height: 430px;
    overflow: hidden;
    padding: 25px;
    border: 1px solid rgba(92, 174, 255, 0.22);
    border-radius: 34px;
    background:
      radial-gradient(
        circle at 50% 44%,
        rgba(36, 215, 243, 0.13),
        transparent 45%
      ),
      linear-gradient(
        145deg,
        rgba(15, 48, 84, 0.73),
        rgba(4, 17, 35, 0.94)
      );
    box-shadow:
      0 34px 80px rgba(0, 0, 0, 0.31),
      0 0 40px rgba(36, 215, 243, 0.055),
      inset 0 1px 0 rgba(255, 255, 255, 0.055);
    backdrop-filter: blur(15px);
  }

  .gsctafinal__status {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #7ed9b1;
    font-size: 8px;
    font-weight: 750;
    letter-spacing: 0.8px;
    text-transform: uppercase;
  }

  .gsctafinal__status > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--gsctafinal-green);
    box-shadow: 0 0 11px rgba(69, 215, 149, 0.7);
    animation: gsctafinalStatus 2.3s ease-in-out infinite;
  }

  .gsctafinal__radar {
    position: relative;
    width: 300px;
    height: 300px;
    margin: 6px auto 0;
    display: grid;
    place-items: center;
  }

  .gsctafinal__ring {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(36, 215, 243, 0.17);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: gsctafinalRing 4.5s ease-in-out infinite;
  }

  .gsctafinal__ring--one {
    width: 255px;
    height: 255px;
  }

  .gsctafinal__ring--two {
    width: 185px;
    height: 185px;
    animation-delay: -1.5s;
  }

  .gsctafinal__ring--three {
    width: 112px;
    height: 112px;
    animation-delay: -3s;
  }

  /* MANDO ELITE COMPLETO Y SIN RECORTE */

  .gsctafinal__device {
    position: relative;
    z-index: 3;
    width: 128px;
    height: 128px;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 7px;
    border: 1px solid rgba(98, 197, 246, 0.42);
    border-radius: 32px;
    background:
      linear-gradient(
        145deg,
        rgba(36, 215, 243, 0.17),
        rgba(35, 124, 255, 0.1)
      );
    box-shadow:
      0 0 0 11px rgba(36, 215, 243, 0.035),
      0 0 32px rgba(36, 215, 243, 0.15),
      inset 0 1px 0 rgba(255, 255, 255, 0.08);
    animation: gsctafinalFloat 4s ease-in-out infinite;
  }

  .gsctafinal__device--elite::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    border-radius: inherit;
    box-shadow:
      inset 0 0 18px rgba(36, 215, 243, 0.1),
      inset 0 1px 0 rgba(255, 255, 255, 0.1);
  }

  .gsctafinal__device--elite img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 25px;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    filter:
      saturate(1.08)
      contrast(1.04)
      brightness(1.03)
      drop-shadow(0 0 8px rgba(36, 215, 243, 0.2));
  }

  .gsctafinal__signal {
    position: absolute;
    width: 11px;
    height: 11px;
    border: 2px solid var(--gsctafinal-cyan);
    border-radius: 50%;
    background: #09213c;
    box-shadow:
      0 0 0 6px rgba(36, 215, 243, 0.045),
      0 0 14px rgba(36, 215, 243, 0.45);
    animation: gsctafinalSignal 2.8s ease-in-out infinite;
  }

  .gsctafinal__signal--one {
    top: 52px;
    right: 62px;
  }

  .gsctafinal__signal--two {
    bottom: 62px;
    left: 48px;
    animation-delay: -0.9s;
  }

  .gsctafinal__signal--three {
    right: 38px;
    bottom: 84px;
    animation-delay: -1.7s;
  }

  .gsctafinal__visual-footer {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    padding-top: 15px;
    border-top: 1px solid rgba(92, 174, 255, 0.14);
  }

  .gsctafinal__visual-footer > div {
    min-width: 0;
    padding: 8px;
    border: 1px solid rgba(92, 174, 255, 0.1);
    border-radius: 10px;
    background: rgba(1, 12, 26, 0.28);
    text-align: center;
  }

  .gsctafinal__visual-footer small,
  .gsctafinal__visual-footer strong {
    display: block;
  }

  .gsctafinal__visual-footer small {
    color: #70899f;
    font-size: 6px;
  }

  .gsctafinal__visual-footer strong {
    margin-top: 4px;
    color: #dcecff;
    font-size: 8px;
    line-height: 1.4;
  }

  .gsctafinal__floating {
    position: absolute;
    z-index: 4;
    min-height: 73px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 12px 14px;
    border: 1px solid rgba(92, 174, 255, 0.21);
    border-radius: 17px;
    background: rgba(5, 21, 42, 0.92);
    box-shadow:
      0 18px 36px rgba(0, 0, 0, 0.29),
      inset 0 1px 0 rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(13px);
  }

  .gsctafinal__floating--top {
    top: 72px;
    right: -25px;
    width: 225px;
    animation: gsctafinalCardTop 5.5s ease-in-out infinite;
  }

  .gsctafinal__floating--bottom {
    bottom: 37px;
    left: -30px;
    width: 220px;
    animation: gsctafinalCardBottom 5s ease-in-out infinite;
  }

  .gsctafinal__floating > span {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(36, 215, 243, 0.26);
    border-radius: 12px;
    color: var(--gsctafinal-cyan);
    background: rgba(36, 215, 243, 0.07);
  }

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

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

  .gsctafinal__floating small {
    margin-bottom: 4px;
    color: #71899f;
    font-size: 7px;
  }

  .gsctafinal__floating strong {
    color: #e3f0fd;
    font-size: 9px;
    line-height: 1.45;
  }

  /* FRANJA INFERIOR */

  .gsctafinal__bottom {
    border-top: 1px solid rgba(92, 174, 255, 0.15);
    background: rgba(2, 11, 24, 0.52);
    backdrop-filter: blur(10px);
  }

  .gsctafinal__bottom-wrap {
    width: min(1240px, calc(100% - 48px));
    min-height: 78px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 15px 0;
  }

  .gsctafinal__bottom-wrap > div {
    display: flex;
    align-items: center;
    gap: 11px;
  }

  .gsctafinal__bottom-wrap > div > span {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(36, 215, 243, 0.2);
    border-radius: 11px;
    color: var(--gsctafinal-cyan);
    background: rgba(36, 215, 243, 0.06);
  }

  .gsctafinal__bottom-wrap svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .gsctafinal__bottom-wrap p {
    margin: 0;
    color: #8097ad;
    font-size: 8px;
    line-height: 1.55;
  }

  .gsctafinal__bottom-wrap > a {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 13px;
    border: 1px solid rgba(36, 215, 243, 0.2);
    border-radius: 999px;
    color: #9edff7 !important;
    background: rgba(36, 215, 243, 0.055);
    font-size: 8px;
    font-weight: 750;
    text-decoration: none !important;
  }

  /* ANIMACIONES */

  @keyframes gsctafinalStatus {
    0%,
    100% {
      opacity: 0.45;
      transform: scale(0.85);
    }

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

  @keyframes gsctafinalRing {
    0%,
    100% {
      opacity: 0.25;
      transform: translate(-50%, -50%) scale(0.96);
    }

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

  @keyframes gsctafinalFloat {
    0%,
    100% {
      transform: translateY(0);
    }

    50% {
      transform: translateY(-8px);
    }
  }

  @keyframes gsctafinalSignal {
    0%,
    100% {
      opacity: 0.45;
      transform: scale(0.85);
    }

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

  @keyframes gsctafinalCardTop {
    0%,
    100% {
      transform: translateY(0) rotate(1deg);
    }

    50% {
      transform: translateY(7px) rotate(0);
    }
  }

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

    50% {
      transform: translateY(-7px) rotate(0);
    }
  }

  /* TABLETA */

  @media (max-width: 1050px) {
    .gsctafinal__wrap {
      grid-template-columns:
        minmax(0, 1fr)
        minmax(350px, 0.72fr);
      gap: 45px;
    }

    .gsctafinal__floating--top {
      right: -5px;
    }

    .gsctafinal__floating--bottom {
      left: -5px;
    }
  }

  @media (max-width: 900px) {
    .gsctafinal__wrap {
      grid-template-columns: 1fr;
    }

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

  /* MÓVIL */

  @media (max-width: 650px) {
    .gsctafinal {
      padding: 68px 17px 0;
    }

    .gsctafinal h2 {
      font-size: clamp(39px, 12vw, 54px);
    }

    .gsctafinal__actions {
      display: grid;
      grid-template-columns: 1fr;
    }

    .gsctafinal__button {
      width: 100%;
      min-width: 0;
    }

    .gsctafinal__button > i {
      margin-left: auto;
    }

    .gsctafinal__visual {
      min-height: 455px;
    }

    .gsctafinal__visual-card {
      min-height: 375px;
      padding: 20px;
      border-radius: 27px;
    }

    .gsctafinal__radar {
      width: 260px;
      height: 255px;
    }

    .gsctafinal__ring--one {
      width: 225px;
      height: 225px;
    }

    .gsctafinal__ring--two {
      width: 160px;
      height: 160px;
    }

    .gsctafinal__ring--three {
      width: 96px;
      height: 96px;
    }

    .gsctafinal__device {
      width: 116px;
      height: 116px;
      padding: 6px;
      border-radius: 29px;
    }

    .gsctafinal__floating--top {
      top: 67px;
      right: -4px;
      width: 198px;
    }

    .gsctafinal__floating--bottom {
      bottom: 19px;
      left: -4px;
      width: 202px;
    }

    .gsctafinal__bottom {
      margin-right: -17px;
      margin-left: -17px;
    }

    .gsctafinal__bottom-wrap {
      width: calc(100% - 34px);
      flex-direction: column;
      align-items: flex-start;
    }
  }

  @media (max-width: 420px) {
    .gsctafinal__visual {
      min-height: 440px;
    }

    .gsctafinal__radar {
      transform: scale(0.9);
    }

    .gsctafinal__floating strong {
      font-size: 8px;
    }
  }

  /* ACCESIBILIDAD */

  @media (prefers-reduced-motion: reduce) {
    .gsctafinal__status > span,
    .gsctafinal__ring,
    .gsctafinal__device,
    .gsctafinal__signal,
    .gsctafinal__floating {
      animation: none !important;
    }

    .gsctafinal__button {
      transition: none !important;
    }
  }

.gsctafinal a:focus-visible,
.gsctafinal button:focus-visible,
.gsctafinal summary:focus-visible,
.gsctafinal input:focus-visible,
.gsctafinal select:focus-visible,
.gsctafinal textarea:focus-visible{
    outline:2px solid var(--gsctafinal-cyan) !important;
    outline-offset:3px;
}

@media (prefers-reduced-motion: reduce){
    .gsctafinal,
    .gsctafinal *,
    .gsctafinal *::before,
    .gsctafinal *::after{
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }
}


/* =========================================================
   CARGA DINÁMICA — VISUALES DE CONTACTO
   ========================================================= */

.gscontact-loading{
    width:100%;
    margin:auto;
    padding:18px;
    color:#71899e;
    font-size:10px;
    line-height:1.6;
    text-align:center;
}

.gschero__visual[data-gs-component="contacto-hero"]{
    min-height:500px;
}

.gscdirect__map-visual[data-gs-component="contacto-directo"]{
    min-height:270px;
}

.gsfaqc__side-visual[data-gs-component="contacto-faq-visual"]{
    min-height:250px;
}

.gsctafinal__visual[data-gs-component="contacto-cta"]{
    min-height:520px;
}

[data-gs-component^="contacto-"][data-gs-loaded="1"]{
    min-height:0;
}

@media (max-width:700px){
    .gschero__visual[data-gs-component="contacto-hero"],
    .gscdirect__map-visual[data-gs-component="contacto-directo"],
    .gsfaqc__side-visual[data-gs-component="contacto-faq-visual"],
    .gsctafinal__visual[data-gs-component="contacto-cta"]{
        min-height:300px;
    }
}
