:root {
  --brand-50: #fff7ed;
  --brand-100: #ffedd5;
  --brand-200: #fed7aa;
  --brand-300: #fdba74;
  --brand-400: #fb923c;
  --brand-500: #f97316;
  --brand-600: #ea580c;
  --brand-700: #c2410c;
  --brand-800: #9a3412;
  --brand-900: #7c2d12;
  --brand-950: #431407;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: 'Nunito Sans', system-ui, sans-serif; color: #1f2937; background: #fff; }
.font-heading { font-family: 'Urbanist', system-ui, sans-serif; }
.hero-bg { background: radial-gradient(circle at 20% 18%, rgba(251, 146, 60, .38), transparent 30%), linear-gradient(135deg, var(--brand-950), #111827 60%, var(--brand-800)); }
.btn { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; border-radius: 1.1rem; padding: .85rem 1.25rem; font-weight: 900; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.btn:hover { transform: translateY(-1px) scale(1.02); box-shadow: 0 16px 34px rgba(15, 23, 42, .18); }
.btn-primary { background: var(--brand-600); color: white; }
.btn-light { background: white; color: var(--brand-900); }
.btn-outline { border: 1px solid currentColor; color: inherit; }
.card { border: 1px solid rgba(15, 23, 42, .11); border-radius: 1.5rem; background: white; padding: 1.5rem; transition: transform .18s ease, box-shadow .18s ease; }
.card:hover { transform: translateY(-3px); box-shadow: 0 20px 44px rgba(15, 23, 42, .12); }
.field { width: 100%; border: 1px solid #cbd5e1; border-radius: .95rem; padding: .85rem 1rem; background: white; }
.field:focus { outline: none; border-color: var(--brand-500); box-shadow: 0 0 0 4px rgba(249, 115, 22, .22); }
.label { color: var(--brand-700); font-size: .76rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.skip-link { position: absolute; left: -999px; top: .5rem; z-index: 100; background: white; padding: .5rem 1rem; }
.skip-link:focus { left: .5rem; }
.mobile-menu { display: none; }
.mobile-menu.open { display: grid; }
[data-animate] { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
[data-animate].visible { opacity: 1; transform: translateY(0); }
@media (max-width: 768px) { .desktop-nav { display: none !important; } }
