/* Give the correspondence room to breathe. Nine-slice the original photograph
   so the burned margin never grows into the text on a long sheet. */
:root {
  --paper-outset-y: 12px;
  --paper-outset-x: 16px;
  --paper-border-width: 78px 46px 64px 46px;
}
body {overflow-x: clip;}
.letter-paper,.chapter-paper,.application-paper,.wardrobe-insert article,
.programme-pages,.register-book,.register-entry-paper {
  min-width: 0;
  height: auto;
  max-height: none;
  overflow: visible;
  overflow-wrap: break-word;
}
.letter-paper:before,.chapter-paper:before,.application-paper:before,
.wardrobe-insert article:before,.programme-pages:before,.register-book:before,
.register-entry-paper:before {
  inset: calc(-1 * var(--paper-outset-y)) calc(-1 * var(--paper-outset-x));
  background: none;
  border: 0 solid transparent;
  border-image-source: url('assets/burned-paper.webp');
  border-image-slice: 180 120 150 120 fill;
  border-image-width: var(--paper-border-width);
  border-image-repeat: stretch;
}
.letter-paper {max-width: 860px; padding: 82px 78px 76px; margin-top: 20px;}
.handwritten {font-size: 1.95rem; line-height: 1.42; color: #34201d;}
.handwritten p {margin-bottom: 25px;}
.letter-meta {font-size: .875rem; flex-wrap: wrap; gap: 10px 24px;}
.letter-date {line-height: 1.6;}
.letter-postscript {line-height: 1.65; color: #54372b;}
.correspondence-desk {max-width: 1180px; grid-template-columns: 190px minmax(0, 900px); gap: 36px;}
.chapter-paper {padding: 76px 62px 70px;}
.chapter-lead {font-size: 1.4rem; line-height: 1.5; color: #442822;}
.paper-meta {flex-wrap: wrap; line-height: 1.6;}
.chapter-feedback {color: #5f352a;}
.weekend-view {max-width: 1380px; margin-inline: auto;}
.weekend-folio {max-width: 1180px; grid-template-columns: 114px minmax(0, 1fr);}
.programme-page {padding: 78px 68px 70px; height: auto; max-height: none;}
.programme-top {flex-wrap: wrap; line-height: 1.5;}
.programme-list p {font-size: 1.3rem; line-height: 1.55; color: #533629;}
.programme-list strong {font-size: 1.3rem; line-height: 1.45;}
.programme-list dt {font-size: 1rem; color: #603c29;}
.programme-opening {font-size: 1.4rem; line-height: 1.5; color: #54382b;}
.programme-margin p {font-size: 1.12rem; line-height: 1.6; color: #5c3b29;}
.programme-list>div {padding-block: 22px;}
.application-paper {max-width: 840px; padding: 78px 66px 70px;}
.wardrobe-insert {max-width: 1200px;}
.wardrobe-insert article {padding: 76px 48px 66px;}
.wardrobe-insert article>p {line-height: 1.55; color: #503328;}
.register-desk {max-width: 1180px; grid-template-columns: 215px minmax(0, 1fr); gap: 36px;}
.register-book {padding: 77px 57px 66px;}
.register-dialog {width: min(740px, 100vw); padding: 34px 38px 48px;}
.register-entry-paper {padding: 74px 56px 66px;}
.register-book-top {flex-wrap: wrap; line-height: 1.5;}
.register-slot .register-hidden-name {color: #60452f;}
.register-slot small {color: #765534;}

@media (max-width: 1050px) {
  .letter-paper {padding: 76px 56px 68px;}
  .correspondence-desk {grid-template-columns: 165px minmax(0, 1fr); gap: 26px;}
  .chapter-paper {padding: 74px 42px 64px;}
  .programme-page {padding: 76px 46px 66px;}
  .register-desk {grid-template-columns: 175px minmax(0, 1fr); gap: 28px;}
  .register-book {padding: 74px 42px 65px;}
  .wardrobe-insert article {padding: 72px 37px 64px;}
}
@media (max-width: 700px) {
  :root {--paper-outset-y: 8px; --paper-outset-x: 9px; --paper-border-width: 61px 26px 49px 26px;}
  .letter-view {padding: 22px 18px 45px;}
  .letter-paper {max-width: none; padding: 62px 25px 54px; transform: none;}
  .handwritten {font-size: 1.6rem; line-height: 1.44;}
  .handwritten p {margin-bottom: 23px;}
  .letter-paper.letter-unfolding {transform: none;}
  .letter-meta {font-size: .875rem; letter-spacing: .015em;}
  .letter-date {font-size: 1rem; margin-bottom: 25px;}
  .letter-postscript {font-size: 1rem;}
  .correspondence-desk {display: block;}
  .chapter-paper {padding: 61px 26px 55px;}
  .chapter-lead {font-size: 1.25rem;}
  .weekend-folio {display: block; margin-inline: 0;}
  .programme-page {padding: 61px 25px 55px;}
  .programme-top {font-size: .875rem;}
  .programme-list p {font-size: 1.22rem; line-height: 1.55;}
  .programme-list strong {font-size: 1.22rem;}
  .programme-list dt {font-size: 1rem;}
  .programme-opening {font-size: 1.25rem;}
  .programme-margin p {font-size: 1.05rem;}
  .wardrobe-insert article {padding: 62px 27px 55px;}
  .application-paper {padding: 62px 26px 55px;}
  .register-book {padding: 61px 27px 54px; transform: none;}
  .register-dialog {padding: 22px 24px 40px;}
  .register-entry-paper {padding: 62px 26px 55px;}
  .register-entry-paper h2 {font-size: 3rem;}
  .register-book-heading {gap: 12px;}
  .register-book-heading h2 {font-size: 1.7rem;}
}
