/* Gonstrom brand tokens */
:root{
  --bg: #0a1b2b;         /* deep navy */
  --bg-2: #0d2a44;       /* brand primary */
  --ink: #e8eef5;        /* light text */
  --muted: #b6c3d3;      /* muted text */
  --accent: #7cc0ff;     /* highlight */
  --card: #0f2740;       /* card surface */
  --ring: #2b4766;       /* outlines */
  --shadow: 0 10px 30px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
  margin:0;
  font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(1200px 600px at 80% -20%, #122a47, transparent 70%),
    radial-gradient(800px 400px at -10% 100%, #0b2036, transparent 70%),
    var(--bg);
}

/* utilities */
.container{max-width:1120px;margin-inline:auto;padding:0 1.2rem}
.section{padding:5rem 0}
.section.muted{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0) 60%)}
.grid-2{display:grid;gap:2rem;grid-template-columns:1.2fr 1fr}
@media (max-width:900px){.grid-2{grid-template-columns:1fr}}
.bullets{padding-left:1rem}
.bullets li{margin:.4rem 0}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  border:1px solid var(--ring);
  border-radius:18px;
  padding:1.25rem 1.25rem 1.5rem;
  box-shadow:var(--shadow);
  backdrop-filter:saturate(120%) blur(6px);
}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1rem}
.cards .card h3{margin-top:.2rem}
@media (max-width:900px){.cards{grid-template-columns:1fr}}

/* header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(10,27,43,.75);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.8rem 0}
.brand{display:flex;align-items:center;gap:.7rem;color:var(--ink);text-decoration:none}
.logo{width:36px;height:36px;color:var(--accent);filter:drop-shadow(0 4px 10px rgba(124,192,255,.35))}
.brand-text{font-weight:700;letter-spacing:.4px}

.nav{display:flex;gap:.9rem;align-items:center}
.nav a{color:var(--ink);text-decoration:none;opacity:.9;border:1px solid transparent;padding:.4rem .7rem;border-radius:12px}
.nav a:hover{opacity:1;background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
.nav .cta{background:linear-gradient(180deg,#2c5c8e,#1f466c);border-color:#2b4766}
.nav-toggle{display:none;background:none;border:1px solid var(--ring);color:var(--ink);border-radius:10px;padding:.35rem .6rem}
.sr-only,.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;z-index:1000;background:#fff;color:#000;padding:.5rem 1rem;border-radius:8px}

@media (max-width:820px){
  .nav{display:none}
  .nav-toggle{display:inline-block}
  .mobile-nav[hidden]{display:none}
  .mobile-nav{display:flex;flex-direction:column;gap:.4rem;padding:0 1.2rem 1rem}
  .mobile-nav a{color:var(--ink);text-decoration:none;padding:.6rem .7rem;border-radius:12px;border:1px solid var(--ring);background:rgba(255,255,255,.03)}
}

/* hero */
.hero{position:relative;overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:center;padding:4.5rem 0}
@media (max-width:900px){.hero-inner{grid-template-columns:1fr;padding:3rem 0}}
.hero-copy h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.15;margin:.25rem 0 1rem}
.hero-copy p{max-width:58ch;color:var(--muted)}
.accent{color:var(--accent)}
.hero-actions{display:flex;gap:.8rem;margin-top:1.2rem;flex-wrap:wrap}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border-radius:12px;text-decoration:none;border:1px solid var(--ring)}
.btn.primary{background:linear-gradient(180deg,#2f6aa3,#214c72)}
.btn.ghost{background:transparent}
.btn.link{background:transparent;padding:0;border:none;text-decoration:underline}

/* hero art */
.hero-art{position:relative;min-height:280px}
.orb{position:absolute;border-radius:999px;filter:blur(18px);opacity:.5}
.orb-1{width:260px;height:260px;background:#2b6aa3;top:-20px;right:0}
.orb-2{width:180px;height:180px;background:#58a6ff;bottom:-30px;left:20%}
.ring{position:absolute;inset:10% 5% 5% 30%;border:1px dashed rgba(255,255,255,.15);border-radius:30px;transform:rotate(-6deg)}

/* sections */
.section h2{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:0 0 .4rem}
.section p{color:var(--ink)}

/* form */
.form label{display:grid;gap:.4rem;margin:.7rem 0}
.form input,.form textarea{
  width:100%;padding:.75rem .9rem;border-radius:12px;border:1px solid var(--ring);
  background:#0b2239;color:var(--ink);outline-color:var(--accent)
}
.form-note{color:var(--muted);font-size:.9rem;margin:.3rem 0 0}

/* contact list */
.contact{list-style:none;margin:0;padding:0}
.contact li{margin:.4rem 0;color:var(--muted)}
.contact strong{color:var(--ink)}

/* footer */
.site-footer{border-top:1px solid rgba(255,255,255,.06);padding:1.4rem 0;margin-top:2rem}
.footer-inner{display:flex;justify-content:space-between;align-items:center}
.footer-link{color:var(--muted);text-decoration:none}
.footer-link:hover{color:var(--ink)}
