:root{
  --ai-bg:#08080f;
  --ai-bg-raised:#0f0f1b;
  --ai-bg-raised-2:#141425;
  --ai-line:#232235;
  --ai-line-soft:#1a1a2a;
  --ai-text:#f1f0f9;
  --ai-text-muted:#9d9bb8;
  --ai-text-faint:#6a6884;
  --ai-violet:#8b5cf6;
  --ai-violet-soft:#a78bfa;
  --ai-blue:#4f8cff;
  --ai-grad: linear-gradient(100deg, var(--ai-violet) 0%, var(--ai-blue) 100%);
}

body.ai-page{
  background:var(--ai-bg);
  color:var(--ai-text);
  font-family:'Hanken Grotesk', system-ui, sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  margin:0;
}

body.ai-page *{ box-sizing:border-box; }
body.ai-page ::selection{ background:var(--ai-violet); color:#fff; }

body.ai-page .ai-wrap{ max-width:1080px; margin:0 auto; padding:0 28px; }

body.ai-page h1, body.ai-page h2, body.ai-page h3{
  font-family:'Unbounded', system-ui, sans-serif; font-weight:600; text-wrap:balance; letter-spacing:-0.01em; margin:0;
}
body.ai-page p{ margin:0; }
body.ai-page a{ color:inherit; }

body.ai-page .ai-eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--ai-violet-soft);
  display:inline-flex; align-items:center; gap:8px;
}
body.ai-page .ai-eyebrow::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--ai-grad); flex:none; }

body.ai-page .ai-section{ padding:110px 0; border-top:1px solid var(--ai-line-soft); position:relative; }
body.ai-page .ai-section-head{ max-width:620px; margin-bottom:56px; }
body.ai-page .ai-section-head h2{ font-size:clamp(28px,3.6vw,40px); margin-top:16px; line-height:1.15; }
body.ai-page .ai-section-head p{ color:var(--ai-text-muted); font-size:16px; margin-top:16px; max-width:520px; }

/* ---------- Navbar ---------- */
body.ai-page .navbar{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:18px 0;
  background:linear-gradient(to bottom, rgba(8,8,15,0.92), rgba(8,8,15,0.75) 70%, transparent);
  transition:background .25s ease, padding .25s ease;
}
body.ai-page .navbar.ai-nav-scrolled{ background:rgba(8,8,15,0.92); backdrop-filter:blur(10px); padding:12px 0; border-bottom:1px solid var(--ai-line-soft); }
body.ai-page .navbar-container{ max-width:1180px; margin:0 auto; padding:0 24px; }
body.ai-page .navbar-inner{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
body.ai-page .navbar-logo .navbar-brand-link{ display:flex; align-items:center; gap:10px; text-decoration:none; }
body.ai-page .navbar-logo img{ width:150px; height:auto; display:block; filter:brightness(0) invert(1); }
body.ai-page .ai-nav-links{ display:flex; align-items:center; gap:30px; font-size:14px; color:var(--ai-text-muted); }
body.ai-page .ai-nav-links a{ text-decoration:none; transition:color .2s ease; white-space:nowrap; }
body.ai-page .ai-nav-links a:hover{ color:var(--ai-text); }
body.ai-page .ai-nav-cta{
  font-size:13px; font-weight:600; padding:10px 20px; border-radius:100px;
  background:var(--ai-grad); color:#08080f !important;
}
body.ai-page .ai-nav-back{ color:var(--ai-violet-soft) !important; font-size:13px; }
body.ai-page .navbar-mobile-btn{ display:none; }
body.ai-page .navbar-mobile-btn button{ background:none; border:1px solid var(--ai-line); border-radius:10px; padding:8px; color:var(--ai-text); display:flex; align-items:center; justify-content:center; }
body.ai-page .navbar-mobile-btn svg{ width:20px; height:20px; display:block; }

body.ai-page .mobile-menu{
  display:flex; flex-direction:column; gap:4px;
  background:var(--ai-bg-raised); border:1px solid var(--ai-line); border-radius:16px;
  margin-top:14px; padding:10px;
}
body.ai-page .mobile-menu.hidden{ display:none; }
body.ai-page .mobile-menu a{ padding:12px 14px; border-radius:10px; text-decoration:none; color:var(--ai-text-muted); font-size:15px; }
body.ai-page .mobile-menu a:hover{ background:var(--ai-bg-raised-2); color:var(--ai-text); }

@media (max-width:860px){
  body.ai-page .ai-nav-links{ display:none; }
  body.ai-page .navbar-mobile-btn{ display:block; }
}

/* ---------- Hero ---------- */
body.ai-page .ai-hero{
  min-height:92vh; display:flex; align-items:center; padding:150px 0 100px;
  background:
    radial-gradient(ellipse 900px 500px at 15% 0%, rgba(139,92,246,0.16), transparent 60%),
    radial-gradient(ellipse 700px 500px at 90% 20%, rgba(79,140,255,0.13), transparent 60%);
}
body.ai-page .ai-hero{ position:relative; overflow:hidden; }
body.ai-page .ai-hero #aiHeroParticleCanvas{ position:absolute; inset:0; width:100%; height:100%; display:block; z-index:0; }
body.ai-page .ai-hero .ai-wrap{ position:relative; z-index:1; }
body.ai-page .ai-hero-inner{ max-width:560px; }
body.ai-page .ai-hero h1{ font-size:clamp(38px, 6.2vw, 72px); line-height:1.05; margin:22px 0 24px; }
body.ai-page .ai-hero h1 .ai-grad-text{
  background:var(--ai-grad);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 0 8px rgba(139,92,246,0.32)) drop-shadow(0 0 16px rgba(79,140,255,0.18));
}
body.ai-page .ai-hero p{ font-size:18px; color:var(--ai-text-muted); max-width:520px; margin-bottom:36px; }
body.ai-page .ai-hero-cta{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:56px; }
body.ai-page .ai-btn{
  font-family:'Hanken Grotesk'; font-size:15px; font-weight:600; padding:14px 26px; border-radius:100px;
  text-decoration:none; display:inline-flex; align-items:center; gap:8px; border:none; cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease, color .2s ease;
}
body.ai-page .ai-btn-primary{ background:var(--ai-grad); color:#08080f; }
body.ai-page .ai-btn-primary:hover{ transform:translateY(-2px); box-shadow:0 10px 30px -8px rgba(139,92,246,0.5); }
body.ai-page .ai-btn-ghost{ border:1px solid var(--ai-line); color:var(--ai-text); background:transparent; }
body.ai-page .ai-btn-ghost:hover{ border-color:var(--ai-violet-soft); color:var(--ai-violet-soft); }
body.ai-page .ai-hero-meta{ display:flex; gap:28px; flex-wrap:wrap; font-family:'JetBrains Mono', monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ai-text-faint); }
body.ai-page .ai-hero-meta span{ display:flex; align-items:center; gap:8px; }
body.ai-page .ai-hero-meta span::before{ content:''; width:4px; height:4px; border-radius:50%; background:var(--ai-text-faint); }

/* ---------- Stats ---------- */
body.ai-page .ai-stats{ padding:0 0 100px; }
body.ai-page .ai-stats-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--ai-line); border:1px solid var(--ai-line); border-radius:20px; overflow:hidden;
}
body.ai-page .ai-stat{ background:var(--ai-bg-raised); padding:34px 28px; }
body.ai-page .ai-stat .ai-num{ font-family:'Unbounded'; font-size:36px; font-weight:600; background:var(--ai-grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
body.ai-page .ai-stat .ai-label{ font-size:13px; color:var(--ai-text-muted); margin-top:6px; }
@media (max-width:640px){ body.ai-page .ai-stats-grid{ grid-template-columns:1fr; } }

/* ---------- Philosophy ---------- */
body.ai-page .ai-philosophy-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:start; }
body.ai-page .ai-philosophy-grid p{ color:var(--ai-text-muted); font-size:17px; margin-bottom:18px; }
body.ai-page .ai-philosophy-quote{
  font-family:'Unbounded'; font-size:21px; line-height:1.45; font-weight:500;
  border-left:2px solid transparent; border-image:var(--ai-grad) 1; padding-left:24px;
}
@media (max-width:800px){ body.ai-page .ai-philosophy-grid{ grid-template-columns:1fr; gap:32px; } }

/* ---------- Pillars ---------- */
body.ai-page .ai-pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
body.ai-page .ai-pillar{ background:var(--ai-bg-raised); border:1px solid var(--ai-line); border-radius:18px; padding:30px 26px; transition:border-color .25s ease, transform .25s ease; }
body.ai-page .ai-pillar:hover{ border-color:var(--ai-violet-soft); transform:translateY(-4px); }
body.ai-page .ai-pillar-icon{
  width:44px; height:44px; border-radius:12px; margin-bottom:20px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(139,92,246,0.18), rgba(79,140,255,0.14)); border:1px solid var(--ai-line);
}
body.ai-page .ai-pillar-icon svg{ width:22px; height:22px; stroke:var(--ai-violet-soft); }
body.ai-page .ai-pillar h3{ font-size:18px; margin-bottom:10px; }
body.ai-page .ai-pillar p{ color:var(--ai-text-muted); font-size:14.5px; margin-bottom:16px; }
body.ai-page .ai-pillar ul{ list-style:none; display:flex; flex-direction:column; gap:8px; margin:0; padding:0; }
body.ai-page .ai-pillar li{ font-size:13.5px; color:var(--ai-text-muted); display:flex; gap:8px; align-items:flex-start; }
body.ai-page .ai-pillar li::before{ content:'—'; color:var(--ai-violet-soft); flex:none; }
@media (max-width:860px){ body.ai-page .ai-pillars{ grid-template-columns:1fr; } }

/* ---------- Flow diagram ---------- */
body.ai-page .ai-flow{ background:var(--ai-bg-raised); border:1px solid var(--ai-line); border-radius:24px; padding:48px 40px; overflow:hidden; position:relative; }
body.ai-page .ai-flow-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
body.ai-page .ai-flow-node{ flex:1; min-width:150px; text-align:center; padding:22px 16px; background:var(--ai-bg-raised-2); border:1px solid var(--ai-line); border-radius:16px; }
body.ai-page .ai-flow-node .ai-fn-label{ font-family:'JetBrains Mono'; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--ai-text-faint); margin-bottom:8px; }
body.ai-page .ai-flow-node .ai-fn-title{ font-family:'Unbounded'; font-size:15px; font-weight:500; }
body.ai-page .ai-flow-node.ai-accent{ border-color:var(--ai-violet-soft); background:linear-gradient(160deg, rgba(139,92,246,0.14), rgba(79,140,255,0.08)); }
body.ai-page .ai-flow-arrow{ flex:none; width:32px; height:2px; background:var(--ai-grad); position:relative; opacity:0.7; }
body.ai-page .ai-flow-arrow::after{ content:''; position:absolute; right:-1px; top:50%; transform:translateY(-50%); border:4px solid transparent; border-left-color:var(--ai-blue); }
@media (max-width:700px){
  body.ai-page .ai-flow-row{ flex-direction:column; }
  body.ai-page .ai-flow-arrow{ width:2px; height:24px; }
  body.ai-page .ai-flow-arrow::after{ right:50%; top:auto; bottom:-1px; transform:translateX(50%); border-left-color:transparent; border-top-color:var(--ai-blue); }
}

/* ---------- Process ---------- */
body.ai-page .ai-process-list{ display:flex; flex-direction:column; }
body.ai-page .ai-process-item{ display:grid; grid-template-columns:80px 1fr; gap:28px; padding:32px 0; border-top:1px solid var(--ai-line-soft); }
body.ai-page .ai-process-item:last-child{ border-bottom:1px solid var(--ai-line-soft); }
body.ai-page .ai-process-num{ font-family:'JetBrains Mono'; font-size:14px; color:var(--ai-text-faint); padding-top:4px; }
body.ai-page .ai-process-item h3{ font-size:19px; margin-bottom:8px; }
body.ai-page .ai-process-item p{ color:var(--ai-text-muted); font-size:15px; max-width:520px; }
body.ai-page .ai-process-item:hover .ai-process-num{ color:var(--ai-violet-soft); }

/* ---------- Control ---------- */
body.ai-page .ai-control-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
body.ai-page .ai-control-list{ display:flex; flex-direction:column; gap:26px; margin-top:30px; }
body.ai-page .ai-control-list .ai-ci{ display:flex; gap:16px; }
body.ai-page .ai-control-list .ai-ci-mark{ flex:none; width:34px; height:34px; border-radius:10px; background:var(--ai-bg-raised); border:1px solid var(--ai-line); display:flex; align-items:center; justify-content:center; }
body.ai-page .ai-control-list .ai-ci-mark svg{ width:16px; height:16px; stroke:var(--ai-violet-soft); }
body.ai-page .ai-control-list h4{ font-size:15.5px; font-weight:600; margin-bottom:4px; font-family:'Hanken Grotesk'; }
body.ai-page .ai-control-list p{ font-size:14px; color:var(--ai-text-muted); }
body.ai-page .ai-control-visual{
  aspect-ratio:1/1; border-radius:24px; border:1px solid var(--ai-line);
  background:
    radial-gradient(circle at 30% 30%, rgba(139,92,246,0.22), transparent 55%),
    radial-gradient(circle at 75% 70%, rgba(79,140,255,0.18), transparent 55%),
    var(--ai-bg-raised);
  position:relative; display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
body.ai-page .ai-hands-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(1.05) contrast(1.02) brightness(0.82); }
@media (max-width:800px){ body.ai-page .ai-control-grid{ grid-template-columns:1fr; gap:36px; } body.ai-page .ai-control-visual{ order:-1; width:100%; max-width:280px; margin:0 auto; } }

/* ---------- FAQ ---------- */
body.ai-page .ai-faq-item{ border-top:1px solid var(--ai-line-soft); }
body.ai-page .ai-faq-item:last-child{ border-bottom:1px solid var(--ai-line-soft); }
body.ai-page .ai-faq-q{
  width:100%; text-align:left; background:none; border:none; color:var(--ai-text);
  font-family:'Hanken Grotesk'; font-size:17px; font-weight:600; cursor:pointer;
  padding:24px 0; display:flex; justify-content:space-between; align-items:center; gap:20px;
}
body.ai-page .ai-faq-q .ai-plus{ flex:none; width:22px; height:22px; position:relative; }
body.ai-page .ai-faq-q .ai-plus::before, body.ai-page .ai-faq-q .ai-plus::after{
  content:''; position:absolute; background:var(--ai-violet-soft); border-radius:2px; transition:transform .25s ease;
}
body.ai-page .ai-faq-q .ai-plus::before{ width:14px; height:2px; top:10px; left:4px; }
body.ai-page .ai-faq-q .ai-plus::after{ width:2px; height:14px; top:4px; left:10px; }
body.ai-page .ai-faq-item.ai-open .ai-plus::after{ transform:rotate(90deg); opacity:0; }
body.ai-page .ai-faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
body.ai-page .ai-faq-a p{ color:var(--ai-text-muted); font-size:15px; padding-bottom:26px; max-width:640px; }
body.ai-page .ai-faq-item.ai-open .ai-faq-a{ max-height:220px; }

/* ---------- CTA ---------- */
body.ai-page .ai-cta{
  border-radius:28px; border:1px solid var(--ai-line);
  background:
    radial-gradient(ellipse 700px 300px at 20% 0%, rgba(139,92,246,0.2), transparent 60%),
    radial-gradient(ellipse 500px 300px at 90% 100%, rgba(79,140,255,0.16), transparent 60%),
    var(--ai-bg-raised);
  padding:70px 50px; text-align:center;
}
body.ai-page .ai-cta h2{ font-size:clamp(28px,4vw,42px); margin-bottom:18px; }
body.ai-page .ai-cta p{ color:var(--ai-text-muted); font-size:16px; margin-bottom:32px; max-width:480px; margin-left:auto; margin-right:auto; }
body.ai-page .ai-cta-btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

/* ---------- Footer ---------- */
body.ai-page .ai-footer{ border-top:1px solid var(--ai-line-soft); padding:50px 0; }
body.ai-page .ai-footer-inner{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px; }
body.ai-page .ai-footer-inner img{ width:120px; height:auto; filter:brightness(0) invert(1); opacity:0.8; }
body.ai-page .ai-footer-links{ display:flex; gap:24px; flex-wrap:wrap; font-size:13px; color:var(--ai-text-muted); }
body.ai-page .ai-footer-links a{ text-decoration:none; }
body.ai-page .ai-footer-links a:hover{ color:var(--ai-violet-soft); }
body.ai-page .ai-footer-bottom{ text-align:center; color:var(--ai-text-faint); font-size:12.5px; margin-top:30px; }

/* ---------- Reveal on scroll ---------- */
body.ai-page .ai-reveal{ opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }
body.ai-page .ai-reveal.ai-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ body.ai-page .ai-reveal{ opacity:1; transform:none; transition:none; } }
