/* Alternating section stages and full-bleed conversion bands */
html,
body,
.wrap,
.main {
  background: var(--section-surface-base, #ffffff) !important;
}

.main > section {
  position: relative;
  isolation: isolate;
}

.main > section:not(.footerSection):not(.ctaSection):not(.analysisFinalCta):not(.customerCtaSection):not(.bookDemoSection):not([data-demo-section]) {
  background: var(--section-surface-base, #ffffff) !important;
  background-image: none !important;
}

.main > section:nth-of-type(even):not(.footerSection):not(.ctaSection):not(.analysisFinalCta):not(.customerCtaSection):not(.bookDemoSection):not([data-demo-section]) {
  background: var(--section-surface-alt, #f5f7f4) !important;
  background-image: none !important;
}

.main > section.sectionSurfaceAqua::before,
.main > section.sectionSurfaceAqua::after,
.main > section.sectionTransitionTilt::before,
.main > section.sectionTransitionTilt::after,
.strategicSection::before,
.strategicSection::after {
  display: none !important;
  border: 0 !important;
  background: none !important;
  content: none !important;
}

/* Full-bleed bands replace the previous gaps while retaining restrained scroll fading. */
.main > .sectionStage {
  --section-opacity: 1;
  --section-shift: 0px;
  margin-block: 0;
  padding-block: clamp(74px, 9vw, 128px) !important;
  opacity: var(--section-opacity);
  transform: translate3d(0, var(--section-shift), 0);
  transition: opacity 160ms linear, transform 160ms linear;
  will-change: opacity, transform;
}

.main > .sectionStage:first-of-type {
  margin-top: 0;
}

.sectionFadeTarget.sectionScrollingOut {
  pointer-events: none;
}

/* Remove all former short decorative bars inside section content. */
.strategicSection .sectionInner::before,
.aiOfferSection .sectionInner::before,
.customerCaseTeaser .sectionInner::before,
.customerOutcomeSection .sectionInner::before,
.refinementFaqSection .sectionInner::before {
  display: none !important;
  content: none !important;
}

.platformChoice,
.varianceExample,
.contextSource,
.deploymentOption,
.customerTeaserMetric,
.customerOutcomeMetric,
.trustCard,
.findingPanel,
.materialsFlowPanel {
  background: var(--card, #fefefd) !important;
  border-color: var(--green-100, #cfd7d2) !important;
  box-shadow: none !important;
}

/* True viewport-width conversion bands. The previous margin shorthand cancelled full bleed. */
.ctaSection,
.analysisFinalCta,
.customerCtaSection,
.bookDemoSection,
[data-demo-section] {
  width: 100vw !important;
  max-width: none !important;
  margin-top: clamp(54px, 8vw, 112px) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  padding: clamp(76px, 9vw, 128px) max(24px, calc((100vw - min(var(--max, 1334px), calc(100vw - 48px))) / 2)) !important;
  background: var(--section-surface-base, #ffffff) !important;
  background-color: var(--section-surface-base, #ffffff) !important;
  background-image: none !important;
  color: var(--green-500, #10391d);
  overflow: visible;
}

.main > .ctaSection:nth-of-type(even),
.main > .analysisFinalCta:nth-of-type(even),
.main > .customerCtaSection:nth-of-type(even),
.main > .bookDemoSection:nth-of-type(even),
.main > [data-demo-section]:nth-of-type(even) {
  background: var(--section-surface-alt, #f5f7f4) !important;
  background-color: var(--section-surface-alt, #f5f7f4) !important;
}

.ctaSection::before,
.ctaSection::after,
.analysisFinalCta::before,
.analysisFinalCta::after,
.customerCtaSection::before,
.customerCtaSection::after,
.bookDemoSection::before,
.bookDemoSection::after,
[data-demo-section]::before,
[data-demo-section]::after {
  display: none !important;
  content: none !important;
}

.ctaSection .sectionInner,
.analysisFinalCta .sectionInner,
.customerCtaSection .sectionInner,
.bookDemoSection .sectionInner,
[data-demo-section] .sectionInner {
  width: 100% !important;
  max-width: var(--max, 1334px) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

.ctaSection .ctaBand,
.analysisFinalCta .analysisFinalCtaBand,
.customerCtaSection .customerCtaBand,
.bookDemoSection .ctaBand,
[data-demo-section] .ctaBand {
  width: 100%;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.ctaSection .sectionKicker,
.analysisFinalCta .sectionKicker,
.customerCtaSection .sectionKicker,
.bookDemoSection .sectionKicker,
[data-demo-section] .sectionKicker {
  color: var(--green-300, #708877) !important;
}

.ctaSection .sectionTitle,
.ctaSection h2,
.analysisFinalCta .sectionTitle,
.analysisFinalCta h2,
.customerCtaSection h2,
.bookDemoSection h2,
[data-demo-section] h2 {
  color: var(--green-500, #10391d) !important;
}

.ctaSection .ctaText,
.analysisFinalCta .ctaText,
.customerCtaSection p,
.bookDemoSection p,
[data-demo-section] p {
  color: var(--green-400, #40614a) !important;
}

.ctaSection .button.primary,
.analysisFinalCta .button.primary,
.customerCtaSection .button.primary,
.bookDemoSection .button.primary,
[data-demo-section] .button.primary {
  border-color: var(--green-500, #10391d) !important;
  background: var(--green-500, #10391d) !important;
  color: var(--cream-100, #fbfcf5) !important;
}

.customerCtaSection .button.ghost,
.bookDemoSection .button.ghost,
[data-demo-section] .button.ghost {
  border-color: var(--green-500, #10391d) !important;
  background: transparent !important;
  color: var(--green-500, #10391d) !important;
}

.platformCustomerProof {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: clamp(36px, 5vw, 58px);
  padding: 24px 0;
  border-top: 1px solid var(--green-200, #9fb0a5);
  border-bottom: 1px solid var(--green-200, #9fb0a5);
}

.platformCustomerProof p {
  max-width: 700px;
  margin: 0;
  color: var(--green-500, #10391d);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 600;
  line-height: 1.4;
}

.platformCustomerProof a {
  flex: 0 0 auto;
  color: var(--green-500, #10391d);
  font-weight: 700;
  text-decoration: none;
}

.customerCaseTeaserIntro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 38px;
}

.customerCaseTeaserIntro > div {
  max-width: 850px;
}

.customerTeaserMetrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--green-200, #9fb0a5);
  border-bottom: 1px solid var(--green-200, #9fb0a5);
}

.customerTeaserMetric {
  min-height: 190px;
  padding: 28px clamp(20px, 3vw, 34px);
  border-right: 1px solid var(--green-200, #9fb0a5);
}

.customerTeaserMetric:last-child {
  border-right: 0;
}

.customerTeaserMetricValue {
  margin: 0;
  color: var(--green-500, #10391d);
  font-family: var(--font-serif, Georgia, serif);
  font-size: clamp(27px, 3vw, 42px);
  line-height: 1.05;
}

.customerTeaserMetric p:last-child {
  margin: 14px 0 0;
  color: var(--green-400, #40614a);
  line-height: 1.55;
}

.refinementFaqSection .sectionIntro {
  max-width: 780px;
  margin-bottom: 34px;
}

.refinementFaqSection .faqList {
  max-width: 1000px;
}

.refinementFaqSection .faqItem {
  border-top: 1px solid var(--green-200, #9fb0a5);
  background: transparent !important;
}

.refinementFaqSection .faqItem:last-child {
  border-bottom: 1px solid var(--green-200, #9fb0a5);
}

.refinementFaqSection .faqItem summary {
  padding: 22px 0;
}

.refinementFaqSection .faqItem p {
  max-width: 760px;
  padding: 0 0 24px;
}

@media (max-width: 800px) {
  .main > .sectionStage {
    margin-block: 28px;
    padding-block: 68px !important;
  }

  .ctaSection,
  .analysisFinalCta,
  .customerCtaSection,
  .bookDemoSection,
  [data-demo-section] {
    padding: 72px 16px !important;
  }

  .platformCustomerProof,
  .customerCaseTeaserIntro {
    align-items: flex-start;
    flex-direction: column;
  }

  .customerTeaserMetrics {
    grid-template-columns: 1fr;
  }

  .customerTeaserMetric {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid var(--green-200, #9fb0a5);
  }

  .customerTeaserMetric:last-child {
    border-bottom: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sectionFadeTarget {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
