/* AVANT GARDE INSTITUTE — SpaceX cinematic + Linear precision, electric purple deep-space theme */
:root{
  --bg:#050208; --bg2:#0b0616; --panel:#0f1011; --surface:rgba(255,255,255,.03);
  --border:rgba(255,255,255,.08); --border-sub:rgba(255,255,255,.05);
  --text:#f0f0fa; --body:#d0d6e0; --muted:#8a8f98; --faint:#62666d;
  --brand:#7c3aed; --accent:#a855f7; --glow:#c084fc; --cta:#5e6ad2; --cta-h:#828fff;
  --radius:8px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--body);font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;font-feature-settings:"cv01","ss03";font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(900px 500px at 15% -5%,rgba(124,58,237,.28),transparent 60%),radial-gradient(800px 500px at 85% 10%,rgba(168,85,247,.18),transparent 60%),radial-gradient(1200px 800px at 50% 110%,rgba(76,29,149,.35),transparent 60%),linear-gradient(180deg,#050208,#0b0616 60%,#050208)}
body::after{content:"";position:fixed;inset:0;z-index:-1;opacity:.5;background-image:radial-gradient(1px 1px at 12% 22%,#fff,transparent),radial-gradient(1px 1px at 68% 8%,#fff,transparent),radial-gradient(1.5px 1.5px at 82% 34%,#c084fc,transparent),radial-gradient(1px 1px at 34% 64%,#fff,transparent),radial-gradient(1px 1px at 55% 82%,#fff,transparent),radial-gradient(1.5px 1.5px at 91% 71%,#a855f7,transparent),radial-gradient(1px 1px at 5% 78%,#fff,transparent),radial-gradient(1px 1px at 44% 12%,#fff,transparent)}
.mono{font-family:'JetBrains Mono',ui-monospace,Menlo,Consolas,monospace}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
/* LOADER */
#loader{position:fixed;inset:0;z-index:200;background:#050208;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;transition:opacity .45s ease,visibility .45s}
#loader.hide{opacity:0;visibility:hidden;pointer-events:none}
#loader video{width:min(420px,78vw);aspect-ratio:1280/1194;object-fit:cover;border-radius:16px;border:1px solid rgba(168,85,247,.35);box-shadow:0 0 60px rgba(124,58,237,.5),0 0 140px rgba(124,58,237,.25)}
#loader .l-txt{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:3px;color:var(--glow);text-transform:uppercase;animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.4}}
/* NAV */
header{position:fixed;top:0;left:0;right:0;z-index:100;backdrop-filter:blur(14px);background:rgba(5,2,8,.72);border-bottom:1px solid var(--border-sub)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:2.5px;font-size:13px;color:var(--text);text-transform:uppercase}
.brand .mark{width:32px;height:32px;border-radius:8px;background:conic-gradient(from 200deg,#7c3aed,#a855f7,#312e81,#7c3aed);display:grid;place-items:center;font-size:15px;font-weight:700;color:#fff;box-shadow:0 0 18px rgba(168,85,247,.7)}
.brand small{display:block;font-size:9px;letter-spacing:3px;color:var(--muted);font-weight:400}
nav.links{display:flex;gap:28px}
nav.links a{font-size:13px;font-weight:500;letter-spacing:1.17px;text-transform:uppercase;color:var(--body);padding:6px 2px;border-bottom:2px solid transparent;transition:.2s}
nav.links a:hover,nav.links a.active{color:#fff;border-color:var(--accent)}
.burger{display:none;background:none;border:1px solid var(--border);color:#fff;border-radius:6px;font-size:18px;padding:4px 10px;cursor:pointer}
/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden}
.hero video.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.1)}
.hero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,2,8,.55) 0%,rgba(5,2,8,.25) 35%,rgba(5,2,8,.88) 88%,var(--bg) 100%),radial-gradient(700px 380px at 70% 40%,rgba(124,58,237,.25),transparent 65%)}
.hero-inner{position:relative;z-index:2;width:100%;padding:140px 0 90px}
.kicker{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--glow);border:1px solid rgba(168,85,247,.4);background:rgba(124,58,237,.12);padding:7px 14px;border-radius:9999px;margin-bottom:22px}
.kicker .dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 10px #4ade80;animation:pulse 1.6s infinite}
h1.display{font-size:clamp(40px,7vw,76px);font-weight:700;line-height:1.0;letter-spacing:-1.5px;color:var(--text);text-transform:uppercase}
h1.display .grad{background:linear-gradient(92deg,#c084fc,#a855f7 40%,#818cf8);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 42px rgba(168,85,247,.35)}
.hero p.lede{max-width:640px;margin-top:20px;font-size:18px;color:var(--body)}
.cta-row{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 28px;border-radius:6px;font-size:13px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;transition:.2s;cursor:pointer;border:1px solid transparent}
.btn-primary{background:linear-gradient(180deg,#7c5cff,#5e6ad2);color:#fff;box-shadow:0 0 24px rgba(124,58,237,.55)}
.btn-primary:hover{filter:brightness(1.15);box-shadow:0 0 34px rgba(168,85,247,.75)}
.btn-ghost{background:rgba(240,240,250,.08);color:var(--text);border:1px solid rgba(240,240,250,.35);border-radius:32px}
.btn-ghost:hover{background:rgba(240,240,250,.16)}
.hero-meta{display:flex;gap:26px;margin-top:44px;flex-wrap:wrap;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}
.hero-meta b{color:var(--glow)}
/* SECTIONS */
section.block{padding:88px 0}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
h2.sec{font-size:clamp(30px,4.5vw,48px);font-weight:600;letter-spacing:-1.05px;line-height:1.05;color:var(--text);text-transform:uppercase}
p.sub{max-width:680px;margin-top:14px;color:var(--muted);font-size:17px}
.grid{display:grid;gap:18px;margin-top:40px}
.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px;transition:.25s;position:relative;overflow:hidden}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(168,85,247,.7),transparent)}
.card:hover{background:rgba(255,255,255,.05);border-color:rgba(168,85,247,.45);transform:translateY(-3px);box-shadow:0 18px 50px rgba(0,0,0,.5),0 0 30px rgba(124,58,237,.18)}
.card h3{font-size:20px;font-weight:600;letter-spacing:-.24px;color:var(--text);margin:14px 0 10px}
.card p{font-size:15px;color:var(--muted)}
.card .icon{font-size:26px;filter:drop-shadow(0 0 10px rgba(168,85,247,.8))}
.tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--glow);border:1px solid #23252a;border-radius:9999px;padding:4px 10px;margin-bottom:6px}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.stat{background:var(--surface);border:1px solid var(--border-sub);border-radius:8px;padding:22px;text-align:center}
.stat b{display:block;font-size:30px;letter-spacing:-.5px;color:var(--text)}
.stat span{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-family:'JetBrains Mono',monospace}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-top:40px}
.code{background:#0a0714;border:1px solid var(--border);border-radius:12px;padding:22px;font-family:'JetBrains Mono',monospace;font-size:13px;line-height:1.7;color:#c4b5fd;overflow-x:auto;box-shadow:inset 0 0 40px rgba(124,58,237,.08)}
.code .c{color:#5b5f6b}.code .k{color:#a855f7}.code .s{color:#7dd3fc}.code .f{color:#f0f0fa}
/* banner CTA */
.banner{margin:20px 0 0;border:1px solid rgba(168,85,247,.35);border-radius:16px;padding:56px 40px;text-align:center;background:radial-gradient(600px 220px at 50% 0%,rgba(124,58,237,.35),transparent 70%),rgba(255,255,255,.02)}
.banner h2{font-size:clamp(26px,4vw,40px);color:var(--text);letter-spacing:-.8px;text-transform:uppercase}
/* page hero (non-home) */
.page-hero{position:relative;padding:170px 0 70px;overflow:hidden;border-bottom:1px solid var(--border-sub)}
.page-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;filter:saturate(1.2)}
.page-hero .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,2,8,.6),rgba(5,2,8,.92))}
.page-hero .wrap{position:relative;z-index:2}
/* forms */
form.contact{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px;display:grid;gap:16px;max-width:640px}
label{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-weight:600}
input,textarea,select{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:13px 15px;font-size:15px;font-family:inherit;width:100%}
input:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(168,85,247,.2)}
textarea{min-height:140px;resize:vertical}
/* footer */
footer{border-top:1px solid var(--border-sub);padding:48px 0 32px;background:rgba(0,0,0,.5);margin-top:40px}
.foot{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.foot h4{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--faint);margin-bottom:12px;font-family:'JetBrains Mono',monospace}
.foot a{display:block;font-size:14px;color:var(--muted);margin:6px 0}
.foot a:hover{color:#fff}
.copy{margin-top:32px;padding-top:20px;border-top:1px solid var(--border-sub);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--faint);font-family:'JetBrains Mono',monospace}
/* reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.rv.on{opacity:1;transform:none}
/* responsive */
@media(max-width:900px){.g3{grid-template-columns:1fr 1fr}.stat-row{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}}
@media(max-width:700px){
 nav.links{position:fixed;top:64px;left:0;right:0;background:rgba(5,2,8,.97);flex-direction:column;padding:20px 24px;gap:16px;display:none;border-bottom:1px solid var(--border)}
 nav.links.open{display:flex}.burger{display:block}
 .g3,.g2{grid-template-columns:1fr}section.block{padding:60px 0}.stat-row{grid-template-columns:1fr 1fr}
}
