/* ═══════════════════════════════════════════════════════════════
   PROJECT ATHERION — style.css
   © 2026 Project Atherion. All rights reserved.
   ═══════════════════════════════════════════════════════════════ */

:root {
  --void:    #020408;
  --deep:    #050d18;
  --surface: #091422;
  --panel:   #0d1e30;
  --border:  rgba(100, 200, 255, 0.08);
  --glow:    #00c8ff;
  --glow2:   #4af0b8;
  --glow3:   #7c5cfc;
  --text:    #e8f4ff;
  --muted:   rgba(180, 210, 240, 0.55);
  --accent:  #ff6b35;
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--void);
  color: var(--text);
  font-family: 'Outfit', sans-serif;
  overflow-x: hidden;
  cursor: none;
}

/* ── Custom cursor ─────────────────────────────────────────────── */
#cursor { position: fixed; top: 0; left: 0; z-index: 9999; pointer-events: none; }
.cur-dot {
  width: 6px; height: 6px; background: var(--glow);
  border-radius: 50%; position: absolute;
  transform: translate(-50%, -50%); transition: transform 0.1s;
}
.cur-ring {
  width: 36px; height: 36px;
  border: 1px solid rgba(0,200,255,0.5);
  border-radius: 50%; position: absolute;
  transform: translate(-50%,-50%);
  transition: all 0.18s cubic-bezier(0.25,0.46,0.45,0.94);
}

/* ── Canvas layers ─────────────────────────────────────────────── */
#starfield   { position: fixed; inset: 0; z-index: 0; pointer-events: none; }
#planet-canvas { position: absolute; inset: 0; z-index: -1; pointer-events: none; }

/* ── Noise overlay ─────────────────────────────────────────────── */
.noise {
  position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 256px;
}

/* ── Nav ───────────────────────────────────────────────────────── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 60px;
  background: linear-gradient(to bottom, rgba(2,4,8,0.97), transparent);
  backdrop-filter: blur(4px);
}
.nav-logo-img {
  height: 82px; width: auto;
  display: block;
  border-radius: 12px;
}
.nav-links { display: flex; gap: 40px; list-style: none; }
.nav-links a {
  font-family: 'Space Mono', monospace;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--muted); text-decoration: none; transition: color 0.3s;
}
.nav-links a:hover { color: var(--glow); }
.nav-cta {
  font-family: 'Space Mono', monospace;
  font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--void); background: var(--glow);
  padding: 12px 26px; border: none; cursor: none; text-decoration: none;
  transition: all 0.3s;
  clip-path: polygon(8px 0%,100% 0%,calc(100% - 8px) 100%,0% 100%);
}
.nav-cta:hover { background: var(--glow2); }

/* ── Buttons ───────────────────────────────────────────────────── */
.btn-primary {
  font-family: 'Space Mono', monospace;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--void); background: var(--glow);
  padding: 16px 36px; text-decoration: none;
  clip-path: polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);
  transition: all 0.3s; cursor: none;
}
.btn-primary:hover { background: var(--glow2); transform: translateY(-2px); }
.btn-outline {
  font-family: 'Space Mono', monospace;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--glow); border: 1px solid rgba(0,200,255,0.4);
  padding: 16px 36px; text-decoration: none;
  transition: all 0.3s; cursor: none;
  clip-path: polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);
}
.btn-outline:hover { border-color: var(--glow); background: rgba(0,200,255,0.07); }

/* ── Section base ──────────────────────────────────────────────── */
section { position: relative; z-index: 1; }
.section-tag {
  font-family: 'Space Mono', monospace;
  font-size: 10px; letter-spacing: 0.25em; text-transform: uppercase;
  color: var(--glow); margin-bottom: 16px;
  display: flex; align-items: center; gap: 12px;
}
.section-tag::before { content:''; display:block; width:32px; height:1px; background:var(--glow); }
.section-title {
  font-family: 'Syne', sans-serif;
  font-size: clamp(36px, 5vw, 64px); font-weight: 800; line-height: 1.05;
  letter-spacing: -0.02em; margin-bottom: 20px;
}
.section-body { font-size: 17px; font-weight: 300; color: var(--muted); line-height: 1.75; max-width: 580px; }
.divider { width:100%; height:1px; background: linear-gradient(to right, transparent, var(--border), transparent); }

/* ── Hero ──────────────────────────────────────────────────────── */
#hero {
  position: relative; z-index: 1; min-height: 100vh;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 130px 40px 160px;
}
.hero-badge {
  font-family: 'Space Mono', monospace;
  font-size: 10px; letter-spacing: 0.25em; text-transform: uppercase;
  color: var(--glow2); border: 1px solid rgba(74,240,184,0.3);
  padding: 7px 18px; margin-bottom: 36px; display: inline-block;
  animation: fadeUp 1s ease both;
}
.hero-title {
  font-family: 'Syne', sans-serif;
  font-size: clamp(56px,9vw,130px); font-weight: 800; line-height: 0.92;
  letter-spacing: -0.03em; margin-bottom: 32px;
  animation: fadeUp 1s 0.15s ease both;
}
.hero-title .line2 {
  display: block;
  background: linear-gradient(135deg, var(--glow) 0%, var(--glow2) 50%, var(--glow3) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.hero-sub {
  font-size: 18px; font-weight: 300; color: var(--muted);
  max-width: 600px; line-height: 1.7; margin: 0 auto 52px;
  animation: fadeUp 1s 0.3s ease both;
}
.hero-actions { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; animation: fadeUp 1s 0.45s ease both; }
.hero-scroll {
  position: absolute; bottom: 52px; left: 50%; transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  animation: fadeUp 1s 0.7s ease both;
  white-space: nowrap;
}
.hero-scroll span { font-family:'Space Mono',monospace; font-size:9px; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); }
.scroll-line { width:1px; height:50px; background: linear-gradient(to bottom, var(--glow), transparent); animation: scrollPulse 2s ease-in-out infinite; }

/* ── HUD ───────────────────────────────────────────────────────── */
.hud {
  position: absolute; bottom: 140px; left: 60px;
  font-family: 'Space Mono', monospace; font-size: 10px; letter-spacing: 0.1em;
  color: rgba(0,200,255,0.4); line-height: 1.9;
  animation: fadeUp 1s 0.8s ease both;
}
.hud span { color: rgba(0,200,255,0.7); }
.hud-right { position: absolute; bottom: 140px; right: 60px; text-align: right; }

/* ── Glitch ────────────────────────────────────────────────────── */
.glitch { position: relative; }
.glitch::before, .glitch::after { content: attr(data-text); position: absolute; left:0; top:0; width:100%; height:100%; font-family:inherit; font-size:inherit; font-weight:inherit; line-height:inherit; }
.glitch::before {
  color: var(--glow); clip-path: polygon(0 30%,100% 30%,100% 50%,0 50%);
  animation: glitch1 6s infinite; opacity: 0;
  background: linear-gradient(135deg, var(--glow) 0%, var(--glow2) 50%, var(--glow3) 100%);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}

/* ── About ─────────────────────────────────────────────────────── */
#about {
  padding: 140px 60px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 100px;
  align-items: center; max-width: 1400px; margin: 0 auto;
}
.about-visual { position: relative; }
.about-planet { width:100%; aspect-ratio:1; max-width:500px; position:relative; }
.orbit-ring {
  position: absolute; inset: -20%; border-radius: 50%;
  border: 1px solid rgba(0,200,255,0.12);
  animation: orbitSpin 20s linear infinite;
}
.orbit-ring:nth-child(2) { inset:-8%; border-color:rgba(74,240,184,0.08); animation-duration:35s; animation-direction:reverse; }
.orbit-dot { position:absolute; width:6px; height:6px; background:var(--glow); border-radius:50%; top:50%; right:-3px; margin-top:-3px; box-shadow:0 0 12px var(--glow); }
.about-stats { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:60px; border:1px solid var(--border); }
.stat { padding:28px 24px; background:var(--panel); border-right:1px solid var(--border); border-bottom:1px solid var(--border); }
.stat-val { font-family:'Syne',sans-serif; font-size:36px; font-weight:800; color:var(--glow); line-height:1; }
.stat-lbl { font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.15em; text-transform:uppercase; color:var(--muted); margin-top:6px; }

/* ── Platform modules ──────────────────────────────────────────── */
#platform {
  padding: 140px 60px;
  background: linear-gradient(180deg, transparent, rgba(9,20,34,0.8), transparent);
}
.platform-inner { max-width: 1400px; margin: 0 auto; }
.platform-header { margin-bottom: 80px; }
.modules-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--border); }
.module {
  padding: 48px 40px; background: var(--panel);
  border-right: 1px solid var(--border); border-bottom: 1px solid var(--border);
  position: relative; overflow: hidden; transition: background 0.4s;
}
.module::before {
  content:''; position:absolute; inset:0;
  background: linear-gradient(135deg, var(--glow) 0%, transparent 60%);
  opacity:0; transition: opacity 0.4s;
}
.module:hover { background: var(--surface); }
.module:hover::before { opacity: 0.03; }
.module:hover .mod-anim-wrap { opacity: 1; }
.module-num { font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.2em; color:var(--glow); margin-bottom:20px; }
.module-title { font-family:'Syne',sans-serif; font-size:20px; font-weight:700; margin-bottom:14px; line-height:1.2; }
.module-desc { font-size:14px; color:var(--muted); line-height:1.7; }
.module-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:20px; }
.tag { font-family:'Space Mono',monospace; font-size:9px; letter-spacing:0.1em; text-transform:uppercase; color:var(--glow2); border:1px solid rgba(74,240,184,0.2); padding:3px 8px; }

/* Module animated icons */
.mod-anim-wrap {
  width: 56px; height: 56px; margin-bottom: 24px;
  position: relative; opacity: 0.75; transition: opacity 0.4s;
}
.mod-svg { width: 56px; height: 56px; overflow: visible; }

/* individual module SVG animations */
.mod-atm-band  { animation: modAtmBand 3s ease-in-out infinite; }
.mod-atm-band2 { animation: modAtmBand 3s 0.6s ease-in-out infinite; }
.mod-atm-band3 { animation: modAtmBand 3s 1.2s ease-in-out infinite; }
.mod-planet-rot { transform-origin: 28px 28px; animation: orbitSpin 12s linear infinite; }
.mod-terrain-hatch { animation: modTerrainFade 2.5s ease-in-out infinite; }
.mod-terrain-h2 { animation: modTerrainFade 2.5s 0.5s ease-in-out infinite; }
.mod-terrain-h3 { animation: modTerrainFade 2.5s 1s ease-in-out infinite; }
.mod-struct-blink { animation: modBlink 1.8s ease-in-out infinite; }
.mod-struct-b2 { animation: modBlink 1.8s 0.4s ease-in-out infinite; }
.mod-struct-b3 { animation: modBlink 1.8s 0.8s ease-in-out infinite; }
.mod-eco-pulse { animation: modEcoPulse 2s ease-in-out infinite; }
.mod-eco-ring  { animation: modEcoRing 2.5s ease-in-out infinite; }
.mod-globe-spin { transform-origin: 28px 28px; animation: orbitSpin 8s linear infinite; }
.mod-globe-lat { animation: modGlobeLat 3s ease-in-out infinite; }
.mod-data-scan { animation: modDataScan 2.5s ease-in-out infinite; }
.mod-data-dot  { animation: modBlink 1s ease-in-out infinite; }
.mod-data-dot2 { animation: modBlink 1s 0.3s ease-in-out infinite; }
.mod-data-dot3 { animation: modBlink 1s 0.6s ease-in-out infinite; }

@keyframes modAtmBand {
  0%,100% { transform: translateX(0); opacity: 0.5; }
  50%      { transform: translateX(4px); opacity: 1; }
}
@keyframes modTerrainFade {
  0%,100% { opacity: 0.2; }
  50%      { opacity: 0.8; }
}
@keyframes modBlink {
  0%,100% { opacity: 1; }
  50%      { opacity: 0.2; }
}
@keyframes modEcoPulse {
  0%,100% { transform: scale(1); opacity: 0.6; }
  50%      { transform: scale(1.15); opacity: 1; }
}
@keyframes modEcoRing {
  0%,100% { transform: scale(1); opacity: 0.3; }
  50%      { transform: scale(1.3); opacity: 0; }
}
@keyframes modGlobeLat {
  0%,100% { transform: scaleX(1); }
  50%      { transform: scaleX(0.6); }
}
@keyframes modDataScan {
  0%,100% { transform: translateY(0); opacity: 0.1; }
  50%      { transform: translateY(28px); opacity: 0.4; }
}

/* ── Methodology pipeline ──────────────────────────────────────── */
#how { padding: 140px 60px; max-width: 1400px; margin: 0 auto; }
.how-header { margin-bottom: 80px; }
.pipeline { position: relative; }
.pipeline-line { position:absolute; left:32px; top:0; bottom:0; width:1px; background: linear-gradient(to bottom, var(--glow), var(--glow3), transparent); }
.pipeline-steps { display:flex; flex-direction:column; }
.step { display:grid; grid-template-columns:64px 1fr; gap:40px; padding:48px 0; border-bottom:1px solid var(--border); align-items:start; }
.step-num-wrap { display:flex; flex-direction:column; align-items:center; padding-top:4px; }
.step-num { width:40px; height:40px; border:1px solid var(--glow); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Space Mono',monospace; font-size:12px; color:var(--glow); background:var(--void); position:relative; z-index:1; flex-shrink:0; }
.step-phase { font-family:'Space Mono',monospace; font-size:9px; letter-spacing:0.2em; text-transform:uppercase; color:var(--glow3); margin-bottom:8px; }
.step-title { font-family:'Syne',sans-serif; font-size:24px; font-weight:700; margin-bottom:12px; }
.step-desc { font-size:15px; color:var(--muted); line-height:1.75; max-width:680px; }
.step-tech { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.tech-pill { font-family:'Space Mono',monospace; font-size:10px; color:var(--muted); background:rgba(255,255,255,0.04); border:1px solid var(--border); padding:4px 12px; }

/* ── Roadmap ───────────────────────────────────────────────────── */
#roadmap { padding:140px 60px; background: linear-gradient(180deg, transparent, rgba(9,20,34,0.6), transparent); }
.roadmap-inner { max-width:1400px; margin:0 auto; }
.roadmap-header { margin-bottom:80px; }
.phases { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border:1px solid var(--border); }
.phase { padding:48px 36px; background:var(--panel); border-right:1px solid var(--border); position:relative; overflow:hidden; }
.phase-active { background: linear-gradient(160deg, rgba(0,200,255,0.05), var(--panel)); }
.phase-bar { position:absolute; top:0; left:0; right:0; height:2px; }
.phase-bar-1 { background:var(--glow); } .phase-bar-2 { background:var(--glow2); }
.phase-bar-3 { background:var(--glow3); } .phase-bar-4 { background:var(--accent); }
.phase-label { font-family:'Space Mono',monospace; font-size:9px; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); margin-bottom:12px; }
.phase-num { font-family:'Syne',sans-serif; font-size:52px; font-weight:800; color:rgba(255,255,255,0.06); line-height:1; margin-bottom:16px; }
.phase-title { font-family:'Syne',sans-serif; font-size:18px; font-weight:700; margin-bottom:16px; }
.phase-duration { font-family:'Space Mono',monospace; font-size:10px; color:var(--glow2); margin-bottom:24px; }
.phase-items { list-style:none; display:flex; flex-direction:column; gap:10px; }
.phase-items li { font-size:13px; color:var(--muted); display:flex; gap:10px; align-items:flex-start; }
.phase-items li::before { content:'→'; color:var(--glow); flex-shrink:0; font-size:12px; margin-top:1px; }

/* ── Team ──────────────────────────────────────────────────────── */
#team { padding:140px 60px; max-width:1400px; margin:0 auto; }
.team-header { margin-bottom:80px; }
.founders { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-bottom:80px; }
.founder-card {
  background: var(--panel); border: 1px solid var(--border);
  padding: 40px 36px; position: relative; overflow: hidden;
  transition: border-color 0.3s;
}
.founder-card:hover { border-color: rgba(0,200,255,0.3); }

/* Photo avatar */
.founder-avatar {
  width: 72px; height: 72px; border-radius: 50%; margin-bottom: 24px;
  overflow: hidden; border: 2px solid rgba(0,200,255,0.3);
  flex-shrink: 0;
}
.founder-avatar img { width:100%; height:100%; object-fit:cover; object-position: center top; display:block; }
/* Fallback initials avatar (for Ryan) */
.founder-avatar-initials {
  width: 72px; height: 72px; border-radius: 50%; margin-bottom: 24px;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Syne', sans-serif; font-size: 22px; font-weight: 800;
  color: var(--void); border: 2px solid rgba(0,200,255,0.3);
  flex-shrink: 0;
}

.founder-name { font-family:'Syne',sans-serif; font-size:20px; font-weight:700; margin-bottom:4px; }
.founder-role { font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.15em; text-transform:uppercase; color:var(--glow); margin-bottom:16px; }
.founder-bio { font-size:14px; color:var(--muted); line-height:1.7; }

/* ── Open roles ────────────────────────────────────────────────── */
.hr-fancy { display:flex; align-items:center; gap:20px; margin:80px 0; }
.hr-fancy-line { flex:1; height:1px; background: linear-gradient(to right, transparent, var(--border)); }
.hr-fancy-line:last-child { background: linear-gradient(to left, transparent, var(--border)); }
.hr-fancy-sym { font-family:'Space Mono',monospace; font-size:10px; color:var(--muted); letter-spacing:0.2em; }

.roles-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid var(--border); }
.role { padding:32px 28px; background:var(--panel); border-right:1px solid var(--border); border-bottom:1px solid var(--border); transition:background 0.3s; cursor:none; }
.role:hover { background:var(--surface); }
.role-anim { width:48px; height:48px; margin-bottom:18px; position:relative; }
.role-svg { width:48px; height:48px; overflow:visible; }
.role-title { font-family:'Syne',sans-serif; font-size:16px; font-weight:700; margin-bottom:6px; }
.role-desc { font-size:13px; color:var(--muted); line-height:1.6; }

.role-orbit      { transform-origin:24px 24px; animation:orbitSpin 4s linear infinite; }
.role-spin-node  { transform-origin:24px 6px;  animation:orbitSpin 6s linear infinite; }
.role-dashed-spin{ transform-origin:24px 24px; animation:orbitSpin 8s linear infinite reverse; }
.role-pulse-dot  { animation:rolePulse 2s ease-in-out infinite; }
.role-blink      { animation:rolePulse 1.2s ease-in-out infinite; }
.role-scan       { animation:roleScan 3s ease-in-out infinite; }
.role-type-1 { animation:roleTypeIn 2.5s ease-in-out infinite; }
.role-type-2 { animation:roleTypeIn 2.5s 0.3s ease-in-out infinite; }
.role-type-3 { animation:roleTypeIn 2.5s 0.6s ease-in-out infinite; }
.role-write-1 { animation:roleTypeIn 3s ease-in-out infinite; }
.role-write-2 { animation:roleTypeIn 3s 0.4s ease-in-out infinite; }
.role-write-3 { animation:roleTypeIn 3s 0.8s ease-in-out infinite; }
.role-write-4 { animation:roleTypeIn 3s 1.2s ease-in-out infinite; }

/* ── Apply ─────────────────────────────────────────────────────── */
#apply { padding:140px 60px; text-align:center; position:relative; overflow:hidden; }
.apply-inner { position:relative; z-index:1; max-width:700px; margin:0 auto; }
.apply-glow { position:absolute; width:600px; height:600px; background:radial-gradient(circle,rgba(0,200,255,0.06) 0%,transparent 70%); top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; }
.apply-deadline { font-family:'Space Mono',monospace; font-size:14px; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent); margin-top:28px; font-weight:700; }
.apply-contact { margin-top:60px; border-top:1px solid var(--border); padding-top:48px; }
.apply-contact-label { font-family:'Syne',sans-serif; font-size:32px; font-weight:800; color:var(--text); margin-bottom:10px; }
.apply-contact-body { font-family:'Outfit',sans-serif; font-size:17px; color:var(--muted); margin-bottom:24px; }
.apply-contact-names { display:flex; align-items:center; justify-content:center; gap:20px; flex-wrap:wrap; }
.contact-name-link { font-family:'Syne',sans-serif; font-size:20px; font-weight:700; color:var(--glow); text-decoration:none; border-bottom:1px solid rgba(0,200,255,0.3); padding-bottom:3px; transition:color 0.3s,border-color 0.3s; }
.contact-name-link:hover { color:var(--glow2); border-color:var(--glow2); }
.contact-sep { font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); }

/* ── Footer ────────────────────────────────────────────────────── */
footer { border-top:1px solid var(--border); padding:60px; position:relative; z-index:1; }
.footer-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:40px; }
.footer-bottom { border-top:1px solid var(--border); padding-top:28px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.08em; color:rgba(180,210,240,0.3); }
.footer-logo { font-family:'Syne',sans-serif; font-size:16px; font-weight:800; letter-spacing:0.15em; text-transform:uppercase; }
.footer-logo span { color:var(--glow); }
.footer-info { font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.1em; color:var(--muted); text-align:center; }
.footer-contact { font-family:'Space Mono',monospace; font-size:11px; color:var(--muted); text-align:right; }
.footer-contact a { color:var(--glow); text-decoration:none; }

/* ── Scroll reveal ─────────────────────────────────────────────── */
.reveal { opacity:0; transform:translateY(40px); transition:opacity 0.8s ease,transform 0.8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.reveal-delay-1 { transition-delay:0.1s; } .reveal-delay-2 { transition-delay:0.2s; } .reveal-delay-3 { transition-delay:0.3s; }

/* ── Keyframes ─────────────────────────────────────────────────── */
@keyframes fadeUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
@keyframes orbitSpin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
@keyframes scrollPulse { 0%,100%{opacity:0.4;transform:scaleY(1)} 50%{opacity:1;transform:scaleY(1.2)} }
@keyframes glitch1 { 0%,90%,100%{opacity:0;transform:translateX(0)} 92%{opacity:1;transform:translateX(-3px)} 94%{opacity:1;transform:translateX(3px)} 96%{opacity:0} }
@keyframes rolePulse { 0%,100%{opacity:1} 50%{opacity:0.3} }
@keyframes roleScan { 0%,100%{transform:translateY(0);opacity:0.08} 50%{transform:translateY(24px);opacity:0.2} }
@keyframes roleTypeIn { 0%,100%{opacity:0.15;stroke-dashoffset:20} 50%{opacity:1;stroke-dashoffset:0} }

/* ── Responsive ────────────────────────────────────────────────── */
@media (max-width:1100px) {
  #about { grid-template-columns:1fr; gap:60px; }
  .modules-grid { grid-template-columns:1fr 1fr; }
  .phases { grid-template-columns:1fr 1fr; }
  .founders { grid-template-columns:1fr 1fr; }
  .roles-grid { grid-template-columns:1fr 1fr; }
  nav { padding:14px 30px; }
  #hero,#about,#platform,#how,#roadmap,#team,#apply { padding-left:30px; padding-right:30px; }
  footer { padding:40px 30px; }
  .footer-top { flex-direction:column; gap:24px; text-align:center; }
  .footer-contact { text-align:center; }
  .footer-bottom { flex-direction:column; align-items:center; text-align:center; }
  .hud,.hud-right { display:none; }
}
@media (max-width:700px) {
  .modules-grid { grid-template-columns:1fr; }
  .phases { grid-template-columns:1fr; }
  .roles-grid { grid-template-columns:1fr; }
  .founders { grid-template-columns:1fr; }
  .nav-links { display:none; }
  .hero-title { font-size:48px; }
}
