:root {
	--color-primary: #145da0;
	--color-secondary: #102a43;
	--color-accent: #1f75bc;
	--color-background: #ffffff;
	--color-foreground: #1e293b;
	--spacing-sm: 8px;
	--spacing-md: 16px;
	--spacing-lg: 32px;
	--spacing-xl: 64px;
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-lg: 16px;
	--radius-full: 9999px;
	--font-heading: 'Poppins', system-ui, -apple-system, sans-serif;
	--font-body: 'Mulish', system-ui, -apple-system, sans-serif;
}
@layer base {
	*, ::before, ::after { box-sizing: border-box; }
	* { margin: 0; }
	html { scroll-behavior: smooth; background-color: var(--color-background); color: var(--color-foreground); }
	body { font-family: var(--font-body); min-height: 100vh; display: flex; flex-direction: column; line-height: 1.6; -webkit-font-smoothing: antialiased; }
}
main { flex: 1; }
a { color: var(--color-primary); text-decoration: none; transition: color 0.15s ease, opacity 0.15s ease; }
a:hover { opacity: 0.85; }
.custom-html-block { width: 100%; position: relative; }
.custom-html-block__inner { width: 100%; }

/* WordPress admin bar: keep the fixed nav below it (bar is 46px at <=782px and scrolls away at <=600px). */
.admin-bar #sticky-nav.is-fixed { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar #sticky-nav.is-fixed { top: 46px; } }
@media screen and (max-width: 600px) { .admin-bar #sticky-nav.is-fixed { top: 0; } }
