/* Typography-only brand alignment for templates using header.php. */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@300;400;500;600;700&display=swap");

:root {
  --Royal-Blue-Blue-50: #e7eef8;
  --Royal-Blue-Blue-150: #b8d0fd;
  --Royal-Blue-Blue-200: #9fbae4;
  --Royal-Blue-Blue-350: #5886d0;
  --Royal-Blue-Blue-400: #4075c9;
  --Royal-Blue-Blue-450: #2863c3;
  --Royal-Blue-Blue-500: #0e48a5;
  --Royal-Blue-Blue-550: #0c3b87;
  --Royal-Blue-Blue-600: #0a3578;
  --Royal-Blue-Blue-750: #07214b;
  --Royal-Blue-Blue-850: #051a3c;
  --Royal-Blue-Blue-900: #051a3c;
  --Violet-Violet-50: #f0ebf7;
  --Violet-Violet-250: #b499d7;
  --Violet-Violet-450: #7747b6;
  --Violet-Violet-500: #55298e;
  --Violet-Violet-550: #4d2580;
  --SkyBlue-SkyBlue-500: #12b6f8;
  --Turquoise-SkyBlue-500: #1ca9c9;
  --Base-White: #fcfcfc;
  --Penn-Blue: #001040;
  --Absolute-Black: #212121;
  --Grey-Grey-100: #fbfbfb;
  --Grey-Grey-200: #f7f7f7;
  --Grey-Grey-600: #bbbbbb;
  --Grey-Grey-700: #8c8c8c;
  --Grey-Grey-800: #5e5e5e;
  --Grey-Grey-900: #2f2f2f;
  --Map-Grey: #eaeaea;
  --cool-101828: #101828;
  --Light-Body-Text: #4a5568;
  --AI-Agents-Text: linear-gradient(
    83.02deg,
    #4ae7ff 51.42%,
    #4075c9 63.25%,
    #e879f9 76.03%
  );
  --Explore-Button: linear-gradient(
    270deg,
    #7747b6 0%,
    #4075c9 50.7%,
    #1ca9c9 100%
  );
  --Search-Glow: linear-gradient(
    86.83deg,
    #22d3ee 0.77%,
    #3b82f6 50%,
    #e879f9 99.23%
  );
}

body.lumenore-typography-system h1,
body.lumenore-typography-system h2,
body.lumenore-typography-system h3,
body.lumenore-typography-system h4,
body.lumenore-typography-system h5,
body.lumenore-typography-system h6,
body.lumenore-typography-system .h1,
body.lumenore-typography-system .h2,
body.lumenore-typography-system .h3,
body.lumenore-typography-system .h4,
body.lumenore-typography-system .h5,
body.lumenore-typography-system .h6,
body.lumenore-typography-system .page-title,
body.lumenore-typography-system .entry-title,
body.lumenore-typography-system .section-title,
body.lumenore-typography-system .section-heading,
body.lumenore-typography-system .section__title,
body.lumenore-typography-system .mainHeading,
body.lumenore-typography-system .subHeading,
body.lumenore-typography-system .card-title,
body.lumenore-typography-system .hero-title,
body.lumenore-typography-system .hero-heading,
body.lumenore-typography-system .bannerTitle,
body.lumenore-typography-system .bannerTitle h1,
body.lumenore-typography-system .bannerTitle h2,
body.lumenore-typography-system .hbannerTitle,
body.lumenore-typography-system .hbannerTitle h1,
body.lumenore-typography-system .hbannerTitle h2,
body.lumenore-typography-system .footer-cta-text h3,
body.lumenore-typography-system .footer-col h4 {
  font-family: "Space Grotesk", sans-serif !important;
  font-weight: 300 !important;
}

body.lumenore-typography-system .fa {
  font-family: FontAwesome !important;
}

body.lumenore-typography-system .material-icons,
body.lumenore-typography-system .material-symbols-rounded,
body.lumenore-typography-system .material-symbols-outlined {
  font-family: "Material Symbols Rounded" !important;
}

body.lumenore-typography-system {
  color: var(--Light-Body-Text, #4a5568) !important;
}

body.lumenore-typography-system input::placeholder,
body.lumenore-typography-system textarea::placeholder,
body.lumenore-typography-system .form-control::placeholder {
  color: var(--Grey-Grey-800, #5e5e5e) !important;
}

body.lumenore-typography-system input:focus,
body.lumenore-typography-system textarea:focus,
body.lumenore-typography-system select:focus,
body.lumenore-typography-system .form-control:focus,
body.lumenore-typography-system a:focus-visible,
body.lumenore-typography-system button:focus-visible {
  outline-color: var(--Royal-Blue-Blue-500, #0e48a5) !important;
  border-color: var(--Royal-Blue-Blue-500, #0e48a5) !important;
}

body.lumenore-typography-system .primary-color,
body.lumenore-typography-system .linkStyle,
body.lumenore-typography-system .readmoreLInk a,
body.lumenore-typography-system .anchor-link:hover,
body.lumenore-typography-system .blue-text {
  color: var(--Royal-Blue-Blue-500, #0e48a5) !important;
}

body.lumenore-typography-system .secondary-color,
body.lumenore-typography-system .txt-pPrpl,
body.lumenore-typography-system .badge-cat {
  color: var(--Violet-Violet-450, #7747b6) !important;
}

body.lumenore-typography-system
  :where(
    .site-header,
    .site-footer,
    .btn,
    .nbtns,
    .linkStyle,
    .anchor-link,
    .hello-cta
  )
  svg
  [fill]:not([fill="none"]) {
  fill: currentColor;
}

body.lumenore-typography-system
  :where(
    .site-header,
    .site-footer,
    .btn,
    .nbtns,
    .linkStyle,
    .anchor-link,
    .hello-cta
  )
  svg
  [stroke]:not([stroke="none"]) {
  stroke: currentColor;
}

body.lumenore-typography-system .site-footer,
body.lumenore-typography-system .site-footer h1,
body.lumenore-typography-system .site-footer h2,
body.lumenore-typography-system .site-footer h3,
body.lumenore-typography-system .site-footer .footer-cta-text h3 {
  color: var(--Base-White, #fcfcfc) !important;
}

body.lumenore-typography-system .site-footer .footer-col h4,
body.lumenore-typography-system .site-footer a:hover,
body.lumenore-typography-system .site-footer a:focus {
  color: var(--SkyBlue-SkyBlue-500, #12b6f8) !important;
}

body.lumenore-typography-system
  .site-footer
  :where(.footer-divider, .footer-bottom, .legal-links) {
  border-color: rgba(252, 252, 252, 0.18) !important;
}

body.lumenore-typography-system .challenges-section {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

/* Case-study CTA override for templates that keep CTA styles inline. */
body.lumenore-typography-system .whylume-was + section .contact-cta {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  max-width: 100% !important;
  margin: 84px auto 40px !important;
  padding: 0 !important;
  border-radius: 28px !important;
  background: linear-gradient(
    135deg,
    #55298e 0%,
    #2a3f8f 38%,
    #0e2252 68%,
    #051a3c 100%
  ) !important;
  box-shadow: 0 30px 60px -30px rgba(7, 30, 69, 0.45) !important;
}

body.lumenore-typography-system .whylume-was + section .contact-cta::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background-image: radial-gradient(
    rgba(252, 252, 252, 0.06) 1px,
    transparent 1px
  ) !important;
  background-size: 24px 24px !important;
}

body.lumenore-typography-system .whylume-was + section .contact-cta::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(
      circle at 12% 0%,
      rgba(28, 169, 201, 0.28),
      transparent 26%
    ),
    radial-gradient(
      circle at 88% 100%,
      rgba(119, 71, 182, 0.34),
      transparent 30%
    ) !important;
  filter: blur(24px) !important;
}

body.lumenore-typography-system
  .whylume-was
  + section
  .contact-cta
  .cta-content {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 20px !important;
  padding: 48px 56px 52px !important;
  text-align: center !important;
}

body.lumenore-typography-system .whylume-was + section .contact-cta .cta-text {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin: 0 auto !important;
}

body.lumenore-typography-system
  .whylume-was
  + section
  .contact-cta
  .cta-content
  h3,
body.lumenore-typography-system
  .whylume-was
  + section
  .contact-cta
  .cta-text
  h3 {
  order: 1 !important;
  margin: 0 0 20px !important;
  color: #fcfcfc !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 44px !important;
  font-weight: 300 !important;
  line-height: 54px !important;
  letter-spacing: -0.6px !important;
}

body.lumenore-typography-system
  .whylume-was
  + section
  .contact-cta
  .cta-content
  p {
  order: 2 !important;
  max-width: 720px !important;
  margin: 0 !important;
  color: rgba(252, 252, 252, 0.72) !important;
  font-family: "Inter", sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 28px !important;
}

body.lumenore-typography-system .whylume-was + section .ctagrp {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
  margin-top: 8px !important;
}

body.lumenore-typography-system .whylume-was + section .ctagrp .cta-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 12px 28px !important;
  border-radius: 6px !important;
  color: #fcfcfc !important;
  font-family: "Inter", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition:
    filter 0.22s ease,
    transform 0.22s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
}

body.lumenore-typography-system
  .whylume-was
  + section
  .ctagrp
  .cta-button:first-child {
  background-image: linear-gradient(
    to left,
    #7747b6 0%,
    #4075c9 50.718%,
    #1ca9c9 100%
  ) !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow:
    0 8px 22px -10px rgba(64, 117, 201, 0.55),
    0 2px 8px -2px rgba(119, 71, 182, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
}

body.lumenore-typography-system
  .whylume-was
  + section
  .ctagrp
  .cta-button:last-child {
  background:
    linear-gradient(
        var(--Royal-Blue-Blue-900, #051a3c),
        var(--Royal-Blue-Blue-900, #051a3c)
      )
      padding-box,
    var(--Explore-Button, linear-gradient(270deg, #7747b6, #4075c9, #1ca9c9))
      border-box !important;
  border: 2px solid transparent !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

body.lumenore-typography-system
  .whylume-was
  + section
  .ctagrp
  .cta-button:hover,
body.lumenore-typography-system
  .whylume-was
  + section
  .ctagrp
  .cta-button:focus {
  color: #fcfcfc !important;
  text-decoration: none !important;
  filter: brightness(1.08) !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 991px) {
  body.lumenore-typography-system .challenges-section {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  body.lumenore-typography-system .scroll1 .bnr-sectionv2 h1,
  body.lumenore-typography-system .bnr-sectionv2 h1 {
    font-size: 36px !important;
    line-height: 44px !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  body.lumenore-typography-system .whylume-was + section .contact-cta {
    margin-top: 64px !important;
    border-radius: 24px !important;
  }

  body.lumenore-typography-system
    .whylume-was
    + section
    .contact-cta
    .cta-content {
    padding: 48px 28px !important;
  }

  body.lumenore-typography-system
    .whylume-was
    + section
    .contact-cta
    .cta-content
    h3 {
    font-size: 36px !important;
    line-height: 46px !important;
  }

  body.lumenore-typography-system .csdy.testimonial-section {
    padding-bottom: 48px !important;
  }

  body.lumenore-typography-system h3.testimonial-title {
    font-size: 34px !important;
    line-height: 42px !important;
    margin-bottom: 18px !important;
  }

  body.lumenore-typography-system .csdy .testimonial-box {
    gap: 12px !important;
    align-items: flex-start !important;
  }

  body.lumenore-typography-system .csdy .testimonial-box > div:last-child {
    min-width: 0 !important;
  }

  body.lumenore-typography-system .quote-icon {
    flex: 0 0 auto !important;
  }

  body.lumenore-typography-system .quote-icon svg {
    width: 32px !important;
    height: auto !important;
  }

  body.lumenore-typography-system .csdy .testimonial-text {
    font-size: 26px !important;
    line-height: 36px !important;
    margin-bottom: 12px !important;
    overflow-wrap: break-word !important;
  }

  body.lumenore-typography-system .testimonial-author {
    font-size: 18px !important;
    line-height: 26px !important;
    margin-top: 16px !important;
  }
}

@media (max-width: 575px) {
  body.lumenore-typography-system .scroll1 .bnr-sectionv2 h1,
  body.lumenore-typography-system .bnr-sectionv2 h1 {
    font-size: 30px !important;
    line-height: 38px !important;
  }

  body.lumenore-typography-system .scroll1 p {
    margin-top: 18px !important;
    margin-bottom: 22px !important;
  }

  body.lumenore-typography-system .whylume-was + section .contact-cta {
    margin-top: 48px !important;
    border-radius: 20px !important;
  }

  body.lumenore-typography-system
    .whylume-was
    + section
    .contact-cta
    .cta-content {
    padding: 48px 22px !important;
  }

  body.lumenore-typography-system
    .whylume-was
    + section
    .contact-cta
    .cta-content
    h3 {
    font-size: 30px !important;
    line-height: 38px !important;
    letter-spacing: 0 !important;
  }

  body.lumenore-typography-system
    .whylume-was
    + section
    .contact-cta
    .cta-content
    p {
    font-size: 16px !important;
    line-height: 26px !important;
  }

  body.lumenore-typography-system .whylume-was + section .ctagrp {
    width: 100% !important;
    flex-direction: column !important;
  }

  body.lumenore-typography-system .whylume-was + section .ctagrp .cta-button {
    width: 100% !important;
    max-width: 260px !important;
  }

  body.lumenore-typography-system .csdy.testimonial-section {
    padding-bottom: 40px !important;
  }

  body.lumenore-typography-system h3.testimonial-title {
    font-size: 30px !important;
    line-height: 38px !important;
    margin-bottom: 16px !important;
  }

  body.lumenore-typography-system .csdy .testimonial-box {
    gap: 10px !important;
  }

  body.lumenore-typography-system .csdy .testimonial-box > div:last-child {
    min-width: 0 !important;
  }

  body.lumenore-typography-system .quote-icon {
    flex: 0 0 auto !important;
  }

  body.lumenore-typography-system .quote-icon svg {
    width: 28px !important;
    height: auto !important;
  }

  body.lumenore-typography-system .csdy .testimonial-text {
    font-size: 22px !important;
    line-height: 32px !important;
    margin-bottom: 12px !important;
    overflow-wrap: break-word !important;
  }

  body.lumenore-typography-system .testimonial-author {
    font-size: 16px !important;
    line-height: 24px !important;
    margin-top: 14px !important;
  }
}
