/* ===========================
   EmbedSphere — Global Styles
   =========================== */

:root{
  --navy:#0B1E3C; --bg:#0b1530; --text:#0e172a; --muted:#475569; --card:#fff;
  --ring:rgba(0,174,239,.25); --shadow:0 10px 30px rgba(11,30,60,.12);
  --brand:#00AEEF; --brand2:#00C6AE; --brand3:#FFD645;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;color:var(--text);background:#f8fafc}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.small{font-size:12px;color:#94a3b8}

/* ===== Header / Nav ===== */
header{position:sticky;top:0;z-index:40;background:rgba(11,30,60,.9);backdrop-filter:saturate(140%) blur(8px)}
.nav{width:min(1200px,92%);margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 0;color:#fff}
.brand{display:flex;align-items:center;gap:10px}
.brand img{width:38px;height:38px;border-radius:8px}
.brand h1{font-size:18px;letter-spacing:.2px;margin:0;font-weight:800}
nav.menu{display:flex;gap:18px}
nav.menu a{color:#e2e8f0;font-weight:600}
nav.menu a:hover{color:#fff}
.cta{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:#fff;color:var(--navy);font-weight:700;box-shadow:var(--shadow)}
.cta:hover{opacity:.95}

/* ===== Hero ===== */
.hero{
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(0,198,174,.22), transparent 60%),
    radial-gradient(800px 500px at 90% -20%, rgba(255,214,69,.18), transparent 60%),
    var(--navy);
  color:#fff; padding:64px 0 48px;
}
.wrap{width:min(1200px,92%);margin:auto}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center}
.eyebrow{display:inline-flex;gap:10px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-weight:700}
.title{font-size:clamp(32px,5vw,54px);line-height:1.05;margin:14px 0 8px;font-weight:800}
.subtitle{font-size:clamp(16px,1.9vw,20px);opacity:.93;max-width:60ch}
.badge-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 26px}
.badge{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);font-weight:700}

/* ===== Sections & Cards ===== */
section{padding:64px 0;background:#f8fafc}
section.alt{background:#fff}
h2.section-title{font-size:30px;margin:0 0 10px;font-weight:800}
p.lead{color:var(--muted);max-width:72ch}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:24px}
.card{background:var(--card);border:1px solid #e2e8f0;border-radius:18px;padding:20px;box-shadow:var(--shadow)}
.card h3{margin:10px 0 6px;font-weight:800}
.card p{color:var(--muted)}

/* ===== CTA Band ===== */
.cta-band{background:linear-gradient(90deg,#0b1e3c,#0e2447);color:#fff;padding:36px 0}
.cta-band .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}

/* ===== Contact Form (Netlify) ===== */
.form{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:var(--shadow);padding:22px;margin-top:24px}
.form h3{margin:0 0 12px;font-weight:800}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{font-weight:600;color:#0f172a;display:block}
input, textarea{
  width:100%;padding:12px;border-radius:10px;border:1px solid #cbd5e1;background:#fff;
  font:inherit;color:#0f172a;outline:none;
}
input:focus, textarea:focus{border-color:#0ea5e9;box-shadow:0 0 0 4px var(--ring)}
textarea{min-height:140px;resize:vertical}
button[type="submit"]{
  margin-top:14px;padding:12px 18px;border:0;border-radius:999px;background:var(--brand);
  color:#00223b;font-weight:800;cursor:pointer;box-shadow:var(--shadow)
}
button[type="submit"]:hover{filter:brightness(1.05)}

/* ===== Footer ===== */
footer{background:#0a1832;color:#cbd5e1;padding:36px 0}
.foot-grid{width:min(1200px,92%);margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px}

/* ===== A11y ===== */
a:focus-visible,button:focus-visible{outline:3px solid var(--ring);outline-offset:3px;border-radius:8px}

/* ===== Responsive ===== */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .grid-3{grid-template-columns:1fr}
  nav.menu{display:none}
  .form .row{grid-template-columns:1fr}
}
