@font-face{font-family:BDO;src:url('assets/BDOGrotesk-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:BDO;src:url('assets/BDOGrotesk-Light.woff2') format('woff2');font-weight:300;font-display:swap}@font-face{font-family:BDO;src:url('assets/BDOGrotesk-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--wine:#731528;--cream:#f2dbc0;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--wine);font-family:BDO,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,article:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-weight:300;line-height:1.02;letter-spacing:-.055em}h2{font-size:clamp(42px,5vw,76px)}em{font-family:BDO,Arial,sans-serif;font-style:normal;font-weight:300;opacity:.65}p+p{margin-top:22px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;display:block;margin-bottom:25px}.fine{font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--wine);background:var(--wine);color:var(--cream);padding:17px 25px;font-size:14px;font-weight:700;transition:background .25s,color .25s;border-radius:2px}.button:hover{background:transparent;color:var(--wine)}.button.cream{background:var(--cream);border-color:var(--cream);color:var(--wine)}.button.cream:hover{background:transparent;color:var(--cream)}.small{padding:11px 22px}.skip{position:fixed;top:-80px;left:20px;z-index:99;background:var(--cream);padding:12px}.skip:focus{top:10px}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--wine);color:var(--cream);border-bottom:1px solid #f2dbc030}header .button{border-color:var(--cream)}header .button:hover{color:var(--cream)}.brand{font-size:24px;font-weight:700;letter-spacing:-.06em}.brand span{font-size:11px;font-weight:400;letter-spacing:.07em;display:block}nav{display:flex;gap:35px;font-size:14px}nav a:hover{opacity:.65}.hero{background:var(--wine);color:var(--cream);position:relative;overflow:hidden;padding:35px 5% 25px;min-height:790px;height:100svh;max-height:1100px;display:flex;flex-direction:column;justify-content:space-between}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 60% 70%,#a3254533,transparent 60%);pointer-events:none}.hero-kicker,.hero-bottom{display:flex;justify-content:space-between;position:relative;font-size:12px;letter-spacing:.12em}.hero-kicker{z-index:1}.hero-main{position:relative;text-align:center;z-index:1;padding:50px 0}.hero-main .eyebrow{font-weight:400;font-size:13px;letter-spacing:.14em;margin-bottom:35px}h1{font-size:clamp(75px,10.8vw,170px);line-height:.96;position:relative;display:inline-block}h1 em{opacity:1}.hero-star{font-size:70px;position:absolute;right:-90px;top:45px}.hero-sub{margin:30px 0;font-size:18px;line-height:1.5}.hero-bottom{align-items:center}.hero-bottom a{display:flex;gap:20px;align-items:center}.hero-bottom a span{font-size:24px}.ribbons{position:absolute;inset:0;pointer-events:none;overflow:hidden}.ribbons i{position:absolute;top:0;width:3%;height:40%;background:linear-gradient(#a96a43,var(--cream));opacity:.75;transform-origin:top}.ribbons i:nth-child(1){left:2%;height:24%}.ribbons i:nth-child(2){left:9%;height:43%}.ribbons i:nth-child(3){left:16%;height:17%}.ribbons i:nth-child(4){right:2%;height:28%}.ribbons i:nth-child(5){right:9%;height:48%}.ribbons i:nth-child(6){right:16%;height:20%}.ticker{overflow:hidden;border-bottom:1px solid #73152840;padding:18px 0;font-size:13px;font-weight:700;letter-spacing:.12em;white-space:nowrap}.ticker div{width:max-content;animation:marquee 40s linear infinite}.ticker span{margin:0 40px}.section{padding:110px 6%}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.intro-copy{max-width:580px}.intro-copy p:first-child{font-size:22px;line-height:1.5}.intro-copy p{font-size:16px}.countdown{padding-top:20px;padding-bottom:75px;position:relative;text-align:center;border-bottom:1px solid #73152830}.countdown .eyebrow{margin-bottom:22px}#countdown{display:flex;gap:55px;justify-content:center}#countdown div{display:flex;flex-direction:column}#countdown b{font-size:clamp(40px,5.5vw,84px);font-weight:300;line-height:1.2;letter-spacing:-.06em;font-variant-numeric:tabular-nums}#countdown span{font-size:11px;letter-spacing:.16em}.count-star{position:absolute;right:10%;top:55px;font-size:65px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:50px}.section-heading>p,.section-aside{max-width:410px;font-size:16px}.carousel-controls{display:flex;gap:10px;margin-top:25px}.carousel-controls button{border:1px solid #73152860;background:transparent;color:var(--wine);height:45px;width:45px;border-radius:50%;font-size:23px}.carousel-controls button:hover{background:var(--wine);color:var(--cream)}.artist-track{display:flex;gap:24px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.artist-track::-webkit-scrollbar{display:none}.artist{flex:0 0 calc((100% - 48px)/3);height:510px;position:relative;overflow:hidden;scroll-snap-align:start;background:#561220;color:var(--cream);border-radius:3px}.artist img{width:100%;height:100%;object-fit:cover;object-position:center 45%;transition:transform .7s,opacity .5s}.artist:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,#26050dd9);pointer-events:none}.artist-top{position:absolute;z-index:3;top:20px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.artist-toggle{width:32px;height:32px;border:1px solid #f2dbc090;border-radius:50%;background:#73152840;color:var(--cream);font-size:24px;line-height:1}.artist-info{position:absolute;bottom:0;left:0;right:0;padding:25px;z-index:2;max-height:calc(100% - 80px);display:flex;flex-direction:column}.artist h3{font-size:30px;letter-spacing:-.03em;line-height:1.15}.bio{max-height:0;opacity:0;overflow:auto;transition:max-height .5s,opacity .35s;margin-top:0;scrollbar-width:thin;font-size:14px;line-height:1.6}.bio p+p{margin-top:14px}.artist.open .bio,.artist:focus-visible .bio{max-height:320px;opacity:1;margin-top:20px}.artist.open img,.artist:focus-visible img{opacity:.2;transform:scale(1.05)}@media(hover:hover){.artist:hover .bio{max-height:320px;opacity:1;margin-top:20px}.artist:hover img{opacity:.2;transform:scale(1.05)}}.artist-hint{margin-top:20px;opacity:.7}.artist-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:repeating-linear-gradient(90deg,transparent,transparent 19%,#f2dbc008 20%,transparent 21%)}.artist-placeholder span{font-size:120px;font-weight:300}.artist-placeholder p{text-transform:uppercase;letter-spacing:.2em;font-size:12px}.interlude{background:var(--wine);color:var(--cream);text-align:center;padding:80px 5%;overflow:hidden}.interlude p{font-size:clamp(46px,7.8vw,118px);font-weight:300;letter-spacing:-.06em;line-height:1.3;margin-bottom:15px}.interlude p span{display:inline-block;font-size:.55em;margin:0 30px}.interlude>span:last-child{font-size:15px}.show-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.show-grid .artist{height:440px}.shows{border-bottom:1px solid #73152830}.menus{background:var(--white)}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.menu-grid article{border:1px solid #73152850;padding:35px}.menu-title{display:flex;gap:20px;align-items:center;border-bottom:1px solid #73152840;padding-bottom:25px}.menu-title h3{font-size:29px;font-weight:300;letter-spacing:-.04em;flex:1}.menu-title>span:first-child{font-size:12px}.menu-title>span:last-child{font-size:28px}ol{list-style:none;margin:0;padding:0;counter-reset:menu}ol li{padding:19px 0;border-bottom:1px solid #73152820;display:flex;gap:20px;line-height:1.5;font-size:16px}ol li:before{counter-increment:menu;content:counter(menu,decimal-leading-zero);font-size:11px;padding-top:4px;opacity:.6}ol li:last-child{border:0}.menu-note{text-align:center;margin-top:30px;font-size:14px}.ticketing{background:var(--wine);color:var(--cream)}.pass-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pass{border:1px solid #f2dbc060;padding:35px 27px;display:flex;flex-direction:column}.pass.pass-vip{background:var(--cream);color:var(--wine)}.pass .eyebrow{font-size:11px;margin-bottom:15px}.pass h3{font-size:44px;font-weight:300;letter-spacing:-.05em}.pass ul{list-style:none;padding:0;margin:25px 0 35px;flex:1}.pass li{position:relative;padding-left:17px;font-size:14px;margin:14px 0;line-height:1.5}.pass li:before{content:'·';position:absolute;left:0}.pass .button{background:var(--cream);border-color:var(--cream);color:var(--wine);padding:14px 8px;font-size:13px}.pass .button:hover{background:transparent;color:var(--cream)}.pass.pass-vip .button{background:var(--wine);color:var(--cream);border-color:var(--wine)}.pass.pass-vip .button:hover{background:transparent;color:var(--wine)}.ticketing>.fine{text-align:center;margin-top:30px}.ticketing>.fine a{text-decoration:underline}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}details{border-bottom:1px solid #73152840}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:22px 0;font-size:17px}summary::-webkit-details-marker{display:none}summary span{font-size:25px;font-weight:300}details[open] summary span{transform:rotate(45deg)}details p{padding:0 35px 25px 0;font-size:15px;line-height:1.75}.access{background:var(--wine);color:var(--cream);display:grid;grid-template-columns:1.2fr 1fr;gap:10%}.access p{margin:30px 0;font-size:18px}.contact{display:flex;flex-direction:column;justify-content:center;gap:40px}.contact .eyebrow{margin-bottom:10px}.contact h3{font-size:30px;font-weight:300}.contact a{border-bottom:1px solid #f2dbc050;font-size:17px}.access-meta{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:13px;border-top:1px solid #f2dbc040;padding-top:25px}.partners{text-align:center;padding:65px 6%}.partners>div{display:flex;justify-content:center;align-items:center;gap:60px;margin-top:30px;font-size:30px;font-weight:700;letter-spacing:-.05em}.partners b{font-size:20px;font-weight:300}.partners .domain{font-weight:300;font-size:27px;line-height:1.1}footer{border-top:1px solid #73152830;padding:30px 5%;display:grid;grid-template-columns:1fr 1fr;gap:25px;font-size:13px}footer>p:nth-child(2){text-align:right;margin:0}footer>a:last-child{text-align:right;text-decoration:underline}footer .fine{font-size:11px}body.ready .hero-main{animation:appear 1s both}body.ready .ribbons i{animation:ribbon 1.8s both}body.ready .ribbons i:nth-child(2n){animation-delay:.15s}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@keyframes appear{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}@keyframes ribbon{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes marquee{to{transform:translateX(-35%)}}
@media(min-width:1600px){.section{padding-left:max(6%,calc((100% - 1440px)/2));padding-right:max(6%,calc((100% - 1440px)/2))}}@media(max-width:1000px){.hero{min-height:700px}.hero-star{font-size:45px;right:-50px}.section{padding:80px 5%}.intro{gap:6%}.artist{height:470px;flex-basis:calc((100% - 24px)/2)}.pass-grid{grid-template-columns:1fr}.pass{display:grid;grid-template-columns:.7fr 1.3fr;gap:0 35px}.pass .eyebrow{grid-column:1}.pass h3{grid-column:1}.pass ul{grid-column:2;grid-row:1/4;margin-top:0}.pass .button{grid-column:1;align-self:end}.count-star{right:5%;font-size:40px}.show-grid .artist h3{font-size:24px}.partners>div{gap:30px}}@media(max-width:650px){header{height:74px;padding:0 5%}.brand{font-size:22px}.brand span{font-size:9px}nav{display:none}.small{padding:9px 16px;font-size:12px}.hero{height:100svh;min-height:680px;padding-top:25px}.hero-kicker{flex-direction:column;gap:8px;text-align:center;font-size:10px}.hero-main{padding:35px 0}h1{font-size:clamp(55px,12.6vw,83px);line-height:1.08;letter-spacing:-.07em}.hero-star{font-size:30px;top:-40px;right:15px}.hero-main .eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:28px}.hero-sub{font-size:16px;margin:25px 0}.hero-bottom{justify-content:center;font-size:10px}.hero-bottom>span{display:none}.ribbons i{width:4%;opacity:.4}.ribbons i:nth-child(2),.ribbons i:nth-child(5){height:23%}.ribbons i:nth-child(3),.ribbons i:nth-child(6){display:none}.ticker{font-size:11px}.ticker span{margin:0 22px}.section{padding:65px 6%}h2{font-size:42px}.eyebrow{font-size:10px;margin-bottom:20px}.intro{grid-template-columns:1fr;gap:30px}.intro-copy p:first-child{font-size:20px}.intro-copy p{font-size:15px}.countdown{padding-top:5px;padding-bottom:50px}#countdown{gap:24px}#countdown b{font-size:42px}#countdown span{font-size:9px}.count-star{display:none}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-aside{margin-top:25px;font-size:15px}.section-aside{display:flex;align-items:center;justify-content:space-between;gap:12px}.carousel-controls{margin:0}.carousel-controls button{width:38px;height:38px}.artist{flex-basis:88%;height:500px}.artist-track{gap:15px}.artist-info{padding:23px}.artist h3{font-size:30px}.interlude{padding:55px 5%}.interlude p{font-size:45px}.interlude p span{margin:0 12px}.interlude>span:last-child{font-size:12px}.show-grid{grid-template-columns:1fr;gap:20px}.show-grid .artist{height:380px}.show-grid .artist h3{font-size:30px}.menu-grid{grid-template-columns:1fr;gap:20px}.menu-grid article{padding:25px}.menu-title h3{font-size:26px}ol li{font-size:15px}.menu-note{font-size:12px}.pass{display:flex;padding:30px}.pass ul{margin:20px 0 30px}.pass .eyebrow{font-size:11px}.pass li{font-size:15px}.pass .button{align-self:stretch}.faq{grid-template-columns:1fr;gap:30px}summary{font-size:16px}.access{grid-template-columns:1fr;gap:55px}.partners>div{flex-direction:column;gap:20px;font-size:26px}.partners .eyebrow{font-size:10px}.partners b{font-size:18px}footer{grid-template-columns:1fr;gap:18px}footer>p:nth-child(2),footer>a:last-child{text-align:left}footer>p:nth-child(2){margin:0}.fine{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.partners .partner-logo{display:block;width:auto;height:120px;max-width:100%;object-fit:contain}
@media(max-width:650px){.partners .partner-logo{height:120px}}

.partners .partner-link{display:inline-flex;align-items:center;justify-content:center}

/* Animated champagne framing inspired by the event poster. */
.hero{isolation:isolate;background:#731528}
.hero:before{background:radial-gradient(ellipse at 55% 55%,#ad274859,transparent 65%);animation:hero-glow 12s ease-in-out infinite alternate;z-index:-1}
.hero-decor{position:absolute;inset:0;pointer-events:none;z-index:0;transform:translate3d(var(--drift-x,0px),var(--drift-y,0px),0);transition:transform 1.3s cubic-bezier(.2,.8,.2,1)}
.hero .ribbons{inset:-18px -10px}
.hero .ribbons .ribbon{left:var(--x);right:auto;width:clamp(14px,2.9vw,46px);height:var(--length);margin-left:clamp(-23px,-1.45vw,-7px);opacity:.84;display:block;transform-origin:top;animation:none;background:linear-gradient(180deg,transparent 0%,#bb8b6260 25%,#f2dbc0 100%)}
.hero .ribbons .ribbon-top{top:0;bottom:auto}
.hero .ribbons .ribbon-bottom{top:auto;bottom:0;transform-origin:bottom;background:linear-gradient(180deg,#f2dbc0 0%,#bb8b6260 75%,transparent 100%)}
body.ready .hero .ribbons .ribbon{animation:ribbon-arrive 1.7s cubic-bezier(.16,1,.3,1) var(--delay) both,ribbon-breathe var(--period) ease-in-out calc(1.7s + var(--delay)) infinite alternate}
.sparkles{position:absolute;inset:0}
.sparkle-dot,.sparkle-star{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);color:var(--cream)}
.sparkle-dot{border-radius:50%;background:#fff;opacity:.7;animation:dot-float var(--period) ease-in-out var(--delay) infinite alternate}
.sparkle-star{animation:star-shimmer var(--period) ease-in-out var(--delay) infinite;transform-origin:center}
.sparkle-star svg{display:block;width:100%;height:100%}
.hero-main{z-index:2}.hero-kicker,.hero-bottom{z-index:2}
.hero-line{display:block}
body.ready .hero-main{animation:none}
body.ready .hero-line{animation:title-arrive 1.4s cubic-bezier(.16,1,.3,1) .25s both}
body.ready .hero-line:nth-child(2){animation-delay:.43s}
body.ready .hero-main>.eyebrow{animation:appear 1.2s .05s both}
body.ready .hero-sub{animation:appear 1.2s .7s both}
body.ready .hero-main>.button{animation:appear 1.2s .85s both}
body.ready .hero-kicker,body.ready .hero-bottom{animation:appear 1.2s 1s both}
.hero-bottom>a>span{animation:scroll-invite 2s ease-in-out infinite}
.hero.motion-paused .hero-decor *,.hero.motion-paused:before{animation-play-state:paused!important}
@keyframes ribbon-arrive{from{opacity:0;transform:scaleY(.05)}to{opacity:.84;transform:scaleY(1)}}
@keyframes ribbon-breathe{from{transform:scaleY(1);opacity:.72}to{transform:scaleY(.86);opacity:.95}}
@keyframes dot-float{0%{transform:translate3d(0,9px,0);opacity:.25}50%{opacity:.9}100%{transform:translate3d(3px,-10px,0);opacity:.55}}
@keyframes star-shimmer{0%,100%{transform:scale(.75) rotate(-12deg);opacity:.4}50%{transform:scale(1) rotate(12deg);opacity:1}}
@keyframes title-arrive{from{opacity:0;transform:translateY(45px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes hero-glow{from{opacity:.45;transform:scale(1)}to{opacity:1;transform:scale(1.12)}}
@keyframes scroll-invite{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(max-width:1000px){.hero .ribbons .ribbon:nth-child(4),.hero .ribbons .ribbon:nth-child(5),.hero .ribbons .ribbon:nth-child(12),.hero .ribbons .ribbon:nth-child(13){display:none}.hero .ribbons .ribbon{height:calc(var(--length) * .75)}}
@media(max-width:650px){.hero .ribbons .ribbon{width:16px;margin-left:-8px;height:calc(var(--length) * .65);opacity:.6}.hero .ribbons .ribbon:nth-child(3),.hero .ribbons .ribbon:nth-child(6),.hero .ribbons .ribbon:nth-child(11),.hero .ribbons .ribbon:nth-child(14){display:none}.sparkle-star{width:calc(var(--size) * .65);height:calc(var(--size) * .65)}.sparkle-dot:nth-child(3n){display:none}.hero-kicker{padding-top:4px}.hero-main .eyebrow{max-width:80%;margin-left:auto;margin-right:auto}}
@media(prefers-reduced-motion:reduce){.hero-decor{transform:none!important}.hero-line,.hero-main>.eyebrow,.hero-sub,.hero-main>.button,.hero-kicker,.hero-bottom{opacity:1!important;transform:none!important;filter:none!important}.hero .ribbons .ribbon{opacity:.8}}

/* Scrollbars inside artist biographies. */
.artist .bio{scrollbar-width:thin;scrollbar-color:var(--cream) #73152880;scrollbar-gutter:stable;padding-right:12px;overscroll-behavior-y:contain}
.artist .bio::-webkit-scrollbar{width:6px}
.artist .bio::-webkit-scrollbar-track{background:#73152880;border-radius:999px}
.artist .bio::-webkit-scrollbar-thumb{background:var(--cream);border-radius:999px}
.artist .bio::-webkit-scrollbar-thumb:hover{background:var(--white)}
.artist .bio::-webkit-scrollbar-corner{background:transparent}

.artist img[src$="soulmates.webp"]{object-position:50% 38%}
.artist img[src$="chloe-deguy.webp"]{object-position:50% 50%}
.artist img[src$="crazydolls.webp"]{object-position:65% 35%}

/* Original poster artwork supplied in assets/hero. */
.hero .ribbons .ribbon{background:transparent}
.hero .ribbons .ribbon::before{content:"";position:absolute;inset:0;background:url("assets/hero/gradient.svg") center/100% 100% no-repeat}
.hero .ribbons .ribbon-top::before{transform:rotate(180deg)}
.sparkle-star img{display:block;width:100%;height:100%}
.poster-dots{position:absolute;left:var(--x);width:5%;height:37%;object-fit:contain;opacity:.8;animation:poster-dots-drift var(--period) ease-in-out var(--delay) infinite alternate}
.poster-dots-top{top:1%}.poster-dots-bottom{bottom:1%}
.hero-poster-title{display:block;max-width:780px;width:65vw;margin:0 auto;line-height:0}
.hero-poster-title img{display:block;width:100%;height:auto;max-height:50svh;object-fit:contain}
body.ready .hero-poster-title{animation:title-arrive 1.6s cubic-bezier(.16,1,.3,1) .25s both}
.hero-main{padding:25px 0}
.hero-main .eyebrow{margin-bottom:22px}
.hero-sub{margin:20px 0 24px}
@keyframes poster-dots-drift{from{transform:translateY(-5px);opacity:.45}to{transform:translateY(5px);opacity:.95}}
@media(max-width:1000px){.hero-poster-title{width:74vw;max-width:700px}}
@media(max-width:650px){.hero-poster-title{width:94%;max-width:440px}.hero-poster-title img{max-height:40svh}.hero-main{padding:30px 0}.hero-main .eyebrow{margin-bottom:25px}.hero-sub{margin:25px 0}.poster-dots{width:10%;height:27%}.poster-dots:nth-child(2),.poster-dots:nth-child(3),.poster-dots:nth-child(6),.poster-dots:nth-child(7){display:none}.poster-dots:nth-child(4),.poster-dots:nth-child(8){left:89%}}
@media(prefers-reduced-motion:reduce){.hero-poster-title{opacity:1!important;transform:none!important;filter:none!important}.poster-dots{animation:none!important;opacity:.8}}

/* Film, drawn lettering and softly drifting original poster motifs. */
.hero-video{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.62;pointer-events:none}
.hero:before{z-index:-1;background:linear-gradient(180deg,rgba(115,21,40,.62),rgba(115,21,40,.36) 45%,rgba(115,21,40,.72)),radial-gradient(ellipse at 50% 45%,transparent 15%,rgba(60,5,19,.45));animation:none;opacity:1;transform:none}
.hero-title-svg{display:block;width:100%;height:auto;max-height:50svh;overflow:visible}
.hero-title-path{fill:#f3dcc2;stroke:none}
body.ready .hero-poster-title{animation:none}
.hero-poster-title.title-drawing .hero-title-path{stroke:#f3dcc2;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;fill-opacity:0}
.sparkle-star{animation:star-float var(--period) ease-in-out var(--delay) infinite alternate}
.sparkle-star img{animation:star-glimmer calc(var(--period) * .7) ease-in-out var(--delay) infinite alternate}
.poster-dots{animation:poster-dots-float var(--period) ease-in-out var(--delay) infinite alternate}
@keyframes star-float{from{transform:translate3d(-3px,8px,0) rotate(-8deg);opacity:.55}to{transform:translate3d(4px,-9px,0) rotate(8deg);opacity:.95}}
@keyframes star-glimmer{from{transform:scale(.86)}to{transform:scale(1)}}
@keyframes poster-dots-float{from{transform:translate3d(-2px,7px,0);opacity:.5}to{transform:translate3d(3px,-8px,0);opacity:.9}}
@media(max-width:650px){.hero-title-svg{max-height:40svh}.hero-video{object-position:55% center}.hero-poster-title.title-drawing .hero-title-path{stroke-width:1.6}}
@media(prefers-reduced-motion:reduce){.hero-poster-title.title-drawing .hero-title-path{fill-opacity:1;stroke:none}.hero-video{opacity:.45}}

/* Individual dust particles, each with its own gentle drift. */
.hero-dust{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:var(--cream);opacity:var(--opacity);box-shadow:0 0 4px #f2dbc030;animation:dust-drift var(--period) ease-in-out var(--delay) infinite alternate;pointer-events:none}
@keyframes dust-drift{0%{transform:translate3d(0,12px,0);opacity:calc(var(--opacity) * .5)}35%{opacity:var(--opacity)}65%{transform:translate3d(calc(var(--drift) * .65),calc(var(--rise) * .45),0);opacity:calc(var(--opacity) * .8)}100%{transform:translate3d(var(--drift),var(--rise),0);opacity:calc(var(--opacity) * .35)}}
@media(max-width:650px){.hero-dust:nth-child(3n){display:none}}
@media(prefers-reduced-motion:reduce){.hero-dust{animation:none;opacity:calc(var(--opacity) * .6)}}



/* Direct vector stars: same artwork as the hero, without an external mask. */
.page-star{display:inline-block;width:1em;height:1em;fill:#731528;vertical-align:middle;flex:none}
.artist-placeholder>span{display:flex;align-items:center;justify-content:center;width:120px;height:120px;padding:0;background:transparent}
.artist-placeholder .page-star{width:100%;height:100%}
.interlude p>span{display:inline-flex;align-items:center;justify-content:center;width:1.3em;height:1.3em;background:transparent;vertical-align:middle}
.interlude .page-star{width:.85em;height:.85em}

.artist-placeholder .page-star polygon,.interlude .page-star polygon{fill:var(--cream)}

.artist img[src$="julien-tessier.webp"]{object-position:50% 40%}

.reservation-modal{width:min(940px,calc(100vw - 40px));height:min(820px,90svh);max-width:none;max-height:90svh;padding:0;border:1px solid #f2dbc060;border-radius:6px;background:#fff;color:var(--wine);box-shadow:0 24px 90px #26050d80;overflow:hidden}
.reservation-modal[open]{display:flex;flex-direction:column;animation:reservation-enter .3s ease-out}
.reservation-modal::backdrop{background:#26050dcc;backdrop-filter:blur(7px)}
.reservation-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;background:var(--wine);color:var(--cream);padding:22px 28px}
.reservation-header .eyebrow{font-size:10px;margin-bottom:7px}
.reservation-header h2{font-size:30px;letter-spacing:-.04em;line-height:1.2}
.reservation-close{display:flex;align-items:center;justify-content:center;flex:none;width:42px;height:42px;border:1px solid #f2dbc080;border-radius:50%;background:transparent;color:var(--cream);font-size:30px;line-height:1}
.reservation-close:hover{background:var(--cream);color:var(--wine)}
.reservation-content{position:relative;flex:1;min-height:0;display:flex;background:#fff}
.reservation-frame{display:block;width:100%;height:100%;min-height:0;flex:1;border:0;background:#fff}
.reservation-loading{position:absolute;inset:25px 0 auto;text-align:center;font-size:14px;pointer-events:none}
.reservation-loading[hidden]{display:none}
.reservation-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:none;background:var(--cream);padding:15px 25px;font-size:12px;line-height:1.5}
.reservation-footer a{text-decoration:underline;text-underline-offset:3px}
@keyframes reservation-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:650px){.reservation-modal{width:calc(100vw - 16px);height:94svh;max-height:94svh}.reservation-header{padding:17px 16px;gap:10px}.reservation-header .eyebrow{font-size:9px;letter-spacing:.06em}.reservation-header h2{font-size:25px}.reservation-close{width:36px;height:36px}.reservation-footer{padding:12px 16px;flex-direction:column;align-items:flex-start;font-size:12px}}

/* Artist flip cards: an unobstructed portrait and a separate reading surface. */
.artist{perspective:1200px;background:transparent}
.artist::after{display:none}
.artist-flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.2,.7,.2,1)}
.artist.is-flipped .artist-flip{transform:rotateY(180deg)}
.artist-front,.artist-back{position:absolute;inset:0;border-radius:3px;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.artist-front{background:#561220;transform:rotateY(0deg)}
.artist-front::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,#26050de0);pointer-events:none}
.artist .artist-front img{opacity:1!important;transform:none!important;transition:none}
.artist-back{display:flex;flex-direction:column;transform:rotateY(180deg);background:var(--wine);color:var(--cream);border:1px solid #f2dbc035;padding:26px}
.artist-back-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px;flex:none}
.artist-back-heading .eyebrow{margin:0;font-size:11px}
.artist-close{display:flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border:1px solid #f2dbc090;border-radius:50%;background:transparent;color:var(--cream);font-size:25px;line-height:1}
.artist-close:hover{background:var(--cream);color:var(--wine)}
.artist-back h3{flex:none;margin-bottom:20px}
.artist .artist-back .bio{flex:1;min-height:0;max-height:none!important;opacity:1!important;margin-top:0!important;overflow-y:auto;font-size:14px;line-height:1.65;transition:none}
@media(max-width:650px){.artist-back{padding:23px}.artist-back-heading{margin-bottom:20px}.artist .artist-back .bio{font-size:15px}}
@media(prefers-reduced-motion:reduce){.artist-flip{transition:none}}

.artist-toggle{width:auto;min-width:52px;height:32px;padding:0 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em}

/* Let the biographies determine card height instead of scrolling inside them. */
.artist{height:auto;min-height:680px;flex-basis:calc((100% - 48px)/3)}
.artist-track{align-items:stretch}
.artist-flip{position:relative;inset:auto;display:grid;min-height:inherit;height:100%;width:100%}
.artist-front{position:absolute;inset:0}
.artist-back{position:relative;inset:auto;grid-area:1/1;min-height:inherit;padding:30px}
.artist .artist-back .bio{flex:0 0 auto;overflow:visible;max-height:none!important;scrollbar-gutter:auto;padding-right:0;font-size:16px;line-height:1.6}
.show-grid .artist{height:auto;min-height:680px}
@media(max-width:1000px){.artist{flex-basis:calc((100% - 24px)/2)}.artist-back{padding:26px}}
@media(max-width:650px){.artist{flex-basis:88%;min-height:700px}.show-grid .artist{min-height:700px}.artist-back{padding:24px}.artist .artist-back .bio{font-size:16px;line-height:1.6}}

/* Footer contains only the legal notice after removal of the brand/date row. */
footer .fine{grid-column:1 / -1;margin:0;text-align:left}

.hero-bottom{position:relative;justify-content:center;min-height:58px}
.hero-bottom>a{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.hero-bottom>span{position:absolute;right:0;bottom:12px}

footer{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
footer .fine,footer>p:nth-child(2){margin:0;text-align:center}
.footer-credit,.footer-mentions{font-size:13px}

.hero-main>.eyebrow{font-weight:300}

.ticker>div{display:flex;animation:marquee 24s linear infinite}
.ticker .ticker-run{display:block;flex:none;margin:0}
.ticker .ticker-run>span{margin:0 28px}
@keyframes marquee{to{transform:translateX(-50%)}}

.intro h2{line-height:1.14}

.ticker-wine{background:var(--wine);color:var(--cream);border-bottom-color:var(--wine)}

@media(max-width:650px){.artist-track>.artist{flex-basis:100%;max-width:100%}}

.interlude p>.dress-ampersand{display:inline-block;width:auto;height:auto;margin:0 .08em;background:none;border-radius:0;font-family:Baskerville,"Palatino Linotype",Georgia,serif;font-style:italic;font-weight:400;font-size:.9em;line-height:1;vertical-align:baseline;letter-spacing:-.06em;color:var(--cream)}

.reserve-fixed{position:fixed;right:28px;bottom:28px;z-index:20;border-color:var(--cream);box-shadow:0 6px 24px #26050d40;padding:16px 28px;letter-spacing:.08em}
.reserve-fixed:hover{background:var(--cream);color:var(--wine)}
@media(max-width:650px){.reserve-fixed{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));padding:13px 22px;font-size:13px}footer{padding-bottom:100px}}

.artist-toggle{display:flex;align-items:center;justify-content:center;width:34px;min-width:34px;height:34px;padding:0;border-radius:50%;border:0;background:#73152870}
.artist-info-icon{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.artist-info-icon .info-dot{fill:currentColor;stroke:none}
.artist-toggle:hover{background:var(--cream);color:var(--wine)}

.artist-toggle,.artist-toggle:hover{background:transparent;color:var(--cream)}

.artist-close{padding:0;display:grid;place-items:center}
.artist-close-icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round}

.menu-accordions{display:flex;flex-direction:column;gap:16px}
.menu-accordion{border:1px solid #73152850;background:transparent}
.menu-accordion>summary{padding:26px 30px;gap:24px;list-style:none}
.menu-accordion>summary::-webkit-details-marker{display:none}
.menu-accordion .menu-number{font-size:12px;transform:none}
.menu-accordion h3{flex:1;font-size:29px;font-weight:300;letter-spacing:-.04em;line-height:1.2}
.menu-accordion-icon{flex:none;display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round}
.menu-accordion[open] .menu-accordion-icon{transform:rotate(45deg)}
.menu-accordion[open]>summary{border-bottom:1px solid #73152830}
.menu-accordion[open] .menu-number{transform:none}
.menu-accordion-content{padding:6px 30px 22px}
.menu-accordion-content>p{padding:20px 0 0;margin:0;font-size:16px}
@media(max-width:650px){.menu-accordion>summary{padding:23px 20px;gap:16px}.menu-accordion h3{font-size:25px}.menu-accordion-content{padding:6px 20px 20px}}

@font-face{font-family:BDO;src:url("assets/BDOGrotesk-Medium.woff2") format("woff2");font-weight:500;font-display:swap}
.menu-accordion h3{font-weight:500}
.menu-heading-star{width:23px;height:23px}
.menu-accordion-content ol{counter-reset:none}
.menu-accordion-content ol li{display:block}
.menu-accordion-content ol li::before{content:none;counter-increment:none}

.menu-note-icon{display:inline-block;width:20px;height:20px;margin-right:6px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.menu-note-icon .info-dot{fill:currentColor;stroke:none}

.menu-note{display:flex;align-items:center;justify-content:center;gap:8px}.menu-note-icon{flex:none;margin-right:0}

.pass h3{font-weight:500}

.faq summary{font-weight:500}

.access-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.access-actions .button{min-width:135px}

/* Three closely spaced bars at each edge, all visible on mobile. */
.hero .ribbons .ribbon.ribbon-top,.hero .ribbons .ribbon.ribbon-bottom{display:block;height:var(--length)}
@media(max-width:650px){
 .hero .ribbons .ribbon.ribbon-top,.hero .ribbons .ribbon.ribbon-bottom{left:var(--mobile-x);width:12px;margin-left:-6px}
 .hero .ribbons .ribbon.ribbon-top{height:calc(var(--length) * .78)}
 .hero .ribbons .ribbon.ribbon-bottom{height:calc(var(--length) * 1.08)}
}

/* Supplied icon set, inheriting the color of its section. */
.site-icon{display:inline-block;fill:currentColor;stroke:none;flex:none;vertical-align:middle}
.artist-info-icon{width:26px;height:26px}
.menu-note-icon{width:20px;height:20px}
.hero-scroll-icon{width:25px;height:25px}
.access-actions .button{gap:9px}
.whatsapp-icon{width:22px;height:22px}
.access-services{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:center;gap:26px}
.access-services li{display:flex;align-items:center;gap:18px;font-size:18px;line-height:1.5}
.access-service-icon{width:32px;height:32px}
.footer-confetti-icon{width:20px;height:20px;margin:0 3px}
@media(max-width:650px){.access-services{gap:22px}.access-services li{font-size:16px}}

.access-actions a[href^="https://wa.me/"]>span{position:relative;top:2px}

.artist-socials{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid #f2dbc035;flex:none}
.artist-socials a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:6px;opacity:.85}
.artist-socials a:hover{opacity:1}
.artist .artist-socials .artist-social-icon{display:block;width:auto;height:21px;object-fit:contain;opacity:1!important;transform:none!important;transition:none}

.reservation-close{display:grid;place-items:center;padding:0}.reservation-close-icon{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round}

@media(max-width:650px){
 .hero .ribbons .ribbon:nth-child(3),
 .hero .ribbons .ribbon:nth-child(4),
 .hero .ribbons .ribbon:nth-child(9),
 .hero .ribbons .ribbon:nth-child(10){display:none}
}

@media(hover:none),(pointer:coarse){.artist{cursor:pointer}}

/* Compact artist descriptions without introducing internal scrolling. */
.artist .artist-back .bio{font-size:14px;line-height:1.6}
.artist,.show-grid .artist{min-height:580px}
@media(max-width:650px){.artist,.show-grid .artist{min-height:600px}.artist .artist-back .bio{font-size:14px}}

@media(max-width:650px){.menu-note{flex-direction:column;gap:8px;text-align:center}}

.artist .artist-socials .artist-social-icon{height:16px}

.hero-bottom{margin-bottom:clamp(70px,12svh,130px)}
@media(max-width:650px){.hero-bottom{margin-bottom:clamp(65px,11svh,110px)}}

@media(max-width:650px){.menus h2{font-size:36px;line-height:1.1}}

.menu-accordion-icon{fill:currentColor;stroke:none}.menu-accordion[open] .menu-accordion-icon{transform:none}

/* Formula carousel shares the artists' infinite autoplay behavior. */
.pass-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:stretch}
.pass-track::-webkit-scrollbar{display:none}
.pass-track>.pass{flex:0 0 calc((100% - 44px)/3);display:flex;flex-direction:column;scroll-snap-align:start;min-width:0}
.pass-track>.pass ul{flex:1;margin:25px 0 35px}
.pass-track>.pass .button{align-self:stretch}
.ticketing .carousel-controls button{border-color:#f2dbc080;color:var(--cream)}
.ticketing .carousel-controls button:hover{background:var(--cream);color:var(--wine)}
@media(max-width:1000px){.pass-track>.pass{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:650px){.pass-track>.pass{flex-basis:100%}}

@media(min-width:651px){
 .pass-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;scroll-snap-type:none}
 .pass-track>.pass[data-carousel-copy]{display:none}
 .ticketing .carousel-controls{display:none}
 .ticketing .section-aside{display:block}
}

@media(max-width:650px){.pass .button{font-size:16px}}

@media(max-width:650px){.faq h2{font-size:clamp(28px,7.8vw,36px);line-height:1.1}}

@media(max-width:650px){.access-actions{flex-direction:column;align-items:stretch}.access-actions .button{width:100%}}

.access-services li{gap:9px}

.interlude p>em{opacity:1}
.interlude p>.dress-ampersand{color:var(--cream);opacity:.65}

/* More compact artist biographies, keeping the complete text visible. */
.artist .artist-back .bio{font-size:13px;line-height:1.5}
.artist,.show-grid .artist{min-height:540px}
@media(max-width:650px){.artist,.show-grid .artist{min-height:560px}.artist .artist-back .bio{font-size:13px;line-height:1.5}}

.footer-credit a{text-decoration:underline;text-underline-offset:3px}

@media(max-width:650px){.reserve-fixed{left:16px;right:16px;width:auto}}

@media(max-width:650px){
 .show-track{display:flex;align-items:stretch;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
 .show-track::-webkit-scrollbar{display:none}
 .show-track>.artist{flex:0 0 100%;max-width:100%;scroll-snap-align:start}
}
@media(min-width:651px){
 .show-track>.artist[data-carousel-copy]{display:none}
 .shows .carousel-controls{display:none}
 .shows .section-aside{display:block}
}

.artist-back{padding-bottom:16px}
@media(max-width:650px){.artist-back{padding-bottom:14px}.reserve-fixed{left:6%;right:6%;width:auto}}
.artist-back .artist-socials{margin-top:auto}
.artist-back:has(.artist-socials) .bio{margin-bottom:20px}

.reserve-fixed[hidden]{display:none}

.footer-mentions{text-decoration:underline;text-underline-offset:3px}
.legal-content{width:min(900px,88%);margin:0 auto;padding:60px 0 80px}
.legal-back{display:inline-block;margin-bottom:48px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.legal-content h1{font-size:clamp(38px,6vw,68px);line-height:1.1;margin-bottom:48px}
.legal-content h2{font-size:25px;font-weight:500;line-height:1.3;letter-spacing:-.02em;margin:38px 0 18px}
.legal-content h2 strong{font-weight:500}
.legal-content p,.legal-content li{font-size:16px;line-height:1.8;overflow-wrap:anywhere}
.legal-content ul{padding-left:22px;margin:18px 0}
.legal-content li+li{margin-top:8px}
.legal-content p a,.legal-content li a{text-decoration:underline;text-underline-offset:3px}
.legal-content .legal-return{margin-top:45px}
@media(max-width:650px){.legal-content{padding-top:35px}.legal-back{margin-bottom:35px}.legal-content h2{font-size:22px}}

.menu-note{flex-direction:column;gap:8px;text-align:center}

.legal-modal .legal-modal-content{width:100%;margin:0;flex:1;min-height:0;overflow-y:auto;padding:8px 32px 32px;color:var(--wine);background:var(--cream);scrollbar-width:thin;scrollbar-color:var(--wine) var(--cream)}
.legal-modal-content h2{margin-top:28px}
.legal-modal .reservation-header{padding:22px 28px}
@media(max-width:650px){.legal-modal .legal-modal-content{padding:0 20px 25px}.legal-modal .reservation-header{padding:17px 16px}}

@media(max-width:650px){.sparkle-star-third{display:none}}

.artist img[src$="lumi-anne.jpg"]{object-position:55% 35%}

/* Shows carousel on every screen size, matching the artist gallery. */
.show-track{display:flex;align-items:stretch;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.show-track::-webkit-scrollbar{display:none}
.show-track>.artist,.show-track>.artist[data-carousel-copy]{display:block;flex:0 0 calc((100% - 48px)/3);max-width:none;scroll-snap-align:start}
.shows .carousel-controls{display:flex}
@media(max-width:1000px){.show-track>.artist{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:650px){.show-track{gap:20px}.show-track>.artist{flex-basis:100%;max-width:100%}}
@media(max-width:1000px){.show-track>.artist[data-carousel-copy]{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:650px){.show-track>.artist[data-carousel-copy]{flex-basis:100%;max-width:100%}}

/* Three passes: one row on desktop; on tablet the last pass spans the full width. */
@media(min-width:651px) and (max-width:1000px){.pass-track{grid-template-columns:repeat(2,minmax(0,1fr))}.pass-track>.pass:nth-child(3 of .pass:not([data-carousel-copy])){grid-column:1/-1}}

.artist-socials .artist-social-label{font-size:13px;text-decoration:underline;text-underline-offset:3px}

.wine-group{padding-top:20px}
.wine-group h4{margin:0;font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.wine-list ol li{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.wine-price{flex:none;white-space:nowrap}
.wine-list>p.wine-warning{font-size:12px;opacity:.7}

.pass-price{margin:10px 0 0;font-size:24px;font-weight:500;letter-spacing:-.03em;line-height:1.2}
.pass-price span{display:block;margin-top:4px;font-size:12px;font-weight:400;letter-spacing:0;opacity:.75}
