:root {
  color-scheme: dark;
  font-family: "Helvetica Neue", Arial, sans-serif;
  background: #050505;
  color: #f4f4f4;
}
* { box-sizing: border-box; }
body { margin: 0; }
.stage {
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 64px 24px;
  background: radial-gradient(ellipse at center, rgb(255 0 0 / 3%), transparent 60%), #050505;
}
.identity {
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: arrive 1.4s ease both;
}
.logo {
  display: block;
  width: 285px;
  max-width: 60vw;
  height: auto;
  user-select: none;
  filter: grayscale(1) brightness(1.05) drop-shadow(0 0 14px rgb(255 255 255 / 4%));
  transition: transform .55s ease, filter .55s ease;
}
.contact {
  margin-top: 52px;
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 10px 8px 10px 16px;
  color: #969696;
  font-size: .875rem;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 8px;
  text-decoration: none;
  transition: color .25s ease, transform .25s ease;
}
.contact:focus-visible { outline: 1px solid #e5e5e5; outline-offset: 8px; }
.identity:focus-within .logo,
.identity.is-touching .logo {
  filter: grayscale(0) drop-shadow(0 0 16px rgb(255 0 0 / 14%));
  transform: scale(1.333333);
}
@media (hover: hover) and (pointer: fine) {
  .identity:hover .logo {
    filter: grayscale(0) drop-shadow(0 0 16px rgb(255 0 0 / 14%));
    transform: scale(1.333333);
  }
  .contact:hover { color: #ededed; transform: translateY(-2px); }
}
@media (max-width: 768px) {
  .logo { width: 44vw; max-width: 285px; }
  .contact { margin-top: 40px; letter-spacing: 7px; }
}
@keyframes arrive {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .identity { animation: none; }
  .logo, .contact { transition: none; }
  .identity:hover .logo, .identity:focus-within .logo, .identity.is-touching .logo,
  .contact:hover { transform: none; }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
