:root{--navy:#07101f;--navy2:#0f172a;--gold:#d7b46a;--pale:#f0ede8;--mx:0px;--my:0px}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--navy);color:var(--pale)}body{font-family:Inter,Arial,sans-serif}.scene,.scene__image,.scene__depth,.scene__flare,.noise,#particles{position:fixed;inset:0}.scene{z-index:0;overflow:hidden;background:var(--navy)}.scene__image{inset:-5%;background:url('assets/portal.png') 50% 50%/cover no-repeat;transform:translate3d(calc(var(--mx)*-.35),calc(var(--my)*-.35),0) scale(1.07);filter:saturate(.85) contrast(1.08) brightness(.76);transition:transform 1.8s cubic-bezier(.2,.8,.2,1);animation:scene-breathe 12s ease-in-out infinite alternate}.scene__depth{background:radial-gradient(ellipse at 50% 48%,transparent 12%,#06101d12 38%,#050b17b8 100%),linear-gradient(180deg,#07101f55 0%,transparent 24%,transparent 60%,#050a16d9 100%)}.scene__flare{opacity:.66;background:radial-gradient(circle at 50% 62%,#ffd99025 0%,#d7b46a0c 10%,transparent 28%);animation:flare 5s ease-in-out infinite}.noise{z-index:3;opacity:.045;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}#particles{z-index:2;pointer-events:none}.experience{position:relative;z-index:4;width:100%;height:100svh;display:grid;grid-template-rows:104px 1fr 66px;padding:0 clamp(24px,5vw,78px);opacity:0;transition:opacity 1.2s ease}.is-ready .experience{opacity:1}.topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid #e1bd7026}.brand{justify-self:start;display:flex;align-items:center;gap:11px;color:var(--gold);text-decoration:none;font:500 20px 'Cormorant Garamond',Georgia,serif;letter-spacing:.28em}.brand img{width:33px;height:33px;object-fit:contain}.topbar p{font-size:9px;letter-spacing:.32em;color:#d7c69caa;margin:0}.status{justify-self:end;font-size:9px;letter-spacing:.2em;color:#b5b9c2}.status i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 15px 3px #d7b46a66;margin-right:10px;animation:pulse 2.5s ease-in-out infinite}.axis{position:absolute;z-index:5;top:50%;display:flex;align-items:center;gap:15px;color:#b4a983;font-size:8px;letter-spacing:.25em;writing-mode:vertical-rl}.axis i{height:55px;width:1px;background:linear-gradient(transparent,#d7b46a88,transparent)}.axis b{font-weight:400}.axis--left{left:19px;transform:translateY(-50%) rotate(180deg)}.axis--right{right:19px;transform:translateY(-50%)}.invitation{align-self:end;justify-self:center;text-align:center;padding-bottom:clamp(36px,5vh,70px);text-shadow:0 3px 30px #03060dbf}.kicker{display:flex;align-items:center;justify-content:center;gap:15px;margin:0 0 16px;color:#d7c59d;font-size:8px;letter-spacing:.3em}.kicker span{color:var(--gold);font-size:11px}h1{margin:0;font:400 clamp(62px,7vw,112px)/.78 'Cormorant Garamond',Georgia,serif;letter-spacing:-.035em}h1 span,h1 em{display:block}h1 span{color:var(--pale)}h1 em{font-weight:400;font-size:.7em;letter-spacing:.04em;color:var(--gold);margin-top:.32em}.invitation__copy{font:italic 18px/1.45 'Cormorant Garamond',Georgia,serif;color:#dad8d2c9;margin:23px 0 25px}.enter{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:27px;min-width:225px;height:54px;padding:0 25px;color:#f3ddb0;border:1px solid #d7b46a7a;background:#07101f61;backdrop-filter:blur(9px);text-decoration:none;font-size:9px;font-weight:500;letter-spacing:.29em;transition:transform .35s,background .35s,box-shadow .35s,border-color .35s;overflow:visible}.enter:before{content:'';position:absolute;inset:4px;border:1px solid #d7b46a22}.enter:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,#f8dfa840 50%,transparent 85%);transform:translateX(-120%);transition:transform .8s}.enter:hover,.enter:focus-visible{transform:translateY(-4px);background:#c9a3591f;border-color:#efd28b;box-shadow:0 0 50px #d7b46a24}.enter:hover:after{transform:translateX(120%)}.enter__orbit{position:absolute;width:75px;height:75px;border:1px solid #d7b46a42;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;transition:width .5s,height .5s,opacity .5s}.enter:hover .enter__orbit{width:255px;height:80px;opacity:.25}.enter__arrow{font-size:17px;line-height:1;transition:transform .3s}.enter:hover .enter__arrow{transform:translate(3px,-3px)}.footer{display:flex;justify-content:center;align-items:center;gap:14px;border-top:1px solid #e1bd7026;color:#afa993;font-size:8px;letter-spacing:.24em}.footer i{color:var(--gold);font-style:normal;font-size:9px}.prelude{position:fixed;z-index:20;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#050b16;transition:opacity .9s ease,visibility .9s}.prelude__mark{font-size:16px;color:var(--gold);filter:drop-shadow(0 0 12px #d7b46a);animation:prelude-star 1.4s ease both}.prelude__line{width:1px;height:70px;margin:17px 0;background:linear-gradient(transparent,var(--gold),transparent);transform-origin:top;animation:line-grow 1.2s .15s both}.prelude__name{font:500 25px 'Cormorant Garamond',Georgia,serif;letter-spacing:.48em;color:var(--gold);padding-left:.48em;animation:prelude-name 1.2s .25s both}.prelude__whisper{font-size:7px;letter-spacing:.35em;color:#9ea1aa;margin-top:15px;animation:prelude-name 1.2s .5s both}.is-ready .prelude{opacity:0;visibility:hidden}.passage{position:fixed;z-index:30;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;opacity:0;visibility:hidden;background:radial-gradient(circle at 50% 50%,#d9ba75 0%,#6f552c 10%,#0f172a 42%,#050b16 80%);transition:opacity .7s,visibility .7s}.passage img{width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 0 40px #e9c475);transform:scale(.75);transition:transform 1.4s}.passage span{font:500 13px 'Cormorant Garamond',Georgia,serif;letter-spacing:.42em;color:#f2dba8;padding-left:.42em}.is-entering .passage{opacity:1;visibility:visible}.is-entering .passage img{transform:scale(1.1)}.is-entering .scene__image{transform:scale(3.5);filter:saturate(.5) brightness(2);transition:transform 1.8s cubic-bezier(.7,0,.3,1),filter 1.5s}.is-entering .experience{opacity:0;transition:opacity .4s}.cursor{position:fixed;z-index:50;left:0;top:0;width:34px;height:34px;border:1px solid #d7b46a77;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);opacity:0;transition:width .2s,height .2s,opacity .2s,background .2s}.cursor i{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%)}.has-pointer .cursor{opacity:1}.cursor.is-hovering{width:56px;height:56px;background:#d7b46a10}.enter:focus-visible,.brand:focus-visible{outline:1px solid var(--gold);outline-offset:7px}
@keyframes scene-breathe{to{transform:translate3d(calc(var(--mx)*-.35),calc(var(--my)*-.35),0) scale(1.11)}}@keyframes flare{50%{opacity:1;transform:scale(1.08)}}@keyframes pulse{50%{opacity:.35;box-shadow:0 0 4px #d7b46a}}@keyframes prelude-star{from{opacity:0;transform:scale(.4) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes line-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes prelude-name{from{opacity:0;transform:translateY(8px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
@media(pointer:coarse){.cursor{display:none}}@media(max-width:760px){.experience{grid-template-rows:76px 1fr 50px;padding:0 21px}.topbar{grid-template-columns:1fr auto}.brand{font-size:18px}.brand img{width:29px;height:29px}.topbar p{display:none}.status{font-size:7px;letter-spacing:.13em}.axis{display:none}.scene__image{inset:-2% -78%;background-position:50% 50%;transform:translate3d(calc(var(--mx)*-.2),calc(var(--my)*-.2),0) scale(1.02)}.scene__depth{background:linear-gradient(180deg,#07101f8a 0%,transparent 28%,transparent 51%,#050a16ed 82%),radial-gradient(ellipse at 50% 45%,transparent 12%,#050b1766 70%)}.invitation{align-self:end;width:100%;padding-bottom:clamp(25px,4vh,38px)}.kicker{font-size:6.5px;letter-spacing:.18em;gap:8px;margin-bottom:13px}h1{font-size:clamp(54px,16vw,77px);line-height:.76}h1 em{font-size:.64em;margin-top:.37em}.invitation__copy{font-size:16px;margin:17px 0 20px}.enter{height:50px;min-width:210px}.footer{font-size:6px;letter-spacing:.12em;gap:8px}.footer i{font-size:6px}.prelude__name{font-size:21px}.prelude__line{height:55px}}
@media(max-height:650px){.experience{grid-template-rows:66px 1fr 45px}.brand img{width:27px;height:27px}.invitation{padding-bottom:17px}.kicker{margin-bottom:9px}.invitation__copy{margin:13px 0 15px}h1{font-size:clamp(46px,12vh,72px)}.enter{height:46px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.prelude{display:none}.experience{opacity:1}.cursor{display:none}}
