:root{--bg:#0f1117;--surf:#161920;--surf-2:#1c2028;--surf-3:#222733;--surf-4:#292e3d;--divider:#262b38;--border:rgba(255,255,255,.08);--text:#e4e6ec;--text-2:#9199ab;--text-3:#515b6e;--accent:#3b82c4;--accent-hover:#5294d4;--accent-muted:rgba(59,130,196,.12);--green:#34c97b;--green-muted:rgba(52,201,123,.12);--amber:#f5a623;--amber-muted:rgba(245,166,35,.12);--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--s1:0 1px 2px rgba(0,0,0,.4);--s2:0 4px 16px rgba(0,0,0,.32),0 1px 2px rgba(0,0,0,.5);--t-xs:clamp(.6875rem,.66rem + .14vw,.75rem);--t-sm:clamp(.8125rem,.79rem + .12vw,.875rem);--t-body:clamp(.9375rem,.91rem + .14vw,1rem);--t-h4:clamp(1rem,.97rem + .16vw,1.125rem);--t-h3:clamp(1.125rem,1.06rem + .33vw,1.375rem);--t-h2:clamp(1.375rem,1.2rem + .88vw,1.875rem);--t-h1:clamp(1.75rem,1.4rem + 1.75vw,2.625rem);--f-disp:"DM Serif Display",Georgia,serif;--f-body:"DM Sans",system-ui,sans-serif;--ease:160ms cubic-bezier(.16,1,.3,1)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font:var(--t-body)/1.6 var(--f-body);overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
ul{list-style:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}

/* AURORA */
.aurora-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.aurora-bg::before,.aurora-bg::after{content:"";position:absolute;border-radius:50%;filter:blur(80px);opacity:.18;animation:aurora-move 12s ease-in-out infinite alternate}
.aurora-bg::before{width:60vw;height:60vw;background:radial-gradient(circle,#3b82c4 0%,transparent 70%);top:-15%;left:-10%}
.aurora-bg::after{width:50vw;height:50vw;background:radial-gradient(circle,#34c97b 0%,transparent 70%);top:20%;right:-10%;animation-delay:-6s}
.aurora-orb{position:absolute;width:40vw;height:40vw;border-radius:50%;background:radial-gradient(circle,rgba(245,166,35,.12) 0%,transparent 70%);filter:blur(60px);bottom:-10%;left:30%;animation:aurora-move 16s ease-in-out infinite alternate;animation-delay:-3s}
@keyframes aurora-move{0%{transform:translate(0,0) scale(1)}50%{transform:translate(4%,6%) scale(1.08)}100%{transform:translate(-3%,3%) scale(.95)}}

/* PARTICLES */
.particles{position:absolute;inset:0;pointer-events:none;z-index:0}
.particles circle{animation:particle-float linear infinite}
@keyframes particle-float{0%{opacity:0;transform:translateY(0)}10%{opacity:.5}90%{opacity:.2}100%{opacity:0;transform:translateY(-80px)}}

/* REVEAL SCROLL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}

/* BTN */
.btn{height:40px;padding:0 18px;border-radius:var(--r-md);font-size:var(--t-sm);font-weight:600;display:inline-flex;align-items:center;gap:7px;transition:all var(--ease);white-space:nowrap;border:none;cursor:pointer}
.btn svg{width:14px;height:14px}
.btn-p{background:var(--accent);color:#fff}
.btn-p:hover{background:var(--accent-hover);transform:translateY(-1px)}
.btn-s{background:var(--surf-3);border:1px solid var(--border);color:var(--text)}
.btn-s:hover{background:var(--surf-4);transform:translateY(-1px)}
.btn-sm{height:34px;padding:0 14px;font-size:var(--t-xs)}

/* NAV */
.topnav{
  position:sticky;top:0;z-index:50;
  height:64px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(20px,4vw,60px);
  background:color-mix(in srgb,var(--bg) 85%,transparent);
  backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  border-bottom:1px solid var(--border);
  transition:box-shadow .3s;
}
.topnav.scrolled{
  box-shadow:0 1px 24px rgba(0,0,0,.35);
  border-bottom-color:rgba(255,255,255,.06);
}
.nav-logo{
  display:flex;align-items:center;gap:10px;
  flex-shrink:0;
}
.logo-mark{
  width:32px;height:32px;border-radius:9px;
  background:var(--accent);display:grid;place-items:center;
  flex-shrink:0;box-shadow:0 0 14px rgba(59,130,196,.45);
  transition:box-shadow var(--ease);
}
.nav-logo:hover .logo-mark{box-shadow:0 0 22px rgba(59,130,196,.7)}
.logo-mark svg{width:15px;height:15px}
.logo-text{
  font-size:var(--t-h4);font-weight:700;
  letter-spacing:-.03em;
  background:linear-gradient(135deg,var(--text) 40%,var(--text-2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.nav-center{
  position:absolute;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:4px;
}
.nav-links{
  display:flex;align-items:center;gap:2px;
}
.nav-links a{
  font-size:var(--t-sm);color:var(--text-2);font-weight:500;
  padding:6px 13px;border-radius:var(--r-md);
  transition:color var(--ease),background var(--ease);
  position:relative;
}
.nav-links a:hover{color:var(--text);background:rgba(255,255,255,.05)}
.nav-links a.active{
  color:var(--text);font-weight:600;
}
.nav-links a.active::after{
  content:'';
  position:absolute;bottom:-1px;left:13px;right:13px;
  height:2px;border-radius:2px;
  background:var(--accent);
}
.nav-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
.ico-btn{
  width:34px;height:34px;border-radius:var(--r-md);
  display:grid;place-items:center;
  background:transparent;border:1px solid var(--border);
  color:var(--text-2);transition:all var(--ease);cursor:pointer;
}
.ico-btn:hover{color:var(--text);background:var(--surf-3)}
.ico-btn svg{width:15px;height:15px}
.nav-sep{
  width:1px;height:18px;
  background:var(--border);
  margin:0 4px;
}

/* HERO */
.hero-wrap{position:relative;min-height:calc(100dvh - 64px);overflow:hidden}
.hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:calc(100dvh - 64px);max-width:1400px;margin:0 auto;padding:0 clamp(16px,4vw,56px);position:relative;z-index:1}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:64px 48px 64px 0;border-right:1px solid var(--divider)}
.eyebrow{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--accent);margin-bottom:20px}
.hero-left h1{font:400 clamp(2.2rem,4vw,3.2rem)/1.04 var(--f-disp);letter-spacing:-.03em;max-width:14ch;margin-bottom:20px}
.hero-left p{font-size:var(--t-body);color:var(--text-2);max-width:52ch;line-height:1.7;margin-bottom:32px}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap}
.hero-trust{display:flex;align-items:center;gap:10px;margin-top:40px;padding-top:32px;border-top:1px solid var(--divider);flex-wrap:wrap}
.trust-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;background:var(--surf-3);border:1px solid var(--border);font-size:var(--t-xs);font-weight:600;color:var(--text-2);transition:all .3s;cursor:default}
.trust-pill:hover{border-color:var(--accent);color:var(--text)}
.trust-pill svg{width:12px;height:12px;color:var(--green)}
.hero-right{display:flex;flex-direction:column;justify-content:center;padding:64px 0 64px 48px;gap:14px}
.typing-cursor{display:inline-block;width:3px;height:.9em;background:var(--accent);margin-left:4px;border-radius:2px;animation:blink .75s step-end infinite;vertical-align:-.05em}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

/* PROOF CARDS */
.proof-card{background:var(--surf);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--s1);transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,border-color .25s;cursor:default}
.proof-card:hover{transform:translateY(-3px);box-shadow:var(--s2);border-color:rgba(59,130,196,.3)}
.proof-card .pc-icon{width:36px;height:36px;border-radius:var(--r-md);background:var(--surf-3);display:grid;place-items:center;margin-bottom:12px}
.proof-card .pc-icon svg{width:16px;height:16px}
.proof-card strong{display:block;font-size:var(--t-sm);font-weight:700;margin-bottom:4px}
.proof-card p{font-size:var(--t-xs);color:var(--text-2);line-height:1.55}
.counter-val{font:700 1.6rem/1 var(--f-disp);color:var(--accent);display:block;margin-bottom:4px}

/* LOTTIE */
.lottie-wrap{display:flex;justify-content:center;align-items:center;pointer-events:none}
.lottie-sm dotlottie-player{width:80px;height:80px}
.lottie-md dotlottie-player{width:120px;height:120px}
.lottie-hero{position:absolute;right:4%;top:50%;transform:translateY(-50%);opacity:.12;pointer-events:none}
.lottie-hero dotlottie-player{width:320px;height:320px}

/* PROCESS */
.process{background:var(--surf);border-top:1px solid var(--divider);border-bottom:1px solid var(--divider)}
.process-inner{max-width:1400px;margin:0 auto;padding:80px clamp(16px,4vw,56px)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;position:relative}
.steps::before{content:"";position:absolute;top:20px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),var(--green),var(--accent),transparent);background-size:200% 100%;animation:line-flow 3s linear infinite;z-index:0}
@keyframes line-flow{0%{background-position:200% 0}100%{background-position:-200% 0}}
.step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 16px;position:relative;z-index:1}
.step-num{width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:var(--t-sm);display:grid;place-items:center;margin-bottom:16px;flex-shrink:0;box-shadow:0 0 16px rgba(59,130,196,.45);transition:transform .3s,box-shadow .3s}
.step:hover .step-num{transform:scale(1.12);box-shadow:0 0 24px rgba(59,130,196,.7)}
.step h4{font-size:var(--t-h4);font-weight:700;margin-bottom:8px}
.step p{font-size:var(--t-xs);color:var(--text-2);line-height:1.6}

/* FEATURES */
.features{max-width:1400px;margin:0 auto;padding:80px clamp(16px,4vw,56px)}
.section-head{margin-bottom:48px}
.section-head .eyebrow{margin-bottom:10px}
.section-head h2,.depts-copy h2{font:400 var(--t-h1)/1.06 var(--f-disp);letter-spacing:-.025em;max-width:20ch;margin-bottom:12px}
.section-head p,.depts-copy p{font-size:var(--t-body);color:var(--text-2);max-width:60ch;line-height:1.65}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.feat-card{background:var(--surf);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;box-shadow:var(--s1);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s;cursor:default}
.feat-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.3);border-color:rgba(59,130,196,.25)}
.feat-icon{width:36px;height:36px;border-radius:var(--r-md);background:var(--surf-3);display:grid;place-items:center;margin-bottom:16px;transition:background .3s}
.feat-card:hover .feat-icon{background:var(--accent-muted)}
.feat-icon svg{width:16px;height:16px}
.feat-card h3{font-size:var(--t-h4);font-weight:700;letter-spacing:-.015em;margin-bottom:8px}
.feat-card p{font-size:var(--t-sm);color:var(--text-2);line-height:1.6}

/* LLM SECURITY */
.llm-section{background:var(--surf);border-top:1px solid var(--divider);border-bottom:1px solid var(--divider)}
.llm-inner{max-width:1400px;margin:0 auto;padding:80px clamp(16px,4vw,56px)}
.llm-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;margin-top:48px}
.llm-layers{display:flex;flex-direction:column;gap:12px}
.llm-layer{border-radius:var(--r-lg);padding:18px 20px;border:1px solid var(--border);position:relative;overflow:hidden;transition:transform .25s}
.llm-layer:hover{transform:translateX(4px)}
.llm-layer::before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;border-radius:3px 0 0 3px}
.llm-layer.local{background:rgba(52,201,123,.06);border-color:rgba(52,201,123,.2)}
.llm-layer.local::before{background:var(--green)}
.llm-layer.backup{background:rgba(59,130,196,.06);border-color:rgba(59,130,196,.2)}
.llm-layer.backup::before{background:var(--accent)}
.data-flow{padding:16px 0}
.flow-svg{width:100%;overflow:visible}
.flow-path{stroke-dasharray:6 4;animation:dash-flow 2s linear infinite}
@keyframes dash-flow{to{stroke-dashoffset:-20}}
.flow-pulse{animation:pulse-dot 2s ease-in-out infinite}
@keyframes pulse-dot{0%,100%{r:4;opacity:.8}50%{r:7;opacity:.3}}
.layer-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.layer-badge{font-size:var(--t-xs);font-weight:700;padding:2px 8px;border-radius:4px}
.layer-badge.local{background:var(--green-muted);color:var(--green)}
.layer-badge.backup{background:var(--accent-muted);color:var(--accent)}
.layer-title{font-size:var(--t-sm);font-weight:700}
.layer-desc{font-size:var(--t-xs);color:var(--text-2);line-height:1.55}
.layer-models{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.model-tag{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;background:var(--surf-3);color:var(--text-3);border:1px solid var(--border)}
.security-list{display:flex;flex-direction:column;gap:14px}
.sec-item{display:flex;gap:14px;align-items:flex-start;padding:12px;border-radius:var(--r-md);transition:background .2s}
.sec-item:hover{background:var(--surf-2)}
.sec-ico{width:36px;height:36px;border-radius:var(--r-md);background:var(--surf-3);display:grid;place-items:center;flex-shrink:0}
.sec-ico svg{width:16px;height:16px}
.sec-item h4{font-size:var(--t-sm);font-weight:700;margin-bottom:4px}
.sec-item p{font-size:var(--t-xs);color:var(--text-2);line-height:1.55}

/* LOI 25 */
.loi25{max-width:1400px;margin:0 auto;padding:80px clamp(16px,4vw,56px)}
.loi25-box{background:var(--surf);border:1px solid rgba(245,166,35,.25);border-radius:var(--r-lg);padding:48px;position:relative;overflow:hidden}
.loi25-box::before{content:"";position:absolute;top:-80px;right:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(245,166,35,.1) 0%,transparent 70%);pointer-events:none;animation:aurora-move 10s ease-in-out infinite alternate}
.loi25-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.loi25-copy .eyebrow{color:var(--amber)}
.loi25-steps{display:flex;flex-direction:column;gap:12px}
.loi25-step{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:var(--r-md);transition:background .2s}
.loi25-step:hover{background:rgba(245,166,35,.05)}
.loi25-num{width:24px;height:24px;border-radius:50%;background:var(--amber-muted);color:var(--amber);font-size:var(--t-xs);font-weight:700;display:grid;place-items:center;flex-shrink:0;margin-top:2px}
.loi25-step h4{font-size:var(--t-sm);font-weight:700;margin-bottom:3px}
.loi25-step p{font-size:var(--t-xs);color:var(--text-2);line-height:1.55}

/* USE CASES */
.usecases{background:var(--surf);border-top:1px solid var(--divider);border-bottom:1px solid var(--divider)}
.usecases-inner{max-width:1400px;margin:0 auto;padding:80px clamp(16px,4vw,56px)}
.uc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.uc-tab{padding:7px 16px;border-radius:99px;font-size:var(--t-sm);font-weight:600;border:1px solid var(--border);background:var(--surf-2);color:var(--text-2);cursor:pointer;transition:all var(--ease)}
.uc-tab.active,.uc-tab:hover{background:var(--accent-muted);border-color:var(--accent);color:var(--text)}
.uc-cards{display:none;grid-template-columns:repeat(3,1fr);gap:16px}
.uc-cards.active{display:grid;animation:tab-in .3s cubic-bezier(.16,1,.3,1)}
@keyframes tab-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.uc-card{background:var(--surf-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px;box-shadow:var(--s1);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s;cursor:default}
.uc-card:hover{transform:translateY(-4px);box-shadow:var(--s2);border-color:rgba(59,130,196,.25)}
.uc-card .uc-tag{font-size:var(--t-xs);font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.uc-card h4{font-size:var(--t-h4);font-weight:700;margin-bottom:8px;line-height:1.3}
.uc-card p{font-size:var(--t-xs);color:var(--text-2);line-height:1.6;margin-bottom:14px}
.uc-result{display:flex;align-items:center;gap:7px;font-size:var(--t-xs);font-weight:700;color:var(--green)}
.uc-result svg{width:13px;height:13px}

/* DEPTS */
.depts{max-width:1400px;margin:0 auto;padding:80px clamp(16px,4vw,56px)}
.depts-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.dept-list{display:flex;flex-direction:column;gap:10px}
.dept-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r-lg);background:var(--surf);border:1px solid var(--border);cursor:default;transition:all .25s}
.dept-item:hover{background:var(--surf-3);border-color:rgba(59,130,196,.25);transform:translateX(4px)}
.di-ico{width:36px;height:36px;border-radius:var(--r-md);background:var(--surf-3);display:grid;place-items:center;flex-shrink:0}
.di-ico svg{width:16px;height:16px}
.di-name{font-size:var(--t-sm);font-weight:700}
.di-desc{font-size:var(--t-xs);color:var(--text-2)}
.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:4px;font-size:var(--t-xs);font-weight:700}
.bg{background:var(--green-muted);color:var(--green)}
.badge-dot{width:6px;height:6px;border-radius:50%;animation:blink 2s step-end infinite}

/* CTA FINAL */
.cta-section{max-width:1400px;margin:0 auto;padding:80px clamp(16px,4vw,56px)}
.cta-box{background:var(--surf);border:1px solid var(--border);border-radius:var(--r-lg);padding:56px 48px;text-align:center;position:relative;overflow:hidden}
.cta-box::before{content:"";position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(59,130,196,.12) 0%,transparent 68%);pointer-events:none;animation:aurora-move 14s ease-in-out infinite alternate}
.cta-box h2{font:400 var(--t-h1)/1.06 var(--f-disp);letter-spacing:-.025em;max-width:20ch;margin:0 auto 16px}
.cta-box p{font-size:var(--t-body);color:var(--text-2);max-width:52ch;margin:0 auto 32px;line-height:1.65}
.cta-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* FOOTER */
footer{border-top:1px solid var(--divider);padding:32px clamp(16px,4vw,56px)}
.footer-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}
.footer-copy{font-size:var(--t-xs);color:var(--text-3)}
.footer-links{display:flex;gap:20px}
.footer-links a{font-size:var(--t-xs);color:var(--text-2);transition:color var(--ease)}
.footer-links a:hover{color:var(--text)}

/* RESPONSIVE */
@media(max-width:960px){
  .hero,.depts-inner,.llm-grid,.loi25-inner{grid-template-columns:1fr}
  .hero-left{border-right:none;border-bottom:1px solid var(--divider);padding:48px 0}
  .hero-right{padding:40px 0}
  .feat-grid,.uc-cards.active{grid-template-columns:repeat(2,1fr)}
  .nav-center{display:none}
  .nav-links{display:none}
  .steps{grid-template-columns:repeat(2,1fr);gap:32px}
  .steps::before{display:none}
  .lottie-hero{display:none}
}
@media(max-width:600px){
  .feat-grid,.uc-cards.active{grid-template-columns:1fr}
  .cta-box{padding:36px 24px}
  .footer-inner{flex-direction:column;gap:16px;text-align:center}
  .loi25-box{padding:28px 20px}
  .steps{grid-template-columns:1fr}
}
