.edition-hub { padding-bottom:3rem; }
.edition-hub h1, .edition-hub h2, .edition-hub h3 { line-height:1.16; margin:0; text-wrap:balance; overflow-wrap:anywhere; }
.edition-hub h1, .edition-hub .edition-hero-title { font-family:var(--display); font-size:clamp(2.15rem,4.2vw,4.25rem); }
.edition-hub h2 { font-family:var(--serif); font-size:clamp(1.5rem,2.9vw,2.55rem); }
.edition-hub h3 { font-family:var(--serif); font-size:clamp(1.25rem,1.8vw,1.7rem); }
.edition-hub p { line-height:1.6; }
.edition-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); margin-block:1rem 2rem; background:#e2ece6; }
.edition-hero > div { padding:clamp(1.25rem,3.5vw,3.5rem); align-self:center; }
.edition-hero h3 { margin-top:1.5rem; font-size:clamp(1.5rem,2.9vw,2.55rem); }
.edition-hero .edition-photo { display:flex; flex-direction:column; margin:0; min-width:0; }
.edition-hero .edition-photo img { flex:1; min-height:0; max-height:36rem; object-fit:cover; }
.edition-photo { margin:0; }
.edition-photo img { display:block; width:100%; height:auto; }
.edition-photo figcaption { font-size:.875rem; padding:.4rem .65rem; background:var(--paper-light); line-height:1.45; overflow-wrap:anywhere; }
.edition-photo a, .edition-card h3 a { text-decoration:underline; text-underline-offset:.18em; }
.edition-action { display:inline-flex; align-items:center; min-height:44px; padding:.55rem 1rem; margin-top:.5rem; background:var(--pine-deep); color:var(--paper-light); text-decoration:none; }
.edition-action:hover, .edition-action:focus-visible { background:var(--pine); }
.edition-region, .edition-distance { font-size:1rem; }
.edition-region { margin:0 0 .5rem; color:var(--pine); }
.edition-index-head { padding:clamp(1.25rem,3vw,2.5rem) 0; max-width:54rem; }
.edition-routes { margin-top:2rem; }
.edition-card-grid { display:grid; gap:clamp(1rem,2vw,2rem); grid-template-columns:repeat(3,minmax(0,1fr)); margin:1rem 0; }
.edition-card { padding:1rem 0; border-top:1px solid var(--line); overflow-wrap:anywhere; }
.edition-card h3 a { display:inline-flex; align-items:center; min-height:44px; }
.edition-card .edition-photo { margin-bottom:1rem; }
.edition-card .edition-photo img { aspect-ratio:3/2; object-fit:cover; }
.edition-distance { margin:.7rem 0 0; color:var(--pine); }
@media(max-width:760px) {
  .edition-hero, .edition-card-grid { grid-template-columns:1fr; }
  .edition-hero .edition-photo img { aspect-ratio:3/2; max-height:none; }
}
