:root{
  --bg:#0a0f1f;
  --bg-soft:#0f1530;
  --ink:#e8ecff;
  --muted:#a7b0d6;
  --accent:#6a4bff;
  --accent-2:#00b1ff;
  --accent-3:#ff2ea1;
  --card:#121838;
  --radius:14px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--ink);
  background:radial-gradient(1200px 700px at 80% -10%, rgba(106,75,255,.20), transparent 60%),
             radial-gradient(1200px 700px at -10% 10%, rgba(0,177,255,.18), transparent 60%),
             var(--bg);
}

.container{width:min(1100px, 92vw); margin-inline:auto}

/* Hero */
.hero{position:relative; min-height:64vh; display:grid; place-items:center; overflow:hidden}
.hero__bg{
  position:absolute; inset:0; background:
    radial-gradient(1000px 600px at 80% -10%, rgba(106,75,255,.25), transparent 60%),
    radial-gradient(900px 520px at 0% 10%, rgba(0,177,255,.22), transparent 60%),
    radial-gradient(700px 420px at 100% 70%, rgba(255,46,161,.16), transparent 60%),
    linear-gradient(180deg, rgba(10,15,31,.4), rgba(10,15,31,.96));
  filter:saturate(1.05) contrast(1.02);
}
.hero__content{position:relative; padding:72px 0; text-align:left}
.title{margin:0 0 8px; letter-spacing:.5px; font-weight:800; font-size:clamp(40px, 8vw, 84px); line-height:1}
.title__kisti{color:#c7ccff}
.title__cwts{color:#c7ccff; margin-left:.2em}
.title__brand{color:#c7ccff; margin-left:.25em}
.title__year{color:#7d61ff; margin-right:.25em}
.headline-ko{margin:6px 0 4px; font-weight:800; color:#e8ecff; line-height:1.15; font-size:clamp(24px, 4.2vw, 44px)}
.subtitle{margin:.2rem 0 0; color:var(--muted); font-size:clamp(1rem, 1.8vw, 1.35rem)}
.meta{margin:.5rem 0 0; color:#cbd3ff; font-size:1rem}

.cta{margin-top:22px}
.btn{
  display:inline-block; padding:12px 18px; border-radius:999px; text-decoration:none; color:white;
  background:linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow:0 10px 30px rgba(0,177,255,.25);
}
.btn:hover{filter:brightness(1.05)}
.btn-primary{font-weight:700}
.btn-secondary{background:transparent; border:1px solid rgba(199,204,255,.25); box-shadow:none}
.btn-secondary:hover{background:rgba(199,204,255,.08)}

/* Main */
.main{padding:36px 0 64px}
.intro{background:linear-gradient(180deg, rgba(18,24,56,.7), rgba(18,24,56,.3)); padding:18px 20px; border-radius:var(--radius); backdrop-filter: blur(6px); border:1px solid rgba(199,204,255,.12)}
.intro h2{margin:0 0 6px}
.intro p{margin:0; color:var(--muted)}

.form-wrap{margin-top:18px; background:var(--card); border:1px solid rgba(199,204,255,.12); border-radius:var(--radius); overflow:hidden}
/* old iframe removed */
.form-fallback{padding:18px}
.warn{color:#ffd7a6}

.footer{padding:30px 0; color:#93a0d9}

/* Poster section */
.poster{padding:24px 0 64px}
.poster h2{margin:0 0 12px}
.poster-card{background:var(--card); border:1px solid rgba(199,204,255,.12); border-radius:var(--radius); overflow:hidden}
.poster-card img{display:block; width:100%; height:auto}
.poster-actions{display:flex; gap:12px; justify-content:flex-end; align-items:center; padding:12px; background:rgba(10,15,31,.4); border-top:1px solid rgba(199,204,255,.12)}

/* Program section */
.program{padding:18px 0 6px}
.program h2{margin:0 0 10px}
.program__list{display:none}
.program__scroll{overflow:auto; background:var(--card); border:1px solid rgba(199,204,255,.12); border-radius:var(--radius)}
.program-table{width:100%; border-collapse:collapse; min-width:760px}
.program-table th, .program-table td{padding:12px 14px; border-top:1px solid rgba(199,204,255,.10); vertical-align:top}
.program-table thead th{border-top:0; background:rgba(199,204,255,.08); color:#cfd6ff; text-align:left}
.program-table td:nth-child(1), .program-table td:nth-child(2), .program-table th:nth-child(1), .program-table th:nth-child(2){white-space:nowrap; font-variant-numeric:tabular-nums}
.program-table tbody tr:nth-child(even){background:rgba(255,255,255,.02)}
.program-table em{color:#aeb8e8; font-style:italic}
@media (max-width:640px){
  .program__scroll{border-radius:10px}
}

@media (max-width: 640px){
  /* iframe removed */
}

/* RSVP section */
.rsvp{margin-top:18px; background:var(--card); border:1px solid rgba(199,204,255,.12); border-radius:var(--radius); padding:16px 18px}
.rsvp h3{margin:0 0 6px}
.rsvp-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:8px}
.rsvp .sep{border:none; border-top:1px solid rgba(199,204,255,.10); margin:14px 0}
.muted{color:var(--muted)}
.rsvp-fields{display:grid; gap:12px; margin-top:8px}
.rsvp-fields .field{display:flex; flex-direction:column; gap:6px}
.rsvp-fields label{font-size:.95rem; color:#cfd6ff}
.rsvp-fields input, .rsvp-fields select, .rsvp-fields textarea{
  width:100%; padding:10px 12px; border-radius:10px;
  border:1px solid rgba(199,204,255,.18); background:#f7f8ff; color:#111;
}
.success{color:#b4f0b4; margin-top:10px}
