/* Reading and contact live in the same landscape as the landing page. */
.editorial-page { --wash: #ffffff0a; min-height: 100svh; }
.editorial-page::before {
  background: linear-gradient(90deg, #09121f94, #09121f42 65%, #09121f20), linear-gradient(#101a2b25, #101a2b55);
}
.editorial-page .shell:not(.site-header) { width: min(1100px, calc(100% - 96px)); }
.editorial-page img { filter: none; }
.editorial-page .archive-page { padding-bottom: 100px; }
.editorial-page .archive-header { margin: 0; padding: 82px 0 48px; border: 0; }
.editorial-page .archive-header h1, .contact-main h1 {
  margin: 0; color: #fff5e8; font-size: clamp(62px, 8vw, 96px);
  font-weight: 400; line-height: 1.04; letter-spacing: -.055em;
  text-shadow: 0 3px 28px #101a2b40;
}
.editorial-page .return-link { display: inline-block; margin: 0 0 28px; padding: 8px 0; color: #ffdcba; font-size: 13px; text-underline-offset: 5px; }
.editorial-page a:focus-visible { outline: 2px solid #ffdcba; outline-offset: 5px; }
.editorial-page .archive-page > .section { padding: 0; border: 0; }
.writing-archive .archive-page { max-width: 940px; }
.writing-archive .writing {
  background: linear-gradient(120deg, #172332d9, #172332ad);
  border: 1px solid #ffffff24 !important; border-radius: 24px;
  padding: 10px 36px !important;
}
.writing-archive .post-row { grid-template-columns: 130px minmax(0, 1fr); gap: 30px; padding: 34px 0; border-color: var(--line); }
.writing-archive .post-row:last-child { border-bottom: 0; }
.writing-archive .post-date { padding-top: 8px; font-size: 12px; }
.writing-archive .post-copy h3 { margin: 0 0 12px; font-size: clamp(27px, 3vw, 35px); font-weight: 400; line-height: 1.18; letter-spacing: -.035em; }
.writing-archive .post-copy p { max-width: 56ch; color: #e0e4e7; font-size: 15px; line-height: 1.75; }
.recaps-archive .archive-recaps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.recaps-archive .tile { color: #fff; background: #172332c9; border: 1px solid #ffffff24; border-radius: 20px; overflow: hidden; }
.recaps-archive .tile__image { aspect-ratio: 1.55; background: #253342; }
.recaps-archive .tile__image img, .recaps-archive .tile:hover .tile__image img { filter: none; }
.recaps-archive .tile:hover .tile__image img { transform: scale(1.025); }
.recaps-archive .tile__body { padding: 22px 26px 28px; }
.recaps-archive .tile time { color: #e9c5a2; font-size: 12px; }
.recaps-archive .tile h3 { max-width: 28ch; margin: 8px 0 0; font-size: 23px; line-height: 1.25; font-weight: 400; letter-spacing: -.025em; }
.recaps-archive .tile:hover h3 { color: #ffdab7; }
.editorial-page .article-page { padding: 70px 0 100px; }
.editorial-page .article {
  max-width: 850px; margin: 0 auto; padding: clamp(24px, 5vw, 64px);
  border: 1px solid #ffffff24; border-radius: 26px;
  background: linear-gradient(130deg, #172332ee, #172332d9);
}
.editorial-page .article-header { margin: 0 0 38px; padding: 0 0 32px; border-bottom: 1px solid var(--line); }
.editorial-page .article-header h1 { max-width: 17ch; margin: 0 0 25px; color: #fff3e3; font-size: clamp(40px, 5vw, 68px); font-weight: 400; line-height: 1.08; letter-spacing: -.05em; text-wrap: balance; }
.editorial-page .article-date { color: #e9c5a2; font-size: 13px; }
.editorial-page .prose { max-width: 680px; color: #eef0f2; font-size: 18px; line-height: 1.85; }
.editorial-page .prose p { margin-bottom: 1.4em; }
.editorial-page .prose h2, .editorial-page .prose h3, .editorial-page .prose h4 { color: #fff3e3; scroll-margin-top: 112px; }
.editorial-page .prose h2 { margin-top: 1.8em; font-size: 31px; line-height: 1.25; letter-spacing: -.035em; }
.editorial-page .prose h3 { font-size: 25px; line-height: 1.3; }
.editorial-page .prose a { color: #ffdab7; text-underline-offset: 4px; }
.editorial-page .prose img, .editorial-page .prose video { height: auto; max-width: 100%; margin-block: 30px; border-radius: 12px; }
.editorial-page .prose figure { margin: 32px 0; }
.editorial-page .prose figcaption { color: #c4cbd1; font-size: 13px; }
.editorial-page .prose blockquote { margin: 34px 0; padding: 4px 0 4px 24px; border-color: #d6af81; color: #ffdfba; font-size: 24px; line-height: 1.5; }
.editorial-page .prose pre { max-width: 100%; padding: 24px; border: 1px solid #ffffff29; border-radius: 12px; background: #0a1421a6; }
.editorial-page .prose code { font-family: "Universal Sans", sans-serif; background: #ffffff0d; font-size: .86em; }
.editorial-page .prose pre code { background: none; }
.editorial-page .prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .9em; }
.editorial-page .prose th, .editorial-page .prose td { padding: 12px 16px; border-bottom: 1px solid var(--line); text-align: left; }
.contact-main { min-height: calc(100svh - 120px); padding: 18vh 0 100px; }
.contact-main > p { margin: 28px 0 34px; color: #e5e8ed; font-size: 20px; }
.contact-email { display: inline-block; color: #ffdcba; font-size: clamp(25px, 4vw, 45px); letter-spacing: -.035em; text-underline-offset: 10px; text-decoration-thickness: 1px; }
.contact-links { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 65px; font-size: 14px; }
.contact-links a { color: #f2e8df; }
main:focus { outline: none; }
@media (max-width: 700px) {
  .editorial-page .shell:not(.site-header) { width: calc(100% - 36px); }
  .editorial-page .archive-header { padding: 56px 0 32px; }
  .editorial-page .archive-header h1 { font-size: clamp(56px, 11vw, 76px); }
  .editorial-page .return-link { margin-bottom: 20px; }
  .writing-archive .writing { padding: 0 24px !important; border-radius: 18px; }
  .writing-archive .post-row { grid-template-columns: 1fr; gap: 12px; }
  .writing-archive .post-date { padding: 0; }
  .recaps-archive .archive-recaps { gap: 24px; }
  .editorial-page .article-page { padding: 44px 0 72px; }
  .editorial-page .article { padding: 26px 22px; border-radius: 18px; }
  .editorial-page .prose { font-size: 17px; line-height: 1.8; }
  .contact-main { padding-top: 16vh; }
}
@media (max-width: 560px) {
  .recaps-archive .archive-recaps { grid-template-columns: 1fr; }
  .editorial-page .prose blockquote { padding-left: 18px; font-size: 22px; }
  .contact-links { gap: 24px; }
}
@media (prefers-reduced-motion: reduce) { .editorial-page .tile__image img { transition: none; } }
