.opening-heading { border-bottom: 1px solid var(--rule); padding-block: .3rem 2.4rem; }
.opening-heading h1 { max-width: 24ch; font-size: clamp(3rem, 6.1vw, 5.2rem); line-height: 1.04; }
.standfirst { max-width: 51ch; font-size: 1.5rem; line-height: 1.4; margin-block: 1.5rem 0; }
.opening-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); gap: 4rem; margin-top: 2.5rem; }
.opening-copy { max-width: 64ch; padding-right: 2.5rem; border-right: 1px solid var(--rule); }
.opening-copy h2 { margin-top: 0; }
.opening-copy > a { font-size: 1.25rem; margin-top: .5rem; padding: .8rem 1.25rem; border: 1px solid var(--rose); border-radius: 999px; }
.field-ledger { padding: 1.5rem; border-radius: 24px; background: var(--rose-paper); align-self: start; }
.ledger-title { font-size: 1.25rem; font-style: italic; padding-bottom: .8rem; margin-bottom: .5rem; border-bottom: 1px solid var(--ink); }
.field-ledger > div { display: grid; grid-template-columns: 6.2rem minmax(0, 1fr); gap: .5rem; padding-block: .6rem; border-bottom: 1px solid var(--rule); }
.field-ledger > div p { font-size: 1.125rem; line-height: 1.4; margin: 0; }
.field-ledger .photo-plate { margin-top: 1.5rem; border-radius: 20px; }
.journal-index { margin-top: 3.5rem; padding-top: .5rem; border-top: 2px solid var(--ink); }
.entry-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 2.5rem; }
.entry-columns article { border-top: 1px solid var(--rule); padding-block: .4rem .6rem; }
.entry-columns h3 { margin-top: .4rem; font-size: 1.65rem; }
.entry-columns p { font-size: 1.25rem; line-height: 1.45; }
.entry-columns a { min-height: 64px; }
@media (max-width: 900px) {
  .opening-layout { gap: 2rem; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  .opening-copy { padding-right: 1.5rem; }
  .field-ledger > div { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
  .entry-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .opening-heading { padding-bottom: 1.5rem; }
  .opening-heading h1 { font-size: 3rem; }
  .standfirst { font-size: 1.375rem; }
  .opening-layout { grid-template-columns: minmax(0, 1fr); margin-top: 1.75rem; }
  .opening-copy { border-right: 0; padding-right: 0; }
  .field-ledger > div { grid-template-columns: 6.2rem minmax(0, 1fr); }
  .entry-columns { grid-template-columns: minmax(0, 1fr); gap: .8rem; }
}
