:root{
  --bg: #050506;
  --fg: #f4f4f5;
  --muted: rgba(244,244,245,.72);
  --line: rgba(244,244,245,.14);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  background: var(--bg);
  color: var(--fg);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  overflow:hidden;
}

/* Crisp abstract background (NO blur, faster movement) */
.bg{
  position:fixed;
  inset:-30%;
  background:
    radial-gradient(900px 520px at 15% 20%, rgba(255,255,255,.16), transparent 62%),
    radial-gradient(820px 520px at 85% 30%, rgba(255,255,255,.10), transparent 62%),
    radial-gradient(900px 560px at 55% 90%, rgba(255,255,255,.08), transparent 64%),
    conic-gradient(from 220deg at 50% 55%,
      rgba(255,255,255,.14),
      rgba(255,255,255,0) 28%,
      rgba(255,255,255,.08) 50%,
      rgba(255,255,255,0) 74%,
      rgba(255,255,255,.14)
    );
  /* keep it crisp */
  filter: contrast(115%) saturate(0%);
  opacity:.95;
  transform: translate3d(0,0,0);
  animation: drift 6s ease-in-out infinite alternate;
}

/* Dramatic vignette for depth */
.bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(closest-side at 50% 50%, rgba(0,0,0,0) 40%, rgba(0,0,0,.72) 100%);
  pointer-events:none;
}

@keyframes drift{
  0%   { transform: translate(-1.5%, -1.2%) rotate(-1.2deg) scale(1.02); }
  50%  { transform: translate( 1.8%,  0.8%) rotate( 1.0deg) scale(1.03); }
  100% { transform: translate(-0.8%,  1.6%) rotate(-0.6deg) scale(1.02); }
}

/* subtle crisp grain (not blurry) */
.grain{
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(0deg,
      rgba(255,255,255,.035),
      rgba(255,255,255,.035) 1px,
      rgba(0,0,0,0) 1px,
      rgba(0,0,0,0) 3px
    );
  opacity:.08;
  mix-blend-mode: overlay;
}

/* Layout */
.stage{
  position:relative;
  z-index:1;
  min-height:100%;
  display:grid;
  grid-template-rows: auto 1fr auto;
  padding: clamp(20px, 4vw, 56px);
}

.top{
  display:flex;
  justify-content:flex-start;
  align-items:center;
}

.brand{
  letter-spacing: 6px;
  font-weight: 650;
  font-size: 13px;
  color: rgba(244,244,245,.92);
}

.hero{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap: 18px;
}

.title{
  margin:0;
  font-weight: 800;
  letter-spacing: -1px;
  line-height: .88;
  text-transform: uppercase;
  font-size: clamp(56px, 10vw, 132px);
  /* dramatic but still minimal */
  text-shadow:
    0 1px 0 rgba(255,255,255,.06),
    0 22px 80px rgba(0,0,0,.55);
}

.contact{
  margin:0;
  padding-top: 6px;
  border-top: 1px solid var(--line);
  width: min(520px, 100%);
  color: var(--muted);
  font-size: 14px;
  letter-spacing: .2px;
}

a{
  color: var(--fg);
  text-decoration: none;
  border-bottom: 1px solid rgba(244,244,245,.55);
  padding-bottom: 2px;
}
a:hover{
  border-bottom-color: rgba(244,244,245,.9);
}

.bottom{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}

.meta{
  font-size: 12px;
  color: rgba(244,244,245,.55);
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* Optional: reduce motion accessibility */
@media (prefers-reduced-motion: reduce){
  .bg{ animation: none; }
}
