/* Keep real product photography intact; only the canvas and crop are normalized. */
[hidden] { display:none !important; }

.product-media,
.main-image,
.thumbs button,
.related-grid a { background: #fff !important; }

.product-media img,
.main-image img,
.thumbs img,
.related-grid img {
  background: #fff !important;
  object-fit: contain !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

.product-media img:first-child { opacity: 1; }
.product-media img.alt { opacity: 0; }
.product-card:hover .product-media img:first-child { opacity: 0; }
.product-card:hover .product-media img.alt { opacity: 1; }

/* Compact catalog layout, matching the approved six-card presentation. */
.full-catalog {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.full-catalog .product-card {
  min-height: 0;
  border-radius: 10px;
}

.full-catalog .product-media {
  height: 205px;
  border-bottom: 1px solid #e2edf5;
}

.full-catalog .product-media img {
  padding: 3px 8px;
}

.home-page .product-media img { padding: 4px 8px; }

.main-image { position: relative; cursor: zoom-in; overflow: hidden; }
.product-zoom-lens {
  position: absolute;
  width: 180px;
  height: 180px;
  border: 2px solid #fff;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%,-50%);
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: 260%;
  box-shadow: 0 8px 30px rgba(4,42,72,.22),0 0 0 1px #aac9df;
  transition: opacity .15s ease;
}
.product-zoom-lens.visible { opacity: 1; }
#product-zoom-dialog {
  width: min(94vw,1200px);
  height: min(92vh,900px);
  max-width: none;
  padding: 28px;
  background: #fff;
}
#product-zoom-dialog img { width:100%;height:100%;object-fit:contain;background:#fff; }
#product-zoom-dialog button { position:absolute;right:14px;top:8px;z-index:2;border:0;background:#fff;font-size:30px;cursor:pointer; }

/* Approved manufacturing composition: evidence, facade and capabilities read as one system. */
.manufacturing .factory-stage { position:relative;margin-top:26px;min-height:570px;background:#eaf5fb;overflow:hidden; }
.manufacturing .factory-evidence { margin:0;border:0;display:block; }
.manufacturing .factory-main { min-height:570px; }
.manufacturing .factory-main:after { content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(238,248,253,.97) 0%,rgba(238,248,253,.78) 34%,rgba(238,248,253,0) 65%); }
.manufacturing .factory-main>img { object-position:center; }
.manufacturing { overflow:hidden; }
.manufacturing>h2 { margin:0 0 18px;font-size:13px;line-height:1.2;letter-spacing:2.4px;text-transform:uppercase;color:#346f9d; }
.manufacturing .factory-wordmark { left:auto;right:8%;top:34%;z-index:10;transform:none;display:flex;flex-direction:column;align-items:flex-start;gap:7px;width:250px;color:#07325a;font-size:clamp(32px,3vw,48px);font-style:italic;font-weight:800;letter-spacing:-2px;text-shadow:0 1px 0 #fff,0 2px 12px rgba(255,255,255,.8); }
.manufacturing .factory-wordmark strong { font:inherit;white-space:nowrap; }
.manufacturing .factory-wordmark small { margin:0;padding:8px 0 0;border-left:0;border-top:1px solid rgba(7,50,90,.35);font-size:10px;line-height:1.45;letter-spacing:1.15px;font-style:normal;font-weight:700;white-space:normal; }
.manufacturing .factory-numbers { position:absolute;z-index:3;left:38px;top:38px;width:min(58%,720px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start; }
.manufacturing .factory-numbers div { min-width:0;padding:16px 22px 16px 0;border:0; }
.manufacturing .factory-numbers b { font-size:clamp(25px,2.5vw,38px); }
.manufacturing .factory-numbers b small { font-size:.52em;letter-spacing:0; }
.manufacturing .factory-numbers span { display:grid;grid-template-columns:40px 1fr;align-items:center;column-gap:10px;max-width:170px;line-height:1.3;font-weight:650;color:#52708c; }
.manufacturing .factory-numbers span i { grid-row:1 / span 2;display:grid;place-items:center;width:40px;height:40px;border:2px solid #2f6da2;border-radius:9px;color:#174f82;font-size:25px;font-style:normal;line-height:1; }
.manufacturing .factory-numbers span em { font-style:normal; }
.manufacturing .factory-capabilities { position:absolute;z-index:4;left:28px;right:28px;bottom:24px;margin:0;gap:10px; }
.manufacturing .factory-capabilities figure { position:relative;border:1px solid rgba(255,255,255,.8);border-radius:7px;overflow:hidden; }
.manufacturing .factory-capabilities img { height:190px; }
.manufacturing .factory-capabilities figcaption { position:absolute;left:0;right:0;bottom:0;padding:38px 16px 14px;color:#fff;background:linear-gradient(transparent,rgba(3,35,60,.9)); }

@media(max-width:1200px){
  .manufacturing .factory-wordmark{right:5%;top:38%;width:190px;font-size:34px}
  .manufacturing .factory-numbers{width:62%}
  .manufacturing .factory-numbers b{font-size:28px}
}

@media(max-width:900px){
  .manufacturing .factory-stage,.manufacturing .factory-main{min-height:820px}
  .manufacturing .factory-numbers{left:22px;right:22px;width:auto;grid-template-columns:1fr 1fr}
  .manufacturing .factory-wordmark{right:24px;top:34%;width:180px}
  .manufacturing .factory-capabilities{grid-template-columns:1fr 1fr}
  .manufacturing .factory-capabilities img{height:180px}
}

/* Partner band follows the approved visual while avoiding unverified brand claims. */
.partners { padding-top:34px;padding-bottom:54px;background:linear-gradient(180deg,#eef7fc 0%,#f8fcfe 100%); }
.partners h2 { margin:0 0 18px!important;text-align:left!important;font-size:13px!important;line-height:1.2;letter-spacing:2.4px!important;text-transform:uppercase;color:#346f9d; }
.partners .marquee { position:relative;width:calc(100% + 40px);margin-left:-20px;border:0;background:#fff;border-radius:18px;box-shadow:0 7px 25px rgba(19,70,108,.06); }
.partners .marquee:before,.partners .marquee:after { position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid #d9e7f3;display:grid;place-items:center;color:#0b63b6;font-size:28px;box-shadow:0 5px 18px rgba(9,66,105,.1); }
.partners .marquee:before { content:'‹';left:10px; }
.partners .marquee:after { content:'›';right:10px; }
.partners .marquee>div { padding:0 54px; }
.partners .marquee span { min-width:250px;padding:28px 38px;border-right:1px solid #e4edf4;text-align:center;font-size:17px;font-weight:750;letter-spacing:-.2px;color:#285d87; }

.customer-voices { overflow:hidden;background:#f1f8fc; }
.voices-head { display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px; }
.voices-head>div>span { color:#2675ad;font-size:11px;letter-spacing:2px;text-transform:uppercase; }
.voices-head h2 { margin:7px 0 0;font-size:clamp(34px,3.6vw,54px);letter-spacing:-2px; }
.voices-head>p { max-width:390px;margin:0;color:#71869a;font-size:12px;line-height:1.5;text-align:right; }
.voices-window { width:100vw;margin-left:calc(50% - 50vw);overflow:hidden; }
.voices-track { display:flex;width:max-content;gap:14px;padding:4px 14px 20px;animation:voices-scroll 42s linear infinite; }
.voices-track:hover { animation-play-state:paused; }
.voices-track article { width:390px;min-height:245px;padding:30px;border:1px solid #d6e5f0;background:#fff;display:flex;flex-direction:column;justify-content:space-between; }
.voices-track article>p { margin:0;color:#163f62;font-size:17px;line-height:1.65; }
.customer-voices article footer { padding:20px 0 0;margin-top:24px;border-top:1px solid #e2edf4;background:transparent;color:#06294b;display:flex;align-items:end;justify-content:space-between;gap:14px; }
.customer-voices article footer b { font-size:13px; }
.customer-voices article footer span { color:#6a8196;font-size:11px; }
@keyframes voices-scroll { to { transform:translateX(calc(-50% - 7px)); } }
@media(max-width:700px){.voices-head{display:block}.voices-head>p{margin-top:12px;text-align:left}.voices-track article{width:82vw;min-height:230px}}

.full-catalog .product-info {
  min-height: 178px;
  padding: 16px 18px 18px;
  align-content: start;
  gap: 7px;
}

.full-catalog .product-info > span {
  font-size: 10px;
  line-height: 1.35;
  letter-spacing: 1.05px;
}

.full-catalog .card-specs {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  color: #47759f;
  font-size: 12px;
  line-height: 1.25;
}

.full-catalog .card-specs span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

.full-catalog .card-specs i {
  color: #0873d4;
  font-size: 17px;
  font-style: normal;
  line-height: 1;
}

.full-catalog .product-info h3 {
  font-size: 18px;
  line-height: 1.22;
  letter-spacing: -0.25px;
}

.full-catalog .product-info p {
  font-size: 13px;
  line-height: 1.4;
}

.full-catalog .product-info b {
  margin-top: 4px;
  font-size: 13px;
}

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

@media (max-width: 600px) {
  .full-catalog { grid-template-columns: 1fr; }
  .full-catalog .product-media { height: 220px; }
  .full-catalog .card-specs { flex-wrap: wrap; row-gap: 7px; }
}

/* Keep the primary and product-detail navigation bars on one shared rhythm. */
.site-header .nav-products {
  height: 84px;
  padding: 0;
  display: flex;
  align-items: center;
}

.site-header .nav-products > a {
  height: 100%;
  display: flex;
  align-items: center;
}

.site-header .product-mega { top: 84px; }

.detail-tabs {
  height: 56px;
  min-height: 56px;
  padding-top: 0;
  padding-bottom: 0;
  align-items: center;
  background: #fff;
}

@media (max-width: 900px) {
  .site-header .nav-products {
    height: auto;
    display: block;
  }

  .detail-tabs {
    height: 52px;
    min-height: 52px;
  }
}

/* Manufacturing section: facility photographs plus the partner's self-reported figures. */
.factory-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 34px;
  border-top: 1px solid #cadce9;
  border-bottom: 1px solid #cadce9;
}

.factory-facts div {
  padding: 26px 24px 26px 0;
  border-right: 1px solid #cadce9;
}

.factory-facts div:last-child { border-right: 0; }

.factory-facts b {
  display: block;
  font-size: clamp(26px, 2.6vw, 38px);
  letter-spacing: -1.5px;
}

.factory-facts b small { font-size: .5em; letter-spacing: 0; }

.factory-facts span {
  display: block;
  margin-top: 6px;
  color: #52708c;
  font-weight: 650;
  line-height: 1.35;
}

.factory-gallery figcaption small {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  font-weight: 400;
  opacity: .85;
}

.evidence-note {
  margin: 22px 0 0;
  padding: 16px 20px;
  max-width: 900px;
  background: #fff;
  border-left: 3px solid #9dc3dd;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

.evidence-note strong { color: var(--ink); }

@media (max-width: 900px) {
  .factory-facts { grid-template-columns: 1fr; }

  .factory-facts div {
    padding: 18px 0;
    border-right: 0;
    border-bottom: 1px solid #cadce9;
  }

  .factory-facts div:last-child { border-bottom: 0; }
}

/* The testimonial-style track is a continuous marquee; give motion-sensitive and
   keyboard users a way to stop it, and make it scrollable when the motion is off. */
.voices-track:focus-within { animation-play-state: paused; }

@media (prefers-reduced-motion: reduce) {
  .voices-track { animation: none; }
  .voices-window { overflow-x: auto; }
}

/* Homepage hero on narrow screens.
   The artwork already carries the four option cards, so overlaying the headline on a
   faded copy of it collides with them. Below 900px the photo and the copy stack
   instead: photo at its own aspect ratio, then the real headline and CTA beneath. */
@media (max-width: 900px) {
  .home-page .locked-hero {
    min-height: 0;
    display: block;
    padding-bottom: 34px;
  }

  .home-page .hero-reference {
    position: static;
    width: 100%;
    height: auto;
    opacity: 1;
  }

  .home-page .locked-hero:before { display: none; }

  .home-page .hero-copy {
    position: static;
    padding: 26px 6% 0;
  }

  .home-page .hero-copy h1 { font-size: 40px; }

  .home-page .hero-copy > span {
    max-width: none;
    font-size: 17px;
  }
}

/* Catalogue cards that describe a supply scope rather than a platform: the panel is
   drawn rather than photographed, because there is no product photograph to show. */
.full-catalog .product-media.visual {
  display: grid;
  place-items: center;
  background: repeating-linear-gradient(135deg, #f4f9fc, #f4f9fc 14px, #edf4f9 14px, #edf4f9 28px);
}

.full-catalog .product-media.visual svg {
  width: 72px;
  height: 72px;
  fill: none;
  stroke: #1f6ea8;
  stroke-width: 1.3;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .85;
}

/* Four factory photographs read better as a 2x2 grid on small screens than as a
   single tall column. */
@media (max-width: 900px) {
  .factory-gallery { grid-template-columns: repeat(2, 1fr); }
}

/* Keep the two buyer actions where purchase questions begin: beside the product
   summary, with shipping visually secondary to the quotation request. */
.product-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.product-detail-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 19px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
}

.product-action-primary {
  background: #06294b;
  color: #fff;
}

.product-action-secondary {
  border: 1px solid #9ebcd1;
  background: #fff;
  color: #07325a;
}

.product-action-primary:hover,
.product-action-primary:focus-visible {
  background: #0b4773;
  color: #fff;
}

.product-action-secondary:hover,
.product-action-secondary:focus-visible {
  border-color: #1f6ea8;
  background: #eff7fc;
  color: #07325a;
}

@media (max-width: 600px) {
  .product-detail-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .product-detail-actions a { width: 100%; }
}
