.model-planning { padding-top: 4rem; padding-bottom: 4rem; }
.model-reference-list { margin: 0 0 1.5rem; border-top: 1px solid var(--line); }
.model-reference-list > div { display: grid; grid-template-columns: minmax(8rem, .35fr) 1fr; gap: 1.5rem; padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.model-reference-list dt { font-weight: 800; color: var(--warm-deep); }
.model-reference-list dd { margin: 0; }
.model-reference-list dd p { max-width: 72ch; margin: .5rem 0 0; color: var(--muted); }
.model-scope-note { max-width: 88ch; color: var(--muted); }
.configuration-reference { scroll-margin-top: 7rem; }
.configuration-reference .text-link { display: inline-flex; align-items: center; min-height: 44px; }
.configuration-reference .reference-intro { max-width: 76ch; line-height: 1.7; }
.configuration-ledger { margin: 2rem 0 1.5rem; border-top: 1px solid var(--line); }
.configuration-ledger > div { display: grid; grid-template-columns: minmax(9rem, .3fr) 1fr; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.configuration-ledger dt { font-weight: 750; }
.configuration-ledger dd { margin: 0; max-width: 76ch; line-height: 1.7; }
.configuration-ledger dd p { margin: .5rem 0 0; color: var(--muted); }
.configuration-ledger ul { margin: 0; padding-left: 1.2rem; }
.configuration-ledger li + li { margin-top: .45rem; }
.reference-caution { max-width: 82ch; padding: 1.25rem 1.5rem; border-left: 3px solid var(--warm-deep); background: var(--cream); line-height: 1.7; }
.reference-source { max-width: 82ch; color: var(--muted); font-size: .95rem; line-height: 1.7; }
.archive-photo-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 2.5rem; align-items: start; margin-top: 2rem; }
.archive-photo-layout figure { margin: 0; min-width: 0; }
.archive-photo-layout img { display: block; width: 100%; height: auto; }
.archive-photo-layout a { display: block; }
.archive-photo-layout a:focus-visible { outline: 3px solid var(--ink); outline-offset: 5px; }
.archive-photo-layout figcaption { margin-top: 1rem; font-size: .95rem; line-height: 1.7; color: var(--muted); }
.archive-photo-layout figcaption strong { display: block; color: var(--ink); }
.archive-photo-copy p { max-width: 60ch; line-height: 1.7; }
.archive-photo-copy h3 { margin-top: 0; }
.archive-photo-layout.compact-source { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.compact-source figure { max-width: 597px; }
.packing-photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.packing-photo-grid figure { margin: 0; min-width: 0; }
.packing-photo-grid a { display: block; background: var(--cream); }
.packing-photo-grid a:focus-visible { outline: 3px solid var(--ink); outline-offset: 5px; }
.packing-photo-grid img { display: block; width: 100%; max-width: 100%; height: 420px; object-fit: contain; }
.packing-photo-grid figcaption { padding-top: 1rem; font-size: 1rem; line-height: 1.6; }
.packing-photo-grid figcaption strong, .packing-photo-grid figcaption span { display: block; }
.packing-photo-grid figcaption span { margin-top: .4rem; color: var(--muted); }
@media(max-width: 650px) {
  .model-reference-list > div { grid-template-columns: 1fr; gap: .6rem; }
  .configuration-ledger > div { grid-template-columns: 1fr; gap: .65rem; }
  .archive-photo-layout, .archive-photo-layout.compact-source { grid-template-columns: 1fr; gap: 1.5rem; }
  .reference-caution { padding: 1rem; }
  .packing-photo-grid { grid-template-columns: 1fr; gap: 2rem; }
  .packing-photo-grid img { height: auto; max-height: 580px; }
}
