:root{
  --bg:#000;
  --fg:#fff;
  --muted:rgba(255,255,255,.55);
}

*{box-sizing:border-box}

html,body{
  margin:0;
  min-height:100%;
  background:var(--bg);
}

body{
  min-height:100svh;
  color:var(--fg);
  font-family:Arial,Helvetica,sans-serif;
  background:
    radial-gradient(circle at 50% 34%,rgba(255,255,255,.035),transparent 44%),
    #000;
}

.page{
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:
    max(34px,env(safe-area-inset-top))
    max(24px,env(safe-area-inset-right))
    max(34px,env(safe-area-inset-bottom))
    max(24px,env(safe-area-inset-left));
}

.hero{
  width:min(100%,1100px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.logo{
  width:min(76vw,720px);
  height:auto;
  max-height:54svh;
  object-fit:contain;
  opacity:0;
  transform:translateY(12px) scale(.985);
  animation:reveal .72s cubic-bezier(.2,.8,.2,1) .06s forwards;
}

.tagline{
  margin-top:clamp(18px,2.3vw,28px);
  font-size:clamp(1rem,1.75vw,1.5rem);
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(8px);
  animation:reveal .6s ease-out .2s forwards;
}

.rule{
  width:clamp(56px,6vw,84px);
  height:1px;
  margin:clamp(26px,3.4vw,42px) 0;
  background:var(--muted);
  opacity:0;
  animation:fade .6s ease-out .3s forwards;
}

.links{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:clamp(26px,4vw,54px);
  width:100%;
  opacity:0;
  animation:fade .6s ease-out .38s forwards;
}

.links a{
  min-width:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:13px;
  color:var(--fg);
  text-decoration:none;
  font-size:clamp(.76rem,1vw,.92rem);
  letter-spacing:.05em;
  line-height:1;
  transition:opacity .18s ease,transform .18s ease;
}

.links a span{
  border-bottom:1px solid var(--muted);
  padding-bottom:5px;
}

.links a:hover{
  opacity:.68;
  transform:translateY(-1px);
}

.links a:focus-visible{
  outline:2px solid #fff;
  outline-offset:7px;
  border-radius:2px;
}

.links svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.divider{
  width:1px;
  height:72px;
  background:var(--muted);
}

@keyframes reveal{
  to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes fade{
  to{opacity:1}
}

@media(max-width:700px){
  .page{padding-left:20px;padding-right:20px}
  .logo{
    width:min(88vw,520px);
    max-height:42svh;
  }
  .tagline{
    max-width:320px;
    font-size:1rem;
  }
  .rule{
    margin:28px 0;
  }
  .links{
    flex-direction:column;
    align-items:center;
    gap:18px;
  }
  .divider{
    width:48px;
    height:1px;
  }
  .links a{
    min-width:0;
    font-size:.78rem;
  }
  .links svg{
    width:30px;
    height:30px;
  }
}

@media(prefers-reduced-motion:reduce){
  .logo,.tagline,.rule,.links{
    animation:none;
    opacity:1;
    transform:none;
  }
}
