.magazine-carousel {
  position: relative;
  min-width: 0;
  border: 1px solid var(--rule);
  background: #edeae2;
}
.magazine-issue { display: block; color: var(--ink); }
.edition-cover {
  display: grid;
  place-items: center;
  height: clamp(210px, 18vw, 258px);
  padding: 22px 16px 15px;
  background: #dedad1;
}
.edition-cover img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  filter: drop-shadow(3px 5px 3px #0003);
}
.edition-copy { padding: 12px 13px 10px; }
.edition-copy h3 {
  min-height: 2.12em;
  margin: 7px 0 10px;
  font: 600 clamp(20px, 1.55vw, 24px)/1.06 var(--heading);
}
.edition-copy .text-link { border-top: 1px solid var(--rule); padding-top: 8px; font-size: 9px; }
.magazine-rail .edition-summary { display: none; }
.magazine-carousel .feature-counter { top: 6px; right: 7px; padding: 4px 6px; font-size: 9px; z-index: 1; }
.magazine-rail .feature-console {
  height: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: 'numbers numbers' 'toggle arrows';
  gap: 0;
  padding: 0 7px 2px;
}
.magazine-rail .feature-dots { grid-area: numbers; border-bottom: 1px solid #343434; }
.magazine-rail .feature-dots button { flex: 1; min-width: 0; height: 31px; }
.magazine-rail .feature-toggle { grid-area: toggle; width: auto; height: 34px; padding: 0 5px; }
.magazine-rail .feature-toggle > span { display: inline; }
.magazine-rail .feature-arrows { grid-area: arrows; }
.magazine-rail .feature-arrows button { height: 34px; width: 29px; }

.magazine-page { margin: 0 auto 45px; max-width: 900px; }
.magazine-page .magazine-issue { display: grid; grid-template-columns: 42% 1fr; }
.magazine-page .edition-cover { height: 388px; padding: 22px; }
.magazine-page .edition-copy { align-self: center; padding: 36px; }
.magazine-page .edition-copy h3 { min-height: 0; font: 700 clamp(32px, 3.6vw, 48px)/1.02 var(--heading); margin: 14px 0; }
.magazine-page .edition-summary { margin: 0 0 22px; color: #53524f; font-size: 14px; line-height: 1.7; }
.magazine-page .feature-counter { font-size: 11px; top: 12px; right: 12px; }
.magazine-page .edition-copy .text-link { font-size: 10px; }
.dialog-photo.dialog-cover { object-fit: contain; height: 292px; padding: 15px; background: #dedad1; }
.story-card.magazine-result img { object-fit: contain; background: #dedad1; padding: 8px; }
.editorial-list li + li { border-top: 1px solid var(--rule); margin-top: 0; }
.editorial-list a { padding: 9px 0; line-height: 1.2; }
.archive-links { max-width: 850px; padding-bottom: 35px; }
.archive-links h2 { font: 600 29px/1.1 var(--heading); }
.archive-links .editorial-list { margin: 0; padding-top: 0; }
@media (max-width: 600px) {
  .editorial-grid { grid-template-columns: minmax(0, 1fr); }
  .editorial-image > img, .agenda-cover { aspect-ratio: 16 / 9; }
  .editorial-column .editorial-list a { padding: 12px 0; font-size: 19px; }
}

@media (min-width: 701px) and (max-width: 980px) {
  .right-rail { display: grid; grid-column: 1/-1; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; align-items: start; }
  .right-rail > .section-heading { grid-column: 1/-1; margin-bottom: 0; }
  .right-rail > .ad-slot { margin: 0; }
  .magazine-rail .magazine-issue { display: grid; grid-template-columns: 44% 1fr; align-items: center; }
  .magazine-rail .edition-cover { height: 194px; }
}
@media (max-width: 700px) {
  .magazine-rail .magazine-issue { display: grid; grid-template-columns: 35% 1fr; align-items: center; }
  .magazine-rail .edition-cover { height: 165px; padding: 9px; }
  .magazine-rail .edition-copy { padding: 18px 12px 10px; }
  .magazine-rail .edition-copy h3 { min-height: 0; font-size: 24px; }
  .magazine-rail .feature-dots button, .magazine-rail .feature-arrows button, .magazine-rail .feature-toggle { height: 40px; }
  .magazine-page .magazine-issue { grid-template-columns: minmax(0, 1fr); }
  .magazine-page .edition-cover { height: 255px; padding: 14px; }
  .magazine-page .edition-copy { padding: 18px; }
  .magazine-page .edition-copy h3 { font-size: 31px; margin: 9px 0; }
  .magazine-page .edition-summary { font-size: 12px; line-height: 1.55; margin-bottom: 13px; }
  .magazine-page .feature-console { grid-template-columns: 36px minmax(0, 1fr) 66px; padding: 0 4px; gap: 4px; }
  .magazine-page .feature-toggle { width: 36px; padding: 0; }
  .magazine-page .feature-toggle > span { display: none; }
  .magazine-page .feature-dots button { min-width: 0; flex: 1; }
}
