/* Match the selected light homepage. Hero spacing remains in the balanced stylesheet. */
body.subpage .topbar { display: none; }
body.subpage header { background: #fff; color: #19254e; box-shadow: none; border-bottom: 1px solid #dce3ef; }
body.subpage .nav-inner { position: relative; width: min(1440px, calc(100% - 64px)); min-height: 90px; gap: 18px; }
body.subpage .brand img { width: 270px; max-width: none; }
body.subpage .desktop-nav { gap: 18px; font-size: 16px; font-weight: 700; }
body.subpage .desktop-nav > a, body.subpage .nav-dropdown > summary { min-height: 90px; padding-inline: 10px; color: #19254e; }
body.subpage .desktop-nav > a.active, body.subpage .desktop-nav > a:hover, body.subpage .desktop-nav > a:focus-visible,
body.subpage .nav-dropdown > summary:hover, body.subpage .nav-dropdown > summary:focus-visible { color: #104cba; }
body.subpage .desktop-nav > a::after, body.subpage .nav-dropdown > summary::after { background: #1458df; }
body.subpage header .nav-shop-link { padding-inline: 12px; font-size: 16px; color: #19254e; border-color: transparent; flex-direction: row-reverse; }
body.subpage header .nav-shop-link svg { color: #1458df; }
body.subpage header .nav-shop-link:hover { background: #f0f5fd; color: #104cba; }
body.subpage .mobile-contact-actions a { color: #104cba; border-color: #d3dce9; }
body.subpage .mobile-nav > summary { border-color: #d3dce9; }
body.subpage .mobile-nav > summary span { background: #24305b; }
body.subpage .mobile-nav-panel { background: #fff; border-color: #dce3ef; box-shadow: 0 12px 24px #24305b1a; }
body.subpage .mobile-nav-panel a { color: #24305b; }
body.subpage .mobile-nav-panel a:hover, body.subpage .mobile-nav-panel a:focus-visible, body.subpage .mobile-nav-panel a.active { color: #104cba; background: #eef4ff; }
body.subpage .mobile-nav-label { color: #104cba; }
body.subpage header .mobile-shop-entry { border-color: #dce3ef; }
body.subpage a:focus-visible, body.subpage summary:focus-visible { outline: 3px solid #104cba; outline-offset: 4px; }


body.subpage { background: #fff; }
body.subpage.emergency-body .security-intro-layout > * { min-width: 0; overflow-wrap: break-word; }
body.subpage .nav-dropdown > summary.active { color: #104cba; }
body.subpage .mobile-contact-actions { display: none; }
body.subpage .mobile-contact-actions svg { width: 19px; height: 19px; }
body.subpage:not(.home-page) .hero {
  color: #24305b;
  background: linear-gradient(105deg, #fff 0%, #f7f9fd 60%, #edf3fc 100%);
  background-blend-mode: normal;
  border-bottom: 1px solid #dce3ef;
}
body.subpage .hero h1 { color: #19254e; text-transform: none; }
body.subpage .hero .eyebrow { color: #104cba; }
body.subpage .hero .lead,
body.subpage .hero .business-scope-note,
body.subpage .hero .business-scope-note strong,
body.subpage .hero .provider-switch-hero-note,
body.subpage .hero .security-check-commitment,
body.subpage .hero .security-check-price,
body.subpage .hero .security-check-price span:last-child { color: #24305b; }
/* The existing emergency rule uses !important. */
body.subpage .hero .emergency-availability { color: #24305b !important; }
body.subpage .hero .security-check-price { border-color: #1454dc; }
body.subpage .hero .security-check-price span:first-child { color: #104cba; }
body.subpage .hero .business-scope-note { border-color: #1454dc; }
body.subpage .hero h1::after { background: #1454dc; }
body.subpage .hero .button,
body.subpage .signage-hero .button {
  color: #fff; background: #1454dc; border: 1px solid #1454dc;
  border-radius: 5px; box-shadow: none;
}
body.subpage .hero .button::before,
body.subpage .signage-hero .button::before { display: none; }
body.subpage .hero .button:hover,
body.subpage .signage-hero .button:hover {
  background: #104cba; border-color: #104cba; box-shadow: none;
  filter: none; transform: translateY(-1px);
}
body.subpage .hero .button.secondary { color: #104cba; background: #fff; border-color: #b7c8e5; }
body.subpage .hero .button.secondary:hover { background: #eef4ff; border-color: #104cba; }
/* Signage retains its product photographs and the existing hero dimensions. */
body.subpage.signage-body .signage-hero { background: #f7f9fd; }
body.subpage.signage-body .signage-hero-band { background: #f7f9fd; color: #24305b; }
body.subpage.signage-body .signage-hero h1 { color: #19254e; text-transform: none; }
body.subpage.signage-body .signage-hero .signage-kicker { color: #104cba; }
body.subpage.signage-body .signage-hero-price span,
body.subpage.signage-body .signage-secondary,
body.subpage.signage-body .sg-article-meta { color: #24305b; }
body.subpage.contact-body .contact-details { background: #f0f5fc; color: #24305b; border: 1px solid #dce3ef; }
body.subpage.contact-body .contact-details h2,
body.subpage.contact-body .contact-details h3,
body.subpage.contact-body .contact-details p,
body.subpage.contact-body .contact-details a { color: #24305b; }
body.subpage.contact-body .contact-details .eyebrow { color: #104cba; }
body.subpage.contact-body .contact-hours div { border-color: #d3dfed; }
body.subpage.contact-body .contact-support { background: #fff; border-color: #1454dc; }
@media (min-width: 960px) {
  body.subpage.signage-body:not(.sg-growth) .signage-hero::before {
    content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(90deg, #fff 0%, #fff 44%, #ffffffed 48%, #ffffff00 63%);
  }
  body.subpage.signage-body:not(.sg-growth) .signage-hero-band { background: transparent; z-index: 2; }
}
@media (min-width: 1161px) and (max-width: 1370px) {
  body.subpage .nav-inner { width: calc(100% - 48px); gap: 12px; }
  body.subpage .brand img { width: 218px; }
  body.subpage .desktop-nav { gap: 6px; font-size: 15px; }
  body.subpage .desktop-nav > a, body.subpage .nav-dropdown > summary { padding-inline: 8px; }
  body.subpage header .nav-shop-link { font-size: 15px; padding-inline: 8px; }
}
@media (min-width: 901px) and (max-width: 1160px) {
  body.subpage .nav-inner { min-height: 76px; }
  body.subpage .mobile-nav > summary { top: 17px; right: 0; }
}
@media (max-width: 959px) {
  body.subpage.signage-body .signage-hero .signage-hero-image { height: 96px; object-position: center; }
}
@media (max-width: 900px) {
  body.subpage .nav-inner { width: calc(100% - 32px); min-height: 64px; gap: 8px; }
  body.subpage .brand img { width: 174px; }
  body.subpage .mobile-contact-actions { display: flex; margin-left: auto; margin-right: 50px; gap: 5px; }
  body.subpage .mobile-contact-actions a { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border: 1px solid #d3dce9; border-radius: 5px; }
  body.subpage .mobile-nav > summary { right: 0; top: 11px; }
  body.subpage .mobile-nav-panel { max-height: calc(100dvh - 64px); overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 760px) {
  body.subpage.signage-body .signage-hero .signage-hero-image { height: 80px; }
  body.subpage .seo-card-grid > *, body.subpage .services-grid > *,
  body.subpage .split > *, body.subpage .products-heading > * { min-width: 0; overflow-wrap: break-word; }
}
@media (max-width: 380px) {
  body.subpage .brand img { width: 134px; }
  body.subpage .mobile-contact-actions a { width: 36px; height: 40px; }
  body.subpage .mobile-contact-actions { margin-right: 47px; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  body.subpage .hero .button, body.subpage .signage-hero .button { transition: none; transform: none; }
}
