
:root{
  --bg:#0a0a0a;
  --ink:#d7e0ea;
  --muted:#9fb0be;
  --blue:#00aaff;
  --green:#39ff14;
  --card:#101317;
  --ring:rgba(0,170,255,.5);
  --ring-strong:rgba(0,170,255,.85);
}

/* Global */
*{ box-sizing:border-box }
html{ scroll-behavior:smooth }
html,body{ width:100%; max-width:100%; overflow-x:hidden }
body{
  margin:0;
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,'Noto Sans',sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}

/* Header */
header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(150%) blur(8px);
  background:rgba(10,10,10,.6);
  border-bottom:1px solid rgba(0,170,255,.15);
}
.nav-wrap{ max-width:1200px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; justify-content:space-between }
.logo{ font-weight:700; letter-spacing:.5px; color:var(--ink); text-decoration:none; font-size:1.125rem }

/* Primary nav */
nav a{ color:var(--muted); text-decoration:none; margin-left:18px; position:relative; font-weight:500 }
nav a:hover, nav a:focus{ color:#fff }
nav a.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-8px; height:2px;
  background:linear-gradient(90deg,var(--blue),var(--green)); border-radius:2px
}

/* Mobile toggle */
.nav-toggle{
  display:none; width:42px; height:36px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(16,16,16,.6);
  border-radius:10px; cursor:pointer;
  align-items:center; justify-content:center; gap:5px;
}
.nav-toggle span{ display:block; width:22px; height:2px; background:#eaf6ff; border-radius:2px }

/* Off-canvas nav panel (mobile) */
#nav-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.45);
  backdrop-filter:blur(2px); z-index:45; display:none;
}
#nav-backdrop[aria-hidden="false"]{ display:block }

@media (max-width: 820px){
  .nav-toggle{ display:inline-flex }
  header nav{
    position:fixed; top:0; right:0; bottom:0; left:auto;
    width:clamp(260px, 80vw, 360px);
    padding:calc(env(safe-area-inset-top,0) + 72px) 24px 24px;
    display:flex; flex-direction:column; gap:16px;
    background:rgba(10,10,10,.98);
    border-left:1px solid rgba(255,255,255,.08);
    transform:translateX(100%);
    transition:transform .25s ease;
    z-index:1000; overflow-y:auto;
  }
  header nav a{ color:#e6f3ff; margin:0; font-size:1.1rem; padding:10px 12px }
  header[data-menu-open="true"] nav{ transform:translateX(0) }
}

/* Hero */
.hero{
  position:relative; overflow:hidden; min-height:92vh;
  display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:center;
  max-width:1200px; margin:0 auto; padding:56px 20px 24px; isolation:isolate;
}
.hero::before{
  content:""; position:absolute; inset:-10%; z-index:-2; opacity:.85;
  background: radial-gradient(60% 60% at 20% 30%, rgba(0,170,255,.25), transparent 60%),
              radial-gradient(50% 40% at 85% 20%, rgba(57,255,20,.22), transparent 60%),
              linear-gradient(120deg, #06131c, #0a0a0a 30%, #0a0a0a 70%, #06131c);
  filter:saturate(120%);
}
.hero::after{
  content:""; position:absolute; inset:-20%; z-index:-1; opacity:.4;
  background:conic-gradient(from 0deg, rgba(0,170,255,.12), rgba(57,255,20,.12), rgba(0,170,255,.12));
  animation:spin 24s linear infinite;
}
@keyframes spin{ to{ transform:rotate(1turn) } }

.hero-copy h1{ font-size:clamp(2rem,6vw,4rem); line-height:1.12; margin:0 0 12px }
.hero-copy p{ color:var(--muted); max-width:60ch; margin:0 0 22px }

.cta{
  display:inline-block; padding:12px 18px; border-radius:12px; font-weight:600; letter-spacing:.3px;
  color:#031016; text-decoration:none;
  background:radial-gradient(120% 120% at 10% 10%, rgba(57,255,20,.95), rgba(0,170,255,.95));
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 0 0 0 rgba(0,170,255,0), 0 0 24px -6px rgba(0,170,255,.45);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.cta:hover{ transform:translateY(-2px); box-shadow:0 0 0 3px var(--ring), 0 6px 26px -8px var(--ring-strong); filter:brightness(1.06) }

.hero-visual{ position:relative; display:grid; place-items:center }
.avatar{
  width:min(520px, 90%);
  height:auto;
  display:block;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 24px rgba(0,170,255,.35)) drop-shadow(0 0 40px rgba(57,255,20,.25));
}

/* Sections */
section{ max-width:1200px; margin:0 auto; padding:72px 20px }
.section-title{ font-size:clamp(1.6rem,3vw,2.2rem); margin:0 0 22px }

.services{ display:grid; gap:22px; grid-template-columns:repeat(2, minmax(0, 1fr)) }
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px; padding:22px 22px 24px;
  box-shadow:0 6px 22px -14px rgba(0,0,0,.6), inset 0 0 0 1px rgba(0,170,255,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover{ transform:translateY(-4px); box-shadow:0 10px 30px -12px rgba(0,170,255,.25); border-color:rgba(0,170,255,.25) }
.card h3{ margin:0 0 8px; font-size:1.25rem }
.badge{ display:inline-block; padding:4px 10px; border-radius:999px; font-size:.8rem; letter-spacing:.2px; background:rgba(0,170,255,.14); color:#e9fbff; margin-right:8px; text-decoration:none }

.contact{ text-align:center }
.contact p{ color:var(--muted); max-width:70ch; margin:0 auto }

/* WhatsApp floating */
.wa-wrap{ position:fixed; right:20px; bottom:20px; z-index:60; display:flex; align-items:center; gap:10px }
.wa-label{
  background:rgba(0,0,0,.6); color:#eaffea; padding:10px 12px; border-radius:12px;
  border:1px solid rgba(57,255,20,.4); opacity:0; transform:translateX(6px);
  pointer-events:none; transition:.18s ease; white-space:nowrap; max-width:calc(100vw - 120px);
  overflow:hidden; text-overflow:ellipsis;
}
.wa-btn{
  display:inline-grid; place-items:center; width:56px; height:56px; border-radius:999px;
  background:#25d366; color:#02240a; text-decoration:none; font-size:28px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 30px -10px rgba(37,211,102,.55), inset 0 0 0 2px rgba(255,255,255,.08);
  transition:transform .14s ease, box-shadow .14s ease;
}
.wa-btn:hover{ transform:translateY(-2px); box-shadow:0 14px 36px -12px rgba(37,211,102,.7), 0 0 0 3px rgba(57,255,20,.35) }
.wa-wrap:hover .wa-label, .wa-btn:focus + .wa-label, .wa-btn:focus-visible + .wa-label{ opacity:1; transform:translateX(0) }

/* Footer */
footer{ border-top:1px solid rgba(255,255,255,.08) }
.footer-inner{ max-width:1200px; margin:0 auto; padding:26px 20px; text-align:center; color:var(--muted) }

/* Responsive tweaks */
@media (max-width:1024px){
  .hero{ grid-template-columns:1fr; gap:18px; padding-top:40px }
  .hero-visual{ order:-1 }
  .hero-copy{ text-align:center }
  .hero-copy p{ margin-left:auto; margin-right:auto }
  nav a{ margin-left:0 }
}
@media (max-width:820px){
  .services{ grid-template-columns:1fr }
}

/* Focus visible */
a,button{ outline-color:var(--blue); outline-offset:2px }
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important }
}
