:root{--red:#8d1717;--red2:#be2622;--green:#0c3b2e;--green2:#12553d;--gold:#f1c459;--cream:#fff7e8;--ink:#15120d;--white:#fff;--shadow:0 20px 60px rgba(18,8,4,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Montserrat,Arial,sans-serif}.shell{width:min(1160px,calc(100% - 40px));margin:auto}.hero{min-height:100svh;position:relative;display:flex;align-items:center;overflow:hidden;background:#160b08;color:white}.hero-image{position:absolute;inset:0;background:url('assets/holiday-dance-hero.png') 62% center/cover no-repeat;transform:scale(1.01)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,7,4,.96) 0%,rgba(20,8,6,.83) 34%,rgba(14,8,5,.28) 66%,rgba(8,5,3,.08) 100%),linear-gradient(0deg,rgba(5,14,9,.75) 0%,transparent 38%)}.sparkles{position:absolute;inset:0;background-image:radial-gradient(circle,var(--gold) 0 1px,transparent 1.5px);background-size:76px 76px;opacity:.18;mask-image:linear-gradient(90deg,#000,transparent 55%)}.nav{position:absolute;z-index:3;top:0;left:50%;transform:translateX(-50%);padding:22px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.2)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-weight:700;font-size:.85rem;letter-spacing:.04em}.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover;background:#fff}.nav-link{color:white;text-decoration:none;text-transform:uppercase;font-size:.75rem;letter-spacing:.16em;font-weight:700}.hero-content{position:relative;z-index:2;padding:150px 0 80px;align-self:center}.eyebrow{margin:0 0 18px;color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:800}.eyebrow.dark{color:var(--red)}.script{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold);font-size:clamp(1.5rem,3vw,2.25rem);margin:0 0 -8px}.hero h1{margin:0;text-transform:uppercase;font-size:clamp(3.6rem,8.5vw,8.1rem);line-height:.78;letter-spacing:-.055em;max-width:820px}.hero h1 span{font-family:'Cormorant Garamond',serif;font-weight:700;color:var(--gold);font-size:.72em;letter-spacing:-.025em}.hero-intro{max-width:500px;font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.65;margin:28px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 36px}.button{appearance:none;border:0;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font:800 .75rem Montserrat,sans-serif;cursor:pointer;transition:.25s transform,.25s background,.25s color}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--gold);color:#211405}.button-ghost{color:#fff;border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.04)}.date-lockup{display:flex;align-items:center;gap:18px;border-left:3px solid var(--gold);padding-left:18px}.date-lockup>strong{font-size:.72rem;letter-spacing:.17em;color:var(--gold);display:grid}.date-lockup>strong span{font-size:2.4rem;line-height:1;color:white;letter-spacing:0}.date-lockup div{display:grid;gap:5px}.date-lockup b{font-size:.9rem}.date-lockup small{color:#e5dfd8}.scroll-cue{position:absolute;z-index:3;bottom:20px;left:50%;color:white;text-decoration:none;font-size:1.6rem;animation:bob 2s infinite}@keyframes bob{50%{transform:translateY(6px)}}
.details-section{padding:105px 0;background:var(--cream);position:relative}.section-heading{max-width:760px;text-align:center;margin:0 auto 62px}.section-heading h2,.event-card h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,5vw,4.4rem);line-height:.95;margin:0 0 22px;color:var(--green)}.section-heading>p:last-child{line-height:1.75;color:#544b42}.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.experience-grid article{background:white;padding:30px 26px;border-top:4px solid var(--red);box-shadow:0 12px 34px rgba(70,36,20,.08);min-height:250px}.experience-grid span{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--gold);font-weight:700}.experience-grid h3{margin:26px 0 12px;color:var(--green);font-size:1.15rem}.experience-grid p{font-size:.9rem;line-height:1.7;color:#61564c}
.dj-section{background:linear-gradient(135deg,var(--green) 0%,#061f18 100%);color:white;padding:105px 0;overflow:hidden}.dj-grid{display:grid;grid-template-columns:minmax(320px,.92fr) 1.08fr;align-items:center;gap:90px}.dj-photo-wrap{position:relative;min-height:560px;display:flex;align-items:flex-end;justify-content:center}.arch{position:absolute;inset:0 5% 0;border:2px solid rgba(241,196,89,.55);border-radius:240px 240px 0 0;background:radial-gradient(circle at 50% 20%,rgba(241,196,89,.18),transparent 58%)}.dj-photo{position:relative;width:92%;height:520px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 20px 25px rgba(0,0,0,.4));mix-blend-mode:screen}.dj-mark{position:absolute;right:-18px;bottom:30px;width:150px;height:118px;object-fit:contain;border-radius:16px;box-shadow:var(--shadow)}.dj-copy h2{font-family:'Cormorant Garamond',serif;color:var(--gold);font-size:clamp(4rem,9vw,8rem);line-height:.82;margin:0 0 30px}.dj-copy>p:not(.eyebrow){max-width:570px;font-size:1.15rem;line-height:1.8;color:#e8e1d5}.music-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.music-pills span{border:1px solid rgba(241,196,89,.5);border-radius:999px;padding:10px 15px;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold)}
.event-card-section{padding:100px 0;background:linear-gradient(120deg,#f6d36f,#f2bb41)}.event-card{background:#fffaf0;padding:clamp(32px,6vw,70px);box-shadow:var(--shadow);border:1px solid rgba(124,79,12,.2)}.event-card dl{display:grid;grid-template-columns:repeat(4,1fr);margin:50px 0 44px;border-top:1px solid #d8c69d;border-bottom:1px solid #d8c69d}.event-card dl div{padding:27px 22px;border-right:1px solid #d8c69d}.event-card dl div:last-child{border:0}.event-card dt{color:var(--red);text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.7rem;margin-bottom:10px}.event-card dd{margin:0;font-weight:600;line-height:1.55}.ticket-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.button-dark{background:var(--green);color:white}.ticket-row p{font-size:.9rem}.ticket-row a{color:var(--red);font-weight:700}.countdown-section{background:var(--red);color:white;padding:65px 0}.countdown-wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.countdown-wrap h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.5rem);margin:0}.countdown{display:flex;gap:12px}.countdown div{min-width:98px;text-align:center;border:1px solid rgba(255,255,255,.25);padding:14px}.countdown strong{display:block;font-size:2rem;color:var(--gold)}.countdown span{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em}footer{background:#071c15;color:white;padding:28px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner p{font-size:.75rem;color:#c7c1b8}.toast{position:fixed;z-index:20;left:50%;bottom:24px;transform:translate(-50%,140px);background:#111;color:white;padding:15px 22px;border-left:4px solid var(--gold);box-shadow:var(--shadow);transition:.3s;max-width:min(520px,calc(100% - 30px));font-size:.88rem}.toast.show{transform:translate(-50%,0)}
@media(max-width:900px){.experience-grid{grid-template-columns:repeat(2,1fr)}.dj-grid{grid-template-columns:1fr;gap:40px}.dj-photo-wrap{min-height:440px}.dj-photo{height:420px}.dj-copy{text-align:center}.dj-copy>p:not(.eyebrow){margin-left:auto;margin-right:auto}.music-pills{justify-content:center}.event-card dl{grid-template-columns:repeat(2,1fr)}.event-card dl div:nth-child(2){border-right:0}.event-card dl div:nth-child(-n+2){border-bottom:1px solid #d8c69d}.countdown-wrap{flex-direction:column;text-align:center}}
@media(max-width:600px){.shell{width:min(100% - 28px,1160px)}.nav .brand span,.nav-link{display:none}.hero{min-height:820px}.hero-image{background-position:68% center;opacity:.7}.hero-shade{background:linear-gradient(0deg,rgba(10,7,4,.95) 0%,rgba(18,8,5,.72) 75%,rgba(9,5,3,.3) 100%)}.hero-content{padding-top:230px;align-self:flex-end}.hero h1{font-size:clamp(3rem,16vw,5.2rem);line-height:.83}.experience-grid{grid-template-columns:1fr}.experience-grid article{min-height:auto}.dj-photo-wrap{min-height:370px}.dj-photo{height:360px}.dj-mark{width:105px;height:85px;right:0}.event-card dl{grid-template-columns:1fr}.event-card dl div{border-right:0;border-bottom:1px solid #d8c69d!important}.event-card dl div:last-child{border-bottom:0!important}.ticket-row,.footer-inner{align-items:flex-start;flex-direction:column}.countdown{width:100%}.countdown div{flex:1;min-width:0;padding:12px 5px}.countdown strong{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Prominent co-presenter lockup */
.brand img{width:58px;height:58px;object-fit:contain;background:transparent}
.hero-content{padding-top:132px;padding-bottom:72px}
.presented-by{display:flex;align-items:center;margin:0 0 22px;max-width:540px}
.presented-by>img{width:118px;height:118px;flex:0 0 118px;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0,0,0,.28))}
.attribution{display:flex;flex-direction:column;align-items:flex-start;text-transform:uppercase;line-height:1.03}
.attribution strong{font-size:clamp(.98rem,1.65vw,1.4rem);letter-spacing:.035em;color:#fff}
.attribution span{margin:7px 0 6px;color:var(--gold);font-size:.68rem;font-weight:800;letter-spacing:.18em}
.attribution b{margin-top:8px;color:var(--gold);font-size:.72rem;letter-spacing:.32em}
.script{margin-bottom:18px}
.nav-links{display:flex;align-items:center;gap:20px}
.nav-links a,.footer-links a{color:inherit;text-decoration:none;text-transform:uppercase;font-size:.67rem;letter-spacing:.1em;font-weight:700}
.nav-links a:hover,.footer-links a:hover{color:var(--gold)}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;max-width:520px}
@media(max-width:600px){.hero{min-height:920px}.hero-content{padding-top:175px}.presented-by{gap:14px;margin-bottom:24px}.presented-by>img{width:88px;height:88px;flex-basis:88px}.attribution strong{font-size:.82rem}.attribution span{font-size:.55rem;margin:5px 0}.attribution b{font-size:.58rem;margin-top:6px}}
@media(max-width:900px){.nav-links{display:none}.footer-links{justify-content:flex-start}}

/* Toy Drive */
.toy-drive-section{position:relative;min-height:650px;display:flex;align-items:center;overflow:hidden;color:#fff;background:#2b130e}
.toy-drive-image{position:absolute;inset:0;background:url('assets/toy-drive.jpg') 64% center/cover no-repeat}
.toy-drive-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,12,8,.96) 0%,rgba(73,18,15,.82) 38%,rgba(44,18,12,.16) 72%,rgba(22,12,8,.06) 100%)}
.toy-drive-content{position:relative;z-index:1;padding:90px 0;max-width:1160px}
.toy-drive-content>*{max-width:570px}
.toy-drive-content h2,.tickets-heading h2{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,6vw,5rem);line-height:.92;margin:0 0 26px;color:var(--gold)}
.toy-drive-content p:not(.eyebrow){font-size:1rem;line-height:1.75;color:#f5eee7}
.toy-drive-content .toy-drive-close{font-family:'Cormorant Garamond',serif;font-size:1.45rem!important;font-style:italic;color:var(--gold)!important;margin:25px 0}

/* Ticket purchase */
.tickets-section{padding:100px 0;background:var(--green);color:#fff}
.tickets-heading{text-align:center;max-width:800px}
.tickets-heading>p:last-child{line-height:1.7;color:#e7e1d8;margin:0 auto 45px;max-width:700px}
.ticket-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:start}
.ticket-widget-card,.qr-card{background:#fff;color:var(--ink);border-radius:6px;box-shadow:var(--shadow)}
.ticket-widget-card{padding:18px;min-height:360px}
.qr-card{text-align:center;padding:28px}
.qr-card p{margin:0 0 18px;font-weight:700;color:var(--green)}
.qr-card img{width:100%;max-width:210px;height:auto;display:block;margin:0 auto 18px}
.qr-card strong,.qr-card small{display:block}.qr-card strong{color:var(--red);text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.qr-card small{margin-top:8px;color:#665b51}
@media(max-width:800px){.toy-drive-section{min-height:760px;align-items:flex-end}.toy-drive-image{background-position:68% center}.toy-drive-shade{background:linear-gradient(0deg,rgba(36,12,8,.98) 0%,rgba(73,18,15,.82) 55%,rgba(44,18,12,.18) 100%)}.toy-drive-content{padding:300px 0 65px}.ticket-grid{grid-template-columns:1fr}.qr-card{max-width:360px;margin:auto;width:100%}}
