/* NIVORA production accessibility + brand consistency — 2026-11-05.
   Loaded last to correct dark-section contrast and safely enhance scrolling. */

/* Corporate hero / product panels: preserve readable text on very dark backgrounds. */
.site-home .flow-showcase .heading p {
  color: #d1ede0;
}
.site-home .flow-showcase .overline,
.site-home .contactcopy .overline {
  color: #91f5d0;
}
.site-home .flow-showcase .heading h2,
.site-home .flow-showcase .flow-narrative h3 {
  color: #f3fff9;
}
.site-home .flow-showcase .flow-narrative > p:not(.flow-disclaimer):not(.flow-intro-note) {
  color: #c4e4d6;
}
.site-home .contactcopy p {
  color: #d0e8dc;
}
.site-home .flow-showcase .flow-intro-note {
  color: #b4e9d5;
}
.site-home .contactcopy .contact-guidance {
  color: #a0ebcf !important;
}

/* Progressively enhanced animation: content MUST be readable with JS disabled,
   IntersectionObserver unavailable, or automated full-page screenshots. */
.site-home .reveal {
  opacity: 1;
  transform: none;
  visibility: visible;
}
.site-home .reveal.show {
  opacity: 1;
  transform: none;
}

/* Keep a clear focus indicator in every color scheme. */
.site-home .flow-showcase :is(a, button):focus-visible,
.site-flow :is(a, button):focus-visible {
  outline: 3px solid #ffb454;
  outline-offset: 4px;
}
.site-home .flow-cta-group > a {
  min-height: 48px;
}

/* Product marketing page — shared NIVORA interaction geometry. */
.site-flow .nav {
  min-height: 78px;
}
.site-flow .nav-links a {
  font-weight: 700;
}
.site-flow .nav-links .btn-nav {
  background: #28dba7;
  color: #052e27;
  border-radius: 7px;
}
.site-flow .nav-links .btn-nav:hover {
  background: #8bf8d2;
  color: #052e27;
}
.site-flow .btn {
  border-radius: 7px;
  min-height: 48px;
}
.site-flow .btn-primary {
  background: #25dba7;
  border-color: #25dba7;
  color: #053b30;
}
.site-flow .btn-primary:hover {
  background: #85f8d0;
}
.site-flow .hero-grid {
  min-height: 590px;
}
.site-flow .hero h1 {
  font-size: clamp(42px, 4.8vw, 69px);
  letter-spacing: -.054em;
  text-wrap: balance;
}
.site-flow .section {
  padding-block: 86px;
}
.site-flow .footer {
  background: #051d1b;
  color: #b3d9c7;
}
.site-flow .footer a {
  color: #c7f4df;
  text-underline-offset: 3px;
}

@media(max-width: 920px) {
  .site-flow .hero-grid {
    min-height: 0;
    padding-block: 78px 64px;
  }
}
@media(max-width: 650px) {
  .site-flow .hero-grid {
    padding-block: 62px 48px;
  }
  .site-flow .hero h1 {
    font-size: clamp(37px, 9vw, 46px);
    line-height: 1.14;
  }
  .site-flow .section {
    padding-block: 65px;
  }
}
@media(prefers-reduced-motion: reduce) {
  .site-home .reveal,
  .site-home .reveal.show {
    transition: none !important;
    animation: none !important;
  }
}
