/**
 * HVACB — Design tokens.
 *
 * Was a PHP string inside hvacb_base_styles() in functions.php, which meant
 * the tokens could not be linted, minified, or cached separately from the
 * page. Loaded first so every other stylesheet can rely on these values.
 *
 * theme.json declares the same palette for the editor. Keep the two in sync:
 * if you change a value here, change it there too.
 */

@font-face {
	font-family: 'Plus Jakarta Sans';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url('https://hvacb.com/wp-content/uploads/2026/08/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2');
}

:root {
	/* Neutrals */
	--wp--preset--color--base: #FFFFFF;
	--wp--preset--color--contrast: #1C1A2E;

	/* Purples */
	--wp--preset--color--accent-1: #4B3B8F;
	--wp--preset--color--accent-2: #372A6E;
	--wp--preset--color--accent-3: #8578B5;
	--wp--preset--color--accent-4: #7A6AA8;
	--wp--preset--color--accent-5: #5A5670;
	--wp--preset--color--accent-6: #E3DAF7;
	--wp--preset--color--accent-7: #F7F4FC;
	--wp--preset--color--accent-8: #DCD5F1;
	--wp--preset--color--accent-9: #B3261E;

	/* Signal orange. signal-ink for small text on white, signal-soft on purple. */
	--wp--preset--color--signal: #D96A2B;
	--wp--preset--color--signal-ink: #B4541F;
	--wp--preset--color--signal-soft: #EDB088;

	/* Type scale */
	--wp--preset--font-size--x-small: clamp(12px, 0.9vw, 13px);
	--wp--preset--font-size--small: clamp(14px, 1.1vw, 15px);
	--wp--preset--font-size--medium: clamp(16px, 1.2vw, 17px);
	--wp--preset--font-size--lead: clamp(17px, 1.4vw, 19px);
	--wp--preset--font-size--large: clamp(17px, 1.5vw, 20px);
	--wp--preset--font-size--x-large: clamp(21px, 2.2vw, 28px);
	--wp--preset--font-size--xx-large: clamp(26px, 3.4vw, 41px);
	--wp--preset--font-size--display: clamp(32px, 4.6vw, 52px);

	/* Spacing scale */
	--wp--preset--spacing--20: 0.5rem;
	--wp--preset--spacing--30: 1rem;
	--wp--preset--spacing--40: 1.5rem;
	--wp--preset--spacing--50: clamp(2rem, 4vw, 3rem);
	--wp--preset--spacing--60: clamp(3rem, 6vw, 4.5rem);
	--wp--preset--spacing--70: clamp(4rem, 8vw, 6.5rem);
	--wp--preset--spacing--80: clamp(5rem, 10vw, 9rem);

	/* Gradients (v11) — shared gradient system for hero background, accent text,
	   CTAs. Kept in sync with theme.json settings.color.gradients. The hero ramp
	   darkens earlier so the deep-purple zone occupies the right ~40%. */
	--hvb-grad-hero: linear-gradient(90deg,#EFEBF8 0%,#E7DEF4 28%,#C6B4E3 46%,#7C63B0 58%,#4B3B8F 72%,#2C1A5C 87%,#241047 100%);
	--hvb-grad-accent: linear-gradient(105deg,#5A3AA6 0%,#B5573E 45%,#FF6B2B 100%);
	--hvb-grad-cta: linear-gradient(105deg,#4B3B8F 0%,#E4712B 100%);

	/* Icon tokens (v11) — single-colour line icons as mask-image data URIs,
	   tinted via background-color at the use site. One consistent icon system. */
	--hvb-ico-phone: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07A19.5%2019.5%200%200%201%204.69%2012a19.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%203.62%201h3a2%202%200%200%201%202%201.72c.127.96.361%201.903.7%202.81a2%202%200%200%201-.45%202.11L8.09%208.91a16%2016%200%200%200%205.86%205.86l1.27-1.27a2%202%200%200%201%202.11-.45c.907.339%201.85.573%202.81.7A2%202%200%200%201%2022%2016.92z%27%2F%3E%3C%2Fsvg%3E");
	--hvb-ico-search: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2711%27%20cy%3D%2711%27%20r%3D%277%27%2F%3E%3Cline%20x1%3D%2721%27%20y1%3D%2721%27%20x2%3D%2716.65%27%20y2%3D%2716.65%27%2F%3E%3C%2Fsvg%3E");
	--hvb-ico-shield: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%202%204%205v6c0%205%203.4%208.5%208%2010%204.6-1.5%208-5%208-10V5l-8-3z%27%2F%3E%3C%2Fsvg%3E");
	--hvb-ico-check: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%273%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%206%209%2017l-5-5%27%2F%3E%3C%2Fsvg%3E");
}
