/* Light belongs to the scene; decorative layers never intercept interaction. */
.hero{isolation:isolate}.hero:before{content:'';position:absolute;inset:-35% -15%;z-index:-1;pointer-events:none;background:linear-gradient(117deg,transparent 39%,#fffdf800 42%,#fffdf899 46%,#fffdf8bb 49%,#fffdf833 53%,transparent 58%);transform:translateX(var(--light-shift,0px));opacity:.8}.book-stage:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(117deg,transparent 35%,#fffdf800 43%,#fffdf826 49%,transparent 57%);transform:translateX(var(--light-shift,0px));mix-blend-mode:screen}.book-stage:before{margin-left:var(--shadow-shift,0px);opacity:var(--shadow-opacity,.85);filter:blur(17px)}
.wall{isolation:isolate;background:#16130F}.wall:before{content:'';position:absolute;pointer-events:none;z-index:-1;width:85%;height:1050px;right:-42%;top:15%;background:radial-gradient(ellipse at center,#C8102E38 0%,#C8102E17 35%,transparent 68%);transform:translateY(var(--halo-travel,0px))}.wall:after{content:'';position:absolute;pointer-events:none;z-index:-1;inset:0;background:linear-gradient(112deg,transparent 5%,#C8102E08 22%,transparent 45%)}
.visible .official{animation:stamp-light 1.6s cubic-bezier(.2,.7,.2,1) both}.official{background:#16130F;position:relative}@keyframes stamp-light{0%{opacity:0;transform:scale(1.05) rotate(-4deg);box-shadow:0 0 0 #C8102E00}24%{opacity:1;transform:scale(1) rotate(-4deg);box-shadow:0 0 48px 4px #C8102E30,inset 0 0 25px #C8102E12}100%{opacity:1;transform:scale(1) rotate(-4deg);box-shadow:0 0 20px #C8102E0c}}
.real-page{filter:drop-shadow(var(--page-shadow-x,5px) 10px 12px #16130f12)}.real-page img{box-shadow:var(--page-shadow-x,5px) 22px 46px #16130f23,1px 2px 0 #c6beab}.collection-grid .cover{box-shadow:6px 12px 25px #0004}.collection-grid .cover:hover{box-shadow:13px 26px 35px #0005}
@media(max-width:760px){.hero:before{opacity:.5;transform:none}.book-stage:after{opacity:.65;transform:none}.wall:before{width:100%;right:-55%;height:700px;opacity:.7;transform:none}.real-page{filter:none}}
.reduced-motion .hero:before,.reduced-motion .book-stage:after,.reduced-motion .wall:before{transform:none}.reduced-motion .official{animation:none;box-shadow:0 0 22px #C8102E12}.reduced-motion .real-page img{box-shadow:5px 22px 46px #16130f23,1px 2px 0 #c6beab}
@media(prefers-reduced-motion:reduce){.hero:before,.book-stage:after,.wall:before{transform:none}.visible .official{animation:none}.real-page img{box-shadow:5px 22px 46px #16130f23,1px 2px 0 #c6beab}}
/* Stronger contrast and explicit foreground ordering for visible light shafts. */
.hero{background:radial-gradient(ellipse at 75% 35%,#f6f0e2 0%,#e6dfcf 100%)}
.hero>.hero-copy,.hero>.book-showcase,.hero>.hero-bottom{position:relative;z-index:2}
.hero:before{z-index:0;inset:-40% -10%;opacity:1;background:linear-gradient(117deg,transparent 37%,#16130f12 41%,#fffdf800 42%,#fffdf8ed 43%,#fffdf8ed 48%,#fffdf800 50%,#16130f18 51%,transparent 55%);filter:blur(2px)}
.hero:after{content:'';position:absolute;inset:-40% -10%;z-index:1;pointer-events:none;background:linear-gradient(117deg,transparent 58%,#fffdf894 59%,#fffdf894 61%,transparent 62%);transform:translateX(var(--light-shift,0px))}
.book-stage:after{z-index:2;mix-blend-mode:screen;opacity:1;background:linear-gradient(117deg,transparent 34%,#fffdf800 41%,#fffdf852 44%,#fffdf842 49%,transparent 53%)}
.wall>.section-intro,.wall>.evidence{position:relative;z-index:2}.wall>.thread{z-index:1}
.wall:before{z-index:0;right:-30%;top:6%;width:85%;height:1200px;opacity:1;background:radial-gradient(ellipse at 58% 35%,#C8102E94 0%,#C8102E45 32%,#C8102E14 52%,transparent 72%)}
.wall:after{z-index:0;inset:0;opacity:1;background:linear-gradient(118deg,transparent 20%,#C8102E0a 26%,#C8102E52 30%,#C8102E30 34%,transparent 40%,transparent 64%,#C8102E21 68%,transparent 73%)}
@media(max-width:760px){.hero:before{opacity:1;inset:-15% -55%;transform:none}.hero:after{inset:-15% -55%;transform:none}.book-stage:after{opacity:.8;transform:none}.wall:before{width:135%;right:-65%;height:1050px;opacity:.9;transform:none}.wall:after{opacity:.8}}
.reduced-motion .hero:after{transform:none}@media(prefers-reduced-motion:reduce){.hero:after{transform:none}}
