/* NextGen Wizards v1.3 final, isolated fixes. */
html { scroll-behavior: smooth; scroll-padding-top: 88px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { margin: 0 !important; padding: 0 !important; }
body { background: #080712; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
#ngw-home { margin: 0 !important; padding: 0 !important; scroll-behavior: smooth; overflow-x: clip; font-family: "Manrope", Arial, sans-serif !important; }
#ngw-home [id] { scroll-margin-top: 88px; }
#ngw-home h1, #ngw-home h2, #ngw-home h3, #ngw-home h4, #ngw-home h5, #ngw-home h6,
#ngw-home p, #ngw-home a, #ngw-home span, #ngw-home li, #ngw-home strong, #ngw-home small,
#ngw-home button, #ngw-home input, #ngw-home textarea, #ngw-home select, #ngw-home label,
#ngw-home summary, #ngw-home dt, #ngw-home dd { font-family: "Manrope", Arial, sans-serif !important; }
#ngw-home img, #ngw-home video, #ngw-home iframe { max-width: 100%; }

/* Desktop header keeps a small breathing gap above the navigation bar.
   Tablet/mobile spacing is still controlled by the responsive rules below. */
#ngw-home .ngw-site-header { top: 0 !important; margin: 0 !important; padding: 12px 0 8px !important; }
#ngw-home .ngw-site-header.ngw-site-scrolled { padding: 6px 0 6px !important; }
#ngw-home .ngw-site-nav { margin-top: 0 !important; }
.admin-bar #ngw-home .ngw-site-header { top: 32px !important; }
@media (max-width: 782px) { .admin-bar #ngw-home .ngw-site-header { top: 46px !important; } }

/* Services submenu is controlled only by hover on desktop/laptop. */
@media (min-width: 1001px) {
  #ngw-home .ngw-site-services > .ngw-site-dropdown {
    opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
    transform: translate(-50%, -8px) !important;
  }
  #ngw-home .ngw-site-services:hover > .ngw-site-dropdown {
    opacity: 1 !important; visibility: visible !important; pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
  }
}
@media (max-width: 1000px), (hover: none), (pointer: coarse) {
  #ngw-home .ngw-site-services > .ngw-site-dropdown { display: none !important; max-height: 0 !important; padding: 0 !important; }
  #ngw-home .ngw-site-services-toggle { justify-content: flex-start !important; }
  #ngw-home .ngw-site-services-toggle .ngw-site-chevron { display: none !important; }
}


@media (max-width: 700px) {
  #ngw-home .ngw-site-header-cta { display: none !important; }
  #ngw-home .ngw-site-nav { justify-content: space-between !important; }
  #ngw-home .ngw-site-menu-btn { margin-left: auto !important; }
}

/* Six testimonials retain the supplied card geometry without forcing other sections. */
#ngw-home .ngw-review-media .ngw-native-video {
  position: absolute; inset: 0; width: 100%; height: 100%; display: block;
  border: 0; object-fit: contain; background: #05050b;
}
#ngw-home .ngw-native-play { z-index: 3; }
#ngw-home .ngw-native-play.ngw-is-playing { opacity: 0; visibility: hidden; pointer-events: none; }
@media (max-width: 1020px) and (min-width: 701px) {
  #ngw-home .ngw-review-card:last-child { grid-column: auto !important; width: auto !important; margin-inline: 0 !important; }
}

/* Slightly larger replacement wizard; surrounding dashboard dimensions stay unchanged. */
#ngw-home .ngw-mini-wizard { width: 184px !important; right: -34px !important; bottom: -52px !important; }

/* Conservative laptop compaction: outer spacing and type only, never card/grid geometry. */
@media (min-width: 1025px) and (max-width: 1440px) {
  #ngw-home .ngw-section { padding-top: 70px !important; padding-bottom: 70px !important; }
  #ngw-home .ngw-section-sm { padding-top: 48px !important; padding-bottom: 48px !important; }
  #ngw-home .ngw-page-section { padding-top: 64px !important; padding-bottom: 64px !important; }
  #ngw-home .ngw-page-section--sm { padding-top: 44px !important; padding-bottom: 44px !important; }
  #ngw-home .ngw-hero, #ngw-home .ngw-page-hero, #ngw-home .ngw-service-hero, #ngw-home .ngw-team-hero { min-height: auto !important; padding-top: 42px !important; padding-bottom: 68px !important; }
  #ngw-home .ngw-heading { font-size: clamp(46px, 4.2vw, 60px) !important; }
  #ngw-home .ngw-heading-sm { font-size: clamp(33px, 3.1vw, 44px) !important; }
  #ngw-home .ngw-page-title { font-size: clamp(44px, 4.2vw, 59px) !important; }
  #ngw-home .ngw-lead, #ngw-home .ngw-page-lead { font-size: 15.5px !important; line-height: 1.64 !important; }
  #ngw-home .ngw-testimonials { padding-top: 66px !important; padding-bottom: 66px !important; }
  #ngw-home .ngw-mini-wizard { width: 158px !important; right: -22px !important; bottom: -44px !important; }
}

/* Mobile compaction: outer spacing and typography only. */
@media (max-width: 767px) {
  html { scroll-padding-top: 76px; }
  #ngw-home [id] { scroll-margin-top: 76px; }
  #ngw-home .ngw-section { padding-top: 50px !important; padding-bottom: 50px !important; }
  #ngw-home .ngw-section-sm { padding-top: 36px !important; padding-bottom: 36px !important; }
  #ngw-home .ngw-page-section { padding-top: 48px !important; padding-bottom: 48px !important; }
  #ngw-home .ngw-page-section--sm { padding-top: 34px !important; padding-bottom: 34px !important; }
  #ngw-home .ngw-hero, #ngw-home .ngw-page-hero, #ngw-home .ngw-service-hero, #ngw-home .ngw-team-hero { min-height: auto !important; padding-top: 34px !important; padding-bottom: 54px !important; }
  #ngw-home .ngw-heading { font-size: clamp(32px, 9.6vw, 42px) !important; line-height: 1.08 !important; }
  #ngw-home .ngw-heading-sm { font-size: clamp(28px, 8vw, 36px) !important; line-height: 1.1 !important; }
  #ngw-home .ngw-page-title { font-size: clamp(31px, 9vw, 40px) !important; line-height: 1.08 !important; }
  #ngw-home .ngw-lead, #ngw-home .ngw-page-lead { font-size: 14px !important; line-height: 1.6 !important; }
  #ngw-home .ngw-testimonials { padding-top: 50px !important; padding-bottom: 50px !important; }
  #ngw-home .ngw-mini-wizard { width: 108px !important; right: -10px !important; bottom: -32px !important; }
}
@media (max-width: 420px) {
  #ngw-home .ngw-section { padding-top: 44px !important; padding-bottom: 44px !important; }
  #ngw-home .ngw-page-section { padding-top: 43px !important; padding-bottom: 43px !important; }
  #ngw-home .ngw-heading { font-size: clamp(30px, 9.4vw, 37px) !important; }
  #ngw-home .ngw-page-title { font-size: clamp(29px, 9vw, 36px) !important; }
}
@media (prefers-reduced-motion: reduce) { html, #ngw-home { scroll-behavior: auto !important; } }
