:root{
  --bg:#05060f; --bg-2:#0a0d1f; --panel:rgba(255,255,255,0.04);
  --border:rgba(255,255,255,0.08);
  --text:#e8ecff; --muted:#8a91b4; --muted-2:#9aa3c7;
  --neon:#22d3ee; --neon-2:#3b82f6; --neon-3:#a855f7;
  --grad: linear-gradient(135deg,#22d3ee 0%,#3b82f6 50%,#a855f7 100%);
  --grad-soft: linear-gradient(135deg, rgba(34,211,238,.15), rgba(168,85,247,.15));
  --shadow: 0 30px 80px -20px rgba(59,130,246,.35);
}
*{box-sizing:border-box}
html,body{background:var(--bg); color:var(--text); font-family:'Inter',system-ui,sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden}
body{background:
  radial-gradient(1200px 600px at 10% -10%, rgba(59,130,246,.18), transparent 60%),
  radial-gradient(900px 500px at 100% 10%, rgba(168,85,247,.18), transparent 60%),
  var(--bg);
}
a{color:var(--neon); text-decoration:none}
a:hover{color:#fff}
h1,h2,h3,h4{font-family:'Orbitron',sans-serif; letter-spacing:.5px; color:#fff}
.text-muted-2{color:var(--muted-2)!important}
.section{padding:120px 0; position:relative}
.section-sm{padding:80px 0}
.section-title{font-size:clamp(28px,3.4vw,46px); line-height:1.1; margin-bottom:18px}
.section-eyebrow{display:inline-block; padding:6px 14px; border:1px solid var(--border); border-radius:999px; font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--neon); background:var(--grad-soft); margin-bottom:18px}
.gradient-text{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}

/* Navbar */
.mg-nav{background:rgba(5,6,15,.6); backdrop-filter:blur(14px); border-bottom:1px solid var(--border); transition:all .3s}
.mg-nav.scrolled{background:rgba(5,6,15,.92); box-shadow:0 10px 30px rgba(0,0,0,.4)}
.mg-brand{display:inline-flex; align-items:center; gap:10px; font-family:'Orbitron',sans-serif; font-weight:800; color:#fff !important; text-decoration:none}
.brand-mark{width:36px; height:36px; border-radius:10px; background:var(--grad); display:grid; place-items:center; color:#05060f; font-weight:900; box-shadow:0 8px 24px rgba(59,130,246,.5)}
.brand-text{font-size:18px}
.brand-accent{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}
.mg-nav .nav-link{color:#cfd6ff !important; font-weight:500; padding:8px 14px !important; border-radius:8px; transition:all .25s}
.mg-nav .nav-link:hover{color:#fff !important; background:rgba(255,255,255,.05)}
.mg-dropdown{background:rgba(10,13,31,.95); backdrop-filter:blur(16px); border:1px solid var(--border); border-radius:14px; padding:8px; min-width:280px}
.mg-dropdown .dropdown-item{color:#cfd6ff; border-radius:8px; padding:10px 12px}
.mg-dropdown .dropdown-item:hover{background:var(--grad-soft); color:#fff}

/* Buttons */
.btn-mg-primary{background:var(--grad); color:#05060f; font-weight:700; border:none; padding:12px 24px; border-radius:999px; box-shadow:var(--shadow); transition:transform .25s, box-shadow .25s}
.btn-mg-primary:hover{transform:translateY(-2px); color:#05060f; box-shadow:0 20px 50px -10px rgba(168,85,247,.5)}
.btn-mg-ghost{background:transparent; color:#fff; border:1px solid var(--border); padding:12px 24px; border-radius:999px; transition:all .25s}
.btn-mg-ghost:hover{border-color:var(--neon); color:var(--neon); background:rgba(34,211,238,.08)}

/* Hero */
.mg-hero{position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; padding-top:120px}
.mg-hero-bg{position:absolute; inset:0; z-index:0}
.mg-hero-bg video{width:100%; height:100%; object-fit:cover; opacity:.35}
.mg-hero-bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(5,6,15,.4), rgba(5,6,15,.9) 70%, var(--bg))}
#mgParticles{position:absolute; inset:0; z-index:1}
.mg-hero .container{position:relative; z-index:2}
.mg-hero h1{font-size:clamp(36px,5.5vw,72px); line-height:1.05; margin-bottom:22px}
.mg-hero p.lead{font-size:clamp(15px,1.4vw,19px); color:var(--muted-2); max-width:640px; margin-bottom:30px}
.hero-badges{display:flex; gap:10px; flex-wrap:wrap; margin-top:30px}
.hero-badge{padding:8px 14px; border:1px solid var(--border); border-radius:999px; background:rgba(255,255,255,.03); font-size:13px; color:var(--muted-2)}
.hero-badge i{color:var(--neon); margin-right:6px}

/* Glass card */
.glass{background:var(--panel); border:1px solid var(--border); border-radius:20px; backdrop-filter:blur(14px); transition:transform .35s, border-color .35s, box-shadow .35s}
.glass:hover{transform:translateY(-6px); border-color:rgba(34,211,238,.4); box-shadow:0 30px 60px -20px rgba(34,211,238,.25)}

/* Service card */
.service-card{overflow:hidden; height:100%; display:flex; flex-direction:column}
.service-card .sc-img{height:200px; background-size:cover; background-position:center; position:relative}
.service-card .sc-img::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(10,13,31,.9))}
.service-card .sc-icon{position:absolute; bottom:-22px; left:24px; width:54px; height:54px; border-radius:14px; background:var(--grad); display:grid; place-items:center; color:#05060f; font-size:22px; z-index:2; box-shadow:0 12px 24px rgba(59,130,246,.4)}
.service-card .sc-body{padding:36px 24px 24px; flex:1; display:flex; flex-direction:column}
.service-card h3{font-size:18px; margin-bottom:10px}
.service-card p{color:var(--muted-2); font-size:14px; flex:1}
.service-card .sc-link{display:inline-flex; align-items:center; gap:8px; color:var(--neon); font-weight:600; font-size:14px; margin-top:14px}
.service-card .sc-link:hover{color:#fff; gap:12px}

/* Logos / trusted */
.mg-logos{display:grid; grid-template-columns:repeat(6,1fr); gap:30px; align-items:center; opacity:.7}
.mg-logos div{font-family:'Orbitron',sans-serif; text-align:center; color:#a8b0d3; font-weight:700; letter-spacing:2px; font-size:14px}
@media(max-width:768px){ .mg-logos{grid-template-columns:repeat(3,1fr)} }

/* Process */
.process-step{position:relative; padding:30px; border-radius:20px; background:var(--panel); border:1px solid var(--border); height:100%}
.process-step .num{font-family:'Orbitron',sans-serif; font-size:46px; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; line-height:1}

/* Why choose */
.why-item{display:flex; gap:16px; padding:22px; border-radius:18px; background:var(--panel); border:1px solid var(--border)}
.why-item .ic{width:48px; height:48px; min-width:48px; border-radius:12px; background:var(--grad-soft); border:1px solid var(--border); display:grid; place-items:center; color:var(--neon); font-size:22px}

/* Counters */
.counter-box{text-align:center; padding:30px 10px}
.counter-box .num{font-family:'Orbitron',sans-serif; font-size:48px; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}
.counter-box .lbl{color:var(--muted-2); font-size:13px; letter-spacing:2px; text-transform:uppercase}

/* Portfolio */
.portfolio-item{position:relative; border-radius:20px; overflow:hidden; aspect-ratio:4/3}
.portfolio-item img{width:100%; height:100%; object-fit:cover; transition:transform .6s}
.portfolio-item:hover img{transform:scale(1.08)}
.portfolio-item .pf-over{position:absolute; inset:0; background:linear-gradient(180deg, transparent 40%, rgba(5,6,15,.9)); display:flex; align-items:flex-end; padding:24px}
.portfolio-item .pf-over h4{font-size:18px; margin:0}
.portfolio-item .pf-over span{color:var(--neon); font-size:12px; letter-spacing:2px}

/* Tech stack */
.tech-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:16px}
.tech-pill{padding:16px; text-align:center; border-radius:14px; background:var(--panel); border:1px solid var(--border); transition:all .3s}
.tech-pill:hover{border-color:var(--neon); transform:translateY(-4px)}
.tech-pill i{font-size:28px; background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent}
.tech-pill div{font-size:12px; color:var(--muted-2); margin-top:6px}
@media(max-width:768px){ .tech-grid{grid-template-columns:repeat(3,1fr)} }

/* Testimonials */
.testimonial{padding:30px; border-radius:20px; background:var(--panel); border:1px solid var(--border); height:100%}
.testimonial .quote{color:var(--muted-2); font-style:italic}
.testimonial .person{display:flex; gap:12px; align-items:center; margin-top:20px}
.testimonial .person img{width:48px; height:48px; border-radius:50%; object-fit:cover}

/* FAQ */
.accordion-item{background:var(--panel); border:1px solid var(--border) !important; border-radius:16px !important; margin-bottom:12px; overflow:hidden}
.accordion-button{background:transparent !important; color:#fff !important; font-weight:600; padding:20px 24px}
.accordion-button:not(.collapsed){background:var(--grad-soft) !important; color:#fff !important; box-shadow:none}
.accordion-button:focus{box-shadow:none}
.accordion-body{color:var(--muted-2); padding:0 24px 20px}

/* Forms */
.mg-input{background:rgba(255,255,255,.04); border:1px solid var(--border); color:#fff; border-radius:12px; padding:14px 16px; width:100%}
.mg-input:focus{outline:none; border-color:var(--neon); box-shadow:0 0 0 4px rgba(34,211,238,.15)}

/* Blog cards */
.blog-card{overflow:hidden; height:100%; display:flex; flex-direction:column}
.blog-card .bc-img{height:220px; background-size:cover; background-position:center}
.blog-card .bc-body{padding:24px; flex:1; display:flex; flex-direction:column}
.blog-card .bc-meta{font-size:12px; color:var(--neon); text-transform:uppercase; letter-spacing:2px; margin-bottom:10px}
.blog-card h3{font-size:18px; line-height:1.3; margin-bottom:10px}
.blog-card p{color:var(--muted-2); font-size:14px; flex:1}

/* Page header */
.page-header{padding:160px 0 80px; text-align:center; position:relative; overflow:hidden}
.page-header h1{font-size:clamp(32px,4vw,56px)}
.page-header p{color:var(--muted-2); max-width:680px; margin:14px auto 0}

/* Footer */
.mg-footer{background:#04050d; border-top:1px solid var(--border); padding:80px 0 30px; margin-top:60px}
.mg-foot-title{color:#fff; font-family:'Orbitron',sans-serif; font-size:13px; letter-spacing:3px; text-transform:uppercase; margin-bottom:16px}
.mg-foot-list{list-style:none; padding:0; margin:0}
.mg-foot-list li{margin-bottom:8px}
.mg-foot-list a{color:var(--muted-2); font-size:14px}
.mg-foot-list a:hover{color:var(--neon)}
.mg-social{width:38px; height:38px; border-radius:50%; border:1px solid var(--border); display:inline-grid; place-items:center; color:#cfd6ff}
.mg-social:hover{background:var(--grad); color:#05060f; border-color:transparent}
.mg-newsletter{display:flex; background:rgba(255,255,255,.05); border:1px solid var(--border); border-radius:999px; padding:4px}
.mg-newsletter input{flex:1; background:transparent; border:none; color:#fff; padding:10px 16px; outline:none}
.mg-newsletter button{background:var(--grad); color:#05060f; border:none; border-radius:999px; padding:8px 18px; font-weight:700}
.mg-divider{border-color:var(--border); margin:50px 0 24px}

/* Floating + back to top */
.mg-whatsapp{position:fixed; bottom:24px; right:24px; width:58px; height:58px; border-radius:50%; background:#25d366; color:#fff; display:grid; place-items:center; font-size:28px; z-index:99; box-shadow:0 12px 30px rgba(37,211,102,.5); animation:pulse 2s infinite}
.mg-whatsapp:hover{color:#fff; transform:scale(1.06)}
.mg-totop{position:fixed; bottom:24px; left:24px; width:48px; height:48px; border-radius:12px; background:var(--grad); color:#05060f; border:none; display:none; place-items:center; z-index:99; box-shadow:var(--shadow)}
.mg-totop.show{display:grid}
@keyframes pulse{0%,100%{box-shadow:0 12px 30px rgba(37,211,102,.5)} 50%{box-shadow:0 12px 40px rgba(37,211,102,.85)}}

/* Reveal */
.reveal{opacity:0; transform:translateY(30px); transition:all .8s ease}
.reveal.visible{opacity:1; transform:none}

/* Service detail */
.service-hero{padding:160px 0 60px}
.service-feature{display:flex; gap:14px; align-items:flex-start; margin-bottom:16px}
.service-feature i{color:var(--neon); font-size:22px; margin-top:2px}

/* Blog detail */
.blog-detail img.hero{width:100%; border-radius:20px; margin:30px 0}
.blog-detail p{color:#cfd6ff; line-height:1.85; font-size:16px}
.blog-detail h2{margin-top:40px; font-size:26px}
.share-row a{margin-right:10px; color:var(--muted-2)}
.share-row a:hover{color:var(--neon)}
