.ladder-page-v2 { overflow-x: clip; }
.ladder-page-v2 main { background: var(--bg); }
.ladder-page-v2 h1 { font-size: clamp(48px, 5vw, 64px); }
.ladder-page-v2 h2 { font-size: clamp(36px, 3.6vw, 48px); }
.ladder-page-v2 h3 { font-size: clamp(19px, 1.6vw, 23px); }
.ladder-page-v2 select,
.ladder-page-v2 input,
.ladder-page-v2 textarea { min-height: 48px; }
.ladder-page-v2 button,
.ladder-page-v2 a { -webkit-tap-highlight-color: transparent; }

.ladder-hero { position: relative; min-height: 800px; display: grid; align-items: center; padding: 130px 0 72px; overflow: hidden; background: var(--bg); }
.ladder-hero::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, color-mix(in oklch, var(--bg) 98%, transparent), color-mix(in oklch, var(--bg) 62%, transparent) 52%, transparent 82%); }
.ladder-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 11fr) minmax(0, 9fr); gap: clamp(42px, 5vw, 78px); align-items: center; }
.ladder-hero-copy { position: relative; z-index: 2; max-width: 760px; }
.ladder-hero-copy .lead { margin-top: 24px; }
.ladder-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 32px; color: var(--muted-text); font-size: 12px; letter-spacing: .025em; }
.ladder-breadcrumb a { transition: color .25s ease; }
.ladder-breadcrumb a:hover { color: var(--primary-text); }
.ladder-trust-labels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; margin-top: 30px; color: var(--secondary-text); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.ladder-trust-labels li { position: relative; padding-left: 18px; }
.ladder-trust-labels li::before { content: ''; position: absolute; top: .72em; left: 0; width: 8px; height: 1px; background: var(--brand-red); }
.ladder-hero-photo { min-height: 600px; background: linear-gradient(145deg, var(--elevated), var(--bg-secondary)); box-shadow: 24px 24px 0 color-mix(in oklch, var(--brand-red) 9%, transparent); }

.ladder-section-intro { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr); gap: clamp(36px, 6vw, 84px); align-items: end; margin-bottom: clamp(46px, 5vw, 72px); }
.ladder-section-intro > p { color: var(--secondary-text); max-width: 58ch; }

.ladder-manufacturer { background: var(--bg-secondary); }
.ladder-manufacturer-grid { display: grid; grid-template-columns: 42fr 58fr; gap: clamp(40px, 6vw, 92px); align-items: center; }
.ladder-manufacturer-photo { min-height: 600px; }
.ladder-manufacturer-copy { max-width: 720px; }
.ladder-manufacturer-copy .lead { margin-top: 24px; }
.ladder-manufacturer-copy > p:not(.eyebrow):not(.lead) { margin-top: 20px; color: var(--secondary-text); }
.ladder-capability-lines { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 38px; border-top: 1px solid var(--border); }
.ladder-capability-lines span { min-height: 64px; display: flex; align-items: center; padding: 14px 18px 14px 0; border-bottom: 1px solid var(--border); color: var(--primary-text); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.ladder-capability-lines span:nth-child(odd) { border-right: 1px solid var(--border); }
.ladder-capability-lines span:nth-child(even) { padding-left: 22px; }

.ladder-finder { background: var(--primary-text); color: var(--bg); }
.ladder-finder .eyebrow { color: var(--brand-red-deep); }
.ladder-finder .ladder-section-intro > p { color: color-mix(in oklch, var(--bg) 62%, var(--primary-text)); }
.ladder-search-row { display: grid; grid-template-columns: auto minmax(320px, 1fr) auto; align-items: center; gap: 16px; padding: 18px; margin-bottom: 26px; border: 1px solid color-mix(in oklch, var(--bg) 16%, transparent); background: color-mix(in oklch, var(--primary-text) 90%, var(--bg)); }
.ladder-search-row > label { color: var(--bg); font-size: 13px; font-weight: 600; }
.ladder-search-control { position: relative; }
.ladder-search-control svg { position: absolute; top: 50%; left: 16px; width: 20px; height: 20px; transform: translateY(-50%); fill: none; stroke: color-mix(in oklch, var(--bg) 64%, transparent); stroke-width: 1.8; pointer-events: none; }
.ladder-search-control input { width: 100%; padding: 13px 16px 13px 48px; border: 1px solid color-mix(in oklch, var(--bg) 22%, transparent); border-radius: var(--radius-control); background: var(--primary-text); color: var(--bg); }
.ladder-search-control input::placeholder { color: color-mix(in oklch, var(--bg) 54%, transparent); }
.ladder-search-control input:focus { outline: 2px solid color-mix(in oklch, var(--brand-red) 28%, transparent); border-color: var(--brand-red-deep); }
.ladder-filter-toggle { display: none; min-height: 48px; align-items: center; justify-content: space-between; gap: 24px; padding: 0 16px; border: 1px solid color-mix(in oklch, var(--bg) 26%, transparent); border-radius: var(--radius-control); background: transparent; color: var(--bg); font-weight: 600; }
.ladder-collection-layout { display: grid; grid-template-columns: minmax(230px, 28fr) minmax(0, 72fr); gap: 32px; align-items: start; }
.ladder-filter-panel { position: sticky; top: 102px; padding: 26px; border: 1px solid color-mix(in oklch, var(--bg) 16%, transparent); background: color-mix(in oklch, var(--primary-text) 94%, var(--bg)); }
.ladder-filter-header { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid color-mix(in oklch, var(--bg) 16%, transparent); }
.ladder-filter-header > p { font-family: var(--font-heading); font-size: 18px; font-weight: 700; }
.ladder-clear { min-height: 44px; border: 0; background: transparent; color: var(--brand-red-deep); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.ladder-clear:hover { text-decoration: underline; text-underline-offset: 5px; }
.ladder-filter-fields { display: grid; gap: 18px; padding-block: 24px; }
.ladder-filter-fields label { color: color-mix(in oklch, var(--bg) 70%, var(--primary-text)); font-size: 12px; font-weight: 600; }
.ladder-select { width: 100%; padding: 11px 38px 11px 13px; border: 1px solid color-mix(in oklch, var(--bg) 20%, transparent); border-radius: var(--radius-control); background: var(--primary-text); color: var(--bg); }
.ladder-select:focus { outline: 2px solid color-mix(in oklch, var(--brand-red) 26%, transparent); border-color: var(--brand-red-deep); }
.ladder-select:disabled { color: color-mix(in oklch, var(--bg) 44%, var(--primary-text)); cursor: not-allowed; }
.ladder-filter-panel .ladder-apply { width: 100%; color: var(--bg); border-color: color-mix(in oklch, var(--bg) 32%, transparent); }
.ladder-filter-panel .ladder-apply:hover { border-color: var(--bg); }
.ladder-filter-note { margin-top: 18px; color: color-mix(in oklch, var(--bg) 62%, var(--primary-text)); font-size: 12px; line-height: 1.55; }
.ladder-results { min-width: 0; }
.ladder-results-top { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 0 18px; border-bottom: 1px solid color-mix(in oklch, var(--bg) 17%, transparent); }
.ladder-results-top .meta { color: color-mix(in oklch, var(--bg) 54%, var(--primary-text)); }
.ladder-selected-vehicle { margin-top: 5px; font-family: var(--font-heading); font-size: clamp(21px, 2vw, 28px); font-weight: 700; }
.ladder-result-count { flex: 0 0 auto; padding: 7px 10px; border-left: 2px solid var(--brand-red-deep); color: var(--bg); font-size: 13px; font-weight: 700; }
.ladder-active-filters { min-height: 38px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 14px 0 8px; }
.ladder-filter-chip { min-height: 34px; display: inline-flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid color-mix(in oklch, var(--brand-red-deep) 40%, transparent); border-radius: 999px; background: color-mix(in oklch, var(--brand-red) 8%, transparent); color: var(--bg); font-size: 12px; }
.ladder-filter-chip button { width: 28px; height: 28px; border: 0; background: transparent; color: var(--brand-red-deep); font-size: 16px; }
.ladder-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 16px; }
.ladder-product-card { min-width: 0; border: 1px solid color-mix(in oklch, var(--bg) 17%, transparent); background: var(--primary-text); transition: transform .3s ease, border-color .3s ease; }
.ladder-product-card:hover { transform: translateY(-3px); border-color: color-mix(in oklch, var(--brand-red-deep) 56%, transparent); }
.ladder-product-card[hidden] { display: none; }
.ladder-product-card .photo-placeholder { min-height: 0; aspect-ratio: 4 / 3; border: 0; border-bottom: 1px solid color-mix(in oklch, var(--bg) 17%, transparent); border-radius: 0; background: linear-gradient(145deg, color-mix(in oklch, var(--bg) 14%, var(--primary-text)), color-mix(in oklch, var(--bg) 28%, var(--primary-text))); transition: transform .35s ease; }
.ladder-product-card .photo-placeholder img { object-fit: contain; background: #fff; }
.ladder-product-card:hover .photo-placeholder { transform: scale(1.012); }
.ladder-product-card .photo-placeholder::before { color: color-mix(in oklch, var(--bg) 54%, transparent); }
.ladder-product-card .photo-placeholder figcaption { color: color-mix(in oklch, var(--bg) 62%, var(--primary-text)); }
.ladder-product-info { padding: 20px; }
.ladder-product-info h3 { min-height: 52px; color: var(--bg); font-size: 18px; }
.ladder-fitment { margin-top: 8px; color: var(--brand-red-deep); font-size: 13px; font-weight: 700; }
.ladder-product-info dl { margin: 18px 0 0; }
.ladder-product-info dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-top: 1px solid color-mix(in oklch, var(--bg) 12%, transparent); font-size: 11px; line-height: 1.4; }
.ladder-product-info dt { color: color-mix(in oklch, var(--bg) 54%, var(--primary-text)); }
.ladder-product-info dd { margin: 0; color: var(--bg); text-align: right; }
.ladder-card-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; padding-top: 14px; border-top: 1px solid color-mix(in oklch, var(--bg) 16%, transparent); }
.ladder-card-actions a { min-height: 44px; display: inline-flex; align-items: center; color: var(--bg); font-size: 12px; font-weight: 700; }
.ladder-card-actions a:hover { color: var(--brand-red-deep); }
.ladder-empty-state { padding: clamp(42px, 7vw, 80px); border: 1px dashed color-mix(in oklch, var(--bg) 26%, transparent); text-align: center; }
.ladder-empty-state > p { max-width: 58ch; margin: 12px auto 0; color: color-mix(in oklch, var(--bg) 62%, var(--primary-text)); }
.ladder-empty-title { color: var(--bg) !important; font: 700 clamp(24px, 3vw, 34px)/1.2 var(--font-heading); }
.ladder-empty-state .btn { margin-top: 26px; color: var(--bg); border-color: color-mix(in oklch, var(--bg) 30%, transparent); }

.ladder-designs { background: var(--bg-secondary); }
.ladder-design-grid { display: grid; grid-template-columns: 1.4fr repeat(2, 1fr); grid-template-rows: repeat(2, minmax(260px, auto)); gap: 20px; }
.ladder-design-grid article { position: relative; overflow: hidden; min-width: 0; border: 1px solid var(--border); }
.ladder-design-grid figure { position: absolute; inset: 0; min-height: 0; border: 0; border-radius: 0; }
.ladder-design-grid article::after { content: ''; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, color-mix(in oklch, var(--bg) 96%, transparent)); }
.ladder-design-grid article > div { position: absolute; z-index: 2; left: 24px; right: 24px; bottom: 22px; }
.ladder-design-grid article span { color: var(--brand-red-text); font-size: 10px; letter-spacing: .12em; }
.ladder-design-grid article h3 { margin-top: 8px; }
.ladder-design-grid article p { margin-top: 6px; color: var(--secondary-text); font-size: 13px; }
.ladder-design-feature { grid-row: 1 / 3; }
.ladder-design-feature figure { min-height: 100%; }
.ladder-design-small:last-child { grid-column: 3; grid-row: 2; }

.ladder-mounting { background: var(--bg); }
.ladder-mounting-grid { display: grid; grid-template-columns: minmax(0, 58fr) minmax(340px, 42fr); gap: clamp(44px, 7vw, 100px); align-items: center; }
.ladder-mounting-visual { position: relative; min-width: 0; }
.ladder-mounting-visual figure { min-height: 640px; }
.ladder-callout { position: absolute; z-index: 2; max-width: 190px; padding: 9px 12px; border: 1px solid var(--border); background: color-mix(in oklch, var(--bg) 92%, transparent); color: var(--primary-text); font-size: 11px; box-shadow: 0 8px 24px color-mix(in oklch, var(--bg) 52%, transparent); }
.ladder-callout::after { content: ''; position: absolute; top: 50%; width: 46px; height: 1px; background: var(--brand-red); }
.ladder-callout b { margin-right: 7px; color: var(--brand-red-text); }
.ladder-callout-1 { top: 12%; left: 5%; }
.ladder-callout-1::after, .ladder-callout-3::after, .ladder-callout-5::after { left: 100%; }
.ladder-callout-2 { top: 32%; right: 4%; }
.ladder-callout-2::after, .ladder-callout-4::after { right: 100%; }
.ladder-callout-3 { top: 53%; left: 6%; }
.ladder-callout-4 { top: 70%; right: 3%; }
.ladder-callout-5 { bottom: 8%; left: 12%; }
.ladder-mounting-copy .lead { margin-top: 24px; }
.ladder-technical-note { margin-top: 38px; padding-top: 22px; border-top: 1px solid var(--border); }
.ladder-technical-note span { color: var(--brand-red-text); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.ladder-technical-note p { margin-top: 9px; color: var(--secondary-text); }

.ladder-function { background: var(--bg-secondary); }
.ladder-function-grid { display: grid; grid-template-columns: 55fr 45fr; gap: clamp(46px, 7vw, 96px); align-items: center; }
.ladder-function-photo { min-height: 650px; }
.ladder-function-list { margin-top: 42px; border-top: 1px solid var(--border); }
.ladder-function-list article { display: grid; grid-template-columns: 62px 1fr; gap: 18px; padding: 26px 0; border-bottom: 1px solid var(--border); }
.ladder-function-list article > span { color: var(--brand-red-text); font: 600 12px/1.4 var(--font-heading); }
.ladder-function-list h3 { font-size: 20px; }
.ladder-function-list p { margin-top: 8px; color: var(--secondary-text); font-size: 14px; }

.ladder-materials { background: var(--primary-text); color: var(--bg); }
.ladder-materials .eyebrow { color: var(--brand-red-deep); }
.ladder-materials .ladder-section-intro > p { color: color-mix(in oklch, var(--bg) 62%, var(--primary-text)); }
.ladder-material-grid { display: grid; grid-template-columns: 42fr 58fr; gap: clamp(38px, 6vw, 82px); align-items: start; }
.ladder-material-visual figure { min-height: 540px; border-color: color-mix(in oklch, var(--bg) 18%, transparent); background: linear-gradient(145deg, color-mix(in oklch, var(--bg) 12%, var(--primary-text)), color-mix(in oklch, var(--bg) 30%, var(--primary-text))); }
.ladder-material-visual figure::before, .ladder-material-visual figure figcaption { color: color-mix(in oklch, var(--bg) 62%, var(--primary-text)); }
.ladder-material-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ladder-material-tags span { padding: 7px 10px; border: 1px solid color-mix(in oklch, var(--bg) 20%, transparent); border-radius: 999px; color: color-mix(in oklch, var(--bg) 68%, var(--primary-text)); font-size: 11px; }
.ladder-spec-panel { border-top: 2px solid var(--bg); }
.ladder-spec-panel dl { margin: 0; }
.ladder-spec-panel dl > div { display: grid; grid-template-columns: 42fr 58fr; gap: 22px; padding: 18px 0; border-bottom: 1px solid color-mix(in oklch, var(--bg) 16%, transparent); }
.ladder-spec-panel dt { color: color-mix(in oklch, var(--bg) 62%, var(--primary-text)); font-size: 13px; }
.ladder-spec-panel dd { margin: 0; font-weight: 600; }

.ladder-development { background: var(--bg); }
.ladder-development-flow { position: relative; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; }
.ladder-development-flow::before { content: ''; position: absolute; top: 17px; left: 4%; right: 4%; height: 1px; background: color-mix(in oklch, var(--brand-red) 55%, var(--border)); }
.ladder-development-flow li { position: relative; z-index: 1; padding-right: 18px; }
.ladder-development-flow li > span { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--brand-red-deep); border-radius: 50%; background: var(--bg); color: var(--brand-red-text); font-size: 10px; }
.ladder-development-flow h3 { margin-top: 20px; font-size: 14px; text-transform: uppercase; }
.ladder-development-flow p { margin-top: 8px; color: var(--muted-text); font-size: 12px; }
.ladder-development-images { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 54px 0 34px; }
.ladder-development-images figure { min-height: 260px; }

.ladder-projects { background: var(--bg-secondary); }
.ladder-project-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 20px; }
.ladder-project-grid article { border: 1px solid var(--border); background: var(--bg); }
.ladder-project-feature { grid-row: span 2; }
.ladder-project-feature figure { min-height: 640px; border: 0; border-radius: 0; }
.ladder-project-copy { padding: 26px; }
.ladder-project-copy > span, .ladder-project-small span { color: var(--brand-red-text); font-size: 10px; letter-spacing: .12em; }
.ladder-project-copy h3, .ladder-project-small h3 { margin-top: 10px; }
.ladder-project-copy > p, .ladder-project-small p { margin-top: 8px; color: var(--secondary-text); font-size: 13px; }
.ladder-project-copy dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 22px 0 0; }
.ladder-project-copy dt { color: var(--muted-text); font-size: 10px; text-transform: uppercase; }
.ladder-project-copy dd { margin: 4px 0 0; font-size: 12px; }
.ladder-project-small figure { min-height: 260px; border: 0; border-radius: 0; }
.ladder-project-small > div { padding: 20px; }

.ladder-b2b { background: var(--bg); }
.ladder-b2b-grid { display: grid; grid-template-columns: 43fr 57fr; gap: clamp(46px, 7vw, 98px); align-items: start; }
.ladder-b2b-intro { position: sticky; top: 112px; }
.ladder-b2b-intro .lead { margin-top: 24px; }
.ladder-buyer-types { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.ladder-buyer-types span { padding: 6px 10px; border: 1px solid var(--border); border-radius: 999px; color: var(--secondary-text); font-size: 11px; }
.ladder-b2b-intro .btn { margin-top: 30px; }
.ladder-b2b-list { border-top: 1px solid var(--border); }
.ladder-b2b-list article { display: grid; grid-template-columns: 64px 1fr; gap: 20px; padding: 28px 0; border-bottom: 1px solid var(--border); }
.ladder-b2b-list article > span { color: var(--brand-red-text); font-size: 12px; }
.ladder-b2b-list h3 { font-size: 19px; }
.ladder-b2b-list p { margin-top: 8px; color: var(--secondary-text); font-size: 14px; }

.ladder-ordering { background: var(--primary-text); color: var(--bg); }
.ladder-ordering .eyebrow { color: var(--brand-red-deep); }
.ladder-ordering .ladder-section-intro > p { color: color-mix(in oklch, var(--bg) 62%, var(--primary-text)); }
.ladder-ordering-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid color-mix(in oklch, var(--bg) 18%, transparent); }
.ladder-ordering-grid > div { padding: 30px; border-right: 1px solid color-mix(in oklch, var(--bg) 18%, transparent); }
.ladder-ordering-grid > div:first-child { padding-left: 0; }
.ladder-ordering-grid > div:last-child { padding-right: 0; border-right: 0; }
.ladder-check-group { font: 700 18px/1.3 var(--font-heading); }
.ladder-ordering-grid ul { display: grid; gap: 12px; margin-top: 24px; }
.ladder-ordering-grid li { position: relative; padding-left: 22px; color: color-mix(in oklch, var(--bg) 66%, var(--primary-text)); font-size: 14px; }
.ladder-ordering-grid li::before { content: '✓'; position: absolute; left: 0; color: var(--brand-red-deep); font-weight: 700; }
.ladder-disclaimer { margin-top: 22px; color: color-mix(in oklch, var(--bg) 58%, var(--primary-text)); font-size: 12px; }

.ladder-evidence { background: var(--bg-secondary); }
.ladder-evidence-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 18px; }
.ladder-evidence-main { min-height: 620px; }
.ladder-evidence-stack { display: grid; grid-template-rows: repeat(2, 1fr); gap: 18px; }
.ladder-evidence-stack figure { min-height: 0; }
.ladder-evidence-notes { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 30px; border-top: 1px solid var(--border); }
.ladder-evidence-notes span { min-height: 58px; display: flex; align-items: center; padding: 10px 18px 10px 0; border-bottom: 1px solid var(--border); color: var(--secondary-text); font-size: 12px; }

.ladder-resources { background: var(--bg); }
.ladder-resources-grid { display: grid; grid-template-columns: 58fr 42fr; gap: clamp(44px, 7vw, 96px); align-items: center; }
.ladder-resource-copy .lead { margin-top: 22px; }
.ladder-resource-list { margin-top: 40px; border-top: 1px solid var(--border); }
.ladder-resource-list a { min-height: 76px; display: grid; grid-template-columns: 1fr auto auto; gap: 24px; align-items: center; border-bottom: 1px solid var(--border); transition: border-color .25s ease; }
.ladder-resource-list a:hover { border-bottom-color: color-mix(in oklch, var(--brand-red) 48%, var(--border)); }
.ladder-resource-list a > span { font-weight: 600; }
.ladder-resource-list small { color: var(--muted-text); }
.ladder-resource-list b { color: var(--primary-text); font-size: 11px; text-transform: uppercase; }
.ladder-resource-image { min-height: 620px; }

.ladder-faq { background: var(--bg-secondary); }
.ladder-faq-grid { display: grid; grid-template-columns: 36fr 64fr; gap: clamp(44px, 7vw, 96px); align-items: start; }
.ladder-faq-intro { position: sticky; top: 112px; }
.ladder-faq-intro .lead { margin-top: 24px; }
.ladder-faq-list { border-top: 1px solid var(--border); }
.ladder-faq-item { border-bottom: 1px solid var(--border); }
.ladder-faq-item h3 { font-size: 17px; }
.ladder-faq-item button { width: 100%; min-height: 76px; display: grid; grid-template-columns: 1fr 36px; gap: 24px; align-items: center; padding: 16px 0; border: 0; background: transparent; color: var(--primary-text); text-align: left; font-weight: 600; }
.ladder-faq-item button:hover { color: var(--primary-text); }
.ladder-faq-item button span { width: 32px; height: 32px; display: grid; place-items: center; color: var(--brand-red-text); font-size: 20px; font-weight: 400; }
.ladder-faq-item > div { padding: 0 56px 24px 0; }
.ladder-faq-item > div p { color: var(--secondary-text); }

.ladder-final { background: var(--bg); border-top: 1px solid var(--border); }
.ladder-final-grid { display: grid; grid-template-columns: 42fr 58fr; gap: clamp(42px, 7vw, 96px); align-items: start; }
.ladder-final-intro { position: sticky; top: 112px; }
.ladder-final-title { font: 700 clamp(36px, 4.5vw, 56px)/1.08 var(--font-heading); letter-spacing: -.04em; text-wrap: balance; }
.ladder-final-intro .lead { margin-top: 22px; }
.ladder-final-intro ul { display: grid; gap: 10px; margin-top: 30px; color: var(--secondary-text); }
.ladder-final-intro li { position: relative; padding-left: 18px; }
.ladder-final-intro li::before { content: ''; position: absolute; top: .75em; left: 0; width: 8px; height: 1px; background: var(--brand-red); }
.ladder-inquiry-form { padding: clamp(28px, 4vw, 46px); border: 1px solid var(--border); background: var(--bg-secondary); }
.ladder-form-title { font: 700 24px/1.3 var(--font-heading); }
.ladder-form-note { margin-top: 8px; color: var(--muted-text); font-size: 12px; }
.ladder-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 30px; }
.ladder-inquiry-form label { color: var(--secondary-text); font-size: 12px; }
.ladder-inquiry-form input,
.ladder-inquiry-form textarea { width: 100%; padding: 12px 13px; border: 1px solid var(--border); border-radius: var(--radius-control); background: var(--elevated); color: var(--primary-text); }
.ladder-inquiry-form input:focus,
.ladder-inquiry-form textarea:focus { outline: 2px solid color-mix(in oklch, var(--brand-red) 30%, transparent); border-color: var(--brand-red-hover); }
.ladder-inquiry-form input[aria-invalid="true"] { border-color: var(--brand-red-hover); }
.ladder-field-wide { grid-column: 1 / -1; }
.field-error { min-height: 17px; color: var(--brand-red-text); font-size: 11px; }
.ladder-file-name { color: var(--muted-text); font-size: 11px; }
.ladder-form-errors { margin: 20px 0; padding: 16px; border: 1px solid color-mix(in oklch, var(--brand-red) 50%, var(--border)); color: var(--primary-text); }
.ladder-form-errors p { font-weight: 600; }
.ladder-form-errors ul { margin-top: 8px; }
.ladder-form-errors a { color: var(--brand-red-text); text-decoration: underline; }
.ladder-inquiry-form > .btn { margin-top: 24px; }
.ladder-form-status { margin-top: 18px; color: var(--primary-text); font-size: 13px; }

@media (max-width: 1180px) {
  .ladder-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ladder-development-flow { grid-template-columns: repeat(4, 1fr); gap: 28px 18px; }
  .ladder-development-flow::before { display: none; }
  .ladder-project-grid { grid-template-columns: 1.25fr 1fr; }
  .ladder-project-feature { grid-row: span 3; }
}

@media (max-width: 920px) {
  .ladder-page-v2 h1 { font-size: clamp(42px, 9vw, 56px); }
  .ladder-hero { min-height: auto; padding-top: 122px; }
  .ladder-hero-grid,
  .ladder-manufacturer-grid,
  .ladder-section-intro,
  .ladder-mounting-grid,
  .ladder-function-grid,
  .ladder-material-grid,
  .ladder-b2b-grid,
  .ladder-resources-grid,
  .ladder-faq-grid,
  .ladder-final-grid { grid-template-columns: 1fr; }
  .ladder-hero-photo { min-height: 500px; box-shadow: none; }
  .ladder-section-intro { align-items: start; gap: 24px; }
  .ladder-manufacturer-photo { min-height: 480px; }
  .ladder-search-row { grid-template-columns: 1fr auto; }
  .ladder-search-row > label { grid-column: 1 / -1; }
  .ladder-collection-layout { grid-template-columns: 1fr; }
  .ladder-filter-panel { position: static; display: none; }
  .ladder-filter-panel.is-open { display: block; }
  .ladder-filter-toggle { display: flex; }
  .ladder-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ladder-design-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 480px repeat(2, 320px); }
  .ladder-design-feature { grid-column: 1 / -1; grid-row: auto; }
  .ladder-design-small:last-child { grid-column: auto; grid-row: auto; }
  .ladder-mounting-copy { order: -1; }
  .ladder-function-photo { min-height: 520px; }
  .ladder-development-flow { grid-template-columns: repeat(2, 1fr); }
  .ladder-development-images { grid-template-columns: 1fr 1fr; }
  .ladder-project-grid { grid-template-columns: 1fr 1fr; }
  .ladder-project-feature { grid-column: 1 / -1; grid-row: auto; }
  .ladder-b2b-intro,
  .ladder-faq-intro,
  .ladder-final-intro { position: static; }
  .ladder-ordering-grid { grid-template-columns: 1fr; }
  .ladder-ordering-grid > div { padding: 28px 0; border-right: 0; border-bottom: 1px solid color-mix(in oklch, var(--bg) 18%, transparent); }
  .ladder-evidence-grid { grid-template-columns: 1.4fr 1fr; }
  .ladder-evidence-main { grid-row: span 2; }
  .ladder-evidence-stack:last-child { grid-column: 1 / -1; grid-template-columns: repeat(2, 1fr); grid-template-rows: none; }
  .ladder-resource-image { min-height: 480px; }
}

@media (max-width: 620px) {
  .ladder-page-v2 h1 { font-size: clamp(38px, 11vw, 48px); }
  .ladder-page-v2 h2 { font-size: clamp(31px, 9vw, 40px); }
  .ladder-hero { padding-top: 112px; padding-bottom: 56px; }
  .ladder-breadcrumb { margin-bottom: 24px; }
  .ladder-trust-labels { grid-template-columns: 1fr; }
  .ladder-hero-copy .actions { display: grid; }
  .ladder-hero-copy .btn { width: 100%; }
  .ladder-hero-photo { min-height: 380px; }
  .ladder-capability-lines { grid-template-columns: 1fr; }
  .ladder-capability-lines span:nth-child(odd) { border-right: 0; }
  .ladder-capability-lines span:nth-child(even) { padding-left: 0; }
  .ladder-search-row { grid-template-columns: 1fr; padding: 14px; }
  .ladder-filter-toggle { width: 100%; }
  .ladder-results-top { align-items: flex-start; flex-direction: column; gap: 12px; }
  .ladder-product-grid { grid-template-columns: 1fr; }
  .ladder-product-info h3 { min-height: 0; }
  .ladder-design-grid { display: grid; grid-template-columns: 1fr; grid-template-rows: 420px repeat(3, 300px); }
  .ladder-design-feature { grid-column: auto; }
  .ladder-mounting-visual figure { min-height: 520px; }
  .ladder-callout { max-width: 150px; font-size: 10px; }
  .ladder-callout::after { width: 24px; }
  .ladder-function-photo { min-height: 420px; }
  .ladder-spec-panel dl > div { grid-template-columns: 1fr; gap: 7px; }
  .ladder-development-flow { grid-template-columns: 1fr; gap: 0; border-left: 1px solid color-mix(in oklch, var(--brand-red) 55%, var(--border)); margin-left: 16px; }
  .ladder-development-flow li { padding: 0 0 28px 36px; }
  .ladder-development-flow li > span { position: absolute; left: -17px; top: 0; }
  .ladder-development-flow h3 { margin-top: 4px; }
  .ladder-development-images { grid-template-columns: 1fr; }
  .ladder-project-grid { grid-template-columns: 1fr; }
  .ladder-project-feature { grid-column: auto; }
  .ladder-project-feature figure { min-height: 440px; }
  .ladder-project-copy dl { grid-template-columns: 1fr; }
  .ladder-ordering-grid { border-top: 1px solid color-mix(in oklch, var(--bg) 18%, transparent); }
  .ladder-evidence-grid { grid-template-columns: 1fr; }
  .ladder-evidence-main { grid-row: auto; min-height: 440px; }
  .ladder-evidence-stack,
  .ladder-evidence-stack:last-child { grid-column: auto; grid-template-columns: 1fr; grid-template-rows: repeat(2, 280px); }
  .ladder-evidence-notes { grid-template-columns: 1fr 1fr; }
  .ladder-resource-list a { grid-template-columns: 1fr auto; gap: 8px 14px; padding: 14px 0; }
  .ladder-resource-list a small { grid-column: 1; }
  .ladder-resource-list a b { grid-column: 2; grid-row: 1 / 3; }
  .ladder-resource-image { min-height: 400px; }
  .ladder-faq-item button { min-height: 70px; grid-template-columns: 1fr 32px; }
  .ladder-faq-item > div { padding-right: 0; }
  .ladder-form-grid { grid-template-columns: 1fr; }
  .ladder-field-wide { grid-column: auto; }
  .ladder-final-intro .actions { display: grid; }
  .ladder-final-intro .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .ladder-product-card,
  .ladder-product-card .photo-placeholder,
  .ladder-breadcrumb a { transition: none; }
}

/* Product collection layout remains ready for future vehicle applications. */
.ladder-page-v2 .ladder-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ladder-page-v2 .ladder-filter-fields { grid-template-columns: 1fr; }
.ladder-page-v2 .ladder-related-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ladder-page-v2 .ladder-related-grid a { min-height: 180px; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; border: 1px solid var(--border); background: var(--bg-secondary); transition: transform .25s ease, border-color .25s ease; }
.ladder-page-v2 .ladder-related-grid a:hover { transform: translateY(-3px); border-color: color-mix(in oklch, var(--brand-red) 52%, var(--border)); }
.ladder-page-v2 .ladder-related-grid span { color: var(--brand-red-text); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.ladder-page-v2 .ladder-related-grid h3 { margin-top: 10px; }
.ladder-page-v2 .ladder-related-grid b { margin-top: 24px; color: var(--primary-text); }
@media (max-width: 920px) {
  .ladder-page-v2 .ladder-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ladder-page-v2 .ladder-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .ladder-page-v2 .ladder-product-grid,
  .ladder-page-v2 .ladder-related-grid { grid-template-columns: 1fr; }
}
