@import "https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,600;6..96,700&family=DM+Sans:wght@400;500;600&family=Great+Vibes&display=swap";:root{--purple:#541b6c;--plum:#26072c;--orange:#dc591f;--gold:#f7ad20;--cream:#fff3db;--ink:#25112a}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font:16px/1.55 DM Sans,sans-serif}.hero{color:#fff;align-items:center;height:min(720px,78svh);min-height:560px;display:grid;position:relative;overflow:hidden}.hero>img{object-fit:cover;object-position:center;width:100%;height:100%;animation:13s ease-out both zoom;position:absolute;inset:0}.veil{background:linear-gradient(90deg,#0000 28%,#19041d38 52%,#19041dd6 100%),linear-gradient(#0000 55%,#19041d99);position:absolute;inset:0}.hero-copy{text-align:center;width:min(48%,680px);margin-left:auto;padding:3rem 6vw;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.28em;color:var(--gold);font-size:.75rem;font-weight:600}.eyebrow.dark{color:var(--orange)}h1,h2,h3{font-family:Bodoni Moda,serif}h1{text-shadow:0 8px 35px #17031b;margin:.3em 0;font-size:clamp(3.5rem,7vw,7.6rem);line-height:.8}h1 i{color:var(--gold);margin-top:.2em;font:400 .68em/1 Great Vibes;display:block;transform:rotate(-3deg)}.cry{font-size:clamp(1.15rem,2vw,2rem);font-weight:600}.date{letter-spacing:.12em;font-family:Bodoni Moda}.access{background:radial-gradient(circle at 90% 10%,#f0c26a55,transparent 35%),var(--cream);place-items:center;min-height:72vh;padding:5rem 1.25rem;display:grid}.access-card{text-align:center;background:#fffaf1;border:1px solid #b88b5138;width:min(560px,100%);padding:clamp(2rem,5vw,4.5rem);box-shadow:0 25px 80px #4b183516}.access h2,.welcome h2{margin:.25em 0;font-size:clamp(2.5rem,5vw,4.7rem);line-height:1}.access-card>p{color:#705966}.access form{text-align:left;gap:1rem;margin-top:2rem;display:grid}.access label,.manager label{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600}.access input,.manager input,.manager select{width:100%;font:inherit;background:#fff;border:1px solid #d9c4ad;margin-top:.4rem;padding:1rem;display:block}.access button,.manager button{background:var(--purple);color:#fff;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border:0;padding:1rem 1.4rem;font-weight:600}.error{color:#a22b24!important}.personal{min-height:80vh;padding:6rem max(5vw,1.25rem)}.welcome{text-align:center;max-width:760px;margin:0 auto 4rem}.welcome p:last-child{color:#705966;font-size:1.18rem;line-height:1.8}.event-list{gap:1rem;max-width:1050px;margin:auto;display:grid}.event{background:#fffaf1;border:1px solid #dec9ae;grid-template-columns:130px 1fr;gap:2rem;padding:2.3rem;display:grid}.event.ladies{background:#f8dfd4}.event.owambe{background:var(--purple);color:#fff}.cal{border-right:1px solid}.cal b{color:var(--orange);font:700 3.5rem/1 Bodoni Moda;display:block}.owambe .cal b{color:var(--gold)}.cal span{text-transform:uppercase;letter-spacing:.16em;font-size:.68rem}.event small{text-transform:uppercase;letter-spacing:.16em;color:var(--orange)}.owambe small{color:var(--gold)}.event h3{margin:.2rem 0;font-size:clamp(1.8rem,3vw,3rem)}.choices{flex-wrap:wrap;gap:.7rem;margin-top:1.2rem;display:flex}.choices button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:99px;padding:.7rem 1rem}.choices button.selected{background:var(--gold);border-color:var(--gold);color:var(--plum);font-weight:700}.toast{background:var(--plum);color:#fff;padding:1rem 1.4rem;position:fixed;bottom:1rem;right:1rem}.reset{cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin:2rem auto 0;padding:.6rem;display:block}footer{background:var(--plum);color:var(--cream);justify-content:space-between;padding:2rem 5vw;display:flex}footer a{color:var(--gold);font-size:.78rem}.manager{background:#f8f0e2;min-height:100vh;padding:3rem max(4vw,1.2rem)}.manager-inner{max-width:1100px;margin:auto}.manager header{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem;display:flex}.manager h1{color:var(--plum);text-shadow:none;font-size:clamp(2.5rem,5vw,4.6rem)}.manager-form{background:#fff;grid-template-columns:2fr 1.5fr 1.3fr auto;align-items:end;gap:1rem;padding:1.5rem;display:grid}.guest-table{background:#fff;margin-top:1.5rem}.guest-row{border-bottom:1px solid #eadfce;grid-template-columns:2fr 1.5fr 1fr 1fr;align-items:center;gap:1rem;padding:1rem 1.25rem;display:grid}.guest-row small{color:#765f6e}.code{color:var(--purple);font-family:monospace;font-weight:700}.delete{color:#9b2929!important;background:0 0!important}.empty{text-align:center;color:#765f6e;padding:4rem}.unauthorised{text-align:center;place-items:center;min-height:100vh;display:grid}.unauthorised h1{color:var(--plum);text-shadow:none}@keyframes zoom{0%{transform:scale(1.06)}to{transform:scale(1)}}@media (max-width:760px){.hero{align-items:end}.hero>img{object-position:38% center}.veil{background:linear-gradient(#0000 20%,#19041d73 50%,#19041df5)}.hero-copy{width:100%;padding:1.5rem 1rem 3rem}.event{grid-template-columns:72px 1fr;gap:1rem;padding:1.3rem}.cal b{font-size:2.7rem}.manager-form{grid-template-columns:1fr}.guest-row{grid-template-columns:1fr 1fr}.guest-row>:nth-child(3){display:none}}.qr-pass{color:var(--ink);background:#fffaf1;border:1px solid #dec9ae;grid-template-columns:1fr 120px;align-items:center;gap:1rem;margin-top:1.4rem;padding:1.2rem;display:grid}.qr-pass img{grid-area:1/2/3;width:120px;height:120px}.qr-pass p{margin:.25rem 0}.qr-pass a{color:var(--purple);font-weight:700}.aso-ebi{background:linear-gradient(135deg,#fffaf1,#f5d4bd);border:1px solid #d3a57a;max-width:1050px;margin:1.5rem auto 0;padding:2.5rem}.aso-ebi h3{margin:.2rem 0;font-size:2.4rem}.rsvp-summary{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.rsvp-summary div{background:var(--plum);color:#fff;padding:1.25rem}.rsvp-summary b{color:var(--gold);font:600 2.2rem/1 Bodoni Moda;display:block}.rsvp-summary span{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.checkin{background:radial-gradient(circle at 85% 5%,#8c4c9f,transparent 35%),var(--plum);place-items:center;min-height:100vh;padding:1.2rem;display:grid}.checkin-card{text-align:center;background:#fffaf1;width:min(520px,100%);padding:clamp(2rem,6vw,4rem);box-shadow:0 25px 80px #0006}.checkin-card h1{color:var(--plum);text-shadow:none;font-size:3rem}.checkin-card h2{margin-bottom:0;font-size:2.2rem}.checkin-card button{background:var(--purple);color:#fff;cursor:pointer;border:0;padding:1rem 1.5rem;font-weight:700}.checkin-state{color:#5b3c12;background:#f5dfba;margin:1.5rem 0;padding:1rem;font-weight:700}.checkin-state.done{color:#27582a;background:#d8f0d7}.checkin-error{color:#8a2820;background:#f5d0cc;padding:1rem}@media (max-width:760px){.qr-pass{text-align:center;grid-template-columns:1fr}.qr-pass img{grid-area:auto/1;margin:auto}.rsvp-summary{grid-template-columns:1fr 1fr}}.guest-actions{gap:.45rem;display:grid}.manager .copy-invite,.manager .email-invite{padding:.65rem .8rem;font-size:.65rem}.manager .copy-invite{background:var(--purple)}.manager .email-invite{background:var(--orange)}.manager .email-invite:disabled{color:#fff;cursor:not-allowed;background:#b9aa9e}.manager .guest-actions .delete{text-align:center;padding:.4rem;font-size:.65rem}@media (max-width:760px){.guest-actions{grid-column:1/3}}.music-toggle{color:#fff3db;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#26072ca8;border:1px solid #f7ad2099;border-radius:999px;align-items:center;gap:.65rem;margin-top:1rem;padding:.72rem 1.15rem;font:600 .73rem/1 DM Sans,sans-serif;transition:all .2s;display:inline-flex}:is(.music-toggle:hover,.music-toggle:focus-visible){outline:2px solid var(--gold);outline-offset:3px;background:#541b6c;transform:translateY(-1px)}.music-toggle span{background:var(--gold);width:1.5rem;height:1.5rem;color:var(--plum);letter-spacing:0;border-radius:50%;place-items:center;font-size:.65rem;display:grid}.music-toggle.playing span{font-weight:800}.event-details-manager{background:#fffaf1;border:1px solid #dec9ae;margin:1.5rem 0 2rem;padding:clamp(1.25rem,3vw,2rem)}.manager-section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem;display:flex}.manager-section-heading h2{margin:.25rem 0;font-size:clamp(2rem,4vw,3.2rem);line-height:1}.manager-section-heading>p{color:#765f6e;max-width:480px}.event-detail-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.event-detail-card{border-top:4px solid var(--gold);background:#f8f0e2;padding:1.25rem}.event-detail-card h3{color:var(--purple);margin:0 0 1rem;font-size:1.35rem}.event-detail-fields{gap:.75rem;display:grid}.event-detail-card label{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:600}.event-detail-card input,.event-detail-card select,.event-detail-card textarea{width:100%;font:inherit;text-transform:none;letter-spacing:normal;background:#fff;border:1px solid #d9c4ad;margin-top:.35rem;padding:.8rem;display:block}.event-detail-card textarea{resize:vertical;min-height:96px}.event-detail-card>button{width:100%;margin-top:1rem;padding:.85rem}.manager-success{background:var(--plum);color:#fff;text-align:center;margin:1rem 0 0;padding:.85rem 1rem;position:sticky;bottom:1rem}.confirmed-details{color:var(--ink);background:#fff8e9;border:1px solid #d5ae64;margin-top:1.25rem;padding:1.15rem}.owambe .confirmed-details{background:#fff7e8}.confirmed-details>small{color:var(--orange);margin-bottom:.55rem;display:block}.confirmed-details p{grid-template-columns:90px 1fr;gap:1rem;margin:.45rem 0;display:grid}.confirmed-details p b{color:var(--purple);font-family:Bodoni Moda}.confirmed-details p span{white-space:pre-line}.confirmed-details a{color:var(--purple);margin-top:.6rem;font-weight:700;display:inline-block}@media (max-width:900px){.event-detail-grid{grid-template-columns:1fr}.manager-section-heading{flex-direction:column;align-items:start;gap:.5rem}}@media (max-width:560px){.confirmed-details p{grid-template-columns:1fr;gap:0}.manager-section-heading>p{font-size:.9rem}}.aso-intro{color:#6e5663}.aso-options{grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0;display:grid}.aso-options>div{background:#fffaf1b8;border:1px solid #d3a57a;padding:1.2rem}.aso-options h4{color:var(--purple);margin:0 0 .7rem;font:600 1.4rem Bodoni Moda}.aso-options p{border-top:1px solid #d3a57a;justify-content:space-between;gap:1rem;padding-top:.7rem;display:flex}.aso-options b{white-space:nowrap;color:var(--orange)}.aso-deadline{background:var(--purple);color:#fff;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;padding:1rem 1.2rem;display:flex}.aso-deadline small{text-transform:uppercase;letter-spacing:.12em}.aso-deadline strong{color:var(--gold);font-family:Bodoni Moda;font-size:1.25rem}.payment-card{background:#fffaf1b8;border:1px solid #d3a57a;grid-template-columns:1fr auto;gap:.25rem 1.5rem;margin:1rem 0;padding:1.2rem;display:grid}.payment-card small{text-transform:uppercase;letter-spacing:.12em;color:#6e5663}.payment-card strong{color:var(--purple);letter-spacing:.05em;grid-area:1/2/3;font:700 clamp(1.45rem,3vw,2.1rem) Bodoni Moda}.payment-card b{font-weight:600}.aso-ebi a{color:var(--purple);font-weight:700}@media (max-width:640px){.aso-options{grid-template-columns:1fr}.aso-deadline{flex-direction:column;align-items:flex-start}.payment-card{grid-template-columns:1fr}.payment-card strong{grid-area:auto/1}}
