@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&family=Rajdhani:wght@300;400;500;600;700&display=swap');

/* ============================================================
   VARIABLES & RESET
   ============================================================ */
:root {
  --bg:          #07070d;
  --bg2:         #0d0d1a;
  --card:        rgba(255,255,255,0.04);
  --card-hover:  rgba(255,255,255,0.07);
  --border:      rgba(255,255,255,0.08);
  --purple:      #8b2fc9;
  --purple-l:    #b060f0;
  --blue:        #2558c8;
  --cyan:        #00d4ff;
  --gold:        #ffb800;
  --gold-l:      #ffd060;
  --text:        #e8e8f0;
  --muted:       #7878a0;
  --grad:        linear-gradient(135deg,#8b2fc9,#2558c8);
  --grad-gold:   linear-gradient(135deg,#ffb800,#ff7a00);
  --grad-cyan:   linear-gradient(135deg,#00d4ff,#2558c8);
  --glow-p:      0 0 40px rgba(139,47,201,.45);
  --glow-c:      0 0 40px rgba(0,212,255,.40);
  --glow-g:      0 0 40px rgba(255,184,0,.40);
  --radius:      16px;
  --radius-sm:   8px;
  --transition:  .3s ease;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

html { scroll-behavior:smooth; }

body {
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.7;
  overflow-x:hidden;
  min-height:100vh;
}

/* Scrollbar */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:#0d0d1a; }
::-webkit-scrollbar-thumb { background:var(--purple); border-radius:3px; }

/* ============================================================
   ANIMATED BACKGROUND GRID
   ============================================================ */
body::before {
  content:'';
  position:fixed; inset:0;
  background:
    linear-gradient(rgba(139,47,201,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(139,47,201,.03) 1px, transparent 1px);
  background-size:60px 60px;
  pointer-events:none;
  z-index:0;
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1,h2,h3,h4,h5 { font-family:'Orbitron',sans-serif; font-weight:700; line-height:1.2; }
h1 { font-size:clamp(2rem,5vw,3.8rem); }
h2 { font-size:clamp(1.5rem,3.5vw,2.6rem); }
h3 { font-size:clamp(1.1rem,2.5vw,1.5rem); }
h4 { font-size:1.1rem; }

p { color:var(--muted); line-height:1.8; }
a { color:inherit; text-decoration:none; }

.section-label {
  font-family:'Rajdhani',sans-serif;
  font-size:.85rem; font-weight:600;
  letter-spacing:4px; text-transform:uppercase;
  color:var(--cyan); margin-bottom:12px;
  display:block;
}

.gradient-text {
  background:var(--grad);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

.gold-text {
  background:var(--grad-gold);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

/* ============================================================
   NAVIGATION
   ============================================================ */
.nav {
  position:fixed; top:0; left:0; right:0;
  z-index:1000;
  padding:0 40px;
  height:72px;
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(7,7,13,.85);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  transition:var(--transition);
}

.nav-logo {
  display:flex; align-items:center; gap:12px;
  font-family:'Orbitron',sans-serif; font-size:1.2rem; font-weight:700;
}

.nav-logo-icon {
  width:40px; height:40px;
  background:var(--grad);
  border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem;
  box-shadow:var(--glow-p);
}

.nav-logo span { color:var(--cyan); }

.nav-links {
  display:flex; align-items:center; gap:4px;
  list-style:none;
}

.nav-links a {
  padding:8px 16px;
  font-size:.85rem; font-weight:500;
  font-family:'Rajdhani',sans-serif;
  letter-spacing:1px; text-transform:uppercase;
  color:var(--muted);
  border-radius:8px;
  transition:var(--transition);
}
.nav-links a:hover, .nav-links a.active {
  color:var(--text);
  background:rgba(139,47,201,.15);
}

.nav-cta {
  background:var(--grad);
  color:#fff !important;
  padding:9px 22px !important;
  border-radius:8px !important;
  box-shadow:var(--glow-p);
}

.nav-burger { display:none; flex-direction:column; gap:5px; cursor:pointer; }
.nav-burger span { display:block; width:24px; height:2px; background:var(--text); border-radius:2px; transition:var(--transition); }

/* Mobile nav */
@media(max-width:900px){
  .nav { padding:0 20px; }
  .nav-burger { display:flex; }
  .nav-links {
    position:absolute; top:72px; left:0; right:0;
    flex-direction:column; align-items:stretch;
    background:rgba(7,7,13,.97);
    backdrop-filter:blur(20px);
    border-bottom:1px solid var(--border);
    padding:16px;
    display:none;
  }
  .nav-links.open { display:flex; }
  .nav-links a { padding:12px 16px; }
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.hero {
  min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  padding:120px 20px 80px;
  position:relative; overflow:hidden;
}

.hero-orb {
  position:absolute;
  border-radius:50%;
  filter:blur(80px);
  opacity:.25;
  animation:float 8s ease-in-out infinite;
}
.hero-orb:nth-child(1) { width:600px; height:600px; background:var(--purple); top:-100px; left:-150px; }
.hero-orb:nth-child(2) { width:400px; height:400px; background:var(--blue); bottom:-50px; right:-80px; animation-delay:-3s; }
.hero-orb:nth-child(3) { width:300px; height:300px; background:var(--gold); top:30%; right:20%; animation-delay:-6s; }

.hero-content { position:relative; z-index:1; max-width:900px; }

.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 20px;
  border:1px solid rgba(0,212,255,.3);
  border-radius:50px;
  font-family:'Rajdhani',sans-serif;
  font-size:.85rem; letter-spacing:2px; text-transform:uppercase;
  color:var(--cyan);
  margin-bottom:32px;
  background:rgba(0,212,255,.06);
}
.hero-badge::before { content:'●'; font-size:.5rem; animation:pulse 2s ease-in-out infinite; }

.hero h1 { margin-bottom:24px; }
.hero p { font-size:1.1rem; max-width:600px; margin:0 auto 48px; }

.hero-buttons { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

.hero-stats {
  display:flex; gap:48px; justify-content:center; flex-wrap:wrap;
  margin-top:72px; padding-top:48px;
  border-top:1px solid var(--border);
}
.stat { text-align:center; }
.stat-num {
  font-family:'Orbitron',sans-serif;
  font-size:2.2rem; font-weight:800;
  background:var(--grad);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.stat-label { font-size:.8rem; font-family:'Rajdhani',sans-serif; letter-spacing:2px; text-transform:uppercase; color:var(--muted); }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 32px;
  border-radius:var(--radius-sm);
  font-family:'Rajdhani',sans-serif;
  font-size:1rem; font-weight:600; letter-spacing:1px;
  cursor:pointer; border:none;
  transition:var(--transition);
  text-transform:uppercase;
}

.btn-primary {
  background:var(--grad);
  color:#fff;
  box-shadow:var(--glow-p);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 0 60px rgba(139,47,201,.6); }

.btn-gold {
  background:var(--grad-gold);
  color:#000;
  box-shadow:var(--glow-g);
}
.btn-gold:hover { transform:translateY(-2px); box-shadow:0 0 60px rgba(255,184,0,.6); }

.btn-outline {
  background:transparent;
  color:var(--text);
  border:1px solid var(--border);
}
.btn-outline:hover { background:var(--card); border-color:rgba(139,47,201,.4); }

.btn-cyan {
  background:var(--grad-cyan);
  color:#000;
  box-shadow:var(--glow-c);
}
.btn-cyan:hover { transform:translateY(-2px); }

/* ============================================================
   SECTION LAYOUT
   ============================================================ */
.section { padding:100px 20px; position:relative; z-index:1; }
.section-sm { padding:60px 20px; }

.container { max-width:1200px; margin:0 auto; }

.section-header { text-align:center; margin-bottom:64px; }
.section-header h2 { margin-bottom:16px; }
.section-header p { max-width:600px; margin:0 auto; }

/* ============================================================
   CARDS
   ============================================================ */
.card {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px;
  transition:var(--transition);
  position:relative; overflow:hidden;
}
.card::before {
  content:''; position:absolute; inset:0;
  background:var(--grad);
  opacity:0; transition:var(--transition);
  z-index:0;
}
.card:hover { background:var(--card-hover); transform:translateY(-4px); border-color:rgba(139,47,201,.3); box-shadow:var(--glow-p); }

.card-icon {
  width:56px; height:56px;
  border-radius:14px;
  background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem;
  margin-bottom:20px;
  box-shadow:var(--glow-p);
}

.grid-3 { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; }
.grid-2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(400px,1fr)); gap:32px; }
.grid-4 { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; }

/* ============================================================
   BEFORE/AFTER SLIDER
   ============================================================ */
.ba-container {
  position:relative; overflow:hidden;
  border-radius:var(--radius);
  border:1px solid var(--border);
  cursor:ew-resize;
  user-select:none;
  aspect-ratio:16/10;
}

.ba-after, .ba-before {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
}

.ba-before {
  clip-path:inset(0 50% 0 0);
  z-index:2;
}

.ba-handle {
  position:absolute; top:0; bottom:0;
  left:50%; transform:translateX(-50%);
  width:3px;
  background:linear-gradient(to bottom,transparent,var(--cyan),transparent);
  z-index:10;
  cursor:ew-resize;
  touch-action:none;
}

.ba-handle-circle {
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:44px; height:44px;
  background:#fff;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 20px rgba(0,212,255,.5);
  color:#000;
  font-size:1rem; font-weight:700;
}

.ba-label {
  position:absolute; bottom:16px;
  font-family:'Rajdhani',sans-serif; font-size:.85rem;
  letter-spacing:2px; text-transform:uppercase;
  background:rgba(0,0,0,.7); padding:4px 12px; border-radius:4px;
  z-index:5;
}
.ba-label-before { left:16px; }
.ba-label-after  { right:16px; }

/* Showcase image placeholders */
.img-placeholder {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-family:'Orbitron',sans-serif;
  font-size:.7rem; letter-spacing:2px; text-transform:uppercase;
  position:relative; overflow:hidden;
}

.img-portrait-before {
  background: radial-gradient(ellipse 60% 70% at 50% 40%, #c49070 0%, #8a5530 40%, #3a2010 80%, #1a0a05 100%);
  filter:blur(3px) saturate(0.4) contrast(0.8);
}
.img-portrait-after {
  background: radial-gradient(ellipse 60% 70% at 50% 40%, #f0b880 0%, #c07040 40%, #602018 80%, #200808 100%);
  filter:saturate(1.3) contrast(1.1);
}
.img-landscape-before {
  background: linear-gradient(180deg, #2a4060 0%, #4a6a8a 30%, #7aaa7a 55%, #5a8a5a 100%);
  filter:blur(4px) saturate(0.5);
}
.img-landscape-after {
  background: linear-gradient(180deg, #1a3878 0%, #3a7abf 30%, #5acc60 55%, #3a8a3a 100%);
  filter:saturate(1.4) contrast(1.15);
}
.img-doc-before {
  background: repeating-linear-gradient(0deg, rgba(200,200,180,.3) 0px, rgba(200,200,180,.3) 1px, transparent 1px, transparent 18px), #d0c8b0;
  filter:blur(2px) saturate(0.3) contrast(0.7);
}
.img-doc-after {
  background: repeating-linear-gradient(0deg, rgba(80,60,40,.6) 0px, rgba(80,60,40,.6) 1px, transparent 1px, transparent 18px), #f5f0e8;
  filter:saturate(1.2) contrast(1.2);
}

/* ============================================================
   TABLE
   ============================================================ */
.req-table {
  width:100%;
  border-collapse:collapse;
  font-size:.95rem;
}
.req-table th, .req-table td {
  padding:16px 20px;
  border:1px solid var(--border);
  text-align:left;
}
.req-table th {
  background:rgba(139,47,201,.12);
  font-family:'Rajdhani',sans-serif;
  font-weight:600; letter-spacing:1px; text-transform:uppercase;
  color:var(--cyan);
}
.req-table tr:nth-child(even) td { background:rgba(255,255,255,.02); }
.req-table tr:hover td { background:rgba(139,47,201,.06); }

.badge {
  display:inline-block; padding:4px 12px;
  border-radius:20px; font-size:.75rem;
  font-family:'Rajdhani',sans-serif; font-weight:600; letter-spacing:1px;
}
.badge-green  { background:rgba(0,220,100,.15); color:#00dc64; }
.badge-yellow { background:rgba(255,200,0,.15);  color:#ffc800; }
.badge-blue   { background:rgba(0,212,255,.15);  color:var(--cyan); }

/* ============================================================
   FAQ ACCORDION
   ============================================================ */
.faq-item {
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  overflow:hidden;
  margin-bottom:12px;
  transition:var(--transition);
}
.faq-item:hover { border-color:rgba(139,47,201,.3); }

.faq-q {
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 24px;
  cursor:pointer;
  font-family:'Rajdhani',sans-serif; font-weight:600; font-size:1.1rem;
  background:var(--card);
  transition:var(--transition);
}
.faq-q:hover { background:var(--card-hover); }
.faq-q.open { color:var(--cyan); }

.faq-chevron {
  width:24px; height:24px;
  border-radius:50%; border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  transition:transform var(--transition);
  font-size:.7rem; flex-shrink:0;
}
.faq-q.open .faq-chevron { transform:rotate(180deg); border-color:var(--cyan); color:var(--cyan); }

.faq-a {
  max-height:0; overflow:hidden;
  transition:max-height .4s ease, padding .3s;
  background:rgba(0,0,0,.2);
  padding:0 24px;
}
.faq-a.open { max-height:400px; padding:20px 24px; }
.faq-a p { color:var(--muted); }

/* ============================================================
   FEATURE ROW (privacy page)
   ============================================================ */
.feature-row {
  display:flex; gap:32px; align-items:center; margin-bottom:64px;
}
.feature-row.reverse { flex-direction:row-reverse; }
.feature-row-text { flex:1; }
.feature-row-visual { flex:1; }

.flow-diagram {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px;
  display:flex; flex-direction:column; gap:12px;
}
.flow-step {
  display:flex; align-items:center; gap:16px;
  padding:14px 20px;
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  font-family:'Rajdhani',sans-serif; font-size:1rem;
}
.flow-icon { font-size:1.4rem; }
.flow-arrow { text-align:center; color:var(--cyan); font-size:1.2rem; }

@media(max-width:768px){
  .feature-row, .feature-row.reverse { flex-direction:column; }
}

/* ============================================================
   TECH ARCHITECTURE (models page)
   ============================================================ */
.arch-card {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:40px;
  position:relative; overflow:hidden;
}
.arch-card::after {
  content:'';
  position:absolute; top:0; right:0;
  width:200px; height:200px;
  background:radial-gradient(circle, rgba(139,47,201,.15) 0%, transparent 70%);
}
.arch-tag {
  display:inline-block; padding:5px 16px;
  border-radius:20px; font-size:.75rem;
  font-family:'Rajdhani',sans-serif; font-weight:600;
  letter-spacing:2px; text-transform:uppercase;
  background:rgba(0,212,255,.1); color:var(--cyan);
  border:1px solid rgba(0,212,255,.2);
  margin-bottom:20px;
}
.arch-specs {
  display:flex; flex-wrap:wrap; gap:12px; margin-top:24px;
}
.arch-spec {
  padding:6px 16px;
  border-radius:6px;
  background:rgba(255,255,255,.05);
  font-size:.8rem; font-family:'Rajdhani',sans-serif;
  color:var(--text); border:1px solid var(--border);
}

/* Pipeline visualization */
.pipeline {
  display:flex; align-items:center; gap:0;
  overflow-x:auto; padding-bottom:8px;
  margin:40px 0;
}
.pipeline-step {
  flex-shrink:0;
  padding:20px 24px;
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius-sm);
  text-align:center;
  min-width:130px;
}
.pipeline-step:first-child { border-radius:var(--radius-sm) 0 0 var(--radius-sm); }
.pipeline-step:last-child  { border-radius:0 var(--radius-sm) var(--radius-sm) 0; }
.pipeline-arrow {
  flex-shrink:0; width:40px;
  text-align:center; color:var(--cyan); font-size:1.2rem;
}
.pipeline-icon { font-size:1.6rem; margin-bottom:8px; }
.pipeline-label { font-size:.75rem; font-family:'Rajdhani',sans-serif; letter-spacing:1px; text-transform:uppercase; color:var(--muted); }

/* ============================================================
   DOWNLOAD PAGE
   ============================================================ */
.download-card {
  background:var(--card);
  border:1px solid rgba(255,184,0,.2);
  border-radius:var(--radius);
  padding:48px;
  text-align:center;
  position:relative; overflow:hidden;
}
.download-card::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(255,184,0,.06),transparent);
}
.version-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 24px;
  border-radius:50px;
  border:1px solid rgba(255,184,0,.3);
  background:rgba(255,184,0,.08);
  font-family:'Rajdhani',sans-serif;
  color:var(--gold);
  font-size:.9rem; letter-spacing:2px; text-transform:uppercase;
  margin-bottom:24px;
}

.changelog-item {
  display:flex; gap:16px; align-items:flex-start;
  padding:20px; margin-bottom:12px;
  border-radius:var(--radius-sm);
  background:var(--card); border:1px solid var(--border);
}
.changelog-version {
  flex-shrink:0;
  width:80px;
  font-family:'Orbitron',sans-serif; font-size:.75rem;
  color:var(--cyan);
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
  border-top:1px solid var(--border);
  padding:64px 20px 32px;
  position:relative; z-index:1;
}
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:48px; margin-bottom:48px;
}
.footer-logo { font-family:'Orbitron',sans-serif; font-size:1.2rem; font-weight:700; margin-bottom:16px; }
.footer-logo span { color:var(--cyan); }
.footer h4 {
  font-family:'Rajdhani',sans-serif;
  font-size:.8rem; letter-spacing:3px; text-transform:uppercase;
  color:var(--muted); margin-bottom:20px;
}
.footer ul { list-style:none; }
.footer ul li { margin-bottom:10px; }
.footer ul a {
  color:var(--muted); font-size:.9rem;
  transition:var(--transition);
}
.footer ul a:hover { color:var(--text); }
.footer-bottom {
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:16px;
  padding-top:32px; border-top:1px solid var(--border);
  color:var(--muted); font-size:.85rem;
}
.footer-legal { display:flex; gap:24px; flex-wrap:wrap; }
.footer-legal a { color:var(--muted); transition:var(--transition); }
.footer-legal a:hover { color:var(--text); }

@media(max-width:900px){
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:500px){
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; text-align:center; }
}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.about-hero-img {
  width:100%; min-height:320px;
  border-radius:var(--radius);
  background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  font-size:6rem;
  box-shadow:var(--glow-p);
  border:1px solid rgba(139,47,201,.3);
}
.value-item {
  display:flex; gap:16px; align-items:flex-start;
  margin-bottom:28px;
}
.value-icon {
  width:48px; height:48px; flex-shrink:0;
  border-radius:12px; background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; box-shadow:var(--glow-p);
}
.inn-card {
  background:rgba(0,212,255,.04);
  border:1px solid rgba(0,212,255,.15);
  border-radius:var(--radius);
  padding:24px;
}
.inn-row { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--border); }
.inn-row:last-child { border-bottom:none; }
.inn-label { color:var(--muted); font-size:.9rem; }
.inn-value { font-family:'Rajdhani',sans-serif; font-size:.95rem; font-weight:600; }

/* ============================================================
   PRIVACY PAGE
   ============================================================ */
.manifest-card {
  background:rgba(0,220,100,.04);
  border:1px solid rgba(0,220,100,.15);
  border-radius:var(--radius);
  padding:48px;
  text-align:center;
}
.manifest-icon { font-size:4rem; margin-bottom:24px; }
.secure-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 20px; border-radius:50px;
  background:rgba(0,220,100,.1); border:1px solid rgba(0,220,100,.3);
  color:#00dc64; font-family:'Rajdhani',sans-serif;
  letter-spacing:2px; font-size:.85rem; text-transform:uppercase;
  margin:16px 8px;
}

/* ============================================================
   PAGE HEADER (inner pages)
   ============================================================ */
.page-header {
  padding:160px 20px 100px;
  text-align:center; position:relative; overflow:hidden;
}
.page-header .orb1 {
  position:absolute; width:500px; height:500px;
  background:var(--purple); border-radius:50%;
  filter:blur(100px); opacity:.12;
  top:-100px; left:50%; transform:translateX(-50%);
}

/* ============================================================
   KEYFRAMES
   ============================================================ */
@keyframes float {
  0%,100% { transform:translateY(0); }
  50%      { transform:translateY(-30px); }
}
@keyframes pulse {
  0%,100% { opacity:1; }
  50%      { opacity:.3; }
}
@keyframes glow-pulse {
  0%,100% { box-shadow:var(--glow-p); }
  50%      { box-shadow:0 0 60px rgba(139,47,201,.7); }
}
@keyframes shimmer {
  0%   { background-position:-200% center; }
  100% { background-position:200% center; }
}
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(40px); }
  to   { opacity:1; transform:translateY(0); }
}
.anim-fade { opacity:0; }
.anim-fade.visible { animation:fadeInUp .7s ease forwards; }

/* Divider */
.divider {
  width:80px; height:3px;
  background:var(--grad);
  border-radius:2px; margin:20px auto;
}

/* Glow line */
.glow-line {
  height:1px; width:100%;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  margin:60px 0; opacity:.3;
}

/* Progress bar */
.progress-bar {
  height:6px; border-radius:3px;
  background:rgba(255,255,255,.08);
  overflow:hidden; margin-top:8px;
}
.progress-fill {
  height:100%; border-radius:3px;
  background:var(--grad);
  animation:none;
}

/* Tooltip */
.req-note {
  font-size:.8rem; color:var(--muted); margin-top:12px;
  display:flex; align-items:flex-start; gap:8px;
}
.req-note::before { content:'ℹ'; flex-shrink:0; color:var(--cyan); }

/* Responsive helpers */
@media(max-width:600px){
  .hero-stats { gap:28px; }
  .pipeline { flex-direction:column; align-items:stretch; }
  .pipeline-arrow { transform:rotate(90deg); }
}
