:root { --bg:#0C0C0D; --panel:#141417; --line:rgba(243,239,230,0.12); --cream:#F3EFE6; --muted:rgba(243,239,230,0.62); --teal:#35D3BE; --teal-l:#6FEBD9; --teal-d:#1EA896; --err:#FF8A7A; }
* { box-sizing:border-box; }
html, body { margin:0; }
body { background:var(--bg); color:var(--cream); font-family:'Inter',sans-serif; min-height:100vh; -webkit-font-smoothing:antialiased; }
.glow { position:fixed; inset:0; pointer-events:none; background:
    radial-gradient(ellipse 70% 45% at 50% -5%, rgba(53,211,190,0.18), transparent 70%),
    radial-gradient(ellipse 50% 40% at 100% 100%, rgba(53,211,190,0.06), transparent 70%); }
header { position:relative; text-align:center; padding:28px 16px 8px; }
.emblem-wrap { perspective:1000px; display:flex; justify-content:center; margin-bottom:10px; }
.emblem { height:52px; width:auto; border-radius:50%; animation:spin 14s linear infinite; filter:drop-shadow(0 0 14px rgba(53,211,190,0.4)); }
@keyframes spin { to { transform:rotateY(360deg); } }
.wordmark { font-family:'Fraunces',Georgia,serif; font-weight:700; letter-spacing:0.06em; font-size:22px; white-space:nowrap; }
.wordmark span { color:var(--teal); }
main { position:relative; max-width:600px; margin:0 auto; padding:28px 16px 64px; animation:rise .45s ease both; }
@keyframes rise { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
.eyebrow { letter-spacing:.18em; font-size:11px; font-weight:600; text-transform:uppercase; color:var(--teal); margin-bottom:12px; }
h1 { font-family:'Fraunces',Georgia,serif; font-weight:700; font-size:clamp(30px,7vw,44px); line-height:1.1; margin:0 0 16px; }
h1 em { font-style:normal; color:var(--teal); }
p.lead { color:var(--muted); font-size:16px; line-height:1.6; margin:0 0 18px; }
.facts { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px; }
.facts span { border:1px solid rgba(53,211,190,0.35); background:rgba(53,211,190,0.07); border-radius:999px; padding:7px 13px; font-size:13px; font-weight:500; }
.facts span[hidden] { display:none; }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:420px) { .row2 { grid-template-columns:1fr; gap:0; } }
label.f { display:block; font-size:14px; font-weight:600; margin:22px 0 8px; }
.opt-tag { font-weight:400; color:var(--muted); font-size:12px; margin-left:4px; }
.help { color:var(--muted); font-size:13px; line-height:1.5; margin:8px 0 0; }
input[type=text], input[type=email], input[type=tel], input[type=url], textarea {
  width:100%; background:var(--panel); color:var(--cream); border:1px solid var(--line); border-radius:12px;
  padding:14px 16px; font:inherit; font-size:16px; outline:none; transition:border-color .2s, box-shadow .2s; color-scheme:dark; }
textarea { min-height:110px; resize:vertical; }
input:focus, textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(53,211,190,0.18); }
input::placeholder, textarea::placeholder { color:rgba(243,239,230,0.32); }
.opts { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.opts.four { grid-template-columns:repeat(4,1fr); }
@media (max-width:420px) { .opts { grid-template-columns:1fr; } .opts.four { grid-template-columns:1fr 1fr; } }
.opt { text-align:left; background:var(--panel); color:var(--cream); border:1px solid var(--line); border-radius:12px;
  padding:13px 14px; font:inherit; font-size:15px; cursor:pointer; transition:all .18s; }
.opt:hover { border-color:rgba(53,211,190,0.55); }
.opt.sel { border-color:var(--teal); background:rgba(53,211,190,0.12); box-shadow:inset 0 0 0 1px var(--teal); }
.hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.err { color:var(--err); font-size:14px; min-height:20px; margin:20px 0 0; }
.btn { display:inline-flex; align-items:center; justify-content:center; appearance:none; border:0; border-radius:12px; padding:16px 22px;
  font:inherit; font-size:16px; font-weight:700; color:var(--bg); background:linear-gradient(90deg,var(--teal-d),var(--teal-l));
  cursor:pointer; text-decoration:none; transition:transform .15s, opacity .2s; }
.btn:hover { transform:translateY(-1px); }
.btn:disabled { opacity:.6; cursor:wait; transform:none; }
form .btn { width:100%; margin-top:10px; }
.btn.ghost { background:transparent; color:var(--cream); border:1px solid rgba(53,211,190,0.5); }
.card { background:var(--panel); border:1px solid rgba(53,211,190,0.3); border-radius:16px; padding:22px 20px; margin:8px 0 18px; }
.when { font-family:'Fraunces',Georgia,serif; font-size:24px; font-weight:700; }
.time { font-size:18px; color:var(--teal); font-weight:600; margin-top:4px; }
.local { color:var(--muted); font-size:14px; margin-top:6px; }
.local[hidden] { display:none; }
.zoom-label { margin-top:18px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); font-weight:600; }
.zoom { display:block; margin-top:6px; color:var(--cream); font-weight:600; word-break:break-all; }
.cal { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; }
.cal .btn { font-size:14px; padding:14px 12px; text-align:center; }
@media (max-width:420px) { .cal { grid-template-columns:1fr; } }
.note { padding:12px 14px; border-left:3px solid var(--teal); background:rgba(53,211,190,0.06); border-radius:0 10px 10px 0; font-size:14px; line-height:1.55; color:var(--muted); }
.note b { color:var(--cream); }
.btn.join { width:100%; margin-top:20px; }
