.article-kicker { color: #707070; font-size: .78rem; letter-spacing: .04em; }
.finding { border-left: 3px solid #146b8a; background: #f5f8f9; padding: 20px 24px; margin: 28px 0; }
.finding p { margin: 0; }
.graph-figure img { display: block; width: 100%; height: auto; }
.equation { padding: 20px; margin: 24px 0; background: #f5f8f9; text-align: center; font-size: 1.05rem; overflow-wrap: anywhere; }
.table-scroll { overflow-x: auto; margin: 24px 0; }
.table-scroll table { width: 100%; border-collapse: collapse; font-size: .84rem; font-variant-numeric: tabular-nums; }
.table-scroll th, .table-scroll td { padding: 9px 10px; border-bottom: 1px solid #e9e9e9; text-align: right; white-space: nowrap; }
.table-scroll th:first-child, .table-scroll td:first-child { text-align: left; }
.table-scroll th { background: #f5f8f9; font-weight: 600; }
.accuracy-grid .graph-figure { margin-block: 24px; }
@media (max-width: 560px) { .finding { padding: 16px; } .table-scroll table { font-size: .75rem; } .table-scroll th, .table-scroll td { padding: 8px 7px; } }
@media print { .graph-figure, .table-scroll, .equation { break-inside: avoid; } }

.reader-note { color: #707070; font-size: .85rem; border-bottom: 1px solid #e9e9e9; padding-bottom: 24px; }
.technical-appendix { border-top: 2px solid #e9e9e9; margin-top: 56px; padding-top: 12px; }
.appendix-nav { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 28px; font-size: .85rem; }
.technical-appendix h3 { margin-top: 2.2em; scroll-margin-top: 24px; }
.technical-appendix h4 { font-size: 1rem; font-weight: 600; margin: 1.5em 0 .6em; }
.table-scroll caption { text-align: left; font-size: .8rem; color: #707070; padding-bottom: 10px; }
.table-scroll tbody th { background: transparent; font-weight: 400; }
#recommendation, #lessons { scroll-margin-top: 24px; }

.city-map-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 28px 0 12px; align-items: start; }
.city-map { margin: 0; min-width: 0; }
.city-map figcaption { font-size: .85rem; font-weight: 600; margin-bottom: 10px; }
.city-map img { display: block; width: 100%; height: auto; }
.map-caption { color: #707070; font-size: .8rem; line-height: 1.65; }
#road-map-details { scroll-margin-top: 24px; }
@media (max-width: 560px) { .city-map-grid { grid-template-columns: 1fr; gap: 24px; } .city-map figcaption { font-size: 1rem; } }
@media print { .city-map-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); break-inside: avoid; } }
@media (min-width: 1000px) { .city-map-grid { width: min(1000px, calc(100vw - 80px)); margin-left: 50%; transform: translateX(-50%); } }
@media print { .city-map-grid { width: 100%; margin-left: 0; transform: none; } }
