.subscription-page {
  width: 100%;
  max-width: 1440px;
  min-width: 0;
  padding-inline: clamp(.65rem, 2vw, 2rem);
  overflow-x: hidden;
}
.subscription-shell {
  width: min(100%, 1120px);
  margin: clamp(1rem, 3vw, 2.5rem) auto clamp(2.5rem, 6vw, 5rem);
}
.subscription-hero,
.subscription-benefits,
.free-archive {
  grid-column: 1 / -1;
  min-width: 0;
  padding: clamp(1.25rem, 4vw, 3rem);
  border: 1px solid #aaa;
  background: #fffdf7;
}
.subscription-hero { position: relative; border-top: 8px solid #8b1e2d; text-align: center; }
.edition-label,
.section-label { font: 800 0.72rem/1.2 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: #8b1e2d; }
.subscription-hero h2 { max-width: 780px; margin: .6rem auto; font-size: clamp(2rem, 5vw, 4.4rem); line-height: .98; }
.subscription-deck { max-width: 680px; margin: 1rem auto; font-size: 1.2rem; }
.teaser-fade { height: 3rem; margin: .5rem auto; max-width: 620px; background: linear-gradient(to bottom, rgba(250,248,240,0), #fffdf7); border-top: 1px solid #ddd; }
.subscribe-button { display: inline-block; margin: 1rem auto .5rem; padding: .9rem 1.2rem; color: #fff; background: #8b1e2d; font: 800 .9rem/1 var(--font-sans); text-decoration: none; text-transform: uppercase; letter-spacing: .04em; }
.subscribe-button:hover { background: #651421; }
.subscribe-button.is-disabled { background: #777; cursor: not-allowed; }
.delivery-note { color: #555; font: .82rem var(--font-sans); }
.subscription-benefits { margin-top: 1rem; columns: 2; column-gap: 3rem; }
.subscription-benefits h2 { column-span: all; margin-bottom: 1rem; }
.subscription-benefits ul { padding-left: 1.2rem; }
.subscription-benefits li { margin-bottom: .65rem; break-inside: avoid; }
.free-archive { margin-top: 1rem; }
.free-archive > h2 { margin: .35rem 0 1rem; }
.free-archive ul { list-style: none; border-top: 3px double #444; }
.free-archive li { padding: .7rem .2rem; border-bottom: 1px solid #bbb; }
.free-archive a { color: #1a1a1a; font-weight: 700; }
.archive-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.archive-card { padding: 1rem; border-top: 4px solid #8b1e2d; background: #f2f0e8; }
.archive-card p { font: 700 .68rem var(--font-sans); text-transform: uppercase; color: #666; }
.archive-card h2 { font-size: 1.15rem; }
.subscribe-panel p { max-width: 680px; margin: 1rem auto; }
@media (max-width: 640px) {
  .subscription-page { padding-inline: .55rem; }
  .subscription-page .masthead { padding-inline: .35rem; }
  .subscription-page .masthead-title { font-size: clamp(2.15rem, 12vw, 3.1rem); }
  .subscription-shell { margin-top: .75rem; }
  .subscription-hero,
  .subscription-benefits,
  .free-archive { padding: 1.1rem .9rem; }
  .subscription-hero h2 { font-size: clamp(1.85rem, 9vw, 2.65rem); }
  .subscription-deck { font-size: 1rem; }
  .subscribe-button { display: block; width: 100%; line-height: 1.2; }
  .subscription-benefits { columns: 1; }
  .archive-grid { grid-template-columns: 1fr; }
}

@media (min-width: 641px) and (max-width: 1024px) {
  .subscription-shell { width: min(100%, 900px); }
  .subscription-hero,
  .subscription-benefits,
  .free-archive { padding: clamp(1.5rem, 4vw, 2.4rem); }
}

@media (orientation: landscape) and (max-height: 700px) and (min-width: 700px) {
  .subscription-page .masthead { margin-top: .2rem; padding-block: .2rem .35rem; }
  .subscription-page .masthead-title { font-size: clamp(2.2rem, 5vw, 3.7rem); }
  .subscription-shell { margin-top: .75rem; }
  .subscription-hero h2 { font-size: clamp(2rem, 4.5vw, 3.5rem); }
  .teaser-fade { height: 1.5rem; }
}
