:root {
  --navy-950: #04162a;
  --navy-900: #061e37;
  --navy-800: #0b2a46;
  --navy-700: #183a55;
  --steel-700: #455564;
  --steel-600: #50616d;
  --steel-500: #596975;
  --steel-300: #bac3c9;
  --steel-200: #d7dde1;
  --steel-100: #e9edef;
  --paper: #f4f5f3;
  --white: #ffffff;
  --copper: #a75d32;
  --copper-dark: #87451f;
  --copper-light: #fb620b;
  --ink: #12202c;
  --font-sans: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-display: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --shell: min(1180px, calc(100vw - 48px));
  --shadow: 0 24px 70px rgba(6, 19, 31, 0.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
main { min-width: 0; overflow: clip; }
body.menu-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
p, h1, h2, h3, dl, dd { margin-top: 0; }
h1, h2, h3 { line-height: 1.08; letter-spacing: -0.035em; overflow-wrap: anywhere; }
h1, h2 { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; }
h3 { font-weight: 650; }
em { color: var(--copper); font-style: normal; }
.shell { width: var(--shell); margin-inline: auto; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 1000;
  transform: translateY(-150%);
  background: var(--white);
  color: var(--navy-950);
  padding: 10px 16px;
  font-weight: 700;
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid #ef9c5d; outline-offset: 3px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid var(--steel-200);
  backdrop-filter: blur(18px);
}
.header-inner { height: 82px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; }
.brand-logo { width: 190px; height: auto; }
.brand-mark {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  color: var(--white);
  border: 1px solid var(--copper);
  transform: rotate(45deg);
}
.brand-mark span { transform: rotate(-45deg); font-weight: 800; font-size: 14px; }
.brand-name { color: var(--white); font-weight: 800; letter-spacing: 0.15em; line-height: 1; }
.brand-name small { display: block; margin-top: 7px; color: var(--steel-300); font-size: 8px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; }
.primary-nav { display: flex; align-items: center; gap: 30px; font-size: 13px; font-weight: 650; }
.primary-nav > a:not(.button), .nav-trigger { padding: 28px 0; }
.primary-nav > a:not(.button):hover, .nav-trigger:hover { color: #efb187; }
.nav-group { position: relative; }
.nav-trigger { appearance: none; border: 0; background: none; color: inherit; cursor: pointer; font-weight: inherit; }
.nav-trigger span { margin-left: 5px; color: var(--copper); }
.nav-panel {
  position: absolute;
  top: calc(100% - 4px);
  left: 50%;
  width: 620px;
  padding: 22px;
  transform: translate(-38%, 10px);
  visibility: hidden;
  opacity: 0;
  background: var(--white);
  color: var(--ink);
  box-shadow: var(--shadow);
  transition: .2s ease;
}
.nav-group:hover .nav-panel, .nav-group:focus-within .nav-panel, .nav-group.is-open .nav-panel { visibility: visible; opacity: 1; transform: translate(-38%, 0); }
.nav-panel-small { width: 420px; }
.nav-feature { display: flex; justify-content: space-between; padding: 0 0 16px; margin-bottom: 10px; border-bottom: 1px solid var(--steel-200); }
.nav-feature span { font-weight: 750; }
.nav-feature small { color: var(--steel-500); }
.nav-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px 20px; }
.nav-grid a { padding: 9px 7px; font-size: 13px; }
.nav-grid a:hover { background: var(--paper); color: var(--copper-dark); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--steel-300); background: transparent; cursor: pointer; }
.menu-toggle i { display: block; width: 18px; height: 1px; margin: 4px auto; background: var(--navy-900); }

.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 0 24px;
  color: var(--white);
  background: var(--copper);
  border: 1px solid var(--copper);
  border-radius: 0;
  font-weight: 750;
  font-size: 13px;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background .2s, border .2s, transform .2s;
}
.button:hover { background: var(--copper-dark); border-color: var(--copper-dark); transform: translateY(-2px); }
.button svg, .inline-link svg, .card-link svg, .related-grid svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.button-small { min-height: 42px; padding: 0 17px; }
.button-ghost { color: var(--ink); background: transparent; border-color: var(--steel-300); }
.button-ghost:hover { background: var(--white); border-color: var(--navy-900); }
.button-row { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.inline-link { display: inline-flex; align-items: center; gap: 12px; font-weight: 750; font-size: 13px; border-bottom: 1px solid var(--steel-300); padding-bottom: 4px; }
.inline-link:hover { color: var(--copper-dark); border-color: var(--copper); }
.inline-link-light { color: var(--white); border-color: rgba(255,255,255,.3); }

.breadcrumbs { padding-block: 18px; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--steel-500); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 8px; color: var(--steel-300); }
.breadcrumbs a:hover { color: var(--copper-dark); }

.hero { min-height: 690px; background: var(--navy-950); color: var(--white); overflow: hidden; }
.hero-grid { min-height: 690px; display: grid; grid-template-columns: 1.02fr .98fr; align-items: stretch; }
.hero-copy { min-width:0; padding: 92px 64px 72px 0; display: flex; flex-direction: column; justify-content: center; }
.eyebrow { margin-bottom: 20px; color: var(--copper); font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.hero h1 { max-width: 720px; margin-bottom: 25px; font-size: clamp(50px, 5.5vw, 84px); }
.hero-lede { max-width: 610px; margin-bottom: 36px; color: var(--steel-300); font-size: 18px; line-height: 1.7; }
.hero .inline-link { color: var(--white); }
.hero-facts { display: flex; gap: 0; margin: 58px 0 0; border-top: 1px solid rgba(255,255,255,.15); }
.hero-facts div { flex: 1; padding: 18px 20px 0 0; }
.hero-facts div + div { padding-left: 20px; border-left: 1px solid rgba(255,255,255,.15); }
.hero-facts dt { color: var(--steel-300); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.hero-facts dd { margin: 3px 0 0; font-size: 12px; font-weight: 700; }
.hero-visual { position: relative; min-height: 690px; overflow: hidden; background: radial-gradient(circle at 45% 45%, #274b66 0, #132d42 36%, #091827 73%); }
.hero-visual picture { position:absolute; inset:0; }
.hero-art { width:100%; height:100%; object-fit:cover; object-position:78% center; }
.visual-grid { position: absolute; inset: 0; opacity: .23; background-image: linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px, transparent 1px); background-size: 48px 48px; }
.hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,22,42,.38),transparent 38%),linear-gradient(0deg,rgba(4,22,42,.72),transparent 38%); }
.hero-product-visual { display:flex; align-items:center; justify-content:center; padding:56px; background:radial-gradient(circle at 50% 42%,#315873 0,#15354d 40%,#071827 86%); }
.hero-product-visual::after { background:linear-gradient(90deg,rgba(4,22,42,.16),transparent 35%),linear-gradient(0deg,rgba(4,22,42,.72),transparent 88%); }
.hero-product-board { position:relative; z-index:1; width:min(100%,560px); padding:20px; background:linear-gradient(145deg,#f4f7f7 0%,#dbe4e8 100%); border:1px solid rgba(255,255,255,.42); box-shadow:0 28px 80px rgba(0,0,0,.28); }
.hero-product-board::before { content:""; position:absolute; inset:12px; pointer-events:none; border:1px solid rgba(8,24,40,.12); }
.hero-product-board-label, .hero-product-note { position:relative; z-index:1; display:flex; justify-content:space-between; gap:16px; align-items:baseline; }
.hero-product-board-label { padding:0 2px 16px; color:var(--navy-800); border-bottom:1px solid var(--steel-200); }
.hero-product-board-label span, .hero-product-note span { color:var(--copper-dark); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.hero-product-board-label strong { font-size:12px; letter-spacing:.02em; }
.hero-product-tiles { position:relative; z-index:1; display:grid; grid-template-columns:1.25fr .85fr .85fr; grid-template-rows:1fr 1fr; gap:8px; padding:14px 0; }
.hero-product-tile { position:relative; min-width:0; min-height:118px; margin:0; overflow:hidden; background:rgba(255,255,255,.52); border:0; box-shadow:0 10px 24px rgba(8,24,40,.10); }
.hero-product-tile.tile-wide { grid-column:span 2; }
.hero-product-tile.tile-tall { grid-row:span 2; }
.hero-product-tile img { width:100%; height:100%; min-height:118px; object-fit:contain; mix-blend-mode:multiply; filter:contrast(1.03) saturate(.94); }
.hero-product-tile figcaption { position:absolute; left:8px; bottom:8px; padding:5px 7px; color:var(--white); background:rgba(4,22,42,.84); font-size:9px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
.hero-product-note { padding:14px 2px 0; border-top:1px solid var(--steel-200); }
.hero-product-note strong { max-width:270px; color:var(--steel-600); font-size:10px; line-height:1.4; text-align:right; }
.bolt-assembly { position: absolute; width: 560px; height: 156px; left: 8%; top: 39%; transform: rotate(-14deg); filter: drop-shadow(0 36px 22px rgba(0,0,0,.35)); }
.bolt-head { position: absolute; width: 140px; height: 140px; left: 0; top: 8px; display: grid; place-items: center; clip-path: polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%); background: linear-gradient(135deg,#f6f7f6 0,#87939b 35%,#dce2e4 62%,#53616c 100%); box-shadow: inset 0 0 0 6px rgba(255,255,255,.35); }
.bolt-head::after { content:""; position:absolute; inset:22px; clip-path:inherit; background:linear-gradient(135deg,#7e8a92,#dce0e1); opacity:.7; }
.bolt-shank { position: absolute; left: 113px; top: 45px; width: 340px; height: 68px; background: linear-gradient(#cbd1d4 0,#727e86 38%,#edf0ef 55%,#78848b 85%); }
.bolt-shank i { position: relative; float: right; width: 16px; height: 68px; margin-left: 7px; border-left: 6px solid #485760; transform: skew(-14deg); opacity: .8; }
.washer { position: absolute; left: 437px; top: 31px; width: 24px; height: 100px; border-radius: 50%; background: linear-gradient(90deg,#465560,#e5e8e6 55%,#67747c); }
.nut { position: absolute; left: 450px; top: 24px; width: 102px; height: 116px; clip-path: polygon(22% 0,78% 0,100% 50%,78% 100%,22% 100%,0 50%); background: linear-gradient(130deg,#929da3,#e1e4e3 42%,#596872 100%); }
.nut span { position: absolute; inset: 27px 22px; border-radius: 50%; background: var(--navy-800); box-shadow: inset 7px 2px 6px #07131d; }
.dimension { position: absolute; color: rgba(255,255,255,.5); font-size: 9px; letter-spacing: .12em; }
.dimension::before, .dimension::after { content: ""; position: absolute; background: rgba(255,255,255,.3); }
.dimension-top { top: 22%; left: 17%; right: 14%; height: 1px; border-top: 1px solid rgba(255,255,255,.3); }
.dimension-top::before, .dimension-top::after { top: -7px; width: 1px; height: 14px; }
.dimension-top::before { left: 0; }.dimension-top::after { right: 0; }.dimension-top span { position: absolute; left: 50%; top: -20px; }
.dimension-side { top: 30%; right: 8%; bottom: 22%; width: 1px; border-left: 1px solid rgba(255,255,255,.3); }
.dimension-side::before, .dimension-side::after { left: -7px; width: 14px; height: 1px; }
.dimension-side::before { top: 0; }.dimension-side::after { bottom: 0; }.dimension-side span { position: absolute; left: 12px; top: 50%; }
.visual-caption { position: absolute; z-index:3; left: 34px; right: 34px; bottom: 28px; display: flex; justify-content: space-between; gap:20px; color: var(--steel-300); font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.visual-caption strong { color: var(--copper); }
.buyer-focus { color: var(--white); background: var(--navy-800); border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
.buyer-focus-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; padding:42px 0; }
.buyer-focus h2 { margin:0; font-size:clamp(30px,3.5vw,48px); }
.buyer-focus .eyebrow { margin-bottom:12px; color:var(--copper-light); }
.buyer-focus-items { display:grid; grid-template-columns:repeat(3,1fr); }
.buyer-focus-items article { min-height:120px; padding:0 26px; border-left:1px solid rgba(255,255,255,.18); }
.buyer-focus-items span { display:block; margin-bottom:18px; color:var(--copper-light); font-size:10px; font-weight:850; letter-spacing:.14em; }
.buyer-focus-items strong { display:block; margin-bottom:8px; font-size:15px; }
.buyer-focus-items p { margin:0; color:var(--steel-300); font-size:12px; line-height:1.55; }
.hero h1 em,
.page-hero h1 em,
.rfq-band h2 em { color: var(--copper-light); }
.hero .eyebrow,
.page-hero .eyebrow,
.section-dark .eyebrow,
.rfq-band .eyebrow,
.section-dark .numbered-list li > span,
.section-dark .process-steps span,
.status-card > span,
.visual-caption strong { color: var(--copper-light); }

.section { padding: 112px 0; background: var(--white); }
.section-light { background: var(--paper); }
.section-dark { background: var(--navy-950); color: var(--white); }
.section-rule { border-top: 1px solid var(--steel-200); }
.section-heading { max-width: 750px; margin-bottom: 56px; }
.section-heading h2 { margin-bottom: 22px; font-size: clamp(36px, 4.5vw, 62px); }
.section-heading > p:last-child { max-width: 660px; color: var(--steel-500); font-size: 17px; }
.section-dark .section-heading > p:last-child { color: var(--steel-300); }
.section-action { margin-top: 44px; }
.split-layout { display: grid; grid-template-columns: .86fr 1.14fr; gap: 100px; align-items: center; }
.split-layout .section-heading { margin-bottom: 30px; }
.align-start { align-items: start; }
.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--steel-300); border-left: 1px solid var(--steel-300); }
.category-card { min-height: 330px; padding: 34px; display: flex; flex-direction: column; background: var(--white); border-right: 1px solid var(--steel-300); border-bottom: 1px solid var(--steel-300); transition: background .2s, color .2s, transform .2s; }
.category-card:hover { position: relative; z-index: 1; color: var(--white); background: var(--navy-800); transform: translateY(-5px); box-shadow: var(--shadow); }
.category-card-main { display:block; color:inherit; }
.category-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 52px; }
.category-top > span { width: 46px; height: 46px; display: grid; place-items: center; color: var(--copper); border: 1px solid currentColor; font-weight: 800; font-size: 12px; }
.category-top small { color: var(--steel-500); font-size: 10px; letter-spacing: .1em; }
.category-card h3 { margin-bottom: 15px; font-size: 24px; }
.category-card p { color: var(--steel-500); font-size: 13px; }
.category-card:hover p, .category-card:hover .category-top small { color: var(--steel-300); }
.category-card-media { margin:0 0 20px; overflow:hidden; background:#eef2f4; }
.category-card-media img { display:block; width:100%; aspect-ratio:1/1; object-fit:contain; background:#fff; }
.category-card-media figcaption { padding:8px 10px; color:var(--steel-600); background:#eef2f4; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.category-card-standard { display:flex; flex-direction:column; gap:5px; margin:0 0 14px; }
.category-card-standard strong { color:var(--navy-800); font-size:13px; }
.category-card-standard span { color:var(--steel-500); font-size:11px; }
.category-card:hover .category-card-standard strong, .category-card:hover .category-card-standard span { color:var(--steel-200); }
.category-card-actions { display:flex; align-items:center; gap:14px; margin-top:auto; padding-top:20px; border-top:1px solid var(--steel-200); }
.card-link { display: flex; justify-content: space-between; align-items: center; flex:1; font-size: 12px; font-weight: 750; }
.category-card-actions .button { flex:0 0 auto; padding:10px 12px; font-size:10px; }
.category-card:hover .card-link { border-color: rgba(255,255,255,.2); }
.category-card:hover .category-card-actions { border-color: rgba(255,255,255,.2); }
.category-card:hover .category-card-actions .button { color:var(--navy-950); background:var(--copper-light); }
.hero-product-strip { display:flex; flex-wrap:wrap; gap:8px; margin-top:32px; }
.hero-product-strip span { padding:8px 10px; color:var(--steel-200); border:1px solid rgba(255,255,255,.18); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.catalogue-note { display:flex; align-items:center; gap:18px; margin:-18px 0 26px; padding:12px 16px; color:var(--steel-600); background:var(--white); border-left:3px solid var(--copper); font-size:11px; }
.catalogue-note strong { color:var(--navy-800); font-size:10px; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.category-card { min-height:0; padding:22px 24px 24px; }
.category-top { margin-bottom:18px; }
.category-card-media { position:relative; aspect-ratio:1.25/1; display:flex; align-items:stretch; margin:0 -24px 20px; background:linear-gradient(135deg,#e3eaee,#f5f7f7); }
.category-card-media img { height:100%; aspect-ratio:auto; object-fit:contain; mix-blend-mode:multiply; background:transparent; }
.category-card-media figcaption { position:absolute; left:12px; bottom:12px; padding:5px 8px; color:var(--white); background:rgba(4,22,42,.88); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.category-card-standard { min-height:44px; }
.category-card-actions { gap:10px; }
.category-card-actions .button { min-height:38px; padding:0 11px; }
.buyer-brief .section-heading { margin-bottom:28px; }
.risk-note { padding:22px 24px; color:var(--ink); background:#fff4e9; border-left:4px solid var(--copper); }
.risk-note strong { display:block; margin-bottom:6px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.risk-note p { margin:0; color:var(--steel-700); font-size:13px; }
.buyer-brief > .shell > .split-layout > div:last-child { padding:30px; background:var(--white); border:1px solid var(--steel-200); }
.buyer-brief .button { margin-top:24px; }
.nav-research-link { grid-column:1/-1; margin-top:12px; padding:13px 15px; color:var(--white); background:var(--navy-800); font-size:11px; font-weight:750; letter-spacing:.04em; }
.nav-research-link:hover { color:var(--white); background:var(--copper-dark); }
.market-shortlist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.market-card { min-width:0; padding:32px; background:var(--white); border:1px solid var(--steel-200); border-top:3px solid var(--navy-800); }
.market-card-top { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; padding-bottom:20px; margin-bottom:24px; border-bottom:1px solid var(--steel-200); }
.market-card-top span { color:var(--copper-dark); font-size:10px; font-weight:850; letter-spacing:.12em; }
.market-card-top strong { max-width:60%; text-align:right; font-size:12px; overflow-wrap:anywhere; }
.market-card h3 { margin:10px 0 14px; font-size:26px; }
.market-card > p:not(.eyebrow) { color:var(--steel-600); font-size:14px; }
.market-card dl { margin:25px 0 0; border-top:1px solid var(--steel-200); }
.market-card dl div { padding:17px 0; border-bottom:1px solid var(--steel-200); }
.market-card dt { margin-bottom:6px; color:var(--steel-500); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.market-card dd { margin:0; color:var(--steel-700); font-size:12px; line-height:1.65; }
.market-card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:24px; }
.market-card-actions .button { padding:12px 16px; font-size:10px; }
.source-link { color:var(--steel-600); font-size:10px; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.source-link:hover { color:var(--copper-dark); }
.market-shortlist-compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.market-shortlist-compact .market-card { padding:26px; }
.market-shortlist-compact .market-card h3 { font-size:22px; }
.research-status { margin-top:28px; padding:24px; color:var(--white); background:var(--navy-800); }
.research-status span { display:block; color:var(--copper-light); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.research-status strong { display:block; margin:10px 0 8px; overflow-wrap:anywhere; }
.research-status p { margin:0; color:var(--steel-300); font-size:12px; }
.market-zone { overflow:hidden; }
.market-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.market-product-grid-compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.market-product-card { min-width:0; overflow:hidden; background:var(--white); border:1px solid var(--steel-200); box-shadow:0 18px 45px rgba(4,22,42,.055); }
.market-product-figure { margin:0; color:#e9f0f5; background:radial-gradient(circle at 72% 28%,#21445e 0,#0b2a46 42%,#04162a 100%); }
.market-product-figure svg { display:block; width:100%; height:auto; aspect-ratio:2.07/1; padding:24px 28px 12px; color:#f3f7fa; filter:drop-shadow(0 10px 12px rgba(0,0,0,.22)); }
.market-product-photo { background:#eef2f4; }
.market-product-photo img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; background:#fff; }
.market-product-figure-blocked svg { aspect-ratio:1/1; padding:15%; }
.market-product-figure figcaption { padding:0 22px 16px; color:var(--steel-300); font-size:9px; letter-spacing:.09em; text-transform:uppercase; }
.market-product-photo figcaption { padding-top:12px; color:var(--steel-600); background:#eef2f4; }
.market-product-body { padding:30px; }
.market-product-body h3 { margin:10px 0 14px; font-size:26px; }
.market-product-scope { min-height:72px; color:var(--steel-600); font-size:13px; }
.market-product-columns { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:25px 0; padding-top:22px; border-top:1px solid var(--steel-200); }
.market-product-body h4 { margin:0 0 10px; color:var(--navy-800); font-size:10px; letter-spacing:.09em; text-transform:uppercase; }
.market-product-body ul { margin:0; padding-left:18px; color:var(--steel-600); font-size:12px; line-height:1.55; }
.market-product-body li + li { margin-top:6px; }
.market-product-body details { border-top:1px solid var(--steel-200); border-bottom:1px solid var(--steel-200); }
.market-product-body summary { padding:15px 0; color:var(--navy-800); cursor:pointer; font-size:11px; font-weight:800; list-style:none; }
.market-product-body summary::-webkit-details-marker { display:none; }
.market-product-body summary::after { content:"+"; float:right; color:var(--copper-dark); font-size:18px; line-height:.7; }
.market-product-body details[open] summary::after { content:"−"; }
.market-product-detail { padding:2px 0 20px; }
.market-product-detail h4:not(:first-child) { margin-top:20px; }
.market-product-detail p { margin:18px 0 0; padding:15px; color:var(--steel-700); background:var(--paper); border-left:3px solid var(--copper); font-size:12px; }
.market-product-grid-compact .market-product-body { padding:24px; }
.market-product-grid-compact .market-product-body h3 { font-size:21px; }
.market-product-grid-compact .market-product-columns { grid-template-columns:1fr; }
.market-product-grid-compact .market-product-scope { min-height:92px; }
.market-product-grid-compact .market-product-figure svg { padding:20px 22px 8px; }
.product-review-notice { margin:0 0 44px; padding:30px; color:var(--white); background:var(--navy-800); border-left:4px solid var(--copper); }
.product-review-notice h2 { margin:9px 0 12px; font-size:clamp(26px,3vw,38px); }
.product-review-notice > p:not(.eyebrow) { max-width:920px; color:var(--steel-200); font-size:13px; }
.review-status-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.review-status-row span { padding:7px 10px; color:var(--navy-950); background:var(--copper-light); font-size:9px; font-weight:850; letter-spacing:.08em; }
.product-name-zh { margin:-7px 0 16px; color:var(--steel-500); font-size:12px; }
.product-reference-specs { margin:22px 0; border-top:1px solid var(--steel-200); }
.product-reference-specs div { padding:13px 0; border-bottom:1px solid var(--steel-200); }
.product-reference-specs dt { margin-bottom:5px; color:var(--steel-500); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.product-reference-specs dd { margin:0; color:var(--steel-700); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.product-reference-card .market-product-detail p { margin-top:8px; }
.check-list-dark { border-color:rgba(255,255,255,.2); }
.check-list-dark li { color:var(--steel-200); border-color:rgba(255,255,255,.2); }
.numbered-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid rgba(255,255,255,.2); }
.numbered-list li { display: grid; grid-template-columns: 74px 1fr; gap: 20px; padding: 27px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.numbered-list li > span { color: var(--copper); font-size: 11px; font-weight: 800; }
.numbered-list h3 { margin-bottom: 8px; font-size: 21px; }
.numbered-list p { margin: 0; color: var(--steel-300); font-size: 14px; }
.dual-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.feature-panel { min-height: 440px; padding: 54px; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; color: var(--white); background: var(--navy-800); position: relative; }
.feature-panel::before, .feature-panel::after { content: ""; position: absolute; opacity: .25; }
.panel-standard::before { width: 420px; height: 90px; top: 55px; right: -70px; transform: rotate(-18deg); background: linear-gradient(#fff,#697b87,#d8dede); }
.panel-standard::after { width: 130px; height: 130px; top: 36px; right: 240px; clip-path: polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%); background: #dce1e2; }
.panel-custom { background: #232b31; }
.panel-custom::before { inset: 30px; border: 1px solid rgba(255,255,255,.24); background-image: linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size: 30px 30px; }
.panel-custom::after { width: 210px; height: 75px; top: 74px; right: 75px; border: 2px solid #e7e9e7; border-radius: 50%; }
.feature-panel > * { position: relative; z-index: 1; }
.feature-panel .feature-media { position:absolute; z-index:0; inset:0; }
.feature-media img { width:100%; height:100%; object-fit:cover; }
.feature-panel::before { z-index:1; inset:0; width:auto; height:auto; top:0; right:0; transform:none; opacity:1; background:linear-gradient(0deg,rgba(4,22,42,.97) 0,rgba(4,22,42,.88) 38%,rgba(4,22,42,.36) 72%,rgba(4,22,42,.18) 100%); }
.feature-panel::after { display:none; }
.concept-disclosure { display:block; margin-top:18px; color:var(--steel-300); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.feature-panel h2 { max-width: 500px; font-size: 40px; }
.feature-panel > p:not(.eyebrow) { max-width: 510px; color: var(--steel-300); }
.feature-panel .inline-link { width: max-content; color: var(--white); }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--steel-200); }
.detail-grid article { min-height: 220px; padding: 30px; border-bottom: 1px solid var(--steel-200); }
.detail-grid article:nth-child(odd) { border-right: 1px solid var(--steel-200); }
.detail-grid span { color: var(--copper); font-size: 10px; font-weight: 800; }
.detail-grid h3, .detail-grid h2 { margin: 24px 0 12px; font-size: 20px; }
.detail-grid p { color: var(--steel-500); font-size: 13px; }
.detail-grid-large article { min-height: 290px; padding: 46px; }
.detail-grid-large h2 { font-size: 30px; }
.industry-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--steel-200); border: 1px solid var(--steel-200); }
.industry-grid article { min-height: 245px; padding: 34px; background: var(--white); }
.industry-icon { width: 32px; height: 32px; display: block; margin-bottom: 44px; border: 1px solid var(--copper); position: relative; }
.industry-icon::before, .industry-icon::after { content:""; position:absolute; background:var(--copper); }
.industry-icon::before { width:44px; height:1px; left:8px; top:15px; }.industry-icon::after { height:44px; width:1px; left:15px; top:-8px; }
.industry-grid h3 { font-size: 20px; }
.industry-grid p { color: var(--steel-500); font-size: 13px; }
.supply-visual { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; align-items: center; }
.supply-visual .section-heading { margin-bottom: 20px; }
.supply-visual > div:first-child > p { color: var(--steel-500); }
.network-diagram { position: relative; height: 500px; background: var(--paper); border: 1px solid var(--steel-200); overflow: hidden; }
.network-diagram::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(8,24,40,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(8,24,40,.07) 1px,transparent 1px); background-size:36px 36px; }
.node { position: absolute; z-index: 2; display: grid; place-items: center; width: 128px; height: 54px; background: var(--white); border: 1px solid var(--steel-300); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.node small { display:block; color:var(--steel-500); font-size:8px; }
.node-buyer { top: 48px; left: calc(50% - 64px); }.node-center { width:150px; height:80px; top:200px; left:calc(50% - 75px); color:var(--white); background:var(--navy-900); border-color:var(--navy-900); }.node-a { bottom:45px; left:36px; }.node-b { bottom:45px; left:calc(50% - 64px); }.node-c { bottom:45px; right:36px; }
.line { position:absolute; z-index:1; width:1px; background:var(--copper); transform-origin:top; }.l1 { height:100px; top:102px; left:50%; }.l2 { height:135px; top:280px; left:50%; transform:rotate(48deg); }.l3 { height:135px; top:280px; left:50%; transform:rotate(-48deg); }
.process-steps { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,255,255,.2); }
.process-steps li { display:grid; grid-template-columns:52px 1fr; gap:16px; min-height:190px; padding:30px 25px; border-right:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2); }
.process-steps li:nth-child(even) { border-right:0; }
.process-steps span { color:var(--copper); font-size:10px; font-weight:800; }
.process-steps h3 { font-size:19px; }
.process-steps p { color:var(--steel-300); font-size:13px; }
.process-steps-light { border-color:var(--steel-200); }
.process-steps-light li { border-color:var(--steel-200); }.process-steps-light p { color:var(--steel-500); }
.resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.resource-grid article { min-height:270px; padding:34px; background:var(--white); border-top:3px solid var(--navy-800); }
.resource-grid h3 { font-size:24px; }
.resource-grid article > p:last-child { color:var(--steel-500); font-size:13px; }
.rfq-band { padding:100px 0; color:var(--white); background:linear-gradient(110deg,var(--navy-800),var(--navy-950)); position:relative; overflow:hidden; }
.rfq-band::after { content:""; position:absolute; right:-120px; top:-180px; width:540px; height:540px; border:1px solid rgba(196,120,67,.36); border-radius:50%; box-shadow:0 0 0 70px rgba(196,120,67,.04),0 0 0 140px rgba(196,120,67,.03); }
.rfq-band .shell { position:relative; z-index:1; }
.rfq-band h2 { max-width:900px; margin-bottom:24px; font-size:clamp(42px,5.2vw,72px); }
.rfq-band p:not(.eyebrow) { max-width:670px; margin-bottom:32px; color:var(--steel-300); font-size:17px; }

.page-hero { position:relative; min-height:510px; display:flex; align-items:center; overflow:hidden; color:var(--white); background:var(--navy-950); }
.page-hero::before { content:""; position:absolute; inset:0 0 0 52%; opacity:.5; background:linear-gradient(140deg,transparent,var(--navy-700)),linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:auto,44px 44px,44px 44px; }
.page-hero .shell { position:relative; min-width:0; }
.page-hero-copy { width:100%; max-width:850px; min-width:0; padding:80px 0; }
.page-hero h1 { max-width:100%; margin-bottom:28px; font-size:clamp(48px,6.2vw,86px); overflow-wrap:anywhere; word-break:break-word; }
.page-hero-copy > p:last-child { max-width:700px; color:var(--steel-300); font-size:18px; overflow-wrap:anywhere; word-break:break-word; }
.page-index { position:absolute; right:0; bottom:-86px; color:rgba(255,255,255,.045); font-size:270px; font-weight:900; line-height:1; }
.category-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.spec-tags { display:flex; flex-wrap:wrap; gap:8px; }
.spec-tags span { padding:8px 12px; color:var(--navy-800); background:var(--white); border:1px solid var(--steel-300); font-size:11px; font-weight:700; }
.technical-card { background:var(--white); border:1px solid var(--steel-200); }
.technical-drawing { height:260px; position:relative; display:grid; place-items:center; overflow:hidden; background:var(--navy-800); }
.technical-drawing::before { content:""; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px); background-size:28px 28px; }
.draft-part { position:relative; z-index:1; width:120px; height:120px; display:grid; place-items:center; border:2px solid var(--steel-200); border-radius:50%; color:var(--white); font-size:28px; font-weight:800; box-shadow:0 0 0 22px rgba(255,255,255,.03); }
.draft-line { position:absolute; z-index:2; background:var(--copper); opacity:.7; }.line-x { width:78%; height:1px; }.line-y { height:78%; width:1px; }
.technical-card dl { margin:0; padding:22px 30px; }
.technical-card dl div { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid var(--steel-200); font-size:12px; }
.technical-card dl div:last-child { border:0; }.technical-card dt { font-weight:750; }.technical-card dd { color:var(--steel-500); text-align:right; }
.prose { font-size:17px; }.prose p { color:var(--steel-700); }.prose h3 { margin:32px 0 10px; font-size:21px; }.prose .button { margin-top:18px; }
.check-list { padding:0; margin:0; list-style:none; border-top:1px solid var(--steel-300); }
.check-list li { position:relative; padding:18px 15px 18px 42px; border-bottom:1px solid var(--steel-300); }
.check-list li::before { content:""; position:absolute; left:8px; top:26px; width:14px; height:7px; border-left:2px solid var(--copper); border-bottom:2px solid var(--copper); transform:rotate(-45deg); }
.check-list.compact li { padding-block:12px; padding-left:34px; font-size:13px; }.check-list.compact li::before { top:18px; left:4px; }
.status-card { padding:42px; background:var(--navy-800); border:1px solid rgba(255,255,255,.2); }
.status-card > span { color:var(--copper-light); font-size:10px; letter-spacing:.15em; text-transform:uppercase; }.status-card strong { display:block; margin:16px 0; font-size:27px; }.status-card p { color:var(--steel-300); }.status-card .button { margin-top:12px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.related-grid a { min-width:0; min-height:160px; padding:28px; overflow-wrap:anywhere; background:var(--white); border:1px solid var(--steel-200); }.related-grid a:hover { border-color:var(--copper); }.related-grid span { color:var(--copper); font-size:10px; }.related-grid h3 { margin:28px 0 15px; font-size:20px; overflow-wrap:anywhere; }.related-grid svg { margin-left:auto; }
.category-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:30px; }.product-hero-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }.product-hero-grid h2 { margin-bottom:18px; font-size:clamp(30px,4vw,52px); }.product-hero-grid > div:last-child > p:not(.eyebrow) { color:var(--steel-700); font-size:17px; }.product-placeholder { min-height:390px; display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; overflow:hidden; color:var(--white); background:var(--navy-800); border:1px solid var(--steel-300); }.product-placeholder::before { content:""; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px); background-size:32px 32px; }.product-placeholder span { position:relative; z-index:1; width:140px; height:140px; display:grid; place-items:center; border:2px solid var(--copper-light); border-radius:50%; font-size:42px; font-weight:800; }.product-placeholder small { position:relative; z-index:1; margin-top:24px; color:var(--steel-300); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }.product-reference-hero { min-width:0; margin:0; overflow:hidden; background:#eef2f4; border:1px solid var(--steel-200); }.product-reference-hero img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:contain; background:var(--white); }.product-reference-hero figcaption { padding:14px 18px; color:var(--steel-600); background:#eef2f4; font-size:10px; line-height:1.5; }.product-status-line { margin:22px 0 28px; font-size:12px; }.data-status { display:inline-block; padding:4px 8px; color:var(--white); background:var(--navy-800); font-size:10px; font-weight:800; letter-spacing:.04em; line-height:1.35; }.data-status-verified { background:#256044; }.data-status-pending_supplier_confirmation { background:var(--copper-dark); }.data-status-unavailable { color:var(--steel-700); background:var(--steel-100); }.product-section { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:start; }.spec-table-wrap { overflow-x:auto; background:var(--white); border:1px solid var(--steel-200); }.spec-table { width:100%; min-width:650px; border-collapse:collapse; font-size:13px; }.spec-table th, .spec-table td { padding:16px 18px; text-align:left; vertical-align:top; border-bottom:1px solid var(--steel-200); }.spec-table thead th { color:var(--steel-500); background:var(--paper); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }.spec-table tbody tr:last-child th, .spec-table tbody tr:last-child td { border-bottom:0; }.spec-table tbody th { width:26%; font-weight:750; }.product-options article { padding:34px; background:var(--white); border-top:3px solid var(--navy-800); }.product-options article h2 { font-size:25px; }.product-options article p:last-child { color:var(--steel-500); font-size:14px; }.product-faq h3 { margin-top:32px; }.product-faq p { color:var(--steel-700); }
.industry-grid-page article { min-height:290px; }.industry-grid-page h2 { margin-top:40px; font-size:27px; }.industry-number { color:var(--copper); font-size:10px; font-weight:800; }
.quality-roadmap { list-style:none; padding:0; margin:0; }
.quality-roadmap li { display:grid; grid-template-columns:100px 1fr; gap:40px; padding:45px 0; border-top:1px solid var(--steel-300); }
.quality-roadmap li:last-child { border-bottom:1px solid var(--steel-300); }.quality-roadmap > li > span { color:var(--copper); font-size:12px; font-weight:800; }.quality-roadmap h2 { font-size:34px; }.quality-roadmap li p:last-child { color:var(--steel-500); }
.callout { padding:40px; border-left:4px solid var(--copper); background:var(--paper); }.callout strong { display:block; margin-bottom:12px; font-size:19px; }.callout p { margin:0; color:var(--steel-500); }
.supply-steps { display:grid; grid-template-columns:repeat(4,1fr); padding:0; margin:0; list-style:none; border:1px solid var(--steel-300); }
.supply-steps li { min-height:270px; padding:32px; border-right:1px solid var(--steel-300); }.supply-steps li:last-child { border:0; }.supply-steps span { color:var(--copper); font-size:10px; font-weight:800; }.supply-steps h2 { margin:70px 0 12px; font-size:27px; }.supply-steps p { color:var(--steel-500); font-size:13px; }
.resource-library { display:grid; gap:24px; }.resource-library > article { padding:50px; background:var(--white); border-left:4px solid var(--navy-800); display:grid; grid-template-columns:120px 1fr 1fr; gap:35px; align-items:start; }.resource-library > article > span { color:var(--copper); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }.resource-library h2 { font-size:30px; }.resource-library p { color:var(--steel-500); }.resource-article-card { grid-template-columns:120px 1fr !important; }.resource-article-card h2 { margin-bottom:14px; }.resource-article-card h2 a:hover { color:var(--copper-dark); }.resource-article-card .inline-link { display:inline-flex; margin-top:10px; color:var(--copper-dark); font-size:12px; font-weight:800; }
.article-page { padding-top:84px; }.article-layout { display:grid; grid-template-columns:minmax(0,760px) minmax(240px,1fr); gap:80px; align-items:start; }.article-body { min-width:0; }.article-section + .article-section { margin-top:56px; }.article-section h2 { margin-bottom:18px; font-size:clamp(28px,3vw,42px); }.article-section p { max-width:720px; color:var(--steel-700); font-size:17px; }.article-section .check-list { max-width:720px; margin-top:24px; }.article-sources { margin-top:64px; padding:28px; background:var(--white); border-left:4px solid var(--copper); }.article-sources ul { margin:0; padding-left:18px; }.article-sources a { color:var(--copper-dark); font-size:13px; text-decoration:underline; text-underline-offset:3px; }.article-related { position:sticky; top:116px; padding:26px; background:var(--navy-800); }.article-related .eyebrow { color:var(--copper-light); }.article-related .related-grid { display:grid; grid-template-columns:1fr; gap:10px; }.article-related .related-grid a { min-height:0; padding:18px; color:var(--white); background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.2); }.article-related .related-grid h3 { margin:0 0 12px; font-size:17px; }.article-related .related-grid span { color:var(--steel-300); font-size:10px; }
.facility-preview-notice { margin:0 0 28px; padding:18px 20px; color:var(--ink); background:#fff4e9; border-left:4px solid var(--copper); font-size:13px; }.facility-preview-notice strong { display:block; margin-bottom:4px; }
.facility-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }.facility-card { min-width:0; padding:18px; background:var(--white); border:1px solid var(--steel-200); }.facility-card h3 { margin:12px 0 8px; font-size:20px; }.facility-card > p:last-child { color:var(--steel-500); font-size:12px; }.facility-media { margin:0; background:var(--navy-800); }.facility-media img { display:block; width:100%; height:auto; aspect-ratio:auto; }.facility-media figcaption { padding:10px 12px; color:var(--steel-300); background:var(--navy-900); font-size:10px; line-height:1.45; }.facility-placeholder { min-height:260px; display:flex; flex-direction:column; justify-content:center; padding:32px; color:var(--white); background:var(--navy-800); border:1px solid var(--steel-300); }.facility-placeholder > span { color:var(--copper-light); font-size:10px; font-weight:800; letter-spacing:.15em; }.facility-placeholder h3 { margin:22px 0 10px; font-size:24px; }.facility-placeholder p { margin:0; color:var(--steel-300); font-size:13px; }.facility-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }.facility-detail-card { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:24px; background:var(--white); border:1px solid var(--steel-200); }.facility-detail-card h3 { margin:12px 0; font-size:24px; }.facility-detail-card p:last-child { color:var(--steel-500); font-size:13px; }
.home-network-grid { display:grid; grid-template-columns:1.16fr .84fr; gap:22px; }
.home-network-lead { min-width:0; padding:22px; background:var(--white); border:1px solid var(--steel-200); }
.home-network-lead > div { padding:24px 4px 2px; }
.home-network-lead h3 { margin-bottom:8px; font-size:27px; }
.home-network-lead p:last-child, .home-network-card p:last-child { margin:0; color:var(--steel-500); font-size:12px; }
.home-network-support { display:grid; grid-template-columns:1fr; gap:12px; }
.home-network-card { display:grid; grid-template-columns:150px 1fr; grid-template-rows:auto auto 1fr; column-gap:16px; align-items:center; padding:12px; background:var(--white); border:1px solid var(--steel-200); }
.home-network-card .facility-media { grid-row:1/4; }
.home-network-card .facility-media figcaption { display:none; }
.home-network-card .eyebrow { margin:0; font-size:9px; }
.home-network-card h3 { margin:4px 0; font-size:18px; }
.home-network-actions { display:flex; flex-wrap:wrap; gap:24px; }
.home-custom { background:var(--white); }
.home-custom-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:70px; align-items:center; }
.home-custom-copy .section-heading { margin-bottom:30px; }
.home-custom-copy .check-list { max-width:520px; }
.home-custom-copy .button { margin-top:28px; }
.home-custom .feature-panel { min-height:430px; }
.home-support-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; }
.home-support-grid .section-heading { margin-bottom:0; }
.home-support-links { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.home-support-links a { display:grid; grid-template-columns:1fr auto; gap:4px 12px; padding:22px; background:var(--white); border:1px solid var(--steel-200); }
.home-support-links a:hover { border-color:var(--copper); transform:translateY(-2px); }
.home-support-links span { font-size:15px; font-weight:750; }
.home-support-links small { color:var(--steel-500); font-size:11px; }
.home-support-links svg { grid-column:2; grid-row:1/3; align-self:center; }
.supply-photo-panel { min-width:0; }.supply-photo-panel .facility-media { margin-bottom:18px; }.supply-photo-panel > .eyebrow { margin:0; color:var(--steel-500); }
.principles { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(255,255,255,.2); }.principles article { min-height:280px; padding:38px; border-right:1px solid rgba(255,255,255,.2); }.principles article:last-child { border:0; }.principles span { color:var(--copper); font-size:10px; font-weight:800; }.principles h2 { margin:76px 0 15px; font-size:27px; }.principles p { color:var(--steel-300); font-size:13px; }

.form-layout { display:grid; grid-template-columns:320px 1fr; gap:70px; align-items:start; }
.form-layout aside { position:sticky; top:115px; }.form-layout aside h2 { font-size:36px; }
.rfq-product-selection-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.rfq-product-choice { display:grid; grid-template-columns:120px 1fr; gap:18px; align-items:center; padding:18px; background:var(--white); border:1px solid var(--steel-200); }
.rfq-product-choice img { display:block; width:100%; aspect-ratio:1; object-fit:contain; background:#f7f9fa; }
.rfq-product-choice h3 { margin:7px 0; font-size:18px; }.rfq-product-choice p:not(.eyebrow) { margin:0 0 12px; color:var(--steel-500); font-size:12px; }
.security-note { margin-top:34px; padding:22px; background:#fff7f0; border-left:3px solid var(--copper); }.security-note strong { font-size:13px; }.security-note p { margin:8px 0 0; color:var(--steel-700); font-size:11px; }
.rfq-form { padding:46px; background:var(--white); border:1px solid var(--steel-200); box-shadow:0 20px 60px rgba(6,19,31,.07); }
.form-section { min-width:0; padding:0; margin:0; border:0; }
.form-section + .form-section { margin-top:34px; padding-top:30px; border-top:1px solid var(--steel-200); }
.form-section legend { padding:0; margin:0 0 18px; color:var(--navy-900); font-family:var(--font-display); font-size:18px; font-weight:700; letter-spacing:-.02em; text-transform:uppercase; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }.field-wide { grid-column:1/-1; }.field label { display:block; margin-bottom:7px; font-size:12px; font-weight:750; }.field label > span, .field label > b { color:var(--copper-dark); }
.field input:not([type="checkbox"]):not([type="file"]), .field select, .field textarea { width:100%; min-height:50px; padding:12px 14px; color:var(--ink); background:var(--paper); border:1px solid var(--steel-300); border-radius:0; }
.field textarea { resize:vertical; }.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--copper); outline:2px solid rgba(196,120,67,.22); outline-offset:0; }.field [aria-invalid="true"] { border-color:#9e2c2c !important; }
.field-error { min-height:18px; display:block; margin-top:5px; color:#8c2222; font-size:11px; }.file-field > small:not(.field-error) { display:block; margin-top:8px; color:var(--steel-500); font-size:10px; }.file-field input { width:100%; padding:14px; background:var(--paper); border:1px dashed var(--steel-300); }
.checkbox-field label { display:flex; gap:12px; align-items:flex-start; font-weight:500; line-height:1.5; }.checkbox-field input { width:18px; height:18px; margin-top:2px; flex:0 0 auto; }.checkbox-field a { text-decoration:underline; }.honeypot { position:absolute; left:-10000px; }.form-footer { display:flex; gap:24px; align-items:center; margin-top:26px; }.form-footer p { max-width:360px; margin:0; color:var(--steel-500); font-size:10px; }.form-status { display:none; margin-top:24px; padding:16px; font-size:13px; }.form-status.is-visible { display:block; }.form-status.success { color:#164f33; background:#e9f5ed; border:1px solid #97c5a7; }.form-status.error { color:#742424; background:#fff0ee; border:1px solid #deb0aa; }
.contact-options { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.contact-options article { min-height:330px; padding:38px; background:var(--paper); border-top:3px solid var(--navy-800); display:flex; flex-direction:column; }.contact-options article > span { color:var(--copper); font-size:10px; font-weight:800; }.contact-options h2 { margin-top:62px; font-size:28px; }.contact-options p { color:var(--steel-500); }.contact-options .button, .contact-options .inline-link { width:max-content; max-width:100%; margin-top:auto; }
.contact-details { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:start; }.contact-details dl { margin:0; border-top:1px solid var(--steel-300); }.contact-details dl div { display:grid; grid-template-columns:160px 1fr; gap:28px; padding:22px 0; border-bottom:1px solid var(--steel-300); }.contact-details dt { color:var(--steel-500); font-size:11px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }.contact-details dd { margin:0; font-weight:650; }.email-link, .footer-contact a { overflow-wrap:anywhere; word-break:break-word; }.email-link:hover { color:var(--copper-dark); }
.legal-copy { max-width:840px; }.legal-copy h2 { margin:55px 0 14px; font-size:28px; }.legal-copy p { color:var(--steel-700); }.legal-copy a { text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }.legal-copy code { padding:2px 5px; background:var(--white); border:1px solid var(--steel-200); overflow-wrap:anywhere; }.legal-alert { padding:24px; color:var(--ink) !important; background:#fff4e9; border-left:4px solid var(--copper); }
.system-page { min-height:620px; display:grid; place-items:center; padding:100px 0; color:var(--white); background:var(--navy-950); text-align:center; }.system-page h1 { margin-inline:auto; max-width:850px; font-size:clamp(48px,7vw,90px); }.system-page p:not(.eyebrow) { max-width:660px; margin:0 auto 30px; color:var(--steel-300); }.not-found > .shell > span { display:block; margin-bottom:-40px; color:rgba(255,255,255,.05); font-size:220px; font-weight:900; line-height:.9; }.not-found .button-row { justify-content:center; }.not-found .inline-link { color:var(--white); }

.site-footer { padding-top:80px; color:var(--steel-300); background:#040d15; }
.footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:60px; padding-bottom:70px; }
.footer-brand .brand { width:max-content; padding:6px 10px; background:var(--white); }
.footer-brand .brand-logo { width:220px; }
.footer-brand p { max-width:400px; margin-top:18px; color:var(--steel-300); font-size:13px; }.footer-brand .footer-note { color:#aeb8be; font-size:11px; }.footer-brand .footer-contact { line-height:1.8; }.footer-brand .footer-contact a { color:var(--white); }
.footer-grid h2 { margin-bottom:22px; color:var(--white); font-family:var(--font-sans); font-size:11px; letter-spacing:.15em; text-transform:uppercase; }.footer-grid > div:not(:first-child) a { display:block; padding:6px 0; font-size:12px; }.footer-grid a:hover { color:var(--copper); }.footer-bottom { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:30px; border-top:1px solid rgba(255,255,255,.13); font-size:10px; }.footer-bottom p { margin:0; }.footer-bottom > div { display:flex; gap:22px; align-items:center; }.text-button { appearance:none; padding:0; color:inherit; background:none; border:0; cursor:pointer; font-size:inherit; }.text-button:hover { color:var(--copper); }
.cookie-banner { position:fixed; z-index:300; left:24px; right:24px; bottom:24px; display:flex; align-items:center; justify-content:space-between; gap:30px; max-width:980px; margin:auto; padding:24px; background:var(--white); border:1px solid var(--steel-300); box-shadow:var(--shadow); }.cookie-banner[hidden] { display:none; }.cookie-banner strong { font-size:14px; }.cookie-banner p { max-width:590px; margin:5px 0 0; color:var(--steel-500); font-size:11px; }.cookie-actions { display:flex; gap:10px; flex:0 0 auto; }
.mobile-quote-bar { display:none; }

.floating-contact { position:fixed; z-index:260; right:24px; bottom:24px; }
.floating-contact-toggle { display:inline-flex; min-height:50px; align-items:center; gap:9px; padding:0 17px; color:var(--white); background:var(--navy-900); border:1px solid rgba(255,255,255,.24); box-shadow:0 14px 35px rgba(4,22,42,.24); cursor:pointer; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.floating-contact-toggle:hover, .floating-contact.is-open .floating-contact-toggle { background:var(--copper-dark); }
.floating-contact-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; }
.floating-contact-panel { position:absolute; right:0; bottom:calc(100% + 12px); width:min(360px, calc(100vw - 48px)); padding:24px; color:var(--ink); background:var(--white); border:1px solid var(--steel-300); box-shadow:0 22px 65px rgba(4,22,42,.2); }
.floating-contact-panel[hidden] { display:none; }
.floating-contact-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.floating-contact-heading .eyebrow { margin-bottom:8px; font-size:9px; }
.floating-contact-heading h2 { margin:0; font-size:25px; }
.floating-contact-close { width:32px; height:32px; color:var(--steel-600); background:transparent; border:1px solid var(--steel-300); cursor:pointer; font-size:23px; line-height:1; }
.floating-contact-close:hover { color:var(--ink); border-color:var(--ink); }
.floating-contact-subtitle { margin:14px 0 7px; color:var(--copper-dark); font-size:11px; font-weight:800; letter-spacing:.05em; }
.floating-contact-copy { margin:0 0 18px; color:var(--steel-600); font-size:12px; line-height:1.55; }
.floating-contact-options { display:grid; gap:8px; }
.floating-contact-option { display:grid; grid-template-columns:34px 1fr auto; gap:11px; align-items:center; padding:12px; color:var(--ink); background:var(--paper); border:1px solid var(--steel-200); }
.floating-contact-option:hover { color:var(--navy-950); background:#eef2f3; border-color:var(--copper); }
.floating-contact-option.option-whatsapp .contact-option-icon { color:#187c45; }
.contact-option-icon { width:30px; height:30px; display:grid; place-items:center; color:var(--copper-dark); background:var(--white); border:1px solid var(--steel-200); }
.contact-option-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.floating-contact-option strong, .floating-contact-option small { display:block; }
.floating-contact-option strong { font-size:13px; line-height:1.25; }
.floating-contact-option small { margin-top:3px; color:var(--steel-500); font-size:10px; line-height:1.3; }
.contact-option-arrow { color:var(--copper-dark); font-size:17px; }
.floating-contact-email { margin:16px 0 0; color:var(--steel-500); font-size:10px; overflow-wrap:anywhere; }
.advanced-specifications { margin:18px 0; border:1px solid var(--steel-300); background:rgba(255,255,255,.6); }
.advanced-specifications summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 18px; cursor:pointer; color:var(--navy-800); font-weight:800; list-style-position:inside; }
.advanced-specifications summary span { color:var(--steel-500); font-size:10px; font-weight:500; }
.advanced-specifications[open] summary { border-bottom:1px solid var(--steel-200); }
.advanced-specifications .form-section { margin:0; padding:20px; border-top:0; }
.email-drawing-note { display:flex; flex-direction:column; gap:5px; padding:14px 16px; color:var(--steel-600); background:#f8f4ee; border-left:3px solid var(--copper); font-size:12px; }
.email-drawing-note strong { color:var(--ink); font-size:12px; }

.reveal { opacity:1; transform:none; }
@media (max-width: 900px) { .rfq-product-selection-grid { grid-template-columns:1fr 1fr; } }
@media (max-width: 620px) { .rfq-product-selection-grid { grid-template-columns:1fr; } .rfq-product-choice { grid-template-columns:100px 1fr; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } .reveal { opacity:1; transform:none; } }

@media (max-width: 1080px) {
  :root { --shell:min(100% - 40px, 980px); }
  .primary-nav { gap:18px; }.primary-nav > a, .nav-trigger { font-size:12px; }.hero-copy { padding-right:40px; }.bolt-assembly { left:-8%; transform:scale(.85) rotate(-14deg); }
  .split-layout, .supply-visual { gap:55px; }.footer-grid { grid-template-columns:1.6fr repeat(3,1fr); gap:36px; }
}

@media (max-width: 900px) {
  .menu-toggle { display:block; }
  .primary-nav { position:fixed; inset:82px 0 auto 0; max-height:calc(100vh - 82px); display:none; overflow:auto; padding:24px; background:var(--white); border-top:1px solid var(--steel-200); align-items:stretch; }
  .primary-nav.is-open { display:flex; flex-direction:column; gap:0; }
  .primary-nav > a:not(.button), .nav-trigger { display:block; width:100%; padding:16px 0; text-align:left; border-bottom:1px solid var(--steel-200); }
  .nav-group { width:100%; }.nav-panel { position:static; width:100%; padding:12px; transform:none !important; visibility:visible; opacity:1; display:none; box-shadow:none; }.nav-group.is-open .nav-panel { display:block; }.nav-grid { grid-template-columns:1fr 1fr; }.nav-feature { display:none; }.primary-nav .button { margin-top:20px; }
  .hero, .hero-grid { min-height:auto; }.hero-grid { grid-template-columns:minmax(0,1fr); }.hero-copy { width:100%; max-width:100%; min-height:610px; padding:90px 0 70px; }.hero-visual { min-height:520px; }.hero-facts { max-width:600px; }.hero-product-visual { padding:42px; }.article-layout { grid-template-columns:1fr; gap:42px; }.article-related { position:static; }
  .category-grid, .facility-grid { grid-template-columns:1fr 1fr; }.market-shortlist-compact, .market-product-grid-compact { grid-template-columns:1fr 1fr; }.split-layout, .supply-visual, .category-detail-grid, .form-layout, .contact-details, .product-hero-grid, .product-section, .facility-detail-grid, .facility-detail-card { grid-template-columns:1fr; }.dual-feature { grid-template-columns:1fr; }.feature-panel { min-height:410px; }.industry-grid { grid-template-columns:1fr 1fr; }.resource-grid { grid-template-columns:1fr; }.resource-grid article { min-height:auto; }.split-layout, .supply-visual, .category-detail-grid, .form-layout, .contact-details, .product-hero-grid, .product-section { gap:50px; }.form-layout aside { position:static; }.supply-steps { grid-template-columns:1fr 1fr; }.supply-steps li:nth-child(2) { border-right:0; }.supply-steps li:nth-child(-n+2) { border-bottom:1px solid var(--steel-300); }.resource-library > article { grid-template-columns:80px 1fr; }.resource-library > article .check-list { grid-column:2; }.footer-grid { grid-template-columns:1fr 1fr; }.footer-brand { grid-column:1/-1; }
}

@media (max-width: 620px) {
  :root { --shell:calc(100% - 32px); }.header-inner { height:70px; }.primary-nav { inset-top:70px; }.hero-product-visual { min-height:430px; padding:24px 16px; }.hero-product-board { padding:14px; }.hero-product-board-label, .hero-product-note { align-items:flex-start; flex-direction:column; gap:5px; }.hero-product-note strong { max-width:none; text-align:left; }.hero-product-tiles { grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,1fr); }.hero-product-tile.tile-wide { grid-column:span 2; }.hero-product-tile.tile-tall { grid-row:span 1; }.hero-product-tile { min-height:96px; }.hero-product-tile img { min-height:96px; }.article-page { padding-top:58px; }.article-section + .article-section { margin-top:42px; }.article-section p { font-size:16px; }.article-related { padding:22px; }
  .category-card-actions { align-items:stretch; flex-direction:column; }.category-card-actions .button { width:100%; justify-content:center; }
  .section { padding:76px 0; }.section-heading { margin-bottom:38px; }.section-heading h2 { font-size:36px; }.primary-nav { top:70px; }.brand-name { font-size:14px; }.brand-mark { width:32px; height:32px; }.brand-logo { width:155px; }.hero-copy { min-height:600px; padding:70px 0 55px; }.hero h1 { width:100%; min-width:0; max-width:100%; font-size:42px; overflow-wrap:anywhere; word-break:break-word; }.hero-lede { width:100%; min-width:0; font-size:16px; }.hero-facts { display:grid; grid-template-columns:1fr; }.hero-facts div, .hero-facts div + div { padding:12px 0; border-left:0; border-bottom:1px solid rgba(255,255,255,.12); }.hero-visual { min-height:400px; }.bolt-assembly { left:-43%; top:32%; transform:scale(.66) rotate(-14deg); }.category-grid, .industry-grid, .detail-grid, .process-steps, .related-grid, .principles, .contact-options, .product-options, .facility-grid, .market-shortlist, .market-shortlist-compact, .market-product-grid, .market-product-grid-compact { grid-template-columns:1fr; }.market-card { padding:24px; }.market-card-top { flex-direction:column; gap:7px; }.market-card-top strong { max-width:none; text-align:left; }.market-card-actions { align-items:flex-start; flex-direction:column; }.market-product-body { padding:23px; }.market-product-columns { grid-template-columns:1fr; }.market-product-scope, .market-product-grid-compact .market-product-scope { min-height:0; }.market-product-figure svg { padding:18px 20px 6px; }.facility-detail-card { padding:18px; }.category-card { min-height:290px; }.detail-grid article:nth-child(odd), .process-steps li { border-right:0; }.dual-feature { width:100%; }.feature-panel { min-height:430px; padding:34px; }.feature-panel h2 { font-size:34px; }.network-diagram { height:450px; }.node { width:104px; }.node-buyer { left:calc(50% - 52px); }.node-center { left:calc(50% - 75px); }.node-a { left:10px; }.node-b { display:none; }.node-c { right:10px; }.rfq-band { padding:75px 0; }.page-hero { min-height:460px; }.page-hero h1 { max-width:320px; font-size:46px; }.page-hero-copy { padding:70px 0; }.page-hero-copy > p:last-child { width:100%; max-width:320px; }.page-index { font-size:180px; bottom:-50px; }.technical-card dl div { flex-direction:column; gap:2px; }.technical-card dd { text-align:left; }.product-placeholder { min-height:300px; }.spec-table-wrap { margin-inline:0; }.supply-steps { grid-template-columns:1fr; }.supply-steps li, .supply-steps li:nth-child(2) { border-right:0; border-bottom:1px solid var(--steel-300); }.resource-library > article { padding:30px; grid-template-columns:1fr; }.resource-library > article .check-list { grid-column:1; }.quality-roadmap li { grid-template-columns:50px 1fr; gap:16px; }.rfq-form { padding:24px; }.form-grid { grid-template-columns:1fr; }.field-wide { grid-column:auto; }.form-footer { align-items:flex-start; flex-direction:column; }.contact-details dl div { grid-template-columns:1fr; gap:7px; }.footer-grid { grid-template-columns:1fr; }.footer-brand { grid-column:auto; }.footer-bottom { padding:24px 0; align-items:flex-start; flex-direction:column; }.footer-bottom > div { flex-wrap:wrap; }.cookie-banner { left:10px; right:10px; bottom:10px; flex-direction:column; align-items:stretch; }.cookie-actions { flex-direction:column-reverse; }.not-found > .shell > span { font-size:150px; }.button-row { align-items:flex-start; flex-direction:column; }.product-review-notice { padding:22px; }.review-status-row { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 900px) {
  .home-network-grid, .home-custom-grid, .home-support-grid { grid-template-columns:1fr; gap:34px; }
  .home-network-support { grid-template-columns:repeat(3,1fr); }
  .home-network-card { display:block; }
  .home-network-card .facility-media { margin-bottom:12px; }
  .home-network-card .eyebrow { margin-bottom:4px; }
}

@media (max-width: 620px) {
  .catalogue-note { align-items:flex-start; flex-direction:column; gap:4px; margin-top:-8px; }
  .category-card { min-height:0; }
  .category-card-media { aspect-ratio:1.35/1; margin-inline:-24px; }
  .home-network-support { grid-template-columns:1fr; }
  .home-network-card { display:grid; grid-template-columns:110px 1fr; grid-template-rows:auto auto 1fr; }
  .home-network-card .facility-media { grid-row:1/4; margin:0; }
  .home-network-card .facility-media figcaption { display:none; }
  .home-support-links { grid-template-columns:1fr; }
}

@media (max-width: 900px) {
  .buyer-focus-grid { grid-template-columns:1fr; gap:28px; }
  .buyer-focus-items article:first-child { padding-left:0; border-left:0; }
  .mobile-quote-bar { position:fixed; z-index:250; right:16px; bottom:16px; display:inline-flex; align-items:center; gap:12px; min-height:48px; padding:0 16px; color:var(--white); background:var(--copper-dark); box-shadow:0 12px 30px rgba(4,22,42,.26); font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
  .mobile-quote-bar svg { width:16px; fill:none; stroke:currentColor; stroke-width:1.5; }
}

@media (max-width: 620px) {
  .buyer-focus-grid { padding:34px 0 38px; }
  .buyer-focus-items { grid-template-columns:1fr; gap:20px; }
  .buyer-focus-items article, .buyer-focus-items article:first-child { min-height:0; padding:0 0 20px; border-left:0; border-bottom:1px solid rgba(255,255,255,.18); }
  .buyer-focus-items article:last-child { padding-bottom:0; border-bottom:0; }
  .product-reference-hero { min-height:300px; }
}

/* P0 responsive guardrails: keep text, navigation and RFQ controls inside the viewport. */
@media (max-width: 900px) {
  .site-header { z-index:300; }
  .header-inner, .hero-grid, .hero-copy, .hero h1, .hero-lede, .hero-product-strip, .hero-facts { min-width:0; }
  .header-inner { overflow:visible; }
  .brand-logo { max-width:calc(100vw - 84px); }
  .menu-toggle { flex:0 0 44px; }
  .primary-nav { box-sizing:border-box; width:100%; }
  .hero h1 { width:100%; max-width:100%; font-size:clamp(40px, 10.8vw, 72px); line-height:.98; overflow-wrap:anywhere; }
  .hero-lede { width:100%; max-width:100%; overflow-wrap:anywhere; }
}

@media (max-width: 620px) {
  .hero h1 { font-size:clamp(40px, 11vw, 44px); }
  .mobile-quote-bar { right:max(12px, env(safe-area-inset-right)); bottom:max(12px, env(safe-area-inset-bottom)); max-width:calc(100vw - 24px - env(safe-area-inset-right)); padding-inline:14px; gap:8px; font-size:10px; }
  .floating-contact { right:max(16px, env(safe-area-inset-right)); bottom:calc(76px + env(safe-area-inset-bottom)); }
  .floating-contact-panel { right:0; width:min(360px, calc(100vw - 32px)); padding:20px; }
  .floating-contact-toggle { min-height:46px; padding-inline:14px; }
  .advanced-specifications summary { align-items:flex-start; flex-direction:column; gap:4px; }
  body.menu-open .mobile-quote-bar { visibility:hidden; pointer-events:none; }
}
