/*
 * Unified light visual system
 * Controlled by window.XG_CONFIG.unifiedLightTheme in assets/js/xg-config.js.
 * This file only takes effect while <html> has the .xg-blog-theme class.
 */
html.xg-blog-theme {
  --xg-navy: #ffffff;
  --xg-ink: #0a0a0a;
  --xg-muted: #5a5a5a;
  --xg-red: #e10600;
  --xg-line: #e2e2e2;
  background: #ffffff;
}

html.xg-blog-theme body,
html.xg-blog-theme .rts-section-gap,
html.xg-blog-theme .xg-section { background: #ffffff; color: #0a0a0a; }

html.xg-blog-theme .xg-header,
html.xg-blog-theme .xg-header.xg-header--over-dark,
html.xg-blog-theme .xg-header.is-scrolled {
  background: rgba(255, 255, 255, .92) !important;
  border-bottom: 1px solid #e2e2e2;
  box-shadow: none !important;
  backdrop-filter: blur(14px);
}

html.xg-blog-theme .xg-header .xg-nav__link,
html.xg-blog-theme .xg-header .xg-nav__link:hover,
html.xg-blog-theme .xg-header .xg-nav__link[aria-current="page"] { color: #0a0a0a !important; }
html.xg-blog-theme .xg-header .xg-nav__link[aria-current="page"] { box-shadow: inset 0 -2px 0 #e10600; }
html.xg-blog-theme .xg-header .xg-logo--dark { display: block !important; }
html.xg-blog-theme .xg-header .xg-logo--light { display: none !important; }
html.xg-blog-theme .xg-header .xg-burger { color: #0a0a0a; border-color: #e2e2e2; }
html.xg-blog-theme .xg-header .xg-burger span { background: #0a0a0a !important; }

html.xg-blog-theme .xg-page-hero,
html.xg-blog-theme .xg-hero-dark,
html.xg-blog-theme .xg-dark,
html.xg-blog-theme .xg-final {
  color: #0a0a0a !important;
  background-color: #ffffff !important;
  background-image:
    radial-gradient(circle at 88% 20%, rgba(225, 6, 0, .08), transparent 25rem),
    linear-gradient(#ffffff, #fafafa) !important;
  border-color: #e2e2e2;
}
html.xg-blog-theme .xg-page-hero .xg-hero__bg,
html.xg-blog-theme .xg-page-hero .xg-hero__mesh,
html.xg-blog-theme .xg-page-hero .xg-hero__shade { opacity: .15; }
html.xg-blog-theme .xg-page-hero h1,
html.xg-blog-theme .xg-page-hero h2,
html.xg-blog-theme .xg-page-hero h3,
html.xg-blog-theme .xg-dark h1,
html.xg-blog-theme .xg-dark h2,
html.xg-blog-theme .xg-dark h3,
html.xg-blog-theme .xg-dark h4,
html.xg-blog-theme .xg-dark .xg-h1,
html.xg-blog-theme .xg-dark .xg-h2,
html.xg-blog-theme .xg-final__title { color: #0a0a0a !important; }
html.xg-blog-theme .xg-dark p,
html.xg-blog-theme .xg-final__text,
html.xg-blog-theme .xg-page-hero__sub { color: #5a5a5a !important; }

html.xg-blog-theme .xg-pfeat,
html.xg-blog-theme .xg-pteaser__card,
html.xg-blog-theme .xg-svc2-card,
html.xg-blog-theme .xg-card,
html.xg-blog-theme .xg-price-card {
  background: #ffffff !important;
  border-color: #e2e2e2 !important;
  color: #0a0a0a !important;
  box-shadow: 0 18px 45px -35px rgba(0, 0, 0, .45);
}
html.xg-blog-theme .xg-pfeat p,
html.xg-blog-theme .xg-pteaser__card p,
html.xg-blog-theme .xg-svc2-card p { color: #5a5a5a !important; }

html.xg-blog-theme .xg-btn,
html.xg-blog-theme .xg-btn--light,
html.xg-blog-theme .xg-header__cta {
  background: #e10600 !important;
  border-color: #e10600 !important;
  color: #ffffff !important;
}
html.xg-blog-theme .xg-btn:hover,
html.xg-blog-theme .xg-btn--light:hover { transform: translateY(-2px); filter: brightness(.92); }

html.xg-blog-theme .xg-footer,
html.xg-blog-theme .xg-offcanvas {
  background: #ffffff !important;
  color: #0a0a0a !important;
  border-top: 1px solid #e2e2e2;
}
html.xg-blog-theme .xg-footer::before,
html.xg-blog-theme .xg-footer__mark { opacity: .04; }
html.xg-blog-theme .xg-footer h2,
html.xg-blog-theme .xg-footer h3,
html.xg-blog-theme .xg-footer h4,
html.xg-blog-theme .xg-footer a,
html.xg-blog-theme .xg-footer__top-title,
html.xg-blog-theme .xg-footer__contact-link { color: #0a0a0a !important; }
html.xg-blog-theme .xg-footer p,
html.xg-blog-theme .xg-footer__blurb,
html.xg-blog-theme .xg-footer__copy { color: #5a5a5a !important; }
html.xg-blog-theme .xg-footer__top,
html.xg-blog-theme .xg-footer__bottom { border-color: #e2e2e2; }
html.xg-blog-theme .xg-offcanvas__logo { filter: brightness(0); }
html.xg-blog-theme .side-bar.xg-offcanvas .close-icon-menu i,
html.xg-blog-theme .side-bar.xg-offcanvas .mobile-menu-main nav ul li a,
html.xg-blog-theme .side-bar.xg-offcanvas .mobile-menu-main nav ul li a:hover {
  color: #0a0a0a !important;
}
html.xg-blog-theme .side-bar.xg-offcanvas .mobile-menu-main nav ul li { border-color: #e2e2e2 !important; }

html.xg-blog-theme .xg-pixels { opacity: .35; }
html.xg-blog-theme .xg-progress__bar,
html.xg-blog-theme .xg-hl,
html.xg-blog-theme .xg-eyebrow { color: #e10600; }

/* Contrast contract: every surface explicitly receives readable foreground text. */
html.xg-blog-theme :is(
  .xg-section, .xg-page-hero, .xg-final, .xg-footer, .xg-offcanvas,
  .xg-cta-band, .xg-ab-band, .xg-404, .xg-contact__info,
  .xg-svc-side__cta, .broadband-hero, .broadband-form-visual-card,
  .xg-testi__quote
) :is(h1, h2, h3, h4, h5, h6, p, li, dt, dd, small, span, label, a) {
  color: #0a0a0a !important;
}
html.xg-blog-theme :is(
  .xg-cta-band, .xg-ab-band, .xg-404, .xg-contact__info,
  .xg-svc-side__cta, .broadband-hero, .broadband-form-visual-card,
  .xg-testi__quote
) {
  background-color: #ffffff !important;
  background-image: radial-gradient(circle at 90% 15%, rgba(225, 6, 0, .08), transparent 22rem) !important;
  color: #0a0a0a !important;
  border-color: #e2e2e2 !important;
}
html.xg-blog-theme :is(
  .xg-cta-band, .xg-ab-band, .xg-404, .xg-contact__info,
  .xg-svc-side__cta, .broadband-hero, .broadband-form-visual-card,
  .xg-testi__quote
) :is(p, li, small, span) { color: #5a5a5a !important; }
html.xg-blog-theme :is(.xg-page-hero, .xg-hero) :is(
  .xg-hero__title, .xg-hero__lead, .xg-hero__typed, .xg-type,
  .xg-hero__strip-label, .xg-marquee__item, .xg-glass__num, .xg-glass__label,
  .xg-crumbs li, .xg-crumbs a, .xg-crumbs [aria-current]
) { color: #0a0a0a !important; }
html.xg-blog-theme :is(.xg-page-hero, .xg-hero) :is(.xg-hero__lead, .xg-hero__strip-label, .xg-marquee__item) { color: #5a5a5a !important; }

/* Preserve white foreground on deliberate red action surfaces. */
html.xg-blog-theme :is(.xg-btn, .xg-btn--light, .xg-header__cta, .xg-btn *, .xg-btn--light *, .xg-header__cta *, .xg-ribbon, .xg-ribbon *) { color: #ffffff !important; }

/* Blog-inspired movement for every XG page: subtle, consistent and accessible. */
html.xg-blog-theme .xg-page-hero::after {
  content: "";
  position: absolute;
  right: clamp(18px, 7vw, 120px);
  bottom: 24px;
  width: clamp(90px, 15vw, 190px);
  aspect-ratio: 1;
  pointer-events: none;
  background-image: radial-gradient(circle, #e10600 1.5px, transparent 1.6px);
  background-size: 18px 18px;
  opacity: .18;
  mask-image: radial-gradient(circle, #000 10%, transparent 70%);
  animation: xg-unified-drift 10s ease-in-out infinite alternate;
}
html.xg-blog-theme .xg-unified-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .72s ease, transform .72s cubic-bezier(.2,.8,.2,1);
}
html.xg-blog-theme .xg-unified-reveal.is-visible { opacity: 1; transform: translateY(0); }
html.xg-blog-theme .xg-pfeat:hover,
html.xg-blog-theme .xg-pteaser__card:hover,
html.xg-blog-theme .xg-svc2-card:hover,
html.xg-blog-theme .xg-price-card:hover { transform: translateY(-6px); }
@keyframes xg-unified-drift {
  from { transform: translate3d(-8px, -4px, 0) rotate(-4deg); }
  to { transform: translate3d(10px, 8px, 0) rotate(5deg); }
}

@media (max-width: 900px) {
  html.xg-blog-theme .xg-header .xg-nav__list { background: #ffffff; border-color: #e2e2e2; }
}

@media (prefers-reduced-motion: reduce) {
  html.xg-blog-theme .xg-unified-reveal { opacity: 1; transform: none; transition: none; }
  html.xg-blog-theme .xg-page-hero::after { animation: none; }
}

/* Light-mode fixes for legacy button fills and the original blue homepage layers. */
html.xg-blog-theme :is(.xg-btn, .xg-btn--light, .xg-header__cta) {
  --_bg: #e10600;
  --_fg: #ffffff;
  --_fill: #e10600;
  --_fill-fg: #ffffff;
  --_border: #e10600;
}
html.xg-blog-theme :is(.xg-btn, .xg-btn--light, .xg-header__cta):hover,
html.xg-blog-theme :is(.xg-btn, .xg-btn--light, .xg-header__cta):focus-visible {
  --_fill: #e10600;
  --_fill-fg: #ffffff;
  color: #ffffff !important;
}
html.xg-blog-theme .xg-hero .xg-hero__bg,
html.xg-blog-theme .xg-hero .xg-hero__mesh,
html.xg-blog-theme .xg-hero .xg-hero__shade { background: transparent !important; opacity: 0 !important; }

/* Canvas hosts are inserted by xg-unified-motion.js on all page heroes. */
html.xg-blog-theme :is(.xg-page-hero, .xg-hero, .xg-404, .broadband-hero) { isolation: isolate; overflow: hidden; }
html.xg-blog-theme .xg-dot-wave {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: .68;
}
html.xg-blog-theme :is(.xg-page-hero, .xg-hero, .xg-404, .broadband-hero) :is(.xg-page-hero__inner, .xg-hero__container, .xg-hero__strip, .container, .xg-404__content) { position: relative; z-index: 1; }
