/* V9.6 visual polish: one quiet red/silver system across every page. */
:root {
  --v96-ink: #25292e;
  --v96-copy: #3f474f;
  --v96-muted: #59636c;
  --v96-red: #ad242d;
  --v96-surface: #f7f8f8;
  --v96-warm: #fbf3f3;
  --v96-line: #dfe3e6;
  --v96-ease: cubic-bezier(.22, 1, .36, 1);
}

body.v5-site {
  color: var(--v96-ink);
  background: #fafafa;
}

body.v5-site #main p,
body.v5-site #main li {
  color: var(--v96-copy);
}

body.v5-site #main :is(.p87-footnote, .p87-caption, .catalog90-scope, .inner-scope, .ops90-note, .diagram-note, .qbsm-scope) {
  color: var(--v96-muted);
}

body.v5-site .site-header {
  background: rgba(255, 255, 255, .94);
  border-bottom-color: var(--v96-line);
  backdrop-filter: blur(14px);
}

body.v5-site .desktop-nav a,
body.v5-site .header-cta {
  color: var(--v96-ink);
}

body.v5-site .desktop-nav a[aria-current="page"] {
  color: var(--v96-red);
}

body.v5-site .header-cta {
  background: #fff;
  border-color: #c7a6a9;
}

body.v5-site .header-cta:hover {
  background: var(--v96-warm);
  border-color: var(--v96-red);
}

/* Flat fields create hierarchy without turning every section into a card. */
.home-v88 .v86-hero { background: var(--v96-surface); }
.home-v88 .v86-product:first-child { background: var(--v96-warm); }
.home-v88 .v86-contact > .container { background: var(--v96-warm); }

.home-v88 .v86-product,
.home-v88 .v85-faq,
.v5-site .experience-contact,
.v5-site .p87-cta {
  border-color: var(--v96-line);
}

.home-v88 .v86-product:hover,
.home-v88 .v86-product:focus-within {
  border-color: #b97880;
  box-shadow: 0 14px 30px rgba(70, 28, 34, .09);
}

body.v5-site :is(.button, .header-cta) {
  transition: transform 180ms var(--v96-ease), background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

body.v5-site :is(.button, .header-cta):active {
  transform: translateY(1px) scale(.985);
}

body.v5-site :is(.inline-link, .text-button, .product-link) {
  text-decoration-thickness: 1px;
  text-underline-offset: .24em;
}

/* Intentional section choreography. Content remains visible without JavaScript. */
@media (prefers-reduced-motion: no-preference) {
  html.v96-motion .v96-reveal:not(.is-visible) {
    opacity: 0;
    transform: translateY(18px);
  }

  html.v96-motion .v96-reveal.is-visible {
    opacity: 1;
    transform: none;
    transition: opacity 720ms var(--v96-ease), transform 820ms var(--v96-ease);
    transition-delay: var(--v96-delay, 0ms);
  }

  html.v96-motion .v96-reveal.v96-image.is-visible {
    transition-duration: 900ms;
  }

  html.v96-motion .v96-image.is-visible img {
    animation: v96-image-settle 1200ms var(--v96-ease) both;
  }

  @keyframes v96-image-settle {
    from { opacity: .78; transform: scale(1.035); }
    to { opacity: 1; transform: scale(1); }
  }
}

@media (prefers-reduced-motion: reduce) {
  html.v96-motion .v96-reveal,
  html.v96-motion .v96-reveal.is-visible,
  html.v96-motion .v96-image.is-visible img {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }
}

@media (max-width: 700px) {
  body.v5-site #main p { color: #3e474f; }
  body.v5-site .site-header { backdrop-filter: none; }
  .home-v88 .v86-contact > .container { border-radius: 10px; }
}
