:root{color-scheme:dark;--bg:#170a28;--ink:#fff8f3;--pink:#ffa3d5;--gold:#ffe0a0;--line:#ffffff25}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}.entry{min-height:100svh;display:grid;place-items:center;padding:32px 22px;background:radial-gradient(ellipse at 50% 25%,#7a285460,transparent 70%)}.ticket{position:relative;max-width:480px;width:100%;text-align:center;border:1px solid #ffaad55c;border-radius:150px 150px 18px 18px;padding:65px 25px 30px;background:linear-gradient(155deg,#ffffff09,#ffffff00);box-shadow:0 0 100px #d2328920}.eyebrow{font-size:11px;letter-spacing:2.5px;font-weight:700;display:block}.mini-star{color:var(--gold);font-size:42px;margin:24px 0 12px}.ticket h1{font-size:92px;font-weight:900;letter-spacing:-6px;line-height:.95;margin:10px 0;color:var(--pink)}.ticket h1 span{display:block;font-size:11px;letter-spacing:3px;margin-top:20px;color:var(--ink)}.entry-age{letter-spacing:5px;font-size:13px;color:var(--gold);margin:26px 0}.ticket-line{border-top:1px dashed #ffaad54d;margin:24px -25px}.button{border:0;background:var(--pink);color:#27112d;padding:17px 25px;border-radius:8px;font-weight:700;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:24px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#ffbfdf}.button:disabled{opacity:.6;cursor:wait}.ticket .button{margin:15px 0 0;width:100%}.small{font-size:12px;color:#cfbdd8}.pink{color:var(--pink)}nav{height:70px;position:absolute;top:0;left:0;right:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:0 6vw;background:linear-gradient(#170a28bb,transparent)}.wordmark{font-size:18px;font-weight:900;text-decoration:none;letter-spacing:2px}.wordmark span{color:var(--pink);font-size:12px}.sound{background:#170a2880;color:white;border:1px solid var(--line);border-radius:30px;padding:9px 15px;font-size:12px}.hero{height:min(1100px,115svh);min-height:780px;position:relative;overflow:hidden;background:#240936}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 52%;animation:reveal 2s ease both}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(#170a2844,transparent 45%,#170a2800 70%,var(--bg))}.hero-copy{position:absolute;top:11%;left:0;right:0;text-align:center;z-index:1;animation:rise 1.2s .3s both}.hero-copy h2{font-size:clamp(100px,16vw,200px);letter-spacing:-.08em;line-height:.95;margin:14px 0 0;text-shadow:0 5px 40px #250a48}.hero-age{font-size:25px;letter-spacing:4px;margin:0;color:var(--gold)}.hero-age strong{font-size:52px}.tagline{margin:0;font-size:16px}.hero-bottom{position:absolute;z-index:1;bottom:25px;left:6vw;right:6vw;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-bottom span{font-size:10px;letter-spacing:2px}.hero-bottom a{text-decoration:none;border:1px solid var(--line);border-radius:100%;width:46px;height:46px;display:grid;place-items:center;font-size:23px}.section{max-width:960px;padding:85px 32px;margin:auto}.section h2{font-size:clamp(36px,6vw,60px);line-height:1.08;font-weight:800;letter-spacing:-2px;margin:20px 0 25px}.section h2 em{font-family:Georgia,serif;font-weight:400;color:var(--pink)}.intro{max-width:580px;color:#d8cadd;font-size:17px;line-height:1.8}.event-ticket{position:relative;display:flex;gap:32px;align-items:center;border-block:1px solid var(--line);padding:28px 0;margin:42px 0}.date-number{font-size:90px;line-height:1;font-weight:800;letter-spacing:-6px;color:var(--gold);padding-right:32px;border-right:1px dashed var(--line)}.date-number span{font-size:10px;letter-spacing:2px;display:block;text-align:center;margin-top:15px}.event-info h3{font-size:26px;margin:8px 0}.event-info p{margin:4px 0}.event-note{font-size:11px;color:#bda9c6}.ticket-star{margin-left:auto;font-size:50px;color:var(--pink)}.venue{display:flex;justify-content:space-between;align-items:center;gap:25px}.venue h3{font-size:30px;margin:10px 0}.venue p{color:#d8cadd}.venue-links{display:grid;gap:15px;text-align:center}.text-link{background:none;border:0;color:var(--pink);text-decoration:underline;text-underline-offset:5px;font-size:14px;padding:8px}.countdown{display:flex;gap:26px;margin-top:50px;border-top:1px solid var(--line);padding-top:25px}.countdown b{font-size:28px;color:var(--gold);display:block}.countdown span{font-size:10px;letter-spacing:2px;color:#cfbdd8;text-transform:uppercase}.rsvp{border-top:1px solid var(--line);max-width:760px}.rsvp>p{color:#d8cadd}form{margin-top:36px}label{display:block;font-size:14px;font-weight:600}input:not([type=radio]),textarea{display:block;width:100%;border:1px solid #ffffff35;background:#ffffff08;color:white;border-radius:7px;padding:14px;margin:9px 0 25px;outline-offset:3px}input:focus,textarea:focus{outline:2px solid var(--pink)}input::placeholder,textarea::placeholder{color:#bbaac6;font-weight:400}fieldset{border:0;padding:0;margin:0 0 25px}legend{font-size:14px;font-weight:600;margin-bottom:12px}.choices{display:flex;flex-wrap:wrap;gap:9px}.choices label{flex:1;min-width:145px;position:relative}.choices input{position:absolute;opacity:0}.choices span{display:block;padding:14px 10px;border:1px solid #ffffff35;border-radius:7px;text-align:center;font-size:12px}.choices input:checked+span{background:#ffa3d51a;border-color:var(--pink);color:var(--pink)}.choices input:focus-visible+span{outline:2px solid white;outline-offset:3px}.numbers{display:grid;grid-template-columns:1fr 1fr;gap:20px}.muted{font-weight:400;color:#bda9c6}.submit{width:100%}.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}#form-message{color:var(--gold);font-size:14px}.success{border:1px solid #ffa3d566;padding:30px;text-align:center;border-radius:12px;margin-top:35px}.success h3{font-size:26px}footer{padding:40px 25px;text-align:center;border-top:1px solid var(--line)}footer>span{font-weight:900;letter-spacing:4px;color:var(--pink)}footer p{font-size:13px;color:#bda9c6}footer a{font-size:11px;color:#bda9c6}.noscript{position:fixed;inset:0;z-index:9;background:var(--bg);padding:40px}.spark{position:fixed;z-index:4;pointer-events:none;top:-20px;width:5px;height:9px;background:var(--pink);animation:fall 5s linear forwards}body.admin{max-width:1100px;margin:auto;padding:30px 22px}.admin header{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin h1{font-size:30px}.admin #login{max-width:420px;margin:70px auto}.stats{display:flex;gap:15px;flex-wrap:wrap;margin:25px 0}.stats div{background:#ffffff08;border:1px solid var(--line);border-radius:8px;padding:20px;min-width:145px}.stats b{font-size:32px;display:block;color:var(--pink)}.stats span{font-size:13px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}td{white-space:pre-wrap;overflow-wrap:anywhere;max-width:300px}th{color:var(--pink);font-size:12px}.admin-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.admin #admin-error{color:var(--gold)}@keyframes reveal{from{transform:scale(1.06);opacity:0}to{transform:scale(1);opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fall{to{transform:translateY(110vh) rotate(540deg);opacity:0}}@media(min-width:1000px){.hero{max-width:1100px;margin:auto}.hero-image{object-position:center 50%}.hero-copy{top:8%}}@media(max-width:600px){.hero{height:95svh;min-height:670px;max-height:950px}.hero-copy{top:13%}.hero-copy .eyebrow{font-size:9px}.hero-image{object-position:center 60%}.tagline{font-size:13px}.section{padding:60px 22px}.venue{display:block}.venue-links{margin-top:25px}.ticket-star{display:none}.event-ticket{gap:20px}.date-number{font-size:75px;padding-right:20px}.event-info h3{font-size:21px}.event-info .eyebrow{font-size:9px}.event-note{font-size:10px}.countdown{justify-content:space-between;gap:10px}.hero-bottom span{font-size:8px}.ticket h1{font-size:80px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
@media(min-width:1000px){.hero{max-width:800px;height:1200px;min-height:0;max-height:none}.hero-copy{top:6%}.hero-copy h2{font-size:150px}.hero-age strong{font-size:40px}}
@media(max-width:600px){.hero-copy{top:9%}.hero-copy h2{font-size:88px}.hero-age{font-size:18px}.hero-age strong{font-size:32px}.tagline{font-size:12px}}
