/* HSP shared category page 5.13.1. */
.hspc-page {--hspc-blue:#159bd7;--hspc-navy:#102d42;--hspc-ink:#14222d;--hspc-muted:#566675;--hspc-line:#d9e2e8;--hspc-soft:#f3f7f9;color:var(--hspc-ink);background:#fff}
.hspc-page * {box-sizing:border-box}
.hspc-container {width:min(1180px,calc(100% - 40px));margin-inline:auto}
.hspc-narrow {max-width:900px}
.hspc-breadcrumb-wrap {border-bottom:1px solid var(--hspc-line);background:#fff}
.hspc-breadcrumbs ol {display:flex;gap:9px;align-items:center;flex-wrap:wrap;list-style:none;margin:0;padding:14px 0;font-size:14px}
.hspc-breadcrumbs li {display:flex;align-items:center}
.hspc-breadcrumbs li+li:before {content:"/";margin-right:9px;color:#8a98a3}
.hspc-breadcrumbs a {color:#3e586a;text-decoration:none}
.hspc-hero {padding:58px 0 64px;background:linear-gradient(135deg,#f5f9fb 0%,#fff 62%)}
.hspc-hero__grid {display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);gap:64px;align-items:center}
.hspc-eyebrow {margin:0 0 10px;color:var(--hspc-blue);font-size:13px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.hspc-hero h1 {margin:0 0 24px;color:var(--hspc-navy);font-size:clamp(40px,5vw,64px);line-height:1.02;letter-spacing:-.035em}
.hspc-hero__intro p {margin:0 0 14px;color:#344b5c;font-size:18px;line-height:1.68}
.hspc-hero__note {padding-left:16px;border-left:3px solid var(--hspc-blue);color:#445a69;font-size:15px;line-height:1.6}
.hspc-hero__media {margin:0;aspect-ratio:4/3;overflow:hidden;background:#e6edf1}
.hspc-hero__image {display:block;width:100%;height:100%;object-fit:cover}
.hspc-actions {display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:26px}
.hspc-btn {display:inline-flex;min-height:46px;padding:10px 18px;align-items:center;justify-content:center;border:1px solid #aec0cb;background:#fff;color:var(--hspc-navy);font-weight:750;text-decoration:none;cursor:pointer}
.hspc-btn:hover,
.hspc-btn:focus-visible {border-color:var(--hspc-blue);color:#067fb8}
.hspc-btn--primary {border-color:var(--hspc-blue);background:var(--hspc-blue);color:#fff}
.hspc-btn--primary:hover,
.hspc-btn--primary:focus-visible {background:#087fb7;color:#fff}
.hspc-section {padding:72px 0}
.hspc-section--surface {background:var(--hspc-soft)}
.hspc-section-head {max-width:820px;margin-bottom:32px}
.hspc-section-head h2 {margin:0 0 12px;color:var(--hspc-navy);font-size:clamp(28px,3.2vw,40px);line-height:1.15;letter-spacing:-.02em}
.hspc-section-head p {margin:0;color:var(--hspc-muted);font-size:17px;line-height:1.65}
.hspc-family-section {padding-top:64px}
.hspc-family-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--hspc-line);border-left:1px solid var(--hspc-line)}
.hspc-family {min-height:270px;padding:27px;border-right:1px solid var(--hspc-line);border-bottom:1px solid var(--hspc-line);background:#fff}
.hspc-family h3 {margin:0 0 14px;color:var(--hspc-navy);font-size:20px;line-height:1.25}
.hspc-family p {margin:0 0 12px;color:#455967;line-height:1.58}
.hspc-family__decision {font-size:14px}
.hspc-family a,
.hspc-resource-grid a {display:inline-flex;margin-top:8px;color:#087fb8;font-weight:750;text-decoration:none}
.hspc-catalogue {border-top:1px solid var(--hspc-line);background:#f8fafb}
.hspc-catalogue__head {display:flex;max-width:none;justify-content:space-between;gap:32px}
.hspc-catalogue__tools {display:flex;gap:18px;align-items:center;flex:0 0 auto}
.hspc-catalogue__tools p {white-space:nowrap}
.hspc-sort {display:grid;gap:5px;color:#526574;font-size:13px;font-weight:700}
.hspc-sort select {min-width:160px;height:42px;border:1px solid #bdcad2;background:#fff;padding:0 12px}
.hspc-quick {display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.hspc-quick button,
.hspc-filter-toggle {min-height:40px;padding:8px 13px;border:1px solid #bdcad2;background:#fff;color:#304c5f;font-weight:700;cursor:pointer}
.hspc-quick button[aria-pressed="true"] {border-color:var(--hspc-blue);background:#eaf7fd;color:#087fb8}
.hspc-filter-toggle {margin-bottom:22px}
.hspc-filters {margin:0 0 28px;padding:22px;border:1px solid var(--hspc-line);background:#fff}
.hspc-filters__head {display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.hspc-filters__head button {border:0;background:none;color:#087fb8;font-weight:700;cursor:pointer}
.hspc-filter-groups {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}
.hspc-filter-groups fieldset {min-width:0;margin:0;padding:0;border:0}
.hspc-filter-groups legend {margin-bottom:10px;color:var(--hspc-navy);font-weight:800}
.hspc-filter-groups label {display:flex;gap:8px;align-items:flex-start;margin:9px 0;color:#415766;font-size:14px;line-height:1.35}
.hspc-product-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.hspc-product {display:flex;min-width:0;flex-direction:column;border:1px solid var(--hspc-line);background:#fff}
.hspc-product[hidden] {display:none}
.hspc-product__media {display:block;aspect-ratio:4/3;overflow:hidden;background:#eef3f5}
.hspc-product__media img {display:block;width:100%;height:100%;object-fit:contain}
.hspc-product__image-missing {display:block;width:100%;height:100%;background:linear-gradient(135deg,#e8eef1,#f7f9fa)}
.hspc-product__body {display:flex;flex:1;flex-direction:column;padding:22px}
.hspc-product__family {margin:0 0 8px;color:#087fb8;font-size:13px;font-weight:800;text-transform:uppercase}
.hspc-product__tags {display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.hspc-product__tags span {padding:4px 7px;background:#eef5f8;color:#3f5969;font-size:12px}
.hspc-product h3 {margin:0 0 8px;font-size:21px;line-height:1.3}
.hspc-product h3 a {color:var(--hspc-navy);text-decoration:none}
.hspc-product__sku {margin:0 0 14px;color:#536573;font-size:14px}
.hspc-product__specs {margin:0 0 15px}
.hspc-product__specs div {display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf1f3;font-size:13px}
.hspc-product__specs dt {color:#63727d}
.hspc-product__specs dd {margin:0;color:#263d4d;font-weight:700;text-align:right}
.hspc-product__application {margin:0 0 16px;color:#506471;font-size:14px;line-height:1.5}
.hspc-product__actions {display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.hspc-product__actions a,
.hspc-product__actions button {min-height:40px;padding:8px;border:1px solid #b9c8d1;background:#fff;color:#183e55;font:inherit;font-size:13px;font-weight:750;text-align:center;text-decoration:none;cursor:pointer}
.hspc-product__actions a {grid-column:1/-1;border-color:var(--hspc-blue);background:var(--hspc-blue);color:#fff}
.hspc-empty {padding:38px;border:1px solid var(--hspc-line);background:#fff;text-align:center}
.hspc-empty p {margin:0 0 18px;font-size:18px}
.hspc-pagination {display:flex;gap:7px;margin-top:30px}
.hspc-pagination .page-numbers {display:inline-flex;min-width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--hspc-line);background:#fff;text-decoration:none}
.hspc-selection {position:sticky;bottom:0;z-index:8;padding:14px 0;background:#102d42;color:#fff;box-shadow:0 -8px 30px rgba(10,35,51,.16)}
.hspc-selection__inner {display:flex;justify-content:space-between;gap:22px;align-items:center}
.hspc-selection ul {display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0;padding:0;list-style:none}
.hspc-selection li {font-size:13px}
.hspc-selection li button {margin-left:5px;border:0;background:none;color:#87d7fa;cursor:pointer}
.hspc-comparison__grid {overflow-x:auto;margin-bottom:20px}
.hspc-comparison table {width:100%;min-width:680px;border-collapse:collapse}
.hspc-comparison th,
.hspc-comparison td {padding:12px;border:1px solid var(--hspc-line);text-align:left;vertical-align:top}
.hspc-comparison th {background:#f3f7f9}
.hspc-step-grid {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--hspc-line);border-left:1px solid var(--hspc-line)}
.hspc-step {padding:23px;border-right:1px solid var(--hspc-line);border-bottom:1px solid var(--hspc-line);background:#fff}
.hspc-step>span {display:block;margin-bottom:14px;color:var(--hspc-blue);font-size:13px;font-weight:900}
.hspc-step h3 {min-height:50px;margin:0 0 12px;color:var(--hspc-navy);font-size:17px}
.hspc-step ul {margin:0;padding-left:18px;color:#4e616f;font-size:14px;line-height:1.55}
.hspc-table-wrap {overflow-x:auto}
.hspc-table {width:100%;border-collapse:collapse}
.hspc-table th,
.hspc-table td {padding:15px 18px;border:1px solid var(--hspc-line);text-align:left}
.hspc-table thead th {background:var(--hspc-navy);color:#fff}
.hspc-table tbody th {width:60%;background:#f7f9fa;color:#324c5d;font-weight:650}
.hspc-table a {color:#087fb8;font-weight:800;text-decoration:none}
.hspc-resource-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hspc-resource-grid article {padding:26px;border:1px solid var(--hspc-line);background:#fff}
.hspc-resource-grid h3 {margin:0 0 18px;color:var(--hspc-navy);font-size:20px}
.hspc-factory__grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.75fr);gap:56px;align-items:center}
.hspc-factory p,
.hspc-factory li {color:#4a5f6d;line-height:1.65}
.hspc-factory__media {margin:0}
.hspc-factory__media img {display:block;width:100%;height:auto}
.hspc-factory__media figcaption {padding:8px 0;color:#6a7882;font-size:12px}
.hspc-classification-note {max-width:92ch;margin-top:18px;line-height:1.55}
.hspc-classification-note p {margin:0}
.hspc-classification-note p + p {margin-top:5px}
.hspc-rfq-form [data-hspc-privacy-link]:focus-visible {outline:3px solid currentColor;outline-offset:3px}
.hspc-faq details {border-top:1px solid var(--hspc-line)}
.hspc-faq details:last-child {border-bottom:1px solid var(--hspc-line)}
.hspc-faq summary {padding:20px 44px 20px 0;color:var(--hspc-navy);font-size:17px;font-weight:800;cursor:pointer}
.hspc-faq details div {padding:0 0 20px}
.hspc-faq p {margin:0;color:#506471;line-height:1.65}
.hspc-technical-review {padding:20px 0;border-block:1px solid var(--hspc-line);background:#f8fafb}
.hspc-technical-review .hspc-container {display:flex;justify-content:space-between;gap:20px}
.hspc-technical-review p {margin:0;color:#536674;font-size:14px}
.hspc-rfq {background:#102d42;color:#fff}
.hspc-rfq .hspc-section-head h2,
.hspc-rfq .hspc-section-head p {color:#fff}
.hspc-rfq .htan-form-wrap--compact {padding:28px;background:#fff;color:var(--hspc-ink)}
.hspc-rfq .hspf-form-grid {display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hspc-rfq .htan-form-field {display:grid;gap:7px}
.hspc-rfq .htan-form-field-wide {grid-column:1/-1}
.hspc-rfq input:not([type=checkbox]),
.hspc-rfq textarea {width:100%;padding:12px;border:1px solid #b9c7d0}
.hspc-rfq textarea {resize:vertical}
.hspc-rfq button[type=submit] {min-height:46px;padding:10px 20px;border:0;background:var(--hspc-blue);color:#fff;font-weight:800}
.hspc-rfq-products {grid-column:1/-1;padding:12px;background:#eef6fa}
.htan-honeypot {position:absolute!important;left:-10000px!important}
.hspc-page :focus-visible {outline:3px solid rgba(21,155,215,.38);outline-offset:2px}
@media(max-width:980px){.hspc-hero__grid {grid-template-columns:1fr 1fr;gap:34px}
.hspc-family-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.hspc-product-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.hspc-filter-groups {grid-template-columns:repeat(2,minmax(0,1fr))}
.hspc-step-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.hspc-factory__grid {gap:32px}
}
@media(max-width:700px){.hspc-container {width:min(100% - 28px,1180px)}
.hspc-hero {padding:38px 0 44px}
.hspc-hero__grid {display:flex;flex-direction:column;gap:30px}
.hspc-hero__copy {order:1}
.hspc-hero__media {order:2;width:100%}
.hspc-hero h1 {font-size:40px}
.hspc-section {padding:52px 0}
.hspc-family-grid,
.hspc-product-grid,
.hspc-step-grid,
.hspc-resource-grid,
.hspc-factory__grid {grid-template-columns:1fr}
.hspc-family {min-height:0}
.hspc-catalogue__head,
.hspc-catalogue__tools,
.hspc-selection__inner,
.hspc-technical-review .hspc-container {align-items:flex-start;flex-direction:column}
.hspc-catalogue__tools {display:flex}
.hspc-quick {flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
.hspc-quick button {flex:0 0 auto}
.hspc-filter-groups {grid-template-columns:1fr}
.hspc-step h3 {min-height:0}
.hspc-table {min-width:590px}
.hspc-rfq .hspf-form-grid {grid-template-columns:1fr}
.hspc-rfq .htan-form-field-wide {grid-column:auto}
.hspc-rfq .htan-form-wrap--compact {padding:20px}
.hspc-actions .hspc-btn {width:100%}
}

/* Progressive, dependency-free carousel. Without JavaScript the track remains a visible grid. */
.hspc-carousel {min-width:0}
.hspc-carousel__track {display:grid;gap:20px}
.hspc-carousel__slide {min-width:0}
.hspc-carousel__controls,
.hspc-carousel__header-controls,
.hspc-carousel__footer {display:none}
.hspc-carousel__header {display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.hspc-carousel--enhanced .hspc-carousel__viewport {overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hspc-carousel--enhanced .hspc-carousel__viewport::-webkit-scrollbar {display:none}
.hspc-carousel--enhanced .hspc-carousel__track {display:flex;width:100%;gap:20px}
.hspc-carousel--enhanced .hspc-carousel__slide {flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always}
.hspc-carousel--enhanced .hspc-carousel__controls {display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px}
.hspc-carousel--enhanced .hspc-carousel__controls > p {display:flex;align-items:center;justify-content:center;gap:14px;margin:0}
.hspc-carousel--enhanced .hspc-carousel__header-controls {display:flex;flex:0 0 auto;align-items:center;gap:10px}
.hspc-carousel--enhanced .hspc-carousel__footer {display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px}
.hspc-carousel__button {display:grid;width:42px;height:42px;padding:0;place-items:center;border:1px solid #cbd5dc;background:#fff;color:#152b3a;cursor:pointer}
.hspc-carousel__button:hover:not(:disabled) {border-color:#d92d32;background:#f7f8f9;color:#d92d32}
.hspc-carousel__button:disabled {opacity:.38;cursor:not-allowed}
.hspc-carousel__dots {display:flex;align-items:center;justify-content:center;gap:8px}
.hspc-carousel__dots button {width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#aab7bf;cursor:pointer}
.hspc-carousel__dots button[aria-current="true"] {background:#d92d32;box-shadow:0 0 0 4px rgba(217,45,50,.14)}
.hspc-carousel__status {min-width:48px;margin:0;color:#526672;font-size:13px;text-align:center}
