/* ─── RESET & BASE ───────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --font-display: 'Barlow Condensed', sans-serif;
  --font-body:    'Inter', sans-serif;
  --nav-h: 68px;
}

html { scroll-behavior: smooth; }
body { font-family: var(--font-body); font-size: 16px; line-height: 1.6; overflow-x: hidden; }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

/* NAV */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  height: var(--nav-h);
  transition: box-shadow .3s;
}
.nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.nav-logo { margin-right: auto; }
.nav-links { display: flex; align-items: center; gap: .75rem; }
.nav-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  padding: .4rem;
  background: none;
  border: none;
  cursor: pointer;
  margin-left: auto;
}
.nav-hamburger span {
  display: block; width: 22px; height: 2px;
  border-radius: 1px; transition: .2s;
}
/* CRITICAL: mobile nav hidden by default */
.nav-mobile {
  display: none;
  flex-direction: column;
  padding: 1rem 1.5rem 1.5rem;
  gap: .75rem;
}
.nav-mobile.open { display: flex; }
