/* Dawnfall Studios — one-page splash with steady pulse */
:root{
  --bg-1:#1b1f24; /* deep slate */
  --bg-2:#2a2f36; /* cooler rim */
  --bg-warm:#3b3228; /* subtle warm brown to match stone/gold */
  --pulse:#12baff; /* cyan-blue glow tone */
  --vignette: rgba(0,0,0,.45);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:
    radial-gradient(1200px 700px at 50% 40%, rgba(18,186,255,0.10), transparent 60%),
    radial-gradient(1000px 500px at 50% 60%, var(--bg-warm), transparent 70%),
    linear-gradient(160deg, var(--bg-1), var(--bg-2));
  color:#d6d6d6;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
  display:grid;
  place-items:center;
}

.wrap{
  position:relative;
  width:min(92vw, 900px);
  height:min(92vh, 900px);
  display:grid;
  place-items:center;
  filter: drop-shadow(0 20px 60px rgba(0,0,0,.55));
}

.logo{
  width:min(75vw, 520px);
  height:auto;
  animation: steady-pulse 3.5s ease-in-out infinite;
  image-rendering: auto;
}

/* Soft steady thump (not double-beat). */
@keyframes steady-pulse{
  0%{ transform:scale(1); filter:drop-shadow(0 0 0 rgba(18,186,255,.18)); }
  35%{ transform:scale(1.018); filter:drop-shadow(0 0 34px rgba(18,186,255,.55)); }
  70%{ transform:scale(1); filter:drop-shadow(0 0 8px rgba(18,186,255,.25)); }
  100%{ transform:scale(1); filter:drop-shadow(0 0 0 rgba(18,186,255,.18)); }
}

/* Optional ambient glow behind the stone to accent the blue */
.glow{
  position:absolute;
  width:52vmin; height:52vmin;
  max-width:540px; max-height:540px;
  border-radius:50%;
  background: radial-gradient(circle at 50% 45%, rgba(18,186,255,.35), rgba(18,186,255,0) 60%);
  filter: blur(20px);
  animation: breathe 7s ease-in-out infinite;
  z-index:-1;
}

@keyframes breathe{
  0%,100%{ opacity:.35; transform:scale(1); }
  50%{ opacity:.6; transform:scale(1.08); }
}

.footer{
  position:absolute;
  bottom:2.2rem;
  left:50%;
  transform:translateX(-50%);
  font-size:.9rem;
  letter-spacing:.06em;
  color:#b8b3a3;
  opacity:.6;
}

/* Accessible hide for the h1 while keeping semantics */
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Small screens tweaks */
@media (max-width:520px){
  .footer{ bottom:1.2rem; font-size:.8rem; }
  .logo{ width:min(86vw, 480px); }
}
