/*
Theme Name:     EasyWeb AI
Theme URI:      https://easyweb.ai
Template:       kadence
Author:         Knowhalim
Author URI:     https://knowhalim.com
Description:    Kadence child theme for the easyweb.ai NETWORK HOME. Implements the "Petrol & Brass" design system and the agent-led homepage. Use knowhalim-kadence-subsite for individual member sites.
Version:        2.5.0
Requires PHP:   7.4
License:        GNU General Public License v3.0 (or later)
License URI:    https://www.gnu.org/licenses/gpl-3.0.html
Text Domain:    knowhalim-kadence-theme
Tags:           business, portfolio, one-column, custom-colors, full-width-template
*/

/* =============================================================================
   1. TOKENS
   Sourced from design.md. Every value here is a token with a name; nothing in
   this file should use a raw hex outside these blocks.
   ========================================================================== */

:root {
	/* --- colour: light ------------------------------------------------- */
	--ewa-paper:         #EEF2F0;
	--ewa-surface:       #FFFFFF;
	--ewa-border:        #D3DBD7;
	--ewa-border-strong: #B9C4BF;
	--ewa-ink:           #141A1B;
	--ewa-muted:         #54615C;
	--ewa-primary:       #0B5F5A;
	--ewa-primary-hover: #084744;
	--ewa-accent:        #8F5D10;
	--ewa-success:       #2F7A34;
	--ewa-warning:       #A9560A;
	--ewa-danger:        #B3261E;
	--ewa-info:          #1D4ED8;

	/* text colour that sits ON a filled brand surface */
	--ewa-on-primary:    #FFFFFF;
	--ewa-on-accent:     #FFFFFF;

	/* low-saturation washes for badge and callout backgrounds */
	--ewa-primary-wash:  #DCE9E7;
	--ewa-accent-wash:   #F0E6D4;
	--ewa-success-wash:  #DFEEE0;

	--ewa-shadow: 0 1px 2px rgba(20,26,27,.05), 0 8px 24px -12px rgba(20,26,27,.18);

	/* --- type ----------------------------------------------------------- */
	--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
	--font-body:    system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--font-data:    ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, monospace;

	--text-xs:   12px;
	--text-sm:   14px;
	--text-base: 16px;
	--text-lg:   20px;
	--text-xl:   25px;
	--text-2xl:  clamp(26px, 3.4vw, 32px);
	--text-3xl:  clamp(34px, 5.2vw, 48px);

	--lh-lg:  1.5;
	--lh-2xl: 1.2;
	--lh-3xl: 1.08;

	/* --- spacing: 4px base, fixed steps only ---------------------------- */
	--space-1: 4px;
	--space-2: 8px;
	--space-3: 12px;
	--space-4: 16px;
	--space-5: 24px;
	--space-6: 32px;
	--space-7: 48px;
	--space-8: 64px;
	--space-9: 96px;

	--section-y: clamp(56px, 8vw, 88px);

	/* --- measure -------------------------------------------------------- */
	--width-read: 65ch;
	--width-page: 1080px;
	--width-wide: 1280px;

	/* --- radius --------------------------------------------------------- */
	--radius-control: 6px;
	--radius-card:    8px;
	--radius-panel:   10px;
	--radius-round:   50%;

	/* --- brand ---------------------------------------------------------- */
	--logo-height:        68px;   /* navigation */
	--logo-height-footer: 40px;
	--nav-height:        104px;

	/* --- motion --------------------------------------------------------- */
	--motion-hover:    160ms ease-out;
	--motion-entrance: 240ms ease-out;
}

/* --- colour: dark ------------------------------------------------------- */
/* Applied by OS preference, by explicit toggle, and by .ewa-dark — the last of
   which lets a single section (or the whole homepage) commit to dark while the
   rest of the site follows the viewer. */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--ewa-paper:         #0C1113;
		--ewa-surface:       #141B1D;
		--ewa-border:        #263133;
		--ewa-border-strong: #37464A;
		--ewa-ink:           #E9EDEA;
		--ewa-muted:         #98A5A0;
		--ewa-primary:       #5CC3B4;
		--ewa-primary-hover: #7FD6C9;
		--ewa-accent:        #E5A84B;
		--ewa-success:       #5FCE68;
		--ewa-warning:       #E9963F;
		--ewa-danger:        #F2837B;
		--ewa-info:          #8AB4FF;
		--ewa-on-primary:    #0C1113;
		--ewa-on-accent:     #0C1113;
		--ewa-primary-wash:  #12292A;
		--ewa-accent-wash:   #2B2318;
		--ewa-success-wash:  #14271A;
		--ewa-shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.7);
	}
}

:root[data-theme="dark"],
.ewa-dark {
	--ewa-paper:         #0C1113;
	--ewa-surface:       #141B1D;
	--ewa-border:        #263133;
	--ewa-border-strong: #37464A;
	--ewa-ink:           #E9EDEA;
	--ewa-muted:         #98A5A0;
	--ewa-primary:       #5CC3B4;
	--ewa-primary-hover: #7FD6C9;
	--ewa-accent:        #E5A84B;
	--ewa-success:       #5FCE68;
	--ewa-warning:       #E9963F;
	--ewa-danger:        #F2837B;
	--ewa-info:          #8AB4FF;
	--ewa-on-primary:    #0C1113;
	--ewa-on-accent:     #0C1113;
	--ewa-primary-wash:  #12292A;
	--ewa-accent-wash:   #2B2318;
	--ewa-success-wash:  #14271A;
	--ewa-shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -12px rgba(0,0,0,.7);
}

/* =============================================================================
   2. BASE
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

.ewa-page {
	margin: 0;
	background: var(--ewa-paper);
	color: var(--ewa-ink);
	font-family: var(--font-body);
	font-size: var(--text-base);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Kadence colours headings from its own active palette, which is the LIGHT one.
   Without an explicit colour here they render near-black on the dark ground and
   effectively disappear. */
.ewa-page h1, .ewa-page h2, .ewa-page h3, .ewa-page h4 {
	font-family: var(--font-display);
	font-weight: 600;
	letter-spacing: -.015em;
	text-wrap: balance;
	margin: 0;
	color: var(--ewa-ink);
}

.ewa-page p { margin: 0; }

.ewa-page a {
	color: var(--ewa-primary);
	text-decoration: none;
	transition: color var(--motion-hover);
}
.ewa-page a:hover { color: var(--ewa-primary-hover); }

/* Never remove focus outlines — see design.md §4.3 */
.ewa-page :focus-visible {
	outline: 2px solid var(--ewa-primary);
	outline-offset: 2px;
	border-radius: var(--radius-control);
}

.ewa-page img { max-width: 100%; height: auto; display: block; }

@media (prefers-reduced-motion: reduce) {
	.ewa-page *, .ewa-page *::before, .ewa-page *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

/* --- shared layout helpers --------------------------------------------- */
.ewa-wrap      { max-width: var(--width-page); margin-inline: auto; }
.ewa-wrap-wide { max-width: var(--width-wide); margin-inline: auto; }
.ewa-section   { padding: var(--section-y) var(--space-6); }
.ewa-section--surface {
	background: var(--ewa-surface);
	border-top: 1px solid var(--ewa-border);
	border-bottom: 1px solid var(--ewa-border);
}

.ewa-caps {
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
}

/* Digits that sit in columns or compare against each other */
.ewa-nums { font-variant-numeric: tabular-nums; }

.ewa-lede {
	color: var(--ewa-muted);
	font-size: var(--text-lg);
	line-height: var(--lh-lg);
}

.ewa-eyebrow { color: var(--ewa-muted); margin-bottom: var(--space-4); }
.ewa-eyebrow--accent { color: var(--ewa-accent); }

.ewa-h2 { font-size: var(--text-2xl); line-height: var(--lh-2xl); }

/* =============================================================================
   3. COMPONENTS
   ========================================================================== */

/* --- button ------------------------------------------------------------- */
.ewa-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	font-family: var(--font-body);
	font-size: var(--text-sm);
	font-weight: 600;
	line-height: 1;
	padding: 11px var(--space-4);
	min-height: 40px;
	border: 1px solid transparent;
	border-radius: var(--radius-control);
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
	transition: background var(--motion-hover), color var(--motion-hover), border-color var(--motion-hover);
}
.ewa-btn--lg { min-height: 48px; padding: 13px var(--space-5); font-size: var(--text-base); }
.ewa-btn--sm { min-height: 34px; padding: 8px var(--space-3); font-size: var(--text-sm); }

/* Buttons are anchors, so `.ewa-page a` (0,1,1) would otherwise out-rank a bare
   `.ewa-btn--accent` (0,1,0) and repaint every button with the link colour.
   Scoping each variant under .ewa-page restores the intended cascade. */
.ewa-page .ewa-btn--primary { background: var(--ewa-primary); color: var(--ewa-on-primary); }
.ewa-page .ewa-btn--primary:hover { background: var(--ewa-primary-hover); color: var(--ewa-on-primary); }

/* Accent is the agent's colour. One per screen — see design.md §1.4 */
.ewa-page .ewa-btn--accent { background: var(--ewa-accent); color: var(--ewa-on-accent); }
.ewa-page .ewa-btn--accent:hover { filter: brightness(1.08); color: var(--ewa-on-accent); }

.ewa-page .ewa-btn--ghost {
	background: transparent;
	color: var(--ewa-primary);
	border-color: var(--ewa-border-strong);
}
.ewa-page .ewa-btn--ghost:hover { border-color: var(--ewa-primary); color: var(--ewa-primary-hover); }

.ewa-page .ewa-btn--quiet { background: transparent; color: var(--ewa-muted); }
.ewa-page .ewa-btn--quiet:hover { color: var(--ewa-ink); }

/* Template cards are anchors too — keep their inner text on system colours. */
.ewa-page a.ewa-card { color: var(--ewa-ink); display: block; }
.ewa-page a.ewa-card .ewa-card__title { color: var(--ewa-ink); }

.ewa-btn svg { flex: none; }

/* --- card --------------------------------------------------------------- */
.ewa-card {
	background: var(--ewa-surface);
	border: 1px solid var(--ewa-border);
	border-radius: var(--radius-card);
	padding: var(--space-5);
}
.ewa-card--interactive {
	transition: border-color var(--motion-hover), transform var(--motion-hover);
}
.ewa-card--interactive:hover {
	border-color: var(--ewa-border-strong);
	transform: translateY(-2px);
}

/* --- badge -------------------------------------------------------------- */
.ewa-badge {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	padding: 3px var(--space-2);
	border-radius: var(--radius-control);
	white-space: nowrap;
}
.ewa-badge--neutral { background: var(--ewa-paper); color: var(--ewa-muted); border: 1px solid var(--ewa-border); }
.ewa-badge--success { background: var(--ewa-success-wash); color: var(--ewa-success); }
.ewa-badge--accent  { background: var(--ewa-accent-wash);  color: var(--ewa-accent); }

/* --- agent status ------------------------------------------------------- */
/* State is carried by colour AND form, so it survives greyscale — design.md §4.2 */
.ewa-status { display: flex; align-items: center; gap: var(--space-3); font-size: var(--text-sm); }
.ewa-status__dot { width: 9px; height: 9px; border-radius: var(--radius-round); flex: none; }
.ewa-status__label { color: var(--ewa-ink); flex: 1; }
.ewa-status__detail { font-family: var(--font-data); font-size: var(--text-xs); color: var(--ewa-muted); }

.ewa-status--idle    .ewa-status__dot { background: var(--ewa-muted); }
.ewa-status--done    .ewa-status__dot { background: var(--ewa-success); }
.ewa-status--failed  .ewa-status__dot { background: var(--ewa-danger); }
.ewa-status--working .ewa-status__dot {
	background: var(--ewa-accent);
	animation: ewa-pulse 1.6s ease-in-out infinite;
}
.ewa-status--idle .ewa-status__label { color: var(--ewa-muted); }

@keyframes ewa-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

/* =============================================================================
   4. HOMEPAGE SECTIONS
   ========================================================================== */

/* --- nav ---------------------------------------------------------------- */
.ewa-nav {
	position: sticky;
	top: 0;
	z-index: 50;
	height: var(--nav-height);
	display: flex;
	align-items: center;
	gap: var(--space-6);
	padding: 0 var(--space-6);
	background: color-mix(in srgb, var(--ewa-paper) 88%, transparent);
	backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid var(--ewa-border);
}
.ewa-nav__inner {
	max-width: var(--width-wide);
	margin-inline: auto;
	width: 100%;
	display: flex;
	align-items: center;
	gap: var(--space-6);
}
.ewa-nav__logo { display: flex; align-items: center; }
.ewa-nav__logo .ewa-logo__img { height: var(--logo-height); width: auto; }
.ewa-footer__logo .ewa-logo__img { height: var(--logo-height-footer); width: auto; }

/* Two files, one shown at a time. The artwork is drawn for each ground, so the
   variant is chosen by the surrounding scheme rather than filtered. */
/* Scoped under .ewa-page: the base rule `.ewa-page img { display: block }` is
   (0,1,1) and would otherwise out-rank a bare `.ewa-logo--on-dark` at (0,1,0),
   leaving both variants visible. */
.ewa-page .ewa-logo { display: inline-flex; }
.ewa-page .ewa-logo--on-dark  { display: none; }
.ewa-page .ewa-logo--on-light { display: block; }
.ewa-page.ewa-dark .ewa-logo--on-dark  { display: block; }
.ewa-page.ewa-dark .ewa-logo--on-light { display: none; }

.ewa-nav__links { display: flex; gap: var(--space-5); margin-left: var(--space-4); }
.ewa-nav__links a { color: var(--ewa-muted); font-size: var(--text-sm); font-weight: 500; }
.ewa-nav__links a:hover { color: var(--ewa-ink); }
.ewa-nav__links a[aria-current="page"] { color: var(--ewa-ink); font-weight: 600; }
.ewa-nav__actions { margin-left: auto; display: flex; gap: var(--space-2); align-items: center; }

/* --- hero --------------------------------------------------------------- */
.ewa-hero {
	padding: var(--space-9) var(--space-6) var(--section-y);
	border-bottom: 1px solid var(--ewa-border);
}
.ewa-hero__grid {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: var(--space-8);
	align-items: center;
}
.ewa-hero h1 {
	font-size: var(--text-3xl);
	line-height: var(--lh-3xl);
	max-width: 17ch;
	color: var(--ewa-ink);
}
.ewa-hero h1 em { font-style: normal; color: var(--ewa-primary); }
.ewa-hero__lede { max-width: 52ch; margin-top: var(--space-4); }
.ewa-hero__cta { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }
.ewa-hero__assurances {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-5);
	margin-top: var(--space-6);
	font-size: var(--text-sm);
	color: var(--ewa-muted);
}
.ewa-hero__assurances span { display: flex; gap: var(--space-2); align-items: center; }

/* --- browser mock ------------------------------------------------------- */
.ewa-mock {
	border: 1px solid var(--ewa-border);
	border-radius: var(--radius-panel);
	overflow: hidden;
	background: var(--ewa-surface);
	box-shadow: var(--ewa-shadow);
}
.ewa-mock__chrome {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	height: 38px;
	padding: 0 var(--space-3);
	border-bottom: 1px solid var(--ewa-border);
	background: var(--ewa-paper);
}
.ewa-mock__dot { width: 9px; height: 9px; border-radius: var(--radius-round); background: var(--ewa-border-strong); }
.ewa-mock__url {
	margin-left: var(--space-3);
	flex: 1;
	height: 22px;
	border-radius: var(--radius-control);
	background: var(--ewa-surface);
	border: 1px solid var(--ewa-border);
	display: flex;
	align-items: center;
	padding: 0 var(--space-2);
	font-family: var(--font-data);
	font-size: 10px;
	color: var(--ewa-muted);
}
.ewa-mock__body { padding: var(--space-4); }
.ewa-mock__brief {
	border: 1px solid var(--ewa-border-strong);
	border-radius: var(--radius-control);
	padding: 10px var(--space-3);
	font-size: var(--text-sm);
	color: var(--ewa-ink);
	background: var(--ewa-paper);
}
.ewa-mock__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin: var(--space-4) 0 var(--space-3);
}
.ewa-mock__head strong { font-family: var(--font-display); font-size: var(--text-lg); font-weight: 600; }
.ewa-mock__meta { font-family: var(--font-data); font-size: 10px; color: var(--ewa-muted); }
.ewa-mock__rows { border: 1px solid var(--ewa-border); border-radius: var(--radius-card); overflow: hidden; }
.ewa-mock__row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--space-3);
	align-items: center;
	padding: 10px var(--space-3);
	border-bottom: 1px solid var(--ewa-border);
	font-size: var(--text-sm);
}
.ewa-mock__row:last-child { border-bottom: 0; }
.ewa-mock__row span:first-child {
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ewa-mock__foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-3);
	margin-top: var(--space-3);
}

/* --- stats band --------------------------------------------------------- */
/* Fixed petrol ground in both themes, so the band is a constant anchor. */
.ewa-stats { background: #0B5F5A; padding: var(--space-7) var(--space-6); }
.ewa-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }
.ewa-stats__figure {
	font-family: var(--font-display);
	font-size: var(--text-2xl);
	font-weight: 600;
	color: #EEF2F0;
}
.ewa-stats__label {
	font-size: var(--text-sm);
	color: rgba(238, 242, 240, .72);
	margin-top: var(--space-1);
	max-width: 22ch;
}

/* --- step / feature grids ---------------------------------------------- */
.ewa-grid-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-5);
	margin-top: var(--space-6);
}
.ewa-step__num {
	font-family: var(--font-data);
	font-size: var(--text-sm);
	color: var(--ewa-accent);
	letter-spacing: .16em;
}
.ewa-card__title {
	font-family: var(--font-display);
	font-size: var(--text-lg);
	font-weight: 600;
	margin-top: var(--space-3);
}
.ewa-card__body {
	font-size: var(--text-sm);
	color: var(--ewa-muted);
	line-height: 1.6;
	margin-top: var(--space-2);
}

/* --- split (learn) ------------------------------------------------------ */
.ewa-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-8);
	align-items: center;
}
.ewa-split__panel {
	background: var(--ewa-paper);
	border: 1px solid var(--ewa-border);
	border-radius: var(--radius-panel);
	padding: var(--space-5);
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

/* Small print: present, readable, not shouting. */
.ewa-note {
	margin-top: var(--space-5);
	padding-top: var(--space-4);
	border-top: 1px solid var(--ewa-border);
	font-size: var(--text-sm);
	line-height: 1.6;
	color: var(--ewa-muted);
	max-width: 46ch;
}

/* --- templates ---------------------------------------------------------- */
.ewa-templates__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: var(--space-5);
	margin-bottom: var(--space-5);
}
.ewa-thumb {
	height: 168px;
	background: var(--ewa-paper);
	border: 1px solid var(--ewa-border);
	border-radius: var(--radius-control);
	padding: var(--space-4);
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	overflow: hidden;
}
.ewa-thumb__bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.ewa-thumb__name { font-family: var(--font-display); font-size: 13px; font-weight: 600; }
.ewa-thumb__dashes { display: flex; gap: 6px; }
.ewa-thumb__dashes span { width: 14px; height: 3px; background: var(--ewa-border-strong); border-radius: 2px; }
.ewa-thumb__word {
	font-family: var(--font-display);
	font-size: 22px;
	line-height: 1.1;
	font-weight: 600;
	letter-spacing: -.01em;
	margin-top: var(--space-1);
}
.ewa-thumb__lines { display: flex; flex-direction: column; gap: 5px; margin-top: 2px; }
.ewa-thumb__lines span { height: 4px; background: var(--ewa-border-strong); border-radius: 2px; opacity: .7; }
.ewa-thumb__blocks { display: flex; gap: 6px; margin-top: auto; }
.ewa-thumb__blocks span {
	flex: 1;
	height: 34px;
	background: var(--ewa-surface);
	border: 1px solid var(--ewa-border);
	border-radius: var(--radius-control);
}
.ewa-template__foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-3);
	margin-top: var(--space-3);
}

/* --- closing cta -------------------------------------------------------- */
.ewa-cta {
	background: #141A1B;
	padding: var(--section-y) var(--space-6);
	border-top: 1px solid var(--ewa-border);
}
.ewa-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-6);
	flex-wrap: wrap;
}
.ewa-cta h2 { color: #EEF2F0; max-width: 20ch; }
.ewa-cta p { color: rgba(238, 242, 240, .66); margin-top: var(--space-3); max-width: 48ch; }

/* --- footer ------------------------------------------------------------- */
.ewa-footer {
	border-top: 1px solid var(--ewa-border);
	background: var(--ewa-surface);
	padding: var(--space-7) var(--space-6) var(--space-6);
}
.ewa-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr repeat(3, 1fr);
	gap: var(--space-6);
}
.ewa-footer__blurb {
	font-size: var(--text-sm);
	color: var(--ewa-muted);
	max-width: 30ch;
	margin-top: var(--space-3);
}
.ewa-footer__col a { display: block; font-size: var(--text-sm); color: var(--ewa-muted); }
.ewa-footer__col a:hover { color: var(--ewa-ink); }
.ewa-footer__links { display: flex; flex-direction: column; gap: var(--space-2); margin-top: var(--space-3); }
.ewa-footer__base {
	max-width: var(--width-page);
	margin: var(--space-6) auto 0;
	padding-top: var(--space-4);
	border-top: 1px solid var(--ewa-border);
	display: flex;
	justify-content: space-between;
	gap: var(--space-4);
	flex-wrap: wrap;
	font-size: var(--text-xs);
	color: var(--ewa-muted);
}

/* =============================================================================
   4b. WELCOME HOMEPAGE (v2)
   A light, neutral page with one job: get people to log in or register.
   ========================================================================== */

/* The welcome page commits to light in both OS themes — it was asked for
   explicitly, and a sign-in door reads better on paper than on a dark ground.
   Delete this block to let the page follow the viewer's theme instead. */
.ewa-page--welcome {
	--ewa-paper:         #EEF2F0;
	--ewa-surface:       #FFFFFF;
	--ewa-border:        #D3DBD7;
	--ewa-border-strong: #B9C4BF;
	--ewa-ink:           #141A1B;
	--ewa-muted:         #54615C;
	--ewa-primary:       #0B5F5A;
	--ewa-primary-hover: #084744;
	--ewa-accent:        #8F5D10;
	--ewa-on-primary:    #FFFFFF;
	--ewa-on-accent:     #FFFFFF;
	--ewa-shadow: 0 1px 2px rgba(20,26,27,.05), 0 8px 24px -12px rgba(20,26,27,.18);

	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* --- slim nav ----------------------------------------------------------- */
.ewa-nav--slim {
	background: transparent;
	backdrop-filter: none;
	border-bottom: 1px solid var(--ewa-border);
}
.ewa-nav--slim .ewa-nav__inner { max-width: var(--width-page); }
.ewa-nav--slim .ewa-nav__actions { margin-left: auto; }


/* --- the welcome itself ------------------------------------------------- */
.ewa-welcome {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-8) var(--space-6);
}
.ewa-welcome__inner {
	width: 100%;
	max-width: 52ch;
	text-align: center;
}

.ewa-welcome h1 {
	font-size: var(--text-3xl);
	line-height: var(--lh-3xl);
	margin: 0;
}
.ewa-welcome .ewa-eyebrow { margin-bottom: var(--space-3); }
.ewa-welcome .ewa-lede { margin-top: var(--space-4); }

.ewa-welcome__actions,
.ewa-prose .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	justify-content: center;
	margin-top: var(--space-7);
}

/* --- editor content ----------------------------------------------------- */
/* Styles the blocks of whichever page is assigned as the front page, so the
   editor output inherits the system without anyone picking colours by hand. */
.ewa-prose > * + * { margin-top: var(--space-4); }
.ewa-prose h1 { font-size: var(--text-3xl); line-height: var(--lh-3xl); }
.ewa-prose h2 { font-size: var(--text-2xl); line-height: var(--lh-2xl); }
.ewa-prose h3 { font-size: var(--text-xl); }
.ewa-prose p  { color: var(--ewa-muted); line-height: 1.65; }
.ewa-prose p.has-large-font-size,
.ewa-prose .ewa-lede { font-size: var(--text-lg); line-height: var(--lh-lg); }
.ewa-prose ul, .ewa-prose ol { text-align: left; display: inline-block; color: var(--ewa-muted); }
.ewa-prose img { margin-inline: auto; border-radius: var(--radius-card); }

/* Core button blocks, styled as system buttons so the editor needs no CSS. */
.ewa-page--welcome .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	background: var(--ewa-primary);
	color: var(--ewa-on-primary);
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: 600;
	line-height: 1;
	min-height: 48px;
	padding: 13px var(--space-5);
	border: 1px solid transparent;
	border-radius: var(--radius-control);
	text-decoration: none;
	transition: background var(--motion-hover), border-color var(--motion-hover);
}
.ewa-page--welcome .wp-block-button__link:hover { background: var(--ewa-primary-hover); color: var(--ewa-on-primary); }

.ewa-page--welcome .is-style-outline > .wp-block-button__link,
.ewa-page--welcome .wp-block-button__link.is-style-outline {
	background: transparent;
	color: var(--ewa-primary);
	border-color: var(--ewa-border-strong);
}
.ewa-page--welcome .is-style-outline > .wp-block-button__link:hover {
	border-color: var(--ewa-primary);
	color: var(--ewa-primary-hover);
}

/* --- slim footer -------------------------------------------------------- */
.ewa-footer--slim {
	background: transparent;
	border-top: 1px solid var(--ewa-border);
	padding: var(--space-5) var(--space-6);
}

/* =============================================================================
   4c. INNER PAGES
   Everything that is not the homepage: Kadence renders the content, we supply
   the chrome and the surface it sits on. Selectors are scoped to .ewa-inner so
   nothing here can reach the landing page.
   ========================================================================== */

.ewa-inner,
.ewa-inner #wrapper {
	background: var(--ewa-paper);
	color: var(--ewa-ink);
}

/* Kadence's own content background follows the page, not its light default. */
.ewa-inner .content-bg,
.ewa-inner .entry-content-wrap,
.ewa-inner .content-container,
.ewa-inner .site-container,
.ewa-inner .entry-hero-container-inner,
.ewa-inner .wp-site-blocks { background: transparent; }

.ewa-inner #inner-wrap {
	max-width: var(--width-page);
	margin-inline: auto;
	padding: var(--space-8) var(--space-6) var(--space-9);
}

/* --- typography --------------------------------------------------------- */
.ewa-inner .entry-title,
.ewa-inner .entry-content h1,
.ewa-inner .entry-content h2,
.ewa-inner .entry-content h3,
.ewa-inner .entry-content h4 {
	font-family: var(--font-display);
	color: var(--ewa-ink);
	letter-spacing: -.015em;
	text-wrap: balance;
}
.ewa-inner .entry-title            { font-size: var(--text-3xl); line-height: var(--lh-3xl); margin-bottom: var(--space-5); }
.ewa-inner .entry-content h2       { font-size: var(--text-xl); line-height: var(--lh-2xl); margin-top: var(--space-7); }
.ewa-inner .entry-content h3       { font-size: var(--text-lg); margin-top: var(--space-5); }
.ewa-inner .entry-content p,
.ewa-inner .entry-content li       { color: var(--ewa-muted); line-height: 1.7; }
.ewa-inner .entry-content          { max-width: var(--width-read); font-size: var(--text-base); }
.ewa-inner .entry-content a        { color: var(--ewa-primary); text-decoration: underline; text-underline-offset: 3px; }
.ewa-inner .entry-content a:hover  { color: var(--ewa-primary-hover); }
.ewa-inner .entry-content > * + *  { margin-top: var(--space-4); }
.ewa-inner .entry-content ul,
.ewa-inner .entry-content ol       { padding-left: 1.3em; }
.ewa-inner .entry-content li + li  { margin-top: var(--space-2); }

/* Kadence's page hero centres the title and sizes itself from Customizer
   options emitted as inline CSS, which left the heading floating far above a
   left-aligned reading column. Selectors are prefixed with body to outrank
   that inline block; min-height is the setting that creates the gap.

   Real structure:
     section.entry-hero > .entry-hero-container-inner
       > .hero-container.site-container
         > header.entry-header.page-title > h1.entry-title            */
body.ewa-inner .entry-hero-container-inner {
	min-height: 0;
	padding-block: var(--space-8) 0;
	border: 0;
	background: none;
}
body.ewa-inner .entry-hero .hero-section-overlay { display: none; }

/* Title and body share one measure so their left edges line up. */
body.ewa-inner .hero-container,
body.ewa-inner .content-container,
body.ewa-inner .entry-content {
	max-width: var(--width-read);
	margin-inline: auto;
}
/* Kadence emits `.entry-hero.page-hero-section .entry-header{min-height:200px}`
   inline and flex-centres the title inside that box — which is what produced
   both the large gap and the centred heading. Match its specificity. */
body.ewa-inner .entry-hero.page-hero-section .entry-header,
body.ewa-inner .entry-header.page-title {
	min-height: 0;
	display: block;
	text-align: left;
	max-width: none;
	padding: 0;
}
body.ewa-inner .entry-header.page-title .entry-title { text-align: left; }

/* The hero already provides the space above the title. */
body.ewa-inner .content-area { margin-top: var(--space-6); margin-bottom: var(--space-8); }

/* Kadence pads .entry-content-wrap by 2rem for its boxed style. We removed the
   box, so that padding only pushed body text 32px right of the title. */
body.ewa-inner .entry-content-wrap,
body.ewa-inner .entry.single-entry { padding: 0; box-shadow: none; background: none; }
body.ewa-inner .entry-title {
	font-family: var(--font-display);
	color: var(--ewa-ink);
	margin-bottom: var(--space-6);
}

/* Kadence's hero meta rows are not used on these pages. */
body.ewa-inner .entry-hero .entry-taxonomies,
body.ewa-inner .entry-hero .entry-meta { display: none; }

/* --- forms: signup, login, comments, search ---------------------------- */
/* wp-signup.php is a core template with no styling of its own, so without
   this it renders as raw browser defaults on the dark ground. */
.ewa-inner input[type="text"],
.ewa-inner input[type="email"],
.ewa-inner input[type="password"],
.ewa-inner input[type="url"],
.ewa-inner input[type="search"],
.ewa-inner textarea,
.ewa-inner select {
	width: 100%;
	max-width: 100%;
	background: var(--ewa-surface);
	color: var(--ewa-ink);
	border: 1px solid var(--ewa-border-strong);
	border-radius: var(--radius-control);
	padding: 11px var(--space-3);
	font-family: var(--font-body);
	font-size: var(--text-base);
	line-height: 1.4;
}
.ewa-inner input:focus,
.ewa-inner textarea:focus,
.ewa-inner select:focus {
	outline: 2px solid var(--ewa-primary);
	outline-offset: 2px;
	border-color: var(--ewa-primary);
}
.ewa-inner label { color: var(--ewa-ink); font-weight: 600; display: inline-block; margin-bottom: var(--space-2); }
.ewa-inner input[type="radio"],
.ewa-inner input[type="checkbox"] { width: auto; accent-color: var(--ewa-primary); margin-right: var(--space-2); }

.ewa-inner input[type="submit"],
.ewa-inner button[type="submit"],
.ewa-inner .button,
.ewa-inner .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	background: var(--ewa-accent);
	color: var(--ewa-on-accent);
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: 600;
	line-height: 1;
	min-height: 48px;
	padding: 13px var(--space-6);
	border: 1px solid transparent;
	border-radius: var(--radius-control);
	cursor: pointer;
	transition: filter var(--motion-hover);
}
.ewa-inner input[type="submit"]:hover,
.ewa-inner button[type="submit"]:hover,
.ewa-inner .button:hover { filter: brightness(1.08); color: var(--ewa-on-accent); }

/* --- login form + consent ---------------------------------------------- */
.ewa-inner .ewa-auth {
	max-width: 26rem;
	margin-inline: auto;
	background: var(--ewa-surface);
	border: 1px solid var(--ewa-border);
	border-radius: var(--radius-panel);
	padding: var(--space-6);
}
.ewa-inner .ewa-auth .login-username,
.ewa-inner .ewa-auth .login-password { margin-bottom: var(--space-4); }
.ewa-inner .ewa-auth label { display: block; }
.ewa-inner .ewa-auth .login-remember label {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	font-weight: 400;
	color: var(--ewa-muted);
	font-size: var(--text-sm);
}
.ewa-inner .ewa-auth .login-remember input { width: auto; margin: 0; }
.ewa-inner .ewa-auth .login-submit input { width: 100%; margin-top: var(--space-4); }
.ewa-inner .ewa-auth__links {
	margin-top: var(--space-5);
	padding-top: var(--space-4);
	border-top: 1px solid var(--ewa-border);
	font-size: var(--text-sm);
	color: var(--ewa-muted);
	text-align: center;
}
.ewa-inner .ewa-auth__error,
.ewa-inner .ewa-auth__notice {
	font-size: var(--text-sm);
	border-radius: var(--radius-control);
	padding: 10px var(--space-3);
	margin-bottom: var(--space-4);
}
.ewa-inner .ewa-auth__error  { background: color-mix(in srgb, var(--ewa-danger) 14%, transparent); color: var(--ewa-danger); }
.ewa-inner .ewa-auth__notice { background: color-mix(in srgb, var(--ewa-success) 14%, transparent); color: var(--ewa-success); }

/* The agreement line on the signup form: quiet, but never hidden. */
.ewa-inner .ewa-consent { margin-top: var(--space-5); font-size: var(--text-sm); }
.ewa-inner .ewa-consent label {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	font-weight: 400;
	color: var(--ewa-ink);
	line-height: 1.5;
	cursor: pointer;
}
.ewa-inner .ewa-consent input[type="checkbox"] { width: auto; margin: 3px 0 0; flex: none; }
.ewa-inner .ewa-consent a { color: var(--ewa-primary); text-decoration: underline; text-underline-offset: 2px; }
.ewa-inner .ewa-consent__note {
	display: block;
	margin-top: var(--space-2);
	padding-left: 26px;
	font-size: var(--text-xs);
	color: var(--ewa-muted);
}
.ewa-inner .ewa-consent .error { color: var(--ewa-danger); font-weight: 600; }

/* The signup form is a narrow task, not a reading column.
   Core nests .mu_register inside #signup-content, so only the inner element
   gets the card — styling both produced a box inside a box. */
.ewa-inner #signup-content,
.ewa-inner .widecolumn {
	max-width: 34rem;
	margin-inline: auto;
	padding: 0;
	background: none;
	border: 0;
}
.ewa-inner .mu_register {
	max-width: none;
	margin: 0;
	background: var(--ewa-surface);
	border: 1px solid var(--ewa-border);
	border-radius: var(--radius-panel);
	padding: var(--space-6);
}
.ewa-inner .mu_register input[type="submit"] { width: 100%; margin-top: var(--space-5); }
.ewa-inner .mu_register p { margin-bottom: var(--space-4); }
.ewa-inner .mu_register h2 { font-family: var(--font-display); color: var(--ewa-ink); margin-bottom: var(--space-5); }
.ewa-inner .mu_register p  { color: var(--ewa-muted); }
.ewa-inner .mu_register label { display: block; }
.ewa-inner .mu_register .error,
.ewa-inner .error { color: var(--ewa-danger); font-weight: 600; }


/* =============================================================================
   4d. AUTHENTICATION SCREENS
   Sign-in and registration take the whole viewport. No navigation, nothing to
   click away to — one thing to do. Brand argument on the left, form on the
   right; on narrow screens the argument drops away and the form stands alone.
   ========================================================================== */

.ewa-auth-page,
.ewa-auth-page #wrapper,
.ewa-auth-page #inner-wrap {
	margin: 0;
	padding: 0;
	max-width: none;
	background: var(--ewa-paper);
}
/* Kadence's page hero has nothing to show here. */
.ewa-auth-page .entry-hero,
.ewa-auth-page .entry-header,
.ewa-auth-page .ewa-nav,
.ewa-auth-page .ewa-footer { display: none; }
/* Clear every width constraint Kadence or the inner-page rules would impose. */
body.ewa-auth-page .content-area,
body.ewa-auth-page .content-container,
body.ewa-auth-page .site-container,
body.ewa-auth-page .entry-content,
body.ewa-auth-page .entry-content-wrap,
body.ewa-auth-page .hero-container,
body.ewa-auth-page .entry {
	max-width: none;
	width: auto;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}

.ewa-authx {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	min-height: 100vh;
	background: var(--ewa-paper);
}

/* --- brand half ---------------------------------------------------------- */
.ewa-authx__brand {
	position: relative;
	display: flex;
	padding: clamp(40px, 5vw, 72px);
	background:
		radial-gradient(120% 90% at 8% 0%, rgba(92, 195, 180, .13), transparent 60%),
		radial-gradient(90% 70% at 90% 100%, rgba(229, 168, 75, .07), transparent 60%),
		var(--ewa-paper);
	border-right: 1px solid var(--ewa-border);
	overflow: hidden;
}
/* A hairline grid, barely there — texture without decoration. */
.ewa-authx__brand::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(var(--ewa-border) 1px, transparent 1px),
		linear-gradient(90deg, var(--ewa-border) 1px, transparent 1px);
	background-size: 72px 72px;
	opacity: .22;
	pointer-events: none;
}
.ewa-authx__brandinner {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--space-8);
	width: 100%;
	max-width: 30rem;
	margin: auto;
}
.ewa-authx__logo img { height: 44px; width: auto; }

.ewa-authx__eyebrow {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ewa-accent);
	margin: 0 0 var(--space-4);
}
.ewa-authx__headline {
	font-family: var(--font-display);
	font-size: clamp(28px, 3.2vw, 40px);
	line-height: 1.12;
	letter-spacing: -.02em;
	font-weight: 600;
	color: var(--ewa-ink);
	margin: 0 0 var(--space-6);
	max-width: 16ch;
	text-wrap: balance;
}
.ewa-authx__panel {
	background: color-mix(in srgb, var(--ewa-surface) 70%, transparent);
	border: 1px solid var(--ewa-border);
	border-radius: var(--radius-panel);
	padding: var(--space-5);
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	backdrop-filter: blur(6px);
}
.ewa-authx__points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	font-size: var(--text-sm);
	color: var(--ewa-muted);
}
.ewa-authx__points li { display: flex; align-items: center; gap: var(--space-2); }
.ewa-authx__points li::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--ewa-primary);
	flex: none;
}

/* --- form half ----------------------------------------------------------- */
.ewa-authx__form {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(32px, 5vw, 72px) clamp(20px, 4vw, 56px);
	background: var(--ewa-surface);
}
.ewa-authx__forminner { width: 100%; max-width: 23rem; }

.ewa-authx__mobilelogo { display: none; margin-bottom: var(--space-6); }
.ewa-authx__mobilelogo img { height: 38px; width: auto; }

.ewa-authx__title {
	font-family: var(--font-display);
	font-size: clamp(26px, 3vw, 32px);
	line-height: 1.15;
	letter-spacing: -.015em;
	font-weight: 600;
	color: var(--ewa-ink);
	margin: 0 0 var(--space-2);
}
.ewa-authx__sub {
	color: var(--ewa-muted);
	font-size: var(--text-sm);
	margin: 0 0 var(--space-6);
}

/* Core's own form markup, restyled in place. */
.ewa-authx__form label,
.ewa-authx__form .mu_register label {
	display: block;
	font-size: var(--text-sm);
	font-weight: 600;
	color: var(--ewa-ink);
	margin-bottom: var(--space-2);
}
.ewa-authx__form input[type="text"],
.ewa-authx__form input[type="email"],
.ewa-authx__form input[type="password"] {
	width: 100%;
	height: 46px;
	background: var(--ewa-paper);
	border: 1px solid var(--ewa-border-strong);
	border-radius: var(--radius-control);
	color: var(--ewa-ink);
	padding: 0 var(--space-4);
	font-size: var(--text-base);
	font-family: var(--font-body);
	transition: border-color var(--motion-hover), box-shadow var(--motion-hover);
}
.ewa-authx__form input:focus {
	border-color: var(--ewa-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ewa-primary) 25%, transparent);
	outline: none;
}
.ewa-authx__form .login-username,
.ewa-authx__form .login-password { margin-bottom: var(--space-4); }
.ewa-authx__form .login-remember { margin: var(--space-2) 0 0; }
.ewa-authx__form .login-remember label {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	font-weight: 400;
	color: var(--ewa-muted);
	margin: 0;
}
.ewa-authx__form .login-remember input { width: auto; height: auto; accent-color: var(--ewa-primary); }

.ewa-authx__form input[type="submit"],
.ewa-authx__form .button-primary,
.ewa-authx__form .submit input {
	width: 100%;
	height: 48px;
	background: var(--ewa-accent);
	color: var(--ewa-on-accent);
	border: 0;
	border-radius: var(--radius-control);
	font-family: var(--font-body);
	font-size: var(--text-base);
	font-weight: 600;
	cursor: pointer;
	margin-top: var(--space-5);
	transition: filter var(--motion-hover);
}
.ewa-authx__form input[type="submit"]:hover { filter: brightness(1.08); }

.ewa-authx__form .ewa-auth__links,
.ewa-authx__form .ewa-auth__error,
.ewa-authx__form .ewa-auth__notice { text-align: left; }
.ewa-authx__form .ewa-auth__links {
	margin-top: var(--space-6);
	padding-top: var(--space-5);
	border-top: 1px solid var(--ewa-border);
	font-size: var(--text-sm);
	color: var(--ewa-muted);
}

/* The signup form is core markup; strip its card, the shell provides the frame. */
.ewa-authx__form #signup-content,
.ewa-authx__form .widecolumn,
.ewa-authx__form .mu_register {
	max-width: none;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
}
.ewa-authx__form .mu_register h2 { display: none; }
.ewa-authx__form .mu_register p { color: var(--ewa-muted); font-size: var(--text-sm); margin-bottom: var(--space-4); }
.ewa-authx__form .mu_register label { color: var(--ewa-ink); }


/* --- activation screen -------------------------------------------------- */
.ewa-authx__form .wp-activate-container {
	max-width: none;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
}
.ewa-authx__form .wp-activate-container p,
.ewa-authx__form #signup-welcome p {
	color: var(--ewa-muted);
	font-size: var(--text-sm);
	line-height: 1.65;
	margin: 0 0 var(--space-4);
}
.ewa-authx__form .wp-activate-container p.message,
.ewa-authx__form p.message {
	background: color-mix(in srgb, var(--ewa-danger) 14%, transparent);
	color: var(--ewa-danger);
	font-weight: 600;
	border-radius: var(--radius-control);
	padding: 12px var(--space-4);
	margin-bottom: var(--space-5);
}
.ewa-authx__form .wp-activate-container strong,
.ewa-authx__form #signup-welcome strong { color: var(--ewa-ink); }
.ewa-authx__form .wp-activate-container a,
.ewa-authx__form #signup-welcome a {
	color: var(--ewa-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
	word-break: break-word;
}
.ewa-authx__cta { margin-top: var(--space-6); }
.ewa-authx__cta .ewa-btn { width: 100%; }

.ewa-authx__signedin { max-width: 23rem; margin: 15vh auto; text-align: center; }

@media (max-width: 900px) {
	.ewa-authx { grid-template-columns: 1fr; min-height: 100vh; }
	.ewa-authx__brand { display: none; }
	.ewa-authx__mobilelogo { display: block; }
	.ewa-authx__form { background: var(--ewa-paper); align-items: flex-start; padding-top: clamp(40px, 12vh, 96px); }
}

/* =============================================================================
   5. RESPONSIVE
   Single-column below 900px; the hero mock drops under the copy rather than
   shrinking to illegibility.
   ========================================================================== */

@media (max-width: 1024px) {
	.ewa-stats__grid   { grid-template-columns: repeat(2, 1fr); gap: var(--space-5); }
	.ewa-grid-3        { grid-template-columns: repeat(2, 1fr); }
	.ewa-footer__grid  { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
	:root { --logo-height: 46px; --nav-height: 76px; }
	.ewa-hero__grid { grid-template-columns: 1fr; gap: var(--space-6); }
	.ewa-split      { grid-template-columns: 1fr; gap: var(--space-6); }
	.ewa-hero       { padding-top: var(--space-7); }
	.ewa-nav__links { display: none; }
}

@media (max-width: 700px) {
	.ewa-grid-3        { grid-template-columns: 1fr; }
	.ewa-stats__grid   { grid-template-columns: 1fr 1fr; }
	.ewa-footer__grid  { grid-template-columns: 1fr; }
	.ewa-templates__head { flex-direction: column; align-items: flex-start; }
	.ewa-cta__inner    { flex-direction: column; align-items: flex-start; }
	.ewa-section, .ewa-hero, .ewa-stats, .ewa-cta, .ewa-footer, .ewa-nav { padding-inline: var(--space-4); }
}
