/* Newspaper treatment. All motion is controlled in app.js with GSAP. */
:root {
  --news-ink: #24241f;
  --news-paper: #f4f1e7;
  --news-rule: rgba(36, 36, 31, .32);
  --page-gutter: clamp(24px, 6vw, 112px);
  --page-max-width: 1440px;
  --paper-top-bleed: 96px;
  --paper-reserve: 160px;
}
body.newspaper {
  background: var(--news-paper) !important;
  color: var(--news-ink);
  padding-top: 18px;
  padding-bottom: 48px;
  min-height: 100vh;
  box-sizing: border-box;
  background-image: url("/assets/paper-grain.png") !important;
}
.masthead-spacer {height: 165px; pointer-events: none;}
.masthead {
  margin: 0 28px;
  position: relative;
}
.masthead-overline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--news-ink);
  border-bottom: 1px solid var(--news-rule);
  min-height: 27px;
  font-size: 10px;
  line-height: 14px;
  letter-spacing: 1.15px;
  font-weight: 400;
}
.masthead-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 265px 150px;
  min-height: 101px;
  align-items: center;
  gap: 24px;
}
.masthead-brand {
  display: block;
  justify-self: start;
  line-height: 0;
}
.masthead-brand img { width: 300px; height: 65px; }
.masthead-note {
  font-size: 18.5px;
  line-height: 21.5px;
  padding-left: 22px;
  border-left: 1px solid var(--news-rule);
}
.masthead-period {
  display: flex;
  flex-direction: column;
  justify-self: end;
  text-align: right;
}
.masthead-period > span {font-size: 10px; line-height: 14px; letter-spacing: 1.4px; text-transform: uppercase;}
.masthead-period > strong {font-size: 44px; font-weight: 700; line-height: 44px; letter-spacing: -2px;}
.edition-nav {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 3px solid var(--news-ink);
  border-bottom: 1px solid var(--news-ink);
  min-height: 31px;
  align-items: center;
  font-size: 10px;
  line-height: 15px;
  letter-spacing: 1.35px;
}
.edition-nav a {font-weight: 700;}
.edition-nav a:hover {text-decoration: underline; text-underline-offset: 3px;}
/* A single viewing window crops the bottom of the whole stack.
   Top padding leaves room for lifted sheets and their static shadows. */
.edition-window {
  margin-top: calc(29px - var(--paper-top-bleed));
  padding-top: var(--paper-top-bleed);
  overflow: clip;
}
.page-container {
  width: calc(100% - 2 * var(--page-gutter));
  max-width: var(--page-max-width);
  margin: 0 auto;
}
.edition-stack {
  position: relative;
  isolation: isolate;
}
.edition-slot {
  position: relative;
  height: 174px;
}
.edition-slot:nth-child(1) {z-index: 1;}
.edition-slot:nth-child(2) {z-index: 2;}
.edition-slot:nth-child(3) {z-index: 3;}
.edition-slot:last-child {height: 222px;}
.edition-sheet.wrap {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-rows: auto;
  column-gap: 22px;
  box-sizing: border-box;
  margin: 0;
  padding: 0 20px;
  width: 100%;
  /* Reserve stays beneath the next sheet, including throughout a 48px lift.
     The yellow sheet has the same reserve behind the shared bottom crop. */
  height: calc(100% + var(--paper-reserve)) !important;
  overflow: hidden;
  border-top: 0;
  background-image: url("/assets/paper-grain.png"), linear-gradient(rgba(244, 241, 231, .24), rgba(244, 241, 231, .24));
  transform: skewY(var(--sheet-tilt));
  transform-origin: center center;
  /* Each lower sheet casts a soft shadow upward onto the sheet behind it. */
  box-shadow: 0 -10px 22px -10px rgba(36,36,31,.32),
              0 -2px 7px -3px rgba(36,36,31,.18),
              0 8px 16px -14px rgba(36,36,31,.12);
  contain: layout paint;
}
.edition-sheet.wrap::after {
  content: none;
}
.edition-sheet > .column {
  grid-row: 1;
  width: auto;
  min-width: 0;
  float: none;
  display: block;
  padding: 14px 0 0;
}
.edition-sheet > .column + .column {
  padding-left: 20px;
  border-left: 1px solid var(--news-rule);
}
.edition-sheet .titel {font-size: 50px; line-height: 46px; letter-spacing: -.8px; overflow-wrap: anywhere;}
.edition-sheet .column-two {width: 46%; padding-bottom: 13px !important;}
.edition-sheet .column-text {column-gap: 20px; padding-top: 11px; border-top: 1px solid var(--news-rule);}
.edition-sheet img {filter: none;}
.edition-sheet:focus-visible {outline: 2px solid var(--news-ink); outline-offset: -5px;}
/* Article pages share the existing typography and column rules. */
.newspaper:not(.newspaper-home) .wrap {
  width: calc(100% - 40px);
  box-sizing: border-box;
  margin: 30px 20px 0;
  padding-left: 10px;
  border-top: 1px solid var(--news-ink);
}
.newspaper:not(.newspaper-home) .column-content {width: calc(50% - 20px);}
.newspaper:not(.newspaper-home) .column-text {column-gap: 22px; column-rule: 1px solid var(--news-rule);}
@media screen and (max-width: 1000px) {
  .masthead-main {grid-template-columns: minmax(0,1fr) auto; gap: 20px;}
  .masthead-note {display: none;}
  .masthead-overline {font-size: 9px; letter-spacing: .6px;}
  .edition-sheet .column-two {width: 50%;}
  .edition-sheet .column-text {column-count: 1;}
  .newspaper:not(.newspaper-home) .column-content {width: calc(100% - 20px);}
  .newspaper:not(.newspaper-home) #wrapmobile > .column {width: calc(50% - 20px);}
}
@media screen and (max-width: 700px) {
  .masthead {margin-left: 20px; margin-right: 20px;}
  .masthead-overline > :nth-child(2) {display: none;}
  .edition-sheet.wrap {padding: 0 16px; column-gap: 16px;}
  .edition-sheet > .column + .column {padding-left: 16px;}
    }
