/* ==========================================================================
   EmberArc — site stylesheet (lives in Global Styles › Additional CSS)
   Source of truth: ember-arc-wp/src/ember-arc.css. Rebuild with build.py;
   do not hand-edit the copy inside WordPress.

   Sections:
   1. Tokens   2. Base   3. Layout   4. Typography   5. Buttons
   6. Header   7. Footer 8. Sections 9. Legal/Resources 10. WooCommerce + store
   11. Motion
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	--ea-bg: #0f0f0f;
	--ea-bg-alt: #0b0b0b;
	--ea-bg-deep: #0a0a0a;
	--ea-surface: #1a1a1a;
	--ea-glass: rgb(38 38 38 / 0.55);
	--ea-text: #f9f8f6;
	--ea-text-soft: #d4d4d4;
	--ea-muted: #a3a3a3;
	--ea-subtle: #8c8c8c;
	--ea-ink: #4a4a4a;
	--ea-light: #f9f8f6;
	--ea-accent: #e65100;
	--ea-accent-hover: #ff6d00;
	--ea-gold: #c9a574;
	--ea-copper: #d68d4d;
	--ea-taupe: #8a827c;
	--ea-sand: #e0d8d0;
	--ea-line: rgb(255 255 255 / 0.05);
	--ea-line-strong: rgb(255 255 255 / 0.08);

	--ea-serif: "Cormorant Garamond", ui-serif, Georgia, serif;
	--ea-sans: "Inter", ui-sans-serif, system-ui, sans-serif;

	--ea-pad: 1.5rem;
	--ea-header-h: 90px;
	--ea-section-y: 6rem;
	--ea-radius: 0.5rem;
	--ea-radius-lg: 0.75rem;
	--ea-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--ea-grain: radial-gradient(rgb(255 255 255 / 0.015) 1px, transparent 1px);
}

@media (min-width: 640px) {
	:root {
		--ea-pad: 2.5rem;
		--ea-section-y: 8rem;
	}
}

/* 2. Base ------------------------------------------------------------------ */
html {
	scroll-behavior: smooth;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body {
	background-color: var(--ea-bg);
	color: var(--ea-text);
	overflow-x: clip;
}

/* Base type for EmberArc pages. Set here (not only in Global Styles) so the
   pages render correctly on any template, including Elementor Canvas. */
.ea-site {
	background-color: var(--ea-bg);
	color: var(--ea-text);
	font-family: var(--ea-sans);
	font-size: 1.125rem;
	line-height: 1.6;
	letter-spacing: 0.01em;
}

.ea-site :where(h1, h2, h3, h4) {
	font-family: var(--ea-serif);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--ea-text);
}

::selection {
	background-color: rgb(230 81 0 / 0.3);
	color: var(--ea-text);
}

/* Block layouts add vertical gaps between children; EmberArc components set
   their own spacing, so neutralise the gap inside them. :where() keeps this
   at zero added specificity so component rules below always win. */
.ea-site :where(.is-layout-flow, .is-layout-constrained) > *,
.ea-site .ea-header :where(.is-layout-flow, .is-layout-flex) > *,
.ea-site .ea-footer :where(.is-layout-flow, .is-layout-flex) > * {
	margin-block: 0;
}

.ea-site :where(.wp-block-group, .wp-block-image, figure, ul, ol, p, h1, h2, h3, h4) {
	margin: 0;
}

.ea-site :where(ul, ol).wp-block-list {
	list-style: none;
	padding: 0;
}

.ea-site img {
	max-width: 100%;
	height: auto;
}

.ea-site a:where(:not(.wp-element-button)) {
	color: inherit;
	text-decoration: none;
}

.ea-site :focus-visible {
	outline: 2px solid var(--ea-accent);
	outline-offset: 3px;
	border-radius: 2px;
}

.ea-site .ea-main {
	padding-top: var(--ea-header-h);
	background-color: var(--ea-bg);
}

.home .ea-site .ea-main {
	padding-top: 0;
}

body:has(.ea-page--light) .ea-main {
	background-color: var(--ea-light);
}

/* 3. Layout ---------------------------------------------------------------- */
.ea-site .ea-container {
	box-sizing: content-box;
	max-width: 75rem; /* max-w-7xl minus gutters */
	margin-inline: auto;
	padding-inline: var(--ea-pad);
}

.ea-site .ea-container--6xl {
	max-width: 67rem;
}

.ea-site .ea-container--4xl {
	max-width: 51rem;
}

.ea-site .ea-container--3xl {
	max-width: 43rem;
}

.ea-site .ea-section {
	position: relative;
	padding-block: var(--ea-section-y);
	background-color: var(--ea-bg);
}

.ea-site .ea-section--alt {
	background-color: var(--ea-bg-alt);
	border-block: 1px solid var(--ea-line);
}

.ea-site .ea-grain {
	background-image: var(--ea-grain);
	background-size: 3px 3px;
}

.ea-site .ea-glass {
	background: var(--ea-glass);
	-webkit-backdrop-filter: blur(40px);
	backdrop-filter: blur(40px);
	border: 1px solid rgb(255 255 255 / 0.06);
	border-radius: var(--ea-radius);
}

.ea-site .ea-grid {
	display: grid;
	gap: 1rem;
}

/* 4. Typography ------------------------------------------------------------ */
.ea-site .ea-eyebrow {
	font-family: var(--ea-sans);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.32em;
	line-height: 1.6;
	text-transform: uppercase;
	color: var(--ea-muted);
}

.ea-site .ea-h2 {
	margin-top: 1.5rem;
	max-width: 56rem;
	font-family: var(--ea-serif);
	font-size: clamp(2rem, 1.35rem + 2.6vw, 3.25rem);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--ea-text);
	text-wrap: balance;
}

.ea-site .ea-lead {
	margin-top: 1.5rem;
	max-width: 42rem;
	font-size: 1.0625rem;
	line-height: 1.625;
	color: var(--ea-muted);
}

.ea-site h3 {
	font-family: var(--ea-serif);
	font-weight: 400;
	color: var(--ea-text);
	letter-spacing: 0;
}

.ea-site .ea-sr-only {
	position: absolute !important; /* must beat any block layout positioning */
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Icons: Lucide outlines rendered as CSS masks so they inherit currentColor.
   Set --ea-icon on an element (via an .ea-i-* class) and use .ea-ico or a
   component ::before to paint it. Icon variables are generated by build.py. */
:root {
	--ea-i-brain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z' /%3E%3Cpath d='M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z' /%3E%3Cpath d='M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4' /%3E%3Cpath d='M17.599 6.5a3 3 0 0 0 .399-1.375' /%3E%3Cpath d='M6.003 5.125A3 3 0 0 0 6.401 6.5' /%3E%3Cpath d='M3.477 10.896a4 4 0 0 1 .585-.396' /%3E%3Cpath d='M19.938 10.5a4 4 0 0 1 .585.396' /%3E%3Cpath d='M6 18a4 4 0 0 1-1.967-.516' /%3E%3Cpath d='M19.967 17.484A4 4 0 0 1 18 18' /%3E%3C/svg%3E");
	--ea-i-trending-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpolyline points='22 7 13.5 15.5 8.5 10.5 2 17' /%3E%3Cpolyline points='16 7 22 7 22 13' /%3E%3C/svg%3E");
	--ea-i-activity: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2' /%3E%3C/svg%3E");
	--ea-i-battery: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Crect width='16' height='10' x='2' y='7' rx='2' ry='2' /%3E%3Cline x1='22' x2='22' y1='11' y2='13' /%3E%3C/svg%3E");
	--ea-i-git-branch: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cline x1='6' x2='6' y1='3' y2='15' /%3E%3Ccircle cx='18' cy='6' r='3' /%3E%3Ccircle cx='6' cy='18' r='3' /%3E%3Cpath d='M18 9a9 9 0 0 1-9 9' /%3E%3C/svg%3E");
	--ea-i-moon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z' /%3E%3C/svg%3E");
	--ea-i-heart-pulse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z' /%3E%3Cpath d='M3.22 12H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27' /%3E%3C/svg%3E");
	--ea-i-flame: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z' /%3E%3C/svg%3E");
	--ea-i-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z' /%3E%3C/svg%3E");
	--ea-i-gauge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='m12 14 4-4' /%3E%3Cpath d='M3.34 19a10 10 0 1 1 17.32 0' /%3E%3C/svg%3E");
	--ea-i-briefcase: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16' /%3E%3Crect width='20' height='14' x='2' y='6' rx='2' /%3E%3C/svg%3E");
	--ea-i-cpu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Crect width='16' height='16' x='4' y='4' rx='2' /%3E%3Crect width='6' height='6' x='9' y='9' rx='1' /%3E%3Cpath d='M15 2v2' /%3E%3Cpath d='M15 20v2' /%3E%3Cpath d='M2 15h2' /%3E%3Cpath d='M2 9h2' /%3E%3Cpath d='M20 15h2' /%3E%3Cpath d='M20 9h2' /%3E%3Cpath d='M9 2v2' /%3E%3Cpath d='M9 20v2' /%3E%3C/svg%3E");
	--ea-i-bot: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M12 8V4H8' /%3E%3Crect width='16' height='12' x='4' y='8' rx='2' /%3E%3Cpath d='M2 14h2' /%3E%3Cpath d='M20 14h2' /%3E%3Cpath d='M15 13v2' /%3E%3Cpath d='M9 13v2' /%3E%3C/svg%3E");
	--ea-i-compass: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z' /%3E%3Ccircle cx='12' cy='12' r='10' /%3E%3C/svg%3E");
	--ea-i-building-2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z' /%3E%3Cpath d='M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2' /%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2' /%3E%3Cpath d='M10 6h4' /%3E%3Cpath d='M10 10h4' /%3E%3Cpath d='M10 14h4' /%3E%3Cpath d='M10 18h4' /%3E%3C/svg%3E");
	--ea-i-sparkles: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z' /%3E%3Cpath d='M20 3v4' /%3E%3Cpath d='M22 5h-4' /%3E%3Cpath d='M4 17v2' /%3E%3Cpath d='M5 18H3' /%3E%3C/svg%3E");
	--ea-i-scale: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z' /%3E%3Cpath d='m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z' /%3E%3Cpath d='M7 21h10' /%3E%3Cpath d='M12 3v18' /%3E%3Cpath d='M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2' /%3E%3C/svg%3E");
	--ea-i-droplets: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z' /%3E%3Cpath d='M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97' /%3E%3C/svg%3E");
	--ea-i-stethoscope: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M11 2v2' /%3E%3Cpath d='M5 2v2' /%3E%3Cpath d='M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1' /%3E%3Cpath d='M8 15a6 6 0 0 0 12 0v-3' /%3E%3Ccircle cx='20' cy='10' r='2' /%3E%3C/svg%3E");
	--ea-i-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z' /%3E%3C/svg%3E");
	--ea-i-infinity: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M12 12c-2-2.67-4-4-6-4a4 4 0 1 0 0 8c2 0 4-1.33 6-4Zm0 0c2 2.67 4 4 6 4a4 4 0 0 0 0-8c-2 0-4 1.33-6 4Z' /%3E%3C/svg%3E");
	--ea-i-house: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8' /%3E%3Cpath d='M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z' /%3E%3C/svg%3E");
	--ea-i-scan-line-thin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M3 7V5a2 2 0 0 1 2-2h2' /%3E%3Cpath d='M17 3h2a2 2 0 0 1 2 2v2' /%3E%3Cpath d='M21 17v2a2 2 0 0 1-2 2h-2' /%3E%3Cpath d='M7 21H5a2 2 0 0 1-2-2v-2' /%3E%3Cpath d='M7 12h10' /%3E%3C/svg%3E");
	--ea-i-layers-thin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z' /%3E%3Cpath d='m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65' /%3E%3Cpath d='m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65' /%3E%3C/svg%3E");
	--ea-i-trending-up-thin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpolyline points='22 7 13.5 15.5 8.5 10.5 2 17' /%3E%3Cpolyline points='16 7 22 7 22 13' /%3E%3C/svg%3E");
	--ea-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M20 6 9 17l-5-5' /%3E%3C/svg%3E");
	--ea-i-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M18 6 6 18' /%3E%3Cpath d='m6 6 12 12' /%3E%3C/svg%3E");
	--ea-i-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M5 12h14' /%3E%3Cpath d='m12 5 7 7-7 7' /%3E%3C/svg%3E");
	--ea-i-arrow-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='m12 19-7-7 7-7' /%3E%3Cpath d='M19 12H5' /%3E%3C/svg%3E");
	--ea-i-expand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpolyline points='15 3 21 3 21 9' /%3E%3Cpolyline points='9 21 3 21 3 15' /%3E%3Cline x1='21' x2='14' y1='3' y2='10' /%3E%3Cline x1='3' x2='10' y1='21' y2='14' /%3E%3C/svg%3E");
	--ea-i-plus-muted: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23a3a3a3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M5 12h14' /%3E%3Cpath d='M12 5v14' /%3E%3C/svg%3E");
	--ea-i-plus-accent: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23e65100' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpath d='M5 12h14' /%3E%3Cpath d='M12 5v14' /%3E%3C/svg%3E");
}
.ea-site .ea-i-brain { --ea-icon: var(--ea-i-brain); }
.ea-site .ea-i-trending-up { --ea-icon: var(--ea-i-trending-up); }
.ea-site .ea-i-activity { --ea-icon: var(--ea-i-activity); }
.ea-site .ea-i-battery { --ea-icon: var(--ea-i-battery); }
.ea-site .ea-i-git-branch { --ea-icon: var(--ea-i-git-branch); }
.ea-site .ea-i-moon { --ea-icon: var(--ea-i-moon); }
.ea-site .ea-i-heart-pulse { --ea-icon: var(--ea-i-heart-pulse); }
.ea-site .ea-i-flame { --ea-icon: var(--ea-i-flame); }
.ea-site .ea-i-shield { --ea-icon: var(--ea-i-shield); }
.ea-site .ea-i-gauge { --ea-icon: var(--ea-i-gauge); }
.ea-site .ea-i-briefcase { --ea-icon: var(--ea-i-briefcase); }
.ea-site .ea-i-cpu { --ea-icon: var(--ea-i-cpu); }
.ea-site .ea-i-bot { --ea-icon: var(--ea-i-bot); }
.ea-site .ea-i-compass { --ea-icon: var(--ea-i-compass); }
.ea-site .ea-i-building-2 { --ea-icon: var(--ea-i-building-2); }
.ea-site .ea-i-sparkles { --ea-icon: var(--ea-i-sparkles); }
.ea-site .ea-i-scale { --ea-icon: var(--ea-i-scale); }
.ea-site .ea-i-droplets { --ea-icon: var(--ea-i-droplets); }
.ea-site .ea-i-stethoscope { --ea-icon: var(--ea-i-stethoscope); }
.ea-site .ea-i-heart { --ea-icon: var(--ea-i-heart); }
.ea-site .ea-i-infinity { --ea-icon: var(--ea-i-infinity); }
.ea-site .ea-i-house { --ea-icon: var(--ea-i-house); }
.ea-site .ea-i-scan-line-thin { --ea-icon: var(--ea-i-scan-line-thin); }
.ea-site .ea-i-layers-thin { --ea-icon: var(--ea-i-layers-thin); }
.ea-site .ea-i-trending-up-thin { --ea-icon: var(--ea-i-trending-up-thin); }

.ea-site .ea-ico {
	display: inline-block;
	flex-shrink: 0;
	width: 1.5rem;
	height: 1.5rem;
	background-color: currentColor;
	-webkit-mask: var(--ea-icon) center / contain no-repeat;
	mask: var(--ea-icon) center / contain no-repeat;
}

/* 5. Buttons --------------------------------------------------------------- */
.ea-site .ea-btns {
	margin-top: 3.5rem;
	gap: 1rem;
}

.ea-site .ea-btn .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 56px;
	padding: 1rem 1.5rem;
	border: 0;
	border-radius: 0.375rem;
	background: var(--ea-accent);
	color: var(--ea-bg);
	font-family: var(--ea-sans);
	font-size: 0.85rem;
	font-weight: 500;
	letter-spacing: 0.025em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.5s, box-shadow 0.5s;
}

.ea-site .ea-btn .wp-block-button__link:hover,
.ea-site .ea-btn .wp-block-button__link:focus-visible {
	background: var(--ea-accent-hover);
	box-shadow: 0 0 32px rgb(230 81 0 / 0.4);
	color: var(--ea-bg);
}

.ea-site .ea-btn .wp-block-button__link:focus-visible {
	outline: 2px solid var(--ea-accent);
	outline-offset: 3px;
}

@media (min-width: 640px) {
	.ea-site .ea-btn .wp-block-button__link {
		padding-inline: 2rem;
		font-size: 0.95rem;
	}
}

.ea-site .ea-btn--pulse .wp-block-button__link {
	animation: ea-pulse 4.5s ease-in-out infinite;
}

/* Method section: copper → ember gradient pill with a trailing arrow. */
.ea-site .ea-btn--gradient .wp-block-button__link {
	border-radius: 9999px;
	padding: 1rem 2rem;
	background: linear-gradient(90deg, var(--ea-copper), var(--ea-accent));
	font-size: 0.9rem;
}

.ea-site .ea-btn--gradient .wp-block-button__link::after {
	content: "";
	width: 1rem;
	height: 1rem;
	background-color: currentColor;
	-webkit-mask: var(--ea-i-arrow-right) center / contain no-repeat;
	mask: var(--ea-i-arrow-right) center / contain no-repeat;
}

.ea-site .ea-btn--gradient .wp-block-button__link:hover {
	background: linear-gradient(90deg, var(--ea-copper), var(--ea-accent));
}

/* 6. Header ---------------------------------------------------------------- */
.ea-site .ea-header {
	position: fixed;
	inset: 0 0 auto;
	z-index: 50;
	background: rgb(255 255 255 / 0.7);
	-webkit-backdrop-filter: blur(24px);
	backdrop-filter: blur(24px);
	border-bottom: 1px solid rgb(255 255 255 / 0.1);
}

.admin-bar .ea-site .ea-header {
	top: var(--wp-admin--admin-bar--height, 32px);
}

/* WP's admin bar stops being fixed below 600px; keep the header at the top. */
@media (max-width: 600px) {
	.admin-bar .ea-site .ea-header {
		top: 0;
	}
}

.ea-site .ea-header__inner {
	box-sizing: content-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	max-width: 75rem;
	height: var(--ea-header-h);
	margin-inline: auto;
	padding-inline: var(--ea-pad);
}

.ea-site .ea-header a:focus-visible,
.ea-site .ea-logo a:focus-visible {
	outline: 2px solid var(--ea-accent);
	outline-offset: 3px;
}

.ea-site .ea-logo {
	flex-shrink: 0;
	margin: 0;
	line-height: 0;
}

.ea-site .ea-logo img {
	width: auto;
	height: 80px;
	object-fit: contain;
}

/* Primary navigation. Rules are scoped under .ea-header so they outrank the
   navigation block's own stylesheet, which WordPress prints after this one.
   The block is set to "always" use the overlay so the
   menu collapses at the source's 1024px breakpoint instead of WP's 600px;
   above 1024px the overlay container is shown inline. */
.ea-site .ea-header .ea-nav {
	--ea-nav-color: var(--ea-ink);
	font-family: var(--ea-sans);
}

.ea-site .ea-header .ea-nav .wp-block-navigation-item__content {
	color: var(--ea-nav-color);
	font-size: 0.85rem;
	letter-spacing: 0.025em;
	text-decoration: none;
	transition: color 0.3s;
}

.ea-site .ea-header .ea-nav .wp-block-navigation-item__content:hover,
.ea-site .ea-header .ea-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--ea-accent);
}

.ea-site .ea-header .ea-nav .ea-nav__cta > .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 0.625rem 1.25rem;
	border-radius: 0.375rem;
	background: var(--ea-accent);
	color: var(--ea-bg);
	font-size: 0.8rem;
	font-weight: 500;
	white-space: nowrap;
	transition: background-color 0.5s, box-shadow 0.5s;
}

.ea-site .ea-header .ea-nav .ea-nav__cta > .wp-block-navigation-item__content:hover {
	background: var(--ea-accent-hover);
	box-shadow: 0 0 24px rgb(230 81 0 / 0.35);
	color: var(--ea-bg);
}

.ea-site .ea-header .ea-nav .wp-block-navigation__responsive-container-open,
.ea-site .ea-header .ea-nav .wp-block-navigation__responsive-container-close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	color: var(--ea-ink);
}

.ea-site .ea-header .ea-nav .wp-block-navigation__responsive-container-open svg,
.ea-site .ea-header .ea-nav .wp-block-navigation__responsive-container-close svg {
	width: 1.5rem;
	height: 1.5rem;
}

/* Mobile/tablet overlay: a white panel under the header, as in the source. */
.ea-site .ea-header .ea-nav .wp-block-navigation__responsive-container.is-menu-open {
	inset: var(--ea-header-h) 0 auto;
	padding: 1.5rem var(--ea-pad) 2rem;
	background: rgb(255 255 255 / 0.97);
	-webkit-backdrop-filter: blur(24px);
	backdrop-filter: blur(24px);
	border-top: 1px solid rgb(0 0 0 / 0.05);
	box-shadow: 0 24px 40px -24px rgb(0 0 0 / 0.5);
	color: var(--ea-ink);
}

.ea-site .ea-header .ea-nav .is-menu-open .wp-block-navigation__responsive-close {
	max-width: none;
}

/* Close button sits top-right inside the panel, level with the first item.
   (The header's backdrop-filter makes it the overlay's containing block, so
   the button cannot be pinned over the header bar without being clipped.) */
.ea-site .ea-header .ea-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute;
	top: -0.5rem;
	right: calc(var(--ea-pad) - 0.5rem);
	z-index: 1;
}

.ea-site .ea-header .ea-nav:has(.is-menu-open) .wp-block-navigation__responsive-container-open {
	visibility: hidden;
}

.ea-site .ea-header .ea-nav .is-menu-open {
	--navigation-layout-justification-setting: stretch;
	--navigation-layout-justify: flex-start;
}

.ea-site .ea-header .ea-nav .is-menu-open .wp-block-navigation-item {
	align-items: flex-start;
}

.ea-site .ea-header .ea-nav .is-menu-open .ea-nav__cta {
	align-items: stretch;
}

.ea-site .ea-header .ea-nav .is-menu-open .wp-block-navigation__responsive-dialog,
.ea-site .ea-header .ea-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	margin: 0;
	padding: 0;
}

.ea-site .ea-header .ea-nav .is-menu-open .wp-block-navigation__container {
	flex-direction: column;
	align-items: stretch;
	gap: 1rem;
}

.ea-site .ea-header .ea-nav .is-menu-open .wp-block-navigation-item__content {
	padding: 0.25rem 0;
	font-size: 0.95rem;
}

.ea-site .ea-header .ea-nav .is-menu-open .ea-nav__cta > .wp-block-navigation-item__content {
	justify-content: center;
	width: 100%;
	min-height: 48px;
	margin-top: 0.25rem;
	font-size: 0.85rem;
}

@media (min-width: 1024px) {
	.ea-site .ea-header .ea-nav .wp-block-navigation__responsive-container-open {
		display: none;
	}

	.ea-site .ea-header .ea-nav .wp-block-navigation__responsive-container.hidden-by-default,
.ea-site .ea-header .ea-nav .wp-block-navigation__responsive-container {
		display: block;
		position: static;
		inset: auto;
		padding: 0;
		background: none;
		box-shadow: none;
		border: 0;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.ea-site .ea-header .ea-nav .wp-block-navigation__responsive-container-close {
		display: none;
	}

	.ea-site .ea-header .ea-nav .wp-block-navigation__container {
		flex-direction: row;
		align-items: center;
		gap: 1.75rem;
	}
}

/* 7. Footer ---------------------------------------------------------------- */
.ea-site .ea-footer {
	background: rgb(15 15 15 / 0.6);
	border-top: 1px solid var(--ea-line-strong);
	padding-block: 3rem;
	color: var(--ea-subtle);
	font-family: var(--ea-sans);
}

.ea-site .ea-footer__row {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
}

@media (min-width: 640px) {
	.ea-site .ea-footer__row {
		flex-direction: row;
	}
}

.ea-site .ea-footer .ea-logo img {
	height: 10rem;
}

.ea-site .ea-footer .ea-footer__legal .wp-block-navigation__container {
	gap: 1.5rem;
	justify-content: center;
}

.ea-site .ea-footer .ea-footer__legal .wp-block-navigation-item__content {
	color: var(--ea-subtle);
	font-size: 0.8rem;
	text-decoration: none;
	transition: color 0.3s;
}

.ea-site .ea-footer .ea-footer__legal .wp-block-navigation-item__content:hover {
	color: var(--ea-accent);
}

.ea-site .ea-footer__copy {
	font-size: 0.75rem;
}

/* Source used #4a4a4a here (2:1 contrast); lifted to meet WCAG AA. */
.ea-site .ea-footer__disclaimer {
	max-width: 42rem;
	margin: 2rem auto 0;
	font-size: 0.7rem;
	line-height: 1.625;
	text-align: center;
}

/* 8. Sections -------------------------------------------------------------- */

/* Hero */
.ea-site .ea-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	min-height: 100svh;
	overflow: hidden;
	background-color: var(--ea-bg);
}

.ea-site .ea-hero__media {
	position: absolute;
	inset: 0;
	z-index: -2;
}

.ea-site .ea-hero__media img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: left top;
}

@media (min-width: 1024px) {
	.ea-site .ea-hero__media img {
		position: absolute;
		left: 2%;
		width: 115%;
	}
}

/* Scrims: dark-left gradient for legibility, bottom fade on small screens,
   then the grain texture. */
.ea-site .ea-hero::before,
.ea-site .ea-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}

.ea-site .ea-hero::before {
	background:
		linear-gradient(to top, rgb(15 15 15 / 0.7), transparent 50%),
		linear-gradient(to right, var(--ea-bg), rgb(15 15 15 / 0.85) 50%, rgb(15 15 15 / 0.1));
}

.ea-site .ea-hero::after {
	background-image: var(--ea-grain);
	background-size: 3px 3px;
	opacity: 0.4;
}

@media (min-width: 1024px) {
	.ea-site .ea-hero::before {
		background: linear-gradient(to right, var(--ea-bg), rgb(15 15 15 / 0.85) 50%, rgb(15 15 15 / 0.1));
	}
}

.ea-site .ea-hero__content {
	width: 100%;
	padding: 7rem var(--ea-pad) 2.5rem;
}

@media (min-width: 640px) {
	.ea-site .ea-hero__content {
		padding-top: 8rem;
	}
}

@media (min-width: 1024px) {
	.ea-site .ea-hero__content {
		width: 62%;
		padding: var(--ea-header-h) 0 2.5rem 4rem;
	}
}

@media (min-width: 1280px) {
	.ea-site .ea-hero__content {
		width: 60%;
		padding-left: 6rem;
	}
}

.ea-site .ea-hero__title {
	margin-top: 1.5rem;
	max-width: 42rem;
	font-family: var(--ea-serif);
	font-size: clamp(2.5rem, 1.55rem + 3.8vw, 4.5rem);
	font-weight: 300;
	line-height: 1.05;
	letter-spacing: -0.01em;
	color: var(--ea-text);
	text-wrap: balance;
}

.ea-site .ea-hero__lead {
	margin-top: 2rem;
	max-width: 36rem;
	font-size: 1.0625rem;
	line-height: 1.625;
	color: var(--ea-text-soft);
}

@media (min-width: 640px) {
	.ea-site .ea-hero__lead {
		font-size: 1.125rem;
	}
}

.ea-site .ea-hero .ea-btns {
	margin-top: 2.5rem;
}

/* Checklist with ember ticks (hero trust indicators). */
.ea-site .ea-checklist {
	display: grid;
	gap: 0.75rem 2rem;
	max-width: 36rem;
	margin-top: 2.5rem;
	font-size: 0.9rem;
	color: var(--ea-muted);
}

@media (min-width: 640px) {
	.ea-site .ea-checklist {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.ea-site .ea-checklist li {
	display: flex;
	align-items: center;
	gap: 0.625rem;
}

.ea-site .ea-checklist li::before {
	content: "";
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	background-color: var(--ea-accent);
	-webkit-mask: var(--ea-i-check) center / contain no-repeat;
	mask: var(--ea-i-check) center / contain no-repeat;
}

/* Trust bar. The source forces one line from 1024px up, which overflows
   the viewport by ~80px; here the pillars wrap onto centred rows instead. */
.ea-site .ea-trustbar {
	background-color: var(--ea-bg);
	border-block: 1px solid var(--ea-line);
	padding-block: 1.75rem;
}

.ea-site .ea-pillars {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem 1rem;
}

.ea-site .ea-pillars li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: 0.65rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--ea-subtle);
	cursor: default;
	transition: color 0.5s;
}

.ea-site .ea-pillars li:hover {
	color: var(--ea-text);
}

.ea-site .ea-pillars li + li::before {
	content: "";
	display: none;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: rgb(230 81 0 / 0.5);
}

@media (min-width: 640px) {
	.ea-site .ea-pillars {
		gap: 0.75rem 1.5rem;
	}

	.ea-site .ea-pillars li {
		gap: 1.5rem;
		font-size: 0.72rem;
		letter-spacing: 0.22em;
	}

	.ea-site .ea-pillars li + li::before {
		display: block;
	}
}

@media (min-width: 768px) {
	.ea-site .ea-pillars {
		gap: 0.75rem 2rem;
	}

	.ea-site .ea-pillars li {
		gap: 2rem;
		font-size: 0.78rem;
	}
}

/* Performance audit */
.ea-site .ea-limiters {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin-top: 3.5rem;
}

@media (min-width: 640px) {
	.ea-site .ea-limiters {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1rem;
	}
}

@media (min-width: 1024px) {
	.ea-site .ea-limiters {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

.ea-site .ea-limiters li {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 140px;
	padding: 1.5rem;
	background: var(--ea-glass);
	-webkit-backdrop-filter: blur(40px);
	backdrop-filter: blur(40px);
	border: 1px solid rgb(255 255 255 / 0.06);
	border-radius: var(--ea-radius);
	font-size: 0.95rem;
	letter-spacing: 0.025em;
	color: var(--ea-text-soft);
}

@media (min-width: 640px) {
	.ea-site .ea-limiters li {
		padding: 1.75rem;
	}
}

.ea-site .ea-limiters li::before {
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	margin-bottom: 1rem;
	background-color: var(--ea-gold);
	-webkit-mask: var(--ea-icon) center / contain no-repeat;
	mask: var(--ea-icon) center / contain no-repeat;
	transition: background-color 0.5s;
}

.ea-site .ea-limiters li::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgb(230 81 0 / 0.6), transparent);
	opacity: 0;
	transition: opacity 0.5s;
}

.ea-site .ea-limiters li:hover::before {
	background-color: var(--ea-accent);
}

.ea-site .ea-limiters li:hover::after {
	opacity: 1;
}

.ea-site .ea-quote {
	margin-top: 3.5rem;
	max-width: 48rem;
	font-family: var(--ea-serif);
	font-size: clamp(1.125rem, 1rem + 0.5vw, 1.25rem);
	font-style: italic;
	font-weight: 300;
	line-height: 1.375;
	color: var(--ea-gold);
}

.ea-site .ea-quote + .ea-btns {
	margin-top: 2.5rem;
}

/* Method */
.ea-site .ea-method {
	position: relative;
	overflow: hidden;
	padding-block: var(--ea-section-y) 5rem;
	background-color: var(--ea-bg-deep);
}

/* Ambient amber glows (decorative). */
.ea-site .ea-method::before,
.ea-site .ea-method::after {
	content: "";
	position: absolute;
	width: 24rem;
	height: 24rem;
	border-radius: 50%;
	filter: blur(120px);
	pointer-events: none;
}

.ea-site .ea-method::before {
	top: -10rem;
	left: -10rem;
	background: rgb(214 141 77 / 0.1);
}

.ea-site .ea-method::after {
	right: -10rem;
	bottom: -10rem;
	background: rgb(184 115 51 / 0.1);
}

.ea-site .ea-method > * {
	position: relative;
	z-index: 1;
}

.ea-site .ea-eyebrow--flanked {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	font-size: 0.75rem;
	letter-spacing: 0.3em;
	color: var(--ea-copper);
	text-align: center;
}

.ea-site .ea-eyebrow--flanked::before,
.ea-site .ea-eyebrow--flanked::after {
	content: "";
	flex-shrink: 0;
	width: 3rem;
	height: 1px;
	background: rgb(214 141 77 / 0.4);
}

.ea-site .ea-method .ea-h2 {
	margin-inline: auto;
	text-align: center;
}

.ea-site .ea-method .ea-lead {
	margin-inline: auto;
	color: var(--ea-taupe);
	text-align: center;
}

.ea-site .ea-note {
	max-width: 42rem;
	margin: 2.5rem auto 0;
	padding: 1.5rem;
	border: 1px solid rgb(214 141 77 / 0.15);
	border-radius: var(--ea-radius-lg);
	background: rgb(20 20 20 / 0.6);
	font-size: 0.95rem;
	line-height: 1.625;
	color: var(--ea-taupe);
}

.ea-site .ea-note strong {
	font-weight: 400;
	color: var(--ea-sand);
}

.ea-site .ea-cite {
	color: var(--ea-copper);
	text-decoration: underline;
	text-decoration-color: rgb(214 141 77 / 0.4);
	text-underline-offset: 2px;
}

.ea-site .ea-cite:hover {
	text-decoration-color: var(--ea-copper);
}

.ea-site .ea-steps {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-top: 4rem;
}

/* Vertical connector with a glowing node per step (≥640px). */
.ea-site .ea-steps::before {
	content: "";
	position: absolute;
	top: 3rem;
	bottom: 3rem;
	left: 1rem;
	display: none;
	width: 1px;
	background: linear-gradient(to bottom, transparent, rgb(214 141 77 / 0.3), transparent);
}

.ea-site .ea-step {
	position: relative;
	display: grid;
	gap: 1.5rem;
	align-items: center;
	padding: 2rem 1.5rem;
	overflow: hidden;
	border: 1px solid rgb(214 141 77 / 0.2);
	border-radius: var(--ea-radius-lg);
	background:
		radial-gradient(circle at 50% 50%, rgb(214 141 77 / 0.08), transparent 70%) no-repeat,
		rgb(26 26 26 / 0.6);
	background-size: 0 0, auto;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	box-shadow: 0 0 30px rgb(214 141 77 / 0.05);
	transition: border-color 0.5s, background-color 0.5s, box-shadow 0.5s, transform 0.5s;
}

.ea-site .ea-step:hover {
	border-color: rgb(214 141 77 / 0.5);
	background-size: 100% 100%, auto;
	box-shadow: 0 0 60px rgb(214 141 77 / 0.18);
	transform: translateY(-4px);
}

@media (min-width: 640px) {
	.ea-site .ea-steps::before {
		display: block;
	}

	.ea-site .ea-step-wrap {
		position: relative;
		padding-left: 3rem;
	}

	.ea-site .ea-step-wrap::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 11px;
		width: 12px;
		height: 12px;
		border-radius: 50%;
		background: var(--ea-copper);
		box-shadow: 0 0 12px rgb(214 141 77 / 0.7);
		transform: translateY(-50%);
	}

	.ea-site .ea-step {
		padding-inline: 2.5rem;
	}
}

@media (min-width: 1024px) {
	.ea-site .ea-step {
		grid-template-columns: 2fr 3fr 1fr 6fr;
		gap: 1rem;
	}

	.ea-site .ea-step > * + * {
		align-self: stretch;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding-left: 1.5rem;
		border-left: 1px solid rgb(214 141 77 / 0.15);
	}
}

.ea-site .ea-step__num {
	font-family: var(--ea-serif);
	font-size: clamp(3.5rem, 3rem + 1.5vw, 4rem);
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px rgb(214 141 77 / 0.5);
	transition: -webkit-text-stroke 0.5s;
}

.ea-site .ea-step:hover .ea-step__num {
	-webkit-text-stroke: 1.5px rgb(214 141 77 / 0.85);
}

@media (min-width: 1024px) {
	.ea-site .ea-step__num {
		text-align: center;
	}
}

.ea-site .ea-step__title {
	font-size: clamp(1.75rem, 1.6rem + 0.5vw, 2rem);
	font-weight: 300;
	line-height: 1.25;
	color: var(--ea-sand);
}

.ea-site .ea-step__icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

.ea-site .ea-step__icon .ea-ico {
	width: 2rem;
	height: 2rem;
	color: var(--ea-copper);
	transition: transform 0.5s;
}

.ea-site .ea-step:hover .ea-step__icon .ea-ico {
	transform: scale(1.25);
}

.ea-site .ea-step__body p {
	font-size: 0.95rem;
	line-height: 1.625;
	color: var(--ea-taupe);
}

.ea-site .ea-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	margin-top: 1rem;
}

.ea-site .ea-tags li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.7rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: rgb(214 141 77 / 0.8);
}

.ea-site .ea-tags li::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ea-copper);
}

.ea-site .ea-method .ea-btns {
	justify-content: center;
	margin-top: 4rem;
}

/* Precision data */
.ea-site .ea-data__grid {
	display: grid;
	gap: 1rem;
	margin-top: 4rem;
}

.ea-site .ea-metrics {
	display: grid;
	gap: 1rem;
}

@media (min-width: 640px) {
	.ea-site .ea-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.ea-site .ea-data__grid {
		grid-template-columns: 2fr 1fr;
	}
}

.ea-site .ea-metric {
	padding: 1.5rem;
}

.ea-site .ea-metric__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
}

.ea-site .ea-metric__label {
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ea-subtle);
}

.ea-site .ea-metric__value {
	font-family: var(--ea-serif);
	font-size: 1.125rem;
	white-space: nowrap;
	color: var(--ea-text);
}

.ea-site .ea-spark {
	position: relative;
	height: 5.5rem;
	margin-top: 1.25rem;
	color: var(--ea-accent);
	/* faint chart grid */
	background: repeating-linear-gradient(to bottom, rgb(255 255 255 / 0.05) 0 1px, transparent 1px 25%);
}

.ea-site .ea-spark svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.ea-site .ea-spark__glint {
	stroke: var(--ea-gold);
	stroke-dasharray: 0.07 1;
	opacity: 0;
}

.ea-site .ea-spark__dot {
	position: absolute;
	left: 100%;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ea-accent);
	box-shadow: 0 0 0 0 rgb(230 81 0 / 0.55);
	transform: translate(-50%, -50%);
}

.ea-site .ea-metric__trend {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	margin-top: 0.5rem;
	font-size: 0.7rem;
	color: var(--ea-gold);
}

.ea-site .ea-metric__trend::before {
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--ea-accent);
}

.ea-site .ea-rings {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2.5rem;
	padding: 2rem;
}

.ea-site .ea-ring {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
}

.ea-site .ea-ring__dial {
	position: relative;
	width: 6rem;
	height: 6rem;
}

.ea-site .ea-ring__dial svg {
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
}

.ea-site .ea-ring__value {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ea-serif);
	font-size: 1.25rem;
	color: var(--ea-text);
}

.ea-site .ea-ring__label {
	font-size: 0.72rem;
	letter-spacing: 0.2em;
	text-align: center;
	text-transform: uppercase;
	color: var(--ea-subtle);
}

.ea-site .ea-rings__note {
	font-size: 0.8rem;
	font-style: italic;
	text-align: center;
	color: var(--ea-subtle);
}

/* Who we serve */
.ea-site .ea-audience__grid {
	display: grid;
	gap: 1rem;
	margin-top: 3.5rem;
}

@media (min-width: 640px) {
	.ea-site .ea-audience__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.ea-site .ea-audience__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.ea-site .ea-person {
	position: relative;
	overflow: hidden;
	border-radius: var(--ea-radius);
	background: var(--ea-surface);
	transition: box-shadow 0.5s;
}

.ea-site .ea-person:hover {
	box-shadow: 0 0 0 1px rgb(230 81 0 / 0.3);
}

.ea-site .ea-person__img {
	position: relative;
	height: 16rem;
	overflow: hidden;
}

@media (min-width: 640px) {
	.ea-site .ea-person__img {
		height: 18rem;
	}
}

.ea-site .ea-person__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center var(--ea-focus-y, 35%);
	transform: scale(1.02);
	transition: transform 0.7s;
}

.ea-site .ea-person:hover .ea-person__img img {
	transform: scale(1.05);
}

.ea-site .ea-person__img::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, var(--ea-surface), rgb(26 26 26 / 0.2) 50%, transparent);
}

.ea-site .ea-focus-30 { --ea-focus-y: 30%; }
.ea-site .ea-focus-35 { --ea-focus-y: 35%; }
.ea-site .ea-focus-40 { --ea-focus-y: 40%; }

/* Role icon pinned to the photo's top-left corner. */
.ea-site .ea-person::before {
	content: "";
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 1;
	width: 1.25rem;
	height: 1.25rem;
	background-color: var(--ea-gold);
	-webkit-mask: var(--ea-icon) center / contain no-repeat;
	mask: var(--ea-icon) center / contain no-repeat;
	transition: background-color 0.5s;
}

.ea-site .ea-person:hover::before {
	background-color: var(--ea-accent);
}

.ea-site .ea-person__body {
	padding: 1.5rem;
}

@media (min-width: 640px) {
	.ea-site .ea-person__body {
		padding: 2rem;
	}
}

.ea-site .ea-person h3,
.ea-site .ea-service h3 {
	font-size: 1.25rem;
	line-height: 1.4;
}

.ea-site .ea-person p {
	margin-top: 0.5rem;
	font-size: 0.95rem;
	line-height: 1.625;
	color: var(--ea-muted);
}

/* Services */
.ea-site .ea-services__grid {
	display: grid;
	gap: 1rem;
	margin-top: 3.5rem;
}

@media (min-width: 640px) {
	.ea-site .ea-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.ea-site .ea-services__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.ea-site .ea-service {
	display: flex;
	flex-direction: column;
	padding: 1.75rem;
	transition: border-color 0.5s;
}

.ea-site .ea-service::before {
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	margin-bottom: 1.25rem;
	background-color: var(--ea-gold);
	-webkit-mask: var(--ea-icon) center / contain no-repeat;
	mask: var(--ea-icon) center / contain no-repeat;
	transition: background-color 0.5s;
}

.ea-site .ea-service:hover {
	border-color: rgb(230 81 0 / 0.3);
}

.ea-site .ea-service:hover::before {
	background-color: var(--ea-accent);
}

.ea-site .ea-service h3 {
	font-size: 1.125rem;
}

.ea-site .ea-service p {
	margin-top: 0.5rem;
	font-size: 0.9rem;
	line-height: 1.625;
	color: var(--ea-muted);
}

/* Why EmberArc */
.ea-site .ea-compare {
	display: grid;
	gap: 1rem;
	margin-top: 3.5rem;
}

@media (min-width: 1024px) {
	.ea-site .ea-compare {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem;
	}
}

.ea-site .ea-compare__col {
	padding: 2rem;
	border: 1px solid var(--ea-line-strong);
	border-radius: var(--ea-radius);
	background: rgb(22 22 22 / 0.4);
}

@media (min-width: 640px) {
	.ea-site .ea-compare__col {
		padding: 2.5rem;
	}
}

.ea-site .ea-compare__col--ea {
	border-color: rgb(230 81 0 / 0.25);
	background: linear-gradient(to bottom, #1a1410, var(--ea-bg));
	box-shadow: 0 0 0 1px rgb(230 81 0 / 0.5), 0 0 24px rgb(230 81 0 / 0.18);
}

.ea-site .ea-compare__label {
	margin-bottom: 2rem;
	font-family: var(--ea-sans);
	font-size: 0.72rem;
	font-weight: 400;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--ea-subtle);
}

.ea-site .ea-compare__col--ea .ea-compare__label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--ea-accent);
}

.ea-site .ea-compare__col--ea .ea-compare__label::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ea-accent);
}

.ea-site .ea-marklist {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	font-size: 1rem;
	color: var(--ea-subtle);
}

.ea-site .ea-marklist--yes {
	color: var(--ea-text);
}

/* Each item gets a disc (::before) with a masked glyph centred on it (::after),
   so the disc and glyph keep independent colours. */
.ea-site .ea-marklist li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.ea-site .ea-marklist li::before {
	content: "";
	flex-shrink: 0;
	box-sizing: border-box;
	width: 1.5rem;
	height: 1.5rem;
	border: 1px solid rgb(255 255 255 / 0.1);
	border-radius: 50%;
}

.ea-site .ea-marklist li::after {
	content: "";
	position: absolute;
	left: 0.3125rem;
	width: 0.875rem;
	height: 0.875rem;
	background: #6b6b6b;
	-webkit-mask: var(--ea-i-x) center / contain no-repeat;
	mask: var(--ea-i-x) center / contain no-repeat;
}

.ea-site .ea-marklist--yes li::before {
	border: 0;
	background: rgb(230 81 0 / 0.15);
}

.ea-site .ea-marklist--yes li::after {
	background: var(--ea-accent);
	-webkit-mask-image: var(--ea-i-check);
	mask-image: var(--ea-i-check);
}

/* Patient experience */
.ea-site .ea-journey {
	display: grid;
	gap: 1rem;
	margin-top: 4rem;
}

@media (min-width: 768px) {
	.ea-site .ea-journey {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.ea-site .ea-journey {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0.5rem;
	}
}

.ea-site .ea-journey__step {
	padding: 2rem 1.5rem;
}

@media (min-width: 1024px) {
	.ea-site .ea-journey__step {
		padding-inline: 2rem;
	}
}

.ea-site .ea-journey__num {
	font-family: var(--ea-serif);
	font-size: 1.5rem;
	color: rgb(230 81 0 / 0.6);
}

.ea-site .ea-journey__step h3 {
	margin-top: 1rem;
	font-size: 1.25rem;
	line-height: 1.375;
}

.ea-site .ea-journey__step p:last-child {
	margin-top: 0.75rem;
	font-size: 0.95rem;
	line-height: 1.625;
	color: var(--ea-muted);
}

/* FAQ — native <details>, no script required. */
.ea-site .ea-faq__list {
	margin-top: 3rem;
}

.ea-site .ea-faq__item {
	border-bottom: 1px solid var(--ea-line-strong);
}

.ea-site .ea-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding-block: 1.5rem;
	font-family: var(--ea-serif);
	font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.3rem);
	line-height: 1.375;
	color: var(--ea-text);
	list-style: none;
	cursor: pointer;
	transition: color 0.3s;
}

.ea-site .ea-faq__item summary::-webkit-details-marker {
	display: none;
}

.ea-site .ea-faq__item summary:hover {
	color: var(--ea-accent);
}

.ea-site .ea-faq__item summary::after {
	content: "";
	flex-shrink: 0;
	box-sizing: border-box;
	width: 2rem;
	height: 2rem;
	border: 1px solid rgb(255 255 255 / 0.15);
	border-radius: 50%;
	background:
		var(--ea-i-plus-muted) center / 1rem no-repeat;
	transition: transform 0.5s, border-color 0.5s, background-color 0.5s;
}

.ea-site .ea-faq__item[open] summary::after {
	border-color: var(--ea-accent);
	background:
		var(--ea-i-plus-accent) center / 1rem no-repeat,
		rgb(230 81 0 / 0.1);
	transform: rotate(45deg);
}

.ea-site .ea-faq__item p {
	max-width: 48rem;
	padding: 0 3rem 1.75rem 0;
	font-size: 1rem;
	line-height: 1.625;
	color: var(--ea-muted);
}

/* Consultation (light) */
.ea-site .ea-consult {
	scroll-margin-top: var(--ea-header-h);
	padding-block: var(--ea-section-y);
	background-color: var(--ea-light);
	color: var(--ea-bg);
}

.ea-site .ea-consult__grid {
	display: grid;
	gap: 3rem;
	align-items: start;
}

/* The booking widget needs ~500px to lay out its form, so the card column
   is wider than the copy column (source: equal columns with a native form). */
@media (min-width: 1024px) {
	.ea-site .ea-consult__grid {
		grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
		gap: 4rem;
	}
}

.ea-site .ea-consult .ea-eyebrow {
	color: var(--ea-subtle);
}

.ea-site .ea-consult .ea-h2 {
	font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem);
	line-height: 1.05;
	color: var(--ea-bg);
}

.ea-site .ea-consult .ea-lead {
	max-width: 28rem;
	color: var(--ea-ink);
}

/* #6b6b6b on the light background (5.3:1) instead of the source's #8c8c8c. */
.ea-site .ea-consult__pillars {
	margin-top: 2rem;
	font-size: 0.72rem;
	letter-spacing: 0.2em;
	line-height: 1.6;
	text-transform: uppercase;
	color: #6b6b6b;
}

.ea-site .ea-consult__card {
	padding: 1.25rem;
	border: 1px solid rgb(0 0 0 / 0.05);
	border-radius: var(--ea-radius-lg);
	background: #fff;
	box-shadow: 0 24px 60px -30px rgb(0 0 0 / 0.25);
}

@media (min-width: 640px) {
	.ea-site .ea-consult__card {
		padding: 1.75rem;
	}
}

.ea-site .ea-consult__card iframe {
	display: block;
	width: 100%;
	min-height: 620px;
	border: 0;
	border-radius: var(--ea-radius);
}

.ea-site .ea-consult__fineprint {
	margin-top: 1rem;
	font-size: 0.72rem;
	text-align: center;
	color: #6b6b6b;
}

/* Generic pages rendered by the child theme's page template. */
.ea-site .ea-page__body {
	padding-block: 4rem 6rem;
}

.ea-site .ea-page__title {
	margin-bottom: 2rem;
	font-family: var(--ea-serif);
	font-size: clamp(2.25rem, 1.9rem + 1.4vw, 3rem);
	font-weight: 300;
	line-height: 1.1;
	color: var(--ea-text);
}

/* 9. Legal & resources ----------------------------------------------------- */
.ea-site .ea-doc {
	padding-block: 4rem;
	background-color: var(--ea-bg);
	color: var(--ea-text);
}

@media (min-width: 640px) {
	.ea-site .ea-doc {
		padding-block: 6rem;
	}
}

.ea-site .ea-doc__back {
	margin-bottom: 3rem;
	font-size: 0.85rem;
}

.ea-site .ea-doc .ea-doc__back a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--ea-subtle);
	transition: color 0.3s;
}

.ea-site .ea-doc__back a::before {
	content: "";
	width: 1rem;
	height: 1rem;
	background-color: currentColor;
	-webkit-mask: var(--ea-i-arrow-left) center / contain no-repeat;
	mask: var(--ea-i-arrow-left) center / contain no-repeat;
	transition: transform 0.3s;
}

.ea-site .ea-doc .ea-doc__back a:hover {
	color: var(--ea-accent);
}

.ea-site .ea-doc__back a:hover::before {
	transform: translateX(-4px);
}

.ea-site .ea-doc__title {
	font-family: var(--ea-serif);
	font-size: clamp(2.5rem, 2.2rem + 1vw, 3rem);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--ea-text);
}

.ea-site .ea-doc__meta {
	margin-top: 1rem;
	font-size: 0.8rem;
	color: var(--ea-subtle);
}

.ea-site .ea-doc__intro {
	margin-top: 3rem;
	font-size: 0.95rem;
	line-height: 1.625;
	color: var(--ea-muted);
}

.ea-site .ea-doc h2 {
	margin-top: 2.5rem;
	font-family: var(--ea-serif);
	font-size: clamp(1.4rem, 1.3rem + 0.4vw, 1.6rem);
	font-weight: 300;
	line-height: 1.25;
	color: var(--ea-text);
}

.ea-site .ea-doc h2 .ea-doc__num {
	color: rgb(230 81 0 / 0.8);
}

.ea-site .ea-doc h2 + *,
.ea-site .ea-doc p + p,
.ea-site .ea-doc p + ul,
.ea-site .ea-doc ul + p,
.ea-site .ea-doc ul + .ea-doc__sub,
.ea-site .ea-doc p + .ea-doc__sub,
.ea-site .ea-doc .ea-doc__sub + p {
	margin-top: 1rem;
}

.ea-site .ea-doc p,
.ea-site .ea-doc li {
	font-size: 1rem;
	line-height: 1.7;
	color: var(--ea-text-soft);
}

.ea-site .ea-doc .ea-doc__sub {
	font-weight: 500;
	color: var(--ea-text);
}

.ea-site .ea-doc .ea-doc__sub + p,
.ea-site .ea-doc .ea-doc__sub + ul {
	margin-top: 0.5rem;
}

.ea-site .ea-doc ul.wp-block-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.ea-site .ea-doc ul.wp-block-list li {
	display: flex;
	gap: 0.75rem;
}

.ea-site .ea-doc ul.wp-block-list li::before {
	content: "";
	flex-shrink: 0;
	width: 4px;
	height: 4px;
	margin-top: 0.75rem;
	border-radius: 50%;
	background: rgb(230 81 0 / 0.7);
}

.ea-site .ea-doc a:where(:not(.wp-element-button)) {
	color: var(--ea-copper);
}

/* Resources article */
.ea-site .ea-article {
	min-height: 60vh;
}

.ea-site .ea-article .ea-h2 {
	margin-top: 1.5rem;
}

.ea-site .ea-article__body {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 42rem;
	margin-top: 2.5rem;
}

.ea-site .ea-article__body p {
	font-size: 1.0625rem;
	line-height: 1.625;
	color: var(--ea-muted);
}

.ea-site .ea-article__h {
	margin-bottom: 0.5rem;
	font-size: 1.25rem;
	color: var(--ea-sand);
}

.ea-site .ea-sources {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--ea-line);
}

.ea-site .ea-sources__label {
	font-size: 0.8rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ea-taupe);
}

.ea-site .ea-sources ol {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 0.75rem;
	font-size: 0.85rem;
	color: var(--ea-taupe);
	overflow-wrap: anywhere;
}

.ea-site .ea-sources a {
	color: var(--ea-copper);
}

.ea-site .ea-sources a:hover {
	text-decoration: underline;
}

/* 10. WooCommerce ----------------------------------------------------------
   Store pages inherit the dark palette from Global Styles; these rules only
   fix controls that ship with light-theme assumptions. */

/* Woo's own templates (child theme) don't use .ea-main: clear the fixed header. */
.ea-site .wp-site-blocks main:not(.ea-main) {
	padding-top: calc(var(--ea-header-h) + 1.5rem);
}

/* body + [type] outranks Woo's `.wc-block-components-form … input[type=email]` rules,
   whose stylesheet loads after ours. */
.woocommerce :where(input, select, textarea),
body.ea-site .wc-block-components-text-input input[type],
body.ea-site .wc-block-components-textarea,
body.ea-site .wc-blocks-components-select .wc-blocks-components-select__select {
	background-color: var(--ea-surface);
	border-color: rgb(255 255 255 / 0.15);
	color: var(--ea-text);
}

body.ea-site .wc-block-components-text-input label,
body.ea-site .wc-blocks-components-select .wc-blocks-components-select__label {
	color: var(--ea-muted);
}

.wc-block-components-totals-wrapper,
.wc-block-components-panel,
.wc-block-cart-items {
	border-color: var(--ea-line-strong);
}

/* Store views (child theme templates: single-product, archive-product). */
.ea-site .ea-store {
	padding-block: 2.5rem 6rem;
}

.ea-site .ea-store__crumbs,
.ea-site .ea-store .woocommerce-breadcrumb {
	margin-bottom: 2rem;
	font-size: 0.75rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ea-subtle);
}

.ea-site .ea-store__crumbs a {
	color: var(--ea-muted);
	text-decoration: none;
	transition: color 0.3s;
}

.ea-site .ea-store__crumbs a:hover {
	color: var(--ea-accent);
}

.ea-site .ea-store__head {
	margin-bottom: 3rem;
}

.ea-site .ea-store__head .ea-page__title {
	margin: 1rem 0 0;
	font-size: clamp(2.5rem, 1.8rem + 2.8vw, 4rem);
}

.ea-site .ea-store__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 2rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--ea-line-strong);
	font-size: 0.85rem;
	color: var(--ea-muted);
}

.ea-site .ea-store__bar :is(p, form) {
	margin: 0;
}

.ea-site .ea-store__bar select {
	min-height: 44px;
	padding: 0.5rem 2.25rem 0.5rem 1rem;
	border: 1px solid rgb(255 255 255 / 0.15);
	border-radius: 9999px;
	font-size: 0.85rem;
}

/* Product page: gallery + buy box */
.ea-site .ea-product {
	display: grid;
	gap: 2.5rem;
}

@media (min-width: 960px) {
	.ea-site .ea-product {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
		gap: 4.5rem;
		align-items: start;
	}

	.ea-site .ea-product__info {
		position: sticky;
		top: calc(var(--ea-header-h) + 2rem);
	}
}

.ea-site .ea-product__media {
	min-width: 0;
}

/* Woo caps the gallery block at 512px; let it fill the column. */
.ea-site .ea-product__media .wp-block-woocommerce-product-image-gallery {
	max-width: none;
}

/* Gallery carousel (WooCommerce FlexSlider markup). */
.ea-site .ea-product .woocommerce-product-gallery {
	position: relative;
	width: 100% !important; /* Woo sets an inline/legacy 48% float for classic layouts */
	float: none !important;
	margin: 0 !important;
	opacity: 1 !important; /* shown before FlexSlider initialises; no blank flash */
}

.ea-site .ea-product .woocommerce-product-gallery .flex-viewport,
.ea-site .ea-product .woocommerce-product-gallery__wrapper:only-child,
.ea-site .ea-product .woocommerce-product-gallery__image--placeholder {
	overflow: hidden;
	border: 1px solid var(--ea-line-strong);
	border-radius: var(--ea-radius-lg);
	background: radial-gradient(120% 90% at 50% 0%, #232120 0%, var(--ea-surface) 55%, var(--ea-bg-deep) 100%);
}

.ea-site .ea-product .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.ea-site .ea-product .woocommerce-product-gallery__image {
	position: relative;
}

.ea-site .ea-product .woocommerce-product-gallery__image > a {
	display: block;
}

.ea-site .ea-product .woocommerce-product-gallery__image img,
.ea-site .ea-product .woocommerce-product-gallery__image--placeholder img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
}

.ea-site .ea-product .woocommerce-product-gallery__image--placeholder img {
	opacity: 0.08;
	filter: invert(1);
}

/* Arrows */
.ea-site .ea-product .flex-direction-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ea-site .ea-product .flex-direction-nav a {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	margin-top: -1.5rem;
	border: 1px solid rgb(255 255 255 / 0.12);
	border-radius: 50%;
	background: rgb(15 15 15 / 0.6);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	font-size: 0; /* the label stays for screen readers; the arrow is drawn below */
	color: var(--ea-text);
	text-decoration: none;
	transition: background-color 0.3s, border-color 0.3s, opacity 0.3s;
}

.ea-site .ea-product .flex-direction-nav a::before {
	content: "";
	width: 1.1rem;
	height: 1.1rem;
	background-color: currentColor;
	-webkit-mask: var(--ea-i-arrow-right) center / contain no-repeat;
	mask: var(--ea-i-arrow-right) center / contain no-repeat;
}

.ea-site .ea-product .flex-direction-nav .flex-prev {
	left: 1rem;
}

.ea-site .ea-product .flex-direction-nav .flex-prev::before {
	-webkit-mask-image: var(--ea-i-arrow-left);
	mask-image: var(--ea-i-arrow-left);
}

.ea-site .ea-product .flex-direction-nav .flex-next {
	right: 1rem;
}

.ea-site .ea-product .flex-direction-nav a:hover,
.ea-site .ea-product .flex-direction-nav a:focus-visible {
	border-color: var(--ea-accent);
	background: var(--ea-accent);
	color: var(--ea-bg);
}

.ea-site .ea-product .flex-direction-nav .flex-disabled {
	opacity: 0;
	pointer-events: none;
}

/* Thumbnails: a scrollable strip under the main image. */
.ea-site .ea-product .flex-control-thumbs {
	display: flex;
	gap: 0.75rem;
	margin: 1rem 0 0;
	padding: 0 0 0.25rem;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}

.ea-site .ea-product .flex-control-thumbs::-webkit-scrollbar {
	display: none;
}

.ea-site .ea-product .flex-control-thumbs li {
	flex: 0 0 calc((100% - 3 * 0.75rem) / 4);
	width: auto !important;
	margin: 0 !important;
	float: none !important;
}

@media (min-width: 640px) {
	.ea-site .ea-product .flex-control-thumbs li {
		flex-basis: calc((100% - 4 * 0.75rem) / 5);
	}
}

.ea-site .ea-product .flex-control-thumbs img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border: 1px solid var(--ea-line-strong);
	border-radius: var(--ea-radius);
	background: var(--ea-surface);
	opacity: 0.5;
	cursor: pointer;
	transition: opacity 0.3s, border-color 0.3s;
}

.ea-site .ea-product .flex-control-thumbs img:hover,
.ea-site .ea-product .flex-control-thumbs img.flex-active {
	opacity: 1;
}

.ea-site .ea-product .flex-control-thumbs img.flex-active {
	border-color: var(--ea-accent);
}

/* Full-screen (lightbox) trigger. Woo's `.woocommerce div.product div.images …__trigger` rules
   (white 36px circle + drawn magnifier) outrank any component selector, hence !important. */
body.ea-site .ea-product .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 1rem !important;
	right: 1rem !important;
	z-index: 4;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 2.75rem !important;
	height: 2.75rem !important;
	border: 1px solid rgb(255 255 255 / 0.12) !important;
	border-radius: 50% !important;
	background: rgb(15 15 15 / 0.6) !important;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	font-size: 0;
	text-indent: 0;
	color: var(--ea-text);
	transition: border-color 0.3s;
}

body.ea-site .ea-product .woocommerce-product-gallery__trigger::before {
	content: "" !important;
	position: static !important;
	display: block !important;
	box-sizing: border-box;
	width: 1.1rem !important;
	height: 1.1rem !important;
	border: 0 !important;
	border-radius: 0 !important;
	background-color: currentColor !important;
	-webkit-mask: var(--ea-i-expand) center / contain no-repeat;
	mask: var(--ea-i-expand) center / contain no-repeat;
	transform: none !important;
}

body.ea-site .ea-product .woocommerce-product-gallery__trigger::after,
body.ea-site .ea-product .woocommerce-product-gallery__trigger > * {
	display: none !important;
}

body.ea-site .ea-product .woocommerce-product-gallery__trigger:hover {
	border-color: var(--ea-accent) !important;
}

/* Sale badges (product page + cards) */
.ea-site .ea-product .onsale,
.ea-site .ea-card__media .wc-block-components-product-sale-badge,
body.ea-site .ea-product .onsale {
	position: absolute;
	top: 1rem;
	left: 1rem;
	right: auto;
	z-index: 4;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0.35rem 0.85rem;
	border: 0;
	border-radius: 9999px;
	background: var(--ea-accent);
	color: var(--ea-bg);
	font-size: 0.65rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.ea-site .ea-card__media .wc-block-components-product-sale-badge {
	top: 0.75rem;
	left: auto;
	right: 0.75rem;
}

/* Buy box */
.ea-site .ea-product__info {
	min-width: 0;
}

.ea-site .ea-product__brand,
.ea-site .ea-card__brand {
	margin: 0;
	color: var(--ea-gold);
}

.ea-site .ea-product__brand a,
.ea-site .ea-card__brand a {
	color: inherit;
	text-decoration: none;
}

.ea-site .ea-product__title {
	margin: 1rem 0 0;
	font-family: var(--ea-serif);
	font-size: clamp(2.25rem, 1.7rem + 2.2vw, 3.5rem);
	font-weight: 300;
	line-height: 1.05;
	letter-spacing: -0.01em;
	color: var(--ea-text);
	text-wrap: balance;
}

.ea-site .ea-product__price {
	margin-top: 1.25rem;
	font-size: 1.5rem;
	font-weight: 300;
	color: var(--ea-text);
}

.ea-site .ea-product__price del,
.ea-site .ea-card__price del {
	margin-right: 0.5rem;
	color: var(--ea-subtle);
	font-size: 0.8em;
}

.ea-site .ea-product__price ins,
.ea-site .ea-card__price ins {
	color: var(--ea-copper);
	text-decoration: none;
}

.ea-site .ea-product__summary {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--ea-line-strong);
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--ea-text-soft);
}

.ea-site .ea-product__summary .wp-block-post-excerpt__more-text {
	display: none;
}

.ea-site .ea-product__cart {
	margin-top: 2rem;
}

.ea-site .ea-product__cart form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0;
}

.ea-site .ea-product__cart .quantity {
	display: flex;
	margin: 0 !important;
}

.ea-site .ea-product__cart .quantity .qty {
	width: 4.5rem;
	min-height: 56px;
	padding: 0 0.5rem;
	border: 1px solid rgb(255 255 255 / 0.15);
	border-radius: 0.375rem;
	background: var(--ea-surface);
	color: var(--ea-text);
	font-size: 1rem;
	text-align: center;
}

.ea-site .ea-product__cart .single_add_to_cart_button,
body.ea-site .ea-product__cart .single_add_to_cart_button {
	flex: 1 1 14rem;
	min-height: 56px;
	padding: 1rem 2rem;
	border: 0;
	border-radius: 0.375rem;
	background: var(--ea-accent);
	color: var(--ea-bg);
	font-family: var(--ea-sans);
	font-size: 0.95rem;
	font-weight: 500;
	letter-spacing: 0.025em;
	cursor: pointer;
	transition: background-color 0.5s, box-shadow 0.5s;
}

.ea-site .ea-product__cart .single_add_to_cart_button:hover,
body.ea-site .ea-product__cart .single_add_to_cart_button:hover {
	background: var(--ea-accent-hover);
	box-shadow: 0 0 32px rgb(230 81 0 / 0.4);
}

.ea-site .ea-product__cart .stock {
	width: 100%;
	margin: 0;
	font-size: 0.85rem;
	color: var(--ea-muted);
}

.ea-site .ea-product__consult {
	margin-top: 1.5rem;
	padding: 1rem 1.25rem;
	border: 1px solid rgb(201 165 116 / 0.25);
	border-radius: var(--ea-radius);
	background: rgb(201 165 116 / 0.05);
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--ea-muted);
}

.ea-site .ea-product__consult a {
	color: var(--ea-gold);
	text-underline-offset: 3px;
}

.ea-site .ea-product__consult a:hover {
	color: var(--ea-accent);
}

.ea-site .ea-product__meta {
	margin-top: 1.5rem;
	font-size: 0.8rem;
	color: var(--ea-subtle);
}

.ea-site .ea-product__meta a {
	color: var(--ea-muted);
	text-decoration: none;
}

.ea-site .ea-product__meta a:hover {
	color: var(--ea-accent);
}

/* Details: description sections as accordions (functions.php splits on <h4>). */
.ea-site .ea-product__details {
	max-width: 51rem;
	margin-top: 6rem;
}

/* No description (e.g. merchandise): the content block prints nothing, so drop the heading too. */
.ea-site .ea-product__details:not(:has(.ea-product__sections > *)) {
	display: none;
}

.ea-site .ea-product__sections {
	margin-top: 2.5rem;
	border-top: 1px solid var(--ea-line-strong);
}

.ea-site .ea-product__section-body {
	max-width: 46rem;
	padding: 0 3rem 1.75rem 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--ea-muted);
}

.ea-site .ea-product__section-body > * + *,
.ea-site .ea-product__intro > * + * {
	margin-top: 0.85rem;
}

.ea-site .ea-product__section-body ul {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	padding: 0;
	list-style: none;
}

.ea-site .ea-product__section-body li {
	position: relative;
	padding-left: 1.5rem;
}

.ea-site .ea-product__section-body li::before {
	content: "";
	position: absolute;
	top: 0.7em;
	left: 0;
	width: 0.5rem;
	height: 1px;
	background: var(--ea-accent);
}

.ea-site .ea-product__section-body :is(strong, b) {
	color: var(--ea-text-soft);
	font-weight: 500;
}

.ea-site .ea-product__intro {
	padding-block: 1.5rem;
	color: var(--ea-muted);
}

.ea-site .ea-product__related {
	margin-top: 6rem;
	padding-top: 4rem;
	border-top: 1px solid var(--ea-line);
}

.ea-site .ea-product__related .ea-h2 {
	margin-bottom: 2.5rem;
}

/* Product cards (shop grid + related) */
.ea-site .ea-cards .wc-block-product-template {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ea-site .ea-cards .wc-block-product {
	position: relative;
	display: flex;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	padding: 0.75rem 0.75rem 1.5rem;
	border: 1px solid var(--ea-line-strong);
	border-radius: var(--ea-radius-lg);
	background: var(--ea-glass);
	text-align: left;
	transition: border-color 0.5s, transform 0.5s var(--ea-ease), box-shadow 0.5s;
}

.ea-site .ea-cards .wc-block-product:hover {
	border-color: rgb(230 81 0 / 0.35);
	box-shadow: 0 24px 48px -24px rgb(230 81 0 / 0.25);
	transform: translateY(-4px);
}

.ea-site .ea-card__media {
	margin: 0 0 1.25rem !important;
	overflow: hidden;
	border-radius: var(--ea-radius);
	background: radial-gradient(120% 90% at 50% 0%, #232120 0%, var(--ea-surface) 60%, var(--ea-bg-deep) 100%);
}

.ea-site .ea-card__media img {
	display: block;
	width: 100%;
	height: auto !important;
	aspect-ratio: 1 !important; /* the block sets its own ratio inline */
	object-fit: contain !important;
	object-position: center !important;
	transition: transform 0.8s var(--ea-ease);
}

.ea-site .ea-card__media img[src*="placeholder"] {
	opacity: 0.08;
	filter: invert(1);
}

.ea-site .ea-cards .wc-block-product:hover .ea-card__media img {
	transform: scale(1.04);
}

.ea-site .ea-card__brand,
.ea-site .ea-card__title,
.ea-site .ea-card__price,
.ea-site .ea-card__button {
	padding-inline: 0.75rem;
}

.ea-site .ea-card__title {
	margin: 0.5rem 0 0;
	font-family: var(--ea-serif);
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: left;
}

.ea-site .ea-card__title a {
	color: var(--ea-text);
	text-decoration: none;
}

/* Whole card is clickable via the title link. */
.ea-site .ea-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.ea-site .ea-card__price {
	margin: 0.6rem 0 0 !important;
	font-size: 1rem;
	color: var(--ea-text-soft);
	text-align: left !important;
}

.ea-site .ea-card__button,
body.ea-site .ea-card__button {
	position: relative;
	z-index: 2;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	margin-top: auto !important;
	padding-top: 1.25rem;
	text-align: left !important;
}

.ea-site .ea-card__button .wp-block-button__link,
body.ea-site .ea-card__button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.6rem 1.25rem;
	border: 1px solid rgb(255 255 255 / 0.18);
	border-radius: 9999px;
	background: transparent;
	color: var(--ea-text);
	font-size: 0.8rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

.ea-site .ea-card__button .wp-block-button__link:hover,
body.ea-site .ea-card__button .wp-block-button__link:hover {
	border-color: var(--ea-accent);
	background: var(--ea-accent);
	color: var(--ea-bg);
}

.ea-site .ea-card__button .added_to_cart {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.8rem;
	color: var(--ea-copper);
}

.ea-site .ea-pager {
	margin-top: 3rem;
	gap: 0.5rem;
	font-size: 0.9rem;
}

.ea-site .ea-pager :is(a, .current) {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	padding-inline: 0.75rem;
	border: 1px solid var(--ea-line-strong);
	border-radius: 9999px;
	color: var(--ea-muted);
	text-decoration: none;
}

.ea-site .ea-pager .current,
.ea-site .ea-pager a:hover {
	border-color: var(--ea-accent);
	color: var(--ea-text);
}

/* 11. Motion ---------------------------------------------------------------
   Entrance and reveal effects are progressive enhancements: without support
   (or with reduced motion requested) content is simply shown. */
@keyframes ea-pulse {
	0%, 100% { box-shadow: 0 0 0 1px rgb(230 81 0 / 0.4), 0 0 12px rgb(230 81 0 / 0.12); }
	50% { box-shadow: 0 0 0 1px rgb(230 81 0 / 0.7), 0 0 28px rgb(230 81 0 / 0.28); }
}

@keyframes ea-rise {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: none; }
}

@keyframes ea-focus-band {
	0%, 100% { opacity: 0.25; transform: translateY(10px); }
	40%, 60% { opacity: 1; transform: none; }
}

@keyframes ea-spark-draw {
	from { stroke-dasharray: 1; stroke-dashoffset: 1; }
	to { stroke-dasharray: 1; stroke-dashoffset: 0; }
}

@keyframes ea-fade {
	from { opacity: 0; }
}

@keyframes ea-spark-glint {
	0% { stroke-dashoffset: 0.07; opacity: 0; }
	8% { opacity: 1; }
	62% { opacity: 1; }
	70%, 100% { stroke-dashoffset: -1; opacity: 0; }
}

@keyframes ea-spark-pulse {
	0% { box-shadow: 0 0 0 0 rgb(230 81 0 / 0.55); }
	70%, 100% { box-shadow: 0 0 0 10px rgb(230 81 0 / 0); }
}

@media (prefers-reduced-motion: no-preference) {
	/* Live feel: a glint runs along each trend line and the latest reading pulses. */
	.ea-site .ea-spark__glint {
		animation: ea-spark-glint 4.2s var(--ea-ease) infinite;
	}

	.ea-site .ea-spark__dot {
		animation: ea-spark-pulse 2.1s ease-out infinite;
	}

	.ea-site .ea-metric:nth-child(2) :is(.ea-spark__glint, .ea-spark__dot) { animation-delay: 0.7s; }
	.ea-site .ea-metric:nth-child(3) :is(.ea-spark__glint, .ea-spark__dot) { animation-delay: 1.4s; }
	.ea-site .ea-metric:nth-child(4) :is(.ea-spark__glint, .ea-spark__dot) { animation-delay: 2.1s; }
	.ea-site .ea-metric:nth-child(5) :is(.ea-spark__glint, .ea-spark__dot) { animation-delay: 2.8s; }
	.ea-site .ea-metric:nth-child(6) :is(.ea-spark__glint, .ea-spark__dot) { animation-delay: 3.5s; }

	.ea-site .ea-hero__content > * {
		animation: ea-rise 1.2s var(--ea-ease) both;
	}

	.ea-site .ea-hero__content > :nth-child(2) { animation-delay: 0.15s; }
	.ea-site .ea-hero__content > :nth-child(3) { animation-delay: 0.3s; }
	.ea-site .ea-hero__content > :nth-child(4) { animation-delay: 0.5s; }
	.ea-site .ea-hero__content > :nth-child(5) { animation-delay: 0.75s; }

	@supports (animation-timeline: view()) {
		.ea-site :is(.ea-section, .ea-method, .ea-consult) :is(.ea-eyebrow, .ea-h2, .ea-lead, .ea-note, .ea-quote, .ea-btns),
.ea-site :is(.ea-step-wrap, .ea-metric, .ea-rings, .ea-person, .ea-service, .ea-compare__col, .ea-journey__step, .ea-faq__item, .ea-consult__card) {
			animation: ea-rise linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 60%;
		}

		/* Trend lines draw themselves as the card scrolls in. */
		.ea-site .ea-spark__line {
			animation: ea-spark-draw linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 100%;
		}

		.ea-site .ea-spark__area {
			animation: ea-fade linear both;
			animation-timeline: view();
			animation-range: entry 40% cover 40%;
		}

		/* Audit cards light up as they cross the middle of the viewport. */
		.ea-site .ea-limiters li {
			animation: ea-focus-band linear both;
			animation-timeline: view();
			animation-range: cover 10% cover 90%;
		}
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.ea-site *,
.ea-site *::before,
.ea-site *::after {
		transition-duration: 0.01ms !important; /* honour the user's setting over component transitions */
		animation: none !important;
	}
}
