:root {
  --ink: #0e0e0f;
  --muted: #5f6470;
  --line: #d7dce5;
  --line-strong: #aeb6c4;
  --paper: #ffffff;
  --wash: #f6f8fb;
  --teal: #0b55d6;
  --teal-dark: #0845af;
  --accent: #0b55d6;
  --success: #168a45;
  --error: #d92d20;
  --radius: 6px;
  --card-radius: 6px;
}

/* Full catalogue rollout: large home entrances and a dedicated selection flow. */
.precision-directions,
.precision-knowledge { padding: 68px 0; border-bottom: 1px solid var(--line); background: #fff; }
.precision-directions { background: #f7f8fa; }
.precision-direction-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 2px solid var(--ink); }
.precision-direction-card { position: relative; min-height: 188px; padding: 18px 20px; display: grid; grid-template-columns: 38px 140px minmax(0, 1fr) 24px; align-items: center; gap: 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.precision-direction-card:nth-child(even) { border-right: 0; }
.precision-direction-card:hover { background: var(--wash); color: var(--accent); }
.precision-direction-card__number { align-self: start; padding-top: 4px; color: #9aa1aa; font: 500 12px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; }
.precision-direction-card__media { width: 140px; height: 140px; padding: 10px; display: grid; place-items: center; overflow: hidden; border: 1px solid #e4e7ec; background: #fff; }
.precision-direction-card__media picture, .catalog-root-section__media picture { width: 100%; height: 100%; display: block; }
.precision-direction-card__media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.precision-direction-card__copy,
.precision-direction-card__copy small,
.precision-direction-card__copy b,
.precision-direction-card__copy em { display: block; }
.precision-direction-card__copy small { color: var(--accent); font-size: 11px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.precision-direction-card__copy b { margin-top: 10px; color: var(--ink); font-size: 21px; line-height: 1.18; }
.precision-direction-card__copy em { margin-top: 14px; color: var(--muted); font-size: 12px; font-style: normal; }

.precision-knowledge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--ink); }
.precision-knowledge-card { min-height: 260px; padding: 22px 22px 20px; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.precision-knowledge-card:nth-child(3n) { border-right: 0; }
.precision-knowledge-card__meta { display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; }
.precision-knowledge-card__meta svg { color: var(--accent); }
.precision-knowledge-card__meta em { color: #a7adb5; font-style: normal; }
.precision-knowledge-card h3 { margin: 24px 0 10px; color: var(--ink); font-size: 18px; line-height: 1.32; }
.precision-knowledge-card h3 a:hover { color: var(--accent); }
.precision-knowledge-card p { margin: 0 0 22px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.precision-knowledge-card > .text-link { margin-top: auto; }

.selection-cta { margin: 46px 0; padding: 28px 0; display: grid; grid-template-columns: minmax(280px, .82fr) minmax(480px, 1.18fr); gap: 58px; align-items: center; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.selection-cta__copy h2 { margin: 8px 0 9px; font-size: 28px; line-height: 1.15; }
.selection-cta__copy p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.selection-cta__actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.selection-cta__actions > a { min-height: 96px; padding: 16px; display: grid; grid-template-columns: 28px 1fr 18px; align-items: center; gap: 12px; border-left: 1px solid var(--line); background: #fff; }
.selection-cta__actions > a:hover { background: var(--wash); color: var(--accent); }
.selection-cta__actions > a > svg:first-child { color: var(--accent); }
.selection-cta__actions span,
.selection-cta__actions b,
.selection-cta__actions small { display: block; }
.selection-cta__actions b { color: var(--ink); font-size: 14px; }
.selection-cta__actions small { margin-top: 4px; color: var(--muted); font-size: 11px; }

.equipment-selection-page .page-intro { margin-bottom: 0; }
.selection-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.selection-process > div { min-height: 84px; padding: 15px; display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 11px; border-left: 1px solid var(--line); }
.selection-process > div:first-child { border-left: 0; }
.selection-process svg { color: var(--accent); }
.selection-process span,
.selection-process b,
.selection-process small { display: block; }
.selection-process b { font-size: 13px; }
.selection-process small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.equipment-selection-page .equipment-assist { margin-top: 0; border-top: 0; }
#nameplate-upload,
#bom-upload { scroll-margin-top: 150px; }
.selection-privacy-note { margin: 0 0 56px; padding: 18px 20px; display: grid; grid-template-columns: 24px 1fr; gap: 12px; border: 1px solid var(--line); background: var(--wash); color: var(--muted); }
.selection-privacy-note svg { color: var(--accent); }
.selection-privacy-note p { margin: 0; font-size: 12px; line-height: 1.6; }
.selection-privacy-note b { color: var(--ink); }

@media (max-width: 980px) {
  .precision-direction-grid { grid-template-columns: 1fr; }
  .precision-direction-card { border-right: 0; }
  .precision-knowledge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .precision-knowledge-card:nth-child(3n) { border-right: 1px solid var(--line); }
  .precision-knowledge-card:nth-child(even) { border-right: 0; }
  .selection-cta { grid-template-columns: 1fr; gap: 24px; }
  .selection-cta__actions > a:first-child { border-left: 0; }
  .selection-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .selection-process > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .selection-process > div:nth-child(4) { border-top: 1px solid var(--line); }
}

@media (max-width: 620px) {
  .precision-directions,
  .precision-knowledge { padding: 46px 0; }
  .precision-direction-card { min-height: 0; grid-template-columns: 26px 84px minmax(0, 1fr) 18px; gap: 10px; padding: 14px 10px; }
  .precision-direction-card__media { width: 84px; height: 84px; padding: 6px; }
  .precision-direction-card__copy small { font-size: 9px; }
  .precision-direction-card__copy b { margin-top: 6px; font-size: 16px; }
  .precision-direction-card__copy em { margin-top: 8px; font-size: 10px; }
  .precision-knowledge-grid { grid-template-columns: 1fr; }
  .precision-knowledge-card,
  .precision-knowledge-card:nth-child(3n),
  .precision-knowledge-card:nth-child(even) { min-height: 0; border-right: 0; }
  .selection-cta__actions { grid-template-columns: 1fr; }
  .selection-cta__actions > a { border-left: 0; border-top: 1px solid var(--line); }
  .selection-process { grid-template-columns: 1fr; }
  .selection-process > div,
  .selection-process > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .selection-process > div:first-child { border-top: 0; }
}

html { scroll-padding-top: 124px; }
body { color: var(--ink); font-size: 16px; line-height: 1.5; }
.shell { width: min(1392px, calc(100% - 48px)); }

a, button { transition: color .15s ease, background-color .15s ease, border-color .15s ease; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

.button {
  min-height: 50px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 700;
  box-shadow: none;
  transition: color .15s ease, background-color .15s ease, border-color .15s ease;
}
.button:hover { transform: none; box-shadow: none; }
.button--primary { background: var(--accent); color: #fff; box-shadow: none; }
.button--primary:hover { background: var(--teal-dark); box-shadow: none; }
.button--secondary { border-color: var(--line-strong); background: #fff; color: var(--ink); }
.button--secondary:hover { border-color: var(--ink); }
.button.is-added, .button--secondary.is-added { border-color: #b9dfc8; background: #edf8f1; color: #116b37; }

/* Header */
.precision-utility {
  border-bottom: 1px solid #e8ebf0;
  background: #f8f9fb;
  color: #565c67;
  font-size: 12px;
}
.precision-utility__inner { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.precision-utility nav { display: flex; align-items: center; gap: 24px; }
.precision-utility a { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.precision-utility a:hover { color: var(--accent); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid var(--line);
  background: #fff;
  backdrop-filter: none;
}
.header-main {
  min-height: 106px;
  display: grid;
  grid-template-columns: 190px minmax(360px, 1fr) auto;
  align-items: center;
  gap: 28px;
}
.brand { min-width: 0; }
.company-logo { width: 172px; height: 74px; object-fit: contain; }
.global-search {
  height: 60px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 104px;
  align-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
  box-shadow: none;
}
.global-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.global-search__icon { margin-left: 18px; color: #6a707b; }
.global-search input { height: 100%; padding: 0 14px 0 2px; color: var(--ink); font-size: 15px; }
.global-search input::placeholder { color: #777d88; }
.global-search button { width: auto; height: 100%; border: 0; background: var(--accent); color: #fff; font-size: 14px; font-weight: 750; cursor: pointer; }
.global-search button:hover { background: var(--teal-dark); }

.precision-header-actions { display: flex; align-items: stretch; gap: 2px; }
.precision-header-actions a {
  position: relative;
  min-width: 82px;
  min-height: 60px;
  padding: 7px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-left: 1px solid #e5e8ed;
  color: #32363e;
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
}
.precision-header-actions a:first-child { border-left: 0; }
.precision-header-actions a:hover { color: var(--accent); }
.precision-header-actions em { position: absolute; top: 4px; right: 15px; min-width: 18px; height: 18px; padding: 0 5px; display: grid; place-items: center; border-radius: 999px; background: var(--accent); color: #fff; font-size: 10px; font-style: normal; }

/* Homepage */
.precision-home-hero { border-bottom: 1px solid var(--line); background: #fff; }
.precision-hero-grid {
  min-height: 380px;
  padding-top: 52px;
  padding-bottom: 52px;
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(390px, .84fr);
  align-items: center;
  gap: 72px;
}
.precision-kicker { display: block; color: var(--accent); font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.precision-hero-copy h1 { max-width: 760px; margin: 14px 0 16px; font-size: clamp(44px, 4.1vw, 58px); line-height: 1.02; letter-spacing: -.048em; font-weight: 760; }
.precision-hero-copy > p { max-width: 680px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.6; }
.precision-hero-search {
  width: min(760px, 100%);
  height: 62px;
  margin-top: 28px;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) 108px;
  align-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
}
.precision-hero-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.precision-hero-search > svg { margin-left: 17px; color: #5d636d; }
.precision-hero-search input { min-width: 0; height: 100%; padding: 0 10px 0 0; border: 0; outline: 0; color: var(--ink); font-size: 14px; }
.precision-hero-search input::placeholder { color: #7b818b; }
.precision-hero-search button { height: 100%; border: 0; background: var(--accent); color: #fff; font-size: 14px; font-weight: 750; cursor: pointer; }
.precision-hero-search button:hover { background: var(--teal-dark); }
.precision-upload-link { width: min(760px, 100%); min-height: 56px; padding: 10px 2px; display: grid; grid-template-columns: 26px 1fr 20px; align-items: center; gap: 11px; color: #343942; }
.precision-upload-link > svg:first-child { color: var(--accent); }
.precision-upload-link span, .precision-upload-link b, .precision-upload-link small { display: block; }
.precision-upload-link b { font-size: 13px; }
.precision-upload-link small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.precision-upload-link:hover { color: var(--accent); }

.precision-proof { border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.precision-proof__head { padding: 20px 0 18px; display: flex; align-items: end; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); }
.precision-proof__head span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.precision-proof__head b { max-width: 210px; font-size: 18px; line-height: 1.25; text-align: right; }
.precision-proof ul { margin: 0; padding: 0; list-style: none; }
.precision-proof li { min-height: 72px; padding: 14px 0; display: grid; grid-template-columns: 32px 1fr; gap: 13px; align-items: start; border-bottom: 1px solid #e3e6eb; }
.precision-proof li > svg { color: var(--accent); }
.precision-proof li span, .precision-proof li b, .precision-proof li small { display: block; }
.precision-proof li b { font-size: 14px; }
.precision-proof li small { margin-top: 3px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.precision-proof > a { min-height: 52px; display: flex; align-items: center; justify-content: space-between; color: var(--accent); font-size: 13px; font-weight: 750; }

.precision-categories { border-bottom: 1px solid var(--line); }
.precision-section-line { min-height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.precision-section-line h2 { margin: 0; font-size: 15px; font-weight: 750; }
.precision-section-line > a, .precision-section-heading > a { display: inline-flex; align-items: center; gap: 8px; color: var(--accent); font-size: 13px; font-weight: 700; }
.precision-category-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.precision-category-grid > a { min-height: 94px; padding: 16px 16px; display: grid; grid-template-columns: 32px minmax(0, 1fr) 18px; align-items: center; gap: 10px; border-left: 1px solid var(--line); }
.precision-category-grid > a:first-child { border-left: 0; }
.precision-category-grid > a > svg:first-child { color: #2f343c; }
.precision-category-grid span, .precision-category-grid b, .precision-category-grid small { display: block; }
.precision-category-grid b { font-size: 13px; line-height: 1.25; }
.precision-category-grid small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.3; }
.precision-category-arrow { color: #989ea8; }
.precision-category-grid > a:hover { background: var(--wash); color: var(--accent); }
.precision-category-grid > a:hover > svg { color: var(--accent); }

.precision-popular { padding: 52px 0 64px; }
.precision-section-heading { margin-bottom: 26px; display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.precision-section-heading h2 { margin: 8px 0 8px; font-size: clamp(28px, 3vw, 38px); line-height: 1.12; letter-spacing: -.034em; }
.precision-section-heading p { max-width: 720px; margin: 0; color: var(--muted); font-size: 13px; }
.precision-product-table { border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.precision-product-table__head, .precision-product-row { display: grid; grid-template-columns: minmax(330px, 1.5fr) minmax(155px, .62fr) minmax(280px, 1.05fr) minmax(180px, .75fr) 104px; gap: 20px; align-items: center; }
.precision-product-table__head { min-height: 44px; padding: 0 16px; border-bottom: 1px solid var(--line); background: var(--wash); color: #666c76; font-size: 10px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.precision-product-row { min-height: 112px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.precision-product-row:last-child { border-bottom: 0; }
.precision-product-row:hover { background: #fbfcfe; }
.precision-product-row__identity { display: grid; grid-template-columns: 82px 1fr; gap: 14px; align-items: center; min-width: 0; }
.precision-product-row__image { width: 82px; height: 82px; padding: 7px; display: grid; place-items: center; border: 1px solid #e2e5ea; background: #fff; }
.precision-product-row__image img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.precision-product-row__identity small, .precision-product-row__identity b { display: block; }
.precision-product-row__identity small { margin-bottom: 4px; color: var(--accent); font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.precision-product-row__identity b { font-size: 14px; line-height: 1.38; }
.precision-product-row__mpn small { display: none; }
.precision-product-row__mpn b { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; }
.precision-product-row__specs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.precision-product-row__specs li { padding: 5px 7px; border: 1px solid #e0e4e9; border-radius: 4px; color: #4e535c; font-size: 10px; line-height: 1.2; }
.precision-product-row__status { display: grid; grid-template-columns: 24px 1fr; gap: 7px; align-items: start; color: var(--success); }
.precision-product-row__status span, .precision-product-row__status b, .precision-product-row__status small { display: block; }
.precision-product-row__status b { font-size: 12px; }
.precision-product-row__status small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.precision-row-action { min-height: 40px; padding: 0 11px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--line-strong); border-radius: 4px; font-size: 11px; font-weight: 700; }
.precision-row-action:hover { border-color: var(--accent); color: var(--accent); }

.precision-trust { border-top: 1px solid #24262a; border-bottom: 1px solid #24262a; background: var(--ink); color: #fff; }
.precision-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.precision-trust__grid > div { min-height: 102px; padding: 20px 24px; display: grid; grid-template-columns: 31px 1fr; align-items: center; gap: 12px; border-left: 1px solid #2d3035; }
.precision-trust__grid > div:first-child { border-left: 0; }
.precision-trust__grid > div > svg { color: #78a6ff; }
.precision-trust__grid span, .precision-trust__grid b, .precision-trust__grid small { display: block; }
.precision-trust__grid b { font-size: 13px; }
.precision-trust__grid small { margin-top: 3px; color: #9ba0aa; font-size: 10px; }

.precision-assist { padding: 68px 0; }
.precision-assist__inner { padding: 42px 0; display: flex; align-items: center; justify-content: space-between; gap: 48px; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.precision-assist h2 { margin: 10px 0 10px; font-size: 32px; letter-spacing: -.03em; }
.precision-assist p { max-width: 790px; margin: 0; color: var(--muted); font-size: 14px; }
.precision-assist .button { flex: 0 0 auto; }

/* Product detail */
.page-shell.product-page { padding-bottom: 84px; }
.breadcrumbs { padding: 18px 0 0; color: #747a84; font-size: 11px; }
.breadcrumbs span::before { color: #b0b5bd; }
.breadcrumbs a:hover { color: var(--accent); }
.product-hero { grid-template-columns: minmax(280px, 330px) minmax(380px, 1fr) 330px; gap: 38px; padding: 32px 0 46px; }
.product-gallery__main { height: 360px; padding: 28px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.product-gallery__main img { mix-blend-mode: multiply; }
.zoom-button { right: 12px; bottom: 12px; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 4px; background: #fff; color: var(--ink); font-size: 0; }
.zoom-button:hover { border-color: var(--accent); color: var(--accent); }
.product-thumbs { gap: 8px; margin-top: 8px; }
.product-thumbs button, .product-thumbs .document-thumb { width: 74px; height: 66px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 4px; background: #fff; overflow: hidden; }
.product-thumbs button.is-active { border: 2px solid var(--accent); }
.product-thumbs .document-thumb { color: var(--accent); }
.product-thumbs .document-thumb small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.product-identity a { color: var(--accent); font-size: 11px; font-weight: 750; letter-spacing: .08em; }
.product-identity span { color: var(--muted); font-size: 11px; }
.product-summary h1 { margin: 14px 0 14px; font-size: clamp(31px, 3vw, 39px); line-height: 1.1; letter-spacing: -.035em; font-weight: 720; }
.product-codes { gap: 9px 18px; padding: 9px 0 15px; color: var(--muted); font-size: 12px; }
.product-codes button { display: inline-flex; align-items: center; gap: 6px; color: var(--accent); font-size: 11px; }
.product-lead { margin: 16px 0 0; color: #4e535c; font-size: 14px; line-height: 1.6; }
.key-specs { gap: 8px; margin-top: 18px; }
.key-specs div { padding: 12px; border: 1px solid #e1e4e9; border-radius: 4px; background: #fff; }
.key-specs span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .04em; }
.key-specs b { margin-top: 5px; font-size: 13px; font-weight: 650; }
.inline-document { min-height: 64px; margin-top: 16px; padding: 11px 13px; grid-template-columns: 30px 1fr 20px; border: 1px solid var(--line); border-radius: 4px; background: var(--wash); }
.inline-document > svg { color: var(--accent); }
.inline-document b { font-size: 12px; }
.inline-document small { color: var(--muted); font-size: 10px; }
.purchase-panel { padding: 24px; border: 1px solid var(--line-strong); border-radius: 6px; background: #fff; box-shadow: none; }
.request-badge { padding: 5px 8px; border-radius: 4px; background: #edf3ff; color: var(--accent); font-size: 10px; letter-spacing: .05em; }
.purchase-panel h2 { margin: 14px 0 8px; font-size: 23px; line-height: 1.16; font-weight: 700; }
.purchase-panel > p { color: var(--muted); font-size: 12px; }
.availability-neutral { min-height: 58px; margin-top: 17px; padding: 11px 12px; display: grid; grid-template-columns: 23px 1fr; gap: 8px; align-items: start; border: 1px solid #cfe3d7; border-radius: 4px; background: #f3faf6; color: var(--success); font-size: 12px; font-weight: 650; }
.availability-neutral > svg { margin-top: 1px; }
.availability-neutral span, .availability-neutral small { display: block; }
.availability-neutral small { margin-top: 2px; color: var(--muted); font-size: 10px; font-weight: 400; }
.qty-label { margin-top: 17px; color: var(--muted); font-size: 11px; }
.qty-row { margin-top: 6px; }
.qty-row > span { color: var(--muted); font-size: 11px; }
.qty-control { height: 44px; border: 1px solid var(--line-strong); border-radius: 4px; }
.qty-control button { width: 41px; display: grid; place-items: center; color: var(--ink); }
.qty-control button:disabled { color: #b9bec6; cursor: not-allowed; }
.qty-control input { width: 54px; font-size: 13px; }
.limit-note { color: var(--muted); font-size: 9px; }
.purchase-button { margin-top: 11px; }
.manager-card { grid-template-columns: 30px 1fr auto; gap: 10px; border-color: var(--line); }
.manager-card > svg { color: var(--accent); }
.manager-card b { font-size: 11px; }
.manager-card small { color: var(--muted); font-size: 9px; }
.manager-card a { color: var(--accent); font-size: 10px; }
.product-tabs { top: 106px; gap: 30px; border-color: var(--line); background: #fff; }
.product-tabs a { padding: 17px 0 14px; border-bottom-width: 2px; color: var(--muted); font-size: 12px; font-weight: 550; }
.product-tabs a.is-active { border-color: var(--accent); color: var(--ink); }
.content-section { padding: 56px 0; grid-template-columns: 260px minmax(0, 1fr); gap: 74px; border-color: var(--line); }
.content-section__head h2 { margin: 8px 0; font-size: 28px; font-weight: 700; }
.content-section__head p { color: var(--muted); font-size: 12px; }
.eyebrow { color: var(--accent); font-size: 10px; letter-spacing: .1em; }
.eyebrow::before { display: none; }
.spec-table div { min-height: 46px; grid-template-columns: minmax(220px, .8fr) 1.2fr; padding: 0 14px; border-color: #e4e7eb; }
.spec-table div:nth-child(odd) { background: var(--wash); }
.spec-table dt { color: var(--muted); font-size: 11px; }
.spec-table dd { font-size: 12px; font-weight: 600; }
.rich-copy { color: #41464e; font-size: 14px; line-height: 1.7; }
.fact-cards { gap: 8px; }
.fact-cards span { border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.documents-list a { min-height: 70px; grid-template-columns: 31px 1fr 20px; border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.documents-list a > svg { color: var(--accent); }
.documents-list b { font-size: 12px; }
.documents-list small { color: var(--muted); font-size: 10px; }
.application-grid { gap: 8px; }
.application-grid div { border: 1px solid var(--line); border-radius: 4px; background: #fff; }
.application-grid div > span { color: var(--accent); font-size: 11px; }
.application-grid b { font-size: 13px; }
.application-grid p { color: var(--muted); font-size: 11px; }

/* Footer */
.site-footer { border-top: 1px solid #25272c; background: var(--ink); color: #fff; }
.site-footer .company-logo { filter: none; }
.site-footer p, .site-footer span, .site-footer a { color: #a4a9b2; }
.site-footer a:hover { color: #fff; }
.footer-title, .footer-phone { color: #fff !important; }
.footer-bottom { border-color: #2b2d32; }

@media (max-width: 1180px) {
  .header-main { grid-template-columns: 160px minmax(310px, 1fr) auto; gap: 18px; }
  .company-logo { width: 148px; }
  .precision-header-actions a { min-width: 68px; padding-inline: 6px; }
  .precision-hero-grid { grid-template-columns: 1fr 420px; gap: 48px; }
  .precision-category-grid { grid-template-columns: repeat(3, 1fr); }
  .precision-category-grid > a:nth-child(4) { border-left: 0; }
  .precision-category-grid > a:nth-child(n+4) { border-top: 1px solid var(--line); }
  .precision-product-table__head, .precision-product-row { grid-template-columns: minmax(300px, 1.35fr) 150px minmax(220px, .9fr) 170px 94px; gap: 14px; }
  .product-hero { grid-template-columns: 290px minmax(340px, 1fr) 300px; gap: 26px; }
}

@media (max-width: 920px) {
  .precision-utility__links a:nth-child(-n+2) { display: none; }
  .header-main { min-height: 132px; grid-template-columns: 170px 1fr; grid-template-rows: 58px 58px; gap: 4px 18px; }
  .brand { grid-column: 1; grid-row: 1; }
  .company-logo { width: 142px; height: 56px; }
  .precision-header-actions { grid-column: 2; grid-row: 1; justify-self: end; }
  .precision-header-actions a { min-height: 52px; }
  .global-search { grid-column: 1 / -1; grid-row: 2; height: 52px; }
  .precision-hero-grid { grid-template-columns: 1fr; gap: 36px; }
  .precision-proof { max-width: none; }
  .precision-product-table__head { display: none; }
  .precision-product-table { border-top-width: 2px; }
  .precision-product-row { min-height: 0; padding: 18px 0; grid-template-columns: minmax(300px, 1.4fr) minmax(160px, .7fr) 150px 94px; gap: 16px; }
  .precision-product-row__specs { display: none; }
  .precision-product-row__mpn small { display: block; margin-bottom: 3px; color: var(--muted); font-size: 9px; }
  .precision-trust__grid { grid-template-columns: repeat(2, 1fr); }
  .precision-trust__grid > div:nth-child(3) { border-left: 0; }
  .precision-trust__grid > div:nth-child(n+3) { border-top: 1px solid #2d3035; }
  .product-hero { grid-template-columns: minmax(280px, .78fr) 1.22fr; }
  .purchase-panel { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 12px 18px; align-items: end; }
  .purchase-panel .request-badge, .purchase-panel h2, .purchase-panel > p, .availability-neutral, .manager-card { grid-column: 1; }
  .purchase-panel h2 { margin: 8px 0 0; }
  .purchase-panel > p { margin-bottom: 6px; }
  .availability-neutral { margin-top: 0; }
  .qty-label, .qty-row, .limit-note { grid-column: 2; }
  .qty-label { margin-top: 0; }
  .purchase-button { grid-column: 3; margin-top: 0; }
  .purchase-button + .purchase-button { margin-top: 0; }
  .manager-card { margin-top: 0; padding-top: 10px; }
  .product-tabs { top: 132px; overflow-x: auto; }
  .content-section { grid-template-columns: 220px 1fr; gap: 42px; }
}

@media (max-width: 720px) {
  .shell { width: min(100% - 32px, 600px); }
  .precision-utility { display: block; }
  .precision-utility__inner { min-height: 36px; }
  .precision-utility__contacts { width: 100%; justify-content: space-between; gap: 12px !important; }
  .precision-utility__links { display: none !important; }
  .header-main { min-height: 124px; grid-template-columns: 1fr auto; grid-template-rows: 56px 56px; gap: 4px 10px; }
  .company-logo { width: 126px; height: 50px; }
  .precision-header-actions { grid-column: 2; gap: 0; }
  .precision-header-actions a { min-width: 44px; min-height: 48px; padding: 4px; border-left: 0; }
  .precision-header-actions span { display: none; }
  .global-search { height: 50px; grid-template-columns: 41px minmax(0,1fr) 74px; }
  .global-search__icon { margin-left: 13px; }
  .global-search input { font-size: 13px; }
  .global-search button { font-size: 12px; }
  .precision-hero-grid { padding-top: 38px; padding-bottom: 38px; }
  .precision-hero-copy h1 { font-size: clamp(38px, 11vw, 49px); }
  .precision-hero-search { height: auto; min-height: 56px; grid-template-columns: 44px 1fr 78px; }
  .precision-hero-search input { font-size: 12px; }
  .precision-upload-link small { display: none; }
  .precision-proof__head { align-items: start; flex-direction: column; }
  .precision-proof__head b { max-width: none; text-align: left; }
  .precision-section-line { min-height: 58px; }
  .precision-category-grid { grid-template-columns: repeat(2, 1fr); }
  .precision-category-grid > a { min-height: 88px; border-top: 1px solid var(--line); }
  .precision-category-grid > a:nth-child(odd) { border-left: 0; }
  .precision-category-grid > a:nth-child(even) { border-left: 1px solid var(--line); }
  .precision-section-heading { align-items: start; flex-direction: column; }
  .precision-product-row { grid-template-columns: 1fr auto; gap: 14px; }
  .precision-product-row__identity { grid-column: 1 / -1; }
  .precision-product-row__mpn { grid-column: 1; }
  .precision-product-row__status { grid-column: 1; }
  .precision-row-action { grid-column: 2; grid-row: 2 / span 2; align-self: stretch; }
  .precision-trust__grid { grid-template-columns: 1fr; }
  .precision-trust__grid > div { min-height: 86px; border-left: 0; border-top: 1px solid #2d3035; }
  .precision-trust__grid > div:first-child { border-top: 0; }
  .precision-assist__inner { align-items: flex-start; flex-direction: column; }
  .product-hero { display: block; padding-top: 24px; }
  .product-gallery__main { height: 330px; }
  .product-summary { margin-top: 30px; }
  .purchase-panel { margin-top: 30px; display: block; }
  .purchase-panel .qty-label { margin-top: 17px; }
  .purchase-panel .purchase-button { margin-top: 11px; }
  .manager-card { margin-top: 18px; padding-top: 16px; }
  .product-tabs { position: static; margin-inline: -16px; padding-inline: 16px; gap: 22px; }
  .content-section { display: block; padding: 44px 0; }
  .content-section__head { margin-bottom: 24px; }
  .spec-table div { grid-template-columns: 1fr 1fr; gap: 14px; }
  .content-section--split { display: block; }
  .mobile-purchase-bar { display: none; }
}

@media (max-width: 430px) {
  .precision-utility__contacts a { font-size: 10px; }
  .precision-utility__contacts svg { display: none; }
  .precision-category-grid { grid-template-columns: 1fr; }
  .precision-category-grid > a, .precision-category-grid > a:nth-child(even) { border-left: 0; }
  .precision-category-grid > a:first-child { border-top: 1px solid var(--line); }
  .precision-product-row__identity { grid-template-columns: 70px 1fr; }
  .precision-product-row__image { width: 70px; height: 70px; }
  .precision-row-action { padding-inline: 9px; font-size: 0; }
  .precision-row-action svg { width: 18px; height: 18px; }
  .product-gallery__main { height: 290px; }
  .product-summary h1 { font-size: 30px; }
  .key-specs { grid-template-columns: 1fr 1fr; }
  .product-tabs { gap: 18px; }
  .product-tabs a { font-size: 11px; }
  .spec-table div { min-height: 58px; }
}

/* Editorial transparency */
.article-meta a { color: var(--accent); font-weight: 680; }
.article-review { max-width: 760px; margin-top: 22px; padding: 14px 16px; display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 11px; border: 1px solid var(--line); border-left: 3px solid var(--accent); background: var(--wash); }
.article-review svg { color: var(--accent); }
.article-review b, .article-review small { display: block; }
.article-review small { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.article-review a, .article-sources a, .policy-content a { color: var(--accent); }
.article-sources { max-width: 900px; margin: 48px auto 0; padding: 28px; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); background: var(--wash); }
.article-sources h2 { margin: 9px 0 14px; font-size: 25px; }
.article-sources p, .article-sources li { color: var(--muted); font-size: 13px; line-height: 1.65; }
.article-sources ul { margin: 14px 0; padding-left: 20px; }
.source-status--warning { padding-left: 14px; border-left: 3px solid #d59026; }
.rich-content a[target="_blank"] { color: var(--accent); }
.profile-grid { padding: 50px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; border-bottom: 1px solid var(--line); }
.profile-card { padding: 28px; border: 1px solid var(--line); border-top: 2px solid var(--ink); }
.profile-card h2 { margin: 10px 0 16px; font-size: 27px; }
.profile-card p, .profile-card li { color: var(--muted); font-size: 13px; line-height: 1.7; }
.profile-card .button { margin: 12px 0; }
.profile-card .text-link { margin-top: 8px; display: flex; }
.author-articles { padding: 54px 0; }
.policy-content { max-width: 900px; margin: 46px auto 0; }
@media (max-width: 760px) {
  .article-sources { margin-top: 34px; padding: 22px 18px; }
  .profile-grid { grid-template-columns: 1fr; }
  .profile-card { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Internal pages: catalogue, information and knowledge base */
.page-shell { padding-top: 20px; padding-bottom: 96px; }
.breadcrumbs { min-height: 38px; display: flex; align-items: center; gap: 8px; color: #777d87; font-size: 12px; }
.breadcrumbs span { display: inline-flex; align-items: center; gap: 8px; }
.breadcrumbs span::before { content: '/'; color: #b1b7c1; }
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { color: var(--accent); }
.page-intro {
  min-height: 246px;
  padding: 50px 0 46px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
  align-items: center;
  gap: 72px;
  border-bottom: 1px solid var(--line);
}
.page-intro > div:first-child { max-width: 900px; }
.page-intro h1 { margin: 12px 0 15px; font-size: clamp(42px, 4.4vw, 60px); line-height: 1.02; letter-spacing: -.048em; font-weight: 760; }
.page-intro p { max-width: 820px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.6; }
.page-stat { min-width: 0; padding: 24px 0 24px 26px; border-left: 2px solid var(--accent); }
.page-stat b, .page-stat span { display: block; }
.page-stat b { color: var(--ink); font-size: 28px; line-height: 1.1; letter-spacing: -.025em; font-weight: 720; }
.page-stat > span { margin-top: 8px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.page-stat > span > span { margin: 0; }

.internal-assurance {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid var(--line);
}
.internal-assurance > div { min-height: 104px; padding: 20px 18px; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; align-items: start; border-left: 1px solid var(--line); }
.internal-assurance > div:first-child { border-left: 0; }
.internal-assurance svg { margin-top: 2px; color: var(--accent); }
.internal-assurance span, .internal-assurance b, .internal-assurance small { display: block; }
.internal-assurance b { font-size: 13px; line-height: 1.35; }
.internal-assurance small { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.45; }

/* Catalogue and category templates */
.category-page .subcategory-directory { padding: 46px 0 50px; border-bottom: 1px solid var(--line); }
.subcategory-directory__head { margin-bottom: 24px; display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); gap: 72px; align-items: end; }
.subcategory-directory__head h2 { margin: 8px 0 0; font-size: 30px; line-height: 1.12; letter-spacing: -.03em; font-weight: 700; }
.subcategory-directory__head p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.subcategory-directory__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.subcategory-directory__grid > a { min-height: 92px; padding: 12px 14px; display: grid; grid-template-columns: 66px minmax(0, 1fr) 18px; gap: 14px; align-items: center; border: 0; border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); border-radius: 0; background: #fff; }
.subcategory-directory__grid > a:nth-child(odd) { border-left: 0; }
.subcategory-directory__grid > a:hover { border-color: var(--line); background: var(--wash); color: var(--accent); }
.subcategory-directory__media { width: 66px; height: 66px; padding: 8px; display: grid; place-items: center; border: 1px solid #e5e8ed; border-radius: 4px; background: #fff; }
.subcategory-directory__media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.subcategory-directory__grid span, .subcategory-directory__grid b, .subcategory-directory__grid small { display: block; }
.subcategory-directory__grid b { font-size: 14px; line-height: 1.35; font-weight: 680; }
.subcategory-directory__grid small { margin-top: 5px; color: var(--muted); font-size: 11px; }
.subcategory-directory__grid .arrow-icon { color: #8a919c; }

.listing-layout { padding-top: 42px; display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 34px; }
.filter-panel { top: 116px; border: 1px solid var(--line); border-top: 2px solid var(--ink); border-radius: 4px; background: #fff; }
.filter-head, .filter-mobile-head { min-height: 52px; padding: 0 16px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.filter-head { display: flex; }
.filter-mobile-head { display: none; }
.filter-head b, .filter-mobile-head b { font-size: 14px; font-weight: 720; }
.filter-head button, .filter-mobile-head button { border: 0; background: transparent; color: var(--accent); font-size: 11px; font-weight: 680; cursor: pointer; }
.filter-head button:disabled { color: #a6acb5; cursor: default; }
.filter-panel .filter-search { position: relative; display: block; margin: 0; padding: 14px; }
.filter-search input { width: 100%; height: 44px; padding: 0 42px 0 12px; border: 1px solid var(--line); border-radius: 4px; background: #fff; font-size: 12px; }
.filter-search input:focus { border-color: var(--accent); outline: 1px solid var(--accent); }
.filter-search > svg { position: absolute; top: 27px; right: 27px; color: #69707a; }
.filter-panel fieldset { margin: 0; padding: 17px 16px 18px; border: 0; border-top: 1px solid var(--line); }
.filter-panel legend { width: 100%; padding: 0; font-size: 13px; font-weight: 720; }
.filter-panel fieldset label { margin-top: 11px; display: grid; grid-template-columns: 17px minmax(0, 1fr) auto; align-items: center; gap: 8px; color: #4d535c; font-size: 12px; cursor: pointer; }
.filter-panel input[type='checkbox'] { width: 16px; height: 16px; accent-color: var(--accent); }
.filter-panel fieldset small { color: #8c939e; }
.filter-context { margin: 0 14px 14px; padding: 15px; border: 1px solid var(--line); border-radius: 4px; background: var(--wash); }
.filter-context b, .filter-context span { display: block; }
.filter-context b { font-size: 12px; }
.filter-context span { margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.filter-apply { display: none; }
.catalog-results { position: relative; min-width: 0; transition: opacity .18s ease, transform .18s ease; }
.catalog-results.is-filtering { opacity: .48; transform: translateY(4px); pointer-events: none; }
.results-head { min-height: 62px; padding: 0 2px; display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.results-head > div:first-child b, .results-head > div:first-child span { display: block; }
.results-head > div:first-child b { font-size: 15px; font-weight: 720; }
.results-head > div:first-child span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.results-head label { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; }
.results-head select { height: 38px; padding: 0 30px 0 10px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: var(--ink); font-size: 11px; }
.view-switch { display: flex; }
.view-switch button { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); background: #fff; color: #69707a; cursor: pointer; }
.view-switch button + button { border-left: 0; }
.view-switch button.is-active { border-color: var(--ink); background: var(--ink); color: #fff; }
.active-filters { min-height: 54px; padding: 10px 0; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; border-bottom: 1px solid var(--line); }
.active-filters button { min-height: 32px; padding: 6px 9px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: var(--ink); font-size: 11px; cursor: pointer; }
.active-filters .clear-chip { border-color: transparent; color: var(--accent); }
.products-view { padding-top: 12px; display: grid; gap: 10px; }
.product-card { min-height: 224px; padding: 16px; grid-template-columns: 176px minmax(0, 1fr) 190px; gap: 22px; border: 1px solid var(--line); border-radius: 4px; }
.product-card:hover { border-color: var(--line-strong); background: #fbfcfe; }
.product-card__image { height: 176px; padding: 10px; border: 1px solid #e4e7ec; border-radius: 4px; background: #fff; }
.product-card__body { min-width: 0; }
.product-brand { color: var(--accent); font-size: 10px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.product-title { margin-top: 7px; display: block; font-size: 17px; line-height: 1.35; font-weight: 700; }
.product-mpn { margin-top: 9px; display: block; color: var(--muted); font-size: 12px; }
.product-mpn b { color: var(--ink); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.product-card__body ul { margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; list-style: none; }
.product-card__body li { padding: 5px 7px; border: 1px solid #e2e5ea; border-radius: 3px; background: #fff; color: #555c66; font-size: 10px; }
.application-note { margin-top: 12px; padding-left: 10px; display: block; border-left: 2px solid var(--accent); color: var(--muted); font-size: 11px; }
.product-card__buy { align-self: stretch; padding-left: 20px; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--line); }
.product-price b, .product-price small { display: block; }
.product-price b { font-size: 16px; }
.product-price small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.product-card__buy .button { width: 100%; margin-top: 16px; }
.product-card__buy .text-link { margin-top: 11px; display: block; text-align: center; font-size: 11px; }
.products-view--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.products-view--grid .product-card { min-height: 310px; grid-template-columns: 130px minmax(0, 1fr); grid-template-rows: auto auto; }
.products-view--grid .product-card__image { height: 150px; }
.products-view--grid .product-card__buy { grid-column: 1 / -1; padding: 14px 0 0; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 10px; border-top: 1px solid var(--line); border-left: 0; }
.products-view--grid .product-card__buy .button, .products-view--grid .product-card__buy .text-link { width: auto; margin: 0; }
.mobile-category-tools { display: none; }

.category-seo-copy { margin-top: 60px; padding: 40px; display: grid; grid-template-columns: minmax(260px, .85fr) minmax(360px, 1.15fr); gap: 72px; border: 1px solid var(--line); border-top: 2px solid var(--ink); border-radius: 4px; background: var(--wash); }
.category-seo-copy h2 { margin: 8px 0 0; font-size: 32px; line-height: 1.15; letter-spacing: -.03em; font-weight: 700; }
.category-seo-copy p { margin: 0 0 14px; color: #4f5660; font-size: 14px; line-height: 1.65; }
.category-seo-copy .button { width: fit-content; margin-top: 6px; }
.category-choice-grid { margin-top: 42px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.category-choice-grid > a { min-height: 280px; padding: 34px; display: flex; flex-direction: column; border: 1px solid var(--line); border-top: 2px solid var(--ink); border-radius: 4px; background: #fff; }
.category-choice-grid > a:hover { border-color: var(--line-strong); background: var(--wash); }
.category-choice-grid span { color: var(--accent); font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.category-choice-grid h2 { margin: 18px 0 12px; font-size: 30px; line-height: 1.14; letter-spacing: -.03em; font-weight: 700; }
.category-choice-grid p { margin: 0 0 24px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.category-choice-grid b { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; color: var(--accent); font-size: 13px; }
.category-landing-grid { margin-top: 42px; }

.catalog-layout { padding-top: 42px; grid-template-columns: 260px minmax(0, 1fr); gap: 34px; }
.catalog-tree { top: 116px; border: 1px solid var(--line); border-top: 2px solid var(--ink); border-radius: 4px; }
.catalog-tree__title { min-height: 52px; padding: 0 17px; display: flex; align-items: center; border-bottom: 1px solid var(--line); font-size: 13px; font-weight: 720; }
.catalog-tree summary { min-height: 50px; padding: 13px 34px 13px 17px; font-size: 12px; }
.catalog-tree details > a { padding: 8px 17px; font-size: 11px; }
.tree-help { margin: 14px; padding: 15px; border-radius: 4px; }
.catalog-index__toolbar { min-height: 54px; padding: 0 2px; display: flex; align-items: center; justify-content: space-between; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.catalog-root-list { margin-top: 12px; }
.catalog-root-section { grid-template-columns: 170px minmax(0, 1fr); border-radius: 4px; }
.catalog-root-section__media { padding: 20px; }
.catalog-root-section__media, .subcategory-directory__media { overflow: hidden; }
.catalog-root-section__media img[src*='/category-schematics/'],
.subcategory-directory__media img[src*='/category-schematics/'],
.category-media img[src*='/category-schematics/'] { transform: none; }
.catalog-root-section__body { padding: 24px 26px; }
.catalog-root-section__head h2 { font-weight: 700; }
.catalog-subcategory-grid a { border-radius: 3px; }

/* Information pages */
.info-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.info-highlights > a, .info-highlights > div { min-height: 132px; padding: 22px 22px; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 14px; align-items: start; border-left: 1px solid var(--line); background: #fff; }
.info-highlights > :first-child { border-left: 0; }
.info-highlights > a:hover { background: var(--wash); color: var(--accent); }
.info-highlights svg { margin-top: 3px; color: var(--accent); }
.info-highlights span, .info-highlights small, .info-highlights b, .info-highlights em { display: block; }
.info-highlights small { color: var(--muted); font-size: 10px; font-style: normal; letter-spacing: .06em; text-transform: uppercase; }
.info-highlights b { margin-top: 8px; font-size: 17px; line-height: 1.3; }
.info-highlights em { margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.5; font-style: normal; }
.info-layout { padding-top: 54px; display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 72px; align-items: start; }
.info-sidebar { position: sticky; top: 116px; }
.info-sidebar > .eyebrow { display: block; margin-bottom: 12px; }
.info-sidebar nav { border-top: 2px solid var(--ink); }
.info-sidebar nav a { min-height: 46px; padding: 0 10px; display: flex; align-items: center; border-bottom: 1px solid var(--line); color: #525862; font-size: 12px; }
.info-sidebar nav a:hover { color: var(--accent); }
.info-sidebar nav a.is-active { padding-left: 8px; border-left: 2px solid var(--accent); color: var(--ink); font-weight: 750; }
.info-sidebar__support { margin-top: 24px; padding: 20px; border-radius: 4px; background: var(--ink); color: #fff; }
.info-sidebar__support svg, .info-sidebar__support b, .info-sidebar__support span, .info-sidebar__support a { display: block; }
.info-sidebar__support svg { color: #76a7ff; }
.info-sidebar__support b { margin-top: 18px; font-size: 15px; }
.info-sidebar__support span { margin-top: 7px; color: #bfc3ca; font-size: 11px; line-height: 1.55; }
.info-sidebar__support a { margin-top: 17px; color: #fff; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.info-main { min-width: 0; }
.info-alert { margin: 0 0 30px; padding: 18px 20px; display: grid; grid-template-columns: 28px 1fr; gap: 13px; align-items: start; border: 1px solid #cfe3ff; border-left: 3px solid var(--accent); border-radius: 4px; background: #f3f7ff; }
.info-alert svg { color: var(--accent); }
.info-alert span, .info-alert b, .info-alert small { display: block; }
.info-alert b { font-size: 14px; }
.info-alert small { margin-top: 3px; color: var(--muted); font-size: 12px; }
.info-content { max-width: 920px; margin: 0; }
.rich-content { color: #343a43; font-size: 15px; line-height: 1.75; }
.rich-content > :first-child:empty { display: none; }
.rich-content p { margin: 0 0 18px; }
.rich-content h2 { margin: 48px 0 18px; padding-top: 18px; border-top: 2px solid var(--ink); font-size: 30px; line-height: 1.18; letter-spacing: -.025em; font-weight: 700; }
.rich-content h3 { margin: 42px 0 16px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 24px; line-height: 1.22; letter-spacing: -.02em; font-weight: 700; }
.rich-content h4 { margin: 32px 0 12px; font-size: 19px; font-weight: 700; }
.rich-content ul, .rich-content ol { margin: 0 0 24px; padding-left: 24px; }
.rich-content li { margin: 8px 0; padding-left: 4px; }
.rich-content li::marker { color: var(--accent); font-weight: 700; }
.rich-content a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.info-page--legal .info-content { max-width: 860px; }
.info-page--legal .rich-content { font-size: 14px; line-height: 1.8; }
.info-page--legal .rich-content h3 { font-size: 22px; }

/* Knowledge base */
.knowledge-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.knowledge-nav a { min-height: 72px; padding: 14px 16px; display: flex; align-items: center; gap: 10px; border-left: 1px solid var(--line); color: #555c66; font-size: 12px; font-weight: 650; }
.knowledge-nav a:first-child { border-left: 0; }
.knowledge-nav a:hover { background: var(--wash); color: var(--accent); }
.knowledge-nav a.is-active { box-shadow: inset 0 -2px var(--accent); color: var(--ink); }
.knowledge-nav svg { color: var(--accent); }
.knowledge-tools { margin-top: 42px; padding: 22px; border: 1px solid var(--line); border-top: 2px solid var(--ink); border-radius: 4px; background: #fff; }
.knowledge-tools > label { position: relative; display: block; }
.knowledge-tools > label input { width: 100%; height: 58px; padding: 0 54px 0 16px; border: 1px solid var(--line); border-radius: 4px; background: #fff; font-size: 14px; }
.knowledge-tools > label input:focus { border-color: var(--accent); outline: 1px solid var(--accent); }
.knowledge-tools > label > svg { position: absolute; right: 17px; top: 17px; color: var(--accent); }
.knowledge-tag-row { margin-top: 15px; display: flex; flex-wrap: wrap; gap: 7px; }
.knowledge-tag-row button, .knowledge-all-tags a, .article-tags a, .article-tags span { min-height: 36px; padding: 7px 11px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: #434a54; font-size: 11px; cursor: pointer; }
.knowledge-tag-row button.is-active { border-color: var(--ink); background: var(--ink); color: #fff; }
.knowledge-tag-row small, .knowledge-all-tags small { color: #8a919c; font-size: 9px; }
.knowledge-all-tags { margin-top: 14px; }
.knowledge-all-tags summary { width: fit-content; color: var(--accent); font-size: 11px; font-weight: 700; cursor: pointer; }
.knowledge-all-tags > div { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 7px; }
.knowledge-results-head { margin: 46px 0 20px; display: flex; align-items: baseline; justify-content: space-between; gap: 20px; }
.knowledge-results-head h2 { margin: 0; font-size: 32px; line-height: 1.15; letter-spacing: -.03em; font-weight: 700; }
.knowledge-results-head span { color: var(--muted); font-size: 12px; }
.knowledge-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.knowledge-grid--archive { margin-top: 42px; }
.knowledge-card { min-height: 300px; border: 1px solid var(--line); border-radius: 4px; background: #fff; overflow: hidden; }
.knowledge-card:hover { border-color: var(--line-strong); background: #fbfcfe; }
.knowledge-card__image { height: 220px; display: block; overflow: hidden; background: var(--wash); }
.knowledge-card__image img { width: 100%; height: 100%; object-fit: cover; }
.knowledge-card__body { padding: 24px; }
.knowledge-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: var(--muted); font-size: 10px; }
.knowledge-card__meta button { padding: 5px 8px; border: 1px solid var(--line); border-radius: 3px; background: #fff; color: var(--accent); font-size: 9px; cursor: pointer; }
.knowledge-card h2, .knowledge-card h3 { margin: 16px 0 11px; font-size: 23px; line-height: 1.24; letter-spacing: -.025em; font-weight: 700; }
.knowledge-card p { margin: 0 0 18px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--accent); font-size: 12px; font-weight: 700; text-decoration: none; }
.text-link:hover { color: var(--teal-dark); }
.knowledge-empty { grid-column: 1 / -1; }
.article-page .knowledge-nav { margin-top: 12px; }
.article-header { max-width: 980px; margin: 58px auto 0; }
.article-header h1 { margin: 16px 0 22px; font-size: clamp(42px, 5vw, 64px); line-height: 1.03; letter-spacing: -.048em; font-weight: 760; }
.article-meta { color: var(--muted); font-size: 12px; }
.article-lead { color: #48505a; font-size: 17px; line-height: 1.65; }
.article-cover { max-width: 1120px; margin: 42px auto 0; }
.article-cover img { width: 100%; border-radius: 4px; background: var(--wash); }
.article-content { max-width: 860px; margin: 48px auto 0; }
.article-footer { max-width: 860px; margin: 52px auto 0; padding-top: 28px; display: flex; justify-content: space-between; gap: 14px; border-top: 1px solid var(--line); }
.article-footer .button { display: inline-flex; align-items: center; gap: 8px; }

/* Equipment selection: nameplate OCR and BOM import */
.equipment-assist { margin-top: 46px; padding: 38px 0 42px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-page .equipment-assist { margin-top: 0; }
.equipment-assist__head { margin-bottom: 24px; display: grid; grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr); gap: 70px; align-items: end; }
.equipment-assist__head h2 { margin: 8px 0 0; font-size: 30px; line-height: 1.12; letter-spacing: -.035em; }
.equipment-assist__head p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.equipment-assist__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.assist-card { min-width: 0; padding: 22px; border: 1px solid var(--line); border-top: 2px solid var(--ink); border-radius: 4px; background: #fff; }
.assist-card__title { margin-bottom: 18px; display: flex; gap: 12px; align-items: center; }
.assist-card__title > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 4px; background: #eef7fb; color: var(--accent); }
.assist-card__title div, .assist-card__title b, .assist-card__title small { display: block; }
.assist-card__title b { font-size: 16px; }
.assist-card__title small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.assist-upload { position: relative; min-height: 132px; padding: 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; border: 1px dashed #aeb6c1; border-radius: 4px; background: #fafbfc; color: var(--ink); text-align: center; cursor: pointer; overflow: hidden; }
.assist-upload:hover { border-color: var(--accent); background: #f5fbfe; }
.assist-upload input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.assist-upload > svg { color: var(--accent); }
.assist-upload b { font-size: 13px; }
.assist-upload small { color: var(--muted); font-size: 11px; }
.assist-upload.has-preview { height: 190px; padding: 8px; border-style: solid; background: #f3f5f7; }
.assist-upload.has-preview img { width: 100%; height: 100%; object-fit: contain; }
.assist-remove { margin: 8px 0 0 auto; padding: 0; display: flex; align-items: center; gap: 5px; border: 0; background: transparent; color: var(--muted); font-size: 11px; cursor: pointer; }
.assist-description { margin-top: 15px; display: block; }
.assist-description > span, .recognition-result label span { display: block; margin-bottom: 6px; color: #4f5660; font-size: 11px; font-weight: 650; }
.assist-description textarea, .recognition-result input { width: 100%; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: var(--ink); font: inherit; font-size: 12px; }
.assist-description textarea { min-height: 78px; padding: 10px 11px; resize: vertical; line-height: 1.5; }
.recognition-result input { height: 42px; padding: 0 10px; }
.assist-description textarea:focus, .recognition-result input:focus { border-color: var(--accent); outline: 1px solid var(--accent); }
.assist-action { width: 100%; margin-top: 12px; justify-content: center; }
.assist-action:disabled { opacity: .58; cursor: default; }
.assist-status { margin-top: 12px; padding: 10px 11px; display: flex; gap: 8px; align-items: flex-start; border: 1px solid #d8dde4; border-radius: 4px; background: #f8f9fb; color: #505762; font-size: 11px; line-height: 1.45; }
.assist-status svg { flex: 0 0 auto; margin-top: 1px; }
.assist-status--done { border-color: #b8d8cf; background: #f1f8f6; color: #245c4d; }
.assist-status--error { border-color: #e5c4c4; background: #fff6f6; color: #8d3535; }
.recognition-result { margin-top: 14px; padding-top: 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; border-top: 1px solid var(--line); }
.recognition-result > small, .recognition-result > .button, .recognition-raw { grid-column: 1 / -1; }
.recognition-result > small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.recognition-raw { padding: 10px 11px; border: 1px solid var(--line); border-radius: 4px; background: #f8f9fa; }
.recognition-raw summary { color: var(--accent); font-size: 10px; font-weight: 680; cursor: pointer; }
.recognition-raw pre { max-height: 160px; margin: 10px 0 0; overflow: auto; white-space: pre-wrap; color: #4b525c; font: 10px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; }
.recognition-result .button, .assist-card--bom > .button { justify-content: center; }
.bom-formats { margin: -2px 0 13px; display: flex; flex-wrap: wrap; gap: 7px; }
.bom-formats span { min-height: 28px; padding: 5px 8px; display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--line); border-radius: 3px; color: #59616c; font-size: 10px; font-weight: 650; }
.assist-upload--bom { min-height: 126px; }
.assist-upload--bom.has-file { border-style: solid; border-color: #a9cfe0; background: #f4fbfe; }
.bom-guidance { margin-top: 16px; padding: 15px; border-left: 2px solid var(--accent); background: #f7f9fb; }
.bom-guidance b { font-size: 12px; }
.bom-guidance ul { margin: 8px 0 8px; padding-left: 17px; color: #4e5660; font-size: 11px; line-height: 1.65; }
.bom-guidance small { color: var(--muted); font-size: 10px; line-height: 1.45; }
.bom-preview { margin-top: 14px; max-width: 100%; overflow-x: auto; border: 1px solid var(--line); }
.bom-preview table { width: 100%; min-width: 570px; border-collapse: collapse; font-size: 10px; }
.bom-preview th, .bom-preview td { padding: 8px 9px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.bom-preview th { background: #f4f6f8; color: #606873; font-weight: 680; }
.bom-preview td:nth-child(2) { color: var(--ink); font-weight: 680; }
.bom-preview tr:last-child td { border-bottom: 0; }
.bom-more { margin: 8px 0 12px; display: block; color: var(--muted); font-size: 10px; }
.assist-card--bom > .button { width: 100%; margin-top: 12px; }
.filter-panel fieldset label.is-unavailable { color: #8c929a; }
.filter-panel fieldset label.is-unavailable small { color: #b0b5bd; }
.filter-data-note { margin: 0 14px 14px; padding: 10px; border: 1px solid #e4e7eb; border-radius: 3px; background: #f8f9fa; color: #747b85; font-size: 9px; line-height: 1.45; }

@media (prefers-reduced-motion: reduce) {
  .catalog-results { transition: none; }
  .catalog-results.is-filtering { transform: none; }
}

@media (max-width: 1100px) {
  .page-intro { grid-template-columns: minmax(0, 1fr) 260px; gap: 44px; }
  .internal-assurance { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .internal-assurance > div:nth-child(odd) { border-left: 0; }
  .internal-assurance > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .listing-layout, .catalog-layout { grid-template-columns: 230px minmax(0, 1fr); gap: 26px; }
  .product-card { grid-template-columns: 150px minmax(0, 1fr); }
  .product-card__image { height: 150px; }
  .product-card__buy { grid-column: 1 / -1; padding: 14px 0 0; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 10px; border-top: 1px solid var(--line); border-left: 0; }
  .product-card__buy .button, .product-card__buy .text-link { width: auto; margin: 0; }
  .info-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 44px; }
  .equipment-assist__head { grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 760px) {
  .page-shell { padding-top: 12px; padding-bottom: 64px; }
  .breadcrumbs { min-height: 34px; overflow-x: auto; white-space: nowrap; }
  .page-intro { min-height: 0; padding: 38px 0 34px; display: block; }
  .page-intro h1 { font-size: 38px; }
  .page-intro p { font-size: 14px; }
  .page-stat { width: 100%; margin-top: 26px; padding: 16px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .page-stat b { font-size: 22px; }
  .internal-assurance { grid-template-columns: 1fr 1fr; }
  .internal-assurance > div { min-height: 94px; padding: 16px 12px; grid-template-columns: 24px 1fr; gap: 9px; }
  .internal-assurance svg { width: 19px; height: 19px; }
  .subcategory-directory__head { grid-template-columns: 1fr; gap: 12px; }
  .subcategory-directory__grid { grid-template-columns: 1fr; }
  .subcategory-directory__grid > a { border-left: 0; }
  .listing-layout, .catalog-layout { display: block; padding-top: 30px; }
  .mobile-category-tools { position: sticky; top: 125px; z-index: 15; margin-bottom: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; background: #fff; }
  .mobile-category-tools button { min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--line); border-radius: 4px; background: #fff; font-size: 12px; font-weight: 700; }
  .filter-panel { position: fixed; inset: 0 0 0 6%; z-index: 90; top: 0; padding-bottom: 86px; border: 0; border-radius: 4px 0 0 4px; overflow-y: auto; visibility: hidden; opacity: 0; transform: none; pointer-events: none; transition: opacity .2s ease; }
  .filter-panel.is-open { visibility: visible; opacity: 1; transform: none; pointer-events: auto; }
  .filter-mobile-head { display: flex; }
  .filter-apply { position: fixed; right: 0; bottom: 0; left: 6%; z-index: 92; padding: 12px 16px; border-top: 1px solid var(--line); background: #fff; }
  .filter-panel.is-open .filter-apply { display: block; }
  .filter-apply .button { width: 100%; }
  .filter-backdrop { display: block; }
  .results-head { grid-template-columns: 1fr auto; }
  .results-head label { display: none; }
  .view-switch { display: none; }
  .product-card, .products-view--grid .product-card { min-height: 0; padding: 12px; grid-template-columns: 105px minmax(0, 1fr); grid-template-rows: auto auto; gap: 13px; }
  .product-card__image, .products-view--grid .product-card__image { height: 120px; }
  .product-title { font-size: 14px; }
  .product-card__body ul { display: none; }
  .product-card__buy, .products-view--grid .product-card__buy { grid-column: 1 / -1; padding: 12px 0 0; display: grid; grid-template-columns: 1fr auto; gap: 9px; border-top: 1px solid var(--line); border-left: 0; }
  .product-card__buy .text-link, .products-view--grid .product-card__buy .text-link { grid-column: 1 / -1; text-align: left; }
  .products-view--grid { grid-template-columns: 1fr; }
  .category-seo-copy { padding: 28px 22px; display: block; }
  .category-seo-copy > div + div { margin-top: 22px; }
  .category-choice-grid { grid-template-columns: 1fr; }
  .category-choice-grid > a { min-height: 230px; padding: 26px; }
  .catalog-tree { position: static; margin-bottom: 22px; }
  .catalog-root-section { grid-template-columns: 1fr; }
  .catalog-root-section__media { min-height: 170px; border-right: 0; border-bottom: 1px solid var(--line); }
  .catalog-root-section__body { padding: 22px; }
  .catalog-subcategory-grid { grid-template-columns: 1fr; }
  .info-highlights { grid-template-columns: 1fr; }
  .info-highlights > a, .info-highlights > div { min-height: 105px; border-top: 1px solid var(--line); border-left: 0; }
  .info-highlights > :first-child { border-top: 0; }
  .info-layout { padding-top: 40px; display: block; }
  .info-sidebar { position: static; }
  .info-sidebar nav { display: grid; grid-template-columns: 1fr 1fr; }
  .info-sidebar nav a:nth-child(even) { border-left: 1px solid var(--line); }
  .info-sidebar__support { margin-bottom: 36px; }
  .rich-content { font-size: 14px; }
  .rich-content h2 { font-size: 27px; }
  .rich-content h3 { font-size: 22px; }
  .knowledge-nav { grid-template-columns: 1fr 1fr; }
  .knowledge-nav a:nth-child(odd) { border-left: 0; }
  .knowledge-nav a:nth-child(n+3) { border-top: 1px solid var(--line); }
  .knowledge-tools { margin-top: 32px; padding: 16px; }
  .knowledge-grid { grid-template-columns: 1fr; }
  .knowledge-results-head { align-items: flex-start; flex-direction: column; gap: 5px; }
  .knowledge-card__image { height: 190px; }
  .knowledge-card__body { padding: 20px; }
  .article-header { margin-top: 38px; }
  .article-header h1 { font-size: 38px; }
  .article-content { margin-top: 36px; }
  .article-footer { align-items: stretch; flex-direction: column; }
  .article-footer .button { justify-content: center; }
  .equipment-assist { margin-top: 34px; padding: 30px 0 34px; }
  .equipment-assist__head h2 { font-size: 25px; }
  .equipment-assist__grid { grid-template-columns: 1fr; }
  .assist-card { padding: 17px; }
}

@media (max-width: 430px) {
  .internal-assurance { grid-template-columns: 1fr; }
  .internal-assurance > div { border-top: 1px solid var(--line); border-left: 0; }
  .internal-assurance > div:first-child { border-top: 0; }
  .info-sidebar nav { grid-template-columns: 1fr; }
  .info-sidebar nav a:nth-child(even) { border-left: 0; }
  .knowledge-nav { grid-template-columns: 1fr; }
  .knowledge-nav a { min-height: 58px; border-top: 1px solid var(--line); border-left: 0; }
  .knowledge-nav a:first-child { border-top: 0; }
  .knowledge-nav a:nth-child(n+3) { border-top: 1px solid var(--line); }
  .recognition-result { grid-template-columns: 1fr; }
  .recognition-result > small, .recognition-result > .button, .recognition-raw { grid-column: auto; }
  .assist-upload.has-preview { height: 160px; }
}
