:root {
  --brand-navy: #001e3c;
  --brand-navy-deep: #000f23;
  --brand-blue: #0071bb;
  --brand-green: #39b54a;
  --brand-green-dark: #25973a;
  --brand-ice: #f0f7ff;
  --brand-line: #c8d6e0;
  --brand-copy: #3d5166;
  --brand-shell: min(1240px, calc(100% - 48px));
}

body {
  background: #fff;
  color: var(--brand-navy);
}

.shell {
  width: var(--brand-shell);
}

.utility-bar {
  background: #000f23;
  color: #8fb3cc;
}

.utility-inner {
  min-height: 31px;
  font-size: 10px;
  letter-spacing: .04em;
}

.utility-inner .ecosystem-link {
  color: #62b9ee;
  font-weight: 800;
}

.site-header {
  background: rgba(0, 30, 60, .98);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  backdrop-filter: blur(18px);
}

.header-inner {
  min-height: 76px;
  gap: 19px;
}

.brand {
  min-width: 238px;
  gap: 13px;
}

.brand img {
  width: 48px;
  height: 56px;
  object-fit: contain;
}

.brand-tagline small {
  color: #fff;
  font-size: 12px;
  letter-spacing: .19em;
}

.primary-nav {
  margin-left: auto;
}

.primary-nav > ul {
  gap: 2px;
}

.primary-nav > ul > li > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 76px;
  padding: 0 13px;
  color: #d7e6f1;
  font-size: 13px;
  font-weight: 700;
}

.primary-nav > ul > li > a::after {
  content: "";
  position: absolute;
  right: 13px;
  bottom: 0;
  left: 13px;
  height: 3px;
  background: var(--brand-green);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}

.primary-nav > ul > li > a:hover,
.primary-nav > ul > li > a[aria-current="page"] {
  color: #fff;
}

.primary-nav > ul > li > a:hover::after,
.primary-nav > ul > li > a[aria-current="page"]::after {
  transform: scaleX(1);
}

.mega-menu {
  top: 107px;
  padding: 28px 32px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-top: 3px solid var(--brand-green);
  border-radius: 0 0 8px 8px;
  background: #002745;
  box-shadow: 0 26px 58px rgba(0, 9, 24, .38);
}

.mega-label {
  color: var(--brand-green);
}

.mega-menu a {
  border-color: rgba(255, 255, 255, .09);
  color: #fff;
}

.mega-menu a small {
  color: #8fabbe;
}

.mega-menu a:hover strong,
.mega-all {
  color: #61c9ff;
}

.header-cta,
.button {
  border-color: var(--brand-green);
  border-radius: 4px;
  background: var(--brand-green);
  font-weight: 800;
}

.header-cta:hover,
.button:hover {
  border-color: var(--brand-green-dark);
  background: var(--brand-green-dark);
  box-shadow: 0 10px 24px rgba(57, 181, 74, .22);
}

.header-cta {
  min-height: 43px;
  padding-inline: 17px;
}

.site-tools {
  margin-left: 2px;
  gap: 7px;
}

.site-header .language-trigger,
.site-header .site-search-trigger {
  border-color: rgba(255, 255, 255, .18);
  background: rgba(255, 255, 255, .06);
  color: #fff;
}

.site-header .language-trigger:hover,
.site-header .site-search-trigger:hover {
  border-color: rgba(255, 255, 255, .42);
  background: rgba(255, 255, 255, .12);
}

.site-footer {
  border-top: 4px solid var(--brand-green);
  background: #000f23;
}

.site-footer .brand-tagline small {
  color: #fff;
}

.site-footer h3 {
  color: #fff;
}

.site-footer a:hover {
  color: #69ca78;
}

.floating-whatsapp {
  border: 0;
  background: var(--brand-green);
  box-shadow: 0 12px 32px rgba(19, 126, 51, .35);
}

/* Homepage: shared JINLV brand grammar, equipment-specific content. */
.brand-home main {
  overflow: hidden;
}

.brand-home section[id] {
  scroll-margin-top: 112px;
}

.brand-home .brand-hero {
  position: relative;
  min-height: 680px;
  display: flex;
  align-items: center;
  background: var(--brand-navy-deep);
  color: #fff;
}

.brand-hero-media,
.brand-hero-media img,
.brand-hero-overlay,
.brand-hero-grid {
  position: absolute;
  inset: 0;
}

.brand-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 54%;
}

.brand-hero-overlay {
  background:
    linear-gradient(90deg, rgba(0, 8, 20, .98) 0%, rgba(0, 18, 42, .94) 38%, rgba(0, 28, 58, .58) 67%, rgba(0, 20, 43, .16) 100%),
    linear-gradient(0deg, rgba(0, 10, 26, .74) 0%, transparent 36%);
}

.brand-hero-grid {
  opacity: .055;
  background-image: linear-gradient(rgba(255,255,255,.6) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.6) 1px, transparent 1px);
  background-size: 64px 64px;
}

.brand-hero-content {
  position: relative;
  z-index: 2;
  width: var(--brand-shell);
  padding-block: 78px 92px;
}

.brand-hero-copy {
  width: min(680px, 60%);
}

.brand-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 27px;
  color: var(--brand-green);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.brand-kicker::before {
  content: "";
  width: 32px;
  height: 2px;
  background: var(--brand-green);
}

.brand-hero h1 {
  max-width: 720px;
  margin: 0;
  font: 800 clamp(54px, 6.2vw, 88px)/.94 "Barlow Condensed", "Arial Narrow", sans-serif;
  letter-spacing: -.035em;
  text-wrap: balance;
  text-shadow: 0 2px 26px rgba(0, 0, 0, .45);
}

.brand-hero h1 span {
  color: var(--brand-green);
}

html[data-language="zh"] .brand-hero h1 {
  max-width: 700px;
  font-size: clamp(50px, 5.25vw, 72px);
  line-height: 1.02;
  letter-spacing: -.025em;
}

.brand-hero-copy > p {
  max-width: 590px;
  margin: 28px 0 0;
  color: rgba(255, 255, 255, .86);
  font-size: 17px;
  line-height: 1.72;
}

.brand-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 32px;
}

.brand-hero-actions .button {
  min-height: 52px;
  padding-inline: 27px;
}

.brand-hero-actions .button-outline {
  border-color: rgba(255, 255, 255, .56);
  background: rgba(0, 20, 44, .38);
}

.brand-hero-actions .button-outline:hover {
  border-color: #fff;
  background: #fff;
  color: var(--brand-navy);
}

.hero-proof-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 34px;
}

.hero-proof-row span {
  position: relative;
  padding-left: 20px;
  color: rgba(255, 255, 255, .9);
  font-size: 12px;
  font-weight: 700;
}

.hero-proof-row span::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--brand-green);
  font-weight: 900;
}

.hero-ident {
  position: absolute;
  right: 0;
  bottom: 38px;
  display: flex;
  align-items: center;
  gap: 15px;
  max-width: 350px;
  padding: 15px 21px;
  border-left: 4px solid var(--brand-green);
  background: rgba(0, 21, 43, .88);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .26);
}

.hero-ident span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--brand-blue);
  font: 800 12px/1 Inter, sans-serif;
}

.hero-ident strong {
  font-size: 13px;
  line-height: 1.4;
}

.brand-data-rail {
  background: var(--brand-navy);
  color: #fff;
}

.brand-data-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.brand-data-grid > div {
  min-height: 124px;
  padding: 25px 28px;
  border-left: 1px solid rgba(255, 255, 255, .14);
}

.brand-data-grid > div:last-child {
  border-right: 1px solid rgba(255, 255, 255, .14);
}

.brand-data-grid strong,
.brand-data-grid span {
  display: block;
}

.brand-data-grid strong {
  font: 800 36px/1 "Barlow Condensed", sans-serif;
}

.brand-data-grid span {
  margin-top: 9px;
  color: #9eb6c8;
  font-size: 11px;
  line-height: 1.45;
}

.brand-data-grid small {
  display: block;
  margin-bottom: 8px;
  color: var(--brand-green);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.brand-section {
  padding-block: 92px;
}

.brand-section-pale {
  background: var(--brand-ice);
}

.brand-section-dark {
  background: var(--brand-navy);
  color: #fff;
}

.brand-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(290px, .55fr);
  align-items: end;
  gap: 68px;
  margin-bottom: 44px;
}

.brand-heading .eyebrow {
  color: var(--brand-green);
  font-size: 10px;
}

.brand-heading h2 {
  max-width: 790px;
  margin: 10px 0 0;
  font: 800 clamp(38px, 4.5vw, 58px)/1 "Barlow Condensed", sans-serif;
  letter-spacing: -.025em;
}

.brand-heading > p {
  margin: 0;
  color: var(--brand-copy);
  font-size: 14px;
  line-height: 1.75;
}

.brand-section-dark .brand-heading > p {
  color: #a9c0d0;
}

.brand-product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--brand-line);
  border: 1px solid var(--brand-line);
}

.brand-product-card {
  position: relative;
  min-width: 0;
  background: #fff;
  transition: transform .2s ease, box-shadow .2s ease;
}

.brand-product-card:hover {
  z-index: 2;
  transform: translateY(-4px);
  box-shadow: 0 18px 44px rgba(0, 35, 70, .17);
}

.brand-product-card figure {
  height: 215px;
  margin: 0;
  overflow: hidden;
  background: var(--brand-navy);
}

.brand-product-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.brand-product-card:hover img {
  transform: scale(1.035);
}

.brand-product-copy {
  min-height: 180px;
  padding: 22px 22px 24px;
}

.brand-product-copy small {
  display: block;
  color: var(--brand-blue);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.brand-product-copy h3 {
  margin: 13px 0 8px;
  color: var(--brand-navy);
  font-size: 17px;
  line-height: 1.25;
}

.brand-product-copy p {
  margin: 0;
  color: var(--brand-copy);
  font-size: 11px;
  line-height: 1.6;
}

.brand-product-copy strong {
  display: block;
  margin-top: 20px;
  color: var(--brand-blue);
  font-size: 11px;
}

.brand-product-index {
  position: absolute;
  top: 197px;
  right: 18px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--brand-green);
  color: #fff;
  font: 800 11px/1 Inter, sans-serif;
}

.capability-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, .16);
  border-left: 1px solid rgba(255, 255, 255, .16);
}

.capability-grid article {
  min-height: 270px;
  padding: 28px;
  border-right: 1px solid rgba(255, 255, 255, .16);
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.capability-grid article > span {
  color: var(--brand-green);
  font: 800 36px/1 "Barlow Condensed", sans-serif;
}

.capability-grid h3 {
  margin: 38px 0 11px;
  color: #fff;
  font-size: 20px;
}

.capability-grid p {
  margin: 0;
  color: #a9c0d0;
  font-size: 12px;
  line-height: 1.7;
}

.problem-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.problem-card {
  min-height: 210px;
  padding: 26px;
  border: 1px solid var(--brand-line);
  border-top: 4px solid var(--brand-blue);
  background: #fff;
}

.problem-card span {
  color: var(--brand-green-dark);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.problem-card h3 {
  margin: 20px 0 10px;
  font-size: 20px;
}

.problem-card p {
  margin: 0;
  color: var(--brand-copy);
  font-size: 12px;
  line-height: 1.7;
}

.certificate-layout {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 64px;
  align-items: start;
}

.certificate-intro h2 {
  margin: 12px 0 22px;
  font: 800 clamp(42px, 5vw, 64px)/.98 "Barlow Condensed", sans-serif;
  letter-spacing: -.03em;
}

.certificate-intro > p {
  margin: 0;
  color: #adc2d1;
  font-size: 14px;
  line-height: 1.8;
}

.certificate-note {
  margin-top: 27px;
  padding: 16px 18px;
  border-left: 4px solid var(--brand-green);
  background: rgba(255, 255, 255, .07);
  color: #dbe8f1;
  font-size: 11px;
  line-height: 1.65;
}

.certificate-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}

.certificate-card {
  background: #fff;
  color: var(--brand-navy);
  box-shadow: 0 22px 52px rgba(0, 4, 14, .26);
}

.certificate-card figure {
  position: relative;
  height: 390px;
  margin: 0;
  overflow: hidden;
  background: #e8eef3;
}

.certificate-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.certificate-card figure::after {
  content: "Open document ↗";
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 7px 10px;
  border-radius: 3px;
  background: rgba(0, 30, 60, .92);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .05em;
}

.certificate-copy {
  min-height: 252px;
  padding: 22px 22px 25px;
}

.certificate-copy > span {
  color: var(--brand-green-dark);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.certificate-copy h3 {
  margin: 11px 0 13px;
  font-size: 22px;
}

.certificate-copy dl {
  margin: 0;
}

.certificate-copy dl > div {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 9px;
  padding: 7px 0;
  border-top: 1px solid #e1e8ed;
  font-size: 10px;
  line-height: 1.5;
}

.certificate-copy dt {
  color: #748a9b;
  font-weight: 800;
}

.certificate-copy dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: #263f53;
}

.case-split {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 64px;
  align-items: center;
}

.case-visual {
  position: relative;
  min-height: 520px;
  margin: 0;
  overflow: hidden;
  background: var(--brand-navy);
}

.case-visual img {
  width: 100%;
  height: 520px;
  object-fit: cover;
}

.case-visual figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 62px 25px 21px;
  background: linear-gradient(transparent, rgba(0, 15, 35, .95));
  color: #fff;
  font-size: 11px;
  font-weight: 700;
}

.case-copy h2 {
  margin: 13px 0 20px;
  font: 800 clamp(42px, 5vw, 62px)/1 "Barlow Condensed", sans-serif;
}

.case-copy > p {
  color: var(--brand-copy);
  font-size: 14px;
  line-height: 1.8;
}

.case-facts {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  margin: 28px 0;
  background: var(--brand-line);
  border: 1px solid var(--brand-line);
}

.case-facts div {
  padding: 18px;
  background: #fff;
}

.case-facts strong,
.case-facts span {
  display: block;
}

.case-facts strong {
  font: 800 32px/1 "Barlow Condensed", sans-serif;
  color: var(--brand-blue);
}

.case-facts span {
  margin-top: 6px;
  color: var(--brand-copy);
  font-size: 10px;
}

.brand-process {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--brand-line);
  border-left: 1px solid var(--brand-line);
}

.brand-process article {
  min-height: 245px;
  padding: 27px;
  border-right: 1px solid var(--brand-line);
  border-bottom: 1px solid var(--brand-line);
}

.brand-process span {
  color: var(--brand-green-dark);
  font: 800 34px/1 "Barlow Condensed", sans-serif;
}

.brand-process h3 {
  margin: 34px 0 10px;
  font-size: 19px;
}

.brand-process p {
  margin: 0;
  color: var(--brand-copy);
  font-size: 12px;
  line-height: 1.7;
}

.brand-final-cta {
  padding-block: 70px;
  background: var(--brand-blue);
  color: #fff;
}

.brand-final-cta .shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}

.brand-final-cta h2 {
  margin: 8px 0 0;
  font: 800 clamp(37px, 4.5vw, 58px)/1 "Barlow Condensed", sans-serif;
}

.brand-final-cta p {
  max-width: 650px;
  margin: 16px 0 0;
  color: rgba(255, 255, 255, .84);
  font-size: 13px;
  line-height: 1.7;
}

.brand-final-cta .button {
  min-height: 52px;
  flex: 0 0 auto;
  background: var(--brand-green);
}

@media (max-width: 1180px) {
  .brand { min-width: 190px; }
  .brand-tagline small { font-size: 10px; }
  .primary-nav > ul > li > a { padding-inline: 9px; font-size: 12px; }
  .header-cta { padding-inline: 13px; }
  .brand-product-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  :root { --brand-shell: min(calc(100% - 32px), 760px); }
  .header-inner { min-height: 70px; }
  .brand { min-width: 0; }
  .brand img { width: 43px; height: 51px; }
  .menu-toggle { display: block; }
  .menu-toggle { border-color: rgba(255,255,255,.26); background: rgba(255,255,255,.08); }
  .menu-toggle span:not(.sr-only) { background: #fff; }
  .primary-nav { top: 70px; border-top: 1px solid rgba(255,255,255,.1); background: #001e3c; }
  .primary-nav.is-open { z-index: 150; transform: translateY(0); opacity: 1; pointer-events: auto; }
  .primary-nav > ul > li > a { min-height: 48px; color: #fff; }
  .primary-nav > ul > li > a::after { display: none; }
  .mega-menu { background: #002745; }
  .brand-hero { min-height: 700px; }
  .brand-hero-copy { width: 78%; }
  .brand-hero h1 { font-size: clamp(52px, 10vw, 76px); }
  .brand-data-grid { grid-template-columns: repeat(2, 1fr); }
  .brand-data-grid > div:nth-child(3) { border-top: 1px solid rgba(255,255,255,.14); }
  .brand-data-grid > div:nth-child(4) { border-top: 1px solid rgba(255,255,255,.14); }
  .brand-heading { grid-template-columns: 1fr; gap: 20px; }
  .capability-grid, .brand-process { grid-template-columns: repeat(2, 1fr); }
  .problem-grid { grid-template-columns: repeat(2, 1fr); }
  .certificate-layout, .case-split { grid-template-columns: 1fr; gap: 42px; }
  .certificate-grid { max-width: 740px; }
  .case-visual, .case-visual img { min-height: 440px; height: 440px; }
}

@media (max-width: 600px) {
  :root { --brand-shell: calc(100% - 28px); }
  .utility-bar { display: none; }
  .site-header { position: sticky; }
  .brand-tagline { display: none; }
  .site-header .site-tools { margin-left: auto; }
  .header-cta { display: none; }
  .brand-home .brand-hero { min-height: 690px; }
  .brand-hero-content { padding-block: 66px 100px; }
  .brand-hero-copy { width: 100%; }
  .brand-hero-overlay { background: linear-gradient(90deg, rgba(0,8,20,.96), rgba(0,24,52,.8)), linear-gradient(0deg, rgba(0,8,20,.75), transparent 45%); }
  .brand-hero h1 { max-width: 430px; font-size: clamp(47px, 15vw, 62px); line-height: .98; }
  html[data-language="zh"] .brand-hero h1 { max-width: 430px; font-size: clamp(43px, 12.8vw, 54px); line-height: 1.08; }
  .brand-hero-copy > p { max-width: 420px; font-size: 15px; }
  .brand-hero-actions { align-items: stretch; flex-direction: column; }
  .brand-hero-actions .button { width: 100%; }
  .hero-proof-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .hero-ident { right: 14px; bottom: 18px; left: 14px; max-width: none; }
  .brand-data-grid { grid-template-columns: 1fr 1fr; }
  .brand-data-grid > div { min-height: 110px; padding: 20px 17px; }
  .brand-data-grid strong { font-size: 31px; }
  .brand-section { padding-block: 66px; }
  .brand-heading { margin-bottom: 32px; }
  .brand-heading h2 { font-size: 42px; }
  .brand-product-grid, .capability-grid, .problem-grid, .certificate-grid, .brand-process { grid-template-columns: 1fr; }
  .brand-product-card figure { height: 250px; }
  .brand-product-index { top: 232px; }
  .capability-grid article, .brand-process article { min-height: 0; }
  .certificate-card figure { height: 420px; }
  .certificate-copy { min-height: 0; }
  .case-visual, .case-visual img { min-height: 360px; height: 360px; }
  .brand-final-cta .shell { align-items: stretch; flex-direction: column; gap: 28px; }
  .brand-final-cta .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-product-card,
  .brand-product-card img { transition: none; }
}

/* 2026-09-22: company, OEM/ODM and solution architecture */
.brand-page {
  overflow: hidden;
}

.brand-page-hero {
  position: relative;
  min-height: 610px;
  overflow: hidden;
  background-color: var(--brand-navy-deep);
  background-position: center;
  background-size: cover;
  color: #fff;
}

.brand-page-hero-about {
  background-image: url("assets/products/mobile-optimized/bag-multi-batch-800.webp");
}

.brand-page-hero-oem {
  background-image: url("assets/custom-cases/case-16.webp");
  background-position: 72% 42%;
}

.brand-page-hero-solutions {
  background-image: url("assets/products/mobile-optimized/mobile-filter-cart-800.webp");
  background-position: 70% 55%;
}

.brand-page-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0, 12, 31, .98) 0%, rgba(0, 30, 60, .92) 43%, rgba(0, 26, 54, .52) 72%, rgba(0, 15, 35, .25) 100%),
    linear-gradient(0deg, rgba(0, 12, 28, .85), transparent 52%);
}

.brand-page-hero-inner {
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 610px;
  padding-block: 54px 44px;
  flex-direction: column;
  justify-content: center;
}

.brand-page-hero .breadcrumbs {
  margin-bottom: 34px;
  color: #9ab7ca;
}

.brand-page-hero h1 {
  max-width: 870px;
  margin: 16px 0 20px;
  font: 800 clamp(56px, 6vw, 82px)/.95 "Barlow Condensed", sans-serif;
  letter-spacing: -.035em;
  text-wrap: balance;
}

html[data-language="zh"] .brand-page-hero h1 {
  max-width: 920px;
  font-size: clamp(48px, 5vw, 67px);
  line-height: 1.08;
  letter-spacing: -.015em;
}

.brand-page-hero-inner > p {
  max-width: 735px;
  margin: 0;
  color: #c5d6e2;
  font-size: 16px;
  line-height: 1.75;
}

.brand-page-actions {
  display: flex;
  gap: 12px;
  margin-top: 30px;
}

.brand-page-actions .button {
  min-height: 50px;
}

.brand-page-actions .button-ghost {
  border-color: rgba(255, 255, 255, .56);
  background: rgba(0, 22, 48, .25);
}

.brand-page-actions .button-ghost:hover {
  border-color: #fff;
  background: #fff;
  color: var(--brand-navy);
}

.brand-page-proof {
  display: grid;
  max-width: 940px;
  margin-top: 42px;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, .22);
  border-bottom: 1px solid rgba(255, 255, 255, .22);
}

.brand-page-proof > span {
  display: flex;
  min-height: 82px;
  padding: 16px 19px;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid rgba(255, 255, 255, .18);
}

.brand-page-proof > span:first-child {
  border-left: 1px solid rgba(255, 255, 255, .18);
}

.brand-page-proof strong {
  color: #fff;
  font: 800 23px/1 "Barlow Condensed", sans-serif;
}

.brand-page-proof small {
  margin-top: 7px;
  color: #91adbf;
  font-size: 10px;
}

.credential-priority {
  background: linear-gradient(180deg, #f8fbfd 0%, #fff 100%);
}

.credential-document-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

.credential-document-card {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(190px, .72fr) 1.28fr;
  border: 1px solid var(--brand-line);
  background: #fff;
  box-shadow: 0 18px 42px rgba(0, 34, 67, .09);
}

.credential-document-card figure {
  min-height: 465px;
  margin: 0;
  padding: 20px;
  background: #e9f0f5;
}

.credential-document-card figure img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
  box-shadow: 0 8px 22px rgba(0, 28, 55, .12);
}

.credential-document-card > div {
  display: flex;
  min-width: 0;
  padding: 31px;
  flex-direction: column;
}

.credential-document-card > div > span {
  color: var(--brand-green-dark);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.credential-document-card h3 {
  margin: 9px 0 20px;
  font: 800 31px/1 "Barlow Condensed", sans-serif;
}

.credential-document-card dl {
  margin: 0;
}

.credential-document-card dt {
  margin-top: 11px;
  color: #718497;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.credential-document-card dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  color: var(--brand-navy);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
}

.credential-document-card a {
  margin-top: auto;
  padding-top: 22px;
  color: var(--brand-blue);
  font-size: 11px;
  font-weight: 850;
}

.brand-story-grid {
  display: grid;
  grid-template-columns: 1.03fr .97fr;
  gap: 76px;
  align-items: start;
}

.brand-story-grid h2,
.solution-input-split h2 {
  margin: 12px 0 22px;
  font: 800 clamp(38px, 4vw, 54px)/1.04 "Barlow Condensed", sans-serif;
  letter-spacing: -.025em;
}

.brand-story-grid p,
.solution-input-split p {
  color: var(--brand-copy);
  font-size: 14px;
  line-height: 1.8;
}

.company-network-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--brand-line);
  border-left: 1px solid var(--brand-line);
}

.company-network-grid > div {
  min-height: 150px;
  padding: 24px;
  border-right: 1px solid var(--brand-line);
  border-bottom: 1px solid var(--brand-line);
  background: #fff;
}

.company-network-grid strong,
.company-network-grid span {
  display: block;
}

.company-network-grid strong {
  color: var(--brand-navy);
  font-size: 14px;
}

.company-network-grid span {
  margin-top: 38px;
  color: var(--brand-copy);
  font-size: 10px;
  line-height: 1.6;
}

.brand-values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--brand-line);
  border-left: 1px solid var(--brand-line);
}

.brand-values-grid article {
  min-height: 265px;
  padding: 28px;
  border-right: 1px solid var(--brand-line);
  border-bottom: 1px solid var(--brand-line);
  background: #fff;
}

.brand-values-grid article > span {
  color: var(--brand-green-dark);
  font: 800 33px/1 "Barlow Condensed", sans-serif;
}

.brand-values-grid h3 {
  margin: 39px 0 11px;
  font-size: 18px;
}

.brand-values-grid p {
  margin: 0;
  color: var(--brand-copy);
  font-size: 11px;
  line-height: 1.75;
}

.brand-evidence-section {
  background: var(--brand-navy-deep);
  color: #fff;
}

.brand-evidence-section .brand-heading p {
  color: #9db4c6;
}

.evidence-case-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.evidence-case-card {
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgba(141, 177, 202, .28);
  background: #fff;
  color: var(--brand-navy);
}

.evidence-case-media {
  position: relative;
  display: block;
  height: 235px;
  padding: 11px;
  overflow: hidden;
  background: #e8eef2;
}

.evidence-case-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
  transition: transform .24s ease;
}

.evidence-case-media:hover img {
  transform: scale(1.02);
}

.evidence-case-media > span {
  position: absolute;
  left: 16px;
  bottom: 16px;
  padding: 6px 8px;
  background: rgba(0, 30, 60, .92);
  color: #fff;
  font-size: 9px;
  font-weight: 850;
}

.evidence-case-copy {
  display: flex;
  min-height: 330px;
  padding: 22px;
  flex: 1;
  flex-direction: column;
}

.evidence-case-copy h3 {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.25;
}

.evidence-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 18px;
}

.evidence-specs span {
  padding: 5px 7px;
  background: #edf4f8;
  color: #345066;
  font-size: 8px;
  font-weight: 800;
}

.evidence-case-copy > small {
  color: var(--brand-green-dark);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.evidence-case-copy p {
  color: var(--brand-copy);
  font-size: 10px;
  line-height: 1.65;
}

.evidence-case-copy details {
  margin-top: 4px;
  border-top: 1px solid var(--brand-line);
  border-bottom: 1px solid var(--brand-line);
}

.evidence-case-copy summary {
  padding: 11px 0;
  color: #31556d;
  cursor: pointer;
  font-size: 9px;
  font-weight: 850;
}

.evidence-case-copy details p {
  margin: 0 0 12px;
}

.evidence-case-copy > a {
  margin-top: auto;
  padding-top: 18px;
  color: var(--brand-blue);
  font-size: 10px;
  font-weight: 900;
}

.evidence-boundary {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 26px;
  align-items: center;
  margin-top: 24px;
  padding: 20px 24px;
  border: 1px solid rgba(141, 177, 202, .3);
  background: rgba(10, 45, 73, .62);
}

.evidence-boundary strong {
  color: #fff;
  font-size: 11px;
}

.evidence-boundary span {
  color: #a9bdcc;
  font-size: 10px;
  line-height: 1.6;
}

.evidence-boundary a {
  color: #61c9ff;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}

.solution-path-grid,
.solution-industry-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.solution-path-grid > a,
.solution-industry-grid > a {
  display: flex;
  min-height: 285px;
  padding: 28px;
  flex-direction: column;
  border: 1px solid var(--brand-line);
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.solution-path-grid > a:hover,
.solution-industry-grid > a:hover {
  border-color: #70afd7;
  box-shadow: 0 18px 38px rgba(0, 43, 78, .11);
  transform: translateY(-3px);
}

.solution-path-grid span,
.solution-industry-grid span {
  color: var(--brand-green-dark);
  font: 800 28px/1 "Barlow Condensed", sans-serif;
}

.solution-path-grid h3,
.solution-industry-grid h3 {
  margin: 38px 0 10px;
  font-size: 20px;
}

.solution-path-grid p,
.solution-industry-grid p {
  margin: 0;
  color: var(--brand-copy);
  font-size: 11px;
  line-height: 1.7;
}

.solution-path-grid strong {
  margin-top: auto;
  padding-top: 25px;
  color: var(--brand-blue);
  font-size: 10px;
}

.solution-industry-grid > a {
  min-height: 225px;
}

.solution-industry-grid span {
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.solution-industry-grid h3 {
  margin-top: 48px;
}

.solution-input-split {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 66px;
  align-items: start;
}

.solution-input-split ol {
  display: grid;
  margin: 0;
  padding: 0;
  grid-template-columns: 1fr 1fr;
  list-style: none;
  counter-reset: selection-input;
  border-top: 1px solid var(--brand-line);
  border-left: 1px solid var(--brand-line);
}

.solution-input-split li {
  min-height: 78px;
  padding: 18px;
  counter-increment: selection-input;
  border-right: 1px solid var(--brand-line);
  border-bottom: 1px solid var(--brand-line);
  background: #fff;
  color: var(--brand-copy);
  font-size: 11px;
  font-weight: 750;
}

.solution-input-split li::before {
  content: counter(selection-input, decimal-leading-zero);
  display: block;
  margin-bottom: 7px;
  color: var(--brand-green-dark);
  font: 800 18px/1 "Barlow Condensed", sans-serif;
}

.solution-input-actions {
  display: flex;
  grid-column: 2;
  gap: 20px;
  align-items: center;
}

.brand-process {
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1080px) {
  .credential-document-card { grid-template-columns: 1fr; }
  .credential-document-card figure { min-height: 380px; }
  .brand-values-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .brand-page-hero,
  .brand-page-hero-inner { min-height: 650px; }
  .brand-page-proof { grid-template-columns: 1fr 1fr; }
  .brand-page-proof > span:nth-child(3),
  .brand-page-proof > span:nth-child(4) { border-top: 1px solid rgba(255, 255, 255, .18); }
  .credential-document-grid,
  .brand-story-grid,
  .solution-input-split { grid-template-columns: 1fr; }
  .credential-document-card { grid-template-columns: minmax(190px, .75fr) 1.25fr; }
  .evidence-case-grid,
  .solution-path-grid,
  .solution-industry-grid { grid-template-columns: repeat(2, 1fr); }
  .solution-input-actions { grid-column: 1; }
  .brand-process { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
  .brand-page-hero,
  .brand-page-hero-inner { min-height: 680px; }
  .brand-page-hero-inner { padding-block: 48px 34px; }
  .brand-page-hero h1 { font-size: clamp(45px, 13.5vw, 60px); }
  html[data-language="zh"] .brand-page-hero h1 { font-size: clamp(40px, 11.5vw, 52px); }
  .brand-page-hero-inner > p { font-size: 14px; }
  .brand-page-actions { align-items: stretch; flex-direction: column; }
  .brand-page-actions .button { width: 100%; }
  .brand-page-proof { margin-top: 30px; }
  .brand-page-proof > span { min-height: 70px; padding: 13px; }
  .brand-page-proof strong { font-size: 20px; }
  .credential-document-grid,
  .credential-document-card,
  .company-network-grid,
  .brand-values-grid,
  .evidence-case-grid,
  .solution-path-grid,
  .solution-industry-grid,
  .solution-input-split ol,
  .brand-process { grid-template-columns: 1fr; }
  .credential-document-card figure { min-height: 430px; }
  .credential-document-card > div { padding: 24px; }
  .brand-values-grid article { min-height: 0; }
  .evidence-case-media { height: 245px; }
  .evidence-case-copy { min-height: 0; }
  .evidence-boundary { grid-template-columns: 1fr; gap: 10px; }
  .solution-path-grid > a,
  .solution-industry-grid > a { min-height: 0; }
  .solution-path-grid strong { margin-top: 28px; }
  .solution-input-actions { align-items: stretch; flex-direction: column; }
  .solution-input-actions .button { width: 100%; }
}


/* 2026-10-08 product discovery and stable navigation */
@media (min-width: 901px) {
  .primary-nav { position: relative; }
  .primary-nav > ul > li.has-mega { position: static; }
  .primary-nav .mega-menu.product-mega-menu { position: absolute; top: 100%; left: 50%; transform: translate(-50%, -8px); width: min(1160px, calc(100vw - 48px)); grid-template-columns: 1fr; gap: 16px; padding: 24px 28px; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .16s ease, transform .16s ease, visibility .16s ease; }
  .primary-nav .has-mega:hover > .product-mega-menu, .primary-nav .has-mega:focus-within > .product-mega-menu, .primary-nav .has-mega.is-open > .product-mega-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
  .product-mega-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px 24px; }
  .product-nav-family { min-width:0; padding:10px 12px; border:1px solid rgba(255,255,255,.11); border-radius:6px; }
  .product-nav-family-heading { display:flex; justify-content:space-between; gap:8px; align-items:center; }
  .product-nav-family-heading > a { border:0; color:#fff; font-size:12px; font-weight:800; }
  .product-family-toggle { display:none; }
  .product-nav-items { display:grid; gap:2px; margin-top:6px; }
  .product-nav-items a { padding:5px 0; border:0; color:#a9bdcc; font-size:11px; }
  .product-nav-items a:hover, .product-nav-items a:focus-visible { color:#fff; text-decoration:underline; }
  .product-mega-intro { display:flex; justify-content:space-between; align-items:center; }
  .product-mega-search { justify-self:end; }
}
.product-search-section { scroll-margin-top:100px; }
.product-search-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:24px; }
.product-search-heading h2 { margin:8px 0 7px; font-size:clamp(28px,3vw,40px); }
.product-search-heading p { margin:0; color:var(--brand-copy); }
.product-search-layout { display:grid; grid-template-columns:minmax(220px,280px) minmax(0,1fr); gap:24px; align-items:start; }
.product-filter-panel { padding:22px; border:1px solid var(--brand-line); border-radius:8px; background:#f6f9fb; }
.product-search-label, .product-filter-panel legend { display:block; margin-bottom:9px; color:var(--brand-navy); font-size:13px; font-weight:800; }
.product-filter-panel input[type=search] { width:100%; min-height:44px; padding:10px 12px; border:1px solid #9fb4c2; border-radius:4px; background:#fff; color:var(--brand-navy); }
.product-filter-panel fieldset { display:grid; gap:8px; margin:22px 0; padding:0; border:0; }
.product-family-option { display:flex; gap:9px; align-items:flex-start; color:#354d61; font-size:12px; line-height:1.45; cursor:pointer; }
.product-family-option input { width:17px; height:17px; flex:0 0 17px; accent-color:var(--brand-green); }
.product-clear { min-height:40px; padding:8px 12px; border:1px solid #8fa5b4; border-radius:4px; background:#fff; color:var(--brand-navy); font-weight:700; cursor:pointer; }
.product-clear:hover { border-color:var(--brand-blue); color:var(--brand-blue); }
.product-results-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px 16px; margin-bottom:14px; }
.product-results-toolbar p { margin:0; color:#314b5e; font-weight:750; }
.product-results-toolbar label { margin-left:auto; color:var(--brand-copy); font-size:12px; }
.product-results-toolbar select { min-height:38px; padding:6px 32px 6px 10px; border:1px solid #a8bac6; border-radius:4px; background:#fff; color:var(--brand-navy); }
.product-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.product-result-card { display:flex; min-height:150px; flex-direction:column; gap:8px; padding:18px; border:1px solid #d0dde5; border-radius:7px; background:#fff; color:inherit; text-decoration:none; transition:border-color .15s ease, box-shadow .15s ease; }
.product-result-card:hover, .product-result-card:focus-visible { border-color:#54a0ca; box-shadow:0 8px 24px #002b4c12; }
.product-result-card small { color:#0879ae; font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.product-result-card strong { font-size:16px; line-height:1.28; }
.product-result-card span { color:#526a7b; font-size:12px; line-height:1.5; }
.product-result-card em { margin-top:auto; color:#0071bb; font-size:11px; font-style:normal; font-weight:800; }
.product-empty { padding:34px 20px; border:1px dashed #aabdc9; color:#526a7b; text-align:center; }
@media (max-width:900px) {
  .primary-nav .mega-menu.product-mega-menu { padding:6px 0 18px; }
  .product-mega-intro { align-items:flex-start; flex-direction:column; gap:6px; }
  .product-mega-grid { display:grid; grid-template-columns:1fr; gap:4px; }
  .product-nav-family { padding:7px 4px; border-bottom:1px solid rgba(255,255,255,.12); }
  .product-nav-family-heading > a { color:#fff; font-weight:800; }
  .product-family-toggle { display:inline-flex; width:36px; height:36px; align-items:center; justify-content:center; border:1px solid #527085; border-radius:4px; background:#073453; color:#fff; font-size:20px; cursor:pointer; }
  .product-nav-items { display:none; padding:3px 0 4px 13px; }
  .product-nav-family.is-expanded .product-nav-items { display:grid; }
  .product-nav-items a { padding:9px 4px; color:#bdd0dc; }
  .product-mega-search { display:inline-block; margin-top:12px; }
  .product-search-heading { align-items:flex-start; flex-direction:column; }
  .product-search-layout { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .product-result-grid { grid-template-columns:1fr; }
  .product-results-toolbar { justify-content:flex-start; }
  .product-results-toolbar label { margin-left:0; }
}
@media (prefers-reduced-motion: reduce) {
  .primary-nav .mega-menu.product-mega-menu, .product-result-card { transition:none; }
}

/* Higher-specificity layout reset for the legacy mega-menu column rules. */
@media (min-width: 901px) {
  .primary-nav .product-mega-menu { max-height:calc(100vh - 118px); overflow:auto; }
  .primary-nav .product-mega-menu > .product-mega-intro { display:flex; flex-direction:row; align-items:center; justify-content:space-between; padding:0; }
  .primary-nav .product-mega-menu > .product-mega-grid { display:grid; flex-direction:initial; grid-template-columns:repeat(4,minmax(0,1fr)); align-content:start; gap:12px; padding:0; }
  .primary-nav .product-mega-menu > .product-mega-search { display:inline-block; padding:7px 0; }
}
@media (max-width: 900px) {
  .primary-nav .product-mega-menu > .product-mega-grid { display:grid; flex-direction:initial; grid-template-columns:1fr; padding:0; }
  .primary-nav .product-mega-menu > .product-mega-intro { display:flex; flex-direction:column; align-items:flex-start; padding:6px 4px; }
}

/* Keep every primary mega menu attached to its trigger; fixed offsets created a hover gap. */
.primary-nav .mega-menu:not(.product-mega-menu) { top: 100%; }


.primary-nav .has-mega.mega-dismissed > .mega-menu { opacity:0 !important; visibility:hidden !important; pointer-events:none !important; transform:translate(-50%) translateY(-8px) !important; }

@media (min-width:701px) {
  .primary-nav .product-mega-menu { position:fixed; top:var(--product-menu-top, 110px); left:50vw; transform:translate(-50%, -8px); }
  .primary-nav .has-mega:hover > .product-mega-menu,
  .primary-nav .has-mega:focus-within > .product-mega-menu,
  .primary-nav .has-mega.is-open > .product-mega-menu { transform:translate(-50%, 0); }
}


/* Final navigation corrections after the site-wide brand layer. */
.primary-nav .mega-menu:not(.product-mega-menu) { top:100%; }
.primary-nav .has-mega.mega-dismissed > .mega-menu { opacity:0 !important; visibility:hidden !important; pointer-events:none !important; transform:translate(-50%) translateY(-8px) !important; }
@media (min-width:701px) { .primary-nav .product-mega-menu { position:fixed; top:var(--product-menu-top, 110px); left:50vw; transform:translate(-50%, -8px); } .primary-nav .has-mega:hover > .product-mega-menu, .primary-nav .has-mega:focus-within > .product-mega-menu, .primary-nav .has-mega.is-open > .product-mega-menu { transform:translate(-50%, 0); } }


@media (min-width:701px) { .primary-nav .mega-menu.product-mega-menu { position:fixed; top:var(--product-menu-top, 110px); left:50vw; transform:translate(-50%, -8px); } .primary-nav .has-mega:hover > .mega-menu.product-mega-menu, .primary-nav .has-mega:focus-within > .mega-menu.product-mega-menu, .primary-nav .has-mega.is-open > .mega-menu.product-mega-menu { transform:translate(-50%, 0); } }

@media (min-width:701px) {
  .primary-nav .has-mega > .mega-menu:not(.product-mega-menu) { position:fixed; top:var(--brand-menu-top, 79px); left:50vw; width:min(880px, calc(100vw - 48px)); max-height:calc(100vh - var(--brand-menu-top, 79px) - 16px); overflow:auto; transform:translate(-50%, -8px); }
  .primary-nav .has-mega:hover > .mega-menu:not(.product-mega-menu), .primary-nav .has-mega:focus-within > .mega-menu:not(.product-mega-menu), .primary-nav .has-mega.is-open > .mega-menu:not(.product-mega-menu) { transform:translate(-50%, 0); }
}


/* Current six-family catalogue, 2026-10-13 */
.catalog-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px}
.catalog-product-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #d8e2eb;border-radius:14px;overflow:hidden;color:#123453;text-decoration:none;box-shadow:0 12px 32px rgba(6,34,55,.06);transition:transform .18s ease,box-shadow .18s ease}
.catalog-product-card:hover,.catalog-product-card:focus-visible{transform:translateY(-4px);box-shadow:0 18px 42px rgba(6,34,55,.14)}
.catalog-product-photo{display:grid;place-items:center;height:245px;background:#edf4f7;overflow:hidden}
.catalog-product-photo img{width:100%;height:100%;object-fit:contain}
.catalog-product-body{display:flex;flex:1;flex-direction:column;gap:10px;padding:20px}
.catalog-product-body strong{font-size:1.15rem;line-height:1.35}.catalog-product-body small{margin-top:auto;color:#087f9f;font-weight:700}
.catalog-kicker{color:#607b8c;font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.catalog-family-intro,.catalog-detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,5vw,80px);align-items:center}
.catalog-family-intro>img{width:100%;height:450px;object-fit:contain;background:#edf4f7;border-radius:18px}
.catalog-family-intro .button{margin-top:24px}
.catalog-detail-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.catalog-detail-hero figure{margin:0;background:#eef4f7;border-radius:18px;overflow:hidden}
.catalog-detail-hero figure img{display:block;width:100%;height:min(580px,65vw);object-fit:contain}
.catalog-detail-hero figcaption{padding:13px 18px;color:#536f81;font-size:.85rem;background:#e5eff4}
.catalog-detail-summary h2{margin:10px 0 20px;font-size:clamp(1.7rem,3vw,2.6rem)}
.catalog-detail-summary p{line-height:1.8}.catalog-detail-summary .summary-actions{margin-top:28px}
.catalog-evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px)}
.catalog-evidence-grid ul,.catalog-selection ul{padding-left:20px;line-height:2}
.catalog-caveat{padding:15px 18px;border-left:4px solid #1b91a9;background:#e7f1f5;font-size:.9rem}
.catalog-selection{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px}
.catalog-family-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.catalog-family img{object-fit:contain;background:#eaf2f5}
.product-result-card img{width:100%;height:155px;object-fit:contain;background:#eff5f8;border-radius:8px}
.product-mega-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-nav-items a{line-height:1.4}
@media(max-width:900px){.catalog-product-grid,.catalog-family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-family-intro,.catalog-detail-hero,.catalog-evidence-grid,.catalog-selection{grid-template-columns:1fr}.catalog-detail-hero figure img{height:420px}}
@media(max-width:600px){.catalog-product-grid,.catalog-family-grid{grid-template-columns:1fr}.catalog-product-photo{height:260px}.catalog-detail-hero figure img{height:350px}.catalog-family-intro>img{height:320px}.catalog-product-body{padding:18px}}
@media(prefers-reduced-motion:reduce){.catalog-product-card{transition:none}.catalog-product-card:hover{transform:none}}

@media(min-width:901px){.primary-nav .product-mega-menu > .product-mega-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.primary-nav .mega-menu.product-mega-menu{position:static;top:auto;left:auto;transform:none;width:100%;max-height:none;overflow:visible}.primary-nav .product-mega-menu > .product-mega-grid{grid-template-columns:1fr}}

.catalog-design-questions ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;counter-reset:question;padding:0;margin:28px 0 0}.catalog-design-questions li{position:relative;counter-increment:question;background:#edf4f7;border:1px solid #d5e4ea;border-radius:12px;padding:42px 22px 22px;line-height:1.6}.catalog-design-questions li:before{content:"0" counter(question);position:absolute;top:14px;left:22px;color:#07819e;font-weight:800;font-size:.82rem}@media(max-width:700px){.catalog-design-questions ol{grid-template-columns:1fr}}
