/* Nitra paper transitions: load after assets/home.css. */
.home-proof,
.home-contact {
  position: relative;
  isolation: isolate;
}

/* The process paper folds into a restrained blue-backed edge at the proof section. */
.home-proof {
  padding-top: clamp(96px, 10vw, 142px);
  background: #061329;
  color: #fdfcf9;
}
.home-proof::before,
.home-proof::after,
.home-contact::after {
  position: absolute;
  z-index: -1;
  left: 0;
  width: 100%;
  height: 48px;
  content: "";
  pointer-events: none;
}
.home-proof::before {
  top: 0;
  background: #067adb;
  clip-path: polygon(0 0, 100% 0, 100% 72%, 0 100%);
}
.home-proof::after {
  top: 0;
  background: #fdfcf9;
  clip-path: polygon(0 0, 100% 0, 100% 58%, 0 88%);
}
.home-proof > .home-wrap { position: relative; z-index: 1; }
.home-proof .home-kicker { color: #c5d0df; }
.home-proof .home-kicker > span:first-child { background: #39a3eb; }
.home-proof .home-sample-label { color: #d4bca4; }
.home-proof h2 { color: #fdfcf9; }
.home-proof-intro { color: #bfcbda; }
.home-proof-grid { align-items: stretch; }
.home-proof-grid { gap: 32px; }
.home-proof-feature {
  position: relative;
  z-index: 0;
  background: transparent;
  color: #061329;
  box-shadow: 0 14px 32px rgba(0, 0, 0, .12);
}
.home-proof-feature::before {
  position: absolute;
  z-index: -2;
  inset: 8px -12px -10px 10px;
  content: "";
  background: #128be2;
  transform: rotate(-1deg);
}
.home-proof-feature::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: #fdfcf9;
  pointer-events: none;
}
.home-proof-status { color: #061329; }
.home-proof-status span,
.home-proof-space small,
.home-proof-note small,
.home-proof-note small span { color: #596778; }
.home-proof-mark { color: #067adb; }
.home-proof-caption { border-color: #c2c9c9; color: #526176; }
.home-proof-note {
  border-color: rgba(253, 252, 249, .25);
  background: #0d1e37;
  color: #fdfcf9;
}
.home-proof-index { color: #78bfff; }
.home-proof-note p { color: #fdfcf9; }
.home-proof-note small,
.home-proof-note small span { color: #bfcbda; }

/* FAQ keeps the service paper tone; the next section picks up a broad paper edge. */
.home-faq { padding-top: 40px; background: #fdfcf9; }
.home-faq > .home-wrap { padding-top: 32px; border-top: 1px solid rgba(6, 19, 41, .16); }
.home-contact::after {
  top: 0;
  z-index: 0;
  background: #fdfcf9;
  clip-path: polygon(0 0, 100% 0, 100% 84%, 0 59%);
}
.home-contact > .home-contact-inner { position: relative; z-index: 1; }
.home-proof :is(a, summary):focus-visible { outline-color: #fdfcf9; }

@media (max-width: 760px) {
  .home-proof { padding-top: 88px; }
  .home-proof::before,
  .home-proof::after,
  .home-contact::after { height: 36px; }
  .home-proof-feature::before { inset: 6px -7px -7px 7px; }
  .home-proof-grid { gap: 26px; }
  .home-faq { padding-top: 32px; }
  .home-faq > .home-wrap { padding-top: 28px; }
}

@media (prefers-reduced-motion: no-preference) {
  html.cohesion-settle .home-proof-feature::before {
    animation: cohesion-paper-settle 650ms cubic-bezier(.2, .7, .25, 1) both;
  }
  @keyframes cohesion-paper-settle {
    from { transform: translate(8px, -6px) rotate(-2deg); }
    to { transform: rotate(-1deg); }
  }
}
