.reservation{margin:0 6vw 6rem;padding:4.5rem 5vw;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);background:#7b173c;color:#fff;border-radius:0}.reservation h2{font-size:clamp(38px,5vw,72px);line-height:1.05;letter-spacing:-.06em;margin:1.2rem 0}.reservation h2 em{font-style:normal;color:#f4c9d5}.reservation p{line-height:1.8;max-width:520px}.reservation-card{align-self:center;padding:2.2rem;background:#fff;color:#181713;border-radius:0;box-shadow:0 12px 30px rgba(0,0,0,0.15);border:1px solid #181713}.reservation-card dl{margin:0}.reservation-card dl div{display:flex;justify-content:space-between;gap:1.5rem;padding:1rem 0;border-bottom:1px solid #eee}.reservation-card dt{font-size:11px;letter-spacing:.14em;font-weight:700}.reservation-card dd{margin:0;text-align:right;font-size:18px}.reservation-card dd small{display:block;margin-top:5px;font-size:10px;color:#777}.reservation-card a{color:#7b173c;font-weight:700}.reservation-card>p{margin:1.2rem 0 0;color:#5e5a51;font-size:13px}

.roster{margin:0 6vw 6rem;padding:4.5rem 5vw;background:#181512;color:#f4eee2;border-radius:0;border:1px solid rgba(212,175,55,0.3)}.roster-heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:4vw;align-items:end}.roster-heading h2{font-size:clamp(38px,5vw,70px);line-height:1.05;letter-spacing:-.06em;margin:1.1rem 0;color:#fff}.roster-heading p:last-child{line-height:1.8;max-width:560px;color:#d8cebf}

.roster-gender-group{margin-top:2.5rem}
.gender-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,0.15)}
.gender-header h3{margin:0;font-size:20px;font-weight:700;letter-spacing:.04em}
.gender-header.male h3{color:#78b7ff}
.gender-header.female h3{color:#ff8da1}
.gender-header h3 small{font-size:13px;font-weight:400;color:#a89b8d;margin-left:6px}

.roster-board{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:1rem;align-items:stretch}

/* Wooden Chair Roster Slot - Spacious & Generous Breathing Room */
.roster-slot{position:relative;overflow:hidden;min-height:165px;height:100%;padding:1.4rem 1.3rem;background:linear-gradient(145deg,#2b1d16,#1a100b);border:1px dashed rgba(139,90,43,0.4);border-radius:0;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s ease,box-shadow .2s ease;box-sizing:border-box}
.roster-slot.is-vacant{color:#a89b8d}
.roster-slot.is-vacant .chair-icon{font-size:22px;opacity:.4;filter:grayscale(100%)}
.roster-slot .chair-body{position:relative;z-index:2;margin:14px 0 10px;display:flex;flex-direction:column;gap:6px}
.roster-slot.is-vacant strong{display:block;font-size:18px;font-weight:700;color:#d0c4b4;letter-spacing:.04em;margin:0}
.roster-slot.is-vacant small{display:block;font-size:11px;color:#8c7d6e;line-height:1.5;margin-top:4px}
.roster-slot.is-vacant .badge-vacant{display:inline-block;padding:5px 10px;background:rgba(255,255,255,0.06);border-radius:0;font-size:11px;color:#8c7d6e;border:1px solid rgba(255,255,255,0.1)}

/* Confirmed Seat: Lit Wooden Chair with Glowing Spotlight Beam & Sharp Corners */
.roster-slot.is-confirmed,.roster-slot.is-lit{background:linear-gradient(155deg,#5e3618,#2a160b);border:2px solid #ffd700;border-radius:0;box-shadow:0 0 25px rgba(255,215,0,0.55),inset 0 0 18px rgba(255,230,150,0.35);color:#fff}
.roster-slot.is-confirmed::before,.roster-slot.is-lit::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:130%;height:80px;background:radial-gradient(ellipse at top,rgba(255,238,160,0.85) 0%,rgba(255,215,0,0.4) 45%,transparent 75%);pointer-events:none;animation:chairGlow 3s ease-in-out infinite alternate}
@keyframes chairGlow{0%{opacity:.8}100%{opacity:1}}
.roster-slot .chair-header{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}
.roster-slot .slot-num{font-size:11px;font-weight:700;letter-spacing:.12em;color:#ffd700}
.roster-slot .chair-icon{font-size:24px}
.roster-slot .chair-body{position:relative;z-index:2;margin:8px 0}
.roster-slot .masked-name{font-size:24px;font-weight:900;color:#fff;letter-spacing:.05em;text-shadow:0 0 12px rgba(255,215,0,0.9);display:block}
.roster-slot .meta-info{margin:4px 0 0;font-size:13px;color:#f3ebd9;line-height:1.3}
.roster-slot .chair-status{position:relative;z-index:2;margin-top:6px}
.roster-slot .badge-lit{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,#ffd700,#d4a017);color:#1a0f07;font-weight:800;font-size:11px;border-radius:0;box-shadow:0 2px 8px rgba(255,215,0,0.4)}

.female-chair.is-vacant{border-color:rgba(219,112,147,0.35)}
.female-chair.is-confirmed,.female-chair.is-lit{background:linear-gradient(155deg,#6b2b43,#2c121c);border-color:#ff8da1;box-shadow:0 0 25px rgba(255,141,161,0.55),inset 0 0 18px rgba(255,200,215,0.35);border-radius:0}
.female-chair.is-confirmed::before,.female-chair.is-lit::before{background:radial-gradient(ellipse at top,rgba(255,205,218,0.85) 0%,rgba(255,141,161,0.4) 45%,transparent 75%)}
.female-chair .slot-num{color:#ff8da1}
.female-chair .badge-lit{background:linear-gradient(135deg,#ff8da1,#d45070);color:#fff;box-shadow:0 2px 8px rgba(255,141,161,0.4);border-radius:0}

.roster-note{margin:1.8rem 0 0;font-size:12px;color:#a89b8d;line-height:1.7}

.recurring{margin:0 6vw 6rem;padding:4.5rem 5vw;background:#191815;color:#fff;border-radius:0;border:1px solid rgba(255,255,255,0.1)}.recurring h2{font-size:clamp(34px,4.5vw,64px);line-height:1.05;letter-spacing:-.06em;margin:1.2rem 0}.recurring>p:last-child{max-width:720px;line-height:1.9;color:#d6d0c6}

.share-copy{margin:0 6vw 6rem;padding:4.5rem 5vw;background:#eaddd7;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem);border-radius:0}.share-copy h2{font-size:clamp(34px,4.2vw,60px);line-height:1.05;letter-spacing:-.06em;margin:1.2rem 0}

.notice{margin:0 6vw 6rem;padding:3.5rem 5vw;border-radius:0}

/* Sugar Fairy Building Media & Venue Showcase */
.venue-showcase{margin:0 6vw 6rem;padding:4.5rem 5vw;background:#141210;color:#fff;border:1px solid rgba(212,175,55,0.3);border-radius:0}.venue-showcase .eyebrow{color:#d4af37}.venue-showcase h2{font-size:clamp(34px,4.5vw,64px);line-height:1.05;letter-spacing:-.06em;margin:1.2rem 0;color:#fff}.venue-showcase>p{line-height:1.8;max-width:680px;color:#d8cebf;margin-bottom:2.5rem}.venue-media-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:stretch}.venue-card-hero{position:relative;overflow:hidden;border:1px solid rgba(212,175,55,0.4);background:#1a1714;min-height:380px}.venue-card-hero img{width:100%;height:100%;object-fit:cover;display:block}.venue-card-hero .card-caption{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(to top,rgba(10,8,6,0.95),transparent);color:#fff}.venue-card-hero .card-caption h4{margin:0 0 4px;font-size:18px;font-weight:700;color:#ffd700}.venue-card-hero .card-caption p{margin:0;font-size:13px;color:#dfd6c6}.venue-card-stack{display:grid;grid-template-rows:1fr 1fr;gap:20px}.venue-card-sub{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,0.15);background:#1c1916;min-height:180px}.venue-card-sub img,.venue-card-sub video{width:100%;height:100%;object-fit:cover;display:block}.venue-card-sub .card-caption{position:absolute;bottom:0;left:0;right:0;padding:1rem;background:linear-gradient(to top,rgba(0,0,0,0.9),transparent);color:#fff}.venue-card-sub .card-caption h5{margin:0 0 2px;font-size:14px;font-weight:700;color:#fff}.venue-card-sub .card-caption p{margin:0;font-size:12px;color:#b8ada0}

@media(max-width:760px){.reservation,.roster,.recurring,.share-copy,.notice,.venue-showcase{width:auto;max-width:none;margin:0 18px 3.5rem;padding:3rem 20px!important}.reservation,.share-copy{display:block}.reservation-card{margin-top:2rem}.roster-heading{display:block}.roster-heading p:last-child{margin-top:1.5rem}.roster-board{grid-template-columns:1fr 1fr!important;gap:12px!important;margin-top:1.5rem}.roster-slot{min-height:140px!important;padding:1rem!important}.recurring h2,.share-copy h2,.reservation h2,.venue-showcase h2{font-size:36px!important}.notice{padding:2rem 20px!important}.venue-media-grid{grid-template-columns:1fr!important;gap:16px!important}.venue-card-hero{min-height:260px!important}.venue-card-stack{grid-template-rows:auto auto!important}.venue-card-sub{min-height:160px!important}}
