/* The university's moonlit poster supplies the palette and hero artwork. */
:root {
  --bg: #040e24;
  --panel: #0b1b34;
  --text: #f3f8ff;
  --muted: #a1b3cc;
  --accent: #67c6ff;
  --line: #9fceff19;
}

body {
  background:
    radial-gradient(ellipse at 5% 8%, #123b6a55, transparent 30%),
    radial-gradient(ellipse at 95% 30%, #13386633, transparent 35%),
    var(--bg);
}

::selection { background: #236b9b; color: white; }
.university-header { background: radial-gradient(ellipse at 50% 0, #173c6655, transparent 75%); }
.university-nav {
  background: #09192ee8;
  border-color: #8ecfff2b;
  color: #b5c7dc;
}
.university-nav-shell.is-stuck .university-nav {
  background: #0c2038ed;
  border-color: #8ecfff59;
  box-shadow: 0 12px 36px #00091b66, inset 0 1px 0 #ceeaff12;
}
.university-nav a:hover { color: #e2f5ff; }
.button { color: #03213a; box-shadow: 0 4px 24px #45aeff16; }
.button:hover { background: #9cdcff; }
.hero { gap: 40px; min-height: 580px; }
.hero h1 span { text-shadow: 0 0 40px #38aaf52e; }
.hero-note { color: #8aa3c2; }
.hero::before {
  content: '';
  position: absolute;
  inset: 0 -20px;
  pointer-events: none;
  opacity: .55;
  background:
    radial-gradient(circle at 6% 16%, #cae9ff 0 1px, transparent 1.6px),
    radial-gradient(circle at 28% 8%, #cae9ff 0 .7px, transparent 1.4px),
    radial-gradient(circle at 43% 88%, #cae9ff 0 .7px, transparent 1.4px),
    radial-gradient(circle at 66% 6%, #cae9ff 0 1px, transparent 1.6px),
    radial-gradient(circle at 97% 78%, #cae9ff 0 .7px, transparent 1.4px),
    radial-gradient(circle at 18% 92%, #cae9ff 0 1px, transparent 1.6px);
}
.event-artwork { position: relative; margin: 0; min-width: 0; isolation: isolate; }
.poster-halo {
  position: absolute;
  inset: -20% 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse, #268bdf33, transparent 68%);
}
.event-artwork img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid #a3d4ff30;
  box-shadow: 0 24px 65px #00081766, 0 0 45px #2775c01c;
}
.event-artwork figcaption {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
  color: #95b0cf;
  font-size: 11px;
}
.event-artwork figcaption span { color: var(--accent); }
.info-strip { background: #09182b; }
.strip-inner { color: #c0d2e5; }
.experience article { background: linear-gradient(140deg, #102941aa, #08182d); border-color: #a3d4ff20; }
.card-top { color: #6887a8; }
.card-tag { color: #98b9d9; }
.form-panel { background: linear-gradient(145deg, #10253d, #091a30); border-color: #a3d4ff26; box-shadow: 0 15px 60px #00081730; }
.field label { color: #c8d9ed; }
input { background: #061329; border-color: #9bcfff26; }
input::placeholder { color: #748ca8; }
input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px #67c6ff18; }
.registration-note p, .privacy { color: #8ca6c3; }
.mini-stars span { color: #5c94be; }
.footer { color: #91a9c6; }
.footer-brand { color: #e1eeff; }
.footer-brand span { color: #91a9c6; }
.success-icon { background: #67c6ff20; border-color: #67c6ff66; }

@media (max-width: 1000px) and (min-width: 761px) {
  .hero { gap: 28px; }
  .hero h1 { font-size: 38px; }
}
@media (max-width: 760px) {
  .hero { gap: 32px; min-height: 0; padding-bottom: 40px; }
  .event-artwork { width: 100%; max-width: 520px; margin-inline: auto; }
  .event-artwork figcaption { margin-top: 14px; font-size: 10px; }
  .hero::before { inset-inline: 0; }
}
