@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500&display=swap');
:root{--ink:#190b10;--gold:#dbb779;--cream:#f5e9d6;--muted:#bda997}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--ink);color:var(--cream);font-family:'Jost',sans-serif;font-size:15px}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}header{position:absolute;z-index:10;top:0;left:0;width:100%;height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #dbb77920}.monogram{font:30px 'Cormorant Garamond',Georgia,serif;letter-spacing:-3px}.monogram span{font-style:italic;font-size:22px;color:var(--gold);margin:0 4px}.header-date,.venue-link,.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:400}.venue-link{letter-spacing:1px}.venue-link span{margin-left:12px;color:var(--gold)}.skip{position:fixed;top:-100px;z-index:30;background:var(--cream);color:var(--ink);padding:12px}.skip:focus{top:10px}#journey{height:calc(100svh + 18000px)}.stage{height:100svh;position:sticky;top:0;overflow:hidden;display:flex;align-items:center;justify-content:center;isolation:isolate}.ambient{position:absolute;inset:-50px;z-index:-3;background:url('assets/full/poster.webp') center/cover;filter:blur(45px);opacity:.28;transform:scale(1.1)}.vignette{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#190b10d9,transparent 45%,#190b10c9),linear-gradient(0deg,#190b10 0%,transparent 25%,#190b1090)}.film{position:relative;height:calc(100svh - 44px);aspect-ratio:9/16;max-width:100%;box-shadow:0 0 100px #0008;overflow:hidden;flex-shrink:0}.film video,.poster{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.poster{transition:opacity .4s}.film.ready .poster{opacity:0;pointer-events:none}#loading{position:absolute;bottom:40px;width:100%;text-align:center;color:var(--cream);font-size:11px;text-shadow:0 1px 8px black;letter-spacing:1px}.intro{position:absolute;left:6vw;width:24vw}.eyebrow{color:var(--gold);line-height:1.8}.intro h1{font:500 clamp(44px,5vw,78px)/.95 'Cormorant Garamond',Georgia,serif;margin:32px 0}.intro h1 em{display:block;font-size:.55em;color:var(--gold);font-weight:400;margin:12px 0 6px}.ornament{color:var(--gold);font-size:29px;margin:25px 0}.invitation{font:italic 27px/1.3 'Cormorant Garamond',Georgia,serif}.place{font-size:11px;line-height:1.9;color:var(--muted);letter-spacing:1px;margin-top:32px}.chapters{position:absolute;left:76%;width:21%}.chapters nav{margin:30px 0;display:grid;gap:20px}.chapters button{border:0;background:transparent;text-align:left;padding:0;color:#bda997aa;font-size:12px;transition:color .3s}.chapters button span{display:inline-block;font-size:9px;width:28px;letter-spacing:1px}.chapters button.active,.chapters button:hover{color:#f2cf94}.chapters button.active:after{content:'✧';margin-left:14px}.chapter-map{font-size:10px;color:var(--gold);border-bottom:1px solid #dbb77944;padding-bottom:8px}.hint{position:absolute;bottom:52px;left:50%;transform:translateX(-50%);border:1px solid #e8c89645;border-radius:60px;background:#1d0b15b8;backdrop-filter:blur(12px);padding:9px 24px 12px;display:flex;align-items:center;flex-direction:column;gap:4px;color:#ffe1a6;opacity:0;pointer-events:none;transition:opacity .6s,translate .6s;translate:0 8px;z-index:5;box-shadow:0 0 25px #dbb77918}.hint.visible{opacity:1;pointer-events:auto;translate:0 0}.hint>span:last-child{font-size:8px;letter-spacing:2px}.magic{display:flex;align-items:center;justify-content:center;height:49px;gap:7px}.magic svg{height:47px;width:42px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #f9cc89)}.magic i{font-style:normal;animation:twinkle 2s ease-in-out infinite;font-size:13px}.magic i:last-child{animation-delay:1s;font-size:20px}.hand{animation:swipe 2s ease-in-out infinite}.trail{animation:twinkle 2s infinite}.film-footer{position:absolute;bottom:15px;left:5vw;right:5vw;display:flex;justify-content:space-between;color:var(--muted);font-size:8px;letter-spacing:2px}.progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#dbb77920}#progress-bar{width:0;height:100%;background:var(--gold)}#venues{position:relative;background:radial-gradient(ellipse at 50% 0,#4c202d88,transparent 60%),#190b10;padding:75px 6vw 0}.venue-intro{text-align:center;margin-bottom:80px}.venue-intro h2{font:400 clamp(44px,5vw,68px)/1.04 'Cormorant Garamond',Georgia,serif;margin:25px 0}.venue-intro p:last-child{color:var(--muted);line-height:1.8;font-size:13px}#venue-list{max-width:1120px;margin:auto}.venue{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:45px 0;border-top:1px solid #dbb77935;align-items:center}.venue-number{font-size:10px;letter-spacing:2px;color:var(--gold)}.venue h3{font:400 38px/1.1 'Cormorant Garamond',Georgia,serif;margin:15px 0 12px}.address{font-size:12px;color:var(--muted);line-height:1.7;max-width:370px;margin-bottom:24px}.events{border-left:1px solid #b18b54;padding-left:20px;margin:25px 0;display:grid;gap:11px}.event{display:flex;justify-content:space-between;gap:12px;font-size:12px}.event time{color:var(--gold);white-space:nowrap}.directions{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:13px 20px;border:1px solid #dbb77980;font-size:11px;letter-spacing:.6px;transition:background .2s}.directions:hover{background:#dbb77920}.map-wrap{position:relative;background:#332b25;border:1px solid #dbb77940;height:275px;overflow:hidden}.map-wrap iframe{border:0;width:100%;height:100%;filter:sepia(.28);pointer-events:none}.map-tap{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:16px}.map-tap span{background:#190b10ed;color:var(--cream);border:1px solid #dbb77980;border-radius:3px;padding:10px 18px;font-size:11px;box-shadow:0 2px 12px #0003}.timezone-note{text-align:center;font-size:10px;color:var(--muted);margin:25px 0 65px}footer{text-align:center;border-top:1px solid #dbb77930;padding:60px 0 30px}footer p{font:400 48px 'Cormorant Garamond',Georgia,serif;margin:22px 0}footer p em{color:var(--gold)}footer a{font-size:11px;color:var(--muted)}.footer-date{display:block;font-size:9px;letter-spacing:2px;color:#bda99788;margin-top:55px}@keyframes swipe{0%,100%{transform:translateY(3px)}50%{transform:translateY(-7px)}}@keyframes twinkle{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}
@media(min-width:1600px){.intro{left:10vw}.chapters{left:75%}}@media(max-width:1000px){.intro{left:4vw;width:23vw}.intro h1{font-size:47px}.intro .eyebrow{font-size:8px}.chapters{left:79%;width:20%}.chapters button{font-size:10px}.chapters .eyebrow{font-size:8px}.chapters button span{width:21px}.film{height:calc(100svh - 100px)}}@media(max-width:760px){header{height:62px;padding:0 23px;background:linear-gradient(#190b1077,transparent);border:0}.header-date{font-size:8px;letter-spacing:1.5px}.venue-link{font-size:9px;letter-spacing:.3px}.venue-link span{margin-left:3px}.monogram{font-size:25px}.intro,.chapters{display:none}.film{height:100svh;width:100vw;aspect-ratio:auto;box-shadow:none}.film video,.poster{object-fit:contain}.vignette{background:linear-gradient(0deg,#190b10 0%,transparent 18%)}.hint{bottom:48px;padding:7px 20px 10px}.film-footer{left:22px;right:22px;bottom:16px;font-size:7px}.venue{grid-template-columns:1fr;gap:25px;padding:36px 0}.venue-intro{margin-bottom:40px}.venue-intro h2{font-size:46px}.venue h3{font-size:34px}.map-wrap{height:250px}#venues{padding:50px 24px 0}.venue-intro .eyebrow{font-size:8px;letter-spacing:1.8px}.event{font-size:12px}footer .eyebrow{font-size:8px}footer p{font-size:42px}.directions{width:100%}.ambient{opacity:.35}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hand,.magic i,.trail{animation:none}.hint{transition:opacity .2s}}
/* The invitation stays locked until the complete original-resolution sequence is ready. */
body.preloading{overflow:hidden;overscroll-behavior:none}body.preloading #site-shell{visibility:hidden}.preloader{--loaded:0;position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 43%,#492030 0%,#220e19 40%,#13090e 80%);isolation:isolate;overflow:hidden;opacity:1;transition:opacity .85s ease,visibility .85s;min-height:100svh;padding:24px}.preloader.leaving{opacity:0;visibility:hidden;pointer-events:none}.loader-aura{position:absolute;z-index:-1;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#e8bb6030,transparent 67%);filter:blur(26px);animation:aura 5s ease-in-out infinite}.removed-loader-eyebrow{font-size:9px;letter-spacing:3.4px;text-align:center;margin:0 0 6px;opacity:.8}.forming-logo{position:relative;width:min(380px,86vw);aspect-ratio:4/3;filter:drop-shadow(0 0 14px #d2a45d2b)}.logo-art{width:100%;height:100%;overflow:visible}.logo-art text{font:400 158px 'Cormorant Garamond',Georgia,serif;letter-spacing:-8px}.logo-art .logo-amp{font-size:59px;font-style:italic;letter-spacing:0}.logo-outline{fill:none;stroke:#e4bc78;stroke-width:.7;stroke-dasharray:660;stroke-dashoffset:660;animation:inscribe 4s ease forwards;opacity:.5}.logo-fill{fill:url(#monogram-gold);clip-path:inset(calc((1 - var(--loaded))*100%) 0 0);transition:clip-path .5s ease;filter:drop-shadow(0 0 5px #e6be7550)}.logo-flourish path{stroke-dasharray:1;stroke-dashoffset:1;animation:flourish 3.5s ease forwards}.logo-flourish path:nth-child(2){animation-delay:.5s;opacity:.5}.logo-stars{animation:twinkle 3s ease-in-out infinite;transform-origin:center}.mote{position:absolute;color:#ffe2a2;animation:gather 4s ease-in-out infinite;text-shadow:0 0 10px #ffd48b}.m1{left:10%;top:20%;font-size:13px}.m2{right:11%;top:35%;font-size:20px;animation-delay:-1.4s}.m3{left:22%;bottom:18%;font-size:10px;animation-delay:-2s}.m4{right:24%;bottom:13%;font-size:14px;animation-delay:-3s}.m5{left:30%;top:12%;font-size:30px;animation-delay:-.8s}.m6{right:7%;bottom:32%;font-size:28px;animation-delay:-2.6s}.loader-message{color:var(--muted);font-size:11px;line-height:1.6;text-align:center;min-height:18px;margin:0 0 20px}.preloader.complete .logo-fill{filter:drop-shadow(0 0 12px #e6be75b0)}@keyframes inscribe{to{stroke-dashoffset:0}}@keyframes flourish{to{stroke-dashoffset:0}}@keyframes gather{0%{opacity:0;transform:translate(0,12px) scale(.3)}40%{opacity:.9;transform:translate(4px,-4px) scale(1)}100%{opacity:0;transform:translate(10px,-24px) scale(.2)}}@keyframes aura{50%{transform:scale(1.14);opacity:.55}}@media(max-height:650px){.forming-logo{width:240px}.removed-loader-eyebrow{font-size:8px}}@media(prefers-reduced-motion:reduce){.loader-aura,.logo-outline,.logo-flourish path,.logo-stars,.mote{animation:none}.logo-outline,.logo-flourish path{stroke-dashoffset:0}.logo-fill,.preloader{transition:none}}

.forming-logo{display:block;border:0;padding:0;background:transparent;color:inherit;flex-shrink:0}.forming-logo:disabled{cursor:default;opacity:1}.forming-logo:not(:disabled){cursor:pointer}.loader-message{margin:14px 0 0;font-size:13px;letter-spacing:1px}.preloader[hidden]{display:none}#film{position:absolute;inset:0}.film-layer{opacity:0;pointer-events:none;object-fit:contain}.film-layer.active{opacity:1}.film.ready .poster{opacity:0}.film video{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}

.loader-meter{height:2px;width:min(230px,70vw);margin-top:20px;background:#dbb77930;position:relative}.loader-meter span{display:block;height:100%;width:0;background:#f3d398;box-shadow:0 0 10px #f3c576;transition:width .2s linear}.loader-percent{font-size:10px;color:var(--gold);font-variant-numeric:tabular-nums;letter-spacing:1px;margin-top:12px}
