:root{
  --bg:#050b18;
  --fg:#eaf1ff;
  --muted:rgba(234,241,255,.72);
  --ring:rgba(255,255,255,.10);
  --ring2:rgba(255,255,255,.14);
  --surface:rgba(255,255,255,.05);
  --surface2:rgba(255,255,255,.075);
  --brand:#7A93C0;
  --brand2:#284A6A;
  --brand3:#B6C8EE;
  --max:1360px;
  --gutter:clamp(18px,3.2vw,56px);
  --radius:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--fg);
  text-rendering:geometricPrecision;
}
a{color:inherit}

.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}

.skip-link{
  position:absolute;left:-999px;top:-999px;
  padding:10px 14px;border-radius:999px;
  background:#fff;color:#050b18;font-weight:600;font-size:14px;
}
.skip-link:focus{left:24px;top:24px;z-index:1000}

.header{
  position:sticky;top:0;z-index:60;
  background:rgba(5,11,24,.58);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ring);
}
.header-inner{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
@media (min-width:900px){.header-inner{height:72px}}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.logo-img{display:block}
.logo-img--brand{height:28px;width:auto;max-width:220px;object-fit:contain}
@media (min-width:900px){.logo-img--brand{height:32px;max-width:280px}}
.logo-img--word{height:18px;width:auto;display:none}
.logo-svg{display:block}
.logo-svg svg{display:block;width:100%;height:100%}
.logo.has-wordmark .logo-img--word{display:none}
@media (min-width:900px){
  .logo.has-wordmark .logo-img--word{display:block}
}

.nav{display:none;gap:4px}
@media (min-width:900px){.nav{display:flex}}
.nav-link{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:999px;
  color:rgba(255,255,255,.82);
  text-decoration:none;font-size:14px;
  transition:background .2s,color .2s;
}
.nav-link:hover{background:rgba(255,255,255,.05);color:#fff}
.nav-link.is-active{background:rgba(255,255,255,.06);color:#fff}

.header-actions{display:flex;align-items:center;gap:10px}
.menu-btn{
  display:inline-flex;align-items:center;justify-content:center;
  height:40px;padding:0 14px;border-radius:999px;
  background:var(--surface);border:1px solid var(--ring);
  color:#fff;font-weight:600;font-size:14px;cursor:pointer;
}
@media (min-width:900px){.menu-btn{display:none}}

.mobile-menu{display:none;border-top:1px solid var(--ring);background:rgba(5,11,24,.92)}
.mobile-menu.is-open{display:block}
.mobile-menu-inner{padding:14px 0;display:grid;gap:6px}
.mobile-link{
  padding:12px 14px;border-radius:14px;text-decoration:none;
  color:rgba(255,255,255,.86);background:transparent;
  transition:background .2s;
}
.mobile-link:hover{background:rgba(255,255,255,.05)}

.section{padding:clamp(56px,7vw,96px) 0}
.section-sm{padding:clamp(44px,5.5vw,80px) 0}
.section-muted{background:rgba(255,255,255,.03);border-top:1px solid var(--ring);border-bottom:1px solid var(--ring)}

.grid{display:grid;gap:clamp(12px,1.4vw,18px)}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
@media (min-width:900px){.grid-2{grid-template-columns:1fr 1fr}}
@media (min-width:640px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}

.card{
  border-radius:var(--radius);
  background:var(--surface);
  border:1px solid var(--ring);
}
.card.pad{padding:clamp(18px,2.2vw,22px)}
.card.pad-lg{padding:clamp(22px,2.6vw,30px)}
.card.interactive{
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
  will-change:transform;
}
.card.interactive:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.06);
  border-color:var(--ring2);
}

.eyebrow{font-size:13px;font-weight:600;color:rgba(182,200,238,.95)}
.h1{margin:14px 0 0;font-size:clamp(34px,5vw,62px);line-height:1.06;letter-spacing:-.035em}
.h2{margin:10px 0 0;font-size:clamp(24px,3.2vw,38px);line-height:1.14;letter-spacing:-.02em}
.p{margin:14px 0 0;color:var(--muted);font-size:16px;line-height:1.75}
.p-lg{font-size:17px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:48px;padding:0 18px;border-radius:999px;
  text-decoration:none;font-weight:600;font-size:14px;
  border:1px solid transparent;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
  will-change:transform;
}
@media (min-width:900px){.btn{height:52px;padding:0 20px}}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--brand2);color:#fff;box-shadow:0 10px 42px rgba(0,0,0,.22)}
.btn-primary:hover{background:var(--brand)}
.btn-secondary{background:var(--surface);border-color:var(--ring);color:#fff}
.btn-secondary:hover{background:rgba(255,255,255,.09)}

.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.pill{
  font-size:13px;color:rgba(255,255,255,.75);
  padding:6px 10px;border-radius:999px;
  background:var(--surface);border:1px solid var(--ring);
}

.hero{
  position:relative;overflow:hidden;
}
.blob{
  position:absolute;
  width:720px;height:520px;border-radius:999px;
  filter:blur(40px);opacity:.9;
  pointer-events:none;
  animation:axyumFloat 14s ease-in-out infinite;
}
.blob.one{left:50%;margin-left:-360px;top:-110px;background:rgba(122,147,192,.24)}
.blob.two{right:-120px;bottom:-220px;background:rgba(182,200,238,.10);animation-duration:16s;animation-delay:-5s}
@keyframes axyumFloat{
  0%,100%{transform:translate3d(0,0,0) scale(1);opacity:.85}
  50%{transform:translate3d(0,-18px,0) scale(1.04);opacity:1}
}

.glow{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 10%, rgba(182,200,238,.18), transparent 55%),
    radial-gradient(circle at 90% 60%, rgba(122,147,192,.20), transparent 60%);
  animation:axyumGlow 10s ease-in-out infinite;
}
@keyframes axyumGlow{
  0%,100%{opacity:.82;filter:saturate(1)}
  50%{opacity:1;filter:saturate(1.15)}
}

.reveal{
  opacity:0;transform:translateY(12px);
  transition:opacity .55s cubic-bezier(.21,.9,.21,1), transform .55s cubic-bezier(.21,.9,.21,1);
}
.reveal.is-visible{opacity:1;transform:translateY(0)}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .blob,.glow{animation:none !important}
  .card.interactive,.btn{transition:none}
  .reveal{opacity:1;transform:none;transition:none}
}

.form-grid{display:grid;gap:14px}
@media (min-width:700px){.form-2{grid-template-columns:1fr 1fr}}
.field label{display:block;font-weight:600;font-size:14px}
.input,.textarea{
  width:100%;margin-top:8px;
  border-radius:16px;
  background:var(--surface);
  border:1px solid var(--ring);
  color:#fff;font-size:14px;
  padding:12px 14px;
  outline:none;
}
.textarea{min-height:140px;resize:vertical}
.input:focus,.textarea:focus{border-color:rgba(56,189,248,.45);box-shadow:0 0 0 4px rgba(56,189,248,.10)}

.notice{
  border-radius:16px;background:var(--surface);
  border:1px solid var(--ring);
  padding:14px 14px;color:rgba(255,255,255,.82);font-size:14px;line-height:1.6;
}

.footer{
  border-top:1px solid var(--ring);
  background:var(--bg);
  padding:34px 0;
}
.footer-inner{display:flex;gap:16px;flex-direction:column;align-items:flex-start;justify-content:space-between}
@media (min-width:800px){.footer-inner{flex-direction:row;align-items:center}}
.footer-title{font-weight:600}
.footer-sub{margin-top:4px;color:rgba(255,255,255,.60);font-size:14px}
.footer-right{display:flex;flex-wrap:wrap;gap:8px}
.footer-link{
  text-decoration:none;
  padding:10px 14px;border-radius:999px;
  color:rgba(255,255,255,.72);
  transition:background .18s,color .18s;
}
.footer-link:hover{background:rgba(255,255,255,.05);color:#fff}
