:root {
  --nexus-navy-950: #030a18;
  --nexus-navy-900: #07152d;
  --nexus-navy-800: #0b2347;
  --nexus-blue-500: #2787ff;
  --nexus-blue-300: #75b7ff;
}
html, body { background: var(--nexus-navy-950) !important; color: #eaf3ff !important; }
.topbar-container, .header-container, .main-menu-container, .site-footer,
.footer-description-section, .footer-sitemap-section, .footer-copyright-section {
  background-color: var(--nexus-navy-900) !important;
  color: #eaf3ff !important;
}
.site-footer { background-image: linear-gradient(150deg, #061126, #0b2c58) !important; }
.site-footer a, .footer-links a, .topbar-container a { color: #d9ebff !important; }
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer h4,
.nexus-seo-content h1, .nexus-seo-content h2, .nexus-seo-content h3 { color: #ffffff !important; }
.nexus-seo-content { background: linear-gradient(145deg, #07152d, #0b2347); padding: 36px 0; }
.nexus-seo-content .container { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.nexus-article, .nexus-faq details, .nexus-review-card {
  background: rgba(8, 27, 57, .92); border: 1px solid rgba(117, 183, 255, .28);
  border-radius: 12px; box-shadow: 0 10px 28px rgba(0, 0, 0, .22);
}
.nexus-article { padding: 24px; line-height: 1.75; }
.nexus-faq, .nexus-reviews { margin-top: 28px; }
.nexus-faq details { padding: 16px 18px; margin: 10px 0; }
.nexus-faq summary { cursor: pointer; color: #fff; font-weight: 700; }
.nexus-faq p { color: #d6e7fb; margin: 12px 0 0; }
.nexus-review-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.nexus-review-card { padding: 18px; }
.nexus-review-stars { color: #ffd65a; letter-spacing: 2px; }
.nexus-review-card p { color: #d6e7fb; }
.banner {
  aspect-ratio: 1920 / 613 !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
}
.banner-carousel,
.banner-carousel > .vertical-wrapper,
.banner-carousel > .vertical-wrapper > div,
.banner-carousel .slide-item,
.banner-carousel .slide-item > a {
  display: block;
  width: 100%;
  height: 100% !important;
}
.banner .banner-img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center center;
}
@media (max-width: 720px) {
  .nexus-seo-content { padding: 24px 0; }
  .banner { aspect-ratio: 16 / 7 !important; }
}
