:root {--ind-navy: #071C2C;
  --ind-graphite: #252D31;
  --ind-silver: #D8DEE0;
  --ind-white: #F5F7F6;
  --ind-orange: #005C43;
  --ind-orange-deep: #005C43;
  --ind-status: #005C43;
  --ink: #252D31;
  --blue: #071C2C;
  --dark: #071C2C;
  --aqua: #005C43;
  --line: #D8DEE0;
  --paper: #F5F7F6;
  --forest: #252D31;
  --muted: #5A6870;}::selection {background: #005C43; color: #fff;}.preview-note {position: fixed;
  z-index: 999;
  right: 14px;
  bottom: 12px;
  padding: 6px 10px;
  background: rgba(7, 28, 44, .88);
  border: 1px solid rgba(216, 222, 224, .28);
  color: #C7D0D5;
  font-size: 8px;
  letter-spacing: .14em;
  pointer-events: none;}.site-header.nav-v2 {background: #071C2C;
  border-bottom: 1px solid rgba(216, 222, 224, .22);}.site-header .brand-mark, .site-footer .brand-mark {padding: 5px 6px;
  background-color: #fff;
  border: 1px solid rgba(216, 222, 224, .4);
  border-radius: 4px;
  box-sizing: content-box;}.brand-copy strong {color: #fff;}.brand-copy small {color: #93A3AC;}.nav-v2 .main-nav {border-top-color: rgba(216, 222, 224, .16);}.nav-v2 .main-nav > a, .nav-v2 .nav-category-link {color: #F5F7F6;}.nav-v2 .main-nav > a:hover, .nav-v2 .nav-category-link:hover {color: #005C43;}.nav-category-link.active, .main-nav a.active {color: #005C43;}.nav-submenu-toggle span {border-top-color: #93A3AC;}.nav-category:hover .nav-submenu-toggle span, .nav-category:focus-within .nav-submenu-toggle span {border-top-color: #005C43;}.chevron {color: #005C43;}.header-cta {padding: 10px 18px;
  border: 1px solid #005C43;
  background: #005C43;
  color: #fff;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .12em;
  transition: .2s ease;}.header-cta span {color: #fff;}.header-cta:hover {background: #fff; border-color: #fff; color: #071C2C;}.nav-v2 .nav-category > .dropdown-menu {background: #fff;
  border-color: #D8DEE0;
  box-shadow: 0 22px 48px rgba(7, 28, 44, .22);}.nav-v2 .nav-category > .dropdown-menu a {color: #3E4A51;}.nav-v2 .nav-category > .dropdown-menu a:hover, .nav-v2 .nav-category > .dropdown-menu a:focus-visible {color: #005C43;
  background: rgba(0,92,67, .08);}.dropdown-menu {border-color: #D8DEE0;}.dropdown-menu a:hover {background: rgba(0,92,67, .08); color: #005C43;}.dropdown-menu b {background: rgba(7, 28, 44, .07); color: #252D31;}.dropdown-group + .dropdown-group {border-top-color: #E4E9EB;}.dropdown-group-link b, .dropdown-submenu b {border-color: rgba(7, 28, 44, .2);
  background: rgba(7, 28, 44, .06);
  color: #252D31;}.dropdown-group-link small, .dropdown-submenu small {color: #7C8A91;}.dropdown-submenu {border-left-color: rgba(7, 28, 44, .18);}.dropdown-submenu a:hover {background: rgba(7, 28, 44, .05);}

@media (max-width: 1180px) {.site-header.nav-v2 {background: #071C2C;}.nav-v2 .menu-toggle span {background: #F5F7F6;}.nav-v2 .main-nav {background: #071C2C;
    border-top-color: rgba(216, 222, 224, .16);
    box-shadow: 0 18px 35px rgba(7, 28, 44, .35);}.nav-v2 .main-nav > a, .nav-v2 .nav-category-link {border-bottom-color: rgba(216, 222, 224, .14);}.nav-v2 .nav-category > .dropdown-menu a {color: #C7D0D5;}.nav-v2 .nav-submenu-toggle {border-bottom-color: rgba(216, 222, 224, .14);}
}.hero, .product-hero {background: linear-gradient(110deg, #F5F7F6 0%, #fff 52%, #E9EEF0 100%);}.hero-grid, .product-hero-grid {background-image:
    linear-gradient(rgba(7, 28, 44, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7, 28, 44, .06) 1px, transparent 1px);}.hero::after {background: radial-gradient(circle at 42% 52%, rgba(37, 45, 49, .06), transparent 45%);}.hero-cn {color: #071C2C;}.hero h1 span, .section-heading h2 span, .product-intro-row h2 span, .product-cta h2 em, .faq-copy h2 span {color: #005C43;}.hero-trust {color: #7C8A91;}.hero-trust span::before {color: #005C43;}.eyebrow > span, .intro-rule, .hero-trust span::before {background: #005C43;}.product-orbit {border-color: rgba(37, 45, 49, .28); box-shadow: none;}.hero .scroll-cue {color: #7C8A91;}.hero .scroll-cue i {background: #005C43;}.product-code-large {color: rgba(37, 45, 49, .08);}.product-visual-lines i {border-color: #5A6870;
  background: repeating-linear-gradient(90deg, transparent 0 11px, rgba(7, 28, 44, .2) 12px 13px);}.product-visual-label {color: #7C8A91;}.product-breadcrumb a:hover {color: #005C43;}.product-breadcrumb strong, .product-subtitle, .product-visual-label b {color: #071C2C;}.button-primary {background: #005C43; color: #fff;}.button-primary:hover {background: #005C43; color: #fff; transform: translateY(-2px); filter: brightness(.85);}.button-ghost {color: #071C2C; border: 1px solid #AEB9BE;}.button-ghost:hover {border-color: #005C43; color: #005C43;}.contact-cta .button-primary, .product-cta-copy .button-primary {background: #005C43; color: #fff;}.contact-cta .button-primary:hover, .product-cta-copy .button-primary:hover {background: #fff; color: #071C2C;}.section-dark, .stats {background: #071C2C;}.stat-grid {border-color: rgba(216, 222, 224, .18);}.stat-grid > div {border-color: rgba(216, 222, 224, .18);}.stat-grid strong span {color: #005C43;}.stat-grid p {color: #C7D0D5;}.stat-grid small, .eyebrow.light {color: #93A3AC;}.contact-cta {background: #071C2C;}.contact-cta .eyebrow {color: #93A3AC;}.contact-cta h2 em {color: #005C43;}.contact-action p {color: #C7D0D5;}.product-cta {background: #071C2C;}.product-cta h2 em {color: #005C43;}.product-cta-copy p {color: #C7D0D5;}.insight-grid .insight-card {border-color: #D8DEE0; border-top-color: #005C43;}.insight-grid .insight-card-light {background: #071C2C; border-color: #071C2C;}.insight-grid .insight-card-light .insight-index, .insight-grid .insight-card-light .insight-arrow {color: #005C43;}.insight-index, .insight-arrow {color: #005C43;}.geo-answer {background: #EDF1F2;
  border-top: 1px solid rgba(7, 28, 44, .12);
  border-bottom: 1px solid rgba(7, 28, 44, .12);}.geo-answer::after {border-color: rgba(7, 28, 44, .1);
  box-shadow: 0 0 0 44px rgba(7, 28, 44, .03), 0 0 0 88px rgba(7, 28, 44, .015);}.geo-answer-label {color: #252D31;}.geo-answer-label::before {background: #005C43;}.geo-answer h2 {color: #071C2C;}.geo-answer-copy > p {color: #4A575E;}.geo-answer-links {color: #5A6870 !important;}.geo-answer-links a {color: #252D31;}.geo-answer-links a:hover {color: #005C43;}.geo-answer-facts {border-top: 1px solid rgba(7, 28, 44, .16);}.geo-answer-facts div {border-bottom: 1px solid rgba(7, 28, 44, .12);}.geo-answer-facts dt {color: #252D31;}.geo-answer-facts dd {color: #43525A;}.geo-answer-copy h3 {color: #252D31;}.geo-answer-copy h3::before {background: #005C43;}.compare-decision {color: #43525A;}.compare-decision strong {color: #252D31;}.compare-updated {color: #7C8A91;}.detail-table-wrap {border-color: #C9D2D6;}.detail-table th {background: #071C2C; color: #D8DEE0;}.detail-table td {color: #4A575E; border-color: rgba(37, 45, 49, .12);}.detail-table tbody tr:nth-child(even) td {background: #F3F6F7;}.detail-table tbody tr:hover td {background: #E9EEF0;}.detail-toc {border-left-color: #005C43;}.detail-toc a:hover {color: #005C43; border-left-color: #005C43; background: rgba(0,92,67, .07);}.related-card::before {background: #005C43;}.related-card:hover {border-color: rgba(0,92,67, .55); box-shadow: 0 16px 30px rgba(7, 28, 44, .08);}.related-card i {color: #005C43;}.product-section-card {border-color: #D8DEE0;}.product-section-card:hover {border-color: #005C43; box-shadow: 0 18px 35px rgba(7, 28, 44, .09);}.product-section-card li::before {background: #005C43;}.product-section-number {color: #A9B6BC;}.faq-list details[open] {border-color: rgba(0,92,67, .5);}.faq-list summary::after {color: #005C43;}.industry-badge::before {background: #005C43;}.industry-badge:hover {background: #EFF3F4;}.industry-tab:hover {background: rgba(7, 28, 44, .05);}.industry-tab.is-active {background: #071C2C;}.industry-tab.is-active .industry-tab-arrow {color: #005C43;}.industry-tab-arrow {color: #005C43;}.industry-showcase {border-color: #D8DEE0;}.text-link:hover {color: #005C43;}.site-footer {background: #071C2C; color: #C7D0D5;}.footer-brand p, .footer-label {color: #8FA0A9;}.footer-label, .keyword-line > span {color: #8FA0A9;}.keyword-line {border-color: rgba(216, 222, 224, .16); color: #7C8A91;}.keyword-line > span {color: #005C43;}.footer-col a:hover, .footer-bottom a:hover {color: #005C43;}.footer-bottom {color: #8FA0A9;}.footer-bottom a {color: #AEB9BE;}.product-hero-visual.ind-hero-photo {display: flex;
  align-items: center;
  position: relative;
  padding-left: 26px;}.ind-photo-frame {position: relative;
  width: 100%;
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(7, 28, 44, .1);
  box-shadow: 0 26px 55px rgba(7, 28, 44, .14);}.ind-photo-frame img {display: block; width: 100%; height: 100%;}.ind-photo-frame.ind-cover {height: 420px;}.ind-photo-frame.ind-cover img {object-fit: cover;}.ind-photo-frame.ind-contain {height: 420px; background: transparent; border-color: rgba(7, 28, 44, .08);}.ind-photo-frame.ind-contain img {object-fit: contain;
  mix-blend-mode: multiply;
  padding: 14px;
  box-sizing: border-box;}.ind-photo-frame.ind-cover::after {content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06);}.ind-callout {position: absolute;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #252D31;
  background: rgba(245, 247, 246, .92);
  border: 1px solid rgba(7, 28, 44, .18);
  padding: 4px 9px;
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: .14em;
  white-space: nowrap;}.ind-callout::before {content: "";
  width: 26px;
  height: 1px;
  background: #005C43;
  order: -1;}.ind-callout i {width: 7px;
  height: 7px;
  flex: none;
  border: 2px solid #005C43;
  border-radius: 50%;
  background: rgba(255, 255, 255, .85);
  order: -2;}
@media (prefers-reduced-motion: no-preference) {.ind-callout {transition: none;}
}.ind-params {display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px 18px;
  margin: 26px 0 4px;
  padding-top: 18px;
  border-top: 1px solid #C9D2D6;}.ind-params > div {min-width: 0;}.ind-params dd {margin: 0 0 5px;
  color: #005C43;
  font-size: clamp(17px, 1.45vw, 21px);
  font-weight: 750;
  letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;}.ind-params dt {color: #5A6870;
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  line-height: 1.4;}.ind-nameplate {position: relative;
  background: #252D31;
  border-top: 2px solid #005C43;
  color: #C7D0D5;}.ind-nameplate-inner {display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 26px;
  min-height: 58px;
  padding-top: 9px;
  padding-bottom: 9px;}.ind-plate-brand {display: grid;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .22em;
  line-height: 1.3;}.ind-plate-brand i {color: #8FA0A9;
  font-size: 7.5px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .2em;}.ind-plate-model {color: #AEB9BE;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;}.ind-plate-status {display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 11px;
  border: 1px solid rgba(216, 222, 224, .28);
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;}.ind-plate-status i {width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #005C43;
  box-shadow: 0 0 0 3px rgba(0,92,67, .22);}.ind-plate-serial {margin-left: auto;
  color: #6E7F88;
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: .16em;}.ind-gallery {display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 26px 0 10px;}.ind-gallery figure {display: flex;
  flex-direction: column;
  margin: 0;
  border: 1px solid #D8DEE0;
  background: #fff;
  transition: .2s ease;}.ind-gallery figure:hover {border-color: rgba(0,92,67, .55); box-shadow: 0 14px 28px rgba(7, 28, 44, .08);}.ind-gallery img {display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 6 / 7;
  object-fit: contain;
  background: #fff;}.ind-gallery figcaption {margin-top: auto;
  padding: 10px 12px;
  border-top: 1px solid #E4E9EB;
  color: #252D31;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;}.ind-solution-photo {position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;}.ind-solution-shade {position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(7, 28, 44, .16) 0%, rgba(7, 28, 44, .66) 100%);}.solution-image span, .solution-image small {z-index: 2;}.solution-image .solution-schematic {z-index: 2;}.ind-photo-frame.ind-tall {height: 470px;}.solution-image:has(.ind-solution-photo) .solution-schematic {display: none;}.inquiry-checklist, .contact-details {border-color: #D8DEE0;}.inquiry-checklist li:hover {border-color: rgba(0,92,67, .5);}

/* ==========================================================================
   10. Responsive behaviour for the new components
   ========================================================================== */
@media (max-width: 1020px) {.product-hero-visual.ind-hero-photo {padding-left: 20px;}.ind-photo-frame.ind-cover, .ind-photo-frame.ind-contain {height: 360px;}
}
@media (max-width: 720px) {.ind-params {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px;}.product-hero-visual.ind-hero-photo {display: block; padding-left: 0;}.ind-photo-frame.ind-cover, .ind-photo-frame.ind-contain {height: 280px;}.ind-photo-frame.ind-tall {height: 320px;}.ind-photo-frame.ind-contain img {padding: 10px;}.ind-nameplate-inner {gap: 10px 16px;}.ind-plate-serial {margin-left: 0; width: 100%;}.ind-gallery {grid-template-columns: repeat(2, minmax(0, 1fr));}.ind-callout {display: none;}
}
@media (max-width: 560px) {.ind-gallery {grid-template-columns: 1fr;}
}.pid-figure {margin: 4px 0 12px;
  border: 1px solid #D8DEE0;
  background: #fff;}.pid-scroll {overflow-x: auto; padding: 18px 14px 8px;}.pid-svg {display: block; min-width: 700px; margin: 0 auto;}.pid-svg text {font-family: "Manrope", Arial, Helvetica, sans-serif;}.pid-tag {fill: #7C8A91; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-anchor: middle;}.pid-tag.key {fill: #005C43;}.pid-label {fill: #252D31; font-size: 10px; font-weight: 700; text-anchor: middle;}.pid-line {stroke: #071C2C; stroke-width: 2; fill: none;}.pid-eq {fill: #fff; stroke: #252D31; stroke-width: 1.8;}.pid-eq.key {stroke: #005C43; stroke-width: 2.4;}.pid-eq.optional {stroke-dasharray: 6 4;}.pid-instr {fill: #F5F7F6; stroke: #071C2C; stroke-width: 1.6;}.pid-instr-tag {fill: #071C2C; font-size: 7.5px; font-weight: 800; text-anchor: middle;}.pid-caption {padding: 10px 16px 12px;
  border-top: 1px solid #E4E9EB;
  color: #5A6870;
  font-size: 10.5px;
  line-height: 1.6;
  letter-spacing: .03em;}.pid-caption b {color: #252D31; font-weight: 800; letter-spacing: .12em;}.detail-table th {border-top: 2px solid #005C43;}.detail-table th.ind-unit-th {color: #005C43;}.detail-table tr.ind-key-row td {background: #FDF1E7 !important;}.detail-table tr.ind-key-row td:first-child {box-shadow: inset 3px 0 0 #005C43;
  color: #252D31;
  font-weight: 700;}.ind-table-legend {margin: 8px 0 0;
  color: #7C8A91;
  font-size: 10.5px;
  letter-spacing: .03em;}.ind-table-legend b {color: #005C43;}.detail-blocks {min-width: 0;}.detail-blocks .detail-section {min-width: 0; max-width: 100%;}.pid-scroll {min-width: 0;}.hero.ind-hero-banner {background:
    linear-gradient(90deg,
      #F5F7F6 0%,
      rgba(220, 232, 246, .96) 30%,
      rgba(220, 232, 246, .55) 55%,
      rgba(220, 232, 246, 0) 84%),
    url("images/products/hero-ultrapure-banner.webp") right center / cover no-repeat;}.hero.ind-hero-banner .hero-inner {grid-template-columns: minmax(0, 1fr);}.hero.ind-hero-banner .hero-content {max-width: 640px;}.hero.ind-hero-banner .hero::after {content: none;}
@media (max-width: 720px) {.hero.ind-hero-banner {background:
      linear-gradient(180deg,
        rgba(245, 247, 246, .96) 0%,
        rgba(245, 247, 246, .9) 52%,
        rgba(245, 247, 246, .3) 100%),
      url("images/products/hero-ultrapure-banner.webp") center 25% / cover no-repeat;}
}.site-header.nav-v2 {background: rgba(245, 247, 246, .92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(7, 28, 44, .14);}.site-header .brand-mark {padding: 0;
  background-color: transparent;
  border: 0;
  border-radius: 0;}.brand-copy strong {color: #071C2C;}.brand-copy small {color: #5A6870;}.nav-v2 .main-nav {border-top-color: rgba(7, 28, 44, .12);}.nav-v2 .main-nav > a, .nav-v2 .nav-category-link {color: #252D31;}.nav-v2 .main-nav > a:hover, .nav-v2 .nav-category-link:hover {color: #005C43;}.nav-submenu-toggle span {border-top-color: #6E7F88;}.nav-category:hover .nav-submenu-toggle span, .nav-category:focus-within .nav-submenu-toggle span {border-top-color: #005C43;}.header-cta {border-color: #005C43;}.header-cta:hover {background: #071C2C; border-color: #071C2C; color: #fff;}

@media (max-width: 1180px) {.site-header.nav-v2 {background: rgba(245, 247, 246, .96);}.nav-v2 .menu-toggle span {background: #071C2C;}.nav-v2 .main-nav {background: rgba(255, 255, 255, .98);
    border-top-color: rgba(7, 28, 44, .1);
    box-shadow: 0 18px 35px rgba(7, 28, 44, .12);}.nav-v2 .main-nav > a, .nav-v2 .nav-category-link {color: #252D31;}.nav-v2 .nav-category > .dropdown-menu a {color: #3E4A51;}.nav-v2 .nav-category > .dropdown-menu a:hover, .nav-v2 .nav-category > .dropdown-menu a:focus-visible {color: #005C43;
    background: rgba(0,92,67, .08);}
}.site-footer {background: #EDF1F2;
  color: #4A575E;
  border-top: 2px solid #005C43;}.site-footer .brand-mark {padding: 0;
  background-color: transparent;
  border: 0;
  border-radius: 0;}.footer-brand .brand-copy strong {color: #071C2C;}.footer-brand p {color: #5A6870;}.footer-col a {color: #4A575E;}.footer-col a:hover, .footer-bottom a:hover {color: #005C43;}.footer-label {color: #7C8A91;}.keyword-line {border-color: rgba(7, 28, 44, .14);
  color: #7C8A91;}.keyword-line > span {color: #005C43;}.footer-bottom {color: #7C8A91;}.footer-bottom a {color: #5A6870;}.client-logo-panel {margin: 26px 0 42px;
  border: 1px solid #D8DEE0;
  border-top: 2px solid #005C43;
  background: #fff;}.client-logo-meta, .client-industry-heading {display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 18px;
  border-bottom: 1px solid #E4E9EB;}.client-logo-meta > span, .client-industry-heading > span {color: #005C43;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .2em;}.client-logo-meta p, .client-industry-heading p {margin: 0;
  color: #7C8A91;
  font-size: 11px;}.client-logo-grid {display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: #fff;}.client-logo-card {display: grid;
  place-items: center;
  min-width: 0;
  height: 188px;
  margin: 0;
  padding: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: inset -1px -1px 0 #DDE3E5;}.client-logo-card img {display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 144px;
  object-fit: contain;
  filter: saturate(.92);
  transition: transform .28s ease, filter .28s ease;}.client-logo-card:hover img {transform: scale(1.035); filter: saturate(1.04);}.client-logo-wide img {max-height: 74px;}.client-industry-heading {padding: 0 0 14px; border-bottom: 0;}.social-dock {position: fixed;
  z-index: 80;
  right: 18px;
  top: 50%;
  display: flex;
  flex-direction: column;
  gap: 7px;
  transform: translateY(-50%);}.social-dock a {position: relative;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.24);
  box-shadow: 0 8px 22px rgba(7, 28, 44, .18);
  transition: transform .2s ease, background .2s ease;}.social-dock a:hover {transform: translateX(-3px);}.social-dock svg {width: 19px; height: 19px; fill: currentColor;}.social-dock span {position: absolute;
  right: calc(100% + 9px);
  top: 50%;
  padding: 6px 9px;
  color: #fff;
  background: #071C2C;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transform: translate(5px, -50%);
  transition: opacity .2s ease, transform .2s ease;}.social-dock a:hover span, .social-dock a:focus-visible span {opacity: 1; transform: translate(0, -50%);}.social-dock-linkedin {background: #0A66C2;}.social-dock-facebook {background: #1877F2;}.social-dock-email {background: #005C43;}.inquiry-section {position: relative;
  overflow: hidden;
  padding: 88px 0;
  color: #fff;
  background: #071C2C;}.inquiry-section::before {content: "RFQ / WATER DATA / ENGINEERING REVIEW";
  position: absolute;
  top: 26px;
  right: -8px;
  color: rgba(255,255,255,.045);
  font-size: clamp(42px, 7vw, 104px);
  font-weight: 800;
  letter-spacing: .04em;
  white-space: nowrap;}.inquiry-shell {position: relative;
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(560px, 1.22fr);
  gap: 70px;
  align-items: start;}.inquiry-intro {position: sticky; top: 116px;}.inquiry-intro h2 {margin: 20px 0 22px;
  color: #fff;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.02;
  letter-spacing: -.045em;}.inquiry-intro h2 em {color: #005C43; font-style: normal;}.inquiry-intro > p {max-width: 520px; color: #B9C5CA; line-height: 1.75;}.inquiry-contact-card {margin-top: 36px;
  padding: 20px 22px;
  border-left: 3px solid #005C43;
  background: rgba(255,255,255,.055);}.inquiry-contact-card span, .inquiry-contact-card small {display: block; color: #8FA0A8; font-size: 10px; letter-spacing: .17em;}.inquiry-contact-card a {display: inline-block; margin: 8px 0; color: #fff; font-size: 15px; font-weight: 700; word-break: break-all;}.inquiry-form {display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  padding: 32px;
  border: 1px solid rgba(255,255,255,.16);
  border-top: 3px solid #005C43;
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(10px);}.inquiry-field {min-width: 0;}.inquiry-field-wide {grid-column: 1 / -1;}.inquiry-field label {display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
  color: #E8EEF0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;}.inquiry-field label b, .inquiry-consent b {color: #005C43;}.inquiry-field label span {color: #8FA0A8; font-size: 9px; font-weight: 600;}.inquiry-field input, .inquiry-field textarea {width: 100%;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 0;
  outline: none;
  color: #fff;
  background: rgba(255,255,255,.07);
  font: inherit;
  font-size: 14px;
  transition: border-color .2s ease, background .2s ease;}.inquiry-field input {height: 48px; padding: 0 14px;}.inquiry-field textarea {min-height: 92px; padding: 12px 14px; resize: vertical; line-height: 1.55;}.inquiry-field input::placeholder, .inquiry-field textarea::placeholder {color: #82939C;}.inquiry-field input:focus, .inquiry-field textarea:focus {border-color: #005C43; background: rgba(255,255,255,.1);}.inquiry-upload {position: relative;}.inquiry-upload .inquiry-file-input {position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;}.inquiry-upload .inquiry-file-control {display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  width: 100%;
  margin: 0;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.07);
  cursor: pointer;
  text-transform: none;}.inquiry-file-button {display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0 16px;
  color: #071C2C;
  background: #DDE5E8;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;}.inquiry-file-name {display: block;
  min-width: 0;
  padding: 0 14px;
  overflow: hidden;
  color: #B9C5CA;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
  text-overflow: ellipsis;
  white-space: nowrap;}.inquiry-file-formats {display: block; margin-top: 7px; color: #8FA0A8; font-size: 10px;}.inquiry-file-input:focus-visible + .inquiry-file-control {border-color: #005C43; outline: 2px solid rgba(0,92,67,.25);}.inquiry-file-name.is-error, .inquiry-status.is-error {color: #FFB38A;}.inquiry-consent {grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  color: #B9C5CA;
  font-size: 11px;
  line-height: 1.5;}.inquiry-consent input {margin-top: 3px; accent-color: #005C43;}.inquiry-actions {grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 18px;}.inquiry-actions button {cursor: pointer;}.inquiry-status {margin: 0; color: #DDE5E8; font-size: 11px; line-height: 1.5;}.inquiry-note {grid-column: 1 / -1;
  margin: -4px 0 0;
  padding-top: 15px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: #81949D;
  font-size: 10px;
  line-height: 1.6;}

@media (max-width: 980px) {.client-logo-grid {grid-template-columns: repeat(3, minmax(0, 1fr));}.inquiry-shell {grid-template-columns: 1fr; gap: 38px;}.inquiry-intro {position: static;}
}
@media (max-width: 680px) {.client-logo-meta, .client-industry-heading {align-items: flex-start; flex-direction: column; gap: 6px;}.client-logo-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}.client-logo-card {height: 142px; padding: 16px;}.client-logo-card img {max-height: 110px;}.social-dock {top: auto; right: 12px; bottom: 84px; flex-direction: column; transform: none;}.social-dock a {width: 42px; height: 42px;}.social-dock span {display: none;}.inquiry-section {padding: 68px 0 76px;}.inquiry-form {grid-template-columns: 1fr; padding: 22px 18px;}.inquiry-field-wide, .inquiry-consent, .inquiry-actions, .inquiry-note {grid-column: 1;}.inquiry-actions {align-items: flex-start; flex-direction: column;}
}.nav-v2 .main-nav > a, .nav-v2 .nav-category-link {font-size: 14px;}.nav-v2 .nav-category > .dropdown-menu a {font-size: 12px !important;}.hero.ind-hero-banner {min-height: 740px;
  background:
    linear-gradient(90deg,
      rgba(245, 247, 246, .99) 0%,
      rgba(245, 247, 246, .96) 24%,
      rgba(245, 247, 246, .78) 39%,
      rgba(245, 247, 246, .18) 58%,
      rgba(245, 247, 246, 0) 72%),
    url("images/products/hero-ultrapure-banner-v2.png") center center / cover no-repeat;}.hero.ind-hero-banner .hero-grid {display: none;}.hero.ind-hero-banner .hero-inner {min-height: 740px;
  padding-top: 154px;
  padding-bottom: 64px;
  align-items: center;}.hero.ind-hero-banner .hero-content {max-width: 610px;
  padding: 42px 0 58px;}.hero.ind-hero-banner h1 {margin: 0 0 24px;
  font-size: clamp(45px, 4.65vw, 68px);
  line-height: 1.01;}.hero.ind-hero-banner h1 .hero-green {color: #005C43;}.hero.ind-hero-banner .hero-cn {margin-bottom: 20px;}.hero.ind-hero-banner .hero-description {margin: 0;}.hero.ind-hero-banner .hero-actions {margin-top: 30px;}.hero.ind-hero-banner .hero-trust {flex-wrap: wrap;
  row-gap: 12px;
  margin-top: 38px;}.hero.ind-hero-banner .scroll-cue {display: none;}.home-geo-answer::after {content: none;}.home-geo-answer .geo-answer-grid {grid-template-columns: minmax(0, 960px);}.geo-answer-grid.is-single-column {grid-template-columns: minmax(0, 960px);}.certifications {background: #EEF1F2;}.certification-heading h2 span {color: #005C43;}.certification-grid {display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;}.certificate-card {padding: 18px 18px 24px;
  background: #fff;
  border: 1px solid #D5DEE1;
  box-shadow: 0 16px 38px rgba(7, 28, 44, .06);}.certificate-placeholder {display: grid;
  place-content: center;
  min-height: 330px;
  padding: 28px;
  text-align: center;
  background:
    linear-gradient(rgba(7, 28, 44, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7, 28, 44, .035) 1px, transparent 1px),
    #F7F9F9;
  background-size: 32px 32px;
  border: 1px dashed #B8C5CA;
  color: #071C2C;}.certificate-placeholder span {color: #71828A;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;}.certificate-placeholder strong {margin-top: 17px;
  color: #005C43;
  font-size: clamp(30px, 3.2vw, 44px);
  line-height: 1;
  letter-spacing: -.04em;}.certificate-placeholder small {margin-top: 12px;
  color: #8B9AA1;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;}.certificate-card h3 {margin: 22px 4px 8px; color: #071C2C; font-size: 17px;}.certificate-card p {margin: 0 4px; color: #65757D; font-size: 12px; line-height: 1.6;}.solution-image::after {content: none;}

@media (max-width: 1180px) {.nav-v2 .main-nav > a, .nav-v2 .nav-category-link {font-size: 14px;}.nav-v2 .nav-category > .dropdown-menu a {font-size: 12px !important;}
}

@media (max-width: 820px) {.certification-grid {grid-template-columns: 1fr;}.certificate-card {display: grid; grid-template-columns: minmax(190px, .8fr) minmax(0, 1fr); column-gap: 24px; align-items: center;}.certificate-placeholder {grid-row: 1 / 3; min-height: 245px;}.certificate-card h3 {align-self: end; margin: 0 0 8px;}.certificate-card p {align-self: start; margin: 0;}
}

@media (max-width: 720px) {.hero.ind-hero-banner {min-height: 760px;
    background:
      linear-gradient(180deg,
        rgba(245, 247, 246, .99) 0%,
        rgba(245, 247, 246, .96) 48%,
        rgba(245, 247, 246, .58) 73%,
        rgba(245, 247, 246, .15) 100%),
      url("images/products/hero-ultrapure-banner-v2.png") 69% center / cover no-repeat;}.hero.ind-hero-banner .hero-inner {min-height: 760px;
    padding-top: 118px;
    padding-bottom: 54px;}.hero.ind-hero-banner .hero-content {max-width: 100%; padding: 24px 0 68px;}.hero.ind-hero-banner h1 {font-size: clamp(36px, 10.5vw, 48px);}.hero.ind-hero-banner .hero-trust {gap: 10px 16px;}.certificate-card {display: block;}.certificate-placeholder {min-height: 280px;}.certificate-card h3 {margin: 20px 4px 8px;}.certificate-card p {margin: 0 4px;}
}.product-breadcrumb {position: static;
  grid-column: 1 / -1;
  margin: 0 0 24px;
  font-size: 11px;
  letter-spacing: .04em;}.product-breadcrumb span {color: #A9B6BC;}.product-hero-visual.ind-photo-hero-ro {height: auto;}.ind-photo-frame.ind-portrait {height: 500px;}.ind-photo-frame.ind-portrait img {object-fit: cover; object-position: center;}.product-slogan {margin: 20px 0 0;
  padding-left: 16px;
  border-left: 3px solid #005C43;
  color: #071C2C;
  font-size: 15.5px;
  font-weight: 750;
  line-height: 1.5;
  letter-spacing: -.01em;}.flow-figure {margin: 0 0 34px;
  border: 1px solid #D8DEE0;
  border-top: 2px solid #005C43;
  background: #fff;
  box-shadow: 0 18px 40px rgba(7, 28, 44, .07);}.flow-figure img {display: block; width: 100%; height: auto;}.flow-figure figcaption {padding: 11px 16px;
  border-top: 1px solid #E4E9EB;
  color: #5A6870;
  font-size: 10.5px;
  letter-spacing: .03em;
  line-height: 1.6;}.flow-figure figcaption b {color: #252D31; font-weight: 800; letter-spacing: .12em;}.flow-stages-title {margin: 0 0 14px;
  color: #252D31;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;}.flow-stages-list {display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;}.flow-stages-list li {position: relative;
  padding-left: 16px;
  color: #5A6870;
  font-size: 13px;
  line-height: 1.7;}.flow-stages-list li::before {content: "";
  position: absolute;
  top: .8em;
  left: 0;
  width: 6px;
  height: 1px;
  background: #005C43;}.flow-stages-list b {color: #071C2C; font-weight: 700;}
/* GEO quick-answer bullet lists (drinking-water page rewrite, 2026-08-19) */
.geo-answer-copy ul {display: grid; gap: 8px; margin: 10px 0 6px; padding: 0; list-style: none;}
.geo-answer-copy li {position: relative; padding-left: 16px; color: #4A575E; line-height: 1.7;}
.geo-answer-copy li::before {content: ""; position: absolute; top: .8em; left: 0; width: 6px; height: 1px; background: #005C43;}.hl-orange {color: #005C43;}.flow-diagram-svg {display: block;
  width: 100%;
  height: auto;
  padding: 18px 14px;
  box-sizing: border-box;}
@media (max-width: 720px) {.flow-diagram-svg {padding: 10px 8px;}
}

@media (max-width: 1020px) {.ind-photo-frame.ind-portrait {height: 420px;}
}
@media (max-width: 720px) {.product-breadcrumb {margin-bottom: 18px;}.product-hero-visual.ind-photo-hero-ro {margin-top: 18px;}.ind-photo-frame.ind-portrait {height: 340px;}.product-slogan {font-size: 14px;}
}

/* GEO answer key-figure chips (pass 18 dual-layer pilot, 2026-08-20) */
.geo-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 8px}
.geo-chip{border:1px solid #D8DEE0;border-radius:4px;background:#fff;padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.geo-chip b{font-size:22px;line-height:1.05;color:#005C43;font-weight:800;letter-spacing:.01em}
.geo-chip span{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#252D31;opacity:.75}
@media (max-width:720px){.geo-chips{grid-template-columns:1fr 1fr}}

/* Working-principle diagrams (2026-08-19): Arial keeps measured layout; wider min-width for legibility. */
.pid-svg.wp-svg { min-width: 760px; }
.pid-svg.wp-svg text { font-family: Arial, Helvetica, sans-serif; }


/* 20. Premium industrial layer (pass 22 demo — page-scoped via body.premium-demo) */
.premium-demo .section {padding: clamp(96px, 11vw, 150px) 0;}
.premium-demo .geo-answer {padding: clamp(88px, 10vw, 128px) 0;}
.premium-demo .product-content {padding: clamp(80px, 9vw, 116px) 0 0;}
.premium-demo .detail-intro-row {padding-bottom: clamp(56px, 6vw, 84px);}
.premium-demo .detail-section {padding: clamp(52px, 6vw, 76px) 0;}
.premium-demo .product-cta {padding: clamp(84px, 10vw, 128px) 0;}

/* Display typography: stronger scale, tighter tracking, airier measures */
.premium-demo .detail-intro-row .eyebrow,
.premium-demo .detail-section-heading .eyebrow {font-size: clamp(30px, 3.6vw, 52px); letter-spacing: -.028em; font-weight: 600;}
.premium-demo .detail-intro-row .eyebrow > span,
.premium-demo .detail-section-heading .eyebrow > span {background: #005C43;}
.premium-demo .geo-answer h2 {font-size: clamp(32px, 3.8vw, 54px); letter-spacing: -.04em;}
.premium-demo .geo-answer-label {font-size: 9.5px; letter-spacing: .24em; opacity: .85;}
.premium-demo .geo-answer-copy > p:first-of-type {font-size: clamp(17px, 1.6vw, 21px); font-weight: 560; color: #071C2C; line-height: 1.55; max-width: 780px; letter-spacing: -.008em;}
.premium-demo .geo-answer-copy > p {line-height: 1.9;}
.premium-demo .geo-answer-sub {font-size: 12.5px; letter-spacing: .16em;}
.premium-demo .geo-answer-facts div {padding: 26px 0;}
.premium-demo .geo-answer-facts dt {font-size: 9px; letter-spacing: .18em;}
.premium-demo .geo-answer-links {padding-top: 18px;}

/* Hairline discipline: calmer tables, no zebra, navy header rule */
.premium-demo .detail-table-wrap {border: 1px solid #E2E8EA; border-radius: 4px; overflow: auto;}
.premium-demo .detail-table th {background: #F5F7F6; color: #071C2C; border-top: 2px solid #071C2C; letter-spacing: .14em;}
.premium-demo .detail-table tr:nth-child(even) td {background: transparent;}
.premium-demo .detail-table td {background: transparent; border-bottom: 1px solid #E7ECEE;}
.premium-demo .detail-table tr:last-child td {border-bottom: 0;}

/* Cards: airier, hairline, quiet hover lift */
.premium-demo .detail-card {padding: 30px 28px; border: 1px solid #E2E8EA; background: #fff; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;}
.premium-demo .detail-card:hover {border-color: #B9C6CC; transform: translateY(-2px); box-shadow: 0 16px 32px rgba(7, 28, 44, .06);}
.premium-demo .detail-card h3 {letter-spacing: -.015em;}
.premium-demo .detail-faq details {border: 1px solid #E2E8EA; background: #fff;}
.premium-demo .detail-faq summary {padding: 22px 22px;}
.premium-demo .detail-faq p {padding: 0 22px 22px;}
.premium-demo .related-card {border: 1px solid #E2E8EA; background: #fff; padding: 26px 24px; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;}
.premium-demo .related-card:hover {border-color: #B9C6CC; transform: translateY(-2px); box-shadow: 0 16px 32px rgba(7, 28, 44, .06);}

/* Buttons: uppercase industrial precision */
.premium-demo .button-primary {text-transform: uppercase; font-size: 12px; font-weight: 700; letter-spacing: .14em; padding: 17px 30px;}

/* Hero: calmer strip, more air */
.premium-demo .ind-params div {padding: 14px 4px;}
.premium-demo .ind-params dt {letter-spacing: .16em;}
.premium-demo .product-subtitle {letter-spacing: .01em;}
.premium-demo .product-breadcrumb {letter-spacing: .04em; opacity: .8;}

/* Nameplate: quieter serial line */
.premium-demo .ind-nameplate {border-color: #D8DEE0;}
.premium-demo .ind-plate-serial {opacity: .55; letter-spacing: .18em;}

@media (max-width: 720px) {
  .premium-demo .section {padding: 72px 0;}
  .premium-demo .geo-answer {padding: 64px 0;}
  .premium-demo .geo-answer-copy > p:first-of-type {font-size: 17px;}
  .premium-demo .detail-intro-row .eyebrow,
  .premium-demo .detail-section-heading .eyebrow {font-size: clamp(24px, 7.4vw, 32px);}
}

/* §58 — Shared project fit and delivery scope for engineered system pages. */
.project-scope-strip {
  padding: 0;
  background: #F4F7F4;
  border-bottom: 1px solid #DCE5E0;
}
.project-scope-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.project-scope-grid article {
  min-width: 0;
  padding: 24px 22px;
  border-right: 1px solid #DCE5E0;
}
.project-scope-grid article:first-child {border-left: 1px solid #DCE5E0;}
.project-scope-grid span {
  display: block;
  margin-bottom: 8px;
  color: #005C43;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}
.project-scope-grid p {
  margin: 0;
  color: #111111;
  font-size: 13px;
  line-height: 1.58;
}
@media (max-width: 980px) {
  .project-scope-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
  .project-scope-grid article {border-bottom: 1px solid #DCE5E0;}
}
@media (max-width: 620px) {
  .project-scope-grid {grid-template-columns: 1fr;}
  .project-scope-grid article {padding: 20px; border-left: 1px solid #DCE5E0;}
}

/* Legal publication pages */
.legal-page {background: #F5F7F6;}
.legal-hero {padding: clamp(72px, 10vw, 132px) 0 clamp(60px, 8vw, 104px); background: linear-gradient(135deg, #082F27 0%, #0B5745 100%); color: #fff;}
.legal-hero .product-breadcrumb {margin-bottom: 56px; color: rgba(255,255,255,.68);}
.legal-hero .product-breadcrumb a {color: #fff;}
.legal-kicker {margin: 0 0 18px; color: #8FD8BE; font-size: 12px; font-weight: 800; letter-spacing: .16em;}
.legal-hero h1 {max-width: 900px; margin: 0 0 20px; color: #fff; font-size: clamp(42px, 7vw, 78px); line-height: 1; letter-spacing: -.045em;}
.legal-hero-inner > p:not(.legal-kicker) {max-width: 760px; margin: 0; color: rgba(255,255,255,.78); font-size: clamp(17px, 2vw, 21px); line-height: 1.7;}
.legal-date {display: inline-flex; margin-top: 34px; padding: 9px 14px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #fff; font-size: 13px;}
.legal-layout {display: grid; grid-template-columns: minmax(240px, .38fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 96px); align-items: start;}
.legal-note {position: sticky; top: 110px; padding: 28px; border-left: 4px solid #D65A38; border-radius: 0 8px 8px 0; background: #FFF4EF; color: #633326;}
.legal-note > strong {display: block; margin-bottom: 10px; color: #872F1D; font-size: 15px;}
.legal-note p, .legal-note li {font-size: 13px; line-height: 1.65;}
.legal-note p {margin: 0;}
.legal-note ul {margin: 16px 0 0; padding-left: 18px;}
.legal-document {padding: clamp(32px, 5vw, 64px); border: 1px solid #DDE6E2; border-radius: 10px; background: #fff; box-shadow: 0 18px 44px rgba(7,28,44,.055);}
.legal-intro {margin: 0 0 46px; color: #19332D; font-size: clamp(18px, 2vw, 22px); line-height: 1.75;}
.legal-document section {padding: 36px 0; border-top: 1px solid #E2E9E6;}
.legal-document section:first-of-type {border-top: 0; padding-top: 0;}
.legal-document h2 {display: flex; gap: 14px; align-items: baseline; margin: 0 0 18px; color: #102621; font-size: clamp(22px, 2.6vw, 30px); line-height: 1.25;}
.legal-document h2 span {color: #0B755A; font-size: 12px; font-weight: 800; letter-spacing: .12em;}
.legal-document p, .legal-document li, .legal-document address {color: #43534F; font-size: 15px; line-height: 1.8;}
.legal-document p {margin: 0 0 14px;}
.legal-document ul {margin: 12px 0 0; padding-left: 22px;}
.legal-document li + li {margin-top: 8px;}
.legal-document a {color: #00664D; font-weight: 700; text-decoration: underline; text-underline-offset: 3px;}
.legal-document address {font-style: normal;}
.legal-flag {padding: 16px 18px; border-radius: 6px; background: #FFF4EF; color: #733927 !important;}
.legal-review-closing {margin: 40px 0 0 !important; padding: 22px; border: 1px solid #D65A38; border-radius: 8px; background: #FFF9F6; color: #633326 !important;}
@media (max-width: 820px) {
  .legal-layout {grid-template-columns: 1fr;}
  .legal-note {position: static;}
  .legal-document {padding: 28px 22px;}
}


/* 21. Cinema hero + clean-rational modules (pass 22 — body.premium-demo everywhere; body.cinema-hero on home + solutions) */
.premium-demo.cinema-hero .hero.ind-hero-banner {
  min-height: 780px;
  background:
    linear-gradient(96deg,
      rgba(7, 28, 44, .95) 0%,
      rgba(7, 28, 44, .84) 34%,
      rgba(7, 28, 44, .55) 62%,
      rgba(7, 28, 44, .24) 100%),
    url("images/products/hero-ultrapure-banner-v2.png") center center / cover no-repeat;
}
.premium-demo.cinema-hero .hero-content h1 {color: #fff; text-shadow: 0 2px 28px rgba(7, 28, 44, .38);}
.premium-demo.cinema-hero .hero.ind-hero-banner h1 .hero-green {color: #57D98F;}
.premium-demo.cinema-hero .hero-cn {color: rgba(255, 255, 255, .8);}
.premium-demo.cinema-hero .hero-description {color: rgba(255, 255, 255, .88);}
.premium-demo.cinema-hero .hero-actions .button-primary {box-shadow: 0 10px 30px rgba(7, 28, 44, .35);}
.premium-demo.cinema-hero .hero-trust span {color: rgba(255, 255, 255, .72); border-color: rgba(255, 255, 255, .28);}
.premium-demo.cinema-hero .scroll-cue {color: rgba(255, 255, 255, .65);}
.premium-demo.cinema-hero .scroll-cue i {background: rgba(255, 255, 255, .65);}
.premium-demo.cinema-hero .product-hero {
  background:
    linear-gradient(100deg,
      rgba(7, 28, 44, .94) 0%,
      rgba(7, 28, 44, .74) 48%,
      rgba(7, 28, 44, .42) 100%),
    url("images/products/containerized-industrial-ro-installation.webp") center 45% / cover no-repeat;
}
.premium-demo.cinema-hero .product-hero h1 {color: #fff; letter-spacing: -.04em;}
.premium-demo.cinema-hero .product-hero .product-subtitle {color: rgba(255, 255, 255, .88); font-size: clamp(15px, 1.4vw, 19px); max-width: 660px; line-height: 1.6;}
.premium-demo.cinema-hero .product-hero .product-hero-copy > p {color: rgba(255, 255, 255, .86);}
.premium-demo.cinema-hero .product-hero .product-breadcrumb a,
.premium-demo.cinema-hero .product-hero .product-breadcrumb span {color: rgba(255, 255, 255, .7);}
.premium-demo.cinema-hero .product-hero .product-breadcrumb strong {color: #fff;}
.premium-demo.cinema-hero .product-hero .ind-params div {border-color: rgba(255, 255, 255, .24);}
.premium-demo.cinema-hero .product-hero .ind-params dd {color: #fff;}
.premium-demo.cinema-hero .product-hero .ind-params dt {color: rgba(255, 255, 255, .62);}
.premium-demo.cinema-hero .product-hero .product-hero-grid {display: none;}
.premium-demo .solution-module {background: #fff; border: 1px solid #E2E8EA; padding: 38px 36px;}
.premium-demo .solution-module h3 {font-size: 11.5px; letter-spacing: .2em; color: #252D31; opacity: .78; margin-bottom: 24px;}
.premium-demo .solution-module-grid {gap: 22px; margin-top: 26px;}
.premium-demo .solution-module ul {gap: 14px;}
.premium-demo .solution-module li {padding-left: 18px; color: #4A575E; line-height: 1.8;}
.premium-demo .solutions-intro {gap: 84px; padding-bottom: 84px;}
.premium-demo .solutions-intro h2 {font-size: clamp(34px, 4vw, 56px); letter-spacing: -.035em; line-height: 1.04;}
.premium-demo .solutions-intro .eyebrow > span {background: #005C43;}
.premium-demo .ind-plate-serial {display: none;}
@media (max-width: 720px) {
  .premium-demo.cinema-hero .hero.ind-hero-banner {
    min-height: 640px;
    background:
      linear-gradient(180deg, rgba(7, 28, 44, .9) 0%, rgba(7, 28, 44, .78) 55%, rgba(7, 28, 44, .55) 100%),
      url("images/products/hero-ultrapure-banner-v2.png") center center / cover no-repeat;
  }
  .premium-demo .solution-module {padding: 28px 22px;}
}

/* Homepage service carousel and centered wrapped client rows. */
.services-heading {align-items: end;}
.services-heading > p {max-width: 520px; margin: 0;}
.service-layout {
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
  gap: clamp(34px, 4.5vw, 64px);
  align-items: start;
  margin-top: 64px;
}
.service-carousel {
  position: sticky;
  top: 108px;
  margin: 0;
  overflow: hidden;
  border: 1px solid #D8DEE0;
  border-top: 2px solid #005C43;
  background: #fff;
  box-shadow: 0 20px 48px rgba(7,28,44,.09);
}
.service-carousel-media {position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #DDE5E6;}
.service-carousel-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 70%, rgba(7,28,44,.2));
  pointer-events: none;
}
.service-carousel img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity .24s ease;
}
.service-carousel.is-switching img {opacity: .18;}
.service-carousel-control {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 50%;
  background: rgba(7,28,44,.7);
  color: #fff;
  font: inherit;
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
  transition: background-color .2s ease, border-color .2s ease;
}
.service-carousel-control:hover,
.service-carousel-control:focus-visible {background: #005C43; border-color: #005C43; outline: none;}
.service-carousel-prev {left: 18px;}
.service-carousel-next {right: 18px;}
.service-carousel figcaption {display: grid; gap: 10px; min-height: 170px; padding: 26px 30px 30px;}
.service-carousel-meta {display: flex; justify-content: space-between; gap: 20px; color: #005C43; font-size: 10px; font-weight: 800; letter-spacing: .18em;}
.service-carousel figcaption > strong {color: #071C2C; font-size: clamp(21px, 1.9vw, 28px); line-height: 1.2;}
.service-carousel figcaption > small {max-width: 520px; color: #68767D; font-size: 14px; line-height: 1.7;}
.service-layout .service-list {margin: 0; border-top: 1px solid #D8DEE0;}
.service-layout .service-row {
  min-height: 112px;
  padding: 0 20px;
  transition: background-color .2s ease, padding .2s ease;
}
.service-layout .service-row.is-active {padding-left: 28px; background: rgba(7,28,44,.045); box-shadow: inset 3px 0 0 #005C43;}
.service-layout .service-row.is-active .service-arrow {color: #005C43; transform: translate(2px, -2px);}
.service-layout + .citable-passage {
  max-width: none;
  margin: 58px 0 0;
  padding-top: 30px;
  border-top: 1px solid #D8DEE0;
  columns: 2;
  column-gap: 64px;
  color: #68767D;
  font-size: 14px;
  line-height: 1.8;
}
.premium-demo .client-logo-grid {display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1px;}
.premium-demo .client-logo-card {grid-column: span 2;}
.premium-demo .client-logo-card:nth-child(5) {grid-column: 2 / 4;}
.premium-demo .client-logo-card:nth-child(6) {grid-column: 4 / 6;}
.premium-demo .client-logo-card:nth-child(7) {grid-column: 6 / 8;}

@media (max-width: 980px) {
  .service-layout {grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 30px;}
  .service-carousel {top: 88px;}
  .service-carousel figcaption {min-height: 156px; padding: 22px 24px 25px;}
  .service-layout .service-row {min-height: 96px; padding-left: 14px;}
  .service-layout .service-row.is-active {padding-left: 20px;}
}

@media (max-width: 760px) {
  .services-heading {display: block;}
  .services-heading > p {margin-top: 28px;}
  .service-layout {grid-template-columns: 1fr; gap: 36px; margin-top: 42px;}
  .service-carousel {position: relative; top: auto;}
  .service-layout .service-row {min-height: 86px;}
  .service-layout + .citable-passage {margin-top: 42px; columns: 1;}
  .premium-demo .client-logo-grid {grid-template-columns: repeat(6, minmax(0, 1fr));}
  .premium-demo .client-logo-card {grid-column: span 2;}
  .premium-demo .client-logo-card:nth-child(5),
  .premium-demo .client-logo-card:nth-child(6) {grid-column: span 2;}
  .premium-demo .client-logo-card:nth-child(7) {grid-column: 3 / 5;}
}

@media (max-width: 680px) {
  .service-carousel-control {width: 40px; height: 40px;}
  .service-carousel-prev {left: 12px;}
  .service-carousel-next {right: 12px;}
  .service-carousel figcaption {min-height: 162px; padding: 22px 20px 24px;}
  .service-layout .service-row {padding-right: 10px;}
  .premium-demo .client-logo-grid {grid-template-columns: repeat(4, minmax(0, 1fr));}
  .premium-demo .client-logo-card,
  .premium-demo .client-logo-card:nth-child(5),
  .premium-demo .client-logo-card:nth-child(6) {grid-column: span 2;}
  .premium-demo .client-logo-card:nth-child(7) {grid-column: 2 / 4;}
}

/* Human-layer product capability cards for the six category landing pages. */
.buyer-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 42px 0 0;
  border: 1px solid #D8DEE0;
  background: #D8DEE0;
}
.buyer-card {
  display: flex;
  min-width: 0;
  min-height: 238px;
  flex-direction: column;
  padding: 28px 28px 26px;
  background: #F7F9FA;
}
.buyer-card-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.buyer-card-index {
  color: #005C43;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}
.buyer-card h3 {
  margin: 0;
  color: #071C2C;
  font-size: 17px;
  line-height: 1.25;
}
.buyer-card p {
  margin: 0;
  color: #5F6E76;
  font-size: 14px;
  line-height: 1.72;
}
.buyer-card strong {color: #005C43; font-weight: 800;}
.product-documentation {
  margin-top: 28px;
  border-top: 1px solid #D8DEE0;
  border-bottom: 1px solid #D8DEE0;
}
.product-documentation summary {
  position: relative;
  padding: 19px 42px 19px 0;
  color: #071C2C;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  list-style: none;
  text-transform: uppercase;
}
.product-documentation summary::-webkit-details-marker {display: none;}
.product-documentation summary::after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 50%;
  color: #005C43;
  font-size: 21px;
  font-weight: 400;
  transform: translateY(-50%);
}
.product-documentation[open] summary::after {content: "−";}
.product-documentation .citable-passage {
  max-width: 980px;
  margin: 0;
  padding: 0 0 25px;
  color: #68767D;
  font-size: 14px;
  line-height: 1.8;
}

@media (max-width: 980px) {
  .buyer-card-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media (max-width: 640px) {
  .buyer-card-grid {grid-template-columns: 1fr; margin-top: 32px;}
  .buyer-card {min-height: 0; padding: 24px 22px;}
}

/* §23 Product quick navigation — floating rail on the right edge of every page. */
.product-quicknav {position: fixed; left: 0; top: 68%; transform: translateY(-50%); z-index: 60; display: flex; align-items: center;}
.pq-toggle {display: flex; align-items: center; gap: 9px; writing-mode: vertical-rl; padding: 20px 10px; background: #071C2C; color: #FFFFFF; border: 0; border-radius: 0 10px 10px 0; font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; cursor: pointer; box-shadow: 8px 10px 26px rgba(7,28,44,.20); transition: background-color .2s ease;}
.pq-toggle:hover, .product-quicknav.is-open .pq-toggle {background: #005C43;}
.pq-toggle-bar {display: block; width: 14px; height: 1px; background: currentColor;}
.pq-glyph {display: none;}
.pq-panel {position: absolute; left: calc(100% + 14px); top: 50%; transform: translateY(-50%) translateX(-12px); width: 324px; max-height: 74vh; display: flex; flex-direction: column; background: #FFFFFF; border: 1px solid #D8DEE0; border-top: 2px solid #005C43; box-shadow: 0 26px 60px rgba(7,28,44,.18); opacity: 0; visibility: hidden; transition: opacity .22s ease, transform .22s ease, visibility .22s;}
.product-quicknav.is-open .pq-panel {opacity: 1; visibility: visible; transform: translateY(-50%) translateX(0);}
.pq-head {display: flex; align-items: center; justify-content: space-between; padding: 14px 18px 12px; border-bottom: 1px solid #E2E8EA;}
.pq-head strong {color: #071C2C; font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase;}
.pq-close {width: 26px; height: 26px; border: 0; border-radius: 6px; background: #F1F5F4; color: #43525A; font-size: 15px; line-height: 1; cursor: pointer;}
.pq-close:hover {background: #005C43; color: #fff;}
.pq-list {overflow-y: auto; padding: 8px 6px 12px;}
.pq-group + .pq-group {margin-top: 4px; padding-top: 8px; border-top: 1px solid #EEF2F3;}
.pq-cat {display: block; padding: 7px 12px; color: #071C2C; font-size: 12px; font-weight: 700; line-height: 1.35; border-radius: 6px;}
.pq-cat:hover {background: #F1F5F4; color: #005C43;}
.pq-group.is-current > .pq-cat {color: #005C43; box-shadow: inset 2px 0 0 #005C43;}
.pq-subs {display: grid; gap: 1px; margin: 2px 0 4px 12px; padding-left: 12px; border-left: 1px solid #E2E8EA;}
.pq-subs a {padding: 6px 10px; color: #5A6870; font-size: 11px; line-height: 1.4; border-radius: 6px;}
.pq-subs a:hover {color: #071C2C; background: #F1F5F4;}
.pq-subs a.is-current {color: #005C43; font-weight: 700;}
@media (max-width: 720px) {
  .product-quicknav {top: auto; bottom: 16px; left: 16px; right: auto; transform: none; z-index: 65;}
  .pq-toggle {writing-mode: horizontal-tb; flex-direction: column; gap: 3px; width: 48px; height: 48px; padding: 0; justify-content: center; border-radius: 50%;}
  .pq-toggle-text, .pq-toggle-bar {display: none;}
  .pq-glyph {display: block; font-size: 18px; letter-spacing: 0; line-height: 1;}
  .pq-panel {position: fixed; right: 16px; left: 16px; top: auto; bottom: 84px; width: auto; max-height: 58vh; transform: translateY(12px);}
  .product-quicknav.is-open .pq-panel {transform: translateY(0);}
}

/* §24 Single-row header on large screens: brand | nav | request-quote on one line. */
@media (min-width: 1181px) {
  .site-header.nav-v2 {height: 80px;}
  .nav-v2 .header-shell {display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-rows: 80px; align-items: center; width: min(1520px, calc(100% - 40px)); height: 80px; margin: 0 auto;}
  .nav-v2 .brand {grid-column: 1; grid-row: 1;}
  .nav-v2 .main-nav {grid-column: 2; grid-row: 1; align-self: stretch; justify-content: space-between; gap: clamp(10px, 1.3vw, 26px); width: auto; border-top: 0;}
  .nav-v2 .header-cta {grid-column: 3; grid-row: 1;}
  .nav-v2 .main-nav > a, .nav-v2 .nav-category-link {min-height: 80px; padding: 8px 6px; font-size: 13.5px; white-space: nowrap;}
  .nav-v2 .dropdown-menu {top: 80px;}
}

/* §25 Typography system v1 — applied to the homepage first (body.type-v1).
   Scale: Display 64 / H2 46 / H3 21 / body 16 / small 14 / eyebrow 11 caps.
   Weights: 800 lead / 700 H3+buttons / 600 H2+Display / 400 body.
   Ink #071C2C headings, body #4A575E, accent #005C43. */
.type-v1 .hero.ind-hero-banner h1 {font-size: clamp(44px, 5.4vw, 64px); font-weight: 600; letter-spacing: -1.5px;}
.type-v1 .eyebrow {font-size: 11px; letter-spacing: .22em; font-weight: 700;}
.type-v1 main h2 {font-size: clamp(30px, 3.4vw, 46px); font-weight: 600; letter-spacing: -1px; color: #071C2C; line-height: 1.12;}
.type-v1 .section-dark h2 {color: #FFFFFF;}
.type-v1 .section h3 {font-size: 21px; font-weight: 700; color: #071C2C; line-height: 1.3;}
.type-v1 .buyer-card h3 {font-size: 16px; letter-spacing: 0;}
.type-v1 .section p {color: #4A575E;}
.type-v1 .citable-passage {color: #4A575E;}
.type-v1 .geo-answer-copy p b {font-weight: 800;}
.type-v1 .service-row strong {font-size: 21px; font-weight: 600;}
.type-v1 .service-carousel figcaption > strong {font-size: 21px; font-weight: 600; color: #071C2C;}
.type-v1 .service-carousel figcaption > small {color: #4A575E;}
.type-v1 .client-logo-card small, .type-v1 .industry-tab small {color: #4A575E;}
.type-v1 .geo-answer h2 {font-size: clamp(30px, 3.4vw, 46px);}
.type-v1 .service-row strong {color: #071C2C;}

/* §25.1 Typography v1 site rollout — protective restores and per-context H3/H1 normalizations. */
.type-v1 .product-hero h1 {font-size: clamp(40px, 4.8vw, 64px); font-weight: 600; letter-spacing: -1.5px;}
.type-v1 h3.geo-answer-sub {font-size: 12.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: inherit; line-height: 1.4;}
.type-v1 h3.solution-module-title, .type-v1 .solution-module h3 {font-size: 15px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #071C2C;}
.type-v1 .detail-section h3, .type-v1 .detail-process-item h3 {font-size: 19px; font-weight: 700; color: #071C2C; letter-spacing: -.1px;}
.type-v1 .product-section-card h3 {font-size: 21px; font-weight: 700; color: #071C2C; letter-spacing: -.2px;}
.type-v1 .insight-card h3 {font-size: 20px; font-weight: 700; color: #071C2C;}
.type-v1 .flow-stages-title {font-size: 21px; font-weight: 700; color: #071C2C;}
.type-v1 .detail-section p, .type-v1 .solution-module p {color: #4A575E;}
.type-v1 .product-hero h1 {color: #071C2C;}
.premium-demo.type-v1 .detail-section-heading h2 {font-size: clamp(30px, 3.4vw, 46px); letter-spacing: -1px; color: #071C2C;}

/* §26 Homepage geo-answer two-block layout + ABOUT module type normalization. */
.type-v1 .about-copy .kicker {font-size: 11px; letter-spacing: .22em; color: #005C43; text-transform: uppercase;}
.type-v1 .about-copy h2 span {color: #005C43;}
.type-v1 .geo-split {display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 14px; margin-top: 28px;}
.type-v1 .geo-block {background: #E9F3EC; border: 1px solid #D3E7DA; border-top: 2px solid #005C43; padding: 24px 26px; display: flex; flex-direction: column; gap: 14px;}
.type-v1 .geo-block-tag {font-size: 10px; font-weight: 800; letter-spacing: .18em; color: #005C43;}
.type-v1 .geo-block-links {display: flex; flex-wrap: wrap; gap: 8px;}
.type-v1 .geo-block-links a {padding: 7px 13px; background: #FFFFFF; border: 1px solid #D3E7DA; border-radius: 999px; color: #071C2C; font-size: 12.5px; font-weight: 600; line-height: 1.3;}
.type-v1 .geo-block-links a:hover {border-color: #005C43; color: #005C43;}
.type-v1 .geo-block small {color: #4A575E; font-size: 12.5px; line-height: 1.6;}
.type-v1 .geo-block-p {margin: 0; color: #252D31; font-size: 14px; line-height: 1.7;}
.type-v1 .geo-block-cta {margin-top: auto; color: #005C43; font-weight: 700; font-size: 13px;}
.type-v1 .geo-block-cta:hover {color: #071C2C;}
.type-v1 .geo-answer-links {margin-top: 18px;}
@media (max-width: 720px) {.type-v1 .geo-split {grid-template-columns: 1fr;}}

/* consumables hero trio (2026-08-22 rev2): main photo fills its frame, duo row below */
.ind-photo-trio .ind-photo-main {height: 300px;}
.ind-photo-trio .ind-photo-main img {object-fit: cover; padding: 0;}
.ind-photo-duo {display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px;}
.ind-photo-duo .ind-photo-frame {height: auto; aspect-ratio: 1 / 1; overflow: hidden;}
.ind-photo-duo .ind-photo-frame img {width: 100%; height: 100%; object-fit: cover; padding: 0;}

/* card-grid row balancing (2026-08-22): 4 -> 2x2, 5 -> 3+2(wide tail), 7 -> 4+3 */
.cards-4 {grid-template-columns: repeat(2, 1fr);}
.cards-5 {grid-template-columns: repeat(6, 1fr);}
.cards-5 > .detail-card {grid-column: span 2;}
.cards-5 > .detail-card:nth-child(4), .cards-5 > .detail-card:nth-child(5) {grid-column: span 3;}
.cards-7 {grid-template-columns: repeat(12, 1fr);}
.cards-7 > .detail-card:nth-child(-n+4) {grid-column: span 3;}
.cards-7 > .detail-card:nth-child(n+5) {grid-column: span 4;}
@media (max-width: 900px) {
  .cards-4, .cards-5, .cards-7 {grid-template-columns: repeat(2, 1fr);}
  .cards-4 > .detail-card, .cards-5 > .detail-card, .cards-7 > .detail-card {grid-column: auto;}
  .cards-5 > .detail-card:last-child, .cards-7 > .detail-card:last-child {grid-column: span 2;}
}
@media (max-width: 720px) {
  .cards-4, .cards-5, .cards-7 {grid-template-columns: 1fr;}
  .cards-4 > .detail-card, .cards-5 > .detail-card, .cards-7 > .detail-card {grid-column: auto;}
}

/* product-documentation intro: stacked full-width title + measured paragraphs (2026-08-22) */
.detail-intro-row {grid-template-columns: 1fr; gap: 8px 0; align-items: start; padding-bottom: 46px;}
.detail-intro-row .eyebrow {font-size: clamp(30px, 3.6vw, 46px);}
.detail-intro-row > p {margin: 12px 0 0; max-width: 960px;}

/* full-height portrait hero image, uncropped (2026-08-22) */
.ind-photo-auto .ind-photo-frame {height: auto;}
.ind-photo-auto .ind-photo-frame img {height: auto; object-fit: contain;}

/* products dropdown: lift panel up and cap it to the viewport so the last
   group (UV Disinfection Consumables) never clips below the fold (2026-08-22) */
@media (min-width: 1181px) {
  .nav-v2 .nav-category > .dropdown-menu {top: calc(100% - 14px); max-height: calc(100vh - 115px); overflow-y: auto;}
}

/* §27 Reference-project panel (detail-case) re-skinned from the legacy navy
   card to the light industrial theme — the §25.1 dark-ink heading/paragraph
   overrides made the old #081b33 background unreadable (2026-08-22) */
.premium-demo .detail-case {background: #E9F3EC; color: #252D31; border: 1px solid #D3E7DA; border-top: 3px solid #005C43; border-radius: 6px;}
.premium-demo .detail-case .detail-section-heading h2,
.premium-demo .detail-case .detail-section-heading .eyebrow {color: #071C2C;}
.premium-demo .detail-case .detail-section-heading .eyebrow > span {background: #005C43;}
.premium-demo .detail-case .detail-section-heading h2 span {color: #005C43;}
.premium-demo .detail-case > p {color: #4A575E;}
.premium-demo .detail-case > p b,
.premium-demo .detail-case > p strong {color: #071C2C;}
.premium-demo .detail-case .detail-meta-grid {border-top-color: rgba(7, 28, 44, .14);}
.premium-demo .detail-case .detail-meta-grid span {color: #005C43;}
.premium-demo .detail-case .detail-meta-grid b {color: #071C2C;}

/* §28 Header CTA back to orange + mid-band visibility (owner re-request 2026-08-22).
   Scope: the header Request-a-Quote button only — body accents stay logo-green
   per the 2026-08-21 pass-29/30 owner decision. */
.header-cta {border-color: #F47A22; background: #F47A22;}
.header-cta span {color: #fff;}
.header-cta:hover {background: #fff; border-color: #fff; color: #071C2C;}

/* §29 PRODUCT CAPABILITY module CTA: one button under the last card row,
   replacing the six per-card links (owner 2026-08-22) */
.product-capability-cta {margin-top: 30px;}
@media (max-width: 640px) {.product-capability-cta {margin-top: 22px;}}

/* §30 Single-row first-level nav down to 780px (owner clarification 2026-08-22):
   Home / Products / Spare Parts & Sourcing Service / Solutions / Resources /
   About Us / Contact Us stay visible in one row, orange CTA at the far right —
   no hamburger, no second category row. Below 780px the drawer returns but the
   orange CTA remains visible. */
@media (min-width: 780px) and (max-width: 1180px) {
  .site-header.nav-v2 {height: 76px;}
  .nav-v2 .header-shell {display: flex; align-items: center; justify-content: space-between; gap: 14px; height: 76px; width: min(100% - 40px, 1520px); margin: 0 auto;}
  .nav-v2 .brand-copy small {display: none;}
  .nav-v2 .menu-toggle {display: none;}
  .nav-v2 .header-cta {display: inline-flex; align-items: center; padding: 9px 12px; font-size: 9px; white-space: nowrap;}
  .nav-v2 .main-nav {position: static; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: clamp(5px, .9vw, 12px); flex: 1; min-width: 0; width: auto; max-height: none; padding: 0; overflow: visible; background: none; border-top: 0; box-shadow: none;}
  .nav-v2 .main-nav > a, .nav-v2 .nav-category-link {display: flex; align-items: center; justify-content: center; min-height: 76px; padding: 8px 2px; border-bottom: 0; font-size: clamp(10.5px, 1.2vw, 12px); font-weight: 650; line-height: 1.25; text-align: center; white-space: normal;}
  .nav-v2 .main-nav > a {flex: 0 1 auto;}
  .nav-v2 .nav-category {flex: 0 1 auto;}
  .nav-v2 .main-nav > a, .nav-v2 .nav-category-link {min-width: 0;}
  .nav-v2 .nav-category {width: auto; grid-template-columns: minmax(0, 1fr) 17px;}
  .nav-v2 .nav-submenu-toggle {width: 17px; height: 32px; border-bottom: 0;}
  .nav-v2 .nav-category > .dropdown-menu {position: absolute; z-index: 100; top: calc(100% - 2px); left: 50%; display: grid; grid-template-columns: 1fr; gap: 0; visibility: hidden; width: max-content; min-width: 270px; max-width: 360px; max-height: calc(100vh - 90px); padding: 8px; overflow-y: auto; opacity: 0; background: rgba(255,255,255,.985); border: 1px solid #D8DEE0; box-shadow: 0 20px 48px rgba(8,27,51,.16); transform: translate(-50%, 8px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease;}
  .nav-v2 .nav-category:hover > .dropdown-menu, .nav-v2 .nav-category:focus-within > .dropdown-menu {visibility: visible; opacity: 1; transform: translate(-50%, 0);}
}
@media (max-width: 779px) {
  .nav-v2 .brand-copy small {display: none;}
  .nav-v2 .header-cta {display: inline-flex; align-items: center; padding: 9px 12px; font-size: 9px; white-space: nowrap;}
}
@media (max-width: 380px) {
  .nav-v2 .header-cta {display: none;}
}

/* §31 PRODUCT CAPABILITY module CTA in orange (owner 2026-08-22) */
.product-capability-cta .button-primary {background: #F47A22; color: #fff;}
.product-capability-cta .button-primary:hover {background: #D96612; color: #fff;}

/* §32 Nav item separators (owner 2026-08-22): between the evenly distributed
   first-level items, a 1px vertical hairline whose color fades out at both
   ends (dark middle, light tips). Six separators for seven items; drawer
   (≤779px) is excluded. */
@media (min-width: 780px) {
  .nav-v2 .main-nav > * + * {position: relative;}
  .nav-v2 .main-nav > * + *::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1px;
    height: 20px;
    background: linear-gradient(180deg, rgba(183, 195, 201, 0) 0%, #AFBEC5 50%, rgba(183, 195, 201, 0) 100%);
    pointer-events: none;
  }
}

/* §33 Minimal B2B industrial header (owner 2026-08-22): compact brand with
   tight-tracked KONCHE and a gray "Water Treatment" subtitle line under it at
   every desktop width; flat solid header bar — no blur, no shadow. Nav stays
   evenly distributed between brand and the flat orange CTA (§32 separators
   unchanged). */
@media (min-width: 780px) {
  .nav-v2 .brand {gap: 9px; min-width: auto;}
  .nav-v2 .brand-copy {gap: 1px;}
  .nav-v2 .brand-copy strong {font-size: 16.5px; letter-spacing: .02em; color: #071C2C;}
  .nav-v2 .brand-copy small {display: block; font-size: 9px; letter-spacing: .04em; font-weight: 500; color: #8A979D; text-transform: none;}
  .site-header.nav-v2 {background: #FFFFFF; backdrop-filter: none; -webkit-backdrop-filter: none; border-bottom: 1px solid #E3E9EB; box-shadow: none;}
}

/* §34 Header visual polish (owner 2026-08-23): typography hierarchy, hover
   underline accents, softer separators, refined orange CTA. Layout, flat
   surfaces and the even distribution from §30/§32 are unchanged. */
@media (min-width: 780px) {
  /* Brand: stronger wordmark, airy tracked subtitle */
  .nav-v2 .brand-copy strong {font-size: 17px; font-weight: 800; letter-spacing: .015em; color: #071C2C;}
  .nav-v2 .brand-copy small {font-size: 8.5px; letter-spacing: .09em; color: #8D9AA1;}

  /* Nav labels: darker, sturdier, deep-green hover with a short underline accent */
  .nav-v2 .main-nav > a, .nav-v2 .nav-category-link {font-weight: 600; color: #3A464D;}
  .nav-v2 .main-nav > a:hover, .nav-v2 .nav-category-link:hover,
  .nav-v2 .main-nav > a.active, .nav-v2 .nav-category-link.active {color: #005C43;}
  .nav-v2 .main-nav > a, .nav-v2 .nav-category-link {position: relative;}
  .nav-v2 .main-nav > a::after, .nav-v2 .nav-category-link::after {
    content: "";
    position: absolute;
    top: calc(50% + 12px);
    left: 50%;
    width: 0;
    height: 2px;
    border-radius: 1px;
    background: #005C43;
    transform: translateX(-50%);
    transition: width .18s ease;
  }
  .nav-v2 .main-nav > a:hover::after, .nav-v2 .nav-category-link:hover::after,
  .nav-v2 .main-nav > a.active::after, .nav-v2 .nav-category-link.active::after {width: 18px;}

  /* Separators: slightly shorter and softer */
  .nav-v2 .main-nav > * + *::before {height: 16px; background: linear-gradient(180deg, rgba(195, 204, 209, 0) 0%, #C3CCD1 50%, rgba(195, 204, 209, 0) 100%);}

  /* CTA: tracked caps, crisp radius, deep-orange hover (replaces white hover) */
  .header-cta {border-radius: 2px; font-size: 10px; font-weight: 700; letter-spacing: .1em; padding: 10px 16px; transition: background-color .18s ease, border-color .18s ease, color .18s ease;}
  .header-cta:hover {background: #D96612; border-color: #D96612; color: #fff;}
}
@media (min-width: 1181px) {
  .nav-v2 .main-nav > a, .nav-v2 .nav-category-link {font-size: 13px;}
  .nav-v2 .main-nav > a::after, .nav-v2 .nav-category-link::after {top: calc(50% + 13px);}
}

/* §35 Shanshui layer (owner 2026-08-23): industrial skeleton keeps its navy
   anchor and silver hairlines, while real mountain-water photography and a
   lake-blue → forest-green signature line carry the human-nature balance.
   Scope: CSS-only refresh, no text/markup changes. Photos live on the home
   page (body.cinema-hero); dark bands site-wide shift navy → mountain-blue. */

/* §35.1 Tokens
   ink navy    #071C2C  industrial anchor (unchanged)
   mountain    #0A2F42→#0C3E52  dark-band gradient (navy shifted toward teal)
   lake blue   #1F7A99  CTA hover / signature-line start
   mist blue   #E9F1F5 / #EDF3F6  light-band rhythm
   forest      #005C43 / #005C43  brand accent + CTA base (unchanged) */

/* §35.2 Homepage hero — reservoir intake tower standing in blue-green nature
   (also repairs the §21 reference to the missing hero-ultrapure-banner-v2.png). */
.hero.ind-hero-banner,
.premium-demo.cinema-hero .hero.ind-hero-banner {
  min-height: 780px;
  background:
    linear-gradient(94deg,
      rgba(6, 24, 38, .97) 0%,
      rgba(7, 33, 50, .90) 30%,
      rgba(9, 47, 68, .62) 58%,
      rgba(11, 56, 80, .30) 82%,
      rgba(12, 62, 88, .18) 100%),
    url("images/scenery/reservoir-intake-hero.jpg") center 42% / cover no-repeat;
  background-color: #08293C;
}
@media (max-width: 720px) {
  .hero.ind-hero-banner,
  .premium-demo.cinema-hero .hero.ind-hero-banner {
    min-height: 640px;
    background:
      linear-gradient(180deg,
        rgba(6, 24, 38, .93) 0%,
        rgba(7, 33, 50, .85) 48%,
        rgba(9, 47, 68, .68) 100%),
      url("images/scenery/reservoir-intake-hero.jpg") center 42% / cover no-repeat;
    background-color: #08293C;
  }
}

/* §35.3 Dark bands — navy → mountain-blue gradient everywhere; the home-page
   stats band and contact band additionally sit on real lake scenery. */
.section-dark, .stats {
  background: linear-gradient(150deg, #08293C 0%, #0A3046 52%, #0C3E52 100%);
}
.stats {
  background:
    linear-gradient(160deg,
      rgba(7, 32, 48, .90) 0%,
      rgba(9, 44, 62, .84) 55%,
      rgba(10, 52, 72, .76) 100%),
    url("images/scenery/alpine-lake-stats.jpg") center 40% / cover no-repeat;
  background-color: #0A3046;
}
.contact-cta {
  background: linear-gradient(120deg, #07262E 0%, #083334 58%, #093E36 100%);
}
.premium-demo.cinema-hero .contact-cta {
  background:
    linear-gradient(100deg,
      rgba(6, 26, 32, .95) 0%,
      rgba(6, 34, 38, .80) 40%,
      rgba(7, 44, 44, .62) 72%,
      rgba(8, 52, 50, .52) 100%),
    url("images/scenery/valley-waterfall-cta.jpg") center 36% / cover no-repeat;
  background-color: #07262E;
}
.premium-demo.cinema-hero .contact-cta h2,
.premium-demo.cinema-hero .contact-cta .contact-action p {
  text-shadow: 0 2px 18px rgba(4, 18, 22, .6);
}
.product-cta {
  background: linear-gradient(140deg, #08293C 0%, #0A3548 55%, #0B4054 100%);
}
/* quiet blue breath inside dark bands: eyebrows pick up lake mist */
.section-dark .eyebrow.light, .stats .eyebrow.light, .contact-cta .eyebrow {color: #9EC4D6;}

/* §35.4 Cinema product hero (industry-solutions) — overlay joins the same
   mountain-blue family so both dark heroes read as one system. */
.premium-demo.cinema-hero .product-hero {
  background:
    linear-gradient(100deg,
      rgba(7, 32, 48, .94) 0%,
      rgba(9, 45, 64, .74) 48%,
      rgba(11, 56, 80, .45) 100%),
    url("images/products/containerized-industrial-ro-installation.webp") center 45% / cover no-repeat;
}

/* §35.5 Light bands — mist-blue rhythm; light heroes tint their tail mist. */
.hero, .product-hero {background: linear-gradient(110deg, #F5F7F6 0%, #fff 52%, #E3EEF3 100%);}
.geo-answer {background: #E9F1F5;}
.certifications {background: #EDF3F6;}
.site-footer {background: #ECF2F5;}

/* §35.6 Signature water line — lake blue flowing into forest green across the
   top rule of the major panels (client logos, service carousel, inquiry form,
   footer). Small hairlines elsewhere stay brand green. */
.client-logo-panel,
.service-carousel,
.inquiry-form,
.site-footer {
  border-top-color: transparent;
  border-image: linear-gradient(90deg, #1F7A99 0%, #005C43 100%) 1;
}

/* §35.7 CTA unification — the 2026-08-22 orange buttons rejoin the
   shanshui palette: deep forest base, lake-blue hover. */
.header-cta {border-color: #005C43; background: #005C43;}
.header-cta span {color: #fff;}
.header-cta:hover {background: #1F7A99; border-color: #1F7A99; color: #fff;}
.product-capability-cta .button-primary {background: #005C43; color: #fff;}
.product-capability-cta .button-primary:hover {background: #1F7A99; color: #fff;}

/* §35.8 (2026-08-23, later corrected by §35.9): restyled .product-cta, but
   site-enhancements.js removes .product-cta/.contact-cta at runtime and
   injects the .inquiry-section module instead, so those rules never render.
   Kept reverted to the §35.3 mountain-blue gradient state. */

/* §35.9 Project-inquiry section (owner 2026-08-23): the runtime-injected
   PROJECT INQUIRY form module (home, product, solutions and contact pages)
   joins the shanshui system — the valley-waterfall photo under a teal
   overlay, heavier on the left so the intro column stays readable — and the
   green em accent "water system must achieve." becomes white. */
.inquiry-section {
  background:
    linear-gradient(100deg,
      rgba(6, 26, 32, .95) 0%,
      rgba(6, 34, 38, .80) 40%,
      rgba(7, 44, 44, .62) 72%,
      rgba(8, 52, 50, .52) 100%),
    url("images/scenery/valley-waterfall-cta.jpg") center 36% / cover no-repeat;
  background-color: #07262E;
}
.inquiry-intro h2, .inquiry-intro > p {text-shadow: 0 2px 18px rgba(4, 18, 22, .55);}
.inquiry-intro h2 em {color: #fff;}

/* §35.9.1 Contrast repair (owner report 2026-08-23): the §25 typography
   rollout `.type-v1 main h2` (0,1,2) out-ranks `.inquiry-intro h2` (0,1,1),
   painting the whole headline navy on the dark band — invisible on the old
   flat navy, visible dark-blue over the photo overlay. `.type-v1 .section p`
   similarly overrides the intro copy. Re-assert with winning specificity;
   also covers the about-page contact band (same §25 conflict). */
.type-v1 .inquiry-intro h2 {color: #fff;}
.type-v1 .inquiry-section p {color: #B9C5CA;}
.type-v1 .contact-cta h2 {color: #fff;}
/* owner 2026-08-23: drop the faint RFQ watermark under the overlay */
.inquiry-section::before {content: none;}

/* §36 Navigation module treatment (owner 2026-08-23, redesigned same day):
   desktop ≥1181px gets seven equal-width modules; labels stay on one line
   except the long Spare Parts & Sourcing Service entry (which may wrap);
   hover/focus/current shows a white block with a glowing green edge instead
   of a filled chip. 780–1180px keeps the flexible layout with the same
   label and hover rules; the ≤779px drawer keeps its own layout. */
@media (min-width: 780px) {
  /* Shared: centered one-line labels, invisible separators, glow hover */
  .nav-v2 .main-nav > a, .nav-v2 .nav-category-link {
    font-size: clamp(10px, 1vw, 13px);
    white-space: nowrap;
    padding: 8px clamp(6px, .9vw, 14px);
    justify-content: center;
    text-align: center;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
  }
  .nav-v2 .main-nav > a[href$="spare-parts-sourcing-service.html"] {
    white-space: normal;
    font-size: clamp(9.5px, .95vw, 12px);
    line-height: 1.3;
  }
  .nav-v2 .nav-category-link {justify-self: stretch;}
  .nav-v2 .nav-submenu-toggle {position: absolute; right: 2px; top: 50%; margin-top: -16px;}
  .nav-v2 .main-nav > * + *::before {content: none;}
  .nav-v2 .main-nav > a::after, .nav-v2 .nav-category-link::after {content: none;}

  .nav-v2 .main-nav > a:hover,
  .nav-v2 .main-nav > a:focus-visible,
  .nav-v2 .nav-category:hover .nav-category-link,
  .nav-v2 .nav-category-link:focus-visible,
  .nav-v2 .main-nav > a.active,
  .nav-v2 .nav-category-link.active {
    background: #FFFFFF;
    color: #005C43;
    box-shadow: 0 0 0 1px rgba(0,92,67, .55), 0 0 14px 2px rgba(0,92,67, .30);
  }
}

/* Seven equal-width modules on large screens only (below ~1181px the equal
   columns collapse to ~56px and the long entry wraps into four-plus lines) */
@media (min-width: 1181px) {
  .nav-v2 .main-nav {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: clamp(4px, .8vw, 14px);
  }
}

/* §37 Navigation highlight redesign (owner 2026-08-23): retires the §36
   white block + glowing green edge (hover and current were visually
   identical, and the glow read as neon on the mist-white header). Two-tier
   system instead:
   - hover/focus: deep-green label only, no box
   - current page: deep-green label + the §35.6 signature water line
     (lake blue → forest green) docked onto the header's bottom rule
   - ≤779px drawer: current item becomes a tinted row with a bold label
   Layout rules from §30/§32/§36 are untouched. */
@media (min-width: 780px) {

  /* hover/focus/current: label color only — replaces the §36 glow block */
  .nav-v2 .main-nav>a:hover,
  .nav-v2 .main-nav>a:focus-visible,
  .nav-v2 .nav-category:hover .nav-category-link,
  .nav-v2 .nav-category-link:hover,
  .nav-v2 .nav-category-link:focus-visible,
  .nav-v2 .main-nav>a.active,
  .nav-v2 .nav-category-link.active {
    background: transparent;
    box-shadow: none;
    color: #005C43;
  }

  .nav-v2 .main-nav>a,
  .nav-v2 .nav-category-link {
    position: relative;
    transition: color .18s ease;
  }

  /* current-page water line docked onto the header's bottom rule;
     top:auto/width:auto reset the §34 underline leftovers */
  .nav-v2 .main-nav>a::after,
  .nav-v2 .nav-category-link::after {
    content: "";
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    bottom: -1px;
    width: auto;
    height: 2px;
    border-radius: 0;
    background: linear-gradient(90deg, #1F7A99 0%, #005C43 100%);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .24s cubic-bezier(.4, 0, .2, 1);
  }

  .nav-v2 .main-nav>a.active::after,
  .nav-v2 .nav-category-link.active::after {
    transform: scaleX(1);
  }

  /* product pages mark only the dropdown row as current — light up the
     Products module itself (:has, no markup change needed) */
  .nav-v2 .nav-category:has(.dropdown-group-link.active) .nav-category-link {
    color: #005C43;
  }

  .nav-v2 .nav-category:has(.dropdown-group-link.active) .nav-category-link::after {
    transform: scaleX(1);
  }

  /* dropdown rows: hairline accent joins the green label on hover */
  .nav-v2 .nav-category>.dropdown-menu a:hover,
  .nav-v2 .nav-category>.dropdown-menu a:focus-visible {
    background: #F0F5F1;
    color: #005C43;
    box-shadow: inset 2px 0 0 #005C43;
  }

  /* the current page's own row inside the dropdown keeps the same accent
     at rest (product pages mark it with .dropdown-group-link.active) */
  .nav-v2 .nav-category>.dropdown-menu a.active {
    background: #F0F5F1;
    color: #005C43;
    font-weight: 700;
    box-shadow: inset 2px 0 0 #005C43;
  }
}

@media (min-width: 1181px) {

  /* Products cell spans its full module so its water line aligns with the
     sibling modules (the toggle chevron is absolutely placed by §36) */
  .nav-v2 .nav-category {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ≤779px drawer: green labels on hover, tinted bold row for the current page */
@media (max-width: 779px) {

  .nav-v2 .main-nav>a:hover,
  .nav-v2 .main-nav>a:focus-visible,
  .nav-v2 .nav-category-link:hover,
  .nav-v2 .nav-category-link:focus-visible,
  .nav-v2 .main-nav>a.active,
  .nav-v2 .nav-category-link.active {
    color: #005C43;
  }

  .nav-v2 .main-nav>a.active,
  .nav-v2 .nav-category-link.active {
    font-weight: 700;
    background: #F0F5F1;
  }
}

@media (prefers-reduced-motion: reduce) {

  .nav-v2 .main-nav>a,
  .nav-v2 .nav-category-link,
  .nav-v2 .main-nav>a::after,
  .nav-v2 .nav-category-link::after {
    transition: none;
  }
}

/* §38 Photo page-heroes (owner 2026-08-23): Solutions / About / Contact /
   Resources swap their first-screen hero for real photography, and the old
   line decorations leave with the flat backgrounds — the §base grid pattern
   and the decorative visual modules (orbits, big code, vertical line
   clusters) are gone on all photo heroes. Solutions shows its plate whole:
   contain, no crop, no stretch — leftover bands fall back to the deep
   mountain-blue base tone so they read as part of the overlay. Overlays
   reuse the §35 mountain-blue family so the photo heroes read as siblings
   of the home-page cinema hero. Layout is untouched. */

/* Solutions — same recipe as §35.4, new plate, contain (whole image) */
.premium-demo.cinema-hero .product-hero {
  background:
    linear-gradient(100deg,
      rgba(7, 28, 44, .94) 0%,
      rgba(7, 28, 44, .74) 48%,
      rgba(7, 28, 44, .42) 100%),
    url("images/scenery/solutions-hero.jpg") center / contain no-repeat;
  background-color: #071C2C;
}

.premium-demo.cinema-hero .product-hero .product-hero-visual {
  display: none;
}

/* About / Contact / Resources — photo plate, white text, no line decorations */
.product-hero.about-hero {
  background:
    linear-gradient(100deg,
      rgba(7, 28, 44, .94) 0%,
      rgba(7, 33, 50, .82) 46%,
      rgba(9, 47, 68, .40) 100%),
    url("images/scenery/about-hero.jpg") center 42% / cover no-repeat;
}

.product-hero.contact-hero {
  background:
    linear-gradient(100deg,
      rgba(7, 28, 44, .94) 0%,
      rgba(7, 33, 50, .82) 46%,
      rgba(9, 47, 68, .40) 100%),
    url("images/scenery/contact-hero.jpg") center 42% / cover no-repeat;
}

.product-hero.resources-hero {
  background:
    linear-gradient(100deg,
      rgba(7, 28, 44, .94) 0%,
      rgba(7, 33, 50, .82) 46%,
      rgba(9, 47, 68, .40) 100%),
    url("images/scenery/resources-hero.jpg") center 42% / cover no-repeat;
}

.product-hero.about-hero .product-hero-grid,
.product-hero.about-hero .product-hero-visual,
.product-hero.contact-hero .product-hero-grid,
.product-hero.contact-hero .product-hero-visual,
.product-hero.resources-hero .product-hero-grid,
.product-hero.resources-hero .product-hero-visual {
  display: none;
}

.product-hero.about-hero h1,
.product-hero.contact-hero h1,
.product-hero.resources-hero h1 {
  color: #fff;
  letter-spacing: -.04em;
}

.product-hero.about-hero .product-subtitle,
.product-hero.contact-hero .product-subtitle,
.product-hero.resources-hero .product-subtitle {
  color: rgba(255, 255, 255, .88);
}

.product-hero.about-hero .product-hero-copy>p,
.product-hero.contact-hero .product-hero-copy>p,
.product-hero.resources-hero .product-hero-copy>p {
  color: rgba(255, 255, 255, .86);
}

.product-hero.about-hero .product-breadcrumb a,
.product-hero.about-hero .product-breadcrumb span,
.product-hero.contact-hero .product-breadcrumb a,
.product-hero.contact-hero .product-breadcrumb span,
.product-hero.resources-hero .product-breadcrumb a,
.product-hero.resources-hero .product-breadcrumb span {
  color: rgba(255, 255, 255, .7);
}

.product-hero.about-hero .product-breadcrumb strong,
.product-hero.contact-hero .product-breadcrumb strong,
.product-hero.resources-hero .product-breadcrumb strong {
  color: #fff;
}

@media (max-width: 720px) {

  /* portrait crops darken top-down so the headline stays readable */
  .premium-demo.cinema-hero .product-hero {
    background:
      linear-gradient(180deg,
        rgba(7, 28, 44, .93) 0%,
        rgba(7, 33, 50, .80) 55%,
        rgba(9, 47, 68, .55) 100%),
      url("images/scenery/solutions-hero.jpg") center / contain no-repeat;
    background-color: #071C2C;
  }

  .product-hero.about-hero {
    background:
      linear-gradient(180deg,
        rgba(7, 28, 44, .93) 0%,
        rgba(7, 33, 50, .80) 55%,
        rgba(9, 47, 68, .55) 100%),
      url("images/scenery/about-hero.jpg") center 42% / cover no-repeat;
  }

  .product-hero.contact-hero {
    background:
      linear-gradient(180deg,
        rgba(7, 28, 44, .93) 0%,
        rgba(7, 33, 50, .80) 55%,
        rgba(9, 47, 68, .55) 100%),
      url("images/scenery/contact-hero.jpg") center 42% / cover no-repeat;
  }

  .product-hero.resources-hero {
    background:
      linear-gradient(180deg,
        rgba(7, 28, 44, .93) 0%,
        rgba(7, 33, 50, .80) 55%,
        rgba(9, 47, 68, .55) 100%),
      url("images/scenery/resources-hero.jpg") center 42% / cover no-repeat;
  }
}

/* §39 Navigation accent system (owner 2026-08-24, "UI design V1.0" pass):
   retires the earthy deep-green active treatment. Two-tone accent derived
   from the requested fresh muted green:
   - #005C43  brand accent — hover states, underlines, CTA fills, graphic
               highlights (borders, bars, tints)
   - #005C43  accent-ink — small green TEXT on light surfaces (AA-safe rest
               color; hover still flips to #005C43)
   - #2C333A  soft dark-gray — the ACTIVE page block (nav items, dropdown
               current row, in-page active tabs); white label, 14–16px
               horizontal padding so text never touches the block edges.
   Hero banners, headline copy and body copy are untouched (§40 likewise
   excludes .hero / .product-hero from every rule). */

:root {--accent-green: #005C43; --accent-ink: #005C43; --nav-active: #2C333A;}

::selection {background: #005C43; color: #fff;}
a:focus-visible, button:focus-visible {outline-color: #005C43;}
.skip-link:focus {outline-color: #005C43;}

/* §39.1 Desktop nav (≥780px): content-hugging chips, vertically centered;
   hover = accent green label + short underline; active = dark-gray block. */
@media (min-width: 780px) {

  .nav-v2 .main-nav > a, .nav-v2 .nav-category-link {
    min-height: 42px;
    padding: 8px 14px;
    border-radius: 4px;
    align-self: center;
    justify-self: center;
    color: #3A464D;
  }

  /* hover / focus: fresh green label + animated underline accent */
  .nav-v2 .main-nav > a:hover,
  .nav-v2 .main-nav > a:focus-visible,
  .nav-v2 .nav-category:hover .nav-category-link,
  .nav-v2 .nav-category-link:hover,
  .nav-v2 .nav-category-link:focus-visible {
    background: transparent;
    box-shadow: none;
    color: #005C43;
  }

  .nav-v2 .main-nav > a::after,
  .nav-v2 .nav-category-link::after {
    content: "";
    position: absolute;
    top: auto;
    left: 50%;
    right: auto;
    bottom: 4px;
    width: 0;
    height: 2px;
    border-radius: 1px;
    background: #005C43;
    transform: translateX(-50%);
    transform-origin: center;
    transition: width .2s ease;
  }

  .nav-v2 .main-nav > a:hover::after,
  .nav-v2 .main-nav > a:focus-visible::after,
  .nav-v2 .nav-category:hover .nav-category-link::after,
  .nav-v2 .nav-category-link:hover::after,
  .nav-v2 .nav-category-link:focus-visible::after {width: 18px;}

  /* active page: soft dark-gray block, white label, padded edges */
  .nav-v2 .main-nav > a.active,
  .nav-v2 .nav-category-link.active,
  .nav-v2 .nav-category:has(.dropdown-group-link.active) .nav-category-link {
    background: #2C333A;
    color: #fff;
    border-radius: 4px;
    padding: 8px 16px;
    box-shadow: none;
  }

  .nav-v2 .main-nav > a.active:hover,
  .nav-v2 .main-nav > a.active:focus-visible,
  .nav-v2 .nav-category-link.active:hover,
  .nav-v2 .nav-category-link.active:focus-visible,
  .nav-v2 .nav-category:has(.dropdown-group-link.active):hover .nav-category-link,
  .nav-v2 .nav-category:has(.dropdown-group-link.active) .nav-category-link:hover {
    background: #2C333A;
    color: #fff;
  }

  /* no underline on the active block — the block is the state */
  .nav-v2 .main-nav > a.active::after,
  .nav-v2 .nav-category-link.active::after,
  .nav-v2 .nav-category:has(.dropdown-group-link.active) .nav-category-link::after {
    content: none;
  }

  /* dropdown panel: softer geometry, green hover tint, gray current row */
  .nav-v2 .nav-category > .dropdown-menu {border-radius: 6px; padding: 10px;}

  .nav-v2 .nav-category > .dropdown-menu a {
    padding: 10px 14px;
    border-radius: 4px;
    line-height: 1.4;
    transition: background-color .16s ease, color .16s ease;
  }

  .nav-v2 .nav-category > .dropdown-menu a:hover,
  .nav-v2 .nav-category > .dropdown-menu a:focus-visible {
    background: rgba(0,92,67, .10);
    color: #005C43;
    box-shadow: inset 2px 0 0 #005C43;
  }

  .nav-v2 .nav-category > .dropdown-menu a.active {
    background: #2C333A;
    color: #fff;
    font-weight: 700;
    box-shadow: none;
  }
}

/* §39.2 Mobile drawer (≤779px): same language — green hover, gray active row */
@media (max-width: 779px) {

  .nav-v2 .main-nav > a, .nav-v2 .nav-category-link {border-radius: 4px;}

  .nav-v2 .main-nav > a:hover,
  .nav-v2 .main-nav > a:focus-visible,
  .nav-v2 .nav-category-link:hover,
  .nav-v2 .nav-category-link:focus-visible {
    color: #005C43;
    background: rgba(0,92,67, .08);
  }

  .nav-v2 .main-nav > a.active,
  .nav-v2 .nav-category-link.active {
    background: #2C333A;
    color: #fff;
    font-weight: 700;
    padding-left: 14px;
    padding-right: 14px;
  }

  .nav-v2 .nav-category > .dropdown-menu a:hover,
  .nav-v2 .nav-category > .dropdown-menu a:focus-visible {color: #005C43;}

  .nav-v2 .nav-category > .dropdown-menu a.active {
    background: #2C333A;
    color: #fff;
  }
}

/* §39.3 Header CTA joins the accent system: #005C43 base, deep hover */
.header-cta {border-color: #005C43; background: #005C43; border-radius: 3px;}
.header-cta:hover {background: #005C43; border-color: #005C43; color: #fff; filter: brightness(.85);}

/* §39.4 In-page active tabs drop the navy/green fills for the same gray */
.industry-tab.is-active,
.industry-tab.is-active:hover {background: #2C333A;}

/* §40 Interaction-accent harmonization + stale orange-tint cleanup (2026-08-24).
   Scope: hover states, underlines, water lines and CTA fills ONLY — static
   structural greens (#005C43 rules, bullets, eyebrow dashes) and every hero
   element keep their existing colors. */

.text-link:hover,
.footer-col a:hover,
.footer-bottom a:hover,
.product-breadcrumb a:hover,
.geo-answer-links a:hover,
.solutions-index a:hover,
.solution-equipment a:hover,
.pq-cat:hover,
.pq-subs a:hover,
.detail-toc a:hover {color: #005C43;}

.pq-close:hover {background: #005C43; color: #fff;}
.pq-toggle:hover, .product-quicknav.is-open .pq-toggle {background: #005C43;}
.pq-subs a.is-current {color: #005C43; font-weight: 700;}
.pq-group.is-current > .pq-cat {color: #005C43; box-shadow: inset 2px 0 0 #005C43;}

.service-carousel-control:hover,
.service-carousel-control:focus-visible {background: #005C43; border-color: #005C43;}
.social-dock-email {background: #005C43;}

/* stale rgba(0,92,67,…) orange remnants → accent-green equivalents */
.dropdown-menu a:hover {background: rgba(0,92,67, .10); color: #005C43;}
.nav-v2 .nav-category > .dropdown-menu a:hover {color: #005C43;}
.related-card:hover {border-color: rgba(0,92,67, .55);}
.ind-gallery figure:hover {border-color: rgba(0,92,67, .55);}
.detail-toc a:hover {border-left-color: #005C43; background: rgba(0,92,67, .06);}
.inquiry-file-input:focus-visible + .inquiry-file-control {
  border-color: #005C43;
  outline-color: rgba(0,92,67, .35);
}

/* §35.6 signature water lines: green end-stop joins the new accent */
.client-logo-panel,
.service-carousel,
.inquiry-form,
.site-footer {
  border-image: linear-gradient(90deg, #1F7A99 0%, #005C43 100%) 1;
}

/* form focus + accent markers */
.inquiry-field input:focus,
.inquiry-field textarea:focus {border-color: #005C43;}
.inquiry-consent input {accent-color: #005C43;}
.inquiry-field label b, .inquiry-consent b {color: #005C43;}
.geo-block-tag {color: #005C43;}
.geo-block-cta {color: #005C43;}
.geo-block-cta:hover {color: #005C43;}
.geo-block-links a:hover {border-color: #005C43; color: #005C43;}
.premium-demo .detail-case .detail-meta-grid span {color: #005C43;}
.detail-meta-grid span {color: #005C43;}
.faq-list summary:focus-visible {outline-color: #005C43;}

/* §40.1 CTA fills unify on the accent (hero buttons excluded) */
.button-primary:not(.hero .button):not(.product-hero .button) {background: #005C43; color: #fff;}
.button-primary:not(.hero .button):not(.product-hero .button):hover {background: #005C43; color: #fff; filter: brightness(.85);}
.button-ghost:not(.hero .button):not(.product-hero .button):hover {border-color: #005C43; color: #005C43;}
.product-capability-cta .button-primary {background: #005C43; color: #fff;}
.product-capability-cta .button-primary:hover {background: #005C43; color: #fff; filter: brightness(.85);}
.inquiry-checklist .button-primary {background: #005C43;}

/* §41 Layout & typography rhythm pass (2026-08-24): spacing, alignment,
   text hierarchy, paddings, card layout, buttons, dividers. Hero bands,
   headline copy and body copy are excluded from every rule below. */

/* line wrapping: balanced headings, calmer paragraph rags (progressive) */
h2, h3 {text-wrap: balance;}
main p, footer p {text-wrap: pretty;}
.hero p, .product-hero p {text-wrap: initial;}

/* line length: long-form paragraphs capped nearer the 65–75em reading measure */
.detail-section > p,
.detail-faq p,
.detail-case > p {max-width: 860px;}

/* card-grid rhythm: one 18px step for standard cards, 24px for feature cards */
.detail-card-grid,
.insight-grid,
.company-card-grid,
.related-grid {gap: 18px;}
.certification-grid {gap: 24px;}
.geo-chips {gap: 12px;}

/* card air: consistent 22–28px insets so text never hugs card edges */
.certificate-card {padding: 22px 22px 26px;}
.certificate-card h3 {margin: 20px 0 8px;}
.certificate-card p {margin: 0;}
.premium-demo .related-card {padding: 28px 26px;}
.ind-gallery figcaption {padding: 12px 14px;}

/* section-to-content rhythm inside documentation blocks */
.detail-blocks {padding-top: 36px;}
.detail-section-heading {margin-bottom: 28px;}

/* FAQ rhythm: aligned question/answer insets on both FAQ families */
.faq-list summary {padding: 20px 56px 20px 24px;}
.faq-list details p {padding: 0 24px 22px;}
.detail-faq summary {padding: 20px 0;}
.detail-faq p {padding: 0 0 20px;}

/* tables: roomier cell insets, calmer line measure */
.detail-table th, .detail-table td {padding: 14px 18px;}
.detail-table td {line-height: 1.6;}

/* sticky TOC: airier panel, softer step between links */
.detail-toc {padding: 22px 20px;}
.detail-toc ul {gap: 2px;}
.detail-toc a {padding: 7px 10px;}

/* solutions index tiles: a touch more breathing room */
.solutions-index a {padding: 22px 24px;}

/* buttons (outside heroes): tighter arrow gap, airier fill, crisper radius */
.button:not(.hero .button):not(.product-hero .button) {
  gap: 12px;
  padding: 16px 28px;
  font-size: 12px;
  letter-spacing: .06em;
  border-radius: 2px;
}

@media (max-width: 720px) {
  .detail-table th, .detail-table td {padding: 12px 14px;}
  .faq-list summary {padding: 18px 52px 18px 20px;}
  .faq-list details p {padding: 0 20px 18px;}
  .certificate-card {padding: 20px;}
  .inquiry-form {padding: 24px 20px;}
}

@media (prefers-reduced-motion: reduce) {
  .nav-v2 .main-nav > a::after,
  .nav-v2 .nav-category-link::after {transition: none;}
}

/* §42 Green unification + RO complete-process-flow module (owner 2026-08-24):
   every green on every page is now #005C43 — the §39 #34A688/#278060 pair,
   the legacy #009944 brand green and all green rgba() tints were folded into
   the single value (hover feedback on filled CTAs uses filter: brightness(.85)
   instead of a second green). Pale green ticks on dark bands (#9fc99d) joined
   the §35 mist-blue dark-band accents. The RO page PROCESS FLOW module is now
   "COMPLETE PROCESS FLOW" with a process chain line and narrative paragraph. */

.process-narrative {max-width: 960px; margin: 20px 0 0; color: #4A575E; font-size: 16px; line-height: 1.78;}
@media (max-width: 720px) {
  .process-narrative {font-size: 15px; line-height: 1.75;}
}

/* §43 RO complete-process-flow step cards (owner 2026-08-24): the chain
   becomes horizontal node blocks joined by arrows. Green stays scarce —
   headline keyword + "Treatment process" label only. Nodes are white
   hairline blocks (neutral ink text); arrows are gray. The narrative keeps
   a 1.78 line-height for long-form English reading, "≤2 μS/cm" is a
   tabular-nums key parameter, and the last line keeps ≥1.5 line-height of
   clearance above the PROJECT INQUIRY band. The flow wraps on mobile
   (no horizontal overflow). */
.process-intro {grid-template-columns: 1fr; gap: 0; padding-bottom: 0; margin-bottom: 0;}
.process-steps-block {margin: 30px 0 8px;}
.process-steps-label {display: block; margin-bottom: 14px; color: #005C43; font-size: 11px; font-weight: 750; letter-spacing: .16em; text-transform: uppercase;}
.process-steps {display: flex; flex-wrap: wrap; align-items: stretch; row-gap: 10px; max-width: 100%;}
.step {display: inline-flex; align-items: center; min-height: 46px; padding: 10px 16px; background: #fff; border: 1px solid #C9D2D6; border-radius: 3px; color: #252D31; font-size: 12.5px; font-weight: 650; letter-spacing: .01em; white-space: nowrap; box-shadow: 0 1px 2px rgba(7, 28, 44, .04);}
.step-arrow {display: inline-flex; align-items: center; padding: 0 9px; color: #8A9AA1; font-style: normal; font-size: 15px; line-height: 1;}
.process-narrative b.key-param {font-weight: 750; color: #071C2C; font-variant-numeric: tabular-nums; white-space: nowrap;}
.process-narrative {margin-bottom: calc(1.6 * 1.78em); /* ~1.5 line-heights of clearance above PROJECT INQUIRY; section bottom padding is 0 by design */ }
@media (max-width: 720px) {
  .process-steps-block {margin: 24px 0 6px;}
  .process-steps {row-gap: 8px;}
  .step {min-height: 42px; padding: 8px 12px; font-size: 12px;}
  .step-arrow {padding: 0 6px; font-size: 13px;}
}

/* §44 Geo-answer figure column (owner 2026-08-24): the single/double-stage
   RO page carries a portrait system diagram in the right column of the
   QUICK TECHNICAL ANSWER band. The decorative corner circle is retired on
   figure-bearing bands; the copy column keeps its full measure so the
   diagram never crowds the text. */
.geo-answer.has-figure::after {content: none;}
.geo-answer-figure {display: flex; justify-content: center; margin: 0;}
.geo-answer-figure img {display: block; width: auto; max-width: 100%; max-height: 560px; object-fit: contain; background: transparent; border: 0; border-radius: 4px; mix-blend-mode: multiply; padding: 0; box-sizing: border-box;}
.geo-answer.has-figure .geo-answer-copy {min-width: 0;}
@media (max-width: 860px) {
  .geo-answer.has-figure .geo-answer-grid {grid-template-columns: 1fr; gap: 34px;}
  .geo-answer-figure img {max-height: 480px; mix-blend-mode: multiply;}
}
@media (max-width: 720px) {
  .geo-answer-figure img {max-height: 420px;}
}

/* §45 Containerized page: merged documentation collapsible band (owner
   2026-08-24). The single "Product documentation" disclosure sits directly
   under the QUICK TECHNICAL ANSWER band, so it needs its own container with
   modest padding instead of a full section rhythm. */
.doc-collapsible {padding: 30px 0 8px;}
.doc-collapsible details {border-top: 1px solid #D8DEE0; border-bottom: 1px solid #D8DEE0;}

/* §45.1 Layout repair: the doc-collapsible band lives inside the
   detail-has-toc grid (220px TOC column + content column) and must span the
   full row, otherwise auto-placement squeezes it into the TOC column and
   pushes every following block out of position. */
.detail-has-toc .doc-collapsible {grid-column: 1 / -1;}

/* §46 Products dropdown hover hardening (owner 2026-08-24): moving the
   cursor toward the last group (Water Treatment Consumables) could cross
   transient hover blind spots — group borders, or content shifting while a
   submenu animates open — which instantly killed the whole panel. Fixes:
   - the panel now closes with a 300ms grace delay instead of instantly;
   - submenu collapse also waits 250ms before retracting;
   - scrollbar-gutter keeps the panel geometry stable when a short viewport
     makes it scrollable (no 8px jump breaking the hover chain). */
.nav-v2 .nav-category > .dropdown-menu {scrollbar-gutter: stable;}
.nav-v2 .nav-category:not(:hover):not(:focus-within) > .dropdown-menu {
  transition: opacity .18s ease, transform .18s ease, visibility 0s linear .3s;
}
@media (min-width: 780px) {
  .nav-v2 .dropdown-group:not(:hover):not(:focus-within) .dropdown-submenu {
    transition: max-height .22s ease .25s, opacity .2s ease .2s, margin .2s ease .25s, padding .2s ease .25s;
  }
}

/* §47 Products dropdown: instant submenu reveal (owner follow-up 2026-08-24).
   The animated max-height reveal/collapse made the single-column panel
   reshuffle while the cursor was already over the target group — during the
   UV group's collapse the Consumables group slid away from under the pointer,
   its submenu never opened, and the whole panel could feel like it vanished.
   Submenus now appear and disappear instantly (no transition), so the layout
   under the cursor is stable the moment a group is entered; the §46 panel
   close grace and scrollbar-gutter hardening stay in force. */
@media (min-width: 780px) {
  .nav-v2 .dropdown-group .dropdown-submenu {transition: none !important;}
}

/* §48 Products dropdown: always-visible submenus (owner 2026-08-24, css v11).
   True root cause of the "menu vanishes over Consumables" report: the panel
   was only as tall as its collapsed groups (~284px). A cursor heading for the
   last group could leave the panel's bottom edge before any submenu expanded
   the height — the hover chain broke and the whole panel closed. Submenus
   are now permanently expanded inside the single-column panel, so the full
   tree is one stable hover surface; §46 close-grace and §47 rules remain. */
@media (min-width: 780px) {
  .nav-v2 .nav-category .dropdown-submenu {
    max-height: none;
    visibility: visible;
    opacity: 1;
    overflow: visible;
    margin-top: 2px;
    padding: 4px 0 6px 12px;
    border-left: 1px solid rgba(7, 28, 44, .14);
  }
}

/* §49 Homepage QUICK TECHNICAL ANSWER: image-free two-direction layout
   (owner 2026-08-24, css v20260824-12). Desktop is a strict 50/50 split;
   mobile stacks the two main columns and both business cards. */
.premium-demo .home-work-directions {
  overflow: visible;
  padding: clamp(72px, 7vw, 104px) 0;
  background: #F0F5F5;
  font-family: Inter, Arial, sans-serif;
}
.premium-demo .home-work-directions::after {content: none;}
.premium-demo .home-work-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(38px, 5vw, 76px);
  align-items: stretch;
}
.premium-demo .home-answer-card {
  position: relative;
  isolation: isolate;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, 4vw, 58px);
  border: 1px solid rgba(0,92,67, .08);
  border-radius: 8px;
  background:
    radial-gradient(circle at 88% 54%, rgba(77, 191, 116, .22) 0, rgba(108, 207, 142, .11) 30%, transparent 62%),
    rgba(232, 243, 232, .86);
  box-shadow: 0 18px 44px rgba(25, 70, 50, .08);
}
.premium-demo .home-answer-card::before,
.premium-demo .home-answer-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  border: 1px solid rgba(32, 120, 69, .1);
  border-radius: 18px;
  transform-origin: center;
}
.premium-demo .home-answer-card::before {
  inset: 5% -3% 7% 2%;
  background: linear-gradient(115deg, rgba(124, 221, 157, .08), rgba(80, 196, 119, .16));
  transform: rotate(-2.2deg);
}
.premium-demo .home-answer-card::after {
  inset: 9% 2% 3% -3%;
  background: linear-gradient(125deg, rgba(181, 236, 200, .1), rgba(45, 176, 91, .12));
  transform: rotate(2.4deg);
}
.premium-demo .home-answer-card > * {position: relative; z-index: 1;}
.premium-demo .home-answer-card .geo-answer-label {color: #19663B;}
.premium-demo .home-answer-card .geo-answer-label::before {background: #207845;}
.premium-demo .home-answer-card h2 {
  max-width: 590px;
  margin: 20px 0 25px;
  color: #111111;
  font-size: clamp(31px, 3.1vw, 48px);
  font-weight: 570;
  line-height: 1.08;
  letter-spacing: -.04em;
}
.premium-demo .home-answer-card > p {
  max-width: 620px;
  margin: 0;
  color: #333333;
  font-size: clamp(15px, 1.15vw, 17px);
  font-weight: 400;
  line-height: 1.78;
  letter-spacing: 0;
}
.home-directions-panel {display: flex; min-width: 0; flex-direction: column;}
.home-directions-heading {margin-bottom: 28px;}
.home-directions-heading > span {display: block; width: 46px; height: 2px; margin-bottom: 17px; background: #207845;}
.home-directions-heading h2 {
  max-width: 630px;
  margin: 0;
  color: #111111;
  font-size: clamp(24px, 2.15vw, 34px);
  font-weight: 600;
  line-height: 1.14;
  letter-spacing: -.035em;
}
.home-direction-cards {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; flex: 1;}
.home-direction-card {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(17, 17, 17, .12);
  border-radius: 8px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 14px 34px rgba(7, 28, 44, .07);
}
.home-direction-media {position: relative; overflow: hidden; aspect-ratio: 16 / 10; margin: 0; border-bottom: 1px solid rgba(17, 17, 17, .1); background: #E8EEEC;}
.home-direction-media img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 52%; transition: transform .35s ease;}
.home-direction-media-sourcing img {object-position: 68% 50%;}
.home-direction-card:hover .home-direction-media img {transform: scale(1.025);}
.home-direction-card-body {display: flex; min-height: 350px; flex: 1; flex-direction: column; padding: 25px 24px 24px;}
.home-direction-card h3 {margin: 0; color: #111111; font-size: 15px; font-weight: 700; line-height: 1.38; letter-spacing: -.01em;}
.home-direction-card h3 > span {display: block; margin-bottom: 10px; color: #207845; font-size: 10px; font-weight: 750; letter-spacing: .14em;}
.home-product-tags {display: flex; flex-wrap: wrap; gap: 7px; margin-top: 24px;}
.home-product-tags a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid rgba(0,92,67, .24);
  border-radius: 999px;
  background: rgba(232, 243, 232, .64);
  color: #333333;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.25;
  text-decoration: none;
}
.home-product-tags a:hover,
.home-product-tags a:focus-visible {border-color: #207845; color: #19663B; background: #FFFFFF;}
.home-direction-copy {margin: 24px 0 0; color: #555F5A; font-size: 13px; line-height: 1.72;}
.home-direction-link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 7px;
  margin-top: auto;
  padding-top: 26px;
  color: #19663B;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
}
.home-direction-link-small {font-size: 11px;}
.home-direction-link span {transition: transform .18s ease;}
.home-direction-link:hover,
.home-direction-link:focus-visible {color: #111111; text-decoration: underline; text-underline-offset: 4px;}
.home-direction-link:hover span,
.home-direction-link:focus-visible span {transform: translate(2px, -2px);}

@media (min-width: 761px) and (max-width: 1100px) {
  .premium-demo .home-work-grid {gap: 24px;}
  .premium-demo .home-answer-card {padding: 32px 28px;}
  .home-direction-cards {gap: 10px;}
  .home-direction-card-body {min-height: 370px; padding: 21px 17px 20px;}
  .home-product-tags {gap: 6px; margin-top: 20px;}
  .home-product-tags a {padding: 6px 8px; font-size: 9.5px;}
  .home-direction-copy {font-size: 12px;}
}

@media (max-width: 760px) {
  .premium-demo .home-work-directions {padding: 62px 0;}
  .premium-demo .home-work-grid {grid-template-columns: 1fr;}
  .premium-demo .home-work-grid {gap: 44px;}
  .premium-demo .home-answer-card {padding: 30px 24px;}
  .premium-demo .home-answer-card h2 {font-size: clamp(29px, 8.6vw, 37px);}
  .premium-demo .home-answer-card > p {font-size: 15px; line-height: 1.72;}
  .premium-demo .home-answer-card::before {inset: 4% -1.5% 6% 1%; transform: rotate(-1deg);}
  .premium-demo .home-answer-card::after {inset: 7% 1% 3% -1.5%; transform: rotate(1.1deg);}
  .home-direction-cards {grid-template-columns: 1fr;}
  .home-direction-card-body {min-height: 0; padding: 25px 22px;}
  .home-direction-link {margin-top: 25px; padding-top: 0;}
}

@media (prefers-reduced-motion: reduce) {
  .home-direction-media img {transition: none;}
  .home-direction-card:hover .home-direction-media img {transform: none;}
}

/* §50 Homepage INDUSTRIES SERVED image cards (owner 2026-08-24,
   css v20260824-16): eight supplied industry scenes above title + copy. */
.premium-demo .client-industry-heading {
  margin: 0;
  padding: 24px 22px 14px;
  border: 1px solid #E0E6E0;
  border-bottom: 0;
  background: #F4F7F4;
}
.premium-demo .client-industry-heading > span {color: #207845;}
.premium-demo .industry-wall {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  padding: 0 22px 22px;
  border: 1px solid #E0E6E0;
  border-top: 0;
  background: #F4F7F4;
}
.premium-demo .industry-badge {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid #E0E6E0;
  border-radius: 8px;
  background: #FFFFFF;
  box-shadow: 0 10px 24px rgba(17, 45, 31, .045);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.premium-demo .industry-badge::before {content: none;}
.premium-demo .industry-badge:hover {
  border-color: rgba(32, 120, 69, .42);
  background: #FFFFFF;
  box-shadow: 0 16px 30px rgba(17, 45, 31, .08);
  transform: translateY(-3px);
}
.industry-badge-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  margin: 0;
  border-bottom: 2px solid #207845;
  background: #E8EEEA;
}
.industry-badge-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease, filter .35s ease;
}
.industry-badge:hover .industry-badge-media img {filter: saturate(1.04); transform: scale(1.025);}
.industry-badge-copy {display: grid; gap: 9px; padding: 21px 20px 23px;}
.premium-demo .industry-badge-copy strong {color: #207845; font-size: 15px; font-weight: 700; line-height: 1.32;}
.premium-demo .industry-badge-copy span {color: #4A575E; font-size: 12px; line-height: 1.58;}

@media (max-width: 900px) {
  .premium-demo .industry-wall {grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media (max-width: 560px) {
  .premium-demo .client-industry-heading {padding: 20px 18px 12px;}
  .premium-demo .industry-wall {grid-template-columns: 1fr; gap: 14px; padding: 0 18px 18px;}
}

@media (prefers-reduced-motion: reduce) {
  .premium-demo .industry-badge,
  .industry-badge-media img {transition: none;}
  .premium-demo .industry-badge:hover,
  .industry-badge:hover .industry-badge-media img {transform: none;}
}

/* §51 Homepage WHY PARTNER WITH US detail upgrade (owner 2026-08-24,
   css v20260824-17): keep the 3x2 layout and all copy; add one coherent
   linear-icon system, stronger number badges and calmer card spacing. */
.premium-demo #why-partner {background: #F4F7F4;}
.premium-demo #why-partner .section-heading {margin-bottom: 42px;}
.premium-demo #why-partner .section-heading h2 span {color: #207845; font-size: 1.08em;}
.premium-demo #why-partner .buyer-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 0;
  border: 0;
  background: transparent;
}
.premium-demo #why-partner .buyer-card {
  position: relative;
  min-height: 292px;
  padding: 32px 28px 30px;
  border: 1px solid #E7EBE7;
  border-radius: 8px;
  background: #FFFFFF;
  box-shadow: 0 8px 22px rgba(17, 45, 31, .035);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.premium-demo #why-partner .buyer-card::after {
  content: "";
  width: 30px;
  height: 2px;
  margin-top: auto;
  background: #207845;
}
.premium-demo #why-partner .buyer-card:hover {
  border-color: rgba(32, 120, 69, .28);
  box-shadow: 0 16px 30px rgba(17, 45, 31, .075);
  transform: translateY(-3px);
}
.premium-demo #why-partner .buyer-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 24px;
}
.premium-demo #why-partner .buyer-card-index {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 50%;
  background: #207845;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
}
.buyer-card-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #207845;
}
.buyer-card-icon svg {
  display: block;
  width: 32px;
  height: 32px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.premium-demo #why-partner .buyer-card h3 {
  margin: 0 0 13px;
  color: #111111;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -.02em;
}
.premium-demo #why-partner .buyer-card p {
  margin: 0 0 25px;
  color: #444444;
  font-size: 14px;
  line-height: 1.65;
}

@media (max-width: 980px) {
  .premium-demo #why-partner .buyer-card-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media (max-width: 640px) {
  .premium-demo #why-partner .section-heading {margin-bottom: 32px;}
  .premium-demo #why-partner .buyer-card-grid {grid-template-columns: 1fr; gap: 14px;}
  .premium-demo #why-partner .buyer-card {min-height: 0; padding: 28px 24px 26px;}
}

@media (prefers-reduced-motion: reduce) {
  .premium-demo #why-partner .buyer-card {transition: none;}
  .premium-demo #why-partner .buyer-card:hover {transform: none;}
}

/* 49. Homepage hero colour hierarchy — 2026-08-24 */
body.premium-demo.cinema-hero.type-v1 .hero.ind-hero-banner h1 {
  color: #FFFFFF;
}
body.premium-demo.cinema-hero.type-v1 .hero.ind-hero-banner h1 .hero-green {
  color: #DCFDFB;
}
body.premium-demo.cinema-hero.type-v1 .hero.ind-hero-banner .hero-cn {
  color: #DCFDFB;
}
body.premium-demo.cinema-hero.type-v1 .hero.ind-hero-banner .hero-description {
  color: #D1D5DB;
}
body.premium-demo.cinema-hero.type-v1 .hero.ind-hero-banner .hero-actions .button-primary {
  background: #005C43;
  color: #FFFFFF;
}
body.premium-demo.cinema-hero.type-v1 .hero.ind-hero-banner .hero-actions .button-primary:hover {
  background: #005C43;
  color: #FFFFFF;
  filter: brightness(.85);
}

/* 50. Homepage customer pathways + WHY PARTNER CTA — 2026-08-24 */
.premium-demo .partner-pathways {
  background: #F4F7F4;
  font-family: Inter, Arial, Helvetica, sans-serif;
}
.premium-demo .partner-pathways-heading {
  align-items: end;
}
.premium-demo .partner-pathways-heading h2 {
  margin: 18px 0 0;
  color: #111111;
  font-size: clamp(38px, 4.5vw, 58px);
  font-weight: 600;
  line-height: 1.03;
  letter-spacing: -.045em;
}
.premium-demo .partner-pathways-heading h2 span {
  color: #005C43;
}
.premium-demo .partner-pathways-heading > p {
  max-width: 410px;
  color: #4A575E;
  font-size: 14px;
  line-height: 1.75;
}
.premium-demo .audience-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.premium-demo .audience-card {
  display: flex;
  min-width: 0;
  min-height: 530px;
  flex-direction: column;
  padding: 32px 28px 28px;
  background: #FFFFFF;
  border: 1px solid #E0E6E0;
  border-top: 3px solid #005C43;
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(7, 28, 44, .045);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.premium-demo .audience-card:hover {
  transform: translateY(-5px);
  border-color: rgba(0, 92, 67, .34);
  box-shadow: 0 20px 42px rgba(7, 28, 44, .11);
}
.premium-demo .audience-card-link {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.premium-demo .audience-card-link:focus-visible {
  outline: 3px solid rgba(0, 92, 67, .32);
  outline-offset: 4px;
}
.premium-demo .audience-card-action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding-top: 22px;
  color: #005C43;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.premium-demo .audience-card-action b {
  font-size: 16px;
  transition: transform .2s ease;
}
.premium-demo .audience-card-link:hover .audience-card-action b {
  transform: translate(2px, -2px);
}
.premium-demo .audience-card-meta {
  display: flex;
  min-height: 48px;
  align-items: center;
  gap: 12px;
  color: #005C43;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.premium-demo .audience-index {
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  place-items: center;
  background: #005C43;
  color: #FFFFFF;
  border-radius: 50%;
  font-size: 10px;
  letter-spacing: .05em;
}
.premium-demo .audience-card h3 {
  min-height: 58px;
  margin: 22px 0 14px;
  color: #111111;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -.02em;
}
.premium-demo .audience-lead {
  min-height: 108px;
  margin: 0 0 20px;
  color: #4A575E;
  font-size: 13px;
  font-style: italic;
  line-height: 1.7;
}
.premium-demo .audience-card ul {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.premium-demo .audience-card li {
  position: relative;
  padding-left: 16px;
  color: #333333;
  font-size: 12px;
  line-height: 1.55;
}
.premium-demo .audience-card li::before {
  content: "";
  position: absolute;
  top: .72em;
  left: 0;
  width: 7px;
  height: 2px;
  background: #005C43;
}
.premium-demo .service-promise {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  gap: 36px;
  align-items: center;
  margin-top: 24px;
  padding: 28px 30px;
  background: #E8F1EE;
  border: 1px solid #D6E4DE;
  border-left: 4px solid #005C43;
  border-radius: 8px;
}
.premium-demo .service-promise p {
  margin: 0;
  color: #111111;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
.premium-demo .service-promise ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.premium-demo .service-promise li {
  position: relative;
  padding-left: 20px;
  color: #333333;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}
.premium-demo .service-promise li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #005C43;
  font-weight: 900;
}
.premium-demo #why-partner .why-partner-cta {
  display: flex;
  justify-content: center;
  margin-top: 38px;
}
.premium-demo #why-partner .why-partner-cta .button-primary {
  min-width: min(100%, 390px);
  background: #005C43;
}
.premium-demo #why-partner .why-partner-cta .button-primary:hover {
  background: #005C43;
  filter: brightness(.85);
}

@media (max-width: 900px) {
  .premium-demo .audience-card-grid {grid-template-columns: 1fr;}
  .premium-demo .audience-card {min-height: 0;}
  .premium-demo .audience-card h3,
  .premium-demo .audience-lead {min-height: 0;}
  .premium-demo .service-promise {grid-template-columns: 1fr; gap: 22px;}
}

@media (max-width: 640px) {
  .premium-demo .partner-pathways-heading {display: block;}
  .premium-demo .partner-pathways-heading > p {margin-top: 22px;}
  .premium-demo .audience-card {padding: 28px 22px 24px;}
  .premium-demo .audience-card-meta {align-items: flex-start;}
  .premium-demo .service-promise {padding: 24px 20px;}
  .premium-demo .service-promise ul {grid-template-columns: 1fr;}
  .premium-demo #why-partner .why-partner-cta .button-primary {min-width: 100%; gap: 12px;}
}

@media (prefers-reduced-motion: reduce) {
  .premium-demo .audience-card {transition: none;}
  .premium-demo .audience-card:hover {transform: none;}
}

/* 51. Reference-project card system — 2026-08-24 */
.premium-demo #reference-project.detail-case {
  position: relative;
  overflow: hidden;
  margin-inline: 0;
  padding: clamp(42px, 5vw, 64px);
  background: #E6F2EB;
  color: #223836;
  border: 1px solid #C8DDD6;
  border-top: 0;
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(7, 28, 44, .055);
}
.premium-demo #reference-project.detail-case::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(42px, 5vw, 64px);
  width: 58px;
  height: 4px;
  background: #005C43;
}
.premium-demo #reference-project .detail-section-heading {
  margin-bottom: 20px;
}
.premium-demo #reference-project .detail-section-heading h2.eyebrow {
  color: #005C43;
  font-size: clamp(27px, 3vw, 40px);
  font-weight: 750;
  line-height: 1.08;
  letter-spacing: -.035em;
}
.premium-demo #reference-project .detail-section-heading h2.eyebrow > span {
  display: none;
}
.premium-demo #reference-project > .detail-section-heading + p {
  max-width: 900px;
  margin: 0 0 17px;
  color: #334B49;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
}
.premium-demo #reference-project > .detail-section-heading + p + p {
  max-width: 920px;
  margin: 0 0 24px;
  color: #223836;
  font-size: clamp(17px, 1.65vw, 21px);
  font-weight: 700;
  line-height: 1.5;
}
.premium-demo #reference-project > p b,
.premium-demo #reference-project > p strong {
  color: #223836;
  font-weight: 750;
}
.premium-demo #reference-project .detail-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  margin: 28px 0 0;
  padding: 0;
  background: rgba(255, 255, 255, .38);
  border: 1px solid #C8DDD6;
  border-radius: 6px;
}
.premium-demo #reference-project .detail-meta-grid > div {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 18px 20px;
  border-right: 1px solid #C8DDD6;
  border-bottom: 1px solid #C8DDD6;
}
.premium-demo #reference-project .detail-meta-grid > div:nth-child(2n) {
  border-right: 0;
}
.premium-demo #reference-project .detail-meta-grid > div:nth-last-child(-n+2) {
  border-bottom: 0;
}
.premium-demo #reference-project .detail-meta-grid span {
  color: #005C43;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.premium-demo #reference-project .detail-meta-grid b {
  color: #223836;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}
.premium-demo #reference-project .detail-meta-grid .reference-result {
  background: rgba(0, 92, 67, .085);
  box-shadow: inset 3px 0 0 #005C43;
}
.premium-demo #reference-project .detail-meta-grid .reference-result span,
.premium-demo #reference-project .detail-meta-grid .reference-result b {
  font-weight: 800;
}
.premium-demo #reference-project > .detail-meta-grid + p {
  max-width: 940px;
  margin: 28px 0 0;
  padding-top: 26px;
  color: #334B49;
  border-top: 1px solid #C8DDD6;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
}
.premium-demo #reference-project > .detail-section-heading + p:only-of-type {
  max-width: 940px;
  margin-bottom: 0;
  color: #334B49;
  line-height: 1.6;
}

@media (max-width: 720px) {
  .premium-demo #reference-project.detail-case {
    padding: 38px 24px;
  }
  .premium-demo #reference-project.detail-case::before {
    left: 24px;
    width: 48px;
  }
  .premium-demo #reference-project .detail-meta-grid {
    grid-template-columns: 1fr;
  }
  .premium-demo #reference-project .detail-meta-grid > div,
  .premium-demo #reference-project .detail-meta-grid > div:nth-child(2n),
  .premium-demo #reference-project .detail-meta-grid > div:nth-last-child(-n+2) {
    border-right: 0;
    border-bottom: 1px solid #C8DDD6;
  }
  .premium-demo #reference-project .detail-meta-grid > div:last-child {
    border-bottom: 0;
  }
}
/* 52. Homepage conversion sequence — 2026-08-24 */
.premium-demo.cinema-hero .hero-actions {flex-wrap: wrap; align-items: center;}
.premium-demo.cinema-hero .hero-actions .hero-quote-cta {color: #fff; border-color: rgba(255,255,255,.58); background: rgba(7,28,44,.16); backdrop-filter: blur(6px); text-transform: uppercase; font-size: 12px; font-weight: 700; letter-spacing: .14em; padding: 16px 29px;}
.premium-demo.cinema-hero .hero-actions .hero-quote-cta:hover {color: #071C2C; border-color: #fff; background: #fff; filter: none; transform: translateY(-2px);}
.premium-demo .home-projects {background: #E6F2EB;}
.premium-demo .home-projects .section-heading h2 span,
.premium-demo .home-resources .section-heading h2 span {color: #005C43;}
.premium-demo .home-project-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px;}
.premium-demo .home-project-card {display: flex; flex-direction: column; overflow: hidden; min-width: 0; background: #fff; border: 1px solid #C8DDD6; border-radius: 8px; box-shadow: 0 12px 28px rgba(7,28,44,.045); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
.premium-demo .home-project-card:hover {transform: translateY(-3px); border-color: #AFCBC1; box-shadow: 0 18px 38px rgba(7,28,44,.08);}
.premium-demo .home-project-media {aspect-ratio: 16/9; overflow: hidden; margin: 0; background: #DCE9E4;}
.premium-demo .home-project-media img {display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease;}
.premium-demo .home-project-card:hover img {transform: scale(1.025);}
.premium-demo .home-project-body {display: flex; flex: 1; flex-direction: column; padding: 28px 26px 26px;}
.premium-demo .home-project-kicker {margin: 0 0 13px; color: #005C43; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;}
.premium-demo .home-project-card h3 {margin: 0 0 13px; color: #071C2C; font-size: 20px; line-height: 1.3; letter-spacing: -.02em;}
.premium-demo .home-project-summary {margin: 0 0 22px; color: #334B49; font-size: 13px; font-weight: 650; line-height: 1.65;}
.premium-demo .home-project-meta {display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; margin-top: auto; padding-top: 18px; border-top: 1px solid #DCE9E4;}
.premium-demo .home-project-meta span {display: grid; gap: 4px; color: #334B49; font-size: 11px; line-height: 1.45;}
.premium-demo .home-project-meta b {color: #005C43; font-size: 9px; letter-spacing: .12em; text-transform: uppercase;}
.premium-demo .home-project-result {grid-column: 1/-1; padding: 11px 12px; background: rgba(0,92,67,.075); border-left: 3px solid #005C43;}
.premium-demo .home-project-link {display: inline-flex; gap: 10px; align-items: center; margin-top: 22px; color: #005C43; font-size: 11px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase;}
.premium-demo .home-project-link:hover {filter: brightness(.78);}
.premium-demo .home-resources {background: #F4F7F4;}
.premium-demo .home-resource-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; overflow: hidden; margin-top: 40px; background: #D8E3DE; border: 1px solid #D8E3DE; border-radius: 8px;}
.premium-demo .home-resource-card {position: relative; display: flex; min-height: 210px; flex-direction: column; padding: 30px 28px; background: #fff; transition: background .2s ease;}
.premium-demo .home-resource-card:hover {background: #F8FBF9;}
.premium-demo .home-resource-card small {color: #005C43; font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase;}
.premium-demo .home-resource-card h3 {margin: 22px 0 28px; color: #071C2C; font-size: 18px; line-height: 1.4; letter-spacing: -.015em;}
.premium-demo .home-resource-card .text-link {margin-top: auto; color: #005C43;}
.premium-demo .home-resources-action {display: flex; justify-content: center; margin-top: 32px;}
.premium-demo .home-resources-action .button-ghost {border-color: #005C43; color: #005C43;}
.premium-demo .home-resources-action .button-ghost:hover {background: #005C43; color: #fff;}
@media (max-width: 900px) {
  .premium-demo .home-project-grid, .premium-demo .home-resource-grid {grid-template-columns: 1fr;}
  .premium-demo .home-project-card {display: grid; grid-template-columns: minmax(220px,.75fr) minmax(0,1.25fr);}
  .premium-demo .home-project-media {aspect-ratio: auto; min-height: 100%;}
}
@media (max-width: 640px) {
  .premium-demo.cinema-hero .hero-actions {align-items: stretch; flex-direction: column;}
  .premium-demo.cinema-hero .hero-actions .button {width: 100%;}
  .premium-demo .home-project-card {display: flex;}
  .premium-demo .home-project-media {aspect-ratio: 16/9;}
  .premium-demo .home-project-body {padding: 24px 21px;}
  .premium-demo .home-project-meta {grid-template-columns: 1fr;}
  .premium-demo .home-project-result {grid-column: auto;}
  .premium-demo .home-resource-card {min-height: 0; padding: 25px 22px;}
}
@media (prefers-reduced-motion: reduce) {
  .premium-demo .home-project-card, .premium-demo .home-project-media img {transition: none;}
  .premium-demo .home-project-card:hover {transform: none;}
  .premium-demo .home-project-card:hover img {transform: none;}
}
/* 53. Homepage CTA hit-area and compact support cards — 2026-08-24 */
@media (min-width: 780px) {
  .nav-v2 .nav-category > .dropdown-menu {max-height: min(400px, calc(100vh - 115px)); pointer-events: none;}
  .nav-v2 .nav-category:hover > .dropdown-menu,
  .nav-v2 .nav-category:focus-within > .dropdown-menu {pointer-events: auto;}
  .nav-v2 .dropdown-submenu {pointer-events: none;}
  .nav-v2 .dropdown-group:hover .dropdown-submenu,
  .nav-v2 .dropdown-group:focus-within .dropdown-submenu {pointer-events: auto;}
}
.premium-demo .partner-pathways .audience-card-grid {gap: 16px;}
.premium-demo .partner-pathways .audience-card {min-height: 0; padding: 28px 26px; justify-content: center;}
.premium-demo .partner-pathways .audience-card-meta {min-height: 0;}
.premium-demo .partner-pathways-cta {display: flex; justify-content: center; margin-top: 32px;}
.premium-demo .partner-pathways-cta .button-primary {min-width: min(100%, 390px); background: #005C43;}
.premium-demo .partner-pathways-cta .button-primary:hover {background: #005C43; filter: brightness(.85);}
.premium-demo .home-project-media {aspect-ratio: 4/3; padding: 10px; background: #F4F7F4;}
.premium-demo .home-project-media img {object-fit: contain; object-position: center;}
.premium-demo .home-project-card:hover img {transform: none;}
@media (max-width: 900px) {
  .premium-demo .home-project-media {aspect-ratio: 4/3; min-height: 0;}
}
@media (max-width: 640px) {
  .premium-demo .partner-pathways-cta .button-primary {width: 100%; min-width: 0;}
  .premium-demo .home-project-media {aspect-ratio: 4/3;}
}
/* 54. Definitive responsive navigation system — 2026-08-24 */
.site-header.nav-v2 {background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(70,128,99,.2);}
.site-header.nav-v2 .header-shell {position: relative;}
.nav-v2 .main-nav > a,
.nav-v2 .nav-category-link {color: #26343A; font-weight: 650; letter-spacing: 0; text-transform: none;}
.nav-v2 .main-nav > a::after,
.nav-v2 .nav-category-link::after {content: none !important;}
.nav-v2 .main-nav > a:hover,
.nav-v2 .main-nav > a:focus-visible,
.nav-v2 .main-nav > a.active,
.nav-v2 .nav-category:hover > .nav-category-link,
.nav-v2 .nav-category:focus-within > .nav-category-link,
.nav-v2 .nav-category-link.active,
.nav-v2 .nav-category:has(.dropdown-group-link.active) > .nav-category-link {
  color: rgb(70,128,99);
  background: rgba(70,128,99,.12);
  box-shadow: inset 0 -2px 0 rgb(70,128,99);
  border-radius: 6px 6px 0 0;
}
.nav-v2 .nav-submenu-toggle span {border-top-color: rgb(70,128,99);}
.nav-v2 .header-cta {background: rgb(70,128,99); border-color: rgb(70,128,99); color: #fff; box-shadow: none;}
.nav-v2 .header-cta:hover,
.nav-v2 .header-cta:focus-visible {background: rgb(70,128,99); border-color: rgb(70,128,99); color: #fff; filter: brightness(.88);}
.nav-v2 .nav-category > .dropdown-menu {border-color: rgba(70,128,99,.25);}
.nav-v2 .nav-category > .dropdown-menu a:hover,
.nav-v2 .nav-category > .dropdown-menu a:focus-visible,
.nav-v2 .nav-category > .dropdown-menu a.active {color: rgb(70,128,99); background: rgba(70,128,99,.1);}
.nav-v2 .dropdown-group:hover,
.nav-v2 .dropdown-group:focus-within {border-color: rgba(70,128,99,.42);}

@media (min-width: 1181px) {
  .site-header.nav-v2 .header-shell {display: grid; grid-template-columns: minmax(145px,170px) minmax(0,1fr) auto; column-gap: clamp(18px,2vw,32px); align-items: center; height: 84px;}
  .nav-v2 .brand {min-width: 0; width: auto;}
  .nav-v2 .main-nav {position: static; display: flex; align-items: stretch; justify-content: space-between; gap: clamp(6px,.75vw,14px); min-width: 0; width: 100%; max-height: none; padding: 0; overflow: visible; background: transparent; border: 0; box-shadow: none;}
  .nav-v2 .main-nav > a,
  .nav-v2 .nav-category {flex: 0 1 auto; min-width: 0;}
  .nav-v2 .main-nav > a,
  .nav-v2 .nav-category-link {display: flex; align-items: center; justify-content: center; min-height: 84px; padding: 0 clamp(4px,.45vw,8px); border: 0; font-size: 15px !important; line-height: 1.2; text-align: center; white-space: nowrap;}
  .nav-v2 .nav-category {display: grid; grid-template-columns: minmax(0,1fr) 18px; align-items: center; width: auto;}
  .nav-v2 .nav-submenu-toggle {position: static; width: 18px; height: 40px; margin: 0; border: 0;}
  .nav-v2 .header-cta {display: inline-flex; min-height: 44px; padding: 11px 17px; font-size: 12px; letter-spacing: .08em; white-space: nowrap;}
  .nav-v2 .nav-category > .dropdown-menu {top: calc(100% - 2px); max-height: min(400px,calc(100vh - 115px));}
  .nav-v2 .nav-category > .dropdown-menu a {font-size: 13px !important; line-height: 1.4;}
  .nav-v2 .dropdown-group-link {padding: 11px 12px !important;}
  .nav-v2 .dropdown-submenu a {padding: 9px 12px !important;}
}

@media (max-width: 1180px) {
  .site-header.nav-v2 .header-shell {display: flex; align-items: center; gap: 12px; height: 80px;}
  .nav-v2 .brand {order: 1; min-width: 0; width: auto;}
  .nav-v2 .brand-mark {width: 44px; height: 38px;}
  .nav-v2 .header-cta {order: 2; display: inline-flex; min-height: 42px; margin-left: auto; padding: 10px 15px; font-size: 11px; letter-spacing: .07em; white-space: nowrap;}
  .nav-v2 .menu-toggle {order: 3; display: inline-flex !important; align-items: center; justify-content: center; flex-direction: column; gap: 5px; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(70,128,99,.34); border-radius: 6px; background: rgba(70,128,99,.07);}
  .nav-v2 .menu-toggle span {display: block; width: 23px; height: 2px; background: rgb(70,128,99);}
  .nav-v2 .main-nav {order: 4; position: absolute !important; z-index: 110; top: 80px !important; left: 0 !important; right: 0 !important; display: none !important; align-items: stretch; flex-direction: column; gap: 4px; width: 100% !important; max-height: calc(100vh - 96px); padding: 14px; overflow-x: hidden; overflow-y: auto; background: rgba(255,255,255,.99); border: 1px solid rgba(70,128,99,.22); border-radius: 0 0 8px 8px; box-shadow: 0 18px 40px rgba(7,28,44,.14);}
  .nav-v2 .main-nav.is-open {display: flex !important;}
  .nav-v2 .main-nav > a,
  .nav-v2 .nav-category-link {display: flex; align-items: center; justify-content: flex-start; width: 100%; min-height: 50px; padding: 12px 14px; border: 0; border-radius: 6px; font-size: 16px !important; line-height: 1.35; text-align: left; white-space: normal; overflow-wrap: anywhere;}
  .nav-v2 .main-nav > a:hover,
  .nav-v2 .main-nav > a:focus-visible,
  .nav-v2 .main-nav > a.active,
  .nav-v2 .nav-category:hover > .nav-category-link,
  .nav-v2 .nav-category:focus-within > .nav-category-link,
  .nav-v2 .nav-category-link.active {border-radius: 6px; box-shadow: inset 3px 0 0 rgb(70,128,99);}
  .nav-v2 .nav-category {position: relative; display: grid; grid-template-columns: minmax(0,1fr) 46px; align-items: center; width: 100%;}
  .nav-v2 .nav-submenu-toggle {position: static; width: 46px; height: 50px; margin: 0; border: 0; border-radius: 6px; background: rgba(70,128,99,.08);}
  .nav-v2 .nav-category > .dropdown-menu {position: static !important; grid-column: 1 / -1; display: none !important; visibility: hidden !important; width: 100% !important; min-width: 0; max-width: none; max-height: none; margin: 4px 0 8px; padding: 8px; overflow: visible; opacity: 0 !important; pointer-events: auto; background: #F7FAF8; border: 1px solid rgba(70,128,99,.18); border-radius: 6px; box-shadow: none; transform: none !important;}
  .nav-v2 .nav-category.is-open > .dropdown-menu {display: grid !important; visibility: visible !important; opacity: 1 !important;}
  .nav-v2 .dropdown-group {width: 100%;}
  .nav-v2 .dropdown-group-link,
  .nav-v2 .dropdown-submenu a {font-size: 14px !important; line-height: 1.45;}
  .nav-v2 .dropdown-group-link {min-height: 46px; padding: 10px 12px !important;}
  .nav-v2 .dropdown-submenu {margin-left: 20px;}
  .nav-v2 .dropdown-submenu a {padding: 9px 12px !important;}
}

@media (max-width: 640px) {
  .site-header.nav-v2 .header-shell {height: 74px;}
  .nav-v2 .header-cta {display: none;}
  .nav-v2 .menu-toggle {margin-left: auto;}
  .nav-v2 .main-nav {top: 74px !important;}
  .nav-v2 .brand-copy strong {font-size: 15px;}
}
/* 54a. Compact-nav submenu font lock — 2026-08-24 */
@media (max-width: 1180px) {
  .nav-v2 .nav-category > .dropdown-menu .dropdown-group-link,
  .nav-v2 .nav-category > .dropdown-menu .dropdown-submenu a {font-size: 14px !important;}
}

/* 55. Conversion-layer components (marketing framework merge) — 2026-08-25 */
.premium-demo .hero-stats {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 38px 0 0; border-top: 1px solid rgba(0,92,67,.22); border-left: 1px solid rgba(0,92,67,.22);}
.premium-demo .hero-stats > div {padding: 18px 20px 16px; border-right: 1px solid rgba(0,92,67,.22); border-bottom: 1px solid rgba(0,92,67,.22); background: rgba(255,255,255,.62);}
.premium-demo .hero-stats dt {margin: 0; color: #081b33; font-size: clamp(24px, 2.4vw, 32px); font-weight: 700; letter-spacing: -.03em; line-height: 1.05;}
.premium-demo .hero-stats dd {margin: 6px 0 0; color: #5f6b7e; font-size: 11.5px; line-height: 1.45;}
.geo-chips {display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 4px; padding: 0; list-style: none;}
.geo-chips li {display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; background: #fff; border: 1px solid rgba(0,92,67,.26); border-radius: 999px; color: #22403a; font-size: 11.5px; font-weight: 650; letter-spacing: .01em;}
.geo-chips b {color: #005C43; font-size: 10px; font-weight: 800; letter-spacing: .1em;}
.home-answer-card .text-link {color: #081b33;}
.process-band {background: #f5f7fc;}
.process-steps {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; counter-reset: step;}
.process-steps li {position: relative; min-height: 210px; padding: 26px 24px 24px; background: #fff; border: 1px solid rgba(22,73,55,.14); border-top: 3px solid #005C43;}
.process-steps b {display: block; color: #005C43; font-size: 12px; font-weight: 800; letter-spacing: .12em;}
.process-steps h3 {margin: 14px 0 9px; color: #081b33; font-size: 20px; font-weight: 700; letter-spacing: -.02em;}
.process-steps p {margin: 0; color: #4A575E; font-size: 13.5px; line-height: 1.65;}
.process-cta {display: flex; justify-content: space-between; align-items: center; gap: 30px; flex-wrap: wrap; margin-top: 34px; padding: 24px 30px; background: #081b33;}
.process-cta p {margin: 0; color: #d5e6e8; font-size: 15px; font-weight: 650; line-height: 1.5;}
.process-cta .button-primary {background: #005C43;}
.process-cta .button-primary:hover {background: #007a5c;}
.regions {background: #fff;}
.region-grid {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px;}
.region-card {padding: 30px 28px; background: #f8faf9; border: 1px solid rgba(22,73,55,.14); transition: border-color .2s ease, background .2s ease;}
.region-card:hover {background: #fff; border-color: rgba(0,92,67,.42);}
.region-tag {display: inline-block; margin-bottom: 16px; color: #005C43; font-size: 10.5px; font-weight: 800; letter-spacing: .14em;}
.region-card h3 {margin: 0 0 10px; color: #081b33; font-size: 19px; font-weight: 700; letter-spacing: -.02em; line-height: 1.3;}
.region-card p {margin: 0; color: #4A575E; font-size: 13.5px; line-height: 1.7;}
.region-cta {margin-top: 26px;}
.cert-badges {display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; padding: 0; list-style: none;}
.cert-badges li {padding: 10px 16px; background: #fff; border: 1px solid rgba(22,73,55,.2); color: #22403a; font-size: 12px; font-weight: 700; letter-spacing: .02em;}
.contact-alt-link {color: #081b33; margin-top: 16px;}
.contact-alt-link span {color: inherit;}
.footer-loc {margin: 4px 0 0; color: #a4b5b0; font-size: 11px; line-height: 1.6;}
.contact-hero-alt {margin-top: 16px; color: #081b33;}
.inquiry-form-section {background: #f5f7fc;}
.inquiry-form-section .company-intro {margin-bottom: 42px;}
.inquiry-form-grid {display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .9fr); gap: 20px; align-items: start;}
.rfq-form {display: grid; gap: 18px; padding: 36px; background: #fff; border: 1px solid rgba(22,73,55,.14); border-top: 3px solid #005C43;}
.rfq-row {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px;}
.rfq-field {display: grid; gap: 8px; align-content: start;}
.rfq-field label {color: #22403a; font-size: 12.5px; font-weight: 700; letter-spacing: .01em;}
.rfq-field label b {color: #b3261e;}
.rfq-field input, .rfq-field select, .rfq-field textarea {width: 100%; padding: 13px 14px; background: #fbfdfc; border: 1px solid rgba(22,73,55,.24); color: #081b33; font: inherit; font-size: 14px; line-height: 1.5; transition: border-color .15s ease, box-shadow .15s ease;}
.rfq-field textarea {resize: vertical; min-height: 74px;}
.rfq-field input:focus, .rfq-field select:focus, .rfq-field textarea:focus {outline: none; border-color: #005C43; box-shadow: 0 0 0 3px rgba(0,92,67,.14);}
.rfq-field input:invalid:not(:placeholder-shown) {border-color: #b3261e;}
.rfq-required-note {margin: 0; color: #7c8f86; font-size: 11.5px; line-height: 1.6;}
.rfq-submit {justify-self: start; min-width: 230px; background: #005C43;}
.rfq-submit:hover {background: #007a5c;}
.rfq-fallback {margin: 0; color: #5f6b7e; font-size: 12.5px; line-height: 1.6;}
.rfq-fallback a {color: #005C43; font-weight: 700; text-decoration: underline; text-underline-offset: 3px;}
.inquiry-side {display: grid; gap: 20px;}
.contact-direct {display: grid; margin: 0; padding: 30px; background: #fff; border: 1px solid rgba(22,73,55,.14);}
.contact-direct div {display: grid; grid-template-columns: minmax(110px, .42fr) minmax(0, .58fr); gap: 14px; padding: 13px 0; border-bottom: 1px solid rgba(22,73,55,.1);}
.contact-direct div:last-child {border-bottom: 0; padding-bottom: 0;}
.contact-direct dt {color: #005C43; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; padding-top: 3px;}
.contact-direct dd {margin: 0; color: #22403a; font-size: 13.5px; line-height: 1.6; overflow-wrap: anywhere;}
.fast-quote {padding: 30px; background: #081b33; color: #fff;}
.fast-quote h3 {margin: 0 0 12px; font-size: 20px; font-weight: 700; letter-spacing: -.01em;}
.fast-quote p {margin: 0 0 20px; color: #d5e6e8; font-size: 13.5px; line-height: 1.7;}
.fast-quote .button-primary {background: #005C43;}
.fast-quote .button-primary:hover {background: #007a5c;}

@media (max-width: 1020px) {.inquiry-form-grid {grid-template-columns: 1fr;}}
@media (max-width: 900px) {.premium-demo .hero-stats {grid-template-columns: repeat(2, minmax(0, 1fr));}.process-steps {grid-template-columns: repeat(2, minmax(0, 1fr));}.region-grid {grid-template-columns: 1fr;}}
@media (max-width: 720px) {.process-steps li {min-height: 0;}.process-cta {display: block; padding: 22px;}.process-cta .button {margin-top: 16px;}.rfq-form {padding: 26px 20px;}}
@media (max-width: 640px) {.rfq-row {grid-template-columns: 1fr;}.contact-direct div {grid-template-columns: 1fr; gap: 4px;}}
.rfq-field input[type="file"] {padding: 10px 12px; font-size: 12.5px;}
.rfq-file-name {color: #7c8f86; font-size: 11px; line-height: 1.5;}
.rfq-status {margin: 0; color: #005C43; font-size: 12.5px; font-weight: 650; line-height: 1.6;}
.rfq-field label span {color: #7c8f86; font-weight: 500;}
.inquiry-field select {width: 100%; height: 48px; padding: 0 12px; border: 1px solid rgba(0,92,67,.3); background: transparent; color: inherit; font: inherit; font-size: 13px;}
.inquiry-field select:focus {border-color: #005C43; outline: none;}

/* 56. Impact layer — industrial-blue edition, hero reverted to pass-22 navy — 2026-08-25 */

/* Hero stats (added in 55): navy glass cards that sit on the cinema hero. */
.premium-demo.cinema-hero .hero-stats {border-color: rgba(158,196,214,.3);}
.premium-demo.cinema-hero .hero-stats > div {background: rgba(6,20,34,.55); border-color: rgba(158,196,214,.26); backdrop-filter: blur(8px);}
.premium-demo.cinema-hero .hero-stats dt {color: #fff; font-weight: 800;}
.premium-demo.cinema-hero .hero-stats dd {color: #b9c9d9;}

/* Parameter chips: navy pills, steel-blue keys. */
.geo-chips li {background: #081b33; color: #d5e6e8; border-color: rgba(158,196,214,.4);}
.geo-chips b {color: #9EC4D6;}

/* Section headings: heavier, industrial-blue signature bar. */
.premium-demo.cinema-hero .section-heading h2 {font-weight: 750;}
.premium-demo.cinema-hero .section-heading h2::after {content: ""; display: block; width: 56px; height: 4px; margin-top: 15px; border-radius: 2px; background: linear-gradient(90deg, #081b33, #4A7FA8);}

/* AT A GLANCE: navy band, steel-glow numerals, red plus signs. */
.premium-demo.cinema-hero .stats {background: linear-gradient(120deg, #050e1a 0%, #0e2a4a 55%, #081b33 100%);}
.premium-demo.cinema-hero .stats h2::after {content: ""; display: block; width: 56px; height: 4px; margin-top: 15px; border-radius: 2px; background: linear-gradient(90deg, #4A7FA8, #9EC4D6);}
.premium-demo.cinema-hero .stat-grid strong {color: #fff; font-size: clamp(58px, 5.6vw, 80px); text-shadow: 0 0 38px rgba(74,127,168,.55);}
.premium-demo.cinema-hero .stat-grid strong span {color: #E4573F;}
.premium-demo.cinema-hero .stat-grid small {color: #9fb8cc;}

/* Process steps: ghost numerals, steel top edge, red hover accent. */
.process-steps li {position: relative; overflow: hidden; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.process-steps li b {position: absolute; top: 2px; right: 14px; font-size: 58px; font-weight: 800; line-height: 1; letter-spacing: -.05em; color: rgba(8,27,51,.1);}
.process-steps li:hover {transform: translateY(-5px); box-shadow: 0 20px 44px rgba(8,27,51,.13); border-top-color: #E4573F;}
.process-cta {background: linear-gradient(120deg, #081b33 0%, #0e2a4a 100%); box-shadow: 0 24px 60px rgba(8,27,51,.3);}
.process-cta p {color: #d5e6e8;}

/* Region cards: steel spine, red hover. */
.region-card {border-left: 4px solid #081b33; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.region-card:hover {transform: translateY(-4px); box-shadow: 0 18px 40px rgba(8,27,51,.12); border-left-color: #E4573F;}
.region-tag {letter-spacing: .18em; color: #4A7FA8; transition: color .2s ease;}
.region-card:hover .region-tag {color: #E4573F;}

/* Closing CTA band: navy gradient, white button. */
.premium-demo.cinema-hero .contact-cta {background: linear-gradient(120deg, #081b33 0%, #0e2a4a 100%);}
.premium-demo.cinema-hero .contact-cta .button-primary {background: #fff; color: #081b33;}
.premium-demo.cinema-hero .contact-cta .button-primary:hover {background: #eef4fa;}
.premium-demo.cinema-hero .contact-alt-link {color: #d5e6e8;}

/* Contact hero: navy cinema via pass-22 rules, steel details. */
.premium-demo.cinema-hero .contact-hero .contact-hero-alt {color: #8FB8E8;}
.premium-demo.cinema-hero .contact-hero .product-visual-lines i {border-color: #4A7FA8;}
.premium-demo.cinema-hero .contact-hero .product-code-large {color: rgba(158,196,214,.3);}
.premium-demo.cinema-hero .contact-hero .product-orbit {border-color: rgba(158,196,214,.32);}

@media (max-width: 720px) {.process-steps li b {font-size: 44px;}}

/* 56b. Product wall — compact photo tiles under TWO DIRECTIONS — 2026-08-25 */
.product-wall {background: #fff; padding: 84px 0;}
.product-wall .section-heading {margin-bottom: 34px;}
.product-wall .section-heading > p {max-width: 430px;}
.product-wall-grid {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;}
.product-tile {display: block; background: #fff; border: 1px solid rgba(8,27,51,.16); border-top: 3px solid #081b33; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.product-tile:hover {transform: translateY(-4px); box-shadow: 0 18px 40px rgba(8,27,51,.14); border-top-color: #E4573F;}
.product-tile img {display: block; width: 100%; height: 168px; object-fit: cover; background: #dde5e6;}
.product-tile figcaption {display: grid; gap: 5px; padding: 13px 16px 16px;}
.tile-index {color: #E4573F; font-size: 10px; font-weight: 800; letter-spacing: .16em;}
.product-tile strong {color: #081b33; font-size: 15.5px; font-weight: 700; letter-spacing: -.01em; line-height: 1.3;}
.product-tile small {color: #5f6b7e; font-size: 11.5px; line-height: 1.45;}
.product-wall-cta {margin-top: 26px;}
@media (max-width: 900px) {.product-wall-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 620px) {.product-wall-grid {grid-template-columns: 1fr;}.product-tile img {height: 200px;}}

/* 56c. Hero right-rail answer card (moved from the answer band) — 2026-08-25 */
.premium-demo .hero-answer {position: relative; z-index: 2; align-self: center; max-width: 460px; margin: 0 0 0 auto; padding: 30px 30px 26px; background: linear-gradient(165deg, rgba(8,27,51,.8), rgba(8,27,51,.55)); border: 1px solid rgba(158,196,214,.32); border-top: 3px solid #E4573F; border-radius: 10px; backdrop-filter: blur(12px); box-shadow: 0 30px 70px rgba(2,10,20,.45);}
.premium-demo .hero-answer h2 {margin: 0 0 14px; color: #9EC4D6; font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase;}
.premium-demo .hero-answer > p {margin: 0; color: #e8f0f8; font-size: 13.5px; line-height: 1.75;}
.premium-demo .hero-answer .geo-answer-sub {display: flex; align-items: center; gap: 10px; margin: 20px 0 8px; color: #8FB8E8; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;}
.premium-demo .hero-answer .geo-answer-sub::before {content: ""; width: 18px; height: 2px; flex: none; background: #E4573F;}
.premium-demo .hero-answer .geo-answer-sub + p {color: #b9c9d9; font-size: 12.5px; line-height: 1.7;}
.premium-demo .hero-answer .geo-chips {margin: 18px 0 0;}
.premium-demo .hero-answer .geo-chips li {background: rgba(255,255,255,.07); border-color: rgba(158,196,214,.35); color: #d5e6e8;}
.premium-demo .hero-answer .geo-chips b {color: #9EC4D6;}
.premium-demo .hero-answer .text-link {color: #fff; font-size: 11px; margin-top: 18px;}
.premium-demo .hero-answer .text-link span {color: #E4573F;}
@media (max-width: 1000px) {.premium-demo .hero-answer {max-width: none; margin: 28px 0 0;}}
@media (max-width: 720px) {.premium-demo .hero-answer {padding: 24px 20px 22px; margin-top: 26px;}}
/* Answer band now carries only the TWO DIRECTIONS panel; keep it centered. */
.home-geo-answer .home-work-grid {grid-template-columns: minmax(0, 1080px);}
.home-geo-answer .home-answer-card {display: none;}

/* 56d. Product wall absorbs the retired OUR SERVICE module — 2026-08-25 */
.product-tile small {font-size: 12px; line-height: 1.6;}
.product-tile figcaption {gap: 6px;}
.product-wall-passage {margin-top: 40px; padding-top: 28px; border-top: 1px solid #D8DEE0;}
.product-wall-passage .citable-passage {max-width: none; margin: 0; columns: 2; column-gap: 64px; color: #68767D; font-size: 13px; line-height: 1.8;}
@media (max-width: 900px) {.product-wall-passage .citable-passage {columns: 1;}}

/* 56e. MiniMax plan adoption — marketing punch, corrected for the real DOM — 2026-08-25
   Adjustments vs the MiniMax proposal: the red pulse targets the quote CTA
   (not "Explore Products"); hero-stat colors fixed for the DARK cinema hero
   (the proposal's navy-on-navy would be invisible); chips restyled for the
   dark answer card; buyer cards go steel (red budget stays with CTAs/cases);
   FAQ red only in the open state; "FILE 2026-Q4" flavor text replaced with
   the ageless "PROJECT FILE". */

/* P0-1 — Hero 50/50 balance. */
.premium-demo.cinema-hero .hero-inner {grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 4vw, 56px);}
.premium-demo.cinema-hero .hero-content {max-width: 570px;}
.premium-demo .hero-answer {max-width: 500px; padding: 26px 26px 24px;}

/* P0-2 — The hero's single red CTA: Request a Quote + soft pulse dot. */
.premium-demo.cinema-hero .hero .hero-quote-cta {background: #E4573F; color: #fff; border-color: #E4573F; box-shadow: 0 10px 24px rgba(228, 87, 63, .35); position: relative;}
.premium-demo.cinema-hero .hero .hero-quote-cta:hover {background: #c9432f; border-color: #c9432f; color: #fff; transform: translateY(-2px);}
.premium-demo.cinema-hero .hero .hero-quote-cta::after {content: ""; position: absolute; right: -6px; top: -6px; width: 10px; height: 10px; border-radius: 50%; background: #E4573F; animation: kx-pulse 1.8s ease-out infinite;}
@keyframes kx-pulse {0% {box-shadow: 0 0 0 0 rgba(228, 87, 63, .7);} 70% {box-shadow: 0 0 0 14px rgba(228, 87, 63, 0);} 100% {box-shadow: 0 0 0 0 rgba(228, 87, 63, 0);}}

/* P0-3 — Hero stats as a headline-grade number band (dark-hero colors). */
.premium-demo.cinema-hero .hero-stats {margin-top: 34px; padding-top: 20px; border-top: 1px solid rgba(228, 87, 63, .28); border-left: 0; background: none; backdrop-filter: none; gap: 14px;}
.premium-demo.cinema-hero .hero-stats > div {background: none; border: 0; border-left: 2px solid #E4573F; padding: 2px 0 0 12px; backdrop-filter: none;}
.premium-demo.cinema-hero .hero-stats dt {color: #fff; font-size: clamp(30px, 3.4vw, 48px); font-weight: 700; letter-spacing: -.04em; line-height: .95; font-variant-numeric: tabular-nums; text-shadow: 0 0 26px rgba(74, 127, 168, .4);}
.premium-demo.cinema-hero .hero-stats dd {color: #b9c9d9; font-size: 11px; letter-spacing: .04em;}

/* P0-4 — Reference projects: delivered-proof treatment (green leftovers removed). */
.premium-demo .home-project-card {border-left: 3px solid #E4573F;}
.premium-demo .home-project-card:hover {transform: translateY(-4px); box-shadow: 0 20px 40px rgba(8, 27, 51, .12); border-left-color: #081b33;}
.premium-demo .home-project-kicker {color: #E4573F; font-weight: 800;}
.premium-demo .home-project-result {background: rgba(74, 127, 168, .08); border-left-color: #4A7FA8;}
.premium-demo .home-project-result b {color: #E4573F;}

/* P0-5 — Client logos: archive grayscale, hover activation. */
.client-logo-card {filter: grayscale(.4); opacity: .85; transition: filter .25s ease, opacity .25s ease, transform .25s ease, border-color .25s ease;}
.client-logo-card:hover {filter: grayscale(0); opacity: 1; transform: translateY(-2px); border-color: #4A7FA8;}

/* P1-1 — Hero trust chips: dark glass, steel checks. */
.premium-demo.cinema-hero .hero-trust {gap: 10px; margin-top: 30px;}
.premium-demo.cinema-hero .hero-trust span {display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(158, 196, 214, .28); color: #d5e6e8; backdrop-filter: blur(4px); letter-spacing: .12em;}
.premium-demo.cinema-hero .hero-trust span::before {color: #9EC4D6;}

/* P1-2 — Scroll rhythm, homepage-scoped and softened (72px, not 56px). */
.premium-demo.cinema-hero main > .section {padding: 92px 0;}
.premium-demo.cinema-hero main > .section + .section {padding-top: 72px;}

/* P1-3 — Parameter chips: technical steel on the dark answer card. */
.premium-demo .hero-answer .geo-chips li {background: rgba(158, 196, 214, .12); border-color: rgba(158, 196, 214, .38); color: #d5e6e8;}
.premium-demo .hero-answer .geo-chips b {color: #9EC4D6;}

/* P2-1 — Product tiles: bolder hover. */
.product-tile:hover {transform: translateY(-6px); box-shadow: 0 24px 48px rgba(8, 27, 51, .18); border-color: #E4573F;}
.product-tile:hover figcaption strong {color: #E4573F;}

/* P2-2 — Audience cards carry the red edge; buyer cards go steel (red budget). */
.premium-demo .audience-card {border-top-color: #E4573F;}
.premium-demo .audience-card:hover {box-shadow: 0 18px 36px rgba(8, 27, 51, .1);}
.premium-demo .buyer-card-index {color: #4A7FA8;}
.premium-demo .audience-index {background: #081b33;}

/* P2-3 — FAQ: red only in the open state. */
.home-faq .faq-list details[open] {border-color: #E4573F; box-shadow: 0 12px 26px rgba(228, 87, 63, .1);}
.home-faq .faq-list details[open] summary::after {color: #E4573F;}

/* P2-4 — Process: first and last steps carry a faint red numeral. */
.process-steps > li:nth-child(1) b,
.process-steps > li:nth-child(4) b {color: rgba(228, 87, 63, .3);}

/* Signature — project-file tab: one red dash above every section heading,
   replacing the earlier steel bar (one decoration, not two). */
.premium-demo.cinema-hero .section-heading > div:first-child {position: relative; padding-top: 18px;}
.premium-demo.cinema-hero .section-heading > div:first-child::before {content: ""; position: absolute; top: 0; left: 0; width: 28px; height: 2px; background: #E4573F;}
.premium-demo.cinema-hero .section-heading h2::after {display: none;}
.premium-demo.cinema-hero .stats h2::after {display: none;}
.premium-demo .hero-answer h2::before {content: "PROJECT FILE · "; color: #E4573F; letter-spacing: .18em;}

@media (max-width: 720px) {
  .premium-demo.cinema-hero .hero-stats dt {font-size: clamp(26px, 8vw, 34px);}
  .premium-demo.cinema-hero .hero-stats > div {padding-left: 10px;}
  .premium-demo .home-project-card {border-left-width: 3px;}
}

/* 57. Deep-blue dark theme — marketing pages (index + contact) — 2026-08-25
   Two-tone rhythm: #071627 base / #0A1E35 alternate bands. Client logo cards
   stay white on purpose (logo legibility, archive-card pop). Product doc
   pages remain light. */

/* Base */
body.premium-demo.cinema-hero {background: #071627; color: #c7d6e5;}
.premium-demo.cinema-hero .section-heading h2,
.premium-demo.cinema-hero .section-heading h2 span {color: #fff;}
.premium-demo.cinema-hero .section-heading > p,
.premium-demo.cinema-hero .company-intro > p,
.premium-demo.cinema-hero .about-copy > p:not(.kicker),
.premium-demo.cinema-hero .solution-copy p {color: #9fb3c9;}
.premium-demo.cinema-hero .text-link {color: #fff;}

/* Section bands */
.premium-demo.cinema-hero .geo-answer,
.premium-demo.cinema-hero .home-projects,
.premium-demo.cinema-hero #why-partner,
.premium-demo.cinema-hero .industry-solutions,
.premium-demo.cinema-hero .process-band,
.premium-demo.cinema-hero .certifications,
.premium-demo.cinema-hero .home-resources {background: #0A1E35;}
.premium-demo.cinema-hero .product-wall,
.premium-demo.cinema-hero .partner-pathways,
.premium-demo.cinema-hero .about,
.premium-demo.cinema-hero .clients,
.premium-demo.cinema-hero .regions,
.premium-demo.cinema-hero .home-faq,
.premium-demo.cinema-hero .company-content,
.premium-demo.cinema-hero .inquiry-form-section {background: #071627;}
.premium-demo.cinema-hero .home-geo-answer::after {border-color: rgba(158,196,214,.14);}
.premium-demo.cinema-hero .stats {background: linear-gradient(120deg, #050e1a 0%, #0d2542 55%, #071627 100%);}
.premium-demo.cinema-hero .stat-grid > div {border-color: rgba(158,196,214,.22);}
.premium-demo.cinema-hero .stat-grid strong span {color: #9EC4D6;}

/* TWO DIRECTIONS panel */
.premium-demo.cinema-hero .home-directions-heading h2 {color: #fff;}
.premium-demo.cinema-hero .home-direction-card {background: rgba(255,255,255,.045); border: 1px solid rgba(158,196,214,.2); border-top: 3px solid #4A7FA8;}
.premium-demo.cinema-hero .home-direction-card-body h3 {color: #fff;}
.premium-demo.cinema-hero .home-direction-copy {color: #9fb3c9;}
.premium-demo.cinema-hero .home-product-tags a {background: rgba(158,196,214,.12); border: 1px solid rgba(158,196,214,.28); color: #d5e6e8;}
.premium-demo.cinema-hero .home-product-tags a:hover {border-color: #9EC4D6; color: #fff;}

/* Product wall tiles */
.premium-demo.cinema-hero .product-tile {background: #0A1E35; border-color: rgba(158,196,214,.22);}
.premium-demo.cinema-hero .product-tile strong {color: #fff;}
.premium-demo.cinema-hero .product-tile small {color: #9fb3c9;}
.premium-demo.cinema-hero .product-wall-passage {border-top-color: rgba(158,196,214,.18);}
.premium-demo.cinema-hero .product-wall-passage .citable-passage {color: #9fb3c9;}

/* Reference project cards */
.premium-demo.cinema-hero .home-project-card {background: #0A1E35; border-color: rgba(158,196,214,.2);}
.premium-demo.cinema-hero .home-project-body h3 {color: #fff;}
.premium-demo.cinema-hero .home-project-summary {color: #9fb3c9;}
.premium-demo.cinema-hero .home-project-meta {border-color: rgba(158,196,214,.16);}
.premium-demo.cinema-hero .home-project-meta b {color: #9EC4D6;}
.premium-demo.cinema-hero .home-project-meta span {color: #c7d6e5;}
.premium-demo.cinema-hero .home-project-result {background: rgba(74,127,168,.16);}

/* Audience + promise + buyer cards */
.premium-demo.cinema-hero .audience-card {background: #0A1E35; border-color: rgba(158,196,214,.2); box-shadow: 0 12px 32px rgba(2,10,20,.4);}
.premium-demo.cinema-hero .audience-card h3 {color: #fff;}
.premium-demo.cinema-hero .audience-lead {color: #9fb3c9;}
.premium-demo.cinema-hero .audience-card li {color: #c7d6e5;}
.premium-demo.cinema-hero .audience-card-meta {color: #9EC4D6;}
.premium-demo.cinema-hero .service-promise {background: rgba(158,196,214,.08); border-color: rgba(158,196,214,.24); border-left-color: #4A7FA8;}
.premium-demo.cinema-hero .service-promise p {color: #fff;}
.premium-demo.cinema-hero .service-promise li {color: #c7d6e5;}
.premium-demo.cinema-hero .buyer-card {background: #0A1E35; border: 1px solid rgba(158,196,214,.2); border-radius: 8px; padding: 26px 24px;}
.premium-demo.cinema-hero .buyer-card h3 {color: #fff;}
.premium-demo.cinema-hero .buyer-card p {color: #9fb3c9;}
.premium-demo.cinema-hero .buyer-card-icon svg {stroke: #9EC4D6; fill: none; stroke-width: 1.4;}

/* About block */
.premium-demo.cinema-hero .about-values h3 {color: #fff;}
.premium-demo.cinema-hero .about-values p {color: #9fb3c9;}
.premium-demo.cinema-hero .about-values > div {border-left-color: rgba(158,196,214,.3);}
.premium-demo.cinema-hero .about-client-note {color: #9fb3c9; border-top-color: rgba(158,196,214,.2);}
.premium-demo.cinema-hero .about-client-note strong {color: #d5e6e8;}
.premium-demo.cinema-hero .since {color: #9EC4D6;}

/* Industry solutions tabs + showcase */
.premium-demo.cinema-hero .industry-tabs {border-top-color: rgba(158,196,214,.22);}
.premium-demo.cinema-hero .industry-tab {color: #c7d6e5; border-bottom-color: rgba(158,196,214,.22);}
.premium-demo.cinema-hero .industry-tab:hover {background: rgba(158,196,214,.08);}
.premium-demo.cinema-hero .industry-tab.is-active {background: #4A7FA8; color: #fff;}
.premium-demo.cinema-hero .industry-showcase {background: #0A1E35; border-color: rgba(158,196,214,.24);}
.premium-demo.cinema-hero .industry-wall {border-color: rgba(158,196,214,.2);}
.premium-demo.cinema-hero .industry-badge {background: #0A1E35; border-color: rgba(158,196,214,.2);}
.premium-demo.cinema-hero .industry-badge strong {color: #fff;}
.premium-demo.cinema-hero .industry-badge span {color: #9fb3c9;}
.premium-demo.cinema-hero .client-industry-heading p {color: #9fb3c9;}

/* Client logo wall: cards stay white for logo legibility */
.premium-demo.cinema-hero .client-logo-card {box-shadow: 0 10px 26px rgba(2,10,20,.45);}

/* Process + regions + certifications */
.premium-demo.cinema-hero .process-steps li {background: #0A1E35; border-color: rgba(158,196,214,.2);}
.premium-demo.cinema-hero .process-steps li b {color: rgba(255,255,255,.09);}
.premium-demo.cinema-hero .process-steps li:nth-child(1) b,
.premium-demo.cinema-hero .process-steps li:nth-child(4) b {color: rgba(228,87,63,.35);}
.premium-demo.cinema-hero .process-steps h3 {color: #fff;}
.premium-demo.cinema-hero .process-steps p {color: #9fb3c9;}
.premium-demo.cinema-hero .region-card {background: #0A1E35; border-color: rgba(158,196,214,.2);}
.premium-demo.cinema-hero .region-card h3 {color: #fff;}
.premium-demo.cinema-hero .region-card p {color: #9fb3c9;}
.premium-demo.cinema-hero .certificate-card {background: #0A1E35; border: 1px solid rgba(158,196,214,.2);}
.premium-demo.cinema-hero .certificate-placeholder {background: rgba(158,196,214,.06); border: 1px dashed rgba(158,196,214,.35); color: #9fb3c9;}
.premium-demo.cinema-hero .certificate-card h3 {color: #fff;}
.premium-demo.cinema-hero .certificate-card p {color: #9fb3c9;}
.premium-demo.cinema-hero .cert-badges li {background: rgba(158,196,214,.1); border-color: rgba(158,196,214,.3); color: #d5e6e8;}

/* FAQ + resources */
.premium-demo.cinema-hero .faq-copy p {color: #9fb3c9;}
.premium-demo.cinema-hero .faq-list details {background: #0A1E35; border-color: rgba(158,196,214,.2);}
.premium-demo.cinema-hero .faq-list summary {color: #fff;}
.premium-demo.cinema-hero .faq-list details p {color: #9fb3c9;}
.premium-demo.cinema-hero .home-resource-card {background: #0A1E35; border: 1px solid rgba(158,196,214,.2);}
.premium-demo.cinema-hero .home-resource-card small {color: #9EC4D6;}
.premium-demo.cinema-hero .home-resource-card h3 {color: #fff;}

/* Contact page: geo-answer + form surfaces */
.premium-demo.cinema-hero .geo-answer-copy > p {color: #c7d6e5;}
.premium-demo.cinema-hero .geo

.premium-demo.cinema-hero .geo-answer-copy > p {color: #c7d6e5;}
.premium-demo.cinema-hero .geo-answer-copy h3 {color: #9EC4D6;}
.premium-demo.cinema-hero .geo-answer-facts div {border-bottom-color: rgba(158,196,214,.16);}
.premium-demo.cinema-hero .geo-answer-facts dd {color: #c7d6e5;}
.premium-demo.cinema-hero .company-intro h2,
.premium-demo.cinema-hero .company-intro h2 span {color: #fff;}
.premium-demo.cinema-hero .contact-details article {background: #0A1E35; border-color: rgba(158,196,214,.2);}
.premium-demo.cinema-hero .contact-details a,
.premium-demo.cinema-hero .contact-details p {color: #fff;}
.premium-demo.cinema-hero .inquiry-checklist h3 {color: #fff;}
.premium-demo.cinema-hero .rfq-form {background: #0A1E35; border-top-color: #4A7FA8;}
.premium-demo.cinema-hero .rfq-field label {color: #d5e6e8;}
.premium-demo.cinema-hero .rfq-field label b {color: #E4573F;}
.premium-demo.cinema-hero .rfq-field input,
.premium-demo.cinema-hero .rfq-field select,
.premium-demo.cinema-hero .rfq-field textarea {background: rgba(255,255,255,.05); border-color: rgba(158,196,214,.3); color: #fff;}
.premium-demo.cinema-hero .rfq-field select option {background: #0A1E35; color: #fff;}
.premium-demo.cinema-hero .rfq-field input::placeholder,
.premium-demo.cinema-hero .rfq-field textarea::placeholder {color: #7d94ac;}
.premium-demo.cinema-hero .rfq-field input:focus,
.premium-demo.cinema-hero .rfq-field select:focus,
.premium-demo.cinema-hero .rfq-field textarea:focus {border-color: #9EC4D6; box-shadow: 0 0 0 3px rgba(158,196,214,.18); background: rgba(255,255,255,.08);}
.premium-demo.cinema-hero .rfq-required-note,
.premium-demo.cinema-hero .rfq-fallback,
.premium-demo.cinema-hero .rfq-file-name {color: #9fb3c9;}
.premium-demo.cinema-hero .rfq-fallback a {color: #9EC4D6;}
.premium-demo.cinema-hero .rfq-status {color: #9EC4D6;}
.premium-demo.cinema-hero .contact-direct {background: #0A1E35; border-color: rgba(158,196,214,.2);}
.premium-demo.cinema-hero .contact-direct dd {color: #c7d6e5;}
.premium-demo.cinema-hero .eyebrow {color: #9EC4D6;}
.premium-demo.cinema-hero .hero-answer {background: linear-gradient(165deg, rgba(5,16,30,.85), rgba(5,16,30,.6));}

/* 58. B2B hero rebuild + white cards on deep-blue bands — 2026-08-25 */

/* Hero: single column, photo carries the right side. */
.premium-demo.cinema-hero .hero-inner {grid-template-columns: minmax(0, 1fr);}
.premium-demo.cinema-hero .hero-content {max-width: 780px;}
.premium-demo.cinema-hero .hero h1 .hero-green {color: #9EC4D6; text-shadow: none;}
.premium-demo.cinema-hero .hero-anchor {color: #cfe0ee; font-size: 15px; font-weight: 650; letter-spacing: .04em;}
.premium-demo.cinema-hero .hero-anchor::before {content: ""; display: inline-block; width: 26px; height: 2px; margin: 0 12px 4px 0; background: #E4573F;}

/* CTAs: white primary (proof first), red-edged quote ghost with the pulse. */
.premium-demo.cinema-hero .hero .button-primary {background: #fff; color: #081b33; border: 1px solid #fff; box-shadow: 0 12px 30px rgba(2,10,20,.4);}
.premium-demo.cinema-hero .hero .button-primary:hover {background: #eef4fa; color: #081b33;}
.premium-demo.cinema-hero .hero .hero-quote-cta {background: transparent; color: #fff; border-color: #E4573F; box-shadow: none;}
.premium-demo.cinema-hero .hero .hero-quote-cta:hover {background: rgba(228,87,63,.14); color: #fff; border-color: #E4573F;}

/* Stats: one quiet inline row, not cards. */
.premium-demo.cinema-hero .hero-stats {display: flex; flex-wrap: wrap; gap: 12px 34px; margin-top: 30px; padding: 0; border: 0; background: none; backdrop-filter: none;}
.premium-demo.cinema-hero .hero-stats > div {display: flex; align-items: baseline; gap: 8px; border: 0; border-left: 2px solid rgba(158,196,214,.45); padding: 0 0 0 10px; background: none; backdrop-filter: none;}
.premium-demo.cinema-hero .hero-stats dt {color: #e8f0f8; font-size: 21px; font-weight: 700; letter-spacing: -.02em; text-shadow: none;}
.premium-demo.cinema-hero .hero-stats dd {margin: 0; color: #9fb3c9; font-size: 10.5px; letter-spacing: .06em;}

/* Answer card moved into the product wall: white file card on the dark band. */
.premium-demo.cinema-hero .hero-answer {display: block; max-width: none; margin: 0 0 26px; padding: 26px 28px 24px; background: #fff; border: 1px solid rgba(8,27,51,.14); border-top: 3px solid #E4573F; border-radius: 10px; backdrop-filter: none; box-shadow: 0 18px 44px rgba(2,10,20,.45);}
.premium-demo.cinema-hero .hero-answer h2 {color: #4A7FA8;}
.premium-demo.cinema-hero .hero-answer > p {color: #33424e;}
.premium-demo.cinema-hero .hero-answer .geo-answer-sub {color: #4A7FA8;}
.premium-demo.cinema-hero .hero-answer .geo-answer-sub::before {background: #E4573F;}
.premium-demo.cinema-hero .hero-answer .geo-answer-sub + p {color: #5f6b7e;}
.premium-demo.cinema-hero .hero-answer .geo-chips li {background: #081b33; border-color: rgba(158,196,214,.4); color: #d5e6e8;}
.premium-demo.cinema-hero .hero-answer .geo-chips b {color: #9EC4D6;}
.premium-demo.cinema-hero .hero-answer .text-link {color: #081b33;}

/* White cards across the dark bands (layer 57 card overrides reversed). */
.premium-demo.cinema-hero .home-direction-card,
.premium-demo.cinema-hero .product-tile,
.premium-demo.cinema-hero .home-project-card,
.premium-demo.cinema-hero .audience-card,
.premium-demo.cinema-hero .buyer-card,
.premium-demo.cinema-hero .process-steps li,
.premium-demo.cinema-hero .region-card,
.premium-demo.cinema-hero .certificate-card,
.premium-demo.cinema-hero .faq-list details,
.premium-demo.cinema-hero .home-resource-card,
.premium-demo.cinema-hero .industry-showcase,
.premium-demo.cinema-hero .industry-badge,
.premium-demo.cinema-hero .rfq-form,
.premium-demo.cinema-hero .contact-direct,
.premium-demo.cinema-hero .contact-details article,
.premium-demo.cinema-hero .inquiry-checklist {background: #fff; border-color: rgba(8,27,51,.16); backdrop-filter: none;}
.premium-demo.cinema-hero .product-tile strong,
.premium-demo.cinema-hero .home-project-body h3,
.premium-demo.cinema-hero .audience-card h3,
.premium-demo.cinema-hero .buyer-card h3,
.premium-demo.cinema-hero .process-steps h3,
.premium-demo.cinema-hero .region-card h3,
.premium-demo.cinema-hero .certificate-card h3,
.premium-demo.cinema-hero .faq-list summary,
.premium-demo.cinema-hero .home-resource-card h3,
.premium-demo.cinema-hero .inquiry-checklist h3,
.premium-demo.cinema-hero .contact-details a,
.premium-demo.cinema-hero .contact-details p {color: #081b33;}
.premium-demo.cinema-hero .product-tile small,
.premium-demo.cinema-hero .home-project-summary,
.premium-demo.cinema-hero .audience-lead,
.premium-demo.cinema-hero .audience-card li,
.premium-demo.cinema-hero .buyer-card p,
.premium-demo.cinema-hero .process-steps p,
.premium-demo.cinema-hero .region-card p,
.premium-demo.cinema-hero .certificate-card p,
.premium-demo.cinema-hero .faq-list details p,
.premium-demo.cinema-hero .inquiry-checklist li {color: #5f6b7e;}
.premium-demo.cinema-hero .audience-card-meta {color: #4A7FA8;}
.premium-demo.cinema-hero .audience-index {background: #E4573F;}
.premium-demo.cinema-hero .service-promise {background: #fff; border: 1px solid rgba(8,27,51,.14); border-left: 4px solid #4A7FA8;}
.premium-demo.cinema-hero .service-promise p {color: #081b33;}
.premium-demo.cinema-hero .service-promise li {color: #5f6b7e;}
.premium-demo.cinema-hero .home-project-meta {border-color: rgba(8,27,51,.12);}
.premium-demo.cinema-hero .home-project-meta b {color: #4A7FA8;}
.premium-demo.cinema-hero .home-project-meta span {color: #33424e;}
.premium-demo.cinema-hero .home-project-result {background: rgba(74,127,168,.08);}
.premium-demo.cinema-hero .home-project-result b {color: #E4573F;}
.premium-demo.cinema-hero .home-direction-copy {color: #5f6b7e;}
.premium-demo.cinema-hero .home-direction-card-body h3 {color: #081b33;}
.premium-demo.cinema-hero .home-product-tags a {background: #f2f6fa; border: 1px solid rgba(8,27,51,.14); color: #081b33;}
.premium-demo.cinema-hero .home-product-tags a:hover {border-color: #4A7FA8;}
.premium-demo.cinema-hero .process-steps li b {color: rgba(8,27,51,.09);}
.premium-demo.cinema-hero .process-steps li:nth-child(1) b,
.premium-demo.cinema-hero .process-steps li:nth-child(4) b {color: rgba(228,87,63,.3);}
.premium-demo.cinema-hero .certificate-placeholder {background: #f4f7fa; border: 1px dashed rgba(8,27,51,.25); color: #5f6b7e;}
.premium-demo.cinema-hero .cert-badges li {background: #fff; border-color: rgba(8,27,51,.2); color: #081b33;}
.premium-demo.cinema-hero .home-resource-card small {color: #4A7FA8;}
.premium-demo.cinema-hero .industry-tab {color: #c7d6e5;}
.premium-demo.cinema-hero .industry-tab.is-active {background: #4A7FA8; color: #fff;}
.premium-demo.cinema-hero .industry-badge strong {color: #081b33;}
.premium-demo.cinema-hero .industry-badge span {color: #5f6b7e;}
.premium-demo.cinema-hero .solution-copy p {color: #5f6b7e;}
.premium-demo.cinema-hero .rfq-field label {color: #22403a;}
.premium-demo.cinema-hero .rfq-field input,
.premium-demo.cinema-hero .rfq-field select,
.premium-demo.cinema-hero .rfq-field textarea {background: #fbfdfc; border-color: rgba(8,27,51,.24); color: #081b33;}
.premium-demo.cinema-hero .rfq-field select option {background: #fff; color: #081b33;}
.premium-demo.cinema-hero .rfq-field input::placeholder,
.premium-demo.cinema-hero .rfq-field textarea::placeholder {color: #82939c;}
.premium-demo.cinema-hero .rfq-field input:focus,
.premium-demo.cinema-hero .rfq-field select:focus,
.premium-demo.cinema-hero .rfq-field textarea:focus {border-color: #4A7FA8; box-shadow: 0 0 0 3px rgba(74,127,168,.16); background: #fff;}
.premium-demo.cinema-hero .rfq-required-note,
.premium-demo.cinema-hero .rfq-fallback,
.premium-demo.cinema-hero .rfq-file-name {color: #7c8f86;}
.premium-demo.cinema-hero .rfq-fallback a {color: #4A7FA8;}
.premium-demo.cinema-hero .rfq-status {color: #4A7FA8;}
.premium-demo.cinema-hero .contact-direct dd {color: #33424e;}
.premium-demo.cinema-hero .inquiry-checklist {border-left: 4px solid #E4573F;}
.premium-demo.cinema-hero .inquiry-checklist .button-primary {background: #E4573F;}

@media (max-width: 720px) {
  .premium-demo.cinema-hero .hero-stats {gap: 10px 22px;}
  .premium-demo.cinema-hero .hero-stats dt {font-size: 18px;}
}

/* 59. Homepage restructure — pure product wall + outsourcing band + new order — 2026-08-25 */

/* Product wall tiles: clean white cards, 8px radius, soft shadow, Explore links. */
.product-wall {padding: 84px 0;}
.product-tile {display: flex; flex-direction: column; border-radius: 8px; overflow: hidden; box-shadow: 0 8px 24px rgba(2,10,20,.16);}
.product-tile .tile-link {display: block; color: inherit;}
.product-tile img {display: block; width: 100%; height: 168px; object-fit: cover; background: #dde5e6;}
.product-tile figcaption {display: grid; gap: 6px; padding: 14px 16px 12px;}
.product-tile strong {color: #081b33; font-size: 15.5px; font-weight: 700; letter-spacing: -.01em; line-height: 1.3;}
.product-tile small {color: #5f6b7e; font-size: 12px; line-height: 1.6;}
.tile-explore {display: inline-flex; align-items: center; gap: 8px; margin: auto 16px 15px; color: #4A7FA8; font-size: 12px; font-weight: 700;}
.tile-explore span {transition: transform .2s ease;}
.product-tile:hover .tile-explore span {transform: translateX(4px);}
.product-tile:hover {border-top-color: #E4573F;}
.product-tile:hover figcaption strong {color: #081b33;}

/* Outsourcing Services: light band between dark product and project zones. */
.premium-demo.cinema-hero .outsourcing {background: #F7FAF9;}
.premium-demo.cinema-hero .outsourcing .section-heading h2,
.premium-demo.cinema-hero .outsourcing .section-heading h2 span {color: #081b33;}
.premium-demo.cinema-hero .outsourcing .section-heading > p {color: #5f6b7e;}
.outsourcing-grid {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px;}
.outsourcing-card {display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(8,27,51,.12); border-radius: 8px; overflow: hidden; box-shadow: 0 8px 22px rgba(8,27,51,.07); transition: transform .22s ease, box-shadow .22s ease;}
.outsourcing-card:hover {transform: translateY(-4px); box-shadow: 0 18px 38px rgba(8,27,51,.12);}
.outsourcing-media img {display: block; width: 100%; height: 172px; object-fit: cover; background: #dde5e6;}
.outsourcing-body {display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 20px 22px 18px;}
.outsourcing-body h3 {margin: 0; color: #081b33; font-size: 17px; font-weight: 700; letter-spacing: -.01em; line-height: 1.35;}
.outsourcing-body p {margin: 0; color: #5f6b7e; font-size: 13px; line-height: 1.7;}
.outsourcing-body .text-link {margin-top: auto; padding-top: 8px; color: #4A7FA8; font-size: 12px; font-weight: 700;}
.outsourcing-body .text-link span {color: #E4573F;}

/* Band alternation for the new order (light outsourcing breaks the rhythm on purpose):
   wall #071627 · outsourcing #F7FAF9 · projects #0A1E35 · who-we-support #071627 ·
   regions #0A1E35 · why #071627 · clients #0A1E35 · industry #071627 · cert #0A1E35 · faq #071627 */
.premium-demo.cinema-hero .regions {background: #0A1E35;}
.premium-demo.cinema-hero #why-partner {background: #071627;}
.premium-demo.cinema-hero .clients {background: #0A1E35;}
.premium-demo.cinema-hero .industry-solutions {background: #071627;}

@media (max-width: 900px) {
  .outsourcing-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 620px) {
  .outsourcing-grid {grid-template-columns: 1fr;}
  .outsourcing-media img {height: 200px;}
}

/* 60. Hero two-column type balance + homepage type scale + slimmed trust modules — 2026-08-25 */

/* Hero: left = identity + CTAs, right = capability copy + quiet stats. */
.premium-demo.cinema-hero .hero-inner {grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: clamp(40px, 4vw, 60px); align-items: end;}
.premium-demo.cinema-hero .hero-content {max-width: none;}
.premium-demo.cinema-hero .hero-side {display: grid; gap: 22px; padding-bottom: 8px;}
.premium-demo.cinema-hero .hero-side .hero-description {max-width: 430px;}
.premium-demo.cinema-hero .hero-side .hero-stats {margin-top: 0;}

/* Homepage type scale: one step up across the board. */
.premium-demo.cinema-hero .hero h1 {font-size: clamp(52px, 4.6vw, 68px);}
.premium-demo.cinema-hero .hero-anchor {font-size: 16.5px;}
.premium-demo.cinema-hero .hero-description {font-size: 17px; line-height: 1.8;}
.premium-demo.cinema-hero .hero .button {font-size: 13px; min-width: 170px; padding: 17px 22px;}
.premium-demo.cinema-hero .hero-stats dt {font-size: 24px;}
.premium-demo.cinema-hero .hero-stats dd {font-size: 11.5px;}
.premium-demo.cinema-hero .section-heading h2 {font-size: clamp(48px, 4.2vw, 58px);}
.premium-demo.cinema-hero .section-heading > p {font-size: 15px;}
.premium-demo.cinema-hero .product-tile strong {font-size: 16.5px;}
.premium-demo.cinema-hero .product-tile small {font-size: 13px;}
.premium-demo.cinema-hero .tile-explore {font-size: 13px;}
.premium-demo.cinema-hero .outsourcing-body h3 {font-size: 18.5px;}
.premium-demo.cinema-hero .outsourcing-body p {font-size: 13.5px;}
.premium-demo.cinema-hero .outsourcing-body .text-link {font-size: 13px;}
.premium-demo.cinema-hero .home-project-summary {font-size: 14px;}
.premium-demo.cinema-hero .faq-list summary {font-size: 16px;}
.premium-demo.cinema-hero .faq-list details p {font-size: 14.5px;}

/* WHO WE SUPPORT: identity-only cards. */
.premium-demo .audience-card {min-height: 0; padding: 30px 30px 26px;}
.premium-demo .audience-card-meta {min-height: 0; font-size: 16.5px; letter-spacing: .05em;}
.premium-demo .audience-index {width: 36px; height: 36px; flex: 0 0 36px; font-size: 12px;}

/* WHY KONCHE: single statement card, centered. */
.premium-demo .buyer-card-grid {grid-template-columns: minmax(0, 520px); justify-content: center;}
.premium-demo .buyer-card {padding: 34px 36px; text-align: center;}
.premium-demo .buyer-card-head {justify-content: center;}
.premium-demo .buyer-card-head .buyer-card-index {display: none;}
.premium-demo .buyer-card h3 {margin: 14px 0 0; font-size: 24px; letter-spacing: -.02em;}

@media (max-width: 1000px) {
  .premium-demo.cinema-hero .hero-inner {grid-template-columns: minmax(0, 1fr);}
  .premium-demo.cinema-hero .hero-side {padding-bottom: 0;}
}
@media (max-width: 720px) {
  .premium-demo.cinema-hero .hero h1 {font-size: clamp(34px, 9vw, 40px);}
  .premium-demo.cinema-hero .hero-description {font-size: 15px;}
  .premium-demo.cinema-hero .hero .button {min-width: 100%;}
  .premium-demo .buyer-card-grid {grid-template-columns: minmax(0, 1fr);}
}

/* 61. WHY KONCHE: all six cards, titles only — grid restored — 2026-08-25 */
.premium-demo .buyer-card-grid {grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: stretch; gap: 18px;}
.premium-demo .buyer-card {padding: 30px 28px 26px; text-align: left;}
.premium-demo .buyer-card-head {justify-content: flex-start;}
.premium-demo .buyer-card-head .buyer-card-index {display: block;}
.premium-demo .buyer-card h3 {margin: 16px 0 0; font-size: 21px; letter-spacing: -.02em;}

/* 62. FAQ heading on dark band — 2026-08-25 */
.premium-demo.cinema-hero .faq-copy h2,
.premium-demo.cinema-hero .faq-copy h2 span {color: #fff;}

/* 63. WHY KONCHE: B2B value copy and balanced 3/2/1 card grid — 2026-08-25 */
.premium-demo #why-partner .section-heading {justify-content: flex-start; text-align: left;}
.premium-demo #why-partner .buyer-card-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 0;
}
.premium-demo #why-partner .buyer-card {
  min-height: 0;
  padding: 32px 28px;
  text-align: left;
}
.premium-demo #why-partner .buyer-card-head {
  align-items: flex-start;
  justify-content: space-between;
  margin: 0 0 22px;
}
.premium-demo #why-partner .buyer-card-head .buyer-card-index {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 50%;
  background: rgb(70, 128, 99);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .03em;
}
.premium-demo #why-partner .buyer-card-icon {
  margin-left: auto;
  color: rgb(70, 128, 99);
}
.premium-demo.cinema-hero #why-partner .buyer-card-icon svg {stroke: rgb(70, 128, 99);}
.premium-demo #why-partner .buyer-card h3 {
  margin: 0 0 12px;
  font-size: 21px;
  line-height: 1.3;
  letter-spacing: -.02em;
}
.premium-demo #why-partner .buyer-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.68;
}
@media (max-width: 980px) {
  .premium-demo #why-partner .buyer-card-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 640px) {
  .premium-demo #why-partner .buyer-card-grid {grid-template-columns: 1fr; gap: 24px;}
  .premium-demo #why-partner .buyer-card {padding: 32px 28px;}
}

/* 64. PROJECT INQUIRY role dropdown option contrast — 2026-08-25 */
#inquiry-role option {
  background: #fff;
  color: #111111;
}

/* 65. Deep-navy surface contrast contract — 2026-08-25
   Keeps headings and body copy readable wherever the site uses a navy panel. */
:is(.section-dark, .stats, .contact-cta, .product-cta, .inquiry-section,
    .insight-card-light, .solution-outcomes, .process-cta, .fast-quote,
    .audience-index, .industry-tab.is-active) {
  color: #E8F0F4;
}
:is(.section-dark, .stats, .contact-cta, .product-cta, .inquiry-section,
    .insight-card-light, .solution-outcomes, .process-cta, .fast-quote,
    .audience-index, .industry-tab.is-active)
  :is(h1, h2, h3, h4, h5, h6, strong, b) {
  color: #FFFFFF;
}
:is(.section-dark, .stats, .contact-cta, .product-cta, .inquiry-section,
    .insight-card-light, .solution-outcomes, .process-cta, .fast-quote,
    .audience-index, .industry-tab.is-active)
  :is(p, li, dd, small, label) {
  color: #C7D6E0;
}
.solution-outcomes strong {color: #6EE7B7 !important;}
.detail-table th {color: #F3F7F8;}
.site-header.nav-v2 .main-nav > a,
.site-header.nav-v2 .nav-category-link {color: #252D31;}
.site-footer :is(h2, h3, h4, strong, b) {color: #FFFFFF;}
.site-footer :is(p, li, small, span) {color: #B9C8D0;}
.site-footer a {color: #D8E3E8;}
.site-footer a:hover {color: #FFFFFF;}

/* Dark homepage/theme panels that use their own card classes. */
.premium-demo.cinema-hero :is(.home-direction-card, .product-tile, .home-project-card,
  .audience-card, .buyer-card, .industry-showcase, .industry-badge, .process-steps li,
  .region-card, .certificate-card, .faq-list details, .home-resource-card,
  .contact-details article, .rfq-form, .contact-direct)
  :is(h2, h3, h4, strong, b, summary) {color: #FFFFFF;}
.premium-demo.cinema-hero :is(.home-direction-card, .product-tile, .home-project-card,
  .audience-card, .buyer-card, .industry-showcase, .industry-badge, .process-steps li,
  .region-card, .certificate-card, .faq-list details, .home-resource-card,
  .contact-details article, .rfq-form, .contact-direct)
  :is(p, li, dd, small, label) {color: #C7D6E0;}

/* 66. Industry solutions page rebuild — 2026-08-25 */
.solutions-hero .product-hero-copy {max-width: 800px;}
.solutions-hero .product-hero-copy > p:not(.product-subtitle) {max-width: 760px; margin: 0 0 12px;}
.solutions-hero-actions,
.solutions-final-actions {display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px;}
.solutions-hero .solutions-disclaimer {max-width: 720px; margin-top: 20px !important; padding-top: 16px; border-top: 1px solid rgba(7,28,44,.14); color: #66767D; font-size: 12px !important; line-height: 1.55;}
.solutions-hero .button-ghost {background: rgba(7,28,44,.34); border-color: rgba(255,255,255,.52); color: #FFFFFF;}
.solutions-hero .button-ghost:hover {background: #FFFFFF; border-color: #FFFFFF; color: #071C2C;}

.solutions-quick-answer {background: #EDF2F2;}
.solutions-answer {overflow: hidden; background: #FFFFFF; border: 1px solid #D8E2DE; border-top: 3px solid #005C43; border-radius: 8px; box-shadow: 0 16px 38px rgba(7,28,44,.06);}
.solutions-answer summary {display: grid; grid-template-columns: minmax(0,1fr) 34px; align-items: center; gap: 20px; padding: 30px 34px; cursor: pointer; list-style: none;}
.solutions-answer summary::-webkit-details-marker {display: none;}
.solutions-answer summary > span {grid-column: 1; color: #005C43; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;}
.solutions-answer summary h2 {grid-column: 1; margin: 3px 0 0; color: #071C2C; font-size: clamp(28px,3vw,40px);}
.solutions-answer summary i {grid-column: 2; grid-row: 1 / span 2; position: relative; width: 30px; height: 30px; border: 1px solid #B8C9C2; border-radius: 50%;}
.solutions-answer summary i::before,
.solutions-answer summary i::after {content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 1px; background: #005C43; transform: translate(-50%,-50%);}
.solutions-answer summary i::after {transform: translate(-50%,-50%) rotate(90deg); transition: transform .2s ease;}
.solutions-answer[open] summary i::after {transform: translate(-50%,-50%) rotate(0deg);}
.solutions-answer-body {display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding: 0 34px 34px; border-top: 1px solid #E4EBE8;}
.solutions-answer-step {display: grid; grid-template-columns: 38px 1fr; gap: 14px; padding-top: 26px;}
.solutions-answer-step > span {display: grid; place-items: center; width: 32px; height: 32px; background: #005C43; color: #fff; border-radius: 50%; font-size: 11px; font-weight: 800;}
.solutions-answer-step h3 {margin: 2px 0 7px; color: #071C2C; font-size: 18px;}
.solutions-answer-step p,
.solutions-answer-scope p {margin: 0; color: #4A5A57; font-size: 14px; line-height: 1.7;}
.solutions-answer-scope {grid-column: 1 / -1; display: grid; grid-template-columns: 180px minmax(0,1fr) auto; align-items: start; gap: 24px; padding: 22px 0 0; border-top: 1px solid #E4EBE8;}
.solutions-answer-scope > strong {color: #005C43; font-size: 12px; letter-spacing: .08em; text-transform: uppercase;}
.solutions-answer-scope > div {display: flex; flex-wrap: wrap; gap: 16px;}
.solutions-answer-scope a {color: #005C43; font-size: 13px; font-weight: 750;}

.solutions-product-content {background: #F4F7F4;}
.solutions-intro {align-items: end;}
.solutions-intro > p {max-width: 600px;}
.solutions-intro-count {display: grid; grid-template-columns: auto minmax(0,1fr); align-items: start; gap: 16px;}
.solutions-intro-count > strong {color: #005C43; font-size: clamp(48px,5vw,72px); font-weight: 800; line-height: .82; letter-spacing: -.06em;}
.solutions-intro-count > span {color: #4A5A57; line-height: 1.75;}
.solutions-portfolio-note {margin: 22px 0 0; padding: 14px 18px; background: #E8F1EB; border-left: 3px solid #005C43; color: #4A5A57; font-size: 13px;}
.solutions-index {grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 34px; background: none; border: 0;}
.solutions-index a {display: flex; flex-direction: column; align-items: flex-start; min-height: 210px; padding: 26px 24px; background: #FFFFFF; border: 1px solid #DCE5E0; border-top: 3px solid #005C43; border-radius: 8px; box-shadow: 0 10px 26px rgba(7,28,44,.035);}
.solutions-index a > span {display: grid; place-items: center; width: 30px; height: 30px; margin-bottom: 22px; background: #005C43; color: #FFFFFF; border-radius: 50%; font-size: 11px;}
.solutions-index a strong {color: #071C2C; font-size: 17px; line-height: 1.35;}
.solutions-index a small {margin-top: 9px; color: #53625F; font-size: 13px; line-height: 1.55;}
.solutions-index a em {margin-top: auto; padding-top: 18px; color: #005C43; font-size: 10px; font-style: normal; font-weight: 750; letter-spacing: .08em; text-transform: uppercase;}
.solutions-index a em,
.industry-term {color: #E4573F; font-weight: 750;}
.solutions-hero .industry-term {color: #FF8A66;}

/* 67. Light homepage content modules and footer contrast — 2026-08-25 */
.premium-demo.cinema-hero :is(.product-wall, .home-projects, .regions, .home-faq) {
  background: #F4F7F4;
  color: #111111;
}
.premium-demo.cinema-hero :is(.product-wall, .home-projects, .regions, .home-faq)
  :is(.section-heading h2, .section-heading h2 span, .section-heading > p,
      .product-tile strong, .product-tile small, .product-wall-passage .citable-passage,
      .home-project-kicker, .home-project-card h3, .home-project-summary,
      .home-project-meta span, .home-project-meta b, .home-project-link,
      .region-tag, .region-card h3, .region-card p, .region-cta a,
      .faq-copy h2, .faq-copy p, .faq-list summary, .faq-list details p) {
  color: #111111 !important;
}
.premium-demo.cinema-hero :is(.product-tile, .home-project-card, .region-card, .faq-list details) {
  background: #FFFFFF;
}

.site-footer,
.site-footer :is(h1, h2, h3, h4, strong, b, p, span, small, a, li) {
  color: #111111 !important;
}
.site-footer a:hover {color: #111111 !important; text-decoration: underline; text-underline-offset: 3px;}
.site-footer .keyword-line {color: #111111; border-color: rgba(17,17,17,.16);}

/* 68. RO complete treatment train: seven steps remain on one line. */
#process-flow .process-steps {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 0 10px;
  scrollbar-width: thin;
}
#process-flow .process-steps .step {
  flex: 1 1 0;
  justify-content: center;
  min-width: 112px;
  min-height: 62px;
  padding: 12px 10px;
  border-top: 3px solid #005C43;
  text-align: center;
  white-space: normal;
}
#process-flow .process-steps .step-arrow {
  flex: 0 0 18px;
  justify-content: center;
  padding: 0;
  color: #E4573F;
  font-size: 18px;
}

/* 69. UV service parts: 8 assets in a 4 × 2 desktop grid. */
.uv-service-parts .ind-gallery {grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px;}
@media (max-width: 900px) {
  .uv-service-parts .ind-gallery {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 560px) {
  .uv-service-parts .ind-gallery {grid-template-columns: 1fr;}
}

/* §69 Homepage outsourcing links, About page rebuild, and UV service-parts rhythm */
.outsourcing .outsourcing-body .text-link {
  color: #005C43;
  font-weight: 700;
}
.outsourcing .outsourcing-body .text-link:not([href="contact.html"]) {
  color: #E4573F;
  text-decoration-color: rgba(228, 87, 63, .42);
}
.outsourcing .outsourcing-body .text-link:not([href="contact.html"]):hover {
  color: #B93B2B;
  text-decoration-color: currentColor;
}

.uv-service-parts .ind-gallery {
  grid-auto-rows: auto;
  align-items: stretch;
}
.uv-service-parts .ind-gallery figure {
  display: grid;
  grid-template-rows: 238px 92px;
  height: 330px;
  overflow: hidden;
}
.uv-service-parts .ind-gallery img {
  width: 100%;
  height: 238px;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
  padding: 12px;
  background: #fff;
}
.uv-service-parts .ind-gallery figcaption {
  min-height: 70px;
  display: flex;
  align-items: center;
  padding: 14px 16px;
}

.about-rebuild {
  --about-green: #005C43;
  --about-ink: #111;
  --about-body: #3D4B48;
  --about-line: #DCE5E1;
  background: #fff;
  color: var(--about-ink);
}
.about-rebuild :is(h1, h2, h3, p, li, dt, dd, span, a) {font-family: Inter, Arial, sans-serif;}
.about-new-hero {
  position: relative;
  overflow: hidden;
  padding: 82px 0 70px;
  background: #071C2C;
}
.about-new-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg, rgba(0, 92, 67, .24), transparent 48%),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: auto, 52px 52px, 52px 52px;
}
.about-new-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  align-items: center;
  gap: clamp(44px, 6vw, 88px);
}
.about-new-hero .product-breadcrumb {margin: 0 0 42px;}
.about-new-hero .product-breadcrumb :is(a, span) {color: #AFC1C8;}
.about-new-hero .product-breadcrumb strong {color: #fff;}
.about-kicker {
  margin: 0 0 13px;
  color: #78D6B7;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .15em;
}
.about-new-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(48px, 6vw, 78px);
  font-weight: 650;
  letter-spacing: -.045em;
  line-height: .98;
}
.about-new-hero h2 {
  max-width: 660px;
  margin: 24px 0 16px;
  color: #DDF3EB !important;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.25;
}
.about-new-hero-copy > p:not(.about-kicker) {
  max-width: 650px;
  margin: 0;
  color: #CDD8DD;
  font-size: 16px;
  line-height: 1.75;
}
.about-hero-actions, .about-cta-actions {display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px;}
.about-button-outline {
  border: 1px solid rgba(255,255,255,.5);
  background: transparent;
  color: #fff;
}
.about-button-outline:hover {border-color: #fff; background: rgba(255,255,255,.08); color: #fff;}
.about-new-hero-media {
  position: relative;
  min-height: 510px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 8px;
  background: #122C3A;
  box-shadow: 0 30px 70px rgba(0,0,0,.28);
}
.about-new-hero-media img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 54% center; filter: saturate(.76) contrast(1.04);}
.about-new-hero-media::after {content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(7,28,44,.92));}
.about-new-hero-media figcaption {position: absolute; z-index: 1; left: 30px; right: 30px; bottom: 27px; display: grid; gap: 4px; color: #fff;}
.about-new-hero-media figcaption strong {font-size: 22px; color: #fff;}
.about-new-hero-media figcaption span {color: #C9D8DD; font-size: 13px;}

.about-answer {padding: 48px 0; background: #F0F5F3;}
.about-answer-panel {border: 1px solid #CEDCD6; border-radius: 8px; background: #fff; box-shadow: 0 12px 30px rgba(7,28,44,.06);}
.about-answer-panel summary {position: relative; display: grid; gap: 7px; padding: 25px 72px 25px 28px; cursor: pointer; list-style: none;}
.about-answer-panel summary::-webkit-details-marker {display: none;}
.about-answer-panel summary::after {content: "+"; position: absolute; top: 50%; right: 28px; transform: translateY(-50%); color: var(--about-green); font-size: 26px; font-weight: 400;}
.about-answer-panel[open] summary::after {content: "−";}
.about-answer-panel summary span {color: var(--about-green); font-size: 11px; font-weight: 800; letter-spacing: .14em;}
.about-answer-panel summary strong {color: #111; font-size: clamp(20px, 2.2vw, 28px); line-height: 1.25;}
.about-answer-content {display: grid; grid-template-columns: .85fr 1.15fr; gap: 48px; padding: 26px 28px 30px; border-top: 1px solid var(--about-line);}
.about-answer-content p {margin: 0; color: var(--about-body); font-size: 16px; line-height: 1.7;}
.about-answer-content ul {display: grid; gap: 10px; margin: 0; padding: 0; list-style: none;}
.about-answer-content li {position: relative; padding-left: 19px; color: #263835; line-height: 1.55;}
.about-answer-content li::before {content: ""; position: absolute; top: .66em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--about-green);}

.about-section {padding: clamp(76px, 8vw, 112px) 0; background: #fff;}
.about-factory, .about-certifications, .about-service {background: #F4F7F5;}
.about-section-heading {display: grid; grid-template-columns: 48px minmax(0, 820px); gap: 20px; align-items: start; margin-bottom: 44px;}
.about-section-heading > span {display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--about-green); color: #fff; font-size: 12px; font-weight: 800;}
.about-section-heading h2 {margin: 0; color: #111; font-size: clamp(30px, 3.5vw, 46px); font-weight: 700; letter-spacing: -.035em; line-height: 1.05;}
.about-section-heading h2::before {content: ""; display: block; width: 48px; height: 3px; margin-bottom: 15px; background: var(--about-green);}
.about-section-heading p {max-width: 760px; margin: 13px 0 0; color: var(--about-body); font-size: 15px; line-height: 1.65;}
.about-section-heading p strong {color: #111; font-weight: 700;}

.about-company-grid {display: grid; grid-template-columns: minmax(0, 1fr) minmax(440px, 1fr); gap: clamp(44px, 7vw, 96px); align-items: start;}
.about-company-copy {padding: 4px 0 0;}
.about-company-copy p {max-width: 650px; margin: 0 0 20px; color: #263835; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.75;}
.about-company-video {display: grid; grid-template-columns: minmax(260px, 430px) minmax(0, 1fr); gap: clamp(28px, 5vw, 64px); align-items: center; margin: 56px 0 0; padding: clamp(24px, 4vw, 42px); border: 1px solid var(--about-line); border-radius: 10px; background: #fff; box-shadow: 0 16px 38px rgba(7,28,44,.06);}
.about-company-video-frame {overflow: hidden; border-radius: 8px; background: #0C1715; aspect-ratio: 9 / 16;}
.about-company-video video {display: block; width: 100%; height: 100%; object-fit: contain; background: #0C1715;}
.about-company-video figcaption {display: grid; gap: 12px; color: var(--about-body); font-size: 15px; line-height: 1.7;}
.about-company-video figcaption strong {color: #111; font-size: clamp(24px, 3vw, 38px); line-height: 1.15;}
.about-facts {display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin: 0;}
.about-facts div {min-height: 142px; padding: 24px; border: 1px solid var(--about-line); border-radius: 8px; background: #fff; box-shadow: 0 10px 26px rgba(7,28,44,.045);}
.about-facts div::before {content: ""; display: block; width: 34px; height: 3px; margin-bottom: 18px; background: var(--about-green);}
.about-facts dt {color: #66736F; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;}
.about-facts dd {margin: 8px 0 0; color: #142522; font-size: 16px; font-weight: 700; line-height: 1.45;}

.about-factory-gallery {display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 16px; margin-bottom: 48px;}
.about-factory-gallery figure {grid-column: span 2; height: 290px; margin: 0; overflow: hidden; border-radius: 8px; background: #DDE5E1;}
.about-factory-gallery .factory-gallery-bottom-left {grid-column: 2 / span 2;}
.about-factory-gallery .factory-gallery-bottom-right {grid-column: 4 / span 2;}
.about-factory-gallery img {width: 100%; height: 100%; object-fit: cover; filter: saturate(.72); transition: transform .35s ease;}
.about-factory-gallery figure:hover img {transform: scale(1.025);}
.about-process {position: relative; display: grid; gap: 0;}
.about-process-three {grid-template-columns: repeat(3, minmax(0,1fr));}
.about-process-four {grid-template-columns: repeat(4, minmax(0,1fr));}
.about-process::before {content: ""; position: absolute; top: 22px; left: 22px; right: 22px; height: 1px; background: #BFD1C9;}
.about-process article {position: relative; padding: 66px 30px 4px 0;}
.about-process article > span {position: absolute; z-index: 1; top: 0; left: 0; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--about-green); color: #fff; font-size: 12px; font-weight: 800; box-shadow: 0 0 0 8px #F4F7F5;}
.about-quality .about-process article > span {box-shadow: 0 0 0 8px #fff;}
.about-process h3 {margin: 0 0 12px; color: #111; font-size: 19px; line-height: 1.25;}
.about-process p {margin: 0; color: var(--about-body); font-size: 14px; line-height: 1.65;}

.about-cert-grid {display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px;}
.about-cert-grid article {position: relative; min-height: 300px; padding: 30px; border: 1px solid #D7E1DD; border-radius: 8px; background: #fff; box-shadow: 0 12px 30px rgba(7,28,44,.05);}
.about-cert-icon {display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 58px; border: 1px solid rgba(0,92,67,.25); border-radius: 50%; background: #EAF3EF; color: var(--about-green); font-size: 24px; font-weight: 700;}
.about-cert-grid article > p {margin: 0 0 7px; color: #70807A; font-size: 10px; font-weight: 800; letter-spacing: .12em;}
.about-cert-grid h3 {margin: 0 0 9px; color: var(--about-green); font-size: 30px;}
.about-cert-grid article > span {color: #31433F; font-size: 14px; line-height: 1.55;}

.about-team-layout {display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr); gap: 32px; align-items: stretch;}
.about-team-gallery {display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; align-content: start;}
.about-team-gallery figure {margin: 0; overflow: hidden; border-radius: 8px; background: #E5EBE8; aspect-ratio: 4 / 3;}
.about-team-gallery img {width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.86);}
.about-team-story {display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 4vw, 46px); border: 1px solid var(--about-line); border-radius: 8px; background: #fff;}
.about-team-lead {margin: 0 0 13px; color: var(--about-green); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase;}
.about-team-story h3 {margin: 0 0 18px; color: #111; font-size: clamp(24px, 2.6vw, 34px); line-height: 1.2;}
.about-team-story > p:not(.about-team-lead) {margin: 0; color: var(--about-body); font-size: 15px; line-height: 1.75;}
.about-team-values {display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px;}
.about-team-values span {padding: 8px 12px; border-radius: 999px; background: #EAF3EF; color: var(--about-green); font-size: 12px; font-weight: 800;}
.about-team-grid {display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px;}
.about-team-grid article, .about-service-grid article {position: relative; padding: 30px 26px; border: 1px solid var(--about-line); border-radius: 8px; background: #fff;}
.about-team-grid article > span, .about-service-grid article > span {display: block; margin-bottom: 34px; color: var(--about-green); font-size: 12px; font-weight: 800; letter-spacing: .12em;}
.about-team-grid h3, .about-service-grid h3 {margin: 0 0 12px; color: #111; font-size: 18px; line-height: 1.3;}
.about-team-grid p, .about-service-grid p {margin: 0; color: var(--about-body); font-size: 14px; line-height: 1.65;}

.about-service-grid {display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 16px;}
.about-service-grid article {min-height: 300px; display: flex; flex-direction: column;}
.about-service-grid article:hover {transform: translateY(-3px); border-color: rgba(0,92,67,.4); box-shadow: 0 16px 34px rgba(7,28,44,.08);}
.about-service-grid a {margin-top: auto; padding-top: 20px; color: var(--about-green); font-size: 13px; font-weight: 800; line-height: 1.4;}

.about-final-cta {padding: 78px 0; background: #071C2C;}
.about-final-cta-grid {display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(40px, 8vw, 120px); align-items: center;}
.about-final-cta p {margin: 0; color: #C6D3D8; font-size: 15px; line-height: 1.7;}
.about-final-cta-grid > div:first-child > p {margin-bottom: 10px; color: #78D6B7; font-size: 11px; font-weight: 800; letter-spacing: .15em;}
.about-final-cta h2 {margin: 0; color: #fff !important; font-size: clamp(34px, 4vw, 52px); line-height: 1.05; letter-spacing: -.035em;}
.about-button-dark {border: 1px solid rgba(255,255,255,.5); color: #fff; background: transparent;}
.about-button-dark:hover {border-color: #fff; color: #fff; background: rgba(255,255,255,.08);}

@media (max-width: 1100px) {
  .about-new-hero-grid {grid-template-columns: 1fr 1fr; gap: 40px;}
  .about-service-grid {grid-template-columns: repeat(3, minmax(0,1fr));}
  .about-process-four {grid-template-columns: repeat(2, minmax(0,1fr)); gap: 30px 24px;}
  .about-process-four::before {content: none;}
  .about-process-four article {padding-top: 58px;}
}
@media (max-width: 820px) {
  .about-new-hero {padding: 60px 0;}
  .about-new-hero-grid, .about-company-grid, .about-company-video, .about-team-layout, .about-final-cta-grid {grid-template-columns: 1fr;}
  .about-new-hero-media {min-height: 430px;}
  .about-answer-content {grid-template-columns: 1fr; gap: 20px;}
  .about-factory-gallery {grid-template-columns: 1fr 1fr;}
  .about-factory-gallery figure, .about-factory-gallery .factory-gallery-bottom-left, .about-factory-gallery .factory-gallery-bottom-right {grid-column: auto;}
  .about-cert-grid {grid-template-columns: repeat(2, minmax(0,1fr));}
  .about-service-grid {grid-template-columns: repeat(2, minmax(0,1fr));}
  .about-company-video-frame {width: min(100%, 380px); justify-self: center;}
}
@media (max-width: 620px) {
  .about-new-hero {padding: 42px 0 50px;}
  .about-new-hero .product-breadcrumb {margin-bottom: 30px;}
  .about-new-hero-media {min-height: 340px;}
  .about-new-hero-media figcaption {left: 20px; right: 20px; bottom: 20px;}
  .about-section {padding: 68px 0;}
  .about-section-heading {grid-template-columns: 40px minmax(0,1fr); gap: 14px; margin-bottom: 34px;}
  .about-section-heading > span {width: 34px; height: 34px;}
  .about-facts, .about-factory-gallery, .about-process-three, .about-process-four, .about-cert-grid, .about-team-gallery, .about-team-grid, .about-service-grid {grid-template-columns: 1fr;}
  .about-factory-gallery figure {height: 250px;}
  .about-process::before {top: 20px; bottom: 20px; left: 20px; right: auto; width: 1px; height: auto;}
  .about-process article, .about-process-four article {min-height: 0; padding: 0 0 34px 68px;}
  .about-process article:last-child {padding-bottom: 0;}
  .about-process article > span {width: 40px; height: 40px; box-shadow: 0 0 0 7px #F4F7F5;}
  .about-quality .about-process article > span {box-shadow: 0 0 0 7px #fff;}
  .about-cert-grid article {min-height: 250px;}
  .about-cert-icon {margin-bottom: 38px;}
  .about-company-video {padding: 20px;}
  .about-service-grid article {min-height: 240px;}
  .about-final-cta {padding: 64px 0;}
  .uv-service-parts .ind-gallery figure {grid-template-rows: 280px 100px; height: 380px;}
  .uv-service-parts .ind-gallery img {height: 280px;}
}

/* §70 Homepage product-portfolio technical overview accordion */
.product-wall-passage .portfolio-technical-fold {
  overflow: hidden;
  border: 1px solid #D7E1DD;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(7, 28, 44, .045);
}
.portfolio-technical-fold summary {
  position: relative;
  display: grid;
  gap: 6px;
  padding: 22px 68px 22px 24px;
  cursor: pointer;
  list-style: none;
}
.portfolio-technical-fold summary::-webkit-details-marker {display: none;}
.portfolio-technical-fold summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  color: #005C43;
  font-size: 25px;
  font-weight: 500;
}
.portfolio-technical-fold[open] summary::after {content: "−";}
.portfolio-technical-fold summary span {
  color: #005C43;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}
.portfolio-technical-fold summary strong {
  color: #111;
  font-size: clamp(17px, 1.8vw, 22px);
  line-height: 1.3;
}
.portfolio-technical-content {
  padding: 24px;
  border-top: 1px solid #DDE5E1;
  background: #F8FAF9;
}
.product-wall-passage .portfolio-technical-content .citable-passage {
  margin: 0;
  color: #263835 !important;
  line-height: 1.75;
}
@media (max-width: 620px) {
  .portfolio-technical-fold summary {padding: 19px 54px 19px 18px;}
  .portfolio-technical-fold summary::after {right: 18px;}
  .portfolio-technical-content {padding: 19px 18px;}
}

/* §71 Contact page: high-contrast technical answer and inquiry form */
.contact-page .geo-answer {background: #F2F6F4;}
.contact-page .geo-answer :is(h2, h3, p, li, dt, dd, strong, b) {
  color: #111111 !important;
}
.contact-page .geo-answer a {
  color: #111111 !important;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(17, 17, 17, .42);
  text-underline-offset: 3px;
}
.contact-page .geo-answer .geo-answer-label {color: #005C43 !important;}
.contact-page .company-content,
.contact-page .inquiry-form-section {background: #F4F7F5 !important;}
.contact-page :is(.company-content, .inquiry-form-section)
  :is(h2, h3, h4, p, li, label, small, dt, dd, a, span, strong, b) {
  color: #111111 !important;
}
.contact-page .rfq-form,
.contact-page .contact-direct,
.contact-page .fast-quote {
  background: #FFFFFF !important;
  border-color: rgba(17, 17, 17, .18) !important;
}
.contact-page .fast-quote {
  border: 1px solid rgba(17, 17, 17, .18);
  border-top: 0;
}
.contact-page .rfq-field :is(input, select, textarea) {
  color: #111111 !important;
  background: #FFFFFF !important;
  border-color: rgba(17, 17, 17, .32) !important;
  color-scheme: light;
}
.contact-page .rfq-field :is(input, textarea)::placeholder {
  color: #111111 !important;
  opacity: .72;
}
.contact-page .rfq-field select option {
  color: #111111 !important;
  background: #FFFFFF !important;
}
.contact-page .rfq-field label b {color: #B3261E !important;}
.contact-page .rfq-submit,
.contact-page .fast-quote .button-primary,
.contact-page .inquiry-checklist .button-primary,
.contact-page .rfq-submit span,
.contact-page .fast-quote .button-primary span,
.contact-page .inquiry-checklist .button-primary span {
  color: #FFFFFF !important;
}

/* §72 Product Documentation accordion state correction */
.product-documentation[open] summary::after {content: "−";}

/* §73 Homepage Industry Solutions card copy contrast */
.premium-demo.cinema-hero .industry-solutions .industry-showcase .solution-copy .eyebrow,
.premium-demo.cinema-hero .industry-solutions .industry-showcase .solution-copy p {
  color: #111111 !important;
}

/* §74 Contact Quick Technical Answer: dark accordion with white copy */
.contact-answer-section {
  padding: 52px 0;
  background: #071C2C;
}
.contact-answer-fold {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 8px;
  background: #0A2634;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .2);
}
.contact-answer-fold summary {
  position: relative;
  display: grid;
  gap: 8px;
  padding: 27px 76px 27px 30px;
  cursor: pointer;
  list-style: none;
}
.contact-answer-fold summary::-webkit-details-marker {display: none;}
.contact-answer-fold summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  color: #FFFFFF;
  font-size: 27px;
  font-weight: 400;
}
.contact-answer-fold[open] summary::after {content: "−";}
.contact-answer-fold summary span {
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}
.contact-answer-fold summary strong {
  color: #FFFFFF;
  font-size: clamp(21px, 2.3vw, 30px);
  line-height: 1.25;
}
.contact-answer-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .32fr);
  gap: 50px;
  padding: 30px;
  border-top: 1px solid rgba(255, 255, 255, .18);
}
.contact-answer-copy :is(h3, p),
.contact-answer-facts :is(dt, dd),
.contact-answer-section a {
  color: #FFFFFF !important;
}
.contact-answer-copy > p {
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 1.8;
}
.contact-answer-copy h3 {
  margin: 30px 0 10px;
  font-size: 19px;
}
.contact-answer-links a,
.contact-answer-facts a {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, .58);
  text-underline-offset: 3px;
}
.contact-answer-facts {margin: 0;}
.contact-answer-facts div {
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, .28);
  border-bottom: 1px solid rgba(255, 255, 255, .28);
}
.contact-answer-facts dt {
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.contact-answer-facts dd {
  margin: 0;
  overflow-wrap: anywhere;
  line-height: 1.6;
}
@media (max-width: 760px) {
  .contact-answer-content {grid-template-columns: 1fr; gap: 24px; padding: 24px 20px;}
  .contact-answer-fold summary {padding: 23px 58px 23px 20px;}
  .contact-answer-fold summary::after {right: 20px;}
}
.solutions-index a:hover {background: #FFFFFF; color: inherit; border-color: #AFC8BD; transform: translateY(-3px); box-shadow: 0 16px 34px rgba(7,28,44,.08);}

.solutions-list {gap: 48px;}
.solution-detail {padding: clamp(30px,4vw,52px); border: 1px solid #DCE5E0; border-radius: 8px; box-shadow: 0 16px 40px rgba(7,28,44,.05);}
.solution-detail-heading {grid-template-columns: 120px minmax(0,1fr); gap: 26px;}
.solution-detail-heading > span {color: #005C43;}
.solution-media {position: relative; overflow: hidden; margin: 30px 0 0; aspect-ratio: 16 / 9; background: #DDE5E1; border-radius: 8px;}
.solution-media img {display: block; width: 100%; height: 100%; object-fit: cover;}
.solution-media.solution-media-contain img {object-fit: contain; background: #F0F2F1;}
.solution-media figcaption {position: absolute; left: 18px; bottom: 16px; max-width: calc(100% - 36px); padding: 9px 12px; background: rgba(7,28,44,.82); color: #F4F8F7; border-left: 3px solid #6EE7B7; font-size: 11px; letter-spacing: .035em; backdrop-filter: blur(4px);}
.solution-overview {margin-top: 22px; background: #EEF5F0; border-color: #D5E6DC;}
.solution-module {border-radius: 8px;}
.solution-module h3 {color: #071C2C;}
.solution-module li {color: #455652;}
.solution-equipment a {border-radius: 5px;}
.solution-outcomes {background: #F4F7F4; border-color: #D8E2DC;}
.solution-outcomes h3 {color: #111111 !important;}
.solution-outcomes li {color: #111111 !important;}
.solution-outcomes li::before {background: #E4573F;}
.solution-outcomes strong {color: #E4573F !important;}
.solution-discuss {display: inline-flex; align-items: center; gap: 12px; margin-top: 28px; padding: 13px 18px; background: #005C43; color: #FFFFFF; border-radius: 4px; font-size: 13px; font-weight: 750;}
.solution-discuss:hover {color: #FFFFFF; filter: brightness(.85); transform: translateY(-2px);}
.solutions-final-cta .button-ghost {color: #FFFFFF; border-color: rgba(255,255,255,.45);}
.solutions-final-cta .button-ghost:hover {color: #071C2C; background: #FFFFFF; border-color: #FFFFFF;}

@media (max-width: 980px) {
  .solutions-index {grid-template-columns: repeat(2,minmax(0,1fr));}
  .solutions-answer-scope {grid-template-columns: 1fr; gap: 10px;}
}
@media (max-width: 720px) {
  .solutions-hero-actions,
  .solutions-final-actions {align-items: stretch; flex-direction: column;}
  .solutions-hero-actions .button,
  .solutions-final-actions .button {justify-content: center; width: 100%;}
  .solutions-answer summary {padding: 24px 20px;}
  .solutions-answer-body {grid-template-columns: 1fr; padding: 0 20px 24px;}
  .solutions-answer-scope {grid-column: 1;}
  .solutions-index {grid-template-columns: 1fr;}
  .solutions-intro-count {gap: 12px;}
  .solutions-intro-count > strong {font-size: 52px;}
  .solutions-index a {min-height: 188px;}
  .solution-detail-heading {grid-template-columns: 1fr; gap: 9px;}
  .solution-media {margin-top: 22px;}
  .solution-media figcaption {left: 10px; bottom: 10px; max-width: calc(100% - 20px); font-size: 10px;}
}

/* 63. AIGEO batch — tag-parity styles (display preserved) — 2026-08-26 */
.contact-answer-fold summary h2 {color: #FFFFFF; font-size: clamp(21px, 2.3vw, 30px); line-height: 1.25; margin: 0; font-weight: 700;}
.solutions-answer-scope > h3.geo-answer-sub {color: #005C43; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; margin: 0; font-weight: 700;}

/* 63b. H2 keyword pass — uppercase rendering preserved via CSS — 2026-08-26 */
.premium-demo.cinema-hero .section-heading h2,
.premium-demo.cinema-hero .faq-copy h2 {text-transform: uppercase;}
.faq-list .faq-geo-h2 {position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; margin: 0; padding: 0;}

/* 63c. sr-only via entry scope (validator needs attribute-free h2) — 2026-08-26 */
.faq-list .faq-geo-entry > h2 {position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; margin: 0; padding: 0;}

/* 64. Buyer routing, module actions and global WhatsApp — 2026-08-26 */
.social-dock-whatsapp {background: #25D366;}
.premium-demo .partner-pathways .audience-card-link :is(.audience-card-meta, h3, .audience-lead) {color: #111111 !important;}
.pathway-module-cta {display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px;}
.pathway-module-cta .button {min-width: 168px; justify-content: center;}
.pathway-module-cta .button-whatsapp {background: #25D366; border-color: #25D366; color: #071C2C;}
.pathway-module-cta .button-whatsapp:hover {background: #1FB85A; border-color: #1FB85A; color: #071C2C; filter: none;}
.pathway-page .product-hero-copy .pathway-module-cta {margin-top: 24px;}
.pathway-page .product-hero-copy .pathway-module-cta .button {margin: 0;}
.product-cta .pathway-module-cta {margin-top: 20px;}
.product-cta .pathway-module-cta .button-ghost {color: #FFFFFF; border-color: rgba(255,255,255,.55);}
.project-solution-grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
.project-solution-grid .buyer-card {display: flex; flex-direction: column; color: #111111;}
.project-solution-grid .text-link {margin-top: auto; padding-top: 18px;}
@media (max-width: 900px) {.project-solution-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 640px) {
  .project-solution-grid {grid-template-columns: 1fr;}
  .pathway-module-cta {align-items: stretch; flex-direction: column;}
  .pathway-module-cta .button {width: 100%;}
}

/* 65. Homepage Hero full-width typographic balance — 2026-08-26 */
@media (min-width: 1001px) {
  .premium-demo.cinema-hero .hero.ind-hero-banner .hero-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    align-items: center;
  }
  .premium-demo.cinema-hero .hero.ind-hero-banner .hero-content {
    width: 100%;
    max-width: none;
    text-align: center;
  }
  .premium-demo.cinema-hero .hero.ind-hero-banner .hero-content h1 {
    max-width: 1180px;
    margin-inline: auto;
    text-wrap: balance;
  }
  .premium-demo.cinema-hero .hero.ind-hero-banner .hero-anchor {
    max-width: 1040px;
    margin: 24px auto 0;
    text-wrap: balance;
  }
  .premium-demo.cinema-hero .hero.ind-hero-banner .hero-actions {
    justify-content: center;
  }
  .premium-demo.cinema-hero .hero.ind-hero-banner .hero-side {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: clamp(40px, 8vw, 120px);
    width: 100%;
    padding: 24px 0 8px;
    border-top: 1px solid rgba(255, 255, 255, .18);
  }
  .premium-demo.cinema-hero .hero.ind-hero-banner .hero-side .hero-description {
    max-width: 720px;
  }
}

/* 66. Buyer-route card balance and sourcing-card markers — 2026-08-26 */
@media (min-width: 1001px) {
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(3):last-child) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(3):last-child) > * {
    grid-column: span 2;
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(3):last-child) > :last-child {
    grid-column: 2 / span 2;
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(4):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(5):last-child) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(5):last-child) > * {
    grid-column: span 2;
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(5):last-child) > :nth-child(4) {
    grid-column: 2 / span 2;
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(6):last-child) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(7):last-child) {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(7):last-child) > * {
    grid-column: span 2;
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(7):last-child) > :nth-child(5) {
    grid-column: 2 / span 2;
  }
}
@media (min-width: 641px) and (max-width: 1000px) {
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(2n + 1):last-child) > :last-child {
    grid-column: 1 / -1;
    justify-self: center;
    width: calc(50% - 9px);
  }
}

#wholesale-buyers .buyer-card-grid {counter-reset: wholesale-card;}
#wholesale-buyers .buyer-card {
  counter-increment: wholesale-card;
  position: relative;
  border-top: 4px solid #E4573F;
}
#wholesale-buyers .buyer-card:nth-child(even) {border-top-color: #005C43;}
#wholesale-buyers .buyer-card::before {
  content: "0" counter(wholesale-card);
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 2px;
  border-radius: 50%;
  background: #E4573F;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}
#wholesale-buyers .buyer-card:nth-child(even)::before {background: #005C43;}
#service-highlights .buyer-card {border-top: 4px solid #005C43;}
#service-highlights .buyer-card:nth-child(odd) {border-top-color: #E4573F;}
#service-highlights .buyer-card-index {
  display: inline-grid;
  place-items: center;
  min-width: 38px;
  height: 38px;
  padding: 0 8px;
  border-radius: 50%;
  background: #005C43;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 800;
}
#service-highlights .buyer-card:nth-child(odd) .buyer-card-index {background: #E4573F;}

/* 67. Shared footer CTA landscape banner — 2026-08-26 */
:is(.product-cta, .contact-cta, .about-final-cta) {
  position: relative;
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(5, 17, 29, .82), rgba(8, 28, 43, .66)),
    url("images/scenery/footer-cta-mountain-lake.jpg") center 52% / cover no-repeat !important;
}
:is(.product-cta, .contact-cta, .about-final-cta) :is(h2, h2 span) {color: #FFFFFF !important;}
:is(.product-cta, .contact-cta, .about-final-cta) h2 em {color: #B9D5E4 !important;}
:is(.product-cta, .contact-cta, .about-final-cta) :is(p, .eyebrow, .eyebrow.light) {color: #D7E2E8 !important;}
:is(.product-cta, .contact-cta, .about-final-cta) .eyebrow > span {background: #B9D5E4 !important;}
:is(.product-cta, .contact-cta, .about-final-cta) :is(.text-link, .contact-alt-link) {color: #C8DEEA !important;}
:is(.product-cta, .contact-cta, .about-final-cta) .button-primary {background: #005C43; border-color: #005C43; color: #FFFFFF;}
:is(.product-cta, .contact-cta, .about-final-cta) :is(.button-ghost, .about-button-dark) {border-color: rgba(255,255,255,.62); color: #FFFFFF;}

/* 68. Three-card route modules stay on one desktop row — 2026-08-26 */
@media (min-width: 1001px) {
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(3):last-child) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(3):last-child) > * {
    grid-column: auto;
  }
}

/* 69. Keep three-card route modules in one row at tablet/desktop widths — 2026-08-26 */
@media (min-width: 721px) {
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(3):last-child) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(3):last-child) > * {
    grid-column: auto;
    width: auto;
    justify-self: stretch;
  }
  :is(.pathway-page .buyer-card-grid, #wholesale-buyers .buyer-card-grid, #service-highlights .buyer-card-grid):has(> :nth-child(3):last-child) > :last-child {
    grid-column: auto;
    width: auto;
    justify-self: stretch;
  }
}

/* 64. Legal hero photo background (privacy + terms) — 2026-08-27 */
.legal-hero {background: linear-gradient(120deg, rgba(8, 47, 39, .88) 0%, rgba(11, 87, 69, .72) 55%, rgba(8, 47, 39, .45) 100%), url("images/legal-hero.jpg") center 40% / cover no-repeat;}

/* 65. About hero photo + kicker tone + legal hero original photo — 2026-08-27 */
/* About hero: real factory photo behind the existing dark base. */
.about-new-hero {background: url("images/about-hero-photo.jpg") center 42% / cover no-repeat, #071C2C;}
.about-new-hero::before {background: linear-gradient(100deg, rgba(4, 24, 40, .82) 0%, rgba(4, 24, 40, .55) 52%, rgba(4, 24, 40, .28) 100%);}
/* Kicker (machine-facing line): tone blends with the photo instead of accent color. */
.about-new-hero .about-kicker {color: #AFC1C8;}
/* Legal pages: pure photo, no green overlay. */
.legal-hero {background: linear-gradient(180deg, rgba(6, 20, 16, .38) 0%, rgba(6, 20, 16, .12) 45%, rgba(6, 20, 16, .3) 100%), url("images/legal-hero.jpg") center 40% / cover no-repeat;}

/* 66. Resources & contact hero: vertically centered copy — 2026-08-27 */
.resources-hero .product-hero-copy,
.contact-hero .product-hero-copy {padding-top: 0;}
.resources-hero .product-hero-copy,
.contact-hero .product-hero-copy {display: flex; flex-direction: column; justify-content: center;}
.resources-hero.product-hero,
.contact-hero.product-hero {min-height: 610px;}
.resources-hero .product-hero-inner,
.contact-hero .product-hero-inner {align-items: center; padding-top: 0; padding-bottom: 0;}

/* 67. Solutions hero two-column + light answer band — 2026-08-27 */
.solutions-hero .product-hero-inner {align-items: center;}
.solutions-hero .product-hero-copy {padding-top: 0;}
.solutions-hero-aside {display: flex; align-items: center; justify-content: flex-end; height: auto; min-height: 340px;}
.solutions-aside-card {width: 100%; max-width: 470px; padding: 28px 30px 24px; background: linear-gradient(165deg, rgba(8, 27, 51, .78), rgba(8, 27, 51, .5)); border: 1px solid rgba(158, 196, 214, .3); border-left: 3px solid #E4573F; border-radius: 10px; backdrop-filter: blur(10px); color: #fff;}
.solutions-aside-label {display: block; margin-bottom: 16px; color: #9EC4D6; font-size: 10.5px; font-weight: 800; letter-spacing: .16em;}
.solutions-aside-list {display: grid; gap: 12px; margin: 0 0 18px; padding: 0; list-style: none;}
.solutions-aside-list li {display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 12px; align-items: baseline; padding: 9px 0 0; border-top: 1px solid rgba(158, 196, 214, .16); color: #d5e6e8; font-size: 13.5px; line-height: 1.5;}
.solutions-aside-list li b {color: #fff; font-size: 13px;}
.solutions-aside-note {margin: 0; color: #b9c9d9; font-size: 12.5px; line-height: 1.7;}
@media (max-width: 900px) {.solutions-hero-aside {justify-content: flex-start; min-height: 0; margin-top: 10px;}}

/* Light background for the quick-answer band (matches sibling light modules). */
.solutions-answer-light {background: #F0F4F2;}
.solutions-answer-light .geo-answer::after {display: none;}

/* 68. Answer band: outer shell light, citable inside the fold — 2026-08-27 */
.solutions-answer-light {background: #F0F4F2 !important; color: #223836;}
.solutions-answer-light .container {position: relative; z-index: 1;}
.solutions-answer-light .geo-answer::after,
.solutions-answer-light::after {display: none !important;}
.solutions-answer-citable {margin-top: 18px; padding: 16px 18px; background: #FFFFFF; border: 1px solid #E4EBE8; border-left: 3px solid #005C43; border-radius: 6px;}
.solutions-answer-citable .citable-passage {max-width: none; margin: 0; color: #4A5A57; font-size: 13.5px; line-height: 1.8; columns: 2; column-gap: 40px;}
@media (max-width: 820px) {.solutions-answer-citable .citable-passage {columns: 1;}}


/* 69. Homepage light theme — white + soft grey-green bands, no deep navy — 2026-08-27 */

/* Hero back to light base; photo on the right reads naturally. */
.premium-demo.cinema-hero .hero.ind-hero-banner {background:
    linear-gradient(90deg,
      #F5F7F6 0%,
      rgba(220, 232, 246, .96) 30%,
      rgba(220, 232, 246, .55) 55%,
      rgba(220, 232, 246, 0) 84%),
    url("images/products/hero-ultrapure-banner.webp") right center / cover no-repeat;}
.premium-demo.cinema-hero .hero-content h1 {color: #081b33; text-shadow: none;}
.premium-demo.cinema-hero .hero.ind-hero-banner h1 .hero-green {color: #005C43; text-shadow: none;}
.premium-demo.cinema-hero .hero-anchor {color: #33424e;}
.premium-demo.cinema-hero .hero-anchor::before {background: #E4573F;}
.premium-demo.cinema-hero .hero-description {color: #4A575E;}
.premium-demo.cinema-hero .hero .button-primary {background: #005C43; color: #fff; border: 1px solid #005C43; box-shadow: 0 10px 24px rgba(0, 92, 67, .25);}
.premium-demo.cinema-hero .hero .button-primary:hover {background: #004532; color: #fff;}
.premium-demo.cinema-hero .hero .hero-quote-cta {background: #fff; color: #081b33; border-color: rgba(8, 27, 51, .35); box-shadow: none;}
.premium-demo.cinema-hero .hero .hero-quote-cta:hover {background: #fff; color: #005C43; border-color: #005C43;}
.premium-demo.cinema-hero .hero-stats dt {color: #081b33; text-shadow: none;}
.premium-demo.cinema-hero .hero-stats dd {color: #5f6b7e;}
.premium-demo.cinema-hero .hero-stats > div {border-left-color: rgba(8, 27, 51, .3);}
.premium-demo.cinema-hero .site-header {background: rgba(245, 247, 246, .92); border-bottom-color: rgba(0, 92, 67, .18); backdrop-filter: blur(14px);}
.premium-demo.cinema-hero .site-header .brand-copy strong {color: #081b33;}
.premium-demo.cinema-hero .site-header .brand-copy small {color: #5f6b7e;}
.premium-demo.cinema-hero .site-header .main-nav > a,
.premium-demo.cinema-hero .site-header .nav-dropdown > a,
.premium-demo.cinema-hero .site-header .nav-category-link {color: #223836;}
.premium-demo.cinema-hero .site-header .main-nav > a:hover,
.premium-demo.cinema-hero .site-header .nav-dropdown > a:hover,
.premium-demo.cinema-hero .site-header .nav-category-link:hover,
.premium-demo.cinema-hero .site-header .main-nav a.active {color: #005C43;}
.premium-demo.cinema-hero .site-header .header-cta {color: #fff; background: #005C43; border: 0; border-radius: 6px; padding: 10px 18px;}
.premium-demo.cinema-hero .site-header .header-cta span {color: #fff;}
.premium-demo.cinema-hero .site-header .menu-toggle span {background: #081b33;}
.premium-demo.cinema-hero .hero-grid {background-image: linear-gradient(rgba(0, 92, 67, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 92, 67, .07) 1px, transparent 1px);}
.premium-demo.cinema-hero .scroll-cue {color: #6d936f;}
.premium-demo.cinema-hero .scroll-cue i {background: #6d936f;}

/* Section bands: white / soft grey-green alternation. */
body.premium-demo.cinema-hero {background: #fff; color: #223836;}
.premium-demo.cinema-hero .product-wall {background: #fff;}
.premium-demo.cinema-hero .outsourcing {background: #F4F8F6;}
.premium-demo.cinema-hero .home-projects {background: #fff;}
.premium-demo.cinema-hero .partner-pathways {background: #F4F8F6;}
.premium-demo.cinema-hero #why-partner {background: #fff;}
.premium-demo.cinema-hero .regions {background: #F4F8F6;}
.premium-demo.cinema-hero .clients {background: #fff;}
.premium-demo.cinema-hero .industry-solutions {background: #F4F8F6;}
.premium-demo.cinema-hero .certifications {background: #fff;}
.premium-demo.cinema-hero .home-faq {background: #F4F8F6;}
.premium-demo.cinema-hero .process-band {background: #fff;}
.premium-demo.cinema-hero .about {background: #F4F8F6;}
.premium-demo.cinema-hero .stats {background: linear-gradient(120deg, #F4F8F6 0%, #E8F0EC 55%, #F4F8F6 100%);}

/* Band heading/text colors. */
.premium-demo.cinema-hero .section-heading h2,
.premium-demo.cinema-hero .section-heading h2 span,
.premium-demo.cinema-hero .stats h2 {color: #081b33;}
.premium-demo.cinema-hero .section-heading > p {color: #5f6b7e;}
.premium-demo.cinema-hero .text-link {color: #081b33;}
.premium-demo.cinema-hero .eyebrow {color: #6d936f;}

/* AT A GLANCE numerals on light band. */
.premium-demo.cinema-hero .stat-grid strong {color: #005C43; text-shadow: none;}
.premium-demo.cinema-hero .stat-grid strong span {color: #E4573F;}
.premium-demo.cinema-hero .stat-grid p {color: #5f6b7e;}
.premium-demo.cinema-hero .stat-grid small {color: #6d936f;}
.premium-demo.cinema-hero .stat-grid > div {border-color: rgba(0, 92, 67, .2);}

/* Cards stay white with soft borders. */
.premium-demo.cinema-hero .product-tile,
.premium-demo.cinema-hero .home-project-card,
.premium-demo.cinema-hero .audience-card,
.premium-demo.cinema-hero .buyer-card,
.premium-demo.cinema-hero .process-steps li,
.premium-demo.cinema-hero .region-card,
.premium-demo.cinema-hero .certificate-card,
.premium-demo.cinema-hero .faq-list details,
.premium-demo.cinema-hero .home-resource-card,
.premium-demo.cinema-hero .industry-showcase,
.premium-demo.cinema-hero .industry-badge,
.premium-demo.cinema-hero .outsourcing-card,
.premium-demo.cinema-hero .home-direction-card {background: #fff; border-color: rgba(8, 27, 51, .14); box-shadow: 0 8px 24px rgba(8, 27, 51, .07);}
.premium-demo.cinema-hero .product-tile strong,
.premium-demo.cinema-hero .home-project-body h3,
.premium-demo.cinema-hero .audience-card h3,
.premium-demo.cinema-hero .buyer-card h3,
.premium-demo.cinema-hero .process-steps h3,
.premium-demo.cinema-hero .region-card h3,
.premium-demo.cinema-hero .certificate-card h3,
.premium-demo.cinema-hero .faq-list summary,
.premium-demo.cinema-hero .home-resource-card h3,
.premium-demo.cinema-hero .home-direction-card-body h3,
.premium-demo.cinema-hero .industry-badge strong {color: #081b33;}
.premium-demo.cinema-hero .product-tile small,
.premium-demo.cinema-hero .home-project-summary,
.premium-demo.cinema-hero .audience-lead,
.premium-demo.cinema-hero .audience-card li,
.premium-demo.cinema-hero .buyer-card p,
.premium-demo.cinema-hero .process-steps p,
.premium-demo.cinema-hero .region-card p,
.premium-demo.cinema-hero .certificate-card p,
.premium-demo.cinema-hero .faq-list details p,
.premium-demo.cinema-hero .industry-badge span {color: #5f6b7e;}

/* Accent details: green structure, red highlights. */
.premium-demo.cinema-hero .home-project-card {border-left: 3px solid #E4573F;}
.premium-demo.cinema-hero .home-project-kicker {color: #E4573F;}
.premium-demo.cinema-hero .home-project-meta {border-color: rgba(8, 27, 51, .12);}
.premium-demo.cinema-hero .home-project-meta b {color: #005C43;}
.premium-demo.cinema-hero .home-project-meta span {color: #33424e;}
.premium-demo.cinema-hero .home-project-result {background: rgba(0, 92, 67, .07); border-left-color: #005C43;}
.premium-demo.cinema-hero .home-project-result b {color: #E4573F;}
.premium-demo.cinema-hero .audience-card-meta {color: #005C43;}
.premium-demo.cinema-hero .audience-index {background: #005C43;}
.premium-demo.cinema-hero .buyer-card-index {color: #005C43;}
.premium-demo.cinema-hero .service-promise {background: #fff; border-color: rgba(8, 27, 51, .14); border-left-color: #005C43;}
.premium-demo.cinema-hero .service-promise p {color: #081b33;}
.premium-demo.cinema-hero .service-promise li {color: #5f6b7e;}
.premium-demo.cinema-hero .process-steps li b {color: rgba(8, 27, 51, .1);}
.premium-demo.cinema-hero .process-steps li:nth-child(1) b,
.premium-demo.cinema-hero .process-steps li:nth-child(4) b {color: rgba(228, 87, 63, .32);}
.premium-demo.cinema-hero .process-cta {background: #081b33;}
.premium-demo.cinema-hero .process-cta p {color: #d5e6e8;}
.premium-demo.cinema-hero .region-card {border-left: 4px solid #005C43;}
.premium-demo.cinema-hero .region-tag {color: #005C43;}
.premium-demo.cinema-hero .certificate-placeholder {background: #f4f7fa; border: 1px dashed rgba(8, 27, 51, .25); color: #5f6b7e;}
.premium-demo.cinema-hero .cert-badges li {background: #fff; border-color: rgba(8, 27, 51, .2); color: #22403a;}
.premium-demo.cinema-hero .faq-list details[open] {border-color: #E4573F; box-shadow: 0 12px 26px rgba(228, 87, 63, .08);}
.premium-demo.cinema-hero .faq-list details[open] summary::after {color: #E4573F;}
.premium-demo.cinema-hero .faq-copy h2,
.premium-demo.cinema-hero .faq-copy h2 span {color: #081b33;}
.premium-demo.cinema-hero .faq-copy p {color: #5f6b7e;}
.premium-demo.cinema-hero .home-resource-card small {color: #005C43;}
.premium-demo.cinema-hero .industry-tab {color: #223836;}
.premium-demo.cinema-hero .industry-tab.is-active {background: #005C43; color: #fff;}
.premium-demo.cinema-hero .solution-copy p {color: #5f6b7e;}
.premium-demo.cinema-hero .about-values h3 {color: #081b33;}
.premium-demo.cinema-hero .about-values p {color: #5f6b7e;}
.premium-demo.cinema-hero .about-values > div {border-left-color: rgba(0, 92, 67, .3);}
.premium-demo.cinema-hero .geo-chips li {background: #081b33; color: #d5e6e8; border-color: rgba(0, 92, 67, .3);}
.premium-demo.cinema-hero .geo-chips b {color: #9EC4D6;}

/* Closing CTA: brand green band. */
.premium-demo.cinema-hero .contact-cta {background: linear-gradient(120deg, #005C43 0%, #03412f 100%);}
.premium-demo.cinema-hero .contact-cta h2 {color: #fff;}
.premium-demo.cinema-hero .contact-cta .button-primary {background: #fff; color: #063526;}
.premium-demo.cinema-hero .contact-cta .contact-alt-link {color: #d9f0d8;}

/* 70. Hero banner corrections — ocean home, balanced solutions, centered resources, ocean about — 2026-08-27 */

/* 1) Home hero: ocean photo + centered intro (restores the earlier version;
      the industrial-equipment image came from an older rule that this overrides). */
.premium-demo.cinema-hero .hero.ind-hero-banner {
  background:
    linear-gradient(180deg, rgba(6, 24, 38, .62) 0%, rgba(7, 33, 50, .38) 48%, rgba(9, 47, 68, .55) 100%),
    url("images/scenery/reservoir-intake-hero.jpg") center 45% / cover no-repeat;
  background-color: #08293C;
  min-height: 700px;
}
.premium-demo.cinema-hero .hero.ind-hero-banner .hero-inner {
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  justify-items: center;
  text-align: center;
  min-height: 700px;
  padding-top: 132px;
  padding-bottom: 40px;
}
.premium-demo.cinema-hero .hero.ind-hero-banner .hero-content {max-width: 780px; margin: 0 auto;}
.premium-demo.cinema-hero .hero.ind-hero-banner .hero-content h1,
.premium-demo.cinema-hero .hero.ind-hero-banner h1 .hero-green {color: #fff; text-shadow: 0 2px 24px rgba(6, 24, 38, .55);}
.premium-demo.cinema-hero .hero.ind-hero-banner .hero-anchor {color: #cfe0ee; justify-content: center;}
.premium-demo.cinema-hero .hero.ind-hero-banner .hero-description {color: rgba(255, 255, 255, .92); margin-left: auto; margin-right: auto;}
.premium-demo.cinema-hero .hero.ind-hero-banner .hero-actions {justify-content: center;}
.premium-demo.cinema-hero .hero.ind-hero-banner .hero-stats {justify-content: center; border-top: 1px solid rgba(255, 255, 255, .22); padding-top: 18px; width: 100%;}
.premium-demo.cinema-hero .hero.ind-hero-banner .hero-stats dt {color: #fff;}
.premium-demo.cinema-hero .hero.ind-hero-banner .hero-stats dd {color: #c3d4de;}
.premium-demo.cinema-hero .hero.ind-hero-banner .hero-stats > div {border-left-color: rgba(255, 255, 255, .35);}
.premium-demo.cinema-hero .hero.ind-hero-banner .scroll-cue {display: none;}
.premium-demo.cinema-hero .hero.ind-hero-banner .hero-grid {display: none;}

/* 2) Solutions hero: copy left, aside right — balanced 55/45 with vertical centering. */
.solutions-hero .product-hero-inner {grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; min-height: 560px; padding-top: 0; padding-bottom: 0;}
.solutions-hero .product-hero-copy {padding-top: 0;}
.solutions-hero .product-hero-visual.solutions-hero-aside {min-height: 0; align-items: center;}

/* 3) Resources hero: copy vertically centered. */
.resources-hero .product-hero-copy,
.contact-hero .product-hero-copy {padding-top: 0;}

/* 4) About hero: use the home ocean photo. */
.about-new-hero {background: url("images/scenery/reservoir-intake-hero.jpg") center 45% / cover no-repeat, #071C2C;}
.about-new-hero::before {background: linear-gradient(100deg, rgba(4, 24, 40, .8) 0%, rgba(4, 24, 40, .52) 52%, rgba(4, 24, 40, .26) 100%);}

@media (max-width: 1000px) {
  .solutions-hero .product-hero-inner {grid-template-columns: minmax(0, 1fr); min-height: 0;}
}
@media (max-width: 720px) {
  .premium-demo.cinema-hero .hero.ind-hero-banner {min-height: 640px;}
  .premium-demo.cinema-hero .hero.ind-hero-banner .hero-inner {min-height: 640px; padding-top: 112px;}
}


/* 70b. Solutions aside overrides the global hidden visual — 2026-08-27 */
.solutions-hero .product-hero-visual.solutions-hero-aside {display: flex;}

/* 70c. Ensure solutions aside renders regardless of legacy hiding rules — 2026-08-27 */
.premium-demo.cinema-hero .solutions-hero .product-hero-visual.solutions-hero-aside {display: flex !important; visibility: visible !important; min-width: 0;}
.premium-demo.cinema-hero .solutions-hero .product-hero-inner {display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) !important;}

/* 71. Language switcher (Google Translate) in the header — 2026-08-27 */
.lang-switch {position: relative; margin-left: 18px;}
.lang-btn {display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; background: transparent; border: 1px solid rgba(8, 27, 51, .22); border-radius: 6px; color: #223836; font: inherit; font-size: 12.5px; font-weight: 650; cursor: pointer; transition: border-color .18s ease, color .18s ease;}
.lang-btn:hover {border-color: #005C43; color: #005C43;}
.lang-btn svg {width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5;}
.lang-caret {width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid #9aa3ad; transition: transform .18s ease;}
.lang-switch.is-open .lang-caret {transform: rotate(180deg);}
.lang-menu {position: absolute; top: calc(100% + 8px); right: 0; z-index: 300; display: none; min-width: 200px; max-height: 60vh; overflow-y: auto; padding: 6px; background: #fff; border: 1px solid rgba(8, 27, 51, .16); border-radius: 8px; box-shadow: 0 20px 48px rgba(8, 27, 51, .18);}
.lang-switch.is-open .lang-menu {display: block;}
.lang-menu button {display: block; width: 100%; padding: 9px 12px; border: 0; border-radius: 5px; background: transparent; color: #223836; font: inherit; font-size: 13px; text-align: left; cursor: pointer;}
.lang-menu button:hover {background: rgba(0, 92, 67, .08); color: #005C43;}
body.translate-arabic {direction: rtl;}

/* 71b. Language switcher as floating pill (bottom-right) — 2026-08-27 */
.lang-switch {position: fixed; right: 18px; bottom: 18px; z-index: 400; margin: 0;}
.lang-btn {background: #fff; box-shadow: 0 8px 24px rgba(8, 27, 51, .18);}
.lang-menu {top: auto; right: 0; bottom: calc(100% + 8px);}
body:not(.premium-demo) .lang-btn {color: #223836;}

/* 71c. Language switcher in header, left of the logo, menu opens downward — 2026-08-27 */
.lang-switch {position: relative; right: auto; bottom: auto; margin: 0 20px 0 0; z-index: 300;}
.lang-btn {background: rgba(255, 255, 255, .9); box-shadow: none;}
.lang-menu {top: calc(100% + 8px); bottom: auto; left: 0; right: auto;}

/* 71d. Language switcher anchored at header far-left (left of the logo), menu opens downward — 2026-08-27 */
.site-header.nav-v2 .header-shell {padding-left: 168px;}
.lang-switch {position: absolute; left: 0; top: 50%; transform: translateY(-50%); margin: 0;}
.lang-menu {top: calc(100% + 8px); bottom: auto; left: 0; right: auto;}
@media (max-width: 1020px) {
  .site-header.nav-v2 .header-shell {padding-left: 0;}
  .lang-switch {position: fixed; left: auto; top: auto; right: 16px; bottom: 16px; transform: none;}
  .lang-menu {top: auto; bottom: calc(100% + 8px); left: auto; right: 0;}
}

/* 71e. Suppress Google Translate's own chrome (banner/menu frames) — custom switcher only — 2026-08-27 */
.goog-te-banner-frame, .goog-te-balloon-frame, .VIpgJd-ZVi9od-xl07Ob-OEVmcd,
.goog-te-gadget-icon, #goog-gt-tt, .goog-te-gadget-simple {
  display: none !important;
  pointer-events: none !important;
}
body {top: 0 !important;}
.skiptranslate {display: none !important;}
#gt-host {display: block !important;}

/* 71f. Hide Google Translate activity overlay (blocks clicks while switching) — 2026-08-27 */
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf, .VIpgJd-ZVi9od-ORHb-OEVmcd, .goog-te-spink-bearing {
  display: none !important;
  pointer-events: none !important;
}

/* 72. Mobile overflow + inquiry-submit fixes — 2026-08-27 review.
   Long heading words (e.g. "CERTIFICATIONS" at the 48px cinema-hero size)
   overflowed the ≤720px viewport; html{overflow-x:clip} hid the tail letters.
   Spec tables were cropped by .detail-table-wrap overflow:hidden (fixed above). */
@media (max-width: 720px) {
  .premium-demo.cinema-hero .section-heading h2 {font-size: clamp(30px, 8.6vw, 40px);}
  h1, h2, h3, h4, p, li, a, th, td {overflow-wrap: break-word;}
}

/* Honeypot field for spam bots — visually absent, present in DOM. */
.hp-field {position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0;}

/* Turnstile slot inside inquiry forms. */
.turnstile-slot {margin: 6px 0 4px; min-height: 65px;}

/* Direct-submit success panel (replaces form fields after API submission). */
.form-success-card {padding: 30px 28px; background: #fff; border: 1px solid #D5DEE1; box-shadow: 0 16px 38px rgba(7,28,44,.06); text-align: left;}
.form-success-card .fs-check {display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 18px; background: #005C43; border-radius: 50%; color: #fff; font-size: 24px; line-height: 1;}
.form-success-card h3 {margin: 0 0 10px; color: #071C2C; font-size: 24px; letter-spacing: -.02em;}
.form-success-card .fs-ref {display: inline-block; margin: 0 0 14px; padding: 7px 12px; background: #EFF4F3; border: 1px solid rgba(0,92,67,.25); color: #073B2D; font-weight: 700; letter-spacing: .04em;}
.form-success-card p {margin: 0 0 10px; color: #4A575E; font-size: 14px; line-height: 1.65;}
.form-success-card .fs-links {display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px;}
.form-success-card .fs-links a {display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border: 1px solid rgba(22,73,55,.3); color: #164937; font-weight: 700; font-size: 13px;}
.form-success-card .fs-links a:hover {background: #F3F8F6;}
