/* Custom design tokens & gradients */
:root {
	--primary: #2563EB;
	--primary-glow: #3B82F6;
	--accent: oklch(95% .02 250);
	--accent-brand: oklch(55.2% .239 261.063);
	--accent-brand-foreground: oklch(98.5% .005 250);
	--surface: #F8FAFC;
	--background: #FFFFFF;
	--foreground: #0F172A;
}

html { scroll-behavior: smooth; }
body {
  font-feature-settings: "cv02","cv03","cv04","cv11";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,h2,h3,h4 { letter-spacing: -0.02em; }

/* Backgrounds used across sections */
.bg-hero {
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(37,99,235,0.18), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(34,197,94,0.12), transparent 60%),
    linear-gradient(180deg, var(--surface) 0%, var(--background) 100%);
}

.bg-hero-primary {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-glow) 100%);
}

.bg-soft {
  background: linear-gradient(180deg, var(--background) 0%, var(--surface) 100%);
}


input[type="date"], input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], select, textarea {
	border: revert-rule;
	border-radius: revert-rule;
	padding: .5rem 1rem;
	transition: all .3s;
	width: revert-rule;
}
