body.entry-open { overflow: hidden; }
.entry-screen {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 24px;
  background: var(--color-background);
}
.entry-content { display: grid; justify-items: center; gap: 20px; text-align: center; }
.entry-content h1 { color: var(--brand-signature); font-size: clamp(2.8rem, 9vw, 4.5rem); line-height: 1; }
.entry-content p { color: var(--color-text-muted); font-size: 1rem; }
.entry-logo {
  width: 176px;
  height: 176px;
  display: grid;
  place-items: center;
  padding: 8px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.entry-logo img { width: 160px; height: 160px; }
.entry-logo:focus-visible { outline: 3px solid var(--brand-signal); outline-offset: 4px; }
.entry-logo.is-spinning img { animation: entry-turn 650ms linear both; }
@keyframes entry-turn { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  .entry-logo.is-spinning img { animation: none; }
}
