:root{--bg: #05060A;--surface: #0A0C14;--surface-2: #0D1019;--cyan: #00C8FF;--green: #00FF9D;--text: #F0F4FF;--text-dim: #7A8AAA;--line: rgba(0, 200, 255, .08);--line-strong: rgba(0, 200, 255, .22);--mono: "IBM Plex Mono", monospace;--head: "Rajdhani", sans-serif;--body: "Outfit", sans-serif;--maxw: 1240px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:var(--body);font-weight:300;line-height:1.6;overflow-x:hidden;background-image:radial-gradient(rgba(0,200,255,.1) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px}::selection{background:var(--cyan);color:var(--bg)}a{color:inherit;text-decoration:none}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}.mono-label{font-family:var(--mono);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--cyan)}h2.section-title{font-family:var(--head);font-weight:700;font-size:clamp(34px,4.4vw,58px);line-height:1.02;letter-spacing:-.01em;margin-top:18px}.section-intro{max-width:720px}.section-intro p{color:var(--text-dim);font-size:18px;margin-top:18px}nav.topbar{position:fixed;top:0;left:0;right:0;z-index:100;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#05060a8c;border-bottom:1px solid transparent;transition:border-color .3s ease,background .3s ease}nav.topbar.scrolled{border-bottom-color:var(--line);background:#05060ad1}.nav-inner{max-width:var(--maxw);margin:0 auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:30px;height:30px;flex:none;position:relative}.brand-mark svg{display:block}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-text .name{font-family:var(--head);font-weight:700;font-size:22px;letter-spacing:.02em}.brand-text .sub{font-family:var(--mono);font-size:9px;letter-spacing:.34em;color:var(--text-dim);margin-top:3px}.nav-links{display:flex;align-items:center;gap:36px}.nav-links a{font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);transition:color .2s ease;position:relative}.nav-links a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--cyan);transition:width .25s ease}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{width:100%}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}.hamburger span{width:24px;height:2px;background:var(--text);transition:transform .3s ease,opacity .3s ease}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{display:none;flex-direction:column;gap:4px;padding:8px 32px 24px;background:#05060af5;border-bottom:1px solid var(--line)}.mobile-menu.open{display:flex}.mobile-menu a{font-family:var(--mono);font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);padding:14px 0;border-bottom:1px solid var(--line)}.btn{font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:15px 28px;cursor:pointer;transition:all .25s ease;display:inline-flex;align-items:center;gap:10px;background:none;border:1px solid transparent}.btn-primary{border-color:var(--cyan);color:var(--cyan);box-shadow:inset 0 0 #00c8ff00,0 0 #00c8ff00}.btn-primary:hover{background:#00c8ff14;box-shadow:0 0 24px #00c8ff40,inset 0 0 18px #00c8ff0f}.btn-ghost{color:var(--text-dim);padding-left:6px}.btn-ghost:hover{color:var(--text)}.btn-ghost .arr{transition:transform .25s ease}.btn-ghost:hover .arr{transform:translate(4px)}header.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}#swarm-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}.hero-scanlines{position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(to bottom,#0000 0px 2px,#000a1438 3px,#0000 4px);opacity:.5}.hero-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 80% 70% at 50% 45%,#05060a00 30%,#05060ab3),linear-gradient(to bottom,#05060a66,#05060a00 25% 70%,#05060af2)}.hero-content{position:relative;z-index:2;width:100%;text-align:center;padding-top:80px}.hero-label{margin-bottom:28px}.hero h1{font-family:var(--head);font-weight:700;font-size:clamp(48px,9vw,104px);line-height:.96;letter-spacing:-.015em;text-transform:none}.hero h1 .l2{color:var(--cyan);text-shadow:0 0 40px rgba(0,200,255,.35)}.hero .sub{color:var(--text-dim);font-size:clamp(16px,2vw,19px);max-width:620px;margin:26px auto 40px}.hero-ctas{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap}.hud-bar{position:absolute;left:0;right:0;bottom:0;z-index:3;border-top:1px solid var(--line);background:#080a1299;backdrop-filter:blur(6px)}.hud-inner{max-width:var(--maxw);margin:0 auto;padding:14px 32px;display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:center;font-family:var(--mono);font-size:12px;letter-spacing:.08em}.hud-stat{display:flex;align-items:center;gap:10px;color:var(--text-dim)}.hud-stat .dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:blink 2.4s infinite}.hud-stat b{color:var(--text);font-weight:500}.hud-stat .v{color:var(--cyan);font-weight:500}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}section{position:relative;padding:120px 0}.divider-cut{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,var(--line-strong) 20%,var(--line-strong) 80%,transparent)}.divider-cut:before{content:"";position:absolute;left:8%;top:0;width:80px;height:1px;background:var(--cyan);box-shadow:0 0 12px var(--cyan);transform:skew(0)}.section-head{margin-bottom:64px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.6,.2,1),transform .8s cubic-bezier(.2,.6,.2,1)}.reveal.in{opacity:1;transform:none}.build-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.build-card{background:var(--surface);border:1px solid var(--line);padding:36px 30px 32px;transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;position:relative}.build-card:before{content:"";position:absolute;top:0;left:0;width:28px;height:1px;background:var(--cyan)}.build-card:hover{border-color:var(--line-strong);transform:translateY(-4px);box-shadow:0 0 40px #00c8ff1a}.card-icon{width:52px;height:52px;margin-bottom:28px;color:var(--cyan)}.build-card h3{font-family:var(--head);font-weight:600;font-size:26px;letter-spacing:.01em;margin-bottom:14px}.build-card p{color:var(--text-dim);font-size:15.5px}.tech-tag{margin-top:24px;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--green);padding-top:18px;border-top:1px solid var(--line)}.diff-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.diff-card{background:var(--surface);border:1px solid var(--line);padding:28px 22px;transition:border-color .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.diff-card:hover{border-color:var(--line-strong);box-shadow:0 0 30px #00c8ff1a}.diff-num{font-family:var(--mono);font-size:11px;color:var(--text-dim);letter-spacing:.1em;margin-bottom:18px}.diff-icon{width:38px;height:38px;color:var(--cyan);margin-bottom:20px}.diff-card h4{font-family:var(--head);font-weight:600;font-size:19px;line-height:1.12;margin-bottom:12px}.diff-card p{color:var(--text-dim);font-size:13.5px;line-height:1.55}.diff-stat{margin-top:auto;padding-top:18px;font-family:var(--mono);font-size:12px;color:var(--green)}.diff-stat .big{display:block;font-size:22px;color:var(--cyan);letter-spacing:-.01em}.timeline-wrap{margin-top:24px}.tl-track{position:relative;display:grid;grid-template-columns:repeat(6,1fr);margin:60px 0 8px}.tl-line{position:absolute;top:19px;left:8%;right:8%;height:2px;background:var(--line-strong)}.tl-progress-dot{position:absolute;top:13px;width:14px;height:14px;border-radius:50%;background:var(--cyan);box-shadow:0 0 16px var(--cyan),0 0 30px #00c8ff80;z-index:3;pointer-events:none}.tl-node{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;cursor:pointer;background:none;border:none;color:inherit;padding:0}.tl-dot{width:40px;height:40px;border-radius:50%;background:var(--bg);border:2px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;color:var(--text-dim);transition:all .3s ease}.tl-node:hover .tl-dot{border-color:var(--cyan);color:var(--cyan)}.tl-node.active .tl-dot{border-color:var(--cyan);background:var(--cyan);color:var(--bg);box-shadow:0 0 22px #00c8ff8c}.tl-name{font-family:var(--head);font-weight:600;font-size:14px;margin-top:16px;color:var(--text-dim);text-align:center;transition:color .3s ease;letter-spacing:.01em}.tl-node:hover .tl-name,.tl-node.active .tl-name{color:var(--text)}.tl-detail{margin-top:44px;background:var(--surface);border:1px solid var(--line);border-left:2px solid var(--cyan);padding:40px 44px;min-height:180px}.tl-detail .stage-tag{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--cyan);text-transform:uppercase}.tl-detail h3{font-family:var(--head);font-weight:700;font-size:34px;margin:12px 0 18px}.tl-detail p{color:var(--text-dim);font-size:17px;max-width:760px}.tl-detail-inner{animation:fadein .4s ease}@keyframes fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.bfl-band{margin-top:26px;padding:22px 32px;border:1px solid var(--line-strong);background:linear-gradient(90deg,#00ff9d0d,#00c8ff0d);display:flex;align-items:center;gap:22px;position:relative;overflow:hidden}.bfl-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,255,157,.14),transparent);transform:translate(-100%);animation:sweep 4.5s linear infinite}@keyframes sweep{to{transform:translate(100%)}}.bfl-tag{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--green);text-transform:uppercase;white-space:nowrap;z-index:1}.bfl-band .desc{color:var(--text-dim);font-size:14.5px;z-index:1}.tech-cols{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:start}.arch-diagram{width:100%}.arch-layer{border:1px solid var(--line);background:var(--surface);padding:20px 24px;transition:border-color .3s ease,box-shadow .3s ease}.arch-layer:hover{border-color:var(--line-strong);box-shadow:0 0 24px #00c8ff14}.arch-layer .layer-name{font-family:var(--head);font-weight:600;font-size:18px}.arch-layer .layer-tech{font-family:var(--mono);font-size:12px;color:var(--text-dim);margin-top:4px}.arch-link{text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--cyan);padding:10px 0;position:relative}.arch-link span{display:inline-block;padding:0 12px;background:var(--bg);position:relative;z-index:1}.arch-link:before{content:"";position:absolute;left:50%;top:-2px;width:1px;height:calc(100% + 4px);background:var(--line-strong)}.ml-arsenal{margin-top:36px;border:1px solid var(--line-strong);background:var(--surface-2);padding:28px 30px}.ml-arsenal .ml-title{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--green);text-transform:uppercase;margin-bottom:18px}.ml-row{display:flex;justify-content:space-between;gap:16px;font-family:var(--mono);font-size:13px;padding:11px 0;border-bottom:1px solid var(--line)}.ml-row:last-child{border-bottom:none}.ml-row .m-name{color:var(--text)}.ml-row .m-val{color:var(--cyan);white-space:nowrap}.tech-text h3{font-family:var(--head);font-weight:700;font-size:30px;line-height:1.1;margin-bottom:22px}.tech-text p{color:var(--text-dim);font-size:17px;margin-bottom:18px}.badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.badge{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--text-dim);border:1px solid var(--line);padding:8px 14px;transition:all .25s ease}.badge:hover{color:var(--cyan);border-color:var(--line-strong)}.about-cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.quote-card{position:relative;border:1px solid var(--line-strong);background:var(--surface);padding:48px 44px;overflow:hidden}.quote-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,#0000 0px 3px,#00141e40 4px,#0000 5px);opacity:.6}.quote-card .qmark{font-family:var(--head);font-size:80px;line-height:.6;color:var(--cyan);opacity:.5}.quote-card blockquote{font-family:var(--head);font-weight:600;font-size:clamp(26px,3vw,36px);line-height:1.18;margin-top:18px;position:relative;z-index:1}.quote-card .qattr{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--text-dim);margin-top:30px;text-transform:uppercase;position:relative;z-index:1}.about-text p{color:var(--text-dim);font-size:17px;margin-bottom:22px}.about-text p strong{color:var(--text);font-weight:400}.about-text .lead{color:var(--text);font-size:18px}#contact{padding-bottom:0}.contact-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:start}.contact-form .field{margin-bottom:22px}.contact-form label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px}.contact-form input,.contact-form textarea{width:100%;background:var(--surface);border:1px solid var(--line);color:var(--text);font-family:var(--body);font-size:16px;padding:14px 16px;transition:border-color .25s ease,box-shadow .25s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 1px var(--cyan),0 0 18px #00c8ff2e}.contact-form textarea{resize:vertical;min-height:130px}.field.invalid input,.field.invalid textarea{border-color:#ff5b6e}.field .err{display:none;font-family:var(--mono);font-size:11px;color:#ff5b6e;margin-top:8px;letter-spacing:.06em}.field.invalid .err{display:block}.form-status{font-family:var(--mono);font-size:12px;color:var(--green);margin-top:16px;min-height:16px;letter-spacing:.06em}.info-row{padding:22px 0;border-bottom:1px solid var(--line)}.info-row:first-child{padding-top:0}.info-row .k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px}.info-row .v{font-family:var(--head);font-weight:600;font-size:21px}.info-row .v.cyan{color:var(--cyan)}.info-row .v.small{font-size:18px}footer.site-footer{margin-top:100px;border-top:1px solid var(--line);padding:30px 0}.footer-inner{max-width:var(--maxw);margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--text-dim)}.footer-inner .links{display:flex;gap:22px}.footer-inner .links a:hover{color:var(--cyan)}@media(max-width:980px){.build-grid{grid-template-columns:1fr}.tech-cols,.about-cols,.contact-cols{grid-template-columns:1fr;gap:44px}}@media(max-width:768px){.wrap,.nav-inner,.hud-inner,.footer-inner{padding-left:22px;padding-right:22px}section{padding:84px 0}.nav-links{display:none}.hamburger{display:flex}.section-head{margin-bottom:44px}.diff-grid{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:14px}.diff-card{scroll-snap-align:start}.tl-track{display:none}.tl-progress-dot{display:none!important}.tl-accordion{display:block}.tl-detail{display:none}}@media(min-width:769px){.tl-accordion{display:none}}.tl-accordion .acc-item{border:1px solid var(--line);border-left:2px solid var(--line-strong);margin-bottom:12px;background:var(--surface)}.tl-accordion .acc-head{display:flex;align-items:center;gap:16px;padding:20px 22px;cursor:pointer;width:100%;background:none;border:none;color:inherit;text-align:left}.tl-accordion .acc-item.open{border-left-color:var(--cyan)}.tl-accordion .acc-num{font-family:var(--mono);font-size:13px;color:var(--cyan);width:26px;flex:none}.tl-accordion .acc-title{font-family:var(--head);font-weight:600;font-size:19px;flex:1}.tl-accordion .acc-toggle{color:var(--cyan);font-family:var(--mono)}.tl-accordion .acc-body{max-height:0;overflow:hidden;transition:max-height .4s ease}.tl-accordion .acc-item.open .acc-body{max-height:320px}.tl-accordion .acc-body p{padding:0 22px 22px;color:var(--text-dim);font-size:15px}
