:root {
  --ink: #0b1723;
  --slate: #142638;
  --slate-2: #1e3448;
  --paper: #f3f7f8;
  --white: #ffffff;
  --muted: #687986;
  --line: #cfdae0;
  --cyan: #19bed3;
  --cyan-soft: #d8f6f8;
  --amber: #f2a23a;
  --amber-soft: #fff0d8;
  --red: #c95252;
  --shadow: 0 20px 70px rgba(10, 29, 43, .10);
  --display: "Arial Narrow", "DIN Condensed", "PingFang SC", sans-serif;
  --body: "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;
  --mono: "SFMono-Regular", Consolas, monospace;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--body); line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(25, 190, 211, .5); outline-offset: 3px; }

.shell { width: min(1440px, calc(100% - 56px)); margin-inline: auto; }
.topbar { min-height: 78px; padding: 14px max(28px, calc((100vw - 1440px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 24px; color: var(--white); background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.1); }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark { width: 42px; aspect-ratio: 1; display: grid; place-items: center; background: var(--cyan); color: var(--ink); font: 900 25px/1 var(--display); clip-path: polygon(0 0, 100% 0, 100% 72%, 72% 100%, 0 100%); }
.brand strong, .brand small { display: block; }
.brand strong { font: 800 16px/1.1 var(--display); letter-spacing: .08em; }
.brand small { margin-top: 5px; color: #8fa8b8; font: 600 9px/1 var(--mono); letter-spacing: .13em; }
.site-tabs { display: flex; align-items: center; justify-content: center; gap: 6px; margin-inline: auto; }
.site-tabs a { padding: 9px 13px; border: 1px solid rgba(255,255,255,.16); color: #b8cbd5; font: 700 11px/1 var(--mono); white-space: nowrap; }
.site-tabs a:hover, .site-tabs a.active { border-color: var(--cyan); background: rgba(35,211,230,.12); color: var(--white); }
.draft-tag { padding: 7px 11px; border: 1px solid #385268; color: #a9bdca; font-size: 12px; letter-spacing: .06em; }
.back-link { color: #b9cbd5; font-size: 14px; }
.back-link:hover { color: var(--cyan); }

.hero { position: relative; min-height: 500px; display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: center; gap: 80px; padding-block: 78px; }
.hero::before { content: ""; position: absolute; inset: 0 calc(50% - 50vw); z-index: -1; background-color: var(--ink); background-image: linear-gradient(rgba(61,91,112,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(61,91,112,.16) 1px, transparent 1px); background-size: 48px 48px; }
.hero::after { content: ""; position: absolute; width: 42vw; height: 42vw; left: 19%; top: 3%; z-index: -1; background: radial-gradient(circle, rgba(25,190,211,.12), transparent 65%); }
.eyebrow { margin: 0 0 16px; color: var(--cyan); font: 700 11px/1.2 var(--mono); letter-spacing: .16em; }
.hero h1 { max-width: 850px; margin: 0; color: var(--white); font: 800 clamp(48px, 6.5vw, 94px)/.98 var(--display); letter-spacing: -.045em; }
.hero h1 span { color: #91a9b8; }
.hero-note { max-width: 680px; margin: 32px 0 0; color: #a9becb; font-size: 16px; }
.register-plate { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); color: var(--white); background: rgba(20,38,56,.9); border: 1px solid #385168; box-shadow: 18px 18px 0 rgba(25,190,211,.10); }
.register-plate::before { content: "MASTER REGISTER"; position: absolute; left: -34px; top: 50%; transform: translate(-50%, -50%) rotate(-90deg); color: #5d7a8d; font: 700 9px/1 var(--mono); letter-spacing: .18em; }
.register-plate > div { padding: 22px 12px; text-align: center; border-right: 1px solid #385168; }
.register-plate > div:nth-child(3) { border-right: 0; }
.register-plate strong, .register-plate span { display: block; }
.register-plate strong { color: var(--cyan); font: 800 32px/1 var(--display); }
.register-plate span { margin-top: 7px; color: #9db2bf; font-size: 11px; }
.register-plate p { grid-column: 1 / -1; margin: 0; padding: 22px; color: #9fb4c1; border-top: 1px solid #385168; font: 12px/1.8 var(--mono); }
.register-plate b { color: var(--white); }

.catalog { padding-block: 72px 90px; }
.catalog-heading, .section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.catalog-heading h2, .section-heading h2 { margin: 0; font: 800 clamp(36px, 5vw, 62px)/1 var(--display); letter-spacing: -.035em; }
.result-count { color: var(--muted); font: 12px/1 var(--mono); }
.controls { display: grid; grid-template-columns: minmax(260px, 1fr) 210px 220px 200px; gap: 12px; margin-bottom: 34px; padding: 12px; background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); }
.controls label { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 14px; min-height: 52px; padding: 0 14px; background: #edf3f5; }
.controls span { color: var(--muted); font: 700 10px/1 var(--mono); letter-spacing: .1em; }
.controls input, .controls select { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.collection-heading { grid-column: 1 / -1; display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 30px 0 0; padding: 22px 0 14px; border-bottom: 1px solid var(--ink); }
.collection-heading:first-child { margin-top: 0; }
.collection-heading div { display: flex; align-items: baseline; gap: 14px; }
.collection-heading span { color: var(--cyan); font: 700 12px/1 var(--mono); }
.collection-heading h3 { margin: 0; font: 800 28px/1.1 var(--display); }
.collection-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.product-card { position: relative; min-width: 0; display: grid; grid-template-rows: 270px 1fr; background: var(--white); border: 1px solid var(--line); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; overflow: hidden; }
.product-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; z-index: 2; background: var(--cyan); transform: scaleY(0); transform-origin: bottom; transition: transform .24s ease; }
.product-card:hover { transform: translateY(-5px); border-color: #9eb4c0; box-shadow: var(--shadow); }
.product-card:hover::before { transform: scaleY(1); }
.card-image { display: grid; place-items: center; padding: 20px; background: #e8eef1; overflow: hidden; }
.card-image img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }
.product-card:hover .card-image img { transform: scale(1.035); }
.card-content { display: flex; flex-direction: column; min-height: 270px; padding: 24px; }
.card-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 11px; }
.has-data, .needs-data { display: inline-flex; align-items: center; gap: 5px; }
.has-data::before, .needs-data::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); }
.needs-data::before { background: var(--amber); }
.card-id { margin: 26px 0 5px; color: #607789; font: 700 12px/1 var(--mono); letter-spacing: .05em; }
.card-content h3 { margin: 0; font: 800 25px/1.2 var(--display); }
.card-content > p:not(.card-id) { margin: 9px 0 26px; color: var(--muted); font-size: 13px; }
.card-bottom { display: flex; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.card-bottom b { color: var(--ink); }
.empty-state { padding: 70px 20px; text-align: center; color: var(--muted); background: var(--white); border: 1px solid var(--line); }
.footer { display: flex; justify-content: space-between; gap: 30px; padding-block: 30px; color: var(--muted); border-top: 1px solid var(--line); font-size: 12px; }

.detail-shell { width: min(1440px, calc(100% - 56px)); margin-inline: auto; padding-bottom: 70px; }
.breadcrumb { display: flex; gap: 10px; padding-block: 24px; color: var(--muted); font-size: 12px; }
.breadcrumb a:hover { color: var(--cyan); }
.product-hero { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(380px, .88fr); min-height: 640px; background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); }
.gallery-panel { display: grid; grid-template-rows: minmax(0, 1fr) auto; min-width: 0; padding: 28px; background: #e8eef1; border-right: 1px solid var(--line); }
.hero-image-button { position: relative; min-height: 460px; padding: 0; border: 0; background: transparent; cursor: zoom-in; overflow: hidden; }
.hero-image-button > img { width: 100%; height: 100%; max-height: 530px; object-fit: contain; }
.hero-image-button > span { position: absolute; right: 12px; bottom: 12px; padding: 7px 10px; color: var(--white); background: rgba(11,23,35,.78); font-size: 11px; }
.thumbs { display: flex; gap: 10px; padding-top: 18px; overflow-x: auto; }
.thumb { width: 72px; height: 72px; flex: 0 0 auto; padding: 5px; border: 1px solid #bdcbd2; background: var(--white); cursor: pointer; }
.thumb.active { border-color: var(--cyan); box-shadow: 0 0 0 2px rgba(25,190,211,.18); }
.thumb img { width: 100%; height: 100%; object-fit: contain; }
.identity-panel { padding: clamp(34px, 5vw, 70px); }
.identity-topline { display: flex; justify-content: space-between; gap: 20px; color: var(--muted); font-size: 12px; }
.status-pill { padding: 7px 10px; background: var(--cyan-soft); color: #087a8b; }
.status-pill.needs-data { background: var(--amber-soft); color: #8c5713; }
.model-number { margin: 70px 0 12px; color: var(--cyan); font: 800 17px/1 var(--mono); letter-spacing: .06em; }
.identity-panel h1 { margin: 0; font: 800 clamp(42px, 5vw, 72px)/1.02 var(--display); letter-spacing: -.045em; }
.working-name { margin: 16px 0 38px; color: var(--muted); font-size: 14px; }
.evidence-note { padding: 22px; background: #edf3f5; border-left: 3px solid var(--cyan); }
.evidence-note span { color: var(--muted); font: 700 10px/1 var(--mono); letter-spacing: .1em; }
.evidence-note p { margin: 8px 0 0; }
.quick-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 32px 0 0; border-top: 1px solid var(--line); }
.quick-facts div { padding: 18px 12px 0 0; }
.quick-facts dt { color: var(--muted); font-size: 10px; }
.quick-facts dd { margin: 5px 0 0; font-size: 12px; font-weight: 700; }
.detail-section { padding-top: 80px; }
.section-heading { align-items: end; }
.section-heading > p { max-width: 360px; margin: 0; color: var(--muted); font-size: 13px; text-align: right; }
.table-wrap { overflow-x: auto; background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); }
table { width: 100%; border-collapse: collapse; min-width: 850px; }
th, td { padding: 16px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); font-size: 12px; white-space: nowrap; }
thead th { position: sticky; top: 0; color: #d9e7ee; background: var(--slate); font-size: 10px; letter-spacing: .04em; }
tbody th { color: #0a889a; font-family: var(--mono); }
tbody tr:hover { background: #f0fafb; }
tbody tr:last-child th, tbody tr:last-child td { border-bottom: 0; }
.missing-panel { padding: 44px; background: var(--amber-soft); border: 1px solid #ebc386; }
.missing-panel strong { font: 800 24px/1.2 var(--display); }
.missing-panel p { max-width: 780px; margin: 10px 0 0; color: #735224; }
.recommended-variants { margin-top: 22px; padding: 26px 28px 28px; background: #fffaf1; border: 1px solid #ebc386; border-top: 4px solid var(--amber); box-shadow: 0 12px 40px rgba(10,29,43,.06); }
.recommended-variants .subsection-heading { margin-bottom: 18px; }
.recommended-variants .subsection-heading > div { min-width: 0; }
.recommended-variants .subsection-heading h3 { margin-top: 8px; }
.recommended-variants .priority-list article { background: var(--white); border-left-color: var(--amber); }
.recommended-variants .priority-list article > span { background: #8c5713; }
.research-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-bottom: 26px; background: var(--line); border: 1px solid var(--line); box-shadow: var(--shadow); }
.research-summary article { min-height: 138px; padding: 22px; background: var(--white); }
.research-summary span, .root-grid span { display: block; color: var(--muted); font: 700 10px/1.2 var(--mono); letter-spacing: .08em; }
.research-summary strong { display: block; margin-top: 20px; font: 800 21px/1.2 var(--display); }
.evidence-policy { position: relative; display: grid; grid-template-columns: 180px 1fr auto; align-items: center; gap: 22px; margin-bottom: 26px; padding: 22px 24px; color: #dceaf0; background: var(--slate); border-left: 5px solid var(--cyan); }
.evidence-policy strong { color: var(--cyan); font: 800 18px/1.1 var(--display); }
.evidence-policy p { margin: 0; color: #bbced8; font-size: 12px; }
.evidence-policy > span { padding: 7px 9px; color: #ffd7a2; background: rgba(242,162,58,.16); border: 1px solid rgba(242,162,58,.38); font: 700 9px/1 var(--mono); letter-spacing: .06em; }
.research-block { margin-top: 20px; padding: 30px; background: var(--white); border: 1px solid var(--line); box-shadow: 0 12px 40px rgba(10,29,43,.06); }
.research-block-emphasis { border-top: 4px solid var(--cyan); }
.compact-heading { margin-top: 28px; }
#expanded-run small { display: block; margin-top: 8px; color: var(--muted); line-height: 1.7; }
.subsection-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.subsection-heading h3 { margin: 0; font: 800 28px/1.1 var(--display); }
.subsection-heading p { max-width: 480px; margin: 0; color: var(--muted); font-size: 12px; text-align: right; }
.decision-note { margin-bottom: 20px; padding: 18px 20px; color: #0b5260; background: var(--cyan-soft); border-left: 3px solid var(--cyan); font-size: 13px; }
.keyword-table { box-shadow: none; }
.root-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.root-grid article { padding: 17px 18px; background: #edf3f5; border: 1px solid #d8e1e6; }
.root-grid strong { display: block; margin-top: 9px; font-size: 13px; }
.signal-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 18px; background: #294154; border: 1px solid #294154; }
.signal-title { grid-column: 1 / -1; padding: 10px 14px; color: #a7bdca; background: var(--slate); font: 700 10px/1 var(--mono); letter-spacing: .1em; }
.signal-strip article { padding: 16px; background: var(--slate-2); color: var(--white); }
.signal-strip article strong, .signal-strip article span { display: block; }
.signal-strip article strong { font-size: 12px; }
.signal-strip article span { margin-top: 8px; color: #9cb3c1; font: 10px/1 var(--mono); }
.external-link { color: #087f90; }
.external-link small { display: block; max-width: 360px; margin-top: 5px; color: var(--muted); font: 400 11px/1.4 var(--body); white-space: normal; }
.tier-badge { display: inline-block; padding: 5px 8px; color: #0a6875; background: var(--cyan-soft); font-size: 10px; }
.eligibility-badge { display: inline-block; padding: 5px 8px; color: #17663a; background: #def3e6; font-size: 10px; font-weight: 700; }
.metric-sub { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }
.spec-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.spec-card-grid article { padding: 22px; background: #edf3f5; border: 1px solid #d3dfe4; }
.spec-card-grid article:first-child { grid-column: 1 / -1; background: var(--slate); color: var(--white); }
.spec-card-grid article > div { display: flex; align-items: center; gap: 12px; }
.spec-card-grid article > div span { color: var(--cyan); font: 800 11px/1 var(--mono); }
.spec-card-grid article > div strong { font: 800 18px/1 var(--display); }
.spec-card-grid article > div b { margin-left: auto; color: var(--muted); font: 700 10px/1 var(--mono); }
.spec-card-grid article:first-child > div b { color: #a8bdca; }
.spec-card-grid article p { margin: 18px 0 0; color: var(--muted); font-size: 12px; }
.spec-card-grid article:first-child p { color: #bed0da; }
.coverage-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.coverage-grid article { min-height: 152px; padding: 19px; background: #edf3f5; border-top: 3px solid var(--cyan); }
.coverage-grid article > span { display: block; color: #087f90; font: 900 27px/1 var(--display); }
.coverage-grid strong { display: block; margin-top: 18px; font-size: 13px; }
.coverage-grid p { margin: 7px 0 0; color: var(--muted); font-size: 11px; }
.retail-observation-block { background: #fffaf1; border-color: #ebc386; }
.retail-observations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.retail-observations article { padding: 20px; background: var(--white); border: 1px dashed #daa85e; }
.retail-observations strong { font: 800 18px/1 var(--display); }
.retail-observations p { margin: 10px 0; color: #735224; font-size: 12px; }
.retail-observations span { color: #9a6824; font: 700 9px/1 var(--mono); letter-spacing: .06em; }
.matrix-wrap { box-shadow: none; }
.matrix-wrap table { min-width: 1100px; }
.matrix-wrap th, .matrix-wrap td { white-space: normal; line-height: 1.55; }
.matrix-wrap tbody th { width: 120px; color: var(--ink); font-family: var(--body); }
.matrix-wrap tbody td:nth-child(3) { background: #edfafb; font-weight: 700; }
.matrix-wrap tbody td:nth-child(4) { background: #fff8eb; }
.priority-list { display: grid; gap: 9px; }
.priority-list article { display: grid; grid-template-columns: 55px 1fr; gap: 16px; align-items: center; padding: 16px 18px; background: #edf3f5; border-left: 3px solid var(--cyan); }
.priority-list article > span { display: grid; width: 40px; height: 40px; place-items: center; color: var(--white); background: var(--slate); font: 800 11px/1 var(--mono); }
.priority-list strong { font-size: 14px; }
.priority-list p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.research-disclaimer { margin: 18px 0 0; padding: 18px 20px; color: #735224; background: var(--amber-soft); border: 1px solid #ebc386; font-size: 12px; }
.title-candidate-list { display: grid; gap: 9px; margin-top: 14px; }
.title-candidate-list article { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px; align-items: center; padding: 15px 17px; background: var(--white); border: 1px solid var(--line); }
.title-candidate-list span, .oem-roadmap span { color: var(--cyan); font: 800 11px/1 var(--mono); }
.title-candidate-list strong { font-size: 13px; line-height: 1.45; }
.evidence-checklist, .installation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.evidence-checklist article, .installation-grid article { padding: 16px 18px; background: var(--white); border: 1px solid var(--line); }
.evidence-checklist span, .installation-grid span { display: inline-grid; min-width: 28px; height: 28px; place-items: center; padding-inline: 8px; color: var(--white); background: var(--slate); font: 800 10px/1 var(--mono); }
.evidence-checklist p, .installation-grid p, .oem-roadmap p { margin: 9px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.oem-roadmap { display: grid; gap: 8px; }
.oem-roadmap article { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; align-items: start; padding: 12px 14px; background: #edf3f5; }
.oem-roadmap p { margin: 0; color: var(--ink); }
.source-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.source-list a { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 14px; min-height: 76px; padding: 14px 18px; background: var(--white); border: 1px solid var(--line); }
.source-list a:hover { border-color: var(--cyan); }
.source-list > a > span { color: var(--cyan); font: 800 12px/1 var(--mono); }
.source-list strong, .source-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.source-list strong { font-size: 13px; }
.source-list small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.source-list b { color: var(--muted); font-size: 11px; }
.product-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 80px; }
.product-switcher a { padding: 24px; background: var(--slate); color: var(--white); }
.product-switcher a:last-child { text-align: right; }
.product-switcher small, .product-switcher strong { display: block; }
.product-switcher small { margin-bottom: 8px; color: #8fa9b9; }
.product-switcher strong { font-size: 14px; }
.product-switcher a:hover strong { color: var(--cyan); }
.lightbox { width: min(94vw, 1200px); height: min(92vh, 900px); padding: 38px; border: 0; background: var(--white); box-shadow: 0 30px 100px rgba(0,0,0,.45); }
.lightbox::backdrop { background: rgba(3,11,18,.85); }
.lightbox img { width: 100%; height: 100%; object-fit: contain; }
.lightbox button { position: absolute; top: 8px; right: 12px; width: 34px; height: 34px; border: 0; background: var(--ink); color: var(--white); cursor: pointer; font-size: 22px; }
.not-found { min-height: 70vh; display: grid; place-items: center; align-content: center; gap: 20px; text-align: center; }
.not-found h1 { margin: 0; font: 800 50px/1 var(--display); }
.not-found a { color: #087f90; }

/* 0008以后按最新要求只展示2–3个SEO Product Title，不展示旧调研模块。 */
#research-section.title-only-research > #evidence-policy,
#research-section.title-only-research > .research-block:not(#page-content-plan),
#research-section.title-only-research > .research-disclaimer {
  display: none;
}
#research-section.title-only-research #page-content-plan > :nth-child(n + 4) {
  display: none;
}

@media (max-width: 1100px) {
  .hero { grid-template-columns: 1fr; gap: 48px; }
  .register-plate { width: min(560px, 100%); }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-hero { grid-template-columns: 1fr; }
  .gallery-panel { border-right: 0; border-bottom: 1px solid var(--line); }
  .model-number { margin-top: 45px; }
}

@media (max-width: 760px) {
  .shell, .detail-shell { width: min(100% - 28px, 1440px); }
  .topbar { padding-inline: 14px; }
  .draft-tag { display: none; }
  .topbar { align-items: flex-start; flex-wrap: wrap; }
  .site-tabs { order: 3; width: 100%; justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; }
  .brand small { display: none; }
  .hero { min-height: auto; padding-block: 60px; }
  .hero h1 { font-size: 49px; }
  .controls { grid-template-columns: 1fr; }
  .product-grid { grid-template-columns: 1fr; }
  .product-card { grid-template-rows: 240px 1fr; }
  .catalog-heading, .section-heading { align-items: start; flex-direction: column; }
  .section-heading > p { text-align: left; }
  .footer { flex-direction: column; }
  .product-hero { min-height: 0; }
  .gallery-panel, .identity-panel { padding: 20px; }
  .hero-image-button { min-height: 330px; }
  .identity-panel h1 { font-size: 44px; }
  .quick-facts { grid-template-columns: 1fr; }
  .quick-facts div { padding-bottom: 10px; }
  .source-list, .product-switcher { grid-template-columns: 1fr; }
  .research-summary, .root-grid, .signal-strip, .spec-card-grid, .coverage-grid, .retail-observations, .evidence-checklist, .installation-grid { grid-template-columns: 1fr; }
  .evidence-policy { grid-template-columns: 1fr; }
  .spec-card-grid article:first-child { grid-column: auto; }
  .research-block { padding: 20px; }
  .recommended-variants { padding: 20px; }
  .subsection-heading { align-items: start; flex-direction: column; }
  .subsection-heading p { text-align: left; }
  .product-switcher a:last-child { text-align: left; }
  .detail-section { padding-top: 58px; }
  .lightbox { padding: 30px 10px 10px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
