@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/inter-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url("/assets/fonts/barlow-condensed-500.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url("/assets/fonts/barlow-condensed-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow Condensed";
  src: url("/assets/fonts/barlow-condensed-700.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --ink: #07131d;
  --ink-2: #0b1c29;
  --blue: #0b4b73;
  --blue-bright: #0b6b9f;
  --gold: #d7a823;
  --gold-light: #ecc84d;
  --paper: #ffffff;
  --soft: #f2f5f7;
  --line: #d7dfe4;
  --muted: #536473;
  --success: #16734a;
  --error: #a92727;
  --shadow: 0 18px 44px rgb(7 19 29 / 12%);
  --shell: 1200px;
  --header-height: 144px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  color-scheme: light;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 24px);
}

body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--paper);
  font-family: "Inter", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
}

body.menu-open,
body.dialog-open {
  overflow: hidden;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
}

button {
  padding: 0;
  border: 0;
  background: none;
}

button,
summary {
  cursor: pointer;
}

h1,
h2,
h3,
h4,
p,
figure,
dl,
dd {
  margin-top: 0;
}

h1,
h2,
h3,
h4 {
  margin-bottom: 0.55em;
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-weight: 600;
  letter-spacing: -0.018em;
  line-height: 1.02;
}

h1 {
  font-size: clamp(3.15rem, 5.7vw, 5.7rem);
}

h2 {
  font-size: clamp(2.25rem, 3.7vw, 3.75rem);
}

h3 {
  font-size: clamp(1.35rem, 2vw, 1.75rem);
}

p {
  margin-bottom: 1.15em;
}

ul,
ol {
  margin-top: 0;
}

[hidden] {
  display: none ;
}

:focus-visible {
  outline: 3px solid var(--gold-light);
  outline-offset: 3px;
}

.shell {
  width: min(calc(100% - 48px), var(--shell));
  margin-inline: auto;
}

.icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

.icon-large {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
}

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  width: 1px;
  height: 1px;
  padding: 0;
  color: var(--ink);
  background: var(--gold-light);
  font-weight: 800;
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

.skip-link:focus-visible {
  width: auto;
  height: auto;
  padding: 12px 16px;
  clip-path: none;
  overflow: visible;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  color: var(--blue-bright);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.17em;
  line-height: 1.4;
  text-transform: uppercase;
}

.eyebrow::before {
  width: 30px;
  height: 2px;
  content: "";
  background: currentColor;
}

.site-header {
  position: relative;
  z-index: 50;
  background: var(--paper);
}

.header-main {
  height: 100px;
  border-bottom: 1px solid #edf0f2;
}

.header-main-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}

.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  min-width: 276px;
}

.brand-lockup > img {
  width: 40px;
  height: 52px;
  object-fit: contain;
}

.brand-copy {
  display: grid;
  color: var(--ink);
  line-height: 1;
}

.brand-copy strong {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.55rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.brand-copy > span {
  margin-top: 4px;
  color: var(--blue);
  font-family: "Barlow Condensed", sans-serif;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.22em;
}

.brand-copy small {
  margin-top: 8px;
  color: #7b8993;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.header-contact {
  display: flex;
  align-items: center;
  gap: 34px;
}

.header-contact > a:not(.header-rfq) {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
}

.header-contact > a:not(.header-rfq) > .icon {
  width: 20px;
  height: 20px;
  filter: invert(22%) sepia(61%) saturate(1246%) hue-rotate(165deg) brightness(87%);
}

.header-contact span {
  display: grid;
}

.header-contact small {
  color: #76848e;
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.header-contact strong {
  font-size: 0.82rem;
  font-weight: 700;
}

.header-rfq {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-width: 110px;
  min-height: 50px;
  padding: 0 19px;
  color: var(--ink);
  background: var(--gold);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: background 160ms ease, transform 160ms ease;
}

.header-rfq:hover {
  background: var(--gold-light);
  transform: translateY(-2px);
}

.mobile-rfq,
.menu-button {
  display: none;
}

.nav-band {
  height: 44px;
  background: var(--ink-2);
}

.desktop-nav {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  height: 44px;
}

.nav-item {
  position: relative;
  display: flex;
  min-width: 0;
  border-inline-start: 1px solid rgb(255 255 255 / 7%);
}

.nav-item:last-child {
  border-inline-end: 1px solid rgb(255 255 255 / 7%);
}

.nav-item::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  content: "";
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 180ms ease;
}

.nav-item:hover::after,
.nav-item:focus-within::after,
.nav-item.is-active::after {
  transform: scaleX(1);
}

.nav-link {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 44px;
  padding: 0 10px;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 720;
  letter-spacing: 0.065em;
  text-align: center;
  text-transform: uppercase;
}

.nav-item.is-active .nav-link {
  color: var(--gold-light);
}

.has-subnav .nav-link {
  padding-right: 30px;
}

.subnav-toggle {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 8px;
  display: grid;
  width: 32px;
  height: 44px;
  place-items: center;
  color: #fff;
}

.subnav-toggle .icon {
  width: 15px;
  height: 15px;
  filter: brightness(0) invert(1);
  transition: transform 160ms ease;
}

.has-subnav.is-open .subnav-toggle .icon {
  transform: rotate(180deg);
}

.subnav {
  position: absolute;
  z-index: 30;
  top: 44px;
  left: 0;
  display: grid;
  width: 260px;
  padding: 9px;
  color: #fff;
  background: var(--ink-2);
  border-top: 3px solid var(--gold);
  box-shadow: var(--shadow);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 150ms ease, transform 150ms ease;
}

.nav-item:nth-last-child(-n + 2) .subnav {
  right: 0;
  left: auto;
}

.has-subnav:hover .subnav,
.has-subnav:focus-within .subnav,
.has-subnav.is-open .subnav {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.subnav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 45px;
  padding: 10px 13px;
  border-bottom: 1px solid rgb(255 255 255 / 9%);
  font-size: 0.81rem;
  font-weight: 650;
}

.subnav a:last-child {
  border-bottom: 0;
}

.subnav a:hover,
.subnav a:focus-visible {
  color: var(--gold-light);
  background: rgb(255 255 255 / 5%);
}

.mobile-drawer:not([open]) {
  display: none;
}

.mobile-drawer {
  position: fixed;
  z-index: 200;
  inset: 0 0 0 auto;
  width: min(430px, 100%);
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0 24px 28px;
  color: #fff;
  background: var(--ink-2);
  border: 0;
  overflow-y: auto;
}

.mobile-drawer::backdrop {
  background: rgb(3 11 17 / 72%);
  backdrop-filter: blur(4px);
}

.drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 92px;
  border-bottom: 1px solid rgb(255 255 255 / 14%);
}

.drawer-header > div {
  display: grid;
}

.drawer-eyebrow {
  color: var(--gold-light);
  font-size: 0.64rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.drawer-header strong {
  margin-top: 4px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.7rem;
  line-height: 1;
}

.drawer-close {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 10px;
  color: #fff;
  font-size: 0.73rem;
  font-weight: 700;
}

.drawer-close .icon,
.drawer-link .icon,
.drawer-group .icon,
.drawer-contact .icon {
  filter: brightness(0) invert(1);
}

.drawer-link,
.drawer-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  border-bottom: 1px solid rgb(255 255 255 / 12%);
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.35rem;
  font-weight: 600;
  list-style: none;
}

.drawer-group summary::-webkit-details-marker {
  display: none;
}

.drawer-group[open] summary {
  color: var(--gold-light);
}

.drawer-group[open] summary .icon {
  transform: rotate(180deg);
}

.drawer-subnav {
  display: grid;
  padding: 10px 0 12px 18px;
  background: rgb(255 255 255 / 3%);
}

.drawer-subnav a {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: #c8d1d7;
  font-size: 0.86rem;
}

.drawer-contact {
  display: grid;
  gap: 9px;
  margin-top: 28px;
  padding: 19px;
  background: rgb(255 255 255 / 5%);
  border-left: 3px solid var(--gold);
}

.drawer-contact a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 36px;
  color: #e8edf0;
  font-size: 0.79rem;
  overflow-wrap: anywhere;
}

.button-row,
.form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  min-height: 50px;
  padding: 0 22px;
  border: 1px solid transparent;
  font-size: 0.75rem;
  font-weight: 820;
  letter-spacing: 0.075em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
  transition: color 160ms ease, background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button-primary {
  color: var(--ink);
  background: var(--gold);
  border-color: var(--gold);
}

.button-primary:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
}

.button-dark {
  color: #fff;
  background: var(--ink-2);
  border-color: var(--ink-2);
}

.button-dark:hover {
  color: var(--gold-light);
  background: var(--blue);
  border-color: var(--blue);
}

.button-light {
  color: var(--ink);
  background: #fff;
  border-color: #fff;
}

.button-outline-dark {
  color: var(--ink);
  border-color: #9fadb6;
}

.button-outline-dark:hover {
  color: #fff;
  background: var(--ink-2);
  border-color: var(--ink-2);
}

.button-outline-light {
  color: #fff;
  border-color: rgb(255 255 255 / 63%);
}

.button-outline-light:hover {
  color: var(--ink);
  background: #fff;
  border-color: #fff;
}

.button-text {
  min-height: 44px;
  padding-inline: 3px;
  color: var(--blue);
  border-bottom: 2px solid var(--gold);
}

.home-hero {
  position: relative;
  height: 570px;
  min-height: 570px;
  color: #fff;
  background: var(--ink);
  overflow: hidden;
}

.hero-slides,
.hero-slide,
.hero-slide-media,
.hero-scrim {
  position: absolute;
  inset: 0;
}

.hero-slide {
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 700ms ease, visibility 700ms ease;
}

.hero-slide.is-active {
  z-index: 1;
  opacity: 1;
  visibility: visible;
}

.hero-slide-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-slide:first-child .hero-slide-media img {
  object-position: 68% center;
}

.hero-scrim {
  background: linear-gradient(90deg, rgb(4 14 22 / 93%) 0%, rgb(5 21 32 / 82%) 38%, rgb(5 21 32 / 26%) 68%, rgb(5 21 32 / 10%) 100%);
}

.hero-slide-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding-bottom: 34px;
}

.hero-slide-content .eyebrow {
  color: var(--gold-light);
}

.hero-slide-content h1,
.hero-slide-content h2 {
  max-width: 760px;
  margin-bottom: 18px;
  color: #fff;
  font-size: clamp(3.15rem, 5.7vw, 5.7rem);
  text-wrap: balance;
}

.hero-slide-content > p:not(.eyebrow) {
  max-width: 660px;
  margin-bottom: 30px;
  color: #dce4e9;
  font-size: 1.04rem;
  line-height: 1.65;
}

.hero-control-shell {
  position: relative;
  z-index: 5;
  height: 100%;
  pointer-events: none;
}

.hero-controls {
  position: absolute;
  right: 0;
  bottom: 30px;
  display: flex;
  align-items: center;
  min-height: 48px;
  color: #fff;
  background: rgb(5 20 30 / 84%);
  border: 1px solid rgb(255 255 255 / 19%);
  pointer-events: auto;
}

.hero-controls > button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  min-height: 46px;
  color: #fff;
}

.hero-controls > button:hover {
  color: var(--gold-light);
  background: rgb(255 255 255 / 8%);
}

.hero-controls .icon {
  filter: brightness(0) invert(1);
}

.hero-dots {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 15px;
  border-inline: 1px solid rgb(255 255 255 / 14%);
}

.hero-dots button {
  width: 9px;
  min-width: 9px;
  min-height: 44px;
  position: relative;
}

.hero-dots button::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  content: "";
  background: #93a1aa;
  transform: translate(-50%, -50%);
  transition: width 160ms ease, background 160ms ease;
}

.hero-dots button[aria-current="true"]::before {
  width: 24px;
  background: var(--gold-light);
}

.hero-dots button[aria-current="true"] {
  width: 24px;
}

.hero-controls [data-hero-action="pause"] {
  gap: 7px;
  padding-inline: 13px;
  font-size: 0.69rem;
  font-weight: 700;
  text-transform: uppercase;
}

.section {
  padding-block: clamp(76px, 7.5vw, 116px);
}

.section-soft {
  background: var(--soft);
}

.section-ink {
  color: #fff;
  background: var(--ink-2);
}

.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.7fr);
  column-gap: 60px;
  align-items: end;
  margin-bottom: 44px;
}

.section-heading .eyebrow {
  grid-column: 1 / -1;
}

.section-heading h2 {
  max-width: 720px;
  margin: 0;
  text-wrap: balance;
}

.section-heading > p:not(.eyebrow) {
  max-width: 540px;
  margin: 0;
  color: var(--muted);
}

.section-ink .section-heading > p:not(.eyebrow) {
  color: #b8c4cb;
}

.section-ink .eyebrow {
  color: var(--gold-light);
}

.section-action {
  display: flex;
  justify-content: center;
  margin-top: 42px;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.product-card {
  min-width: 0;
  background: #fff;
  border: 1px solid var(--line);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.product-card:hover,
.product-card:focus-within {
  border-color: #9babb5;
  box-shadow: var(--shadow);
  transform: translateY(-6px);
}

.product-card > a {
  display: grid;
  height: 100%;
}

.product-card-media {
  position: relative;
  display: block;
  aspect-ratio: 1 / 0.86;
  background: linear-gradient(145deg, #f9fafb, #e9eef1);
  overflow: hidden;
}

.product-card-media::after {
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  content: "";
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 180ms ease;
}

.product-card:hover .product-card-media::after,
.product-card:focus-within .product-card-media::after {
  transform: scaleX(1);
}

.product-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 400ms ease;
}

.product-card:hover .product-card-media img,
.product-card:focus-within .product-card-media img {
  transform: scale(1.035);
}

.product-card-copy {
  display: flex;
  flex-direction: column;
  min-height: 180px;
  padding: 24px 23px 20px;
}

.card-kicker {
  margin-bottom: 10px;
  color: var(--blue-bright);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.product-card-copy > strong {
  color: var(--ink);
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.42rem;
  font-weight: 600;
  line-height: 1.13;
}

.card-link {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  padding-top: 20px;
  color: var(--blue);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.story-grid,
.editorial-grid,
.knowledge-grid,
.service-intro-grid,
.after-sales-grid,
.product-summary-grid,
.product-information-grid,
.product-enquiry-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(48px, 7vw, 92px);
  align-items: center;
}

.story-copy > p:not(.eyebrow),
.prose-block > p,
.product-summary-copy > p,
.product-enquiry-grid > div > p {
  color: var(--muted);
}

.story-mosaic {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 170px);
  gap: 8px;
}

.story-mosaic button {
  position: relative;
  min-height: 0;
  background: var(--ink);
  overflow: hidden;
}

.story-mosaic button:first-child {
  grid-row: 1 / 3;
  grid-column: 1 / 3;
}

.story-mosaic img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 180ms ease, transform 350ms ease;
}

.story-mosaic button:hover img {
  opacity: 0.8;
  transform: scale(1.03);
}

.story-mosaic button span {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 22px 16px 12px;
  color: #fff;
  background: linear-gradient(transparent, rgb(2 13 20 / 86%));
  font-size: 0.69rem;
  font-weight: 700;
  text-align: left;
  text-transform: uppercase;
}

.knowledge-grid {
  align-items: stretch;
}

.knowledge-grid > div:first-child {
  display: flex;
  flex-direction: column;
}

.knowledge-grid .section-heading {
  display: block;
  margin-bottom: 28px;
}

.knowledge-grid .section-heading > p:not(.eyebrow) {
  margin-top: 20px;
}

.knowledge-index {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 210px;
  margin-top: auto;
  color: var(--blue);
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1rem;
  font-weight: 700;
}

.knowledge-index i {
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, var(--gold) 50%, var(--line) 50%);
}

.tabs {
  background: var(--soft);
  border-top: 4px solid var(--blue);
}

.tab-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-bottom: 1px solid var(--line);
}

.tab-list button {
  min-height: 62px;
  padding: 12px 18px;
  color: var(--muted);
  border-right: 1px solid var(--line);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.tab-list button:last-child {
  border-right: 0;
}

.tab-list button[aria-selected="true"] {
  color: var(--ink);
  background: #fff;
  box-shadow: inset 0 -3px var(--gold);
}

.tab-panel {
  min-height: 285px;
  padding: clamp(28px, 4vw, 48px);
}

.tab-panel h3 {
  max-width: 460px;
  font-size: clamp(1.85rem, 3vw, 2.55rem);
}

.tab-panel p {
  color: var(--muted);
}

.fit-strip {
  padding-block: 70px;
  color: #fff;
  background: var(--ink-2);
}

.fit-strip > .shell {
  display: grid;
  grid-template-columns: 0.7fr 2fr;
  gap: 60px;
  align-items: start;
}

.fit-intro .eyebrow {
  color: var(--gold-light);
}

.fit-intro h2 {
  margin: 0;
  font-size: 2.8rem;
}

.fit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fit-grid > div {
  min-width: 0;
  padding: 2px 24px 0;
  border-left: 1px solid rgb(255 255 255 / 16%);
}

.fit-grid span,
.numbered-grid > article > span,
.process-grid > article > span,
.discussion-panel > article > span,
.quality-input-grid > article > span {
  display: block;
  margin-bottom: 18px;
  color: var(--gold-light);
  font-family: "Barlow Condensed", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
}

.fit-grid strong {
  display: block;
  margin-bottom: 8px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.45rem;
  line-height: 1.1;
}

.fit-grid p {
  margin: 0;
  color: #acbac3;
  font-size: 0.78rem;
  line-height: 1.55;
}

.cta-band {
  color: var(--ink);
  background: var(--gold);
}

.cta-band-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  min-height: 230px;
  padding-block: 50px;
}

.cta-band .eyebrow {
  color: var(--ink);
}

.cta-band h2 {
  margin-bottom: 9px;
  font-size: clamp(2.25rem, 4vw, 3.7rem);
}

.cta-band p:not(.eyebrow) {
  max-width: 730px;
  margin: 0;
}

.cta-band .button-light:hover {
  color: #fff;
  background: var(--ink);
  border-color: var(--ink);
}

.interior-hero {
  position: relative;
  height: 288px;
  min-height: 288px;
  color: #fff;
  background: var(--ink);
  overflow: hidden;
}

.interior-hero-media,
.interior-scrim {
  position: absolute;
  inset: 0;
}

.interior-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.interior-scrim {
  background: linear-gradient(90deg, rgb(4 16 25 / 95%), rgb(4 16 25 / 73%) 47%, rgb(4 16 25 / 32%));
}

.interior-hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding-top: 18px;
}

.interior-hero-content .eyebrow {
  color: var(--gold-light);
}

.interior-hero h1 {
  max-width: 860px;
  margin: 0;
  font-size: clamp(3rem, 5vw, 4.9rem);
}

.breadcrumbs {
  margin-bottom: 27px;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  color: #c6d1d7;
  font-size: 0.68rem;
  font-weight: 670;
  letter-spacing: 0.05em;
  list-style: none;
  text-transform: uppercase;
}

.breadcrumbs li:not(:last-child)::after {
  margin-left: 8px;
  color: var(--gold-light);
  content: "/";
}

.breadcrumbs a:hover {
  color: var(--gold-light);
}

.editorial-media,
.service-visual,
.after-sales-media {
  position: relative;
  min-height: 430px;
  background: var(--soft);
  overflow: hidden;
}

.editorial-media img,
.service-visual img,
.after-sales-media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.editorial-media > span,
.service-visual > span {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 10px 14px;
  color: #fff;
  background: var(--ink-2);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.prose-block h3 {
  margin-top: 34px;
}

.numbered-grid,
.process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.numbered-grid article,
.process-grid article {
  min-height: 240px;
  padding: 34px 31px;
  background: #fff;
}

.numbered-grid h3,
.process-grid h3 {
  margin-bottom: 12px;
}

.numbered-grid p,
.process-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 0.91rem;
}

.gallery-grid {
  display: grid;
  gap: 18px;
}

.gallery-grid-four,
.quality-evidence-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gallery-item {
  position: relative;
  min-width: 0;
  margin: 0;
  background: #fff;
  border: 1px solid var(--line);
}

.gallery-item > button {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  text-align: left;
}

.gallery-media {
  display: block;
  aspect-ratio: 4 / 3;
  background: #e8edf0;
  overflow: hidden;
}

.gallery-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 350ms ease, opacity 180ms ease;
}

.gallery-item:hover .gallery-media img,
.gallery-item:focus-within .gallery-media img {
  opacity: 0.86;
  transform: scale(1.035);
}

.gallery-item figcaption {
  display: grid;
  min-height: 124px;
  padding: 19px 20px;
}

.gallery-item figcaption strong {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.25rem;
  line-height: 1.15;
}

.gallery-item figcaption span {
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.48;
}

.gallery-open {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #fff;
  background: rgb(7 19 29 / 88%);
  transform: translateY(-4px);
  opacity: 0;
  transition: opacity 160ms ease, transform 160ms ease;
}

.gallery-open .icon {
  filter: brightness(0) invert(1);
}

.gallery-item:hover .gallery-open,
.gallery-item:focus-within .gallery-open {
  opacity: 1;
  transform: translateY(0);
}

.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  margin-bottom: 23px;
  background: var(--line);
  border: 1px solid var(--line);
}

.filter-bar a {
  display: flex;
  flex: 1 1 180px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 10px 18px;
  color: var(--muted);
  background: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
}

.filter-bar a span {
  color: var(--blue);
}

.filter-bar a:hover,
.filter-bar a.is-active,
.filter-bar a[aria-current="page"] {
  color: #fff;
  background: var(--blue);
}

.filter-bar a.is-active span,
.filter-bar a[aria-current="page"] span {
  color: var(--gold-light);
}

.result-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 30px;
  color: var(--muted);
  font-size: 0.8rem;
}

.result-row p {
  margin: 0;
}

.result-row a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--blue);
  font-weight: 750;
}

.archive-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 7px;
  margin-top: 42px;
}

.pagination a,
.pagination button {
  display: grid;
  min-width: 44px;
  min-height: 44px;
  padding: 0 12px;
  place-items: center;
  color: var(--ink);
  background: #fff;
  border: 1px solid #aebac1;
  font-size: 0.74rem;
  font-weight: 750;
}

.pagination a:hover,
.pagination button:hover,
.pagination [aria-current="page"] {
  color: #fff;
  background: var(--blue);
  border-color: var(--blue);
}

.pagination [disabled] {
  color: #8d99a1;
  background: #edf0f2;
  border-color: #d7dfe4;
  cursor: not-allowed;
}

.archive-note,
.documentation-note,
.quality-boundary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  margin-top: 48px;
  padding: 28px 30px;
  background: var(--soft);
  border-left: 4px solid var(--gold);
}

.archive-note > div,
.documentation-note > div,
.quality-boundary {
  display: flex;
  align-items: flex-start;
  gap: 17px;
}

.archive-note strong,
.documentation-note strong,
.quality-boundary strong {
  display: block;
  margin-bottom: 3px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.3rem;
}

.archive-note p,
.documentation-note p,
.quality-boundary p {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
}

.empty-state {
  padding: 60px 30px;
  text-align: center;
  background: var(--soft);
  border: 1px solid var(--line);
}

.empty-state .icon-large {
  margin: 0 auto 18px;
}

.empty-state p {
  color: var(--muted);
}

.noscript-note,
.gallery-summary {
  margin: 0 0 24px;
  color: var(--muted);
  font-size: 0.79rem;
}

.product-summary-section {
  padding-top: 82px;
}

.product-summary-grid {
  align-items: start;
}

.product-detail-media {
  min-width: 0;
}

.product-detail-media > button {
  position: relative;
  display: grid;
  width: 100%;
  aspect-ratio: 1 / 0.86;
  place-items: stretch;
  background: var(--soft);
  border: 1px solid var(--line);
  overflow: hidden;
}

.product-detail-media > button > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 350ms ease;
}

.product-detail-media > button:hover > img {
  transform: scale(1.025);
}

.product-detail-media > button > span {
  position: absolute;
  right: 16px;
  bottom: 16px;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 43px;
  padding: 0 15px;
  color: #fff;
  background: rgb(7 19 29 / 90%);
  font-size: 0.7rem;
  font-weight: 750;
  text-transform: uppercase;
}

.product-detail-media > button > span .icon {
  filter: brightness(0) invert(1);
}

.product-detail-media > p {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.product-summary-copy h2 {
  margin-bottom: 22px;
}

.product-lead {
  font-size: 1.02rem;
}

.product-contact-line {
  display: grid;
  gap: 6px;
  margin: 31px 0;
  padding: 20px 22px;
  background: var(--soft);
  border-left: 3px solid var(--gold);
}

.product-contact-line > span {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 3px;
  color: var(--ink);
  font-size: 0.77rem;
  text-transform: uppercase;
}

.product-contact-line a {
  width: fit-content;
  color: var(--blue);
  font-size: 0.86rem;
  font-weight: 700;
}

.product-information-grid {
  align-items: start;
}

.product-information-grid .section-heading {
  display: block;
}

.product-information-grid .section-heading > p:not(.eyebrow) {
  margin-top: 19px;
}

.detail-list {
  margin: 0;
  border-top: 2px solid var(--ink);
}

.detail-list > div {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 18px;
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}

.detail-list dt {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 750;
  text-transform: uppercase;
}

.detail-list dd {
  margin: 0;
  font-size: 0.87rem;
  font-weight: 650;
}

.discussion-panel {
  padding: 40px;
  color: #fff;
  background: var(--ink-2);
  border-top: 4px solid var(--gold);
}

.discussion-panel .eyebrow {
  color: var(--gold-light);
}

.discussion-panel > article {
  display: flex;
  gap: 19px;
  padding: 21px 0;
  border-top: 1px solid rgb(255 255 255 / 13%);
}

.discussion-panel > article > span {
  margin: 2px 0 0;
}

.discussion-panel article h3 {
  margin-bottom: 6px;
  font-size: 1.28rem;
}

.discussion-panel article p {
  margin: 0;
  color: #b9c4ca;
  font-size: 0.8rem;
}

.product-enquiry {
  background: #fff;
}

.product-enquiry-grid {
  align-items: start;
}

.safe-note {
  margin-top: 27px;
  padding: 18px 20px;
  color: var(--muted);
  background: var(--soft);
  border-left: 3px solid var(--gold);
  font-size: 0.8rem;
}

.related-grid {
  margin-bottom: 50px;
}

.product-sequence {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
  border-block: 1px solid var(--line);
}

.product-sequence > a {
  display: flex;
  align-items: center;
  gap: 15px;
  min-height: 90px;
  padding: 15px 18px;
}

.product-sequence > a:last-child {
  justify-content: flex-end;
  text-align: right;
}

.product-sequence > a:hover {
  color: var(--blue);
  background: #fff;
}

.product-sequence span {
  display: grid;
}

.product-sequence small {
  color: var(--muted);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
}

.product-sequence strong {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.05rem;
}

.product-sequence .back-products {
  padding-inline: 27px;
  color: var(--blue);
  border-inline: 1px solid var(--line);
  font-size: 0.73rem;
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
}

.quality-intro-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 70px;
  align-items: end;
}

.quality-intro .section-heading {
  display: block;
  margin: 0;
}

.quality-intro .section-heading > p:not(.eyebrow) {
  margin-top: 19px;
}

.quality-boundary {
  margin: 0;
  align-self: end;
}

.quality-evidence-grid {
  display: grid;
  gap: 18px;
}

.quality-evidence-grid .gallery-item:first-child {
  grid-column: span 2;
}

.quality-evidence-grid .gallery-item:first-child .gallery-media {
  aspect-ratio: 2 / 1;
}

.quality-input-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.quality-input-grid article {
  min-height: 250px;
  padding: 29px 25px;
  background: #fff;
}

.quality-input-grid article:first-child {
  color: #fff;
  background: var(--blue);
}

.quality-input-grid > article > span {
  color: var(--blue);
}

.quality-input-grid > article:first-child > span {
  color: var(--gold-light);
}

.quality-input-grid article:nth-child(5) {
  grid-column: span 2;
}

.quality-input-grid article:first-child .icon-large {
  filter: brightness(0) invert(1);
}

.quality-input-grid article h3 {
  margin-top: 25px;
  font-size: 1.36rem;
}

.quality-input-grid article p {
  margin: 0;
  color: var(--muted);
  font-size: 0.79rem;
}

.quality-input-grid article:first-child p {
  color: #d7e1e7;
}

.documentation-note {
  margin-top: 38px;
}

.section-ink .process-grid {
  background: rgb(255 255 255 / 15%);
  border-color: rgb(255 255 255 / 15%);
}

.section-ink .process-grid article {
  background: rgb(255 255 255 / 4%);
}

.section-ink .process-grid p {
  color: #b6c3ca;
}

.check-list {
  display: grid;
  gap: 11px;
  margin: 26px 0;
  padding: 0;
  list-style: none;
}

.check-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.check-list .icon {
  margin-top: 4px;
  filter: invert(37%) sepia(91%) saturate(671%) hue-rotate(162deg) brightness(83%);
}

.faq-layout {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: clamp(45px, 7vw, 90px);
  align-items: start;
}

.faq-intro .section-heading {
  display: block;
}

.faq-intro .section-heading > p:not(.eyebrow) {
  margin-top: 18px;
}

.faq-contact-card {
  margin-top: 36px;
  padding: 31px;
  color: #fff;
  background: var(--blue);
  border-top: 4px solid var(--gold);
}

.faq-contact-card .icon-large {
  margin-bottom: 34px;
  filter: brightness(0) invert(1);
}

.faq-contact-card p {
  color: #d7e2e8;
}

.accordion {
  border-top: 2px solid var(--ink);
}

.accordion details {
  border-bottom: 1px solid var(--line);
}

.accordion summary {
  display: grid;
  grid-template-columns: 42px 1fr 28px;
  gap: 17px;
  align-items: center;
  min-height: 88px;
  padding: 18px 2px;
  list-style: none;
}

.accordion summary::-webkit-details-marker {
  display: none;
}

.accordion summary > span {
  color: var(--blue);
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
}

.accordion summary > strong {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.35rem;
  line-height: 1.15;
}

.accordion summary .icon {
  transition: transform 160ms ease;
}

.accordion details[open] summary {
  color: var(--blue);
}

.accordion details[open] summary .icon {
  transform: rotate(180deg);
}

.accordion details > div {
  padding: 0 46px 28px 59px;
}

.accordion details p {
  margin: 0;
  color: var(--muted);
}

.contact-section {
  background: var(--soft);
}

.contact-layout {
  display: grid;
  grid-template-columns: 0.72fr 1.28fr;
  gap: 0;
  align-items: start;
  box-shadow: var(--shadow);
}

.contact-panel {
  min-height: 100%;
  padding: clamp(34px, 5vw, 58px);
  color: #fff;
  background: var(--ink-2);
  border-top: 5px solid var(--gold);
}

.contact-panel .eyebrow {
  color: var(--gold-light);
}

.contact-company {
  margin-bottom: 28px;
  color: #b9c6cd;
}

.contact-methods {
  border-top: 1px solid rgb(255 255 255 / 14%);
}

.contact-methods > a {
  display: grid;
  grid-template-columns: 27px 1fr 18px;
  gap: 14px;
  align-items: center;
  min-height: 91px;
  border-bottom: 1px solid rgb(255 255 255 / 14%);
}

.contact-methods .icon,
.contact-methods .icon-large,
.address-block .icon-large {
  filter: brightness(0) invert(1);
}

.contact-methods span {
  display: grid;
  min-width: 0;
}

.contact-methods small,
.address-block small {
  color: #9eb0ba;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contact-methods strong {
  font-size: 0.82rem;
  overflow-wrap: anywhere;
}

.contact-methods > a:hover {
  color: var(--gold-light);
}

.address-block {
  display: flex;
  gap: 17px;
  margin-top: 30px;
}

.address-block p {
  margin: 5px 0 0;
  color: #d5dee3;
  font-size: 0.79rem;
  line-height: 1.65;
}

.external-note {
  margin: 27px 0 0;
  color: #8fa2ad;
  font-size: 0.7rem;
}

.rfq-form {
  min-width: 0;
  background: #fff;
}

.full-rfq {
  padding: clamp(36px, 5vw, 62px);
}

.compact-rfq {
  padding: 36px;
  background: var(--soft);
  border-top: 4px solid var(--blue);
}

.form-heading {
  margin-bottom: 30px;
}

.form-heading h2 {
  margin-bottom: 15px;
}

.form-heading > p:not(.eyebrow) {
  color: var(--muted);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 21px 18px;
}

.form-field {
  display: grid;
  min-width: 0;
  align-content: start;
}

.form-field-full {
  grid-column: 1 / -1;
}

.form-field > span {
  margin-bottom: 8px;
  color: var(--ink);
  font-size: 0.76rem;
  font-weight: 750;
}

.form-field em {
  color: var(--error);
  font-style: normal;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  min-height: 49px;
  padding: 11px 13px;
  background: #fff;
  border: 1px solid #aebbc3;
  border-radius: 0;
  outline: 0;
}

.form-field textarea {
  min-height: 114px;
  resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: var(--blue-bright);
  box-shadow: 0 0 0 3px rgb(11 107 159 / 17%);
}

.form-field.is-invalid input,
.form-field.is-invalid select,
.form-field.is-invalid textarea {
  border-color: var(--error);
}

.form-field > small:not(.field-error) {
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.67rem;
  line-height: 1.45;
}

.field-error {
  min-height: 0;
  margin-top: 5px;
  color: var(--error);
  font-size: 0.68rem;
  font-weight: 650;
}

.form-field.is-invalid .field-error {
  min-height: 1em;
}

.form-error-summary {
  margin-bottom: 24px;
  padding: 18px 20px;
  color: #711b1b;
  background: #fff2f2;
  border-left: 4px solid var(--error);
}

.form-error-summary strong {
  font-size: 0.82rem;
}

.form-error-summary ul {
  margin: 7px 0 0;
  padding-left: 20px;
  font-size: 0.76rem;
}

.required-note,
.form-handoff-note {
  margin: 22px 0 19px;
  color: var(--muted);
  font-size: 0.71rem;
}

.form-status {
  min-height: 1.3em;
  margin: 16px 0 0;
  color: var(--success);
  font-size: 0.78rem;
  font-weight: 700;
}

.contact-close {
  color: #fff;
  background: var(--blue);
}

.contact-close > .shell {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  gap: 25px;
  align-items: center;
  min-height: 170px;
}

.contact-close .icon-large,
.contact-close > .shell > a .icon {
  filter: brightness(0) invert(1);
}

.contact-close h2 {
  margin-bottom: 4px;
  font-size: 2.2rem;
}

.contact-close p {
  margin: 0;
  color: #d4e2ea;
}

.contact-close > .shell > a {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 48px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.45rem;
  font-weight: 600;
}

.site-footer {
  color: #fff;
  background: var(--ink);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 0.75fr 0.9fr 1.3fr;
  gap: clamp(28px, 5vw, 70px);
  padding-block: 74px 66px;
}

.footer-grid > div:not(.footer-brand) {
  display: grid;
  align-content: start;
  gap: 8px;
}

.footer-grid h2 {
  margin-bottom: 19px;
  color: var(--gold-light);
  font-family: "Inter", sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.footer-grid a,
.footer-grid p {
  color: #aebdc5;
  font-size: 0.77rem;
  line-height: 1.65;
}

.footer-grid a:hover {
  color: var(--gold-light);
}

.footer-lockup {
  min-width: 0;
  margin-bottom: 23px;
}

.footer-lockup .brand-copy strong {
  color: #fff;
}

.footer-lockup .brand-copy > span {
  color: var(--gold-light);
}

.footer-brand > p {
  max-width: 325px;
}

.footer-contact p {
  margin-bottom: 8px;
}

.footer-legal {
  border-top: 1px solid rgb(255 255 255 / 11%);
}

.footer-legal > .shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 70px;
  color: #83949e;
  font-size: 0.68rem;
}

.footer-legal a {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
}

.footer-legal .icon {
  filter: brightness(0) invert(1);
}

.quick-actions {
  position: fixed;
  z-index: 40;
  right: 18px;
  bottom: 18px;
  display: grid;
  gap: 3px;
  filter: drop-shadow(0 10px 20px rgb(7 19 29 / 22%));
}

.quick-actions a {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: #fff;
  background: var(--blue);
}

.quick-actions a:first-child {
  background: var(--gold);
}

.quick-actions a:hover {
  background: var(--ink);
}

.quick-actions .icon {
  filter: brightness(0) invert(1);
}

.quick-actions a:first-child .icon {
  filter: brightness(0) saturate(100%);
}

.image-dialog:not([open]) {
  display: none;
}

.image-dialog {
  width: min(1100px, calc(100% - 40px));
  max-width: none;
  max-height: calc(100dvh - 40px);
  padding: 0;
  color: #fff;
  background: var(--ink);
  border: 0;
  box-shadow: 0 30px 90px rgb(0 0 0 / 50%);
}

.image-dialog::backdrop {
  background: rgb(1 8 13 / 88%);
  backdrop-filter: blur(5px);
}

.image-dialog-frame {
  display: grid;
  max-height: calc(100dvh - 40px);
}

.image-dialog-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 68px;
  padding: 11px 18px 11px 24px;
  border-bottom: 1px solid rgb(255 255 255 / 13%);
}

.image-dialog-bar > div {
  display: grid;
}

.image-dialog-bar strong {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.25rem;
}

.image-counter {
  color: #9fb0ba;
  font-size: 0.69rem;
}

.image-dialog-close {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 10px;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
}

.image-dialog-close .icon,
.image-dialog-prev .icon,
.image-dialog-next .icon {
  filter: brightness(0) invert(1);
}

.image-dialog-media {
  position: relative;
  display: grid;
  min-height: 300px;
  max-height: calc(100dvh - 160px);
  place-items: center;
  overflow: hidden;
}

.image-dialog-media > img {
  width: 100%;
  height: 100%;
  max-height: calc(100dvh - 160px);
  object-fit: contain;
}

.image-dialog-prev,
.image-dialog-next {
  position: absolute;
  z-index: 2;
  top: 50%;
  display: grid;
  width: 50px;
  height: 60px;
  place-items: center;
  color: #fff;
  background: rgb(7 19 29 / 82%);
  transform: translateY(-50%);
}

.image-dialog-prev {
  left: 12px;
}

.image-dialog-next {
  right: 12px;
}

.image-dialog-prev:disabled,
.image-dialog-next:disabled {
  display: none;
}

.image-dialog-caption {
  min-height: 48px;
  margin: 0;
  padding: 12px 24px;
  color: #c1cdd3;
  border-top: 1px solid rgb(255 255 255 / 13%);
  font-size: 0.73rem;
}

@media (max-width: 1199px) {
  .header-contact {
    gap: 20px;
  }

  .header-contact > a:not(.header-rfq):first-child {
    display: none;
  }

  .product-grid,
  .archive-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .quality-input-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .footer-grid {
    grid-template-columns: 1.3fr 0.7fr 0.8fr 1.2fr;
    gap: 34px;
  }
}

@media (max-width: 1023px) {
  :root {
    --header-height: 72px;
  }

  .shell {
    width: min(calc(100% - 40px), var(--shell));
  }

  .header-main {
    height: 72px;
  }

  .header-main-inner {
    gap: 14px;
  }

  .brand-lockup {
    min-width: 0;
  }

  .brand-lockup > img {
    width: 31px;
    height: 41px;
  }

  .brand-copy strong {
    font-size: 1.2rem;
  }

  .brand-copy > span {
    font-size: 0.67rem;
  }

  .brand-copy small {
    display: none;
  }

  .header-contact,
  .nav-band {
    display: none;
  }

  .mobile-rfq,
  .menu-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
  }

  .mobile-rfq {
    margin-left: auto;
    padding: 0 15px;
    color: var(--ink);
    background: var(--gold);
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.08em;
  }

  .menu-button {
    gap: 8px;
    min-width: 78px;
    color: var(--ink);
    font-size: 0.72rem;
    font-weight: 750;
  }

  .home-hero {
    height: 590px;
    min-height: 590px;
  }

  .hero-slide-content {
    padding-bottom: 66px;
  }

  .hero-slide-content h1,
  .hero-slide-content h2 {
    max-width: 680px;
  }

  .hero-scrim {
    background: linear-gradient(90deg, rgb(4 14 22 / 94%), rgb(5 21 32 / 75%) 65%, rgb(5 21 32 / 32%));
  }

  .hero-controls {
    right: auto;
    left: 0;
    bottom: 20px;
  }

  .product-grid,
  .archive-grid,
  .gallery-grid-four,
  .quality-evidence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .story-grid,
  .editorial-grid,
  .knowledge-grid,
  .service-intro-grid,
  .after-sales-grid,
  .product-summary-grid,
  .product-information-grid,
  .product-enquiry-grid,
  .quality-intro-grid,
  .faq-layout,
  .contact-layout {
    grid-template-columns: 1fr;
  }

  .editorial-media,
  .service-visual,
  .after-sales-media {
    min-height: 380px;
  }

  .fit-strip > .shell {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .fit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 34px;
  }

  .quality-input-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quality-input-grid article:nth-child(5) {
    grid-column: span 1;
  }

  .quality-input-grid article:nth-child(7) {
    grid-column: span 2;
  }

  .quality-evidence-grid .gallery-item:first-child .gallery-media {
    aspect-ratio: 4 / 3;
  }

  .contact-panel {
    min-height: auto;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .shell {
    width: min(calc(100% - 32px), var(--shell));
  }

  h1 {
    font-size: clamp(2.65rem, 14vw, 4.2rem);
  }

  .hero-slide-content h1,
  .hero-slide-content h2 {
    font-size: clamp(2.65rem, 14vw, 4.2rem);
  }

  h2 {
    font-size: clamp(2.1rem, 10vw, 3.2rem);
  }

  .brand-copy > span {
    letter-spacing: 0.15em;
  }

  .home-hero {
    height: 640px;
    min-height: 640px;
  }

  .hero-slide:first-child .hero-slide-media img {
    object-position: center;
  }

  .hero-scrim {
    background: linear-gradient(180deg, rgb(4 14 22 / 48%) 0%, rgb(4 14 22 / 87%) 46%, rgb(4 14 22 / 98%) 100%);
  }

  .hero-slide-content {
    justify-content: flex-end;
    padding-bottom: 102px;
  }

  .hero-slide-content > p:not(.eyebrow) {
    font-size: 0.91rem;
  }

  .hero-controls {
    right: 0;
    bottom: 20px;
    justify-content: space-between;
  }

  .hero-controls [data-hero-action="pause"] .pause-label {
    display: none;
  }

  .section {
    padding-block: 72px;
  }

  .section-heading {
    display: block;
    margin-bottom: 34px;
  }

  .section-heading > p:not(.eyebrow) {
    margin-top: 17px;
  }

  .product-grid,
  .archive-grid {
    gap: 14px;
  }

  .product-card-copy {
    min-height: 166px;
    padding: 20px 18px 17px;
  }

  .story-mosaic {
    grid-template-rows: repeat(2, 130px);
  }

  .numbered-grid,
  .process-grid {
    grid-template-columns: 1fr;
  }

  .numbered-grid article,
  .process-grid article {
    min-height: auto;
  }

  .fit-grid {
    grid-template-columns: 1fr;
  }

  .fit-grid > div {
    padding-left: 20px;
  }

  .cta-band-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .interior-hero {
    height: 300px;
  }

  .breadcrumbs {
    margin-bottom: 20px;
  }

  .editorial-media,
  .service-visual,
  .after-sales-media {
    min-height: 300px;
  }

  .quality-input-grid {
    grid-template-columns: 1fr;
  }

  .quality-input-grid article:nth-child(7) {
    grid-column: span 1;
  }

  .archive-note,
  .documentation-note {
    align-items: flex-start;
    flex-direction: column;
  }

  .product-sequence {
    grid-template-columns: 1fr 1fr;
  }

  .product-sequence .back-products {
    grid-column: 1 / -1;
    grid-row: 1;
    min-height: 54px;
    border-inline: 0;
    border-bottom: 1px solid var(--line);
  }

  .discussion-panel,
  .compact-rfq,
  .full-rfq,
  .contact-panel {
    padding: 30px 24px;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-field-full {
    grid-column: auto;
  }

  .contact-close > .shell {
    grid-template-columns: 31px 1fr;
    padding-block: 30px;
  }

  .contact-close > .shell > a {
    grid-column: 2;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .quick-actions a:nth-child(2),
  .quick-actions a:nth-child(4) {
    display: none;
  }
}

@media (max-width: 620px) {
  .brand-copy strong {
    font-size: 1.08rem;
  }

  .brand-copy > span {
    font-size: 0.58rem;
  }

  .mobile-rfq {
    display: none;
  }

  .menu-button {
    margin-left: auto;
  }

  .home-hero {
    height: 660px;
    min-height: 660px;
  }

  .hero-slide-content .button-row {
    display: grid;
  }

  .hero-slide-content .button {
    width: 100%;
  }

  .hero-controls {
    width: 100%;
  }

  .hero-dots {
    flex: 1;
    justify-content: center;
  }

  .product-grid,
  .archive-grid,
  .gallery-grid-four,
  .quality-evidence-grid {
    grid-template-columns: 1fr;
  }

  .quality-evidence-grid .gallery-item:first-child {
    grid-column: span 1;
  }

  .product-card-media {
    aspect-ratio: 4 / 3;
  }

  .story-mosaic {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 220px 120px;
  }

  .story-mosaic button:first-child {
    grid-column: 1 / 3;
    grid-row: 1;
  }

  .story-mosaic button:nth-child(4) {
    display: none;
  }

  .tab-list {
    grid-template-columns: 1fr;
  }

  .tab-list button {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .filter-bar {
    display: grid;
  }

  .filter-bar a {
    min-height: 49px;
  }

  .result-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .product-sequence {
    grid-template-columns: 1fr;
  }

  .product-sequence .back-products,
  .product-sequence > a {
    grid-column: 1;
    grid-row: auto;
    border: 0;
    border-bottom: 1px solid var(--line);
  }

  .product-sequence > a:last-child {
    text-align: left;
    justify-content: flex-start;
  }

  .product-sequence > a:last-child span {
    order: 2;
  }

  .product-sequence > a:last-child > .icon {
    order: 1;
    transform: rotate(180deg);
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-legal > .shell {
    align-items: flex-start;
    flex-direction: column;
    padding-block: 18px;
  }

  .quick-actions {
    right: 8px;
    bottom: 8px;
  }
}

@media (max-width: 380px) {
  .shell {
    width: min(calc(100% - 24px), var(--shell));
  }

  .brand-lockup {
    gap: 8px;
  }

  .brand-lockup > img {
    width: 27px;
    height: 36px;
  }

  .brand-copy strong {
    font-size: 0.96rem;
  }

  .brand-copy > span {
    font-size: 0.51rem;
  }

  .menu-button {
    min-width: 68px;
  }

  .home-hero {
    height: 680px;
    min-height: 680px;
  }

  .hero-controls > button {
    min-width: 42px;
  }

  .hero-dots {
    gap: 7px;
    padding-inline: 8px;
  }

  .button {
    width: 100%;
  }

  .story-mosaic {
    grid-template-rows: 190px 100px;
  }

  .discussion-panel,
  .compact-rfq,
  .full-rfq,
  .contact-panel {
    padding-inline: 19px;
  }

  .accordion summary {
    grid-template-columns: 31px 1fr 22px;
    gap: 10px;
  }

  .accordion details > div {
    padding-left: 41px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto ;
    transition-duration: 0.01ms ;
    animation-duration: 0.01ms ;
    animation-iteration-count: 1 ;
  }
}

/* Exact-reference foundation: BottleMould shell/Home and Sampro-style product anatomy. */
:root { --blue:#014b83; --blue-bright:#0067b4; --ink:#333; --soft:#efefef; --line:#dbdbdb; --header-height:140px; }
body { font-family:Arial, "Microsoft YaHei", sans-serif; font-size:14px; line-height:1.45; color:#333; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
h1,h2,h3,h4 { font-family:Arial, "Microsoft YaHei", sans-serif; font-weight:500; letter-spacing:0; }
.header-main { height:100px; border:0; } .brand-lockup { min-width:290px; } .brand-lockup > img { width:47px; height:60px; } .brand-copy strong { background:none; color:#014b83; font-family:Arial,sans-serif; font-size:20px; } .brand-copy > span { color:#333; font-size:11px; } .brand-copy small { font-size:8px; color:#777; }
.header-contact { display:flex; align-items:center; gap:30px; } .header-contact a { display:flex; align-items:center; gap:8px; } .header-contact .icon { width:20px; height:20px; } .header-contact small,.header-locale small { display:block; color:#999; font-size:11px; } .header-contact strong,.header-locale strong { font-size:12px; font-weight:400; } .header-locale { line-height:1.3; }
.nav-band { height:40px; background:#595959; } .desktop-nav { display:grid; grid-template-columns:repeat(7,1fr); width:min(1200px,calc(100% - 40px)); height:40px; } .nav-item { position:relative; height:40px; border-left:1px solid #747474; } .nav-item:last-child { border-right:1px solid #747474; } .nav-link { display:flex; height:40px; align-items:center; justify-content:center; color:#fff; font-size:15px; } .nav-item.is-active>.nav-link,.nav-item:hover>.nav-link { background:#707375; } .subnav-toggle { display:none; } .subnav { top:40px; left:-1px; width:170px; padding:0; background:#666; border:0; } .has-subnav:hover>.subnav,.has-subnav:focus-within>.subnav,.has-subnav.is-open>.subnav { display:block; } .subnav a { min-height:34px; height:34px; padding:0 14px; color:#fff; border-bottom:1px solid #777; font-size:13px; } .subnav .icon { display:none; } .mobile-rfq,.menu-button,.mobile-drawer { display:none; }
.site-footer { height:260px; background:#252326; } .footer-grid { grid-template-columns:repeat(4,1fr); gap:30px; height:180px; padding:34px 0 18px; } .footer-grid h2 { color:#fff; font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; margin-bottom:10px; } .footer-grid a,.footer-grid p { color:#bbb; font-size:12px; line-height:1.45; margin:0 0 5px; } .footer-grid>div:not(.footer-brand) { gap:2px; } .footer-qr img { width:78px; height:78px; background:#fff; padding:3px; } .footer-legal { height:80px; background:#000; border:0; } .footer-legal>.shell { min-height:80px; color:#888; font-size:12px; } .quick-actions { position:fixed; z-index:40; right:0; top:50%; bottom:auto; display:flex; width:44px; height:180px; align-items:center; justify-content:center; flex-direction:column; gap:14px; color:#fff; background:#0067b4; filter:none; transform:translateY(-50%); }
.quick-actions .icon { width:22px; height:22px; filter:brightness(0) invert(1); } .quick-actions span { font-size:12px; font-weight:700; letter-spacing:2px; writing-mode:vertical-rl; }
.home-hero { height:570px; min-height:570px; background:#111; } .hero-scrim,.hero-slide-content { display:none; } .hero-dots { position:absolute; z-index:5; bottom:18px; left:50%; display:flex; gap:9px; padding:0; border:0; transform:translateX(-50%); } .hero-dots button { width:9px; height:9px; min-height:0; background:#ddd; border-radius:50%; } .hero-dots button::before { display:none; } .hero-dots button[aria-current="true"] { width:9px; background:#0067b4; }
.reference-heading { text-align:center; } .reference-heading h2 { margin:0 0 8px; color:#014b83; font-size:30px; line-height:33px; } .reference-heading p { color:#666; font-size:14px; margin:0; } .home-moulds { height:559px; padding-top:55px; overflow:hidden; } .home-product-rail { display:grid; grid-template-columns:35px 1fr 35px; align-items:center; margin-top:40px; } .home-product-rail>button { width:35px; height:220px; } .home-product-rail>button .icon { width:20px; height:20px; } .home-product-window { display:flex; gap:20px; overflow:hidden; } .home-rail-card { flex:0 0 calc((100% - 40px)/3); } .home-rail-card img { width:100%; height:210px; object-fit:cover; } .home-rail-card span { display:none; } .reference-action { display:flex; justify-content:center; margin-top:35px; } .reference-action a,.reference-button { display:inline-grid; width:200px; height:38px; place-items:center; border:1px solid #014b83; color:#014b83; font-size:14px; }
.home-about { height:813px; padding-top:48px; background:#efefef; overflow:hidden; } .home-about>.shell { position:relative; } .home-about-split { display:grid; grid-template-columns:600px minmax(0,1fr); gap:48px; margin:34px 0 45px; } .about-main-media { position:relative; height:338px; overflow:hidden; } .about-main-media img { width:100%; height:100%; object-fit:cover; } .about-main-media span { position:absolute; top:50%; left:50%; display:grid; width:50px; height:50px; place-items:center; color:#fff; background:transparent; border:3px solid #fff; border-radius:50%; transform:translate(-50%,-50%); } .home-about-split article { min-width:0; padding:8px 0 0; color:#696969; font-size:14px; line-height:1.8; } .home-about-split article h3 { margin:0 0 30px; color:#014b83; font-size:20px; font-weight:700; line-height:1.2; } .home-about-split article p { margin:0 0 14px; } .home-about-details { position:absolute; z-index:2; top:377px; left:647px; display:grid; width:130px; height:30px; margin:0; place-items:center; color:#fff; background:#014b83; border-radius:10px; font-size:14px; } .home-company-rail { display:block; width:100%; margin:0; overflow:hidden; } .home-company-track { display:flex; width:max-content; animation:company-reference-scroll 120s linear infinite; will-change:transform; } .home-company-set { display:flex; } .home-company-set>button,.home-company-clone { display:grid; flex:0 0 284px; width:284px; height:219px; margin-right:16px; grid-template-rows:195px 24px; overflow:hidden; } .home-company-set>button { cursor:zoom-in; } .home-company-rail img { width:100%; height:195px; border:1px solid #ccc; object-fit:cover; transition:opacity .5s linear; } .home-company-rail span { display:block; overflow:hidden; color:#333; background:transparent; font-size:14px; line-height:24px; text-align:center; text-overflow:ellipsis; white-space:nowrap; transition:color .2s linear; } .home-company-set>button:hover img,.home-company-set>button:focus-visible img { opacity:.78; } .home-company-set>button:hover span,.home-company-set>button:focus-visible span { color:#014b83; } .home-company-rail:hover .home-company-track,.home-company-rail:focus-within .home-company-track { animation-play-state:paused; }
.home-news { height:481px; padding-top:42px; background:#fff; overflow:hidden; }
.home-news-grid { display:grid; grid-template-columns:403px minmax(0,1fr); gap:42px; margin-top:28px; }
.news-faq,.news-list { min-width:0; min-height:358px; padding:0; background:#efefef; }
.news-panel-head,.news-tabs>[role=tablist] { height:50px; }
.news-panel-head { display:flex; align-items:center; justify-content:space-between; padding:0 24px; color:#fff; background:#0067a8; }
.news-panel-head h3 { margin:0; color:#fff; font-size:16px; }
.news-panel-head a { color:#fff; font-size:10px; }
.news-faq-content { padding:34px 25px 0; }
.news-faq-question,.news-faq-answer { display:grid; grid-template-columns:24px minmax(0,1fr); gap:9px; align-items:start; }
.news-faq-question { margin-bottom:16px; }
.news-faq-question span,.news-faq-answer span { display:grid; width:24px; height:24px; place-items:center; color:#fff; background:#0067a8; font-weight:700; }
.news-faq-answer span { background:#777; }
.news-faq-question strong { padding-top:3px; font-size:14px; font-weight:500; }
.news-faq-answer p { margin:1px 0 0; padding:0 0 25px; border-bottom:1px solid #d8d8d8; color:#777; font-size:12px; line-height:1.65; }
.news-tabs>[role=tablist] { display:grid; grid-template-columns:1fr 1fr; border:0; }
.news-tabs>[role=tablist] button { display:flex; min-width:0; height:50px; align-items:center; justify-content:space-between; padding:0 22px; color:#fff; background:#333; font-size:14px; text-align:left; }
.news-tabs>[role=tablist] button[aria-selected="true"] { color:#fff; background:#0067a8; }
.news-tabs>[role=tablist] small { color:inherit; font-size:10px; }
.news-tabs [role=tabpanel] { display:grid; grid-template-columns:385px minmax(0,1fr); gap:28px; padding:28px 26px; }
.news-tabs [role=tabpanel][hidden] { display:none; }
.news-thumb-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(2,105px); gap:5px; width:385px; }
.news-thumb-grid button { width:100%; height:105px; overflow:hidden; cursor:zoom-in; }
.news-thumb-grid img { width:100%; height:105px; object-fit:cover; transition:transform .35s ease; }
.news-thumb-grid button:hover img,.news-thumb-grid button:focus-visible img { transform:scale(1.06); }
.news-tabs [role=tabpanel] article { min-width:0; }
.news-tabs h3,.news-tabs p { margin:0 0 18px; }
.news-tabs h3 { font-size:15px; font-weight:600; }
.news-tabs p { color:#777; font-size:12px; line-height:1.7; }
.news-tabs a { color:#014b83; font-size:12px; }
.home-evidence { height:405px; padding-top:42px; overflow:hidden; } .evidence-rail { display:flex; gap:16px; margin-top:28px; overflow:hidden; } .evidence-rail img { flex:0 0 185px; width:185px; height:220px; object-fit:cover; }
.product-breadcrumb { height:64px; display:flex; align-items:center; } .product-breadcrumb .breadcrumbs { margin:0; } .product-reference-field { padding:0 42px 55px; background:#efefef; } .product-reference-panel { max-width:1344px; margin:auto; padding:34px; background:#fff; } .product-reference-summary { display:grid; grid-template-columns:52% 48%; gap:38px; } .product-reference-media>button { position:relative; display:block; width:100%; background:#f5f5f5; } .product-reference-media>button>img { width:100%; max-height:560px; object-fit:contain; } .product-reference-media>button>span { position:absolute; top:50%; left:10px; color:#777; font-size:36px; } .product-reference-media>div { display:flex; align-items:center; gap:10px; padding-top:10px; } .product-reference-media>div button { width:74px; height:70px; border:1px solid #ddd; } .product-reference-media>div img { width:100%; height:100%; object-fit:cover; } .product-reference-media>div i { font-size:28px; font-style:normal; } .product-reference-summary h1 { color:#014b83; font-size:28px; } .product-reference-summary article>p { color:#666; } .product-reference-summary dl>div { display:flex; gap:12px; padding:7px 0; border-bottom:1px solid #eee; } .product-reference-summary dt { color:#777; min-width:85px; } .product-reference-summary dd { margin:0; } .product-reference-summary article a:not(.reference-button) { color:#014b83; } .product-reference-summary .reference-button { width:145px; margin:0 8px 8px 0; }
.product-reference-details { margin-top:35px; } .product-reference-details h2,.product-quote-form h2,#related-products>h2 { color:#014b83; font-size:22px; border-bottom:2px solid #014b83; padding-bottom:9px; } .product-reference-details table { width:100%; margin:16px 0 26px; border-collapse:collapse; font-size:13px; } .product-reference-details th,.product-reference-details td { padding:9px 14px; border:1px solid #ddd; text-align:left; font-weight:400; } .product-reference-details th { width:30%; background:#f5f5f5; } .product-reference-details td { color:#777; } .keyword-row { padding:12px; background:#f5f5f5; }.product-quote-form { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:32px; padding:25px; background:#f5f5f5; } .product-quote-form h2,.product-quote-form label:last-of-type { grid-column:1/-1; } .product-quote-form label { display:grid; gap:6px; color:#555; }.product-quote-form input,.product-quote-form textarea { min-height:35px; padding:7px; border:1px solid #ccc; background:#fff; }.product-quote-form textarea { min-height:90px; }.product-quote-form button { grid-column:1/-1; width:180px; height:38px; color:#fff; background:#014b83; } #related-products { margin-top:42px; } .related-grid { grid-template-columns:repeat(4,1fr); gap:14px; } .related-grid .product-card-copy { min-height:70px; padding:10px; } .related-grid .card-kicker,.related-grid .card-link { display:none; } .related-grid .product-card strong { font-size:13px; }
@media (max-width:767px) { .shell { width:calc(100% - 28px); } .header-main{height:72px}.header-contact,.nav-band{display:none}.menu-button{display:flex}.mobile-rfq{display:inline}.home-hero{height:360px;min-height:360px}.home-moulds{height:auto;padding-bottom:45px}.home-product-rail{grid-template-columns:25px 1fr 25px}.home-product-rail>button{height:190px}.home-rail-card{flex-basis:100%}.home-about{height:auto;padding-bottom:38px}.home-about-split{grid-template-columns:1fr;margin:25px 0}.home-company-rail{grid-template-columns:repeat(2,1fr);margin:0}.home-company-rail button{height:120px}.home-news{height:auto;padding-bottom:35px}.home-news-grid{grid-template-columns:1fr}.home-evidence{height:auto;padding-bottom:35px}.product-breadcrumb{height:48px}.product-reference-field{padding:0 10px 30px}.product-reference-panel{padding:18px}.product-reference-summary{grid-template-columns:1fr;gap:20px}.product-reference-media>button>img{max-height:none}.product-quote-form{grid-template-columns:1fr}.related-grid{grid-template-columns:repeat(2,1fr)}.site-footer{height:auto}.footer-grid{height:auto;grid-template-columns:repeat(2,1fr);padding:28px 0}.footer-legal{height:55px}.footer-legal>.shell{min-height:55px}.quick-actions{top:auto;bottom:100px} }

/* Remaining exact-reference templates and safety repair. */
.nav-item.is-active>.nav-link,.nav-item.is-active>.nav-link::before,.nav-item.is-active>.nav-link::after { color:#fff; background:#707375; border:0; box-shadow:none; text-decoration:none; }
.home-about { background:#efefef; }
.product-reference-summary { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); } .product-reference-summary>* { min-width:0; } .related-grid .product-card-media { aspect-ratio:1/.8; } .related-grid .product-card-media img { object-fit:cover; }
.sampro-banner { position:relative; height:440px; overflow:hidden; background:#333; } .sampro-banner>img { width:100%; height:100%; object-fit:cover; opacity:.67; } .sampro-banner>div { position:absolute; inset:0; display:grid; place-content:center; color:#fff; text-align:center; } .sampro-banner h1 { margin:0; font-size:38px; }.sampro-banner p { margin:9px 0; }.sampro-contact-banner { height:208px; display:grid; place-content:center; color:#fff; text-align:center; background:#555; }.sampro-contact-banner h1 { margin:0; font-size:34px; }.sampro-contact-banner p { margin:8px 0; }.sampro-crumb { height:65px; display:flex; align-items:center; }.sampro-crumb .breadcrumbs { margin:0; }.sampro-field { padding:38px 42px 62px; background:#efefef; }.sampro-panel { max-width:1344px; margin:auto; padding:42px; background:#fff; }.sampro-panel>header { max-width:900px; margin:0 auto 32px; text-align:center; }.sampro-panel>header h2 { color:#014b83; font-size:30px; }.sampro-panel>header p { color:#555; }.sampro-proof-grid,.sampro-document-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }.sampro-proof { min-width:0; border:1px solid #e1e1e1; background:#fff; }.sampro-proof button { display:block; width:100%; }.sampro-proof img { width:100%; height:150px; object-fit:cover; }.sampro-proof h3 { margin:12px 12px 5px; color:#014b83; font-size:15px; }.sampro-proof p { min-height:35px; margin:0 12px 12px; color:#777; font-size:12px; }.sampro-document-grid { margin-top:34px; }.sampro-document-grid .sampro-proof img { height:220px; object-fit:cover; }.sampro-contact-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:55px; }.sampro-contact-panel h2 { color:#014b83; font-size:27px; }.sampro-contact-panel article>p { margin:4px 0; }.sampro-contact-panel dl { margin-top:28px; }.sampro-contact-panel dl>div { display:grid; grid-template-columns:110px 1fr; padding:13px 0; border-bottom:1px solid #ddd; }.sampro-contact-panel dt { color:#777; }.sampro-contact-panel dd { margin:0; }.sampro-contact-panel a { color:#014b83; }.sampro-contact-form { display:grid; gap:14px; }.sampro-contact-form>p { color:#666; }.sampro-contact-form label { display:grid; gap:6px; color:#555; }.sampro-contact-form input,.sampro-contact-form textarea { width:100%; min-height:38px; padding:8px; border:1px solid #ccc; }.sampro-contact-form textarea { min-height:110px; }.sampro-contact-form button { width:100%; height:42px; color:#fff; background:#014b83; }.sampro-contact-form .form-status { margin:0; color:#555; }
/* BottleMould inner-template restraint: flat fields, square media, reference-density typography. */
.interior-hero { height:300px; }.interior-hero-content h1 { font-size:38px; }.section { padding-block:58px; }.section-soft { background:#efefef; }.section-heading h2 { color:#014b83; font-size:30px; }.gallery-grid-four,.archive-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.gallery-item,.product-card { border:1px solid #ddd; box-shadow:none; transform:none; }.gallery-item button,.product-card>a { border-radius:0; }.product-card-copy { min-height:90px; padding:13px; }.product-card .card-kicker,.product-card .card-link { font-size:11px; }.filter-bar { border-color:#ddd; }.pagination a,.pagination button { border-radius:0; }.cta-band,.fit-strip,.contact-close { display:none; }
@media (max-width:767px) { body { min-width:0; overflow-x:hidden; }.header-main-inner { width:calc(100% - 18px); }.brand-lockup { min-width:0; gap:5px; max-width:calc(100% - 110px); }.brand-lockup>img { width:29px; height:38px; }.brand-copy strong { font-size:13px; white-space:nowrap; }.brand-copy>span { font-size:7px; white-space:nowrap; }.brand-copy small { display:none; }.mobile-rfq { min-width:31px; padding:0; font-size:11px; }.menu-button { min-width:44px; gap:2px; font-size:10px; }.menu-button .icon { width:15px; height:15px; }.home-company-rail { display:flex; overflow-x:auto; gap:10px; margin:0; }.home-company-rail button { flex-basis:calc((100% - 10px)/2); }.sampro-banner { height:118px; }.sampro-banner h1 { font-size:27px; }.sampro-contact-banner { height:160px; }.sampro-crumb { height:44px; }.sampro-field { padding:18px 10px 32px; }.sampro-panel { padding:20px; }.sampro-proof-grid,.sampro-document-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.sampro-proof img { height:120px; }.sampro-document-grid .sampro-proof img { height:165px; }.sampro-contact-panel { grid-template-columns:1fr; gap:28px; }.sampro-contact-panel dl>div { grid-template-columns:82px 1fr; }.gallery-grid-four,.archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.interior-hero { height:180px; }.product-reference-summary { grid-template-columns:minmax(0,1fr); } }
@media (max-width:320px) { .brand-copy>span { display:none; }.brand-lockup { max-width:calc(100% - 94px); }.mobile-rfq { font-size:10px; }.menu-button { min-width:40px; } }

/* Final exact-reference layer: flat BottleMould anatomy with CC-owned content. */
.nav-item::after { display:none; }
.nav-link { min-height:40px; padding:0 8px; font-size:14px; font-weight:400; letter-spacing:0; text-transform:none; }
.has-subnav .nav-link { padding-right:8px; }
.nav-item.is-active>.nav-link,.nav-item:hover>.nav-link,.nav-item:focus-within>.nav-link { color:#fff; background:#707375; }
.subnav { display:none; opacity:1; pointer-events:auto; transform:none; box-shadow:none; }
.header-contact { gap:22px; }
.header-contact a,.header-contact span { min-width:0; }
.header-contact small,.header-locale small { letter-spacing:0; text-transform:none; }
.header-contact strong,.header-locale strong { white-space:nowrap; }
.menu-button { text-transform:none; letter-spacing:0; }

.reference-heading { position:relative; }
.reference-heading::before { position:absolute; z-index:0; top:16px; right:0; left:0; height:1px; content:""; background:#d8d8d8; }
.reference-heading h2 { position:relative; z-index:1; width:max-content; margin:0 auto 8px; padding:0 46px; background:#fff; }
.home-about .reference-heading h2 { background:#efefef; }
.home-moulds { padding-top:40px; }
.home-product-rail { position:relative; display:block; margin-top:30px; }
.home-product-rail>button { position:absolute; z-index:2; top:0; left:-77px; width:60px; height:298px; }
.home-product-rail>button:last-child { right:-77px; left:auto; }
.home-product-window { width:100%; gap:32px; }
.home-rail-card { flex:0 0 calc((100% - 64px)/3); overflow:hidden; box-shadow:none; transform:none; }
.home-rail-card a { display:block; height:298px; overflow:hidden; }
.home-rail-card img { display:block; height:298px; transition:transform .6s ease; }
.home-rail-card:hover img,.home-rail-card:focus-within img { transform:scale(1.2); }
.reference-action { margin-top:45px; }
.home-about-split { grid-template-columns:600px minmax(0,1fr); gap:48px; margin:34px 0 45px; }
.about-main-media { height:338px; }
.home-company-rail { display:block; width:100%; margin:0; overflow:hidden; }
.home-news { padding-top:40px; background:#fff; }
.home-news-grid { grid-template-columns:403px minmax(0,1fr); gap:42px; height:358px; margin-top:22px; }
.news-faq,.news-list { min-height:358px; background:#efefef; }
.home-evidence { height:405px; padding-top:42px; }
.home-evidence .shell { overflow:hidden; }
.evidence-rail { display:block; width:100%; margin:32px 0 0; overflow:hidden; }
.evidence-marquee-track { display:flex; width:max-content; animation:evidence-reference-scroll 100s linear infinite; will-change:transform; }
.evidence-set { display:flex; gap:18px; padding-right:18px; }
.evidence-set img { flex:0 0 185px; width:185px; height:220px; border:1px solid #ddd; background:#f5f5f5; object-fit:cover; filter:none; }
.evidence-rail:hover .evidence-marquee-track,.evidence-rail:focus-within .evidence-marquee-track { animation-play-state:paused; }
@keyframes company-reference-scroll { to { transform:translateX(-50%); } }
@keyframes evidence-reference-scroll { to { transform:translateX(-50%); } }

.image-only-hero { height:514px; overflow:hidden; background:#ddd; }
.image-only-hero img { width:100%; height:100%; object-fit:cover; }
body:has(.product-archive-reference) .image-only-hero { height:472px; }
body:has(.cases-reference) .image-only-hero { height:520px; }

.inner-subnav { display:flex; align-items:stretch; justify-content:center; min-height:50px; margin:0; border-bottom:1px solid #d5d5d5; background:#fff; }
.inner-subnav a { position:relative; display:grid; min-width:155px; min-height:50px; padding:0 22px; place-items:center; color:#333; font-family:Arial,"Microsoft YaHei",sans-serif; font-size:14px; }
.inner-subnav a.is-active { color:#014b83; }
.inner-subnav a.is-active::after { position:absolute; right:12px; bottom:0; left:12px; height:3px; content:""; background:#014b83; }
.service-subnav a { min-width:190px; }

.plain-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:46px 34px; }
.plain-tile,.plain-tile button { min-width:0; width:100%; }
.plain-tile img { width:100%; height:200px; object-fit:cover; background:#ddd; }
.plain-tile span { display:block; padding:9px 4px 0; color:#333; font-size:14px; line-height:1.35; text-align:center; }
.source-pager,.pagination.source-pager { display:flex; align-items:center; justify-content:center; gap:0; margin:42px auto 0; }
.source-pager a,.source-pager button,.pagination.source-pager a,.pagination.source-pager button { display:grid; min-width:38px; height:38px; margin:0; padding:0 11px; place-items:center; color:#666; background:#fff; border:1px solid #d7d7d7; border-right:0; border-radius:0; font-size:13px; }
.source-pager a:last-child,.source-pager button:last-child { border-right:1px solid #d7d7d7; }
.source-pager [aria-current="page"],.pagination.source-pager [aria-current="page"] { color:#014b83; background:#f7f7f7; }

.about-continuous-field { min-height:1020px; padding:24px 0 34px; background:#efefef; }
.about-upper-row,.about-lower-row { display:grid; grid-template-columns:1fr 1fr; min-height:480px; }
.about-upper-row>article,.about-lower-row>article { display:flex; flex-direction:column; justify-content:center; padding:48px 68px; font-size:14px; line-height:2; }
.about-upper-row h2,.about-lower-row h2 { color:#014b83; font-size:21px; line-height:1.25; }
.about-upper-row>div:not(.about-2x2-mosaic),.about-upper-row>div:not(.about-2x2-mosaic)>img { width:100%; height:480px; object-fit:cover; }
.about-2x2-mosaic { display:grid; grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,235px); gap:4px; }
.about-2x2-mosaic .plain-tile img { height:235px; }
.about-2x2-mosaic .plain-tile span { display:none; }

.flat-archive { background:#efefef; }
.album-archive { min-height:958px; padding:50px 0 55px; }
.album-archive .plain-grid { grid-template-rows:repeat(3,1fr); }

.product-archive-reference { min-height:1029px; padding:0 0 48px; overflow:hidden; background:#efefef; }
.product-label-strip { display:flex; align-items:stretch; justify-content:center; height:50px; margin-bottom:30px; background:#fff; box-shadow:0 0 0 100vmax #fff; clip-path:inset(0 -100vmax); }
.product-label-strip a { display:grid; min-width:210px; height:50px; padding:0 22px; place-items:center; color:#333; font-size:14px; }
.product-label-strip a.is-active,.product-label-strip a[aria-current="page"] { color:#014b83; }
.plain-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:42px 20px; }
.plain-product-grid .product-card { border:0; background:transparent; box-shadow:none; }
.plain-product-grid .product-card>a { display:block; }
.plain-product-grid .product-card-media { display:block; width:100%; height:218px; aspect-ratio:auto; overflow:hidden; background:#ddd; }
.plain-product-grid .product-card-media img { width:100%; height:100%; object-fit:cover; }
.plain-product-grid .product-card-copy { display:block; min-height:38px; padding:9px 3px 0; text-align:center; }
.plain-product-grid .product-card-copy strong { display:block; color:#333; font-family:Arial,"Microsoft YaHei",sans-serif; font-size:14px; font-weight:400; line-height:1.35; }
.plain-product-grid .card-kicker,.plain-product-grid .card-link { display:none; }

.cases-reference { min-height:370px; padding:30px 0 55px; background:#fff; }
.cases-four-grid { gap:20px; }
.cases-four-grid .plain-tile img { height:260px; }

.solutions-reference { min-height:1240px; padding:0 0 55px; background:#efefef; }
.solution-icon-categories { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); min-height:174px; margin-bottom:38px; background:#fff; box-shadow:0 0 0 100vmax #fff; clip-path:inset(0 -100vmax); }
.solution-icon-categories a { display:flex; min-width:0; align-items:center; justify-content:center; flex-direction:column; gap:12px; padding:20px 7px; color:#555; font-size:12px; line-height:1.2; text-align:center; }
.solution-category-icon { width:34px; height:34px; opacity:.72; filter:invert(25%) sepia(18%) saturate(930%) hue-rotate(155deg); }
.sample-plain-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:42px 20px; }
.sample-plain-grid>[data-solution-card] { min-width:0; }
.sample-plain-grid .plain-tile img { height:218px; object-fit:contain; background:#e9e9e9; }

.service-reference { min-height:1770px; padding:28px 0 54px; background:#efefef; }
.service-form-layout { display:grid; grid-template-columns:1fr; max-width:1120px; margin:auto; padding:30px 40px 48px; background:#fff; }
.dense-project-form { display:grid; gap:0; }
.dense-project-form h2 { margin:0 0 8px; color:#014b83; font-size:24px; }
.dense-project-form>p { margin-bottom:24px; color:#666; }
.dense-project-form>label,.dense-project-form>fieldset { display:grid; grid-template-columns:190px minmax(0,1fr); align-items:center; min-width:0; min-height:55px; margin:0; padding:7px 0; border:0; }
.dense-project-form>label { position:relative; }
.dense-project-form>label>em { position:absolute; top:17px; left:180px; }
.dense-project-form>label>input,.dense-project-form>label>textarea { width:100%; min-width:0; height:36px; padding:7px 10px; border:1px solid #d5d5d5; background:#fff; }
.dense-project-form>label>textarea { min-height:84px; resize:vertical; }
.dense-project-form>fieldset { grid-template-columns:190px auto auto 1fr; gap:22px; }
.dense-project-form legend { display:contents; }
.dense-project-form fieldset label { display:flex; align-items:center; gap:8px; }
.dense-project-form em,.sampro-contact-form em,.product-quote-form em { color:#ee681f; font-style:normal; }
.dense-project-form>button { width:250px; height:42px; margin:26px auto 8px; color:#fff; background:#0878bf; }
.dense-project-form .form-status { min-height:20px; margin:0; text-align:center; }
.service-diagram-role { margin:46px 0 0; }
.service-diagram-role img { width:100%; height:420px; object-fit:cover; }
.service-diagram-role figcaption { padding:10px; color:#666; background:#f5f5f5; font-size:12px; text-align:center; }
.service-reference #after-sales { max-width:1120px; margin:28px auto 0; padding:25px 40px; background:#fff; }
.service-reference #after-sales h2 { color:#014b83; font-size:22px; }
.service-reference #after-sales a { color:#014b83; text-decoration:underline; }

.faq-archive { min-height:600px; padding:32px 0 0; background:linear-gradient(to bottom,#efefef 0,#efefef 360px,#fff 360px,#fff 100%); }
.simple-archive-rows { border-top:1px dashed #c8c8c8; }
.faq-row { display:grid; grid-template-columns:1fr 100px; gap:20px; align-items:center; min-width:0; min-height:74px; padding:12px 0; border-bottom:1px dashed #c8c8c8; }
.faq-row>div { min-width:0; }
.faq-row h2 { margin:0 0 4px; color:#333; font-size:14px; font-weight:400; }
.faq-row p { margin:0; color:#777; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.faq-row>a { color:#666; font-size:12px; text-align:right; }
.faq-archive .source-pager { margin-top:20px; }

.sampro-banner { height:649px; }
.sampro-banner>img { opacity:1; }
.sampro-panel>header { max-width:none; margin:0 0 32px; text-align:left; }
.sampro-panel>header h1 { margin:0 0 5px; color:#014b83; font-size:30px; }
.sampro-panel>header h2 { margin:0 0 10px; font-size:23px; }
.photographic-contact-banner { position:relative; isolation:isolate; height:208px; overflow:hidden; background:#333; }
.photographic-contact-banner>img { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; }
.photographic-contact-banner::after { position:absolute; z-index:-1; inset:0; content:""; background:rgb(0 0 0/.42); }
.photographic-contact-banner h1,.photographic-contact-banner p { position:relative; z-index:1; }
.sampro-contact-panel dl>div { grid-template-columns:145px 1fr; min-height:58px; align-items:center; }
.sampro-contact-panel dt { display:flex; align-items:center; gap:10px; }
.sampro-contact-panel dt .icon { width:18px; height:18px; opacity:.65; }

.product-reference-media .product-primary-frame { position:relative; display:block; padding:0; min-height:510px; background:#f4f4f4; }
.product-primary-zoom { display:grid; grid-template: minmax(0,1fr) / minmax(0,1fr); padding:0; width:100%; height:510px; place-items:center; }
.product-primary-zoom img { width:100%; height:100%; object-fit:contain; }
.product-reference-media .product-primary-frame>.product-primary-zoom { display:grid; width:100%; height:510px; border:0; place-items:center; }
.product-reference-media .product-primary-frame>.product-primary-zoom>img { display:block; min-width:0; min-height:0; width:100%; height:100%; max-height:100%; object-fit:contain; }
.breadcrumbs a,.breadcrumbs span[aria-current="page"] { color:#65727a; }
.product-reference-summary dt,.product-reference-details td,.sampro-proof p,.sampro-contact-panel dt { color:#6d6d6d; }
.product-primary-frame>.detail-prev,.product-primary-frame>.detail-next { position:absolute; z-index:2; top:50%; display:grid; width:34px; height:54px; place-items:center; color:#888; background:rgb(255 255 255/.78); transform:translateY(-50%); }
.product-primary-frame>.detail-prev { left:0; }
.product-primary-frame>.detail-next { right:0; }
.product-primary-frame>button:disabled,.product-thumb-rail>button:disabled { cursor:default; opacity:.5; }
.product-thumb-rail { display:flex; align-items:center; gap:10px; min-height:82px; padding-top:10px; }
.product-thumb-rail>.detail-thumb-prev,.product-thumb-rail>.detail-thumb-next { display:grid; width:30px; height:70px; place-items:center; font-size:24px; }
.product-thumb-rail>.detail-thumb { width:74px; height:70px; border:1px solid #014b83; }
.detail-filled-tab { border-bottom:2px solid #014b83; }
.detail-filled-tab span { display:inline-grid; min-width:160px; height:42px; padding:0 24px; place-items:center; color:#fff; background:#014b83; font-size:15px; }
.product-reference-details table { margin-top:18px; }
.related-grid>.related-card { min-width:0; }
.related-grid .product-card { height:100%; }

@media (max-width:1000px) and (min-width:768px) {
  .header-contact { gap:10px; }
  .header-contact strong { font-size:10px; }
  .header-locale { display:none; }
  .plain-grid,.plain-product-grid,.sample-plain-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .solution-icon-categories { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .home-about-split { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
  .home-about-details { position:static; margin-top:24px; }
}

@media (max-width:1023px) {
  .menu-button { display:flex; }
  .mobile-drawer[open] { display:block; }
}

@media (max-width:767px) {
  .header-main { height:72px; }
  .mobile-rfq { display:none; }
  .menu-button { display:flex; }
  .mobile-drawer[open] { display:block; }
  .home-hero { height:360px; min-height:360px; }
  .home-moulds { padding-top:36px; }
  .reference-heading h2 { max-width:calc(100% - 20px); padding:0 16px; font-size:25px; line-height:31px; }
  .home-product-rail { display:grid; grid-template-columns:25px minmax(0,1fr) 25px; margin-top:25px; }
  .home-product-rail>button { position:static; width:25px; height:245px; }
  .home-product-window { gap:0; }
  .home-rail-card { flex-basis:100%; }
  .home-rail-card a,.home-rail-card img { height:245px; }
  .home-rail-card:hover img,.home-rail-card:focus-within img { transform:none; }
  .reference-action { margin-top:28px; }
  .home-about-split { grid-template-columns:minmax(0,1fr); gap:24px; margin:25px 0 32px; }
  .about-main-media { height:250px; }
  .home-about-split article { padding:0; }
  .home-about-split article h3 { margin-bottom:18px; font-size:17px; }
  .home-about-details { position:static; margin-top:24px; }
  .home-company-rail { display:block; width:100%; margin:0; overflow:hidden; }
  .home-company-track { display:flex; width:max-content; animation-duration:80s; }
  .home-company-set,.home-company-set[aria-hidden="true"] { display:flex; }
  .home-company-set>button,.home-company-clone { flex:0 0 calc((100vw - 48px)/2); width:calc((100vw - 48px)/2); height:148px; margin-right:10px; grid-template-rows:124px 24px; }
  .home-company-rail img { height:124px; }
  .home-news-grid { grid-template-columns:minmax(0,1fr); gap:14px; height:auto; }
  .news-faq,.news-list { min-height:0; }
  .news-panel-head,.news-tabs>[role=tablist] { height:46px; }
  .news-panel-head { padding:0 18px; }
  .news-faq-content { padding:22px 18px 25px; }
  .news-tabs>[role=tablist] button { height:46px; padding:0 12px; font-size:12px; }
  .news-tabs>[role=tablist] small { display:none; }
  .news-tabs [role=tabpanel] { grid-template-columns:minmax(0,1fr); gap:18px; padding:18px; }
  .news-thumb-grid { width:100%; grid-template-rows:repeat(2,110px); }
  .news-thumb-grid button,.news-thumb-grid img { width:100%; height:110px; }
  .evidence-set img { flex-basis:140px; width:140px; height:175px; }
  .evidence-marquee-track { animation-duration:42s; }
  .quick-actions { display:none; }
  .image-only-hero,body:has(.product-archive-reference) .image-only-hero,body:has(.cases-reference) .image-only-hero { height:220px; }
  .inner-subnav { justify-content:flex-start; min-height:46px; overflow-x:auto; }
  .inner-subnav a,.service-subnav a { flex:0 0 auto; min-width:135px; min-height:46px; padding:0 14px; font-size:12px; }
  .plain-grid,.plain-product-grid,.sample-plain-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 12px; }
  .plain-tile img,.plain-product-grid .product-card-media,.sample-plain-grid .plain-tile img { height:128px; }
  .plain-tile span,.plain-product-grid .product-card-copy strong { font-size:12px; }
  .source-pager,.pagination.source-pager { margin-top:28px; }
  .about-continuous-field { min-height:0; padding:15px 0 30px; }
  .about-upper-row,.about-lower-row { grid-template-columns:1fr; min-height:0; }
  .about-upper-row>article,.about-lower-row>article { padding:26px 10px; line-height:1.8; }
  .about-upper-row>div:not(.about-2x2-mosaic),.about-upper-row>div:not(.about-2x2-mosaic)>img { height:260px; }
  .about-2x2-mosaic { grid-template-rows:repeat(2,130px); }
  .about-2x2-mosaic .plain-tile img { height:130px; }
  .about-lower-row>article { order:-1; }
  .album-archive { min-height:0; padding:28px 0 40px; }
  .product-archive-reference { min-height:0; padding-bottom:40px; }
  .product-label-strip { justify-content:flex-start; height:46px; margin-bottom:24px; overflow-x:auto; }
  .product-label-strip a { flex:0 0 auto; min-width:150px; height:46px; padding:0 14px; font-size:12px; }
  .cases-reference { min-height:0; padding:24px 0 36px; }
  .cases-four-grid .plain-tile img { height:145px; }
  .solutions-reference { min-height:0; padding-bottom:40px; }
  .solution-icon-categories { grid-template-columns:repeat(5,minmax(100px,1fr)); min-height:0; margin-bottom:28px; overflow-x:auto; }
  .solution-icon-categories a { min-height:105px; padding:14px 5px; }
  .solution-category-icon { width:28px; height:28px; }
  .service-reference { min-height:0; padding:18px 0 36px; }
  .service-form-layout { padding:22px 15px 28px; }
  .dense-project-form>label,.dense-project-form>fieldset { grid-template-columns:1fr; gap:7px; min-height:0; padding:9px 0; }
  .dense-project-form>label>em { top:9px; right:0; left:auto; }
  .dense-project-form>fieldset { display:flex; flex-wrap:wrap; }
  .dense-project-form>fieldset legend { display:block; flex-basis:100%; }
  .dense-project-form>button { width:100%; }
  .service-diagram-role img { height:220px; }
  .service-reference #after-sales { padding:22px 15px; }
  .faq-archive { min-height:620px; padding-top:20px; background:linear-gradient(to bottom,#efefef 0,#efefef 380px,#fff 380px,#fff 100%); }
  .faq-row { grid-template-columns:1fr 58px; min-height:82px; }
  .faq-row p { max-width:260px; }
  .sampro-banner { height:118px; }
  .sampro-panel>header h1 { font-size:25px; }
  .photographic-contact-banner { height:160px; }
  .sampro-contact-panel dl>div { grid-template-columns:1fr; gap:5px; }
  .product-reference-media .product-primary-frame,.product-primary-zoom { min-height:360px; height:360px; }
  .product-reference-media .product-primary-frame>.product-primary-zoom { height:360px; }
  .related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (prefers-reduced-motion:reduce) {
  .evidence-marquee-track { animation:none; }
  .news-thumb-grid img { transition:none; }
}

/* Homepage carousel copy: approved text over the existing reference-size banner. */
.home-hero .hero-scrim {
  display:block;
  background:linear-gradient(90deg,rgb(0 13 24/.58) 0%,rgb(0 13 24/.34) 42%,rgb(0 13 24/.08) 68%,transparent 100%);
}
.home-hero .hero-slide-content {
  position:relative;
  z-index:2;
  display:flex;
  height:100%;
  align-items:flex-start;
  justify-content:center;
  padding:0 0 34px;
  pointer-events:none;
}
.home-hero .hero-copy-panel {
  width:min(515px,48vw);
  padding:31px 36px 33px;
  color:#fff;
  background:rgb(0 28 49/.82);
  border-left:4px solid #0781c6;
  box-shadow:0 12px 32px rgb(0 0 0/.2);
  opacity:0;
  transform:translateY(10px);
  transition:opacity .45s ease .16s,transform .45s ease .16s;
  pointer-events:auto;
}
.home-hero .hero-slide.is-active .hero-copy-panel {
  opacity:1;
  transform:translateY(0);
}
.home-hero .hero-copy-panel .eyebrow {
  margin:0 0 9px;
  color:#9fd8f4;
  font-size:13px;
  font-weight:400;
  line-height:1.35;
}
.home-hero .hero-copy-panel h2 {
  max-width:none;
  margin:0 0 15px;
  color:#fff;
  font-size:38px;
  font-weight:500;
  line-height:1.18;
  text-wrap:balance;
}
.home-hero .hero-copy-panel > p:not(.eyebrow) {
  max-width:455px;
  margin:0 0 23px;
  color:#eef6fa;
  font-size:15px;
  line-height:1.6;
}
.home-hero .hero-cta {
  display:inline-flex;
  min-height:40px;
  align-items:center;
  gap:11px;
  padding:0 20px;
  color:#fff;
  background:#0678b8;
  border:1px solid #64b9e4;
  font-size:14px;
  line-height:1;
  transition:background-color .2s ease,border-color .2s ease;
}
.home-hero .hero-cta:hover {
  background:#005f98;
  border-color:#fff;
}
.home-hero .hero-cta:focus-visible {
  outline:3px solid #fff;
  outline-offset:3px;
}

@media (max-width:767px) {
  .home-hero .hero-slide:first-child .hero-slide-media img { object-position:62% center; }
  .home-hero .hero-scrim { background:linear-gradient(0deg,rgb(0 15 27/.88) 0%,rgb(0 15 27/.62) 58%,rgb(0 15 27/.08) 100%); }
  .home-hero .hero-slide-content { align-items:flex-start; justify-content:flex-end; padding:0 0 38px; }
  .home-hero .hero-copy-panel {
    width:100%;
    padding:18px 20px 17px;
    background:rgb(0 28 49/.78);
    border-left:3px solid #0781c6;
    box-shadow:none;
  }
  .home-hero .hero-copy-panel .eyebrow { margin-bottom:5px; font-size:11px; }
  .home-hero .hero-copy-panel h2 { margin-bottom:8px; font-size:24px; line-height:1.15; }
  .home-hero .hero-copy-panel > p:not(.eyebrow) {
    display:-webkit-box;
    margin-bottom:12px;
    overflow:hidden;
    font-size:12px;
    line-height:1.45;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  .home-hero .hero-cta { min-height:34px; padding:0 14px; font-size:12px; }
}

@media (prefers-reduced-motion:reduce) {
  .home-hero .hero-copy-panel { transform:none; transition:none; }
}

/* Sampro-owned product-list anatomy, localized with CC content and media. */
.catalogue-banner {
  position:relative;
  height:208px;
  overflow:hidden;
  color:#fff;
  background:#15212a;
}
.catalogue-banner > picture,
.catalogue-banner > picture > img,
.catalogue-banner > img {
  width:100%;
  height:100%;
}
.catalogue-banner > picture > img,
.catalogue-banner > img {
  object-fit:cover;
  object-position:center 54%;
}
.catalogue-banner::after {
  position:absolute;
  inset:0;
  content:"";
  background:rgb(7 20 30/.73);
}
.catalogue-banner-copy {
  position:absolute;
  z-index:1;
  inset:0;
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
}
.catalogue-banner-copy h1 {
  margin:0;
  color:#fff;
  font-size:38px;
  font-weight:500;
  line-height:1.1;
}
.catalogue-banner-copy p {
  margin:9px 0 0;
  color:#fff;
  font-size:18px;
  line-height:1.25;
}
.sampro-product-shell {
  width:min(1344px,calc(100% - 86px));
  margin-inline:auto;
}
.catalogue-breadcrumb {
  display:flex;
  min-height:61px;
  align-items:center;
  background:#fff;
}
.catalogue-breadcrumb .breadcrumbs { margin:0; }
.catalogue-breadcrumb .breadcrumbs ol { gap:7px; }
.catalogue-breadcrumb .breadcrumbs li {
  color:#777;
  font-size:13px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}
.catalogue-breadcrumb .breadcrumbs li + li::before { content:">"; margin-right:7px; color:#999; }
.product-archive-reference {
  min-height:0;
  padding:45px 0 48px;
  overflow:hidden;
  background:#f2f2f2;
}
.sampro-product-list {
  display:flex;
  flex-direction:column;
}
.sampro-product-row {
  display:grid;
  min-height:373px;
  grid-template-columns:35% minmax(0,65%);
  margin:0 0 16px;
  padding:14px 18px;
  background:#fff;
}
.sampro-product-media {
  display:block;
  height:345px;
  overflow:hidden;
  background:#ececec;
}
.sampro-product-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease,opacity .35s ease;
}
.sampro-product-copy {
  display:flex;
  min-width:0;
  align-items:flex-start;
  justify-content:center;
  flex-direction:column;
  padding:0 20px 0 63px;
}
.sampro-product-copy h2 {
  margin:0 0 8px;
  color:#333;
  font-size:24px;
  font-weight:600;
  line-height:1.5;
}
.sampro-product-copy h2 a { transition:color .2s ease; }
.sampro-product-copy > p {
  margin:0 0 38px;
  color:#888;
  font-size:16px;
  line-height:1.5;
}
.sampro-product-actions {
  display:flex;
  gap:20px;
}
.sampro-product-actions a {
  display:grid;
  width:180px;
  min-height:47px;
  place-items:center;
  color:#fff;
  background:#333;
  box-shadow:0 10px 22px rgb(0 72 124/.14);
  font-size:14px;
  transition:background-color .2s ease,box-shadow .2s ease;
}
.sampro-product-actions a.is-primary { background:#0066b2; }
.sampro-product-row:hover .sampro-product-media img,
.sampro-product-row:focus-within .sampro-product-media img { transform:scale(1.035); }
.sampro-product-copy h2 a:hover,
.sampro-product-copy h2 a:focus-visible { color:#0066b2; }
.sampro-product-actions a:hover,
.sampro-product-actions a:focus-visible { background:#005890; box-shadow:0 12px 26px rgb(0 72 124/.24); }
.sampro-product-actions a:focus-visible,
.sampro-product-copy h2 a:focus-visible,
.sampro-product-media:focus-visible { outline:3px solid #0781c6; outline-offset:3px; }
.product-archive-reference .source-pager {
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:30px;
}
.product-archive-reference .source-pager a,
.product-archive-reference .source-pager button {
  display:grid;
  width:38px;
  min-width:38px;
  height:38px;
  min-height:38px;
  padding:0;
  place-items:center;
  color:#777;
  background:#fff;
  border:0;
}
.product-archive-reference .source-pager [aria-current="page"] { color:#fff; background:#0066b2; }
.product-archive-reference .source-pager button:disabled { color:#bbb; background:#e9e9e9; opacity:1; }

/* Sampro detail proportions: preserve the existing truthful fields and controls. */
.product-reference-field { padding:30px 42px 55px; }
.product-reference-panel { max-width:1354px; padding:30px 20px; }
.product-reference-summary { grid-template-columns:minmax(0,46fr) minmax(0,54fr); gap:45px; }
.product-reference-media .product-primary-frame,
.product-primary-zoom { min-height:310px; height:310px; }
.product-reference-media .product-primary-frame > .product-primary-zoom { height:310px; }
.product-thumb-rail { min-height:70px; }
.product-thumb-rail > .detail-thumb-prev,
.product-thumb-rail > .detail-thumb-next { height:60px; }
.product-thumb-rail > .detail-thumb { width:60px; height:60px; }
.product-reference-summary h1 { margin-top:0; font-size:24px; }

@media (max-width:767px) {
  .catalogue-banner { height:120px; }
  .catalogue-banner > picture > img,
  .catalogue-banner > img { object-position:center; }
  .catalogue-banner-copy h1 { font-size:22px; }
  .catalogue-banner-copy p { display:none; }
  .sampro-product-shell { width:calc(100% - 30px); }
  .catalogue-breadcrumb { min-height:45px; }
  .catalogue-breadcrumb .breadcrumbs li { font-size:12px; }
  .product-archive-reference { padding:27px 0 34px; }
  .sampro-product-row {
    display:block;
    min-height:0;
    margin-bottom:16px;
    padding:0;
  }
  .sampro-product-media { height:auto; aspect-ratio:4/3; }
  .sampro-product-copy {
    min-height:106px;
    padding:10px 20px 14px;
  }
  .sampro-product-copy h2 { margin:0 0 2px; font-size:18px; line-height:2; }
  .sampro-product-copy > p {
    width:100%;
    margin:0;
    overflow:hidden;
    font-size:14px;
    line-height:1.55;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .sampro-product-actions { display:none; }
  .product-archive-reference .source-pager { gap:7px; margin-top:28px; }
  .product-archive-reference .source-pager a,
  .product-archive-reference .source-pager button { width:36px; min-width:36px; height:36px; min-height:36px; }
  .product-reference-field { padding:20px 10px 30px; }
  .product-reference-panel { padding:18px; }
  .product-reference-summary { grid-template-columns:minmax(0,1fr); gap:20px; }
  .product-reference-media .product-primary-frame,
  .product-primary-zoom { min-height:180px; height:180px; }
  .product-reference-media .product-primary-frame > .product-primary-zoom { height:180px; }
}

@media (prefers-reduced-motion:reduce) {
  .sampro-product-media img,
  .sampro-product-copy h2 a,
  .sampro-product-actions a { transition:none; }
}

/* Shared inner-page banner: one measured height and text-overlay treatment. */
.inner-page-banner {
  position:relative;
  isolation:isolate;
  display:grid;
  width:100%;
  height:208px;
  min-height:208px;
  overflow:hidden;
  place-content:normal;
  place-items:center;
  color:#fff;
  background:#15212a;
}
.inner-page-banner > img {
  position:absolute;
  z-index:-2;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:1;
}
.inner-page-banner::after {
  position:absolute;
  z-index:-1;
  inset:0;
  content:"";
  background:linear-gradient(90deg,rgb(5 18 28/.68),rgb(5 18 28/.54),rgb(5 18 28/.68));
}
.inner-page-banner > .inner-page-banner-copy {
  position:relative;
  z-index:1;
  inset:auto;
  display:grid;
  width:920px;
  max-width:calc(100% - 40px);
  align-content:center;
  justify-content:stretch;
  place-items:center;
  text-align:center;
  text-shadow:0 2px 12px rgb(0 0 0/.28);
}
.inner-page-banner-copy h1 {
  margin:0;
  color:#fff;
  font-size:38px;
  font-weight:500;
  line-height:1.12;
}
.inner-page-banner-copy p {
  margin:9px 0 0;
  color:#fff;
  font-size:18px;
  line-height:1.3;
}
.about-page-banner > img,
.album-page-banner > img,
.contact-page-banner > img { object-position:center 45%; }
.cases-page-banner > img,
.quality-page-banner > img,
.service-page-banner > img { object-position:center 48%; }
.samples-page-banner > img { object-position:center 42%; }

@media (max-width:767px) {
  .inner-page-banner {
    height:120px;
    min-height:120px;
  }
  .inner-page-banner > .inner-page-banner-copy { width:920px; max-width:calc(100% - 30px); }
  .inner-page-banner-copy h1 { font-size:24px; line-height:1.15; }
  .inner-page-banner-copy p { margin-top:6px; font-size:13px; line-height:1.25; }
}

/* Homepage FAQ/news fill correction: use the full approved panel area. */
.news-faq-content {
  display:grid;
  height:308px;
  padding:10px 25px;
  grid-template-rows:repeat(4,minmax(0,1fr));
}
.news-faq-item {
  display:grid;
  min-height:0;
  padding:7px 0;
  align-content:center;
  border-bottom:1px solid #d8d8d8;
}
.news-faq-item:last-child { border-bottom:0; }
.news-faq-item .news-faq-question { margin:0 0 4px; }
.news-faq-item .news-faq-question strong {
  display:-webkit-box;
  min-width:0;
  padding-top:2px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
}
.news-faq-item .news-faq-answer p {
  display:-webkit-box;
  margin:0;
  padding:0;
  overflow:hidden;
  border:0;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:1;
}
.news-tabs [role=tabpanel] {
  height:308px;
  padding:0;
  grid-template-columns:minmax(0,58%) minmax(0,42%);
  gap:0;
}
.news-thumb-grid {
  width:100%;
  height:308px;
  grid-template-rows:repeat(2,minmax(0,1fr));
}
.news-thumb-grid button,
.news-thumb-grid img {
  width:100%;
  height:100%;
}
.news-tabs [role=tabpanel] article {
  display:flex;
  padding:32px 38px;
  align-items:flex-start;
  justify-content:center;
  flex-direction:column;
}

@media (max-width:900px) and (min-width:768px) {
  .home-news { height:auto; padding-bottom:40px; overflow:visible; }
  .home-news-grid { height:auto; grid-template-columns:minmax(0,1fr); gap:18px; }
}

@media (max-width:767px) {
  .news-faq-content { height:auto; min-height:300px; padding:10px 18px; }
  .news-tabs [role=tabpanel] { height:auto; padding:18px; grid-template-columns:minmax(0,1fr); gap:18px; }
  .news-thumb-grid { width:100%; height:225px; grid-template-rows:repeat(2,110px); }
  .news-thumb-grid button,
  .news-thumb-grid img { height:110px; }
  .news-tabs [role=tabpanel] article { padding:0; }
}

/* Quality Control: approved Sampro reference content and complete media framing. */
.quality-reference-hero {
  width:100%;
  overflow:hidden;
  background:#fff;
}
.quality-reference-hero > img {
  display:block;
  width:100%;
  height:auto;
}
.quality-reference-field {
  display:grid;
  gap:38px;
}
.quality-reference-panel > header {
  max-width:none;
  margin:0 0 28px;
  text-align:left;
}
.quality-reference-panel > header h2 {
  margin:0 0 12px;
  color:#0066b2;
  font-size:26px;
  line-height:1.35;
}
.quality-reference-panel > header p {
  margin:0;
  color:#666;
  font-size:16px;
  line-height:1.8;
}
.quality-equipment-grid,
.quality-certificate-grid {
  gap:30px;
}
.quality-equipment-grid .sampro-proof,
.quality-certificate-grid .sampro-proof {
  border:0;
  background:#f5f5f5;
}
.quality-equipment-grid .sampro-proof img,
.quality-certificate-grid .sampro-proof img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:#fff;
}
.quality-equipment-grid .sampro-proof img {
  aspect-ratio:4/3;
}
.quality-certificate-grid.sampro-document-grid {
  margin-top:0;
}
.quality-certificate-grid .sampro-proof img {
  aspect-ratio:615/864;
}
.quality-equipment-grid .sampro-proof h3,
.quality-certificate-grid .sampro-proof h3 {
  min-height:55px;
  margin:0;
  padding:17px 22px;
  color:#555;
  font-size:15px;
  font-weight:400;
  line-height:1.4;
  text-align:center;
}
.quality-equipment-grid .sampro-proof:hover h3,
.quality-equipment-grid .sampro-proof:focus-within h3,
.quality-certificate-grid .sampro-proof:hover h3,
.quality-certificate-grid .sampro-proof:focus-within h3 {
  color:#fff;
  background:#0066b2;
}

@media (max-width:767px) {
  .quality-reference-hero { height:118px; }
  .quality-reference-hero > img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }
  .quality-reference-field { gap:20px; }
  .quality-reference-panel > header { margin-bottom:20px; }
  .quality-reference-panel > header h2 { font-size:20px; }
  .quality-reference-panel > header p { font-size:14px; line-height:1.6; }
  .quality-equipment-grid,
  .quality-certificate-grid { gap:14px; }
  .quality-equipment-grid .sampro-proof h3,
  .quality-certificate-grid .sampro-proof h3 {
    min-height:58px;
    padding:13px 9px;
    font-size:13px;
  }
}

/* Customer category pages: retain complete bottle silhouettes and fit banner copy. */
.cases-four-grid .view-bottles .plain-tile img { object-fit:contain; background:#f4f4f4; }
.products-page-banner,
.cases-page-banner { grid-template-columns:minmax(0,1fr); }
.products-page-banner > .inner-page-banner-copy,
.cases-page-banner > .inner-page-banner-copy { width:min(920px,calc(100% - 30px)); min-width:0; }

/* Manufacturing: numbered process headings with image-only step content. */
@font-face { font-family: Manrope; src: url('/assets/fonts/manrope-700.ttf') format('truetype'); font-weight:700; font-display:swap; }
.manufacturing-page-banner { grid-template-columns:minmax(0,1fr); }
.manufacturing-page-banner > .inner-page-banner-copy { min-width:0; width:min(920px,calc(100% - 30px)); }
.manufacturing-shell { width:100%; max-width:1280px; margin-inline:auto; padding-inline:24px; }
.manufacturing-process { background:#fff; }
.manufacturing-step { padding:112px 0; background:#f8fafc; }
.manufacturing-step:nth-child(even) { background:#fff; }
.manufacturing-step-heading { position:relative; margin-bottom:40px; padding-left:8px; }
.manufacturing-step-watermark { position:absolute; top:-35px; left:-8px; color:transparent; -webkit-text-stroke:1px #dbe3ed; font:700 120px/1 Manrope,sans-serif; opacity:.6; pointer-events:none; }
.manufacturing-step-number { position:relative; display:flex; align-items:center; gap:12px; color:#0044cc; font:700 12px/16px monospace; letter-spacing:.1em; text-transform:uppercase; }
.manufacturing-step-number::before { content:''; width:32px; height:2px; background:currentColor; }
.manufacturing-step-heading h2 { position:relative; margin:12px 0 0; color:#0b1120; font:700 48px/1 Manrope,Inter,sans-serif; }
.manufacturing-image-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:16px; }
.manufacturing-image { position:relative; display:block; min-width:0; width:100%; aspect-ratio:1; padding:0; border:0; background:#f1f5f9; cursor:zoom-in; overflow:hidden; }
.manufacturing-image::before { content:''; position:absolute; z-index:1; inset:0 0 auto; height:3px; background:linear-gradient(90deg,#0044cc,#38bdf8); }
.manufacturing-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.manufacturing-image:hover img { transform:scale(1.05); }
.manufacturing-image:focus-visible { outline:3px solid #0044cc; outline-offset:4px; }
.manufacturing-quote { padding:96px 0; color:#0b1120; background-color:#eff6ff; background-image:linear-gradient(#dbeafe88 1px,transparent 1px),linear-gradient(90deg,#dbeafe88 1px,transparent 1px),radial-gradient(ellipse at 0 0,#e9f6ff,transparent 65%); background-size:40px 40px,40px 40px,100% 100%; }
.manufacturing-quote-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; align-items:stretch; }
.manufacturing-quote-intro { display:flex; flex-direction:column; justify-content:center; padding-top:16px; min-width:0; }
.manufacturing-access { display:flex; align-items:center; gap:8px; width:fit-content; padding:4px 12px; margin-bottom:24px; border:1px solid #0044cc33; border-radius:100px; background:#0044cc0d; color:#0044cc; font-size:12px; font-weight:600; line-height:16px; letter-spacing:.05em; text-transform:uppercase; }
.manufacturing-access>span { width:8px; height:8px; border-radius:50%; background:#0044cc; }
.manufacturing-quote-intro h2 { margin:0 0 24px; color:#0b1120; font:700 48px/1.25 Manrope,Inter,sans-serif; }
.manufacturing-quote-intro h2>span { background:linear-gradient(90deg,#0044cc,#38bdf8); background-clip:text; color:transparent; }
.manufacturing-quote-copy { max-width:576px; margin:0 0 48px; color:#475569; font-size:18px; line-height:1.625; }
.manufacturing-contact-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding-top:32px; border-top:1px solid #bfdbfe99; }
.manufacturing-badges { display:flex; flex-direction:column; justify-content:space-between; gap:16px; }
.manufacturing-badges>div { display:flex; align-items:center; justify-content:space-between; gap:8px; width:85%; padding:16px; border:1px solid #dbeafe; background:#ffffffcc; }
.manufacturing-badges span { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#64748b; }
.manufacturing-badges strong { font-size:14px; text-align:right; }
.manufacturing-badges>div:last-child { background:#0044cc; color:#fff; border-color:#0044cc; }
.manufacturing-badges>div:last-child span { color:#bfdbfe; }
.manufacturing-contact-card { display:flex; flex-direction:column; justify-content:center; gap:12px; padding:20px; border:1px solid #dbeafe; background:#ffffff99; min-width:0; }
.manufacturing-contact-card a { display:flex; gap:12px; align-items:center; color:#0b1120; font-size:14px; font-weight:600; }
.manufacturing-contact-card .icon { flex:0 0 32px; width:32px; height:32px; padding:7px; background:white; border:1px solid #dbeafe; }
.manufacturing-contact-card a span { overflow-wrap:anywhere; }
.manufacturing-quote-card { padding:40px; border:1px solid #e2e8f0; border-top:4px solid #0044cc; border-radius:2px; background:#fff; box-shadow:0 20px 25px -5px #1e3a8a0d; min-width:0; }
.manufacturing-quote-card h3 { margin:0 0 24px; font:700 24px/32px Manrope,Inter,sans-serif; color:#0b1120; }
.manufacturing-quote-card form { display:grid; gap:20px; }
.manufacturing-name-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.manufacturing-quote-card label { display:block; color:#334155; font-size:14px; font-weight:500; line-height:20px; min-width:0; }
.manufacturing-quote-card em { color:#ef4444; font-style:normal; }
.manufacturing-quote-card input,.manufacturing-quote-card textarea { display:block; width:100%; min-width:0; margin-top:4px; padding:12px 16px; border:1px solid #e2e8f0; border-radius:2px; color:#0b1120; background:#f8fafc; font:400 14px/20px Inter,sans-serif; }
.manufacturing-quote-card input::placeholder,.manufacturing-quote-card textarea::placeholder { color:#94a3b8; opacity:1; }
.manufacturing-quote-card textarea { min-height:106px; resize:vertical; }
.manufacturing-quote-card input:focus,.manufacturing-quote-card textarea:focus { outline:2px solid #0044cc; outline-offset:1px; background:#fff; }
.manufacturing-quote-card input[type=file] { padding:0; color:#64748b; cursor:pointer; }
.manufacturing-quote-card input::file-selector-button { padding:10px 16px; margin-right:16px; border:0; background:#f1f5f9; color:#0044cc; font:600 14px/20px Inter,sans-serif; cursor:pointer; }
.manufacturing-quote-card #mq-file-help { margin:4px 0 0; color:#64748b; font-size:12px; line-height:16px; }
.manufacturing-quote-card button[type=submit] { display:flex; justify-content:center; align-items:center; gap:12px; width:100%; padding:16px; background:#0b1120; color:#fff; font:700 16px/24px Inter,sans-serif; border:0; border-radius:2px; cursor:pointer; }
.manufacturing-quote-card button[type=submit]:hover { background:#0044cc; }
.manufacturing-quote-card button:disabled { opacity:.6; cursor:wait; }
.manufacturing-mail-note { margin:0; text-align:center; font-size:12px; line-height:18px; color:#64748b; }
.manufacturing-quote-card .form-status { margin:0; color:#334155; font-size:14px; line-height:20px; }
.manufacturing-quote-card .form-status:empty { display:none; }
@media(max-width:1023px) { .manufacturing-step { padding:80px 0; } .manufacturing-step-heading h2 { font-size:36px; line-height:40px; } .manufacturing-image-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .manufacturing-quote { padding:80px 0; } .manufacturing-quote-layout { grid-template-columns:1fr; } .manufacturing-quote-intro h2 { font-size:36px; } .manufacturing-quote-card { padding:32px; } }
@media(max-width:639px) { .manufacturing-name-row,.manufacturing-contact-details { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .manufacturing-image img { transition:none; } }

/* Customer corrections: static photo categories and English quality media. */
.catalog-photo-grid { display:grid; width:min(1200px,100%); margin-inline:auto; padding-inline:8px; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px 17px; }
.catalog-photo { margin:0; min-width:0; text-align:center; }
.catalog-photo img { display:block; width:100%; height:auto; aspect-ratio:283/208; object-fit:cover; background:transparent; }
.catalog-photo figcaption { padding:12px 3px 0; font-size:15px; line-height:1.5; font-weight:400; color:#555; }
.quality-image-placeholder { margin:0; text-align:center; }
.quality-image-placeholder img { width:100%; height:auto; display:block; }
.quality-image-placeholder figcaption { padding:12px 0; color:#687984; font-size:15px; }
@media(max-width:767px) {
 .catalog-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; padding-inline:0; }
 .catalog-photo figcaption { font-size:14px; }
}

/* News follows the supplied Sampro list; catalogue crops remain unchanged. */
.catalog-photo-open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.catalog-photo-open:focus-visible{outline:3px solid #006bb1;outline-offset:4px}
.news-banner{background:#1b252c;color:#fff;text-align:center;padding:64px 20px}
.news-banner h1{color:inherit;font-size:40px;margin:0;line-height:1.2}
.news-crumb{padding:22px max(4vw,20px);font-size:14px;background:white;color:#666}
.cc-news-area{background:#f5f5f5;padding:50px 3vw}
.cc-news-panel{max-width:1320px;margin:auto;background:white;padding:0 30px 30px}
.cc-news-row{display:grid;grid-template-columns:35% 1fr;gap:30px;padding:30px 0;border-bottom:1px solid #ddd}
.cc-news-row img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.cc-news-row time,.cc-news-detail time{font-size:14px;color:#767676}
.cc-news-row h2{font-size:24px;line-height:1.4;margin:22px 0 14px;color:#1b252c}
.cc-news-row h2 a:hover{color:#006bb1}
.cc-news-row p{font-size:15px;line-height:1.8;color:#666;margin:0;overflow-wrap:anywhere}
.cc-news-pagination{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.cc-news-pagination a,.cc-news-pagination span{padding:8px 14px;border:1px solid #ddd;font-size:14px}
.cc-news-pagination [aria-current]{color:white;background:#006bb1;border-color:#006bb1}
.cc-news-detail{padding:35px 0;max-width:960px;margin:auto;overflow-wrap:anywhere}
.cc-news-detail h1{font-size:32px;line-height:1.35;margin:0 0 14px}
.cc-news-detail .news-body{white-space:pre-wrap;font-size:17px;line-height:1.9;margin:30px 0}
.cc-news-detail img{max-width:100%;max-height:700px;object-fit:contain;display:block;margin:30px auto}
.cc-news-detail .back-news{color:#006bb1;text-decoration:underline}
@media(max-width:767px){.news-banner{padding:40px 20px}.news-banner h1{font-size:30px}.cc-news-area{padding:25px 4vw}.cc-news-panel{padding:0 18px 24px}.cc-news-row{grid-template-columns:1fr;gap:18px;padding:24px 0}.cc-news-row h2{font-size:21px;margin:12px 0}.cc-news-detail h1{font-size:26px}.cc-news-detail .news-body{font-size:16px}}

/* Requested shared header: larger brand lettering, preserving the original mark. */
.site-header .brand-copy strong { font-size:26px; }
.site-header .brand-copy > span { font-size:14px; }
.site-header .brand-copy small { font-size:10px; }
@media (max-width:767px) {
  .site-header .brand-copy strong { font-size:18px; letter-spacing:.06em; }
  .site-header .brand-copy > span { display:block; font-size:10px; letter-spacing:.16em; }
}

/* Home About Us: company-photo grid requested in place of the single factory image. */
.home-about { height:auto; padding-bottom:42px; }
.home-about-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; }
.home-about-photo-grid button { display:flex; flex-direction:column; gap:8px; min-width:0; padding:0; border:0; background:transparent; cursor:zoom-in; }
.home-about-photo-grid img { display:block; width:100%; height:auto; aspect-ratio:1.65; object-fit:cover; }
.home-about-photo-grid span { display:block; width:100%; color:#014b83; font-size:14px; line-height:1.4; text-align:center; }
.home-about-photo-grid button:focus-visible { outline:2px solid #014b83; outline-offset:4px; }
.home-about-split .home-about-details { position:static; margin-top:24px; }
@media(max-width:767px) { .home-about-photo-grid { gap:16px 12px; } .home-about-photo-grid span { font-size:12px; } }

/* Homepage Company Album carousel replaces both the photo grid and lower strip. */
.home-album-carousel { min-width:0; }
.home-album-slide { display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
.home-album-slide[hidden] { display:none; }
.home-album-slide img { display:block; width:100%; height:338px; object-fit:contain; background:#e5e5e5; }
.home-album-slide>span { display:block; padding:10px 4px; color:#014b83; font-size:14px; line-height:1.4; text-align:center; }
.home-album-controls { display:flex; align-items:center; justify-content:center; gap:15px; }
.home-album-controls button { min-width:40px; min-height:36px; border:1px solid #bcc7cf; background:transparent; color:#014b83; padding:4px 10px; cursor:pointer; }
.home-album-controls [data-album-prev],.home-album-controls [data-album-next] { font-size:24px; }
.home-album-controls span { min-width:55px; text-align:center; color:#555; font-size:13px; }
.home-album-carousel button:focus-visible { outline:2px solid #014b83; outline-offset:3px; }
@media(max-width:767px) { .home-album-slide img { height:auto; aspect-ratio:1.5; } }

/* Requested clean automatic slideshow: no control bar or grey side gutters. */
.home-album-controls { display:none; }
.home-album-slide img { object-fit:cover; background:transparent; }

/* Photo overlay arrows, revealed on hover or keyboard focus. */
.home-album-carousel { position:relative; }
.home-album-controls { display:flex; position:absolute; inset:0 0 auto; height:338px; justify-content:space-between; padding:0 12px; pointer-events:none; }
.home-album-controls [data-album-count], .home-album-controls [data-album-pause] { display:none; }
.home-album-controls button { width:44px; height:52px; padding:0; border:0; border-radius:3px; color:#fff; background:rgba(0,35,60,.6); opacity:0; pointer-events:none; transition:opacity .18s ease,background .18s ease; }
.home-album-controls [data-album-prev], .home-album-controls [data-album-next] { font-size:36px; line-height:1; }
.home-album-carousel:hover .home-album-controls button, .home-album-controls button:focus-visible { opacity:1; pointer-events:auto; }
.home-album-controls button:hover { background:rgba(0,35,60,.85); }
@media(max-width:767px) { .home-album-controls { height:auto; aspect-ratio:1.5; } }
@media(hover:none) { .home-album-controls button { opacity:1; pointer-events:auto; } }
@media(prefers-reduced-motion:reduce) { .home-album-controls button { transition:none; } }

/* Approved opening banner: compact copy over a soft image gradient. */
.home-hero .hero-slide .hero-scrim { background:linear-gradient(90deg,rgba(0,18,30,.84) 0%,rgba(0,18,30,.62) 24%,rgba(0,18,30,.2) 46%,transparent 68%); }
.home-hero .hero-slide .hero-copy-panel { width:390px; max-width:36vw; padding:0; background:transparent; border:0; box-shadow:none; }
.home-hero .hero-slide .hero-copy-panel h2 { font-size:clamp(30px,2.7vw,44px); line-height:1.13; font-weight:500; letter-spacing:-.025em; text-wrap:initial; margin-bottom:20px; }
.home-hero .hero-slide .hero-copy-panel .eyebrow { font-size:11px; letter-spacing:.13em; margin-bottom:18px; }
.home-hero .hero-slide .hero-copy-panel > p:not(.eyebrow) { font-size:14px; line-height:1.65; max-width:360px; margin-bottom:26px; }
.home-hero .hero-slide .hero-cta { background:rgba(0,35,55,.2); border:1px solid rgba(255,255,255,.7); min-height:44px; padding:0 20px; }
.home-hero .hero-slide .hero-cta:hover { background:#0678b8; border-color:#fff; }
.home-hero .hero-slide .hero-slide-media img { object-position:60% center; }
@media(max-width:767px) {
.home-hero .hero-slide .hero-scrim { background:linear-gradient(0deg,rgba(0,18,30,.92),rgba(0,18,30,.64) 40%,rgba(0,18,30,.08) 80%); }
.home-hero .hero-slide .hero-copy-panel { width:100%; max-width:100%; padding:0 6px; }
.home-hero .hero-slide .hero-copy-panel h2 { font-size:28px; margin-bottom:10px; }
.home-hero .hero-slide .hero-copy-panel .eyebrow { font-size:9px; margin-bottom:10px; }
.home-hero .hero-slide .hero-copy-panel > p:not(.eyebrow) { display:block; font-size:12px; margin-bottom:14px; max-width:310px; }
.home-hero .hero-slide .hero-cta { min-height:38px; }
}

/* Panoramic banners: fill the frame without letterboxing. */
.home-hero { height:auto; aspect-ratio:16 / 5; min-height:0; }
.home-hero .hero-slide .hero-slide-media img { object-fit:cover; object-position:center; }
.home-hero .hero-slide .hero-scrim { background:linear-gradient(90deg,rgba(0,25,40,.66),rgba(0,25,40,.34) 24%,transparent 44%); }
.home-hero .hero-slide .hero-copy-panel { width:34%; max-width:390px; }
.home-hero .hero-slide .hero-copy-panel h2 { font-size:clamp(26px,2.5vw,40px); }
@media(max-width:1023px) {
.home-hero { height:calc(31.25vw + 265px); aspect-ratio:auto; background:#082b3e; }
.home-hero .hero-slide-media { bottom:auto; height:auto; aspect-ratio:16 / 5; }
.home-hero .hero-slide .hero-scrim { display:none; }
.home-hero .hero-slide-content { padding:calc(31.25vw + 18px) 6px 38px; justify-content:flex-start; }
.home-hero .hero-slide .hero-copy-panel { width:100%; max-width:100%; padding:0; }
.home-hero .hero-slide .hero-copy-panel h2 { font-size:26px; margin-bottom:10px; }
.home-hero .hero-slide .hero-copy-panel .eyebrow { font-size:9px; margin-bottom:10px; }
.home-hero .hero-slide .hero-copy-panel > p:not(.eyebrow) { font-size:12px; margin-bottom:14px; }
.home-hero .hero-slide .hero-cta { min-height:38px; }
}

/* Product catalogue: keep filtered cards out of layout after responsive display rules. */
.sampro-product-list > [data-catalog-card][hidden] { display:none; }
@media(max-width:767px) {
 .sampro-product-shell .filter-bar { display:grid; grid-template-columns:1fr 1.5fr 1fr; gap:1px; margin-bottom:22px; }
 .sampro-product-shell .filter-bar a { min-width:0; min-height:48px; padding:9px 6px; font-size:13px; line-height:1.4; letter-spacing:0; text-transform:none; overflow-wrap:break-word; }
 .catalog-photo-grid { gap:24px 16px; align-items:start; }
 .catalog-photo figcaption { padding-top:10px; line-height:1.5; overflow-wrap:break-word; }
}
