body.contact-page, body.signup-page, body.about-page, body.bing-page, body.faq-page {
  background: #0b0f14;
  color: #ffffff;
}
body.contact-page .sps--abv, body.signup-page .sps--abv, body.about-page .sps--abv, body.bing-page .sps--abv, body.faq-page .sps--abv {
  background: rgba(0,0,0,0.75);
  backdrop-filter: blur(6px);
}
body.contact-page .nav-link, body.signup-page .nav-link, body.about-page .nav-link, body.bing-page .nav-link, body.faq-page .nav-link {
  color: #fff !important;
}
body.contact-page #S1_contact, body.signup-page #S1_contact {
  min-height: 100vh;
  background: radial-gradient(circle at center, #1b2430 0%, #0b0f14 70%);
}
body.about-page #S1_adv, body.bing-page #S1_adv, body.faq-page #S1_faq {
  min-height: 100vh;
  background-image: linear-gradient(rgba(0,0,0,0.72), rgba(0,0,0,0.72)), url(../assets/img/adv_bg.jpg);
  background-size: cover;
  background-position: center;
}
body.about-page #companies {
  background: #fff;
  color: #222;
}
body.about-page #companies .h1_custom, body.about-page #companies h4, body.about-page #companies p, body.about-page #companies .row {
  color: #222;
}
body.contact-page .form-control, body.signup-page .form-control {
  min-height: 54px;
  background: rgba(255,255,255,0.96);
}
body.contact-page textarea.form-control, body.signup-page textarea.form-control {
  min-height: 180px;
}
body.contact-page .contact-card, body.signup-page .contact-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 10px;
  padding: 24px;
  box-shadow: 0 12px 32px rgba(0,0,0,0.25);
}
body.contact-page .intro-copy, body.signup-page .intro-copy {
  max-width: 560px;
}
body.faq-page .layout { width: 100% !important; float: none !important; }
body.faq-page .accordion__question p, body.faq-page .accordion__answer p { font-size: clamp(16px, 2vw, 20px) !important; }
body.faq-page .faq-panel { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 12px; padding: 24px; }
.logo-img { max-width: 260px; height: auto; display:block; }
.direct-email { font-weight: 600; }
@media (max-width: 767px) {
  body.contact-page #S1_contact, body.signup-page #S1_contact, body.about-page #S1_adv, body.bing-page #S1_adv, body.faq-page #S1_faq { padding-top: 86px; }
  .logo-img { max-width: 220px; }
}

body.publishers-page {
  background: #0b0f14;
  color: #ffffff;
}
body.publishers-page .sps--abv {
  background: rgba(0,0,0,0.75);
  backdrop-filter: blur(6px);
}
body.publishers-page .nav-link {
  color: #fff !important;
}
body.publishers-page .page-content {
  overflow: visible;
}
body.publishers-page #S1_pub {
  height: auto;
  min-height: 100vh;
  padding-top: 110px;
  padding-bottom: 110px;
}
body.publishers-page #S1_pub .FS-section {
  min-height: auto;
}
body.publishers-page #S1_pub .row {
  min-height: auto;
}
body.publishers-page #S1_pub h1 {
  max-width: 1100px;
}
body.publishers-page #S1_pub h3 {
  max-width: 980px;
}
body.publishers-page #S1_pub .SD-container,
body.publishers-page #S1_pub #colourBar {
  z-index: 5;
}
@media (max-width: 991px) {
  body.publishers-page #S1_pub {
    padding-top: 96px;
    padding-bottom: 90px;
  }
}
@media (max-width: 767px) {
  body.publishers-page #S1_pub {
    padding-top: 88px;
    padding-bottom: 80px;
  }
  body.publishers-page #S1_pub h1 {
    font-size: clamp(2.4rem, 10vw, 4rem);
    line-height: 1.05;
  }
  body.publishers-page #S1_pub h3 {
    font-size: 1.2rem;
  }
  body.publishers-page #S1_pub .btn {
    display: inline-block;
    margin-right: 8px;
    margin-bottom: 10px;
  }
}


/* Publishers hero above-the-fold tightening */
@media (min-width: 992px) {
  body.publishers-page #S1_pub {
    min-height: 100vh;
    padding-top: 112px;
    padding-bottom: 42px;
  }
  body.publishers-page #S1_pub .row {
    min-height: calc(100vh - 154px);
    align-items: flex-start !important;
  }
  body.publishers-page #S1_pub .col-md-8 {
    max-width: 1200px;
    padding-top: 14px;
  }
  body.publishers-page #S1_pub h1 {
    font-size: clamp(3.15rem, 4.15vw, 4.9rem);
    line-height: 0.98;
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0.5rem;
    max-width: 1050px;
  }
  body.publishers-page #S1_pub hr {
    margin-top: 0.85rem !important;
    margin-bottom: 0.85rem !important;
  }
  body.publishers-page #S1_pub h3 {
    font-size: clamp(1.08rem, 1.32vw, 1.46rem);
    line-height: 1.2;
    margin-top: 0 !important;
    margin-bottom: 0.6rem;
    max-width: 960px;
  }
  body.publishers-page #S1_pub .btn {
    margin-top: 1rem !important;
    padding: 0.68rem 1.2rem;
    font-size: 1rem;
  }
  body.publishers-page #S1_pub .SD-container {
    bottom: 10px;
  }
}


/* Publishers hero final desktop layout override */
@media (min-width: 992px) {
  body.publishers-page #S1_pub {
    padding-top: 138px !important;
    padding-bottom: 36px !important;
    min-height: 100vh;
  }
  body.publishers-page #S1_pub .FS-section {
    display: block !important;
  }
  body.publishers-page #S1_pub .row {
    min-height: auto !important;
    align-items: flex-start !important;
  }
  body.publishers-page #S1_pub .col-md-8,
  body.publishers-page #S1_pub .offset-md-1 {
    max-width: 78%;
  }
  body.publishers-page #S1_pub .col-md-8 {
    padding-top: 0 !important;
  }
  body.publishers-page #S1_pub h1 {
    font-size: clamp(3.0rem, 3.9vw, 4.7rem) !important;
    line-height: 0.94 !important;
    letter-spacing: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0.45rem !important;
    max-width: 980px !important;
  }
  body.publishers-page #S1_pub hr {
    margin-top: 0.9rem !important;
    margin-bottom: 1rem !important;
    width: 300px;
  }
  body.publishers-page #S1_pub h3 {
    font-size: clamp(1.0rem, 1.2vw, 1.35rem) !important;
    line-height: 1.28 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    max-width: 1200px !important;
  }
  body.publishers-page #S1_pub .btn {
    margin-top: 1.15rem !important;
    padding: 0.72rem 1.3rem !important;
    font-size: 1rem !important;
  }
  body.publishers-page #S1_pub .SD-container {
    bottom: 8px;
  }
}

@media (min-width: 992px) and (max-width: 1280px) {
  body.publishers-page #S1_pub h1 {
    font-size: clamp(2.7rem, 3.5vw, 4rem) !important;
    max-width: 900px !important;
  }
  body.publishers-page #S1_pub h3 {
    max-width: 980px !important;
  }
}


body.home-page .SD-container {
  bottom: 8px;
}
body.home-page .SD-container {
  pointer-events: none;
}
@media (min-width: 992px) {
  body.home-page #S1_inner .btn {
    margin-bottom: 18px;
  }
}
@media (max-width: 991px) {
  body.home-page .SD-container {
    bottom: 6px;
  }
}


/* Home hero arrow clear of buttons */
@media (min-width: 992px) {
  body.home-page .SD-container {
    display: none !important;
  }
  body.home-page #S1_inner .btn {
    margin-bottom: 0 !important;
  }
}


/* Top nav active state */
header .nav-menu a.active-nav,
header nav a.active-nav,
.site-navigation a.active-nav,
#menu a.active-nav,
a.active-nav {
  color: #ffffff !important;
  opacity: 1 !important;
}


/* Consistent top nav active state */
.navbar-nav .nav-link {
  color: rgba(255,255,255,0.72);
}
.navbar-nav .nav-item.active .nav-link,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
  color: #ffffff !important;
  opacity: 1 !important;
}
.overlay-menu .nav-link {
  color: #ffffff !important;
}



/* Force consistent desktop top-nav coloring across pages */
@media (min-width: 992px) {
  .navbar .navbar-nav .nav-link,
  .navbar-dark .navbar-nav .nav-link,
  nav.navbar .navbar-nav .nav-link,
  header .navbar-nav .nav-link {
    color: rgba(255,255,255,0.72) !important;
    opacity: 1 !important;
  }

  .navbar .navbar-nav .nav-item.active .nav-link,
  .navbar-dark .navbar-nav .nav-item.active .nav-link,
  nav.navbar .navbar-nav .nav-item.active .nav-link,
  header .navbar-nav .nav-item.active .nav-link,
  .navbar .navbar-nav .nav-link:hover,
  .navbar-dark .navbar-nav .nav-link:hover,
  .navbar .navbar-nav .nav-link:focus,
  .navbar-dark .navbar-nav .nav-link:focus {
    color: #ffffff !important;
    opacity: 1 !important;
  }
}

/* Keep mobile overlay links white */
.overlay-menu .nav-link,
.overlay-menu a {
  color: #ffffff !important;
}
