:root {
  --tr-red: #e31b23;
  --tr-yellow: #ffc400;
  --tr-charcoal: #34383f;
  --tr-text: #4a4a4a;
  --tr-muted: #6d7178;
  --tr-line: #e2e4e7;
  --tr-soft: #f5f6f7;
  --tr-dark: #2f353d;
  --tr-radius: 7px;
  --tr-shadow: 0 5px 16px rgba(35, 40, 46, .07);
}

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

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  min-width: 0;
  margin: 0;
  overflow-x: hidden;
  color: var(--tr-text);
  background: #fff;
  font-family: Inter, Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.65;
}
a { color: inherit; }
img { max-width: 100%; }
button, input { font: inherit; }
.tr-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.tr-utility { height: 30px; background: #f2f3f4; border-bottom: 1px solid #eceeef; }
.tr-utility .tr-shell { display: flex; height: 30px; align-items: center; gap: 10px; color: #45484d; font-size: 12px; }
.tr-utility a { text-decoration: none; }
.tr-utility a:hover { color: var(--tr-red); }
.tr-main-nav { display: flex; min-height: 78px; align-items: center; gap: 26px; }
.tr-brand { display: inline-flex; flex: 0 0 205px; align-items: center; text-decoration: none; }
.tr-brand img { display: block; width: 205px; height: 48px; object-fit: contain; }
.tr-nav { display: flex; min-width: 0; flex: 1; align-items: stretch; justify-content: center; gap: 42px; }
.tr-nav a { position: relative; display: inline-flex; height: 78px; align-items: center; color: #171a1f; font-size: 14px; font-weight: 550; text-decoration: none; white-space: nowrap; }
.tr-nav a.active::after { position: absolute; right: 0; bottom: 0; left: 0; height: 4px; background: var(--tr-red); content: ""; }
.tr-header-search { display: inline-grid; width: 38px; height: 38px; place-items: center; border: 0; background: transparent; cursor: pointer; }
.tr-header-search::before { width: 16px; height: 16px; border: 2px solid #181b20; border-radius: 50%; content: ""; }
.tr-header-search::after { width: 8px; height: 2px; margin: 13px 0 0 -3px; transform: rotate(45deg); background: #181b20; content: ""; }
.tr-quote { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 8px 20px; border-radius: 5px; background: var(--tr-yellow); color: #111 !important; font-weight: 750; text-decoration: none; white-space: nowrap; }
.tr-quote:hover, .tr-button:hover { background: var(--tr-red); color: #fff !important; }
.tr-site-header { position: relative; z-index: 20; border-bottom: 1px solid var(--tr-line); background: #fff; }

.tr-breadcrumb { border-top: 1px solid #f0f0f0; border-bottom: 1px solid var(--tr-line); background: #fff; }
.tr-breadcrumb ol { display: flex; min-height: 42px; align-items: center; gap: 10px; margin: 0 auto; padding: 0; color: #555b62; font-size: 12px; list-style: none; }
.tr-breadcrumb li + li::before { margin-right: 10px; color: #a1a5aa; content: ">"; }
.tr-breadcrumb a { text-decoration: none; }
.tr-breadcrumb a:hover { color: var(--tr-red); }

.tr-page-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 34px; align-items: start; padding: 12px 0 0; }
.tr-sidebar { position: sticky; top: 12px; margin: 0 0 44px; overflow: hidden; border: 1px solid #dfe2e5; border-radius: var(--tr-radius); background: #f6f6f6; }
.snapshot-mode .tr-sidebar { position: static; }
.snapshot-mode .model-table th { position: static; }
.tr-sidebar-title { padding: 13px 16px; border-bottom: 1px solid #dfe2e5; color: #20242a; font-size: 14px; font-weight: 800; text-transform: uppercase; }
.tr-sidebar a { display: flex; min-height: 38px; align-items: center; justify-content: space-between; padding: 8px 15px; border-bottom: 1px solid #e1e2e3; color: #31363c; font-size: 12px; line-height: 1.35; text-decoration: none; }
.tr-sidebar a:hover { color: var(--tr-red); background: #fff; }
.tr-sidebar a.current { background: var(--tr-red); color: #fff; font-weight: 750; }
.tr-sidebar a.sub { justify-content: flex-start; gap: 8px; padding-left: 19px; }
.tr-sidebar a.sub::before { color: #7a7f84; content: "•"; }
.tr-sidebar a:last-child { border-bottom: 0; }
.tr-mobile-sidebar { display: none; margin: 14px 0 0; border: 1px solid var(--tr-line); border-radius: var(--tr-radius); background: #f6f6f6; }
.tr-mobile-sidebar summary { padding: 11px 14px; color: #22262b; font-weight: 750; cursor: pointer; }
.tr-mobile-sidebar .tr-sidebar { position: static; margin: 0; border: 0; border-top: 1px solid var(--tr-line); border-radius: 0; }
.tr-main { min-width: 0; padding-bottom: 58px; }

.tr-hero { position: relative; min-height: 262px; overflow: hidden; border-radius: var(--tr-radius); background: #edf0f2; }
.tr-hero > img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.tr-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.88) 34%, rgba(255,255,255,.12) 62%, rgba(255,255,255,0) 100%); }
.tr-hero-content { position: relative; z-index: 1; display: flex; min-height: 262px; max-width: 57%; flex-direction: column; align-items: flex-start; justify-content: center; padding: 30px 34px; }
.tr-hero h1 { margin: 0 0 8px; color: #15181d; font-size: clamp(30px, 3vw, 43px); line-height: 1.08; text-transform: none; }
.tr-hero p { max-width: 470px; margin: 0 0 19px; color: #343940; font-size: 14px; line-height: 1.5; }
.tr-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.tr-button { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 8px 18px; border: 1px solid var(--tr-yellow); border-radius: 5px; background: var(--tr-yellow); color: #121519 !important; font-size: 12px; font-weight: 750; text-decoration: none; }
.tr-button.secondary { border-color: #a9adb2; background: rgba(255,255,255,.85); }
.tr-button.secondary:hover { border-color: var(--tr-red); background: var(--tr-red); }

.tr-banner { position: relative; height: 285px; margin-bottom: 25px; overflow: hidden; border-radius: var(--tr-radius); background: #eef0f2; }
.tr-banner img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tr-banner-label { position: absolute; left: 20px; bottom: 18px; padding: 7px 11px; background: rgba(255,196,0,.94); color: #272a2f; font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: none; }

.tr-value-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 0; border: 1px solid var(--tr-line); border-top: 0; border-radius: 0 0 var(--tr-radius) var(--tr-radius); background: #fff; }
.tr-value { position: relative; display: grid; min-height: 76px; grid-template-columns: 31px minmax(0, 1fr); gap: 9px; align-items: center; padding: 11px 13px; }
.tr-value + .tr-value::before { position: absolute; top: 15px; bottom: 15px; left: 0; width: 1px; background: var(--tr-line); content: ""; }
.tr-value-icon { display: grid; width: 30px; height: 30px; place-items: center; color: #2e3338; }
.tr-value-icon svg { display: block; width: 27px; height: 27px; fill: none; stroke: currentColor; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.tr-value h2 { margin: 0 0 3px; color: #25292e; font-size: 11px; font-weight: 750; line-height: 1.22; }
.tr-value p { margin: 0; color: #666b71; font-size: 9px; line-height: 1.36; }

/* Keep the homepage content groups distinct without changing their internal
   layouts. The clearance after the capability strip and the two gaps between
   the three content sections are all the confirmed 45px. */
.tr-main > .tr-hero ~ .tr-section { margin-top: 45px; }
.tr-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.tr-section-heading h2 { margin: 0; color: #262a2f; font-size: 20px; line-height: 1.25; }
.tr-section-heading p { margin: 0; color: var(--tr-muted); font-size: 12px; }
.tr-text-link { color: var(--tr-red); font-size: 12px; font-weight: 700; text-decoration: none; }
.tr-text-link:hover { text-decoration: underline; }

.brand-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.brand-card { display: grid; min-height: 117px; grid-template-columns: 42% minmax(0, 1fr); overflow: hidden; border: 1px solid var(--tr-line); border-radius: var(--tr-radius); background: #fff; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease; }
.brand-card:hover { border-color: #c7cbd0; box-shadow: var(--tr-shadow); }
.brand-card-media { min-width: 0; background: #f1f3f4; }
.brand-card img { display: block; width: 100%; height: 100%; object-fit: contain; }
.brand-card-copy { position: relative; display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 12px 28px 12px 12px; }
.brand-card h3 { margin: 0 0 5px; color: #22262b; font-size: 13px; line-height: 1.2; }
.brand-card p { margin: 0; color: #666b71; font-size: 10px; line-height: 1.35; }

.type-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.type-card { display: grid; min-height: 74px; grid-template-columns: 62px minmax(0, 1fr); align-items: center; overflow: hidden; border: 1px solid var(--tr-line); border-radius: 5px; background: #fff; text-decoration: none; }
.type-card:hover { border-color: var(--tr-red); }
.type-card img { width: 62px; height: 72px; padding: 6px; object-fit: contain; }
.type-card strong { padding: 8px 8px 8px 2px; color: #272b30; font-size: 11px; line-height: 1.3; }

.parts-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; }
.part-card { display: grid; min-height: 104px; grid-template-rows: 77px auto; overflow: hidden; border-bottom: 2px solid transparent; background: #fff; text-align: center; text-decoration: none; }
.part-card:hover { border-bottom-color: var(--tr-red); }
.part-card img { display: block; width: 100%; height: 77px; object-fit: contain; }
.part-card strong { padding: 5px 3px; color: #262a30; font-size: 10px; line-height: 1.2; }

.catalog-intro, .detail-intro { max-width: 78ch; margin: 0 0 22px; }
.page-kicker { display: block; margin: 0 0 6px; color: var(--tr-red); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.page-title { margin: 0 0 12px; color: #33383f; font-size: 30px; line-height: 1.22; }
.page-lead { margin: 0; color: #555b61; font-size: 14px; line-height: 1.72; }
.catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.catalog-card { display: grid; min-height: 150px; grid-template-columns: 42% minmax(0, 1fr); overflow: hidden; border: 1px solid var(--tr-line); border-radius: var(--tr-radius); background: #fff; text-decoration: none; }
.catalog-card:hover { border-color: #c4c8cc; box-shadow: var(--tr-shadow); }
.catalog-card-image { background: #f1f3f4; }
.catalog-card img { display: block; width: 100%; height: 100%; object-fit: contain; }
.catalog-card-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 15px; }
.catalog-card h2 { margin: 0 0 6px; color: #25292f; font-size: 16px; line-height: 1.25; }
.catalog-card p { margin: 0; color: #646a70; font-size: 12px; line-height: 1.55; }
.catalog-card span { margin-top: 8px; color: var(--tr-red); font-size: 11px; font-weight: 750; }

.content-block { max-width: 80ch; }
.content-block h2 { margin: 28px 0 10px; color: #33383f; font-size: 21px; line-height: 1.3; }
.content-block h3 { margin: 21px 0 8px; color: #33383f; font-size: 17px; }
.content-block p { margin: 0 0 13px; }
.content-block ul { margin: 0 0 18px; padding: 0; list-style: none; }
.content-block li { position: relative; margin: 0 0 8px; padding-left: 16px; }
.content-block li::before { position: absolute; top: .72em; left: 0; width: 6px; height: 6px; background: var(--tr-red); content: ""; }
.mechanical-seal-brand-list { margin: 0 0 13px; }
.mechanical-seal-brand { margin: 0; color: #33383f; font-size: 17px; font-weight: 700; line-height: 1.45; }
.mechanical-seal-brand + .mechanical-seal-brand { margin-top: 8px; }

.gallery-section { margin-top: 29px; }
.gallery-header { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.gallery-header h2 { margin: 0; color: #33383f; font-size: 20px; }
.gallery-header span { color: #777c82; font-size: 11px; }
.gallery-shell { position: relative; min-width: 0; }
.gallery-controls { display: flex; justify-content: flex-end; gap: 7px; margin: 0 0 8px; }
.gallery-controls[hidden], .gallery-control[hidden] { display: none; }
.gallery-control { display: grid; width: 40px; height: 36px; place-items: center; border: 0; background: var(--tr-yellow); color: #25292e; font-size: 22px; line-height: 1; cursor: pointer; }
.gallery-control:hover, .gallery-control:focus-visible { background: var(--tr-red); color: #fff; outline: 0; }
.gallery-viewport { min-width: 0; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; touch-action: pan-y; cursor: grab; }
.gallery-viewport::-webkit-scrollbar { display: none; }
.gallery-viewport.dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.gallery-track { display: flex; min-width: 100%; gap: 12px; }
.gallery-card { flex: 0 0 calc((100% - 36px) / 4); min-width: 0; margin: 0; overflow: hidden; scroll-snap-align: start; border: 1px solid var(--tr-line); border-radius: 12px; background: #fff; }
.gallery-card button { display: block; width: 100%; height: 175px; padding: 0; overflow: hidden; border: 0; border-radius: 11px 11px 0 0; background: #f4f5f6; cursor: zoom-in; }
.gallery-card img { display: block; width: 100%; height: 100%; object-fit: contain; }
.gallery-card figcaption { min-height: 42px; padding: 8px 9px; border-top: 1px solid var(--tr-line); color: #686d73; font-size: 10px; line-height: 1.35; }
.gallery-progress { height: 3px; margin-top: 10px; overflow: hidden; background: #eceeef; }
.gallery-progress span { display: block; width: 25%; height: 100%; transform-origin: left center; background: var(--tr-yellow); }
.gallery-shell.static .gallery-viewport { overflow: visible; cursor: default; }
.gallery-shell.static .gallery-track { display: grid; justify-content: center; }
.gallery-shell.static.count-1 .gallery-track { grid-template-columns: minmax(0, 430px); }
.gallery-shell.static.count-2 .gallery-track { grid-template-columns: repeat(2, minmax(0, 300px)); }
.gallery-shell.static.count-3 .gallery-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gallery-shell.static.count-4 .gallery-track { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gallery-shell.static .gallery-card { width: 100%; }
.gallery-shell.static .gallery-controls, .gallery-shell.static .gallery-progress { display: none; }
.inline-viewer { position: relative; display: none; overflow: hidden; border: 1px solid #d7dadd; border-radius: 12px; background: #f4f5f6; }
.gallery-shell.expanded .gallery-viewport, .gallery-shell.expanded .gallery-controls, .gallery-shell.expanded .gallery-progress { display: none; }
.gallery-shell.expanded .inline-viewer { display: block; }
.inline-viewer-image { display: block; width: calc(100% - 16px); height: clamp(430px, 57vw, 650px); margin: 8px; border-radius: 12px; object-fit: contain; }
.inline-viewer-caption { min-height: 42px; padding: 9px 54px 9px 12px; border-top: 1px solid var(--tr-line); background: #fff; color: #656a70; font-size: 11px; }
.inline-viewer button { position: absolute; z-index: 2; display: grid; place-items: center; border: 0; background: var(--tr-yellow); color: #25292e; cursor: pointer; }
.inline-viewer button:hover, .inline-viewer button:focus-visible { background: var(--tr-red); color: #fff; outline: 0; }
.viewer-close { top: 0; right: 0; width: 44px; height: 44px; font-size: 24px; }
.viewer-prev, .viewer-next { top: 50%; width: 46px; height: 52px; margin-top: -26px; font-size: 30px; }
.viewer-prev { left: 0; }
.viewer-next { right: 0; }

.model-section { min-width: 0; width: 100%; margin-top: 31px; padding-top: 22px; border-top: 1px solid var(--tr-line); }
.model-section h2 { margin: 0 0 6px; color: #33383f; font-size: 20px; }
.model-search { box-sizing: border-box; display: block; width: min(420px, 100%); max-width: 100%; height: 38px; margin-bottom: 12px; padding: 7px 11px; border: 1px solid #cdd1d5; border-radius: 4px; }
.model-table-wrap { box-sizing: border-box; width: 100%; max-width: 100%; max-height: 420px; overflow: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; border: 1px solid var(--tr-line); }
.model-table { width: 100%; min-width: 720px; border-collapse: collapse; table-layout: fixed; font-size: 11px; line-height: 1.4; }
.model-table col:nth-child(1) { width: 210px !important; }
.model-table col:nth-child(2) { width: 150px !important; }
.model-table col:nth-child(3) { width: 170px !important; }
.model-table col:nth-child(4) { width: auto !important; }
.model-table th, .model-table td { box-sizing: border-box; white-space: nowrap; }
.model-table th { position: sticky; z-index: 1; top: 0; padding: 9px 14px; background: var(--tr-dark); color: #fff; text-align: left; }
.model-table td { padding: 8px 14px; border-top: 1px solid var(--tr-line); vertical-align: top; }
.model-table tr:nth-child(even) td { background: #f8f9f9; }

.cta-bar { display: grid; grid-template-columns: 54px minmax(0, 1fr) auto; gap: 16px; align-items: center; margin-top: 34px; padding: 14px 22px; background: var(--tr-dark); color: #fff; }
.cta-icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #fff; font-size: 21px; }
.cta-bar h2 { margin: 0 0 2px; color: #fff; font-size: 18px; line-height: 1.3; }
.cta-bar p { margin: 0; color: #f2f3f4; font-size: 11px; line-height: 1.4; }

.disclaimer-box { margin-top: 25px; padding: 14px 16px; border-left: 3px solid var(--tr-yellow); background: #f7f7f7; color: #666b71; font-size: 10px; line-height: 1.55; }
.disclaimer-box p { margin: 0 0 7px; font-size: inherit; }
.disclaimer-box p:last-child { margin-bottom: 0; }
.related { margin-top: 30px; }
.related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.related-card { overflow: hidden; border: 1px solid var(--tr-line); border-radius: 6px; background: #fff; text-decoration: none; }
.related-card img { display: block; width: 100%; height: 92px; object-fit: contain; background: #f4f5f6; }
.related-card strong { display: block; padding: 9px; color: #292d32; font-size: 11px; line-height: 1.35; }

.tr-site-footer { border-top: 1px solid var(--tr-line); background: #fff; color: var(--tr-text); }
.tr-footer-grid { display: grid; grid-template-columns: .95fr 1.55fr 1fr; gap: 38px; padding: 37px 0 26px; }
.tr-footer-grid > * + * { padding-left: 38px; border-left: 1px solid var(--tr-line); }
.tr-footer-promise strong, .tr-site-footer h2 { color: #34383f; font-size: 15px; }
.tr-site-footer h2 { margin: 0 0 8px; }
.tr-footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
.tr-footer-links h2 { grid-column: 1 / -1; }
.tr-site-footer a { color: #50555b; font-size: 11px; line-height: 1.8; text-decoration: none; }
.tr-site-footer a:hover { color: var(--tr-red); }
.tr-footer-social { display: grid; grid-template-columns: repeat(2, max-content); align-content: start; column-gap: 22px; }
.tr-footer-social h2 { grid-column: 1 / -1; }
.tr-footer-copy { padding: 12px 24px 17px; color: #6d7278; font-size: 11px; text-align: center; }
.footer-legal { padding: 14px 0 17px; border-top: 1px solid var(--tr-line); color: #777c82; font-size: 9px; line-height: 1.55; }

@media (max-width: 1020px) {
  .tr-nav { gap: 19px; }
  .tr-header-search, .tr-quote { display: none; }
  .tr-page-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 24px; }
  .tr-value-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tr-value:nth-child(3)::before { display: none; }
  .tr-value:nth-child(n+3) { border-top: 1px solid var(--tr-line); }
  .brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .type-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .parts-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .gallery-card { flex-basis: calc((100% - 24px) / 3); }
  .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .tr-shell { width: calc(100% - 30px); }
  .tr-utility { height: 29px; }
  .tr-utility .tr-shell { height: 29px; font-size: 10px; }
  .tr-main-nav { min-height: 66px; flex-wrap: wrap; gap: 4px 18px; padding: 8px 0; }
  .tr-brand { flex-basis: 165px; }
  .tr-brand img { width: 165px; height: 39px; }
  .tr-nav { order: 3; width: 100%; flex: 0 0 100%; justify-content: flex-start; gap: 20px; overflow-x: auto; }
  .tr-nav a { height: 34px; font-size: 11px; }
  .tr-breadcrumb ol { min-height: 38px; overflow-x: auto; white-space: nowrap; }
  .tr-page-layout { display: block; padding-top: 0; }
  .tr-page-layout > .tr-sidebar { display: none; }
  .tr-mobile-sidebar { display: block; }
  .tr-main { padding: 15px 0 42px; }
  .tr-hero { min-height: 350px; }
  .tr-hero > img { object-position: 65% center; }
  .tr-hero-shade { background: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.86) 57%, rgba(255,255,255,.2) 100%); }
  .tr-hero-content { min-height: 350px; max-width: 100%; justify-content: flex-start; padding: 28px 22px; }
  .tr-hero h1 { font-size: 31px; }
  .tr-hero p { max-width: 92%; }
  .tr-value-strip { grid-template-columns: 1fr; border-top: 1px solid var(--tr-line); border-radius: var(--tr-radius); }
  .tr-value { min-height: 72px; grid-template-columns: 31px minmax(0, 1fr); padding: 10px 13px; }
  .tr-value:nth-child(n+3) { border-top: 0; }
  .tr-value + .tr-value::before, .tr-value:nth-child(3)::before { display: block; top: 0; right: 13px; bottom: auto; left: 13px; width: auto; height: 1px; }
  .tr-value h2 { font-size: 12px; }
  .tr-value p { font-size: 10px; }
  .brand-grid, .catalog-grid { grid-template-columns: 1fr; }
  .brand-card { min-height: 124px; }
  .type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .parts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tr-banner { height: 190px; }
  .page-title { font-size: 25px; }
  .gallery-card { flex-basis: 100%; }
  .gallery-card button { height: 250px; }
  .gallery-shell.static .gallery-track { grid-template-columns: 1fr !important; }
  .gallery-shell.static.count-2 .gallery-track { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .gallery-shell.static.count-2 .gallery-card button { height: 145px; }
  .inline-viewer-image { height: min(68vh, 450px); }
  .cta-bar { grid-template-columns: 42px minmax(0, 1fr); padding: 14px; }
  .cta-bar .tr-button { grid-column: 1 / -1; }
  .tr-footer-grid { grid-template-columns: 1fr; gap: 22px; padding: 30px 0 21px; }
  .tr-footer-grid > * + * { padding-top: 22px; padding-left: 0; border-top: 1px solid var(--tr-line); border-left: 0; }
}

@media (max-width: 460px) {
  .type-grid { grid-template-columns: 1fr; }
  .parts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .brand-card { grid-template-columns: 40% minmax(0, 1fr); }
  .catalog-card { min-height: 0; grid-template-columns: 1fr; }
  .catalog-card-image { height: 180px; }
  .gallery-shell.static.count-2 .gallery-track { grid-template-columns: 1fr !important; }
  .gallery-shell.static.count-2 .gallery-card button { height: 230px; }
  .related-grid { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   Plan A final mirror: reuse the public Time Rolling visual system.
   These rules intentionally remain conservative and do not affect production.
   -------------------------------------------------------------------------- */
body { font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 1.55; }
.tr-shell { width: min(1180px, calc(100% - 48px)); }
.tr-utility { height: 34px; background: #f3f3f3; }
.tr-utility .tr-shell { height: 34px; justify-content: flex-end; gap: 8px; font-size: 12px; }
.tr-globe { color: #70747a; font-size: 11px; }
.tr-utility-separator { color: #b4b6b9; }
.tr-main-nav { min-height: 78px; gap: 28px; padding: 0; }
.tr-brand { flex: 0 0 192px; }
.tr-brand img { width: 192px; height: 46px; object-fit: contain; }
.tr-nav { justify-content: flex-end; gap: 28px; }
.tr-nav a { height: 78px; color: #26292d; font-size: 14px; font-weight: 400; }
.tr-nav a.active { font-weight: 700; }
.tr-nav a.active::after { height: 3px; }
.tr-header-search { position: relative; display: flex; width: 28px; height: 34px; align-items: center; justify-content: flex-end; overflow: hidden; border: 0; transition: width .2s ease; }
.tr-header-search:focus-within { width: 150px; }
.tr-header-search::before, .tr-header-search::after { display: none; }
.tr-header-search input[type="search"] { width: 100%; height: 30px; padding: 4px 31px 4px 8px; border: 1px solid transparent; border-radius: 0; outline: 0; background: transparent; color: #333; font-size: 12px; }
.tr-header-search:focus-within input[type="search"] { border-color: #d7d7d7; background: #fff; }
.tr-header-search button { position: absolute; right: 0; display: grid; width: 28px; height: 30px; place-items: center; padding: 0; border: 0; background: transparent; cursor: pointer; }
.tr-search-icon { position: relative; display: block; width: 14px; height: 14px; border: 2px solid #2a2d31; border-radius: 50%; }
.tr-search-icon::after { position: absolute; right: -5px; bottom: -3px; width: 6px; height: 2px; transform: rotate(45deg); background: #2a2d31; content: ""; }
.tr-quote { min-height: 37px; padding: 8px 18px; border-radius: 0; font-size: 13px; }

.tr-breadcrumb ol { min-height: 40px; }
.tr-page-layout { grid-template-columns: 250px minmax(0, 1fr); gap: 34px; padding-top: 12px; }
.tr-sidebar { border: 0; border-radius: 8px; background: #f5f5f5; }
.tr-sidebar-title { padding: 14px 16px 12px; border-bottom: 1px solid #dedede; font-size: 14px; text-transform: none; }
.tr-sidebar a { justify-content: flex-start; min-height: 36px; padding: 8px 16px; border-bottom-color: #e1e1e1; color: #575b60; font-size: 12px; }
.product-category-row { display: grid; grid-template-columns: minmax(0, 1fr) 38px; border-bottom: 1px solid #dedede; background: #fff; }
.product-category-row > a { min-width: 0; border-bottom: 0; color: var(--tr-red); font-weight: 700; }
.product-category-toggle { min-width: 38px; border: 0; border-left: 1px solid #e1e1e1; background: transparent; color: #3b3e42; font-size: 19px; cursor: pointer; }
.product-category-toggle:hover, .product-category-toggle:focus-visible { background: var(--tr-yellow); outline: 0; }
.pump-submenu[hidden] { display: none; }
.pump-submenu { border-bottom: 1px solid #dedede; background: #fafafa; }
.tr-sidebar .pump-submenu a { min-height: 33px; padding: 7px 12px 7px 27px; border-bottom: 1px solid #e8e8e8; font-size: 11px; }
.tr-sidebar .pump-submenu a::before { position: absolute; margin-left: -12px; color: #9a9da1; content: "–"; }
.tr-sidebar .pump-submenu a.current { background: #ececec; color: var(--tr-red); font-weight: 700; }
.tr-sidebar .pump-submenu a:last-child { border-bottom: 0; }

.page-kicker { color: #44494f; }
.tr-hero .page-kicker, .more-brand-links, .more-brand-links a, .more-brand-links a:visited { color: #45494f; }
.more-brand-links a:hover { color: var(--tr-red); }
.section-arrow { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; border: 1px solid #cfd2d5; color: #32363b; font-size: 21px; line-height: 1; text-decoration: none; }
.section-arrow:hover, .section-arrow:focus-visible { border-color: var(--tr-red); background: var(--tr-red); color: #fff; outline: 0; }

.home-slider { position: relative; min-width: 0; }
.home-slider-controls { display: flex; justify-content: flex-end; gap: 7px; min-height: 36px; margin: -4px 0 8px; }
.home-slider-controls[hidden] { display: none; }
.home-slider-controls button { display: grid; width: 40px; height: 36px; place-items: center; border: 0; background: var(--tr-yellow); color: #25292e; font-size: 23px; cursor: pointer; }
.home-slider-controls button:hover, .home-slider-controls button:focus-visible { background: var(--tr-red); color: #fff; outline: 0; }
.home-slider-viewport { min-width: 0; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; touch-action: pan-y; cursor: grab; }
.home-slider-viewport::-webkit-scrollbar { display: none; }
.home-slider-viewport.dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.home-slider-track { display: flex; min-width: 100%; gap: 10px; }
.home-slider-track > a { flex-shrink: 0; scroll-snap-align: start; }
.pump-types-slider .type-card { display: flex; flex: 0 0 calc((100% - 50px) / 6); min-height: 143px; flex-direction: column; align-items: stretch; justify-content: space-between; border: 0; border-radius: 0; background: transparent; }
.pump-types-slider .type-card img.pump-type-icon { display: block; width: 100%; height: 104px; padding: 8px 7px 2px; object-fit: contain; }
.pump-types-slider .type-card strong { display: grid; min-height: 39px; place-items: center; padding: 6px; color: #33373c; font-size: 11px; line-height: 1.25; text-align: center; }
.pump-parts-slider .part-card { flex: 0 0 calc((100% - 70px) / 8); min-height: 123px; grid-template-rows: 92px auto; border: 1px solid var(--tr-line); border-radius: 0; }
.pump-parts-slider .part-card img { width: 100%; height: 92px; padding: 4px; background: #fff; object-fit: contain; }
.pump-parts-slider .part-card strong { display: grid; min-height: 31px; place-items: center; padding: 5px 3px; border-top: 1px solid #ededed; color: #33373c; font-size: 10px; }

.catalog-card h2 { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; }
.catalog-card-arrow { flex: 0 0 auto; margin: 0 !important; color: var(--tr-red) !important; font-size: 19px !important; line-height: 1 !important; }
/* The inquiry component is separated by its existing whitespace, not rules.
   The icon frame and the red contact-box accent remain intentionally intact. */
.simple-inquiry { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 16px; align-items: center; margin-top: 32px; padding: 18px 0; border: 0; background: #fff; }
.inquiry-icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #9da1a5; color: #3c4045; }
.inquiry-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.simple-inquiry h2 { margin: 0 0 3px; color: #34383f; font-size: 17px; }
.simple-inquiry p { margin: 0; color: #60656a; font-size: 12px; line-height: 1.55; }

.option-a-details { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(230px, .65fr); gap: 34px; align-items: start; margin-top: 32px; padding-top: 22px; border-top: 0; }
.pump-information { min-width: 0; }
.pump-information h2, .pump-contact-box h2 { margin: 0 0 10px; color: #34383f; font-size: 20px; line-height: 1.3; }
.pump-feature-list { margin: 0; padding: 0; list-style: none; }
.pump-feature-list li { position: relative; margin: 0 0 9px; padding-left: 16px; color: #555b61; font-size: 13px; line-height: 1.55; }
.pump-feature-list li::before { position: absolute; top: .67em; left: 0; width: 6px; height: 6px; background: var(--tr-red); content: ""; }
.pump-contact-box { padding: 20px; border-top: 4px solid var(--tr-red); background: #f5f5f5; }
.pump-contact-box p { margin: 0 0 15px; color: #565b61; font-size: 12px; line-height: 1.55; }
.pump-information .model-section { margin-top: 25px; }
.cta-bar, .disclaimer-box { display: none !important; }

.gallery-card, .inline-viewer, .inline-viewer-image { border-radius: 12px; }
.gallery-viewport { overscroll-behavior-inline: contain; }
.gallery-control:disabled, .inline-viewer button:disabled { opacity: .38; cursor: default; }
.inline-viewer button[hidden] { display: none !important; }

.tr-site-footer { margin-top: 58px; }
.tr-footer-grid { grid-template-columns: 1.2fr 1.35fr 1fr; gap: 50px; padding: 45px 0 30px; }
.tr-footer-grid > * + * { padding-left: 50px; }
.tr-footer-promise { color: #565a5f; font-size: 17px; line-height: 1.55; }
.tr-footer-promise strong { color: #34383f; font-size: 17px; }
.tr-site-footer h2 { margin: 0 0 8px; color: #34383f; font-size: 16px; }
.tr-footer-links { grid-template-columns: 1fr; }
.tr-site-footer a { font-size: 12px; line-height: 2.1; }
.tr-footer-social { display: block; }
.tr-footer-social a { display: flex; align-items: center; gap: 9px; width: max-content; }
.tr-footer-social svg { width: 18px; height: 18px; fill: currentColor; stroke: currentColor; stroke-width: 1.5; }
.tr-footer-social .social-fill { fill: currentColor; stroke: none; }
.footer-legal { padding: 16px 0 18px; font-size: 10px; line-height: 1.6; }
.tr-footer-copy { font-size: 12px; }

@media (max-width: 1020px) {
  .tr-main-nav { gap: 18px; }
  .tr-nav { gap: 17px; }
  .tr-header-search, .tr-quote { display: none; }
  .tr-page-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 24px; }
  .pump-types-slider .type-card { flex-basis: calc((100% - 30px) / 4); }
  .pump-parts-slider .part-card { flex-basis: calc((100% - 30px) / 4); }
  .gallery-card { flex-basis: calc((100% - 24px) / 3); }
  .option-a-details { grid-template-columns: minmax(0, 1.2fr) minmax(210px, .8fr); gap: 24px; }
  .tr-footer-grid { gap: 32px; }
  .tr-footer-grid > * + * { padding-left: 32px; }
}

@media (max-width: 760px) {
  .tr-shell { width: calc(100% - 30px); }
  .tr-utility, .tr-utility .tr-shell { height: 29px; }
  .tr-main-nav { min-height: 66px; flex-wrap: wrap; gap: 4px 18px; padding: 8px 0; }
  .tr-brand { flex-basis: 165px; }
  .tr-brand img { width: 165px; height: 39px; }
  .tr-nav { order: 3; width: 100%; flex: 0 0 100%; justify-content: flex-start; gap: 20px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .tr-nav::-webkit-scrollbar { display: none; }
  .tr-nav a { height: 38px; font-size: 11px; }
  .tr-page-layout { display: block; padding-top: 0; }
  .tr-page-layout > .tr-sidebar { display: none; }
  .tr-mobile-sidebar { display: block; }
  .tr-main { padding-top: 15px; }
  .section-arrow { flex-basis: 44px; width: 44px; height: 44px; }
  .pump-types-slider .type-card { flex-basis: calc((100% - 10px) / 1.7); }
  .pump-parts-slider .part-card { flex-basis: calc((100% - 20px) / 2.45); }
  .home-slider-controls button, .gallery-control { width: 44px; height: 44px; }
  .catalog-grid { grid-template-columns: 1fr; }
  .gallery-card { flex-basis: 100%; }
  .option-a-details { grid-template-columns: 1fr; gap: 25px; }
  .pump-contact-box { padding: 18px; }
  .simple-inquiry { grid-template-columns: 44px minmax(0, 1fr); }
  .simple-inquiry .tr-button { grid-column: 1 / -1; justify-self: start; }
  .tr-footer-grid { grid-template-columns: 1fr; gap: 22px; padding: 30px 0 21px; }
  .tr-footer-grid > * + * { padding-top: 22px; padding-left: 0; border-top: 1px solid var(--tr-line); border-left: 0; }
}

@media (max-width: 460px) {
  .pump-types-slider .type-card { flex-basis: 68%; }
  .pump-parts-slider .part-card { flex-basis: 45%; }
  .gallery-shell.static.count-2 .gallery-track { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .gallery-shell.static.count-2 .gallery-card button { height: 150px; }
  .inline-viewer-image { width: calc(100% - 12px); height: min(64vh, 410px); margin: 6px; }
}

/* --------------------------------------------------------------------------
   Visual-spacing update: use whitespace and subtle surfaces rather than
   decorative rules around navigation, product cards, and content groups.
   Necessary controls, header/navigation cues, and the footer stay intact.
   -------------------------------------------------------------------------- */
.tr-breadcrumb { border-bottom: 0; }

/* Product navigation: hierarchy is carried by indent, colour, and spacing. */
.tr-sidebar,
.tr-mobile-sidebar { border: 0; }
.tr-sidebar { padding: 5px 0; }
.tr-sidebar-title { margin-bottom: 3px; border-bottom: 0; }
.tr-sidebar a,
.tr-sidebar .pump-submenu a { border-bottom: 0; }
.tr-sidebar a { margin: 1px 0; }
.product-category-row { margin: 3px 0; border-bottom: 0; background: transparent; }
.product-category-toggle { border-left: 0; }
.pump-submenu { padding: 1px 0 4px; border-bottom: 0; background: transparent; }
.tr-mobile-sidebar .tr-sidebar { border-top: 0; }

/* Capability highlights: no surrounding panel or internal dividers. */
.tr-value-strip { gap: 22px; margin: 16px 0 6px; border: 0; border-radius: 0; background: transparent; }
.tr-value { min-height: 64px; padding: 0; }
.tr-value + .tr-value::before { display: none; }

/* Product cards are separated by space, media treatment, and alignment. */
.brand-grid { gap: 18px; }
.brand-card,
.catalog-card,
.type-card,
.pump-types-slider .type-card,
.pump-parts-slider .part-card,
.related-card,
.gallery-card { border: 0; border-radius: 0; box-shadow: none; }
.brand-card,
.catalog-card { background: transparent; }
.brand-card:hover,
.catalog-card:hover { border-color: transparent; box-shadow: none; background: #f8f8f8; }
.type-grid { gap: 16px; }
.type-card,
.pump-types-slider .type-card { background: transparent; }
.type-card:hover,
.pump-types-slider .type-card:hover { border-color: transparent; background: transparent; box-shadow: none; }
.part-card,
.pump-parts-slider .part-card { border-bottom: 0; background: transparent; }
.part-card:hover { border-bottom-color: transparent; background: #fafafa; }
.pump-types-slider .type-card strong,
.pump-parts-slider .part-card strong,
.gallery-card figcaption { border-top: 0; }
.related-grid { gap: 16px; }
.related-card { background: #fafafa; }
.gallery-card { background: #f7f7f7; }

/* Compact product-only related-content module, kept inside .tr-main. */
.interested-products { min-width: 0; margin-top: 38px; }
.interested-products h2 { margin: 0 0 14px; color: #34383f; font-size: 19px; line-height: 1.25; }
.interested-products-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.interested-product-card { display: grid; min-width: 0; overflow: hidden; border: 1px solid var(--tr-line); border-radius: 7px; background: #fff; box-shadow: 0 3px 10px rgba(35, 40, 46, .05); color: inherit; text-decoration: none; }
.interested-product-card:hover, .interested-product-card:focus-visible { border-color: #c5c9cd; box-shadow: var(--tr-shadow); outline: 0; }
.interested-product-media { display: block; height: 112px; overflow: hidden; background: #f3f4f5; }
.interested-product-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.interested-product-copy { display: grid; align-content: start; gap: 5px; min-width: 0; min-height: 88px; padding: 10px 11px 12px; }
.interested-product-copy strong { color: #30353b; font-size: 13px; line-height: 1.28; }
.interested-product-copy > span { color: #666b71; font-size: 10px; line-height: 1.45; }

@media (max-width: 760px) {
  .interested-products { margin-top: 30px; }
  .interested-products h2 { margin-bottom: 12px; font-size: 18px; }
  .interested-products-grid { grid-template-columns: 1fr; gap: 12px; }
  .interested-product-card { grid-template-columns: minmax(0, 42%) minmax(0, 1fr); }
  .interested-product-media { height: 132px; }
  .interested-product-copy { min-height: 132px; padding: 13px; }
  .interested-product-copy strong { font-size: 14px; }
  .interested-product-copy > span { font-size: 11px; }
}

/* The section arrow remains a control, without a permanent square outline. */
.section-arrow { border: 0; background: transparent; transition: color .18s ease, background .18s ease; }

/* Confirmed compact Browse by Pump Type carousel. */
.pump-type-compact-carousel .home-slider {
  padding: 0;
  background: transparent;
}

.pump-type-compact-carousel .home-slider-viewport {
  overflow-x: auto;
  overflow-y: hidden;
  cursor: grab;
}

.pump-type-compact-carousel .home-slider-track {
  min-width: 100%;
  gap: 10px;
  align-items: center;
  justify-content: flex-start;
}

.pump-type-compact-carousel .type-card,
.pump-type-compact-carousel .type-card:hover,
.pump-type-compact-carousel .type-card:focus-visible {
  display: grid;
  flex: 0 0 calc((100% - 50px) / 6);
  min-width: 0;
  min-height: 50px;
  grid-template-columns: 44px max-content;
  column-gap: 10px;
  align-items: center;
  justify-content: start;
  overflow: visible;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  text-decoration: none;
  scroll-snap-align: start;
}

.pump-type-compact-carousel .type-card img.pump-type-icon {
  display: block;
  width: 44px;
  height: 44px;
  justify-self: center;
  padding: 0;
  object-fit: contain;
}

.pump-type-compact-carousel .type-card strong {
  display: flex;
  min-width: 0;
  min-height: 2.8em;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 0;
  color: #2c3136;
  font-size: 11.2px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.pump-type-compact-carousel .type-card strong span {
  display: block;
  white-space: nowrap;
}

@media (max-width: 1000px) and (min-width: 761px) {
  .pump-type-compact-carousel .type-card,
  .pump-type-compact-carousel .type-card:hover,
  .pump-type-compact-carousel .type-card:focus-visible {
    flex-basis: calc((100% - 20px) / 3);
  }
}

@media (max-width: 760px) {
  .pump-type-compact-carousel .type-card,
  .pump-type-compact-carousel .type-card:hover,
  .pump-type-compact-carousel .type-card:focus-visible {
    flex-basis: 100%;
  }
}

@media (max-width: 760px) and (min-width: 381px) {
  .pump-type-compact-carousel .type-card,
  .pump-type-compact-carousel .type-card:hover,
  .pump-type-compact-carousel .type-card:focus-visible {
    flex-basis: calc((100% - 10px) / 2);
  }
}
.section-arrow:hover,
.section-arrow:focus-visible { border-color: transparent; background: #f3f3f3; color: var(--tr-red); }

/* Home section entry links: text-only, retaining the original destinations. */
.section-more-link { display: inline-flex; min-height: 36px; flex: 0 0 auto; align-items: center; align-self: center; padding: 8px 0; color: #92979c; font-size: 12px; font-weight: 700; line-height: 1; text-decoration: none; white-space: nowrap; }
.section-more-link:hover { color: var(--tr-red); text-decoration: underline; }
.section-more-link:focus-visible { outline: 2px solid var(--tr-red); outline-offset: 3px; }

/* Home brand cards: copy remains beside, and never taller than, its image. */
.brand-card { height: 80px; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; min-height: 0; align-items: start; }
.brand-card-media { height: 80px; overflow: hidden; background: transparent; }
.brand-card img { height: 100%; object-fit: cover; object-position: center; }
.brand-card-copy { height: 80px; max-height: 80px; justify-content: flex-start; overflow: hidden; padding: 0; }
.brand-card h3 { margin-bottom: 3px; }
.brand-card p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }

@media (max-width: 1020px) {
  .tr-value-strip { gap: 18px 28px; }
  .tr-value:nth-child(n+3) { border-top: 0; }
}

@media (max-width: 760px) {
  .tr-value-strip { gap: 10px; margin-top: 14px; border: 0; border-radius: 0; }
  .tr-value { min-height: 68px; padding: 0; }
  .tr-value + .tr-value::before,
  .tr-value:nth-child(3)::before { display: none; }
  .section-more-link { min-height: 44px; padding: 12px 0; }
  .brand-card { height: 78px; grid-template-columns: 116px minmax(0, 1fr); gap: 12px; min-height: 0; }
  .brand-card-media { height: 78px; }
  .brand-card-copy { height: 78px; max-height: 78px; }
}

@media (max-width: 460px) {
  .brand-card { height: 76px; grid-template-columns: 112px minmax(0, 1fr); }
  .brand-card-media { height: 76px; }
  .brand-card-copy { height: 76px; max-height: 76px; }
}

/* Catalog directories: fixed-ratio list media and top-aligned copy. */
.catalog-grid { gap: 24px 26px; }
.catalog-card {
  grid-template-columns: 174px minmax(0, 1fr);
  gap: 14px;
  min-height: 130px;
  align-items: start;
  overflow: visible;
}
.catalog-card-image {
  width: 174px;
  height: 130px;
  overflow: hidden;
  background: transparent;
}
.catalog-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.catalog-card-copy {
  align-self: start;
  justify-content: flex-start;
  /* Keep the copy aligned to the image top while leaving a half-em breathing space. */
  padding: .5em 0 0;
}
.catalog-card h2 { display: block; }
.catalog-card-arrow { display: none !important; }
.catalog-card--brand-copy .catalog-card-copy { padding-top: 0; }
.catalog-grid--centrifugal .catalog-card-copy { padding-top: 0; }
.catalog-card--brand-copy p { display: block; overflow: visible; word-break: normal; -webkit-line-clamp: unset; }

@media (max-width: 760px) {
  .catalog-grid { gap: 18px; }
  .catalog-card {
    grid-template-columns: 128px minmax(0, 1fr);
    gap: 12px;
    min-height: auto;
  }
  .catalog-card-image {
    width: 128px;
    height: auto;
    aspect-ratio: 174 / 130;
  }
}

@media (max-width: 460px) {
  .catalog-card { grid-template-columns: 112px minmax(0, 1fr); }
  .catalog-card-image { width: 112px; height: auto; aspect-ratio: 174 / 130; }
}

/* Pump Parts home carousel: equal 4:3 media and top-aligned label rows. */
.pump-parts-slider .part-card,
.pump-parts-slider .part-card:hover,
.pump-parts-slider .part-card:focus-visible {
  display: grid;
  min-height: 0;
  grid-template-rows: auto 46px;
  align-items: start;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.pump-parts-slider .part-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  padding: 0;
  background: #fff;
  object-fit: contain;
  object-position: center;
}

.pump-parts-slider .part-card strong {
  display: block;
  height: 46px;
  min-height: 46px;
  padding: 7px 3px 0;
  border: 0;
  color: #33373c;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

@media (max-width: 760px) {
  .pump-parts-slider .part-card,
  .pump-parts-slider .part-card:hover,
  .pump-parts-slider .part-card:focus-visible {
    flex-basis: calc((100% - 10px) / 2);
    grid-template-rows: auto 46px;
  }

  .pump-parts-slider .part-card strong {
    height: 46px;
    min-height: 46px;
  }
}

/* Shared image treatment: keep every in-scope product image consistently rounded.
   Carousel shells remain unrounded so navigation controls are never clipped. */
.tr-hero,
.tr-banner,
.brand-card-media,
.catalog-card-image,
.gallery-card,
.gallery-card button,
.inline-viewer,
.interested-product-media {
  border-radius: 10px;
  overflow: hidden;
}

.tr-hero > img,
.tr-banner img,
.brand-card img,
.type-card img,
.catalog-card img,
.part-card img,
.gallery-card img,
.inline-viewer-image,
.interested-product-media img {
  border-radius: 10px;
}
