:root{--bg:#0a0a0b;--fg:#e9eaec;--muted:#aeb4bd;--accent:#2a6ef2;--accent-600:#1f57c1;--surface:#15161a;--border:#262832;--success:#18a957;--danger:#d33a2c}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6;background:var(--bg);color:var(--fg)}
.container{width:min(1100px,92%);margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:1rem;top:1rem;background:var(--surface);color:var(--fg);padding:.5rem .75rem;border-radius:.5rem}
.site-header{position:sticky;top:0;z-index:50;background:rgba(10,10,11,.6);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--border);transition:background .3s ease, box-shadow .3s ease}
.site-header.scrolled{background:rgba(10,10,11,.92);box-shadow:0 2px 24px rgba(0,0,0,.25)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0}
.brand{font-weight:700;color:var(--fg);text-decoration:none;font-size:1.125rem;letter-spacing:.2px}
.nav-toggle{appearance:none;border:1px solid var(--border);background:transparent;color:var(--fg);padding:.5rem .75rem;border-radius:.5rem}
.nav{display:none}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1rem;flex-wrap:wrap}
.nav a{color:var(--fg);text-decoration:none;padding:.4rem .5rem;border-radius:.4rem}
.nav a:focus,.nav a:hover{background:var(--surface)}
.nav.open{display:block}
@media (min-width:768px){.nav{display:block}.nav-toggle{display:none}}
.hero{padding:6rem 0 4rem;background:linear-gradient(180deg,rgba(42,110,242,.08),transparent 60%);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-10%;pointer-events:none;background:
    radial-gradient(1200px 400px at 0% 50%, rgba(42,110,242,.12), transparent 60%),
    linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(42,110,242,.06) 50%, rgba(255,255,255,0) 100%);
  mix-blend:normal;filter:blur(0.5px);transform:translateX(-30%);animation:hero-shimmer 22s linear infinite}
@keyframes hero-shimmer{0%{transform:translateX(-30%)}100%{transform:translateX(30%)}}
.hero h1{font-size:2rem;line-height:1.2;margin:0 0 1rem}
.subhead{color:var(--muted);max-width:68ch;margin:0 0 1.5rem}
.cta-group{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}
.btn{display:inline-block;text-decoration:none;border:1px solid var(--border);padding:.7rem 1rem;border-radius:.6rem;font-weight:600;transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover,.btn.primary:focus{background:var(--accent-600);border-color:var(--accent-600);transform:translateY(-1px);box-shadow:0 6px 20px rgba(42,110,242,.25)}
.btn:active{transform:translateY(0) scale(.99)}
.btn.primary:active{box-shadow:0 2px 8px rgba(42,110,242,.25)}
.btn.ghost{background:transparent;color:var(--fg)}
.btn.ghost:hover,.btn.ghost:focus{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.2)}
.btn.loading{position:relative;pointer-events:none}
.btn.loading::after{content:"";position:absolute;right:12px;top:50%;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.7);border-top-color:transparent;border-right-color:transparent;transform:translateY(-50%);animation:spin 1s linear infinite}
@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}
.trustline{color:var(--muted);font-size:.875rem;margin-top:.25rem}
.section{padding:3rem 0;border-top:1px solid var(--border)}
.section h2{margin:0 0 1.25rem;font-size:1.5rem;position:relative;padding-bottom:.35rem}
.section h2::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:72px;background:linear-gradient(90deg,var(--accent),transparent 85%);transform-origin:left center;transform:scaleX(0);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.section h2.reveal-visible::after{transform:scaleX(1)}
.grid{display:grid;gap:1rem}
@media (min-width:768px){.grid.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.grid.cards{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:.8rem;padding:1rem;transition:transform .25s ease,border-color .25s ease, box-shadow .25s ease}
.card:hover,.card:focus-within{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.card h3{margin:.2rem 0 .5rem;font-size:1.1rem}
.card p{color:var(--muted);margin:.2rem 0 .6rem}
.card ul{margin:.2rem 0 0 1rem}
.features{grid-template-columns:1fr}
@media (min-width:768px){.features{grid-template-columns:repeat(2,1fr)}}
.timeline{display:grid;gap:1rem}
.phase{background:var(--surface);border:1px solid var(--border);border-radius:.8rem;padding:1rem}
.about .mission{color:var(--muted);font-weight:600}
.lead-form{display:grid;gap:1rem;max-width:720px}
.form-row{display:grid;gap:.4rem}
label{font-weight:600}
input,textarea,select{background:#0f1014;border:1px solid var(--border);color:var(--fg);padding:.7rem .8rem;border-radius:.6rem;outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(42,110,242,.15)}
fieldset{border:1px solid var(--border);border-radius:.6rem;padding:1rem}
legend{padding:0 .4rem}
.choices{display:flex;gap:1rem;flex-wrap:wrap}
.choice{display:flex;align-items:center;gap:.4rem}
.form-actions{display:flex;gap:.75rem;align-items:center}
.submit-wrap{position:relative;display:inline-block;vertical-align:middle}
.submit-spinner{width:14px;height:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(233,234,236,.8);border-top-color:transparent;border-right-color:transparent;animation:spin .9s linear infinite;pointer-events:none;z-index:2}
.btn:disabled,.btn[disabled]{opacity:.8;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.btn.loading-text-hidden{color:transparent;text-shadow:none}
.form-feedback{min-height:1.25rem;color:var(--muted)}
.form-feedback.success{color:var(--success)}
.form-feedback.error{color:var(--danger)}
.site-footer{border-top:1px solid var(--border);padding:2rem 0;background:#0b0c10}
.footer-inner{display:grid;gap:1rem;grid-template-columns:1fr}
.footer-brand .footer-name{font-weight:700}
.footer-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1rem;flex-wrap:wrap}
.footer-nav a{color:var(--fg);text-decoration:none}
@media (min-width:768px){.footer-inner{grid-template-columns:1fr auto 1fr;align-items:center}}
@media (min-width:768px){.hero h1{font-size:2.6rem}}
@media (min-width:1024px){.hero h1{font-size:3rem}}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1);will-change:transform,opacity}
.reveal-visible{opacity:1;transform:none}
.reveal:nth-child(1){transition-delay:.02s}
.reveal:nth-child(2){transition-delay:.08s}
.reveal:nth-child(3){transition-delay:.12s}
.reveal:nth-child(4){transition-delay:.16s}
.reveal:nth-child(5){transition-delay:.2s}

@media (prefers-reduced-motion: reduce){
  *{transition:none!important;animation:none!important}
  .reveal{opacity:1!important;transform:none!important}
  .hero::before{display:none!important}
}

.btn.primary.pressing{transform:translateY(0) scale(.98);box-shadow:0 2px 8px rgba(42,110,242,.25)}

.alert-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease}
.alert-backdrop.show{opacity:1;pointer-events:auto}
.alert-modal{background:var(--surface);border:1px solid var(--border);border-radius:1rem;max-width:420px;width:92%;padding:1.25rem;transform:translateY(8px) scale(.98);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.alert-backdrop.show .alert-modal{transform:translateY(0) scale(1)}
.alert-content{text-align:center}
.alert-icon{width:56px;height:56px;margin:0 auto .75rem;border-radius:50%;display:grid;place-items:center;background:rgba(24,169,87,.12);color:var(--success);font-weight:800;font-size:28px}
