@font-face {
  font-family: Display;
  src: url("/assets/display.ttf") format("truetype");
  font-weight: 800;
  font-display: swap;
}
@font-face {
  font-family: Body;
  src: url("/assets/body.ttf") format("truetype");
  font-weight: 400 800;
  font-display: swap;
}
:root {
  --paper: #f3f2ec;
  --ink: #262b27;
  --rust: #ab471f;
  --muted: #656a62;
  --line: #d6d8ce;
  --studio: #e1e2dd;
  --font: Body, Arial, sans-serif;
}
* {
  box-sizing: border-box;
}
[hidden] { display: none !important; }
.analytics-choice { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.analytics-banner { position: fixed; z-index: 1000; left: 24px; right: 24px; bottom: 20px; max-width: 1100px; max-height: calc(100dvh - 40px); overflow: auto; margin: auto; padding: 24px 56px 24px 24px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; color: var(--ink); background: var(--paper); border: 1px solid var(--ink); box-shadow: 0 8px 40px #0002; }
.analytics-banner .eyebrow { font-size: 9px; margin: 0 0 8px; }
.analytics-banner h2 { font-family: var(--font); font-size: 22px; line-height: 1.2; letter-spacing: -.5px; margin: 0 0 8px; }
.analytics-banner p { font-size: 13px; line-height: 1.5; margin: 0; }
.analytics-banner a { text-decoration: underline; }
.analytics-banner .analytics-state { margin-top: 8px; font-size: 11px; color: var(--muted); }
.analytics-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.analytics-actions .button { font-size: 11px; min-height: 44px; padding: 13px 16px; }
.analytics-close { position: absolute; right: 6px; top: 6px; width: 40px; height: 40px; font-size: 25px; color: inherit; border: 0; background: none; cursor: pointer; }
@media (max-width: 750px) { .analytics-banner { left: 12px; right: 12px; bottom: 12px; grid-template-columns: 1fr; padding: 20px 42px 20px 20px; gap: 16px; } .analytics-banner h2 { font-size: 20px; } }
html:not(.js-ready) .js-only,
.viewer-unavailable .view-tabs,
.viewer-unavailable .rotate-controls,
.viewer-unavailable .reset-view {
  display: none !important;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 25px;
}
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.65;
}
button,
input {
  font: inherit;
}
button,
a {
  -webkit-tap-highlight-color: transparent;
}
button {
  cursor: pointer;
}
a {
  color: inherit;
  text-decoration: none;
}
button:focus-visible,
a:focus-visible,
input:focus-visible {
  outline: 3px solid var(--rust);
  outline-offset: 5px;
}
::selection {
  background: #e4a577;
  color: #1c241c;
}
.recovery-feature {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 6%;
  border-top: 1px solid var(--line);
}
.recovery-feature h2 {
  font-size: clamp(42px, 5.8vw, 82px);
  line-height: 1;
  letter-spacing: -1.5px;
  margin: 24px 0;
}
.recovery-feature > div > p:not(.eyebrow) {
  max-width: 48ch;
  color: var(--muted);
}
.recovery-feature figure { margin: 0; min-width: 0; }
.recovery-feature img { width: 100%; height: auto; display: block; aspect-ratio: 3 / 2; object-fit: contain; }
.recovery-feature figcaption { color: var(--muted); font-size: 10px; margin-top: 12px; }
.story-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 28px; }
.buying-link { display: flex; width: fit-content; margin-top: 22px; }
.guide-heading { padding-bottom: 40px; }
.guide-heading h1 { font-size: clamp(64px, 11vw, 138px); line-height: .92; letter-spacing: -2px; margin: 30px 0; }
.guide-heading > p:not(.eyebrow) { max-width: 720px; font-size: 18px; color: var(--muted); }
.guide-heading > p.guide-vehicle { font-size: 11px; margin-top: 25px; }
.guide-disclosure { max-width: 850px; background: #e7e9de; border-left: 2px solid var(--rust); padding: 22px 26px; margin-top: 30px; }
.guide-disclosure b { font-size: 13px; }
.guide-disclosure p { color: var(--muted); font-size: 12px; margin-top: 8px; }
.guide-disclosure a { text-decoration: underline; text-underline-offset: 3px; }
.guide-jumps { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.guide-jumps a { border: 1px solid var(--line); padding: 11px 15px; font-size: 11px; }
.guide-jumps a:hover { border-color: var(--rust); color: var(--rust); }
.guide-reading { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding-top: 0; padding-bottom: 20px; }
.guide-reading > a { position: relative; background: #e7e9de; padding: 28px 28px 52px; }
.guide-reading span { font-size: 9px; letter-spacing: .08em; color: var(--muted); }
.guide-reading h2 { font-family: var(--font); font-size: 22px; line-height: 1.4; margin: 18px 0 12px; }
.guide-reading p { font-size: 12px; color: var(--muted); }
.guide-reading b { position: absolute; bottom: 20px; right: 25px; font-size: 24px; }
.guide-group { padding-top: 60px; padding-bottom: 25px; }
.guide-group .section-heading h2 { font-size: clamp(38px, 5vw, 64px); line-height: 1.1; }
.product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.product-card { background: #fafaf5; border: 1px solid var(--line); padding: 30px; min-width: 0; scroll-margin-top: 25px; }
.product-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.product-card .eyebrow { line-height: 1.8; }
.product-card h3 { font-family: var(--font); font-size: 21px; line-height: 1.4; letter-spacing: -.5px; margin: 18px 0 6px; }
.product-model { font-size: 11px; color: var(--muted); overflow-wrap: anywhere; }
.product-card dl { margin: 25px 0; }
.product-card dl > div { border-top: 1px solid var(--line); padding: 15px 0 0; margin-top: 15px; }
.product-card dt { font-size: 9px; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
.product-card dd { font-size: 13px; color: #555e50; line-height: 1.8; margin: 6px 0 0; max-width: 75ch; }
.product-card > .text-link { font-size: 12px; }
.product-links { display: grid; gap: 10px; margin-top: 24px; }
.product-links a { display: flex; justify-content: space-between; align-items: center; gap: 12px; border: 1px solid var(--line); padding: 12px 15px; font-size: 11px; min-height: 44px; }
.product-links a:hover { border-color: var(--rust); color: var(--rust); }
.buying-checklist { margin-top: 50px; border-top: 1px solid var(--line); }
.buying-checklist h2 { font-size: clamp(40px, 5.4vw, 72px); line-height: 1.1; margin: 22px 0; }
.buying-checklist ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 50px; padding-left: 22px; }
.buying-checklist li { padding-left: 5px; font-size: 13px; color: var(--muted); }
.buying-checklist li b { color: var(--ink); display: block; margin-bottom: 5px; }
@media (max-width: 760px) {
  .recovery-feature { grid-template-columns: 1fr; gap: 36px; }
  .guide-reading, .product-grid, .buying-checklist ol { grid-template-columns: 1fr; }
  .guide-heading h1 { font-size: clamp(56px, 12.5vw, 92px); }
  .guide-heading > p:not(.eyebrow) { font-size: 15px; }
  .guide-heading > p.guide-vehicle { font-size: 10px; }
  .guide-reading > a, .product-card { padding: 24px; }
  .guide-reading > a { padding-bottom: 52px; }
  .guide-group { padding-top: 40px; }
}
h1,
h2,
h3,
p,
figure {
  margin: 0;
}
button {
  color: inherit;
}
h1,
h2 {
  font-family: Display, "Arial Narrow", Arial, sans-serif;
  font-weight: 800;
  line-height: 0.94;
  letter-spacing: -0.018em;
}
em {
  color: var(--rust);
  font-style: normal;
}
img {
  display: block;
  max-width: 100%;
  object-fit: cover;
}
.recovery-feature img,
.card-image,
.photo-grid figure > a,
.article-hero img,
.dialog-image,
.photo-dialog > img {
  background: var(--studio);
}
.recovery-feature img,
.card-image img,
.photo-grid img,
.article-hero img,
.dialog-image,
.photo-dialog > img {
  object-fit: contain;
  padding: clamp(12px, 2vw, 26px);
}
button {
  border: 0;
}
.eyebrow {
  font-size: 10px;
  letter-spacing: 0.14em;
  font-weight: 800;
  line-height: 1.5;
}
.muted {
  color: var(--muted);
}
.sr-only,
.skip:not(:focus) {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.skip:focus {
  display: block;
  padding: 15px;
  background: var(--ink);
  color: white;
}
.status-dot {
  display: inline-block;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  background: var(--rust);
  margin-right: 8px;
  vertical-align: middle;
}
.site-header {
  margin: 0 4.4%;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  gap: 35px;
}
.brand {
  display: flex;
  align-items: center;
  font-size: 25px;
  font-weight: 500;
  letter-spacing: -1.4px;
}
.brand-heavy {
  font-weight: 800;
}
.brand-dot {
  font-size: 10px;
  color: var(--rust);
  margin: 0 0 15px 4px;
  letter-spacing: 0;
}
.brand-mark {
  display: flex;
  width: 31px;
  height: 31px;
  border: 2px solid var(--ink);
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-style: italic;
  font-size: 19px;
  letter-spacing: -5px;
  margin-right: 10px;
  padding-right: 3px;
  transform: rotate(-12deg);
}
.brand-mark span {
  color: var(--rust);
}
.site-header nav {
  display: flex;
  gap: 36px;
  font-size: 11px;
  font-weight: 700;
}
.site-header nav a:hover,
.site-footer a:hover {
  color: var(--rust);
}
.header-cta {
  background: var(--ink);
  color: var(--paper);
  padding: 10px 17px;
  font-size: 10px;
  font-weight: 700;
  border-radius: 2px;
}
.header-cta span {
  margin-left: 30px;
}
.hero {
  padding: 53px 4.4% 0;
}
.hero-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 35px;
  padding-bottom: 35px;
}
.hero h1 {
  font-size: clamp(74px, 8.8vw, 150px);
  margin-top: 21px;
}
.hero-intro {
  max-width: 250px;
  margin-right: 2%;
  padding-bottom: 6px;
}
.small-cross {
  color: var(--rust);
  font-size: 37px;
  line-height: 1;
  display: block;
  margin-bottom: 20px;
}
.hero-intro > p:first-of-type {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: -0.6px;
}
.hero-intro > .muted {
  font-size: 11px;
  line-height: 1.8;
  margin-top: 13px;
}
.text-link {
  font-weight: 800;
  font-size: 11px;
  display: inline-flex;
  gap: 25px;
  align-items: center;
}
.hero-intro .text-link {
  margin-top: 19px;
}
.text-link:hover {
  color: var(--rust);
}
.hero-specs {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid var(--line);
  padding: 17px 0;
  font-size: 10px;
  letter-spacing: 0.06em;
  gap: 12px;
}
.hero-specs b {
  margin: 0 10px;
  font-weight: 800;
}
.hero-specs span,
.hero-specs i {
  font-size: 9px;
  color: var(--muted);
  font-style: normal;
}
.explorer {
  margin: 0 4.4%;
  border: 1px solid var(--line);
}
.explorer-top {
  height: 49px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  border-bottom: 1px solid var(--line);
  gap: 20px;
}
.model-note {
  font-size: 9px;
  color: var(--muted);
}
.model-note span {
  margin: 0 8px;
}
.explorer-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 288px;
}
.stage {
  min-height: 540px;
  position: relative;
  overflow: hidden;
  background: radial-gradient(
    ellipse at 50% 45%,
    #e3e4dc 0,
    #e8e9e1 42%,
    #e9e9e2 75%
  );
}
.stage-background {
  position: absolute;
  top: 9%;
  left: 0;
  right: 0;
  text-align: center;
  font-family: Display, sans-serif;
  font-size: clamp(80px, 12vw, 200px);
  letter-spacing: 0.04em;
  color: #d4d8cc;
  line-height: 1;
  pointer-events: none;
}
.stage-grid {
  position: absolute;
  inset: 40% -40% -30%;
  background-image:
    linear-gradient(#89967d17 1px, transparent 1px),
    linear-gradient(90deg, #89967d17 1px, transparent 1px);
  background-size: 65px 65px;
  transform: perspective(400px) rotateX(55deg);
  transform-origin: 50% 100%;
  pointer-events: none;
}
.canvas-mount,
.canvas-mount canvas,
.hotspots {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.canvas-mount canvas {
  touch-action: pan-y;
  cursor: grab;
}
.canvas-mount canvas:active {
  cursor: grabbing;
}
.hotspots {
  pointer-events: none;
}
.hotspot {
  position: absolute;
  pointer-events: auto;
  display: flex;
  align-items: center;
  background: var(--paper);
  border: 1px solid #ffffff9c;
  padding: 7px 10px 7px 7px;
  font-size: 9px;
  font-weight: 800;
  box-shadow: 0 3px 13px #232d2310;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  z-index: 3;
}
.hotspot .spot {
  width: 17px;
  height: 17px;
  margin-right: 7px;
  border: 1px solid var(--rust);
  border-radius: 50%;
  display: grid;
  place-content: center;
  color: var(--rust);
  font-size: 12px;
}
.leader-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.leader-lines line {
  stroke: var(--rust);
  stroke-width: 1;
  opacity: 0.65;
}
.hotspot:hover {
  background: var(--ink);
  color: white;
}
.hotspot[hidden] {
  display: none;
}
.view-badge {
  position: absolute;
  left: 24px;
  top: 22px;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.view-badge .status-dot {
  width: 4px;
  height: 4px;
}
.rotate-controls {
  position: absolute;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 13px;
}
.rotate-controls span {
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.rotate-controls button {
  width: 31px;
  height: 31px;
  background: transparent;
  border: 1px solid #b4bbad;
  border-radius: 50%;
  font-size: 14px;
}
.rotate-controls button:hover {
  background: var(--ink);
  color: white;
}
.reset-view {
  position: absolute;
  right: 20px;
  bottom: 26px;
  background: transparent;
  font-size: 17px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.reset-view span {
  font-size: 8px;
}
.stage-counter {
  position: absolute;
  left: 24px;
  bottom: 33px;
  font-size: 7px;
  letter-spacing: 0.12em;
  color: var(--muted);
}
.stage-fallback {
  position: absolute;
  inset: 18% 8%;
  z-index: 1;
}
.stage-fallback img {
  width: 100%;
  height: 85%;
  object-fit: contain;
}
.stage-fallback p {
  font-size: 11px;
  text-align: center;
}
.stage-fallback[hidden] {
  display: none;
}
.build-aside {
  border-left: 1px solid var(--line);
  padding: 22px 20px;
  background: #eeeee7;
}
.aside-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.aside-heading .eyebrow {
  font-size: 8px;
}
.aside-count {
  font-family: Display, sans-serif;
  font-size: 26px;
  color: #a3a998;
  line-height: 1;
}
.build-aside > p:first-of-type {
  font-size: 23px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.8px;
  margin: 19px 0 21px;
}
.view-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid #c7cebf;
  margin-bottom: 13px;
  padding: 3px;
  gap: 3px;
}
.view-tabs button {
  padding: 7px 1px;
  font-size: 9px;
  background: transparent;
  font-weight: 700;
}
.view-tabs button[aria-pressed="true"] {
  background: var(--ink);
  color: var(--paper);
}
.mod-list {
  display: grid;
}
.mod-item {
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  border-bottom: 1px solid var(--line);
  padding: 10px 0;
  background: transparent;
  width: 100%;
}
.mod-item > span:first-child {
  color: var(--rust);
  font-size: 8px;
  align-self: start;
  padding-top: 3px;
}
.mod-item b {
  display: block;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.4;
}
.mod-item small {
  font-size: 8px;
  color: var(--muted);
}
.mod-plus {
  margin-left: auto;
  font-size: 16px;
}
.mod-item:hover b,
.mod-item:hover .mod-plus {
  color: var(--rust);
}
.aside-footnote {
  font-size: 8px;
  color: var(--muted);
  line-height: 1.6;
  padding-top: 15px;
}
.explorer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 13px 22px;
  border-top: 1px solid var(--line);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.explorer-bottom > span {
  color: var(--muted);
}
.explorer-bottom a span {
  margin-left: 15px;
}
.section-wrap {
  padding: 90px 4.4%;
}
.manifesto {
  display: grid;
  grid-template-columns: 27% 1fr;
  border-bottom: 1px solid var(--line);
  margin: 0 4.4%;
  padding-left: 0;
  padding-right: 0;
  gap: 10px;
}
.manifesto > .eyebrow {
  padding-top: 8px;
}
.manifesto > div {
  display: flex;
  justify-content: space-between;
  gap: 50px;
  min-width: 0;
}
.manifesto h2 {
  font-size: clamp(42px, 5.5vw, 80px);
  white-space: nowrap;
}
.manifesto-copy {
  max-width: 330px;
}
.manifesto-copy p:first-child {
  font-size: 17px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: -0.4px;
}
.manifesto-copy p + p {
  font-size: 11px;
  color: var(--muted);
  margin-top: 14px;
}
.manifesto-copy .text-link {
  margin-top: 22px;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 25px;
  margin-bottom: 35px;
}
.section-heading h2 {
  font-size: clamp(52px, 6vw, 88px);
  margin-top: 20px;
}
.section-heading > p {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.8;
  margin-right: 3%;
}
.journal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 44px 24px;
}
.card-image {
  position: relative;
  aspect-ratio: 1.55;
  overflow: hidden;
}
.card-image img {
  width: 100%;
  height: 100%;
  transition: transform 0.5s;
}
.image-label {
  position: absolute;
  left: 12px;
  bottom: 10px;
  max-width: calc(100% - 46px);
  color: var(--muted);
  background: var(--paper);
  padding: 2px 6px;
  font-size: 8px;
  line-height: 1.5;
}
.journal-card:hover img {
  transform: scale(1.015);
}
.card-number {
  position: absolute;
  left: 15px;
  top: 15px;
  color: white;
  background: #263027;
  min-width: 27px;
  min-height: 27px;
  display: grid;
  place-content: center;
  font-size: 9px;
  font-weight: 800;
}
.card-arrow {
  position: absolute;
  right: 14px;
  bottom: 14px;
  color: var(--ink);
  font-size: 20px;
}
.card-meta {
  display: flex;
  justify-content: space-between;
  font-size: 8px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin: 15px 0 9px;
  color: var(--muted);
}
.card-meta span:first-child {
  color: var(--rust);
  font-weight: 800;
}
.journal-card h3 {
  font-size: 18px;
  letter-spacing: -0.6px;
  line-height: 1.4;
}
.journal-card > p {
  font-size: 10px;
  color: var(--muted);
  line-height: 1.9;
  margin-top: 9px;
  max-width: 95%;
}
.parts {
  background: #e8eae0;
}
.parts-search {
  display: grid;
  min-width: 255px;
  gap: 7px;
}
.parts-search label {
  font-size: 9px;
  font-weight: 800;
}
.parts-search input {
  padding: 11px 0;
  border: 0;
  border-bottom: 1px solid #919d87;
  background: transparent;
  border-radius: 0;
  font-size: 12px;
  color: var(--ink);
  width: 100%;
}
.parts-search > span {
  font-size: 8px;
  color: var(--muted);
}
table {
  border-collapse: collapse;
  width: 100%;
  font-size: 11px;
}
th {
  text-align: left;
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #a8b19d;
  padding: 14px 16px 14px 0;
  color: var(--muted);
}
td {
  padding: 22px 16px 22px 0;
  border-bottom: 1px solid #c6cdbd;
}
td:first-child {
  width: 16%;
  font-size: 9px;
  color: var(--muted);
}
td:nth-child(2) {
  font-weight: 800;
  width: 46%;
}
td:nth-child(3) {
  font-size: 9px;
  color: var(--muted);
}
td:last-child {
  text-align: right;
  font-size: 17px;
}
tbody a:hover {
  color: var(--rust);
}
tr[hidden] {
  display: none;
}
.parts-note {
  font-size: 9px;
  color: var(--muted);
  margin-top: 20px;
  line-height: 1.9;
  max-width: 680px;
}
.parts-note a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
#no-parts {
  padding: 30px 0;
}
.photo-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 32px 26px;
}
.photo-grid figure:nth-child(2) {
  padding-top: 55px;
}
.photo-grid figure:nth-child(3) {
  padding-right: 35px;
}
.photo-grid figure:nth-child(4) {
  padding-top: 30px;
}
.photo-grid figure > a {
  display: block;
  position: relative;
  overflow: hidden;
}
.photo-grid img {
  width: 100%;
  height: auto;
  aspect-ratio: 1.5;
  transition: transform 0.5s;
}
.photo-grid figure:nth-child(3) img {
  aspect-ratio: 1.8;
}
.photo-grid a > span {
  position: absolute;
  right: 18px;
  bottom: 14px;
  color: var(--ink);
  font-size: 22px;
}
.photo-grid a:hover img {
  transform: scale(1.015);
}
figcaption {
  display: grid;
  margin-top: 12px;
  gap: 3px;
}
figcaption b {
  font-size: 10px;
}
figcaption small {
  font-size: 8px;
  color: var(--muted);
}
.closing {
  position: relative;
  background: var(--ink);
  color: var(--paper);
  padding-top: 65px;
  padding-bottom: 65px;
}
.closing > .eyebrow {
  color: #b9c0b0;
}
.closing h2 {
  font-size: clamp(55px, 7vw, 110px);
  margin-top: 25px;
}
.closing h2 em {
  color: #d77f50;
}
.closing > p:last-child {
  font-size: 11px;
  color: #bdc4b5;
  margin-top: 30px;
}
.round-link {
  position: absolute;
  right: 9%;
  top: 42%;
  width: 90px;
  height: 90px;
  border: 1px solid #8c9880;
  border-radius: 50%;
  display: grid;
  place-content: center;
  font-size: 43px;
}
.round-link:hover {
  background: var(--rust);
  border-color: var(--rust);
}
.site-footer {
  padding: 45px 4.4% 25px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px;
}
.site-footer > .brand {
  font-size: 26px;
}
.site-footer > p {
  font-size: 11px;
  align-self: center;
  justify-self: end;
}
.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  font-size: 9px;
}
.site-footer small {
  text-align: right;
  font-size: 8px;
  color: var(--muted);
}
.button {
  display: inline-flex;
  padding: 13px 19px;
  font-size: 11px;
  font-weight: 800;
  gap: 20px;
  align-items: center;
}
.dark {
  color: var(--paper);
  background: var(--ink);
}
.button:hover {
  background: var(--rust);
  color: white;
}
dialog {
  border: 0;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 20px 100px #0004;
  padding: 0;
  max-height: 90dvh;
  overflow: auto;
}
dialog::backdrop {
  background: #1b241f9c;
  backdrop-filter: blur(6px);
}
dialog[open] {
  animation: reveal 0.2s ease-out;
}
.mod-dialog {
  width: min(570px, 90vw);
}
.dialog-close {
  position: absolute;
  right: 15px;
  top: 15px;
  border: 1px solid #a5ad9a;
  background: var(--paper);
  border-radius: 50%;
  width: 33px;
  height: 33px;
  font-size: 24px;
  line-height: 1;
  z-index: 5;
}
.dialog-image {
  width: 100%;
  height: 230px;
  object-fit: contain;
}
.image-note { padding: 12px 28px 0; color: var(--muted); font-size: 10px; }
.dialog-body {
  padding: 28px 35px 35px;
}
.dialog-body h2 {
  font-size: 45px;
  margin: 12px 0 20px;
}
.dialog-body > p {
  font-size: 12px;
  line-height: 1.9;
  color: var(--muted);
}
.dialog-body dl {
  margin: 20px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
.dialog-body dt {
  font-size: 8px;
  color: var(--muted);
}
.dialog-body dd {
  font-size: 10px;
  font-weight: 800;
  margin: 5px 0;
}
.dialog-body .evidence-tag {
  margin-bottom: 18px;
}
.photo-dialog {
  width: min(1100px, 94vw);
  padding-bottom: 15px;
}
.photo-dialog > img {
  max-height: 78dvh;
  object-fit: contain;
  width: 100%;
}
.photo-dialog > p {
  font-size: 11px;
  padding: 15px 25px 0;
}
.article-heading {
  padding-bottom: 45px;
}
.article-heading > .eyebrow {
  margin-top: 50px;
}
.article-heading h1 {
  font-size: clamp(55px, 7.4vw, 105px);
  max-width: 1000px;
  margin: 20px 0 25px;
  line-height: 0.99;
}
.article-deck {
  max-width: 650px;
  font-size: 18px;
  line-height: 1.65;
  color: var(--muted);
}
.article-byline {
  font-size: 9px;
  margin-top: 28px;
  color: var(--muted);
}
.article-byline span {
  margin: 0 12px;
}
.article-hero {
  margin: 0 4.4%;
}
.article-hero img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  max-height: 560px;
  object-fit: contain;
}
.article-hero figcaption {
  font-size: 9px;
  color: var(--muted);
  margin-top: 12px;
}
.article-layout {
  display: grid;
  grid-template-columns: 260px minmax(0, 700px);
  gap: 9%;
  padding-top: 55px;
  justify-content: center;
}
.article-sidebar nav {
  display: grid;
  gap: 15px;
  font-size: 11px;
  margin-top: 20px;
}
.article-sidebar nav a:hover {
  color: var(--rust);
}
.fact-box {
  background: #e7e9de;
  padding: 24px;
  margin-top: 35px;
}
.fact-box h2 {
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.7;
  margin-top: 13px;
  letter-spacing: -0.4px;
}
.fact-box dl {
  margin-top: 20px;
}
.fact-box dl > div {
  padding: 10px 0;
  border-top: 1px solid #c4ceba;
}
.fact-box dt {
  font-size: 9px;
  color: var(--muted);
}
.fact-box dd {
  margin: 3px 0 0;
  font-size: 11px;
  font-weight: 800;
}
.evidence-tag {
  display: inline-block;
  font-size: 8px;
  color: #536846;
  border: 1px solid #a0ad93;
  padding: 5px 8px;
  line-height: 1.5;
}
.editorial-note {
  font-size: 12px;
  background: #e8eae1;
  border-left: 2px solid var(--rust);
  padding: 20px 24px;
  margin-bottom: 40px;
}
.editorial-note b {
  font-size: 10px;
}
.editorial-note p {
  margin-top: 8px;
  font-size: 11px;
  color: var(--muted);
}
.article-body a:not(.button) {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.article-body > section {
  margin-bottom: 34px;
}
.article-body > section h2,
.article-endnote h2 {
  font-family: var(--font);
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: -0.8px;
  margin-bottom: 15px;
}
.article-body > section p {
  font-size: 14px;
  line-height: 2;
  color: #555e50;
}
.article-body > section p + p {
  margin-top: 16px;
}
.article-endnote {
  border-top: 1px solid var(--line);
  padding-top: 35px;
}
.article-endnote > p {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 25px;
}
.related {
  padding-top: 0;
}
.related-grid {
  display: flex;
  gap: 30px;
  margin-top: 20px;
}
.related-grid > a {
  background: #e8eae0;
  padding: 28px;
  flex: 1;
  position: relative;
}
.related-grid span {
  font-size: 9px;
  text-transform: uppercase;
  color: var(--rust);
}
.related-grid h2 {
  font-size: 30px;
  margin: 15px 20px 0 0;
  line-height: 1.1;
}
.related-grid b {
  position: absolute;
  right: 20px;
  bottom: 20px;
  font-size: 20px;
}
.info-page {
  max-width: 1150px;
  margin: auto;
  min-height: 60vh;
}
.info-page > h1 {
  font-size: clamp(60px, 8vw, 115px);
  max-width: 950px;
  margin: 30px 0 55px;
  line-height: 1;
}
.info-copy {
  margin-left: auto;
  max-width: 700px;
}
.info-copy section {
  margin-bottom: 35px;
}
.info-copy h2 {
  font-family: var(--font);
  font-size: 23px;
  line-height: 1.4;
  letter-spacing: -0.7px;
  margin-bottom: 14px;
}
.info-copy p {
  line-height: 2;
  color: #555e50;
}
.info-copy > .text-link {
  margin-top: 30px;
}
@keyframes reveal {
  from {
    transform: translateY(10px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@media (min-width: 1650px) {
  body {
    max-width: 1800px;
    margin: auto;
  }
  .stage {
    min-height: 650px;
  }
  .explorer-layout {
    grid-template-columns: minmax(0, 1fr) 330px;
  }
  .build-aside {
    padding: 28px;
  }
  .mod-item {
    padding: 14px 0;
  }
  .mod-item b {
    font-size: 12px;
  }
  .hero-intro {
    max-width: 300px;
  }
  .hero-intro > p:first-of-type {
    font-size: 24px;
  }
  .hero-intro > .muted {
    font-size: 13px;
  }
  .site-header {
    height: 110px;
  }
}
@media (max-width: 1000px) {
  .site-header {
    height: 82px;
  }
  .site-header nav {
    gap: 20px;
  }
  .hero {
    padding-top: 40px;
  }
  .hero-intro {
    max-width: 205px;
    margin-right: 0;
  }
  .hero-intro > p:first-of-type {
    font-size: 16px;
  }
  .hero h1 {
    font-size: 10vw;
  }
  .explorer-layout {
    grid-template-columns: minmax(0, 1fr) 245px;
  }
  .build-aside {
    padding: 18px 15px;
  }
  .stage {
    min-height: 520px;
  }
  .hotspot {
    font-size: 8px;
    padding: 5px 7px;
  }
  .hotspot .spot {
    width: 13px;
    height: 13px;
    margin-right: 4px;
  }
  .stage-counter {
    display: none;
  }
  .manifesto {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .manifesto > div {
    gap: 35px;
  }
  .manifesto-copy {
    max-width: 48%;
  }
  .manifesto h2 {
    font-size: 65px;
  }
  .journal-card h3 {
    font-size: 16px;
  }
  .section-wrap {
    padding-top: 65px;
    padding-bottom: 65px;
  }
  .article-layout {
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 5%;
  }
  .article-body > section p {
    font-size: 13px;
  }
  .article-sidebar nav {
    font-size: 10px;
  }
}
@media (max-width: 700px) {
  .site-header {
    height: 75px;
    margin: 0 5%;
    gap: 10px;
  }
  .site-header nav {
    display: none;
  }
  .brand {
    font-size: 22px;
  }
  .brand-mark {
    width: 27px;
    height: 27px;
    font-size: 16px;
    margin-right: 7px;
  }
  .header-cta {
    font-size: 8px;
    padding: 9px 11px;
  }
  .header-cta span {
    margin-left: 12px;
  }
  .hero {
    padding: 32px 5% 0;
  }
  .hero-heading {
    display: block;
    padding-bottom: 25px;
  }
  .hero h1 {
    font-size: clamp(72px, 16.5vw, 116px);
    margin-top: 16px;
  }
  .hero-intro {
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px 18px;
    margin-top: 25px;
    padding: 0;
  }
  .hero-intro .small-cross {
    display: none;
  }
  .hero-intro > p:first-of-type {
    font-size: 13px;
  }
  .hero-intro > .muted {
    font-size: 9px;
    margin-top: 0;
  }
  .hero-intro .text-link {
    margin-top: 0;
    font-size: 9px;
  }
  .hero-specs {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 15px 0;
    font-size: 9px;
  }
  .hero-specs p:last-child {
    font-size: 8px;
  }
  .hero-specs b {
    margin-left: 6px;
  }
  .hero-specs p:first-child b {
    margin-left: 8px;
  }
  .eyebrow {
    font-size: 8px;
  }
  .explorer {
    margin: 0 5%;
  }
  .explorer-top {
    height: auto;
    min-height: 45px;
    padding: 10px 13px;
    align-items: start;
    gap: 10px;
  }
  .explorer-top .eyebrow {
    font-size: 7px;
  }
  .model-note {
    font-size: 7px;
    max-width: 155px;
    text-align: right;
    line-height: 1.6;
  }
  .model-note span {
    margin: 0 2px;
  }
  .explorer-layout {
    grid-template-columns: 1fr;
  }
  .stage {
    min-height: 360px;
  }
  .stage-background {
    font-size: 85px;
    top: 11%;
  }
  .hotspot {
    font-size: 7px;
    padding: 4px 5px;
  }
  .view-badge {
    left: 13px;
    top: 15px;
    font-size: 7px;
  }
  .rotate-controls {
    bottom: 17px;
    gap: 8px;
  }
  .rotate-controls span {
    font-size: 7px;
  }
  .rotate-controls button {
    width: 27px;
    height: 27px;
  }
  .reset-view {
    right: 12px;
    bottom: 16px;
  }
  .reset-view span {
    display: none;
  }
  .build-aside {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 19px 17px;
  }
  .build-aside > p:first-of-type {
    font-size: 21px;
    margin: 12px 0;
  }
  .build-aside > p:first-of-type br {
    display: none;
  }
  .view-tabs {
    grid-template-columns: repeat(4, 1fr);
    margin-top: 17px;
  }
  .view-tabs button {
    font-size: 8px;
    min-height: 36px;
  }
  .mod-list {
    grid-template-columns: 1fr 1fr;
    gap: 0 16px;
  }
  .mod-item {
    min-height: 66px;
    padding: 10px 0;
    gap: 8px;
  }
  .mod-item b {
    font-size: 9px;
  }
  .mod-item small {
    font-size: 7px;
  }
  .aside-footnote {
    font-size: 8px;
  }
  .explorer-bottom {
    padding: 11px 13px;
    font-size: 6px;
    display: grid;
    gap: 4px;
  }
  .section-wrap {
    padding: 50px 5%;
  }
  .manifesto {
    margin: 0 5%;
    padding-left: 0;
    padding-right: 0;
  }
  .manifesto > div {
    display: block;
  }
  .manifesto h2 {
    font-size: clamp(40px, 12.8vw, 56px);
    white-space: normal;
  }
  .manifesto-copy {
    max-width: 100%;
    margin-top: 26px;
  }
  .manifesto-copy p:first-child {
    font-size: 16px;
  }
  .manifesto-copy p + p {
    font-size: 11px;
  }
  .section-heading {
    align-items: start;
    margin-bottom: 27px;
  }
  .section-heading h2 {
    font-size: 52px;
    margin-top: 14px;
  }
  .section-heading > p {
    font-size: 9px;
    max-width: 122px;
    margin: 37px 0 0;
  }
  .journal-grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px 15px;
  }
  .card-image {
    aspect-ratio: 1.15;
  }
  .card-number {
    left: 9px;
    top: 9px;
    min-width: 23px;
    min-height: 23px;
    font-size: 8px;
  }
  .card-meta {
    font-size: 6px;
    gap: 5px;
    margin-top: 12px;
  }
  .card-meta span:last-child {
    display: none;
  }
  .journal-card h3 {
    font-size: 14px;
    line-height: 1.45;
    letter-spacing: -0.4px;
  }
  .journal-card > p {
    font-size: 9px;
    line-height: 1.8;
    max-width: 100%;
  }
  .parts > .section-heading {
    display: block;
  }
  .parts-search {
    min-width: 0;
    margin-top: 30px;
    max-width: 350px;
  }
  table {
    font-size: 9px;
    min-width: 0;
  }
  td {
    padding: 18px 9px 18px 0;
  }
  th {
    font-size: 7px;
  }
  th:nth-child(3),
  td:nth-child(3) {
    display: none;
  }
  td:first-child {
    font-size: 8px;
    width: 22%;
  }
  td:nth-child(2) {
    width: auto;
    font-size: 10px;
  }
  .parts-note {
    font-size: 8px;
  }
  .photo-grid {
    gap: 22px 15px;
    grid-template-columns: 1fr 1fr;
  }
  .photo-grid figure:nth-child(n) {
    padding: 0;
  }
  .photo-grid figure:nth-child(n) img {
    aspect-ratio: 1;
  }
  .photo-grid figure:nth-child(2) {
    margin-top: 25px;
  }
  .photo-grid figure:nth-child(4) {
    margin-top: 25px;
  }
  .photo-grid figcaption b {
    font-size: 8px;
  }
  .photo-grid figcaption small {
    font-size: 7px;
  }
  .closing {
    padding-top: 43px;
    padding-bottom: 43px;
  }
  .closing h2 {
    font-size: 57px;
    max-width: 80%;
  }
  .round-link {
    width: 48px;
    height: 48px;
    font-size: 25px;
    right: 6%;
    top: 50%;
  }
  .site-footer {
    padding: 30px 5% 20px;
    gap: 18px;
  }
  .site-footer > .brand {
    font-size: 23px;
  }
  .site-footer > p {
    font-size: 9px;
  }
  .site-footer nav {
    grid-column: 1/-1;
    gap: 22px;
    font-size: 9px;
  }
  .site-footer small {
    grid-column: 1/-1;
    text-align: left;
    font-size: 7px;
  }
  .dialog-body {
    padding: 25px;
  }
  .dialog-body h2 {
    font-size: 39px;
  }
  .dialog-image {
    height: 185px;
  }
  .article-heading > .eyebrow {
    margin-top: 35px;
  }
  .article-heading h1 {
    font-size: clamp(48px, 16vw, 60px);
    line-height: 1.04;
  }
  .article-deck {
    font-size: 15px;
  }
  .article-byline {
    font-size: 8px;
  }
  .article-hero {
    margin: 0 5%;
  }
  .article-hero img {
    max-height: 330px;
  }
  .article-hero figcaption {
    font-size: 8px;
  }
  .article-layout {
    display: block;
    padding-top: 35px;
  }
  .article-sidebar nav {
    display: none;
  }
  .article-sidebar > .eyebrow {
    display: none;
  }
  .fact-box {
    margin: 0 0 30px;
    padding: 20px;
  }
  .fact-box dl {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .fact-box dl > div {
    border: 0;
  }
  .fact-box dd {
    font-size: 10px;
  }
  .article-body > section h2 {
    font-size: 22px;
  }
  .article-body > section p {
    font-size: 13px;
    line-height: 1.95;
  }
  .editorial-note {
    padding: 16px 18px;
  }
  .related-grid {
    display: grid;
    gap: 13px;
  }
  .related-grid > a {
    min-height: 120px;
  }
  .related-grid h2 {
    font-size: 27px;
  }
  .info-page > h1 {
    font-size: 60px;
    margin: 25px 0 35px;
  }
  .info-copy h2 {
    font-size: 21px;
  }
  .info-copy p {
    font-size: 13px;
    line-height: 1.95;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation: none !important;
    transition: none !important;
  }
}

/* Image-led explorer: selected studio views now; real photo sequences can follow. */
.image-explorer .stage {display:flex;flex-direction:column;justify-content:center;min-width:0;padding:58px 0 18px;background:var(--studio);}
.visual-wrap {position:relative;width:100%;}
.visual-frame {position:relative;aspect-ratio:1.52;overflow:hidden;touch-action:pan-y;cursor:grab;outline-offset:-4px;}
.visual-frame:active {cursor:grabbing;}
.studio-scene,.detail-image {display:block;width:100%;height:100%;user-select:none;}
.studio-scene {overflow:hidden;}
.detail-image {object-fit:contain;padding:18px;}
.image-explorer .leader-lines {z-index:1;}
.image-explorer .leader-lines line {vector-effect:non-scaling-stroke;stroke:#9b411d;stroke-width:1.3;opacity:.85;}
.image-explorer .leader-lines circle {fill:#ab471f;stroke:#fff;stroke-width:.2;}
.image-explorer .hotspot {min-height:44px;font-size:10px;padding:7px 10px;gap:3px;border-color:#ffffffd4;background:#f3f2ecf5;}
.image-explorer .hotspot .spot {font-size:8px;width:20px;height:20px;margin-right:4px;}
.image-explorer .view-badge {z-index:2;}
.angle-controls {padding:10px 24px 0;display:flex;flex-direction:column;align-items:center;gap:10px;}
.angle-navigation {display:flex;align-items:center;gap:15px;}
.angle-navigation span {font-size:9px;font-weight:800;letter-spacing:.12em;}
.angle-navigation button {border:1px solid #a1a6a0;background:transparent;width:44px;height:44px;border-radius:50%;}
.angle-navigation button:hover {background:var(--ink);color:var(--paper);}
.angle-tabs {display:flex;gap:5px;flex-wrap:wrap;justify-content:center;}
.angle-tabs button {min-height:44px;min-width:70px;border:1px solid #a1a6a0;padding:6px 12px;background:transparent;font-size:11px;font-weight:700;}
.angle-tabs button[aria-pressed="true"] {background:var(--ink);border-color:var(--ink);color:var(--paper);}
.viewer-status {text-align:center;font-size:10px;font-weight:800;margin:12px 20px 3px;}
.image-caption {text-align:center;font-size:10px;line-height:1.5;max-width:56ch;margin:0 auto;padding:0 22px;color:#4d524d;}
.image-explorer .view-tabs {grid-template-columns:1fr;}
.image-explorer .view-tabs button {min-height:40px;font-size:10px;}
.image-explorer .mod-item b {font-size:11px;}
.image-explorer .mod-item small {font-size:9px;}
.image-explorer .aside-footnote {font-size:10px;}
.topic-panel {padding:30px;color:var(--paper);background:var(--ink);}
.topic-panel h3 {font-family:Display,sans-serif;font-size:clamp(42px,5vw,80px);line-height:.95;margin:30px 0 15px;letter-spacing:-.015em;}
.topic-panel h3 em {color:#d6e3be;font-style:normal;}
.topic-panel>p:not(.eyebrow) {color:#c7cebf;font-size:13px;}
.system-grid {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;}
.system-card {text-align:left;display:grid;gap:10px;min-height:140px;background:#353d34;border:1px solid #626d5c;padding:18px;color:var(--paper);}
.system-card span {font-size:9px;text-transform:uppercase;color:#d0d8c8;}
.system-card b {font-size:17px;line-height:1.3;}
.system-card small {font-size:10px;color:#d6e3be;}
.system-card:hover {background:#46503f;}
.showing-topics {padding:0 22px;}
@media (max-width:700px) {
  .image-explorer .stage {min-height:0;padding-top:48px;}
  .image-explorer .hotspots {position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:9px 12px;width:100%;height:auto;}
  .image-explorer .hotspot {position:static;transform:none;white-space:normal;justify-content:center;padding:6px 3px;font-size:9px;min-height:48px;}
  .image-explorer .hotspot .spot {display:none;}
  .image-explorer .leader-lines {display:none;}
  .image-explorer .view-tabs {grid-template-columns:repeat(3,minmax(0,1fr));}
  .image-explorer .view-tabs button {font-size:10px;}
  .image-explorer .model-note {font-size:9px;max-width:175px;}
  .image-explorer .mod-item b {font-size:11px;}
  .image-explorer .mod-item small {font-size:9px;}
  .image-explorer .aside-footnote,.image-caption {font-size:11px;}
  .angle-controls {padding:6px 12px 0;}
  .angle-tabs {gap:4px;}
  .angle-tabs button {min-width:57px;padding:6px 9px;font-size:10px;}
  .topic-panel {padding:24px 18px;}
  .topic-panel h3 {font-size:48px;}
  .system-grid {gap:8px;}
  .system-card {padding:13px;min-height:135px;}
  .system-card b {font-size:14px;}
  .showing-topics {padding:0 12px;}
}
.image-explorer>.view-tabs {display:flex;margin:0;padding:8px 22px;border:0;border-bottom:1px solid var(--line);gap:7px;background:var(--paper);}
.image-explorer>.view-tabs button {padding:8px 18px;min-height:44px;font-size:11px;}
@media (max-width:700px) {.image-explorer>.view-tabs {padding:8px 12px;}.image-explorer>.view-tabs button {flex:1;padding:8px 5px;font-size:10px;}}

/* The owner's field journal: warm paper, graphite and a little copper. */
:root { --paper:#f5f2ea; --ink:#292f2b; --rust:#a44829; --muted:#61675e; --line:#d6d4c9; --studio:#e8e7df; }
html { scroll-padding-top:30px; }
body { max-width:2000px; font-size:15px; }
.site-header { height:88px; margin:0 4.4%; gap:24px; }
.site-header nav { gap:30px; font-size:12px; }
.site-header nav a { position:relative; padding:12px 0; }
.site-header nav a::after { content:''; position:absolute; left:0; right:0; bottom:6px; height:1px; background:var(--rust); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.site-header nav a:hover::after { transform:scaleX(1); }
.header-cta { padding:13px 19px; border-radius:30px; font-size:11px; }
.button { min-height:48px; border-radius:3px; padding:15px 22px; display:inline-flex; align-items:center; justify-content:space-between; gap:32px; font-size:12px; font-weight:700; line-height:1.4; transition:background .2s, transform .2s; }
.button:hover { transform:translateY(-2px); }
.button.copper { background:var(--rust); color:#fff9ef; }
.button.copper:hover { background:#843b23; }
.text-link { min-height:44px; font-size:12px; }
.text-link span, .button span { transition:transform .25s; }
.text-link:hover span, .button:hover span { transform:translate(3px,-3px); }
.eyebrow { font-size:10px; letter-spacing:.15em; }
.section-wrap { padding-top:100px; padding-bottom:100px; }
.home-main h2 { font-size:clamp(52px,6vw,88px); line-height:1; }
.home-main h2 em, .arrival h1 em, .story-panel h3 em, .checklist-page h1 em, .checklist-outro h2 em { font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:400; letter-spacing:-.055em; }
.section-heading > p { font-size:13px; max-width:310px; line-height:1.8; margin-right:0; }

.arrival { position:relative; margin:12px 22px 0; background:#e9e8df; isolation:isolate; transition:background .4s,color .4s; }
.arrival-heading { display:flex; align-items:center; justify-content:space-between; gap:35px; padding:24px 3% 28px; }
.arrival-heading .eyebrow { margin:0 0 14px; font-size:9px; }
.arrival h1 { font-size:clamp(48px,4.8vw,76px); line-height:1; letter-spacing:-.025em; margin:0; }
.arrival h1 em { font-size:1.05em; }
.arrival-heading > p { font-size:12px; line-height:1.8; color:var(--muted); flex-shrink:0; }
.studio-light { display:flex; gap:10px; align-items:center; background:#f5f2eacc; border:1px solid #a8af9c; padding:8px 12px; min-height:44px; border-radius:30px; font-size:11px; white-space:nowrap; }
.light-icon { font-size:20px; line-height:1; }
.switch-track { width:26px; height:14px; background:#b7bdad; border-radius:20px; position:relative; }
.switch-track::after { content:''; position:absolute; width:10px; height:10px; left:2px; top:2px; background:#fffdf6; border-radius:50%; transition:transform .25s; }
.studio-light[aria-pressed=true] .switch-track { background:var(--rust); }
.studio-light[aria-pressed=true] .switch-track::after { transform:translateX(12px); }
.arrival-bottom { margin:0 3%; padding:18px 0; display:flex; justify-content:space-between; gap:16px; font-size:9px; letter-spacing:.07em; align-items:center; }
.arrival-bottom b { margin:0 7px; }
.arrival-bottom a { font-size:8px; }
.arrival-bottom a span { margin-left:17px; }
.arrival.after-hours { background:#242e29; color:#f4f0e5; --ink:#f4f0e5; --paper:#242e29; --muted:#c4ccbc; --line:#5e6c5c; --rust:#e1a381; }
.after-hours .arrival-heading em { color:#e1a381; }
.after-hours .studio-light { background:#354139; color:#f4f0e5; border-color:#74816f; }

.owner-note { display:grid; grid-template-columns:21% 1fr 125px; gap:4%; align-items:start; border-bottom:1px solid var(--line); margin:0 4.4%; padding-left:0; padding-right:0; }
.owner-note > .eyebrow { padding-top:12px; }.owner-note h2 { font-size:clamp(37px,4.3vw,63px); line-height:1.15; }
.owner-note p:not(.eyebrow) { max-width:590px; font-size:14px; line-height:1.9; color:var(--muted); margin-top:28px; }
.handwritten { font-family:Georgia,serif; font-style:italic; font-size:19px; display:block; margin-top:25px; color:var(--rust); }
.owner-stamp { width:114px; height:114px; border:1px solid #aeb5a2; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; font-size:7px; line-height:1; letter-spacing:.12em; text-align:center; transform:rotate(10deg); color:#5a6851; margin-top:32px; }
.owner-stamp b { font-size:38px; line-height:1; letter-spacing:-3px; font-style:italic; font-family:Georgia,serif; }


.explorer { border-color:#bfc4b5; box-shadow:0 12px 60px #30362c06; }
.explorer-top { min-height:56px; }.model-note { font-size:10px; }.explorer-layout { grid-template-columns:minmax(0,1fr) 295px; }
.image-explorer .stage { background:#e8e9df; }.build-aside { background:#eff0e6; padding:25px; }
.build-aside > p:first-of-type { font-family:Georgia,serif; font-style:italic; font-weight:400; font-size:26px; line-height:1.2; }
.image-explorer .mod-item { min-height:61px; padding:11px 0; }.image-explorer .mod-item b { font-size:12px; }.image-explorer .mod-item small { font-size:10px; }
.mod-item > span:first-child { font-size:10px; }.mod-plus { transition:transform .25s; }.mod-item:hover .mod-plus { transform:rotate(90deg); }
.image-explorer .aside-footnote { font-size:11px; line-height:1.8; }.aside-heading .eyebrow { font-size:9px; }
.hotspot { min-height:44px; border-radius:24px; font-size:10px; padding:8px 12px 8px 8px; transition:background .2s,box-shadow .2s; }
.hotspot .spot { width:23px; height:23px; }.hotspot:hover { box-shadow:0 4px 18px #26342c1a; }.hotspot:focus-visible { outline-offset:2px; }
.angle-tabs button { min-height:44px; border-radius:3px; font-size:11px; }.angle-navigation button { min-width:44px; min-height:44px; }
.image-explorer > .view-tabs button { border-radius:24px; padding:10px 21px; }.explorer-bottom { font-size:10px; padding:17px 22px; }
.viewer-status { font-size:11px; }.image-caption { font-size:11px; }.view-badge { font-size:9px; }.system-card { transition:transform .2s,background .2s; }.system-card:hover { transform:translateY(-3px); }
.story-section { margin-top:100px; background:#29362f; color:#f5f2e8; --line:#536150; }
.story-section em { color:#d5aa83; }.story-section .section-heading > p { color:#c0c9b8; }.story-section .eyebrow { color:#c2cdb5; }
.story-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:45px; border-top:1px solid #63725e; }
.story-tabs button { padding:20px 12px 18px 0; text-align:left; color:#c6cebf; background:transparent; border-top:3px solid transparent; margin-top:-1px; font-size:12px; display:flex; gap:15px; transition:color .25s,border-color .25s; min-height:64px; }
.story-tabs button span { color:#a3b294; font-size:10px; }.story-tabs button[aria-pressed=true] { color:#fffaf1; border-top-color:#d6aa81; }
.story-panel { display:grid; grid-template-columns:43% 57%; align-items:center; min-height:390px; gap:0; margin-top:35px; }
.story-panel-copy { padding-right:8%; }.story-panel h3 { font-family:Display,sans-serif; font-size:clamp(42px,4.5vw,68px); line-height:1; letter-spacing:-.02em; margin:18px 0 24px; }
.story-panel-copy > p:not(.eyebrow) { font-size:14px; line-height:1.9; color:#ccd3c5; max-width:440px; }.story-panel .text-link { color:#e7c5a6; margin-top:22px; }
.story-panel figure { position:relative; margin:0; align-self:stretch; display:flex; flex-direction:column; justify-content:center; background:#aab6990e; min-width:0; }
.story-panel img { width:100%; height:330px; object-fit:contain; padding:20px; position:relative; z-index:1; }.story-panel figcaption { color:#c3cdb7; font-size:10px; padding:0 25px 20px; position:relative; z-index:1; }
.story-watermark { font-family:Display,sans-serif; font-size:220px; line-height:1; color:#b9c4a812; position:absolute; right:20px; top:0; }
.questions { display:grid; grid-template-columns:40% 1fr; gap:8%; background:#eae8de; }.questions h2 { margin:20px 0; }.questions > div > p:last-child { color:var(--muted); font-size:13px; }
.question-links > a { display:block; position:relative; padding:23px 45px 26px 0; border-bottom:1px solid #c3c7b7; }.question-links > a:first-child { border-top:1px solid #c3c7b7; }
.question-links span { font-size:9px; color:var(--rust); letter-spacing:.1em; font-weight:700; }.question-links h3 { font-family:var(--font); font-size:clamp(18px,2vw,25px); font-weight:500; line-height:1.45; margin-top:11px; letter-spacing:-.6px; }.question-links b { position:absolute; right:0; top:50%; font-size:25px; transition:transform .25s; }.question-links > a:hover b { transform:translate(4px,-4px); }
.field-notes { border-top:1px solid var(--line); }.field-note { display:grid; grid-template-columns:90px minmax(0,1fr) 44px; align-items:start; gap:25px; padding:30px 10px 30px 0; border-bottom:1px solid var(--line); transition:background .25s,padding .25s; }
.field-note:hover { background:#eaece1; padding-left:15px; }.note-index { font-family:Display,sans-serif; font-size:40px; color:#8c9781; line-height:1; padding-top:5px; }.note-name { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:9px 40px; }.note-name small { grid-column:1/-1; text-transform:uppercase; letter-spacing:.12em; font-size:9px; color:var(--rust); font-weight:700; }.note-name h3 { font-size:23px; line-height:1.35; font-weight:500; letter-spacing:-.7px; }.note-name p { font-size:12px; line-height:1.8; color:var(--muted); }.note-arrow { font-size:25px; align-self:center; }
.parts { background:#e8eade; }.parts-search { min-width:260px; }.parts-search input { background:#f8f7f0; font-size:14px; min-height:49px; }.parts-search label { font-size:12px; }.parts-search #result-count { font-size:11px; }.table-wrap { overflow-x:auto; }td { font-size:12px; }td:nth-child(2) { font-size:14px; }th { font-size:10px; }.build-sheet-footer { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-top:23px; font-size:12px; }.build-sheet-footer > p { color:var(--muted); }
.photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 28px; }.photo-grid figure:nth-child(n) { padding:0; margin:0; }.photo-grid figure:first-child { grid-column:span 2; }.photo-grid figure > a { aspect-ratio:1.4; display:block; overflow:hidden; position:relative; background:#e7e7dc; }.photo-grid figure:nth-child(n) img { aspect-ratio:auto; height:100%; width:100%; object-fit:contain; transition:transform .5s; padding:15px; }.photo-grid figure > a:hover img { transform:scale(1.035); }.photo-grid figure:first-child > a { aspect-ratio:2.4; }.photo-grid figcaption b { font-size:11px; }.photo-grid figcaption small { font-size:11px; line-height:1.7; margin-top:6px; }.photo-grid figure > a > span { min-width:40px; min-height:40px; display:grid; place-content:center; background:#f5f2eabf; }
.takeaway { display:grid; grid-template-columns:1fr 1fr; gap:9%; align-items:center; background:#eae7dc; }.takeaway h2 { font-size:clamp(44px,5.2vw,74px); margin:22px 0; }.takeaway p:not(.eyebrow) { font-size:14px; line-height:1.9; color:var(--muted); max-width:480px; }.takeaway .button { margin:27px 0 16px; }.takeaway small { display:block; font-size:11px; color:var(--muted); }.checklist-art { position:relative; padding:45px; border:1px solid #c9c9b9; background:#f7f5ec; box-shadow:14px 17px 0 #d9d9ca; transform:rotate(-3deg); transition:transform .4s; }.takeaway:hover .checklist-art { transform:rotate(-1deg); }.checklist-art > span:first-child { font-size:8px; letter-spacing:.15em; }.checklist-art > b { display:block; font-family:Display,sans-serif; font-size:clamp(40px,4.6vw,70px); line-height:1.05; margin:40px 0; }.checklist-art i { font-style:normal; font-size:8px; letter-spacing:.07em; border-top:1px solid var(--line); display:block; padding-top:20px; }.paper-corner { position:absolute; top:30px; right:30px; font-size:28px; }
.closing { position:relative; background:#edece3; border-top:1px solid var(--line); }.closing h2 { max-width:100%; font-size:clamp(65px,9vw,130px); margin:30px 0; }.closing > p:not(.eyebrow) { font-size:15px; }.closing .share-control { margin-top:28px; }.closing-back { position:absolute; bottom:85px; right:4.4%; }
.share-control { display:flex; flex-wrap:wrap; align-items:center; gap:15px; }.share-status { font-size:12px; }.share-fallback { width:min(100%,460px); padding:13px; background:var(--paper); border:1px solid var(--line); font-size:13px; }.article-share { padding:25px 0; border-top:1px solid var(--line); margin:35px 0; }.share-control .text-link { background:transparent; padding:0; }
.site-footer { grid-template-columns:1fr 1fr; gap:20px 40px; padding-top:45px; padding-bottom:30px; }.site-footer nav { grid-column:1/-1; font-size:11px; flex-wrap:wrap; gap:24px; }.site-footer small { font-size:9px; grid-column:2; text-align:right; }.site-footer > p { font-size:12px; text-align:right; }.motion-toggle { background:transparent; padding:0; text-align:left; min-height:44px; font-size:11px; width:fit-content; text-decoration:underline; text-underline-offset:4px; }
.analytics-banner { max-width:760px; left:auto; right:24px; bottom:20px; gap:18px; padding:22px 42px 22px 22px; box-shadow:0 8px 50px #1b291a24; border-color:#9ba48f; }.analytics-banner h2 { font-size:19px; }.analytics-banner p { font-size:12px; }.analytics-actions { gap:8px; }.analytics-actions .button { border:1px solid #a7ad9d; border-radius:3px; }.analytics-banner .analytics-state { font-size:10px; }
.article-body > section p { font-size:16px; line-height:1.9; }.editorial-note p { font-size:13px; }.fact-box dd { font-size:12px; }.evidence-tag { font-size:10px; }.dialog-body p,.dialog-body dd { font-size:13px; }.image-note { font-size:11px; }.dialog-close { min-width:44px; min-height:44px; }
.guide-heading { padding-top:55px; }.guide-heading h1 { font-size:clamp(60px,8vw,108px); }.guide-reading > a { transition:background .2s; }.guide-reading > a:hover { background:#dce0cf; }.guide-disclosure p,.product-links a,.parts-note { font-size:12px; }.product-card dd { font-size:14px; }.guide-jumps a { font-size:12px; min-height:44px; }.product-card { scroll-margin-top:25px; }.info-copy p { font-size:16px; }
.checklist-page { max-width:1480px; margin:auto; padding-top:60px; }.checklist-heading > .eyebrow { grid-column:1/-1; }.checklist-heading { display:grid; grid-template-columns:1.1fr 1fr; gap:30px 8%; align-items:end; }.checklist-heading h1 { font-size:clamp(62px,7.2vw,110px); line-height:1; }.checklist-heading > div > p { font-size:15px; line-height:1.9; color:var(--muted); }.checklist-heading .checklist-note { font-size:12px; margin-top:20px; }.checklist-actions { display:flex; flex-wrap:wrap; gap:12px 25px; margin-top:25px; }.checklist-state { margin:50px 0; padding:24px; background:#e7eadf; display:grid; grid-template-columns:1fr auto; gap:10px 30px; }.checklist-state > div { display:flex; align-items:center; flex-wrap:wrap; gap:15px 25px; }.checklist-state span { font-size:13px; font-weight:700; }.checklist-state progress { width:170px; height:8px; accent-color:var(--rust); }.checklist-state button { background:transparent; text-decoration:underline; font-size:12px; min-height:44px; }.checklist-state > p { grid-column:1/-1; font-size:11px; color:var(--muted); }.checklist-groups { display:grid; grid-template-columns:1fr 1fr; gap:50px 6%; margin-top:40px; }.checklist-section-title { display:flex; align-items:center; gap:18px; border-top:1px solid var(--line); padding-top:22px; }.checklist-section-title > span { font-size:30px; font-family:Display,sans-serif; color:var(--rust); }.checklist-section-title h2 { font-family:var(--font); font-size:24px; line-height:1.3; letter-spacing:-.7px; }.checklist-item { display:flex; align-items:start; gap:15px; margin-top:25px; padding:10px 0; cursor:pointer; }.checklist-item input { width:22px; height:22px; flex:0 0 22px; accent-color:var(--rust); margin:3px 0 0; cursor:pointer; }.checklist-item > span > b { display:block; font-size:14px; margin-bottom:7px; }.checklist-item > span > span { display:block; font-size:13px; color:var(--muted); line-height:1.8; }.checklist-item input:checked + span > b { color:#68765b; }.checklist-item .print-notes { display:none; }.checklist-outro { border-top:1px solid var(--line); margin-top:65px; padding-top:60px; }.checklist-outro h2 { font-size:65px; margin:25px 0; }.checklist-outro > p:not(.eyebrow) { max-width:610px; font-size:14px; color:var(--muted); }.checklist-outro .button { margin:25px 0; }
.closing { color:var(--ink); }
.closing .eyebrow, .closing > p:not(.eyebrow) { color:var(--muted); }
.closing h2 em { color:var(--rust); }
.note-index, .aside-count { color:#69765e; }
.quiet-motion { scroll-behavior:auto; }.quiet-motion *, .quiet-motion *::before, .quiet-motion *::after { animation:none!important; transition:none!important; }
@media (min-width:1650px) { .image-explorer .stage { min-height:0; } }
@media (max-width:1000px) {
  .site-header nav { gap:18px; font-size:11px; }.header-cta { display:none; }.owner-note { grid-template-columns:1fr 3fr; }.owner-stamp { display:none; }.explorer-layout { grid-template-columns:minmax(0,1fr) 240px; }.build-aside { padding:20px; }.story-panel { grid-template-columns:1fr 1fr; }.story-tabs button { gap:10px; font-size:11px; }.story-panel img { height:290px; }.note-name { grid-template-columns:1fr; gap:10px; }.note-name p { max-width:650px; }.photo-grid { gap:30px 18px; }.takeaway { gap:7%; }.checklist-art { padding:28px; }.closing-back { position:static; margin-top:25px; }.checklist-heading { grid-template-columns:1fr 1fr; gap:25px; }.checklist-section-title h2 { font-size:21px; }
}
@media (max-width:700px) {
  .site-header { height:76px; margin:0 5%; display:grid; grid-template-columns:1fr auto; gap:0 18px; }.site-header .brand { font-size:22px; }.site-header nav { display:flex; gap:18px; font-size:11px; }.site-header nav a { display:none; }.site-header nav a:nth-child(3) { display:block; }.header-cta { display:none; }.eyebrow { font-size:9px; }.section-wrap { padding:65px 5%; }.home-main h2 { font-size:clamp(43px,11vw,65px); }.home-main .section-heading { display:block; }.section-heading > p { max-width:100%; font-size:12px; margin-top:20px; }

  .owner-note { display:block; margin:0 5%; padding-left:0; padding-right:0; }.owner-note > .eyebrow { padding:0; margin-bottom:25px; }.owner-note h2 { font-size:clamp(35px,8.7vw,55px); line-height:1.15; }.owner-note p:not(.eyebrow) { font-size:14px; margin-top:20px; }.handwritten { font-size:18px; }
  .explorer { margin:0 4%; }.explorer-top { padding:14px; align-items:center; }.explorer-top .eyebrow { font-size:8px; }.image-explorer .model-note { font-size:9px; }.explorer-layout { grid-template-columns:1fr; }.image-explorer .stage { padding-top:45px; }.image-explorer .hotspots { gap:6px; padding:8px 10px; }.image-explorer .hotspot { font-size:10px; min-height:48px; border-radius:4px; }.angle-navigation span { font-size:9px; }.angle-tabs button { min-width:0; padding:9px 10px; min-height:44px; font-size:11px; }.image-explorer .mod-item b { font-size:12px; }.image-explorer .mod-item small { font-size:10px; }.image-explorer .mod-item { min-height:72px; }.image-explorer .aside-footnote { font-size:11px; }.explorer-bottom { font-size:9px; padding:15px; line-height:1.8; }.image-caption { font-size:10px; }.build-aside { padding:23px 18px; }.topic-panel h3 { font-size:44px; }.system-card b { font-size:15px; }.system-card { min-height:145px; }
  .story-section { margin-top:65px; }.story-tabs { grid-template-columns:1fr 1fr; gap:0 15px; margin-top:30px; }.story-tabs button { border-bottom:1px solid #63725e; min-height:62px; padding:15px 0; font-size:11px; }.story-panel { display:flex; flex-direction:column; align-items:stretch; margin-top:35px; gap:25px; }.story-panel-copy { padding:0; }.story-panel h3 { font-size:clamp(42px,11vw,65px); }.story-panel-copy > p:not(.eyebrow) { font-size:14px; }.story-panel img { height:240px; padding:10px; }.story-panel figcaption { font-size:10px; padding:0 15px 15px; }.story-watermark { font-size:180px; }.questions { grid-template-columns:1fr; gap:30px; }.question-links h3 { font-size:20px; }.question-links span { font-size:9px; }.field-note { grid-template-columns:35px minmax(0,1fr) 20px; gap:15px; padding:24px 0; }.note-index { font-size:30px; }.note-name h3 { font-size:20px; }.note-name p { font-size:12px; }.note-arrow { font-size:21px; }.field-note:hover { padding-left:5px; }
  .parts-search { max-width:none; }.parts-search input { width:100%; }.parts td { padding:18px 10px 18px 0; }.parts td:nth-child(2) { font-size:12px; }.parts td:first-child { font-size:10px; }.parts th { font-size:9px; }.build-sheet-footer { display:block; font-size:12px; }.build-sheet-footer .text-link { margin-top:12px; font-size:12px; }.photo-grid { grid-template-columns:1fr 1fr; gap:28px 15px; }.photo-grid figure:first-child { grid-column:1/-1; }.photo-grid figure:first-child > a { aspect-ratio:1.6; }.photo-grid figure > a { aspect-ratio:1; }.photo-grid figure:nth-child(n) img { padding:5px; }.photo-grid figcaption b { font-size:10px; line-height:1.7; }.photo-grid figcaption small { font-size:10px; }.takeaway { grid-template-columns:1fr; gap:65px; }.checklist-art { margin:0 15px 0 5px; padding:32px; }.checklist-art > b { font-size:52px; }.checklist-art > span:first-child { font-size:8px; }.checklist-art i { font-size:8px; }.takeaway h2 { font-size:clamp(40px,10vw,62px); }.closing h2 { font-size:clamp(57px,15vw,95px); max-width:100%; }.closing > p:not(.eyebrow) { font-size:14px; }.share-control { gap:12px; }.share-status { font-size:11px; width:100%; }
  .site-footer { display:flex; flex-wrap:wrap; gap:15px 25px; padding:35px 5% 25px; }.site-footer > p { text-align:left; font-size:11px; width:100%; }.site-footer nav { gap:8px 20px; font-size:11px; }.site-footer nav a { min-height:35px; display:flex; align-items:center; }.site-footer small { text-align:left; font-size:9px; width:100%; }.motion-toggle { font-size:11px; }.analytics-banner { left:12px; right:12px; bottom:12px; padding:19px 38px 19px 19px; gap:14px; }.analytics-banner h2 { font-size:18px; }.analytics-banner p { font-size:12px; }.analytics-banner .eyebrow { font-size:8px; }.analytics-banner .analytics-actions .button { padding:12px 14px; }
  .article-heading { padding-top:30px; padding-bottom:35px; }.article-heading h1 { font-size:clamp(44px,12.5vw,75px); line-height:1.02; overflow-wrap:break-word; }.article-deck { font-size:15px; }.article-byline { font-size:10px; }.article-byline span { margin:0 4px; }.article-body > section p { font-size:15px; }.article-hero figcaption { font-size:10px; }.article-hero img { max-height:300px; }.article-sidebar nav { display:grid; gap:12px; margin-bottom:30px; font-size:12px; }.article-sidebar > .eyebrow { display:block; }.editorial-note p { font-size:12px; }.fact-box dl { grid-template-columns:1fr; gap:8px; }.fact-box dd { font-size:12px; }.fact-box dt { font-size:10px; }.evidence-tag { font-size:10px; }.dialog-body h2 { font-size:40px; }.dialog-body dd { font-size:12px; }.image-note { font-size:10px; }.guide-heading { padding-top:35px; }.guide-heading h1 { font-size:clamp(54px,14vw,90px); }.guide-reading { padding-top:0; }.guide-disclosure { padding:20px; }.product-card h3 { font-size:21px; }.product-card dd { font-size:14px; }.buying-checklist li { font-size:14px; }.info-page > h1 { font-size:clamp(45px,12vw,70px); }.info-copy p { font-size:15px; }
  .checklist-page { padding-top:35px; }.checklist-heading { display:block; }.checklist-heading h1 { font-size:clamp(59px,15vw,95px); margin:25px 0 30px; }.checklist-heading > div > p { font-size:14px; }.checklist-state { grid-template-columns:1fr; padding:20px; margin:35px 0; }.checklist-state button { width:fit-content; padding:0; }.checklist-groups { grid-template-columns:1fr; gap:35px; }.checklist-section-title h2 { font-size:23px; }.checklist-item > span > b { font-size:14px; }.checklist-item > span > span { font-size:13px; }.checklist-outro h2 { font-size:53px; }
}
@media (max-width:360px) { .image-explorer .model-note { max-width:125px; font-size:8px; }.image-explorer .hotspot { font-size:9px; }.home-main h2 { font-size:43px; }.owner-note h2 { font-size:34px; } }


@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { animation:none!important; transition:none!important; } }
@media print {
  .site-header,.site-footer,.analytics-banner,.checklist-state,.checklist-actions,.share-control,.checklist-outro,.skip { display:none!important; }body { background:white; color:black; font-size:11pt; }.checklist-page { padding:0; max-width:none; }.checklist-heading { display:block; }.checklist-heading h1 { font-size:35pt; margin:10pt 0; }.checklist-heading h1 br { display:none; }.checklist-heading h1 em { color:black; }.checklist-heading > div > p { font-size:10pt; line-height:1.5; }.checklist-groups { display:block; margin-top:20pt; }.checklist-groups > section { break-inside:avoid; margin-bottom:20pt; }.checklist-section-title { padding-top:10pt; }.checklist-section-title h2 { font-size:17pt; }.checklist-item { margin-top:8pt; padding:3pt 0; }.checklist-item > span > b { font-size:11pt; }.checklist-item > span > span { font-size:9pt; line-height:1.5; }.checklist-item .print-notes { display:block; margin-top:8pt; color:black; }.checklist-item input { appearance:auto; width:12pt; height:12pt; flex-basis:12pt; accent-color:black; }
}

.checklist-item .print-check { display:none; }
@media print {
  .checklist-item input { display:none; }
  .checklist-item, .checklist-copy { display:block; }
  .checklist-item .print-check { display:inline; color:black; font-family:monospace; font-size:11pt; line-height:1.5; }
  .checklist-item .print-check::before { content:'[ ] '; }
  .checklist-item input:checked + .checklist-copy .print-check::before { content:'[x] '; }
  .checklist-item > .checklist-copy > b { display:inline; }
  .checklist-item > .checklist-copy > span:not(.print-check) { margin-left:23pt; }
}

.mobile-menu { display:none; }
@media (max-width:700px) { .site-header > nav { display:none; }.mobile-menu { display:block; position:relative; z-index:20; }.mobile-menu summary { list-style:none; cursor:pointer; min-height:44px; display:flex; align-items:center; gap:18px; font-size:12px; }.mobile-menu summary::-webkit-details-marker { display:none; }.mobile-menu summary > span { font-size:21px; }.mobile-menu[open] summary > span { transform:rotate(45deg); }.site-header .mobile-menu nav { display:grid; position:absolute; right:0; top:48px; width:230px; padding:15px 23px; gap:0; background:var(--paper); border:1px solid var(--line); box-shadow:0 15px 40px #1f2b2020; }.site-header .mobile-menu nav a { display:block; padding:12px 0; font-size:13px; min-height:44px; } }
@media print { .mobile-menu { display:none!important; } }

/* The opening experience is the truck itself, with its existing build-note routes. */
.arrival .explorer { margin:0 3%; border-color:#b3baa7; box-shadow:none; }
.arrival .explorer-top { min-height:65px; height:auto; padding:10px 20px; background:#f5f2ea80; }
.explore-invitation { font-size:11px; margin:6px 0 0; color:var(--muted); }
/* Reserve the explorer controls while its module loads, keeping the truck steady. */
html:not(.js-ready) .arrival .explore-invitation.js-only { display:block!important; visibility:hidden; }
html:not(.js-ready) .arrival .view-tabs.js-only,
html:not(.js-ready) .arrival .studio-light.js-only,
html:not(.js-ready) .arrival .angle-controls.js-only { display:flex!important; visibility:hidden; }
.arrival .explorer-layout { grid-template-columns:minmax(0,1fr) 265px; }
.arrival .stage { min-height:0; padding:40px 0 16px; justify-content:flex-start; }
.arrival .visual-wrap { width:min(100%,680px); margin:0 auto; }
.arrival .build-aside { padding:20px; }
.arrival .build-aside > p:first-of-type { font-size:24px; margin:16px 0; }
.arrival .mod-item { min-height:56px; padding:9px 0; }
.arrival .aside-footnote { margin-top:15px; }
.arrival .angle-controls { flex-direction:row; flex-wrap:wrap; justify-content:center; gap:10px 22px; }
.arrival .angle-navigation span { font-size:8px; }
.arrival .explorer-bottom { font-size:9px; padding:14px 20px; }
.arrival .hotspot:hover, .arrival .hotspot:focus-visible { background:#29362f; color:#fff9ef; }
.arrival .hotspot:hover .spot, .arrival .hotspot:focus-visible .spot { color:#f3c3a5; border-color:#e1a381; }
.arrival.after-hours .explorer-top, .arrival.after-hours .build-aside { background:#2c3830; }
.arrival.after-hours .stage { background:#354138; }
.arrival.after-hours .hotspot { background:#26332c; border-color:#7a8970; color:#f4f0e5; }
.arrival.after-hours .hotspot:hover, .arrival.after-hours .hotspot:focus-visible { background:#4a5a45; }
.arrival.after-hours .aside-count, .arrival.after-hours .image-caption { color:#c4ccbc; }
.arrival.after-hours .leader-lines line { stroke:#e6ad87; }
.arrival.after-hours .leader-lines circle { fill:#e6ad87; }
.arrival.after-hours .view-tabs button[aria-pressed=true] { color:#242e29; background:#f4f0e5; }
.arrival.after-hours .topic-panel { background:#29362f; color:#f5f2e8; }
.arrival.after-hours .system-card { color:#f5f2e8; }
/* A photographic sweep: the cutouts stay transparent, the room supplies depth. */
.arrival .stage {
  isolation:isolate;
  background:
    radial-gradient(ellipse at 52% 8%, #fafaf8 0%, #e5e6e3 32%, transparent 65%),
    linear-gradient(180deg,#b5bab8 0%,#c7cbc8 38%,#d4d6d1 57%,#c0c4bf 73%,#dce0d7 100%);
}
.arrival .stage::before {
  content:''; position:absolute; inset:36% 0 0; z-index:-1; pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%,#ffffff65,transparent 68%),url('/assets/studio-surface.svg');
  mask-image:linear-gradient(transparent,#000 18%);
}
.arrival .visual-wrap { width:min(100%,740px); }
.ground-spread { fill:#1b2323; opacity:.35; }
.ground-contact { fill:#131b1d; opacity:.62; }
.arrival .view-badge { color:#34413e; }
.arrival .angle-controls { position:relative; }
.arrival .angle-tabs button { background:#ffffff29; border-color:#858f85; }
.arrival .angle-tabs button[aria-pressed=true] { background:#29362f; color:#f8f6ef; }
.arrival .image-caption { color:#45534a; }
.arrival.after-hours .stage {
  background:radial-gradient(ellipse at 50% 6%,#74817b 0%,#46544f 31%,transparent 66%),
    linear-gradient(180deg,#202d2a 0%,#33433c 42%,#4d5b52 59%,#35443b 78%,#2c3b32 100%);
}
.arrival.after-hours .ground-spread { opacity:.58; }
.arrival.after-hours .ground-contact { opacity:.8; }
.arrival.after-hours .view-badge { color:#dbe2d7; }
.arrival.after-hours .angle-tabs button { background:#29382d66; border-color:#8c9b8a; }
.arrival.after-hours .angle-tabs button[aria-pressed=true] { background:#e4e9dc; color:#26352c; }
.visual-wrap.is-focusing .hotspots,.visual-wrap.is-focusing .leader-lines { opacity:0; pointer-events:none; }
.visual-wrap .hotspots,.visual-wrap .leader-lines { transition:opacity .16s; }

.photo-grid figure > a,.card-image,.article-hero img,.dialog-image,.photo-dialog > img,
.recovery-feature img,.story-panel figure {
  background:radial-gradient(ellipse at 50% 6%,#f7f7f3cc,transparent 64%),
    linear-gradient(180deg,#b4bdb8 0%,#cdd1ca 50%,#adb6ac 74%,#d1d8ca 100%);
}
.photo-grid img,.card-image img,.story-panel img {
  filter:drop-shadow(0 12px 7px #25342c30);
}
.story-panel figcaption { color:#34483b; }
.story-watermark { opacity:.08; }
.article-hero,.photo-dialog { background:radial-gradient(ellipse at 50% 5%,#f8f9f3cc,transparent 66%),linear-gradient(#b0bab3,#d1d7cc 62%,#b9c4b3); }
.article-hero img,.photo-dialog > img { background:transparent; filter:drop-shadow(0 12px 7px #243a2a40); }
.article-hero figcaption,.photo-dialog > p { background:var(--paper); position:relative; padding-top:14px; padding-bottom:14px; }

/* A useful first answer beside the truck, before the longer ownership story. */
.article-opening { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:6%; align-items:start; padding-top:40px; padding-bottom:40px; }
.article-opening .article-heading { padding:0; min-width:0; }
.article-heading > .eyebrow { margin-top:30px; }
.article-opening h1 { font-size:clamp(40px,4.3vw,64px); line-height:1.04; margin:18px 0; text-wrap:balance; }
.article-opening .article-byline { font-size:11px; margin-top:0; }
.article-answer { margin-top:27px; padding:22px 0 0; border-top:1px solid var(--line); }
.article-answer > p:last-child { font-size:16px; line-height:1.75; margin-top:10px; }
.article-entry-links { display:flex; flex-wrap:wrap; gap:16px 24px; align-items:center; margin-top:24px; }
.article-entry-links .button { gap:12px; }
.article-entry-links .text-link { min-height:44px; display:inline-flex; align-items:center; }
.article-contents { margin-top:22px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.article-contents summary { cursor:pointer; padding:17px 0; font-size:13px; font-weight:700; }
.article-contents summary > span { float:right; font-weight:400; color:var(--muted); font-size:11px; padding-top:2px; }
.article-contents nav { display:grid; padding-bottom:12px; }
.article-contents nav a { display:flex; align-items:center; min-height:44px; font-size:13px; line-height:1.5; padding:8px 12px; border-left:1px solid var(--line); }
.article-contents nav a:hover { color:var(--rust); background:#e8eae1; border-color:var(--rust); }
.article-opening .article-hero { margin:34px 0 0; border-radius:100px 100px 0 0; overflow:hidden; }
.article-opening .article-hero img { display:block; aspect-ratio:1/1; height:auto; max-height:none; }
.article-opening .article-hero figcaption { font-size:11px; line-height:1.6; margin:0; }
.article-layout { padding-top:30px; border-top:1px solid var(--line); }
.article-sidebar .fact-box { margin-top:0; }
@media (max-width:900px) {
  .article-opening { gap:4%; }
  .article-answer > p:last-child { font-size:15px; }
}
@media (max-width:700px) {
  .article-opening { grid-template-columns:1fr; gap:26px; padding-top:24px; padding-bottom:28px; }
  .article-opening h1 { font-size:clamp(36px,9.6vw,56px); margin:15px 0; }
  .article-heading > .eyebrow { margin-top:22px; }
  .article-answer { margin-top:20px; padding-top:18px; }
  .article-entry-links { margin-top:18px; gap:10px 20px; }
  .article-contents { margin-top:18px; }
  .article-opening .article-hero { margin:0; border-radius:60px 60px 0 0; }
  .article-opening .article-hero img { aspect-ratio:3/2; max-height:340px; }
  .article-layout { display:flex; flex-direction:column; gap:28px; padding-top:28px; }
  .article-sidebar { order:2; }
  .article-sidebar .fact-box { margin-bottom:0; }
}
.detail-image { filter:drop-shadow(0 14px 9px #20332845); }
.mod-dialog { width:min(1100px,94vw); border:1px solid #d4d8ce; border-radius:8px; }
.mod-dialog[open] { animation:none; }
#mod-content { display:grid; grid-template-columns:1.1fr 1fr; }
.upgrade-gallery { background:#d6dcd2; display:flex; flex-direction:column; min-width:0; }
.upgrade-photo { position:relative; margin:0; overflow:hidden; isolation:isolate; background:radial-gradient(ellipse at 45% 10%,#f5f6efdd,transparent 68%),linear-gradient(#aab5ad,#cbd2c7 62%,#adb9a9); }
.upgrade-image-wrap { aspect-ratio:1.52; overflow:hidden; }
.upgrade-photo img { width:100%; height:100%; object-fit:contain; padding:4%; filter:drop-shadow(0 14px 9px #1d302732); }
.upgrade-photo[data-crop="wheel-front"] img { transform:translate(7%,-17%) scale(2.3); transform-origin:43% 74%; }
.upgrade-photo[data-crop="wheel-rear"] img { transform:translate(-3%,-17%) scale(2.3); transform-origin:53% 73%; }
.upgrade-photo figcaption { position:relative; z-index:1; background:#f4f4ee; padding:14px 24px; font-size:11px; line-height:1.6; color:#344639; }
.upgrade-angles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:18px 20px 0; }
.upgrade-angles button { min-height:84px; background:#ffffff38; border:1px solid #8e9d8e; border-radius:4px; color:#26392c; font-size:9px; padding:6px 3px; }
.upgrade-angles button[aria-pressed=true] { background:#f3f5ec; border-color:#314f3b; box-shadow:inset 0 -3px #314f3b; }
.upgrade-angles img { width:100%; height:45px; object-fit:contain; }
.upgrade-angles span { display:block; padding-top:6px; }
.upgrade-gallery .image-note { padding:14px 22px 20px; margin:0; font-size:10px; line-height:1.6; }
.mod-dialog .dialog-body { padding:52px 34px 34px; }
.mod-dialog .dialog-body h2 { font-size:clamp(34px,3.5vw,52px); }
.mod-dialog .dialog-body dl { grid-template-columns:1fr; gap:12px; }
.mod-dialog .dialog-body dl > div { display:grid; grid-template-columns:90px 1fr; gap:15px; align-items:baseline; border-top:1px solid var(--line); padding-top:12px; }
.mod-dialog .dialog-body dd { margin:0; }
.mod-dialog .dialog-body .text-link { display:block; font-size:11px; margin-top:20px; }
.upgrade-photo-gap { position:relative; overflow:hidden; min-height:420px; padding:48px 35px; display:flex; flex-direction:column; justify-content:flex-end; background:radial-gradient(ellipse at 25% 0%,#71816b,#304335 74%); color:#edf1e4; }
.upgrade-photo-gap .eyebrow { position:absolute; top:38px; left:35px; right:35px; color:#d0dac7; }
.component-number { position:absolute; right:25px; top:50px; font:220px Display,sans-serif; color:#dae4cc0c; line-height:1; }
.upgrade-photo-gap h3 { position:relative; font:italic 44px/1.05 Georgia,serif; letter-spacing:-2px; margin-bottom:23px; }
.upgrade-photo-gap p { position:relative; color:#d1dbc9; font-size:13px; line-height:1.9; max-width:34ch; }
.photo-pending { border-top:1px solid #7a8e72; padding-top:20px; margin-top:30px; font-size:10px; letter-spacing:.03em; color:#e0cfb3; }
@media (max-width:700px) {
  #mod-content { grid-template-columns:1fr; }
  .mod-dialog { max-height:92dvh; }
  .upgrade-photo figcaption { padding:12px 18px; font-size:10px; }
  .upgrade-angles { padding:14px 14px 0; gap:6px; }
  .upgrade-gallery .image-note { padding:12px 16px 15px; }
  .mod-dialog .dialog-body { padding:27px 22px; }
  .mod-dialog .dialog-body h2 { font-size:38px; }
  .upgrade-photo-gap { min-height:310px; padding:70px 26px 28px; }
  .upgrade-photo-gap .eyebrow { top:27px; left:26px; }
  .upgrade-photo-gap h3 { font-size:36px; }
  .upgrade-photo-gap p { font-size:12px; }
  .component-number { font-size:180px; top:22px; }
}
@media (min-width:1650px) { .arrival .visual-wrap { width:min(100%,880px); } }
@media (max-width:1000px) {
  .arrival { margin:10px 15px 0; }
  .arrival-heading { gap:20px; }
  .arrival-heading > p { max-width:235px; font-size:11px; flex-shrink:1; }
  .arrival .explorer-layout { grid-template-columns:minmax(0,1fr) 225px; }
  .arrival .build-aside { padding:17px; }
  .arrival-bottom { flex-wrap:wrap; line-height:1.6; }
  .arrival-bottom > a { display:none; }
}
@media (max-width:700px) {
  .arrival { margin:0 8px; }
  .arrival-heading { display:block; padding:18px 4% 20px; }
  .arrival-heading .eyebrow { font-size:8px; }
  .arrival h1 { font-size:clamp(42px,10.4vw,68px); max-width:12ch; line-height:1.02; }
  .arrival-heading > p { display:none; }
  .arrival .explorer { margin:0 3%; }
  .arrival .explorer-top { padding:10px; gap:12px; align-items:center; }
  .explore-invitation { font-size:10px; max-width:21ch; line-height:1.6; }
  .studio-light { padding:7px 10px; gap:7px; font-size:10px; }
  .studio-light .light-icon { display:none; }
  .arrival .explorer-layout { grid-template-columns:1fr; }
  .arrival .stage { padding-top:38px; }
  .arrival .view-badge { left:14px; top:15px; font-size:8px; }
  .arrival .visual-frame { aspect-ratio:1.35; }
  .arrival .hotspots { position:absolute; inset:0; height:100%; display:block; padding:0; }
  .arrival .hotspot { position:absolute; transform:translate(-50%,-50%); max-width:44%; font-size:9px; min-height:44px; padding:6px 8px; border-radius:6px; }
  .arrival .leader-lines { display:block; }
  .arrival .angle-controls { gap:7px; padding-top:14px; }
  .arrival .angle-navigation { width:100%; justify-content:center; }
  .arrival .angle-tabs { width:100%; }
  .arrival .angle-tabs button { flex:1; font-size:10px; padding:8px 5px; }
  .arrival .build-aside { padding:22px 18px; }
  .arrival .mod-list { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
  .arrival .mod-item { min-height:76px; gap:7px; }
  .arrival .mod-item b { font-size:11px; }
  .arrival .mod-item > span:first-child { font-size:9px; }
  .arrival .mod-plus { display:none; }
  .arrival-bottom { display:block; padding:16px 0; font-size:8px; line-height:2; }
  .arrival-bottom > span { display:block; }
  .arrival-bottom b { margin:0 4px; }
  .arrival .explorer-bottom { display:block; font-size:9px; line-height:1.8; padding:14px; }
  .arrival .explorer-bottom > span { display:block; margin-bottom:6px; }
}

.tire-tool { padding-top:70px; padding-bottom:70px; }
.tire-tool-heading { display:grid; grid-template-columns:1.3fr 1fr; gap:22px 9%; align-items:end; margin-bottom:58px; }
.tire-tool-heading>.eyebrow { grid-column:1/-1; margin-bottom:0; }
.tire-tool-heading h1 { margin:0; font:700 clamp(56px,6.2vw,94px)/.98 Display,sans-serif; letter-spacing:-.025em; }
.tire-tool h1 em,.tire-tool h2 em { color:var(--rust); font-family:Georgia,serif; font-style:italic; font-weight:400; }
.tire-tool-heading>div p { color:var(--muted); font-size:15px; line-height:1.8; margin:0 0 15px; max-width:440px; }
.tire-tool-heading .text-link { margin-top:10px; }
.tire-workbench { border:1px solid var(--line); background:#f8f7f1; }
.comparison-topline { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:24px 30px; border-bottom:1px solid var(--line); }
.comparison-topline h2 { font:600 26px/1.1 Display,sans-serif; margin:0; }
.comparison-topline>span { font-size:10px; letter-spacing:.06em; color:var(--muted); }
.comparison-workspace { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr); }
.comparison-visual { background:radial-gradient(ellipse at 48% 25%,#fafbf5,#d8ded3 85%); display:flex; flex-direction:column; justify-content:center; overflow:hidden; }
#tire-drawing svg { width:100%; display:block; }
.comparison-ground { stroke:#8f9c8b; stroke-width:1; }
.tire-shadow { fill:#334434; opacity:.17; }
.tire-rubber { fill:#29332f; stroke:#1e2823; stroke-width:2; }
.tire-bead { fill:none; stroke:#718071; stroke-width:1; stroke-dasharray:2 5; }
.tire-rim { fill:url(#rim-metal); stroke:#8e9b8e; stroke-width:2; }
.tire-hub { fill:#455447; stroke:#c7cfc1; stroke-width:7; stroke-dasharray:16 7; }
.tire-center { fill:#b9c5b1; stroke:#29332f; stroke-width:3; }
.profile-1 .tire-rubber { stroke:var(--rust); stroke-width:3; }
.profile-label { font-size:15px; font-weight:700; fill:var(--ink); }
.profile-value { font-family:Display,sans-serif; font-size:25px; fill:#435342; }
.comparison-result { padding:2px 30px 32px; text-align:center; }
.comparison-result>span { font-size:9px; letter-spacing:.13em; color:#52644c; }
.comparison-result strong { display:block; font:700 66px/1.05 Display,sans-serif; color:var(--rust); margin-top:6px; }
.comparison-result strong small { font-size:36px; margin-left:3px; }
.comparison-result p { font-size:12px; line-height:1.6; max-width:390px; margin:12px auto 0; }
.comparison-controls { padding:28px; border-left:1px solid var(--line); }
.comparison-controls fieldset { border:0; padding:0; margin:0 0 30px; min-width:0; }
.comparison-controls legend { font-size:12px; font-weight:700; margin-bottom:18px; }
.comparison-controls legend span { display:inline-flex; width:27px; height:27px; align-items:center; justify-content:center; margin-right:8px; border:1px solid var(--line); border-radius:50%; color:var(--rust); }
.size-inputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.size-inputs label { font-size:10px; line-height:1.4; }
.size-inputs label small { display:block; color:var(--muted); font-size:9px; margin:3px 0 7px; }
.size-inputs input { width:100%; min-width:0; min-height:48px; padding:10px 7px; font:600 18px Body,sans-serif; color:var(--ink); background:#efefe5; border:1px solid #a5b09d; border-radius:0; }
.size-inputs input[aria-invalid=true] { border:2px solid #ac3a24; background:#fff1e5; }
#size-help { font-size:10px; line-height:1.75; color:var(--muted); margin:0 0 22px; }
.comparison-controls .button { width:100%; justify-content:space-between; }
.comparison-secondary { display:flex; flex-wrap:wrap; gap:4px 16px; justify-content:space-between; margin-top:12px; }
.comparison-secondary button { min-height:44px; font-size:10px; background:none; border:0; padding:5px 0; cursor:pointer; color:var(--ink); }
.comparison-status { font-size:10px; line-height:1.6; color:#53644c; margin:10px 0 0; min-height:32px; }
.comparison-data { padding:30px; border-top:1px solid var(--line); }
.comparison-data-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.comparison-data h3 { font:600 26px Display,sans-serif; margin:0; }
.unit-toggle { display:flex; gap:4px; padding:3px; background:#e9ebdf; border-radius:26px; }
.unit-toggle button { min-height:40px; border:0; padding:0 15px; border-radius:24px; font-size:10px; color:var(--ink); background:none; cursor:pointer; }
.unit-toggle button[aria-pressed=true] { background:var(--ink); color:white; }
.comparison-data table { border-collapse:collapse; width:100%; margin:22px 0; font-size:13px; }
.comparison-data th,.comparison-data td { display:table-cell; width:auto; font-size:13px; font-weight:500; border-bottom:1px solid var(--line); text-align:right; padding:15px 0 15px 14px; font-variant-numeric:tabular-nums; }
.comparison-data th:first-child { text-align:left; padding-left:0; }
.comparison-data thead th { font-size:11px; color:var(--muted); }
.comparison-data tbody th { font-size:12px; font-weight:500; }
.comparison-data td:last-child { color:var(--rust); font-weight:700; }
.comparison-limit { color:var(--muted); font-size:11px; line-height:1.8; max-width:860px; }
.comparison-privacy { margin-top:15px; font-size:10px; color:#53644c; }
.comparison-context { display:grid; grid-template-columns:1.4fr 1fr; gap:10%; padding:70px 0; }
.comparison-context h2,.comparison-share h2 { font:600 52px/1.04 Display,sans-serif; margin:18px 0 24px; }
.comparison-context p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.8; }
.comparison-context aside { background:#e9ebdf; padding:30px; align-self:start; }
.comparison-context h3 { font:600 30px/1.1 Display,sans-serif; margin:20px 0; }
.comparison-method { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.comparison-method summary { display:flex; justify-content:space-between; gap:20px; cursor:pointer; padding:24px 0; font-size:14px; }
.comparison-method summary span { color:var(--rust); }
.comparison-method>div { max-width:800px; padding:0 0 25px; font-size:12px; color:var(--muted); line-height:1.9; }
.comparison-method dl>div { display:grid; grid-template-columns:170px 1fr; gap:15px; margin:10px 0; }
.comparison-method dt { color:var(--ink); font-weight:600; }
.comparison-method dd { margin:0; }
.comparison-method a { text-decoration:underline; text-underline-offset:4px; }
.comparison-share { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:30px; padding-top:65px; }
.comparison-share .share-control { max-width:370px; justify-content:flex-start; }
.comparison-share h2 { margin-bottom:0; }
.tire-tool :focus-visible { outline:2px solid var(--rust); outline-offset:4px; }
html:not(.js-ready) .comparison-workspace { grid-template-columns:1fr; }
@media(max-width:900px) {
 .tire-tool-heading { gap:20px 5%; }.comparison-workspace { grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr); }.comparison-controls { padding:22px; }.size-inputs { gap:7px; }.comparison-context { gap:6%; }
}
@media(max-width:700px) {
 .profile-label { font-size:28px; }.profile-value { font-size:35px; }.tire-tool { padding-top:38px; }.tire-tool-heading { grid-template-columns:1fr; gap:24px; margin-bottom:36px; }.tire-tool-heading h1 { font-size:58px; }.tire-tool-heading>div p { font-size:13px; }.comparison-topline { display:block; padding:20px; }.comparison-topline h2 { font-size:24px; margin-bottom:8px; }.comparison-workspace { grid-template-columns:1fr; }.comparison-result { padding:0 20px 25px; }.comparison-result strong { font-size:56px; }.comparison-controls { border-left:0; border-top:1px solid var(--line); padding:24px 20px; }.size-inputs { gap:12px; }.comparison-controls fieldset { margin-bottom:24px; }.comparison-data { padding:24px 16px; }.comparison-data-heading { display:block; }.comparison-data h3 { font-size:24px; margin-bottom:18px; }.unit-toggle { display:inline-flex; }.comparison-data table { font-size:11px; }.comparison-data th,.comparison-data td { font-size:11px; padding:14px 0 14px 9px; }.comparison-data thead th { font-size:9px; }.comparison-data tbody th { font-size:10px; max-width:80px; }.comparison-context { grid-template-columns:1fr; gap:30px; padding:48px 0; }.comparison-context h2,.comparison-share h2 { font-size:44px; }.comparison-context p:not(.eyebrow) { font-size:13px; }.comparison-method summary { font-size:12px; }.comparison-method dl>div { grid-template-columns:1fr; gap:2px; margin-bottom:15px; }.comparison-share { padding-top:45px; }.comparison-share .share-control { width:100%; }
}
@media print {
 .tire-tool { padding:0; }.tire-tool-heading { display:block; margin-bottom:18px; }.tire-tool-heading h1 { font-size:38px; }.tire-tool-heading>div { display:none; }.comparison-topline { padding:12px; }.comparison-workspace { display:block; }.comparison-visual { display:grid; grid-template-columns:1.4fr 1fr; align-items:center; }.comparison-controls,.unit-toggle,.comparison-context,.comparison-method,.comparison-share,.comparison-privacy { display:none!important; }.comparison-result { padding:12px; }.comparison-result strong { font-size:42px; }.comparison-data { padding:16px; }.comparison-data-heading h3 { font-size:22px; }.comparison-data th,.comparison-data td { padding:10px 0; }.comparison-limit { font-size:10px; }.tire-workbench { break-inside:avoid; }
}

.field-tool-secondary { display:block; margin-bottom:22px; font-size:12px; }
.article-tool-card { padding:25px; border:1px solid var(--line); background:#e9ebdf; margin:35px 0; }.article-body .article-tool-card h2 { margin:12px 0; font-size:30px; }.article-tool-card .eyebrow { font-size:10px; }.article-tool-card .button { font-size:12px; }
