/* v9: layered section reveal for plans 1-4. Long sections stay in normal flow. */
[data-stack-root] main > [data-stack-layer] {
  position: relative;
  z-index: var(--stack-index, 1);
}

[data-stack-root] [data-stack-footer] {
  position: relative;
  z-index: 40;
}

@media (min-width: 721px) and (prefers-reduced-motion: no-preference) {
  [data-stack-root] main > [data-stack-sticky] {
    min-height: 100svh;
  }

  [data-stack-root].stacking-ready main > [data-stack-sticky].is-stack-ready {
    position: sticky;
    top: 0;
    filter: brightness(var(--stack-brightness, 1));
    will-change: filter;
  }

  [data-stack-root].stacking-ready main > [data-stack-layer]:not(:first-child) {
    border-top: 1px solid var(--stack-edge, rgba(13, 31, 55, .16));
    box-shadow: 0 -22px 48px var(--stack-shadow, rgba(6, 22, 42, .2));
  }
}

/* Every incoming layer needs an opaque surface so it visibly covers the layer below. */
.p1 .p1-news,
.p1 .p1-business,
.p1 .p1-works,
.p1 .p1-company { background-color: #fff; }
.p1 .p1-strengths { background-color: #f4f5f7; }
.p1 .p1-recruit,
.p1 .p1-contact { background-color: #0b1f3a; }

.p2 [data-stack-layer] { background-color: #f7f8fa; }
.p2 .p2-hero { background-color: #14355f; }
.p2 .p2-news { background-color: #fff; }
.p2 .p2-contact { background-color: #e9f1f8; }

.p3 { --stack-edge: rgba(255, 107, 26, .42); --stack-shadow: rgba(0, 0, 0, .42); }
.p3 .p3-hero,
.p3 .p3-contact { background-color: #06101f; }
.p3 .p3-news,
.p3 .p3-business,
.p3 .p3-company { background-color: #0a1628; }
.p3 .p3-strengths { background-color: #0d1d32; }
.p3 .p3-works { background-color: #06101f; }
.p3 .p3-recruit { background-color: #ff6b1a; }

.p4 .p4-news,
.p4 .p4-business,
.p4 .p4-company { background-color: #fff; }
.p4 .p4-strengths,
.p4 .p4-recruit { background-color: #071f40; }
.p4 .p4-works,
.p4 .p4-contact { background-color: #f2f4f7; }

@media (max-width: 720px), (prefers-reduced-motion: reduce) {
  [data-stack-root] main > [data-stack-layer],
  [data-stack-root] main > [data-stack-sticky] {
    position: relative !important;
    top: auto !important;
    filter: none !important;
    will-change: auto !important;
  }
}
