[data-vertical-spacing*="bottom"] {
  padding-bottom: 0 !important;
}

[data-vertical-spacing*="top"] {
  padding-top: 0 !important;
}

section {
  margin-bottom: 0 !important;
}

section[id] {
  scroll-margin-top: 110px;
}

/* =========================================
SECTION: HERO
========================================= */

.rr-hero {
  position: relative;
  min-height: calc(100svh - 90px);
  display: flex;
  align-items: center;
  background: url("/wp-content/uploads/bg-hero-main.webp") center center / cover
    no-repeat;
  overflow: hidden;
  isolation: isolate;
}

/* Big cinematic blue glow */
.rr-hero::before {
  content: "";
  position: absolute;
  top: -140px;
  left: -120px;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(47, 107, 255, 0.28) 0%,
    rgba(47, 107, 255, 0.12) 34%,
    transparent 70%
  );
  filter: blur(85px);
  opacity: 0.9;
  z-index: 0;
  pointer-events: none;
  animation: rrHeroGlow 10s ease-in-out infinite alternate;
}

/* Luxury diagonal light sweep */
.rr-hero::after {
  content: "";
  position: absolute;
  inset: -20%;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    120deg,
    transparent 34%,
    rgba(255, 255, 255, 0.045) 48%,
    rgba(255, 255, 255, 0.018) 53%,
    transparent 66%
  );
  transform: translateX(-10%);
  animation: rrHeroLightSweep 12s ease-in-out infinite;
}

.rr-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(
      circle at 18% 48%,
      rgba(47, 107, 255, 0.24) 0%,
      transparent 30%
    ),
    radial-gradient(
      circle at 82% 22%,
      rgba(91, 140, 255, 0.1) 0%,
      transparent 28%
    ),
    linear-gradient(
      90deg,
      rgba(5, 10, 18, 0.94) 10%,
      rgba(8, 13, 21, 0.84) 30%,
      rgba(8, 13, 21, 0.62) 56%,
      rgba(8, 13, 21, 0.26) 100%
    );
}

.rr-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 3;
}

.rr-hero__content {
  max-width: 650px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative;
}

/* Premium accent line */
.rr-hero__content::before {
  content: "";
  display: block;
  width: 92px;
  height: 2px;
  margin-bottom: 24px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(47, 107, 255, 0.98),
    rgba(255, 255, 255, 0.14)
  );
  box-shadow: 0 0 20px rgba(47, 107, 255, 0.34);
}

.rr-hero__title {
  font-size: 56px;
  line-height: 1.2;
  color: #fff;
  margin-bottom: 20px;
}

.rr-hero__text {
  font-size: 18px;
  color: #a8b3c7;
  margin-bottom: 30px;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.18);
}

.rr-hero__buttons {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

/* =========================================
LUXURY BUTTON SYSTEM
========================================= */

.rr-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 32px;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.5px;
  text-decoration: none;
  border-radius: 12px;
  overflow: hidden;
  z-index: 1;
  transition: all 0.4s ease;
}

.rr-btn-primary {
  color: #fff;
  background: linear-gradient(135deg, #2f6bff, #5b8cff);
  box-shadow:
    0 10px 30px rgba(47, 107, 255, 0.35),
    inset 0 0 0 1px rgba(255, 255, 255, 0.15);
}

.rr-btn-primary::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 120%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255, 255, 255, 0.4),
    transparent
  );
  transition: 0.6s;
}

.rr-btn-primary:hover {
  transform: translateY(-4px) scale(1.02);
  color: #ffffff;
  box-shadow:
    0 20px 45px rgba(47, 107, 255, 0.5),
    inset 0 0 0 1px rgba(255, 255, 255, 0.25);
}

.rr-btn-primary:hover::before {
  left: 120%;
}

.rr-btn-outline {
  color: #fff;
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.05),
    0 8px 25px rgba(0, 0, 0, 0.3);
}

.rr-btn-outline::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 12px;
  padding: 1px;
  background: linear-gradient(
    135deg,
    rgba(47, 107, 255, 0.6),
    rgba(255, 255, 255, 0.1)
  );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.rr-btn-outline:hover {
  transform: translateY(-4px);
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
  box-shadow:
    0 15px 40px rgba(0, 0, 0, 0.5),
    0 0 20px rgba(47, 107, 255, 0.2);
}

/* =========================================
SCROLL REVEAL STATES
========================================= */

.sr-item {
  opacity: 0;
  transform: translateY(60px);
  transition: all 0.8s ease;
}

.sr-item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.sr-left {
  opacity: 0;
  transform: translateX(-80px);
  transition: all 0.9s ease;
}

.sr-left.is-visible {
  opacity: 1;
  transform: translateX(0);
}

/* =========================================
SECTION: Trust / Benefits
========================================= */

.rr-trust {
  position: relative !important;
  padding: 110px 0 !important;
  background:
    radial-gradient(
      circle at 10% 14%,
      rgba(47, 107, 255, 0.15),
      transparent 24%
    ),
    radial-gradient(
      circle at 88% 85%,
      rgba(47, 107, 255, 0.1),
      transparent 22%
    ),
    linear-gradient(180deg, #0a0e14 0%, #0f1620 52%, #0b1017 100%) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.rr-trust::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      120deg,
      transparent 0%,
      rgba(255, 255, 255, 0.018) 48%,
      transparent 100%
    ),
    radial-gradient(
      circle at 50% 0%,
      rgba(255, 255, 255, 0.04),
      transparent 42%
    ) !important;
  opacity: 0.8 !important;
  z-index: 0 !important;
}

.rr-trust .rr-container {
  max-width: 1280px !important;
  position: relative !important;
  z-index: 1 !important;
}

.rr-trust__top {
  max-width: 820px !important;
  margin: 0 auto 54px !important;
  text-align: center !important;
}

.rr-section-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 18px !important;
  padding: 8px 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: #8fb5ff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

.rr-section-title {
  margin: 0 0 18px !important;
  color: #ffffff !important;
  font-size: clamp(34px, 5vw, 56px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
}

.rr-section-text {
  margin: 0 auto !important;
  max-width: 760px !important;
  color: #a8b3c7 !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
}

.rr-trust__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-bottom: 34px !important;
}

.rr-trust-card {
  position: relative !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.05) 0%,
    rgba(255, 255, 255, 0.02) 100%
  ) !important;
  box-shadow:
    0 18px 50px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
  transition:
    transform 0.45s ease,
    border-color 0.45s ease,
    box-shadow 0.45s ease !important;
}

.rr-trust-card:hover {
  transform: translateY(-10px) !important;
  border-color: rgba(47, 107, 255, 0.35) !important;
  box-shadow:
    0 25px 60px rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(47, 107, 255, 0.14),
    0 0 34px rgba(47, 107, 255, 0.08) !important;
}

.rr-trust-card__media {
  position: relative !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
}

.rr-trust-card__media::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    180deg,
    rgba(8, 12, 18, 0.02) 0%,
    rgba(8, 12, 18, 0.28) 100%
  ) !important;
  pointer-events: none !important;
}

.rr-trust-card__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: scale(1) !important;
  transition: transform 0.8s ease !important;
}

.rr-trust-card:hover .rr-trust-card__media img {
  transform: scale(1.15) !important;
}

.rr-trust-card__body {
  position: relative !important;
  padding: 24px 24px 26px !important;
}

.rr-trust-card__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  margin-bottom: 18px !important;
  border-radius: 14px !important;
  background: linear-gradient(
    135deg,
    rgba(47, 107, 255, 0.22),
    rgba(255, 255, 255, 0.05)
  ) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
}
.rr-trust-card__icon,
.rr-service-card__number {
  box-shadow:
    0 8px 20px rgba(47, 107, 255, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

.rr-trust-card__title {
  margin: 0 0 12px !important;
  color: #ffffff !important;
  font-size: 23px !important;
  line-height: 1.25 !important;
}

.rr-trust-card__text {
  margin: 0 !important;
  color: #a8b3c7 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

.rr-trust__bottom {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
  padding: 22px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.045) 0%,
    rgba(255, 255, 255, 0.025) 100%
  ) !important;
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 0 30px rgba(47, 107, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
}

.rr-trust__stat {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 110px !important;
  padding: 12px 18px !important;
  border-radius: 18px !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.04) 0%,
    rgba(255, 255, 255, 0.015) 100%
  ) !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.rr-trust__stat strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #ffffff !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.rr-trust__stat span {
  display: block !important;
  color: #a8b3c7 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.rr-trust__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
  min-height: 110px !important;
}

/* =========================================
SECTION: About Preview
========================================= */

.rr-about {
  position: relative !important;
  padding: 120px 0 !important;
  background:
    radial-gradient(
      circle at 84% 18%,
      rgba(47, 107, 255, 0.1),
      transparent 24%
    ),
    radial-gradient(
      circle at 12% 84%,
      rgba(47, 107, 255, 0.08),
      transparent 22%
    ),
    linear-gradient(180deg, #0b1017 0%, #0d131b 48%, #0a0f15 100%) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.rr-about::before {
  content: "" !important;
  position: absolute !important;
  top: -120px !important;
  right: -120px !important;
  width: 420px !important;
  height: 420px !important;
  border-radius: 50% !important;
  background: radial-gradient(
    circle,
    rgba(47, 107, 255, 0.14) 0%,
    transparent 70%
  ) !important;
  filter: blur(80px) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.rr-about::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255, 255, 255, 0.015) 50%,
    transparent 100%
  ) !important;
  z-index: 0 !important;
}

.rr-about .rr-container {
  position: relative !important;
  z-index: 1 !important;
}

.rr-about__grid {
  display: grid !important;
  grid-template-columns: 1.1fr 1fr !important;
  gap: 60px !important;
  align-items: center !important;
}

/* IMAGE */

.rr-about__media {
  position: relative !important;
}

.rr-about__image {
  border-radius: 24px !important;
  overflow: hidden !important;
  box-shadow:
    0 30px 70px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(255, 255, 255, 0.05) !important;
}

.rr-about__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: scale(1) !important;
  transition: transform 0.8s ease !important;
}

.rr-about__image:hover img {
  transform: scale(1.15) !important;
}

/* FLOATING BADGE */

.rr-about__badge {
  position: absolute !important;
  bottom: 30px !important;
  left: -30px !important;
  padding: 20px 24px !important;
  border-radius: 18px !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.08) 0%,
    rgba(255, 255, 255, 0.04) 100%
  ) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.4),
    0 0 30px rgba(47, 107, 255, 0.08) !important;
}

.rr-about__badge strong {
  display: block !important;
  font-size: 26px !important;
  color: #fff !important;
}

.rr-about__badge span {
  font-size: 13px !important;
  color: #a8b3c7 !important;
}

/* TEXT */

.rr-about__text {
  color: #a8b3c7 !important;
  font-size: 17px !important;
  line-height: 1.8 !important;
  margin-bottom: 25px !important;
}

.rr-about__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 30px !important;
}

.rr-about__list li {
  margin-bottom: 12px !important;
  color: #fff !important;
  font-size: 15px !important;
}

.rr-about__actions {
  display: flex !important;
  gap: 15px !important;
}

/* =========================================
KEYFRAMES
========================================= */

@keyframes rrHeroGlow {
  0% {
    transform: translate(0, 0) scale(1);
    opacity: 0.72;
  }
  100% {
    transform: translate(38px, 26px) scale(1.08);
    opacity: 0.92;
  }
}

@keyframes rrHeroLightSweep {
  0% {
    transform: translateX(-10%) translateY(0);
    opacity: 0.32;
  }
  50% {
    transform: translateX(3%) translateY(-1%);
    opacity: 0.62;
  }
  100% {
    transform: translateX(10%) translateY(0);
    opacity: 0.32;
  }
}

/* =========================================
Responsive
========================================= */

@media (max-width: 1199px) {
  .rr-trust__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .rr-trust__bottom {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 992px) {
  .rr-about__grid {
    grid-template-columns: 1fr !important;
  }

  .rr-about__badge {
    left: 10px !important;
    bottom: 10px !important;
  }
}

@media (max-width: 768px) {
  .rr-hero {
    min-height: calc(100svh - 90px);
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .rr-hero__buttons {
    flex-wrap: nowrap;
  }

  .rr-btn {
    flex: 1;
    font-size: 14px;
    padding: 12px;
  }

  .rr-hero__title {
    font-size: 34px;
  }

  .rr-hero::before {
    width: 340px;
    height: 340px;
    top: -80px;
    left: -80px;
    filter: blur(60px);
  }

  .rr-hero::after {
    inset: -35%;
  }

  .rr-hero__overlay {
    background:
      radial-gradient(
        circle at 22% 32%,
        rgba(47, 107, 255, 0.2) 0%,
        transparent 34%
      ),
      linear-gradient(
        180deg,
        rgba(6, 10, 18, 0.78) 0%,
        rgba(6, 10, 18, 0.72) 28%,
        rgba(6, 10, 18, 0.68) 100%
      );
  }

  .rr-hero__content::before {
    width: 72px;
    margin-bottom: 18px;
  }

  .rr-trust {
    padding: 80px 0 !important;
  }

  .rr-trust__top {
    margin-bottom: 34px !important;
  }

  .rr-section-text {
    font-size: 16px !important;
    line-height: 1.7 !important;
  }

  .rr-trust__grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .rr-trust-card__title {
    font-size: 21px !important;
  }

  .rr-trust__bottom {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
  }

  .rr-trust__stat,
  .rr-trust__actions {
    min-height: auto !important;
  }

  .rr-trust__actions {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
  }

  .rr-trust__actions .rr-btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .rr-about {
    padding: 80px 0 !important;
  }

  .rr-about__actions {
    flex-wrap: nowrap !important;
  }

  .rr-about__actions .rr-btn {
    flex: 1 !important;
  }
}

/* =========================================
SECTION: Services Preview
========================================= */

.rr-services {
  position: relative !important;
  padding: 120px 0 !important;
  background:
    radial-gradient(
      circle at 15% 20%,
      rgba(47, 107, 255, 0.1),
      transparent 24%
    ),
    radial-gradient(
      circle at 85% 80%,
      rgba(47, 107, 255, 0.08),
      transparent 22%
    ),
    linear-gradient(180deg, #0a0f15 0%, #0d131b 48%, #0a1017 100%) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.rr-services::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      120deg,
      transparent 0%,
      rgba(255, 255, 255, 0.015) 50%,
      transparent 100%
    ),
    radial-gradient(
      circle at 50% 0%,
      rgba(255, 255, 255, 0.03),
      transparent 40%
    ) !important;
  z-index: 0 !important;
}

.rr-services .rr-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1280px !important;
}

.rr-services__top {
  max-width: 860px !important;
  margin: 0 auto 54px !important;
  text-align: center !important;
}

.rr-services__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 26px !important;
  margin-bottom: 40px !important;
}

.rr-service-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  min-height: 320px !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.045) 0%,
    rgba(255, 255, 255, 0.02) 100%
  ) !important;
  box-shadow:
    0 22px 55px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  backdrop-filter: blur(10px) !important;
  transition:
    transform 0.45s ease,
    border-color 0.45s ease,
    box-shadow 0.45s ease !important;
}

.rr-service-card:hover {
  transform: translateY(-10px) !important;
  border-color: rgba(47, 107, 255, 0.3) !important;
  box-shadow:
    0 28px 70px rgba(0, 0, 0, 0.38),
    0 0 0 1px rgba(47, 107, 255, 0.12),
    0 0 30px rgba(47, 107, 255, 0.06) !important;
}

.rr-service-card__media {
  position: relative !important;
  overflow: hidden !important;
}

.rr-service-card__media::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    180deg,
    rgba(8, 12, 18, 0.03) 0%,
    rgba(8, 12, 18, 0.24) 100%
  ) !important;
  pointer-events: none !important;
}

.rr-service-card__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: scale(1) !important;
  transition: transform 0.85s ease !important;
}

.rr-service-card:hover .rr-service-card__media img {
  transform: scale(1.15) !important;
}

.rr-service-card__content {
  position: relative !important;
  padding: 30px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.rr-service-card__number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 54px !important;
  height: 54px !important;
  margin-bottom: 18px !important;
  border-radius: 16px !important;
  background: linear-gradient(
    135deg,
    rgba(47, 107, 255, 0.22),
    rgba(255, 255, 255, 0.05)
  ) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 1px !important;
}

.rr-service-card__title {
  margin: 0 0 14px !important;
  color: #ffffff !important;
  font-size: 28px !important;
  line-height: 1.15 !important;
}

.rr-service-card__text {
  margin: 0 0 18px !important;
  color: #a8b3c7 !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

.rr-service-card__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #8fb5ff !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
  transition: all 0.35s ease !important;
}

.rr-service-card__link::after {
  content: "→" !important;
  transition: transform 0.35s ease !important;
}

.rr-service-card__link:hover {
  color: #ffffff !important;
}

.rr-service-card__link:hover::after {
  transform: translateX(5px) !important;
}

.rr-services__bottom {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: nowrap !important;
}

/* =========================================
Responsive
========================================= */

@media (max-width: 1199px) {
  .rr-service-card__title {
    font-size: 24px !important;
  }
}

@media (max-width: 991px) {
  .rr-services__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  .rr-services {
    padding: 80px 0 !important;
  }

  .rr-services__top {
    margin-bottom: 34px !important;
  }

  .rr-service-card {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  .rr-service-card__media {
    aspect-ratio: 4 / 3 !important;
  }

  .rr-service-card__title {
    font-size: 22px !important;
  }

  .rr-services__bottom {
    gap: 12px !important;
    flex-wrap: nowrap !important;
  }

  .rr-services__bottom .rr-btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* =========================================
CARD NUMBER HOVER GLOW
========================================= */

/* Trust cards number */
.rr-trust-card__icon {
  transition:
    transform 0.4s ease,
    background 0.4s ease,
    border-color 0.4s ease,
    box-shadow 0.4s ease,
    color 0.4s ease !important;
}

.rr-trust-card:hover .rr-trust-card__icon {
  transform: translateY(-2px) scale(1.04) !important;

  background: linear-gradient(135deg, #2f6bff, #5b8cff) !important;
  border-color: rgba(91, 140, 255, 0.42) !important;
  box-shadow:
    0 0 0 1px rgba(91, 140, 255, 0.18),
    0 10px 24px rgba(47, 107, 255, 0.22),
    0 0 26px rgba(47, 107, 255, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

/* Services cards number */
.rr-service-card__number {
  transition:
    transform 0.4s ease,
    background 0.4s ease,
    border-color 0.4s ease,
    box-shadow 0.4s ease,
    color 0.4s ease !important;
}

.rr-service-card:hover .rr-service-card__number {
  transform: translateY(-2px) scale(1.04) !important;
  background: linear-gradient(135deg, #2f6bff, #5b8cff) !important;
  border-color: rgba(91, 140, 255, 0.42) !important;
  box-shadow:
    0 0 0 1px rgba(91, 140, 255, 0.18),
    0 10px 24px rgba(47, 107, 255, 0.22),
    0 0 26px rgba(47, 107, 255, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

/* =========================================
SECTION: Emergency CTA Banner
========================================= */

.rr-emergency-cta {
  position: relative !important;
  padding: 150px 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: url("/wp-content/uploads/emerg-bg.webp") center center / cover
    no-repeat !important;
}

.rr-emergency-cta::before {
  content: "" !important;
  position: absolute !important;
  top: -120px !important;
  left: -100px !important;
  width: 460px !important;
  height: 460px !important;
  border-radius: 50% !important;
  background: radial-gradient(
    circle,
    rgba(47, 107, 255, 0.22) 0%,
    transparent 72%
  ) !important;
  filter: blur(90px) !important;
  opacity: 0.9 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.rr-emergency-cta::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 1 !important;
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255, 255, 255, 0.02) 48%,
    transparent 100%
  ) !important;
}

.rr-emergency-cta__overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    radial-gradient(
      circle at 20% 50%,
      rgba(47, 107, 255, 0.18) 0%,
      transparent 30%
    ),
    linear-gradient(
      90deg,
      rgba(5, 10, 18, 0.92) 0%,
      rgba(8, 13, 21, 0.82) 38%,
      rgba(8, 13, 21, 0.52) 68%,
      rgba(8, 13, 21, 0.34) 100%
    ) !important;
}

.rr-emergency-cta .rr-container {
  position: relative !important;
  z-index: 3 !important;
  display: flex !important;
  justify-content: center !important;
}

.rr-emergency-cta__box {
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 54px 50px !important;
  border-radius: 34px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.09) 0%,
    rgba(255, 255, 255, 0.04) 100%
  ) !important;
  box-shadow:
    0 35px 90px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 0 40px rgba(47, 107, 255, 0.08) !important;
  backdrop-filter: blur(16px) !important;
  text-align: center !important;
}

.rr-emergency-cta__box::before {
  content: "" !important;
  display: block !important;
  width: 92px !important;
  height: 2px !important;
  margin: 0 auto 24px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    90deg,
    rgba(47, 107, 255, 0.98),
    rgba(255, 255, 255, 0.12)
  ) !important;
  box-shadow: 0 0 20px rgba(47, 107, 255, 0.34) !important;
}

.rr-emergency-cta .rr-section-title {
  max-width: 760px !important;
  margin: 0 auto 20px !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.04em !important;
}

.rr-emergency-cta__text {
  max-width: 760px !important;
  margin: 0 auto 30px !important;
  color: #aeb8cb !important;
  font-size: 18px !important;
  line-height: 1.8 !important;
}

.rr-emergency-cta__features {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 0 30px !important;
}

.rr-emergency-cta__feature {
  padding: 20px 18px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.045) 0%,
    rgba(255, 255, 255, 0.02) 100%
  ) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 16px 40px rgba(0, 0, 0, 0.16) !important;
}

.rr-emergency-cta__feature strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #ffffff !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.rr-emergency-cta__feature span {
  display: block !important;
  color: #a8b3c7 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.rr-emergency-cta__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 15px !important;
  flex-wrap: nowrap !important;
}

/* =========================================
Responsive
========================================= */

@media (max-width: 991px) {
  .rr-emergency-cta {
    padding: 120px 0 !important;
  }

  .rr-emergency-cta__box {
    padding: 42px 30px !important;
  }

  .rr-emergency-cta__features {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 767px) {
  .rr-emergency-cta {
    padding: 90px 0 !important;
  }

  .rr-emergency-cta__box {
    padding: 30px 22px !important;
    border-radius: 26px !important;
  }

  .rr-emergency-cta__box::before {
    width: 72px !important;
    margin-bottom: 18px !important;
  }

  .rr-emergency-cta .rr-section-title {
    margin-bottom: 16px !important;
    font-size: 34px !important;
    line-height: 1.08 !important;
  }

  .rr-emergency-cta__text {
    margin-bottom: 22px !important;
    font-size: 16px !important;
    line-height: 1.75 !important;
  }

  .rr-emergency-cta__actions {
    gap: 12px !important;
    flex-wrap: nowrap !important;
  }

  .rr-emergency-cta__actions .rr-btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* =========================================
SECTION: Reviews / Testimonials
========================================= */

.rr-reviews {
  position: relative !important;
  padding: 120px 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(
      circle at 14% 20%,
      rgba(47, 107, 255, 0.12),
      transparent 24%
    ),
    radial-gradient(
      circle at 84% 82%,
      rgba(47, 107, 255, 0.08),
      transparent 22%
    ),
    linear-gradient(180deg, #0a0f15 0%, #0d131b 48%, #0a1017 100%) !important;
}

.rr-reviews::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      120deg,
      transparent 0%,
      rgba(255, 255, 255, 0.015) 50%,
      transparent 100%
    ),
    radial-gradient(
      circle at 50% 0%,
      rgba(255, 255, 255, 0.03),
      transparent 40%
    ) !important;
}

.rr-reviews .rr-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1280px !important;
}

.rr-reviews__top {
  max-width: 840px !important;
  margin: 0 auto 56px !important;
  text-align: center !important;
}

.rr-reviews__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-bottom: 34px !important;
}

.rr-review-card {
  position: relative !important;
  min-height: 100% !important;
  padding: 30px 26px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.05) 0%,
    rgba(255, 255, 255, 0.025) 100%
  ) !important;
  box-shadow:
    0 22px 55px rgba(0, 0, 0, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  backdrop-filter: blur(10px) !important;
  transition:
    transform 0.45s ease,
    border-color 0.45s ease,
    box-shadow 0.45s ease !important;
}

.rr-review-card:hover {
  transform: translateY(-10px) !important;
  border-color: rgba(47, 107, 255, 0.28) !important;
  box-shadow:
    0 30px 70px rgba(0, 0, 0, 0.32),
    0 0 0 1px rgba(47, 107, 255, 0.1),
    0 0 30px rgba(47, 107, 255, 0.07) !important;
}

.rr-review-card:hover .rr-review-card__avatar {
  background: linear-gradient(135deg, #2f6bff, #5b8cff) !important;
  box-shadow:
    0 10px 30px rgba(47, 107, 255, 0.35),
    inset 0 0 0 1px rgba(255, 255, 255, 0.15) !important;
}

.rr-review-card__top {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-bottom: 20px !important;
}

.rr-review-card__avatar {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 58px !important;
  height: 58px !important;
  flex: 0 0 58px !important;
  border-radius: 18px !important;
  background: linear-gradient(
    135deg,
    rgba(47, 107, 255, 0.34),
    rgba(255, 255, 255, 0.06)
  ) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  box-shadow:
    0 10px 24px rgba(47, 107, 255, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

.rr-review-card__name {
  margin: 0 0 4px !important;
  color: #ffffff !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
}

.rr-review-card__role {
  display: block !important;
  color: #8fa0bd !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.rr-review-card__stars {
  display: flex !important;
  gap: 6px !important;
  margin-bottom: 18px !important;
}

.rr-review-card__stars span {
  color: #8fb5ff !important;
  font-size: 18px !important;
  line-height: 1 !important;
  text-shadow: 0 0 12px rgba(47, 107, 255, 0.18) !important;
}

.rr-review-card__text {
  margin: 0 !important;
  color: #a8b3c7 !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
}

.rr-reviews__bottom {
  display: grid !important;
  grid-template-columns: 1.3fr auto !important;
  gap: 18px !important;
  align-items: stretch !important;
  padding: 22px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.045) 0%,
    rgba(255, 255, 255, 0.025) 100%
  ) !important;
  box-shadow:
    0 18px 50px rgba(0, 0, 0, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 0 30px rgba(47, 107, 255, 0.05) !important;
  backdrop-filter: blur(10px) !important;
}

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

.rr-reviews__stat {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 104px !important;
  padding: 12px 18px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.04) 0%,
    rgba(255, 255, 255, 0.018) 100%
  ) !important;
}

.rr-reviews__stat strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #ffffff !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.rr-reviews__stat span {
  display: block !important;
  color: #a8b3c7 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.rr-reviews__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
  min-height: 104px !important;
}

/* =========================================
Responsive
========================================= */

@media (max-width: 1199px) {
  .rr-reviews__grid {
    grid-template-columns: 1fr !important;
  }

  .rr-reviews__bottom {
    grid-template-columns: 1fr !important;
  }

  .rr-reviews__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .rr-reviews {
    padding: 80px 0 !important;
  }

  .rr-reviews__top {
    margin-bottom: 34px !important;
  }

  .rr-review-card {
    padding: 24px 20px !important;
    border-radius: 24px !important;
  }

  .rr-review-card__name {
    font-size: 18px !important;
  }

  .rr-review-card__text {
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  .rr-reviews__bottom {
    padding: 16px !important;
  }

  .rr-reviews__stats {
    grid-template-columns: 1fr !important;
  }

  .rr-reviews__stat,
  .rr-reviews__actions {
    min-height: auto !important;
  }

  .rr-reviews__actions {
    gap: 12px !important;
    flex-wrap: nowrap !important;
  }

  .rr-reviews__actions .rr-btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* =========================================
SECTION: FAQ
========================================= */

.rr-faq {
  position: relative !important;
  padding: 120px 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(
      circle at 14% 18%,
      rgba(47, 107, 255, 0.12),
      transparent 24%
    ),
    radial-gradient(
      circle at 86% 82%,
      rgba(47, 107, 255, 0.08),
      transparent 22%
    ),
    linear-gradient(180deg, #0a0f15 0%, #0d131b 48%, #0a1017 100%) !important;
}

.rr-faq::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      120deg,
      transparent 0%,
      rgba(255, 255, 255, 0.014) 50%,
      transparent 100%
    ),
    radial-gradient(
      circle at 50% 0%,
      rgba(255, 255, 255, 0.03),
      transparent 40%
    ) !important;
}

.rr-faq .rr-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1280px !important;
}

.rr-faq__grid {
  display: grid !important;
  grid-template-columns: 0.9fr 1.1fr !important;
  gap: 40px !important;
  align-items: start !important;
}

.rr-faq__intro {
  position: sticky !important;
  top: 120px !important;
}

.rr-faq__text {
  margin: 0 0 28px !important;
  color: #a8b3c7 !important;
  font-size: 17px !important;
  line-height: 1.85 !important;
}

.rr-faq__stats {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-bottom: 28px !important;
}

.rr-faq__stat {
  padding: 18px 18px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.05) 0%,
    rgba(255, 255, 255, 0.02) 100%
  ) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 16px 40px rgba(0, 0, 0, 0.16) !important;
}

.rr-faq__stat strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #ffffff !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.rr-faq__stat span {
  display: block !important;
  color: #a8b3c7 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.rr-faq__actions {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
}

/* Accordion list */

.rr-faq__list {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

.tp-faq__item {
  border-radius: 26px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.05) 0%,
    rgba(255, 255, 255, 0.025) 100%
  ) !important;
  box-shadow:
    0 22px 55px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  overflow: hidden !important;
  backdrop-filter: blur(10px) !important;
  transition:
    transform 0.4s ease !important,
    border-color 0.4s ease !important,
    box-shadow 0.4s ease !important;
}

.tp-faq__item:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(47, 107, 255, 0.22) !important;
  box-shadow:
    0 28px 65px rgba(0, 0, 0, 0.28),
    0 0 0 1px rgba(47, 107, 255, 0.08),
    0 0 28px rgba(47, 107, 255, 0.06) !important;
}

.tp-faq__question {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 26px 28px !important;
  border: none !important;
  background: transparent !important;
  color: #ffffff !important;
  font-size: 22px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  text-align: left !important;
  cursor: pointer !important;
}

.rr-faq__icon {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px !important;
  border-radius: 14px !important;
  background: linear-gradient(
    135deg,
    rgba(47, 107, 255, 0.2),
    rgba(255, 255, 255, 0.04)
  ) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  box-shadow:
    0 10px 24px rgba(47, 107, 255, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  transition:
    transform 0.35s ease !important,
    background 0.35s ease !important,
    box-shadow 0.35s ease !important;
}

.rr-faq__icon::before,
.rr-faq__icon::after {
  content: "" !important;
  position: absolute !important;
  background: #ffffff !important;
  border-radius: 999px !important;
  transition:
    transform 0.35s ease !important,
    opacity 0.35s ease !important;
}

.rr-faq__icon::before {
  width: 14px !important;
  height: 2px !important;
}

.rr-faq__icon::after {
  width: 2px !important;
  height: 14px !important;
}

.tp-faq__item.is-open .rr-faq__icon {
  background: linear-gradient(
    135deg,
    rgba(47, 107, 255, 0.42),
    rgba(91, 140, 255, 0.16)
  ) !important;
  box-shadow:
    0 10px 24px rgba(47, 107, 255, 0.2),
    0 0 24px rgba(47, 107, 255, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.tp-faq__item.is-open .rr-faq__icon::after {
  opacity: 0 !important;
  transform: scaleY(0.4) !important;
}

/* =========================================
Responsive
========================================= */
.tp-faq__answer {
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  transition:
    max-height 0.45s ease,
    opacity 0.3s ease !important;
}

.tp-faq__item.is-open .tp-faq__answer {
  max-height: 400px !important;
  opacity: 1 !important;
}

.tp-faq__answer p {
  margin: 0 !important;
  padding: 0 28px 26px !important;
  color: #a8b3c7 !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
}

@media (max-width: 991px) {
  .rr-faq__grid {
    grid-template-columns: 1fr !important;
  }

  .rr-faq__intro {
    position: relative !important;
    top: auto !important;
  }
}

@media (max-width: 767px) {
  .rr-faq {
    padding: 80px 0 !important;
  }

  .rr-faq__grid {
    gap: 28px !important;
  }

  .rr-faq__text {
    font-size: 16px !important;
    line-height: 1.75 !important;
    margin-bottom: 22px !important;
  }

  .rr-faq__stats {
    grid-template-columns: 1fr !important;
    margin-bottom: 22px !important;
  }

  .rr-faq__actions {
    gap: 12px !important;
    flex-wrap: nowrap !important;
  }

  .rr-faq__actions .rr-btn {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .tp-faq__question {
    padding: 22px 20px !important;
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  .tp-faq__answer p {
    padding: 0 20px 22px !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  .rr-faq__icon {
    width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px !important;
    border-radius: 12px !important;
  }
}

/* =========================================
SECTION: Footer
========================================= */

.rr-footer {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(
      circle at 12% 18%,
      rgba(47, 107, 255, 0.1),
      transparent 24%
    ),
    radial-gradient(
      circle at 88% 82%,
      rgba(47, 107, 255, 0.08),
      transparent 22%
    ),
    linear-gradient(180deg, #090d13 0%, #0b1017 48%, #080c12 100%) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.rr-footer::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
  background:
    linear-gradient(
      120deg,
      transparent 0%,
      rgba(255, 255, 255, 0.014) 50%,
      transparent 100%
    ),
    radial-gradient(
      circle at 50% 0%,
      rgba(255, 255, 255, 0.025),
      transparent 42%
    ) !important;
}

.rr-footer .rr-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1280px !important;
}

.rr-footer__top {
  padding: 90px 0 44px !important;
}

.rr-footer__grid {
  display: grid !important;
  grid-template-columns: 1.5fr 0.5fr 0.6fr 1.4fr !important;
  gap: 32px !important;
  align-items: start !important;
}

.rr-footer__brand {
  max-width: 420px !important;
}

.rr-footer__logo {
  display: inline-block !important;
  margin-bottom: 18px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 30px !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
}

.rr-footer__text {
  margin: 0 0 24px !important;
  color: #a8b3c7 !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
}

.rr-footer__badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.rr-footer__badges span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.05) 0%,
    rgba(255, 255, 255, 0.02) 100%
  ) !important;
  color: #c6d2e7 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.4px !important;
}

.rr-footer__title {
  margin: 0 0 18px !important;
  color: #ffffff !important;
  font-size: 19px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}

.rr-footer__links,
.rr-footer__contact {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rr-footer__links li,
.rr-footer__contact li {
  margin-bottom: 12px !important;
}

.rr-footer__links a,
.rr-footer__contact a {
  color: #a8b3c7 !important;
  text-decoration: none !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  transition: color 0.35s ease !important;
}

.rr-footer__links a:hover,
.rr-footer__contact a:hover {
  color: #ffffff !important;
}

.rr-footer__contact span {
  display: block !important;
  margin-bottom: 4px !important;
  color: #8fb5ff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

.rr-footer__actions {
  margin-top: 18px !important;
}

.rr-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  padding: 20px 0 !important;
}

.rr-footer__bottom-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
}

.rr-footer__copyright {
  margin: 0 !important;
  color: #8fa0bd !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.rr-footer__bottom-links {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}

.rr-footer__bottom-links a {
  color: #a8b3c7 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  transition: color 0.35s ease !important;
}

.rr-footer__bottom-links a:hover {
  color: #ffffff !important;
}

/* =========================================
Responsive
========================================= */

@media (max-width: 1199px) {
  .rr-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .rr-footer__top {
    padding: 70px 0 34px !important;
  }

  .rr-footer__grid {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .rr-footer__logo {
    font-size: 26px !important;
  }

  .rr-footer__bottom-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .rr-footer__actions .rr-btn {
    width: 100% !important;
  }
}

#footer .ct-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

@media (max-width: 767px) {
  .rr-footer__grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }

  /* Brand на всю ширину */
  .rr-footer__brand {
    grid-column: span 2 !important;
  }

  /* Contact тоже на всю ширину */
  .rr-footer__col:last-child {
    grid-column: span 2 !important;
  }

  .rr-footer__links li,
  .rr-footer__contact li {
    margin-bottom: 8px !important;
  }

  .rr-footer__title {
    font-size: 17px !important;
  }
}

/* =========================================
FOOTER PREMIUM UPGRADE
========================================= */

/* Link hover animation */
.rr-footer__links a,
.rr-footer__contact a,
.rr-footer__bottom-links a,
.rr-footer__logo {
  position: relative !important;
  transition:
    color 0.35s ease,
    transform 0.35s ease,
    text-shadow 0.35s ease !important;
}

.rr-footer__links a:hover,
.rr-footer__contact a:hover,
.rr-footer__bottom-links a:hover {
  color: #ffffff !important;
  transform: translateX(4px) !important;
  text-shadow: 0 0 14px rgba(47, 107, 255, 0.16) !important;
}

.rr-footer__logo:hover {
  color: #ffffff !important;
  text-shadow: 0 0 18px rgba(47, 107, 255, 0.18) !important;
}

/* Small glow line under section titles */
.rr-footer__title {
  position: relative !important;
  padding-bottom: 10px !important;
}

.rr-footer__title::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 44px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    90deg,
    #2f6bff,
    rgba(255, 255, 255, 0.16)
  ) !important;
  box-shadow: 0 0 14px rgba(47, 107, 255, 0.22) !important;
}

/* Contact links with icon */
.rr-footer__contact a {
  display: inline-flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

.rr-footer__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  min-width: 22px !important;
  line-height: 1 !important;
  transform: translateY(2px) !important;
  filter: drop-shadow(0 0 8px rgba(47, 107, 255, 0.12)) !important;
}

/* Footer column soft hover */
.rr-footer__col {
  transition: transform 0.35s ease !important;
}

.rr-footer__col:hover {
  transform: translateY(-2px) !important;
}

/* Badges stronger hover */
.rr-footer__badges span {
  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    color 0.35s ease !important;
}

.rr-footer__badges span:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(47, 107, 255, 0.22) !important;
  box-shadow:
    0 12px 24px rgba(0, 0, 0, 0.14),
    0 0 20px rgba(47, 107, 255, 0.08) !important;
  color: #ffffff !important;
}

/* Contact button full width area looks cleaner */
.rr-footer__actions {
  margin-top: 20px !important;
}

/* =========================================
Footer Mobile Layout Upgrade
========================================= */

@media (max-width: 767px) {
  .rr-footer__top {
    padding: 70px 0 34px !important;
  }

  .rr-footer__grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
  }

  .rr-footer__brand {
    grid-column: span 2 !important;
    max-width: 100% !important;
  }

  .rr-footer__col:last-child {
    grid-column: span 2 !important;
  }

  .rr-footer__logo {
    font-size: 26px !important;
  }

  .rr-footer__links li,
  .rr-footer__contact li {
    margin-bottom: 8px !important;
  }

  .rr-footer__title {
    font-size: 17px !important;
    padding-bottom: 8px !important;
    margin-bottom: 14px !important;
  }

  .rr-footer__title::after {
    width: 36px !important;
  }

  .rr-footer__text {
    margin-bottom: 20px !important;
  }

  .rr-footer__actions .rr-btn {
    width: 100% !important;
  }

  .rr-footer__bottom-row {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* =========================================
LEGAL PAGES SYSTEM
========================================= */

.rr-legal-hero {
  position: relative !important;
  min-height: calc(72svh - 90px) !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: url("/wp-content/uploads/poli-hero-bg.webp") center center / cover
    no-repeat !important;
}

.rr-legal-hero::before {
  content: "" !important;
  position: absolute !important;
  top: -140px !important;
  left: -120px !important;
  width: 560px !important;
  height: 560px !important;
  border-radius: 50% !important;
  background: radial-gradient(
    circle,
    rgba(47, 107, 255, 0.24) 0%,
    transparent 72%
  ) !important;
  filter: blur(90px) !important;
  opacity: 0.92 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.rr-legal-hero::after {
  content: "" !important;
  position: absolute !important;
  inset: -20% !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(
    120deg,
    transparent 35%,
    rgba(255, 255, 255, 0.035) 50%,
    transparent 66%
  ) !important;
}

.rr-legal-hero__overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    radial-gradient(
      circle at 18% 45%,
      rgba(47, 107, 255, 0.18) 0%,
      transparent 28%
    ),
    linear-gradient(
      90deg,
      rgba(5, 10, 18, 0.93) 10%,
      rgba(8, 13, 21, 0.84) 38%,
      rgba(8, 13, 21, 0.58) 64%,
      rgba(8, 13, 21, 0.3) 100%
    ) !important;
}

.rr-legal-hero__content {
  position: relative !important;
  z-index: 3 !important;
  max-width: 760px !important;
  padding: 60px 0 !important;
}

.rr-legal-hero__content::before {
  content: "" !important;
  display: block !important;
  width: 92px !important;
  height: 2px !important;
  margin-bottom: 24px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    90deg,
    rgba(47, 107, 255, 0.98),
    rgba(255, 255, 255, 0.12)
  ) !important;
  box-shadow: 0 0 20px rgba(47, 107, 255, 0.34) !important;
}

.rr-legal-hero__title {
  margin: 0 0 20px !important;
  color: #ffffff !important;
  font-size: clamp(42px, 6vw, 76px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.04em !important;
}

.rr-legal-hero__text {
  margin: 0 !important;
  max-width: 680px !important;
  color: #a8b3c7 !important;
  font-size: 19px !important;
  line-height: 1.8 !important;
}

.rr-legal-content {
  position: relative !important;
  padding: 110px 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(
      circle at 14% 18%,
      rgba(47, 107, 255, 0.1),
      transparent 24%
    ),
    radial-gradient(
      circle at 86% 82%,
      rgba(47, 107, 255, 0.08),
      transparent 22%
    ),
    linear-gradient(180deg, #0a0f15 0%, #0d131b 48%, #0a1017 100%) !important;
}

.rr-legal-content::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      120deg,
      transparent 0%,
      rgba(255, 255, 255, 0.014) 50%,
      transparent 100%
    ),
    radial-gradient(
      circle at 50% 0%,
      rgba(255, 255, 255, 0.025),
      transparent 42%
    ) !important;
}

.rr-legal-sidebar {
  position: sticky !important;
  top: 120px !important;
  align-self: start !important;
}

.rr-legal-content .rr-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1280px !important;
}

.rr-legal-card {
  padding: 34px 30px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.05) 0%,
    rgba(255, 255, 255, 0.025) 100%
  ) !important;
  box-shadow:
    0 22px 55px rgba(0, 0, 0, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  backdrop-filter: blur(10px) !important;
  transition:
    transform 0.4s ease,
    border-color 0.4s ease,
    box-shadow 0.4s ease !important;
}

.rr-legal-card:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(47, 107, 255, 0.2) !important;
  box-shadow:
    0 28px 65px rgba(0, 0, 0, 0.28),
    0 0 0 1px rgba(47, 107, 255, 0.08),
    0 0 26px rgba(47, 107, 255, 0.06) !important;
}

.rr-legal-date {
  margin: 0 !important;
  color: #8fb5ff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

.rr-legal-title {
  margin: 0 0 16px !important;
  color: #ffffff !important;
  font-size: clamp(28px, 4vw, 40px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
}

.rr-legal-card p,
.rr-legal-card li {
  color: #a8b3c7 !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
}

.rr-legal-card p {
  margin: 0 0 14px !important;
}

.rr-legal-card p:last-child {
  margin-bottom: 0 !important;
}

.rr-legal-card ul {
  margin: 0 !important;
  padding: 0 0 0 20px !important;
}

.rr-legal-card li {
  margin-bottom: 8px !important;
}

.rr-legal-card li:last-child {
  margin-bottom: 0 !important;
}

.rr-legal-contact {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.rr-legal-contact li {
  margin-bottom: 8px !important;
}

.rr-legal-contact strong {
  color: #ffffff !important;
}

.rr-legal-layout {
  display: grid !important;
  grid-template-columns: 1fr 320px !important;
  gap: 34px !important;
  align-items: start !important;
}

.rr-legal-main {
  display: grid !important;
  gap: 24px !important;
  min-width: 0 !important;
}

.rr-legal-sidebar {
  position: sticky !important;
  top: 120px !important;
  align-self: start !important;
}

.rr-legal-sidebar__box {
  padding: 26px 24px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.05) 0%,
    rgba(255, 255, 255, 0.025) 100%
  ) !important;
  box-shadow:
    0 22px 55px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  backdrop-filter: blur(10px) !important;
}

.rr-legal-sidebar__box h3 {
  margin: 0 0 16px !important;
  color: #ffffff !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
}

.rr-legal-sidebar__box ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rr-legal-sidebar__box li {
  margin-bottom: 10px !important;
}

.rr-legal-sidebar__box li:last-child {
  margin-bottom: 0 !important;
}

.rr-legal-sidebar__box a {
  color: #a8b3c7 !important;
  text-decoration: none !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  transition:
    color 0.35s ease,
    transform 0.35s ease !important;
  display: inline-block !important;
}

.rr-legal-sidebar__box a:hover {
  color: #ffffff !important;
  transform: translateX(4px) !important;
}

@media (max-width: 991px) {
  .rr-legal-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }

  .rr-legal-sidebar {
    position: relative !important;
    top: auto !important;
    order: -1 !important;
    align-self: stretch !important;
  }

  .rr-legal-main {
    order: 2 !important;
  }
}

@media (max-width: 767px) {
  .rr-legal-hero {
    min-height: calc(62svh - 90px) !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .rr-legal-hero__title {
    font-size: 38px !important;
    line-height: 1.06 !important;
  }

  .rr-legal-hero__text {
    font-size: 16px !important;
    line-height: 1.75 !important;
  }

  .rr-legal-content {
    padding: 80px 0 !important;
  }

  .rr-legal-card {
    padding: 26px 20px !important;
    border-radius: 24px !important;
  }

  .rr-legal-title {
    font-size: 28px !important;
  }

  .rr-legal-card p,
  .rr-legal-card li,
  .rr-legal-sidebar__box a {
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  .rr-legal-sidebar__box {
    padding: 22px 18px !important;
  }
}

/* =========================================
WPFORMS 25 — PAGE + MODAL
========================================= */

#wpforms-25,
.gama-modal__body #wpforms-25 {
  --wpforms-background-color: rgba(0, 0, 0, 0) !important;
  --wpforms-container-padding: 0px !important;
  --wpforms-container-border-width: 0px !important;
  --wpforms-container-border-radius: 0px !important;
  --wpforms-container-shadow-size-box-shadow: none !important;
  --wpforms-field-size-input-height: 58px !important;
  --wpforms-field-size-input-spacing: 18px !important;
  --wpforms-field-size-font-size: 16px !important;
  --wpforms-field-size-line-height: 20px !important;
  --wpforms-field-size-padding-h: 18px !important;
  --wpforms-label-size-font-size: 14px !important;
  --wpforms-label-size-line-height: 18px !important;
  --wpforms-button-size-font-size: 16px !important;
  --wpforms-button-size-height: 56px !important;
  --wpforms-button-size-padding-h: 24px !important;
  --wpforms-button-size-margin-top: 8px !important;
}

#wpforms-25 .wpforms-form,
.gama-modal__body #wpforms-25 .wpforms-form {
  margin: 0 !important;
}

#wpforms-25 .wpforms-field-container,
.gama-modal__body #wpforms-25 .wpforms-field-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

#wpforms-25 .wpforms-field,
.gama-modal__body #wpforms-25 .wpforms-field {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

#wpforms-25 .wpforms-field-label,
.gama-modal__body #wpforms-25 .wpforms-field-label {
  display: block !important;
  margin-bottom: 8px !important;
  color: #dce5f5 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
}

#wpforms-25 input[type="text"],
#wpforms-25 input[type="email"],
#wpforms-25 textarea,
.gama-modal__body #wpforms-25 input[type="text"],
.gama-modal__body #wpforms-25 input[type="email"],
.gama-modal__body #wpforms-25 textarea {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.06) 0%,
    rgba(255, 255, 255, 0.025) 100%
  ) !important;
  color: #ffffff !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.03),
    0 12px 26px rgba(0, 0, 0, 0.16) !important;
  transition:
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    background 0.35s ease !important;
}

#wpforms-25 input[type="text"]::placeholder,
#wpforms-25 input[type="email"]::placeholder,
#wpforms-25 textarea::placeholder,
.gama-modal__body #wpforms-25 input[type="text"]::placeholder,
.gama-modal__body #wpforms-25 input[type="email"]::placeholder,
.gama-modal__body #wpforms-25 textarea::placeholder {
  color: #94a4c0 !important;
}

#wpforms-25 textarea,
.gama-modal__body #wpforms-25 textarea {
  min-height: 160px !important;
  padding-top: 16px !important;
  resize: vertical !important;
}

#wpforms-25 input[type="text"]:focus,
#wpforms-25 input[type="email"]:focus,
#wpforms-25 textarea:focus,
.gama-modal__body #wpforms-25 input[type="text"]:focus,
.gama-modal__body #wpforms-25 input[type="email"]:focus,
.gama-modal__body #wpforms-25 textarea:focus {
  border-color: rgba(47, 107, 255, 0.55) !important;
  box-shadow:
    0 0 0 1px rgba(47, 107, 255, 0.18),
    0 0 22px rgba(47, 107, 255, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.075) 0%,
    rgba(255, 255, 255, 0.03) 100%
  ) !important;
  outline: none !important;
}

#wpforms-25 .wpforms-submit-container,
.gama-modal__body #wpforms-25 .wpforms-submit-container {
  margin-top: 20px !important;
}

#wpforms-25 button.wpforms-submit,
.gama-modal__body #wpforms-25 button.wpforms-submit {
  width: 100% !important;
  min-height: 56px !important;
  border: none !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #2f6bff, #5b8cff) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  box-shadow:
    0 14px 34px rgba(47, 107, 255, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    filter 0.35s ease !important;
}

#wpforms-25 button.wpforms-submit:hover,
.gama-modal__body #wpforms-25 button.wpforms-submit:hover {
  transform: translateY(-3px) !important;
  box-shadow:
    0 20px 42px rgba(47, 107, 255, 0.36),
    inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
  filter: brightness(1.04) !important;
}

#wpforms-25 .wpforms-required-label,
.gama-modal__body #wpforms-25 .wpforms-required-label {
  color: #8fb5ff !important;
}

#wpforms-25 .wpforms-error,
.gama-modal__body #wpforms-25 .wpforms-error {
  color: #ffb8b8 !important;
  font-size: 13px !important;
}

#wpforms-25-field_5-container,
#wpforms-25-field_6-container,
#wpforms-25-field_7-container,
.gama-modal__body #wpforms-25-field_5-container,
.gama-modal__body #wpforms-25-field_6-container,
.gama-modal__body #wpforms-25-field_7-container {
  display: none !important;
}

/* Mobile: only Phone + Email in one row */
@media (max-width: 767px) {
  #wpforms-25 .wpforms-field-container,
  .gama-modal__body #wpforms-25 .wpforms-field-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  #wpforms-25-field_1-container,
  #wpforms-25-field_3-container,
  .gama-modal__body #wpforms-25-field_1-container,
  .gama-modal__body #wpforms-25-field_3-container {
    grid-column: 1 / -1 !important;
  }

  #wpforms-25-field_4-container,
  #wpforms-25-field_2-container,
  .gama-modal__body #wpforms-25-field_4-container,
  .gama-modal__body #wpforms-25-field_2-container {
    grid-column: span 1 !important;
    min-width: 0 !important;
  }

  #wpforms-25 .wpforms-field-label,
  .gama-modal__body #wpforms-25 .wpforms-field-label {
    font-size: 13px !important;
  }
}

/* =========================================
LUXURY MODAL STYLE ONLY
========================================= */

.gama-modal__dialog {
  position: relative !important;
  width: 100% !important;
  max-width: 760px !important;
  max-height: calc(100svh - 40px) !important;
  overflow: auto !important;
  border-radius: 30px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background:
    radial-gradient(
      circle at top left,
      rgba(47, 107, 255, 0.1),
      transparent 28%
    ),
    linear-gradient(
      180deg,
      rgba(12, 18, 28, 0.96) 0%,
      rgba(10, 15, 24, 0.98) 100%
    ) !important;
  box-shadow:
    0 38px 100px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 0 36px rgba(47, 107, 255, 0.08) !important;
}

.gama-modal__body {
  padding: 38px 30px 30px !important;
}

.gama-modal__title {
  margin: 0 0 10px !important;
  color: #ffffff !important;
  font-size: 34px !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
}

.gama-modal__subtitle {
  margin: 0 0 24px !important;
  color: #a8b3c7 !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
}

.gama-modal__close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  width: 48px !important;
  height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.06) 0%,
    rgba(255, 255, 255, 0.03) 100%
  ) !important;
  color: #ffffff !important;
  font-size: 20px !important;
  cursor: pointer !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 10px 20px rgba(0, 0, 0, 0.16) !important;
  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    background 0.35s ease !important;
}

.gama-modal__close:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(47, 107, 255, 0.3) !important;
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.22),
    0 0 20px rgba(47, 107, 255, 0.08) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.08) 0%,
    rgba(255, 255, 255, 0.04) 100%
  ) !important;
}

@media (max-width: 767px) {
  .gama-modal__dialog {
    max-height: calc(100svh - 24px) !important;
    border-radius: 24px !important;
  }

  .gama-modal__body {
    padding: 26px 18px 20px !important;
  }

  .gama-modal__title {
    font-size: 28px !important;
  }

  .gama-modal__close {
    top: 12px !important;
    right: 12px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
  }
}

/* =========================================
LUXURY HEADER UPGRADE
Works with current Blocksy header HTML
========================================= */

/* Main header shell */
.ct-header[data-id="type-1"] {
  position: relative !important;
  z-index: 1000 !important;
}

/* Sticky container spacing stays clean */
.ct-header[data-id="type-1"] .ct-sticky-container {
  transition: height 0.35s ease !important;
}

/* Main sticky row */
.ct-header[data-id="type-1"] [data-sticky*="fixed"],
.ct-header[data-id="type-1"] [data-sticky="shrink"],
.ct-header[data-id="type-1"] [data-sticky="fixed:shrink"] {
  background: rgba(9, 14, 22, 0.78) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16) !important;
  transition:
    background 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease !important;
}

/* Inner container */
.ct-header[data-id="type-1"] .ct-container {
  max-width: 1280px !important;
}

/* Logo */
.ct-header[data-id="type-1"] .site-title a {
  color: #ffffff !important;
  font-size: 31px !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  text-decoration: none !important;
  transition:
    color 0.35s ease,
    text-shadow 0.35s ease,
    opacity 0.35s ease !important;
}

.ct-header[data-id="type-1"] .site-title a:hover {
  color: #ffffff !important;
  text-shadow: 0 0 18px rgba(47, 107, 255, 0.18) !important;
  opacity: 0.96 !important;
}

/* Desktop menu links */
.ct-header[data-id="type-1"] .header-menu-1 .menu > li > a {
  position: relative !important;
  color: #d9e3f3 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  transition:
    color 0.35s ease,
    opacity 0.35s ease !important;
}

/* Underline effect */
.ct-header[data-id="type-1"] .header-menu-1 .menu > li > a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 15px !important;
  width: 100% !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    90deg,
    rgba(47, 107, 255, 0.95),
    rgba(255, 255, 255, 0.14)
  ) !important;
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  opacity: 0 !important;
  transition:
    transform 0.35s ease,
    opacity 0.35s ease !important;
}

.ct-header[data-id="type-1"] .header-menu-1 .menu > li:hover > a,
.ct-header[data-id="type-1"] .header-menu-1 .menu > li.current-menu-item > a,
.ct-header[data-id="type-1"] .header-menu-1 .menu > li.current_page_item > a {
  color: #ffffff !important;
}

.ct-header[data-id="type-1"] .header-menu-1 .menu > li:hover > a::after,
.ct-header[data-id="type-1"]
  .header-menu-1
  .menu
  > li.current-menu-item
  > a::after,
.ct-header[data-id="type-1"]
  .header-menu-1
  .menu
  > li.current_page_item
  > a::after {
  transform: scaleX(1) !important;
  opacity: 1 !important;
}

/* Dropdown arrow */
.ct-header[data-id="type-1"] .ct-toggle-dropdown-desktop .ct-icon {
  fill: currentColor !important;
  opacity: 0.85 !important;
  transition:
    transform 0.35s ease,
    opacity 0.35s ease !important;
}

.ct-header[data-id="type-1"]
  .menu-item-has-children:hover
  > a
  .ct-toggle-dropdown-desktop
  .ct-icon {
  transform: translateY(1px) rotate(180deg) !important;
  opacity: 1 !important;
}

/* Desktop dropdown panel */
.ct-header[data-id="type-1"] .sub-menu {
  padding: 12px !important;
  min-width: 240px !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: linear-gradient(
    180deg,
    rgba(11, 17, 27, 0.96) 0%,
    rgba(8, 13, 22, 0.98) 100%
  ) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.3),
    0 0 28px rgba(47, 107, 255, 0.06) !important;
}

.ct-header[data-id="type-1"] .sub-menu li {
  margin: 0 !important;
}

.ct-header[data-id="type-1"] .sub-menu a {
  display: block !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  color: #d7e0ef !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition:
    transform 0.35s ease,
    color 0.35s ease,
    background 0.35s ease,
    box-shadow 0.35s ease !important;
}

.ct-header[data-id="type-1"] .sub-menu a:hover {
  transform: translateX(4px) !important;
  color: #ffffff !important;
  background: linear-gradient(
    135deg,
    rgba(47, 107, 255, 0.16),
    rgba(255, 255, 255, 0.03)
  ) !important;
  box-shadow: 0 10px 22px rgba(47, 107, 255, 0.08) !important;
}

/* CTA button in header */
.ct-header[data-id="type-1"] .ct-header-cta .ct-button {
  position: relative !important;
  min-height: 46px !important;
  padding: 0 22px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: linear-gradient(135deg, #2f6bff, #5b8cff) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  box-shadow:
    0 14px 30px rgba(47, 107, 255, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    filter 0.35s ease !important;
}

.ct-header[data-id="type-1"] .ct-header-cta .ct-button:hover {
  transform: translateY(-3px) !important;
  box-shadow:
    0 20px 38px rgba(47, 107, 255, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
  filter: brightness(1.04) !important;
}

/* Mobile logo */
@media (max-width: 999px) {
  .ct-header[data-id="type-1"] .site-title a {
    font-size: 24px !important;
    line-height: 1.05 !important;
  }
}

/* Mobile button */
@media (max-width: 999px) {
  .ct-header[data-id="type-1"] .ct-header-cta .ct-button {
    min-height: 42px !important;
    padding: 0 16px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
  }
}

/* Mobile hamburger trigger */
.ct-header[data-id="type-1"] .ct-header-trigger {
  width: 46px !important;
  height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.05) 0%,
    rgba(255, 255, 255, 0.025) 100%
  ) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.04),
    0 10px 22px rgba(0, 0, 0, 0.14) !important;
  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    background 0.35s ease !important;
}

.ct-header[data-id="type-1"] .ct-header-trigger:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(47, 107, 255, 0.26) !important;
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.18),
    0 0 20px rgba(47, 107, 255, 0.06) !important;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.07) 0%,
    rgba(255, 255, 255, 0.03) 100%
  ) !important;
}

.ct-header[data-id="type-1"] .ct-header-trigger .ct-icon rect {
  fill: #ffffff !important;
  transition:
    transform 0.35s ease,
    opacity 0.35s ease !important;
}

/* Better spacing between mobile CTA and hamburger */
@media (max-width: 999px) {
  .ct-header[data-id="type-1"] [data-column="end"] [data-items="primary"] {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }
}

/* Header row height tune */
.ct-header[data-id="type-1"] [data-row="middle"] {
  min-height: 90px !important;
}

/* Shrink state refinement */
.ct-header[data-id="type-1"] [data-sticky*="shrink"] .site-title a {
  font-size: 29px !important;
}

@media (max-width: 999px) {
  .ct-header[data-id="type-1"] [data-sticky*="shrink"] .site-title a {
    font-size: 22px !important;
  }
}

/* =========================================
HEADER BACKGROUND FIX
========================================= */

/* Main header wrapper */
.ct-header[data-id="type-1"] {
  background: transparent !important;
}

/* Desktop + mobile header rows */
.ct-header[data-id="type-1"] [data-device] [data-row="middle"],
.ct-header[data-id="type-1"] [data-device] [data-row="middle"] > div,
.ct-header[data-id="type-1"] [data-device] .ct-container,
.ct-header[data-id="type-1"] [data-device] [data-column],
.ct-header[data-id="type-1"] [data-device] [data-items] {
  background: transparent !important;
}

/* Sticky layer itself */
.ct-header[data-id="type-1"] [data-sticky],
.ct-header[data-id="type-1"] [data-sticky*="fixed"],
.ct-header[data-id="type-1"] [data-sticky*="shrink"],
.ct-header[data-id="type-1"] .ct-sticky-container > div {
  background: rgba(9, 14, 22, 0.78) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16) !important;
}

/* Force links/logo visible */
.ct-header[data-id="type-1"] .site-title a,
.ct-header[data-id="type-1"] .header-menu-1 .menu > li > a,
.ct-header[data-id="type-1"] .ct-header-trigger,
.ct-header[data-id="type-1"] .ct-header-trigger .ct-icon rect {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Current/hover links stay bright */
.ct-header[data-id="type-1"] .header-menu-1 .menu > li:hover > a,
.ct-header[data-id="type-1"] .header-menu-1 .menu > li.current-menu-item > a,
.ct-header[data-id="type-1"] .header-menu-1 .menu > li.current_page_item > a {
  color: #ffffff !important;
}

/* =========================
   LUXURY BACK TO TOP BUTTON
   ========================= */

.ct-back-to-top {
  width: 52px;
  height: 52px;
  border-radius: 16px !important;

  background: linear-gradient(135deg, #0f172a, #1e293b);
  border: 1px solid rgba(255, 255, 255, 0.08);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);

  transition:
    transform 0.45s ease !important,
    border-color 0.45s ease !important,
    box-shadow 0.45s ease !important,
    background 0.45s ease !important;
}

/* Иконка */
.ct-back-to-top svg {
  width: 18px;
  height: 18px;
  fill: #cbd5f5;
  transition:
    transform 0.4s ease,
    fill 0.4s ease;
}

/* Hover эффект */
.ct-back-to-top:hover {
  transform: translateY(-6px) scale(1.08);
  border-color: rgba(96, 165, 250, 0.5);

  background: linear-gradient(135deg, #1d4ed8, #3b82f6);

  box-shadow:
    0 20px 40px rgba(59, 130, 246, 0.4),
    0 0 20px rgba(59, 130, 246, 0.3);
}

/* Иконка при hover */
.ct-back-to-top:hover svg {
  fill: #ffffff;
  transform: translateY(-2px);
}

/* Активное состояние (клик) */
.ct-back-to-top:active {
  transform: scale(0.95);
}

/* Mobile чуть компактнее */
@media (max-width: 768px) {
  .ct-back-to-top {
    width: 46px;
    height: 46px;
    border-radius: 14px !important;
  }
}
