*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#c9b89f}body{font-family:Georgia,'Times New Roman',serif;color:#211812}.canvas{width:100vw;height:100vh;position:relative;background:#c9b89f url('assets/background/room-clean.jpg') center center/100% 100% no-repeat}.brand-line,.seven-line,.beyond-line,.beyond-tagline{position:absolute;left:50%;transform:translateX(-50%);z-index:5;text-align:center;white-space:nowrap}.brand-line{top:21.9%;font-size:clamp(9px,1vw,15px);letter-spacing:.36em}.seven-line{top:25.4%;font-size:clamp(8px,.95vw,14px);letter-spacing:.21em}.beyond-line{top:57.2%;font-size:clamp(8px,.95vw,14px);letter-spacing:.21em}.beyond-tagline{top:60.0%;font-size:clamp(7px,.73vw,11px);letter-spacing:.16em}.book-layer{position:absolute;inset:0;z-index:3;pointer-events:none}.book-link{position:absolute;left:var(--left);top:var(--top);width:var(--width);height:var(--height);display:block;pointer-events:auto;overflow:hidden;box-shadow:3px 4px 8px #21180f72;transition:transform .2s,box-shadow .2s;transform-origin:center bottom}.book-link:hover,.book-link:focus-visible{z-index:2;transform:translateY(-9px);box-shadow:4px 10px 14px #21180f88}.book-link img{width:100%;height:100%;display:block;object-fit:fill}.book-link:focus-visible{outline:2px solid #ead9bc;outline-offset:2px}.book-dialog{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(950px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;border:1px solid #c7b596;background:#f2e7d4;color:#251b12;padding:34px 38px 38px;box-shadow:0 25px 80px #09080799;font-family:Georgia,'Times New Roman',serif}.book-dialog::backdrop{background:#070706b8;backdrop-filter:blur(2px)}.close-dialog{position:absolute;right:14px;top:10px;border:0;background:none;color:#67553e;font:28px Georgia;cursor:pointer}.detail-collection{margin:0 0 12px;color:#786344;font-size:.68rem;letter-spacing:.18em}.book-dialog h2{margin:0;font-size:1.7rem;font-weight:400;letter-spacing:.13em}.detail-tagline{margin:13px 0;color:#685339;font-size:.8rem;letter-spacing:.15em}.detail-description{font-size:1rem;line-height:1.65}.detail-question{font-size:1.05rem;line-height:1.6;font-style:italic}.detail-status{margin:20px 0 0;color:#74634b;font-size:.7rem;letter-spacing:.16em}.preview-link{display:inline-block;margin-top:22px;color:#312516;text-decoration:none;border-bottom:1px solid #a78d65;padding-bottom:6px;font-size:.72rem;letter-spacing:.16em}.preview-link[hidden]{display:none}@media(max-width:650px){.brand-line{letter-spacing:.24em}.seven-line{letter-spacing:.1em}.beyond-line{letter-spacing:.2em}.beyond-tagline{letter-spacing:.08em}.book-dialog{padding:31px 24px}.book-dialog h2{font-size:1.35rem}}

/* Daylight travels diagonally in from the right; overlays sit above the room and below books. */
.canvas{overflow:hidden;isolation:isolate}
.canvas::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(10,13,24,.96);opacity:var(--night,0);transition:opacity 5s ease}
.daylight-beams{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;mix-blend-mode:screen;opacity:.92;transition:none}
.light-shaft{position:absolute;inset:-4%;width:108%;height:108%;overflow:visible;transform-box:view-box;transform:translate3d(10vw,-3vh,0);will-change:transform;animation:beam-sweep 13s ease-in-out infinite alternate;animation-play-state:running}
@keyframes beam-sweep{from{transform:translate3d(10vw,-3vh,0);opacity:.72}to{transform:translate3d(-12vw,4vh,0);opacity:1}}

.canvas[data-light-preview]::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse at 84% 62%,rgba(255,177,86,.56),rgba(236,150,65,.16) 35%,transparent 72%);opacity:var(--warm,0);mix-blend-mode:screen;transition:opacity 1.2s}
.canvas[data-light-preview="morning"]::before{opacity:0}.canvas[data-light-preview="midday"]::before{opacity:0}.canvas[data-light-preview="evening"]::before{opacity:.32}.canvas[data-light-preview="night"]::before{opacity:.60}
.canvas[data-light-preview="evening"]::after{background:rgba(91,48,24,.20);opacity:.58;mix-blend-mode:multiply}
/* Cool moonlit rays meet the soft pools from above and below. */
.light-shaft stop{stop-color:#fff0d5}.canvas[data-light-preview="night"] .light-shaft stop,.canvas[data-local-time="night"] .light-shaft stop{stop-color:#d9e5ff}
.canvas[data-light-preview="night"]::after{background:transparent;opacity:0}
/* The moving light stays visible in every clock and preview state. */
.brand-line{top:18.0%}.seven-line{top:23.8%}
@media(max-width:650px){.seven-line{top:23.8%}}
@media(prefers-reduced-motion:reduce){.light-shaft{animation-duration:20s}.canvas::before,.daylight-beams{transition:none}}

/* Soft architectural light pools shape the upper wall and lower shelf. */
.ambient-lighting{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:var(--ambient-glow,.8);mix-blend-mode:screen;background:radial-gradient(ellipse 15% 27% at 33% 19%,rgba(255,199,128,.62),rgba(235,145,67,.27) 45%,transparent 100%),radial-gradient(ellipse 15% 27% at 67% 19%,rgba(255,199,128,.62),rgba(235,145,67,.27) 45%,transparent 100%),radial-gradient(ellipse 20% 14% at 28% 69%,rgba(255,213,148,.62),rgba(255,177,99,.32) 43%,transparent 100%),radial-gradient(ellipse 20% 14% at 72% 69%,rgba(255,213,148,.62),rgba(255,177,99,.32) 43%,transparent 100%);filter:blur(14px);animation:ambient-breathe 8s ease-in-out infinite alternate}
@keyframes ambient-breathe{from{opacity:calc(var(--ambient-glow,.6) * .92)}to{opacity:var(--ambient-glow,.6)}}
.canvas[data-light-preview="night"] .ambient-lighting,.canvas[data-local-time="night"] .ambient-lighting{background:radial-gradient(ellipse 15% 27% at 33% 19%,rgba(255,188,103,.58),rgba(229,127,49,.24) 45%,transparent 100%),radial-gradient(ellipse 15% 27% at 67% 19%,rgba(255,188,103,.58),rgba(229,127,49,.24) 45%,transparent 100%),radial-gradient(ellipse 20% 14% at 28% 69%,rgba(255,210,139,.58),rgba(255,164,82,.29) 43%,transparent 100%),radial-gradient(ellipse 20% 14% at 72% 69%,rgba(255,210,139,.58),rgba(255,164,82,.29) 43%,transparent 100%)}
@media(prefers-reduced-motion:reduce){.ambient-lighting{animation:none}}

.detail-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:34px;align-items:start}.detail-cover{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;border:1px solid #c7b596;box-shadow:0 5px 14px #39281833}.detail-copy{min-width:0;padding-top:2px}.detail-copy .detail-collection{padding-right:28px;line-height:1.45}.detail-copy .detail-status{margin-top:20px}.detail-copy .preview-link{margin-top:20px}
@media(max-width:650px){.book-dialog{width:calc(100vw - 24px);padding:24px 18px 24px}.detail-layout{grid-template-columns:minmax(0,1fr);gap:20px}.detail-cover{width:min(210px,70%);justify-self:center}.detail-copy .detail-collection{font-size:.57rem;letter-spacing:.12em}.detail-copy .detail-description{font-size:.9rem;line-height:1.5}.detail-copy .detail-question{font-size:.94rem}.detail-copy .detail-status{font-size:.61rem}.book-dialog h2{font-size:1.25rem}}

.mood-pot-control{position:absolute;z-index:22;left:0;top:68%;width:6%;height:26%;min-width:36px;max-width:88px;min-height:80px;padding:0;border:0;background:transparent;opacity:0;cursor:pointer;pointer-events:auto}.mood-pot-control:focus-visible{opacity:.16;outline:2px dashed #f3e6cf;outline-offset:-4px;background:#f3e6cf33}

/* Draft commerce interaction styles. */
.detail-offer{margin-top:26px;padding-top:19px;border-top:1px solid #c9b99f}
.detail-offer[hidden]{display:none}
.offer-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#725d3e;font-size:.68rem;letter-spacing:.18em}
.draft-price-label{font-size:.58rem;letter-spacing:.13em;opacity:.75}
.edition-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.edition-card{min-width:0;padding:15px 16px 13px;background:#e9ddca;border:1px solid #d4c4a9;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.edition-card h3{margin:0 0 5px;font-size:.93rem;font-weight:400;letter-spacing:.06em}
.edition-card p{margin:0 0 8px;color:#66563f;font-size:.76rem;line-height:1.45}
.edition-card strong{font-size:1.15rem;font-weight:400;letter-spacing:.04em}
.primary-button,.secondary-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid #68563b;text-decoration:none;text-align:center;font:600 .65rem Georgia,'Times New Roman',serif;letter-spacing:.12em;cursor:pointer;transition:background .16s,color .16s,border-color .16s}
.primary-button{background:#392d20;color:#f7eddd}
.primary-button:hover:not(:disabled),.primary-button:focus-visible{background:#6b573c;color:#fff}
.secondary-button{background:transparent;color:#392d20}
.secondary-button:hover:not(:disabled),.secondary-button:focus-visible{background:#392d20;color:#f7eddd}
.primary-button:disabled{opacity:.55;cursor:default}
.offer-footnote{margin:10px 0 0;color:#75664e;font-size:.67rem;line-height:1.45}
.notify-intro{margin:12px 0 15px;font-size:.9rem;line-height:1.5}
.notify-form label{display:block;margin-bottom:6px;color:#65543b;font-size:.72rem;letter-spacing:.08em}
.notify-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
.notify-row input{min-width:0;min-height:42px;padding:9px 11px;border:1px solid #b9a786;background:#fffaf1;color:#261d13;font:.9rem Georgia,'Times New Roman',serif}
.notify-row input:focus{outline:2px solid #9b8058;outline-offset:1px}
.form-help,.form-status{margin:8px 0 0;color:#75664e;font-size:.68rem;line-height:1.45}
.form-status:not(:empty){color:#4d583a;font-weight:600}
.checkout-dialog{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 28px));max-height:calc(100vh - 28px);overflow:auto;border:1px solid #c7b596;background:#f2e7d4;color:#251b12;padding:35px 34px 30px;box-shadow:0 25px 80px #09080799;font-family:Georgia,'Times New Roman',serif}
.checkout-dialog::backdrop{background:#070706b8;backdrop-filter:blur(2px)}
.checkout-dialog h2{margin:0;font-weight:400;font-size:1.5rem;letter-spacing:.1em}
.checkout-edition{margin:18px 0 4px;color:#66563f;font-size:.9rem}
.checkout-price{margin:0;font-size:1.5rem}
.checkout-note{margin:18px 0 24px;color:#685940;font-size:.88rem;line-height:1.55}
.checkout-actions{display:flex;justify-content:space-between;gap:10px}
.checkout-dialog section[hidden]{display:none}
.edition-open{min-height:42px}
@media(max-width:650px){
 .detail-offer{margin-top:20px;padding-top:15px}
 .offer-heading{font-size:.61rem}
 .edition-grid{grid-template-columns:1fr;gap:8px}
 .edition-card{padding:13px}
 .notify-row{grid-template-columns:1fr}
 .checkout-dialog{padding:31px 22px 22px}
 .checkout-actions{flex-direction:column-reverse}
 .checkout-actions button{width:100%}
}

.frame[hidden]{display:none!important}

/* Keep edition choices in the open area beside the cover, directly below the preview link. */
.detail-copy .detail-offer{margin-top:17px;padding-top:13px;border-top:1px solid #c9b99f}
.detail-copy .edition-grid{gap:9px;margin-top:9px}
.detail-copy .edition-card{padding:11px 12px;gap:10px}
.detail-copy .edition-card h3{font-size:.84rem}
.detail-copy .edition-card p{font-size:.68rem;line-height:1.35;margin-bottom:6px}
.detail-copy .edition-card strong{font-size:1rem}
.detail-copy .edition-card .primary-button,.detail-copy .edition-card .secondary-button{min-height:38px;padding:8px 9px;font-size:.58rem;letter-spacing:.09em}
.detail-copy .offer-footnote{font-size:.62rem;margin-top:7px}
.draft-pdf-link{display:inline-flex;align-items:center;justify-content:center;margin:0 0 14px;min-height:42px;padding:10px 15px;color:#312516;text-decoration:none;border:1px solid #a78d65;background:#eee0ca;font:inherit;font-size:.7rem;letter-spacing:.12em}.draft-pdf-link:hover,.draft-pdf-link:focus-visible{background:#e4d1b2;outline:2px solid #8d7351;outline-offset:2px}
.draft-pdf-link{display:inline-flex;align-items:center;justify-content:center;margin:0 0 14px;min-height:42px;padding:10px 15px;color:#312516;text-decoration:none;border:1px solid #a78d65;background:#eee0ca;font:inherit;font-size:.7rem;letter-spacing:.12em}.draft-pdf-link:hover,.draft-pdf-link:focus-visible{background:#e4d1b2;outline:2px solid #8d7351;outline-offset:2px}
.draft-pdf-link{display:inline-flex;align-items:center;justify-content:center;margin:0 0 14px;min-height:42px;padding:10px 15px;color:#312516;text-decoration:none;border:1px solid #a78d65;background:#eee0ca;font:inherit;font-size:.7rem;letter-spacing:.12em}.draft-pdf-link:hover,.draft-pdf-link:focus-visible{background:#e4d1b2;outline:2px solid #8d7351;outline-offset:2px}
