/* Keep the app's own layout isolated from the landing page's display styles. */
.brand-registration {
  font-size: 0.55em;
  line-height: 0;
  vertical-align: super;
}

.concept-header-shell {
  position: fixed;
  left: 0;
  right: 0;
}

.interactive-chapter .product-chapter-layout {
  --product-bleed: 12px;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 48px;
  padding-left: max(32px, calc((100vw - 1320px) / 2));
}

.interactive-chapter .interactive-product-frame {
  height: min(680px, calc(100svh - 160px));
  min-height: 500px;
  border-radius: 20px 0 0 20px;
  box-shadow: 0 24px 60px -16px #25273130, 0 2px 8px #25273108;
}

.interactive-product-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
}

.interactive-chapter .product-chapter-copy .concept-section-heading h2 {
  font-size: 38px;
  line-height: 1.12;
  letter-spacing: 0;
}

.interactive-chapter .product-chapter-copy .concept-section-heading > p:last-child {
  font-size: 16px;
  line-height: 1.6;
}

.interactive-chapter .product-chapter-proof strong { font-size: 14px; }
.interactive-chapter .product-chapter-proof span { font-size: 13px; }

@media (min-width: 1800px) {
  .interactive-chapter .product-chapter-layout {
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 64px;
    padding-left: max(48px, calc((100vw - 1600px) / 2));
  }
  .interactive-chapter .interactive-product-frame { height: 740px; }
}

@media (max-width: 1199px) {
  .interactive-chapter .product-chapter-layout {
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 28px;
    padding-left: 28px;
  }
  .interactive-chapter .product-chapter-copy .concept-section-heading h2 {
    font-size: 32px;
  }
}

@media (max-width: 900px) {
  .interactive-chapter .product-chapter-layout {
    --product-bleed: 0px;
    grid-template-columns: minmax(0, 1fr);
    height: auto;
    min-height: 100svh;
    gap: 26px;
    padding: 110px 24px 40px;
  }
  .interactive-chapter .product-chapter-copy {
    width: 100%;
    max-width: 600px;
    margin: 0;
  }
  .interactive-chapter .product-chapter-copy .concept-section-heading h2,
  .interactive-chapter .product-chapter-copy .concept-section-heading > p:last-child {
    max-width: 580px;
  }
  .interactive-chapter .product-chapter-proof { display: none; }
  .interactive-chapter .interactive-product-frame {
    height: 600px;
    min-height: 0;
    border-radius: 16px;
  }
}

@media (max-width: 600px) {
  .interactive-chapter .product-chapter-layout { padding: 100px 16px 36px; }
  .interactive-chapter .product-chapter-copy .concept-section-heading h2 { font-size: 30px; }
  .interactive-chapter .product-chapter-copy .concept-section-heading > p:last-child { font-size: 15px; }
  .interactive-chapter .interactive-product-frame { height: 600px; border-radius: 12px; }
}

@media (max-height: 650px) and (min-width: 901px) {
  .interactive-chapter .product-chapter-layout { min-height: 720px; height: auto; }
}
.concept-concise .concept-principles__grid { grid-template-columns: minmax(0, 1fr); align-content: center; gap: 28px; text-align: center; }
.concept-concise .concept-principles__statement { max-width: 760px; margin: 0 auto; }
.concept-concise__body { max-width: 560px; margin: 0 auto; font-size: 18px; line-height: 1.65; color: #565b66; }
.concept-concise .concept-section-heading { max-width: 760px; margin: 0 auto; text-align: center; }
.concept-concise .concept-pilot__lede { max-width: 580px; margin-left: auto; margin-right: auto; }
.pilot-practical { min-height: 100svh; display: flex; align-items: center; padding: 110px 28px 80px; }
.pilot-practical__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: start; width: 100%; max-width: 1120px; margin: 0 auto; }
.pilot-practical h2 { font-size: 32px; line-height: 1.2; margin: 0 0 14px; }
.pilot-practical p, .pilot-practical dd { font-size: 16px; line-height: 1.6; color: #565b66; margin: 0; }
.pilot-practical dl { margin: 0; display: grid; gap: 22px; }
.pilot-practical dt { font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.fit-examples .pilot-practical__layout { grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr); column-gap: 64px; row-gap: 24px; }
.fit-examples dl { gap: 0; }
.fit-examples dl > div { padding: 18px 0; border-bottom: 1px solid rgba(17, 18, 24, 0.12); }
.fit-examples dl > div:first-child { padding-top: 0; }
.fit-examples dl > div:last-child { border-bottom: 0; padding-bottom: 0; }
.fit-examples dt { font-size: 17px; margin-bottom: 5px; }
.fit-examples dd { font-size: 14px; line-height: 1.5; }
.fit-example-question { display: block; margin-top: 7px; color: #252731; }
.fit-examples .fit-examples-more { grid-column: 2; font-size: 13px; }
@media (max-width: 700px) {
  .pilot-practical { padding: 56px 24px; }
  .pilot-practical__layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .pilot-practical h2 { font-size: 28px; }
  .fit-examples .pilot-practical__layout { grid-template-columns: minmax(0, 1fr); }
  .fit-examples .fit-examples-more { grid-column: 1; }
}
body.page-turn-ready .concept-page [data-page-turn] > .concept-hero__stage,
body.page-turn-ready .concept-page [data-page-turn] > .concept-story__stage,
body.page-turn-ready .concept-page [data-page-turn] > .concept-dwell__stage {
  transform: none;
  clip-path: none;
  filter: none;
  backface-visibility: visible;
  will-change: opacity;
}
/* Keep static chapter text independent of the animated WebGL backdrop. */
.concept-page .concept-hero__stage,
.concept-page .concept-story__stage {
  isolation: isolate;
}
body.page-turn-ready .concept-page .pilot-practical[data-page-turn] {
  opacity: var(--page-turn-opacity, 1);
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding: 110px 28px 80px;
}
@media (max-width: 700px) {
  body.page-turn-ready .concept-page .pilot-practical[data-page-turn] { padding: 96px 24px 56px; }
}
.fit-examples__stage { width: 100%; opacity: var(--page-turn-opacity, 1); }
@media (prefers-reduced-motion: reduce) {
  .fit-examples__stage { opacity: 1; }
}
@media (min-width: 961px) and (min-height: 800px) and (prefers-reduced-motion: no-preference) {
  .concept-page .fit-examples,
  body.page-turn-ready .concept-page .fit-examples[data-page-turn] {
    display: block;
    min-height: 165svh;
    padding: 0;
    opacity: 1;
  }
  .fit-examples > .fit-examples__stage {
    position: sticky;
    top: 0;
    height: 100svh;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    padding: 96px 28px 40px;
    opacity: var(--page-turn-opacity, 1);
  }
}
.concept-page .concept-product-tour,
.concept-page .concept-learning,
.concept-page .concept-team,
.concept-page .concept-closing {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-top-color: transparent;
}
.concept-page .concept-story__stage {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  isolation: isolate;
}
.concept-page .concept-story__stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(18px) saturate(0.92);
  -webkit-backdrop-filter: blur(18px) saturate(0.92);
  mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 78%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 78%, transparent);
}
