:root {
  --cream: #f5fbff;
  --paper: #ffffff;
  --ink: #173657;
  --muted: #5d748a;
  --purple: #2476cf;
  --purple-dark: #173f79;
  --sun: #ffbd60;
  --coral: #ff8738;
  --sky: #69d6e1;
  --dusk: #438fc4;
  --dusk-deep: #2771ac;
  --line: rgba(26, 80, 131, .16);
  --shadow: 0 24px 60px rgba(34, 97, 158, .18);
}
body { background: var(--cream); color: var(--ink); }
.topbar { background: rgba(251, 254, 255, .96); border-bottom-color: rgba(22, 91, 156, .12); }
.mini-logo { width: 116px; }
.nav a::after { background: var(--coral); }
.apply-button, .hero-cta, .submit { background: var(--sun); color: #153853; box-shadow: 0 4px 0 #e69339; }
.apply-button:hover, .hero-cta:hover, .submit:hover { box-shadow: 0 2px 0 #e69339; }
.hero { background: linear-gradient(116deg, #146fe1 4%, #329cef 48%, #60e0d1 100%); }
.hero-video { display: none; }
.hero::before {
  background:
    linear-gradient(45deg, transparent 31%, rgba(255,255,255,.15) 31% 67%, transparent 67%),
    linear-gradient(135deg, transparent 39%, rgba(255,255,255,.12) 39% 77%, transparent 77%);
}
.hero-content { margin-top: 1vh; text-shadow: 0 3px 20px rgba(20, 76, 136, .22); }
.hero-logo { width: clamp(300px, 44vw, 600px); margin-bottom: 10px; filter: drop-shadow(0 14px 19px rgba(11, 72, 131, .22)); }
.hero-kicker { max-width: 570px; font-family: "Trebuchet MS", "Microsoft YaHei", sans-serif; }
.video-stage { min-height: auto; padding: 76px 20px 88px; background: radial-gradient(circle at 18% 30%, rgba(117,218,226,.2), transparent 26%), #f9fcff; }
.stage-heading p { color: #607b91; }
.stage-char-left, .stage-char-right { display: none; }
.video-frame { width: min(940px, calc(100% - 24px)); background: #2a7cbc; }
.gallery { background: linear-gradient(150deg, #418fcc, #2376b9); }
.studio-section { background: #f7fbff; }
.studio-panel { background: #fff; border-color: rgba(29,115,188,.13); }
.studio-copy h2 { color: #1766ba; }
.studio-slogan { color: #3b8baa !important; }
.studio-primary { background: #2077ca; box-shadow: 0 3px 0 #145799; }
.studio-secondary { color: #1766ba; border-color: rgba(32,119,202,.7); }
.studio-secondary:hover { background: #2077ca; }
.utility-zone { background: #fbfdff; }
.discord-section { background: linear-gradient(120deg, #5768dc, #6577e8); }
.faq-teaser { background: #eff9ff; }
.social-footer, footer { background: #15385f; }
.social-footer .legal a, footer a { text-underline-offset: 3px; }
.social-footer .legal a:hover, footer a:hover { text-decoration: underline; }
.site-legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; margin-top: 16px; font-size: .82rem; }
.site-legal-links a { text-decoration: underline; text-underline-offset: 3px; }
.consent-legal { margin: 4px 0 0 29px; font-size: .82rem; color: #52718b; }
.consent-legal a { color: #1766ba; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.socials .unavailable { opacity: .62; cursor: default; }
.socials .unavailable:hover { text-decoration: none; }
@media (max-width: 760px) {
  .mini-logo { width: 98px; }
  .hero-logo { width: min(86vw, 520px); }
}
