:root{
  --bg-0:#0d0620;
  --bg-1:#2c1657;
  --purple-500:#9b6bff;
  --purple-700:#6d3fe0;
  --lavender:#c3aaff;
  --accent-green:#34d399;
  --text-hi:#f5f4fa;
  --text-mid:#a6a3bd;
  --text-dim:#716e88;
  --border:rgba(255,255,255,.09);
  --card-bg:rgba(255,255,255,.04);
  --card-bg-hover:rgba(255,255,255,.07);
  --radius:18px;
}

*{box-sizing:border-box;margin:0;padding:0;}

html{color-scheme:dark;}

body{
  min-height:100svh;
  background:radial-gradient(ellipse 100% 60% at 50% 0%, var(--bg-1), var(--bg-0) 65%);
  color:var(--text-hi);
  font-family:'Inter',system-ui,sans-serif;
  display:flex;
  justify-content:center;
  overflow-x:hidden;
  position:relative;
}

/* ---------- ambient background ---------- */
.atmosphere{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
}

.glow{
  position:absolute;
  border-radius:50%;
  filter:blur(90px);
  opacity:.55;
  will-change:transform;
}
.glow--top{
  width:640px;height:420px;
  top:-180px;left:50%;
  transform:translateX(-50%) translate(var(--mx,0px),var(--my,0px));
  background:radial-gradient(circle,var(--purple-500) 0%,transparent 70%);
  opacity:.5;
}
.glow--left{
  width:420px;height:420px;
  bottom:-120px;left:-160px;
  transform:translate(var(--mx,0px),var(--my,0px));
  background:radial-gradient(circle,var(--purple-700) 0%,transparent 72%);
  opacity:.55;
}
.glow--right{
  width:380px;height:380px;
  top:30%;right:-180px;
  transform:translate(var(--mx,0px),var(--my,0px));
  background:radial-gradient(circle,var(--accent-green) 0%,transparent 75%);
  opacity:.14;
}

.grain{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:radial-gradient(ellipse 70% 55% at 50% 100%, black 0%, transparent 75%);
  opacity:.5;
}

/* ---------- layout ---------- */
.page{
  position:relative;
  z-index:1;
  width:100%;
  max-width:440px;
  padding:64px 24px 40px;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.brand{
  text-align:center;
  margin-bottom:38px;
}

.brand__logo{
  display:block;
  height:64px;
  width:auto;
  margin:0 auto 24px;
  opacity:.96;
}

.brand__eyebrow{
  display:inline-block;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--lavender);
  background:rgba(124,92,255,.1);
  border:1px solid rgba(124,92,255,.25);
  padding:6px 14px;
  border-radius:999px;
  margin-bottom:16px;
}

.brand__tagline{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;
  font-size:22px;
  line-height:1.35;
  letter-spacing:-.01em;
  color:var(--text-hi);
}

/* ---------- links ---------- */
.links{
  width:100%;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.link-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  padding:16px 18px;
  background:var(--card-bg);
  border:1px solid var(--border);
  border-radius:var(--radius);
  text-decoration:none;
  color:var(--text-hi);
  backdrop-filter:blur(10px);
  transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.link-card:hover{
  background:var(--card-bg-hover);
  border-color:rgba(255,255,255,.16);
  transform:translateY(-2px);
}

.link-card:active{
  transform:translateY(0);
}

.link-card:focus-visible{
  outline:2px solid var(--lavender);
  outline-offset:2px;
}

.link-card__icon{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:11px;
  background:rgba(255,255,255,.05);
  color:var(--lavender);
}
.link-card__icon svg{width:19px;height:19px;}

.link-card__partner-logo{
  margin-left:auto;
  flex-shrink:0;
  height:14px;
  width:auto;
  opacity:.85;
  transition:opacity .18s ease;
}
.link-card:hover .link-card__partner-logo{opacity:1;}

.link-card__text{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}

.link-card__title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:15px;
}

.link-card__sub{
  font-size:12.5px;
  color:var(--text-mid);
}

.link-card__arrow{
  margin-left:auto;
  color:var(--text-dim);
  font-size:16px;
  transition:transform .18s ease, color .18s ease;
}
.link-card:hover .link-card__arrow{
  transform:translateX(3px);
  color:var(--text-hi);
}

/* primary: same gradient language as the site's CTA button */
.link-card--primary{
  background:linear-gradient(135deg,var(--purple-500),var(--purple-700));
  border-color:transparent;
  box-shadow:0 8px 24px -8px rgba(124,92,255,.55);
}
.link-card--primary .link-card__icon{
  background:rgba(255,255,255,.14);
  color:#fff;
}
.link-card--primary .link-card__sub{color:rgba(255,255,255,.75);}
.link-card--primary .link-card__arrow{color:rgba(255,255,255,.8);}
.link-card--primary:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 30px -8px rgba(124,92,255,.7);
}

/* register: a distinct magenta-leaning purple, separate from the primary gradient */
.link-card--register{
  background:linear-gradient(135deg,#c471ed,#7e22ce);
  border-color:transparent;
  box-shadow:0 8px 24px -8px rgba(196,113,237,.5);
}
.link-card--register .link-card__icon{
  background:rgba(255,255,255,.14);
  color:#fff;
}
.link-card--register .link-card__sub{color:rgba(255,255,255,.75);}
.link-card--register .link-card__arrow{color:rgba(255,255,255,.8);}
.link-card--register:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 30px -8px rgba(196,113,237,.65);
}

/* accent: whatsapp green tint */
.link-card--accent{
  border-color:rgba(52,211,153,.28);
}
.link-card--accent .link-card__icon{
  background:rgba(52,211,153,.14);
  color:var(--accent-green);
}
.link-card--accent:hover{
  border-color:rgba(52,211,153,.45);
  box-shadow:0 8px 24px -10px rgba(52,211,153,.35);
}

/* ---------- footer ---------- */
.footer{
  margin-top:36px;
  text-align:center;
}
.footer p{
  font-size:12px;
  color:var(--text-dim);
}

/* ---------- entrance ---------- */
.brand,.link-card{
  opacity:0;
  transform:translateY(10px);
  animation:rise .55s ease forwards;
}
.brand{animation-delay:.05s;}
.links .link-card:nth-child(1){animation-delay:.14s;}
.links .link-card:nth-child(2){animation-delay:.20s;}
.links .link-card:nth-child(3){animation-delay:.26s;}
.links .link-card:nth-child(4){animation-delay:.32s;}
.links .link-card:nth-child(5){animation-delay:.38s;}
.links .link-card:nth-child(6){animation-delay:.44s;}
.links .link-card:nth-child(7){animation-delay:.50s;}

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

@media (prefers-reduced-motion:reduce){
  .brand,.link-card{animation:none;opacity:1;transform:none;}
  .link-card{transition:none;}
}

@media (max-width:380px){
  .brand__tagline{font-size:19px;}
  .page{padding:48px 18px 32px;}
}
