/* Local draft only: the homepage retains its original layout and artwork. */
.goonfather-home .seasonal-price strong { font-size: clamp(30px, 4vw, 40px); }
.seasonal-edition { margin: 9px 0 0; color: #dbc7b8; font-size: 14px; line-height: 1.5; }
.seasonal-pricing { display: flex; align-items: baseline; gap: 12px; margin: 16px 0 0; font-size: 15px; }
.seasonal-pricing s { color: #a99a90; font-size: 13px; }
.seasonal-pricing strong { color: #f0d9c8; font-weight: 600; }
.local-draft-note { margin: 0 0 26px; color: #88817b; font: 10px/1.6 var(--mono); }
.download-goonfather { margin: 18px 0 0; padding-top: 6px; border-top: 1px solid #3a3028; }
.download-goonfather a:focus-visible { outline: 2px solid #e3c8b3; outline-offset: 4px; }

.letter-page .letter-shell { width: min(680px, calc(100% - 48px)); margin: 0 auto; padding: 34px 0 54px; }
.letter-back { display: inline-block; min-height: 44px; padding: 12px 0; color: #b5a79a; font: 18px/1.2 'Instrument Serif', Georgia, serif; }
.letter-back:hover { color: #e3c8b3; }
.letter-page h1 { margin: 27px 0 32px; font-size: clamp(39px, 5vw, 53px); line-height: 1.15; letter-spacing: -.025em; }
.personal-letter { color: #c8c3bc; font-size: 16px; line-height: 1.85; }
.personal-letter p { margin: 0 0 22px; }
.personal-letter strong { color: #e7dfd5; font-weight: 600; }
.personal-letter ol { margin: 0 0 22px; padding-left: 25px; }
.personal-letter li { margin-bottom: 18px; padding-left: 6px; }
.personal-letter li::marker { color: #b99b83; }
.personal-letter .letter-signature { margin: 28px 0 33px; color: #dfc3ac; }
.letter-reservation { padding-top: 22px; border-top: 1px solid #3a3028; }
.letter-availability { margin: 0 0 15px; color: #b1a79c; font-size: 12px; }
.letter-reservation .access-button { width: fit-content; gap: 30px; background: #e3c8b3; border-color: #e3c8b3; }
.letter-reservation .access-button:hover { background: #f0d9c8; border-color: #f0d9c8; }
.letter-email { display: block; width: fit-content; margin: 14px 0 0; color: #a69a8f; font: 11px/1.7 var(--mono); user-select: all; overflow-wrap: anywhere; }
.letter-page .local-draft-note { margin: 32px 0 0; }
.letter-page :is(a, button, input):focus-visible { outline: 2px solid #e3c8b3; outline-offset: 4px; }
.contribution-dialog { width: min(470px, calc(100% - 40px)); border-color: #66503e; background: #14110f; padding: 38px; }
.contribution-dialog h2 { margin: 10px 0 20px; font-size: 41px; line-height: 1.1; }
.summary-scope, .summary-credits { margin: 0; color: #c5b7a9; font-size: 14px; line-height: 1.75; }
.summary-credits { color: #ab9d90; margin-top: 4px; }
.contribution-label { display: block; margin-top: 28px; color: #cfc0b1; font-size: 12px; }
.contribution-field { display: flex; align-items: center; gap: 12px; margin: 10px 0 24px; padding: 8px 12px; border: 1px solid #73604f; background: #0d0b09; }
.contribution-field > span { color: #b89f88; font-size: 22px; }
.contribution-field input { width: 100%; min-width: 0; padding: 0; color: #ede2d6; background: transparent; border: 0; border-radius: 0; font: 24px/1.35 'Instrument Sans', sans-serif; }
.contribution-steps { display: flex; flex-shrink: 0; gap: 6px; }
.contribution-steps button { width: 44px; min-height: 44px; padding: 0; border: 1px solid #73604f; border-radius: 0; background: transparent; color: #e3c8b3; font-size: 15px; }
.contribution-steps button:hover:not(:disabled) { background: #e3c8b314; border-color: #b89f88; }
.contribution-steps button:disabled { opacity: .35; cursor: default; }
.contribution-dialog .access-button { background: #e3c8b3; border-color: #e3c8b3; }
.contribution-dialog .access-button:hover { background: #f0d9c8; border-color: #f0d9c8; }
.summary-interest { margin-top: 22px; padding-top: 15px; border-top: 1px solid #3d3127; }
.summary-interest p { margin: 0; color: #c8b5a2; font-size: 12px; line-height: 1.7; }
@media (max-width: 480px) {
  .letter-page .letter-shell { width: calc(100% - 40px); padding-top: 18px; }
  .letter-page h1 { margin-top: 20px; margin-bottom: 26px; font-size: 39px; }
  .personal-letter { font-size: 15px; line-height: 1.8; }
  .personal-letter ol { padding-left: 22px; }
  .personal-letter li { padding-left: 3px; }
  .letter-reservation .access-button { width: 100%; gap: 10px; padding-inline: 14px; font-size: 12px; }
  .contribution-dialog { width: calc(100% - 28px); padding: 33px 24px 27px; }
  .contribution-dialog h2 { font-size: 37px; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.letter-page), html:has(.goonfather-home) { scroll-behavior: auto; }
  .letter-page *, .goonfather-home * { transition: none !important; animation: none !important; }
}
