/* NeuColl V40: scoped completion layer for the 2 September client pass. */
.neucoll-v40 .v40-fact-svg {
  width: 1.7rem;
  height: 1.7rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.neucoll-v40 .v40-nav-cartilage-icon {
  width: 1.35rem;
  height: 1.35rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.neucoll-v40 .v5-product-showcase:has(.v40-product-family-image) {
  grid-template-columns: 1fr;
  min-height: 0;
}
.neucoll-v40 .v5-product-showcase:has(.v40-product-family-image) > picture {
  display: flex;
  align-items: center;
  min-height: 0;
  background: #fff;
}
.neucoll-v40 .v40-product-family-image {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  object-position: center;
}
.neucoll-v40 .v5-product-showcase:has(.v40-product-family-image) figcaption {
  display: grid;
  grid-template-columns: minmax(150px, .35fr) minmax(260px, .65fr) minmax(280px, 1fr);
  align-items: center;
  gap: 1.5rem;
  padding: 2rem clamp(2rem, 4vw, 4.25rem);
}
.neucoll-v40 .v5-product-showcase:has(.v40-product-family-image) figcaption strong {
  font-size: clamp(1.45rem, 2.2vw, 2.3rem);
}

.neucoll-v40 #hydrolyzed .product-route-visual-dark {
  background: #f8fbf8;
}

.neucoll-v40 #hydrolyzed .product-route-visual-dark img {
  object-fit: contain;
  object-position: center;
  padding: 10px;
}
@media (max-width:1023px) {
  .neucoll-v40 .v5-product-showcase:has(.v40-product-family-image) { min-height:0; }
  .neucoll-v40 .v40-product-family-image { min-height:0;max-height:none; }
  .neucoll-v40 .v5-product-showcase:has(.v40-product-family-image) figcaption {
    grid-template-columns: 1fr;
  }
}
@media (max-width:767px) {
  .neucoll-v40 .v40-product-family-image { min-height:0;max-height:none; }
}

.neucoll-v40 #partners .ecosystem-card-zetamatrix {
  cursor: default;
}

.neucoll-v40 #partners .ecosystem-logo-zetamatrix {
  height: 112px;
  overflow: hidden;
  padding: 0;
  border-color: rgba(19, 144, 188, .24) !important;
  background: #078fb9 !important;
}

.neucoll-v40 #partners .ecosystem-logo-zetamatrix picture,
.neucoll-v40 #partners .ecosystem-logo-zetamatrix img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
}

.neucoll-v40 #partners .ecosystem-logo-zetamatrix img {
  object-fit: cover;
  object-position: center;
}

.neucoll-v40 #partners .ecosystem-card-zetamatrix .ecosystem-link {
  color: #0f6f92;
}

@media (max-width: 767px) {
  .neucoll-v40 #partners .ecosystem-logo-zetamatrix {
    height: 124px;
  }

  .neucoll-v40 #rd-production .v36-rd-visual {
    min-height: 0;
    aspect-ratio: 3 / 2;
  }

  .neucoll-v40 #rd-production .v36-rd-visual-label {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    padding: .9rem 1rem;
  }

  .neucoll-v40 #rd-production .v36-rd-visual-label strong {
    font-size: 1rem;
  }
}
/* Comparison table: a dark-to-light sequence sampled from the mint package. */
.neucoll-v5 .comparison-product-primary {
  color:#fff;
  background:linear-gradient(145deg,#34594f 0%,#55796c 55%,#709486 100%) !important;
}
.neucoll-v5 .comparison-product-cyan {
  color:#173a2d;
  background:linear-gradient(145deg,#91bda0 0%,#b8d8c0 52%,#cee7d5 100%) !important;
}
.neucoll-v5 .comparison-product-context {
  color:#173a2d;
  background:linear-gradient(145deg,#d2ead8 0%,#e1f1e4 52%,#f0f8ee 100%);
}
.neucoll-v5 .comparison-product-primary .comparison-index { border-color:rgba(255,255,255,.42); }
.neucoll-v5 .comparison-product-cyan .comparison-index,
.neucoll-v5 .comparison-product-context .comparison-index {
  border-color:rgba(23,58,45,.36);
  background:rgba(255,255,255,.28);
}
.neucoll-v5 .comparison-product-cyan p,
.neucoll-v5 .comparison-product-context p { opacity:.68; }

/* V40 light section system, sampled from the approved mint packaging. */
.neucoll-v40 {
  --v40-mint: #b8d8c0;
  --v40-mint-soft: #e7f2e9;
  --v40-mint-pale: #f4f8f2;
  --v40-mint-line: rgba(52, 89, 79, .18);
  --v40-ink: #203f37;
  --v40-copy: #536b64;
  --v40-accent: #55796c;
}

.neucoll-v40 :is(#mechanism, #visual-story, #rd-production, #quality, #contact),
.neucoll-v40 #footer {
  color: var(--v40-ink) !important;
}

.neucoll-v40 #mechanism {
  background: linear-gradient(145deg, #f7faf5 0%, #e2f0e5 56%, #cfE4d4 100%) !important;
}

.neucoll-v40 #visual-story {
  background: linear-gradient(145deg, #d8eadc 0%, #f6faf4 50%, #e5f2e7 100%) !important;
}

.neucoll-v40 #rd-production {
  background: linear-gradient(145deg, #f5f9f3 0%, #deeee2 52%, #c9e1cf 100%) !important;
}

.neucoll-v40 #quality {
  background: linear-gradient(145deg, #d2e7d7 0%, #f5f9f3 48%, #e1efe4 100%) !important;
}

.neucoll-v40 #contact {
  background: linear-gradient(145deg, #e1efe4 0%, #f8faf6 50%, #cce3d2 100%) !important;
}

.neucoll-v40 #footer {
  background: linear-gradient(145deg, #c5dfcb 0%, #eaf4eb 52%, #d5e9d9 100%) !important;
}

.neucoll-v40 :is(#mechanism, #visual-story, #rd-production, #quality, #contact, #footer)
  :is(h1, h2, h3, h4, strong) {
  color: var(--v40-ink) !important;
}

.neucoll-v40 :is(#mechanism, #visual-story, #rd-production, #quality, #contact, #footer)
  :is(p, small, nav, nav a, figcaption span, [class*="text-white/"]) {
  color: var(--v40-copy) !important;
}

.neucoll-v40 :is(#mechanism, #visual-story, #rd-production, #quality, #contact, #footer)
  :is(.text-secondary-fixed-dim, [class*="text-secondary-fixed-dim"], .v2-overline, .v36-section-kicker) {
  color: var(--v40-accent) !important;
}

/* Mechanism: light explanatory cards while retaining legibility over the photograph. */
.neucoll-v40 #mechanism .molecule-explainer {
  border-color: var(--v40-mint-line) !important;
  background: rgba(255, 255, 255, .7) !important;
  box-shadow: 0 24px 70px -58px rgba(32, 63, 55, .48);
}
.neucoll-v40 #mechanism .molecule-explainer-icon {
  background: rgba(85, 121, 108, .13) !important;
  color: var(--v40-accent) !important;
}
.neucoll-v40 #mechanism .v6-mechanism-visual [class*="bg-[#071d1a]"],
.neucoll-v40 #mechanism .v6-mechanism-visual [class*="bg-[#061a35]"] {
  border-color: rgba(255, 255, 255, .32) !important;
  background: rgba(32, 63, 55, .76) !important;
  color: #fff !important;
}
.neucoll-v40 #mechanism .v6-mechanism-visual :is(strong, [class*="text-white"]) { color: #fff !important; }
.neucoll-v40 #mechanism .v6-mechanism-visual [class*="text-secondary-fixed-dim"] { color: #d8efc8 !important; }

/* Motion section. */
.neucoll-v40 #visual-story .reveal > .mt-8 span {
  border-color: var(--v40-mint-line) !important;
  background: rgba(255, 255, 255, .64) !important;
  color: var(--v40-ink) !important;
}
.neucoll-v40 #visual-story .v36-visual-campaign {
  border-color: var(--v40-mint-line) !important;
  background: rgba(255, 255, 255, .7) !important;
  box-shadow: 0 32px 95px -65px rgba(52, 89, 79, .5) !important;
}

/* R&D process. */
.neucoll-v40 #rd-production .v36-rd-orbit {
  border-color: rgba(85, 121, 108, .2);
  box-shadow: 0 0 0 9rem rgba(184, 216, 192, .13), 0 0 0 18rem rgba(184, 216, 192, .08);
}
.neucoll-v40 #rd-production .v36-rd-timeline::before {
  background: linear-gradient(var(--v40-accent), rgba(85, 121, 108, .12));
}
.neucoll-v40 #rd-production .v36-rd-timeline li > span {
  border-color: rgba(85, 121, 108, .38);
  background: rgba(255, 255, 255, .76);
  color: var(--v40-accent);
  box-shadow: 0 10px 30px -20px rgba(32, 63, 55, .55);
}

/* Quality section cards and document tiles. */
.neucoll-v40 #quality .v5-quality-kit,
.neucoll-v40 #quality .quality-route article,
.neucoll-v40 #quality .document-tile,
.neucoll-v40 #quality > div > .mt-5 > .reveal {
  border-color: var(--v40-mint-line) !important;
  background: rgba(255, 255, 255, .72) !important;
  color: var(--v40-ink) !important;
  box-shadow: 0 24px 75px -62px rgba(32, 63, 55, .48);
}
.neucoll-v40 #quality :is(.quality-route article, .document-tile, .v5-quality-kit figcaption) :is(h3, strong) {
  color: var(--v40-ink) !important;
}
.neucoll-v40 #quality :is(.quality-route article, .document-tile, .v5-quality-kit figcaption) :is(p, small, span) {
  color: var(--v40-copy) !important;
}
.neucoll-v40 #quality .v5-quality-kit figcaption {
  background: rgba(239, 247, 240, .96) !important;
}

/* Contact section: convert the remaining dark company panel to a mint card. */
.neucoll-v40 #contact::before,
.neucoll-v40 #contact::after,
.neucoll-v40 #contact .contact-atmosphere { display: none !important; }
.neucoll-v40 #contact [class*="bg-[#061a35]"] {
  background: rgba(232, 243, 234, .96) !important;
  color: var(--v40-ink) !important;
}
.neucoll-v40 #contact [class*="border-white"] { border-color: var(--v40-mint-line) !important; }
.neucoll-v40 #contact [class*="bg-white/[.07]"] {
  background: rgba(255, 255, 255, .68) !important;
}
.neucoll-v40 #contact [class*="text-white"] { color: var(--v40-ink) !important; }
.neucoll-v40 #contact [class*="text-white/"] { color: var(--v40-copy) !important; }
.neucoll-v40 #contact .btn-gradient,
.neucoll-v40 #contact .btn-gradient * { color: #fff !important; }

/* Footer keeps its hierarchy with pale mint panels and dark navigation. */
.neucoll-v40 #footer [class*="border-white"] { border-color: var(--v40-mint-line) !important; }
.neucoll-v40 #footer [class*="bg-white/"] { background: rgba(255, 255, 255, .5) !important; }
.neucoll-v40 #footer .v5-footer-brand img {
  filter: none;
}
.neucoll-v40 #footer .v5-footer-socials a {
  border-color: rgba(52, 89, 79, .22) !important;
  background: rgba(255, 255, 255, .62) !important;
  color: var(--v40-ink) !important;
}
.neucoll-v40 #footer .btn-gradient,
.neucoll-v40 #footer .btn-gradient * { color: #fff !important; }
