/* Gatefold cover and three identically styled slices of the real hero. */
.entrance{
 --paper-width:min(30vw,330px,calc((100dvh - 360px)/1.39));
 --paper-height:calc(var(--paper-width)*1.39);
 position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100dvh;
 margin:0;padding:0;border:0;overflow:clip;background:#080807;color:var(--ivory);
 isolation:isolate;overscroll-behavior:contain
}
.entrance[open]{display:grid;grid-template-rows:auto auto 1fr auto;align-items:center}
.entrance::backdrop{background:#060606}
.entrance::after{
 content:'';position:absolute;z-index:0;pointer-events:none;
 width:900px;height:800px;top:-12px;right:-200px;
 background:radial-gradient(ellipse,rgba(164,119,49,.25),transparent 65%);
 opacity:0;transition:opacity .22s linear
}
.entrance:focus{outline:none}
.entrance-top{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;z-index:3;transition:opacity .8s}
.entrance-brand{display:flex;gap:13px;align-items:center;font:31px/1 var(--serif);letter-spacing:4px}
.entrance-brand .brand-icon{width:47px;height:49px;overflow:hidden}
.entrance-brand .brand-icon img{width:47px;max-width:none}
.entrance-brand small{display:block;font:8px/1.5 var(--sans);letter-spacing:3px;margin-top:9px}
.entrance-skip{background:none;border:0;border-bottom:1px solid #c7982f66;padding:8px 0;color:#d5c5a5;font:12px var(--sans);cursor:pointer}
.entrance-skip>span{padding-left:20px;font-size:19px}
.entrance-heading{text-align:center;z-index:2;transition:opacity .65s,transform .65s;margin:0 20px 10px}
.entrance-heading p{font:36px/1.1 var(--serif);margin:0 0 15px}
.entrance-heading>span{font:13px var(--sans);letter-spacing:3.3px;color:#a69678}
.entrance-camera{display:grid;place-items:center;min-height:0;z-index:1;transform-style:preserve-3d}
.entrance-resolution-stage{position:absolute;inset:0;z-index:1;pointer-events:none}
.entrance-resolution-stage .wing-word{font-size:var(--native-cover-word);letter-spacing:var(--native-cover-spacing)}
.entrance-resolution-stage .book-seal{width:var(--native-seal-size);height:var(--native-seal-size);border-width:calc(3px * var(--native-cover-factor))}
.entrance-resolution-stage .book-seal>span{font-size:calc(35px * var(--native-cover-factor))}
.entrance:not(.is-opening){cursor:pointer;touch-action:manipulation}
body.entrance-active{padding-right:var(--entry-scrollbar,0px)}
.book-scene{width:var(--paper-width);height:var(--paper-height);transform-style:preserve-3d;animation:invitation-hover 7s ease-in-out infinite}
.book-center{position:relative;width:100%;height:100%;transform-style:preserve-3d;perspective:1600px;background:#060606}
.book-window{position:absolute;inset:0 auto auto -50%;width:200%;height:100%;overflow:hidden;clip-path:inset(0 25%);background:#060606}
.book-website,.wing-hero-site{
 position:absolute;left:0;transform-origin:0 0;overflow:hidden;background:#060606;
 font:400 16px/1.7 var(--sans);color:var(--ivory);letter-spacing:normal;text-align:left;
 pointer-events:none
}
.book-website .site-header,.wing-hero-site .site-header{position:relative;top:0;background:#060606f2}
.book-website .hero,.wing-hero-site .hero{width:100%}
.book-wing{position:absolute;top:0;width:50%;height:100%;transform-style:preserve-3d}
.wing-left{left:0;transform-origin:left center}
.wing-right{right:0;transform-origin:right center}
.wing-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.wing-front{
 background-image:linear-gradient(180deg,#0f141c15,#0c0f1733 40%,#070909bd),url('assets/nowevid.webp?v=20260919b');
 background-size:200% auto;display:flex;align-items:flex-end;overflow:hidden;padding-bottom:30%;border:1px solid #b2a38555
}
.wing-left .wing-front{background-position:0% 50%;justify-content:flex-end;border-right:1px solid #f2e1c760}
.wing-right .wing-front{background-position:100% 50%;justify-content:flex-start;border-left:1px solid #07090988}
.wing-word{font:40px/1 var(--serif);letter-spacing:5px;text-shadow:0 2px 9px #0005;color:#f3e3bd}
.wing-right .wing-word{padding-left:5px}
.wing-back{transform:rotateY(180deg);overflow:hidden;background:#060606}
.wing-back>span,.wing-back>i,.wing-back>small{display:none}
.book-seal{
 position:absolute;left:50%;top:52%;width:63px;height:63px;border-radius:50%;
 transform:translate(-50%,-50%) translateZ(3px);z-index:5;
 background:radial-gradient(ellipse at 32% 20%,#f2d691,#c3993f 45%,#926a24 75%,#c29a49);
 border:3px double #ebc878;box-shadow:1px 6px 10px #0006,inset 0 0 0 4px #83612255;
 display:grid;place-items:center;transition:transform .7s,opacity .55s
}
.book-seal>.seal-logo{display:block;width:80%;height:80%;overflow:hidden;border-radius:50%}
.book-seal>.seal-logo>img{width:138%;max-width:none;height:auto;transform:translate(-18%,-1%);filter:drop-shadow(0 1px 1px #5b3d12)}
.entrance-bottom{text-align:center;z-index:3;padding:24px 20px 26px;transition:opacity .5s,transform .5s}
.entrance-open{cursor:pointer;font-family:var(--sans);min-width:min(284px,calc(100vw - 40px))}
.entrance-open:focus,.entrance-open:focus-visible{outline:none}
.entrance-open:hover{background:linear-gradient(110deg,var(--champagne),#dcb461);transform:none;box-shadow:0 0 34px #c7982f4d}


.entrance-bottom>p{font:12px/1.5 var(--sans);letter-spacing:1px;color:#a8997e;margin:15px 0 0}
.entrance-light{position:absolute;z-index:-1;width:100vw;height:100vw;pointer-events:none;border-radius:50%;filter:blur(35px);transition:opacity 1.5s}
.light-one{background:radial-gradient(ellipse,#b28a3b26,transparent 60%);top:-40%;left:-25%;animation:entrance-light-one 13s ease-in-out infinite alternate}
.light-two{background:radial-gradient(ellipse,#e1bf7530,transparent 55%);bottom:-90%;right:-30%;animation:entrance-light-two 11s ease-in-out infinite alternate}
#entrance-dust{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.entrance-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#efd5970d;pointer-events:none}
.entrance-progress>span{display:block;width:100%;height:100%;background:#c7982f;transform-origin:left;transform:scaleX(0)}
.entrance.is-opening .book-scene{animation:none;transform:none;transform-origin:0 0}
.entrance.is-opening::after{opacity:1}
.entrance.is-opening .book-center,
.entrance.is-opening .book-window,
.entrance.is-opening .book-website,
.entrance.is-opening .wing-back,
.entrance.is-opening .wing-hero-site{background:transparent}
.entrance.is-opening .book-website .hero-glow,
.entrance.is-opening .wing-hero-site .hero-glow{display:none!important}
.entrance.is-opening .book-seal{transform:translate(-50%,-80%) translateZ(55px) rotate(-15deg) scale(1.12);opacity:0}
.entrance.is-opening .entrance-heading,.entrance.is-opening .entrance-bottom{opacity:0;transform:translateY(-12px);pointer-events:none}
.entrance.is-opening .entrance-progress>span{transform:scaleX(1);transition:transform 1.2s linear}
.entrance.is-entering .entrance-top,.entrance.is-entering .entrance-light{opacity:0;pointer-events:none}
.entrance.is-flat .book-window{clip-path:none}
.entrance.is-flat .book-center{perspective:none;transform-style:flat}
.entrance.is-flat .book-wing{visibility:hidden}
body.entrance-active{overflow:hidden}#ambience{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:25;opacity:.42}.hero-glow{background:radial-gradient(ellipse,rgba(164,119,49,.25),transparent 65%);animation:background-drift 15s ease-in-out infinite alternate}.hero-art{animation:hero-levitate 9s ease-in-out infinite}.hero-art:before{transition:transform .8s;transform:translate(calc(var(--pointer-x,0)*-7px),calc(var(--pointer-y,0)*-7px))}.invitation-photo>img{transform:scale(1.08) translate(calc(var(--pointer-x,0)*7px),calc(var(--pointer-y,0)*7px));transition:transform 1.2s ease-out}.photo-caption{transform:translate(calc(var(--pointer-x,0)*-3px),calc(var(--pointer-y,0)*-3px));transition:transform 1s}.hero .hero-copy>*{animation:none}.hero-revealed .hero-copy>*{animation:copy-in 1.3s both}.hero-revealed .hero-copy h1{animation-delay:.1s}.hero-revealed .hero-copy .hero-description{animation-delay:.3s}.hero-revealed .hero-copy .hero-actions{animation-delay:.5s}.hero-revealed .hero-copy .hero-note{animation-delay:.7s}.art-footer button{border-bottom:1px solid #c7982f77;color:#efd597;padding:7px 0;white-space:nowrap}.portfolio-card .image-wrap:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,#fff5 50%,transparent 70%);transform:translateX(-125%);transition:transform 1s;pointer-events:none}.portfolio-card:hover .image-wrap:after{transform:translateX(125%)}.portfolio-card{animation:portfolio-in .7s both}.portfolio-card:nth-child(2){animation-delay:.08s}.portfolio-card:nth-child(3){animation-delay:.16s}.portfolio-card:nth-child(4){animation-delay:.24s}.portfolio-card:nth-child(5){animation-delay:.32s}.reveal{transition:opacity 1.1s,transform 1.1s}.motion-ready .reveal:not(.visible){transform:translateY(42px)}
@keyframes invitation-hover{0%,100%{transform:translateY(0) rotateX(8deg) rotateY(-8deg) rotateZ(-3deg)}50%{transform:translateY(-12px) rotateX(4deg) rotateY(5deg) rotateZ(-1deg)}}}@keyframes entrance-light-one{to{transform:translate(35vw,12vh)}}@keyframes entrance-light-two{to{transform:translate(-25vw,-15vh)}}@keyframes background-drift{from{transform:translate(0,0) scale(.9)}to{transform:translate(-25vw,15vh) scale(1.25)}}@keyframes hero-levitate{0%,100%{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-11px) rotate(.35deg)}}@keyframes portfolio-in{from{opacity:0;transform:translateY(23px)}to{opacity:1;transform:translateY(0)}}

.hero-landed .hero-copy>*{animation:none!important;opacity:1;transform:none}
.hero-landed .hero-art{animation:none;transform:none}
.entrance-active .hero-glow{animation:none}
.entrance-active .invitation-photo>img,.entrance-active .photo-caption{transition:none}
@media(max-height:760px) and (min-width:801px){
 .entrance-heading p{font-size:29px}
 .entrance-top{padding-block:17px}.entrance-bottom{padding-block:17px}.entrance-heading{margin-bottom:0}
}
@media(max-width:800px){
 .entrance::after{top:-35px}
 .entrance{--paper-width:min(40vw,300px,calc((100dvh - 360px)/1.39))}
 .entrance-heading p{font-size:32px}.entrance-heading{margin:15px 20px 0}.entrance-heading>span{font-size:11px}
 .wing-word{font-size:35px;letter-spacing:4px}.entrance-bottom{padding-bottom:35px}.entrance-top{padding:24px 6%}
}
@media(max-width:540px){
 .entrance{--paper-width:min(36vw,190px,calc((100dvh - 360px)/1.39))}
 .entrance-top{padding:22px 6%}.entrance-brand{font-size:27px;letter-spacing:3px;gap:10px}.entrance-brand .brand-icon{width:36px;height:40px}.entrance-brand .brand-icon img{width:36px}.entrance-brand small{font-size:7px}
 .entrance-skip{font-size:10px}.entrance-skip>span{padding-left:8px}
 .entrance-heading{margin:8px 24px 0}.entrance-heading p{font-size:30px;line-height:1.1}.entrance-heading>span{font-size:10px;letter-spacing:2.3px}
 .wing-word{font-size:27px;letter-spacing:2px}
 .book-seal{width:48px;height:48px}.book-seal>span{font-size:28px}
 .book-center{perspective:1100px}.entrance-bottom{padding-bottom:45px}
 .art-footer{gap:12px}.art-footer>span{max-width:45%}
}
@media(max-width:360px){.entrance-heading p{font-size:27px}.entrance-brand{font-size:20px}.wing-word{font-size:23px}}
@media(max-height:560px){
 .entrance{--paper-width:min(165px,calc((100dvh - 170px)/1.39))}
 .entrance-top{padding-block:12px}.entrance-heading{display:none}.entrance-bottom{padding:14px}.entrance-bottom>p{display:none}
 .wing-word{font-size:23px}.book-seal{width:40px;height:40px}.book-seal>span{font-size:23px}
}
@media(prefers-reduced-motion:reduce){
 .entrance,.hero-art,.hero-glow,.portfolio-card,.hero-revealed .hero-copy>*{animation:none!important;transition:none!important}
 #ambience,#entrance-dust{display:none}.book-scene{animation:none;transform:none}
 .book-wing,.book-seal,.entrance-progress{display:none}.invitation-photo>img,.photo-caption{transform:none}
}
