.home-cover {
  position: relative;
  display: grid;
  align-items: end;
  min-height: 100svh;
  overflow: hidden;
  background: var(--ink);
  color: var(--paper);
}
.home-cover__wash {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, rgb(36 31 28 / .9) 0%, rgb(48 42 39 / .58) 48%, rgb(48 42 39 / .12) 100%);
  pointer-events: none;
}
.home-cover__image {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.home-cover__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 58% center;
}
.home-cover__content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(10rem, .42fr);
  gap: clamp(2rem, 8vw, 9rem);
  align-items: end;
  width: 100%;
  max-width: var(--canvas-width);
  min-height: 100svh;
  margin-inline: auto;
  padding: clamp(5rem, 11vh, 9rem) var(--gutter) clamp(2rem, 7vh, 6rem);
}
.home-cover__copy { max-width: 60rem; }
.home-cover h1 { max-width: 9.8ch; margin-block: var(--space-6) var(--space-8); }
.home-cover .eyebrow { color: var(--blush); }
.home-cover__intro { max-width: 42ch; color: var(--dark-muted); font-size: var(--text-lead); }
.home-cover__links { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-block-start: var(--space-10); }
.home-cover__links .button--quiet { border-color: var(--paper); color: var(--paper); }
.home-cover__links .button--quiet:hover { border-color: var(--blush); background: var(--ink-raised); color: var(--paper); }
.home-cover__links .button--quiet:active { background: var(--ink-deep); color: var(--blush); }
.home-cover__marker {
  align-self: end;
  justify-self: end;
  display: flex;
  align-items: flex-end;
  gap: var(--space-4);
  color: var(--dark-muted);
  font-family: var(--neta-5f5);
  font-size: var(--text-xs);
  letter-spacing: .08em;
  writing-mode: vertical-rl;
}
.home-cover__marker::before { content: ""; display: block; width: 1px; height: clamp(4rem, 18vh, 12rem); background: var(--accent); }
.home-cover__number { color: var(--accent); font-size: var(--text-sm); }
.home-cover__note { max-width: 18ch; color: var(--dark-muted); font-size: var(--text-sm); }

.home-panel { position: relative; min-height: min(100svh, 64rem); display: flex; align-items: center; padding-block: clamp(4rem, 10vw, 9rem); }
.home-panel > .container { width: 100%; }
.home-panel__header { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1fr); gap: clamp(2rem, 7vw, 8rem); align-items: start; margin-block-end: clamp(2.5rem, 7vw, 6rem); }
.home-panel__header > :first-child { min-width: 0; }
.home-panel__kicker { color: var(--clay); }
.home-panel__intro { max-width: 46ch; color: var(--muted); font-size: var(--text-lead); }
.home-panel__number { display: block; margin-block-end: var(--space-5); color: var(--muted); font-family: var(--neta-5f5); font-size: var(--text-xs); letter-spacing: .12em; }
.home-panel--finder { background: var(--paper); }
.finder-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 7vw, 8rem); align-items: start; }
.finder-form { padding: clamp(1.25rem, 3vw, 2.5rem); border-block: 1px solid var(--line); background: var(--paper-raised); box-shadow: var(--shadow-paper); }
.finder-form__actions { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-block-start: var(--space-6); }
.finder-form__result { margin-block-start: var(--space-6); padding: var(--space-5); border-inline-start: 2px solid var(--clay); background: var(--blush); }
.finder-form__result strong { display: block; margin-block-end: var(--space-2); }
.finder-form__fineprint { margin-block-start: var(--space-5); color: var(--muted); font-size: var(--text-sm); }
.finder-aside { display: grid; gap: var(--space-8); align-content: start; }
.finder-aside__line { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-5); padding-block: var(--space-5); border-block-start: 1px solid var(--line); }
.finder-aside__line:first-child { border-block-start: 2px solid var(--clay); }
.finder-aside__line .meta { color: var(--clay); }

.home-panel--collage { background: var(--stone); }
.collage-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 8vw, 9rem); align-items: center; }
.photo-collage { position: relative; min-height: clamp(25rem, 54vw, 42rem); }
.photo-collage__item { position: absolute; overflow: hidden; background: var(--paper); box-shadow: var(--shadow-paper); }
.photo-collage__item img { width: 100%; height: 100%; object-fit: cover; }
.photo-collage__item--one { inset: 4% 16% 14% 0; transform: rotate(-1.6deg); }
.photo-collage__item--two { inset: 24% 0 0 39%; transform: rotate(1.8deg); }
.photo-collage__label { position: absolute; left: 4%; bottom: 3%; z-index: 2; padding: .7rem .85rem; background: var(--ink); color: var(--paper); font-family: var(--neta-5f5); font-size: var(--text-xs); letter-spacing: .06em; }
.collage-copy h2 { max-width: 12ch; }
.collage-copy__caption { max-width: 42ch; margin-block-start: var(--space-6); color: var(--muted); }
.catalogue-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-8); margin-block-start: var(--space-10); border-block-start: 1px solid var(--line); }
.catalogue-links a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); min-height: 4rem; padding-block: var(--space-4); border-block-end: 1px solid var(--line); color: var(--ink); text-decoration: none; font-family: var(--neta-222); font-size: var(--text-lg); transition: color var(--duration-control) ease, padding-inline var(--duration-control) ease, background-color var(--duration-control) ease; }
.catalogue-links a:hover { padding-inline: .45rem; background: var(--blush); color: var(--clay); }
.catalogue-links a:active { background: var(--paper-pressed); color: var(--clay-active); }
.catalogue-links a:focus-visible { outline: none; box-shadow: var(--shadow-focus); }

.home-panel--fitment { background: var(--ink); color: var(--paper); }
:is(.home-panel--fitment, .surface-dark) .home-panel__number { color: var(--accent); }
.surface-dark .home-panel__intro, .surface-dark .callout-label { color: var(--dark-muted); }
.home-panel--fitment .button--quiet { border-color: var(--paper); color: var(--paper); }
.home-panel--fitment .button--quiet:hover { background: var(--ink-raised); color: var(--blush); }
.home-panel--fitment .button--quiet:active { background: var(--ink-deep); color: var(--accent); }
.fitment-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .72fr); gap: clamp(2rem, 9vw, 10rem); align-items: center; }
.fitment-layout .text-muted { color: var(--dark-muted); }
.fitment-points { display: grid; gap: var(--space-6); margin-block-start: var(--space-8); }
.fitment-point { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-4); align-items: start; }
.fitment-point .icon { color: var(--accent); margin-block-start: .2rem; }
.vehicle-sample { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--line-dark); background: var(--ink-raised); }
.vehicle-sample__top { display: flex; justify-content: space-between; gap: var(--space-4); padding-block-end: var(--space-5); border-block-end: 1px solid var(--line-dark); color: var(--dark-muted); }
.vehicle-sample__code { margin-block: var(--space-8); color: var(--blush); font-family: var(--neta-5f5); font-size: clamp(1rem, 2vw, 1.35rem); letter-spacing: .1em; overflow-wrap: anywhere; }
.vehicle-sample dl { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--space-3) var(--space-5); color: var(--dark-muted); font-size: var(--text-sm); }
.vehicle-sample dt { color: var(--paper); font-weight: 600; }

.home-panel--estimate { background: var(--blush); }
.estimate-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, .6fr); gap: clamp(2rem, 8vw, 9rem); align-items: end; }
.estimate-intro__figure { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.estimate-intro__figure figure { min-width: 0; }
.estimate-intro__figure img { aspect-ratio: 1 / 1; width: 100%; object-fit: cover; }
.estimate-intro__figure figcaption { margin-block-start: var(--space-3); color: var(--muted); font-size: var(--text-sm); }
.basis-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4) var(--space-8); margin-block-start: var(--space-10); }
.basis-list__item { padding-block-start: var(--space-4); border-block-start: 1px solid rgb(105 94 87 / .42); }
.basis-list__item strong { display: block; font-family: var(--neta-5f5); font-size: var(--text-sm); }

.home-panel--inquiry { background: var(--paper-raised); }
.inquiry-layout { display: grid; grid-template-columns: minmax(0, .68fr) minmax(0, 1.32fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; }
.inquiry-contact { padding-block-start: var(--space-5); border-block-start: 2px solid var(--clay); }
.inquiry-contact address { margin-block-start: var(--space-8); color: var(--muted); }
.inquiry-contact address p + p { margin-block-start: var(--space-4); }
.inquiry-contact a { display: inline-flex; align-items: center; gap: var(--space-3); min-height: 44px; color: var(--ink); font-weight: 600; }
.inquiry-contact a:hover { color: var(--clay); }
.inquiry-form { padding: clamp(1.25rem, 3vw, 3rem); border: 1px solid var(--line); background: var(--paper); }

.page-hero { padding-block: clamp(5rem, 11vw, 10rem) clamp(3rem, 7vw, 6rem); background: var(--ink); color: var(--paper); }
.page-hero__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(12rem, .55fr); gap: clamp(2rem, 8vw, 9rem); align-items: end; }
.page-hero h1 { max-width: 16ch; margin-block-start: var(--space-5); color: var(--paper); }
.page-hero .eyebrow { color: var(--blush); }
.page-hero__lede { max-width: 44ch; color: var(--dark-muted); font-size: var(--text-lead); }
.page-hero__meta { align-self: end; padding-block-start: var(--space-5); border-block-start: 1px solid var(--line-dark); color: var(--dark-muted); }
.page-hero__meta strong { display: block; margin-block-end: var(--space-2); color: var(--accent); font-family: var(--neta-5f5); font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase; }

.catalogue-page { background: var(--paper); }
.catalogue-intro { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; padding-block: var(--section-space-small); }
.catalogue-intro__image { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: var(--space-4); align-items: end; }
.catalogue-intro__image figure:nth-child(2) { margin-block-end: 20%; }
.catalogue-intro__image img { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; }
.catalogue-intro__image figcaption { margin-block-start: var(--space-3); color: var(--muted); font-size: var(--text-sm); }
.catalogue-controls { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-5); padding-block: var(--space-5); border-block: 1px solid var(--line); }
.catalogue-filter-group { display: flex; flex-wrap: wrap; gap: .5rem; }
.catalogue-filter { border-color: var(--ink); background: transparent; color: var(--ink); cursor: pointer; }
.catalogue-filter[aria-pressed="true"] { border-color: var(--clay); background: var(--clay); color: var(--paper); }
.catalogue-count { align-self: center; color: var(--muted); }
.catalogue-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-block: var(--section-space-small); background: var(--line); border: 1px solid var(--line); }
.catalogue-item { display: flex; flex-direction: column; min-height: 100%; padding: clamp(1.25rem, 2.5vw, 2rem); background: var(--paper-raised); }
.catalogue-item__index { color: var(--clay); font-family: var(--neta-5f5); font-size: var(--text-xs); }
.catalogue-item h2 { margin-block: var(--space-5) var(--space-4); font-size: var(--display-sm); }
.catalogue-item p { color: var(--muted); font-size: var(--text-sm); }
.catalogue-item__basis { margin-block: var(--space-5); padding-block: var(--space-4); border-block: 1px solid var(--line); color: var(--ink); font-family: var(--neta-5f5); font-size: var(--text-xs); }
.catalogue-item .link-arrow { margin-block-start: auto; align-self: flex-start; }
.catalogue-note { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 8vw, 8rem); padding-block: var(--section-space-small); border-block-start: 1px solid var(--line); }

.product-page { background: var(--paper); }
.product-overview { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: clamp(2rem, 8vw, 9rem); align-items: center; padding-block: var(--section-space); }
.product-overview__media { position: relative; }
.product-overview__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.product-overview__media figcaption { max-width: 38ch; margin-block-start: var(--space-4); color: var(--muted); font-size: var(--text-sm); }
.product-overview__copy h2 { margin-block: var(--space-5) var(--space-6); }
.product-overview__copy > p { max-width: 58ch; color: var(--muted); }
.unit-basis { display: inline-flex; align-items: center; min-height: 44px; margin-block: var(--space-8); padding: .55rem .75rem; border-inline-start: 2px solid var(--clay); background: var(--blush); color: var(--ink); font-family: var(--neta-5f5); font-size: var(--text-sm); }
.product-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .72fr); gap: clamp(2rem, 8vw, 9rem); padding-block: var(--section-space); border-block: 1px solid var(--line); }
.product-detail__aside { align-self: start; padding: var(--space-6); background: var(--stone); }
.product-detail__aside h2 { font-size: var(--display-sm); }
.product-detail__aside ul { display: grid; gap: var(--space-4); margin-block-start: var(--space-5); padding-inline-start: 1.2em; }
.product-detail__aside li::marker { color: var(--clay); }
.product-questions { padding-block: var(--section-space); }
.product-questions__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5) var(--space-8); margin-block-start: var(--space-8); }
.question-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-4); padding-block: var(--space-5); border-block-start: 1px solid var(--line); }
.question-row .icon { color: var(--clay); margin-block-start: .2rem; }
.product-inquiry { background: var(--blush); }
.product-inquiry .container { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; }

.editorial-image { margin-block: var(--section-space-small); }
.editorial-image img { width: 100%; max-height: 42rem; object-fit: cover; }
.editorial-image figcaption { max-width: 48ch; margin-block-start: var(--space-3); color: var(--muted); font-size: var(--text-sm); }
.process-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, .62fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; padding-block: var(--section-space); }
.process-aside { position: sticky; top: var(--space-8); padding: var(--space-6); background: var(--stone); }
.process-aside ol { display: grid; gap: var(--space-4); margin-block-start: var(--space-5); padding-inline-start: 1.3em; }
.process-aside li::marker { color: var(--clay); font-family: var(--neta-5f5); }
.checklist { display: grid; gap: var(--space-4); margin-block: var(--space-8); padding: 0; list-style: none; }
.checklist li { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); gap: var(--space-3); align-items: start; }
.checklist .icon { color: var(--clay); margin-block-start: .25rem; }
.image-sequence { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-block: var(--space-8); }
.image-sequence figure:nth-child(3) { grid-column: span 2; }
.image-sequence img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.image-sequence figcaption { margin-block-start: var(--space-3); color: var(--muted); font-size: var(--text-sm); }

.estimate-page { background: var(--paper); }
.estimate-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; padding-block: var(--section-space); }
.estimate-form { padding: clamp(1.25rem, 4vw, 3rem); border: 1px solid var(--line); background: var(--paper-raised); box-shadow: var(--shadow-paper); }
.estimate-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.estimate-form__grid .form__field:first-child { grid-column: 1 / -1; }
.estimate-result { margin-block-start: var(--space-8); padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--clay); background: var(--blush); }
.estimate-result h2 { font-size: var(--display-sm); }
.estimate-result__amount { display: block; margin-block: var(--space-5); color: var(--clay); font-family: var(--neta-5f5); font-size: clamp(1.35rem, 3vw, 2.2rem); font-weight: 500; overflow-wrap: anywhere; }
.estimate-result__assumptions { color: var(--muted); font-size: var(--text-sm); }
.estimate-examples { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-block-start: var(--space-8); }
.estimate-example { min-width: 0; }
.estimate-example img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.estimate-example figcaption { margin-block-start: var(--space-3); color: var(--muted); font-size: var(--text-sm); }

.contact-layout { display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 8vw, 8rem); padding-block: var(--section-space); }
.contact-details { align-self: start; padding-block-start: var(--space-5); border-block-start: 2px solid var(--clay); }
.contact-details address { margin-block: var(--space-8); color: var(--muted); }
.contact-details address p + p { margin-block-start: var(--space-4); }
.contact-details a { display: inline-flex; align-items: center; gap: var(--space-3); min-height: 44px; color: var(--ink); font-weight: 600; }
.contact-details a:hover { color: var(--clay); }
.contact-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.contact-photo figcaption { margin-block-start: var(--space-3); color: var(--muted); font-size: var(--text-sm); }
.contact-form { padding: clamp(1.25rem, 3vw, 3rem); border: 1px solid var(--line); background: var(--paper-raised); }

.legal-hero { background: var(--stone); padding-block: clamp(4rem, 8vw, 7rem); }
.legal-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, .65fr); gap: clamp(2rem, 8vw, 9rem); align-items: end; }
.legal-hero h1 { max-width: 12ch; margin-block-start: var(--space-5); }
.legal-hero__intro { max-width: 46ch; color: var(--muted); font-size: var(--text-lead); }
.legal-image { margin-block-start: var(--space-8); }
.legal-image img { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; }
.legal-image figcaption { margin-block-start: var(--space-3); color: var(--muted); font-size: var(--text-sm); }

.rail-page { background: var(--paper); }
.rail-layout { display: grid; grid-template-columns: minmax(10rem, .3fr) minmax(0, 1fr); gap: clamp(2rem, 7vw, 7rem); padding-block: var(--section-space); }
.date-rail { position: relative; display: grid; align-content: start; gap: var(--space-8); padding-block: var(--space-2); }
.date-rail::before { content: ""; position: absolute; inset: .5rem auto 0 1.05rem; width: 1px; background: var(--line); }
.date-marker { position: relative; display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); gap: var(--space-4); align-items: start; }
.date-marker__dot { width: .65rem; height: .65rem; margin: .35rem auto 0; border: 2px solid var(--clay); background: var(--paper); }
.date-marker strong { display: block; color: var(--clay); font-family: var(--neta-5f5); font-size: var(--text-xs); letter-spacing: .04em; }
.date-marker span { display: block; margin-block-start: .3rem; color: var(--muted); font-size: var(--text-sm); line-height: 1.35; }
.rail-reading { max-width: 72ch; }
.rail-section { display: grid; grid-template-columns: minmax(6rem, .2fr) minmax(0, 1fr); gap: clamp(1rem, 4vw, 4rem); padding-block: var(--space-10); border-block-start: 1px solid var(--line); }
.rail-section:first-child { padding-block-start: 0; border-block-start: 0; }
.rail-section__label { color: var(--clay); font-family: var(--neta-5f5); font-size: var(--text-xs); line-height: 1.5; letter-spacing: .08em; text-transform: uppercase; }
.rail-section__body { min-width: 0; }
.rail-section__body h2 { margin-block-start: 0; font-size: var(--display-md); }
.rail-section__body > * + * { margin-block-start: var(--space-5); }
.rail-section__body ul { display: grid; gap: var(--space-3); }
.rail-section__body .notice { margin-block-start: var(--space-6); }

.sticky-index-page { background: var(--paper); }
.sticky-index-layout { display: grid; grid-template-columns: minmax(10rem, .28fr) minmax(0, 1fr); gap: clamp(2rem, 7vw, 7rem); padding-block: var(--section-space); }
.section-index { position: sticky; top: var(--space-8); align-self: start; display: grid; gap: .2rem; }
.section-index__select { display: none; }
.section-index a { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-3); align-items: start; min-height: 44px; padding: .55rem .4rem; border-inline-start: 2px solid transparent; color: var(--muted); text-decoration: none; font-size: var(--text-sm); line-height: 1.35; transition: color var(--duration-control) ease, background-color var(--duration-control) ease, border-color var(--duration-control) ease, padding-inline var(--duration-control) ease; }
.section-index a span:first-child { color: var(--clay); font-family: var(--neta-5f5); font-size: var(--text-xs); }
.section-index a:hover { padding-inline-start: .7rem; background: var(--blush); color: var(--ink); }
.section-index a:active { background: var(--stone); color: var(--clay-active); }
.section-index a:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
.section-index a[aria-current="true"] { border-color: var(--clay); background: var(--blush); color: var(--ink); }
.index-reading { max-width: 72ch; }
.index-section { padding-block: var(--space-10); border-block-start: 1px solid var(--line); scroll-margin-block: var(--space-8); }
.index-section:first-child { padding-block-start: 0; border-block-start: 0; }
.index-section__number { display: block; margin-block-end: var(--space-4); color: var(--clay); font-family: var(--neta-5f5); font-size: var(--text-xs); letter-spacing: .1em; }
.index-section h2 { font-size: var(--display-md); }
.index-section > * + * { margin-block-start: var(--space-5); }
.index-section .data-table-wrap { margin-block-start: var(--space-8); }

.notes-page { background: var(--paper); }
.notes-layout { display: flex; flex-wrap: wrap; gap: clamp(2rem, 5vw, 5rem); padding-block: var(--section-space); }
.notes-reading { flex: 1 1 42rem; max-width: 68ch; }
.notes-layout > .notes-rail { flex: 1 1 24rem; }
.notes-paragraph { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, .25fr); gap: clamp(1.25rem, 4vw, 4rem); padding-block: var(--space-8); border-block-start: 1px solid var(--line); }
.notes-paragraph:first-child { padding-block-start: 0; border-block-start: 0; }
.notes-paragraph__copy { min-width: 0; }
.notes-paragraph__copy h2 { margin-block-end: var(--space-5); font-size: var(--display-md); }
.notes-paragraph__copy > * + * { margin-block-start: var(--space-5); }
.margin-note { align-self: start; padding: var(--space-4); border-block-start: 2px solid var(--clay); color: var(--muted); font-size: var(--text-sm); }
.margin-note strong { display: block; margin-block-end: var(--space-2); color: var(--clay); font-family: var(--neta-5f5); font-size: var(--text-xs); letter-spacing: .07em; text-transform: uppercase; }
.notes-rail { align-self: start; position: sticky; top: var(--space-8); padding: var(--space-4); background: var(--stone); }
.notes-rail ul { display: grid; gap: var(--space-3); margin-block-start: var(--space-4); padding-inline-start: 1.1em; color: var(--muted); font-size: var(--text-sm); }

.faq-list { display: grid; gap: 1px; margin-block-start: var(--space-8); border-block: 1px solid var(--line); background: var(--line); }
.faq-item { background: var(--paper-raised); }
.faq-item:not([open]) > :not(summary) { display: none; }
.faq-item[open] > .faq-item__answer { display: flow-root; height: auto; }
.faq-list + .notice { margin-block-start: var(--space-6); }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); min-height: 4rem; padding: var(--space-5); cursor: pointer; list-style: none; font-family: var(--neta-222); font-size: var(--text-lg); transition: background-color var(--duration-control) ease, color var(--duration-control) ease; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; flex: 0 0 auto; color: var(--clay); font-family: var(--neta-5f5); font-size: 1.3rem; }
.faq-item[open] summary::after { content: "−"; }
.faq-item summary:hover { background: var(--blush); color: var(--clay); }
.faq-item summary:active { background: var(--stone); color: var(--clay-active); }
.faq-item summary:focus-visible { outline: none; box-shadow: inset var(--shadow-focus); }
.faq-item__answer { max-width: 68ch; padding: 0 var(--space-5) var(--space-6); color: var(--muted); }

.data-request-page .rail-layout { padding-block-start: var(--space-12); }
.data-request-form { margin-block-start: var(--space-8); padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid var(--line); background: var(--paper-raised); }
.thanks-page, .missing-page { min-height: 70svh; display: grid; align-items: center; background: var(--stone); }
.thanks-panel, .missing-panel { max-width: 62rem; padding-block: var(--section-space); }
.thanks-panel h1, .missing-panel h1 { max-width: 12ch; margin-block: var(--space-5) var(--space-6); }
.thanks-panel p, .missing-panel p { max-width: 50ch; color: var(--muted); font-size: var(--text-lead); }
.thanks-panel__links, .missing-panel__links { display: flex; flex-wrap: wrap; gap: var(--space-4); margin-block-start: var(--space-8); }

@media (max-width: 1199px) {
  .home-cover__content { grid-template-columns: minmax(0, 1fr) 4rem; }
  .catalogue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .notes-layout { grid-template-columns: minmax(0, 1fr); }
  .notes-rail { position: static; order: -1; }
}
@media (max-width: 999px) {
  .home-cover { min-height: calc(100svh - var(--mobile-strip-height)); }
  .home-cover__content { min-height: calc(100svh - var(--mobile-strip-height)); padding-block-start: 4rem; }
  .process-aside, .section-index, .notes-rail { position: static; }
  .rail-layout, .sticky-index-layout { grid-template-columns: minmax(0, 1fr); }
  .section-index { display: block; padding: var(--space-4); border: 1px solid var(--line); background: var(--stone); }
  .section-index > a { display: none; }
  .section-index__select { display: block; width: 100%; min-height: var(--control-min); padding: .65rem .75rem; border: 1px solid var(--line); background: var(--paper-raised); color: var(--ink); }
  .process-layout { grid-template-columns: minmax(0, 1fr); }
  .product-inquiry .container { grid-template-columns: minmax(0, 1fr); }
  .estimate-layout, .contact-layout { grid-template-columns: minmax(0, 1fr); }
  .notes-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .home-cover__content { display: block; padding-block: 5rem 2.5rem; }
  .home-cover h1 { max-width: 11ch; }
  .home-cover__intro { font-size: var(--text-lg); }
  .home-cover__marker { display: none; }
  .home-cover__links, .finder-form__actions, .form__actions { align-items: stretch; }
  .home-cover__links > *, .finder-form__actions > * { flex: 1 1 12rem; }
  .home-panel { min-height: 0; align-items: start; }
  .home-panel__header, .finder-layout, .collage-layout, .fitment-layout, .estimate-intro, .inquiry-layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .home-panel__header { margin-block-end: var(--space-10); }
  .photo-collage { min-height: 30rem; }
  .catalogue-links, .basis-list, .product-questions__grid, .estimate-form__grid, .estimate-examples { grid-template-columns: minmax(0, 1fr); }
  .vehicle-sample dl { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
  .vehicle-sample dd { margin-block-end: var(--space-3); }
  .page-hero__inner, .legal-hero__inner, .catalogue-intro, .catalogue-note, .product-overview, .product-detail { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .page-hero h1 { max-width: 100%; }
  .legal-hero h1 { max-width: 10ch; }
  .catalogue-intro__image { order: -1; }
  .catalogue-grid { grid-template-columns: minmax(0, 1fr); }
  .product-overview { padding-block: var(--section-space-small); }
  .product-detail { padding-block: var(--section-space-small); }
  .image-sequence { grid-template-columns: minmax(0, 1fr); }
  .image-sequence figure:nth-child(3) { grid-column: auto; }
  .rail-section { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .rail-section__label { padding-block-end: var(--space-3); border-block-end: 1px solid var(--line); }
  .date-rail { display: flex; gap: var(--space-4); overflow-x: auto; padding-block: 0 var(--space-4); border-block-end: 1px solid var(--line); }
  .date-rail::before { display: none; }
  .date-marker { flex: 0 0 min(11rem, 45vw); grid-template-columns: 1.2rem minmax(0, 1fr); }
  .date-marker__dot { margin-inline: 0; }
  .notes-paragraph { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .margin-note { order: 2; }
  .notes-rail { order: -1; }
  .legal-image img { aspect-ratio: 4 / 3; }
}
@media (max-width: 380px) {
  .home-cover__links > *, .finder-form__actions > * { flex-basis: 100%; }
  .photo-collage { min-height: 25rem; }
  .photo-collage__item--one { inset-inline-end: 10%; }
  .photo-collage__item--two { inset-inline-start: 30%; }
}
@media (prefers-reduced-motion: reduce) {
  .photo-collage__item { transform: none; }
  .catalogue-links a, .section-index a, .faq-item summary { transition: none; }
}
@media print {
  .home-cover__image, .home-cover__wash, .chat-root, .cookie-banner, .consent-dialog, .section-index, .notes-rail, .date-rail { display: none !important; }
  .home-cover, .page-hero, .legal-hero { min-height: auto; background: white; color: black; }
  .home-cover__content { min-height: auto; padding: 2rem 0; }
  .home-cover__intro, .page-hero__lede, .legal-hero__intro { color: black; }
  .product-overview, .product-detail, .process-layout, .rail-layout, .sticky-index-layout, .notes-layout { display: block; }
}
