/* PermitPulse shared tokens — Velzyx AI Inc */
:root{
  --ink:#0B1220;
  --ink2:#1A2333;
  --muted:#64748B;
  --muted2:#94A3B8;
  --line:#E2E8F0;
  --line2:#CBD5E1;
  --bg:#F4F6F9;
  --surface:#FFFFFF;
  --navy:#071525;
  --navy2:#0B1F33;
  --navy3:#12304A;
  --navy-mid:#16324F;
  --amber:#F59E0B;
  --amber2:#D97706;
  --amber-soft:#FFF7ED;
  --amber-glow:#FDBA74;
  --teal:#0F766E;
  --teal-bright:#2DD4BF;
  --ok:#027A48;
  --okbg:#ECFDF3;
  --blue-soft:#EFF6FF;
  --blue:#175CD3;
  --shadow:0 1px 2px rgba(7,21,37,.05), 0 12px 32px rgba(7,21,37,.08);
  --shadow-lg:0 24px 48px rgba(7,21,37,.18);
  --radius:16px;
  --font:"DM Sans",system-ui,-apple-system,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--teal);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.wrap-narrow{max-width:720px;margin:0 auto;padding:0 22px}

/* Header — premium sticky chrome */
.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(5,14,24,.82);
  backdrop-filter:blur(20px) saturate(1.4);
  -webkit-backdrop-filter:blur(20px) saturate(1.4);
  border-bottom:1px solid rgba(245,158,11,.14);
  box-shadow:0 1px 0 rgba(255,255,255,.04) inset, 0 8px 28px rgba(0,0,0,.18);
}
.site-header.light{
  background:rgba(255,255,255,.96);
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset, 0 6px 20px rgba(7,21,37,.04);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  padding:14px 0;flex-wrap:nowrap;
}
.logo{
  display:inline-flex;align-items:center;gap:12px;
  color:#fff;text-decoration:none!important;min-width:0;flex-shrink:0;
}
.site-header.light .logo{color:var(--ink)}
.logo-mark-img{
  width:40px;height:40px;display:block;flex-shrink:0;
  border-radius:10px;
  box-shadow:0 6px 16px rgba(0,0,0,.32), 0 0 0 1px rgba(245,158,11,.18);
}
.site-header.light .logo-mark-img{
  box-shadow:0 4px 12px rgba(11,31,51,.12), 0 0 0 1px rgba(11,31,51,.06);
}
/* Legacy wrapper still used on some pages — treat as transparent host for full mark */
.logo-mark{
  width:40px;height:40px;border-radius:10px;padding:0;margin:0;
  background:transparent;border:none;box-shadow:none;
  display:grid;place-items:center;flex-shrink:0;overflow:hidden;
}
.logo-mark img,.logo-mark svg{width:40px;height:40px;display:block}
.logo-text{display:flex;flex-direction:column;gap:0;line-height:1.05;min-width:0}
.logo-word{
  font-size:19px;font-weight:700;letter-spacing:-.03em;
  white-space:nowrap;
}
.logo-permit{color:#fff;font-weight:700}
.logo-pulse{color:var(--amber);font-weight:700}
.site-header.light .logo-permit{color:var(--ink)}
.site-header.light .logo-pulse{color:var(--amber2)}
.nav-links{
  display:flex;gap:4px 22px;align-items:center;flex-wrap:nowrap;
  font-size:13.5px;font-weight:450;margin-left:auto;
}
.nav-links a:not(.btn){
  color:rgba(226,232,240,.62);text-decoration:none;padding:6px 2px;
  letter-spacing:.01em;transition:color .12s ease;
}
.nav-links a:not(.btn):hover{color:#fff}
.site-header.light .nav-links a:not(.btn){color:rgba(100,116,139,.88)}
.site-header.light .nav-links a:not(.btn):hover{color:var(--ink)}
.nav-links .btn.sm{
  margin-left:10px;
  padding:10px 16px;
  font-size:14.5px;
  font-weight:700;
  border-radius:11px;
  box-shadow:0 8px 18px rgba(245,158,11,.34);
  flex-shrink:0;
}
@media (max-width:860px){
  .nav{gap:12px;padding:12px 0}
  .logo{gap:10px}
  .logo-word{font-size:17px}
  .nav-links{gap:0;margin-left:0}
  .nav-links a:not(.btn){display:none}
  .nav-links .btn.sm{margin-left:0}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--amber);color:#111!important;padding:12px 18px;border-radius:12px;font-weight:700;font-size:15px;text-decoration:none!important;border:1px solid transparent;box-shadow:0 8px 18px rgba(245,158,11,.28);transition:transform .12s ease, background .12s ease;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--amber2);transform:translateY(-1px)}
.btn.navy{background:var(--navy2);color:#fff!important;box-shadow:0 8px 18px rgba(11,31,51,.28)}
.btn.navy:hover{background:var(--navy3)}
.btn.ghost{background:rgba(255,255,255,.08);color:#fff!important;border-color:rgba(255,255,255,.18);box-shadow:none;font-weight:600}
.btn.ghost:hover{background:rgba(255,255,255,.14)}
.btn.ghost-light{background:#fff;color:var(--ink)!important;border-color:var(--line);box-shadow:none;font-weight:600}
.btn.ghost-light:hover{background:var(--bg)}
.btn.block{width:100%}
.btn.lg{padding:14px 20px;font-size:16px}
.btn.sm{padding:9px 14px;font-size:14px;box-shadow:none}

/* Footer */
.site-footer{border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:14px;margin-top:24px}
.site-footer .wrap{padding:28px 22px 40px}
.site-footer a{color:var(--muted)}
.footer-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.footer-cred{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.6}
.mono{font-family:var(--mono)}
.muted{color:var(--muted)}
