/* Unified color roles. Shell styling lives only in shared/shell.css. */
body.product-v1 { --ink: var(--apex-text-primary); --navy: var(--apex-action-primary); --deep: var(--apex-surface-inverse); --warm: var(--apex-surface-subtle); --body: var(--apex-text-body); --muted: var(--apex-text-muted); --line: var(--apex-border-subtle); --pad: clamp(20px,4vw,76px); background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-default); color: var(--ink); }
html:has(body.product-v1) { scroll-padding-top: 0px; }
.product-v1 main { padding-top: 94px; }
.product-v1 :is(section, [id]) { scroll-margin-top: 118px; }
.product-v1 h1, .product-v1 h2, .product-v1 h3 { font-family: inherit; font-weight: 400; letter-spacing: -0.035em; }
.product-v1 h1 { font-size: clamp(44px, 4.8vw, 82px); line-height: 1.15; }
.product-v1 h2 { font-size: clamp(32px, 3.4vw, 58px); line-height: 1.22; }
.product-v1 p { line-height: 1.75; }
.product-v1 .eyebrow { font-size: 11px; letter-spacing: 0.08em; color: var(--apex-text-muted); }
.product-v1 .btn { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 50px; padding: 13px 24px; border-radius: 8px; background: var(--navy); color: var(--apex-text-inverse); font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 14px; border: 1px solid var(--navy); }
.product-v1 .btn-outline { background: transparent; color: var(--navy); }
.product-v1 :is(button, a, summary):focus-visible { outline-color: var(--apex-focus-ring); outline-style: solid; outline-width: 3px; outline-offset: 5px; }
.product-v1 .breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; color: var(--apex-text-muted); font-size: 12px; margin: 0px 0px 30px; line-height: 1.7; }
.product-v1 .breadcrumb strong { font-weight: 400; color: var(--ink); }
.product-v1 .catalog { padding: 42px var(--pad) 0; }
.product-v1 .catalog-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 6vw; align-items: center; margin: 50px 0px; }
.product-v1 .catalog-heading h1 { font-size: clamp(44px, 4.8vw, 82px); margin: 12px 0px 0px; }
.product-v1 .catalog-intro { font-size: clamp(16px, 1.4vw, 21px); max-width: 590px; }
.product-v1 .series-jumps { display: flex; flex-wrap: wrap; gap: 12px; margin: 0px 0px 44px; }
.product-v1 .series-jumps a { display: inline-flex; align-items: center; justify-content: space-between; gap: 30px; min-height: 48px; padding: 12px 20px; border: 0px; border-radius: 8px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); color: var(--navy); }
.product-v1 .pump-directory { gap: 72px; }
.product-v1 .series-row { display: block; padding: 0px; background: none; border-radius: 0px; }
.product-v1 .series-label { display: flex; align-items: baseline; gap: 20px; margin-bottom: 24px; padding: 0px; }
.product-v1 .series-label h2 { font-size: 32px; margin: 0px; }
.product-v1 .series-label .eyebrow { order: 2; }
.product-v1 .series-total { margin: 0px 0px 0px auto; }
.product-v1 .model-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 24px; }
.product-v1 #huicare .model-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.product-v1 .pump-item { padding: 0px; text-align: left; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); border-radius: 14px; overflow: hidden; box-shadow: none; }
.product-v1 .product-image { height: 280px; padding: 38px 24px; background-image: radial-gradient(at 50% 35%, var(--apex-surface-product), var(--apex-surface-product)); background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; margin: 0px; }
.product-v1 .product-image img { width: 100%; height: auto; max-height: 170px; max-width: 285px; object-fit: contain; }
.product-v1 .product-image img[src*="trucare-ii."] { max-width: 262px; }
.product-v1 .pump-item h3 { font-size: 25px; margin: 24px 24px 8px; }
.product-v1 .pump-item .connector { margin: 0px 24px 20px; padding: 0px; border: 0px; font-size: 14px; }
.product-v1 .pump-item .product-link { margin: 0px 24px 22px; min-height: 44px; font-size: 14px; }
.product-v1 .sets-grid { gap: 24px; }
.product-v1 .set-item { background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); border-radius: 14px; overflow: hidden; box-shadow: none; }
.product-v1 .set-item .set-image { height: 300px; padding: 28px; border-radius: 0px; background-image: radial-gradient(at 50% 35%, var(--apex-surface-product), var(--apex-surface-product)); background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; }
.product-v1 .set-image img { mix-blend-mode: normal; }
.product-v1 .set-caption { padding: 26px; }
.product-v1 .set-caption h2 { font: 400 clamp(22px, 2vw, 32px) / 1.35 "Microsoft YaHei", sans-serif; letter-spacing: -0.03em; margin: 10px 0px; }
.product-v1 .set-caption > div { display: block; }
.product-v1 .set-caption .product-link { display: flex; justify-content: space-between; border-top-width: 1px; border-top-style: solid; border-top-color: var(--apex-border-subtle); margin-top: 18px; padding-top: 16px; min-height: 44px; }
.product-v1 .catalog-note { padding-top: 24px; font-size: 14px; }
.product-v1 .compare-section { padding: 88px var(--pad) 0; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-default); }
.product-v1 .compare-section summary { font-size: 26px; padding: 26px 0px; }
.product-v1 .table-scroll { border-radius: 0px; }
.product-v1 th, .product-v1 td { font-size: 15px; padding: 20px; }
.product-v1 .enquiry { margin: 80px var(--pad); background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); padding: 48px; border-radius: 14px; }
.product-v1 .enquiry h2 { font-size: 36px; }
.product-v1 .product-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 0px; padding: 0px; min-height: calc(-94px + 100svh); background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-default); }
.product-v1 .hero-copy { min-height: 0px; padding: 42px 4vw 60px var(--pad); background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-default); color: var(--ink); border-radius: 0px; display: flex; flex-direction: column; justify-content: center; }
.product-v1 .hero-copy .breadcrumb { color: var(--apex-text-muted); margin-bottom: 44px; }
.product-v1 .hero-copy h1 { font-size: clamp(44px, 4.8vw, 82px); line-height: 1.15; margin: 0px 0px 26px; }
.product-v1 .hero-copy h1 small { display: block; font-size: 11px; color: var(--apex-text-muted); letter-spacing: 0.08em; margin-bottom: 20px; }
.product-v1 .hero-copy .lead { color: var(--body); font-size: clamp(16px, 1.35vw, 20px); max-width: 620px; }
.product-v1 .hero-copy .btn-primary { background: var(--navy); color: var(--apex-text-inverse); }
.product-v1 .hero-copy .btn-outline { color: var(--navy); border-color: var(--navy); }
.product-v1 .hero-visual { min-height: calc(-94px + 100svh); border-radius: 0px; background-image: radial-gradient(at 48% 44%, var(--apex-surface-default), var(--apex-surface-product) 75%, var(--apex-surface-product)); background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; margin: 0px; }
.product-v1.soft-detail .hero-visual { background-image: radial-gradient(at 50% 38%, var(--apex-surface-product), var(--apex-surface-product) 75%, var(--apex-surface-product)); background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; }
.product-v1 .hero-grid, .product-v1 .hero-orbit, .product-v1 .hero-code { display: none; }
.product-v1 .hero-carousel { width: 94%; height: 75%; min-height: 360px; }
.product-v1 .hero-slide { padding: 32px 28px 65px; }
.product-v1 .hero-slide img { mix-blend-mode: normal; }
.product-v1 .hero-slide figcaption small { display: none; }
.product-v1 .hero-controls { bottom: 30px; }
.product-v1 .hero-dots button { width: 32px; height: 44px; border: 0px; border-radius: 0px; background: transparent; position: relative; }
.product-v1 .hero-dots button::after { content: ""; position: absolute; left: 4px; right: 4px; top: 20px; height: 3px; border-radius: 3px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); }
.product-v1 .hero-dots button.is-active { background: transparent; }
.product-v1 .hero-dots button.is-active::after { background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-brand-accent); }
.product-v1 .hero-dots button:hover { transform: none; background: transparent; }
.product-v1 .detail-jumps { display: flex; flex-wrap: wrap; gap: 14px; padding: 26px var(--pad); border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: var(--apex-border-subtle); background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-default); }
.product-v1 .detail-jumps a { display: inline-flex; align-items: center; gap: 20px; min-height: 44px; font-size: 14px; color: var(--navy); padding: 8px 16px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); border-radius: 6px; }
.product-v1 :is(.features, .anatomy, .specifications, .system) { min-height: 0px; padding: 88px var(--pad); background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-default); }
.product-v1 .section-head, .product-v1 .system-head { margin-bottom: 40px; }
.product-v1 .feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); grid-template-rows: auto; gap: 20px; }
.product-v1 .feature-card { grid-area: auto; min-height: 235px; padding: 30px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); color: var(--ink); border-radius: 12px; overflow: hidden; }
.product-v1 .feature-card::before { display: none; }
.product-v1 .feature-card > span, .product-v1 .mini-copy > span, .product-v1 .structure-copy > span { color: var(--apex-text-muted); }
.product-v1 .feature-card h3 { font-size: 28px; }
.product-v1 .feature-card p, .product-v1 .metric small { color: var(--body); }
.product-v1 .metric { font-size: 48px; line-height: 1.2; margin-top: 28px; }
.product-v1 .feature-value { font-size: 34px; white-space: normal; }
.product-v1 .mini-card .feature-value { font-size: 28px; line-height: 1.4; min-width: 170px; max-width: 210px; }
.product-v1 .precision-card .metric { position: static; margin-top: 28px; font-size: 48px; line-height: 1.2; letter-spacing: -0.035em; }
.product-v1 .precision-card::after { display: none; }
.product-v1 .interface-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.product-v1 .interface-intro { grid-column: 1 / -1; padding: 0px 0px 10px; }
.product-v1 .interface-option { padding: 8px; border: 0px; }
.product-v1 .interface-option img { max-width: 100%; height: 80px; }
.product-v1 .interface-option b { font-size: 16px; }
.product-v1 .structure-card { display: flex; gap: 20px; align-items: center; }
.product-v1 .structure-card img { max-width: 38%; object-fit: contain; }
.product-v1 .product-map { background-image: radial-gradient(at 50% 35%, var(--apex-surface-subtle), var(--apex-surface-subtle)); background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-radius: 14px; min-height: 380px; }
.product-v1.soft-detail .product-map { background-image: radial-gradient(at 50% 35%, var(--apex-surface-subtle), var(--apex-surface-subtle)); background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; }
.product-v1 .specifications { background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); color: var(--ink); }
.product-v1 .spec-copy p, .product-v1 .spec-source { color: var(--body); }
.product-v1 .spec-grid { gap: 0px; border-top-width: 1px; border-top-style: solid; border-top-color: var(--apex-border-subtle); }
.product-v1 .spec-item { border-width: 0px 0px 1px; border-style: none none solid; border-top-color: currentcolor; border-right-color: currentcolor; border-left-color: currentcolor; border-image: none; border-bottom-color: var(--apex-border-subtle); padding: 24px 18px; }
.product-v1 .spec-item span, .product-v1 .spec-item small { color: var(--body); }
.product-v1 .spec-item strong { font-size: 24px; color: var(--ink); }
.product-v1 .spec-item.source-pending { display: none; }
.product-v1 .system-tool, .product-v1 .path-card { background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); border-radius: 12px; }
.product-v1 .path-card:hover { transform: translateY(-3px); }
.product-v1 .decision { display: grid; grid-template-columns: 1fr; min-height: 0px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-default); }
.product-v1 .related { padding: 60px var(--pad); min-height: 0px; }
.product-v1 .related h2 { font-size: 36px; }
.product-v1 .related-grid { max-width: 850px; }
.product-v1 .related-card { gap: 22px; min-height: 190px; }
.product-v1 .related-card img { height: 125px; }
.product-v1 .related-card strong { font-size: 22px; }
.product-v1 .contact-panel { margin: 20px var(--pad) 80px; padding: 48px; min-height: 0px; border-radius: 14px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); color: var(--ink); }
.product-v1 .contact-panel::before { display: none; }
.product-v1 .contact-panel h2 { font-size: 36px; margin: 12px 0px 18px; }
.product-v1 .contact-panel p { color: var(--body); }
.product-v1 .contact-panel .btn { background: var(--navy); color: var(--apex-text-inverse); }
.product-v1 .contact-panel .eyebrow { color: var(--apex-text-muted); }
.product-v1 .sku-layout { display: block; }
.product-v1 .sku-layout .spec-copy { max-width: 760px; margin-bottom: 30px; }
.sku-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin: 32px 0px; }
.sku-fields fieldset { border-width: 1px 0px 0px; border-style: solid none none; border-right-color: currentcolor; border-bottom-color: currentcolor; border-left-color: currentcolor; border-image: none; border-top-color: var(--apex-border-subtle); margin: 0px; padding: 18px 0px; }
.sku-fields legend { font-size: 13px; color: var(--apex-text-body); padding-top: 14px; }
.sku-fields button { border-width: 1px; border-style: solid; border-top-color: var(--apex-border-control); border-right-color: var(--apex-border-control); border-bottom-color: var(--apex-border-control); border-left-color: var(--apex-border-control); border-image: none; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-default); color: var(--apex-action-primary); border-radius: 6px; padding: 10px 16px; margin: 8px 8px 0px 0px; min-height: 44px; font: inherit; cursor: pointer; }
.sku-fields button[aria-pressed="true"] { background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-inverse); color: var(--apex-text-inverse); border-top-color: var(--apex-border-control); border-right-color: var(--apex-border-control); border-bottom-color: var(--apex-border-control); border-left-color: var(--apex-border-control); }
.sku-result { padding: 32px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-inverse); color: var(--apex-text-inverse); border-radius: 12px; display: flex; flex-direction: column; justify-content: center; }
.sku-result strong { font-size: clamp(42px, 5vw, 72px); line-height: 1.2; font-weight: 400; margin: 16px 0px; }
.sku-result .sku-model { font-size: 24px; }
.sku-result a, .sku-result button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; margin: 20px 8px 0px 0px; border-width: 1px; border-style: solid; border-top-color: var(--apex-inverse-divider); border-right-color: var(--apex-inverse-divider); border-bottom-color: var(--apex-inverse-divider); border-left-color: var(--apex-inverse-divider); border-image: none; border-radius: 6px; color: var(--apex-text-inverse); background: transparent; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 14px; cursor: pointer; }
.sku-result a { background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-default); color: var(--apex-action-primary); }
.sku-feedback { font-size: 12px; min-height: 22px; }
.sku-all summary { cursor: pointer; padding: 18px 0px; font-size: 16px; }
.product-v1 .sku-table { border: 0px; border-radius: 0px; overflow-x: auto; }
.product-v1 .sku-head, .product-v1 .sku-row { min-width: 650px; border-top-color: var(--apex-border-subtle); border-right-color: var(--apex-border-subtle); border-bottom-color: var(--apex-border-subtle); border-left-color: var(--apex-border-subtle); }
.product-v1 .sku-head { background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); color: var(--apex-text-body); font-size: 13px; }
.product-v1 .sku-row :is(b, strong, span), .product-v1 .sku-row .model { color: var(--apex-action-primary); font-size: 14px; }
.product-v1 .hotspot.is-open span { opacity: 1; visibility: visible; transform: none; }
@media (max-width: 1100px) {
.product-v1 main { padding-top: 74px; }
.product-v1 .product-hero { min-height: 650px; }
.product-v1 .hero-visual { min-height: 650px; }
}
@media (max-width: 900px) {
.product-v1 .catalog-heading { grid-template-columns: 1fr; gap: 22px; margin: 28px 0px; }
.product-v1 .catalog-intro { max-width: none; }
.product-v1 .product-hero { grid-template-columns: 1fr; }
.product-v1 .hero-copy { padding: 32px var(--pad) 44px; min-height: 0px; }
.product-v1 .hero-copy h1 { font-size: 48px; }
.product-v1 .hero-copy .breadcrumb { margin-bottom: 30px; }
.product-v1 .hero-visual { height: 430px; min-height: 430px; }
.product-v1 .hero-carousel { height: 90%; min-height: 0px; }
.product-v1 :is(.features, .anatomy, .specifications, .system) { padding: 56px var(--pad); }
.product-v1 .anatomy, .product-v1 .specifications { display: grid; grid-template-columns: 1fr; gap: 28px; }
.product-v1 .product-map { min-height: 330px; }
.product-v1 .sku-picker { grid-template-columns: 1fr; gap: 20px; }
.product-v1 .model-grid, .product-v1 #huicare .model-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.product-v1 .sets-grid { grid-template-columns: 1fr; }
.product-v1 .sets-grid .set-image { height: 320px; }
.product-v1 .set-caption h2 { font-size: 28px; }
.product-v1 .feature-grid { grid-template-columns: 1fr; }
.product-v1 .feature-card { min-height: 210px; }
.product-v1 .related, .product-v1 .contact-panel { padding: 32px var(--pad); }
.product-v1 .enquiry { padding: 28px; margin-block: 52px; grid-template-columns: 1fr; }
.product-v1 .hotspot span { max-width: 190px; }
}
@media (max-width: 600px) {
.product-v1 .model-grid, .product-v1 #huicare .model-grid { grid-template-columns: 1fr; }
.product-v1 .series-label { flex-wrap: wrap; gap: 10px; }
.product-v1 .series-label h2 { font-size: 28px; }
.product-v1 .series-total { margin: 0px 0px 0px auto; width: auto; }
.product-v1 .product-image { height: 240px; }
.product-v1 .spec-grid { grid-template-columns: 1fr 1fr; }
.product-v1 .spec-item { padding: 20px 10px; }
.product-v1 .spec-item strong { font-size: 20px; overflow-wrap: anywhere; }
.product-v1 .related-grid, .product-v1 .system-tool { grid-template-columns: 1fr; }
.product-v1 .structure-card { display: block; }
.product-v1 .mini-card { grid-template-columns: 1fr; gap: 16px; }
.product-v1 .mini-card .feature-value { border-left: 0px; border-top: 1px solid var(--line); padding: 16px 0px 0px; min-height: 0px; max-width: none; }
.product-v1 .structure-card > img { display: none; }
.product-v1 .interface-choice { display: flex; flex-wrap: wrap; }
.product-v1 .interface-option img { max-width: 70px; }
.product-v1 .contact-panel { margin-inline: var(--pad); }
}
@media (prefers-reduced-motion: reduce) {
.product-v1 * { scroll-behavior: auto !important; transition: none !important; }
}
.product-v1 :is(.pump-item, .set-item, .path-card) { display: grid; height: 500px; min-height: 0px; grid-template-rows: 58% 42%; padding: 0px; overflow: hidden; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); transition: grid-template-rows 0.55s cubic-bezier(0.22, 0.61, 0.36, 1); box-shadow: none; transform: none; }
.product-v1 :is(.pump-item .product-image, .set-item .set-image, .path-card .path-visual) { display: flex; align-items: center; justify-content: center; height: auto; min-height: 0px; margin: 0px; padding: 28px; border-radius: 0px; background-image: radial-gradient(at 50% 35%, var(--apex-surface-product) 0%, var(--apex-surface-inverse) 48%, var(--apex-surface-inverse) 100%); background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; }
.product-v1 :is(.product-image, .set-image, .path-visual) img { max-height: 100%; object-fit: contain; mix-blend-mode: normal; transition: transform 0.55s cubic-bezier(0.22, 0.61, 0.36, 1); }
.product-v1 :is(.product-card-copy, .set-caption, .path-copy) { display: flex; flex-direction: column; min-height: 0px; padding: 24px; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: var(--apex-surface-subtle); }
.product-v1 .pump-item h3 { margin: 0px 0px 8px; }
.product-v1 .pump-item .connector { margin: 0px; }
.product-v1 .pump-item .product-link { margin: auto 0px 0px; display: flex; justify-content: space-between; }
.product-v1 .set-caption > div { display: flex; flex: 1 1 0%; flex-direction: column; }
.product-v1 .set-caption .product-link { margin-top: auto; }
.product-v1 :is(.pump-item, .set-item, .path-card):focus-within { grid-template-rows: 40% 60%; box-shadow: none; transform: none; }
.product-v1 :is(.pump-item, .set-item, .path-card):focus-within img { transform: scale(0.82); }
@media (hover: hover) and (min-width: 761px) {
.product-v1 :is(.pump-item, .set-item, .path-card):hover { grid-template-rows: 40% 60%; box-shadow: none; transform: none; }
.product-v1 :is(.pump-item, .set-item, .path-card):hover img { transform: scale(0.82); }
}
.product-v1 .feature-card.key-feature { display: flex; flex-direction: column; align-items: flex-start; min-height: 255px; padding: 30px; gap: 0px; transform: none; box-shadow: none; }
.product-v1 .key-feature .feature-index { color: var(--apex-text-muted); font-size: 10px; letter-spacing: 0.1em; }
.product-v1 .key-feature h3 { font-size: 24px; line-height: 1.4; margin: 12px 0px 24px; }
.product-v1 .key-feature .key-value { color: var(--apex-action-primary); font-size: clamp(28px, 3vw, 46px); font-weight: 400; line-height: 1.25; letter-spacing: -0.025em; }
.product-v1 .key-value small { font-size: 0.55em; letter-spacing: 0px; }
.product-v1 .key-feature p { margin: 18px 0px 0px; color: var(--apex-text-body); font-size: 14px; line-height: 1.65; }
@media (max-width: 760px) {
.product-v1 :is(.pump-item, .set-item, .path-card), .product-v1 :is(.pump-item, .set-item, .path-card):focus-within { height: auto; grid-template-rows: 260px auto; }
.product-v1 :is(.product-card-copy, .set-caption, .path-copy) { min-height: 190px; }
.product-v1 .feature-card.key-feature { min-height: 240px; padding: 24px; }
.product-v1 .key-feature .key-value { font-size: 34px; }
}
.product-v1 .product-map, .product-v1.soft-detail .product-map { min-height: 0px; padding: clamp(40px, 4vw, 76px) clamp(16px, 2vw, 36px); background-image: linear-gradient(135deg, var(--apex-surface-subtle) 0%, var(--apex-surface-subtle) 100%); background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; }
.product-v1 .anatomy-stage { position: relative; width: 100%; display: flex; align-items: center; justify-content: center; }
.product-v1 .anatomy-stage > img { width: 86%; height: auto; max-width: 100%; object-fit: contain; filter: drop-shadow(rgba(30, 42, 50, 0.12) 0px 14px 18px); }
.product-v1 :is(.pump-item .product-image, .set-item .set-image, .path-card .path-visual) { background-image: linear-gradient(135deg, var(--apex-surface-product) 0%, var(--apex-surface-product) 100%); background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; }
@media (max-width: 760px) {
.product-v1 .product-map { padding: 44px 12px; }
}
.product-v1 .card-context { margin: 16px 0px; color: var(--apex-text-body); font-size: 14px; line-height: 1.7; }
.product-v1 .selection-note { margin: 0px 0px 18px; color: var(--apex-text-muted); font-size: 13px; line-height: 1.6; }
.product-v1 .selection-summary { font-size: 15px; line-height: 1.7; margin: 18px 0px 24px; }
.product-v1 .set-caption > div { align-items: stretch; text-align: left; }
.product-v1 .set-caption .product-link { width: 100%; flex-shrink: 0; }
@media (hover: hover) and (min-width: 761px) {
.product-v1 .card-context { opacity: 0; max-height: 0px; overflow: hidden; margin: 0px; transform: translateY(8px); transition: opacity 0.3s, transform 0.4s, max-height 0.4s, margin 0.4s; pointer-events: none; }
.product-v1 :is(.pump-item, .set-item):is(:hover, :focus-within) .card-context { opacity: 1; max-height: 90px; margin: 16px 0px; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
.product-v1 .card-context { transition: none; transform: none; }
}