/* Permanent office contacts, an open notebook, and compact departmental panels. */
.office-rail-contacts { display: grid; gap: 6px; flex-shrink: 0; width: 100%; }
.wide-office .office-rail .office-contact-button {
  position: relative; display: flex; flex-direction: column; gap: 4px;
  align-items: center; justify-content: center; width: 100%; min-height: 58px;
  height: auto; padding: 8px 3px; background: #26333a; color: #eadac0;
  border: 1px solid #6c7e80; font: 13px/1.2 Arial, sans-serif;
}
.office-contact-button>span:first-child { font-size: 21px; }
.office-contact-button.has-attention { border-left: 4px solid #e5b760; }
.contact-count { position: absolute; right: 5px; top: 3px; background: #edc67b; color: #28221b; border-radius: 50%; padding: 3px 5px; font: bold 12px Arial; }
.wide-office .office-vertical.magazine-spine { min-height: 0; overflow: hidden; }
.wide-office .compact-editor-notebook { margin: 0; padding: 9px 12px !important; }
.wide-office .compact-editor-notebook .office-notebook { display: flex !important; flex-direction: column; gap: 6px; }
.wide-office .compact-editor-notebook .office-notebook h2 { font-size: 25px; margin: 4px 0; }
.wide-office .compact-editor-notebook .office-notebook .ledger-line { padding: 5px 0; font-size: 13px; }
.wide-office .compact-editor-notebook .notebook-assessment,
.wide-office .compact-editor-notebook .notebook-promises { display: none; }
.compact-editor-notebook .notebook-pages>strong { font-size: 35px; }

@media (min-width: 1450px) {
  .wide-office .office-desk-grid.with-notebook {
    grid-template-columns: clamp(170px, 11vw, 300px) minmax(210px, 1fr) clamp(210px, 12vw, 320px) clamp(170px, 10vw, 280px) !important;
    gap: 12px !important;
  }
  .wide-office .office-desk-grid.with-notebook>.office-notebook {
    display: flex !important; flex-direction: column; gap: 12px; min-height: 0;
    overflow: auto; align-self: stretch; padding: 18px 14px;
    border: 1px solid #6c7e80; background: #26333a; color: #e4cfaa;
  }
  .office-desk-grid.with-notebook .office-notebook h2 { font: 30px/1.1 Bangers, Impact, sans-serif; margin: 8px 0; }
  .office-desk-grid.with-notebook .office-notebook .ledger-line { font: 15px/1.35 Arial; padding: 10px 0; }
  .office-desk-grid.with-notebook .notebook-pages>strong { font: 44px 'Courier Prime', monospace; }
  .office-desk-grid.with-notebook .notebook-pages>span { font: 14px/1.4 Arial; }
}
@media (min-width: 1100px) and (max-width: 1449px) {
  .wide-office .office-desk-grid.with-editor-tools { grid-template-columns: 180px minmax(200px, 1fr) 245px !important; gap: 12px !important; }
}
@media (min-width: 1100px) and (max-height: 1000px) {
  .wide-office .office-rail>button { min-height: 57px !important; height: 57px !important; padding: 6px 4px !important; }
  .wide-office .office-rail>button>b { font-size: 25px; }
  .wide-office .office-rail .office-contact-button { min-height: 47px !important; padding: 5px 3px !important; }
  .wide-office .office-rail { gap: 6px !important; }
}
@media (max-width: 1099px) {
  .office-rail-contacts { display: flex; width: auto; gap: 5px; }
  .office-rail-contacts .office-contact-button { min-width: 80px; flex: 1; }
  .office-notebook { display: block !important; }
}
@media (max-width: 650px) {
  .office-rail-contacts { grid-column: 1 / -1; }
}

.office-letter-stack {
  display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
  gap: 18px !important; padding: 14px !important; align-content: start;
  background: #292a27 !important;
}
.wide-office .office-letter-stack .office-reader-letter {
  position: relative; padding: 22px 25px !important; margin: 0 !important;
  color: #3e3328; background: #f1e6cd;
  border: 1px solid #b2a183; box-shadow: 2px 3px 0 #9e8e6d55;
  background-image: linear-gradient(0deg, transparent 49.8%, #a28e6d17 50%, transparent 50.2%);
}
.wide-office .office-letter-stack .office-reader-letter:nth-child(even) { background-color: #e8dfca; }
.reader-postal-heading { display: flex; gap: 18px; justify-content: space-between; align-items: flex-start; padding-bottom: 12px; margin-bottom: 13px; border-bottom: 1px solid #98897080; }
.reader-postal-heading>span { font: 10px/1.4 Arial; letter-spacing: 1.4px; color: #7e5e41; }
.reader-postal-heading>div { text-align: right; font: 13px/1.4 'Courier Prime', monospace; }
.reader-address { font: 13px/1.45 'Courier Prime', monospace; margin: 5px 0 17px; color: #7c654d; }
.wide-office .office-reader-letter p, .reader-selection-letter p {
  font: clamp(17px, .85vw, 21px)/1.6 'Courier Prime', monospace !important;
  margin: 0 0 14px !important; text-align: left;
}
.wide-office .office-reader-letter .reader-salutation { margin-bottom: 15px !important; }
.reader-signoff { margin-top: 18px !important; }
.reader-signoff strong { display: block; font: italic bold 20px/1.5 'Courier Prime', monospace; margin-top: 3px; }
.reader-selection-letter { padding: 14px 18px 4px; background: #f2e8d0; color: #3e3328; border-top: 1px solid #b09a72; }

#magazine-reader.reader-docked[open] { display: grid; grid-template-rows: minmax(0, 1fr) !important; }
#magazine-reader.reader-docked .reader-stage { grid-row: 1; height: 100%; padding: 18px 30px; perspective: 2400px; }
#magazine-reader.reader-docked .reader-bar,
#magazine-reader.reader-docked .reader-bottom {
  position: absolute; left: 0; right: 0; z-index: 40; opacity: 0;
  pointer-events: none; transition: transform .22s ease, opacity .18s ease;
  box-shadow: 0 6px 24px #0009;
}
#magazine-reader.reader-docked .reader-bar { top: 0; transform: translateY(-105%); }
#magazine-reader.reader-docked .reader-bottom { bottom: 0; transform: translateY(105%); }
#magazine-reader.reader-top-open .reader-bar,
#magazine-reader.reader-bottom-open .reader-bottom { transform: translateY(0); opacity: 1; pointer-events: auto; }
#magazine-reader .reader-reveal {
  position: absolute; left: 0; width: 100%; height: 15px; min-height: 0; padding: 0;
  z-index: 45; border: 0; border-radius: 0; background: #171516;
}
#magazine-reader .reader-reveal::after { content: ''; position: absolute; width: 74px; height: 3px; left: calc(50% - 37px); top: 6px; background: #d1aa73; border-radius: 3px; }
.reader-reveal-top { top: 0; }
.reader-reveal-bottom { bottom: 0; }
#magazine-reader.reader-top-open .reader-reveal-top,
#magazine-reader.reader-bottom-open .reader-reveal-bottom { width: 100px; left: calc(50% - 50px); background: transparent; }
#magazine-reader.reader-docked .reader-index { z-index: 32; top: 85px; bottom: 30px; }
.reader-turning-sheet {
  position: absolute; z-index: 30; transform-style: preserve-3d; pointer-events: none;
  will-change: transform; filter: drop-shadow(0 4px 11px #0007);
}
.reader-turning-sheet.turn-forward { transform-origin: left center; animation: turn-paper-forward .62s cubic-bezier(.35,.08,.45,.95) both; }
.reader-turning-sheet.turn-backward { transform-origin: right center; animation: turn-paper-backward .62s cubic-bezier(.35,.08,.45,.95) both; }
.turning-face { position: absolute; inset: 0; backface-visibility: hidden; overflow: hidden; background: #e7deca; }
.turning-back { transform: rotateY(180deg); }
.turning-face>.book-leaf { width: 100% !important; height: 100% !important; }
.turning-face::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #0004, transparent 25%, transparent 70%, #0002); animation: turning-page-shade .62s ease both; }
@keyframes turn-paper-forward { 0% { transform: rotateY(0deg) rotateZ(0deg); } 45% { transform: rotateY(-80deg) rotateZ(-.6deg); } 100% { transform: rotateY(-180deg) rotateZ(0deg); } }
@keyframes turn-paper-backward { 0% { transform: rotateY(0deg) rotateZ(0deg); } 45% { transform: rotateY(80deg) rotateZ(.6deg); } 100% { transform: rotateY(180deg) rotateZ(0deg); } }
@keyframes turning-page-shade { 0%,100% { opacity: 0; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  #magazine-reader.reader-docked .reader-bar, #magazine-reader.reader-docked .reader-bottom { transition: none; }
  .reader-turning-sheet { display: none; }
}
@media (max-width: 650px) {
  #magazine-reader.reader-docked .reader-stage { padding: 17px 8px; }
  #magazine-reader .reader-bar { gap: 8px; }
}

#editorial-office .utility-heading { position: sticky; top: 0; background: #251e19; z-index: 5; }
#editorial-office [data-office-close] { position: relative; z-index: 6; flex-shrink: 0; pointer-events: auto; }
.negotiation-receipt {
  position: fixed; z-index: 1800; left: 50%; top: 12vh; transform: translateX(-50%);
  width: min(700px, 86vw); box-sizing: border-box; padding: 28px 60px 28px 30px;
  background: #f3e2b9; color: #30221b; border: 3px double #a23e27;
  box-shadow: 0 20px 75px #000a; animation: writer-reply-arrives 4.2s ease both;
}
.negotiation-receipt>span { display: block; font: bold 12px Arial; letter-spacing: 2px; color: #8f3c27; margin-bottom: 13px; }
.negotiation-receipt>strong { font: bold clamp(21px, 1.6vw, 29px)/1.35 'Courier Prime', monospace; }
.negotiation-receipt>button { position: absolute; top: 10px; right: 12px; background: transparent; border: 0; font: 26px Arial; color: #813c2b; padding: 5px; }
.receipt-withdrawn { border-color: #8b2520; background: #f0d0b9; }
.docket-note.deal-confirmed { animation: writer-note-settles 4.2s ease; }
@keyframes writer-reply-arrives { 0% { opacity: 0; transform: translate(-50%, -20px) rotate(-2deg); } 9%, 84% { opacity: 1; transform: translate(-50%, 0) rotate(0); } 100% { opacity: 0; transform: translate(-50%, 10px); } }
@keyframes writer-note-settles { 0%, 65% { background: #f6d38d; color: #682c1d; box-shadow: 0 0 0 2px #a85e34; } 100% { background: transparent; box-shadow: none; } }
@media (prefers-reduced-motion: reduce) { .negotiation-receipt, .docket-note.deal-confirmed { animation: none; } }

#publishing-house-panel.house-control-room {
  width: min(1240px, 95vw); max-height: 92dvh; color: #2f2923;
  background: #e6d7b7; border: 1px solid #aa8557; padding: 0;
}
.house-control-room>.utility-heading { background: #26353d; padding: 19px 25px; color: #f5ddb1; }
.house-control-room>.utility-heading h2 { font-size: 33px; margin: 6px 0 0; }
.house-control-room>.utility-heading button { background: transparent; color: #f5ddb1; border-color: #879498; font-size: 17px; padding: 9px 16px; }
.house-control-room .house-panel-body { max-height: calc(92dvh - 123px); padding: 18px 24px; box-sizing: border-box; font: 16px/1.45 Arial, sans-serif; }
.house-control-room .house-summary { display: flex; flex-wrap: wrap; gap: 14px; background: transparent; color: #353c3c; padding: 0 0 14px; font-size: 16px; }
.house-room-tabs { display: flex; gap: 5px; position: sticky; top: -18px; z-index: 8; padding: 8px 0; background: #e6d7b7; border-bottom: 2px solid #354953; margin-bottom: 17px; }
.house-room-tabs>button { flex: 1; min-height: 42px; background: #cfbc96; color: #3a3026; border-color: #ad9977; font: bold 17px Arial; padding: 8px 10px; }
.house-room-tabs>button[aria-selected="true"] { background: #9c462e; border-color: #9c462e; color: #fff0d4; }
.house-room-section[hidden] { display: none !important; }
.house-control-room .house-title-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; }
.house-control-room .house-title-grid>article { position: relative; background: #f4e8cb; border: 1px solid #ac9777; padding: 16px 14px 16px 120px; min-height: 180px; box-sizing: border-box; }
.house-control-room .house-title-grid>article.house-card-current { border-left: 5px solid #a4492e; padding-left: 116px; }
.house-card-cover { position: absolute; left: 12px; top: 15px; width: 90px; height: 140px; overflow: hidden; pointer-events: none; }
.house-card-cover .pulp-cover { width: 90px !important; height: 135px !important; transform: none !important; }
.house-card-cover .pulp-cover * { pointer-events: none; }
.house-control-room h3 { font: 26px Bangers, Impact, sans-serif; color: #334a54; margin: 18px 0 10px; }
.house-control-room .house-title-grid h3 { margin: 8px 0; font-size: 25px; }
.house-control-room .house-title-grid p { font-size: 14px; margin: 8px 0; }
.house-control-room button { font-size: 15px; padding: 8px 12px; min-height: 37px; }
.house-control-room .house-title-grid .eyebrow { font-size: 10px; color: #8f492c; letter-spacing: 1px; }
.house-control-room .house-genres { display: flex; flex-wrap: wrap; gap: 9px 14px; padding: 12px; background: #d5c39f; }
.house-control-room .house-genres label { display: flex; gap: 6px; align-items: center; margin: 0; font-size: 15px; }
.house-control-room .house-acquisition { background: #eadfca; border-left: 5px solid #9b4933; padding: 13px 16px; margin: 10px 0; }
.house-control-room .house-acquisition p { margin: 6px 0; font-size: 15px; }
.house-control-room .publication-controls { background: #f3e6c9; color: #332c24; border: 0; padding: 18px 22px; }
.house-control-room .publication-controls>h3:first-child { margin-top: 0; }
.house-control-room .publication-controls>label { display: inline-flex; align-items: center; gap: 12px; width: min(460px, 100%); margin: 12px 12px 12px 0; }
.house-control-room select { color: #342b23; background: #fff0d2; border-color: #9e8967; padding: 8px; min-height: 40px; font-size: 16px; }
.house-closure-options { border-top: 1px solid #b69f78; margin-top: 20px; padding-top: 15px; }
.house-closure-options>summary { cursor: pointer; color: #8d3e2c; font-weight: bold; }
.house-control-room .house-allocation>label { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(190px, .65fr); gap: 16px; align-items: center; padding: 10px; margin: 0; border-bottom: 1px solid #b7a17e; }
.house-control-room .house-allocation>label:nth-child(odd) { background: #f2e5c8; }
.house-control-room .house-ledger>div { background: transparent; border-bottom: 1px solid #b7a17e; padding: 9px; color: #302c25; }
.house-control-room .house-message { margin: 0; background: #26353d; color: #f0d8b2; padding: 8px 24px; font-size: 15px; }
.house-control-room .house-message:empty { display: none; }
@media (max-width: 650px) {
  .house-control-room .house-panel-body { padding: 12px; }
  .house-room-tabs { top: -12px; flex-wrap: wrap; }
  .house-room-tabs>button { flex: 1 1 40%; font-size: 15px; }
  .house-control-room .house-allocation>label { grid-template-columns: 1fr; gap: 8px; }
}

/* Letter stationery must not inherit the application's dark global header. */
.wide-office .office-letter-stack .reader-postal-heading {
  position: static !important; display: flex !important; background: transparent !important;
  color: #55432e !important; box-shadow: none !important; min-height: 0 !important;
  padding: 0 0 12px !important; border: 0 !important; border-bottom: 1px solid #a48d68 !important;
  width: auto !important; height: auto !important; grid-template-columns: none !important;
}
.wide-office .office-letter-stack .office-reader-letter p,
.wide-office .office-letter-stack .office-reader-letter strong,
.wide-office .office-letter-stack .reader-postal-heading div,
#publishing-house-panel.reader-mail-room .reader-selection-letter p,
#publishing-house-panel.reader-mail-room .reader-selection-letter strong { color: #392d21 !important; opacity: 1 !important; }
.wide-office .reader-postal-heading>span { flex: 1; min-width: 0; }
.wide-office .reader-postal-heading>div { flex: 1; min-width: 0; overflow-wrap: anywhere; }

#publishing-house-panel.house-control-room,
#publishing-house-panel.reader-mail-room { width: min(1840px,96vw) !important; max-width: 96vw !important; box-sizing: border-box; }
#publishing-house-panel.house-control-room .house-panel-body p,
#publishing-house-panel.house-control-room .house-panel-body label,
#publishing-house-panel.house-control-room .house-panel-body small { color: #40372b !important; }
#publishing-house-panel .utility-heading { display: flex; gap: 24px; align-items: center; }
#publishing-house-panel .utility-heading>div { flex: 1; min-width: 0; }
#publishing-house-panel [data-house-close] { flex-shrink: 0; white-space: nowrap; }
.house-control-room .house-title-grid { grid-template-columns: repeat(auto-fit,minmax(min(440px,100%),1fr)); }
.house-control-room .house-title-grid>article { padding: 22px 22px 22px 202px; min-height: 285px; }
.house-control-room .house-title-grid>article.house-card-current { padding-left: 198px; }
.house-control-room .house-card-cover { width: 160px; height: 245px; left: 19px; top: 20px; }
.house-control-room .house-card-cover .pulp-cover { width: 160px !important; height: 240px !important; }
.house-control-room .house-title-grid p { font-size: 17px; }
#publishing-house-panel.reader-mail-room { background: #e7d8b8; color: #352c22; padding: 0; max-height: 94dvh; }
.reader-mail-room>.utility-heading { padding: 20px 28px; background: #293840; color: #f5e2bc; }
.reader-mail-room>.utility-heading button { color: #f5e2bc; }
.reader-mail-room .house-panel-body { max-height: calc(94dvh - 130px); padding: 20px 28px 0; box-sizing: border-box; }
#publishing-house-panel.reader-mail-room .house-panel-body>p { color: #44372a !important; max-width: 1100px; font-size: 18px; }
.reader-mail-room .house-mail-grid { grid-template-columns: repeat(auto-fit,minmax(min(420px,100%),1fr)); align-items: start; }
.reader-mail-room .house-mail-grid>article { padding: 18px; background: #f4e9d0; border: 1px solid #b59d76; }
.reader-mail-room .house-mail-grid>article>label { display: flex; align-items: center; gap: 10px; color: #573723 !important; font-size: 18px; }
.reader-mail-room .reader-selection-letter { padding: 20px 0 0; background: transparent; }
#publishing-house-panel.reader-mail-room .house-mail-grid aside,
#publishing-house-panel.reader-mail-room .house-mail-grid aside p { color: #493a2a !important; font-size: 17px; }
.reader-mail-actions { position: sticky; bottom: 0; z-index: 8; display: flex; gap: 20px; flex-wrap: wrap; align-items: center; padding: 15px 0; background: #e7d8b8; border-top: 1px solid #a18b66; color: #3e3022; }
.reader-mail-room .house-message { color: #513d27; }
#magazine-reader.reader-top-open .reader-reveal-top { top: calc(var(--reader-top-height,82px) - 5px); }
#magazine-reader.reader-bottom-open .reader-reveal-bottom { bottom: calc(var(--reader-bottom-height,72px) - 5px); }
.reader-curl-sheet.turn-forward,.reader-curl-sheet.turn-backward { animation: none !important; transform: none; transform-origin: 0 50%; filter: none; }
.curl-strip { position: absolute; left: 0; top: 0; height: 100%; transform-origin: 50% 50%; transform-style: preserve-3d; will-change: transform; }
.curl-page { position: absolute; top: 0; height: 100%; }
.curl-page>.book-leaf { width: 100% !important; height: 100% !important; margin: 0 !important; }
.reader-curl-sheet .turning-face::after { animation: none; opacity: var(--curl-shade,0); background: #000; }
/* A printed dispatch: completion, the journey to the stand, then the next month. */
.month-closing-card {
  container-type: inline-size; display: flex; flex-direction: column; justify-content: flex-start;
  gap: clamp(13px, 1.25vh, 22px); min-width: 0; align-self: start; background: #efe0bc !important;
  color: #463223; padding: clamp(22px, 2.1vw, 42px) !important;
}
.wide-office .month-closing-card .month-closing-kicker {
  flex: none; color: #793b28; font: bold clamp(14px, 1.8cqw, 19px)/1.35 'Courier Prime', monospace;
  letter-spacing: .13em; margin: 0;
}
.month-closing-heading { display: flex; align-items: center; justify-content: space-between; gap: 22px; flex: none; }
.month-closing-card .month-closing-heading h2 {
  flex: 1; min-width: 0; font: clamp(31px, 4.8cqw, 58px)/1.06 Bangers,Impact,sans-serif;
  color: #813b28; margin: 0; text-wrap: balance;
}
.wide-office .month-closing-card p { color: #463223 !important; font: clamp(16px, 2.2cqw, 22px)/1.45 Arial,sans-serif; margin: 0; }
.month-closing-description { flex: none; }
.month-closing-stamp {
  flex: none; padding: 9px 14px; border: 4px double #934b31; color: #934b31;
  font: clamp(20px, 2.8cqw, 31px)/1.1 Bangers,Impact,sans-serif;
  white-space: nowrap; transform: rotate(-3deg); margin: 3px 0;
}
.month-closing-illustration {
  display: block; flex: none; min-height: 0; min-width: 0; margin: 0;
}
.month-closing-illustration img {
  display: block; width: 100%; height: auto; min-height: 0;
  object-fit: contain; object-position: center; mix-blend-mode: multiply;
}
.month-closing-next { flex: none; display: grid; gap: 12px; border-top: 2px solid #8d704c; padding-top: 15px; }
.month-closing-card .month-closing-next h3 { font: clamp(25px, 3.25cqw, 37px)/1.1 Bangers,Impact,sans-serif; margin: 0; color: #463223; }
.month-closing-actions { display: flex; justify-content: center; margin-top: 7px; }
.wide-office .month-closing-actions .month-closing-advance {
  display: grid; justify-items: center; gap: 6px; width: min(100%, 520px); min-height: 78px;
  padding: 14px 22px; border: 1px solid #743722; border-radius: 2px;
  background: #913f2b; color: #fff0cc; font: 29px/1.16 Bangers,Impact,sans-serif;
  text-wrap: balance; text-align: center; letter-spacing: .3px;
  box-shadow: inset 0 0 0 3px #913f2b, inset 0 0 0 4px #e6bb7d, 0 4px 0 #6c3524;
  transition: transform .15s, background-color .15s, box-shadow .15s;
}
.month-closing-advance::before {
  content: attr(data-closing-caption); font: bold 10px/1.2 'Courier Prime',monospace; letter-spacing: .16em;
}
.wide-office .month-closing-actions .month-closing-advance:hover { background: #a34b32; transform: translateY(-2px); }
.wide-office .month-closing-actions .month-closing-advance:active { transform: translateY(2px); box-shadow: inset 0 0 0 3px #913f2b, inset 0 0 0 4px #e6bb7d; }
.month-closing-advance:focus-visible { outline: 3px solid #572c20; outline-offset: 4px; }
.office-cover-reading-actions { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; flex: none; width: 100%; }
.wide-office .office-cover-reading-actions>button { min-width: 0; min-height: 46px; margin: 0; padding: 10px 8px; font: 15px/1.25 Arial,sans-serif; white-space: normal; }
.wide-office .office-cover-reading-actions>.office-read-button { font-weight: bold; }
/* Accounts and their finished issue share a content row and an action row. */
.wide-office .office-report-grid.current-month-report {
  grid-template-areas: 'accounts closing' 'consequences reading';
  grid-template-rows: minmax(0,auto) auto; align-content: start; align-items: stretch;
  flex: 0 1 auto; row-gap: 16px;
}
.current-month-report>.office-report-accounts {
  grid-area: accounts; display: flex; flex-direction: column; min-height: 0; overflow: auto;
}
.current-month-report>.office-report-accounts>.season-report-summary,
.current-month-report>.office-report-accounts>.office-report-numbers { flex: none; }
.current-month-report>.office-report-accounts>.ledger-line { flex: 1 0 auto; }
.current-month-report>.month-closing-card { grid-area: closing; align-self: stretch; justify-content: space-between; }
.current-month-report .month-closing-illustration {
  display: flex; align-items: center; justify-content: center; flex: 0 1 auto;
  aspect-ratio: 3 / 1; max-height: calc(100cqw / 3); min-height: 0;
}
.current-month-report .month-closing-illustration img { height: 100%; max-height: 100%; }
.report-consequence-actions { grid-area: consequences; display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap; }
.report-reading-actions {
  grid-area: reading; display: flex; justify-content: center; align-items: stretch; gap: 10px;
  width: min(100%,620px); justify-self: center;
}
.wide-office .report-consequence-actions>button,
.wide-office .report-reading-actions>button { min-width: 0; margin: 0; padding: 11px 12px; min-height: 46px; font: 16px/1.25 Arial,sans-serif; }
.report-reading-actions>button { flex: 1; }
.report-reading-actions>.office-read-button { background: #e3bd84; color: #2d2019; border-color: #f0d1a2; font-weight: bold !important; }
.wide-office .office-cover-side.report-reading-moved { grid-template-rows: auto minmax(0,1fr) auto; }
@media (max-width:650px) {
  .wide-office .office-report-grid.current-month-report {
    grid-template-areas: 'accounts' 'consequences' 'closing' 'reading'; grid-template-columns: minmax(0,1fr);
    grid-template-rows: auto auto auto auto;
  }
}
@container (max-width: 420px) {
  .month-closing-heading { gap: 12px; align-items: flex-start; }
  .month-closing-card .month-closing-heading h2 { font-size: 30px; }
  .month-closing-stamp { font-size: 18px; padding: 7px 9px; border-width: 3px; }
  .month-closing-next { gap: 9px; padding-top: 12px; }
}
@media (max-height: 850px) and (min-width: 1100px) {
  .month-closing-card { gap: 11px; padding: 22px !important; }
  .month-closing-card .month-closing-heading h2 { font-size: clamp(29px, 4.4cqw, 43px); }
  .wide-office .month-closing-card p { font-size: clamp(15px, 2cqw, 18px); line-height: 1.38; }
  .month-closing-next { gap: 8px; padding-top: 11px; }
  .wide-office .month-closing-actions .month-closing-advance { min-height: 67px; font-size: 25px; padding: 11px 16px; }
}
@media (max-height: 750px) and (min-width: 1100px) {
  .month-closing-card { padding: 16px !important; gap: 8px; }
  .month-closing-illustration img { max-height: clamp(90px, calc(100dvh - 480px), 240px); }
  .month-closing-actions { margin-top: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .wide-office .month-closing-actions .month-closing-advance { transition: none; }
}
@media(max-width:650px) {
 .house-control-room .house-card-cover { width:100px; height:155px; left:12px; }
 .house-control-room .house-card-cover .pulp-cover { width:100px !important; height:150px !important; }
 .house-control-room .house-title-grid>article,.house-control-room .house-title-grid>article.house-card-current { padding-left:130px; min-height:205px; }
 .reader-mail-room>.utility-heading { padding:16px; }
 .reader-mail-room .house-panel-body { padding:14px 14px 0; }
}

/* Continuous corner fold: no strips, tiles or independently moving fragments. */
.reader-corner-turn,.reader-stationary-page { position:absolute; pointer-events:none; z-index:30; }
.reader-stationary-page { z-index:29; overflow:hidden; }
.reader-corner-turn .turning-face { backface-visibility:visible; transform-origin:0 0; background:transparent; }
.reader-corner-turn .corner-back { overflow:visible; filter:drop-shadow(3px -3px 7px #0005); }
.reader-corner-turn .corner-back::after { background:linear-gradient(var(--fold-angle,90deg),rgba(38,26,13,.45) 0%,rgba(95,75,51,.19) 23%,rgba(255,250,226,.48) 45%,rgba(255,250,236,.18) 57%,rgba(40,27,15,.32) 100%); mix-blend-mode:multiply; opacity:var(--fold-shade,0); animation:none; }
.reader-corner-turn .corner-front::after { display:block; background:linear-gradient(var(--fold-angle,90deg),transparent 45%,rgba(45,30,18,.25) 80%,rgba(255,247,221,.34) 100%); opacity:var(--fold-shade,0); animation:none; }
.reader-corner-turn .corner-reverse-print { transform:scaleX(-1); }
.reader-corner-turn .book-leaf,.reader-stationary-page>.book-leaf { width:100% !important; height:100% !important; margin:0 !important; }
@media(prefers-reduced-motion:reduce) { .reader-corner-turn,.reader-stationary-page { display:none; } }

.reader-turn-scene { position:absolute; inset:0; pointer-events:none; z-index:30; overflow:visible; }
.reader-turn-scene>.reader-turn-underlay { inset:auto; overflow:hidden; transform:none; backface-visibility:visible; }
.reader-turn-scene>.reader-turn-underlay::after { display:none; }
.reader-turn-underlay>.book-leaf { width:100% !important; height:100% !important; margin:0 !important; }
.reader-turn-scene .corner-blank-reverse { background:#ded8c6; background-image:radial-gradient(#95866b44 .65px,transparent .8px); background-size:5px 7px; }

/* Page turning replaces the old slide-in. Replaying leaf-arrival on each copy
   nudges its text and artwork even when the outer book is perfectly fixed. */
#magazine-reader .book-leaf { animation:none !important; }


/* Paper curves in small continuous sections; reserve room for the lifted edge. */
#magazine-reader.reader-docked .reader-stage { padding-top:clamp(48px,5vh,100px); padding-bottom:clamp(48px,5vh,100px); }
.reader-corner-turn .curved-piece { overflow:hidden; transform-origin:0 0; backface-visibility:visible; }
.reader-corner-turn .curved-piece::after { animation:none; background:#382b1c; opacity:var(--curve-ink,0); mix-blend-mode:multiply; }
/* A widening animation container must not recenter the still-flat cover and
   expose a sliver of the paper under it along the left edge. */
.reader-corner-turn .curved-piece .page-cover .book-cover { justify-content:flex-start; }
#magazine-reader .reader-spread.single-leaf:has(.page-cover) { aspect-ratio:2/3!important; max-width:100%!important; }

/* Fiction pages follow the restrained running heads and outside folios of
   period pulps. The printed story opening itself serves as its headline. */
#magazine-reader .page-story .book-story-heading { border:0!important; padding:0!important; margin:0 0 1em!important; }
#magazine-reader .page-story .period-story-heading h2 { font-family:Georgia,serif!important; font-weight:700!important; font-style:normal!important; text-transform:uppercase; line-height:1.04!important; margin:0 0 .25em!important; }
#magazine-reader .page-story .period-story-heading .story-opening-art { width:100%; margin:.3em 0 .45em; }
#magazine-reader .page-story .period-story-heading .period-byline { font:700 clamp(18px,3.5cqw,30px)/1.15 Georgia,serif!important; margin:.35em 0!important; }
#magazine-reader .page-story .period-story-heading .period-teaser { font:italic 700 clamp(14px,2.4cqw,21px)/1.25 Georgia,serif!important; text-align:center; margin:.4em auto!important; max-width:95%; }
#magazine-reader .page-story .period-story-heading .period-form { display:block; font:700 clamp(14px,2.5cqw,22px)/1.2 Georgia,serif!important; letter-spacing:0!important; margin:.55em 0; }
#magazine-reader .page-story .book-prose { column-rule:0!important; }
#magazine-reader .page-story .period-running { position:relative; display:flex; align-items:baseline; justify-content:center; font:normal clamp(12px,2cqw,19px)/1.2 Georgia,serif; margin:0 0 1.1em; min-height:1.2em; }
#magazine-reader .page-story .period-running span { max-width:75%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:center; }
#magazine-reader .page-story .period-running b { position:absolute; font:inherit; }
#magazine-reader .page-story .period-running.period-left b { left:0; }
#magazine-reader .page-story .period-running.period-right b { right:0; }
#magazine-reader .page-story .period-opening-folio { display:block; border:0!important; height:auto; margin:0 5% 1.5%; font:700 clamp(12px,2cqw,19px)/1 Georgia,serif; }
#magazine-reader .page-story .period-opening-folio.period-left { text-align:left; }
#magazine-reader .page-story .period-opening-folio.period-right { text-align:right; }
#magazine-reader .page-story .period-no-folio { display:none; }
#magazine-reader .book-prose { column-rule:0!important; }
#magazine-reader .book-story-heading { border-bottom:0!important; }
#magazine-reader .pulp-folio { border-top:0!important; }

/* Period interiors use unruled running heads. */
#magazine-reader .pulp-running-head { border: 0 !important; }

/* Keep period running heads centred and all folios in black ink. */
#magazine-reader .pulp-running-head { justify-content:center!important; text-align:center!important; }
#magazine-reader .pulp-running-head > span { max-width:100%; }
#magazine-reader .pulp-running-head > strong { display:none!important; }
#magazine-reader .pulp-folio > span { display:none!important; }
#magazine-reader .pulp-folio { display:flex!important; justify-content:center!important; }
#magazine-reader .book-leaf:not(.page-cover) .book-folio,
#magazine-reader .book-leaf:not(.page-cover) .period-running { color:#141414!important; }

/* Uniform black folios and unobtrusive period running heads. */
#magazine-reader .period-running span { text-transform:uppercase; }
#magazine-reader .book-leaf:has(.book-story-heading) .pulp-running-head { visibility:hidden!important; }
#magazine-reader .period-running b,
#magazine-reader .period-opening-folio,
#magazine-reader .pulp-folio b { font:normal 19px/1.2 Georgia,serif!important; color:#141414!important; }
#magazine-reader .page-story .period-opening-folio.period-left,
#magazine-reader .page-story .period-opening-folio.period-right { text-align:center!important; }
