/*
 * Arenex Blocks: every token a block may read (Block Theme Rules 02 §4).
 *
 * Declared inside :where(:root), which has zero specificity. Any value the theme
 * sets wins whatever loads first, and a block still renders on a theme that lacks
 * a token. These are neutral fallbacks: brand values belong to each site's theme.
 */
:where(:root) {
	/* From the Arenex parent (set per site through the Customizer) */
	--primary-color: #2f5fb3;
	--primary-dark: #244a8c;
	--primary-light: #8fb0ea;
	--accent-color: var(--primary-color);
	--heading-color: #16181d;
	--text-color: #3d434d;
	--muted-color: #5f6670;
	--bg-color: #ffffff;
	--bg-alt: #f2f3f5;
	--border-color: #e1e4e8;
	--footer-bg: #16181d;

	--font-heading: system-ui, sans-serif;
	--font-body: system-ui, sans-serif;
	--heading-weight: 700;
	--heading-line-height: 1.15;
	--body-line-height: 1.6;
	--h2-size: 2.5rem;
	--h3-size: 1.75rem;
	--h4-size: 1.375rem;
	--h5-size: 1.125rem;
	--body-size: 1.0625rem;

	--section-padding: 5rem;
	--container-max-width: 1200px;
	--container-padding: 2rem;
	--content-max-width: 760px;
	--gap-sm: 0.75rem;
	--gap-md: 1.5rem;
	--gap-lg: 3rem;
	--column-gap: 4rem;
	--radius: 4px;
	--header-height: 76px;

	/* Added by Arenex Blocks (set per site in the child theme's :root) */
	--font-eyebrow: var(--font-body);
	--accent-word-color: var(--primary-color);
	--accent-word-style: normal;
	--surface-color: var(--bg-color);
	--bg-dark: var(--footer-bg);
	--on-dark-color: #eef1f4;
	--on-dark-muted: #b3bcc6;
	--accent-on-dark: var(--primary-light);
	--lead-size: calc(var(--body-size) * 1.12);   /* larger intro paragraph (Lead style) */
	--small-size: calc(var(--body-size) * 0.88);  /* calls to action inside cards */
	--label-size: calc(var(--body-size) * 0.72);  /* eyebrows, card labels, captions */
	--media-service-height: 440px;                 /* image accordion panel height (parent Customizer: Service Media Height) */
	--caption-size: calc(var(--body-size) * 0.76); /* small numbers on photos, e.g. the image accordion's .01 */
	--head-max-width: var(--content-max-width);    /* a section head: eyebrow, heading and intro */
	--control-size: 2.75rem;                        /* square icon buttons, a 44px touch target: strip arrows, ticker pause */
	--border-strong-color: var(--muted-color);      /* borders of controls on a light ground: the strip's arrow buttons */
	--surface-dark-color: color-mix(in srgb, var(--on-dark-color) 6%, var(--bg-dark));  /* a raised strip on a dark ground: the ticker */
	--border-dark-color: color-mix(in srgb, var(--on-dark-color) 14%, var(--bg-dark));  /* hairlines on a dark ground */
	--icon-on-dark: var(--on-dark-color);           /* small icons on a dark ground: the ticker's */
	--error-color: #b3261e;                         /* form field errors (quote form) */
	--success-color: #1e7a4c;                       /* a sent form's message (quote form) */
	--card-lift: 20.5rem;                           /* how far a raised card rises into the band above on wide screens (quote form, "rises" style) */
}
