.contact-journal{position:fixed;inset:0;margin:auto;width:min(1120px,calc(100% - 48px));max-width:none;height:min(760px,calc(100dvh - 48px));max-height:none;padding:10px;border:1px solid #a78450;border-radius:13px;background:#2b2118;color:#352b22;box-sizing:border-box;box-shadow:0 35px 120px #000b,0 0 90px #c1924214;overflow:auto}
.contact-journal::backdrop{background-color:#080a09e8;background-image:radial-gradient(ellipse at 15% 30%,#ae762b30,transparent 45%),radial-gradient(ellipse at 85% 80%,#ab8d5330,transparent 45%);background-size:150% 150%;backdrop-filter:blur(9px);animation:journal-lamplight 18s ease-in-out infinite alternate}
@keyframes journal-lamplight{from{background-position:0% 20%}to{background-position:100% 80%}}
.journal-open{overflow:hidden}.journal-book{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:100%;height:100%;background:#eee4d0;border-radius:5px;overflow:hidden;position:relative}
.journal-book::after{content:'';position:absolute;top:0;bottom:0;left:calc(50% - 18px);width:36px;background:linear-gradient(90deg,transparent,#75604024 45%,#fff9e838 53%,transparent);pointer-events:none}
.journal-preface,.journal-form{box-sizing:border-box;min-width:0;padding:42px 44px 32px;position:relative}
.journal-preface{background:radial-gradient(ellipse at 30% 20%,#fff9ea80,transparent 75%),linear-gradient(90deg,#e9dec7,#f1e7d3);display:flex;flex-direction:column;justify-content:center}
.journal-edition{font:10px/1.6 sans-serif;letter-spacing:.19em;color:#786345}.journal-number{font:italic 38px/1.1 Georgia,serif;color:#aa8950;margin:24px 0 8px}.journal-preface h2{font:400 clamp(32px,3.1vw,46px)/1.05 'Cormorant Garamond',Georgia,serif;margin:10px 0 18px;color:#33291d}.journal-preface p{font:14px/1.7 sans-serif;color:#6e604d}.journal-preface .journal-note{font:italic 21px/1.4 Georgia,serif;color:#5d4930;margin:0 0 14px}.journal-intro{margin:0 0 10px}.journal-signature{font-family:var(--script,cursive);font-size:25px;line-height:2.4;margin-top:22px;color:#604925}.journal-folio{position:absolute;bottom:15px;left:50%;font:12px Georgia,serif;color:#9f8b6b}
.journal-form{display:flex;flex-direction:column;background:radial-gradient(ellipse at 90% 10%,#fff8e660,transparent 75%),#eee4ce;padding-top:46px}
.journal-ready{font:italic 17px/1.5 Georgia,serif;color:#786345;margin:0 22px 18px 0}.journal-book label{display:block;font:600 10px/1.5 sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#715d40;margin-top:12px}.journal-book input,.journal-book textarea{display:block;width:100%;box-sizing:border-box;border:0;border-bottom:1px solid #b6a181;border-radius:0;background:transparent;color:#30271e;font:17px/1.6 Georgia,serif;padding:7px 0;outline-offset:2px}.journal-book textarea{flex:1;min-height:260px;resize:none;background:repeating-linear-gradient(transparent,transparent 27px,#b9a68155 27px,#b9a68155 28px);line-height:28px;margin-top:7px;padding-top:4px;scrollbar-width:thin}.journal-book input:focus,.journal-book textarea:focus{outline:1px solid #b69964}.journal-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.journal-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 4px;color:#836a43;font:12px/1.4 Georgia,serif}.journal-pagination button{border:0;background:transparent;color:#765b31;font:14px/1.4 Georgia,serif;cursor:pointer;min-height:32px;padding:3px 6px}.journal-pagination button:hover{color:#302314;background:#bca16b20}.journal-pagination button:disabled{opacity:.3;cursor:default}.journal-pagination span{white-space:nowrap}.journal-pagination .journal-next{font-size:12px}.journal-privacy{font:10px/1.6 sans-serif;color:#776b5a;margin:8px 0 12px}.journal-privacy a{color:#604925;text-decoration:underline}.journal-send{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;border:1px solid #58422a;border-radius:4px;background:#342b22;color:#f6e9cc;padding:13px 18px;font:600 12px/1.4 sans-serif;letter-spacing:.04em;cursor:pointer}.journal-send:hover{background:#59442c}.journal-send:disabled{opacity:.6;cursor:wait}.journal-status{font:13px/1.4 sans-serif;color:#4c5630;margin:12px 0 0}.journal-status:empty{display:none}.journal-close{position:absolute;right:17px;top:15px;border:0;background:transparent;color:#645034;font:28px/1 sans-serif;width:34px;height:34px;cursor:pointer;z-index:2}.journal-close:focus-visible,.journal-pagination button:focus-visible{outline:2px solid #9d7b46}.contact .contact-symbol{width:min(100%,330px)}
@media(min-width:721px) and (max-height:740px){.contact-journal{height:calc(100dvh - 24px)}.journal-preface,.journal-form{padding:32px 34px 23px}.journal-number{margin-top:14px;font-size:28px}.journal-preface h2{font-size:34px;margin-bottom:12px}.journal-preface .journal-note{font-size:17px;margin-bottom:8px}.journal-preface p{font-size:12px}.journal-signature{margin-top:12px;font-size:22px}.journal-book textarea{min-height:200px}.journal-ready{font-size:15px;margin-bottom:10px}}
@media(max-width:720px){.contact-journal{width:calc(100% - 20px);height:auto;max-height:calc(100dvh - 20px);padding:6px}.journal-book{height:auto;grid-template-columns:1fr;overflow:visible}.journal-book::after{display:none}.journal-preface{padding:30px 25px 20px;border-bottom:1px solid #c8b899}.journal-preface h2{font-size:32px;margin:12px 0}.journal-number,.journal-preface .journal-note,.journal-signature,.journal-folio{display:none}.journal-preface p{margin:0;font-size:13px}.journal-form{padding:24px 25px;min-height:630px}.journal-ready{font-size:15px;margin:0 0 14px}.journal-book input,.journal-book textarea{font-size:16px}.journal-book textarea{min-height:340px}.journal-close{position:sticky;float:right;right:12px;top:4px;margin-bottom:-34px}.journal-edition{padding-right:22px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.contact-journal::backdrop{animation:none}}

/* Compact correspondence book, signature shared with the site masthead. */
.contact-journal{width:min(940px,calc(100% - 64px));height:min(680px,calc(100dvh - 80px))}
.journal-preface,.journal-form{padding:32px 34px 25px}
.journal-preface h2{font-size:36px}.journal-number{font-size:30px;margin-top:14px}.journal-preface .journal-note{font-size:18px}.journal-preface p{font-size:13px}
.journal-signature{font-family:'Landini Header Signature',cursive;font-weight:400;font-size:25px;line-height:2;letter-spacing:0;margin-top:20px}
.journal-book{perspective:1800px;isolation:isolate}.journal-leaf{bottom:auto;transform-origin:left center;animation:reader-forward .65s cubic-bezier(.4,.05,.25,1) both;z-index:5}
.journal-leaf-reverse{animation-direction:reverse}.journal-turn-face{padding:35px 34px;background:#eee4ce}.journal-turn-text{flex:1;white-space:pre-wrap;overflow:hidden;font:17px/28px Georgia,serif;color:#30271e;background:repeating-linear-gradient(transparent,transparent 27px,#b9a68155 27px,#b9a68155 28px);margin:20px 0 95px;padding-top:4px}
.journal-send{width:auto;align-self:flex-end;background:transparent;border:0;border-radius:0;color:#665035;padding:0 2px 0 12px;gap:18px;font:italic 19px/1.5 'Cormorant Garamond',Georgia,serif;letter-spacing:0;box-shadow:none}
.journal-send:hover{background:transparent;color:#322315}.journal-seal{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border-radius:50%;border:3px double #ae815a;background:radial-gradient(circle at 35% 25%,#a2754c,#70492e 75%);box-shadow:1px 3px 5px #62472133,inset 0 0 0 2px #c99a6133;color:#f0d9a9;font:15px/1 Georgia,serif;transform:rotate(-9deg);transition:transform .25s}
.journal-send:hover .journal-seal{transform:rotate(0deg)}
.contact-journal::backdrop{background-color:#080908e8;background-image:radial-gradient(circle,#e3b9699c 0 1px,#bf8c4244 2px,transparent 8px),radial-gradient(circle,#ead2a580 0 1px,transparent 6px),radial-gradient(ellipse at center,#b67e364d,transparent 65%),radial-gradient(ellipse at center,#d2ad563d,transparent 65%),repeating-linear-gradient(120deg,transparent 0 180px,#b58a4220 181px,transparent 183px 360px);background-size:310px 340px,470px 410px,85% 100%,75% 90%,140% 180%;background-repeat:repeat,repeat,no-repeat,no-repeat,no-repeat;animation:journal-golden-night 22s ease-in-out infinite alternate;backdrop-filter:blur(9px)}
@keyframes journal-golden-night{0%{background-position:0 0,70px 50px,-35% 10%,135% 80%,0% 0%}50%{background-position:25px -55px,40px -10px,-15% 40%,110% 50%,30% 45%}100%{background-position:55px -110px,5px -70px,10% 65%,80% 10%,60% 90%}}
@media(min-width:721px) and (max-height:740px){.contact-journal{height:calc(100dvh - 60px)}.journal-book textarea{min-height:190px}.journal-preface h2{font-size:32px}.journal-preface,.journal-form{padding:25px 30px 20px}.journal-signature{font-size:23px;margin-top:12px}.journal-ready{font-size:14px}.journal-turn-face{padding:28px 30px}}
@media(max-width:720px){.contact-journal{width:calc(100% - 28px);height:auto;max-height:calc(100dvh - 28px)}.journal-preface,.journal-form{padding:26px 24px}.journal-preface h2{font-size:30px}.journal-signature{display:block;font-size:23px;margin-top:14px}.journal-book textarea{min-height:320px}.journal-form{min-height:600px}.journal-turn-face{padding:28px 24px}.journal-send{font-size:19px}}
@media(prefers-reduced-motion:reduce){.contact-journal::backdrop,.journal-leaf{animation:none}.journal-seal{transition:none}}

/* Personal signature precedes the visitor details; postage closes the letter. */
.journal-signature{margin:10px 0 12px}.journal-stamp{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:58px;flex-shrink:0;color:#6d5534;background:#d8c49e;border:3px dotted #eee4ce;outline:1px solid #ad916255;outline-offset:-6px;transform:rotate(7deg);box-shadow:1px 2px 3px #62472122;transition:transform .25s}.journal-stamp>span{font:22px/1.2 Georgia,serif}.journal-stamp>small{font:6px/1.8 sans-serif;letter-spacing:.13em}.journal-send:hover .journal-stamp{transform:rotate(0deg)}
@media(prefers-reduced-motion:reduce){.journal-stamp{transition:none}}

.journal-previous-sheet{position:absolute;inset:0 50% 0 0;z-index:2;box-sizing:border-box;padding:32px 34px 25px;background:radial-gradient(ellipse at 30% 20%,#fff9ea80,transparent 75%),linear-gradient(90deg,#e9dec7,#f1e7d3);box-shadow:inset -12px 0 18px -15px #75604088;overflow:auto}.journal-previous-text{white-space:pre-wrap;overflow-wrap:anywhere;font:17px/28px Georgia,serif;color:#30271e;min-height:75%;background:repeating-linear-gradient(transparent,transparent 27px,#b9a68155 27px,#b9a68155 28px);padding-top:4px}.journal-book:has(.journal-previous-sheet) .journal-preface{visibility:hidden}
@media(min-width:721px) and (max-height:740px){.journal-previous-sheet{padding:25px 30px 20px}}
@media(max-width:720px){.journal-previous-sheet{position:relative;inset:auto;grid-row:1;padding:26px 24px;max-height:360px}.journal-book:has(.journal-previous-sheet) .journal-preface{display:none}}

/* Immersive writing studio; journal geometry stays exactly as approved. */
.journal-room{display:none;position:fixed;inset:0;z-index:99999;pointer-events:none;overflow:hidden;background:#100e0b}
.journal-open .journal-room{display:block}
.journal-room-image{position:absolute;inset:-2px;background:url('../img/journal-writers-study-20261009.webp') center/cover no-repeat;filter:brightness(.8) blur(.6px)}
.journal-room-lamplight,.journal-room-reflection{position:absolute;inset:0;mix-blend-mode:screen;pointer-events:none}
.journal-room-lamplight{background:radial-gradient(ellipse 18% 25% at 8% 39%,#ffd17d55,transparent 75%);animation:journal-study-light 13s ease-in-out infinite}
.journal-room-reflection{background:radial-gradient(ellipse 27% 9% at 12% 87%,#dca14a30,transparent 80%);animation:journal-study-light 17s ease-in-out -6s infinite reverse}
.journal-room-rain{position:absolute;left:78%;top:0;width:22%;height:47%;opacity:.27;background-image:linear-gradient(94deg,transparent 46%,#c4deefaa 49%,transparent 53%),linear-gradient(93deg,transparent 47%,#adcddd80 50%,transparent 53%);background-size:43px 150px,67px 230px;background-repeat:repeat;mask-image:linear-gradient(transparent,#000 12%,#000 65%,transparent);animation:journal-window-rain 9s linear infinite;filter:blur(.4px)}
@keyframes journal-study-light{0%,100%{opacity:.42}19%{opacity:.63}35%{opacity:.49}51%{opacity:.75}68%{opacity:.57}84%{opacity:.68}}
@keyframes journal-window-rain{from{background-position:0 -150px,13px -230px}to{background-position:0 150px,13px 230px}}
.contact-journal::backdrop{background:transparent;backdrop-filter:none;animation:none}
@media(max-width:720px){.journal-room-image{background-position:45% center}.journal-room-rain{display:none}}
@media(prefers-reduced-motion:reduce){.journal-room-lamplight,.journal-room-reflection,.journal-room-rain{animation:none}}

/* Subsequent spreads begin on the left page, then continue on the right. */
.journal-spread .journal-form{grid-column:1;grid-row:1;z-index:3}.journal-spread .journal-preface{grid-column:2;grid-row:1}
.journal-spread .journal-previous-sheet{inset:0 0 0 50%;display:flex;flex-direction:column;background:#eee4ce}
.journal-continuation{flex:1;min-height:0!important;margin-bottom:75px}
.journal-book textarea,.journal-book textarea:focus,.journal-book textarea:focus-visible{border:0!important;outline:none!important;box-shadow:none!important;caret-color:#30271e}
@media(max-width:720px){.journal-spread .journal-form{grid-column:1;grid-row:1}.journal-spread .journal-previous-sheet{position:relative;inset:auto;grid-row:2;max-height:none;min-height:430px}.journal-continuation{min-height:300px!important;margin-bottom:0}}

/* Slightly smaller journal, still the main element of the writing studio. */
@media(min-width:721px){.contact-journal{width:min(880px,calc(100% - 64px));height:min(640px,calc(100dvh - 100px))}}

/* Bound the spread to the cover and reserve room for postage and sending. */
@media(min-width:721px){
 .journal-book{min-height:0;grid-template-rows:minmax(0,1fr)}
 .journal-preface,.journal-form{min-height:0;height:100%}
 .journal-preface{overflow:auto}
 .journal-form>*{flex-shrink:0}
 .journal-form textarea{height:0;min-height:0!important;flex:1 1 0;overflow:auto}
 .journal-send{min-height:66px;flex-shrink:0}
 .journal-previous-sheet{min-height:0;overflow:hidden}
 .journal-continuation{height:0;min-height:0!important;flex:1 1 0;overflow:auto}
}
@media(min-width:721px) and (max-height:620px){
 .journal-preface,.journal-form,.journal-previous-sheet{padding:20px 26px}
 .journal-preface h2{font-size:28px;margin:8px 0 12px}
 .journal-number{font-size:24px;margin:8px 0}
 .journal-preface .journal-note{font-size:15px;margin-bottom:8px}
 .journal-signature{margin:6px 0;font-size:21px}
 .journal-ready{margin-bottom:8px}
 .journal-pagination{padding-top:5px}
 .journal-privacy{margin:4px 0 6px}
}
