.rsvp-section {
  background: linear-gradient(135deg, #641f17 0%, #2a0e0b 100%);
  padding: 3rem 5vw;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.rsvp-layout {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(240px, 390px) 1fr;
  gap: 3rem;
  align-items: center;
}

.rsvp-poster-wrap { background: #0a0a0a; padding: .65rem; box-shadow: 12px 12px 0 rgba(0,0,0,.28); }
.rsvp-poster { display: block; width: 100%; height: auto; }
.rsvp-panel { max-width: 600px; }
.rsvp-kicker { color: #f5a623; font-family: 'Barlow Condensed', sans-serif; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
.rsvp-details { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .7rem; margin: 1.5rem 0; }
.rsvp-detail { border-left: 3px solid #e8eaf0; padding: .55rem .8rem; background: rgba(0,0,0,.18); color: #e8eaf0; }
.rsvp-detail strong { display: block; font-family: 'Barlow Condensed', sans-serif; text-transform: uppercase; letter-spacing: .08em; color: #fff; }
.rsvp-detail span { color: #c4c7ce; font-size: .9rem; }
.rsvp-capacity { font-family: 'Barlow Condensed', sans-serif; text-transform: uppercase; letter-spacing: .12em; color: #fff; margin-bottom: .5rem; }
.rsvp-capacity span { font-size: 1.35rem; color: #f5a623; }
.rsvp-progress { height: 7px; background: rgba(255,255,255,.18); margin-bottom: 1.5rem; }
.rsvp-progress span { display: block; height: 100%; width: 0; background: #f5a623; transition: width .25s ease; }
.rsvp-login-step { display: flex; flex-direction: column; align-items: flex-start; gap: .9rem; }
.rsvp-login-step p { margin: 0; }
.rsvp-step p { color: #d2d4da; margin-bottom: .6rem; }
.rsvp-discord-note { color: #f0d9d4; margin-bottom: .8rem; font-size: .92rem; }
.rsvp-links { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; margin-bottom: 1.2rem; }
.rsvp-text-link, .rsvp-social a { color: #f5a623; text-decoration: none; border-bottom: 1px solid currentColor; }
.rsvp-form { display: grid; gap: .85rem; }
.rsvp-form label { display: grid; gap: .35rem; color: #fff; font-family: 'Barlow Condensed', sans-serif; text-transform: uppercase; letter-spacing: .08em; font-size: .85rem; }
.rsvp-form input, .rsvp-form select { width: 100%; padding: .8rem .85rem; color: #fff; background: rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.28); border-radius: 3px; font: inherit; text-transform: none; letter-spacing: normal; }
.rsvp-form select { -webkit-appearance: auto; appearance: auto; }
.rsvp-form input:focus { outline: 2px solid #f5a623; outline-offset: 1px; }
.rsvp-form select:focus { outline: 2px solid #f5a623; outline-offset: 1px; }
.rsvp-success, .rsvp-closed { margin-top: 1rem; padding: 1rem; background: #f5a623; color: #24100c; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.rsvp-social { margin-top: 1.4rem; font-size: .9rem; }

@media (max-width: 760px) {
  .rsvp-section { padding: 2rem 1rem; }
  .rsvp-layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .rsvp-poster-wrap { max-width: 420px; margin: 0 auto; }
  .rsvp-panel { max-width: none; }
  .rsvp-details { grid-template-columns: 1fr; }
  .rsvp-panel .section-title { font-size: 2.6rem; }
}
