/* RG Tecnoservice Core — Home modular v1.3.1 */
.rgts-home{width:100%;max-width:none;margin:0;padding:0;overflow-x:hidden;overflow-x:clip}.rgts-home>section{scroll-margin-top:var(--rg-header-offset,92px)}
.rgts-home .rg-hero-main,.rgts-home .rg-about,.rgts-home .rg-services,.rgts-home .rg-workflow,.rgts-home .rg-trust,.rgts-home .rg-home-projects,.rgts-home .rg-faqhub,.rgts-home .rg-contacthub,.rgts-home .rg-quick-contact{max-width:none}
html:not(.rgts-home-js) .rg-about__visual,html:not(.rgts-home-js) .rgts-home-service-card,html:not(.rgts-home-js) .rg-trust-card,html:not(.rgts-home-js) [data-rg-contact-animate]{opacity:1!important;transform:none!important}
html:not(.rgts-home-js) .rg-site .rg-faqhub-item__answer{grid-template-rows:1fr!important;visibility:visible!important}


/* ===== INICIO ===== */

  /* =========================================================
     RG TECNOSERVICE — HERO PRINCIPAL V4
     Full width + H1 definitivo
     ========================================================= */

  .rg-site .rg-hero-main {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none;
    min-height: calc(100vh - 100px);
    min-height: calc(100svh - 100px);
    margin-left: -50vw;
    display: grid;
    align-items: center;
    isolation: isolate;
    overflow: hidden;
    background: var(--rg-blue-100, #eaf1f8);
  }

  .rg-site .rg-hero-main__media {
    position: absolute;
    inset: 0;
    z-index: -3;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  .rg-site .rg-hero-main::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
      linear-gradient(
        90deg,
        rgba(250, 249, 247, 0.99) 0%,
        rgba(250, 249, 247, 0.97) 27%,
        rgba(250, 249, 247, 0.84) 43%,
        rgba(250, 249, 247, 0.38) 59%,
        rgba(250, 249, 247, 0.06) 78%
      );
    pointer-events: none;
  }

  .rg-site .rg-hero-main::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    z-index: -1;
    height: 120px;
    background:
      linear-gradient(
        to bottom,
        rgba(250, 249, 247, 0),
        rgba(250, 249, 247, 0.68)
      );
    pointer-events: none;
  }

  .rg-site .rg-hero-main__inner {
    position: relative;
    z-index: 2;
    width: min(
      calc(100% - 40px),
      var(--rg-container, 1222px)
    );
    margin-inline: auto;
    padding-block: clamp(76px, 8vw, 118px);
  }

  .rg-site .rg-hero-main__content {
    width: min(100%, 640px);
  }

  .rg-site .rg-hero-main__kicker {
    margin-bottom: 18px;
  }

  .rg-site .rg-hero-main__title {
    max-width: 620px;
    margin-bottom: 24px;
    color: var(--rg-blue-950, #061a35);
    font-size: clamp(44px, 4.8vw, 64px);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -0.032em;
    text-wrap: balance;
  }

  .rg-site .rg-hero-main__title span {
    color: var(--rg-green-700, #087b2a);
  }

  .rg-site .rg-hero-main__description {
    max-width: 610px;
    margin-bottom: 32px;
    color: var(--rg-muted, #667383);
    font-size: 18px;
    line-height: 1.7;
  }

  .rg-site .rg-hero-main__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 34px;
  }

  .rg-site .rg-hero-main__services {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .rg-site .rg-hero-main__services li {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--rg-blue-900, #08264f);
    font-family: var(
      --rg-font-title,
      "Kumbh Sans",
      Arial,
      sans-serif
    );
    font-size: 13px;
    font-weight: 600;
  }

  .rg-site .rg-hero-main__services li::before {
    content: "";
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rg-green-600, #0a8b2d);
    box-shadow: 0 0 0 5px rgba(10, 139, 45, 0.10);
  }

  @media (max-width: 1024px) {
    .rg-site .rg-hero-main {
      min-height: calc(100vh - 70px);
      min-height: calc(100svh - 70px);
    }

    .rg-site .rg-hero-main__media {
      object-position: 62% center;
    }

    .rg-site .rg-hero-main::before {
      background:
        linear-gradient(
          90deg,
          rgba(250, 249, 247, 0.99) 0%,
          rgba(250, 249, 247, 0.96) 40%,
          rgba(250, 249, 247, 0.68) 65%,
          rgba(250, 249, 247, 0.15) 100%
        );
    }

    .rg-site .rg-hero-main__content {
      max-width: 590px;
    }

    .rg-site .rg-hero-main__title {
      max-width: 580px;
      font-size: clamp(40px, 5.6vw, 54px);
    }
  }

  @media (max-width: 767.98px) {
    .rg-site .rg-hero-main {
      min-height: calc(100vh - 70px);
      min-height: calc(100svh - 70px);
      align-items: start;
    }

    .rg-site .rg-hero-main__media {
      object-position: 72% center;
    }

    /*
     * Protección localizada del texto: sólida en el lado izquierdo y
     * progresivamente transparente hacia la fotografía en el lado derecho.
     */
    .rg-site .rg-hero-main::before {
      background:
        linear-gradient(
          90deg,
          rgba(250, 249, 247, 0.98) 0%,
          rgba(250, 249, 247, 0.96) 44%,
          rgba(250, 249, 247, 0.78) 67%,
          rgba(250, 249, 247, 0.38) 86%,
          rgba(250, 249, 247, 0.14) 100%
        ),
        linear-gradient(
          180deg,
          rgba(250, 249, 247, 0.62) 0%,
          rgba(250, 249, 247, 0.36) 54%,
          rgba(250, 249, 247, 0.16) 76%,
          rgba(8, 38, 79, 0.08) 100%
        );
    }

    .rg-site .rg-hero-main::after {
      height: 115px;
      background:
        linear-gradient(
          to bottom,
          rgba(8, 38, 79, 0),
          rgba(8, 38, 79, 0.30)
        );
    }

    .rg-site .rg-hero-main__inner {
      width: calc(100% - 32px);
      padding-top: 58px;
      padding-bottom: 72px;
    }

    .rg-site .rg-hero-main__content {
      width: 100%;
      max-width: none;
    }

    .rg-site .rg-hero-main__title {
      max-width: 560px;
      margin-bottom: 20px;
      font-size: clamp(34px, 8.8vw, 42px);
      line-height: 1.08;
    }

    .rg-site .rg-hero-main__description {
      max-width: 530px;
      margin-bottom: 26px;
      font-size: 16px;
      line-height: 1.62;
    }

    .rg-site .rg-hero-main__actions {
      display: grid;
      margin-bottom: 28px;
    }

    .rg-site .rg-hero-main__actions .rg-btn {
      width: 100%;
    }

    .rg-site .rg-hero-main__services {
      display: grid;
      gap: 12px;
    }
  }

  @media (max-width: 420px) {
    .rg-site .rg-hero-main__title {
      font-size: 32px;
    }

    .rg-site .rg-hero-main__media {
      object-position: 65% center;
    }
  }


/* ===== QUICK-FORM ===== */

  /* =========================================================
     RG TECNOSERVICE — FORMULARIO RÁPIDO WHATSAPP V2
     Escritorio: 3 campos + botón inferior
     Móvil: elementos apilados
     ========================================================= */

  .rg-quick-form {
    width: 100%;
    min-width: 0;
  }

  .rg-quick-form__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
    width: 100%;
    margin: 0;
  }

  .rg-quick-form__field {
    display: grid;
    gap: 8px;
    min-width: 0;
    margin: 0;
  }

  .rg-quick-form__label {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 17px;
    margin: 0;
    color: #ffffff;
    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.035em;
    text-transform: uppercase;
  }

  .rg-quick-form__label svg {
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    fill: none;
    stroke: #55df83;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .rg-quick-form__input,
  .rg-quick-form__select {
    display: block;
    width: 100%;
    min-width: 0;
    height: 54px;
    margin: 0 !important;
    padding: 0 15px;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 4px;
    outline: none;
    color: #061a35;
    background-color: #ffffff;
    box-shadow: none;
    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    transition:
      border-color 0.2s ease,
      box-shadow 0.2s ease;
  }

  .rg-quick-form__input::placeholder {
    color: #8793a2;
    opacity: 1;
  }

  .rg-quick-form__select {
    cursor: pointer;
  }

  .rg-quick-form__input:hover,
  .rg-quick-form__select:hover {
    border-color: rgba(85, 223, 131, 0.8);
  }

  .rg-quick-form__input:focus,
  .rg-quick-form__select:focus {
    border-color: #55df83;
    box-shadow: 0 0 0 3px rgba(85, 223, 131, 0.16);
  }

  /* =========================================================
     BOTÓN INFERIOR A TODO EL ANCHO
     ========================================================= */

  .rg-quick-form__button {
    grid-column: 1 / -1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-width: 0;
    height: 54px;
    margin: 2px 0 0 !important;
    padding: 0 20px;
    border: 1px solid #099438;
    border-radius: 4px;
    color: #ffffff !important;
    background: #099438;
    box-shadow: none;
    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition:
      background-color 0.2s ease,
      border-color 0.2s ease,
      transform 0.2s ease,
      box-shadow 0.2s ease;
  }

  .rg-quick-form__button:hover {
    border-color: #087b2a;
    color: #ffffff !important;
    background: #087b2a;
    box-shadow: 0 10px 24px rgba(3, 19, 39, 0.2);
    transform: translateY(-2px);
  }

  .rg-quick-form__button:focus-visible {
    outline: 3px solid rgba(85, 223, 131, 0.32);
    outline-offset: 3px;
  }

  .rg-quick-form__button:disabled {
    opacity: 0.66;
    cursor: wait;
    transform: none;
  }

  .rg-quick-form__button svg {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    fill: currentColor;
  }

  /* =========================================================
     NOTA Y MENSAJES
     ========================================================= */

  .rg-quick-form__meta {
    grid-column: 1 / -1;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 1px 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);
    font-size: 11px;
    line-height: 1.45;
  }

  .rg-quick-form__meta svg {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    margin-top: 1px;
    fill: none;
    stroke: #55df83;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .rg-quick-form__feedback {
    grid-column: 1 / -1;
    display: none;
    margin: 0;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
  }

  .rg-quick-form__feedback.is-visible {
    display: block;
  }

  /* =========================================================
     TABLET
     Dos campos arriba y servicio a todo el ancho
     ========================================================= */

  @media (max-width: 1180px) {
    .rg-quick-form__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rg-quick-form__field:nth-child(3),
    .rg-quick-form__button,
    .rg-quick-form__meta,
    .rg-quick-form__feedback {
      grid-column: 1 / -1;
    }
  }

  /* =========================================================
     MÓVIL
     Todo apilado
     ========================================================= */

  @media (max-width: 767.98px) {
    .rg-quick-form__grid {
      grid-template-columns: 1fr;
      gap: 15px;
    }

    .rg-quick-form__field,
    .rg-quick-form__button,
    .rg-quick-form__meta,
    .rg-quick-form__feedback {
      grid-column: auto;
    }

    .rg-quick-form__button {
      width: 100%;
      margin-top: 2px !important;
    }
  }

  @media (max-width: 380px) {
    .rg-quick-form__button {
      padding-inline: 12px;
      font-size: 11px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .rg-quick-form *,
    .rg-quick-form *::before,
    .rg-quick-form *::after {
      transition-duration: 0.001ms !important;
    }
  }


/* ===== EMPRESA ===== */

  /* =========================================================
     RG TECNOSERVICE — SECCIÓN INSTITUCIONAL V4.1
     Cards compactas + cuadrícula arquitectónica visible
     + transición blanco/gris progresiva
     ========================================================= */

  .rg-site .rg-about {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none;
    margin-left: -50vw;
    padding-block: clamp(48px, 5vw, 72px);
    overflow: hidden;
    background:
      linear-gradient(
        180deg,
        #ffffff 0%,
        #ffffff 38%,
        #fcfdfe 53%,
        #f5f7f9 70%,
        #e9eef3 100%
      );
  }

  /* =========================================================
     CUADRÍCULA ARQUITECTÓNICA AMPLIA
     Más visible desde la mitad inferior
     ========================================================= */

  .rg-site .rg-about::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;

    background-image:
      linear-gradient(
        rgba(8, 38, 79, 0.085) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(8, 38, 79, 0.085) 1px,
        transparent 1px
      ),
      linear-gradient(
        rgba(8, 38, 79, 0.145) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(8, 38, 79, 0.145) 1px,
        transparent 1px
      );

    background-size:
      112px 112px,
      112px 112px,
      448px 448px,
      448px 448px;

    background-position:
      center top,
      center top,
      center top,
      center top;

    -webkit-mask-image:
      linear-gradient(
        to bottom,
        transparent 0%,
        transparent 33%,
        rgba(0, 0, 0, 0.18) 47%,
        rgba(0, 0, 0, 0.72) 66%,
        #000000 100%
      );

    mask-image:
      linear-gradient(
        to bottom,
        transparent 0%,
        transparent 33%,
        rgba(0, 0, 0, 0.18) 47%,
        rgba(0, 0, 0, 0.72) 66%,
        #000000 100%
      );

    pointer-events: none;
  }

  /* Profundidad gris en la base */
  .rg-site .rg-about::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 34%;
    background:
      linear-gradient(
        to bottom,
        rgba(219, 226, 234, 0),
        rgba(205, 215, 225, 0.34)
      );
    pointer-events: none;
  }

  .rg-site .rg-about__container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns:
      minmax(350px, 0.88fr)
      minmax(0, 1.12fr);
    gap: clamp(42px, 5vw, 68px);
    align-items: center;
    width: min(
      calc(100% - 40px),
      var(--rg-container, 1222px)
    );
    margin-inline: auto;
  }

  /* =========================================================
     IMAGEN
     ========================================================= */

  .rg-site .rg-about__visual {
    position: relative;
    min-width: 0;
    margin: 0;
    opacity: 0;
    transform: translateY(24px) scale(0.985);
    transition:
      opacity 0.75s ease,
      transform 0.75s cubic-bezier(0.2, 0.7, 0.2, 1);
  }

  .rg-site .rg-about__visual.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
  }

  /* Halo técnico azul-verde */
  .rg-site .rg-about__visual::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -8px;
    border-radius: 23px;
    opacity: 0;
    background:
      conic-gradient(
        from 180deg,
        transparent 0deg,
        rgba(20, 104, 206, 0.72) 52deg,
        rgba(25, 184, 80, 0.82) 86deg,
        transparent 135deg,
        transparent 260deg,
        rgba(20, 104, 206, 0.58) 310deg,
        transparent 360deg
      );
    filter: blur(7px);
    transition: opacity 0.35s ease;
    pointer-events: none;
  }

  .rg-site .rg-about__visual:hover::after {
    opacity: 0.62;
    animation:
      rg-about-electric-pulse 1.6s ease-in-out infinite;
  }

  .rg-site .rg-about__image-frame {
    position: relative;
    height: clamp(500px, 62vh, 610px);
    overflow: hidden;
    border-radius: 18px;
    background: var(--rg-blue-900, #08264f);
    box-shadow:
      0 24px 60px rgba(6, 26, 53, 0.17);
    transition:
      transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1),
      box-shadow 0.4s ease;
  }

  .rg-site .rg-about__visual:hover
  .rg-about__image-frame {
    transform: translateY(-4px);
    box-shadow:
      0 32px 76px rgba(6, 26, 53, 0.23),
      0 0 0 1px rgba(10, 139, 45, 0.18);
  }

  /* Barrido metálico */
  .rg-site .rg-about__image-frame::before {
    content: "";
    position: absolute;
    z-index: 3;
    top: -30%;
    bottom: -30%;
    left: -60%;
    width: 34%;
    opacity: 0;
    transform: skewX(-18deg);
    background:
      linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.11),
        rgba(255, 255, 255, 0.62),
        rgba(174, 225, 255, 0.24),
        transparent
      );
    filter: blur(1px);
    pointer-events: none;
  }

  .rg-site .rg-about__visual:hover
  .rg-about__image-frame::before {
    opacity: 1;
    animation: rg-about-metal-sweep 1.05s ease forwards;
  }

  .rg-site .rg-about__image-frame::after {
    content: "";
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;
    height: 32%;
    background:
      linear-gradient(
        to top,
        rgba(6, 26, 53, 0.48),
        transparent
      );
    pointer-events: none;
  }

  .rg-site .rg-about__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition:
      transform 0.65s cubic-bezier(0.2, 0.7, 0.2, 1),
      filter 0.65s ease;
  }

  .rg-site .rg-about__visual:hover
  .rg-about__image {
    transform: scale(1.018);
    filter: saturate(1.04) contrast(1.025);
  }

  /* Esquina verde */
  .rg-site .rg-about__accent {
    position: absolute;
    z-index: 5;
    top: -15px;
    left: -15px;
    width: 105px;
    height: 105px;
    border-top:
      4px solid var(--rg-green-600, #0a8b2d);
    border-left:
      4px solid var(--rg-green-600, #0a8b2d);
    border-radius: 20px 0 0;
    transition:
      width 0.4s ease,
      height 0.4s ease,
      filter 0.4s ease;
    pointer-events: none;
  }

  .rg-site .rg-about__visual:hover
  .rg-about__accent {
    width: 120px;
    height: 120px;
    filter:
      drop-shadow(
        0 0 7px rgba(10, 139, 45, 0.38)
      );
  }

  /* Tarjeta flotante */
  .rg-site .rg-about__badge {
    position: absolute;
    z-index: 6;
    right: clamp(18px, 3vw, 30px);
    bottom: clamp(18px, 3vw, 30px);
    left: clamp(18px, 3vw, 30px);
    display: flex;
    align-items: center;
    gap: 13px;
    max-width: 370px;
    padding: 15px 17px;
    border: 1px solid rgba(255, 255, 255, 0.76);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow:
      0 14px 34px rgba(6, 26, 53, 0.18);
    backdrop-filter: blur(10px);
    transition:
      transform 0.4s ease,
      box-shadow 0.4s ease;
  }

  .rg-site .rg-about__visual:hover
  .rg-about__badge {
    transform: translateY(-3px);
    box-shadow:
      0 18px 40px rgba(6, 26, 53, 0.23);
  }

  .rg-site .rg-about__badge-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    color: #ffffff;
    background: var(--rg-green-600, #0a8b2d);
  }

  .rg-site .rg-about__badge-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .rg-site .rg-about__badge-text {
    min-width: 0;
  }

  .rg-site .rg-about__badge-title {
    display: block;
    margin-bottom: 2px;
    color: var(--rg-blue-950, #061a35);
    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
  }

  .rg-site .rg-about__badge-description {
    display: block;
    color: var(--rg-muted, #667383);
    font-size: 12px;
    line-height: 1.4;
  }

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

  .rg-site .rg-about__content {
    min-width: 0;
  }

  .rg-site .rg-about__kicker {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 14px;
    color: var(--rg-green-700, #087b2a);
    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .rg-site .rg-about__kicker::before {
    content: "";
    width: 28px;
    height: 2px;
    background: currentColor;
  }

  .rg-site .rg-about__title {
    max-width: 680px;
    margin: 0 0 18px;
    color: var(--rg-blue-950, #061a35);
    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);
    font-size: clamp(38px, 3.7vw, 50px);
    font-weight: 700;
    line-height: 1.07;
    letter-spacing: -0.03em;
    text-wrap: balance;
  }

  .rg-site .rg-about__title span {
    color: var(--rg-green-700, #087b2a);
  }

  .rg-site .rg-about__description {
    max-width: 650px;
    margin: 0 0 23px;
    color: var(--rg-muted, #667383);
    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);
    font-size: 16px;
    line-height: 1.68;
  }

  /* =========================================================
     CARDS COMPACTAS Y MEJOR DELIMITADAS
     ========================================================= */

  .rg-site .rg-about__features {
    display: grid;
    gap: 11px;
    width: min(80%, 540px);
    max-width: 540px;
    margin: 0 0 25px;
    padding: 0;
    list-style: none;
  }

  .rg-site .rg-about__feature {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    width: 100%;
    padding: 12px 15px;
    border: 1px solid rgba(8, 38, 79, 0.19);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.84);
    box-shadow:
      0 3px 12px rgba(6, 26, 53, 0.045);
    backdrop-filter: blur(3px);
    transition:
      border-color 0.2s ease,
      box-shadow 0.2s ease,
      transform 0.2s ease,
      background-color 0.2s ease;
  }

  .rg-site .rg-about__feature:hover {
    border-color: rgba(10, 139, 45, 0.38);
    background: rgba(255, 255, 255, 0.98);
    box-shadow:
      0 11px 27px rgba(6, 26, 53, 0.095);
    transform: translateX(3px);
  }

  .rg-site .rg-about__feature-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 8px;
    color: var(--rg-green-700, #087b2a);
    background: rgba(10, 139, 45, 0.10);
  }

  .rg-site .rg-about__feature-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .rg-site .rg-about__feature-content {
    min-width: 0;
  }

  .rg-site .rg-about__feature-title {
    display: block;
    margin-bottom: 2px;
    color: var(--rg-blue-950, #061a35);
    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
  }

  .rg-site .rg-about__feature-text {
    display: block;
    color: var(--rg-muted, #667383);
    font-size: 12.5px;
    line-height: 1.45;
  }

  /* =========================================================
     ACCIONES
     ========================================================= */

  .rg-site .rg-about__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
  }

  .rg-site .rg-about__button {
    min-height: 50px;
  }

  .rg-site .rg-about__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 50px;
    padding-inline: 8px;
    color: var(--rg-blue-900, #08264f);
    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
  }

  .rg-site .rg-about__link:hover {
    color: var(--rg-green-700, #087b2a);
  }

  .rg-site .rg-about__link svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.2s ease;
  }

  .rg-site .rg-about__link:hover svg {
    transform: translateX(3px);
  }

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

  @keyframes rg-about-metal-sweep {
    0% {
      left: -60%;
    }

    100% {
      left: 135%;
    }
  }

  @keyframes rg-about-electric-pulse {
    0%,
    100% {
      opacity: 0.32;
      filter: blur(7px);
    }

    50% {
      opacity: 0.72;
      filter: blur(9px);
    }
  }

  /* =========================================================
     TABLET
     ========================================================= */

  @media (max-width: 1100px) {
    .rg-site .rg-about__container {
      grid-template-columns:
        minmax(310px, 0.86fr)
        minmax(0, 1.14fr);
      gap: 42px;
    }

    .rg-site .rg-about__image-frame {
      height: clamp(500px, 59vh, 570px);
    }

    .rg-site .rg-about__title {
      font-size: clamp(35px, 4.4vw, 45px);
    }

    .rg-site .rg-about__description {
      font-size: 15px;
    }

    .rg-site .rg-about__features {
      width: 100%;
      max-width: 540px;
    }
  }

  /* =========================================================
     TABLET VERTICAL
     ========================================================= */

  @media (max-width: 850px) {
    .rg-site .rg-about {
      padding-block: 62px;
    }

    .rg-site .rg-about__container {
      grid-template-columns: 1fr;
      gap: 44px;
    }

    .rg-site .rg-about__visual {
      width: min(100%, 540px);
      margin-inline: auto;
    }

    .rg-site .rg-about__image-frame {
      height: auto;
      aspect-ratio: 4 / 5;
    }

    .rg-site .rg-about__content {
      width: min(100%, 680px);
      margin-inline: auto;
    }

    .rg-site .rg-about__features {
      width: 100%;
      max-width: none;
    }
  }

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

  @media (max-width: 767.98px) {
    .rg-site .rg-about {
      padding-block: 54px;
      background:
        linear-gradient(
          180deg,
          #ffffff 0%,
          #ffffff 32%,
          #fafbfd 50%,
          #f1f4f7 72%,
          #e8edf2 100%
        );
    }

    .rg-site .rg-about__container {
      width: calc(100% - 32px);
      gap: 38px;
    }

    .rg-site .rg-about::before {
      background-size:
        84px 84px,
        84px 84px,
        336px 336px,
        336px 336px;

      -webkit-mask-image:
        linear-gradient(
          to bottom,
          transparent 0%,
          transparent 28%,
          rgba(0, 0, 0, 0.22) 48%,
          rgba(0, 0, 0, 0.72) 72%,
          #000000 100%
        );

      mask-image:
        linear-gradient(
          to bottom,
          transparent 0%,
          transparent 28%,
          rgba(0, 0, 0, 0.22) 48%,
          rgba(0, 0, 0, 0.72) 72%,
          #000000 100%
        );
    }

    .rg-site .rg-about__accent {
      top: -9px;
      left: -9px;
      width: 72px;
      height: 72px;
      border-width: 3px;
    }

    .rg-site .rg-about__image-frame {
      border-radius: 13px;
    }

    .rg-site .rg-about__badge {
      right: 14px;
      bottom: 14px;
      left: 14px;
      padding: 13px 14px;
    }

    .rg-site .rg-about__badge-icon {
      flex-basis: 39px;
      width: 39px;
      height: 39px;
    }

    .rg-site .rg-about__kicker {
      margin-bottom: 13px;
      font-size: 10px;
    }

    .rg-site .rg-about__title {
      margin-bottom: 17px;
      font-size: clamp(31px, 8.8vw, 39px);
      line-height: 1.09;
    }

    .rg-site .rg-about__description {
      margin-bottom: 23px;
      font-size: 15px;
      line-height: 1.64;
    }

    .rg-site .rg-about__features {
      width: 100%;
      max-width: none;
      margin-bottom: 26px;
    }

    .rg-site .rg-about__feature {
      grid-template-columns: 40px minmax(0, 1fr);
      gap: 12px;
      padding: 13px;
    }

    .rg-site .rg-about__feature-icon {
      width: 40px;
      height: 40px;
    }

    .rg-site .rg-about__actions {
      display: grid;
      width: 100%;
    }

    .rg-site .rg-about__actions .rg-btn {
      width: 100%;
    }

    .rg-site .rg-about__link {
      justify-content: center;
    }
  }

  @media (max-width: 390px) {
    .rg-site .rg-about__badge-description {
      font-size: 11px;
    }
  }

  /* Accesibilidad */
  @media (prefers-reduced-motion: reduce) {
    .rg-site .rg-about__visual {
      opacity: 1;
      transform: none;
    }

    .rg-site .rg-about *,
    .rg-site .rg-about *::before,
    .rg-site .rg-about *::after {
      animation: none !important;
      transition-duration: 0.001ms !important;
    }
  }


/* ===== SERVICIOS ===== */

  /* =========================================================
     RG TECNOSERVICE — SERVICIOS PRINCIPALES V2.1
     Cuatro áreas + continuidad total entre secciones
     + esquinas verdes animadas + CTA protagonista
     ========================================================= */

  .rg-site .rg-services {
    position: relative;
    left: 50%;
    width: 100vw;
    max-width: none;
    margin-top: -1px;
    margin-left: -50vw;
    padding-block: clamp(70px, 7vw, 104px);
    overflow: hidden;

    /*
     * Coincide con el tono inferior de la sección anterior.
     * Luego se aclara gradualmente hasta llegar al blanco.
     */
    background:
      linear-gradient(
        180deg,
        #dfe6ed 0%,
        #dfe6ed 11%,
        #e5eaf0 23%,
        #eef2f5 40%,
        #f7f9fb 59%,
        #fdfdfe 76%,
        #ffffff 88%,
        #ffffff 100%
      );
  }

  /* =========================================================
     CONTINUIDAD DE LA CUADRÍCULA ARQUITECTÓNICA
     ========================================================= */

  .rg-site .rg-services::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;

    background-image:
      linear-gradient(
        rgba(8, 38, 79, 0.11) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(8, 38, 79, 0.11) 1px,
        transparent 1px
      ),
      linear-gradient(
        rgba(8, 38, 79, 0.19) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(8, 38, 79, 0.19) 1px,
        transparent 1px
      );

    background-size:
      80px 80px,
      80px 80px,
      320px 320px,
      320px 320px;

    /*
     * Las líneas horizontales se desplazan para que ninguna
     * comience exactamente sobre la unión de las secciones.
     */
    background-position:
      center 40px,
      center top,
      center 160px,
      center top;

    -webkit-mask-image:
      linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.96) 0%,
        rgba(0, 0, 0, 0.92) 14%,
        rgba(0, 0, 0, 0.68) 31%,
        rgba(0, 0, 0, 0.34) 48%,
        rgba(0, 0, 0, 0.08) 64%,
        transparent 76%
      );

    mask-image:
      linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.96) 0%,
        rgba(0, 0, 0, 0.92) 14%,
        rgba(0, 0, 0, 0.68) 31%,
        rgba(0, 0, 0, 0.34) 48%,
        rgba(0, 0, 0, 0.08) 64%,
        transparent 76%
      );

    pointer-events: none;
  }

  /*
   * Capa superior de mezcla.
   * Evita cualquier cambio abrupto de gris en la unión.
   */
  .rg-site .rg-services::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    left: 0;
    height: 175px;

    background:
      linear-gradient(
        180deg,
        rgba(223, 230, 237, 0.62) 0%,
        rgba(223, 230, 237, 0.25) 48%,
        rgba(223, 230, 237, 0) 100%
      );

    pointer-events: none;
  }

  .rg-site .rg-services__container {
    position: relative;
    z-index: 2;

    width: min(
      calc(100% - 40px),
      var(--rg-container, 1222px)
    );

    margin-inline: auto;
  }

  /* =========================================================
     ENCABEZADO
     ========================================================= */

  .rg-site .rg-services__header {
    display: grid;
    grid-template-columns:
      minmax(0, 0.95fr)
      minmax(320px, 0.65fr);

    gap: clamp(34px, 6vw, 78px);
    align-items: end;

    margin-bottom: clamp(40px, 5vw, 60px);
  }

  .rg-site .rg-services__heading {
    min-width: 0;
  }

  .rg-site .rg-services__kicker {
    display: inline-flex;
    align-items: center;
    gap: 11px;

    margin-bottom: 15px;

    color: var(--rg-green-700, #087b2a);

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .rg-site .rg-services__kicker::before {
    content: "";
    width: 29px;
    height: 2px;
    background: currentColor;
  }

  .rg-site .rg-services__title {
    max-width: 720px;
    margin: 0;

    color: var(--rg-blue-950, #061a35);

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: clamp(40px, 4.3vw, 56px);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -0.032em;
    text-wrap: balance;
  }

  /* Bicolor reservado para el título principal */
  .rg-site .rg-services__title span {
    color: var(--rg-green-700, #087b2a);
  }

  .rg-site .rg-services__intro {
    max-width: 480px;
    margin: 0;

    color: var(--rg-muted, #667383);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 16px;
    line-height: 1.72;
  }

  /* =========================================================
     GRILLA DE SERVICIOS
     ========================================================= */

  .rg-site .rg-services__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;

    margin: 0;
    padding: 0;

    list-style: none;
  }

  .rg-site .rg-services__grid > .rgts-home-service-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .rg-site .rgts-home-service-card {
    position: relative;

    display: grid;
    grid-template-columns:
      minmax(210px, 0.82fr)
      minmax(0, 1fr);

    min-height: 282px;
    overflow: hidden;

    border: 1px solid rgba(8, 38, 79, 0.16);
    border-radius: 14px;

    background: rgba(255, 255, 255, 0.96);

    box-shadow:
      0 12px 34px rgba(6, 26, 53, 0.075);

    opacity: 0;
    transform: translateY(22px);

    transition:
      opacity 0.65s ease,
      transform 0.65s cubic-bezier(0.2, 0.7, 0.2, 1),
      border-color 0.3s ease,
      box-shadow 0.3s ease;
  }

  .rg-site .rgts-home-service-card.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .rg-site .rgts-home-service-card:hover {
    border-color: rgba(10, 139, 45, 0.38);

    box-shadow:
      0 22px 52px rgba(6, 26, 53, 0.14);

    transform: translateY(-5px);
  }

  /* =========================================================
     ESQUINA VERDE ANIMADA
     ========================================================= */

  .rg-site .rgts-home-service-card::before {
    content: "";

    position: absolute;
    z-index: 7;
    top: 0;
    left: 0;

    width: 54px;
    height: 54px;

    border-top: 4px solid #18a344;
    border-left: 4px solid #18a344;
    border-top-left-radius: 14px;

    opacity: 0.9;

    transition:
      width 0.3s ease,
      height 0.3s ease,
      opacity 0.25s ease;

    pointer-events: none;
  }

  .rg-site .rgts-home-service-card:hover::before {
    width: 78px;
    height: 78px;
    opacity: 1;
  }

  /* =========================================================
     IMAGEN
     ========================================================= */

  .rg-site .rgts-home-service-card__media {
    position: relative;
    min-width: 0;
    overflow: hidden;

    background: var(--rg-blue-900, #08264f);
  }

  .rg-site .rgts-home-service-card__media::before {
    content: "";

    position: absolute;
    z-index: 2;
    inset: 0;

    background:
      linear-gradient(
        90deg,
        transparent 52%,
        rgba(6, 26, 53, 0.13) 100%
      );

    pointer-events: none;
  }

  /* Barrido metálico */
  .rg-site .rgts-home-service-card__media::after {
    content: "";

    position: absolute;
    z-index: 3;

    top: -30%;
    bottom: -30%;
    left: -75%;

    width: 34%;
    opacity: 0;

    transform: skewX(-18deg);

    background:
      linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.12),
        rgba(255, 255, 255, 0.58),
        rgba(188, 231, 255, 0.20),
        transparent
      );

    pointer-events: none;
  }

  .rg-site .rgts-home-service-card:hover
  .rgts-home-service-card__media::after {
    opacity: 1;
    animation: rg-service-sweep 0.95s ease forwards;
  }

  .rg-site .rgts-home-service-card__image {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 282px;

    object-fit: cover;
    object-position: center;

    transition:
      transform 0.65s cubic-bezier(0.2, 0.7, 0.2, 1),
      filter 0.65s ease;
  }

  .rg-site .rgts-home-service-card:hover
  .rgts-home-service-card__image {
    transform: scale(1.045);
    filter: saturate(1.06) contrast(1.025);
  }

  .rg-site .rgts-home-service-card__number {
    position: absolute;
    z-index: 4;
    top: 17px;
    left: 17px;

    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;

    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 50%;

    color: #ffffff;
    background: rgba(6, 26, 53, 0.52);

    box-shadow:
      0 8px 22px rgba(6, 26, 53, 0.20);

    backdrop-filter: blur(8px);

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
  }

  /* =========================================================
     CONTENIDO DE LAS CARDS
     ========================================================= */

  .rg-site .rgts-home-service-card__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    min-width: 0;
    padding: 25px 25px 23px;
  }

  .rg-site .rgts-home-service-card__title {
    margin: 0 0 10px;

    color: var(--rg-blue-950, #061a35);

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: clamp(21px, 2vw, 25px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.018em;
  }

  .rg-site .rgts-home-service-card__description {
    margin: 0 0 20px;

    color: var(--rg-muted, #667383);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 13.5px;
    line-height: 1.62;
  }

  .rg-site .rgts-home-service-card__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-top: auto;

    color: var(--rg-blue-900, #08264f);

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
  }

  .rg-site .rgts-home-service-card__link:hover {
    color: var(--rg-blue-700, #174f91);
  }

  .rg-site .rgts-home-service-card__link svg {
    width: 16px;
    height: 16px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform 0.2s ease;
  }

  .rg-site .rgts-home-service-card__link:hover svg {
    transform: translateX(4px);
  }

  /* =========================================================
     CTA INFERIOR PROTAGONISTA
     ========================================================= */

  .rg-site .rg-services__footer {
    position: relative;
    isolation: isolate;

    display: grid;
    grid-template-columns:
      minmax(0, 1fr)
      auto;

    gap: clamp(28px, 5vw, 60px);
    align-items: center;

    margin-top: 40px;
    padding: clamp(28px, 4vw, 38px);

    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 15px;

    color: #ffffff;

    background:
      radial-gradient(
        circle at 88% 10%,
        rgba(28, 108, 203, 0.30),
        transparent 32%
      ),
      linear-gradient(
        125deg,
        #0a3472 0%,
        #08264f 58%,
        #061a35 100%
      );

    box-shadow:
      0 22px 55px rgba(6, 26, 53, 0.17);
  }

  .rg-site .rg-services__footer::before {
    content: "";

    position: absolute;
    z-index: -1;
    inset: 0;

    opacity: 0.17;

    background-image:
      linear-gradient(
        rgba(255, 255, 255, 0.11) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.11) 1px,
        transparent 1px
      );

    background-size:
      42px 42px,
      42px 42px;

    -webkit-mask-image:
      linear-gradient(
        90deg,
        transparent 0%,
        #000000 35%,
        #000000 100%
      );

    mask-image:
      linear-gradient(
        90deg,
        transparent 0%,
        #000000 35%,
        #000000 100%
      );

    pointer-events: none;
  }

  .rg-site .rg-services__footer::after {
    content: "";

    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    height: 4px;

    background:
      linear-gradient(
        90deg,
        var(--rg-green-600, #0a8b2d),
        rgba(80, 220, 126, 0.72),
        transparent 72%
      );

    pointer-events: none;
  }

  .rg-site .rg-services__footer-content {
    position: relative;
    z-index: 2;
    min-width: 0;
  }

  .rg-site .rg-services__footer-kicker {
    display: block;
    margin-bottom: 8px;

    color: rgba(255, 255, 255, 0.68);

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .rg-site .rg-services__footer-title {
    max-width: 760px;
    margin: 0 0 8px;

    color: #ffffff;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: clamp(23px, 2.6vw, 32px);
    font-weight: 700;
    line-height: 1.16;
    letter-spacing: -0.02em;
  }

  .rg-site .rg-services__footer-description {
    max-width: 720px;
    margin: 0;

    color: rgba(255, 255, 255, 0.72);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 14px;
    line-height: 1.6;
  }

  .rg-site .rg-services__footer-button {
    position: relative;
    z-index: 2;

    min-width: 235px;
    min-height: 54px;

    color: #ffffff !important;
    background: var(--rg-green-600, #0a8b2d);

    box-shadow:
      0 12px 30px rgba(3, 19, 39, 0.26);
  }

  .rg-site .rg-services__footer-button:hover {
    color: #ffffff !important;
    background: var(--rg-green-700, #087b2a);

    box-shadow:
      0 16px 34px rgba(3, 19, 39, 0.34);
  }

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

  @keyframes rg-service-sweep {
    0% {
      left: -75%;
    }

    100% {
      left: 140%;
    }
  }

  /* =========================================================
     TABLET
     ========================================================= */

  @media (max-width: 1100px) {
    .rg-site .rg-services__header {
      grid-template-columns: 1fr;
      gap: 22px;
    }

    .rg-site .rg-services__intro {
      max-width: 720px;
    }

    .rg-site .rg-services__grid {
      grid-template-columns: 1fr;
    }

    .rg-site .rgts-home-service-card {
      grid-template-columns:
        minmax(260px, 0.75fr)
        minmax(0, 1.25fr);

      min-height: 260px;
    }

    .rg-site .rgts-home-service-card__image {
      min-height: 260px;
    }
  }

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

  @media (max-width: 767.98px) {
    .rg-site .rg-services {
      padding-block: 58px 64px;

      background:
        linear-gradient(
          180deg,
          #dfe6ed 0%,
          #dfe6ed 9%,
          #e6ebf0 22%,
          #f0f3f6 40%,
          #f8fafb 61%,
          #ffffff 82%,
          #ffffff 100%
        );
    }

    .rg-site .rg-services::before {
      background-size:
        72px 72px,
        72px 72px,
        288px 288px,
        288px 288px;

      background-position:
        center 36px,
        center top,
        center 144px,
        center top;
    }

    .rg-site .rg-services::after {
      height: 130px;
    }

    .rg-site .rg-services__container {
      width: calc(100% - 32px);
    }

    .rg-site .rg-services__header {
      margin-bottom: 34px;
    }

    .rg-site .rg-services__kicker {
      font-size: 10px;
    }

    .rg-site .rg-services__title {
      font-size: clamp(32px, 9vw, 41px);
      line-height: 1.08;
    }

    .rg-site .rg-services__intro {
      font-size: 15px;
      line-height: 1.64;
    }

    .rg-site .rg-services__grid {
      gap: 18px;
    }

    .rg-site .rgts-home-service-card {
      grid-template-columns: 1fr;
      min-height: 0;
    }

    .rg-site .rgts-home-service-card::before {
      width: 48px;
      height: 48px;
      border-top-left-radius: 13px;
    }

    .rg-site .rgts-home-service-card:hover::before {
      width: 68px;
      height: 68px;
    }

    .rg-site .rgts-home-service-card__media {
      aspect-ratio: 16 / 10;
    }

    .rg-site .rgts-home-service-card__media::before {
      background:
        linear-gradient(
          to top,
          rgba(6, 26, 53, 0.18),
          transparent 55%
        );
    }

    .rg-site .rgts-home-service-card__image {
      min-height: 0;
      aspect-ratio: 16 / 10;
    }

    .rg-site .rgts-home-service-card__content {
      padding: 23px 21px 24px;
    }


    .rg-site .rgts-home-service-card__title {
      font-size: 23px;
    }

    .rg-site .rg-services__footer {
      grid-template-columns: 1fr;
      gap: 24px;
      padding: 27px 23px;
    }

    .rg-site .rg-services__footer-button {
      width: 100%;
      min-width: 0;
    }
  }

  @media (max-width: 390px) {
    .rg-site .rgts-home-service-card__description {
      font-size: 13px;
    }
  }

  /* Accesibilidad */
  @media (prefers-reduced-motion: reduce) {
    .rg-site .rgts-home-service-card {
      opacity: 1;
      transform: none;
    }

    .rg-site .rg-services *,
    .rg-site .rg-services *::before,
    .rg-site .rg-services *::after {
      animation: none !important;
      transition-duration: 0.001ms !important;
    }
  }


/* ===== PROCESO ===== */

  /* =========================================================
     RG TECNOSERVICE — FLUJO DE TRABAJO V3.1
     Timeline ampliado + CTA minimalista a proyectos
     Namespace aislado: rg-workflow
     ========================================================= */

  .rg-site .rg-workflow,
  .rg-site .rg-workflow *,
  .rg-site .rg-workflow *::before,
  .rg-site .rg-workflow *::after {
    box-sizing: border-box;
  }

  /* =========================================================
     SECCIÓN FULL WIDTH
     ========================================================= */

  .rg-site .rg-workflow {
    position: relative;
    left: 50%;
    display: block;
    isolation: isolate;

    width: 100vw;
    max-width: none;

    margin: 0 0 0 -50vw;
    padding-block: clamp(72px, 7vw, 100px);

    overflow: hidden;
    scroll-margin-top: 110px;

    color: #ffffff;
    background-color: #061a35;

    background-image:
      linear-gradient(
        135deg,
        rgba(7, 48, 101, 0.88) 0%,
        rgba(5, 35, 77, 0.91) 48%,
        rgba(3, 20, 45, 0.95) 100%
      ),
      radial-gradient(
        circle at 84% 14%,
        rgba(37, 124, 230, 0.25),
        transparent 35%
      ),
      radial-gradient(
        circle at 8% 92%,
        rgba(10, 139, 45, 0.18),
        transparent 28%
      ),
      var(--rg-workflow-bg);

    background-position:
      center,
      center,
      center,
      center;

    background-size:
      cover,
      cover,
      cover,
      cover;

    background-repeat: no-repeat;
  }

  /* Cuadrícula técnica */
  .rg-site .rg-workflow::before {
    content: "";

    position: absolute;
    z-index: 0;
    inset: 0;

    opacity: 0.22;

    background-image:
      linear-gradient(
        rgba(255, 255, 255, 0.075) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.075) 1px,
        transparent 1px
      ),
      linear-gradient(
        rgba(255, 255, 255, 0.12) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.12) 1px,
        transparent 1px
      );

    background-size:
      80px 80px,
      80px 80px,
      320px 320px,
      320px 320px;

    -webkit-mask-image:
      linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.82) 0%,
        rgba(0, 0, 0, 0.42) 58%,
        transparent 100%
      );

    mask-image:
      linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.82) 0%,
        rgba(0, 0, 0, 0.42) 58%,
        transparent 100%
      );

    pointer-events: none;
  }

  /* Profundidad */
  .rg-site .rg-workflow::after {
    content: "";

    position: absolute;
    z-index: 1;
    inset: 0;

    background:
      linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.025) 0%,
        transparent 31%,
        rgba(1, 12, 29, 0.35) 100%
      );

    pointer-events: none;
  }

  /* =========================================================
     CONTENEDOR DEL ENCABEZADO
     ========================================================= */

  .rg-site .rg-workflow__container {
    position: relative;
    z-index: 2;

    display: block;

    width: min(
      calc(100% - 48px),
      var(--rg-container, 1222px)
    );

    max-width: 1222px;

    margin-inline: auto;
    padding: 0;
  }

  /* =========================================================
     ENCABEZADO
     ========================================================= */

  .rg-site .rg-workflow__header {
    display: grid;

    grid-template-columns:
      minmax(0, 620px)
      minmax(300px, 420px);

    justify-content: space-between;
    align-items: end;

    gap: clamp(38px, 6vw, 82px);

    width: 100%;

    margin: 0 0 clamp(54px, 6vw, 76px);
    padding: 0;
  }

  .rg-site .rg-workflow__heading {
    width: 100%;
    min-width: 0;
    max-width: 620px;
  }

  .rg-site .rg-workflow__kicker {
    display: inline-flex;
    align-items: center;
    gap: 11px;

    margin: 0 0 15px;

    color: #62e18c;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .rg-site .rg-workflow__kicker::before {
    content: "";

    flex: 0 0 30px;

    width: 30px;
    height: 2px;

    background: currentColor;
  }

  .rg-site .rg-workflow__title {
    width: 100%;
    max-width: 620px;

    margin: 0;

    color: #ffffff;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: clamp(40px, 4.1vw, 54px);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -0.032em;

    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
    text-wrap: balance;
  }

  .rg-site .rg-workflow__title span {
    color: #62e18c;
  }

  .rg-site .rg-workflow__intro {
    justify-self: end;

    width: 100%;
    min-width: 0;
    max-width: 420px;

    margin: 0;

    color: rgba(255, 255, 255, 0.76);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 16px;
    line-height: 1.72;
  }

  /* =========================================================
     WRAPPER AMPLIADO DEL RECORRIDO
     El encabezado sigue en 1222 px.
     Las etapas pueden llegar hasta 1380 px.
     ========================================================= */

  .rg-site .rg-workflow__timeline-shell {
    position: relative;

    width: min(
      1380px,
      calc(100vw - 64px)
    );

    max-width: 1380px;

    margin-left: 50%;

    transform: translateX(-50%);
  }

  /* =========================================================
     TIMELINE
     ========================================================= */

  .rg-site .rg-workflow__timeline {
    --rg-workflow-gap: 36px;

    position: relative;

    display: grid;

    grid-template-columns:
      repeat(4, minmax(0, 1fr));

    gap: var(--rg-workflow-gap);

    width: 100%;

    margin: 0;
    padding: 0;

    list-style: none;
  }

  /* =========================================================
     ETAPAS
     ========================================================= */

  .rg-site .rg-workflow-step {
    position: relative;

    display: block;

    width: 100%;
    min-width: 0;

    margin: 0;
    padding: 0;

    list-style: none;
    text-align: center;
  }

  /* Segmento base */
  .rg-site
  .rg-workflow-step:not(:last-child)::before {
    content: "";

    position: absolute;
    z-index: 0;

    top: 34px;
    left: calc(50% + 35px);

    width:
      calc(
        100% +
        var(--rg-workflow-gap) -
        70px
      );

    height: 2px;

    background: rgba(255, 255, 255, 0.20);

    pointer-events: none;
  }

  /* Segmento verde animado */
  .rg-site .rg-workflow-step__connector {
    position: absolute;
    z-index: 1;

    top: 34px;
    left: calc(50% + 35px);

    display: block;

    width:
      calc(
        100% +
        var(--rg-workflow-gap) -
        70px
      );

    height: 2px;

    background:
      linear-gradient(
        90deg,
        #17b74b,
        #62e18c
      );

    box-shadow:
      0 0 16px rgba(70, 220, 119, 0.44);

    transform: scaleX(0);
    transform-origin: left center;

    transition:
      transform
      0.52s
      cubic-bezier(0.2, 0.7, 0.2, 1);

    pointer-events: none;
  }

  .rg-site
  .rg-workflow-step.is-connected
  .rg-workflow-step__connector {
    transform: scaleX(1);
  }

  /* =========================================================
     MARCADORES
     ========================================================= */

  .rg-site .rg-workflow-step__marker {
    position: relative;
    z-index: 3;

    display: grid;

    width: 70px;
    height: 70px;

    margin: 0 auto 24px;

    place-items: center;

    border:
      1px solid
      rgba(255, 255, 255, 0.34);

    border-radius: 50%;

    color: #ffffff;

    background:
      linear-gradient(
        145deg,
        #19477e 0%,
        #0c315f 58%,
        #08264f 100%
      );

    box-shadow:
      0 14px 34px rgba(1, 11, 27, 0.28),
      inset 0 0 0 1px
      rgba(255, 255, 255, 0.045);

    transition:
      opacity 0.42s ease,
      transform
      0.42s
      cubic-bezier(0.2, 0.7, 0.2, 1),
      border-color 0.36s ease,
      box-shadow 0.36s ease,
      background 0.36s ease;
  }

  .rg-site .rg-workflow-step__icon {
    width: 25px;
    height: 25px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  /* =========================================================
     CONTENIDO DE ETAPAS
     ========================================================= */

  .rg-site .rg-workflow-step__content {
    position: relative;
    z-index: 2;

    width: 100%;
    min-width: 0;

    margin: 0;
    padding-inline: 8px;

    transition:
      opacity 0.48s ease,
      transform
      0.48s
      cubic-bezier(0.2, 0.7, 0.2, 1);
  }

  .rg-site .rg-workflow-step__number {
    display: block;

    margin: 0 0 12px;

    color: #62e18c;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.14em;
  }

  .rg-site .rg-workflow-step__title {
    display: flex;
    align-items: flex-start;
    justify-content: center;

    min-height: 2.4em;

    margin: 0 0 8px;

    color: #ffffff;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: clamp(19px, 1.45vw, 22px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.015em;

    word-break: normal;
    overflow-wrap: normal;
    text-wrap: balance;
  }

  .rg-site .rg-workflow-step__description {
    width: 100%;
    max-width: 300px;

    margin: 0 auto;

    color: rgba(255, 255, 255, 0.70);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 13.5px;
    line-height: 1.62;

    word-break: normal;
    overflow-wrap: normal;
    text-wrap: pretty;
  }

  /* =========================================================
     ESTADOS DE ANIMACIÓN
     ========================================================= */

  .rg-site
  .rg-workflow.rg-workflow--animated
  .rg-workflow-step__marker {
    opacity: 0;
    transform: scale(0.82);
  }

  .rg-site
  .rg-workflow.rg-workflow--animated
  .rg-workflow-step__content {
    opacity: 0;
    transform: translateY(16px);
  }

  .rg-site
  .rg-workflow.rg-workflow--animated
  .rg-workflow-step.is-active
  .rg-workflow-step__marker {
    opacity: 1;
    transform: scale(1);

    border-color: #62e18c;

    box-shadow:
      0 16px 36px rgba(1, 11, 27, 0.30),
      0 0 0 6px rgba(98, 225, 140, 0.10),
      0 0 26px rgba(74, 224, 123, 0.26);

    animation:
      rg-workflow-marker-pulse
      0.64s
      ease
      both;
  }

  .rg-site
  .rg-workflow.rg-workflow--animated
  .rg-workflow-step.is-active
  .rg-workflow-step__content {
    opacity: 1;
    transform: translateY(0);

    transition-delay: 0.10s;
  }

  .rg-site
  .rg-workflow-step:hover
  .rg-workflow-step__marker {
    border-color: #62e18c;

    background:
      linear-gradient(
        145deg,
        #0ba33d,
        #087b2a
      );

    box-shadow:
      0 18px 40px rgba(1, 11, 27, 0.34),
      0 0 28px rgba(74, 224, 123, 0.34);

    transform:
      translateY(-4px)
      scale(1.025);
  }

  /* =========================================================
     NOTA INFERIOR
     ========================================================= */

  .rg-site .rg-workflow__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    width: fit-content;
    max-width: 100%;

    margin: 48px auto 0;
    padding: 13px 19px;

    border:
      1px solid
      rgba(255, 255, 255, 0.17);

    border-radius: 999px;

    color: rgba(255, 255, 255, 0.75);
    background: rgba(5, 30, 64, 0.54);

    box-shadow:
      0 12px 30px rgba(1, 11, 27, 0.16);

    backdrop-filter: blur(10px);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 12px;
    line-height: 1.4;
    text-align: center;
  }

  .rg-site .rg-workflow__footer svg {
    flex: 0 0 17px;

    width: 17px;
    height: 17px;

    fill: none;
    stroke: #62e18c;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  /* =========================================================
     ENLACE MINIMALISTA A PROYECTOS
     ========================================================= */

  .rg-site .rg-workflow__actions {
    display: flex;
    justify-content: center;

    width: 100%;

    margin-top: 22px;
  }

  .rg-site .rg-workflow__projects-link {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-height: 38px;
    padding: 4px 2px 7px;

    color: rgba(255, 255, 255, 0.88);

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;

    text-decoration: none;

    transition:
      color 0.22s ease;
  }

  .rg-site .rg-workflow__projects-link::after {
    content: "";

    position: absolute;

    right: 0;
    bottom: 0;
    left: 0;

    height: 1px;

    background:
      linear-gradient(
        90deg,
        rgba(98, 225, 140, 0),
        rgba(98, 225, 140, 0.72),
        rgba(98, 225, 140, 0)
      );

    transform: scaleX(0.42);
    transform-origin: center;

    transition:
      transform 0.28s ease,
      opacity 0.28s ease;
  }

  .rg-site .rg-workflow__projects-link svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: #62e18c;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition:
      transform 0.25s ease;
  }

  .rg-site .rg-workflow__projects-link:hover {
    color: #ffffff;
  }

  .rg-site .rg-workflow__projects-link:hover::after {
    transform: scaleX(1);
  }

  .rg-site .rg-workflow__projects-link:hover svg {
    transform: translateX(5px);
  }

  /* =========================================================
     ANIMACIÓN
     ========================================================= */

  @keyframes rg-workflow-marker-pulse {
    0% {
      transform: scale(0.82);
      filter: brightness(0.92);
    }

    58% {
      transform: scale(1.08);
      filter: brightness(1.14);
    }

    100% {
      transform: scale(1);
      filter: brightness(1);
    }
  }

  /* =========================================================
     PANTALLAS INTERMEDIAS
     ========================================================= */

  @media (max-width: 1450px) {
    .rg-site .rg-workflow__timeline-shell {
      width: calc(100vw - 56px);
    }

    .rg-site .rg-workflow-step__description {
      max-width: 285px;
    }
  }

  /* =========================================================
     TABLET
     ========================================================= */

  @media (max-width: 1100px) {
    .rg-site .rg-workflow__container {
      width: min(
        calc(100% - 40px),
        940px
      );
    }

    .rg-site .rg-workflow__header {
      grid-template-columns: minmax(0, 1fr);

      justify-content: start;
      align-items: start;

      gap: 22px;

      margin-bottom: 52px;
    }

    .rg-site .rg-workflow__heading,
    .rg-site .rg-workflow__title,
    .rg-site .rg-workflow__intro {
      justify-self: start;

      width: 100%;
      max-width: 720px;
    }

    .rg-site .rg-workflow__timeline-shell {
      width: 100%;

      margin-left: 0;

      transform: none;
    }

    .rg-site .rg-workflow__timeline {
      --rg-workflow-gap: 20px;
    }

    .rg-site .rg-workflow-step__description {
      max-width: 260px;
      font-size: 13px;
    }

    .rg-site .rg-workflow-step__title {
      font-size: 19px;
    }
  }

  /* =========================================================
     TABLET VERTICAL
     ========================================================= */

  @media (max-width: 800px) {
    .rg-site .rg-workflow__timeline {
      display: grid;
      grid-template-columns: minmax(0, 1fr);

      gap: 0;
    }

    .rg-site .rg-workflow-step {
      display: grid;

      grid-template-columns:
        70px
        minmax(0, 1fr);

      gap: 21px;
      align-items: start;

      padding-bottom: 36px;

      text-align: left;
    }

    .rg-site .rg-workflow-step:last-child {
      padding-bottom: 0;
    }

    .rg-site
    .rg-workflow-step:not(:last-child)::before {
      top: 62px;
      left: 34px;

      width: 2px;
      height: calc(100% - 27px);
    }

    .rg-site .rg-workflow-step__connector {
      top: 62px;
      left: 34px;

      width: 2px;
      height: calc(100% - 27px);

      transform: scaleY(0);
      transform-origin: top center;
    }

    .rg-site
    .rg-workflow-step.is-connected
    .rg-workflow-step__connector {
      transform: scaleY(1);
    }

    .rg-site .rg-workflow-step__marker {
      width: 70px;
      height: 70px;

      margin: 0;
    }

    .rg-site .rg-workflow-step__content {
      padding: 5px 0 0;

      text-align: left;
    }

    .rg-site .rg-workflow-step__number {
      margin-bottom: 9px;
    }

    .rg-site .rg-workflow-step__title {
      display: block;

      min-height: 0;

      text-align: left;
    }

    .rg-site .rg-workflow-step__description {
      max-width: 600px;

      margin: 0;

      text-align: left;
    }
  }

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

  @media (max-width: 767.98px) {
    .rg-site .rg-workflow {
      padding-block: 58px 64px;

      background-position:
        center,
        center,
        center,
        58% center;
    }

    .rg-site .rg-workflow::before {
      background-size:
        64px 64px,
        64px 64px,
        256px 256px,
        256px 256px;
    }

    .rg-site .rg-workflow__container {
      width: calc(100% - 32px);
      max-width: none;
    }

    .rg-site .rg-workflow__header {
      width: 100%;
      margin-bottom: 42px;
    }

    .rg-site .rg-workflow__heading,
    .rg-site .rg-workflow__title,
    .rg-site .rg-workflow__intro {
      width: 100%;
      max-width: none;
    }

    .rg-site .rg-workflow__kicker {
      font-size: 10px;
    }

    .rg-site .rg-workflow__title {
      font-size:
        clamp(32px, 9vw, 41px);

      line-height: 1.08;
    }

    .rg-site .rg-workflow__intro {
      font-size: 15px;
      line-height: 1.64;
    }

    .rg-site .rg-workflow-step {
      grid-template-columns:
        62px
        minmax(0, 1fr);

      gap: 18px;
    }

    .rg-site
    .rg-workflow-step:not(:last-child)::before,
    .rg-site
    .rg-workflow-step__connector {
      top: 55px;
      left: 30px;

      height: calc(100% - 20px);
    }

    .rg-site .rg-workflow-step__marker {
      width: 62px;
      height: 62px;
    }

    .rg-site .rg-workflow-step__icon {
      width: 23px;
      height: 23px;
    }

    .rg-site .rg-workflow-step__title {
      font-size: 20px;
    }

    .rg-site .rg-workflow-step__description {
      font-size: 13px;
    }

    .rg-site .rg-workflow__footer {
      align-items: flex-start;

      margin-top: 40px;

      border-radius: 12px;

      text-align: left;
    }

    .rg-site .rg-workflow__actions {
      margin-top: 19px;
    }
  }

  @media (max-width: 390px) {
    .rg-site .rg-workflow-step {
      grid-template-columns:
        56px
        minmax(0, 1fr);

      gap: 15px;
    }

    .rg-site
    .rg-workflow-step:not(:last-child)::before,
    .rg-site
    .rg-workflow-step__connector {
      top: 50px;
      left: 27px;

      height: calc(100% - 15px);
    }

    .rg-site .rg-workflow-step__marker {
      width: 56px;
      height: 56px;
    }
  }

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

  @media (prefers-reduced-motion: reduce) {
    .rg-site .rg-workflow-step__marker,
    .rg-site .rg-workflow-step__content {
      opacity: 1 !important;
      transform: none !important;
      animation: none !important;
    }

    .rg-site .rg-workflow-step__connector {
      transform: none !important;
    }

    .rg-site .rg-workflow *,
    .rg-site .rg-workflow *::before,
    .rg-site .rg-workflow *::after {
      animation: none !important;
      transition-duration: 0.001ms !important;
    }
  }


/* ===== EMPRESAS-CONFIAN ===== */

  /* =========================================================
     RG TECNOSERVICE — EMPRESAS QUE CONFÍAN V1.1
     Full width + logos ampliados + nombres institucionales
     ========================================================= */

  .rg-site .rg-trust,
  .rg-site .rg-trust *,
  .rg-site .rg-trust *::before,
  .rg-site .rg-trust *::after {
    box-sizing: border-box;
  }

  /* =========================================================
     SECCIÓN FULL WIDTH
     ========================================================= */

  .rg-site .rg-trust {
    position: relative;
    left: 50%;
    isolation: isolate;

    display: block;

    width: 100vw;
    max-width: none;

    margin: 0 0 0 -50vw;
    padding: clamp(72px, 7vw, 96px) 0;

    overflow: hidden;

    background:
      linear-gradient(
        180deg,
        #f8fbff 0%,
        #f4f7fb 42%,
        #eef3f8 100%
      );
  }

  /* Cuadrícula editorial */
  .rg-site .rg-trust::before {
    content: "";

    position: absolute;
    z-index: 0;
    inset: 0;

    opacity: 0.32;

    background-image:
      linear-gradient(
        rgba(10, 42, 86, 0.05) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(10, 42, 86, 0.05) 1px,
        transparent 1px
      ),
      linear-gradient(
        rgba(10, 42, 86, 0.08) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(10, 42, 86, 0.08) 1px,
        transparent 1px
      );

    background-size:
      72px 72px,
      72px 72px,
      288px 288px,
      288px 288px;

    -webkit-mask-image:
      linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.8) 55%,
        rgba(0, 0, 0, 0.55) 100%
      );

    mask-image:
      linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.95) 0%,
        rgba(0, 0, 0, 0.8) 55%,
        rgba(0, 0, 0, 0.55) 100%
      );

    pointer-events: none;
  }

  /* =========================================================
     CONTENEDOR CENTRAL
     ========================================================= */

  .rg-site .rg-trust__container {
    position: relative;
    z-index: 2;

    width: min(
      calc(100% - 48px),
      var(--rg-container, 1222px)
    );

    max-width: 1222px;

    margin-inline: auto;
  }

  /* =========================================================
     ENCABEZADO
     ========================================================= */

  .rg-site .rg-trust__header {
    display: grid;

    grid-template-columns:
      minmax(0, 700px)
      minmax(280px, 390px);

    justify-content: space-between;
    align-items: end;

    gap: clamp(28px, 5vw, 70px);

    margin: 0 0 clamp(36px, 4vw, 48px);
  }

  .rg-site .rg-trust__kicker {
    display: inline-flex;
    align-items: center;
    gap: 11px;

    margin: 0 0 14px;

    color: #11963d;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .rg-site .rg-trust__kicker::before {
    content: "";

    flex: 0 0 30px;

    width: 30px;
    height: 2px;

    background: currentColor;
  }

  .rg-site .rg-trust__title {
    margin: 0;

    color: #08224a;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: clamp(34px, 4vw, 52px);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -0.03em;

    text-wrap: balance;
  }

  .rg-site .rg-trust__title span {
    color: #11963d;
  }

  .rg-site .rg-trust__intro {
    margin: 0;

    color: #5d6f86;

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 16px;
    line-height: 1.72;
  }

  /* =========================================================
     GRILLA DE CUATRO MARCAS
     ========================================================= */

  .rg-site .rg-trust__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    align-items: stretch;
  }

  /* =========================================================
     CARDS
     ========================================================= */

  .rg-site .rg-trust-card {
    position: relative;
    flex: 1 1 calc(25% - 14px);
    width: calc(25% - 14px);
    max-width: calc(25% - 14px);
    min-width: 230px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 18px;

    min-height: 215px;
    padding: 30px 22px 22px;

    overflow: hidden;

    border: 1px solid rgba(8, 34, 74, 0.11);
    border-radius: 20px;

    background:
      linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.98) 0%,
        rgba(255, 255, 255, 0.93) 100%
      );

    box-shadow:
      0 16px 32px rgba(7, 29, 58, 0.065),
      inset 0 1px 0 rgba(255, 255, 255, 0.88);

    transition:
      transform 0.34s cubic-bezier(0.2, 0.7, 0.2, 1),
      box-shadow 0.34s ease,
      border-color 0.28s ease;
  }

  /* Esquina verde RG */
  .rg-site .rg-trust-card::before {
    content: "";

    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    width: 54px;
    height: 54px;

    border-top: 4px solid #18a344;
    border-left: 4px solid #18a344;
    border-top-left-radius: 20px;

    opacity: 0.86;

    transition:
      width 0.3s ease,
      height 0.3s ease,
      opacity 0.25s ease;
  }

  /* Barrido metálico */
  .rg-site .rg-trust-card::after {
    content: "";

    position: absolute;
    z-index: 4;
    top: -20%;
    left: -120%;

    width: 52%;
    height: 140%;

    opacity: 0;

    transform: rotate(14deg);

    background:
      linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.08) 18%,
        rgba(255, 255, 255, 0.62) 50%,
        rgba(255, 255, 255, 0.08) 82%,
        rgba(255, 255, 255, 0) 100%
      );

    filter: blur(1px);

    pointer-events: none;
  }

  .rg-site .rg-trust-card:hover {
    border-color: rgba(17, 150, 61, 0.24);

    box-shadow:
      0 22px 42px rgba(7, 29, 58, 0.11),
      0 0 0 1px rgba(17, 150, 61, 0.045),
      inset 0 1px 0 rgba(255, 255, 255, 0.94);

    transform: translateY(-6px);
  }

  .rg-site .rg-trust-card:hover::before {
    width: 78px;
    height: 78px;

    opacity: 1;
  }

  .rg-site .rg-trust-card:hover::after {
    animation:
      rg-trust-metal-sheen 0.95s ease forwards;
  }

  .rg-site .rg-trust-card__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: 100%;
    color: inherit;
    text-decoration: none;
  }

  .rg-site a.rg-trust-card__inner:hover {
    color: inherit;
  }

  /* =========================================================
     LOGOS AMPLIADOS
     ========================================================= */

  .rg-site .rg-trust-card__logo-wrap {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 100px;
  }

  .rg-site .rg-trust-card__logo {
    display: block;

    width: auto;
    max-width: min(100%, 220px);
    height: auto;
    max-height: 96px;

    object-fit: contain;
    object-position: center;

    filter:
      grayscale(1)
      contrast(1.03)
      opacity(0.88);

    transition:
      filter 0.3s ease,
      transform 0.3s ease;
  }

  .rg-site .rg-trust-card:hover
  .rg-trust-card__logo {
    filter:
      grayscale(0)
      contrast(1)
      opacity(1);

    transform: scale(1.035);
  }

  /* =========================================================
     NOMBRE DE LA INSTITUCIÓN
     ========================================================= */

  .rg-site .rg-trust-card__name {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-height: 32px;
    padding-top: 13px;

    color: #53667d;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 11.5px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.035em;

    text-align: center;
    text-transform: uppercase;

    transition:
      color 0.25s ease;
  }

  .rg-site .rg-trust-card__name::before {
    content: "";

    position: absolute;
    top: 0;
    left: 50%;

    width: 38px;
    height: 1px;

    background:
      rgba(8, 34, 74, 0.16);

    transform: translateX(-50%);

    transition:
      width 0.28s ease,
      background-color 0.28s ease;
  }

  .rg-site .rg-trust-card:hover
  .rg-trust-card__name {
    color: #08224a;
  }

  .rg-site .rg-trust-card:hover
  .rg-trust-card__name::before {
    width: 62px;

    background:
      rgba(17, 150, 61, 0.52);
  }

  /* =========================================================
     ANIMACIÓN DE ENTRADA
     ========================================================= */

  .rg-site
  .rg-trust[data-rg-trust]
  .rg-trust-card {
    opacity: 0;

    transform:
      translateY(18px)
      scale(0.985);
  }

  .rg-site
  .rg-trust[data-rg-trust].is-visible
  .rg-trust-card {
    opacity: 1;

    transform:
      translateY(0)
      scale(1);

    transition:
      opacity 0.55s ease,
      transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1),
      box-shadow 0.34s ease,
      border-color 0.28s ease;
  }

  .rg-site
  .rg-trust[data-rg-trust].is-visible
  .rg-trust-card {
    transition-delay: calc(0.05s + (var(--rgts-item-index, 0) * 0.09s));
  }

  .rg-site
  .rg-trust[data-rg-trust].is-visible
  .rg-trust-card::after {
    animation: rg-trust-metal-sheen 1s ease both;
    animation-delay: calc(0.18s + (var(--rgts-item-index, 0) * 0.10s));
  }

  @keyframes rg-trust-metal-sheen {
    0% {
      left: -120%;
      opacity: 0;
    }

    12% {
      opacity: 0.95;
    }

    100% {
      left: 140%;
      opacity: 0;
    }
  }

  /* =========================================================
     TABLET
     ========================================================= */

  @media (max-width: 1024px) {
    .rg-site .rg-trust__header {
      grid-template-columns: 1fr;
      align-items: start;

      gap: 18px;

      margin-bottom: 34px;
    }

    .rg-site .rg-trust__intro {
      max-width: 720px;
    }

    .rg-site .rg-trust-card {
      flex-basis: calc(50% - 9px);
      width: calc(50% - 9px);
      max-width: calc(50% - 9px);
      min-width: 260px;
    }
  }

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

  @media (max-width: 767.98px) {
    .rg-site .rg-trust {
      padding: 58px 0 64px;
    }

    .rg-site .rg-trust__container {
      width: calc(100% - 32px);
    }

    .rg-site .rg-trust__title {
      font-size:
        clamp(30px, 9vw, 40px);
    }

    .rg-site .rg-trust__intro {
      font-size: 15px;
      line-height: 1.64;
    }

    .rg-site .rg-trust__grid {
      gap: 14px;
    }

    .rg-site .rg-trust-card {
      flex-basis: 100%;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      min-height: 190px;
      padding: 27px 20px 20px;

      border-radius: 18px;
    }

    .rg-site .rg-trust-card::before {
      border-top-left-radius: 18px;
    }

    .rg-site .rg-trust-card__logo-wrap {
      min-height: 88px;
    }

    .rg-site .rg-trust-card__logo {
      max-width: min(100%, 205px);
      max-height: 86px;
    }

    .rg-site .rg-trust-card__name {
      font-size: 11px;
    }
  }

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

  @media (prefers-reduced-motion: reduce) {
    .rg-site .rg-trust-card,
    .rg-site .rg-trust-card::after,
    .rg-site .rg-trust-card__logo {
      animation: none !important;
      transition: none !important;
    }

    .rg-site
    .rg-trust[data-rg-trust]
    .rg-trust-card,
    .rg-site
    .rg-trust[data-rg-trust].is-visible
    .rg-trust-card {
      opacity: 1 !important;
      transform: none !important;
    }
  }


/* ===== FAQ ===== */

  /* =========================================================
     RG TECNOSERVICE — FAQ V2
     Full width + fondo claro + logo 3D medio visible
     Namespace aislado: rg-faqhub
     ========================================================= */

  .rg-site .rg-faqhub,
  .rg-site .rg-faqhub *,
  .rg-site .rg-faqhub *::before,
  .rg-site .rg-faqhub *::after {
    box-sizing: border-box;
  }

  /* =========================================================
     SECCIÓN FULL WIDTH
     ========================================================= */

  .rg-site .rg-faqhub {
    position: relative;
    left: 50%;
    isolation: isolate;

    display: block;

    width: 100vw;
    max-width: 100vw;

    margin: 0 0 0 -50vw;
    padding: clamp(78px, 7vw, 108px) 0 0;

    overflow: hidden;
    scroll-margin-top: 110px;

    color: #08224a;

    background:
      linear-gradient(
        180deg,
        #ffffff 0%,
        #ffffff 34%,
        #fafbfd 52%,
        #f4f7fa 70%,
        #edf2f6 86%,
        #e6edf3 100%
      );
  }

  @supports (width: 100dvw) {
    .rg-site .rg-faqhub {
      width: 100dvw;
      max-width: 100dvw;
      margin-left: -50dvw;
    }
  }

  /* =========================================================
     CUADRÍCULA ARQUITECTÓNICA
     AJUSTE: MÁS VISIBLE
     ========================================================= */

  .rg-site .rg-faqhub::before {
    content: "";

    position: absolute;
    z-index: 0;
    inset: 0;

    opacity: 0.56;

    background-image:
      linear-gradient(
        rgba(8, 38, 79, 0.105) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(8, 38, 79, 0.105) 1px,
        transparent 1px
      ),
      linear-gradient(
        rgba(8, 38, 79, 0.19) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(8, 38, 79, 0.19) 1px,
        transparent 1px
      );

    background-size:
      80px 80px,
      80px 80px,
      320px 320px,
      320px 320px;

    background-position:
      center top,
      center top,
      center top,
      center top;

    -webkit-mask-image:
      linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.42) 0%,
        rgba(0, 0, 0, 0.58) 28%,
        rgba(0, 0, 0, 0.84) 65%,
        rgba(0, 0, 0, 0.98) 100%
      );

    mask-image:
      linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.42) 0%,
        rgba(0, 0, 0, 0.58) 28%,
        rgba(0, 0, 0, 0.84) 65%,
        rgba(0, 0, 0, 0.98) 100%
      );

    pointer-events: none;
  }

  /* Luz central sutil */
  .rg-site .rg-faqhub::after {
    content: "";

    position: absolute;
    z-index: 1;

    top: 0;
    left: 50%;

    width: min(1050px, 90vw);
    height: 100%;

    transform: translateX(-50%);

    background:
      radial-gradient(
        circle at 50% 18%,
        rgba(255, 255, 255, 0.94),
        rgba(255, 255, 255, 0.35) 35%,
        transparent 70%
      );

    pointer-events: none;
  }

  /* =========================================================
     CONTENEDOR
     ========================================================= */

  .rg-site .rg-faqhub__container {
    position: relative;
    z-index: 2;

    width: min(
      calc(100% - 48px),
      1060px
    );

    max-width: 1060px;

    margin-inline: auto;
  }

  /* =========================================================
     ENCABEZADO
     ========================================================= */

  .rg-site .rg-faqhub__header {
    max-width: 800px;
    margin: 0 auto clamp(38px, 5vw, 54px);
    text-align: center;
  }

  .rg-site .rg-faqhub__kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    margin: 0 0 16px;

    color: #0a9638;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .rg-site .rg-faqhub__kicker::before {
    content: "";

    flex: 0 0 30px;

    width: 30px;
    height: 2px;

    background: currentColor;
  }

  .rg-site .rg-faqhub__title {
    max-width: 760px;

    margin: 0 auto 17px;

    color: #08224a;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: clamp(36px, 4.4vw, 54px);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -0.032em;

    text-wrap: balance;
  }

  .rg-site .rg-faqhub__title span {
    color: #0a9638;
  }

  .rg-site .rg-faqhub__intro {
    max-width: 700px;

    margin: 0 auto;

    color: #607087;

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 16px;
    line-height: 1.75;

    text-wrap: pretty;
  }

  /* =========================================================
     LISTA FAQ
     ========================================================= */

  .rg-site .rg-faqhub__list {
    display: grid;
    gap: 14px;

    width: 100%;
    max-width: 920px;

    margin: 0 auto;
  }

  .rg-site .rg-faqhub-item {
    position: relative;

    overflow: hidden;

    border: 1px solid rgba(8, 34, 74, 0.14);
    border-radius: 18px;

    background: rgba(255, 255, 255, 0.94);

    box-shadow:
      0 10px 28px rgba(7, 29, 58, 0.055),
      inset 0 1px 0 rgba(255, 255, 255, 0.94);

    transition:
      border-color 0.28s ease,
      box-shadow 0.28s ease,
      transform 0.28s ease;
  }

  .rg-site .rg-faqhub-item:hover {
    border-color: rgba(10, 150, 56, 0.24);

    box-shadow:
      0 16px 35px rgba(7, 29, 58, 0.085),
      inset 0 1px 0 rgba(255, 255, 255, 0.96);

    transform: translateY(-2px);
  }

  .rg-site .rg-faqhub-item.is-open {
    border-color: rgba(10, 150, 56, 0.40);

    box-shadow:
      0 18px 40px rgba(7, 29, 58, 0.09),
      inset 4px 0 0 #0a9638;
  }

  /* =========================================================
     PREGUNTA
     ========================================================= */

  .rg-site .rg-faqhub-item__question {
    appearance: none;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;

    width: 100%;
    min-height: 76px;

    margin: 0;
    padding: 20px 26px;

    border: 0 !important;
    outline: none;
    border-radius: 0;

    color: #08224a !important;
    background: transparent !important;

    box-shadow: none !important;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.008em;
    text-align: left;
    text-transform: none;

    cursor: pointer;
  }

  .rg-site .rg-faqhub-item__question:hover,
  .rg-site .rg-faqhub-item__question:focus {
    color: #08224a !important;
    background: transparent !important;
  }

  .rg-site .rg-faqhub-item__question:focus-visible {
    outline: 2px solid rgba(10, 150, 56, 0.55);
    outline-offset: -4px;
  }

  /* =========================================================
     ICONO + / —
     ========================================================= */

  .rg-site .rg-faqhub-item__icon {
    position: relative;

    flex: 0 0 34px;

    width: 34px;
    height: 34px;

    border-radius: 50%;

    background: rgba(10, 150, 56, 0.085);

    transition:
      background-color 0.25s ease,
      transform 0.25s ease;
  }

  .rg-site .rg-faqhub-item__icon::before,
  .rg-site .rg-faqhub-item__icon::after {
    content: "";

    position: absolute;

    top: 50%;
    left: 50%;

    width: 13px;
    height: 2px;

    border-radius: 999px;

    background: #0a9638;

    transform: translate(-50%, -50%);

    transition:
      opacity 0.24s ease,
      transform 0.24s ease;
  }

  .rg-site .rg-faqhub-item__icon::after {
    transform:
      translate(-50%, -50%)
      rotate(90deg);
  }

  .rg-site .rg-faqhub-item.is-open
  .rg-faqhub-item__icon {
    background: #0a9638;
    transform: rotate(180deg);
  }

  .rg-site .rg-faqhub-item.is-open
  .rg-faqhub-item__icon::before {
    background: #ffffff;
  }

  .rg-site .rg-faqhub-item.is-open
  .rg-faqhub-item__icon::after {
    opacity: 0;

    background: #ffffff;

    transform:
      translate(-50%, -50%)
      rotate(90deg)
      scaleX(0);
  }

  /* =========================================================
     RESPUESTA
     ========================================================= */

  .rg-site .rg-faqhub-item__answer {
    display: grid;
    grid-template-rows: 0fr;
    visibility: hidden;

    transition:
      grid-template-rows 0.36s cubic-bezier(0.2, 0.7, 0.2, 1),
      visibility 0s linear 0.36s;
  }

  .rg-site .rg-faqhub-item.is-open
  .rg-faqhub-item__answer {
    grid-template-rows: 1fr;
    visibility: visible;

    transition:
      grid-template-rows 0.36s cubic-bezier(0.2, 0.7, 0.2, 1),
      visibility 0s linear 0s;
  }

  .rg-site .rg-faqhub-item__answer-inner {
    min-height: 0;
    overflow: hidden;
  }

  .rg-site .rg-faqhub-item__answer p {
    margin: 0;
    padding: 0 72px 24px 26px;

    color: #607087;

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 14px;
    line-height: 1.75;
  }

  /* =========================================================
     ENLACE INFERIOR
     ========================================================= */

  .rg-site .rg-faqhub__action {
    display: flex;
    justify-content: center;

    width: 100%;

    margin-top: 32px;
  }

  .rg-site .rg-faqhub__action-link {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    padding: 5px 2px 8px;

    color: #08224a;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;

    transition: color 0.22s ease;
  }

  .rg-site .rg-faqhub__action-link::after {
    content: "";

    position: absolute;

    right: 0;
    bottom: 0;
    left: 0;

    height: 1px;

    background:
      linear-gradient(
        90deg,
        transparent,
        rgba(10, 150, 56, 0.75),
        transparent
      );

    transform: scaleX(0.36);

    transition: transform 0.28s ease;
  }

  .rg-site .rg-faqhub__action-link svg {
    flex: 0 0 18px;

    width: 18px;
    height: 18px;

    fill: none;
    stroke: #0a9638;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform 0.25s ease;
  }

  .rg-site .rg-faqhub__action-link:hover {
    color: #0a9638;
  }

  .rg-site .rg-faqhub__action-link:hover::after {
    transform: scaleX(1);
  }

  .rg-site .rg-faqhub__action-link:hover svg {
    transform: translateX(5px);
  }

  /* =========================================================
     VENTANA DEL LOGO
     ========================================================= */

  .rg-site .rg-faqhub__logo-stage {
    position: relative;
    z-index: 3;

    width: 100%;
    height: clamp(170px, 15vw, 210px);

    margin-top: clamp(42px, 5vw, 60px);

    overflow: hidden;

    pointer-events: none;
  }

  .rg-site .rg-faqhub__logo {
    position: absolute;

    top: 0;
    left: 50%;

    display: block;

    width: clamp(330px, 29vw, 420px);
    height: auto;

    opacity: 0;

    transform:
      translate(-50%, 105px)
      scale(0.93);

    filter:
      drop-shadow(
        0 24px 34px rgba(4, 23, 49, 0.22)
      );

    transition:
      opacity 0.9s ease,
      transform 1.05s cubic-bezier(0.2, 0.78, 0.2, 1);
  }

  .rg-site .rg-faqhub__logo-stage.is-visible
  .rg-faqhub__logo {
    opacity: 1;

    transform:
      translate(-50%, 0)
      scale(1);
  }

  /* =========================================================
     TABLET
     ========================================================= */

  @media (max-width: 1024px) {
    .rg-site .rg-faqhub {
      padding-top: 76px;
    }

    .rg-site .rg-faqhub__container {
      width: min(
        calc(100% - 40px),
        940px
      );
    }

    .rg-site .rg-faqhub__list {
      max-width: 860px;
    }
  }

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

  @media (max-width: 767.98px) {
    .rg-site .rg-faqhub {
      padding-top: 58px;
    }

    .rg-site .rg-faqhub::before {
      opacity: 0.48;

      background-image:
        linear-gradient(
          rgba(8, 38, 79, 0.095) 1px,
          transparent 1px
        ),
        linear-gradient(
          90deg,
          rgba(8, 38, 79, 0.095) 1px,
          transparent 1px
        ),
        linear-gradient(
          rgba(8, 38, 79, 0.17) 1px,
          transparent 1px
        ),
        linear-gradient(
          90deg,
          rgba(8, 38, 79, 0.17) 1px,
          transparent 1px
        );

      background-size:
        72px 72px,
        72px 72px,
        288px 288px,
        288px 288px;
    }

    .rg-site .rg-faqhub__container {
      width: calc(100% - 32px);
    }

    .rg-site .rg-faqhub__header {
      margin-bottom: 32px;
    }

    .rg-site .rg-faqhub__kicker {
      font-size: 10px;
    }

    .rg-site .rg-faqhub__title {
      font-size: clamp(31px, 9vw, 40px);
      line-height: 1.08;
    }

    .rg-site .rg-faqhub__intro {
      font-size: 15px;
      line-height: 1.66;
    }

    .rg-site .rg-faqhub__list {
      gap: 12px;
    }

    .rg-site .rg-faqhub-item {
      border-radius: 15px;
    }

    .rg-site .rg-faqhub-item__question {
      min-height: 68px;

      padding: 18px;

      font-size: 14px;
      line-height: 1.4;
    }

    .rg-site .rg-faqhub-item__icon {
      flex-basis: 31px;

      width: 31px;
      height: 31px;
    }

    .rg-site .rg-faqhub-item__answer p {
      padding: 0 18px 20px;

      font-size: 13.5px;
      line-height: 1.7;
    }

    .rg-site .rg-faqhub__action {
      margin-top: 27px;
    }

    .rg-site .rg-faqhub__action-link {
      max-width: 290px;
      font-size: 12.5px;
    }

    .rg-site .rg-faqhub__logo-stage {
      height: 145px;
      margin-top: 38px;
    }

    .rg-site .rg-faqhub__logo {
      width: 286px;

      transform:
        translate(-50%, 80px)
        scale(0.94);
    }

    .rg-site .rg-faqhub__logo-stage.is-visible
    .rg-faqhub__logo {
      transform:
        translate(-50%, 0)
        scale(1);
    }
  }

  @media (max-width: 390px) {
    .rg-site .rg-faqhub__logo-stage {
      height: 134px;
    }

    .rg-site .rg-faqhub__logo {
      width: 264px;
    }
  }

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

  @media (prefers-reduced-motion: reduce) {
    .rg-site .rg-faqhub *,
    .rg-site .rg-faqhub *::before,
    .rg-site .rg-faqhub *::after {
      animation: none !important;
      transition-duration: 0.001ms !important;
    }

    .rg-site .rg-faqhub__logo {
      opacity: 1 !important;

      transform:
        translate(-50%, 0)
        scale(1) !important;
    }
  }


/* ===== CONTACTO ===== */

  /* =========================================================
     RG TECNOSERVICE — CONTACTO FINAL / PRE-FOOTER V1
     Namespace aislado: rg-contacthub
     ========================================================= */

  .rg-site .rg-contacthub,
  .rg-site .rg-contacthub *,
  .rg-site .rg-contacthub *::before,
  .rg-site .rg-contacthub *::after {
    box-sizing: border-box;
  }

  /* =========================================================
     SECCIÓN FULL WIDTH
     ========================================================= */

  .rg-site .rg-contacthub {
    --rg-contact-blue: #082e63;
    --rg-contact-blue-deep: #051d3d;
    --rg-contact-blue-soft: #0c3d7c;
    --rg-contact-green: #18b34c;
    --rg-contact-green-light: #62e18c;
    --rg-contact-white: #ffffff;
    --rg-contact-muted: rgba(224, 235, 248, 0.72);
    --rg-contact-line: rgba(255, 255, 255, 0.14);

    position: relative;
    left: 50%;
    isolation: isolate;

    display: block;

    width: 100vw;
    max-width: 100vw;

    margin: 0 0 0 -50vw;

    padding:
      clamp(108px, 9vw, 148px)
      0
      0;

    overflow: hidden;
    scroll-margin-top: 110px;

    color: var(--rg-contact-white);

    background:
      radial-gradient(
        circle at 50% 0%,
        rgba(57, 128, 222, 0.30) 0%,
        rgba(28, 84, 160, 0.15) 23%,
        transparent 49%
      ),
      radial-gradient(
        circle at 90% 18%,
        rgba(24, 179, 76, 0.13),
        transparent 31%
      ),
      linear-gradient(
        145deg,
        #0a3a78 0%,
        var(--rg-contact-blue) 42%,
        var(--rg-contact-blue-deep) 100%
      );
  }

  @supports (width: 100dvw) {
    .rg-site .rg-contacthub {
      width: 100dvw;
      max-width: 100dvw;
      margin-left: -50dvw;
    }
  }

  /* Cuadrícula técnica */
  .rg-site .rg-contacthub::before {
    content: "";

    position: absolute;
    z-index: 0;
    inset: 0;

    opacity: 0.30;

    background-image:
      linear-gradient(
        rgba(255, 255, 255, 0.065) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.065) 1px,
        transparent 1px
      ),
      linear-gradient(
        rgba(255, 255, 255, 0.105) 1px,
        transparent 1px
      ),
      linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.105) 1px,
        transparent 1px
      );

    background-size:
      80px 80px,
      80px 80px,
      320px 320px,
      320px 320px;

    background-position:
      center top,
      center top,
      center top,
      center top;

    -webkit-mask-image:
      linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.88) 0%,
        rgba(0, 0, 0, 0.58) 64%,
        transparent 100%
      );

    mask-image:
      linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.88) 0%,
        rgba(0, 0, 0, 0.58) 64%,
        transparent 100%
      );

    pointer-events: none;
  }

  /* Profundidad inferior */
  .rg-site .rg-contacthub::after {
    content: "";

    position: absolute;
    z-index: 1;
    inset: 0;

    background:
      linear-gradient(
        180deg,
        transparent 0%,
        rgba(3, 16, 34, 0.16) 54%,
        rgba(2, 12, 27, 0.56) 100%
      );

    pointer-events: none;
  }

  /* =========================================================
     CONTENEDOR
     ========================================================= */

  .rg-site .rg-contacthub__container {
    position: relative;
    z-index: 2;

    width: min(
      calc(100% - 48px),
      var(--rg-container, 1222px)
    );

    max-width: 1222px;

    margin-inline: auto;
  }

  /* =========================================================
     ENCABEZADO PRINCIPAL
     ========================================================= */

  .rg-site .rg-contacthub__hero {
    display: grid;

    grid-template-columns:
      minmax(0, 670px)
      minmax(300px, 400px);

    justify-content: space-between;
    align-items: end;

    gap: clamp(42px, 7vw, 96px);

    margin-bottom: clamp(44px, 5vw, 62px);
  }

  .rg-site .rg-contacthub__heading {
    min-width: 0;
  }

  .rg-site .rg-contacthub__kicker {
    display: inline-flex;
    align-items: center;
    gap: 11px;

    margin: 0 0 17px;

    color: var(--rg-contact-green-light);

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.13em;
    text-transform: uppercase;
  }

  .rg-site .rg-contacthub__kicker::before {
    content: "";

    flex: 0 0 30px;

    width: 30px;
    height: 2px;

    background: currentColor;
  }

  .rg-site .rg-contacthub__title {
    max-width: 670px;

    margin: 0;

    color: #ffffff;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: clamp(39px, 4.5vw, 58px);
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -0.038em;

    text-wrap: balance;
  }

  .rg-site .rg-contacthub__title span {
    color: var(--rg-contact-green-light);
  }

  .rg-site .rg-contacthub__side {
    width: 100%;
    max-width: 400px;

    justify-self: end;
  }

  .rg-site .rg-contacthub__intro {
    margin: 0 0 25px;

    color: var(--rg-contact-muted);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 16px;
    line-height: 1.72;

    text-wrap: pretty;
  }

  .rg-site .rg-contacthub__audience {
    display: flex;
    align-items: center;
    gap: 9px;

    margin: 0;

    color: rgba(255, 255, 255, 0.76);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 12px;
    line-height: 1.5;
  }

  .rg-site .rg-contacthub__audience::before {
    content: "";

    flex: 0 0 8px;

    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: var(--rg-contact-green-light);

    box-shadow:
      0 0 0 5px rgba(98, 225, 140, 0.10);
  }

  /* =========================================================
     ACCIONES PRINCIPALES
     ========================================================= */

  .rg-site .rg-contacthub__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 13px;

    margin-top: 30px;
  }

  .rg-site .rg-contacthub__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-height: 54px;
    padding: 0 22px;

    border: 1px solid transparent;
    border-radius: 5px;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;

    text-align: center;
    text-decoration: none;

    transition:
      color 0.25s ease,
      background-color 0.25s ease,
      border-color 0.25s ease,
      box-shadow 0.25s ease,
      transform 0.25s ease;
  }

  .rg-site .rg-contacthub__button svg {
    flex: 0 0 19px;

    width: 19px;
    height: 19px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .rg-site .rg-contacthub__button--primary {
    color: #ffffff;
    background: #0ca03a;

    box-shadow:
      0 15px 30px rgba(3, 17, 34, 0.23),
      0 0 0 1px rgba(98, 225, 140, 0.08);
  }

  .rg-site .rg-contacthub__button--primary:hover {
    color: #ffffff;
    background: #0bb444;

    box-shadow:
      0 19px 38px rgba(3, 17, 34, 0.29),
      0 0 25px rgba(50, 218, 105, 0.17);

    transform: translateY(-3px);
  }

  .rg-site .rg-contacthub__button--secondary {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.26);

    background: rgba(255, 255, 255, 0.055);
  }

  .rg-site .rg-contacthub__button--secondary:hover {
    color: #ffffff;

    border-color: rgba(98, 225, 140, 0.58);

    background: rgba(255, 255, 255, 0.10);

    transform: translateY(-3px);
  }

  /* =========================================================
     DATOS DE CONTACTO
     ========================================================= */

  .rg-site .rg-contacthub__contacts {
    display: grid;

    grid-template-columns:
      repeat(3, minmax(0, 1fr));

    gap: 1px;

    margin-bottom: clamp(55px, 6vw, 76px);

    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 13px;

    background: rgba(255, 255, 255, 0.12);

    box-shadow:
      0 22px 55px rgba(2, 13, 28, 0.19);

    backdrop-filter: blur(13px);
  }

  .rg-site .rg-contacthub-card {
    position: relative;

    display: grid;

    grid-template-columns:
      48px minmax(0, 1fr);

    gap: 16px;
    align-items: start;

    min-width: 0;
    padding: 25px 24px;

    color: inherit;
    background: rgba(5, 30, 64, 0.76);

    text-decoration: none;

    transition:
      background-color 0.28s ease,
      transform 0.28s ease;
  }

  .rg-site .rg-contacthub-card:hover {
    color: inherit;

    background: rgba(12, 63, 125, 0.94);
  }

  .rg-site .rg-contacthub-card__icon {
    display: grid;

    width: 48px;
    height: 48px;

    place-items: center;

    border: 1px solid rgba(98, 225, 140, 0.27);
    border-radius: 50%;

    color: var(--rg-contact-green-light);

    background: rgba(98, 225, 140, 0.075);

    transition:
      color 0.28s ease,
      background-color 0.28s ease,
      border-color 0.28s ease,
      transform 0.28s ease;
  }

  .rg-site .rg-contacthub-card:hover
  .rg-contacthub-card__icon {
    color: #ffffff;

    border-color: var(--rg-contact-green);
    background: var(--rg-contact-green);

    transform: translateY(-3px);
  }

  .rg-site .rg-contacthub-card__icon svg {
    width: 21px;
    height: 21px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .rg-site .rg-contacthub-card__content {
    min-width: 0;
  }

  .rg-site .rg-contacthub-card__label {
    display: block;

    margin-bottom: 5px;

    color: rgba(255, 255, 255, 0.57);

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 10px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.11em;
    text-transform: uppercase;
  }

  .rg-site .rg-contacthub-card__value {
    display: block;

    margin-bottom: 5px;

    color: #ffffff;

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;

    overflow-wrap: anywhere;
  }

  .rg-site .rg-contacthub-card__description {
    display: block;

    color: rgba(224, 235, 248, 0.63);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 12px;
    line-height: 1.52;
  }

  /* =========================================================
     TRES FILAS DE ACCESOS DIRECTOS
     ========================================================= */

  .rg-site .rg-contacthub__directory {
    border-top: 1px solid var(--rg-contact-line);
  }

  .rg-site .rg-contacthub-row {
    display: grid;

    grid-template-columns:
      minmax(190px, 0.27fr)
      minmax(0, 1fr);

    gap: clamp(25px, 5vw, 72px);
    align-items: start;

    padding: 27px 0;

    border-bottom: 1px solid var(--rg-contact-line);
  }

  .rg-site .rg-contacthub-row__title {
    margin: 0;

    color: rgba(255, 255, 255, 0.92);

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.025em;
  }

  .rg-site .rg-contacthub-row__title span {
    display: block;

    margin-bottom: 6px;

    color: var(--rg-contact-green-light);

    font-size: 9px;
    line-height: 1;
    letter-spacing: 0.14em;
  }

  .rg-site .rg-contacthub-row__links {
    display: flex;
    flex-wrap: wrap;

    gap: 10px 26px;

    margin: 0;
    padding: 0;

    list-style: none;
  }

  .rg-site .rg-contacthub-row__links li {
    margin: 0;
    padding: 0;
  }

  .rg-site .rg-contacthub-row__links a {
    position: relative;

    display: inline-flex;
    align-items: center;
    gap: 8px;

    padding-block: 3px;

    color: rgba(224, 235, 248, 0.72);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;

    text-decoration: none;

    transition:
      color 0.23s ease,
      transform 0.23s ease;
  }

  .rg-site .rg-contacthub-row__links a::before {
    content: "";

    flex: 0 0 4px;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: rgba(98, 225, 140, 0.58);

    transition:
      background-color 0.23s ease,
      box-shadow 0.23s ease;
  }

  .rg-site .rg-contacthub-row__links a:hover {
    color: #ffffff;

    transform: translateX(3px);
  }

  .rg-site .rg-contacthub-row__links a:hover::before {
    background: var(--rg-contact-green-light);

    box-shadow:
      0 0 10px rgba(98, 225, 140, 0.62);
  }

  /* =========================================================
     REDES Y CANALES DIGITALES
     ========================================================= */

  .rg-site .rg-contacthub__social-area {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 28px;

    padding: 34px 0 42px;
  }

  .rg-site .rg-contacthub__social-copy {
    margin: 0;

    color: rgba(224, 235, 248, 0.68);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 13px;
    line-height: 1.5;
  }

  .rg-site .rg-contacthub__socials {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;

    margin: 0;
    padding: 0;

    list-style: none;
  }

  .rg-site .rg-contacthub__social-link {
    display: grid;

    width: 44px;
    height: 44px;

    place-items: center;

    border: 1px solid rgba(255, 255, 255, 0.20);
    border-radius: 50%;

    color: rgba(255, 255, 255, 0.82);

    background: rgba(255, 255, 255, 0.04);

    text-decoration: none;

    transition:
      color 0.25s ease,
      background-color 0.25s ease,
      border-color 0.25s ease,
      box-shadow 0.25s ease,
      transform 0.25s ease;
  }

  .rg-site .rg-contacthub__social-link:hover {
    color: #ffffff;

    border-color: var(--rg-contact-green);
    background: var(--rg-contact-green);

    box-shadow:
      0 13px 26px rgba(1, 12, 27, 0.26),
      0 0 22px rgba(48, 212, 103, 0.19);

    transform: translateY(-4px);
  }

  .rg-site .rg-contacthub__social-link svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .rg-site .rg-contacthub__social-link svg.is-fill {
    fill: currentColor;
    stroke: none;
  }

  /* =========================================================
     LEMA INSTITUCIONAL
     ========================================================= */

  .rg-site .rg-contacthub__statement {
    position: relative;

    padding: clamp(34px, 5vw, 62px) 0;

    overflow: hidden;

    border-top: 1px solid rgba(255, 255, 255, 0.11);

    text-align: center;
  }

  .rg-site .rg-contacthub__statement-small {
    display: block;

    margin-bottom: 12px;

    color: var(--rg-contact-green-light);

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.19em;
    text-transform: uppercase;
  }

  .rg-site .rg-contacthub__statement-title {
    display: block;

    margin: 0;

    color: rgba(255, 255, 255, 0.97);

    font-family:
      var(--rg-font-title, "Kumbh Sans", Arial, sans-serif);

    font-size: clamp(38px, 7.1vw, 104px);
    font-weight: 700;
    line-height: 0.92;
    letter-spacing: -0.055em;
    text-transform: uppercase;

    text-wrap: balance;
  }

  .rg-site .rg-contacthub__statement-title span {
    color: transparent;

    -webkit-text-stroke:
      1px rgba(98, 225, 140, 0.47);

    text-stroke:
      1px rgba(98, 225, 140, 0.47);
  }

  .rg-site .rg-contacthub__statement-subtitle {
    margin: 18px 0 0;

    color: rgba(224, 235, 248, 0.54);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 11px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.10em;
    text-transform: uppercase;
  }

  /* =========================================================
     CIERRE LEGAL
     ========================================================= */

  .rg-site .rg-contacthub__legal {
    position: relative;
    z-index: 2;

    border-top: 1px solid rgba(255, 255, 255, 0.10);

    background: rgba(2, 13, 29, 0.28);
  }

  .rg-site .rg-contacthub__legal-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 25px;

    width: min(
      calc(100% - 48px),
      var(--rg-container, 1222px)
    );

    max-width: 1222px;

    min-height: 72px;

    margin-inline: auto;
  }

  .rg-site .rg-contacthub__copyright {
    margin: 0;

    color: rgba(224, 235, 248, 0.53);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 11px;
    line-height: 1.5;
  }

  .rg-site .rg-contacthub__legal-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;

    margin: 0;
    padding: 0;

    list-style: none;
  }

  .rg-site .rg-contacthub__legal-links a {
    color: rgba(224, 235, 248, 0.57);

    font-family:
      var(--rg-font-text, "Inter", Arial, sans-serif);

    font-size: 11px;
    line-height: 1.5;

    text-decoration: none;

    transition: color 0.22s ease;
  }

  .rg-site .rg-contacthub__legal-links a:hover {
    color: var(--rg-contact-green-light);
  }

  /* =========================================================
     ANIMACIONES DE ENTRADA
     ========================================================= */

  .rg-site
  .rg-contacthub.rg-contacthub--animated
  [data-rg-contact-animate] {
    opacity: 0;

    transform: translateY(24px);

    transition:
      opacity 0.72s ease,
      transform 0.72s cubic-bezier(0.2, 0.75, 0.2, 1);
  }

  .rg-site
  .rg-contacthub.rg-contacthub--animated.is-visible
  [data-rg-contact-animate] {
    opacity: 1;

    transform: translateY(0);
  }

  .rg-site
  .rg-contacthub.is-visible
  [data-rg-contact-animate="1"] {
    transition-delay: 0.04s;
  }

  .rg-site
  .rg-contacthub.is-visible
  [data-rg-contact-animate="2"] {
    transition-delay: 0.14s;
  }

  .rg-site
  .rg-contacthub.is-visible
  [data-rg-contact-animate="3"] {
    transition-delay: 0.24s;
  }

  .rg-site
  .rg-contacthub.is-visible
  [data-rg-contact-animate="4"] {
    transition-delay: 0.34s;
  }

  .rg-site
  .rg-contacthub.is-visible
  [data-rg-contact-animate="5"] {
    transition-delay: 0.44s;
  }

  /* =========================================================
     TABLET
     ========================================================= */

  @media (max-width: 1024px) {
    .rg-site .rg-contacthub {
      padding-top: 96px;
    }

    .rg-site .rg-contacthub__container {
      width: min(
        calc(100% - 40px),
        940px
      );
    }

    .rg-site .rg-contacthub__hero {
      grid-template-columns: minmax(0, 1fr);

      align-items: start;

      gap: 24px;
    }

    .rg-site .rg-contacthub__side {
      justify-self: start;

      max-width: 670px;
    }

    .rg-site .rg-contacthub__contacts {
      grid-template-columns: 1fr;
    }

    .rg-site .rg-contacthub-row {
      grid-template-columns:
        minmax(170px, 0.30fr)
        minmax(0, 1fr);
    }
  }

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

  @media (max-width: 767.98px) {
    .rg-site .rg-contacthub {
      padding-top: 76px;
    }

    .rg-site .rg-contacthub::before {
      opacity: 0.24;

      background-size:
        68px 68px,
        68px 68px,
        272px 272px,
        272px 272px;
    }

    .rg-site .rg-contacthub__container {
      width: calc(100% - 32px);
    }

    .rg-site .rg-contacthub__hero {
      margin-bottom: 36px;
    }

    .rg-site .rg-contacthub__kicker {
      font-size: 10px;
    }

    .rg-site .rg-contacthub__title {
      font-size: clamp(34px, 10vw, 43px);
      line-height: 1.05;
    }

    .rg-site .rg-contacthub__intro {
      font-size: 15px;
      line-height: 1.65;
    }

    .rg-site .rg-contacthub__actions {
      display: grid;

      grid-template-columns: 1fr;
    }

    .rg-site .rg-contacthub__button {
      width: 100%;
    }

    .rg-site .rg-contacthub-card {
      grid-template-columns:
        44px
        minmax(0, 1fr);

      padding: 22px 18px;
    }

    .rg-site .rg-contacthub-card__icon {
      width: 44px;
      height: 44px;
    }

    .rg-site .rg-contacthub-card__value {
      font-size: 15px;
    }

    .rg-site .rg-contacthub-row {
      grid-template-columns: minmax(0, 1fr);

      gap: 16px;

      padding: 24px 0;
    }

    .rg-site .rg-contacthub-row__links {
      display: grid;

      grid-template-columns: 1fr;

      gap: 10px;
    }

    .rg-site .rg-contacthub-row__links a {
      display: flex;

      width: 100%;
    }

    .rg-site .rg-contacthub__social-area {
      align-items: flex-start;
      flex-direction: column;

      padding: 30px 0 38px;
    }

    .rg-site .rg-contacthub__statement {
      padding-block: 40px;
    }

    .rg-site .rg-contacthub__statement-title {
      font-size: clamp(36px, 13vw, 58px);
      line-height: 0.96;
    }

    .rg-site .rg-contacthub__legal-inner {
      align-items: flex-start;
      flex-direction: column;

      width: calc(100% - 32px);
      min-height: 0;

      padding-block: 22px;
    }

    .rg-site .rg-contacthub__legal-links {
      flex-direction: column;

      gap: 8px;
    }
  }

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

  @media (prefers-reduced-motion: reduce) {
    .rg-site .rg-contacthub *,
    .rg-site .rg-contacthub *::before,
    .rg-site .rg-contacthub *::after {
      animation: none !important;
      transition-duration: 0.001ms !important;
    }

    .rg-site
    .rg-contacthub
    [data-rg-contact-animate] {
      opacity: 1 !important;
      transform: none !important;
    }
  }


/* ===== FORMULARIO RÁPIDO: CONTENEDOR ===== */
.rg-site .rg-quick-contact{position:relative;left:50%;width:100vw;margin-left:-50vw;padding:clamp(34px,4.2vw,58px) 0;color:#fff;overflow:hidden;background:radial-gradient(circle at 8% 20%,rgba(31,108,205,.30),transparent 32%),linear-gradient(125deg,#0a3472 0%,#08264f 58%,#061a35 100%)}
.rg-site .rg-quick-contact::before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
.rg-site .rg-quick-contact::after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0a8b2d,#62e18c,transparent 75%)}
.rg-site .rg-quick-contact__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.42fr);gap:clamp(34px,5vw,72px);align-items:center;width:min(calc(100% - 40px),var(--rg-container,1222px));margin-inline:auto}
.rg-site .rg-quick-contact__copy{max-width:430px}.rg-site .rg-quick-contact__kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;color:#62e18c;font-family:var(--rg-font-title);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.rg-site .rg-quick-contact__kicker::before{content:"";width:28px;height:2px;background:currentColor}
.rg-site .rg-quick-contact__copy h2{margin:0 0 14px;color:#fff;font-size:clamp(27px,3vw,38px);line-height:1.12}.rg-site .rg-quick-contact__copy p{margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.65}
@media(max-width:980px){.rg-site .rg-quick-contact__inner{grid-template-columns:1fr;gap:28px}.rg-site .rg-quick-contact__copy{max-width:720px}}
@media(max-width:767.98px){.rg-site .rg-quick-contact{padding:42px 0}.rg-site .rg-quick-contact__inner{width:calc(100% - 32px)}}

/* ===== PROYECTOS EN HOME ===== */
.rg-site .rg-home-projects{position:relative;left:50%;width:100vw;margin-left:-50vw;padding:clamp(70px,7vw,100px) 0;background:linear-gradient(180deg,#fff 0%,#f7f9fb 100%);overflow:hidden}
.rg-site .rg-home-projects::before{content:"";position:absolute;inset:0;opacity:.28;background-image:linear-gradient(rgba(8,38,79,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(8,38,79,.065) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,transparent,black 35%,black 100%);pointer-events:none}
.rg-site .rg-home-projects__inner{position:relative;z-index:1;width:min(calc(100% - 48px),1420px);margin-inline:auto}.rg-site .rg-home-projects__header{display:grid;grid-template-columns:minmax(0,700px) minmax(280px,430px);justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.rg-site .rg-home-projects__kicker{display:inline-flex;align-items:center;gap:11px;margin-bottom:14px;color:var(--rg-green-700);font-family:var(--rg-font-title);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.rg-site .rg-home-projects__kicker::before{content:"";width:30px;height:2px;background:currentColor}.rg-site .rg-home-projects__header h2{margin:0;color:var(--rg-blue-950);font-size:clamp(36px,4.2vw,54px);line-height:1.06}.rg-site .rg-home-projects__header h2 span{color:var(--rg-green-700)}.rg-site .rg-home-projects__header p{margin:0;color:var(--rg-muted);font-size:16px;line-height:1.7}.rg-site .rg-home-projects__actions{display:flex;justify-content:center;margin-top:34px}.rg-site .rg-home-projects .rgts-projects{padding:0;margin:0;max-width:none}.rg-site .rg-home-projects .rgts-projects__filters-shell{margin-bottom:28px}
@media(max-width:900px){.rg-site .rg-home-projects__header{grid-template-columns:1fr;gap:18px}}@media(max-width:767.98px){.rg-site .rg-home-projects{padding:58px 0 64px}.rg-site .rg-home-projects__inner{width:calc(100% - 32px)}.rg-site .rg-home-projects__header h2{font-size:clamp(31px,9vw,41px)}.rg-site .rg-home-projects__header p{font-size:15px}.rg-site .rg-home-projects__actions .rg-btn{width:100%}}


.rgts-home a[href^="#"]{scroll-margin-top:var(--rg-header-offset,92px)}


/* v1.3.3: accesos de edición directa visibles solo para usuarios autorizados */
.rg-site .rgts-home-service-card,.rg-site .rg-trust-card{position:relative}.rgts-home-admin-edit{position:absolute;z-index:12;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(9,34,61,.88);box-shadow:0 7px 20px rgba(5,23,42,.22);color:#fff!important;font-size:11px;font-weight:750;line-height:1;text-decoration:none!important;backdrop-filter:blur(8px);transition:transform .2s ease,background .2s ease}.rgts-home-admin-edit:hover{background:#138f42;transform:translateY(-1px)}.rgts-home-admin-edit svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.rg-trust-card .rgts-home-admin-edit{top:8px;right:8px}.rgts-home-admin-edit:focus-visible{outline:3px solid rgba(28,181,82,.35);outline-offset:3px}@media(max-width:640px){.rgts-home-admin-edit span{display:none}.rgts-home-admin-edit{width:34px;padding:0;justify-content:center}.rgts-home-admin-edit svg{width:15px;height:15px}}
