:root{
  --bg:#101214; --bg2:#15171a; --card:#1a1d21; --border:#27272a;
  --text:#fff; --muted:#a1a1aa; --dim:#71717a;
  --cyan:#00f0ff; --blue:#0052ff;
  --grad: linear-gradient(90deg,#00f0ff 0%,#0052ff 100%);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body{cursor:none}
@media (max-width:768px){body{cursor:auto}}
::selection{background:var(--cyan);color:#000}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;cursor:none}
@media (max-width:768px){a{cursor:pointer}}
button{font-family:inherit;border:none;background:none;color:inherit}

.font-mono{font-family:'Roboto Mono',monospace}
.gradient-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
@media (min-width:768px){.container{padding:0 40px}}

/* Buttons */
.btn-gradient{background:var(--grad);color:#fff;font-weight:700;padding:14px 28px;cursor:none;font-family:'Roboto Mono',monospace;font-size:13px;text-transform:uppercase;letter-spacing:.08em;transition:transform .3s ease,box-shadow .3s ease;display:inline-block}
.btn-gradient:hover{transform:translateY(-2px);box-shadow:0 0 30px rgba(0,240,255,.45)}
.btn-ghost{background:transparent;border:1px solid #3f3f46;color:#fff;padding:14px 28px;cursor:none;font-family:'Roboto Mono',monospace;font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;transition:all .3s ease;display:inline-block}
.btn-ghost:hover{border-color:var(--cyan);color:var(--cyan)}
@media (max-width:768px){.btn-gradient,.btn-ghost{cursor:pointer}}

/* Custom cursor */
.custom-cursor{position:fixed;pointer-events:none;z-index:9999;border-radius:50%;background:#fff;width:8px;height:8px;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .25s ease,height .25s ease,background .25s ease,border .25s ease;left:-100px;top:-100px}
.custom-cursor.hover{width:48px;height:48px;background:transparent;border:1.5px solid #fff}
@media (max-width:768px){.custom-cursor{display:none}}

/* Grid bg */
.grid-bg{background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:64px 64px;position:absolute;inset:0;pointer-events:none}

/* Preloader + Glitch */
.preloader{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity .7s ease,transform .7s ease}
.preloader.hide{opacity:0;transform:translateY(-40px);pointer-events:none}
.preloader-inner{position:relative;text-align:center}
.glitch{position:relative;color:#fff;font-family:'Roboto Mono',monospace;font-weight:900;letter-spacing:-.02em;font-size:64px;line-height:1;margin:0}
@media (min-width:640px){.glitch{font-size:96px}}
.glitch::before,.glitch::after{content:attr(data-text);position:absolute;left:0;top:0;width:100%}
.glitch::before{color:var(--cyan);animation:glitch1 1.6s linear forwards}
.glitch::after{color:var(--blue);animation:glitch2 1.6s linear forwards}
@keyframes glitch1{0%{clip-path:inset(20% 0 60% 0);transform:translate(-2px,0)}20%{clip-path:inset(80% 0 5% 0);transform:translate(2px,0)}40%{clip-path:inset(40% 0 40% 0);transform:translate(-1px,0)}60%{clip-path:inset(10% 0 80% 0);transform:translate(1px,0)}80%{clip-path:inset(60% 0 20% 0);transform:translate(-2px,0)}100%{clip-path:inset(0 0 100% 0);transform:translate(0,0)}}
@keyframes glitch2{0%{clip-path:inset(70% 0 10% 0);transform:translate(2px,0)}25%{clip-path:inset(20% 0 50% 0);transform:translate(-2px,0)}50%{clip-path:inset(50% 0 30% 0);transform:translate(1px,0)}75%{clip-path:inset(80% 0 5% 0);transform:translate(-1px,0)}100%{clip-path:inset(0 0 100% 0);transform:translate(0,0)}}
.preloader-bar{height:2px;width:0;background:var(--grad);margin-top:24px;animation:bar 1.6s ease forwards}
@keyframes bar{to{width:100%}}
.preloader-tag{margin-top:14px;font-family:'Roboto Mono',monospace;color:#52525b;font-size:11px;letter-spacing:.4em;text-transform:uppercase}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;padding:24px 0;transition:all .5s ease}
.site-header.scrolled{padding:12px 0;background:rgba(16,18,20,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(39,39,42,.6)}
.header-inner{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;font-family:'Roboto Mono',monospace;font-weight:900;font-size:20px;letter-spacing:-.02em;color:#fff}
.logo .dot{color:var(--cyan)}
.logo-text{font-family:'Roboto Mono',monospace;font-weight:900;font-size:24px;color:#fff}
.logo-text .dot{color:var(--cyan)}
.nav-desktop{display:none;gap:40px}
@media (min-width:768px){.nav-desktop{display:flex}}
.nav-desktop a{font-size:14px;color:#d4d4d8;font-weight:500;letter-spacing:.02em;transition:color .2s}
.nav-desktop a:hover{color:#fff}
.header-actions{display:flex;align-items:center;gap:12px}
.header-cta{display:none}
@media (min-width:640px){.header-cta{display:inline-block}}
.mobile-toggle{display:flex;flex-direction:column;gap:5px;padding:8px;cursor:pointer}
@media (min-width:768px){.mobile-toggle{display:none}}
.mobile-toggle span{width:24px;height:2px;background:#fff;display:block}
.mobile-toggle span:last-child{width:16px;margin-left:auto}
.mobile-menu{display:none;background:rgba(16,18,20,.95);backdrop-filter:blur(14px);border-top:1px solid rgba(39,39,42,.6);padding:24px}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:10px 0;color:#d4d4d8}
.mobile-menu a:hover{color:var(--cyan)}

/* Reveal animations */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}

/* Hero */
.hero{position:relative;min-height:100vh;padding:128px 0 96px;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.4}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(16,18,20,.4) 0,rgba(16,18,20,.7) 50%,#101214 100%)}
.hero-content{position:relative;width:100%}
.overline{font-family:'Roboto Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.4em;color:var(--cyan);margin:0 0 24px}
.hero-title{font-family:'Roboto Mono',monospace;font-weight:900;font-size:48px;line-height:.95;letter-spacing:-.03em;margin:0;text-transform:none}
@media (min-width:640px){.hero-title{font-size:80px}}
@media (min-width:1024px){.hero-title{font-size:112px}}
.hero-title .line{display:block;opacity:0;transform:translateY(60px);animation:lineIn .7s cubic-bezier(.22,1,.36,1) forwards}
.hero-title .line.last{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
@keyframes lineIn{to{opacity:1;transform:translateY(0)}}
.hero-sub{margin:40px 0 0;max-width:640px;color:var(--muted);font-size:16px;line-height:1.7}
@media (min-width:640px){.hero-sub{font-size:18px}}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-top:40px}
.scroll-indicator{position:absolute;bottom:32px;left:0;font-family:'Roboto Mono',monospace;font-size:11px;color:#52525b;letter-spacing:.3em;text-transform:uppercase;animation:fadeIn 1s ease 1.6s forwards;opacity:0}
@keyframes fadeIn{to{opacity:1}}

/* Marquee */
.marquee{border-top:1px solid rgba(39,39,42,.8);border-bottom:1px solid rgba(39,39,42,.8);background:#0e1012;padding:24px 0;overflow:hidden;position:relative}
.marquee-track{display:flex;width:max-content;animation:marquee 35s linear infinite;align-items:center;gap:32px;padding-left:32px}
.marquee-item{font-family:'Roboto Mono',monospace;font-weight:900;font-size:32px;letter-spacing:-.02em;color:#3f3f46;text-transform:uppercase;white-space:nowrap;transition:color .3s}
@media (min-width:640px){.marquee-item{font-size:48px}}
.marquee-item:hover{color:var(--cyan)}
.marquee-sep{color:var(--cyan);font-size:20px}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* Sections */
.section{padding:128px 0;position:relative}
.section-title{font-family:'Roboto Mono',monospace;font-weight:700;font-size:36px;letter-spacing:-.03em;margin:0 0 64px;max-width:820px;line-height:1.05}
@media (min-width:640px){.section-title{font-size:56px}}

/* Solutions */
.solutions-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:32px}
@media (min-width:768px){.solutions-grid{grid-template-columns:repeat(3,1fr)}}
.solution-card{position:relative;background:var(--card);border:1px solid var(--border);padding:40px;transition:transform .4s ease}
.solution-card::before{content:'';position:absolute;inset:0;padding:1px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease;pointer-events:none}
.solution-card:hover{transform:translateY(-8px)}
.solution-card:hover::before{opacity:1}
.solution-top{display:flex;justify-content:space-between;align-items:flex-start}
.solution-num{font-family:'Roboto Mono',monospace;font-size:11px;color:var(--cyan);letter-spacing:.2em}
.solution-arrow{color:#52525b;transition:color .3s}
.solution-card:hover .solution-arrow{color:var(--cyan)}
.solution-title{font-family:'Roboto Mono',monospace;font-weight:700;font-size:24px;color:#fff;margin:48px 0 16px;line-height:1.2}
.solution-desc{font-size:14px;color:var(--muted);line-height:1.7;margin:0}

/* Case Studies */
.case-list{margin-top:48px}
.case-row{display:flex;flex-direction:column;justify-content:space-between;padding:32px 0;border-bottom:1px solid var(--border);color:#71717a;transition:color .3s ease;cursor:none}
.case-row:first-child{border-top:1px solid var(--border)}
@media (min-width:768px){.case-row{flex-direction:row;align-items:center;padding:48px 0}}
@media (max-width:768px){.case-row{cursor:pointer}}
.case-row:hover{color:#fff}
.case-title{font-family:'Roboto Mono',monospace;font-weight:700;font-size:32px;letter-spacing:-.02em;margin:0}
@media (min-width:640px){.case-title{font-size:48px}}
.case-meta{font-family:'Roboto Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.3em;color:var(--dim);margin:12px 0 0}
.case-link{font-family:'Roboto Mono',monospace;font-size:13px;text-transform:uppercase;letter-spacing:.18em;display:flex;align-items:center;gap:8px;margin-top:16px}
@media (min-width:768px){.case-link{margin-top:0}}
.case-preview{position:fixed;width:380px;height:240px;pointer-events:none;z-index:30;opacity:0;transform:scale(.92);transition:opacity .25s ease,transform .25s ease;border:1px solid var(--border);box-shadow:0 20px 60px rgba(0,240,255,.2);background-size:cover;background-position:center;display:none}
@media (min-width:768px){.case-preview.show{opacity:1;transform:scale(1);display:block}}

/* Impact */
.impact{padding:96px 0;border-top:1px solid rgba(39,39,42,.8);border-bottom:1px solid rgba(39,39,42,.8);background:#0e1012}
.impact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-top:48px}
@media (min-width:768px){.impact-grid{grid-template-columns:repeat(4,1fr);gap:24px}}
.impact-cell{text-align:center;padding:0 8px}
@media (min-width:768px){.impact-cell{border-right:1px solid rgba(39,39,42,.8)}.impact-cell:last-child{border-right:none}}
.impact-num{font-family:'Roboto Mono',monospace;font-weight:900;font-size:40px;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
@media (min-width:640px){.impact-num{font-size:56px}}
@media (min-width:1024px){.impact-num{font-size:72px}}
.impact-label{margin-top:16px;font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}
@media (min-width:640px){.impact-label{font-size:14px}}

/* Testimonials */
.testimonials{position:relative;overflow:hidden}
.testimonials::before{content:'"';position:absolute;top:-80px;left:-40px;font-size:480px;line-height:1;color:rgba(39,39,42,.6);font-family:'Roboto Mono',monospace;pointer-events:none}
.testimonial-stage{position:relative;text-align:center;min-height:240px;max-width:880px;margin:0 auto}
.testimonial{position:absolute;inset:0;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;pointer-events:none}
.testimonial.active{opacity:1;transform:translateY(0);position:relative;pointer-events:auto}
.testimonial-quote{font-family:'Roboto Mono',monospace;font-weight:500;font-size:22px;color:#fff;line-height:1.5;margin:0}
@media (min-width:640px){.testimonial-quote{font-size:30px}}
@media (min-width:1024px){.testimonial-quote{font-size:36px}}
.testimonial-meta{margin-top:48px;display:flex;align-items:center;justify-content:center;gap:16px}
.testimonial-img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}
.testimonial-name{font-weight:700;color:#fff;text-align:left}
.testimonial-title{font-family:'Roboto Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--dim);text-align:left}
.testimonial-controls{margin-top:64px;display:flex;align-items:center;justify-content:center;gap:24px}
.t-btn{padding:12px 16px;border:1px solid var(--border);font-size:18px;cursor:none;transition:all .2s}
@media (max-width:768px){.t-btn{cursor:pointer}}
.t-btn:hover{border-color:var(--cyan);color:var(--cyan)}
.t-dots{display:flex;gap:8px}
.t-dot{height:2px;width:24px;background:#3f3f46;cursor:none;transition:all .25s}
.t-dot.active{width:48px;background:var(--cyan)}

/* CTA */
.cta-section{padding:128px 0}
.cta-inner{max-width:880px;margin:0 auto;text-align:center;position:relative}
.cta-headline{font-family:'Roboto Mono',monospace;font-weight:900;font-size:36px;letter-spacing:-.03em;margin:0;color:#fff;line-height:1.05}
@media (min-width:640px){.cta-headline{font-size:60px}}
@media (min-width:1024px){.cta-headline{font-size:72px}}
.cta-sub{margin:24px 0 40px;color:var(--muted);font-size:16px}
@media (min-width:640px){.cta-sub{font-size:18px}}
.cta-btn{margin-top:8px}

/* Forms */
.limix-input{background:#0f1114;border:1px solid var(--border);color:#fff;padding:12px 14px;font-family:'Inter',sans-serif;font-size:14px;width:100%;transition:border-color .2s}
.limix-input:focus{outline:none;border-color:var(--cyan)}
.limix-textarea{min-height:120px;resize:vertical}
.contact-form{display:grid;grid-template-columns:1fr;gap:16px;margin-top:48px;text-align:left;max-width:640px;margin-left:auto;margin-right:auto}
@media (min-width:768px){.contact-form{grid-template-columns:1fr 1fr}}
.contact-form .span-2{grid-column:1 / -1}
.contact-form.hidden{display:none}
.newsletter{margin:80px auto 0;max-width:420px;display:flex;border:1px solid var(--border);transition:border-color .2s}
.newsletter:focus-within{border-color:var(--cyan)}
.newsletter input{background:transparent;flex:1;padding:12px 16px;outline:none;color:#fff;font-size:14px;border:none;font-family:inherit}
.newsletter input::placeholder{color:#52525b}
.newsletter button{padding:0 20px;font-family:'Roboto Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.2em;cursor:none;font-weight:700}
@media (max-width:768px){.newsletter button{cursor:pointer}}
.newsletter-note{margin-top:12px;text-align:center;font-family:'Roboto Mono',monospace;font-size:11px;color:#52525b;text-transform:uppercase;letter-spacing:.2em}

/* Footer */
.site-footer{border-top:1px solid rgba(39,39,42,.8);padding:80px 0 40px;background:#0c0e10}
.footer-grid{display:grid;grid-template-columns:1fr;gap:48px}
@media (min-width:768px){.footer-grid{grid-template-columns:repeat(4,1fr)}}
.footer-mission{color:var(--muted);font-size:14px;line-height:1.7;margin:16px 0 0;max-width:280px}
.footer-heading{font-family:'Roboto Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:.3em;color:var(--dim);margin:0 0 20px}
.footer-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.footer-list a{font-size:14px;color:#d4d4d8;transition:color .2s}
.footer-list a:hover{color:var(--cyan)}
.footer-contact{display:flex;flex-direction:column;gap:12px;font-size:14px;color:#d4d4d8}
.footer-contact span{color:var(--cyan);margin-right:8px}
.footer-social{margin-top:24px;display:flex;gap:12px}
.footer-social a{width:36px;height:36px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;font-family:'Roboto Mono',monospace;font-weight:700;transition:all .2s}
.footer-social a:hover{border-color:var(--cyan);color:var(--cyan)}
.footer-bar{max-width:1200px;margin:64px auto 0;padding:32px 24px 0;border-top:1px solid #18181b;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:12px;font-family:'Roboto Mono',monospace;font-size:11px;color:#52525b}
@media (min-width:768px){.footer-bar{flex-direction:row;padding:32px 40px 0}}

/* Toasts */
.toast-container{position:fixed;bottom:24px;right:24px;z-index:9998;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{background:#1a1d21;border:1px solid var(--border);color:#fff;padding:12px 18px;font-size:14px;min-width:240px;max-width:340px;animation:toastIn .3s ease;pointer-events:auto}
.toast.success{border-color:rgba(74,222,128,.5)}
.toast.error{border-color:rgba(248,113,113,.5)}
@keyframes toastIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}

/* Scrollbar */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#0a0b0d}
::-webkit-scrollbar-thumb{background:var(--border)}
::-webkit-scrollbar-thumb:hover{background:var(--cyan)}
