/* Zarhart: shared design tokens. Avionics at night: one deliberate dark theme. */
:root {
  --bg: #070B10;
  --bg-2: #0A1017;
  --panel: #0E151D;
  --panel-2: #142030;
  --line: #22303F;
  --line-2: #31455B;
  --text: #E8EEF5;
  --muted: #93A3B6;
  --dim: #63748A;
  --magenta: #E64BD0;
  --cyan: #3FD8F2;
  --green: #5BE38A;
  --amber: #FFB020;
  --red: #FF4D4D;
  --sky: #2F7FD0;
  --earth: #8A5A2B;
  --sign-y: #F2C21F;
  --sign-k: #111111;
  --sign-r: #C61F2D;
  --f-display: "Saira Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;
  --f-body: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --f-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --gutter: max(16px, env(safe-area-inset-left, 0px));
  --gutter-r: max(16px, env(safe-area-inset-right, 0px));
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); font: 17px/1.6 var(--f-body); }
img, svg, canvas { max-width: 100%; }
a { color: var(--cyan); text-underline-offset: 3px; }
a:hover { color: #8ee9f8; }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
::selection { background: var(--magenta); color: #fff; }
[hidden] { display: none !important; }

.wrap { max-width: 1180px; margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter-r); }
.eyebrow { font: 600 12px/1.4 var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--cyan); margin: 0; }
h1, h2, h3 { font-family: var(--f-display); font-weight: 700; line-height: 1.02; letter-spacing: .01em; text-wrap: balance; margin: 0; }
h2 { font-size: clamp(34px, 5vw, 56px); }
h3 { font-size: 26px; }
p { margin: 0; }
.lede { font-size: clamp(18px, 2vw, 21px); color: var(--muted); max-width: 60ch; }
.mono { font-family: var(--f-mono); }

/* top navigation */
.topnav { position: sticky; top: 0; z-index: 40; background: rgba(7, 11, 16, .82); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.topnav .wrap { display: flex; align-items: center; gap: 22px; height: 60px; }
.brand { display: flex; align-items: center; gap: 10px; color: var(--text); text-decoration: none; font: 800 22px/1 var(--f-display); letter-spacing: .14em; }
.brand svg, .brand img { width: 28px; height: 28px; flex: none; }
.topnav nav { display: flex; gap: 4px; margin-left: auto; overflow-x: auto; }
.topnav nav a { color: var(--muted); text-decoration: none; font: 600 15px/1 var(--f-body); padding: 10px 12px; border-radius: 6px; white-space: nowrap; }
.topnav nav a:hover, .topnav nav a[aria-current="page"] { color: var(--text); background: var(--panel-2); }
@media (max-width: 560px) { .brand span { display: none; } .topnav nav a { padding: 10px 8px; font-size: 14px; } }

/* buttons */
.btn { display: inline-flex; align-items: center; gap: 10px; font: 700 16px/1 var(--f-body); letter-spacing: .02em; padding: 14px 20px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--panel-2); color: var(--text); text-decoration: none; cursor: pointer; }
.btn:hover { border-color: var(--cyan); color: var(--text); }
.btn.primary { background: var(--magenta); border-color: var(--magenta); color: #fff; }
.btn.primary:hover { background: #f162dc; }
.btn.ghost { background: transparent; }
.btn small { font: 500 12px var(--f-mono); opacity: .8; }

.chip { display: inline-flex; align-items: center; gap: 6px; font: 600 12px/1 var(--f-mono); padding: 6px 9px; border-radius: 999px; border: 1px solid var(--line-2); color: var(--muted); }

footer.site { border-top: 1px solid var(--line); margin-top: 96px; padding-block: 36px 48px; color: var(--muted); font-size: 15px; }
footer.site .wrap { display: grid; gap: 14px; }
footer.site .row { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center; }
footer.site a { color: var(--muted); }
footer.site a:hover { color: var(--text); }
