.article-page { padding-block: clamp(3rem, 8vw, 7rem); }
.article-page > .shell { max-width: 76rem; }
.article-page > .shell > .eyebrow { margin-bottom: 1.5rem; }
.article-page h1 { max-width: 16ch; font-size: clamp(3rem, 8vw, 6.5rem); }
.article-deck { max-width: 42rem; margin-top: 1.25rem; font-size: clamp(1.2rem, 2.5vw, 1.65rem); line-height: 1.45; }
.article-hero { margin-block: clamp(2.5rem, 6vw, 5rem); }
.article-hero img { width: 100%; max-height: min(68vw, 46rem); object-fit: cover; object-position: center 42%; border: 1px solid var(--border-subtle); background: var(--surface-secondary); }
.article-hero figcaption { margin-top: .7rem; color: var(--text-muted); font: .75rem/1.5 var(--font-system); }
.prose { max-width: 68ch; margin-inline: auto; font-size: clamp(1.02rem, 1.4vw, 1.12rem); line-height: 1.85; }
.prose > * + * { margin-top: 1.2em; }
.prose .article-byline { margin-bottom: 2.2rem; color: var(--text-muted); font: .8rem/1.5 var(--font-system); }
.article-byline span { padding-inline: .5rem; color: var(--signal-primary); }
.prose .article-intro { color: var(--text-primary); font-size: 1.35em; line-height: 1.5; }
.prose h2 { margin-top: 3.2em; font-size: clamp(1.8rem, 4vw, 2.65rem); }
.prose strong { color: var(--text-primary); }
.paper-link { display: grid; justify-items: start; gap: .8rem; padding: 1.3rem; border-left: 2px solid var(--signal-primary); background: var(--surface-secondary); }
.paper-link > span { color: var(--text-muted); font-size: .82rem; line-height: 1.5; }
.back-link { margin-block: 4rem 1rem; }
@media (max-width: 42rem) { .article-hero img { max-height: none; aspect-ratio: 4 / 3; object-fit: cover; } }
/* Evidence media */
.evidence-section { width: min(calc(100vw - 2.5rem), 74rem); position: relative; left: 50%; transform: translateX(-50%); margin-block: 4.5rem 5rem; padding-block: 2rem; border-block: 1px solid var(--border-subtle); }
.evidence-section > .eyebrow { color: var(--signal-primary); font: .72rem/1.5 var(--font-system); letter-spacing: .12em; }
.evidence-section h2 { margin-top: .45rem; }
.evidence-intro { max-width: 62ch; color: var(--text-muted); }
.evidence-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 2rem; align-items: start; }
.evidence-card { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--border-subtle); background: var(--surface-secondary); }
.evidence-media { display: grid; place-items: center; overflow: hidden; background: #101114; }
.evidence-media video { display: block; width: 100%; max-height: 42rem; }
.evidence-dealership .evidence-media video { width: auto; max-width: 100%; aspect-ratio: 512 / 910; object-fit: contain; }
.evidence-dashcam .evidence-media video, .paired-dashcam .evidence-media video { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; }
.evidence-dealership { max-width: 38rem; }
.evidence-apple-reproduction { grid-column: 1 / -1; max-width: 56rem; }
.evidence-continuity { grid-column: 1 / -1; padding: 1rem; }
.continuity-heading { margin: .15rem .15rem 1rem; }
.continuity-heading h3 { margin: .35rem 0 0; color: var(--text-primary); font: 600 clamp(1.25rem,2.5vw,1.7rem)/1.25 var(--font-system); }
.paired-media { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; align-items: start; }
.paired-media-item { min-width: 0; display: grid; gap: .55rem; margin: 0; padding: .75rem; border: 1px solid var(--border-subtle); background: color-mix(in srgb,var(--surface-secondary) 78%,#101114); }
.media-step { color: var(--signal-primary); font: .7rem/1.5 var(--font-system); letter-spacing: .08em; text-transform: uppercase; }
.paired-media-item .evidence-media video { display: block; width: 100%; max-height: 38rem; background: #101114; object-fit: contain; }
.paired-phone .evidence-media video { aspect-ratio: 512 / 910; }
.paired-media-item p { margin: 0; color: var(--text-muted); font: .78rem/1.5 var(--font-system); }
.continuity-caption { margin: 1rem .15rem .15rem; color: var(--text-muted); font: .88rem/1.6 var(--font-system); }
.evidence-card > img { display: block; width: 100%; height: auto; }
.evidence-card figcaption { display: grid; gap: .55rem; padding: 1rem 1.15rem 1.25rem; color: var(--text-muted); font: .87rem/1.55 var(--font-system); }
.evidence-card figcaption strong { color: var(--text-primary); font: 600 1rem/1.35 var(--font-system); }
.evidence-date { color: var(--signal-primary); font-size: .66rem; letter-spacing: .09em; }
.evidence-still { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(14rem,.8fr); align-items: center; }
.evidence-still img { width: 100%; max-height: 34rem; object-fit: contain; background: #101114; }
.diagnostic-reference { padding: 1rem 1.15rem; border-left: 2px solid var(--signal-primary); background: var(--surface-secondary); color: var(--text-muted); font: .84rem/1.6 var(--font-system); }
.diagnostic-reference strong { color: var(--text-primary); }
.diagnostic-reference code { overflow-wrap: anywhere; }
@media (max-width: 46rem) { .evidence-apple-reproduction { grid-column: auto; } .evidence-grid { grid-template-columns: 1fr; } .evidence-still { grid-column: auto; display: block; } .evidence-still img { max-height: 24rem; } .evidence-media video { max-height: 75vh; } .evidence-continuity { grid-column: auto; padding: .7rem; } .paired-media { grid-template-columns: 1fr; } .paired-media-item .evidence-media video { max-height: 75vh; } }

/* Firmware and bulletin correlation */
.firmware-bulletin { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) minmax(22rem,1.05fr); gap: clamp(1rem,3vw,2rem); align-items: center; padding: 1rem; border: 1px solid var(--border-subtle); background: var(--surface-secondary); }
.firmware-photo { min-width: 0; }
.firmware-photo figure { margin: 0; }
.firmware-photo img { display: block; width: 100%; height: auto; }
.firmware-photo figcaption { padding-top: .55rem; color: var(--text-muted); font: .75rem/1.5 var(--font-system); }
.firmware-copy { min-width: 0; }
.firmware-copy h3 { margin: .35rem 0 .85rem; color: var(--text-primary); font: 600 clamp(1.35rem,2.5vw,1.8rem)/1.25 var(--font-system); }
.firmware-copy p { margin: .7rem 0; color: var(--text-muted); font: .88rem/1.65 var(--font-system); }
.firmware-copy p strong { color: var(--text-primary); }
.firmware-copy code { overflow-wrap: anywhere; color: var(--text-primary); }
.bulletin-link { display: grid; gap: .25rem; margin-top: 1rem; padding: .85rem 1rem; border: 1px solid var(--signal-primary); color: var(--text-primary); font: 600 .92rem/1.4 var(--font-system); text-decoration: none; }
.bulletin-link:hover, .bulletin-link:focus-visible { background: color-mix(in srgb,var(--signal-primary) 16%,transparent); }
.bulletin-link span { color: var(--text-muted); font-size: .73rem; font-weight: 400; }
@media (max-width: 46rem) { .firmware-bulletin { grid-column: auto; grid-template-columns: 1fr; } }

/* Dealership service record between the two recordings */
.dealership-flow { grid-column: 1 / -1; min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; align-items: start; }
.service-invoice { min-width: 0; }
.service-invoice > img { display: block; width: 100%; max-height: 40rem; object-fit: contain; background: #101114; }
@media (max-width: 46rem) { .dealership-flow { grid-column: auto; grid-template-columns: 1fr; } }
.bulletin-links { display: grid; gap: .65rem; margin-top: 1rem; }
.bulletin-links .bulletin-link { display: flex; flex-direction: column; gap: .2rem; }


.prose .closing-quote { border-left: 3px solid var(--signal-primary); padding: .3rem 0 .3rem 1.25rem; color: var(--text-primary); font-size: 1.06em; font-style: italic; }
.prose .closing-quote p + p { margin-top: 1em; }
