*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f8efe6;--blush:#f3d9d3;--ink:#3b2a25;--soft:#7a625a;--gold:#b08a4a;--gold-hi:#e7cd92;--rose:#a8605b;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Jost", system-ui, -apple-system, sans-serif}body{font-family:var(--sans);color:var(--ink);background:radial-gradient(ellipse 60% 45% at 20% 10%, var(--blush) 0%, transparent 70%), radial-gradient(ellipse 55% 45% at 85% 90%, var(--blush) 0%, transparent 70%), radial-gradient(ellipse 70% 60% at 50% 45%, #fffaf3 0%, transparent 75%), var(--bg);-webkit-font-smoothing:antialiased;min-height:100dvh;overflow-x:hidden}body:before{content:"";opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;position:fixed;inset:0}.sparkles{pointer-events:none;z-index:1;position:fixed;inset:0}.spark{color:var(--gold);opacity:0;animation:3.6s ease-in-out infinite twinkle;animation-delay:var(--sd);filter:drop-shadow(0 0 3px #e7cd92e6);position:absolute}@keyframes twinkle{0%,to{opacity:0;transform:scale(.4)rotate(0)}50%{opacity:1;transform:scale(1)rotate(45deg)}}.page{z-index:10;justify-content:center;align-items:center;min-height:100dvh;padding:28px 16px;display:flex;position:relative}.card{text-align:center;outline-offset:-8px;backdrop-filter:blur(2px);background:#fffcf7b8;border:1px solid #b08a4a8c;outline:1px solid #b08a4a4d;flex-direction:column;align-items:center;width:100%;max-width:460px;padding:30px 26px;display:flex;position:relative;box-shadow:0 24px 60px -30px #78503259,0 2px 8px #7850320f}.band{background:var(--band) repeat-x center / 40px 16px;opacity:.75;width:100%;height:16px}.label{letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-top:26px;margin-bottom:14px;font-size:11px;font-weight:500}.name{font-family:var(--serif);color:var(--ink);background:linear-gradient(100deg, var(--ink) 0%, var(--ink) 40%, var(--gold) 47%, var(--gold-hi) 50%, var(--gold) 53%, var(--ink) 60%, var(--ink) 100%);-webkit-text-fill-color:transparent;background-position:100% 0;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;margin-bottom:-4px;padding:.04em .1em .2em;font-size:clamp(84px,24vw,132px);font-style:italic;font-weight:500;line-height:.95}.name.anim{animation:reveal .9s cubic-bezier(.22, 1, .36, 1) forwards calc(var(--d) * 1s), shimmer 6s ease-in-out infinite 2s}@keyframes shimmer{0%{background-position:100% 0}45%,to{background-position:0 0}}.event{font-family:var(--serif);letter-spacing:.06em;color:var(--soft);font-size:clamp(22px,6vw,28px);font-weight:500}.tag{letter-spacing:.3em;text-transform:uppercase;color:var(--rose);margin-top:6px;font-size:11px;font-weight:500}.rule{align-items:center;gap:10px;margin:24px 0 20px;display:flex}.rule span{background:linear-gradient(90deg, transparent, var(--gold));width:48px;height:1px}.rule span:last-child{transform:scaleX(-1)}.rule i{background:linear-gradient(135deg, var(--gold-hi), var(--gold));width:7px;height:7px;transform:rotate(45deg)}.when{letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-size:clamp(13px,3.6vw,15px);font-weight:500}.where{color:inherit;border-top:1px solid #b08a4a66;border-bottom:1px solid #b08a4a66;flex-direction:column;align-items:center;gap:3px;margin:20px 0 22px;padding:14px 24px 12px;text-decoration:none;transition:background-color .3s;display:flex;position:relative;overflow:hidden}.where:hover{background:#e7cd9224}.where:focus-visible{outline:1px solid var(--gold);outline-offset:3px}.venue{font-family:var(--serif);font-size:clamp(21px,5.6vw,25px);font-weight:600}.hint{font-family:var(--serif);color:var(--soft);font-size:17px;font-style:italic}.map{letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-top:6px;font-size:11px;font-weight:500}.music{font:500 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#fffaf3;background:linear-gradient(135deg, #c29b58, var(--gold) 55%, #9a7639);cursor:pointer;-webkit-tap-highlight-color:transparent;border:0;border-radius:999px;align-items:center;gap:10px;padding:12px 24px;transition:transform .2s,box-shadow .2s,background .3s;display:inline-flex;box-shadow:0 8px 22px -10px #78501e99,inset 0 1px #ffffff59}.music:hover{box-shadow:0 12px 26px -10px #78501eb3,inset 0 1px #ffffff59}.music:focus-visible{outline:1px solid var(--gold);outline-offset:4px}.music.on{color:var(--gold);background:0 0;box-shadow:inset 0 0 0 1px #b08a4a99}.music-icon{letter-spacing:0;font-size:15px}.dj{font-family:var(--serif);color:var(--soft);margin:18px 0 22px;font-size:17px;font-style:italic}.anim{opacity:0;animation:.9s cubic-bezier(.22,1,.36,1) forwards reveal;animation-delay:calc(var(--d,0) * 1s);transform:translateY(18px)}.card.anim{transform:translateY(10px)scale(.985)}.band.anim{animation-name:fade;transform:none}.anim-rule{opacity:0;animation:.65s cubic-bezier(.22,1,.36,1) forwards extend;animation-delay:calc(var(--d,0) * 1s);transform:scaleX(0)}@keyframes reveal{to{opacity:1;transform:none}}@keyframes extend{to{opacity:1;transform:scaleX(1)}}@keyframes fade{to{opacity:.75}}@media (prefers-reduced-motion:reduce){.anim,.anim-rule,.name.anim{opacity:1;animation:none;transform:none}.band.anim{opacity:.75}.spark{opacity:.5;animation:none}}
