*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {
  --clr-bg: #0b0c10;
  --clr-accent: #c9a84c;
  --clr-text: #e0ddd5;
  --clr-muted: #8a8880;
  --font-heading: "Cinzel", serif;
  --font-body: "Raleway", sans-serif;
}

body {
  font-family: var(--font-body);
  background: var(--clr-bg);
  color: var(--clr-text);
  line-height: 1.7;
  overflow: hidden;
  height: 100vh;
}

img {
  max-width: 100%;
  display: block;
}

.splash {
  position: relative;
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.splash::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 30% 80%, rgba(201, 168, 76, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse at 70% 20%, rgba(201, 168, 76, 0.05) 0%, transparent 50%);
  pointer-events: none;
}

.splash-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

.splash-art {
  position: relative;
  width: min(520px, 80vw);
  aspect-ratio: 832 / 697;
  filter: drop-shadow(0 0 60px rgba(201, 168, 76, 0.18));
}

.splash-art img {
  position: absolute;
  object-fit: contain;
}

.splash-wizard {
  left: 0;
  bottom: 0;
  width: 81.25%;  /* 676/832 */
  height: 100%;   /* 697/697 */
}

.splash-pillar {
  right: 0;
  bottom: 0;
  width: 26.44%;  /* 220/832 */
  height: 93.54%; /* 652/697 */
}

.splash-title {
  font-family: var(--font-heading);
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  letter-spacing: 0.12em;
  line-height: 1.15;
  color: #fff;
  text-transform: uppercase;
}

.splash-title em {
  font-style: normal;
  color: var(--clr-accent);
}

.splash-tagline {
  font-size: 1rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--clr-muted);
}
