/* Dedicated animation windows keep movement visible and off the text. */
.ambient-stage{position:fixed;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}
.effect-window{position:relative;pointer-events:none;overflow:hidden;width:100%;height:120px}
.effect-stage{position:absolute;inset:0;height:100%;z-index:3}
.effect-novel{position:absolute;inset:0;height:100%;z-index:3}
.world-card figure{position:relative}
.world-card figure img{animation-name:novel-image-depth;animation-duration:9s;transform-origin:center}
.world-card figure::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 25% 30%,#ffc96d55,transparent 48%),linear-gradient(0deg,#cce6f42b,transparent 38%);mix-blend-mode:screen;animation:novel-lantern 5s ease-in-out infinite alternate;animation-play-state:paused}
.world-card:nth-child(2) figure::before{background:radial-gradient(ellipse at 55% 25%,#ffc16e55,transparent 50%),linear-gradient(0deg,#e6d5c526,transparent 45%);animation-delay:-1.8s}
.world-card:nth-child(3) figure::before{background:radial-gradient(ellipse at 70% 25%,#a2d8f047,transparent 55%),linear-gradient(0deg,#b2d8eb33,transparent 42%);animation-delay:-3s}
.world-card.effects-active figure::before{animation-play-state:running}
@keyframes novel-image-depth{from{transform:scale(1.08) translate(-1.5%,.4%) rotateY(-2deg)}to{transform:scale(1.17) translate(1.5%,-.7%) rotateY(2deg)}}
@keyframes novel-lantern{from{opacity:.28;transform:translateX(-4%)}to{opacity:.85;transform:translateX(4%)}}
.hero-visual{perspective:1100px;isolation:isolate}
.hero-visual>img{transform:scale(1.055);transform-origin:center 40%;animation:opening-photo-depth 8s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
.hero-visual.effects-active>img{animation-play-state:running}
.hero-visual::before{content:'';position:absolute;inset:-30%;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#f4d5a526 48%,#c9e7ff18 54%,transparent 64%);mix-blend-mode:screen;animation:opening-light-sweep 6s ease-in-out infinite;animation-play-state:paused}
.hero-visual.effects-active::before{animation-play-state:running}
@keyframes opening-photo-depth{from{transform:scale(1.055) translate3d(-1%,0,0) rotateY(-2deg)}to{transform:scale(1.095) translate3d(1%,.5%,0) rotateY(2deg)}}
@keyframes opening-light-sweep{0%,10%{transform:translateX(-65%);opacity:0}30%,70%{opacity:1}90%,100%{transform:translateX(65%);opacity:0}}
.effect-connections{grid-column:1/-1;height:96px;margin-top:-12px;background:radial-gradient(ellipse,#d6b17a15,transparent 70%)}
.effect-history{height:210px;margin:30px auto -20px;max-width:370px;background:radial-gradient(ellipse,#d5ad7126,transparent 65%)}
.effect-music{height:160px;margin:28px 0 -28px;background:radial-gradient(ellipse,#ffd79512,transparent 70%)}
.effect-correspondence{height:72px;margin:20px 0 -12px}
.hero-image-note{z-index:5}.intro-ribbon{position:relative;overflow:hidden}
.intro-ribbon::after{content:'';position:absolute;bottom:0;left:0;width:34%;height:3px;background:linear-gradient(90deg,transparent,#b67f3c,#e6bc7f,transparent);animation:travel-underline 5s linear infinite;animation-play-state:paused}
.intro-ribbon.effects-active::after{animation-play-state:running}
.cause-feature::after{right:2%;bottom:-55px;width:240px;height:240px;border-color:#e4b77785;box-shadow:0 0 0 22px #d5ad7116,0 0 0 52px #d5ad710c;animation:community-pulse 3.8s ease-in-out infinite;animation-play-state:paused}
.cause-feature.effects-active::after{animation-play-state:running}
.story-card,.world-card{animation:none}.story-image,.world-card figure{isolation:isolate;perspective:900px;box-shadow:0 12px 28px #27181d18}
.story-image img,.world-card figure img{transform:scale(1.07);animation:photo-drift 7s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
.story-card.effects-active .story-image img,.world-card.effects-active figure img{animation-play-state:running}
.story-card:nth-child(2) img,.world-card:nth-child(2) img{animation-delay:-2.8s;animation-direction:alternate-reverse}
.story-card:nth-child(3) img,.world-card:nth-child(3) img{animation-delay:-4.1s}
.story-image::after,.world-card figure::after{inset:-40%;background:linear-gradient(105deg,transparent 38%,#fff2d934 49%,#fff5dc10 54%,transparent 65%);opacity:.85;mix-blend-mode:screen;transform:translateX(-65%);animation:photo-light 6s ease-in-out infinite;animation-play-state:paused}
.story-card.effects-active .story-image::after,.world-card.effects-active figure::after{animation-play-state:running}
.story-card:nth-child(2) .story-image::after,.world-card:nth-child(2) figure::after{animation-delay:-2s}
.story-card:nth-child(3) .story-image::after,.world-card:nth-child(3) figure::after{animation-delay:-4s}
.book-atmosphere{transform:scale(1.045);animation:story-atmosphere 12s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
.book-feature.effects-active .book-atmosphere{animation-play-state:running}
.book-end{position:relative;overflow:hidden}.book-end::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 25% 100%,#c9984d32,transparent 55%);animation:closing-light 7s ease-in-out infinite alternate;animation-play-state:paused}.book-end.effects-active::before{animation-play-state:running}.book-end .wrap{position:relative}
.page-motion-control{white-space:nowrap;text-decoration:underline;text-underline-offset:5px;min-height:32px}
@keyframes travel-underline{from{transform:translateX(-100%)}to{transform:translateX(395%)}}
@keyframes community-pulse{0%,100%{transform:scale(.8);opacity:.4}50%{transform:scale(1.13);opacity:.9}}
@keyframes photo-drift{from{transform:scale(1.07) translate(-1.3%,-.5%) rotate(-.25deg)}to{transform:scale(1.13) translate(1.3%,.5%) rotate(.25deg)}}
@keyframes photo-light{0%,10%{transform:translateX(-65%);opacity:0}35%,65%{opacity:.8}90%,100%{transform:translateX(65%);opacity:0}}
@keyframes story-atmosphere{from{transform:scale(1.045) translateX(-1%)}to{transform:scale(1.08) translateX(1%)}}
@keyframes closing-light{from{transform:translateX(-10%);opacity:.45}to{transform:translateX(35%);opacity:1}}
.hero-copy{padding:48px 42px 50px 0}.hero-copy h1{font-size:clamp(3.8rem,5.6vw,6rem);margin:23px 0}.hero-copy>p{font-size:1rem}.hero-actions{margin-top:25px}.hero-book-announcement{display:flex;align-items:center;gap:19px;padding:14px 18px 14px 10px;margin-top:24px;background:linear-gradient(110deg,#8e4c383b,#ffffff07);border:1px solid #d5ad7150;border-left:3px solid var(--gold);max-width:510px;transition:background .25s,transform .25s}.hero-book-announcement:hover{transform:translateY(-3px);background:#ad77532b}.hero-book-announcement>img{width:65px;height:96px;object-fit:contain;flex:none;transform:rotate(-5deg);filter:drop-shadow(5px 6px 5px #0007)}.hero-book-announcement>span{min-width:0}.hero-book-announcement small{display:block;color:var(--gold);font-size:.68rem;letter-spacing:.09em;font-weight:600}.hero-book-announcement strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.9rem;line-height:1.1;margin:9px 0}.hero-book-announcement em{font-style:normal;font-size:.8rem;color:#d7c9ba}.announcement-arrow{font-size:1.4rem;margin-left:auto;color:var(--gold)}
.book-feature{border-top:1px solid #d5ad7145}.book-atmosphere{opacity:.5}.book-feature::after{background:linear-gradient(90deg,#111923f5 0%,#111923be 44%,#11192340 100%)}.book-copy .book-tagline{color:#f0c681}.book-stage::before{background:radial-gradient(ellipse,#d0a36329,transparent 68%)}
.novel-panorama{height:clamp(360px,31vw,530px);position:relative;isolation:isolate;overflow:hidden;background:#182127;color:var(--paper)}.novel-panorama>img{position:absolute;inset:0;object-position:center 57%;animation:panorama-drift 14s ease-in-out infinite alternate;animation-play-state:paused}.novel-panorama.effects-active>img{animation-play-state:running}.novel-panorama::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101821bc,transparent 65%),linear-gradient(0deg,#0d171ca8,transparent 25%);z-index:0}.panorama-copy{position:absolute;left:max(50px,calc((100vw - 1320px)/2));top:50%;transform:translateY(-50%);z-index:1}.panorama-copy h2{font-family:var(--serif);font-size:clamp(3rem,4.5vw,4.8rem);line-height:1.02;margin:22px 0}.panorama-copy .text-link{color:#e8c895}.panorama-credit{position:absolute;right:25px;bottom:15px;font-size:.72rem;color:#ece0cc;z-index:1}.work-intro{background:linear-gradient(140deg,#fffaf1,#eee5d7);padding:80px 0 50px}.work-intro .intro-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:30px 65px}.intro-grid h2{font-size:clamp(3rem,4.3vw,4.5rem);margin-bottom:25px}.intro-grid>div>p:not(.eyebrow){font-size:1.04rem;max-width:490px}.norman-candid{margin:0;position:relative;height:350px;box-shadow:16px 16px 0 #702f3e17;overflow:hidden}.norman-candid img{object-position:center 40%}.norman-candid::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#181416b0,transparent 45%);pointer-events:none}.norman-candid figcaption{position:absolute;bottom:25px;left:26px;color:var(--paper);font-family:var(--serif);font-size:1.9rem;z-index:1}.stories{background:#fcf8f1}.story-card .eyebrow{color:#872d46}.music-tease{background:radial-gradient(ellipse at 20% 80%,#9c4753,transparent 65%),#551d34}.history-split{background:#e9dfcd}.newsletter{background:linear-gradient(120deg,#f0e3cf,#fffaf0)}
@keyframes panorama-drift{from{transform:scale(1.015) translateX(-.4%)}to{transform:scale(1.065) translateX(.4%)}}
@media(max-width:1100px){.hero-copy{padding-right:28px}.hero-book-announcement{gap:12px}.hero-book-announcement strong{font-size:1.65rem}.hero-book-announcement>img{width:54px;height:83px}.panorama-copy{left:30px}}
@media(max-width:800px){.hero-copy{padding:45px 0}.hero-copy h1{font-size:clamp(3.8rem,9.5vw,5.8rem)}.hero-book-announcement{max-width:510px}.hero-visual{height:410px}.effect-connections{height:84px;margin-top:0}.effect-history{height:190px;margin-bottom:-10px}.effect-music{height:135px;margin-bottom:-10px}.effect-correspondence{height:65px}.history-copy{padding-bottom:45px}.work-intro .intro-grid{grid-template-columns:1fr;gap:30px}.norman-candid{height:340px;box-shadow:10px 10px 0 #702f3e17}.panorama-copy{left:25px}.novel-panorama>img{object-position:64% center}.panorama-copy h2{font-size:3.4rem}.book-feature::after{background:linear-gradient(#111923ef,#111923b0 56%,#11192377)}}
@media(max-width:480px){.effect-history{height:170px}.effect-stage{opacity:.8}.effect-music{height:115px}.effect-connections{height:70px}}
.world-card.effects-active figure img{animation-name:novel-image-depth;animation-duration:9s}
html[data-motion=paused] *,html[data-motion=paused] *::before,html[data-motion=paused] *::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important}.hero-visual>img,.story-image img,.world-card figure img,.book-atmosphere{transform:none}.hero-visual::before{display:none}.ambient-stage{opacity:.8}}
