:root{
  --bg0:#070a12;
  --bg1:#0b1020;
  --txt:#eaf0ff;
  --muted:rgba(234,240,255,.72);
  --muted2:rgba(234,240,255,.52);
  --stroke:rgba(255,255,255,.10);
  --stroke2:rgba(255,255,255,.16);
  --shadow: 0 20px 80px rgba(0,0,0,.55);
  --radius: 22px;
  --accentA:#7c3aed;
  --accentB:#22d3ee;
  --accentC:#a78bfa;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--txt);
  background:radial-gradient(1200px 800px at 20% 15%, rgba(124,58,237,.22), transparent 55%),
             radial-gradient(1000px 700px at 80% 35%, rgba(34,211,238,.16), transparent 55%),
             linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
}

img,svg,video,canvas{max-width:100%; height:auto}
a{color:inherit}

.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;
}

.bg{position:fixed; inset:0; pointer-events:none; overflow:hidden}
.orb{
  position:absolute;
  width:72vmax;
  height:72vmax;
  border-radius:999px;
  filter: blur(40px);
  opacity:.55;
  mix-blend-mode:screen;
  transform: translate3d(0,0,0);
  animation: float 14s ease-in-out infinite;
}
.orb--a{
  left:-18vmax; top:-20vmax;
  background: radial-gradient(circle at 30% 30%, rgba(124,58,237,.90), rgba(124,58,237,0) 58%);
  animation-duration: 16s;
}
.orb--b{
  right:-26vmax; top:-10vmax;
  background: radial-gradient(circle at 30% 30%, rgba(34,211,238,.80), rgba(34,211,238,0) 58%);
  animation-duration: 18s;
  animation-delay:-6s;
}
.orb--c{
  left:10vmax; bottom:-30vmax;
  background: radial-gradient(circle at 30% 30%, rgba(167,139,250,.70), rgba(167,139,250,0) 58%);
  animation-duration: 20s;
  animation-delay:-10s;
}

.grid{
  position:absolute;
  inset:-2px;
  opacity:.18;
  background:
    linear-gradient(to right, rgba(255,255,255,.06) 1px, transparent 1px) 0 0 / 56px 56px,
    linear-gradient(to bottom, rgba(255,255,255,.06) 1px, transparent 1px) 0 0 / 56px 56px;
  mask-image: radial-gradient(600px 480px at 50% 30%, #000 30%, transparent 70%);
}

.noise{
  position:absolute;
  inset:0;
  opacity:.08;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

.wrap{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding: clamp(20px, 4vw, 48px);
}

.card{
  width:min(980px, 100%);
  padding: clamp(24px, 5vw, 56px);
  border-radius: var(--radius);
  border:1px solid var(--stroke);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow);
  position:relative;
  overflow:hidden;
}

.card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(900px 420px at 30% 15%, rgba(124,58,237,.25), transparent 55%),
              radial-gradient(700px 460px at 85% 35%, rgba(34,211,238,.20), transparent 60%);
  opacity:.9;
  pointer-events:none;
}
.card > *{position:relative}

.eyebrow{
  margin:0 0 12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
  color:var(--muted2);
}

h1{
  margin: 0 0 14px;
  font-size: clamp(34px, 4.8vw, 58px);
  line-height: 1.05;
  letter-spacing:-.02em;
  text-wrap: balance;
}
.accent{
  background: linear-gradient(90deg, var(--accentC), var(--accentB));
  -webkit-background-clip: text;
  background-clip:text;
  color:transparent;
}

.sub{
  margin:0 0 26px;
  max-width: 60ch;
  font-size: clamp(15px, 1.25vw, 18px);
  color: var(--muted);
}

.meta{
  margin-top: 6px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap: 16px;
  flex-wrap:wrap;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.10);
}

.pill{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.18);
  color: rgba(234,240,255,.86);
  font-size: 13px;
}
.dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background: rgba(34,211,238,.95);
  box-shadow: 0 0 0 4px rgba(34,211,238,.12);
}

.footer{
  width:min(980px, 100%);
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap: 10px;
  margin-top: 18px;
  color: rgba(234,240,255,.58);
  font-size: 13px;
  text-align:center;
}
.footer a{
  color: rgba(234,240,255,.70);
  text-decoration:none;
  border-bottom: 1px solid rgba(234,240,255,.22);
}
.footer a:hover{
  color: rgba(234,240,255,.92);
  border-bottom-color: rgba(234,240,255,.42);
}
.sep{opacity:.55}

@keyframes float{
  0%,100%{ transform: translate3d(0,0,0) scale(1) }
  50%{ transform: translate3d(0, -3vmax, 0) scale(1.04) }
}

@media (max-width: 720px){
  .wrap{
    min-height: 100svh;
    height: 100svh;
    padding: 14px;
    justify-content: space-between;
  }
  .card{
    padding: 18px;
    margin: 0;
  }
  .eyebrow{margin-bottom: 10px}
  h1{font-size: clamp(26px, 7vw, 40px)}
  .sub{margin-bottom: 16px; font-size: 15px}
  .meta{padding-top: 14px}
  .footer{
    margin-top: 0;
    line-height: 1.6;
    font-size: 12px;
    padding-bottom: max(8px, env(safe-area-inset-bottom));
  }
  .sep{display:none}
}

@media (max-width: 380px){
  .card{padding: 18px; border-radius: 18px}
  .pill{font-size: 12px; padding: 9px 12px}
}

@media (prefers-reduced-motion: reduce){
  .orb{animation:none}
  *{scroll-behavior:auto !important}
}
