
    /* ===== LANGUAGE SWITCHER ===== */
    .lang-switcher {
      position: fixed;
      top: 22px;
      right: 30px;
      z-index: 25;
    }
    .lang-btn {
      display: flex;
      align-items: center;
      gap: 5px;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.18);
      border-radius: 20px;
      padding: 6px 12px 6px 8px;
      color: rgba(255,255,255,0.85);
      cursor: pointer;
      font-size: 0.72rem;
      font-weight: 600;
      letter-spacing: 0.05em;
      transition: all 0.2s ease;
      white-space: nowrap;
    }
    .lang-btn svg {
      width: 16px; height: 16px;
      flex-shrink: 0;
    }
    .lang-btn:hover {
      background: rgba(255,255,255,0.15);
      border-color: rgba(255,255,255,0.35);
      color: #fff;
    }
    .lang-dropdown {
      display: none;
      position: fixed;
      top: 60px;
      right: 30px;
      background: rgb(100 100 100 / 40%);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(255,255,255,0.14);
      border-radius: 14px;
      padding: 8px;
      min-width: 160px;
      box-shadow: 0 16px 40px rgba(0,0,0,0.5);
      z-index: 1000;
      animation: fu-in 0.2s ease;
    }
    .lang-dropdown.open { display: block; }
    .lang-option {
      display: flex;
      align-items: center;
      gap: 8px;
      width: 100%;
      background: none;
      border: none;
      color: rgba(255,255,255,0.75);
      font-size: 0.78rem;
      padding: 8px 12px;
      border-radius: 8px;
      cursor: pointer;
      text-align: left;
      transition: background 0.15s, color 0.15s;
    }
    .lang-option:hover {
      background: rgba(255,255,255,0.1);
      color: #fff;
    }
    .lang-option.active {
      color: #c39d26;
      font-weight: 600;
    }
    /* Ocultar todos los elementos visuales de Google Translate */
    .goog-te-banner-frame,
    .skiptranslate,
    #goog-gt-tt,
    .goog-te-balloon-frame,
    .goog-tooltip,
    .goog-tooltip-content,
    .VIpgJd-ZVi9od-aZ2wEe,
    .VIpgJd-ZVi9od-aZ2wEe-OiiCO,
    .VIpgJd-ZVi9od-l4eHX-hSRGPd,
    div.VIpgJd-ZVi9od-aZ2wEe { display: none !important; visibility: hidden !important; }
    body { top: 0 !important; }
    /* Evitar que el body se desplace por la barra de GT */
    body.translated-ltr,
    body.translated-rtl { margin-top: 0 !important; }
    /* ===== FIN LANGUAGE SWITCHER ===== */

    /* ===== ROADMAP POPUP ===== */
    .roadmap-overlay {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 9999;
      background: rgb(0 0 0 / 31%);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      align-items: center;
      justify-content: center;
      padding: 20px;
    }
    .roadmap-overlay.active { display: flex; }

    .rp-popup {
      position: relative;
      width: 100%;
      max-width: 960px;
      background: linear-gradient(145deg, #4646464a 0%, rgb(126 126 126 / 31%) 100%);
      backdrop-filter: blur(40px);
      -webkit-backdrop-filter: blur(40px);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 28px;
      padding: 36px 36px 32px;
      box-shadow:
        0 50px 120px rgba(0,0,0,0.85),
        0 0 0 1px rgba(255,255,255,0.04) inset,
        0 1px 0 rgba(255,255,255,0.1) inset;
      animation: fu-in 0.38s cubic-bezier(0.22,1,0.36,1);
      overflow: hidden;
    }

    /* glow accent top-left */
    .rp-popup::before {
      content: '';
      position: absolute;
      top: -60px; left: -60px;
      width: 260px; height: 260px;
      background: radial-gradient(circle, rgba(195,157,38,0.18) 0%, transparent 70%);
      pointer-events: none;
    }

    /* ── Header ── */
    .rp-header {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      margin-bottom: 28px;
    }
    .rp-tag {
      display: inline-block;
      font-size: 0.65rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: transparent;
      color: #c39d26;
      margin-bottom: 6px;
    }
    .rp-title {
      font-size: 1.55rem;
      font-weight: 800;
      color: #fff;
      letter-spacing: -0.5px;
      margin: 0 0 4px;
      line-height: 1.2;
    }
    .rp-subtitle {
      font-size: 0.78rem;
      color: rgba(255,255,255,0.42);
      margin: 0;
    }
    .rp-close {
      flex-shrink: 0;
      width: 34px; height: 34px;
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 50%;
      color: rgba(255,255,255,0.55);
      font-size: 1.25rem;
      line-height: 1;
      cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      transition: background 0.2s, color 0.2s, border-color 0.2s;
    }
    .rp-close:hover {
      background: rgba(255,255,255,0.14);
      border-color: rgba(255,255,255,0.25);
      color: #fff;
    }

    /* ── Timeline bar ── */
    .rp-timeline-bar {
      height: 2px;
      background: linear-gradient(90deg, transparent 0%, rgba(195,157,38,0.6) 20%, rgba(195,157,38,0.4) 50%, rgba(195,157,38,0.6) 80%, transparent 100%);
      border-radius: 2px;
      margin-bottom: 28px;
    }

    /* ── Swiper wrap ── */
    .rp-swiper-wrap {
      position: relative;
      padding: 0 56px 8px;
    }
    .rp-swiper-wrap .swiper {
      overflow: hidden;
      padding-bottom: 4px;
    }

    /* ── Cards ── */
    .rp-card {
      position: relative;
      padding-top: 22px;
    }
    .rp-card-dot {
      position: absolute;
      top: 0; left: 50%;
      transform: translateX(-50%);
      width: 18px; height: 18px;
      background: rgba(255,255,255,0.06);
      border: 2px solid rgba(255,255,255,0.18);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      z-index: 2;
    }
    .rp-card-dot span {
      width: 7px; height: 7px;
      background: rgba(255,255,255,0.3);
      border-radius: 50%;
      display: block;
    }
    .rp-card-dot--active {
      background: rgba(195,157,38,0.25);
      border-color: #c39d26;
      box-shadow: 0 0 12px rgba(195,157,38,0.6);
    }
    .rp-card-dot--active span {
      background: #c39d26;
    }
    .rp-card-inner {
      background: linear-gradient(160deg, rgba(255,255,255,0.055) 0%, rgba(255,255,255,0.015) 100%);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 18px;
      padding: 22px 20px 20px;
      transition: border-color 0.25s, box-shadow 0.25s;
      height: 100%;
    }
    .rp-card-inner:hover {
      border-color: rgba(195,157,38,0.4);
      box-shadow: 0 8px 30px rgba(195,157,38,0.12);
    }
    .rp-card--active .rp-card-inner {
      background: linear-gradient(160deg, rgba(195,157,38,0.12) 0%, rgba(195,157,38,0.03) 100%);
      border-color: rgba(195,157,38,0.4);
      box-shadow: 0 10px 36px rgba(195,157,38,0.18);
    }

    .rp-card-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 10px;
    }
    .rp-phase {
      font-size: 0.62rem;
      font-weight: 700;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.35);
    }
    .rp-status {
      font-size: 0.6rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 3px 9px;
      border-radius: 20px;
    }
    .rp-status.done {
      background: rgba(34,197,94,0.12);
      color: #4ade80;
      border: 1px solid rgba(34,197,94,0.25);
    }
    .rp-status.active {
      background: rgba(195,157,38,0.15);
      color: #c39d26;
      border: 1px solid rgba(195,157,38,0.4);
    }
    .rp-status.soon {
      background: rgba(255,255,255,0.05);
      color: rgba(255,255,255,0.35);
      border: 1px solid rgba(255,255,255,0.1);
    }
    /* Subtítulo pequeño en el título del popup */
    .rp-title-sub {
      font-size: 0.72rem;
      font-weight: 400;
      color: rgba(255,255,255,0.38);
      letter-spacing: 0.04em;
    }

    /* Fechas start / end */
    .rp-dates {
      display: flex;
      gap: 6px;
      flex-wrap: wrap;
      margin-bottom: 10px;
    }
    .rp-dates span {
      font-size: 0.58rem;
      font-weight: 600;
      font-family: 'Conthrax', sans-serif;
      color: #c39d26;
      background: rgba(195,157,38,0.08);
      border: 1px solid rgba(195,157,38,0.22);
      border-radius: 20px;
      padding: 2px 9px;
      white-space: nowrap;
    }

    /* Barra de progreso */
    .rp-progress-wrap {
      display: flex;
      align-items: center;
      gap: 8px;
      margin-top: 14px;
    }
    .rp-progress-track {
      flex: 1;
      height: 4px;
      background: rgba(255,255,255,0.07);
      border-radius: 4px;
      overflow: hidden;
    }
    .rp-progress-bar {
      height: 4px;
      background: linear-gradient(90deg, rgba(195,157,38,0.5), #c39d26);
      border-radius: 4px;
      min-width: 4px;
    }
    .rp-progress-label {
      font-size: 0.6rem;
      font-weight: 700;
      color: #c39d26;
      letter-spacing: 0.04em;
      min-width: 26px;
      text-align: right;
    }

    .rp-card-title {
      font-size: 0.98rem;
      font-weight: 700;
      color: #fff;
      margin: 0 0 10px;
      line-height: 1.3;
      position: relative;
      padding-bottom: 10px;
    }
    .rp-card-title::after {
      content: '';
      position: absolute;
      bottom: 0; left: 0;
      width: 40px; height: 2px;
      background: #c39d26;
      border-radius: 2px;
    }
    .rp-card-text {
      font-size: 0.76rem;
      color: rgba(255,255,255,0.48);
      line-height: 1.65;
      margin: 0;
    }

    /* ── Nav buttons ── */
    .rp-nav {
      position: absolute;
      top: 50%;
      transform: translateY(-60%);
      width: 40px; height: 40px;
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.13);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      cursor: pointer;
      z-index: 10;
      transition: background 0.2s, border-color 0.2s, box-shadow 0.2s;
    }
    .rp-nav:hover {
      background: rgba(195,157,38,0.25);
      border-color: rgba(195,157,38,0.6);
      box-shadow: 0 0 16px rgba(195,157,38,0.3);
    }
    .rp-nav--prev { left: 4px; }
    .rp-nav--next { right: 4px; }

    /* ── Pagination ── */
    .rp-pagination {
      display: flex;
      justify-content: center;
      margin-top: 22px;
      gap: 6px;
    }
    .rp-pagination .swiper-pagination-bullet {
      width: 6px; height: 6px;
      background: rgba(255,255,255,0.22);
      opacity: 1;
      border-radius: 3px;
      transition: width 0.3s, background 0.3s;
    }
    .rp-pagination .swiper-pagination-bullet-active {
      width: 22px;
      background: #c39d26;
    }

    @media (max-width: 860px) {
      .rp-popup { padding: 28px 22px 26px; }
      .rp-swiper-wrap { padding: 0 48px 8px; }
    }
    @media (max-width: 540px) {
      .rp-popup { padding: 24px 16px 22px; border-radius: 20px; }
      .rp-title { font-size: 1.2rem; }
      .rp-swiper-wrap { padding: 0 42px 8px; }
      .rp-nav { width: 34px; height: 34px; }
    }
    /* ===== FIN ROADMAP POPUP ===== */

    /* ===== CONTACT POPUP ===== */
    .contact-overlay {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 9998;
      background: rgba(0,0,0,0.65);
      align-items: center;
      justify-content: center;
      padding: 20px;
    }
    .contact-overlay.active { display: flex; }

    .contact-popup {
      position: relative;
      display: flex;
      gap: 0;
      width: 100%;
      max-width: 860px;
      background: rgb(74 74 74 / 6%);
      backdrop-filter: blur(32px);
      -webkit-backdrop-filter: blur(32px);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 26px;
      overflow: hidden;
      box-shadow: 0 40px 100px rgba(0,0,0,0.7), inset 0 1px 0 rgba(255,255,255,0.08);
      animation: fu-in 0.35s cubic-bezier(0.25,0.46,0.45,0.94);
    }

    .contact-close {
      position: absolute;
      top: 16px; right: 20px;
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 50%;
      width: 32px; height: 32px;
      color: rgba(255,255,255,0.6);
      font-size: 1.2rem;
      cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      transition: all 0.2s;
      z-index: 2;
      line-height: 1;
    }
    .contact-close:hover { background: rgba(255,255,255,0.15); color: #fff; }

    /* LEFT */
    .contact-left {
      width: 42%;
      flex-shrink: 0;
      background: linear-gradient(145deg, rgba(195,157,38,0.12) 0%, rgba(12,8,32,0.3) 100%);
      border-right: 1px solid rgba(255,255,255,0.08);
      padding: 44px 32px 40px;
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    .contact-brand {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 28px;
    }
    .contact-brand span {
      font-size: 0.85rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.7);
    }
    .contact-title {
      font-size: 1.75rem;
      font-weight: 800;
      color: #fff;
      line-height: 1.2;
      margin-bottom: 14px;
    }
    .contact-title em {
      font-style: normal;
      color: #c39d26;
    }
    .contact-subtitle {
      font-size: 0.8rem;
      color: rgba(255,255,255,0.5);
      line-height: 1.6;
      margin-bottom: 32px;
    }
    .contact-info-list {
      display: flex;
      flex-direction: column;
      gap: 18px;
      margin-top: auto;
    }
    .contact-info-item {
      display: flex;
      align-items: center;
      gap: 14px;
    }
    .contact-info-icon {
      width: 36px; height: 36px;
      flex-shrink: 0;
      background: rgba(195,157,38,0.1);
      border: 1px solid rgba(195,157,38,0.25);
      border-radius: 10px;
      display: flex; align-items: center; justify-content: center;
      color: #c39d26;
    }
    .contact-info-icon svg { width: 16px; height: 16px; }
    .info-label {
      display: block;
      font-size: 0.62rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: rgba(255,255,255,0.35);
      margin-bottom: 1px;
    }
    .info-value {
      display: block;
      font-size: 0.78rem;
      color: rgba(255,255,255,0.75);
      font-weight: 500;
    }

    /* DIVIDER */
    .contact-divider {
      width: 1px;
      background: rgba(255,255,255,0.07);
      flex-shrink: 0;
    }

    /* RIGHT */
    .contact-right {
      flex: 1;
      padding: 44px 36px 40px;
      display: flex;
      flex-direction: column;
    }
    .contact-form-title {
      font-size: 1.1rem;
      font-weight: 700;
      color: rgba(255,255,255,0.9);
      margin-bottom: 22px;
      letter-spacing: 0.02em;
    }
    .contact-form { display: flex; flex-direction: column; gap: 14px; }
    .cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .cf-field { display: flex; flex-direction: column; gap: 5px; }
    .cf-field label {
      font-size: 0.67rem;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: rgba(255,255,255,0.4);
    }
    .cf-field input,
    .cf-field textarea {
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 10px;
      padding: 10px 14px;
      color: rgba(255,255,255,0.88);
      font-size: 0.8rem;
      outline: none;
      transition: border-color 0.2s, background 0.2s;
      resize: none;
      font-family: inherit;
    }
    .cf-field input::placeholder,
    .cf-field textarea::placeholder { color: rgba(255,255,255,0.25); }
    .cf-field input:focus,
    .cf-field textarea:focus {
      border-color: rgba(195,157,38,0.5);
      background: rgba(195,157,38,0.05);
    }
    .cf-submit {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      background: linear-gradient(135deg, #c39d26 0%, #a07d18 100%);
      border: none;
      border-radius: 12px;
      padding: 12px 24px;
      color: #fff;
      font-size: 0.82rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      cursor: pointer;
      transition: opacity 0.2s, transform 0.2s;
      margin-top: 4px;
    }
    .cf-submit svg { width: 16px; height: 16px; }
    .cf-submit:hover { opacity: 0.88; transform: translateY(-1px); }

    .cf-success {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 14px;
      text-align: center;
    }
    .cf-success svg { width: 52px; height: 52px; }
    .cf-success p { color: rgba(255,255,255,0.75); font-size: 0.88rem; }

    @media (max-width: 640px) {
      .contact-popup { flex-direction: column; max-height: 90vh; overflow-y: auto; }
      .contact-left { width: 100%; border-right: none; border-bottom: 1px solid rgba(255,255,255,0.08); padding: 28px 22px; }
      .contact-right { padding: 28px 22px; }
      .cf-row { grid-template-columns: 1fr; }
    }
    /* ===== SIGNIN COMING SOON POPUP ===== */
    .signin-popup { max-width: 800px; }

    .signin-left {
      background: linear-gradient(145deg, rgba(195,157,38,0.15) 0%, rgba(12,8,32,0.4) 100%);
    }

    .signin-badge {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      background: rgba(195,157,38,0.12);
      border: 1px solid rgba(195,157,38,0.3);
      border-radius: 20px;
      padding: 5px 12px;
      color: #c39d26;
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      margin-bottom: 20px;
    }

    .signin-perks {
      display: flex;
      flex-direction: column;
      gap: 11px;
      margin-top: auto;
      padding-top: 24px;
    }
    .signin-perk {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 0.78rem;
      color: rgba(255,255,255,0.65);
    }
    .signin-perk-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #c39d26;
      flex-shrink: 0;
    }
    /* ===== FIN SIGNIN ===== */

    /* ===== FIN CONTACT ===== */

    /* ===== PRICING POPUP ===== */
    .pricing-overlay {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 9997;
      background: rgba(0,0,0,0.75);
      align-items: flex-start;
      justify-content: center;
      padding: 16px;
      overflow-y: auto;
    }
    .pricing-overlay.active { display: flex; }
    .pricing-popup {
      position: relative;
      background: rgb(29 29 29 / 43%);
      backdrop-filter: blur(28px);
      -webkit-backdrop-filter: blur(28px);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 20px;
      padding: 28px 24px 22px;
      box-shadow: 0 30px 80px rgba(0,0,0,0.7);
      animation: fu-in 0.3s cubic-bezier(0.25,0.46,0.45,0.94);
      width: 100%;
      max-width: 980px;
      margin: auto;
    }
    .pricing-close {
      position: absolute;
      top: 12px; right: 16px;
      background: none; border: none;
      color: rgba(255,255,255,0.6);
      font-size: 1.6rem;
      cursor: pointer;
      line-height: 1;
      transition: color 0.2s;
    }
    .pricing-close:hover { color: #fff; }
    .pricing-header {
      text-align: center;
      margin-bottom: 16px;
    }
    .pricing-header h2 {
      font-size: 1.4rem;
      font-weight: 800;
      color: #c39d26;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      margin-bottom: 2px;
      line-height: 1.1;
    }
    .pricing-header h2 span {
      font-size: 0.8rem;
      font-style: italic;
      font-weight: 400;
      color: rgba(255,255,255,0.6);
      display: block;
      text-transform: none;
    }
    .pricing-header p {
      color: rgba(255,255,255,0.65);
      font-size: 0.78rem;
      margin: 0;
    }
    .pricing-plans {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 10px;
      margin-bottom: 10px;
    }
    @media (max-width: 860px) {
      .pricing-plans { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 480px) {
      .pricing-plans { grid-template-columns: 1fr; }
      .pricing-popup { padding: 22px 14px 18px; }
    }
    .pricing-card {
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 12px;
      padding: 12px 12px 10px;
      display: flex;
      flex-direction: column;
      transition: border-color 0.2s, transform 0.2s;
    }
    .pricing-card:hover { border-color: rgba(195,157,38,0.5); transform: translateY(-3px); }
    .pricing-card.featured {
      border-color: rgba(195,157,38,0.45);
      background: rgba(195,157,38,0.07);
    }
    .pricing-card__top { text-align: center; margin-bottom: 8px; }
    .plan-name {
      font-size: 1rem;
      font-weight: 800;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      margin: 0 0 1px;
    }
    .plan-name.planet { color: #c39d26; }
    .plan-name.space  { color: #c39d26; }
    .plan-name.astro  { color: #c39d26; }
    .plan-name.galax  { color: #c39d26; }
    .plan-name.atom   { color: #c39d26; }
    .plan-tier {
      font-size: 0.62rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.45);
    }
    .plan-features {
      list-style: none;
      padding: 0; margin: 0 0 8px;
      flex: 1;
    }
    .plan-features li {
      font-size: 0.67rem;
      color: rgba(255,255,255,0.68);
      padding: 2px 0;
      border-bottom: 1px solid rgba(255,255,255,0.04);
      line-height: 1.35;
    }
    .plan-features li::before { content: '• '; color: rgba(255,255,255,0.25); }
    .plan-features li.highlight { color: #c39d26; font-weight: 600; }
    .plan-features li.highlight::before { color: #c39d26; }
    .plan-price {
      text-align: center;
      border-top: 1px solid rgba(255,255,255,0.1);
      padding-top: 8px;
    }
    .plan-period {
      display: block;
      font-size: 0.58rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.4);
      margin-bottom: 1px;
    }
    .plan-price strong {
      font-size: 1.25rem;
      font-weight: 800;
      color: #fff;
    }
    /* ATOM */
    .pricing-atom {
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(195,157,38,0.35);
      border-radius: 12px;
      padding: 14px 20px;
      display: flex;
      align-items: center;
      gap: 24px;
    }
    .atom-price { text-align: center; min-width: 80px; }
    .atom-price strong { font-size: 1.3rem; font-weight: 800; color: #fff; display: block; }
    .atom-content { flex: 1; }
    .atom-header { margin-bottom: 6px; }
    .atom-features {
      list-style: none;
      padding: 0; margin: 0;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 3px 20px;
    }
    .atom-features li {
      font-size: 0.67rem;
      color: #c39d26;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.03em;
    }
    .atom-features li::before { content: '• '; }
    /* ===== FIN PRICING ===== */

    /* ===== FOLLOW US POPUP ===== */
    .followus-overlay {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 9998;
      background: rgba(0,0,0,0.6);
      backdrop-filter: blur(4px);
      align-items: center;
      justify-content: center;
      padding: 16px;
    }
    .followus-overlay.active { display: flex; }

    .followus-popup {
      position: relative;
      width: 100%;
      max-width: 420px;
      background: rgb(58 58 58 / 59%);
      backdrop-filter: blur(32px);
      -webkit-backdrop-filter: blur(32px);
      border: 1px solid rgba(255,255,255,0.12);
      border-top: 1px solid rgba(255,255,255,0.22);
      border-radius: 28px;
      padding: 32px 28px 20px;
      box-shadow: 0 32px 80px rgba(0,0,0,0.7), 0 0 0 1px rgba(195,157,38,0.08);
      animation: fu-in 0.35s cubic-bezier(0.22,1,0.36,1);
    }
    @keyframes fu-in {
      from { opacity: 0; transform: scale(0.88) translateY(24px); }
      to   { opacity: 1; transform: scale(1) translateY(0); }
    }

    .followus-close {
      position: absolute;
      top: 16px; right: 18px;
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 50%;
      width: 28px; height: 28px;
      display: flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,0.5);
      font-size: 1.1rem;
      cursor: pointer;
      line-height: 1;
      transition: background 0.2s, color 0.2s;
    }
    .followus-close:hover { background: rgba(255,255,255,0.15); color: #fff; }

    /* Header */
    .fu-header {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-bottom: 24px;
      gap: 4px;
    }
    .fu-live-dot {
      width: 8px; height: 8px;
      border-radius: 50%;
      background: #c39d26;
      box-shadow: 0 0 10px rgba(195,157,38,0.8);
      margin-bottom: 8px;
      animation: fu-pulse 2s ease-in-out infinite;
    }
    @keyframes fu-pulse {
      0%,100% { box-shadow: 0 0 8px rgba(195,157,38,0.8); transform: scale(1); }
      50%      { box-shadow: 0 0 18px rgba(195,157,38,1); transform: scale(1.3); }
    }
    .fu-title {
      font-size: 1rem;
      font-weight: 800;
      color: #fff;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }
    .fu-subtitle {
      font-size: 0.65rem;
      color: rgba(255,255,255,0.35);
      letter-spacing: 0.1em;
    }

    /* Cards */
    .fu-cards { display: flex; flex-direction: column; gap: 8px; }

    .fu-card {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 14px 16px;
      border-radius: 16px;
      border: 1px solid rgba(255,255,255,0.07);
      background: rgba(255,255,255,0.04);
      text-decoration: none;
      transition: background 0.25s, border-color 0.25s, transform 0.25s;
    }
    .fu-card:hover { transform: translateX(4px); }

    .fu-card-left {
      display: flex;
      align-items: center;
      gap: 13px;
    }
    .fu-icon {
      width: 40px; height: 40px;
      border-radius: 12px;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      transition: transform 0.25s;
    }
    .fu-card:hover .fu-icon { transform: scale(1.1); }
    .fu-icon svg { width: 20px; height: 20px; }

    .fu-net-name {
      font-size: 0.82rem;
      font-weight: 700;
      color: #fff;
      margin: 0 0 1px;
    }
    .fu-handle {
      font-size: 0.62rem;
      color: rgba(255,255,255,0.38);
      margin: 0;
    }

    .fu-card-right { text-align: right; flex-shrink: 0; }
    .fu-count {
      font-size: 1.1rem;
      font-weight: 900;
      margin: 0 0 1px;
      line-height: 1;
      min-width: 48px;
      display: block;
    }
    .fu-count-lbl {
      font-size: 0.58rem;
      color: rgba(255,255,255,0.35);
      text-transform: uppercase;
      letter-spacing: 0.1em;
      margin: 0;
    }

    /* Colores por red */
    .fu-instagram { border-color: rgba(225,48,108,0.15); }
    .fu-instagram:hover { background: rgba(225,48,108,0.07); border-color: rgba(225,48,108,0.35); }
    .fu-instagram .fu-icon { background: rgba(225,48,108,0.12); border: 1px solid rgba(225,48,108,0.25); color: #e1306c; }
    .fu-instagram .fu-count { color: #e1306c; }

    .fu-youtube { border-color: rgba(255,0,0,0.15); }
    .fu-youtube:hover { background: rgba(255,0,0,0.06); border-color: rgba(255,0,0,0.3); }
    .fu-youtube .fu-icon { background: rgba(255,0,0,0.1); border: 1px solid rgba(255,0,0,0.22); color: #ff4444; }
    .fu-youtube .fu-count { color: #ff4444; }

    .fu-tiktok { border-color: rgba(255,255,255,0.07); }
    .fu-tiktok:hover { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.2); }
    .fu-tiktok .fu-icon { background: rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.15); color: #fff; }
    .fu-tiktok .fu-count { color: #fff; }

    .fu-facebook { border-color: rgba(24,119,242,0.15); }
    .fu-facebook:hover { background: rgba(24,119,242,0.06); border-color: rgba(24,119,242,0.3); }
    .fu-facebook .fu-icon { background: rgba(24,119,242,0.12); border: 1px solid rgba(24,119,242,0.25); color: #1877f2; }
    .fu-facebook .fu-count { color: #1877f2; }

    .fu-whatsapp { border-color: rgba(37,211,102,0.15); }
    .fu-whatsapp:hover { background: rgba(37,211,102,0.06); border-color: rgba(37,211,102,0.3); }
    .fu-whatsapp .fu-icon { background: rgba(37,211,102,0.12); border: 1px solid rgba(37,211,102,0.25); color: #25d366; }
    .fu-whatsapp svg { color: rgba(255,255,255,0.3); }

    /* Footer */
    .fu-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-top: 16px;
      padding-top: 14px;
      border-top: 1px solid rgba(255,255,255,0.06);
    }
    .fu-updated {
      font-size: 0.6rem;
      color: rgba(255,255,255,0.25);
      letter-spacing: 0.06em;
    }
    .fu-refresh {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      background: none;
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 20px;
      color: rgba(255,255,255,0.45);
      font-size: 0.6rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      padding: 5px 12px;
      cursor: pointer;
      transition: border-color 0.2s, color 0.2s, background 0.2s;
    }
    .fu-refresh:hover { border-color: rgba(195,157,38,0.4); color: #c39d26; background: rgba(195,157,38,0.06); }
    .fu-refresh.spinning svg { animation: fu-spin 0.7s linear infinite; }
    @keyframes fu-spin { to { transform: rotate(360deg); } }
    /* ===== FIN FOLLOW US ===== */

    /* ===== LIGHTBOX ABOUT ===== */
    .about__right .images img {
      cursor: zoom-in;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    .about__right .images img:hover {
      transform: scale(1.04);
      box-shadow: 0 8px 30px rgba(0,0,0,0.5);
    }
    .about-lightbox {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 9999;
      background: rgba(0,0,0,0.85);
      align-items: center;
      justify-content: center;
      cursor: zoom-out;
    }
    .about-lightbox.active {
      display: flex;
    }
    .about-lightbox img {
      max-width: 90vw;
      max-height: 88vh;
      border-radius: 10px;
      box-shadow: 0 20px 60px rgba(0,0,0,0.7);
      animation: lb-in 0.25s ease;
      cursor: default;
    }
    @keyframes lb-in {
      from { opacity: 0; transform: scale(0.85); }
      to   { opacity: 1; transform: scale(1); }
    }
    /* ===== FIN LIGHTBOX ===== */

    /* Capa degradado negra sobre el video */
    .banner-video-overlay {
      position: absolute;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background: linear-gradient(to bottom, rgb(0 0 0 / 55%) 0%, rgb(0 0 0 / 42%) 60%, rgb(0 0 0 / 80%) 100%);
      z-index: 1;
      pointer-events: none;
    }

    /* Video dentro del container big del banner */
    .banner-container-video {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      z-index: 0;
      pointer-events: none;
    }

    /* Banner transparente */
    .banner {
      background: transparent !important;
    }

    /* ===== STAR FIELD ===== */
    @keyframes sf-fly-by-1 {
        from { transform: translateZ(-600px); opacity: 0.5; }
        to   { transform: translateZ(0);      opacity: 0.5; }
    }
    @keyframes sf-fly-by-2 {
        from { transform: translateZ(-1200px); opacity: 0.5; }
        to   { transform: translateZ(-600px);  opacity: 0.5; }
    }
    @keyframes sf-fly-by-3 {
        from { transform: translateZ(-1800px); opacity: 0.5; }
        to   { transform: translateZ(-1200px); opacity: 0.5; }
    }
    .star-field {
        position: fixed;
        top: 0; left: 0;
        width: 100%; height: 100%;
        perspective: 600px;
        -webkit-perspective: 600px;
        z-index: -1;
    }
    .star-field .layer {
        box-shadow: -411px -476px #cccccc, 777px -407px #d4d4d4, -387px -477px #fcfcfc, -91px -235px #d4d4d4, 491px -460px #f7f7f7, 892px -128px #f7f7f7, 758px -277px #ededed, 596px 378px #cccccc, 647px 423px whitesmoke, 183px 389px #c7c7c7, 524px -237px #f0f0f0, 679px -535px #e3e3e3, 158px 399px #ededed, 157px 249px #ededed, 81px -450px #ebebeb, 719px -360px #c2c2c2, -499px 473px #e8e8e8, -158px -349px #d4d4d4, 870px -134px #cfcfcf, 446px 404px #c2c2c2, 440px 490px #d4d4d4, 414px 507px #e6e6e6, -12px 246px #fcfcfc, -384px 369px #e3e3e3, 641px -413px #fcfcfc, 822px 516px #dbdbdb, 449px 132px #c2c2c2, 727px 146px #f7f7f7, -315px -488px #e6e6e6, 952px -70px #e3e3e3, -869px -29px #dbdbdb, 502px 80px #dedede, 764px 342px #e0e0e0, -150px -380px #dbdbdb, 654px -426px #e3e3e3, -325px -263px #c2c2c2, 755px -447px #c7c7c7, 729px -177px #c2c2c2, -682px -391px #e6e6e6, 554px -176px #ededed, -85px -428px #d9d9d9, 714px 55px #e8e8e8, 359px -285px #cfcfcf, -362px -508px #dedede, 468px -265px #fcfcfc, 74px -500px #c7c7c7, -514px 383px #dbdbdb, 730px -92px #cfcfcf, -112px 287px #c9c9c9, -853px 79px #d6d6d6, 828px 475px #d6d6d6, -681px 13px #fafafa, -176px 209px #f0f0f0, 758px 457px #fafafa, -383px -454px #ededed, 813px 179px #d1d1d1, 608px 98px whitesmoke, -860px -65px #c4c4c4, -572px 272px #f7f7f7, 459px 533px #fcfcfc, 624px -481px #e6e6e6, 790px 477px #dedede, 731px -403px #ededed, 70px -534px #cccccc, -23px 510px #cfcfcf, -652px -237px whitesmoke, -690px 367px #d1d1d1, 810px 536px #d1d1d1, 774px 293px #c9c9c9, -362px 97px #c2c2c2, 563px 47px #dedede, 313px 475px #e0e0e0, 839px -491px #e3e3e3, -217px 377px #d4d4d4, -581px 239px #c2c2c2, -857px 72px #cccccc, -23px 340px #dedede, -837px 246px white, 170px -502px #cfcfcf, 822px -443px #e0e0e0, 795px 497px #e0e0e0, -814px -337px #cfcfcf, 206px -339px #f2f2f2, -779px 108px #e6e6e6, 808px 2px #d4d4d4, 665px 41px #d4d4d4, -564px 64px #cccccc, -380px 74px #cfcfcf, -369px -60px #f7f7f7, 47px -495px #e3e3e3, -383px 368px #f7f7f7, 419px 288px #d1d1d1, -598px -50px #c2c2c2, -833px 187px #c4c4c4, 378px 325px whitesmoke, -703px 375px #d6d6d6, 392px 520px #d9d9d9, -492px -60px #c4c4c4, 759px 288px #ebebeb, 98px -412px #c4c4c4, -911px -277px #c9c9c9;
        transform-style: preserve-3d;
        position: absolute;
        top: 50%; left: 50%;
        height: 4px; width: 4px;
        border-radius: 2px;
    }
    .star-field .layer:nth-child(1) { animation: sf-fly-by-1 5s linear infinite; }
    .star-field .layer:nth-child(2) { animation: sf-fly-by-2 5s linear infinite; }
    .star-field .layer:nth-child(3) { animation: sf-fly-by-3 5s linear infinite; }
    /* ===== STAR FIELD FIN ===== */

    /* ===== CARD-BOX TOOLS ===== */

    /* Glass override del card */
    .bannerSwiper .card-box {
      background: rgba(255,255,255,0.04);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(255,255,255,0.1);
      border-top: 1px solid rgba(255,255,255,0.18);
      box-shadow:
        0 24px 60px rgba(0,0,0,0.45),
        inset 0 1px 0 rgba(255,255,255,0.1);
      transition: box-shadow 0.3s, border-color 0.3s, transform 0.3s;
    }
    .bannerSwiper .card-box:hover {
      border-color: rgba(195,157,38,0.35);
      box-shadow:
        0 32px 80px rgba(0,0,0,0.55),
        0 0 0 1px rgba(195,157,38,0.15),
        inset 0 1px 0 rgba(255,255,255,0.12);
      transform: translateY(-4px);
    }

    /* Header del card */
    .bannerSwiper .card-box .top {
      align-items: center;
      padding-bottom: 14px;
      border-bottom: 1px solid rgba(255,255,255,0.07);
      margin-bottom: 16px;
    }
    .bannerSwiper .card-box .top .cb-card-icon {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 40px; height: 40px;
      flex-shrink: 0;
      border-radius: 12px;
      background: rgba(195,157,38,0.1);
      border: 1px solid rgba(195,157,38,0.22);
      color: #c39d26;
      font-size: unset;
      margin-right: 13px;
      transition: background 0.25s, box-shadow 0.25s;
    }
    .bannerSwiper .card-box:hover .top .cb-card-icon {
      background: rgba(195,157,38,0.18);
      box-shadow: 0 0 16px rgba(195,157,38,0.2);
    }
    .bannerSwiper .card-box .top h6 {
      font-size: 0.72rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.55);
      margin-bottom: 0;
    }
    .card-box .top h6.cb-price {
      background: none !important;
      -webkit-background-clip: unset !important;
      -webkit-text-fill-color: #c39d26 !important;
      background-clip: unset !important;
      color: #c39d26 !important;
      font-size: 1.05rem;
      font-weight: 800;
      letter-spacing: 0.02em;
      text-transform: none;
      margin-top: 2px;
    }

    /* Media wrap: imagen + video superpuesto */
    .cb-media-wrap {
      position: relative;
      overflow: hidden;
      border-radius: 14px;
    }
    .cb-media-wrap img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: opacity 0.5s ease, transform 0.4s ease;
    }
    .cb-media-wrap video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.5s ease;
    }
    .cb-media-wrap.cb-playing img { opacity: 0; transform: scale(1.04); }
    .cb-media-wrap.cb-playing video { opacity: 1; pointer-events: auto; }

    /* Overlay oscuro en hover para que resalte la keyword */
    .cb-media-wrap::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 55%);
      opacity: 0;
      transition: opacity 0.35s ease;
      z-index: 2;
      border-radius: 14px;
    }
    .cb-media-wrap:hover::before { opacity: 1; }

    /* Keyword hover label */
    .cb-keyword {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) scale(0.85);
      background: rgba(195,157,38,0.15);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid rgba(195,157,38,0.55);
      color: #c39d26;
      font-size: 0.65rem;
      font-weight: 800;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      padding: 6px 20px;
      border-radius: 30px;
      white-space: nowrap;
      opacity: 0;
      transition: opacity 0.4s ease, transform 0.4s ease;
      pointer-events: none;
      z-index: 5;
      box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    }
    .cb-media-wrap.cb-kw-show .cb-keyword {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1);
    }

    /* Botón play: pill glass centrado abajo del card */
    .cb-play-bar {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 16px 0 4px;
    }
    .cb-play-btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: rgba(255,255,255,0.06);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border: 1px solid rgba(255,255,255,0.14);
      border-radius: 50px;
      padding: 10px 22px 10px 16px;
      color: rgba(255,255,255,0.85);
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      cursor: pointer;
      transition: background 0.25s, border-color 0.25s, box-shadow 0.25s, color 0.25s;
    }
    .cb-play-btn:hover {
      background: rgba(195,157,38,0.15);
      border-color: rgba(195,157,38,0.55);
      color: #c39d26;
      box-shadow: 0 0 24px rgba(195,157,38,0.2);
    }
    /* Icono play dentro del botón */
    .cb-play-btn .cb-icon {
      width: 28px; height: 28px;
      background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.18);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      transition: background 0.25s, border-color 0.25s;
    }
    .cb-play-btn:hover .cb-icon {
      background: rgba(195,157,38,0.2);
      border-color: rgba(195,157,38,0.5);
    }
    .cb-play-btn .cb-icon svg { width: 10px; height: 10px; }
    /* ===== FIN CARD-BOX TOOLS ===== */

    .banner .container.big {
      transition: opacity 0.8s ease, transform 0.8s ease;
    }
    .banner.banner--hidden .container.big {
      opacity: 0;
      pointer-events: none;
      transform: translateY(-10px);
    }
    .banner-video-overlay {
      transition: opacity 1.4s ease;
    }
    .banner.banner--hidden .banner-video-overlay {
      opacity: 0;
    }

    /* ===== NEWSLETTER POPUP ===== */
    .nl-overlay {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 9999;
      background: rgba(0,0,0,0.78);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      align-items: center;
      justify-content: center;
      padding: 16px;
    }
    .nl-overlay.active { display: flex; }

    .nl-popup {
      position: relative;
      width: 100%;
      max-width: 900px;
      max-height: 92vh;
      overflow-y: auto;
      overflow-x: hidden;
      background: linear-gradient(145deg, rgb(77 77 77 / 65%) 0%, rgba(8, 8, 20, 0.98) 100%);
      backdrop-filter: blur(40px);
      -webkit-backdrop-filter: blur(40px);
      border: 1px solid rgba(255,255,255,0.1);
      border-top: 1px solid rgba(255,255,255,0.2);
      border-radius: 26px;
      padding: 0 0 28px;
      box-shadow:
        0 60px 140px rgba(0,0,0,0.9),
        0 0 0 1px rgba(195,157,38,0.06) inset;
      animation: fu-in 0.4s cubic-bezier(0.22,1,0.36,1);
      scrollbar-width: thin;
      scrollbar-color: rgba(195,157,38,0.3) transparent;
    }
    .nl-popup::-webkit-scrollbar { width: 4px; }
    .nl-popup::-webkit-scrollbar-thumb { background: rgba(195,157,38,0.3); border-radius: 4px; }

    .nl-glow-tl {
      position: absolute; top: -80px; left: -60px;
      width: 320px; height: 320px;
      background: radial-gradient(circle, rgba(195,157,38,0.1) 0%, transparent 65%);
      pointer-events: none;
    }
    .nl-glow-br {
      position: absolute; bottom: -80px; right: -60px;
      width: 260px; height: 260px;
      background: radial-gradient(circle, rgba(100,60,180,0.12) 0%, transparent 65%);
      pointer-events: none;
    }

    .nl-close {
      position: absolute;
      top: 16px; right: 18px;
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.13);
      border-radius: 50%;
      width: 30px; height: 30px;
      display: flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,0.5);
      font-size: 1.15rem;
      cursor: pointer;
      transition: background 0.2s, color 0.2s;
      z-index: 5;
      line-height: 1;
    }
    .nl-close:hover { background: rgba(255,255,255,0.15); color: #fff; }

    /* ── Ticker bar ── */
    .nl-ticker-bar {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 12px 24px;
      border-bottom: 1px solid rgba(255,255,255,0.07);
      background: rgba(0,0,0,0.2);
      border-radius: 26px 26px 0 0;
      overflow: hidden;
    }
    .nl-live-dot {
      width: 8px; height: 8px;
      border-radius: 50%;
      background: #e53;
      box-shadow: 0 0 10px rgba(238,85,51,0.8);
      flex-shrink: 0;
      animation: nl-blink 1.2s ease-in-out infinite;
    }
    @keyframes nl-blink {
      0%,100% { opacity: 1; }
      50%      { opacity: 0.3; }
    }
    .nl-ticker-label {
      font-size: 0.6rem;
      font-weight: 800;
      letter-spacing: 0.16em;
      color: #e53;
      flex-shrink: 0;
    }
    .nl-ticker-track {
      flex: 1;
      overflow: hidden;
      white-space: nowrap;
    }
    .nl-ticker-text {
      display: inline-block;
      font-size: 0.7rem;
      color: rgba(255,255,255,0.5);
      animation: nl-scroll 22s linear infinite;
      white-space: nowrap;
    }
    @keyframes nl-scroll {
      from { transform: translateX(100%); }
      to   { transform: translateX(-100%); }
    }
    .nl-date {
      font-size: 0.62rem;
      color: rgba(255,255,255,0.25);
      flex-shrink: 0;
      letter-spacing: 0.06em;
    }

    /* ── Featured ── */
    .nl-featured {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 28px;
      padding: 28px 28px 0;
    }
    @media (max-width: 680px) {
      .nl-featured { grid-template-columns: 1fr; gap: 20px; }
    }

    /* Video side */
    .nl-video-wrap {
      position: relative;
      border-radius: 16px;
      overflow: hidden;
      aspect-ratio: 16/9;
      background: #000;
      box-shadow: 0 20px 50px rgba(0,0,0,0.6);
      border: 1px solid rgba(255,255,255,0.08);
    }
    .nl-video-badge {
      position: absolute;
      top: 10px; left: 10px;
      background: rgba(0,0,0,0.65);
      backdrop-filter: blur(8px);
      border: 1px solid rgba(255,255,255,0.12);
      border-radius: 6px;
      font-size: 0.6rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      color: rgba(255,255,255,0.7);
      padding: 4px 8px;
      z-index: 2;
    }
    .nl-iframe {
      position: absolute;
      inset: 0;
      width: 100%; height: 100%;
      border: none;
    }

    /* News text side */
    .nl-main-news {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 14px;
    }
    .nl-breaking-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 0.6rem;
      font-weight: 800;
      letter-spacing: 0.18em;
      color: #e53;
      text-transform: uppercase;
      background: rgba(238,85,51,0.1);
      border: 1px solid rgba(238,85,51,0.25);
      border-radius: 20px;
      padding: 4px 12px;
      width: fit-content;
    }
    .nl-headline {
      font-size: 1.25rem;
      font-weight: 800;
      color: #fff;
      line-height: 1.35;
      margin: 0;
    }
    .nl-summary {
      font-size: 0.8rem;
      color: rgba(255,255,255,0.45);
      line-height: 1.65;
      margin: 0;
    }
    .nl-meta {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
    }
    .nl-meta-date, .nl-meta-tag {
      font-size: 0.68rem;
      color: rgba(255,255,255,0.3);
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 20px;
      padding: 4px 12px;
    }

    /* ── Divider ── */
    .nl-divider {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 24px 28px 0;
    }
    .nl-divider::before,
    .nl-divider::after {
      content: '';
      flex: 1;
      height: 1px;
      background: rgba(255,255,255,0.07);
    }
    .nl-divider-label {
      font-size: 0.6rem;
      font-weight: 700;
      letter-spacing: 0.2em;
      color: rgba(255,255,255,0.2);
      flex-shrink: 0;
    }

    /* ── Mini swiper ── */
    .nl-swiper-wrap {
      position: relative;
      padding: 18px 52px 0;
    }

    .nl-arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 50%;
      width: 32px; height: 32px;
      display: flex; align-items: center; justify-content: center;
      cursor: pointer;
      z-index: 3;
      transition: background 0.2s, border-color 0.2s;
      padding: 0;
    }
    .nl-arrow:hover { background: rgba(195,157,38,0.15); border-color: rgba(195,157,38,0.4); }
    .nl-arrow svg { width: 10px; height: 15px; }
    .nl-prev { left: 10px; }
    .nl-next { right: 10px; }

    .nl-news-swiper { overflow: hidden; }

    .nl-card {
      border-radius: 14px;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,0.07);
      background: rgba(255,255,255,0.03);
      transition: border-color 0.25s, transform 0.25s;
      cursor: pointer;
    }
    .nl-card:hover {
      border-color: rgba(195,157,38,0.3);
      transform: translateY(-3px);
    }
    .nl-card-thumb {
      aspect-ratio: 16/9;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }
    .nl-card-icon {
      font-size: 2rem;
      filter: drop-shadow(0 4px 12px rgba(0,0,0,0.5));
    }
    .nl-card-body {
      padding: 10px 12px 12px;
    }
    .nl-card-cat {
      display: block;
      font-size: 0.56rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #c39d26;
      margin-bottom: 5px;
    }
    .nl-card-title {
      font-size: 0.74rem;
      font-weight: 600;
      color: rgba(255,255,255,0.75);
      line-height: 1.4;
      margin: 0;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }
    /* ===== FIN NEWSLETTER POPUP ===== */

    /* ===== SURVEY POPUP ===== */
    .survey-overlay {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 9999;
      background: rgba(0,0,0,0.72);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      align-items: center;
      justify-content: center;
      padding: 16px;
    }
    .survey-overlay.active { display: flex; }

    .survey-popup {
      position: relative;
      width: 100%;
      max-width: 520px;
      background: linear-gradient(145deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.02) 100%);
      backdrop-filter: blur(40px);
      -webkit-backdrop-filter: blur(40px);
      border: 1px solid rgba(255,255,255,0.12);
      border-top: 1px solid rgba(255,255,255,0.22);
      border-radius: 28px;
      padding: 44px 40px 36px;
      box-shadow:
        0 50px 120px rgba(0,0,0,0.85),
        0 0 0 1px rgba(195,157,38,0.06) inset,
        0 1px 0 rgba(255,255,255,0.1) inset;
      animation: fu-in 0.38s cubic-bezier(0.22,1,0.36,1);
      overflow: hidden;
    }
    @media (max-width: 600px) {
      .survey-popup { padding: 36px 22px 28px; border-radius: 22px; }
    }

    .survey-glow {
      position: absolute;
      top: -80px; right: -60px;
      width: 300px; height: 300px;
      background: radial-gradient(circle, rgba(195,157,38,0.12) 0%, transparent 70%);
      pointer-events: none;
    }

    .survey-close {
      position: absolute;
      top: 18px; right: 20px;
      background: rgba(255,255,255,0.07);
      border: 1px solid rgba(255,255,255,0.13);
      border-radius: 50%;
      width: 30px; height: 30px;
      display: flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,0.5);
      font-size: 1.15rem;
      cursor: pointer;
      transition: background 0.2s, color 0.2s;
      line-height: 1;
    }
    .survey-close:hover { background: rgba(255,255,255,0.15); color: #fff; }

    /* Header */
    .survey-header { margin-bottom: 28px; }
    .survey-tag {
      display: inline-block;
      font-size: 0.6rem;
      font-weight: 700;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: #c39d26;
      margin-bottom: 10px;
    }
    .survey-title {
      font-size: 1.55rem;
      font-weight: 800;
      color: #fff;
      margin: 0 0 8px;
      line-height: 1.2;
    }
    .survey-desc {
      font-size: 0.78rem;
      color: rgba(255,255,255,0.4);
      margin: 0;
      line-height: 1.55;
    }

    /* Progress */
    .survey-progress-wrap {
      height: 3px;
      background: rgba(255,255,255,0.07);
      border-radius: 99px;
      overflow: hidden;
      margin-bottom: 8px;
    }
    .survey-progress-bar {
      height: 100%;
      width: 0%;
      background: linear-gradient(90deg, #c39d26, #f0c040);
      border-radius: 99px;
      transition: width 0.4s cubic-bezier(0.22,1,0.36,1);
    }
    .survey-step-lbl {
      font-size: 0.62rem;
      color: rgba(255,255,255,0.28);
      letter-spacing: 0.08em;
      margin: 0 0 28px;
      text-transform: uppercase;
    }

    /* Steps */
    .survey-steps { min-height: 190px; }
    .survey-step { display: none; }
    .survey-step.active { display: block; }

    .sq-label {
      font-size: 1rem;
      font-weight: 600;
      color: rgba(255,255,255,0.9);
      margin: 0 0 18px;
      line-height: 1.45;
    }

    /* Name input */
    .sq-input {
      width: 100%;
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.13);
      border-radius: 14px;
      padding: 14px 18px;
      color: #fff;
      font-size: 0.95rem;
      outline: none;
      transition: border-color 0.2s, background 0.2s;
      box-sizing: border-box;
    }
    .sq-input::placeholder { color: rgba(255,255,255,0.25); }
    .sq-input:focus {
      border-color: rgba(195,157,38,0.5);
      background: rgba(195,157,38,0.05);
    }

    /* Radio options */
    .sq-options { display: flex; flex-direction: column; gap: 10px; }
    .sq-opt {
      display: flex;
      align-items: center;
      gap: 0;
      cursor: pointer;
    }
    .sq-opt input[type="radio"] { display: none; }
    .sq-opt span {
      display: flex;
      align-items: center;
      width: 100%;
      padding: 12px 16px;
      border-radius: 12px;
      border: 1px solid rgba(255,255,255,0.09);
      background: rgba(255,255,255,0.04);
      color: rgba(255,255,255,0.7);
      font-size: 0.85rem;
      font-weight: 500;
      transition: border-color 0.2s, background 0.2s, color 0.2s;
      cursor: pointer;
      gap: 10px;
    }
    .sq-opt span:hover {
      background: rgba(255,255,255,0.08);
      border-color: rgba(255,255,255,0.2);
      color: #fff;
    }
    .sq-opt input[type="radio"]:checked + span {
      background: rgba(195,157,38,0.12);
      border-color: rgba(195,157,38,0.5);
      color: #f0c040;
    }

    /* Navigation */
    .survey-nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-top: 28px;
      padding-top: 20px;
      border-top: 1px solid rgba(255,255,255,0.06);
      gap: 12px;
    }
    .survey-btn-back {
      background: none;
      border: 1px solid rgba(255,255,255,0.1);
      border-radius: 50px;
      color: rgba(255,255,255,0.4);
      font-size: 0.78rem;
      font-weight: 600;
      padding: 10px 20px;
      cursor: pointer;
      transition: border-color 0.2s, color 0.2s;
      letter-spacing: 0.04em;
    }
    .survey-btn-back:hover:not(:disabled) {
      border-color: rgba(255,255,255,0.25);
      color: rgba(255,255,255,0.75);
    }
    .survey-btn-back:disabled { opacity: 0.25; cursor: not-allowed; }

    .survey-btn-next {
      background: linear-gradient(135deg, #c39d26 0%, #f0c040 100%);
      border: none;
      border-radius: 50px;
      color: #000;
      font-size: 0.82rem;
      font-weight: 800;
      padding: 11px 28px;
      cursor: pointer;
      letter-spacing: 0.06em;
      transition: opacity 0.2s, transform 0.2s, box-shadow 0.2s;
      box-shadow: 0 6px 20px rgba(195,157,38,0.3);
    }
    .survey-btn-next:hover {
      opacity: 0.9;
      transform: translateY(-1px);
      box-shadow: 0 10px 28px rgba(195,157,38,0.4);
    }

    /* Thank you screen */
    .survey-thanks {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: 10px 0 4px;
    }
    .survey-thanks-icon {
      font-size: 2.4rem;
      color: #c39d26;
      margin-bottom: 16px;
      animation: sv-pop 0.5s cubic-bezier(0.22,1,0.36,1);
    }
    @keyframes sv-pop {
      from { transform: scale(0.3); opacity: 0; }
      to   { transform: scale(1);   opacity: 1; }
    }
    .survey-thanks-title {
      font-size: 1.4rem;
      font-weight: 800;
      color: #fff;
      margin: 0 0 10px;
    }
    .survey-thanks-title span { color: #f0c040; }
    .survey-thanks-msg {
      font-size: 0.8rem;
      color: rgba(255,255,255,0.4);
      line-height: 1.6;
      margin: 0 0 24px;
      max-width: 340px;
    }
    .survey-done-btn {
      background: linear-gradient(135deg, #c39d26 0%, #f0c040 100%);
      border: none;
      border-radius: 50px;
      color: #000;
      font-size: 0.82rem;
      font-weight: 800;
      padding: 12px 32px;
      cursor: pointer;
      letter-spacing: 0.06em;
      transition: opacity 0.2s, transform 0.2s;
      box-shadow: 0 6px 20px rgba(195,157,38,0.3);
    }
    .survey-done-btn:hover { opacity: 0.88; transform: translateY(-1px); }
    @keyframes sv-shake {
      0%,100% { transform: translateX(0); }
      20%      { transform: translateX(-8px); }
      40%      { transform: translateX(7px); }
      60%      { transform: translateX(-5px); }
      80%      { transform: translateX(4px); }
    }
    /* ===== FIN SURVEY POPUP ===== */


    /* =============================================================
       MOBILE BOTTOM TAB BAR
       ============================================================= */

    /* Oculto en desktop */
    .mob-tab-bar { display: none; }

    @media (max-width: 992px) {
      /* Ocultar toda la barra glass del top */
      .glass-nav-container { display: none !important; }

      /* Espacio en el fondo del contenido para no tapar con la barra */
      body { padding-bottom: 72px; }

      /* ── Tab bar base ── */
      .mob-tab-bar {
        display: flex;
        align-items: center;
        justify-content: space-around;
        position: fixed;
        bottom: 0; left: 0; right: 0;
        z-index: 1200;
        height: 64px;
        padding: 0 6px;
        padding-bottom: env(safe-area-inset-bottom, 0px); /* iPhone notch */
        background: rgb(83 83 84 / 46%);
        backdrop-filter: blur(28px);
        -webkit-backdrop-filter: blur(28px);
        border-top: 1px solid rgba(255,255,255,0.1);
        box-shadow: 0 -8px 32px rgba(0,0,0,0.5);
      }

      /* ── Individual tab ── */
      .mob-tab {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        flex: 1;
        height: 100%;
        background: none;
        border: none;
        cursor: pointer;
        text-decoration: none;
        color: rgba(255,255,255,0.38);
        padding: 8px 2px 4px;
        border-radius: 12px;
        transition: color 0.2s, background 0.2s;
        -webkit-tap-highlight-color: transparent;
        position: relative;
      }
      .mob-tab:active {
        background: rgba(195,157,38,0.1);
      }

      /* ── Icon ── */
      .mob-tab-icon {
        width: 24px; height: 24px;
        display: flex; align-items: center; justify-content: center;
        flex-shrink: 0;
        transition: transform 0.2s;
      }
      .mob-tab-icon svg {
        width: 22px; height: 22px;
        transition: stroke 0.2s;
      }

      /* ── Label ── */
      .mob-tab-label {
        font-size: 0.58rem;
        font-weight: 600;
        letter-spacing: 0.04em;
        line-height: 1;
        transition: color 0.2s;
      }

      /* ── Active state ── */
      .mob-tab--active,
      .mob-tab.is-active {
        color: #c39d26;
      }
      .mob-tab--active .mob-tab-icon::after,
      .mob-tab.is-active .mob-tab-icon::after {
        content: '';
        position: absolute;
        top: 6px;
        left: 50%;
        transform: translateX(-50%);
        width: 28px; height: 3px;
        background: #c39d26;
        border-radius: 0 0 3px 3px;
      }
      .mob-tab--active .mob-tab-icon svg,
      .mob-tab.is-active .mob-tab-icon svg {
        stroke: #c39d26;
        filter: drop-shadow(0 0 6px rgba(195,157,38,0.5));
      }

      /* ── Sign In: accent especial ── */
      .mob-tab--signin {
        color: rgba(255,255,255,0.55);
      }
      .mob-tab--signin .mob-tab-icon {
        background: rgba(195,157,38,0.12);
        border: 1px solid rgba(195,157,38,0.28);
        border-radius: 10px;
        width: 30px; height: 30px;
        padding: 3px;
      }
      .mob-tab--signin .mob-tab-icon svg { width: 18px; height: 18px; }
      .mob-tab--signin:active {
        background: rgba(195,157,38,0.15);
      }
    }

    /* ── Extra small (≤380px): reduce icon size ── */
    @media (max-width: 380px) {
      .mob-tab-icon svg { width: 19px; height: 19px; }
      .mob-tab-label  { font-size: 0.5rem; }
      .mob-tab-bar    { height: 58px; }
      body { padding-bottom: 60px; }
    }

    /* =============================================================
       MOBILE RESPONSIVE — sólo activo bajo 992px
       Desktop (>992px) no recibe ningún cambio
       ============================================================= */

    /* ── Evitar overflow horizontal global ── */
    @media (max-width: 992px) {
      body, .wrapper { overflow-x: hidden; }

      /* Logo fijo: arriba izquierda */
      .site-logo-fixed {
        top: 16px;
        left: 16px;
        z-index: 50;
      }
      .site-logo-fixed svg { width: 110px; height: 36px; }

      /* Language switcher: arriba derecha */
      .lang-switcher {
        top: 16px;
        right: 16px;
        left: auto;
        z-index: 50;
      }
      .lang-dropdown {
        top: 52px;
        right: 0;
        left: auto;
        min-width: 145px;
      }
    }

    @media (max-width: 600px) {
      .site-logo-fixed svg { width: 90px; height: 29px; }
      .lang-btn {
        padding: 5px 10px 5px 8px;
        font-size: 0.68rem;
        gap: 4px;
      }
      .lang-btn svg { width: 14px; height: 14px; }
    }

    @media (max-width: 380px) {
      .site-logo-fixed svg { width: 76px; height: 24px; }
      .lang-btn { padding: 4px 8px 4px 6px; font-size: 0.62rem; }
    }

    /* ── Countdown / Remaining Time ── */
    @media (max-width: 768px) {
      .banner-box .main .coundown .countdown__item {
        font-size: 18px !important;
        margin-right: 28px !important;
      }
      .banner-box .main .coundown .countdown__item::after {
        font-size: 10px !important;
        bottom: -18px !important;
      }
      .banner-box .main .coundown .countdown__item::before {
        right: -14px !important;
        top: 10px !important;
        height: 16px !important;
      }
      .banner-box .main .coundown p {
        font-size: 0.72rem !important;
        margin-bottom: 6px !important;
      }
    }

    @media (max-width: 480px) {
      .banner-box .main .coundown .countdown__item {
        font-size: 15px !important;
        margin-right: 20px !important;
      }
      .banner-box .main .coundown .countdown__item::after {
        font-size: 9px !important;
        bottom: -16px !important;
      }
      .banner-box .main .coundown .countdown__item::before {
        right: -10px !important;
        top: 8px !important;
        height: 14px !important;
      }
    }

    /* ── Banner: scale text & layout ── */
    @media (max-width: 768px) {
      .banner .heading { font-size: 2.4rem !important; line-height: 1.15 !important; }
      .banner .desc   { font-size: 0.95rem !important; }

      .banner-box { margin-top: 20px; }
      .banner-box .top { flex-wrap: wrap; gap: 8px; }

      /* Star field: reduce perspective cost on mobile */
      .star-field { display: none; }
    }

    @media (max-width: 480px) {
      .banner .heading { font-size: 1.9rem !important; }
      .banner .desc   { font-size: 0.88rem !important; }
    }

    /* ── BannerSwiper: card central grande + laterales asomados ── */
    @media (max-width: 768px) {

      /* Contenedor sin padding para que el swiper llegue a los bordes */
      .speciality .container { padding-left: 0 !important; padding-right: 0 !important; max-width: 100% !important; }

      /* Swiper ocupa todo el ancho con padding para que los laterales asomen */
      .bannerSwiper {
        width: 100% !important;
        padding: 20px 0 32px !important;
        overflow: visible !important;
      }

      /* Clip para que los cards que asoman no salgan de la pantalla */
      .speciality { overflow: hidden; }

      /* ── Card: override app.css 397px + 31px padding ── */
      .bannerSwiper .card-box {
        width: 100% !important;
        height: auto !important;
        padding: 18px 16px 14px !important;
        border-radius: 20px !important;
        box-sizing: border-box;
      }

      /* Header legible */
      .bannerSwiper .card-box .top {
        margin-bottom: 14px !important;
        display: flex !important;
        align-items: center !important;
      }
      .bannerSwiper .card-box .top .cb-card-icon {
        width: 38px !important; height: 38px !important;
        border-radius: 11px !important;
        margin-right: 10px !important;
        flex-shrink: 0 !important;
      }
      .bannerSwiper .card-box .top .cb-card-icon svg { width: 20px !important; height: 20px !important; }
      .bannerSwiper .card-box .top h6               { font-size: 0.7rem !important; line-height: 1.35 !important; }
      .bannerSwiper .card-box .top h6.cb-price       { font-size: 0.78rem !important; margin-top: 2px !important; }

      /* ── Imagen: override app.css height:349px ── */
      .bannerSwiper .card-box .content .image {
        height: 210px !important;
        border-radius: 13px !important;
        margin-bottom: 0 !important;
        overflow: hidden !important;
      }
      .bannerSwiper .card-box .content .image img,
      .bannerSwiper .cb-media-wrap img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
      }
      .bannerSwiper .cb-media-wrap video { height: 210px !important; }

      /* Keyword */
      .bannerSwiper .cb-keyword {
        font-size: 0.6rem !important;
        padding: 5px 14px !important;
        letter-spacing: 0.16em !important;
      }

      /* Play bar: botón completo legible */
      .bannerSwiper .cb-play-bar { padding: 14px 0 4px !important; }
      .bannerSwiper .cb-play-btn {
        font-size: 0.72rem !important;
        padding: 9px 18px 9px 13px !important;
        border-radius: 50px !important;
        width: auto !important;
        height: auto !important;
        margin: 0 auto !important;
        gap: 8px !important;
      }
      .bannerSwiper .cb-play-btn .cb-icon  { width: 26px !important; height: 26px !important; margin: 0 !important; }
      .bannerSwiper .cb-play-btn .cb-icon svg { width: 10px !important; height: 10px !important; }
      .bannerSwiper .cb-play-btn .cb-label { display: inline !important; }

      /* Card central: destacado con borde dorado */
      .bannerSwiper .swiper-slide-active .card-box {
        border-color: rgba(195,157,38,0.5) !important;
        box-shadow:
          0 24px 56px rgba(0,0,0,0.65),
          0 0 0 1px rgba(195,157,38,0.25) inset !important;
      }

      /* Cards laterales: visibles pero atenuados */
      .bannerSwiper .swiper-slide:not(.swiper-slide-active) .card-box {
        opacity: 0.5 !important;
        transform: scale(0.96) !important;
      }

      /* Flechas: ocultar, se desliza con el dedo */
      .swiper-button-next.s1,
      .swiper-button-prev.s1 { display: none !important; }
    }

    /* Pantallas muy pequeñas */
    @media (max-width: 380px) {
      .bannerSwiper .card-box { padding: 14px 13px 11px !important; }
      .bannerSwiper .card-box .content .image { height: 175px !important; }
      .bannerSwiper .cb-media-wrap video       { height: 175px !important; }
      .bannerSwiper .card-box .top .cb-card-icon { width: 33px !important; height: 33px !important; }
      .bannerSwiper .card-box .top h6 { font-size: 0.62rem !important; }
      .bannerSwiper .cb-play-btn { font-size: 0.65rem !important; padding: 8px 14px 8px 10px !important; }
    }

    /* ── Popups: padding base todas las overlay ── */
    @media (max-width: 480px) {
      .roadmap-overlay,
      .contact-overlay,
      .pricing-overlay,
      .followus-overlay,
      .nl-overlay,
      .survey-overlay { padding: 10px; }
    }

    /* ── Roadmap Popup ── */
    @media (max-width: 480px) {
      .rp-popup {
        padding: 26px 18px 22px;
        border-radius: 20px;
      }
      .rp-title { font-size: 1.05rem !important; }
      .rp-desc  { font-size: 0.72rem; }
      .rp-swiper-wrap { padding: 0 34px 8px; }
      .rp-nav { width: 28px; height: 28px; }
      .rp-nav svg { width: 9px; height: 9px; }
      .rp-tag { font-size: 0.55rem; }
    }

    /* ── Contact Popup ── */
    @media (max-width: 480px) {
      .contact-popup { border-radius: 20px; }
      .contact-left  { padding: 22px 18px 18px; }
      .contact-right { padding: 22px 18px 18px; }
      .contact-form-title { font-size: 0.92rem; }
      .cf-row { grid-template-columns: 1fr; }
      .cf-field label { font-size: 0.6rem; }
      .contact-info-item { gap: 10px; }
      .info-label { font-size: 0.58rem; }
      .info-value { font-size: 0.72rem; }
    }

    /* ── Pricing Popup ── */
    @media (max-width: 480px) {
      .pricing-popup {
        padding: 22px 12px 18px;
        border-radius: 20px;
      }
      .pricing-header h2 { font-size: 1.1rem !important; }
      .pricing-header p  { font-size: 0.7rem; }
      .plan-price { font-size: 1.6rem !important; }
      .plan-name  { font-size: 0.9rem; }
      .atom-features { gap: 8px; }
      .atom-feature-item { font-size: 0.7rem; }
      .pricing-cta-btn  { font-size: 0.78rem; padding: 10px 16px; }
      .pricing-atom     { gap: 12px; }
    }

    /* ── Follow Us Popup (sin mobile CSS previo) ── */
    @media (max-width: 480px) {
      .followus-popup {
        padding: 28px 16px 16px;
        border-radius: 22px;
      }
      .fu-card  { padding: 11px 12px; gap: 10px; }
      .fu-icon  { width: 34px; height: 34px; border-radius: 10px; }
      .fu-icon svg { width: 17px; height: 17px; }
      .fu-net-name  { font-size: 0.75rem; }
      .fu-handle    { font-size: 0.56rem; }
      .fu-count     { font-size: 0.95rem; min-width: 38px; }
      .fu-count-lbl { font-size: 0.54rem; }
      .fu-title     { font-size: 0.88rem; }
      .fu-subtitle  { font-size: 0.56rem; }
      .fu-refresh   { font-size: 0.55rem; padding: 4px 10px; }
      .fu-updated   { font-size: 0.55rem; }
    }

    /* ── Newsletter Popup ── */
    @media (max-width: 600px) {
      .nl-ticker-bar  { padding: 10px 14px; gap: 7px; }
      .nl-ticker-label { font-size: 0.55rem; }
      .nl-ticker-text  { font-size: 0.65rem; }
      .nl-date         { display: none; }
      .nl-featured     { padding: 18px 14px 0; gap: 18px; }
      .nl-headline     { font-size: 1.05rem; }
      .nl-summary      { font-size: 0.75rem; }
      .nl-meta-date,
      .nl-meta-tag     { font-size: 0.62rem; padding: 3px 10px; }
      .nl-divider      { padding: 16px 14px 0; }
      .nl-swiper-wrap  { padding: 14px 36px 0; }
      .nl-arrow        { width: 26px; height: 26px; }
      .nl-card-title   { font-size: 0.7rem; }
      .nl-card-body    { padding: 8px 10px 10px; }
      .nl-card-cat     { font-size: 0.52rem; }
      .nl-breaking-badge { font-size: 0.56rem; }
    }

    @media (max-width: 480px) {
      .nl-popup { border-radius: 20px; }
      .nl-headline { font-size: 0.95rem; }
      .nl-swiper-wrap { padding: 12px 30px 0; }
    }

    /* ── Survey Popup ── */
    @media (max-width: 480px) {
      .survey-title  { font-size: 1.2rem; }
      .survey-desc   { font-size: 0.72rem; }
      .sq-label      { font-size: 0.88rem; }
      .sq-opt span   { padding: 10px 12px; font-size: 0.8rem; }
      .sq-input      { padding: 12px 14px; font-size: 0.88rem; }
      .survey-btn-next { padding: 10px 22px; font-size: 0.76rem; }
      .survey-btn-back { padding: 10px 14px; font-size: 0.72rem; }
      .survey-thanks-title { font-size: 1.2rem; }
      .survey-thanks-msg   { font-size: 0.74rem; }
    }

    /* ── Lightbox ── */
    @media (max-width: 480px) {
      .about-lightbox img {
        max-width: 95vw;
        max-height: 75vh;
      }
    }

    /* ── Testimonials section ── */
    @media (max-width: 768px) {
      .box-testimonial .text { font-size: 1.1rem !important; }
    }
    @media (max-width: 480px) {
      .box-testimonial .text { font-size: 0.95rem !important; }
      .box-testimonial .info .name { font-size: 1rem !important; }
    }

    /* ── cb-media-wrap: mantiene aspecto en mobile ── */
    @media (max-width: 600px) {
      .cb-media-wrap { border-radius: 10px; }
      .cb-keyword     { font-size: 0.55rem; padding: 5px 14px; }
    }

    /* =============================================================
       FIN MOBILE RESPONSIVE
       ============================================================= */

    /* ── Speciality box: tamaño de iconos SVG ── */
    .speciality-box .icon svg {
      width: 42px;
      height: 42px;
      flex-shrink: 0;
    }

    /* ── Brands swiper: imágenes compactas ── */
    .brands-swiper .swiper-slide {
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .brands-swiper .swiper-slide a {
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .brands-swiper .swiper-slide img {
      max-height: 36px;
      max-width: 120px;
      width: auto;
      height: auto;
      object-fit: contain;
    }
