/* =============== */
/* 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  */
/* =========== */
.nav-link{color:#cfcfcf;text-decoration:none}
.nav-link:hover{color:#fff}
.mobile-link{color:#cfcfcf;text-decoration:none;display:block}
.mobile-link:hover{color:#fff}
.footer-heading{color:#fff;font-weight:600;margin-bottom:.5rem}
.footer-links li{margin:.35rem 0}
.footer-links a{color:#cfcfcf;text-decoration:none}
.footer-links a:hover{color:#fff}
.glow-header{transition:all .3s ease}
.glow-header:hover{color:#34d399;text-shadow:0 0 10px rgba(52,211,153,.6)}
.vf-marquee{display:flex;flex-wrap:nowrap;will-change:transform}
.vf-track{display:flex;flex-shrink:0}
.vf-card{flex:0 0 280px;margin-right:1rem}
@media (max-width:640px){
  .vf-card{flex-basis:240px;margin-right:.75rem}
}
.footer-icon{
  width:38px;
  height:auto;
  filter:grayscale(100%) brightness(.8);
  opacity:.7;
  transition:all .4s ease;
  transform:translateY(10px);
}
.footer-icon:hover{
  filter:drop-shadow(0 0 10px rgba(52,211,153,.9)) brightness(1);
  opacity:1;
  transform:translateY(0) scale(1.05);
}
.footer-icon.loaded{
  transform:translateY(0);
  opacity:1;
}
.section-title{font-size:2rem;line-height:1.1;font-weight:800}
.section-subtitle{color:#a3a3a3;margin-top:.5rem}
.muted{color:#a3a3a3}
.accent{color:var(--accent)}
.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)}

/* =============== */
/* Core Components */
/* =============== */
.logo-skel{height:36px;background:#0f0f0f;border:1px dashed #262626;border-radius:.75rem}
.card{background:#0a0a0a;border:1px solid var(--border);border-radius:1rem;padding:1.25rem}
.card-title{font-weight:700;margin-bottom:.25rem}
.card-text{color:#cfcfcf}
.table{width:100%;border-collapse:collapse;border:1px solid var(--border);border-radius:1rem;overflow:hidden}
.table th,.table td{border-bottom:1px solid var(--border);padding:.75rem .85rem}
.th{padding:.75rem .85rem;text-align:left;color:#cfcfcf;font-weight:600}
.td{padding:.75rem .85rem;color:#e5e5e5}
.price-card{
  background:#0a0a0a;
  border:1px solid var(--border);
  border-radius:1rem;
  padding:1.25rem;
  position:relative;
  display:flex;
  flex-direction:column;
}
.price-card.featured{outline:2px solid var(--accent)}
.badge{
  position:absolute;
  top:.75rem;right:.75rem;
  background:var(--accent);color:#052e2b;
  font-weight:700;border-radius:.75rem;
  padding:.25rem .5rem;font-size:.75rem;
}
.price-title{font-weight:800;font-size:1.25rem}
.price-desc{color:#a3a3a3;margin-bottom:.25rem}
.price-num{font-size:1.75rem;font-weight:800;margin:.5rem 0}
.price-list{color:#cfcfcf;display:grid;gap:.35rem;margin-top:.75rem;margin-bottom:1rem}
.price-card .btn{margin-top:auto}
.price-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem}
@media (min-width:640px){.price-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.price-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.toggle{width:44px;height:24px;border-radius:9999px;background:#111;border:1px solid #262626;position:relative}
.toggle::after{content:"";position:absolute;top:1px;left:1px;width:20px;height:20px;border-radius:9999px;background:#34d399;transition:all .2s ease}
input[type="checkbox"].peer:checked + .toggle::after{transform:translateX(20px)}

.cta{
  display:flex;justify-content:space-between;align-items:center;
  background:linear-gradient(to right,#0f172a,#052e2b);
  border:1px solid #1f2937;
  border-radius:1.25rem;
  padding:1.25rem 1.5rem;
}

.input{background:#0a0a0a;border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1rem;color:#fff}
details.faq>summary{cursor:pointer;padding:1rem 0;font-weight:600}
details.faq>p{color:#cfcfcf;padding:0 0 1rem}

.pill-row{display:flex;gap:.5rem;flex-wrap:wrap}
.pill{border:1px solid var(--border);background:#0a0a0a;color:#e5e5e5;border-radius:9999px;padding:.4rem .8rem}
.pill.active{background:#e5e5e5;color:#000;border-color:#fff}
.stage-card{background:#f0c69a1a;border:1px solid #f0c69a3d;border-radius:1rem;padding:1rem 1.25rem}
.panel{background:#0a0a0a;border:1px solid var(--border);border-radius:1.25rem;padding:1rem}
.kv{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem}
.kv .k{color:#a3a3a3}
.kv .v{color:#e5e5e5;font-weight:600}
.panel-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:1rem;margin-top:1rem}

/* =================== */
/* 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}
.hero-video-copy{max-width:32rem}
.hero-video .eyebrow{font-size:.85rem;letter-spacing:.18em}
.hero-video-copy h1{font-size:clamp(3.6rem,6vw,4.8rem);line-height:1.05;margin:.25rem 0 1rem}
.hero-video .hero-subtitle{color:var(--vf-text-muted);font-size:1.08rem;line-height:1.7;max-width:36rem}
.hero-video .hero-ctas{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
@media (min-width:1024px){.hero-video-copy{margin-top:1.25rem}}

.pledge{
  background:transparent;
  margin-top:2.5rem;
  padding:0;
}
.pledge-heading{font-size:1.6rem;margin:0 0 1.2rem}
.pledge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem}
.pledge-card{
  background:rgba(12,14,22,.42);
  border-radius:var(--vf-radius-lg);
  border:1px solid rgba(255,255,255,.06);
  padding:1.5rem 1.4rem 1.6rem;
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.85);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.pledge-card::before{
  content:"";position:absolute;inset:-40%;
  background:radial-gradient(circle at 120% 0%, rgba(52,211,153,.14), transparent 70%);
  opacity:.8;pointer-events:none;
}
.pledge-index{font-size:.8rem;font-weight:600;color:var(--vf-text-muted);margin:0 0 .6rem}
.benefit-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--vf-green);font-size:.78rem;margin:0 0 .2rem;position:relative;z-index:1}
.benefit-title{font-size:1.02rem;margin:0 0 .4rem;position:relative;z-index:1}
.benefit-body{font-size:.86rem;line-height:1.5;color:var(--vf-text-muted);position:relative;z-index:1}
.pledge-card:hover{
  background:rgba(52,211,153,.18);
  border-color:var(--vf-green);
  transform:translateY(-4px);
  box-shadow:0 24px 60px rgba(52,211,153,.55);
}
.pledge-card:hover .pledge-index,
.pledge-card:hover .benefit-title,
.pledge-card:hover .benefit-eyebrow,
.pledge-card:hover .benefit-body{
  color:var(--vf-text-main);
  text-shadow:0 1px 8px rgba(0,0,0,.35);
}

/* ============= */
/* Media Queries */
/* ============= */
@media (max-width:1024px){
  .hero--velocity .hero-inner{grid-template-columns:1fr}
  .hero--velocity .hero-benefits{grid-template-columns:1fr}
  .pledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:960px){
  .hero--velocity{padding-top:5.5rem}
}

@media (max-width:768px){
  .hero--velocity{padding-inline:0}
  .hero--velocity .container{width:min(100% - 1.5rem, 640px)}
  .hero--velocity .benefit-card{padding:1.25rem 1.3rem}
  .pledge-grid{grid-template-columns:1fr}
}
