.vexum-event-registration {
  --event-ink: #071a3d;
  --event-blue: #00a8e8;
  --event-blue-dark: #0068b5;
  --event-line: #d7e4ef;
  --event-soft: #f4f9fd;
  --event-error: #b42318;
  color: var(--event-ink);
  font-family: "Noto Sans JP", "Yu Gothic", system-ui, sans-serif;
  width: min(100%, 780px);
  margin-inline: auto;
}
.vexum-event-registration *, .vexum-event-registration *::before, .vexum-event-registration *::after { box-sizing: border-box; }
.event-form-card { background:#fff; border:1px solid var(--event-line); border-radius:18px; padding:clamp(22px,4vw,44px); box-shadow:0 18px 60px rgba(7,26,61,.08); }
.event-form-heading { margin:0 0 8px; font-size:clamp(1.45rem,3vw,2rem); line-height:1.45; letter-spacing:.02em; }
.event-form-lead { margin:0 0 28px; color:#4c6077; font-size:1rem; line-height:1.8; }
.event-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px 24px; }
.event-field { min-width:0; }
.event-field--full { grid-column:1 / -1; }
.event-field label, .event-field legend { display:block; margin:0 0 8px; font-weight:700; font-size:.95rem; }
.event-required { display:inline-block; margin-left:7px; padding:2px 7px; color:#fff; background:var(--event-blue-dark); border-radius:999px; font-size:.72rem; vertical-align:2px; }
.event-optional { margin-left:7px; color:#66788c; font-size:.78rem; font-weight:500; }
.event-field input, .event-field select, .event-field textarea { width:100%; min-height:50px; border:1px solid #b9ccdc; border-radius:9px; background:#fff; color:var(--event-ink); padding:12px 14px; font:inherit; font-size:1rem; transition:border-color .15s, box-shadow .15s; }
.event-field textarea { min-height:128px; resize:vertical; line-height:1.65; }
.event-field input:focus, .event-field select:focus, .event-field textarea:focus { outline:0; border-color:var(--event-blue-dark); box-shadow:0 0 0 3px rgba(0,168,232,.16); }
.event-help { margin:7px 0 0; color:#65778b; font-size:.82rem; line-height:1.55; }
.event-error { min-height:1.3em; margin:6px 0 0; color:var(--event-error); font-size:.84rem; }
.event-field [aria-invalid="true"] { border-color:var(--event-error); }
.event-checks { grid-column:1 / -1; display:grid; gap:12px; padding-top:4px; }
.event-check { display:flex; align-items:flex-start; gap:10px; font-size:.92rem; line-height:1.65; }
.event-check input { width:20px; height:20px; flex:0 0 auto; margin-top:2px; accent-color:var(--event-blue-dark); }
.event-check a { color:var(--event-blue-dark); text-underline-offset:3px; }
.event-actions { grid-column:1 / -1; margin-top:4px; }
.event-submit { width:100%; min-height:58px; border:0; border-radius:9px; background:linear-gradient(120deg,var(--event-blue-dark),var(--event-blue)); color:#fff; font:inherit; font-size:1.05rem; font-weight:800; letter-spacing:.06em; cursor:pointer; box-shadow:0 10px 28px rgba(0,104,181,.23); }
.event-submit:hover { filter:brightness(.97); transform:translateY(-1px); }
.event-submit:focus-visible { outline:3px solid rgba(0,104,181,.32); outline-offset:3px; }
.event-submit:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.event-form-status { margin:16px 0 0; padding:13px 15px; border-radius:8px; background:var(--event-soft); font-size:.92rem; line-height:1.65; }
.event-form-status:empty { display:none; }
.event-form-status[data-state="error"] { color:var(--event-error); background:#fff1f0; }
.event-form-closed { padding:28px; border:1px solid var(--event-line); border-radius:14px; background:var(--event-soft); text-align:center; line-height:1.8; }
.event-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
@media (max-width:640px) {
  .event-form-card { border-radius:12px; padding:22px 18px 26px; }
  .event-form-grid { grid-template-columns:1fr; gap:18px; }
  .event-field--full, .event-checks, .event-actions { grid-column:1; }
}
@media (prefers-reduced-motion:reduce) { .event-submit { transition:none; } }
