/* DM Sans — self-hosted, font-display:swap */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-latin-400-normal.woff2') format('woff2'),
       url('/assets/fonts/dm-sans/dm-sans-latin-400-normal.woff') format('woff');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-latin-500-normal.woff2') format('woff2'),
       url('/assets/fonts/dm-sans/dm-sans-latin-500-normal.woff') format('woff');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-latin-600-normal.woff2') format('woff2'),
       url('/assets/fonts/dm-sans/dm-sans-latin-600-normal.woff') format('woff');
}

/* Shared public styles */
:root {
  --teal: #0D9488;
  --teal-d: #0B7C71;
  --dark: #0F172A;
  --mid: #374151;
  --muted: #64748B;
  --border: #E2E8F0;
  --bg: #F8FAFC;
}
*, *::before, *::after { box-sizing: border-box; }
body { font-family: 'DM Sans', system-ui, -apple-system, sans-serif; }

/* Shared nav */
.site-nav { background: #fff; border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 1000; box-shadow: 0 1px 4px rgba(0,0,0,.06); }
.nav-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; height: 64px; }
.nav-logo { font-size: 22px; font-weight: 700; color: var(--dark); text-decoration: none; letter-spacing: -.3px; }
.nav-logo span { color: var(--teal); }
.nav-logo:hover { text-decoration: none; }
.nav-links { display: flex; gap: 28px; align-items: center; font-size: 14px; font-weight: 500; }
.nav-links a { color: var(--mid); text-decoration: none; transition: color .15s; }
.nav-links a:hover, .nav-links a.active { color: var(--teal); }
.nav-btn { background: var(--teal); color: #fff !important; padding: 9px 20px; border-radius: 8px; font-size: 14px; font-weight: 600; text-decoration: none; transition: background .15s; white-space: nowrap; }
.nav-btn:hover { background: var(--teal-d); color: #fff !important; }
.nav-hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 4px; }
.nav-hamburger span { display: block; width: 22px; height: 2px; background: var(--dark); border-radius: 2px; transition: .2s; }
@media (max-width: 768px) {
  .nav-links { display: none; position: absolute; top: 64px; left: 0; right: 0; background: #fff; flex-direction: column; padding: 16px 24px; gap: 16px; border-bottom: 1px solid var(--border); box-shadow: 0 4px 12px rgba(0,0,0,.08); }
  .nav-links.open { display: flex; }
  .nav-hamburger { display: flex; }
}

/* Shared footer */
.site-footer { background: var(--dark); color: #94A3B8; padding: 40px 0 24px; font-size: 13px; }
.footer-inner { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
