/* =============== */
/* Root Variables  */
/* =============== */
:root{
  --bg:#000;
  --fg:#fff;
  --muted:#a3a3a3;
  --card:#0a0a0a;
  --border:#262626;
  --accent:#34d399;
  --vf-bg:#020617;
  --vf-card:#021d1a;
  --vf-card-soft:#022c22;
  --vf-green:#34d399;
  --vf-teal-dark:#022c22;
  --vf-text-main:#f9fafb;
  --vf-text-muted:#9ca3af;
  --vf-border-soft:rgba(148,163,184,.25);
  --vf-radius-lg:1.25rem;
  --sb-track:#0b0b0b;
  --sb-thumb:#242424;
  --sb-thumb-hover:#2f2f2f;
  --sb-thumb-active:#3a3a3a;
  --sb-thumb-min:36px;
  --sb-thumb-max:72px;
}

/* ========== */
/* Base/Reset */
/* ========== */
*,
*::before,
*::after{box-sizing:border-box}

html{scrollbar-gutter:stable both-edges}

body{
  margin:0;
  background:var(--bg);
  color:var(--vf-text-main);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
}

.container{width:min(1120px,100% - 2.5rem);margin:0 auto}

/* Scrollbars */
*{scrollbar-width:thin;scrollbar-color:var(--sb-thumb) var(--sb-track)}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--sb-track)}
::-webkit-scrollbar-thumb{
  background-color:var(--sb-thumb);
  border-radius:9999px;
  border:2px solid var(--sb-track);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.04);
  min-height:var(--sb-thumb-min);
  max-height:var(--sb-thumb-max);
}
::-webkit-scrollbar-thumb:horizontal{min-width:var(--sb-thumb-min);max-width:var(--sb-thumb-max)}
::-webkit-scrollbar-thumb:hover{background-color:var(--sb-thumb-hover)}
::-webkit-scrollbar-thumb:active{background-color:var(--sb-thumb-active)}
::-webkit-scrollbar-corner{background:var(--sb-track)}

/* =========== */
/* Typography  */
/* =========== */
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;color:var(--vf-green)}

/* ======= */
/* Buttons */
/* ======= */
a.btn, button.btn, .btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.75rem 1.5rem;border-radius:9999px;font-size:.875rem;font-weight:600;
  text-decoration:none;cursor:pointer;
  border:1px solid var(--vf-green);
  background:rgba(52,211,153,.10);
  color:#86efac;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.btn:hover{background:rgba(52,211,153,.20)}
a.btn.btn-primary, button.btn.btn-primary, .btn.btn-primary{
  border-color:var(--vf-green);
  background:rgba(52,211,153,.10);
  color:#86efac;
  box-shadow:none;
}
a.btn.btn-primary:hover, button.btn.btn-primary:hover, .btn.btn-primary:hover{background:rgba(52,211,153,.20)}
a.btn.btn-ghost, button.btn.btn-ghost, .btn.btn-ghost{
  border-color:var(--vf-green);
  background:rgba(52,211,153,.10);
  color:#86efac;
}
a.btn.btn-ghost:hover, button.btn.btn-ghost:hover, .btn.btn-ghost:hover{background:rgba(52,211,153,.20)}

.input{background:#0a0a0a;border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1rem;color:#fff}

/* =================== */
/* Hero (Legacy Layout) */
/* =================== */
/* ===================== */
/* Hero Video + Pledge   */
/* ===================== */
.hero-video{
  position:relative;
  display:flex;
  align-items:flex-start;
  overflow:hidden;
  min-height:80vh;
  padding:4rem 0 3rem;
}
.hero-video-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-video-bg video{width:100%;height:100%;object-fit:cover;filter:saturate(1.2)}
.hero-video-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 10% 0%, rgba(52,211,153,.25), transparent 60%),
    radial-gradient(circle at 90% 100%, rgba(34,197,94,.25), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.7), #000);
  mix-blend-mode:multiply;
}
.hero-video-inner{position:relative;z-index:1}

/* ==================== */
/* Waitlist Layout/Brand */
/* ==================== */
main.hero-video{
  padding:0;
  min-height:100vh;
  height:auto;
}

main.hero-video .container.relative{
  padding-top:clamp(.75rem,2vh,1.4rem);
  padding-bottom:clamp(.75rem,2vh,1.4rem);
}

main.hero-video .mx-auto.max-w-3xl{
  gap:clamp(1rem,2vh,1.25rem);
}

main.hero-video h1{margin-inline:auto}

@supports (text-wrap: balance){
  main.hero-video h1{text-wrap:balance}
}

@supports not (text-wrap: balance){
  main.hero-video h1{max-width:18ch}
}

main.hero-video .space-y-4 > :not([hidden]) ~ :not([hidden]){
  margin-top:1rem;
}

main.hero-video section.space-y-6 > :not([hidden]) ~ :not([hidden]){
  margin-top:1.25rem;
}

main.hero-video .h-14.w-14.rounded-2xl{
  width:4.25rem;
  height:4.25rem;
  background:transparent;
  border-color:rgba(255,255,255,.12);
}

main.hero-video img[alt="Velocity Funds"].h-8.w-8{
  width:2.5rem;
  height:2.5rem;
}

main.hero-video .space-y-1 > p.text-xs.uppercase{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55em;
  white-space:nowrap;
  font-size:0;
  letter-spacing:0;
  color:transparent;
}

main.hero-video .space-y-1 > p.text-xs.uppercase::before{
  content:"VELOCITY";
  font-size:clamp(.95rem,2.1vw,1.05rem);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:#fff;
}

main.hero-video .space-y-1 > p.text-xs.uppercase::after{
  content:"FUNDS";
  font-size:clamp(.95rem,2.1vw,1.05rem);
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--vf-green);
}

@media (min-width:640px){
  main.hero-video .h-14.w-14.rounded-2xl{
    width:4.75rem;
    height:4.75rem;
  }

  main.hero-video img[alt="Velocity Funds"].h-8.w-8{
    width:2.85rem;
    height:2.85rem;
  }
}

@media (max-width:640px){
  main.hero-video p.text-lg{
    font-size:1rem;
  }

  main.hero-video section.w-full.max-w-2xl{
    padding:1.25rem;
  }
}

@media (max-height:740px){
  main.hero-video .container.relative{
    padding-top:.75rem;
    padding-bottom:.75rem;
  }

  main.hero-video .mx-auto.max-w-3xl{
    gap:1rem;
  }

  main.hero-video section.w-full.max-w-2xl{
    padding:1.25rem;
  }

  main.hero-video section.space-y-6 > :not([hidden]) ~ :not([hidden]){
    margin-top:1rem;
  }
}
