/* LMSGEN public-site typography and readability layer.
   The product platform uses Montserrat for display/UI emphasis and Open Sans
   for highly readable supporting copy. Keep this marketing layer scoped to
   exported public pages only. */

/* The homepage uses a deliberate dark canvas. About, Blog and Contact use
   light page designs. Solutions has its own dark product canvas and therefore
   is excluded from this light-page override. */
html {
  background: #ffffff !important;
}

body.atelora-site-refresh:not(.atelora-home-refresh):not(.lmsgen-solutions-ready) {
  background: #ffffff !important;
  color: #003f3a !important;
}

body.atelora-site-refresh {
  font-family: "Open Sans", Arial, sans-serif !important;
}

body.atelora-site-refresh p,
body.atelora-site-refresh li,
body.atelora-site-refresh input,
body.atelora-site-refresh textarea,
body.atelora-site-refresh select,
body.atelora-site-refresh .paragraph-s,
body.atelora-site-refresh .paragraph-m,
body.atelora-site-refresh .paragraph-l,
body.atelora-site-refresh .hp-hero-p,
body.atelora-site-refresh .lmsgen-seo-lead,
body.atelora-site-refresh .lmsgen-pain-item-copy > p,
body.atelora-site-refresh .lmsgen-pain-outcome,
body.atelora-site-refresh .lmsgen-faq-item p,
body.atelora-site-refresh .lmsgen-audit-trust-copy > p,
body.atelora-site-refresh .lmsgen-audit-trust-links span {
  font-family: "Open Sans", Arial, sans-serif !important;
}

body.atelora-site-refresh h1,
body.atelora-site-refresh h2,
body.atelora-site-refresh h3,
body.atelora-site-refresh h4,
body.atelora-site-refresh h5,
body.atelora-site-refresh h6,
body.atelora-site-refresh .caption,
body.atelora-site-refresh .btn-primary,
body.atelora-site-refresh .lmsgen-pain-kicker,
body.atelora-site-refresh .lmsgen-pain-cta,
body.atelora-site-refresh .lmsgen-pain-number,
body.atelora-site-refresh .lmsgen-pain-outcome span,
body.atelora-site-refresh .lmsgen-seo-kicker,
body.atelora-site-refresh .lmsgen-audit-kicker,
body.atelora-site-refresh .lmsgen-audit-updated,
body.atelora-site-refresh .lmsgen-audit-trust-links strong {
  font-family: "Montserrat", Arial, sans-serif !important;
}

/* Blog typography must use the same complete type system as the homepage.
   The exported template assigns legacy fonts directly to several nested links,
   dates and rich-text elements, so cover every text-bearing descendant rather
   than fixing only the visible page heading. */
body.lmsgen-page-blog,
body.lmsgen-page-article,
body.lmsgen-page-blog main,
body.lmsgen-page-article main,
body.lmsgen-page-blog p,
body.lmsgen-page-blog li,
body.lmsgen-page-blog time,
body.lmsgen-page-blog .paragraph-s,
body.lmsgen-page-blog .paragraph-m,
body.lmsgen-page-blog .paragraph-l,
body.lmsgen-page-article p,
body.lmsgen-page-article li,
body.lmsgen-page-article time,
body.lmsgen-page-article .w-richtext {
  font-family: "Open Sans", Arial, sans-serif !important;
}

body.lmsgen-page-blog h1,
body.lmsgen-page-blog h2,
body.lmsgen-page-blog h3,
body.lmsgen-page-blog h4,
body.lmsgen-page-blog h5,
body.lmsgen-page-blog h6,
body.lmsgen-page-blog a,
body.lmsgen-page-blog button,
body.lmsgen-page-blog .caption,
body.lmsgen-page-blog .global-article-link,
body.lmsgen-page-blog .global-article-tag,
body.lmsgen-page-blog .global-article-date,
body.lmsgen-page-article h1,
body.lmsgen-page-article h2,
body.lmsgen-page-article h3,
body.lmsgen-page-article h4,
body.lmsgen-page-article h5,
body.lmsgen-page-article h6,
body.lmsgen-page-article a,
body.lmsgen-page-article button,
body.lmsgen-page-article .caption {
  font-family: "Montserrat", Arial, sans-serif !important;
}

body.lmsgen-page-blog h1,
body.lmsgen-page-blog h2,
body.lmsgen-page-blog h3,
body.lmsgen-page-article h1,
body.lmsgen-page-article h2,
body.lmsgen-page-article h3 {
  font-weight: 600 !important;
  letter-spacing: -0.035em !important;
}

/* Solutions: keep the intended dark canvas and replace the legacy exported
   condensed/oversized type scale with the proportional LMSGEN system. */
body.atelora-site-refresh.lmsgen-solutions-ready {
  background: #061311 !important;
  color: #edf4f2 !important;
}

body.lmsgen-solutions-ready main {
  background: #061311 !important;
  color: #edf4f2 !important;
}

body.lmsgen-solutions-ready main h1 {
  max-width: 112rem;
  margin-left: auto !important;
  margin-right: auto !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: clamp(4.4rem, 5.1vw, 7.2rem) !important;
  font-weight: 650 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.045em !important;
  text-transform: none !important;
  text-wrap: balance;
}

body.lmsgen-solutions-ready main h2,
body.lmsgen-solutions-ready main .h2 {
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: clamp(3.2rem, 3.8vw, 5.2rem) !important;
  font-weight: 650 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  text-transform: none !important;
  text-wrap: balance;
}

body.lmsgen-solutions-ready main h3,
body.lmsgen-solutions-ready main .h3,
body.lmsgen-solutions-ready main h4,
body.lmsgen-solutions-ready main .h4 {
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: clamp(2.4rem, 2.7vw, 3.8rem) !important;
  font-weight: 650 !important;
  line-height: 1.14 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
}

body.lmsgen-solutions-ready main .caption {
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.08em !important;
  color: #8fe4dc !important;
}

body.lmsgen-solutions-ready main p,
body.lmsgen-solutions-ready main li,
body.lmsgen-solutions-ready main .paragraph-s,
body.lmsgen-solutions-ready main .paragraph-m,
body.lmsgen-solutions-ready main .paragraph-l,
body.lmsgen-solutions-ready main .nsl-channels-p {
  font-family: "Open Sans", Arial, sans-serif !important;
  color: #d7e4e1 !important;
  line-height: 1.65 !important;
}

/* Preserve readable dark copy on the intentionally light assignment section
   inside Solutions. */
body.lmsgen-solutions-ready main .nsl-local-s,
body.lmsgen-solutions-ready main .nsl-local-s h1,
body.lmsgen-solutions-ready main .nsl-local-s h2,
body.lmsgen-solutions-ready main .nsl-local-s h3,
body.lmsgen-solutions-ready main .nsl-local-s h4,
body.lmsgen-solutions-ready main .nsl-local-s p,
body.lmsgen-solutions-ready main .nsl-local-s li,
body.lmsgen-solutions-ready main .nsl-local-s .paragraph-s,
body.lmsgen-solutions-ready main .nsl-local-s .paragraph-m,
body.lmsgen-solutions-ready main .nsl-local-s .paragraph-l,
body.lmsgen-solutions-ready main .nsl-local-s .nsl-channels-p {
  color: #003f3a !important;
}

body.lmsgen-solutions-ready main .nsl-local-s .caption {
  color: #006f68 !important;
}

/* The generated audience block is also a light section. It previously inherited
   the dark-page paragraph colour, making its intro and card copy nearly white. */
body.lmsgen-solutions-ready main .lmsgen-audience-section {
  background: #e7f7f4 !important;
  color: #003f3a !important;
  padding: clamp(10rem, 9vw, 13rem) clamp(2.4rem, 5vw, 7rem) clamp(9rem, 8vw, 12rem) !important;
  scroll-margin-top: 9rem;
}

body.lmsgen-solutions-ready main .lmsgen-audience-section .lmsgen-seo-inner {
  width: min(160rem, 100%) !important;
  margin: 0 auto !important;
}

body.lmsgen-solutions-ready main .lmsgen-audience-section .lmsgen-seo-kicker {
  color: #0b746d !important;
  opacity: 1 !important;
}

body.lmsgen-solutions-ready main .lmsgen-audience-section h2,
body.lmsgen-solutions-ready main .lmsgen-audience-section h3 {
  color: #003f3a !important;
}

body.lmsgen-solutions-ready main .lmsgen-audience-section .lmsgen-seo-lead {
  max-width: 96rem !important;
  margin-top: 2.4rem !important;
  color: #355c58 !important;
  opacity: 1 !important;
}

body.lmsgen-solutions-ready main .lmsgen-audience-grid {
  gap: clamp(1.8rem, 2vw, 2.8rem) !important;
  margin-top: clamp(4rem, 5vw, 6rem) !important;
}

body.lmsgen-solutions-ready main .lmsgen-audience-grid article {
  min-height: 27rem;
  padding: clamp(2.8rem, 2.4vw, 3.8rem) !important;
  background: #ffffff !important;
  border-color: rgba(0, 63, 58, 0.16) !important;
  border-radius: 2.2rem !important;
}

body.lmsgen-solutions-ready main .lmsgen-audience-grid h3 {
  margin: 0 0 1.8rem !important;
  color: #003f3a !important;
  opacity: 1 !important;
}

body.lmsgen-solutions-ready main .lmsgen-audience-grid p {
  margin: 0 !important;
  color: #496763 !important;
  opacity: 1 !important;
  line-height: 1.62 !important;
}

/* Learner management: give the two-column block enough breathing room on wide
   screens and prevent the content from sitting against the viewport edges. */
body.lmsgen-solutions-ready main .nsol-manage-s {
  padding: clamp(8rem, 8vw, 12rem) 0 clamp(9rem, 9vw, 14rem) !important;
}

body.lmsgen-solutions-ready main .nsol-manage-s > .container {
  width: 100% !important;
  max-width: 176rem !important;
  padding-left: clamp(2.8rem, 4vw, 6.4rem) !important;
  padding-right: clamp(2.8rem, 4vw, 6.4rem) !important;
  box-sizing: border-box !important;
}

body.lmsgen-solutions-ready main .nsol-manage-s .sl-feat-common-content-w.nsl {
  gap: clamp(4rem, 6vw, 9rem) !important;
  align-items: center !important;
}

body.lmsgen-solutions-ready main .nsol-manage-s .sl-feat-common-text-w.swap.no-padding {
  padding: 0 !important;
}

body.lmsgen-solutions-ready main .nsol-manage-s .sl-feat-common-text.long {
  max-width: 70rem !important;
}

body.lmsgen-solutions-ready main .nsol-manage-s .sl-feat-common-text h2 {
  margin-bottom: 2.4rem !important;
}

body.lmsgen-solutions-ready main .nsol-manage-s .sl-feat-common-text > p {
  margin-bottom: 2.4rem !important;
  color: #dbe8e5 !important;
  opacity: 1 !important;
}

body.lmsgen-solutions-ready main .nsol-manage-s .sl-feat-common-list {
  gap: 1.5rem !important;
}

body.lmsgen-solutions-ready main .nsol-manage-s .sl-feat-common-list-item,
body.lmsgen-solutions-ready main .nsol-manage-s .sl-feat-common-list-item div {
  color: #edf4f2 !important;
  opacity: 1 !important;
}

body.lmsgen-solutions-ready main .paragraph-l {
  font-size: clamp(1.7rem, 1.45vw, 2rem) !important;
}

body.lmsgen-solutions-ready main .paragraph-m {
  font-size: 1.7rem !important;
}

body.lmsgen-solutions-ready main .paragraph-s {
  font-size: 1.5rem !important;
}

body.lmsgen-solutions-ready .sl-hero-s {
  padding-top: clamp(6.4rem, 8vw, 10rem) !important;
  padding-bottom: clamp(5.6rem, 7vw, 9rem) !important;
}

body.lmsgen-solutions-ready .nsl-hero-title-w,
body.lmsgen-solutions-ready .sl-hero-c > div:first-child {
  max-width: 116rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.lmsgen-solutions-ready .nsl-hero-title-w > p,
body.lmsgen-solutions-ready .sl-hero-c > div:first-child > p {
  max-width: 78rem !important;
  margin: 2rem auto 0 !important;
  color: #cbdad7 !important;
}

/* Hero: add breathing room between the four display lines. */
body.atelora-home-refresh .hp-hero-h1 {
  font-family: "Montserrat", Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  text-wrap: balance;
}

body.atelora-home-refresh .caption.text-color-lemon.font-weight-normal {
  font-family: "Montserrat", Arial, sans-serif !important;
  font-weight: 600 !important;
}

body.atelora-home-refresh .hp-hero-p {
  font-family: "Open Sans", Arial, sans-serif !important;
  line-height: 1.62 !important;
}

/* Keep the SEO pain-point module visually consistent with the hero. */
body.atelora-home-refresh .lmsgen-pain-section-v2,
body.atelora-home-refresh .lmsgen-pain-item {
  font-family: "Open Sans", Arial, sans-serif !important;
}

body.atelora-home-refresh .lmsgen-pain-section-v2 .lmsgen-pain-intro h2 {
  font-family: "Montserrat", Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
}

body.atelora-home-refresh .lmsgen-pain-section-v2 .lmsgen-pain-item h3 {
  font-family: "Montserrat", Arial, sans-serif !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
}

body.atelora-home-refresh .lmsgen-pain-kicker,
body.atelora-home-refresh .lmsgen-pain-cta,
body.atelora-home-refresh .lmsgen-pain-number,
body.atelora-home-refresh .lmsgen-pain-outcome span {
  font-family: "Montserrat", Arial, sans-serif !important;
}

body.atelora-home-refresh .lmsgen-pain-intro > p,
body.atelora-home-refresh .lmsgen-pain-item-copy > p,
body.atelora-home-refresh .lmsgen-pain-outcome {
  font-family: "Open Sans", Arial, sans-serif !important;
}

@media (max-width: 991px) {
  body.lmsgen-solutions-ready main .nsol-manage-s {
    padding-top: 7rem !important;
    padding-bottom: 8rem !important;
  }

  body.lmsgen-solutions-ready main .nsol-manage-s .sl-feat-common-content-w.nsl {
    gap: 4.5rem !important;
  }

  body.lmsgen-solutions-ready main .nsol-manage-s .sl-feat-common-img-w.n-solutions,
  body.lmsgen-solutions-ready main .nsol-manage-s .sl-feat-common-text-w.swap.no-padding {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  body.atelora-home-refresh .hp-hero-h1 {
    line-height: 1.1 !important;
    letter-spacing: -0.035em !important;
  }

  body.lmsgen-solutions-ready main h1 {
    font-size: clamp(3.6rem, 10vw, 5rem) !important;
    line-height: 1.06 !important;
  }

  body.lmsgen-solutions-ready main h2,
  body.lmsgen-solutions-ready main .h2 {
    font-size: clamp(2.8rem, 8vw, 4rem) !important;
  }

  body.lmsgen-solutions-ready main h3,
  body.lmsgen-solutions-ready main .h3,
  body.lmsgen-solutions-ready main h4,
  body.lmsgen-solutions-ready main .h4 {
    font-size: clamp(2.2rem, 6vw, 3.2rem) !important;
  }

  body.lmsgen-solutions-ready main .lmsgen-audience-section {
    padding: 7rem 2rem 7.5rem !important;
  }

  body.lmsgen-solutions-ready main .lmsgen-audience-grid article {
    min-height: 0;
    padding: 2.6rem !important;
  }

  body.lmsgen-solutions-ready main .nsol-manage-s > .container {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}
