:root{color-scheme:dark;--ink:#130e0c;--paper:#f6ead7;--muted:#b8a696;--amber:#ee9a50;--line:#b28a612b;--green:#194b30}*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth}body{margin:0;min-width:300px;color:var(--paper);background:radial-gradient(ellipse at 80% 30%,#41211766,transparent 55%),var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}svg{display:block}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--amber);outline-offset:6px}.site-shell{max-width:1400px;margin:auto;padding:0 64px;position:relative;z-index:1}.header{height:132px;display:flex;align-items:center;gap:34px;border-bottom:1px solid var(--line)}.brand-paper{background:#fcfbf7;padding:13px 17px 11px;display:block;box-shadow:0 4px 30px #0002;transform:rotate(-3deg);border-radius:3px;color:var(--green)}.brand-paper svg{width:143px;height:auto;mix-blend-mode:multiply}.brand-paper--header{transition:transform .3s}.brand-paper--header:hover{transform:rotate(0)}.header__edition{display:flex;flex-direction:column;gap:5px;font-size:9px;letter-spacing:2px;color:#b8a696}.edition{margin-left:auto;color:var(--amber);font-size:10px;letter-spacing:2.3px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:72px;padding:70px 0 80px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.3px;display:flex;align-items:center;gap:12px;color:var(--amber);margin:0 0 26px}.eyebrow>span{width:28px;height:1px;background:var(--amber)}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(54px,5.8vw,82px);line-height:1.03;font-weight:400;letter-spacing:-3.5px;margin:0 0 22px}h1 em{font-weight:400;color:#eda973}.event-name{font-size:10px;letter-spacing:3px;color:#c6ad94;margin:0 0 26px}.lead{font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 30px}.event-details{display:flex;gap:0;margin:0 0 22px;padding:23px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.event-details>div{flex:1}.event-details>div+div{border-left:1px solid var(--line);padding-left:30px}.event-details dt{font-size:9px;letter-spacing:2px;color:var(--amber);margin-bottom:10px}.event-details dd{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:27px;line-height:1.15}.event-details dd span{display:block;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.5;color:var(--muted);margin-top:7px}.venue{display:flex;align-items:center;gap:15px;margin:0 0 30px}.venue__mark{display:grid;place-items:center;width:42px;height:48px;border:1px solid var(--line);border-radius:24px 24px 7px 7px;color:var(--amber)}.venue__mark svg{width:19px}.venue__name{font-family:Georgia,'Times New Roman',serif;font-size:25px}.venue p{color:var(--muted);font-size:11px;line-height:1.6;margin:4px 0 0}.actions{display:grid;gap:11px;max-width:460px}.action{display:flex;gap:18px;align-items:center;padding:19px 23px;border:1px solid #c6a08047;min-height:84px;transition:transform .25s,background .25s,border-color .25s}.action--primary{background:#e6a36b;color:#21130d;border-color:#e6a36b}.action--secondary{background:#ffffff02}.action__icon{width:26px;height:26px;flex:0 0 26px}.action strong{font-weight:500;font-size:16px;display:block}.action small{display:block;font-size:10px;opacity:.65;margin-top:6px;letter-spacing:.2px}.action:hover{transform:translateY(-2px);border-color:#e6a36b}.action--primary:hover{background:#f2b783}.action--secondary:hover{background:#e6a36b0b}.hero__art{position:relative;align-self:stretch;min-height:720px;padding:0 9px 20px}.art__arch{position:absolute;inset:0 9px 20px;border-radius:250px 250px 8px 8px;overflow:hidden;background:#3d2418;box-shadow:0 30px 100px #0005;border:1px solid #a8794c59}.art__arch:after{content:'';position:absolute;inset:12px;border:1px solid #f4ce9b35;border-radius:inherit;pointer-events:none}.venue-scene{position:absolute;inset:0;width:100%;height:100%;filter:brightness(.68) saturate(.78)}.art__shade{position:absolute;inset:0;background:linear-gradient(#130e0c85,#130e0c00 50%,#130e0cb0),radial-gradient(ellipse at 50% 30%,transparent,#1e100c66)}.art__heading{position:absolute;top:34%;left:18px;right:18px;text-align:center;text-shadow:0 4px 40px #000}.art__heading>span{font-size:11px;letter-spacing:5px;color:#e0b787}.art__heading p{font:400 34px/1.2 Georgia,serif;letter-spacing:-.8px;margin:21px 0;color:#fff0da}.art__heading em{color:#efb27b;font-weight:400}.art__bottom{position:absolute;bottom:30px;left:31px;right:31px;display:flex;justify-content:space-between;color:#e8d0b4;font-size:8px;letter-spacing:2px}.art__vertical{position:absolute;right:-23px;top:37%;writing-mode:vertical-rl;font-size:8px;color:#8f7965;letter-spacing:3px}.date-seal{position:absolute;bottom:-4px;left:-36px;width:110px;height:110px;border-radius:50%;background:#241912;box-shadow:0 0 0 7px var(--ink),0 0 0 8px #b28a6147;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;transform:rotate(-12deg);color:#deb58c}.date-seal span{font-size:6px;letter-spacing:2px}.date-seal strong{font:40px/1 Georgia,serif;font-weight:400}.moon{position:absolute;width:76px;height:76px;left:calc(50% - 38px);top:12%;border-radius:50%;background:#e5b679;box-shadow:0 0 40px #e5a25933,0 0 90px #e5a25922;overflow:hidden;opacity:.7}.moon:before,.moon:after{content:'';position:absolute;border-radius:50%;background:#a1754c45}.moon:before{width:26px;height:20px;left:12px;top:15px}.moon:after{width:15px;height:12px;right:12px;bottom:13px}.bats{position:absolute;top:9%;left:0;width:100%;height:auto;fill:#0d0908;filter:drop-shadow(0 3px 2px #0002);animation:bat-drift 10s ease-in-out infinite}.footer{border-top:1px solid var(--line);padding:25px 0 30px;display:flex;justify-content:space-between;align-items:center;gap:22px;font-size:9px;letter-spacing:1.2px;color:#8f7d6d}.footer>span:nth-child(2){letter-spacing:.3px}.footer button{border:0;background:none;color:#b79c83;padding:6px 0;cursor:pointer;font-size:9px;letter-spacing:.3px}.footer button:hover{color:var(--amber)}.atmosphere{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}.mist{position:absolute;width:150%;height:40%;left:-25%;bottom:-15%;background:radial-gradient(ellipse at 30% 70%,#91654713,transparent 55%),radial-gradient(ellipse at 80% 50%,#b17e4010,transparent 60%);filter:blur(35px);animation:mist 28s ease-in-out infinite alternate}.mist--two{bottom:20%;opacity:.4;animation-direction:alternate-reverse;animation-duration:40s}.embers i{position:absolute;bottom:-10px;width:2px;height:2px;background:#eeaa6c;box-shadow:0 0 7px #e8914c;border-radius:50%;opacity:0;animation:ember 12s linear infinite}.embers i:nth-child(1){left:5%;animation-delay:-2s}.embers i:nth-child(2){left:18%;animation-delay:-7s;animation-duration:17s}.embers i:nth-child(3){left:35%;animation-delay:-10s}.embers i:nth-child(4){left:55%;animation-delay:-4s;animation-duration:15s}.embers i:nth-child(5){left:72%;animation-delay:-9s}.embers i:nth-child(6){left:89%;animation-delay:-1s;animation-duration:18s}.embers i:nth-child(7){left:64%;animation-delay:-6s}.embers i:nth-child(8){left:43%;animation-delay:-13s;animation-duration:20s}

.brand-mark{display:block;position:relative;flex-shrink:0;background:none;border:0;box-shadow:none;padding:0;transform:none}
.brand-mark--header{width:172px;margin-left:-6px}.animated-logo{display:block;width:100%;height:auto;overflow:hidden;filter:drop-shadow(0 0 18px #dc8c4820)}
.logo-lettering{animation:logo-warmth 6s ease-in-out infinite}.logo-bat{fill:#23140f;stroke:#eab581;stroke-width:1.3;opacity:0;pointer-events:none;transform-box:view-box;animation:logo-flight 9s linear infinite}.logo-bat--two{animation-name:logo-flight-back;animation-delay:-5s;animation-duration:12s}.bat-wing{transform-box:fill-box;animation:wingbeat .36s ease-in-out infinite alternate}.bat-wing--left{transform-origin:right center}.bat-wing--right{transform-origin:left center;animation-direction:alternate-reverse}
.intro{display:none}.js .intro{position:fixed;display:block;inset:0;z-index:10;isolation:isolate;overflow:hidden;pointer-events:none;visibility:visible;background:#0c0907;transition:background 1.8s}
.intro__backdrop{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 50% 40%,#bc6b2838,transparent 68%),linear-gradient(#0c0907,#110b08);transition:opacity 2.4s}
.intro__halo{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 40%,#c68c3c22,transparent 66%);animation:halo-in 1.5s both;transition:opacity 1s}
.intro__doors{position:absolute;inset:0 24px;display:flex;perspective:1500px;perspective-origin:50% 48%;transform-style:preserve-3d}
.gate-leaf{position:relative;width:50%;height:100%;transform-origin:0 50%;backface-visibility:hidden;transition:transform 2.8s cubic-bezier(.45,.02,.18,1),opacity .6s;filter:drop-shadow(0 4px 9px #000);will-change:transform}.gate-leaf--right{transform-origin:100% 50%}.gate-leaf svg{width:100%;height:100%;display:block}.gate-leaf--right>svg{transform:scaleX(-1)}.gate__iron{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.gate__frame{stroke-width:7}.gate__rail{stroke-width:7}.gate__scrollwork{stroke-width:3.3;opacity:.95}.gate__finial{fill:#9a7855;stroke-width:1.6}.gate__rivet{fill:#bc9267;stroke-width:2}
.gate-post{position:absolute;top:0;bottom:0;width:32px;background:repeating-linear-gradient(0deg,transparent 0 88px,#0005 89px 92px),linear-gradient(90deg,#1c1510,#554132 50%,#211710);box-shadow:0 0 25px #0007;border:1px solid #86634455;transition:transform 2.8s cubic-bezier(.45,.02,.18,1),opacity 1s}.gate-post:after{content:'';position:absolute;top:12%;bottom:10%;left:8px;right:8px;border:1px solid #b18c5d33}.gate-post--left{left:0}.gate-post--right{right:0}.gate-shadow{position:absolute;left:0;right:0;bottom:-12%;height:20%;background:radial-gradient(ellipse,#000a,transparent 70%);filter:blur(18px);transition:opacity 2s}
.intro__invitation,.intro__brand{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);width:min(700px,87vw);text-align:center;transition:opacity .7s,transform 1s,filter .8s;text-shadow:0 3px 25px #0b0704,0 0 80px #0b0704}
.intro__invitation:before,.intro__brand:before{content:'';position:absolute;inset:-75px -40px;z-index:-1;background:radial-gradient(ellipse,#0b0807f0 15%,#0b0807af 40%,transparent 72%);pointer-events:none}
.intro__overline,.intro__date{font-size:9px;letter-spacing:3px;color:#e1b78b;display:block}.intro__invitation p{font:400 clamp(32px,4.8vw,65px)/1.18 Georgia,serif;letter-spacing:-1.6px;margin:30px 0 28px;color:#f6ead7}.intro__invitation em{color:#efa66c;font-weight:400}.intro__invitation{animation:invitation-in 1.1s cubic-bezier(.2,.8,.3,1) .1s both}.intro__line{display:block;width:90px;height:1px;background:#ad7850;margin:33px auto 0;transform-origin:left;animation:line-in 1.6s .4s both}
.intro__brand{opacity:0;filter:blur(8px);transform:translate(-50%,calc(-50% + 20px))}.brand-mark--intro{width:min(430px,75vw);margin:auto}.intro__brand>span{display:block;font-size:8px;letter-spacing:2.5px;color:#cbab8a;margin-top:34px}
.js body:not([data-stage="ready"]){overflow:hidden}.js .site-shell{opacity:0;filter:blur(8px);transform:translateY(18px);transition:opacity 2s,filter 2.5s,transform 2.5s}
.js [data-stage="brand"] .intro__invitation{animation:none;opacity:0;filter:blur(6px);transform:translate(-50%,calc(-50% - 25px))}.js [data-stage="brand"] .intro__brand{opacity:1;filter:none;transform:translate(-50%,-50%)}
.js [data-stage="opening"] .intro,.js [data-stage="ready"] .intro{background:transparent}.js [data-stage="opening"] .intro__invitation,.js [data-stage="ready"] .intro__invitation{animation:none;opacity:0;filter:blur(8px)}.js [data-stage="opening"] .intro__brand,.js [data-stage="ready"] .intro__brand{opacity:0;filter:blur(5px);transform:translate(-50%,calc(-50% - 12px))}.js [data-stage="opening"] .intro__backdrop,.js [data-stage="opening"] .intro__halo,.js [data-stage="opening"] .gate-shadow,.js [data-stage="ready"] .intro__backdrop,.js [data-stage="ready"] .intro__halo,.js [data-stage="ready"] .gate-shadow{opacity:0;animation:none}
.js [data-stage="opening"] .gate-leaf--left,.js [data-stage="ready"] .gate-leaf--left{transform:rotateY(-112deg)}.js [data-stage="opening"] .gate-leaf--right,.js [data-stage="ready"] .gate-leaf--right{transform:rotateY(112deg)}.js [data-stage="opening"] .gate-post--left,.js [data-stage="ready"] .gate-post--left{transform:translateX(-105%)}.js [data-stage="opening"] .gate-post--right,.js [data-stage="ready"] .gate-post--right{transform:translateX(105%)}.js [data-stage="opening"] .site-shell,.js [data-stage="ready"] .site-shell{opacity:1;filter:none;transform:none}.js [data-stage="ready"] .intro{visibility:hidden;transition:visibility 0s .2s}.js [data-stage="ready"] h1 em{animation:title-glow 2s both}
@keyframes invitation-in{from{opacity:0;filter:blur(12px);transform:translate(-50%,calc(-50% + 25px))}to{opacity:1;filter:none;transform:translate(-50%,-50%)}}@keyframes halo-in{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes line-in{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes title-glow{0%,100%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 36px #de874953}}@keyframes mist{from{transform:translateX(-7%)}to{transform:translateX(12%)}}@keyframes ember{0%{transform:translateY(0);opacity:0}10%,65%{opacity:.35}100%{transform:translate(50px,-100vh);opacity:0}}@keyframes bat-drift{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@media(min-width:1500px){.hero{padding-top:85px;padding-bottom:95px}.hero__art{min-height:750px}}@media(max-width:1100px){.site-shell{padding:0 40px}.hero{gap:45px}.hero__art{min-height:700px}h1{font-size:64px;letter-spacing:-3px}.header__edition{font-size:8px;letter-spacing:1.5px}.art__heading p{font-size:30px}.art__vertical{right:-18px}.event-details dd{font-size:24px}}@media(max-width:800px){.site-shell{max-width:570px;padding:0 26px}.header{height:110px;gap:16px}.brand-paper--header svg{width:116px}.brand-paper--header{padding:11px 13px 9px}.header__edition{display:none}.edition{font-size:8px;letter-spacing:1.7px}.hero{display:flex;flex-direction:column;gap:43px;padding:44px 0 55px;align-items:stretch}.eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:22px}h1{font-size:clamp(49px,9.7vw,69px);letter-spacing:-2.8px;margin-bottom:22px;line-height:1.06}.event-name{font-size:9px;letter-spacing:2.4px;margin-bottom:22px}.lead{font-size:13px;margin-bottom:27px}.event-details{padding:21px 0}.event-details dd{font-size:26px}.venue{margin-bottom:26px}.venue__name{font-size:25px}.actions{max-width:none}.action{min-height:79px;padding:17px 21px}.action strong{font-size:16px}.action small{font-size:10px}.hero__art{min-height:510px;padding:0 13px 18px;width:100%}.art__arch{inset:0 13px 18px}.art__heading{top:32%}.art__heading p{font-size:32px}.moon{top:10%;width:64px;height:64px;left:calc(50% - 32px)}.bats{top:5%}.art__vertical{right:-5px;top:33%;font-size:6px;letter-spacing:2.5px}.date-seal{width:87px;height:87px;left:0;bottom:0}.date-seal strong{font-size:32px}.date-seal span{font-size:5px}.footer{flex-wrap:wrap;gap:15px 20px;padding:23px 0 27px;font-size:8px}.footer>span:nth-child(2){order:3;flex-basis:100%;font-size:10px}.footer button{font-size:8px;margin-left:auto}.intro__brand .brand-paper{padding:25px 26px 23px}.intro__overline,.intro__date{font-size:7px;letter-spacing:2px}.intro__invitation p{font-size:clamp(31px,7vw,45px);letter-spacing:-1px}.intro__brand>span{font-size:6px;letter-spacing:1.8px}.intro__doors i:after{inset:8% 10%}}@media(max-width:360px){.site-shell{padding:0 20px}h1{font-size:46px}.eyebrow{font-size:8px;letter-spacing:1.3px}.action{gap:13px;padding:17px}.action strong{font-size:15px}.hero__art{min-height:450px}.event-details dd{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .site-shell{opacity:1;filter:none;transform:none}.js .intro{display:none}.js body{overflow:auto!important}.embers{display:none}}

/* Candle sparks are visible above the page, without blocking taps. */
.atmosphere{z-index:3}.embers i{width:3px;height:3px;background:#ffc57e;box-shadow:0 0 5px #ffc57e,0 0 14px #ef913acc;animation-name:ember-bright}.embers i:nth-child(3n){width:2px;height:6px;border-radius:60%;filter:blur(.25px)}.embers i:nth-child(4n){width:4px;height:4px;box-shadow:0 0 9px #ffb75a,0 0 22px #ef913a99}
.embers i:nth-child(n+9){left:calc(var(--spark-x)*1%);animation-delay:calc(var(--spark-delay)*-1s);animation-duration:calc(var(--spark-speed)*1s)}
.mist{opacity:.7;background:radial-gradient(ellipse at 30% 70%,#91654724,transparent 55%),radial-gradient(ellipse at 80% 50%,#b17e401c,transparent 60%)}
.actions{gap:14px}.action{position:relative;isolation:isolate;overflow:hidden;min-height:92px;padding:18px 22px;gap:17px;border:1px solid #b78b5f70;border-radius:19px 5px 19px 5px;background:linear-gradient(120deg,#291a13,#17110e 70%);box-shadow:inset 0 1px 0 #ffe2b215,0 9px 24px #0002;transition:transform .3s,box-shadow .35s,border-color .35s}.action:before{content:'';position:absolute;inset:5px;border:1px solid #cc9d6820;border-radius:14px 2px 14px 2px;z-index:-1}.action:after{content:'';position:absolute;width:70px;height:200%;top:-50%;left:-100px;background:linear-gradient(90deg,transparent,#ffe2b51a,transparent);transform:skewX(-24deg);transition:left .8s;pointer-events:none}.action--primary{color:#ffead2;border-color:#e3a86caa;background:radial-gradient(ellipse at 2% 50%,#ac642e4d,transparent 65%),linear-gradient(115deg,#59331e,#2e1e15 72%);box-shadow:inset 0 1px 0 #ffe2b229,inset 0 0 24px #da8b3720,0 9px 28px #0003}.action--primary:before{border-color:#efb67e40}.action__icon{width:38px;height:38px;flex-basis:38px;padding:8px;border:1px solid #c99c6d65;border-radius:50%;color:#edba88;background:radial-gradient(circle,#db9b4520,transparent);box-shadow:0 0 0 4px #d39d5610}.action strong{font:400 20px/1.3 Georgia,'Times New Roman',serif;letter-spacing:.1px}.action small{font-size:10px;letter-spacing:.35px;color:#cbb39d;opacity:.9;margin-top:7px}.action:hover{transform:translateY(-3px);border-color:#ffd7a5;box-shadow:inset 0 0 30px #eea25518,0 9px 34px #d5883b18;background-color:#372217}.action:hover:after{left:calc(100% + 100px)}.action--primary:hover{background:radial-gradient(ellipse at 2% 50%,#b57b434d,transparent 65%),linear-gradient(115deg,#694123,#39241a 72%)}.action:active{transform:translateY(0)}
@keyframes logo-warmth{0%,100%{opacity:.94}50%{opacity:1}}
@keyframes logo-flight{0%,8%{opacity:0;transform:translate(-80px,280px) scale(.68) rotate(-12deg)}14%{opacity:1}42%{transform:translate(470px,132px) scale(.8) rotate(8deg);opacity:1}68%,100%{opacity:0;transform:translate(1050px,30px) scale(.5) rotate(-7deg)}}
@keyframes logo-flight-back{0%,24%{opacity:0;transform:translate(1050px,290px) scale(.4)}30%{opacity:.9}50%{transform:translate(470px,238px) scale(.6) rotate(-8deg);opacity:.9}72%,100%{opacity:0;transform:translate(-90px,100px) scale(.4)}}
@keyframes wingbeat{from{transform:scaleY(.55) rotate(-8deg)}to{transform:scaleY(1.12) rotate(8deg)}}
@keyframes ember-bright{0%{transform:translate(0,5vh) rotate(0);opacity:0}9%{opacity:.8}40%{opacity:.5;transform:translate(22px,-40vh) rotate(90deg)}70%{opacity:.85}100%{transform:translate(-35px,-105vh) rotate(170deg);opacity:0}}
@media(max-width:800px){.brand-mark--header{width:155px;margin-left:-4px}.header{height:110px}.intro__doors{inset:0 10px}.gate-post{width:16px}.gate-post:after{left:4px;right:4px}.gate__iron{stroke-width:6}.gate__frame,.gate__rail{stroke-width:8}.gate__scrollwork{stroke-width:4.5}.intro__brand .brand-mark--intro{width:min(390px,83vw)}.action{padding:18px 20px;min-height:90px;gap:16px}.action strong{font-size:19px}.action__icon{width:37px;height:37px;flex-basis:37px;padding:8px}.intro__overline,.intro__date{font-size:7px;letter-spacing:2px}.intro__invitation p{font-size:clamp(31px,7vw,45px);letter-spacing:-1px}}
@media(max-width:360px){.brand-mark--header{width:136px}.action{gap:13px;padding:17px}.action strong{font-size:17px}.action small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.logo-bat{display:none}.atmosphere .embers{display:none}.intro{display:none!important}.js .site-shell{opacity:1;filter:none;transform:none}}

.js [data-stage="intro"] .gate-leaf,.js [data-stage="intro"] .gate-post{transition:none}
