/* ---------------------------------------------------------------------------
   Design tokens — measured from the source, not chosen.

   Colours are the Astra global palette as emitted in the harvested Elementor CSS
   (scraper/out/design/html/home.inline-styles.css, --e-global-color-astglobalcolor*)
   plus the Elementor kit accent from post-2887.css.
   Type: kit sets h1-h6 to "DM Serif Display" 500, body to Roboto, form controls
   and labels to Exo. Container max-width 1270 / 1024 / 767.
   --------------------------------------------------------------------------- */

:root {
	/* Brand palette (astglobalcolor0..8 + kit accent). */
	--nx-purple:        #72069e;  /* accent, astglobalcolor0 */
	--nx-purple-deep:   #4f1c64;  /* astglobalcolor1 — hero overlay, sidebar links */
	--nx-navy:          #242a56;  /* astglobalcolor2 / 7 */
	--nx-ink:           #111111;  /* astglobalcolor3 — nav + body headings */
	--nx-pale:          #eff2ff;  /* astglobalcolor4 / 6 */
	--nx-white:         #ffffff;  /* astglobalcolor5 */
	--nx-blue-soft:     #bfd1ff;  /* astglobalcolor8 */

	/* Neutrals from the kit + measured section fills. */
	--nx-text:          #7a7a7a;  /* kit --e-global-color-text */
	--nx-muted:         #666666;
	--nx-band:          #f6f7ff;  /* About + newsletter band fill */
	--nx-hairline:      #f8fafc;  /* header bottom border */
	--nx-rule:          #e6e8f2;
	--nx-danger:        #d9534f;  /* age-gate deny button */
	--nx-success:       #2e7d32;

	/* Purple ramp for surfaces that need tint rather than a flat brand fill. */
	--nx-purple-05:     rgba(114, 6, 158, 0.05);
	--nx-purple-10:     rgba(114, 6, 158, 0.10);
	--nx-purple-20:     rgba(114, 6, 158, 0.20);

	/* Type. */
	--nx-font-heading:  'DM Serif Display', Georgia, 'Times New Roman', serif;
	--nx-font-body:     'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
	--nx-font-form:     'Exo', var(--nx-font-body);

	--nx-h1:            clamp(30px, 4.2vw, 52px);
	--nx-h2:            clamp(26px, 3vw, 38px);
	--nx-h3:            22px;
	--nx-body:          16px;
	--nx-small:         14px;

	/* Layout. */
	--nx-container:     1270px;
	--nx-gutter:        20px;
	--nx-widget-gap:    20px;   /* kit --widgets-spacing */
	--nx-radius:        6px;
	--nx-radius-lg:     10px;

	/* Elevation, as measured on the header container. */
	--nx-shadow-topbar: 0 0 10px 0 rgba(0, 0, 0, 0.5);
	--nx-shadow-header: 0 2px 20px 0 rgba(17, 17, 17, 0.125);
	--nx-shadow-card:   0 2px 14px rgba(17, 17, 17, 0.08);
	--nx-shadow-pop:    0 12px 40px rgba(17, 17, 17, 0.18);

	--nx-transition:    0.2s ease;
}

@media (max-width: 1024px) {
	:root { --nx-container: 1024px; }
}

@media (max-width: 767px) {
	:root { --nx-container: 767px; --nx-gutter: 16px; }
}
