/* An editorial spread inspired by the author's supplied mockup. */
.novel-section { --novel-ink:#292d27; --novel-muted:#706a60; --novel-accent:#995c4e; background:#f4efe5; color:var(--novel-ink); overflow:hidden; scroll-margin-top:24px; }
.novel-masthead { display:flex; justify-content:space-between; gap:20px; margin:0 6.5%; padding:27px 0; border-bottom:1px solid #d7cebf; font:10px/1.6 'DM Mono',monospace; letter-spacing:.13em; color:var(--novel-muted); }
.novel-opening { display:grid; grid-template-columns:42% 58%; align-items:center; max-width:1700px; margin:auto; padding:12px 0 24px 6.5%; position:relative; }
.novel-copy { z-index:1; position:relative; padding:24px 0 38px; }
.novel-eyebrow { font:10px/1.8 'DM Mono',monospace; letter-spacing:.18em; margin:0 0 25px; }
.novel-copy h2 { font:normal clamp(3.8rem,7.3vw,8rem)/.96 'DM Serif Display',Georgia,serif; letter-spacing:-.05em; margin:0 0 28px; }
.novel-copy h2 em { font-weight:400; color:var(--novel-accent); }
.novel-description { font:19px/1.7 Georgia,serif; max-width:420px; margin:0 0 14px; }
.novel-thought { font:italic 17px/1.7 Georgia,serif; color:var(--novel-muted); max-width:370px; margin:0; }
.novel-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.novel-primary,.novel-secondary { display:inline-flex; align-items:center; gap:22px; justify-content:center; min-height:48px; padding:14px 21px; font:10px/1.5 'DM Mono',monospace; letter-spacing:.12em; text-transform:uppercase; border:1px solid var(--novel-accent); border-radius:3px; transition:background .2s,color .2s; }
.novel-primary { background:var(--novel-accent); color:#fffaf2; }
.novel-primary:hover { background:#794335; }
.novel-secondary { border-color:#8d877b; }
.novel-secondary:hover { background:#e7ddce; }
.novel-landscape { align-self:stretch; display:flex; flex-direction:column; justify-content:center; margin:0 0 0 -12%; position:relative; }
.novel-landscape img { display:block; width:112%; max-width:none; height:auto; mix-blend-mode:multiply; }
.novel-landscape figcaption { font:italic 19px/1.45 Georgia,serif; transform:rotate(-5deg); text-align:right; padding:0 12% 15px 0; margin-top:-24px; color:#6d6252; }
.novel-chapter { display:grid; grid-template-columns:230px minmax(0,1fr) 140px; gap:55px; align-items:center; border-top:1px solid #ddd4c6; background:#faf6ee; padding:55px 6.5% 65px; scroll-margin-top:30px; }
.chapter-postcard { display:block; position:relative; padding:12px 12px 17px; background:#eee7d7; box-shadow:0 10px 24px #473d291a; transform:rotate(-5deg); transition:transform .25s; }
.chapter-postcard:hover { transform:rotate(-2deg); }
.chapter-postcard::before { content:''; position:absolute; width:88px; height:29px; top:-15px; left:calc(50% - 44px); background:#d8c8aa99; transform:rotate(-4deg); }
.chapter-postcard img { display:block; width:100%; height:220px; object-fit:cover; object-position:center; }
.chapter-postcard span { display:block; text-align:center; font:italic 12px/1.5 Georgia,serif; color:#716653; padding-top:12px; }
.chapter-invitation .novel-eyebrow { margin-bottom:14px; }
.chapter-invitation h3 { font:normal clamp(1.9rem,3.2vw,3rem)/1.15 'DM Serif Display',Georgia,serif; letter-spacing:-.035em; margin:0 0 18px; }
.chapter-invitation>p:not(.novel-eyebrow) { font:18px/1.75 Georgia,serif; color:var(--novel-muted); max-width:640px; }
.novel-text-link { display:inline-flex; gap:23px; align-items:center; padding:10px 0; font:10px/1.7 'DM Mono',monospace; letter-spacing:.15em; text-transform:uppercase; color:var(--novel-accent); }
.novel-text-link:hover { text-decoration:underline; text-underline-offset:6px; }
.chapter-margin-note { font:italic 29px/1.45 Georgia,serif; text-align:center; transform:rotate(-7deg); color:#7d8067; }
.chapter-margin-note span { display:block; font-size:60px; margin-top:15px; }
.novel-about { display:grid; grid-template-columns:1fr 1fr; gap:10%; align-items:center; padding:75px 10%; border-top:1px solid #ddd4c6; scroll-margin-top:24px; }
.novel-about h3 { font:normal clamp(2.3rem,4vw,4.2rem)/1.05 'DM Serif Display',Georgia,serif; letter-spacing:-.035em; margin:0 0 25px; }
.novel-about h3 em { font-weight:400; color:var(--novel-accent); }
.novel-about p:not(.novel-eyebrow) { font:18px/1.8 Georgia,serif; color:var(--novel-muted); max-width:440px; }
.novel-original { margin:0; }
.novel-original a { display:block; padding:12px; background:#fffaf1; box-shadow:0 8px 28px #473d2914; transform:rotate(2deg); }
.novel-original img { display:block; width:100%; height:auto; }
.novel-original a>span { display:block; padding:15px 0 4px; font:10px/1.5 'DM Mono',monospace; text-align:center; }
.novel-original figcaption { font:italic 12px/1.5 Georgia,serif; text-align:center; margin-top:24px; color:var(--novel-muted); }
.novel-section a:focus-visible { outline:3px solid var(--novel-accent); outline-offset:5px; }
@media(min-width:1600px) { .novel-opening { padding-left:7%; }.novel-description { font-size:21px; } }
@media(max-width:1000px) { .novel-chapter { grid-template-columns:180px minmax(0,1fr); gap:40px; }.chapter-margin-note { display:none; }.chapter-postcard img { height:190px; }.novel-description { font-size:17px; }.novel-opening { grid-template-columns:46% 54%; }.novel-landscape img { width:125%; }.novel-landscape figcaption { font-size:16px; margin-top:0; padding-right:10%; } }
@media(max-width:680px) {
  .novel-masthead { padding:22px 0; font-size:8px; letter-spacing:.08em; }.novel-masthead span:last-child { white-space:nowrap; }
  .novel-opening { display:flex; flex-direction:column; padding:38px 6.5% 0; }
  .novel-copy { width:100%; padding:0; }.novel-copy h2 { font-size:clamp(3.6rem,14vw,5.4rem); margin-bottom:23px; }
  .novel-eyebrow { font-size:9px; letter-spacing:.13em; max-width:270px; margin-bottom:22px; }.novel-description { font-size:18px; max-width:none; }
  .novel-thought { font-size:16px; }.novel-actions { margin-top:25px; gap:10px; }.novel-primary,.novel-secondary { padding:13px 15px; font-size:9px; letter-spacing:.08em; gap:12px; }
  .novel-landscape { margin:12px -7.5% 0; }.novel-landscape img { width:100%; }.novel-landscape figcaption { font-size:16px; padding:0 9% 25px 0; margin-top:-15px; }
  .novel-chapter { grid-template-columns:85px minmax(0,1fr); gap:25px; padding:40px 6.5%; align-items:start; }.chapter-postcard { padding:5px 5px 9px; margin-top:12px; }.chapter-postcard img { height:115px; }.chapter-postcard span { display:none; }.chapter-postcard::before { width:40px; height:17px; left:calc(50% - 20px); top:-10px; }
  .chapter-invitation h3 { font-size:1.85rem; }.chapter-invitation>p:not(.novel-eyebrow) { font-size:16px; line-height:1.65; }.novel-text-link { font-size:9px; gap:15px; }
  .novel-about { grid-template-columns:1fr; gap:40px; padding:48px 8%; }.novel-about h3 { font-size:2.8rem; }.novel-about p:not(.novel-eyebrow) { font-size:17px; }.novel-original { max-width:480px; }
}
