[hidden]{display:none!important}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body.entering{overflow:hidden}
.threshold{height:100svh;min-height:700px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 67% 56%,#51402b2b,transparent 56%);transition:opacity .8s ease,filter 1.2s ease}
.entrance-title{position:absolute;left:6.2%;top:22%;z-index:4;transition:transform 1.2s var(--ease),opacity .7s}
.door-control{position:absolute;left:50%;top:41%;width:170px;transform:translateX(-50%);z-index:6;pointer-events:auto;perspective:600px}
.enter-machine{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;padding:0 0 16px;gap:10px;outline-offset:1px!important;border-radius:48%;color:#d9c49a}
.enter-machine:disabled{opacity:1}
.door-medallion{display:block;position:relative;width:100px;height:110px;transform:translate3d(var(--magnet-x,0px),var(--magnet-y,0px),0);transition:transform .5s cubic-bezier(.2,.8,.2,1);perspective:450px}
.door-plate{position:absolute;left:22px;top:7px;width:56px;height:87px;border-radius:27px 27px 18px 18px;border:1px solid #ceb77e;box-shadow:inset 0 0 0 3px #3d3020,inset 0 0 0 4px #b59a6255,2px 5px 8px #0009,0 0 24px #d7ac4621;background:linear-gradient(112deg,#514027,#b7a074 23%,#756040 44%,#b7a276 66%,#51412b);transition:filter .35s,box-shadow .35s}
.plate-pin{position:absolute;left:24px;width:5px;height:5px;border-radius:50%;background:linear-gradient(125deg,#ece0ba,#493724);box-shadow:0 1px 1px #271d13}.plate-pin:after{content:"";position:absolute;left:2px;top:1px;height:3px;border-left:1px solid #5f4e32;transform:rotate(30deg)}.pin-top{top:9px}.pin-bottom{bottom:8px}
.keyhole{position:absolute;left:22px;top:25px;width:10px;height:17px;background:#271f15;clip-path:polygon(20% 0,80% 0,100% 25%,70% 50%,85% 100%,15% 100%,30% 50%,0 25%);transition:background .4s,filter .4s}
.knocker-ring{position:absolute;left:3px;top:39px;width:48px;height:47px;border:5px solid #aa9163;border-top-color:#dfca98;border-left-color:#cfb580;border-right-color:#6f5532;border-bottom-color:#80633d;border-radius:50%;box-shadow:0 5px 5px #0009,inset 0 2px 3px #15100ccc,0 -1px 1px #e9d7a8;transform-origin:50% 0;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.knocker-aura{position:absolute;inset:-9px -15px;border:1px solid #dbc38b35;border-radius:50%;box-shadow:0 0 25px #d1ae4420;opacity:.35;transform:scale(.83);transition:opacity .6s,transform .8s;pointer-events:none}
.enter-label{font:15px var(--serif);letter-spacing:3px;text-shadow:0 2px 9px #000;transition:color .4s,letter-spacing .5s}
.threshold.door-near .door-medallion{transition-duration:.3s}.threshold.door-near .door-plate,.enter-machine:focus-visible .door-plate{filter:brightness(1.14);box-shadow:inset 0 0 0 3px #3d3020,inset 0 0 0 4px #b59a6255,2px 5px 8px #0009,0 0 36px #d7ac4645}.threshold.door-near .knocker-aura,.enter-machine:focus-visible .knocker-aura{opacity:1;transform:scale(1.08)}
.enter-machine:hover .knocker-ring,.enter-machine:focus-visible .knocker-ring{transform:rotateX(-22deg)}.enter-machine:hover .enter-label,.enter-machine:focus-visible .enter-label{color:#f1deb2;letter-spacing:4px}
.threshold.door-near .door-light,.threshold:has(.enter-machine:focus-visible) .door-light{box-shadow:0 0 34px 12px #e8c67b70}.threshold.is-unlocking .keyhole{background:#fff0ba;filter:drop-shadow(0 0 6px #fff0ab)}.threshold.is-unlocking .knocker-aura{opacity:0;transform:scale(1.8)}
.door-sparks{position:absolute;inset:0;pointer-events:none}.door-spark{position:absolute;left:50%;top:55%;width:7px;height:1px;transform-origin:left;background:#ead39f;box-shadow:0 0 5px #e8c67b;pointer-events:none}.threshold.is-entering .door-control{opacity:0;transition:opacity .3s}
.portal-art{position:absolute;left:67%;top:49%;width:530px;height:570px;transform:translate(-50%,-50%);perspective:1000px;transition:transform 1.8s cubic-bezier(.65,0,.2,1),filter 1.3s,opacity 1s;pointer-events:none}
.portal-rig{position:absolute;inset:0;transform:rotateX(var(--portal-y,0deg)) rotateY(var(--portal-x,0deg));transition:transform .6s ease-out;transform-style:preserve-3d}
.door-frame{position:absolute;left:26%;top:12%;width:48%;height:69%;border:1px solid #c0a67580;box-shadow:0 0 0 9px #191a1580,0 0 0 10px #85724f33,0 32px 60px #0008;perspective:900px;transform-style:preserve-3d;background:#e6d3a2}
.door-view{position:absolute;inset:0;overflow:hidden}.door-view img{width:100%;height:100%;object-fit:cover;opacity:.55;filter:sepia(.25) brightness(.9);transform:scale(1.1);transition:transform 1.6s ease-in}
.door-panel{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(90deg,#1b1d18,#25261e);border:1px solid #65563d57;transition:transform 1.6s cubic-bezier(.3,.7,.2,1);backface-visibility:hidden}
.door-panel:before{content:"";position:absolute;inset:25px 13px;border:1px solid #9b886342;box-shadow:inset 0 0 0 4px #151711}
.door-left{left:0;transform-origin:left}.door-right{right:0;transform-origin:right}
.door-light{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#eed8a7;box-shadow:0 0 25px 5px #e8c67b69;transition:opacity .5s}
.portal-halo{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(ellipse,#a7864038,transparent 65%);filter:blur(32px)}
.portal-orbit{position:absolute;inset:-3% 7%;border:1px solid #ad956237;border-radius:50%;transform:rotate(-28deg) rotateY(51deg);pointer-events:none}.orbit-two{inset:1% -4%;transform:rotate(42deg) rotateY(54deg);border-color:#a5926b17}
.portal-floor{position:absolute;left:11%;right:11%;bottom:5%;height:20%;background:radial-gradient(ellipse,#cfb67824,transparent 67%);transform:rotateX(55deg);filter:blur(10px)}
.memory-print{margin:0;position:absolute;width:158px;padding:7px 7px 22px;background:#d9d2c1;box-shadow:0 18px 35px #0007;transition:transform 1.5s var(--ease),opacity .8s}
.memory-print img{width:100%;height:106px;object-fit:cover;display:block;filter:saturate(.7)}.memory-print figcaption{position:absolute;bottom:6px;left:11px;font:9px Georgia;letter-spacing:2px;color:#5d5547}
.print-one{left:4%;top:21%;transform:rotate(-13deg) translateZ(50px)}.print-two{right:1%;top:43%;transform:rotate(10deg) translateZ(70px)}.print-three{left:11%;bottom:9%;width:140px;transform:rotate(-6deg) translateZ(85px)}
.entrance-years{position:absolute;left:6.7%;right:6.7%;bottom:44px;display:flex;align-items:center;gap:22px;font:13px Georgia;color:#bdb39e;letter-spacing:3px}.entrance-years i{height:1px;max-width:230px;flex:1;background:linear-gradient(90deg,#9a886955,transparent)}
.threshold:not(.is-entering):has(.enter-machine:hover) .door-left,.threshold:not(.is-entering):has(.enter-machine:focus-visible) .door-left{transform:rotateY(-10deg)}.threshold:not(.is-entering):has(.enter-machine:hover) .door-right,.threshold:not(.is-entering):has(.enter-machine:focus-visible) .door-right{transform:rotateY(10deg)}
.threshold.is-entering{position:fixed;inset:0;z-index:30;pointer-events:none}.threshold.is-entering .entrance-title{transform:translateX(-70px);opacity:0}.threshold.is-entering .entrance-years{opacity:0}.threshold.is-entering .door-left{transform:rotateY(-105deg)}.threshold.is-entering .door-right{transform:rotateY(105deg)}.threshold.is-entering .door-light{opacity:0}.threshold.is-entering .door-view img{transform:scale(1.65)}.threshold.is-entering .portal-art{transform:translate(-50%,-50%) scale(4.5);filter:blur(8px);opacity:0}.threshold.is-entering .memory-print{transform:translateZ(250px) rotate(22deg);opacity:0}.threshold.is-entering{opacity:0;transition-delay:.55s}
#journey{opacity:0;transform:translateY(45px);transition:opacity 1.2s .35s,transform 1.5s .25s var(--ease)}#journey.is-entered{opacity:1;transform:none}
.journey-title{font-family:var(--serif);font-size:clamp(90px,10.4vw,174px);font-weight:400;line-height:1.24;letter-spacing:-.04em;margin:0;color:#e4e1d8;outline:none}.journey-title i{font-size:.43em;color:#a88f65;font-style:normal}.journey-title span{letter-spacing:.02em}
#film-gallery{height:108svh;min-height:810px;max-height:1300px}.scroll-photos{position:absolute;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:2px;color:#beb8a9;padding:10px}.scroll-photos span{display:inline-block;margin-left:15px;animation:scroll-cue 2.3s ease-in-out infinite}@keyframes scroll-cue{50%{transform:translateY(6px)}}
.photo-gallery{position:relative;min-height:1350px;padding:180px 6vw 60px;overflow:hidden;color:#423d32;background:linear-gradient(#111210 0,#292a22 80px,#b4ad9b 170px,#e5dece 280px,#e8e2d5 70%,#ddd5c5)}
.collection-heading{text-align:center;position:relative;z-index:2;margin-top:80px}.section-number{font-size:12px;letter-spacing:3px;color:#7c7362}.collection-heading h2{font:400 clamp(46px,5.5vw,78px)/1.27 var(--serif);letter-spacing:-1px;margin:28px 0}.collection-heading h2 br{display:none}.collection-heading p{font:14px var(--serif);letter-spacing:3px;color:#827563;margin:0}
.collection-book{position:relative;width:min(820px,90%);margin:64px auto 0}.album-bookmarks{display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:0 12px;position:relative;z-index:3}.album-bookmarks button{width:64px;height:51px;background:linear-gradient(90deg,#c8b896,#d8c7a4);color:#5f4f35;border:1px solid #84714c21;border-bottom:0;border-radius:3px 3px 0 0;font:20px Georgia;box-shadow:0 4px 6px #65523710;transform:translateY(5px);transition:transform .3s,background .3s}.album-bookmarks small{font:10px var(--serif);margin-left:3px}.album-bookmarks button:hover,.album-bookmarks button:focus-visible{transform:translateY(-3px);background:#e3d3af}.album-bookmarks button[aria-current="true"]{background:#8e7450;color:#fff1d4;transform:translateY(-6px)}
.collection-book>.book-button{height:440px;margin-top:-6px;filter:drop-shadow(0 32px 20px #53432d45)}.collection-book .mini-book{transform:rotateX(27deg) rotateZ(-3deg)}.collection-book .book-button:hover .mini-book,.collection-book .book-button:focus-visible .mini-book{transform:translateY(-9px) rotateX(20deg) rotateZ(-1deg)}.collection-book .book-leaf>span{font-size:12px;bottom:32px}.collection-book .book-cover{background-color:#3e3028}.read-album{display:flex;align-items:center;justify-content:center;gap:24px;padding:22px 20px 12px;margin:12px auto 0;font:18px var(--serif);letter-spacing:3px}.read-album span{font-size:20px;transition:transform .3s}.read-album:hover span{transform:translate(3px,-3px)}.album-chapter{font:12px var(--serif);letter-spacing:2px;text-align:center;margin:0;color:#837763}
.memory-shelf{display:flex;align-items:flex-start;justify-content:center;gap:40px;margin:110px auto 70px;max-width:940px}.memory-shelf figure{margin:0;width:28%;padding:9px 9px 20px;background:#f1ebdf;box-shadow:0 8px 22px #6c58311a;transform:rotate(-4deg)}.memory-shelf figure:nth-child(2){margin-top:28px;transform:rotate(3deg)}.memory-shelf figure:nth-child(3){transform:rotate(-2deg)}.memory-shelf img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.memory-shelf figcaption{font:12px/1.6 var(--serif);letter-spacing:1px;margin:15px 5px 0;color:#8b7b60}.return-films{display:block;margin:0 auto;font:13px var(--serif);letter-spacing:2px;padding:18px;color:#81725d}.return-films span{margin-left:10px}
body.locked #room{transform:none}
@media(max-width:1050px) and (min-width:701px){.portal-art{left:68%;width:450px;height:490px}.entrance-title{left:5%;top:25%}.entrance-title h1,.journey-title{font-size:11vw}.collection-book>.book-button{height:370px}.collection-book{width:min(720px,96%)}}
@media(max-width:700px){.threshold{min-height:760px}.entrance-title{left:25px;top:108px;right:20px}.entrance-title h1{font-size:clamp(60px,15vw,95px)}.portal-art{left:50%;top:412px;width:340px;height:400px}.memory-print{width:113px;padding:5px 5px 19px}.memory-print img{height:78px}.print-three{width:100px}.print-two{right:0}.door-panel:before{inset:17px 8px}.entrance-years{left:25px;right:25px;bottom:35px}.entrance-years i{max-width:130px}.threshold.is-entering .portal-art{transform:translate(-50%,-50%) scale(5)}.journey-title{font-size:clamp(62px,16vw,100px);line-height:1.08}.journey-title br{display:none}.journey-title i{font-size:.28em}#film-gallery{height:100svh;min-height:870px}.scroll-photos{left:auto;right:44px;transform:none;bottom:60px;padding:10px 0}.hero-foot{bottom:24px}.photo-gallery{padding:140px 20px 40px;min-height:1200px;background:linear-gradient(#111210,#2a2b23 60px,#bdb59f 135px,#e5dece 235px,#e8e2d5 70%,#ddd5c5)}.collection-heading{margin-top:96px}.collection-heading h2{font-size:46px;margin:24px 0}.collection-heading h2 br{display:block}.collection-heading p{font-size:12px;letter-spacing:2px}.section-number{font-size:10px}.collection-book{width:100%;margin-top:48px}.album-bookmarks{gap:4px;padding:0}.album-bookmarks button{width:40px;height:44px;font-size:16px}.album-bookmarks small{font-size:8px;margin-left:2px}.collection-book>.book-button{height:235px;margin-top:3px}.collection-book .book-leaf>span{font-size:8px;bottom:16px}.read-album{font-size:17px;margin-top:15px}.album-chapter{font-size:11px}.memory-shelf{gap:12px;margin:70px 0 45px;flex-wrap:wrap;justify-content:space-around}.memory-shelf figure{width:44%;padding:6px 6px 12px}.memory-shelf figure:nth-child(3){display:none}.memory-shelf figcaption{font-size:10px;margin:9px 2px 0}.masthead nav{gap:24px}}
@media(max-width:360px){.threshold{min-height:730px}.entrance-title{left:20px}.entrance-title h1{font-size:14.6vw}.portal-art{width:305px;height:360px;top:395px}.collection-book>.book-button{height:200px}.album-bookmarks button{width:33px}.album-bookmarks{gap:4px}.journey-title{font-size:15vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.threshold.is-entering{transition-delay:0s}#journey{transition:none;transform:none}.scroll-photos span{animation:none}}
.spiral{touch-action:pan-y}

/* Chapter slips belong to a leaf: passed chapters mirror across the spine. */
.collection-book{--preview-height:440px;margin-top:90px}
.collection-book>.book-button{height:var(--preview-height);margin-top:0;z-index:2;pointer-events:none}.collection-book>.book-button>.mini-book{pointer-events:auto}
.album-bookmarks{position:absolute;inset:0 0 auto;display:block;z-index:1;height:var(--preview-height);padding:0;pointer-events:none;transform:rotateX(27deg) rotateZ(-3deg);transform-style:preserve-3d;transition:transform 1s var(--ease)}
.album-bookmarks button{--paper-slip:#d7c49f;--tilt:-1deg;--offset:-33px;position:absolute;left:var(--reach);top:0;width:clamp(18px,8.8%,36px);min-width:0;height:38px;padding:5px 0 8px;pointer-events:auto;background:linear-gradient(90deg,#ffffff25,transparent 18%,#3f2b1610 85%,#fff3),var(--paper-slip) url('album/style/paper-grain.svg');border:1px solid #89755442;border-radius:2px 3px 0 0;color:#6f593d;font:16px Georgia;box-shadow:2px 3px 3px #4d361d32,inset 0 1px #fff8;transform:translate(-50%,var(--offset)) rotate(var(--tilt));transform-origin:center 76%;transition:transform .35s var(--ease),background-color .3s,box-shadow .3s}
.album-bookmark-leaf{position:absolute;top:0;bottom:0;right:0;width:50%;transform-origin:left center;transform:rotateY(-6deg);transform-style:preserve-3d;pointer-events:none}.album-bookmark-leaf[data-side="left"]{right:auto;left:0;transform-origin:right center;transform:rotateY(6deg)}.album-bookmarks button[data-side="left"]{left:calc(100% - var(--reach))}
.album-bookmarks button:nth-child(2n){--paper-slip:#cbbda1;--tilt:1deg;--offset:-29px}.album-bookmarks button:nth-child(3n){--paper-slip:#e1cfad;--offset:-37px}.album-bookmarks button:nth-child(5){--paper-slip:#cab68c}
.album-bookmarks small{display:none}.album-bookmarks button:hover,.album-bookmarks button:focus-visible{transform:translate(-50%,calc(var(--offset) - 5px)) rotate(0deg);box-shadow:3px 7px 5px #4d361d36;background-color:var(--paper-slip)}
.album-bookmarks button[aria-current="true"]{--paper-slip:#8d7250;color:#fff0ce;transform:translate(-50%,calc(var(--offset) - 4px)) rotate(var(--tilt));box-shadow:3px 6px 5px #4d361d42}
.album-bookmarks button:focus-visible{outline:2px solid #8d7250;outline-offset:3px}
.flying-book>.mini-book{z-index:2}.flying-book .album-bookmarks{height:100%;transition:none;pointer-events:none}
.flying-book .album-bookmarks button{pointer-events:none}
.collection-book:has(.book-button:hover) .album-bookmarks,.collection-book:has(.book-button:focus-visible) .album-bookmarks{transform:translateY(-9px) rotateX(20deg) rotateZ(-1deg)}
@media(max-width:1050px) and (min-width:701px){.collection-book{--preview-height:370px}}
@media(max-width:700px){.collection-book{--preview-height:235px;margin-top:68px}.album-bookmarks button{height:34px;padding:4px 0 8px;font-size:12px;--offset:-29px}.album-bookmarks button:nth-child(2n){--offset:-26px}.album-bookmarks button:nth-child(3n){--offset:-32px}}
@media(max-width:360px){.collection-book{--preview-height:200px}.album-bookmarks button{font-size:11px}}
@media(max-width:700px){.door-control{top:37%;width:150px}.door-medallion{scale:.82;margin-bottom:-15px}.enter-label{font-size:13px;letter-spacing:2px}.enter-machine{gap:4px}.enter-machine:hover .enter-label{letter-spacing:3px}}
@media(max-width:360px){.portal-art .print-three{left:7%;bottom:5%}.enter-label{font-size:12px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.door-medallion{transform:none}.knocker-ring{transition:none}.knocker-aura{transition:none}.threshold:not(.is-entering):has(.enter-machine:hover) .door-panel,.threshold:not(.is-entering):has(.enter-machine:focus-visible) .door-panel{transform:none}}
