.magazine-cover { container-type: inline-size; width: 100%; color: #23313b; background: #fcfbf7; }
.cover-sheet { aspect-ratio: 210 / 297; display: grid; grid-template-rows: 13% 47% 40%; overflow: hidden; border: 1px solid #cfc4b0; }
.cover-masthead { display: flex; flex-direction: column; justify-content: center; text-align: center; padding: 0 5%; border-top: 1.2cqw solid #9b7939; }
.cover-name { font: 400 10cqw/.95 var(--display); letter-spacing: .65cqw; margin: 0 0 1.4cqw; }
.cover-institution { font: 600 2.35cqw/1.2 var(--sans); text-transform: uppercase; letter-spacing: .36cqw; margin: 0; }
.cover-seal { display: none; object-fit: contain; }
.cover-official .cover-sheet { grid-template-rows: 23% 25% 52%; border: 1cqw solid #23313b; }
.cover-official .cover-masthead { border-top: 0; }
.cover-official .cover-seal { display: block; width: 11cqw; height: 12cqw; margin: 0 auto 2cqw; }
.cover-official .cover-name { font-size: 6.5cqw; letter-spacing: .35cqw; }
.cover-official .cover-photograph { margin: 0 6%; border-block: 1px solid #b89a58; }
.cover-official .cover-photograph img { opacity: .12; }
.cover-official .cover-photograph::after { background: none; }
.magazine-cover.cover-official .cover-headline { color: #23313b; font-size: 8.4cqw; bottom: 10%; }
.magazine-cover.cover-official .cover-headline-long { font-size: 6.8cqw; }
.cover-official .cover-kicker { padding-left: 0; background: transparent; }
.cover-official .cover-information { text-align: center; padding-top: 7%; }
.cover-official .cover-description { font-size: 4.5cqw; }
.cover-community .cover-sheet { grid-template-rows: 11% 53% 36%; }
.cover-community .cover-masthead { border-top-color: #23313b; text-align: left; align-items: flex-start; }
.cover-community .cover-name { font: 700 7cqw/1 var(--sans); letter-spacing: -.15cqw; margin-bottom: 1cqw; }
.cover-community .cover-institution { font-size: 2.1cqw; letter-spacing: .2cqw; }
.cover-community .cover-description { font: 400 4cqw/1.4 var(--sans); }
.cover-community .cover-information { padding-top: 4%; }
.cover-feast .cover-sheet { grid-template-rows: 20% 38% 42%; border: 1cqw solid #b89a58; background: #f7f2e7; }
.cover-feast .cover-masthead { border: 0; }
.cover-feast .cover-seal { display: block; width: 8cqw; height: 9cqw; margin: 0 auto 1.4cqw; }
.cover-feast .cover-name { font-size: 7.2cqw; letter-spacing: .4cqw; }
.cover-feast .cover-institution { font-size: 2.05cqw; }
.cover-feast .cover-photograph { margin-inline: 4%; border: 1px solid #b89a58; }
.magazine-cover.cover-feast .cover-headline { font-size: 9.2cqw; }
.magazine-cover.cover-feast .cover-headline-long { font-size: 7.1cqw; }
.cover-feast .cover-information { text-align: center; }
.cover-photograph { position: relative; isolation: isolate; overflow: hidden; }
.cover-photograph img { position: absolute; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.cover-photograph::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(15 25 31 / 92%), rgb(15 25 31 / 8%) 75%); z-index: -1; }
.cover-kicker { position: absolute; top: 5%; left: 6%; margin: 0; padding: 1.4cqw 2cqw; background: #fcfbf7; color: #554529; font: 600 2.65cqw/1.3 var(--sans); text-transform: uppercase; letter-spacing: .2cqw; }
.magazine-cover .cover-headline { position: absolute; bottom: 7%; left: 6%; right: 6%; margin: 0; color: #fffdf7; font: 400 10.2cqw/1.02 var(--display); letter-spacing: -.15cqw; text-wrap: balance; }
.magazine-cover .cover-headline-long { font-size: 7.8cqw; }
.cover-information { display: flex; flex-direction: column; min-height: 0; padding: 5% 6% 3%; }
.cover-description, .cover-date, .cover-location, .cover-headline { overflow-wrap: anywhere; }
.cover-description { font: 400 4.25cqw/1.4 var(--serif); margin: 0 0 3cqw; }
.cover-facts { border-top: 1px solid #bfae8d; padding-top: 2.6cqw; margin-top: auto; }
.cover-date { font: 600 3.65cqw/1.3 var(--sans); margin: 0 0 1.8cqw; }
.cover-location { font: 400 3.2cqw/1.3 var(--sans); margin: 0; }
.cover-review { font: 400 2.3cqw/1.25 var(--sans); color: #705b32; margin: 2.8cqw 0 0; }
.announcement-slot { width: 280px; }
.announcement-card { padding: 0; overflow: visible; background: transparent; border: 0; border-radius: 0; box-shadow: 0 10px 35px rgb(24 34 41 / 23%); }
.announcement-card-inner { max-height: calc(100dvh - 62px); overflow-y: auto; overscroll-behavior: contain; background: #fcfbf7; }
.announcement-card .cover-sheet { aspect-ratio: auto; grid-template-rows: 18cqw 66cqw minmax(56cqw, auto); }
.announcement-card .cover-official .cover-sheet { grid-template-rows: 32cqw 35cqw minmax(73cqw, auto); }
.announcement-card .cover-community .cover-sheet { grid-template-rows: 15cqw 75cqw minmax(51cqw, auto); }
.announcement-card .cover-feast .cover-sheet { grid-template-rows: 28cqw 54cqw minmax(59cqw, auto); }
.announcement-card .cover-information > * { flex-shrink: 0; }
.announcement-card .announcement-close { position: absolute; top: -13px; right: -10px; z-index: 1; width: 34px; height: 34px; margin: 0; color: #fff; background: #23313b; border: 1px solid #fcfbf7; border-radius: 50%; }
.announcement-card .announcement-close:hover { background: #41515c; }
.announcement-card .announcement-link { display: flex; justify-content: space-between; margin: 0; min-height: 40px; padding: 8px 16px; border: 1px solid #cfc4b0; border-top: 0; text-decoration: none; background: #fcfbf7; }
.cover-editor-fields { margin: 24px 0; border: 1px solid #d7cdbb; padding: 18px; min-width: 0; }
.cover-editor-fields legend { font: 400 24px/1.2 var(--display); padding-inline: 7px; }
.announcement-field textarea { padding: 10px; border: 1px solid var(--line); border-radius: 3px; width: 100%; max-width: 100%; font: inherit; resize: vertical; background: #fff; }
.cover-editor-preview { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px; padding-top: 24px; border-top: 1px solid #d7cdbb; }
.cover-editor-preview > div { width: 280px; max-width: 100%; }
.cover-editor-preview > p { flex: 1; min-width: 150px; font: 400 12px/1.8 var(--sans); color: #626b70; }
.cover-image-note { font: 400 11px/1.6 var(--sans); color: #626b70; margin: 0 0 14px; }
.cover-paper-page { background: #eeeae2; min-height: 100vh; }
.cover-paper-toolbar { max-width: 900px; margin: 0 auto; padding: 25px 24px; }
.cover-paper-toolbar h1 { font: 400 32px/1.2 var(--display); margin: 0 0 12px; }
.cover-paper-toolbar p { font: 400 13px/1.7 var(--sans); }
.cover-paper-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
.cover-paper-actions a { font: 600 13px/1.6 var(--sans); text-decoration: underline; }
.cover-paper-preview { width: min(595px, calc(100% - 40px)); margin: 0 auto 40px; box-shadow: 0 8px 35px rgb(24 34 41 / 15%); }
@media (max-width: 760px) {
  .announcement-slot { width: 252px; right: 16px; max-width: calc(100% - 32px); }
  .announcement-card { padding: 0; }
  .announcement-card-inner { max-height: calc(100dvh - 56px); }
  .announcement-card .announcement-close { width: 38px; height: 38px; }
  .cover-editor-fields { padding: 13px; }
}
@media print {
  @page { size: A4 portrait; margin: 0; }
  html, body.cover-paper-page { width: 210mm; height: 297mm; padding: 0; margin: 0; background: white; }
  .cover-paper-toolbar { display: none; }
  .cover-paper-preview { width: 210mm; height: 297mm; margin: 0; box-shadow: none; }
  .cover-sheet { width: 210mm; height: 297mm; border: 0; }
  .magazine-cover { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
