:root {
  --red: #e02040;
  --crimson: #c01030;
  --white: #ffffff;
  --muted: rgba(255, 255, 255, 0.55);
  --border: rgba(255, 255, 255, 0.12);
  --deep: #0d0730;
  --nexus-page-x: 1.5rem;
}

body {
  background: var(--color-background, #ffffff) !important;
  background-color: var(--color-background, #ffffff) !important;
  color: var(--color-foreground, #1f2937);
}

/* Keep LMS hero content centered with equal side spacing */
.s_nexus_lms_hero_container{
  justify-content: center;
}

/* Global text wrapping to prevent overflow on mobile/tablet */
h1, h2, h3, h4, h5, h6,
p, a, span, li, label, small, strong, em, div {
  overflow-wrap: anywhere;
  word-break: break-word;
}


.challenges {
  background: linear-gradient(180deg, var(--deep) 0%, #130844 100%);
  position: relative;
}

/* Default horizontal padding for Nexus sections that use `padding: <y> 0` */
.s_nexus_challenges,
.s_nexus_features,
.s_nexus_roles,
.s_nexus_how,
.s_nexus_benefits,
.s_nexus_revenue,
.s_nexus_marquee,
.s_nexus_mv,
.s_nexus_stats,
.s_nexus_story,
.s_nexus_values,
.s_nexus_features_main,
.s_nexus_how_section,
.s_nexus_tech,
.s_nexus_lms_hero,
.s_nexus_lms_features,
.s_nexus_lms_scale,
.s_nexus_lms_process,
.s_nexus_lms_roles,
.s_nexus_lms_pricing,
.s_nexus_lms_fp_hero,
.s_nexus_lms_fp_infra,
.s_nexus_lms_fp_academic,
.s_nexus_lms_fp_business,
.s_nexus_lms_ap_hero,
.s_nexus_lms_ap_mission,
.s_nexus_lms_ap_principles,
.s_nexus_lms_ap_quote {
  padding-left: var(--nexus-page-x) !important;
  padding-right: var(--nexus-page-x) !important;
}

/* Odoo header styled to match Nexus reference */
#wrapwrap>header,
#top {
  position: sticky;
  top: 0;
  z-index: 950;
  width: 100%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: #340d93 !important;
  color: #fff !important;
  backdrop-filter: blur(24px);
}

#top nav.navbar {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

header#top .container {
  max-width: var(--container-7xl, 80rem) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--nexus-page-x) !important;
  padding-right: var(--nexus-page-x) !important;
}

#top #o_main_nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 100%;
  padding: 0 !important;
}

#top .navbar-brand.logo img {
  max-height: 3.75rem;
  width: auto;
}

#top #top_menu {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.25rem !important;
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

#top #top_menu .nav-link,
#top #top_menu .dropdown-toggle {
  border-radius: 999px !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: rgba(214, 200, 247, 0.78) !important;
  transition: background-color .15s ease, color .15s ease;
}

#top #top_menu .nav-link:hover,
#top #top_menu .dropdown-toggle:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
}

#top #top_menu .nav-link.active,
#top #top_menu .nav-item.active>.nav-link,
#top #top_menu .nav-link[aria-current="page"] {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
  font-weight: 600 !important;
}

/* Dropdown UI: clean branded panel */
#top #top_menu .dropdown-menu {
  margin-top: 0.5rem !important;
  border-radius: 0.9rem !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: #2b0a80 !important;
  box-shadow: 0 18px 34px -20px rgba(6, 2, 35, 0.9) !important;
  overflow: hidden;
  min-width: 13rem;
}

#top #top_menu .dropdown-item {
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: rgba(236, 230, 255, 0.9) !important;
  padding: 0.6rem 0.95rem !important;
  background: transparent !important;
}

#top #top_menu .dropdown-item:hover,
#top #top_menu .dropdown-item:focus,
#top #top_menu .dropdown-item.active {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

#top #top_menu .dropdown-divider {
  border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

@media (min-width: 992px) {
  /* Keep dropdown open while moving cursor from trigger to menu */
  #top .o_header_standard .dropdown,
  #top .o_header_standard .js_language_selector {
    position: relative;
  }

  #top .o_header_standard .dropdown-menu {
    margin-top: 0 !important;
  }

  #top .o_header_standard .dropdown-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -10px;
    height: 10px;
  }

  #top .o_header_standard .dropdown:hover > .dropdown-menu,
  #top .o_header_standard .dropdown:focus-within > .dropdown-menu,
  #top .o_header_standard .js_language_selector:hover > .dropdown-menu,
  #top .o_header_standard .js_language_selector:focus-within > .dropdown-menu {
    display: block;
  }
}

#top #top_menu .dropdown-toggle::after {
  color: rgba(236, 230, 255, 0.9) !important;
  vertical-align: middle;
}

#top #top_menu .fa,
#top #top_menu .oi,
#top #top_menu [class*="fa-"] {
  opacity: 1 !important;
  color: currentColor !important;
}

#top #o_main_nav>.navbar-nav.align-items-center {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

#top a[href*="/web/login"] {
 font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: rgba(255, 255, 255, 0.82) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0.25rem 0.5rem !important;
}

#top a[href*="/web/login"]:hover {
  color: #fff !important;
}

#top .btn_cta,
#top .o_header_standard .btn_cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  padding: 0.625rem 1.25rem !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #fff !important;
  background: linear-gradient(135deg, #ff0f64 0%, #ff2d58 100%) !important;
  box-shadow: 0 12px 28px -14px rgba(255, 25, 100, 0.9);
  border: 0 !important;
}

#top .btn_cta:hover {
  transform: translateY(-2px);
}

/* Reference header skin for existing custom header markup */
header.sticky.top-0.z-50.w-full {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: #29067a !important;
  color: #fff !important;
  backdrop-filter: blur(24px);
}

header.sticky.top-0.z-50.w-full>div {
  max-width: var(--container-7xl, 80rem) !important;
  min-height: 5rem !important;
}

header.sticky.top-0.z-50.w-full img {
  max-height: 3.75rem !important;
  width: auto !important;
}

header.sticky.top-0.z-50.w-full nav a {
  border-radius: 999px !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  color: rgba(214, 200, 247, 0.78) !important;
  transition: background-color .15s ease, color .15s ease;
}

header.sticky.top-0.z-50.w-full nav a:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
}

header.sticky.top-0.z-50.w-full nav a.active,
header.sticky.top-0.z-50.w-full nav a[aria-current="page"] {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
  font-weight: 600 !important;
}

header.sticky.top-0.z-50.w-full a[href*="/contact"] {
  color: rgba(255, 255, 255, 0.82) !important;
}

header.sticky.top-0.z-50.w-full a[href*="/register"] {
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, #ff0f64 0%, #ff2d58 100%) !important;
  box-shadow: 0 12px 28px -14px rgba(255, 25, 100, 0.9);
  border: 0 !important;
}

header.sticky.top-0.z-50.w-full button[aria-label="Toggle menu"] {
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
  background: transparent !important;
}

#top .o_header_mobile .navbar-toggler,
#top .o_header_mobile .navbar-toggler:focus {
  width: 2.5rem !important;
  height: 2.5rem !important;
  min-width: 2.5rem !important;
  min-height: 2.5rem !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 0.5rem !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
  padding: 0 !important;
}

#top .o_header_mobile .navbar-toggler-icon {
  filter: invert(1) brightness(2) !important;
}

/* Exact Odoo mobile menu button from inspect HTML */
#top .o_header_mobile button[aria-controls="top_menu_collapse_mobile"].nav-link.btn {
  width: 2.5rem !important;
  height: 2.5rem !important;
  min-width: 2.5rem !important;
  min-height: 2.5rem !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 0.5rem !important;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
  padding: 0 !important;
}

#top .o_header_mobile button[aria-controls="top_menu_collapse_mobile"].nav-link.btn .navbar-toggler-icon {
  filter: none !important;
  width: 1.1rem !important;
  height: .9rem !important;
  background-image:
    linear-gradient(#ffffff, #ffffff),
    linear-gradient(#ffffff, #ffffff),
    linear-gradient(#ffffff, #ffffff) !important;
  background-size: 100% 2px, 100% 2px, 100% 2px !important;
  background-position: center top, center center, center bottom !important;
  background-repeat: no-repeat !important;
}

#top .o_header_mobile .offcanvas {
  background: #29067a !important;
  color: #fff !important;
}

#top .o_header_mobile .offcanvas .nav-link,
#top .o_header_mobile .offcanvas .dropdown-toggle {
  border-radius: 0.75rem !important;
  padding: 0.62rem 0.85rem !important;
  color: rgba(234, 226, 255, 0.9) !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
}

#top .o_header_mobile .offcanvas .nav-link:hover,
#top .o_header_mobile .offcanvas .dropdown-toggle:hover,
#top .o_header_mobile .offcanvas .nav-link.active {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.12) !important;
}

#top .o_header_mobile .offcanvas .dropdown-menu {
  margin-top: 0.35rem !important;
  background: #2b0a80 !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 0.75rem !important;
  box-shadow: none !important;
}

/* Language selector: mirror My Account dropdown styling on all devices */
#top .js_language_selector > .dropdown-toggle {
  border: 1px solid rgba(255, 255, 255, 0.20) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: rgba(236, 230, 255, 0.95) !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
}

#top .js_language_selector > .dropdown-toggle:hover,
#top .js_language_selector > .dropdown-toggle:focus {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
}

#top .js_language_selector .dropdown-menu {
  margin-top: 0 !important;
  border-radius: 0.8rem !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: #2b0a80 !important;
  opacity: 1 !important;
  padding: 0.35rem !important;
  box-shadow: 0 18px 34px -20px rgba(6, 2, 35, 0.9) !important;
}

#top .js_language_selector .dropdown-item {
  color: rgba(236, 230, 255, 0.92) !important;
  font-size: 0.875rem !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 500 !important;
  border-radius: 0.55rem !important;
  padding: 0.6rem 0.9rem !important;
  background: transparent !important;
}

#top .js_language_selector .dropdown-item:hover,
#top .js_language_selector .dropdown-item:focus {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.1) !important;
}

#top .js_language_selector .dropdown-item.active {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.16) !important;
  font-weight: 600 !important;
}

#top .js_language_selector .dropdown-divider {
  border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
}

/* Offcanvas/mobile language menu should match account dropdown panel */
#top .o_navbar_mobile .js_language_selector .dropdown-menu {
  margin-top: 0.35rem !important;
  border-radius: 0.75rem !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: #2b0a80 !important;
  opacity: 1 !important;
  padding: 0.35rem !important;
  box-shadow: none !important;
}

#top .o_navbar_mobile .js_language_selector .dropdown-item {
  color: rgba(236, 230, 255, 0.95) !important;
  border-radius: 0.5rem !important;
  padding: 0.55rem 0.75rem !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
}

#top .o_navbar_mobile .js_language_selector .dropdown-item:hover,
#top .o_navbar_mobile .js_language_selector .dropdown-item:focus {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #fff !important;
}

#top .o_navbar_mobile .js_language_selector .dropdown-item.active {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.16) !important;
  font-weight: 600 !important;
}


div#o_main_nav .container {
  width: 100%;
  max-width: 100%;
}

/* Nexus footer skin for current Odoo-generated footer structure */
#bottom,
.o_footer {
  background: #29067a !important;
  border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
  color: #fff !important;
}

#bottom #footer,
.o_footer #footer {
  background: transparent !important;
}

#bottom .s_text_block,
.o_footer .s_text_block {
  background: transparent !important;
  padding-top: 4rem !important;
  padding-bottom: 2rem !important;
}

#bottom .s_text_block .container .row,
.o_footer .s_text_block .container .row {
  max-width: var(--container-7xl, 80rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--nexus-page-x) !important;
  padding-right: var(--nexus-page-x) !important;
}

#bottom .s_text_block .row.o_grid_mode,
.o_footer .s_text_block .row.o_grid_mode {
  position: relative;
}

#bottom .s_text_block .row.o_grid_mode::after,
.o_footer .s_text_block .row.o_grid_mode::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 3.4rem;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
}

#bottom h1,
#bottom h2,
#bottom h3,
#bottom h4,
#bottom h5,
#bottom h6,
.o_footer h1,
.o_footer h2,
.o_footer h3,
.o_footer h4,
.o_footer h5,
.o_footer h6 {
  color: #fff !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

#bottom p,
#bottom .small,
.o_footer p,
.o_footer .small,
.o_footer span {
  color: rgba(255, 255, 255, 0.70);
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
}

#bottom a,
.o_footer a {
  color: color-mix(in oklab, var(--color-white) 70%, transparent);
  text-decoration: none !important;
  transition: color .2s ease, background-color .2s ease;
}

h6 span {
  color: #fff !important;
}

#bottom p,
.o_footer p {
  font-size: 0.9rem;
}

.fa-youtube:before,
.fa-twitter:before,
.fa-facebook-f:before,
.fa-facebook:before,
.fa-linkedin-in:before,
.fa-linkedin:before {
  font-size: 1.1rem;
}

#bottom a:hover,
.o_footer a:hover {
  color: #fff !important;
}

/* Force Odoo utility color classes used inside footer content */
#bottom .text-900,
#bottom .text-black,
#bottom .text-muted,
.o_footer .text-900,
.o_footer .text-black,
.o_footer .text-muted {
  color: rgba(255, 255, 255, 0.72) !important;
}

#bottom h6,
.o_footer h6 {
  font-size: 1rem !important;
  margin-bottom: .55rem !important;
}

#bottom p,
.o_footer p {
  font-size: 1.02rem;
  line-height: 1.6;
}

/* Logo block */
#bottom .o_grid_item_image img,
.o_footer .o_grid_item_image img {
  max-height: 4rem !important;
  width: auto !important;
  object-fit: contain !important;
  margin-left: 0 !important;
}

/* Social icons */
#bottom .s_social_media,
.o_footer .s_social_media {
  display: flex !important;
  align-items: center;
  gap: .75rem;
}
.fa.rounded-empty-circle{
  width: 2.5rem !important;
  height: 2.5rem !important;
}

#bottom .s_social_media a:hover,
.o_footer .s_social_media a:hover {
  background: rgba(255, 255, 255, 0.10) !important;
}

#bottom .s_social_media a i,
.o_footer .s_social_media a i {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: .9rem !important;
  line-height: 1 !important;
  background: transparent !important;
  opacity: 1 !important;
}

#bottom .s_social_media a:hover i,
.o_footer .s_social_media a:hover i {
  color: #fff !important;
}

/* Copyright row (last two grid items in your structure) */
#bottom .s_text_block .row.o_grid_mode>.o_grid_item:nth-last-child(-n+2),
.o_footer .s_text_block .row.o_grid_mode>.o_grid_item:nth-last-child(-n+2) {
  border-top: 0 !important;
  margin-top: .5rem;
  padding-top: .75rem !important;
}

#bottom .s_text_block .row.o_grid_mode>.o_grid_item:last-child p,
.o_footer .s_text_block .row.o_grid_mode>.o_grid_item:last-child p {
  text-align: right !important;
}

.o_footer .o_grid_mode {
  --grid-item-padding-y: 0 !important;
  --grid-item-padding-x: 0 !important;
}

/* Tenant Register page: use shared page-x and prevent plan-card squeeze */
.saas-register-page .saas-register-main {
  padding-left: var(--nexus-page-x) !important;
  padding-right: var(--nexus-page-x) !important;
}

.saas-register-page .saas-register-grid {
  align-items: start !important;
}

.saas-register-page .saas-register-plans-col,
.saas-register-page .saas-register-form-card,
.saas-register-page .saas-plan-card,
.saas-register-page .plan-card {
  min-width: 0 !important;
}

@media (max-width: 1199.98px) {
  .saas-register-page .saas-register-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  .saas-register-page .saas-register-grid > .col-lg-7,
  .saas-register-page .saas-register-grid > .col-lg-5 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }
}

#wrapwrap header,
#top {
  position: sticky !important;
  top: 0 !important;
  z-index: 950 !important;
  background: #29067a !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
  color: #ffffff !important;
  backdrop-filter: blur(24px);
}

@media (max-width: 992px) {
  :root {
    --nexus-page-x: 1.35rem;
  }

  /* Prevent horizontal scroll from any wide/positioned elements */
  #wrapwrap,
  #wrapwrap>main {
    overflow-x: hidden;
  }

  /* Content grids: reduce columns on tablet */
  .s_nexus_roles_grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .s_nexus_rev_cards {
    grid-template-columns: 1fr !important;
  }

  .s_nexus_cta_split_grid {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }

  .s_nexus_about_hero {
    padding-left: var(--nexus-page-x) !important;
    padding-right: var(--nexus-page-x) !important;
  }

  .s_nexus_about_cta {
    padding-left: var(--nexus-page-x) !important;
    padding-right: var(--nexus-page-x) !important;
  }

  /* About page grids */
  .s_nexus_values_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .s_nexus_stats_row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .s_nexus_stat_block:nth-child(2n) {
    border-right: none !important;
  }

  #top .navbar-brand.logo img {
    max-height: 3rem;
  }
   #bottom .s_text_block .row.o_grid_mode > .o_grid_item:nth-last-child(2),
  .o_footer .s_text_block .row.o_grid_mode > .o_grid_item:nth-last-child(2) {
    order: 98 !important;
    margin-top: 1rem !important;
    padding-top: 1rem !important;
    border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
  }

  #bottom .s_text_block .row.o_grid_mode > .o_grid_item:last-child,
  .o_footer .s_text_block .row.o_grid_mode > .o_grid_item:last-child {
    order: 99 !important;
  }
   #bottom .s_text_block .row.o_grid_mode::after,
  .o_footer .s_text_block .row.o_grid_mode::after {
    display: none !important;
  }
}

@media (max-width: 768px) {
  :root {
    --nexus-page-x: 1.25rem;
  }

  /* Global: avoid side overflow on small screens */
  body {
    overflow-x: hidden;
  }

  /* HERO: stack content + stats, remove absolute positioning */
  .s_nexus_hero {
    min-height: auto !important;
    padding: 120px var(--nexus-page-x) 72px !important;
    align-items: flex-start !important;
  }

  .s_nexus_about_hero {
    min-height: auto !important;
    padding: 120px var(--nexus-page-x) 72px !important;
    align-items: flex-start !important;
  }

  .s_nexus_about_hero_content {
    max-width: 100% !important;
  }

  .s_nexus_about_hero_actions {
    flex-wrap: wrap;
  }

  .s_nexus_hero_content {
    max-width: 100% !important;
    padding-right: 0 !important;
  }

  .s_nexus_hero_actions {
    flex-wrap: wrap;
  }

  .s_nexus_hero_stats {
    position: static !important;
    transform: none !important;
    animation: none !important;
    opacity: 1 !important;
    margin-top: 24px;
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px !important;
  }

  .s_nexus_stat_card {
    min-width: 0 !important;
    padding: 14px 14px !important;
  }

  .s_nexus_stat_num {
    font-size: 2.2rem !important;
  }

  /* SECTION GRIDS: switch to single column */
  .s_nexus_challenges_grid,
  .s_nexus_features_layout,
  .s_nexus_benefits_layout,
  .s_nexus_roles_grid,
  .s_nexus_steps,
  .s_nexus_rev_cards,
  .s_nexus_mv_grid,
  .s_nexus_story_layout,
  .s_nexus_values_grid {
    grid-template-columns: 1fr !important;
  }

  /* FEATURES: disable sticky visual on mobile */
  .s_nexus_features_visual {
    position: static !important;
    top: auto !important;
  }

  .s_nexus_visual_box {
    aspect-ratio: auto !important;
    padding: 22px 18px !important;
  }

  .s_nexus_vb_metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* HOW: remove the connecting line on mobile */
  .s_nexus_steps::before {
    display: none !important;
  }

  .s_nexus_step {
    padding: 0 !important;
  }

  .s_nexus_challenge_item {
    padding: 22px 18px !important;
  }

  .s_nexus_benefit_col {
    padding: 22px 18px !important;
  }

  .s_nexus_role_card {
    padding: 26px 18px !important;
  }

  .s_nexus_mv_card,
  .s_nexus_story_visual,
  .s_nexus_value_card {
    padding: 26px 18px !important;
  }

  /* CTA: remove wide padding on small screens (CTA uses its own left/right) */
  .s_nexus_cta,
  .s_nexus_about_cta {
    padding: 84px var(--nexus-page-x) !important;
  }

  .s_nexus_cta_split_grid {
    gap: 36px !important;
  }

  /* REVENUE: ring smaller */
  .s_nexus_rev_ring {
    width: 160px !important;
    height: 160px !important;
    margin: 34px auto !important;
  }
}

@media (max-width: 576px) {

  /* HERO: stats single column on very small phones */
  .s_nexus_hero_stats {
    grid-template-columns: 1fr !important;
  }

  .s_nexus_hero {
    padding-top: 108px !important;
  }

  .s_nexus_btn_primary,
  .s_nexus_btn_ghost {
    width: 100%;
    text-align: center;
  }

  /* Reduce large section spacing slightly */
  .s_nexus_challenges,
  .s_nexus_roles,
  .s_nexus_benefits,
  .s_nexus_revenue,
  .s_nexus_cta,
  .s_nexus_mv,
  .s_nexus_stats,
  .s_nexus_story,
  .s_nexus_values,
  .s_nexus_about_cta {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }

  .s_nexus_about_hero {
    padding-top: 108px !important;
  }

  .s_nexus_stats_row {
    grid-template-columns: 1fr !important;
  }

  .s_nexus_stat_block {
    border-right: none !important;
    border-bottom: 1px solid var(--border);
    padding: 32px 18px !important;
  }

  .s_nexus_stat_block:last-child {
    border-bottom: none;
  }

  /* Footer: stack items naturally and keep copyright lines at bottom */
  #bottom .s_text_block .row.o_grid_mode,
  .o_footer .s_text_block .row.o_grid_mode {
    display: flex !important;
    flex-direction: column !important;
    gap: 0rem !important;
  }

  #bottom .s_text_block .row.o_grid_mode > .o_grid_item,
  .o_footer .s_text_block .row.o_grid_mode > .o_grid_item {
    position: static !important;
    grid-area: auto !important;
    width: 100% !important;
    margin: 0 !important;
  }

  #bottom .s_text_block .row.o_grid_mode > .o_grid_item:nth-last-child(2),
  .o_footer .s_text_block .row.o_grid_mode > .o_grid_item:nth-last-child(2) {
    order: 98 !important;
    margin-top: 1rem !important;
    padding-top: 1rem !important;
    border-top: 1px solid rgba(255, 255, 255, 0.10) !important;
  }

  #bottom .s_text_block .row.o_grid_mode > .o_grid_item:last-child,
  .o_footer .s_text_block .row.o_grid_mode > .o_grid_item:last-child {
    order: 99 !important;
  }

  #bottom .s_text_block .row.o_grid_mode::after,
  .o_footer .s_text_block .row.o_grid_mode::after {
    display: none !important;
  }

  #bottom .s_text_block .row.o_grid_mode > .o_grid_item:last-child p,
  .o_footer .s_text_block .row.o_grid_mode > .o_grid_item:last-child p {
    text-align: center !important;
  }
  .o_grid_item.g-col-lg-4.o_colored_level.g-height-1.col-lg-4 p {
    font-size: 14px !important;
    margin-bottom: 0;
}
}

.s_nexus_section_label {
  display: flex;
  align-items: center;
  gap: 10px;

}

.s_nexus_section_label::after {
  content: '';
  display: block;
  width: 50px;
  height: 1px;
  background: var(--red);
}

section .container {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.s_nexus_section_sub {
  font-family: 'Inter', sans-serif;
}

/* Defensive: avoid any layout overflow from max-width elements */
.s_nexus_cta_split_grid,
.s_nexus_cta_form_wrap,
.s_nexus_subdomain_preview,
.s_nexus_visual_box {
  max-width: 100%;
  box-sizing: border-box;
}

.s_nexus_mv_grid,
.s_nexus_stats_row,
.s_nexus_story_layout,
.s_nexus_story_visual,
.s_nexus_values_grid,
.s_nexus_value_card,
.s_nexus_about_cta_inner {
  max-width: 100%;
  box-sizing: border-box;
}

.s_nexus_btn_primary,
.s_nexus_section_label,
.s_nexus_section_link,
.s_nexus_section_sub,
.s_nexus_ch_tag,
.s_nexus_ch_desc,
.s_nexus_feat_card_desc,
.s_nexus_vb_metric_l,
.s_nexus_vb_bar_row,
.s_nexus_role_perms li,
.s_nexus_step_desc,
.s_nexus_benefit_list li span,
.s_nexus_rev_card_desc,
.s_nexus_cta_sub,
.s_nexus_cta_perk,
.s_nexus_cta_contact_link,
.s_nexus_form_label,
.s_nexus_stat_label {
  font-family: "Inter", sans-serif;
}

/* Tenant Register: keep selector circle + checkbox shapes stable on all devices */
.saas-register-page .plan-card .selection-indicator {
  width: 1.25rem !important;
  height: 1.25rem !important;
  min-width: 1.25rem !important;
  min-height: 1.25rem !important;
  flex: 0 0 1.25rem !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  display: inline-block !important;
  margin-top: 0.125rem !important;
}

.saas-register-page .saas-register-check {
  align-items: flex-start !important;
  gap: 0.75rem !important;
  flex-wrap: nowrap !important;
}

.saas-register-page .saas-register-check .form-check-input {
  width: 1rem !important;
  height: 1rem !important;
  min-width: 1rem !important;
  min-height: 1rem !important;
  flex: 0 0 1rem !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 0.2rem !important;
  box-sizing: border-box !important;
  margin-top: 0.2rem !important;
}

.s_nexus_subtitle,
.s_nexus_ch_title,
.s_nexus_section_title,
.s_nexus_benefit_col_title,
.s_nexus_cta_title {
  font-family: "Inter", sans-serif;
}

.s_nexus_stat_num {
  font-family: 'Space Grotesk', sans-serif;
}
