/* ============================================================
   Omnia Semiconductor — design tokens
   Palette:  navy-deep #081826 (base/background)
             navy-mid  #0E2C3F (secondary surface)
             teal      #26B4D1 / teal-bright #6FE3F0 (accent)
             brass     #C6972E (signature accent — nods to gold-plated
                       leads on the parts themselves; used once, on the
                       hero, not scattered through the page)
   Type:     Space Grotesk — display/headlines
             IBM Plex Sans — body & UI
             IBM Plex Mono — part numbers & spec values only
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --navy-deep:#081826;
  --navy-mid:#0e2c3f;
  --navy-soft:#12374d;
  --teal:#26b4d1;
  --teal-bright:#6fe3f0;
  --brass:#c6972e;
  --brass-light:#e0b856;
  --ink:#101d29;
  --paper:#f6f8f9;
  --paper-dim:#eceff1;
  --line:#d9e0e3;
  --grey:#5c6b76;
  --grey-light:#c7d3d8;
  --white:#ffffff;
  --radius:3px;
  --maxw:1180px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:'IBM Plex Sans', Arial, sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-size:16px;
  line-height:1.55;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4{
  font-family:'Space Grotesk', sans-serif;
  font-weight:700;
  margin:0 0 .5em 0;
  line-height:1.12;
  letter-spacing:-0.01em;
}
p{ margin:0 0 1em 0; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }
.mono{ font-family:'IBM Plex Mono', monospace; }

/* ---------------- buttons ---------------- */
.btn{
  display:inline-flex; align-items:center; gap:.5em;
  font-family:'IBM Plex Sans'; font-weight:600; font-size:15px;
  padding:13px 26px; border-radius:var(--radius); border:1.5px solid transparent;
  cursor:pointer; transition:background .15s ease, color .15s ease, border-color .15s ease;
}
.btn-primary{ background:var(--teal); color:var(--navy-deep); }
.btn-primary:hover{ background:var(--teal-bright); }
.btn-ghost{ border-color:rgba(255,255,255,.35); color:#fff; }
.btn-ghost:hover{ border-color:#fff; background:rgba(255,255,255,.06); }
.btn-dark{ border-color:var(--navy-deep); color:var(--navy-deep); }
.btn-dark:hover{ background:var(--navy-deep); color:#fff; }

/* ---------------- header / nav ---------------- */
header.site{
  background:var(--navy-deep);
  position:sticky; top:0; z-index:50;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nav-row{ display:flex; align-items:center; justify-content:space-between; height:76px; }
.brand{ display:flex; align-items:center; gap:10px; }
.brand img{ width:30px; height:30px; }
.brand .word{ font-family:'Space Grotesk'; font-weight:700; font-size:18px; color:#fff; line-height:1.1; }
.brand .word small{ display:block; font-family:'IBM Plex Mono'; font-weight:500; font-size:9.5px; letter-spacing:2px; color:var(--teal-bright); margin-top:1px; }
nav.main-links{ display:flex; align-items:center; gap:36px; }
nav.main-links a{
  color:var(--grey-light); font-size:14.5px; font-weight:500;
  padding:6px 0; border-bottom:2px solid transparent; margin-right:34px;
}
nav.main-links a:last-child{ margin-right:0; }
nav.main-links a:hover, nav.main-links a.active{ color:#fff; border-color:var(--teal); }
.nav-cta{ display:flex; align-items:center; gap:18px; }
.nav-toggle{ display:none; background:none; border:none; cursor:pointer; padding:8px; }
.nav-toggle span{ display:block; width:22px; height:2px; background:#fff; margin:5px 0; }

@media (max-width:860px){
  nav.main-links{
    position:absolute; top:76px; left:0; right:0; background:var(--navy-deep);
    flex-direction:column; align-items:flex-start; gap:0; padding:8px 28px 20px;
    border-bottom:1px solid rgba(255,255,255,.08);
    display:none;
  }
  nav.main-links.open{ display:flex; }
  nav.main-links a{ width:100%; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.06); }
  .nav-cta .btn-primary{ display:none; }
  .nav-toggle{ display:block; }
}

/* ---------------- footer ---------------- */
footer.site{ background:var(--navy-deep); color:var(--grey-light); padding:56px 0 26px; margin-top:100px; }
footer.site .cols{ display:flex; flex-wrap:wrap; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.08); }
footer.site .cols > div{ flex:1 1 220px; margin-right:36px; min-width:180px; }
footer.site .cols > div:last-child{ margin-right:0; }
footer.site h5{ color:#fff; font-family:'IBM Plex Sans'; font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:1px; margin:0 0 14px; }
footer.site ul{ list-style:none; margin:0; padding:0; }
footer.site li{ margin-bottom:9px; font-size:14px; }
footer.site a:hover{ color:var(--teal-bright); }
footer.site .bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:22px; font-size:12.5px; color:var(--grey); flex-wrap:wrap; gap:10px; }
footer.site .brand .word{ color:#fff; }

/* ---------------- generic section helpers ---------------- */
section{ padding:88px 0; }
section.tight{ padding:56px 0; }
.eyebrow{ font-family:'IBM Plex Mono'; font-size:12.5px; letter-spacing:1.5px; color:var(--teal); font-weight:500; margin-bottom:14px; }
.section-head{ max-width:640px; margin-bottom:44px; }
.section-head p{ color:var(--grey); font-size:16.5px; }
.bg-navy{ background:var(--navy-deep); color:#fff; }
.bg-navy .grey{ color:var(--grey-light); }
.bg-dim{ background:var(--paper-dim); }

@media (max-width:760px){
  section{ padding:56px 0; }
  footer.site .cols > div{ flex-basis:45%; }
}
