:root{
  --bg:#0b1220;
  --panel:#0f172a;
  --text:#e2e8f0;
  --muted:#93c5fd;
  --accent:#38bdf8;
  --card:#0b1220;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#0b1220;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
header{
  position:sticky;
  top:0;
  z-index:10;
  background:linear-gradient(90deg,var(--panel),#0a1326);
  border-bottom:1px solid rgba(148,163,184,.15);
  backdrop-filter:saturate(140%) blur(6px);
}

.header-inner,
header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 24px;
  width: 100%;
}

.brand{display:flex;gap:12px;align-items:center}
.brand img{height:44px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
.brand h1{font-size:18px;margin:0;color:#e5f0ff;letter-spacing:.6px}

/* Hamburger Menu Toggle */
.menu-toggle {
  display:none;
  flex-direction:column;
  justify-content:space-around;
  width:28px;
  height:28px;
  background:transparent;
  border:none;
  cursor:pointer;
  padding:0;
  z-index:20;
}

.menu-toggle span {
  width:100%;
  height:2.5px;
  background:#e5f0ff;
  border-radius:2px;
  transition:all 0.3s ease;
  transform-origin:center;
}

.menu-toggle:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:4px;
}

nav{
  display:flex;
  align-items:center;
  gap:18px;
}

nav a{
  color:#dbeafe;
  font-weight:600;
  opacity:.9;
  padding:6px 4px;
  white-space:nowrap;
}

nav a.active{
  border-bottom:2px solid var(--accent);
}

main{max-width:980px;margin:0 auto;padding:36px 20px}
.hero{
  display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center;
  background:radial-gradient(1200px 600px at 0% -10%, rgba(56,189,248,.08), transparent),
             radial-gradient(800px 400px at 125% 20%, rgba(59,130,246,.12), transparent);
  border:1px solid rgba(148,163,184,.15);
  border-radius:18px;padding:28px 28px;
  box-shadow:0 8px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.03);
}
.hero h2{font-size:36px;line-height:1.15;margin:0 0 10px;color:#e6f3ff}
.hero p{font-size:16px;color:#c7d2fe;margin:0 0 16px}
.badge{display:inline-flex;gap:8px;align-items:center;font-size:12px;border:1px solid rgba(148,163,184,.25);padding:6px 10px;border-radius:999px;color:#bee3ff;background:rgba(56,189,248,.08)}
.cta{display:flex;gap:12px;margin-top:14px}
.btn{padding:10px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.25);background:#0b1a30;color:#e6f3ff;font-weight:700}
.btn:hover{transform:translateY(-1px);transition:transform .15s ease}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:28px}
.card{background:linear-gradient(180deg,#0f1a35,#0b1328);border:1px solid rgba(148,163,184,.18);border-radius:16px;padding:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.card h3{margin:0 0 6px;font-size:18px;color:#eaf2ff}
.muted{color:#9bb8e0}
footer{max-width:980px;margin:30px auto 60px;opacity:.7;text-align:center;color:#9fb3d1}
.mono{font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.pill{display:inline-block;padding:4px 10px;border-radius:999px;background:#0a1a2e;border:1px solid rgba(56,189,248,.3);color:#bfe6ff;font-size:12px}
.stack{display:flex;flex-direction:column;gap:10px}
.service-kicker{letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:#94a3b8}
.hr{height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.3),transparent);margin:24px 0}
@media (max-width:760px){
  html, body {
    overflow-x: hidden;
  }

  .header-inner {
    width:100%;
    flex-wrap:wrap;
    padding:12px 16px;
    position:relative;
  }

  header {
    padding:0;
    width:100%;
  }

  .brand{
    gap:10px;
    flex:1;
    min-width:0;
  }

  .brand img{
    height:36px;
  }

  .brand h1{
    font-size:16px;
    letter-spacing:.4px;
  }

  .menu-toggle {
    display:flex;
    flex-shrink:0;
  }

  /* Hamburger animation when menu is open */
  header.menu-open .menu-toggle span:nth-child(1) {
    transform:rotate(45deg) translate(7px, 7px);
  }

  header.menu-open .menu-toggle span:nth-child(2) {
    opacity:0;
  }

  header.menu-open .menu-toggle span:nth-child(3) {
    transform:rotate(-45deg) translate(7px, -7px);
  }

  nav{
    width:100%;
    flex-basis:100%;
    order:3;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    max-height:0;
    overflow:hidden;
    opacity:0;
    transition:max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
    padding:0;
    margin-top:0;
  }

  header.menu-open nav {
    max-height:300px;
    opacity:1;
    padding:16px 0 8px;
    margin-top:12px;
    border-top:1px solid rgba(148,163,184,.15);
  }

  nav a{
    display:block;
    padding:12px 10px;
    border-radius:8px;
    text-align:left;
    transition:background 0.2s ease;
  }

  nav a:hover {
    background:rgba(56,189,248,.1);
    text-decoration:none;
  }

  nav a.active{
    border-bottom:none;
    background:rgba(56,189,248,.15);
  }

  main {
    padding:24px 16px;
    width:100%;
    box-sizing:border-box;
  }

  .hero {
    grid-template-columns:1fr;
    padding:20px 16px;
    gap:20px;
  }

  .hero h2 {
    font-size:28px;
  }

  .cta {
    flex-direction:column;
    gap:10px;
  }

  .btn {
    width:100%;
    text-align:center;
  }

  .cards {
    grid-template-columns:1fr;
  }
}



