/* Built from assets/advice-gap.css by build/build.py — do not edit. */
/* =========================================================================
 * The Advice Gap 2026 — design stylesheet (v2)
 *
 * A complete redesign. The serif is gone: everything structural is Poppins,
 * heavy and uppercase, on white rather than cream. The drops table is now
 * spaced cards, and the amber "mark" — the rotated stripe artwork — carries
 * the brand where the old design used hairlines.
 *
 * Class names are unchanged wherever the markup is unchanged, so the widgets
 * and the page templates carry straight over. v1 is kept alongside as
 * advice-gap-v1.css.bak if anything needs checking against it.
 *
 * Every rule is prefixed `.elementor` at build time — see build/build.py and
 * the note in the theme's functions.php. Author without the prefix here.
 * ====================================================================== */

/* -------------------------------------------------------------------------
 * TOKENS
 * ---------------------------------------------------------------------- */
:root {
	--ag-bg:          #FFFFFF;
	--ag-ink:         #212322;
	--ag-ink-soft:    #3B3D3B;
	--ag-body:        #464846;
	--ag-muted:       #6B665F;
	--ag-muted-2:     #6E6A66;
	--ag-muted-3:     #7C7670;
	--ag-muted-4:     #7A756E;
	--ag-faint:       #BDB7AE;

	--ag-orange:      #FA4616;
	--ag-orange-deep: #C8340D;
	--ag-tangerine:   #F58B32;
	--ag-amber:       #F5B733;

	--ag-band:        #F7F4EF;
	--ag-tile:        #F2EFEA;
	--ag-tint:        #FFF9EE;

	--ag-rule:        rgba(33, 35, 34, 0.14);
	--ag-rule-soft:   rgba(33, 35, 34, 0.12);
	--ag-rule-strong: rgba(33, 35, 34, 0.18);
	--ag-on-dark:     #FFFFFF;

	--ag-display: "Poppins", "Archivo", Helvetica, Arial, sans-serif;
	--ag-sans:    "Archivo", Helvetica, Arial, sans-serif;
	--ag-mono:    ui-monospace, SFMono-Regular, Menlo, monospace;

	--ag-max:    1280px;
	--ag-gutter: clamp(20px, 5vw, 44px);
}

/* @theme-only:start
 * -------------------------------------------------------------------------
 * 2026 BASELINE
 *
 * Only the theme ships this block, and only on pages flagged as 2026, so it
 * cannot reach the 2025 pages. It restyles the content that has no ag- class
 * of its own — plain Heading, Text Editor and Button widgets — so anything
 * added later looks like 2026 rather than inheriting the site's kit.
 *
 * Three classes, where Elementor's kit typography has two and a Style-tab edit
 * has four: this beats the site globals and loses to your panel edits. It sits
 * ABOVE the component rules on purpose — same specificity, so the components
 * must come later to win. Do not move it below them.
 * ---------------------------------------------------------------------- */
body.ag-2026 {
	background: var(--ag-bg);
	color: var(--ag-ink);
}

.elementor .elementor-widget-heading .elementor-heading-title {
	font-family: var(--ag-display);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	line-height: 0.98;
	color: var(--ag-ink);
}

.elementor .elementor-widget-text-editor,
.elementor .elementor-widget-text-editor p {
	font-family: var(--ag-sans);
	font-size: 17px;
	line-height: 1.72;
	color: var(--ag-body);
}

.elementor .elementor-widget-button .elementor-button {
	font-family: var(--ag-display);
	border-radius: 0;
}

.elementor a { color: inherit; }
/* @theme-only:end */

/* -------------------------------------------------------------------------
 * SHELL
 * ---------------------------------------------------------------------- */
.elementor .ag-section {
	background: var(--ag-bg);
	color: var(--ag-ink);
	font-family: var(--ag-sans);
	-webkit-font-smoothing: antialiased;
}

.elementor .ag-wrap {
	width: 100%;
	max-width: var(--ag-max);
	margin-inline: auto;
}

.elementor .ag-section ::selection { background: var(--ag-amber); color: var(--ag-ink); }
.elementor .ag-section a { text-decoration: none; }

.elementor .elementor-element.ag-rule-top { border-top: 1px solid var(--ag-rule); padding-top: 48px; }
.elementor .elementor-element.ag-block-56 { margin-top: 56px; }
.elementor .elementor-element.ag-block-64 { margin-top: 64px; }

/* -------------------------------------------------------------------------
 * THE MARK — the rotated stripe artwork
 *
 * Used full-bleed behind the hero panel, as a small block beside the About and
 * Press headlines, and as the cover art on archive cards. Each stripe takes
 * its width, height, angle and colour from custom properties so one rule
 * serves every size.
 * ---------------------------------------------------------------------- */
.elementor .ag-mark {
	position: absolute;
	inset: 0;
	overflow: hidden;
	background: var(--ag-mark-bg, var(--ag-amber));
}
.elementor .ag-mark i {
	position: absolute;
	left: var(--x, 70%);
	top: var(--y, 52%);
	width: var(--w);
	height: var(--h);
	background: var(--c);
	opacity: var(--o, 1);
	transform-origin: 0 50%;
	transform: rotate(var(--r));
	clip-path: polygon(0 42%, 0 58%, 100% 0, 100% 100%);
}

/* A standalone block of it, for the About and Press headlines. */
.elementor .elementor-element.ag-markblock {
	position: relative;
	overflow: hidden;
	flex: 0 0 clamp(150px, 18vw, 230px);
	align-self: stretch;
	min-height: clamp(150px, 18vw, 230px);
	background: var(--ag-amber);
}

/* -------------------------------------------------------------------------
 * HEADER
 * ---------------------------------------------------------------------- */
.elementor .ag-header {
	position: sticky;
	top: 0;
	z-index: 20;
	background: rgba(255, 255, 255, 0.94);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--ag-rule);
}
.elementor .ag-header--static { position: static; }

.elementor .ag-header__inner {
	width: 100%;
	max-width: var(--ag-max);
	margin-inline: auto;
	padding-inline: var(--ag-gutter);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
	padding-block: 16px;
}

.elementor .ag-wordmark {
	display: flex;
	align-items: baseline;
	gap: 9px;
	font-family: var(--ag-display);
	font-weight: 900;
	font-size: 20px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	line-height: 1;
	color: var(--ag-ink);
}
.elementor .ag-wordmark em {
	font-style: normal;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.14em;
	color: var(--ag-muted-3);
}

.elementor .ag-nav {
	display: flex;
	align-items: center;
	gap: clamp(16px, 3vw, 34px);
	flex-wrap: wrap;
	font-family: var(--ag-display);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
/* Every item carries the underline's space whether or not it is showing one,
   otherwise the current page sits higher than its neighbours. */
.elementor .ag-nav a {
	color: var(--ag-muted);
	padding-bottom: 3px;
	border-bottom: 3px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}
.elementor .ag-nav a:hover,
.elementor .ag-nav a:focus-visible { color: var(--ag-orange); }
.elementor .ag-nav a.is-current {
	color: var(--ag-ink);
	border-bottom-color: var(--ag-amber);
}
.elementor .ag-nav a.ag-nav__cta {
	background: var(--ag-ink);
	color: var(--ag-on-dark);
	border-bottom: 0;
	padding: 11px 20px;
	letter-spacing: 0.14em;
	transition: background 0.15s ease, color 0.15s ease;
}
.elementor .ag-nav a.ag-nav__cta:hover,
.elementor .ag-nav a.ag-nav__cta:focus-visible { background: var(--ag-orange); color: var(--ag-on-dark); }

/* -------------------------------------------------------------------------
 * CREDITS STRIP
 * ---------------------------------------------------------------------- */
.elementor .ag-credits { background: var(--ag-band); border-bottom: 1px solid var(--ag-rule-soft); }
.elementor .ag-credits__inner {
	width: 100%;
	max-width: var(--ag-max);
	margin-inline: auto;
	padding-inline: var(--ag-gutter);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 40px;
	padding-block: 13px;
}
.elementor .ag-credits__pair { display: flex; align-items: center; gap: 14px; }
.elementor .ag-credits__label {
	font-family: var(--ag-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ag-muted);
	font-weight: 600;
	white-space: nowrap;
}
.elementor .ag-credits__name {
	font-family: var(--ag-display);
	font-weight: 700;
	font-size: 15px;
	letter-spacing: -0.01em;
}
.elementor .ag-credits__rule { flex: 1; min-width: 20px; height: 1px; background: rgba(33, 35, 34, 0.16); }
.elementor .ag-credits__logo img {
	display: block;
	/* Height-driven: a fixed width squashed or blew up logos whose aspect
	   ratio is not the one the design was drawn against. */
	width: auto;
	height: 26px;
	max-width: 100%;
}

/* -------------------------------------------------------------------------
 * EYEBROW
 * ---------------------------------------------------------------------- */
.elementor .ag-eyebrow {
	display: flex;
	align-items: center;
	gap: clamp(14px, 2vw, 20px);
	font-family: var(--ag-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ag-muted);
	font-weight: 600;
}
.elementor .ag-eyebrow b { font-weight: 600; color: var(--ag-ink); }
.elementor .ag-eyebrow i { flex: 1; min-width: 20px; height: 1px; background: rgba(33, 35, 34, 0.18); }
.elementor .ag-eyebrow span { white-space: nowrap; }

.elementor .ag-label {
	font-family: var(--ag-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ag-muted);
	font-weight: 600;
}

/* -------------------------------------------------------------------------
 * DISPLAY TYPE
 * ---------------------------------------------------------------------- */
.elementor .ag-hero__title,
.elementor .ag-hero__title .elementor-heading-title {
	font-family: var(--ag-display);
	font-weight: 900;
	text-transform: uppercase;
	font-size: clamp(52px, 7.4vw, 104px);
	line-height: 0.94;
	letter-spacing: 0.005em;
	color: var(--ag-ink);
	margin: 0;
}
.elementor .ag-hero__title { margin-top: 34px; }
/* The year, set small and raised beside the wordmark. */
.elementor .ag-hero__title em {
	font-style: normal;
	font-weight: 600;
	font-size: 0.34em;
	letter-spacing: 0.14em;
	color: var(--ag-muted-3);
	vertical-align: 0.42em;
}
/* One word picked out in flame, as on the About and Press headlines. */
.elementor .ag-hero__title strong { font-weight: inherit; color: var(--ag-orange); }

.elementor .ag-hero__title--sub,
.elementor .ag-hero__title--sub .elementor-heading-title {
	font-size: clamp(46px, 6.6vw, 96px);
	max-width: 12ch;
	margin-top: 0;
}
.elementor .ag-hero__title--sub { margin-top: 0; }

.elementor .ag-hero__lede,
.elementor .ag-hero__lede p {
	font-size: 20px;
	line-height: 1.55;
	color: var(--ag-ink-soft);
	max-width: 40ch;
	text-wrap: pretty;
	margin: 0;
}
.elementor .ag-hero__lede { margin-top: 30px; }

.elementor .ag-lede,
.elementor .ag-lede p {
	font-size: 25px;
	line-height: 1.45;
	font-weight: 500;
	letter-spacing: -0.012em;
	text-wrap: pretty;
	color: var(--ag-ink);
	margin: 0;
}
.elementor .ag-lede--hero,
.elementor .ag-lede--hero p {
	font-size: clamp(20px, 2.1vw, 27px);
	line-height: 1.5;
	color: var(--ag-ink-soft);
	max-width: 52ch;
}
.elementor .ag-lede--hero { margin-top: 36px; }

.elementor .ag-copy,
.elementor .ag-copy p {
	font-size: 17px;
	line-height: 1.72;
	color: var(--ag-body);
	text-wrap: pretty;
}
.elementor .ag-copy p { margin: 0 0 20px; }
.elementor .ag-copy p:last-child { margin-bottom: 0; }

/* -------------------------------------------------------------------------
 * PROGRESS METER
 * ---------------------------------------------------------------------- */
.elementor .ag-meter { display: flex; align-items: center; gap: 14px; }
.elementor .ag-meter__label {
	font-family: var(--ag-display);
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ag-ink);
	font-weight: 600;
	white-space: nowrap;
}
.elementor .ag-meter__track { flex: 1; display: flex; gap: 5px; }
.elementor .ag-meter__seg { flex: 1; height: 5px; background: rgba(33, 35, 34, 0.13); }
.elementor .ag-meter__seg.is-on { background: var(--ag-amber); }
.elementor .ag-meter__notice {
	margin: 0;
	padding: 10px 14px;
	background: var(--ag-tile);
	border-left: 3px solid var(--ag-amber);
	font-size: 13px;
	line-height: 1.5;
	color: var(--ag-muted);
}

/* -------------------------------------------------------------------------
 * BUTTONS
 * ---------------------------------------------------------------------- */
.elementor .elementor-element.ag-btn .elementor-button,
.elementor a.ag-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ag-display);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	line-height: 1;
	padding: 16px 26px;
	border-radius: 0;
	fill: currentColor;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.elementor .elementor-element.ag-btn--solid .elementor-button,
.elementor a.ag-btn--solid {
	background: var(--ag-orange);
	color: var(--ag-on-dark);
	border: 1px solid var(--ag-orange);
}
.elementor .elementor-element.ag-btn--solid .elementor-button:hover,
.elementor .elementor-element.ag-btn--solid .elementor-button:focus-visible,
.elementor a.ag-btn--solid:hover { background: var(--ag-ink); border-color: var(--ag-ink); color: var(--ag-on-dark); }

.elementor .elementor-element.ag-btn--ink .elementor-button,
.elementor a.ag-btn--ink {
	background: var(--ag-ink);
	color: var(--ag-on-dark);
	border: 1px solid var(--ag-ink);
}
.elementor .elementor-element.ag-btn--ink .elementor-button:hover,
.elementor a.ag-btn--ink:hover { background: var(--ag-orange); border-color: var(--ag-orange); color: var(--ag-on-dark); }

.elementor .elementor-element.ag-btn--ghost .elementor-button,
.elementor a.ag-btn--ghost {
	background: transparent;
	color: var(--ag-ink);
	border: 1px solid rgba(33, 35, 34, 0.28);
}
.elementor .elementor-element.ag-btn--ghost .elementor-button:hover,
.elementor a.ag-btn--ghost:hover { border-color: var(--ag-ink); background: var(--ag-band); color: var(--ag-ink); }

.elementor .elementor-element.ag-btn--accent .elementor-button,
.elementor a.ag-btn--accent {
	background: var(--ag-amber);
	color: var(--ag-ink);
	border: 1px solid var(--ag-amber);
	padding: 15px 24px;
}
.elementor .elementor-element.ag-btn--accent .elementor-button:hover,
.elementor a.ag-btn--accent:hover { background: var(--ag-on-dark); border-color: var(--ag-on-dark); color: var(--ag-ink); }

.elementor .elementor-element.ag-btn--onDark .elementor-button,
.elementor a.ag-btn--onDark {
	background: none;
	color: var(--ag-on-dark);
	border: 1px solid rgba(255, 255, 255, 0.4);
	padding: 15px 24px;
}
.elementor .elementor-element.ag-btn--onDark .elementor-button:hover,
.elementor a.ag-btn--onDark:hover { border-color: var(--ag-on-dark); background: rgba(255, 255, 255, 0.08); color: var(--ag-on-dark); }

.elementor .ag-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* Underlined text link, and the same on a native Button widget.
 *
 * The rule is deliberately split. On a Button widget the class lands on the
 * widget WRAPPER and the anchor sits inside it — so a single selector list
 * covering both drew the underline twice, once under each. The type is shared;
 * the border belongs only to whichever element is actually the link. */
.elementor .ag-link-underline,
.elementor .ag-link-underline .elementor-button {
	display: inline-block;
	font-family: var(--ag-display);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ag-ink);
	transition: color 0.15s ease, border-color 0.15s ease;
}
.elementor a.ag-link-underline,
.elementor .ag-link-underline .elementor-button {
	border-bottom: 3px solid var(--ag-amber);
	padding-bottom: 3px;
}
.elementor .ag-link-underline .elementor-button { background: none; padding: 0 0 3px; }
.elementor a.ag-link-underline:hover,
.elementor .ag-link-underline .elementor-button:hover { color: var(--ag-orange); border-color: var(--ag-orange); background: none; }

/* -------------------------------------------------------------------------
 * HERO — two columns, copy beside the drop panel
 * ---------------------------------------------------------------------- */
.elementor .elementor-element.ag-hero__cols {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: clamp(36px, 5vw, 72px);
	align-items: center;
}
.elementor .ag-hero__aside { align-items: stretch; }

/* The headline block on About and Press: title beside a block of the mark. */
/* Direction, wrap, alignment and gap come from the template's own settings so
   they stay editable in the panel; only the margin is a design constant. */
.elementor .elementor-element.ag-titlerow { margin-top: 36px; }
.elementor .elementor-element.ag-titlerow .ag-hero__title { flex: 1 1 400px; }

/* -------------------------------------------------------------------------
 * DROP PANEL — the square that carries the latest drop
 *
 * Shows the newest drop's image when there is one, the widget's own default
 * image otherwise, and the mark when there is neither — so it is never empty.
 * The lang cat block, the sponsor lockup and the drop number sit over the top.
 * ---------------------------------------------------------------------- */
.elementor .ag-drop-panel {
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	min-height: 340px;
	background: var(--ag-amber);
	display: block;
	color: var(--ag-ink);
}
.elementor .ag-drop-panel__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.elementor .ag-drop-panel__inner {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(20px, 3vw, 32px);
	gap: 16px;
}
.elementor .ag-drop-panel__top { display: flex; justify-content: flex-end; }
.elementor .ag-drop-panel__bottom {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

/* The lang cat block — three stacked words in a bordered white box. */
.elementor .ag-langcat-box {
	display: block;
	background: var(--ag-bg);
	border: 3px solid var(--ag-ink);
	padding: 10px 12px 12px;
	font-family: var(--ag-display);
	font-weight: 800;
	font-size: clamp(13px, 1.5vw, 17px);
	line-height: 1.02;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: var(--ag-ink);
	text-align: left;
}
/* With a real logo the white box and rule are the logo's own job, so the
   block gets out of the way. The stacked-wordmark fallback keeps them. */
.elementor .ag-langcat-box--logo {
	padding: 0;
	border: none;
	background: none;
}
.elementor .ag-langcat-box img { display: block; width: clamp(64px, 8vw, 96px); height: auto; }

.elementor .ag-drop-panel__support {
	display: flex;
	flex-direction: column;
	gap: 9px;
	align-items: flex-start;
	background: var(--ag-bg);
	padding: 11px 14px 13px;
}
.elementor .ag-drop-panel__support span {
	font-family: var(--ag-display);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ag-muted);
}
.elementor .ag-drop-panel__support img { display: block; width: clamp(100px, 11vw, 132px); height: auto; }

.elementor .ag-drop-panel__label {
	font-family: var(--ag-display);
	font-size: clamp(14px, 1.6vw, 20px);
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ag-ink);
}
/* Over a photograph the plain marks would disappear, so they get a ground. */
.elementor .ag-drop-panel--photo .ag-drop-panel__label {
	background: var(--ag-bg);
	padding: 8px 12px;
}

/* The plain variant: artwork only, filling whatever box it is given. */
.elementor .ag-drop-panel--block {
	aspect-ratio: auto;
	min-height: 100%;
	height: 100%;
	width: 100%;
}
.elementor .elementor-element.ag-markblock > .elementor-widget,
.elementor .ag-markblock .elementor-widget-container { height: 100%; width: 100%; }

/* -------------------------------------------------------------------------
 * ABOUT
 * ---------------------------------------------------------------------- */
.elementor .elementor-element.ag-about__side { flex: 0 1 240px; }
.elementor .elementor-element.ag-about__body { flex: 1 1 420px; max-width: 66ch; }

.elementor .ag-section-title,
.elementor .ag-section-title .elementor-heading-title {
	font-family: var(--ag-display);
	font-weight: 900;
	text-transform: uppercase;
	font-size: clamp(30px, 3.4vw, 44px);
	line-height: 0.98;
	letter-spacing: 0.01em;
	color: var(--ag-ink);
	margin: 0;
}

/* -------------------------------------------------------------------------
 * SPONSOR BAND — flame by default, amber and ink as alternates
 * ---------------------------------------------------------------------- */
.elementor .ag-band-flame { background: var(--ag-orange); color: var(--ag-on-dark); }
.elementor .ag-band-amber { background: var(--ag-amber); color: var(--ag-ink); }
.elementor .ag-band-dark { background: var(--ag-ink);   color: var(--ag-on-dark); }

.elementor .ag-band-flame .ag-label,
.elementor .ag-band-dark .ag-label { color: rgba(255, 255, 255, 0.72); }
.elementor .ag-band-amber .ag-label { color: rgba(33, 35, 34, 0.68); }
.elementor .ag-band-dark .ag-label { color: var(--ag-amber); }

.elementor .elementor-element.ag-sponsor__col { flex: 1 1 380px; }
.elementor .elementor-element.ag-sponsor__col--media { flex: 1 1 400px; }

.elementor .ag-sponsor__logo img { display: block; width: clamp(220px, 26vw, 330px); height: auto; }
.elementor .ag-band-amber .ag-sponsor__logo img { filter: invert(1); }

.elementor .ag-sponsor__lede,
.elementor .ag-sponsor__lede p {
	font-size: 23px;
	line-height: 1.5;
	font-weight: 500;
	max-width: 42ch;
	text-wrap: pretty;
	margin: 0;
	color: inherit;
}
.elementor .ag-sponsor__lede { margin: 28px 0 22px; }

.elementor .ag-sponsor__body,
.elementor .ag-sponsor__body p {
	font-size: 16px;
	line-height: 1.75;
	max-width: 52ch;
	text-wrap: pretty;
	margin: 0;
	color: inherit;
}
.elementor .ag-sponsor__body { margin-bottom: 30px; }

.elementor .ag-sponsor__link,
.elementor .ag-sponsor__link .elementor-button {
	display: inline-block;
	font-family: var(--ag-display);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ag-on-dark);
	transition: color 0.15s ease, border-color 0.15s ease;
}
/* Split for the same reason as ag-link-underline above. */
.elementor a.ag-sponsor__link,
.elementor .ag-sponsor__link .elementor-button {
	border-bottom: 2px solid rgba(255, 255, 255, 0.5);
	padding-bottom: 4px;
}
.elementor .ag-sponsor__link .elementor-button { background: none; padding: 0 0 4px; }
.elementor .ag-band-amber .ag-sponsor__link,
.elementor .ag-band-amber .ag-sponsor__link .elementor-button { color: var(--ag-ink); border-bottom-color: rgba(33, 35, 34, 0.4); }
.elementor .ag-band-dark .ag-sponsor__link,
.elementor .ag-band-dark .ag-sponsor__link .elementor-button { color: var(--ag-amber); border-bottom-color: rgba(245, 183, 51, 0.5); }
.elementor .elementor-element.ag-sponsor__link { border-bottom: 0; }

.elementor .ag-video {
	position: relative;
	aspect-ratio: 16 / 9;
	width: 100%;
	background: var(--ag-bg);
	display: flex;
	align-items: center;
	justify-content: center;
}
.elementor .ag-video iframe,
.elementor .ag-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.elementor .ag-video__play {
	width: 78px;
	height: 78px;
	border-radius: 50%;
	background: var(--ag-orange);
	display: flex;
	align-items: center;
	justify-content: center;
}
.elementor .ag-video__play::after {
	content: "";
	width: 0;
	height: 0;
	border-left: 22px solid var(--ag-bg);
	border-top: 13px solid transparent;
	border-bottom: 13px solid transparent;
	margin-left: 6px;
}
.elementor .ag-video__note {
	position: absolute;
	bottom: 14px;
	left: 14px;
	font-family: var(--ag-mono);
	font-size: 11px;
	color: var(--ag-muted-2);
}
.elementor .ag-video__fallback {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 14px; width: 100%; height: 100%; text-decoration: none; color: inherit;
}
.elementor .ag-video__fallback .ag-video__note { position: static; }

.elementor .ag-sponsor__caption,
.elementor .ag-sponsor__caption p {
	font-size: 16px;
	line-height: 1.7;
	max-width: 48ch;
	text-wrap: pretty;
	margin: 0;
	color: inherit;
}
.elementor .ag-sponsor__caption { margin-top: 22px; }

/* The hatched media panel on the About page.  */
.elementor .elementor-element.ag-panel {
	aspect-ratio: 4 / 3;
	overflow: hidden;
/* 	background-color: rgba(255, 255, 255, 0.06);
	background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.07) 0 12px, transparent 12px 24px);
	border: 1px solid rgba(255, 255, 255, 0.18);*/
}  
.elementor .ag-panel > .elementor-widget,
.elementor .ag-panel .elementor-widget-container { height: 100%; width: 100%; }
.elementor .ag-panel img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* -------------------------------------------------------------------------
 * DROPS — spaced cards, not a table
 * ---------------------------------------------------------------------- */
.elementor .ag-drops__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 48px;
	flex-wrap: wrap;
	border-bottom: 3px solid var(--ag-ink);
	padding-bottom: 26px;
}
.elementor .ag-drops__title,
.elementor .ag-drops__title .elementor-heading-title {
	font-family: var(--ag-display);
	font-weight: 900;
	text-transform: uppercase;
	font-size: clamp(34px, 4.4vw, 62px);
	line-height: 0.94;
	letter-spacing: 0.01em;
	color: var(--ag-ink);
	margin: 0;
}
.elementor .ag-drops__note,
.elementor .ag-drops__note p {
	font-size: 15px;
	line-height: 1.68;
	color: var(--ag-body);
	max-width: 46ch;
	text-wrap: pretty;
	margin: 0;
}
.elementor .ag-drops__note a { border-bottom: 3px solid var(--ag-amber); font-weight: 600; color: var(--ag-ink); }
.elementor .ag-drops__note a:hover { color: var(--ag-orange); border-color: var(--ag-orange); }

.elementor .ag-drops {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr));
	gap: clamp(16px, 2vw, 24px);
	margin-top: clamp(32px, 4vw, 48px);
}

.elementor .ag-drop {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 300px;
	padding: 30px 28px 26px;
	background: var(--ag-amber);
	color: var(--ag-ink);
	text-decoration: none;
	transition: opacity 0.15s ease;
}
.elementor a.ag-drop:hover,
.elementor a.ag-drop:focus-visible { opacity: 0.92; }
.elementor a.ag-drop:focus-visible { outline: 3px solid var(--ag-ink); outline-offset: -6px; }
.elementor .ag-drop--soon { background: var(--ag-tile); }

.elementor .ag-drop__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
}
.elementor .ag-drop__num,
.elementor .ag-drop__num .elementor-heading-title {
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
	border-radius: 50%;
	background: var(--ag-bg);
	color: var(--ag-ink);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--ag-display);
	font-weight: 800;
	font-size: 24px;
	line-height: 1;
	margin: 0;
}
.elementor .ag-drop--soon .ag-drop__num {
	background: none;
	border: 2px solid var(--ag-faint);
	color: var(--ag-muted);
}
.elementor .ag-drop__badge {
	font-family: var(--ag-display);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	background: var(--ag-ink);
	color: var(--ag-on-dark);
	padding: 6px 10px;
}

.elementor .ag-drop__title,
.elementor .ag-drop__title .elementor-heading-title {
	font-family: var(--ag-display);
	font-weight: 800;
	font-size: 19px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	line-height: 1.2;
	color: var(--ag-ink);
	margin: 0;
}
.elementor .ag-drop__title { margin: 22px 0 12px; }
.elementor .ag-drop--soon .ag-drop__title,
.elementor .ag-drop--soon .ag-drop__title .elementor-heading-title { color: var(--ag-muted-4); }

.elementor .ag-drop__topics,
.elementor .ag-drop__topics p {
	font-size: 14px;
	line-height: 1.65;
	color: inherit;
	text-wrap: pretty;
	margin: 0;
}
.elementor .ag-drop__topics { margin-bottom: 24px; flex: 1; }
.elementor .ag-drop--soon .ag-drop__topics,
.elementor .ag-drop--soon .ag-drop__topics p { color: var(--ag-muted); }

.elementor .ag-drop__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 12px;
	margin-top: auto;
}
.elementor .ag-drop__open {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--ag-display);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ag-ink);
}
.elementor .ag-drop__open i { font-style: normal; font-size: 15px; }
.elementor .ag-drop__pending {
	font-family: var(--ag-display);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ag-muted);
}
.elementor .ag-drop__meta { font-size: 12px; line-height: 1.4; color: var(--ag-ink); opacity: 0.72; }
.elementor .ag-drop__notify {
	font-family: var(--ag-display);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ag-muted);
	border-bottom: 1px solid currentColor;
}
.elementor .ag-drop__notify:hover { color: var(--ag-orange); }

/* -------------------------------------------------------------------------
 * THE TWO CLOSING PANELS — full report and launch event, side by side
 * ---------------------------------------------------------------------- */
.elementor .ag-drops__foot {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: clamp(16px, 2vw, 24px);
	margin-top: clamp(16px, 2vw, 24px);
	align-items: stretch;
}

.elementor .ag-report {
	display: flex;
	flex-direction: column;
	gap: 14px;
	background: var(--ag-tile);
	border: 2px solid var(--ag-rule-soft);
	padding: clamp(24px, 3vw, 34px) clamp(24px, 3.4vw, 40px);
	color: var(--ag-muted);
	text-decoration: none;
}
.elementor a.ag-report:hover { border-color: var(--ag-orange); }
/* Once the full report is attached it stops being a placeholder. */
.elementor .ag-report--live { background: var(--ag-amber); border-color: var(--ag-amber); color: var(--ag-ink); }

.elementor .ag-report__title {
	font-family: var(--ag-display);
	font-weight: 900;
	text-transform: uppercase;
	font-size: clamp(24px, 2.6vw, 34px);
	line-height: 1;
	letter-spacing: 0.01em;
	margin: 0;
	color: inherit;
}
.elementor .ag-report__body {
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
	max-width: 56ch;
	text-wrap: pretty;
	color: inherit;
}
.elementor .ag-report__status {
	align-self: flex-start;
	margin-top: auto;
	font-family: var(--ag-display);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: inherit;
	border: 2px solid rgba(33, 35, 34, 0.2);
	padding: 14px 22px;
}
.elementor .ag-report--live .ag-report__status { border-color: var(--ag-ink); }

.elementor .ag-cta {
	display: flex;
	flex-direction: column;
	gap: 16px;
	background: var(--ag-ink);
	color: var(--ag-on-dark);
	padding: clamp(30px, 4vw, 48px) clamp(24px, 3.4vw, 44px);
	text-decoration: none;
	transition: background 0.15s ease;
}
.elementor a.ag-cta:hover,
.elementor a.ag-cta:focus-visible { background: var(--ag-orange); }
.elementor .ag-cta__when {
	display: block;
	font-family: var(--ag-display);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ag-amber);
}
.elementor a.ag-cta:hover .ag-cta__when { color: var(--ag-on-dark); }
.elementor .ag-cta__head {
	display: block;
	font-family: var(--ag-display);
	font-weight: 900;
	text-transform: uppercase;
	font-size: clamp(24px, 2.8vw, 40px);
	line-height: 1.02;
	letter-spacing: 0.01em;
	color: var(--ag-on-dark);
	margin-top: 16px;
	max-width: 26ch;
}
.elementor .ag-cta__btn {
	align-self: flex-start;
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-family: var(--ag-display);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ag-on-dark);
	border: 1px solid rgba(255, 255, 255, 0.45);
	padding: 16px 24px;
}
.elementor .ag-cta__btn i { font-style: normal; font-size: 15px; }

/* -------------------------------------------------------------------------
 * ARCHIVE — covers carry the mark, cycling through the palette
 * ---------------------------------------------------------------------- */
.elementor .ag-archive__head { display: flex; align-items: baseline; gap: 24px; margin-bottom: 36px; flex-wrap: wrap; }
.elementor .ag-archive__head i { flex: 1; min-width: 20px; height: 1px; background: rgba(33, 35, 34, 0.18); }
.elementor .ag-archive__note { font-size: 13px; color: var(--ag-muted-2); }
.elementor .ag-archive__title,
.elementor .ag-archive__title .elementor-heading-title {
	font-family: var(--ag-display);
	font-weight: 900;
	text-transform: uppercase;
	font-size: clamp(24px, 2.6vw, 34px);
	line-height: 1;
	letter-spacing: 0.02em;
	margin: 0;
}

.elementor .ag-archive {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
	gap: 20px;
}
.elementor .ag-archive__item {
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 12px;
	text-decoration: none;
	transition: opacity 0.15s ease;
}
.elementor .ag-archive__item:hover,
.elementor .ag-archive__item:focus-visible { opacity: 0.78; }

.elementor .ag-archive__cover {
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	background: var(--ag-tile);
}
.elementor .ag-archive__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Four grounds, cycled by the widget so a row of covers is never monotonous. */
.elementor .ag-archive__cover--amber { --ag-mark-bg: var(--ag-amber); }
.elementor .ag-archive__cover--orange { --ag-mark-bg: var(--ag-tangerine); }
.elementor .ag-archive__cover--flame { --ag-mark-bg: var(--ag-orange); }
.elementor .ag-archive__cover--ink { --ag-mark-bg: var(--ag-ink); }

.elementor .ag-archive__year {
	font-size: 13px;
	font-weight: 600;
	color: var(--ag-ink);
}
.elementor .ag-archive__year em { font-style: normal; color: var(--ag-muted); font-weight: 400; }

.elementor .ag-archive__all {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 14px;
	border: 2px solid var(--ag-rule);
	padding: 20px;
	text-decoration: none;
	transition: background 0.15s ease;
}
.elementor .ag-archive__all:hover { background: var(--ag-band); }
.elementor .ag-archive__all b {
	font-family: var(--ag-display);
	font-weight: 800;
	font-size: 20px;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--ag-ink);
}
.elementor .ag-archive__all span {
	font-family: var(--ag-display);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ag-orange);
}
.elementor .ag-archive__all i { font-style: normal; }

/* -------------------------------------------------------------------------
 * PRESS RELEASES — cards, amber-edged when live, dashed when pending
 * ---------------------------------------------------------------------- */
.elementor .ag-press { display: flex; flex-direction: column; gap: clamp(12px, 1.4vw, 18px); }

.elementor .ag-press__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(20px, 3vw, 44px);
	background: var(--ag-bg);
	border: 2px solid var(--ag-rule);
	border-left: 6px solid var(--ag-amber);
	padding: clamp(26px, 3vw, 34px) clamp(24px, 3vw, 38px);
	color: var(--ag-ink);
	text-decoration: none;
	transition: background 0.18s ease, border-color 0.18s ease;
}
.elementor a.ag-press__row:hover,
.elementor a.ag-press__row:focus-visible { border-color: var(--ag-orange); background: var(--ag-tint); }
.elementor a.ag-press__row:focus-visible { outline: 2px solid var(--ag-orange); outline-offset: 2px; }

.elementor .ag-press__row--soon {
	background: var(--ag-band);
	border: 2px dashed var(--ag-rule-strong);
}

.elementor .ag-press__date {
	flex: 0 0 auto;
	font-family: var(--ag-display);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ag-ink);
	background: var(--ag-amber);
	padding: 8px 12px;
}
.elementor .ag-press__row--soon .ag-press__date {
	background: none;
	border: 1px solid rgba(33, 35, 34, 0.24);
	color: var(--ag-muted);
	padding: 7px 11px;
}

.elementor .ag-press__main { flex: 1 1 360px; min-width: 0; }
.elementor .ag-press__title {
	display: block;
	font-family: var(--ag-display);
	font-size: clamp(18px, 1.9vw, 23px);
	line-height: 1.3;
	font-weight: 600;
	text-wrap: pretty;
}
.elementor .ag-press__row--soon .ag-press__title { color: var(--ag-muted); }

.elementor .ag-press__summary {
	display: block;
	margin-top: 8px;
	font-size: 15px;
	line-height: 1.65;
	color: var(--ag-body);
	max-width: 56ch;
	text-wrap: pretty;
}
.elementor .ag-press__row--soon .ag-press__summary { color: var(--ag-muted); }

.elementor .ag-press__tail { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.elementor .ag-press__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ag-display);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ag-ink);
	background: var(--ag-orange);
	padding: 12px 18px;
	white-space: nowrap;
	transition: background 0.18s ease;
}
.elementor a.ag-press__row:hover .ag-press__cta { background: var(--ag-ink); color: var(--ag-on-dark); }
.elementor .ag-press__cta i { font-style: normal; }
.elementor .ag-press__meta { font-size: 12px; line-height: 1.4; color: var(--ag-muted); }

.elementor .ag-press__pending {
	flex: 0 0 auto;
	font-family: var(--ag-display);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ag-muted);
	white-space: nowrap;
}
.elementor .ag-press__note { font-family: var(--ag-mono); font-size: 11px; color: var(--ag-muted); margin: 22px 0 0; }
.elementor .elementor-element.ag-press__intro { margin-top: 36px; }

/* -------------------------------------------------------------------------
 * INFO CARDS — three tones, no hairline grid any more
 * ---------------------------------------------------------------------- */
.elementor .ag-cards {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(12px, 1.4vw, 18px);
	background: none;
	border: 0;
}
.elementor .ag-card {
	flex: 1 1 300px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	background: var(--ag-bg);
	border: 2px solid var(--ag-rule);
	padding: clamp(30px, 3.4vw, 40px) clamp(26px, 3vw, 34px);
}
.elementor .ag-card .ag-label { color: var(--ag-orange-deep); }

.elementor .ag-card--amber { background: var(--ag-amber); border-color: var(--ag-amber); }
.elementor .ag-card--amber .ag-label { color: var(--ag-ink); }
.elementor .ag-card--dark { background: var(--ag-ink); border-color: var(--ag-ink); color: var(--ag-on-dark); }
.elementor .ag-card--dark .ag-label { color: var(--ag-amber); }

.elementor .ag-card__title {
	font-family: var(--ag-display);
	font-weight: 800;
	text-transform: uppercase;
	font-size: 21px;
	line-height: 1.1;
	letter-spacing: 0.01em;
	margin: 16px 0 12px;
	color: inherit;
}
.elementor .ag-card__body,
.elementor .ag-card__body p {
	font-size: 15px;
	line-height: 1.7;
	color: var(--ag-body);
	margin: 0;
}
.elementor .ag-card--amber .ag-card__body,
.elementor .ag-card--amber .ag-card__body p { color: var(--ag-ink); }
.elementor .ag-card--dark .ag-card__body,
.elementor .ag-card--dark .ag-card__body p { color: inherit; opacity: 0.85; }
.elementor .ag-card__body a { color: inherit; }

.elementor .ag-card__link {
	margin-top: 16px;
	font-family: var(--ag-display);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ag-orange);
	transition: color 0.15s ease;
}
.elementor .ag-card--amber .ag-card__link { color: var(--ag-ink); border-bottom: 2px solid var(--ag-ink); padding-bottom: 3px; }
.elementor .ag-card--dark .ag-card__link { color: var(--ag-amber); }
.elementor .ag-card__link:hover { color: var(--ag-ink); }
.elementor .ag-card--dark .ag-card__link:hover { color: var(--ag-on-dark); }
.elementor .ag-card__link i { font-style: normal; }

/* -------------------------------------------------------------------------
 * FOOTER
 * ---------------------------------------------------------------------- */
.elementor .ag-footer { background: var(--ag-ink); color: var(--ag-on-dark); }
.elementor .elementor-element.ag-footer__grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 48px;
}
.elementor .ag-footer__brand,
.elementor .ag-footer__brand .elementor-heading-title {
	font-family: var(--ag-display);
	font-weight: 800;
	font-size: 18px;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--ag-on-dark);
	margin: 0;
}
.elementor .ag-footer__blurb,
.elementor .ag-footer__blurb p {
	font-size: 15px;
	line-height: 1.7;
	opacity: 0.7;
	max-width: 34ch;
	margin: 0;
	color: inherit;
}
.elementor .ag-footer__blurb { margin-top: 18px; }
.elementor .ag-footer .ag-label { color: rgba(255, 255, 255, 0.7); }
.elementor .ag-footer__text,
.elementor .ag-footer__text p {
	font-size: 15px;
	line-height: 1.7;
	opacity: 0.9;
	margin: 0;
	color: inherit;
}
.elementor .ag-footer__text { margin-top: 16px; }
.elementor .ag-footer__text a {
	color: inherit;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	transition: color 0.15s ease, border-color 0.15s ease;
}
.elementor .ag-footer__text a:hover { color: var(--ag-amber); border-color: var(--ag-amber); }

.elementor .ag-footer__links { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; font-size: 15px; }
.elementor .ag-footer__links a { color: var(--ag-on-dark); opacity: 0.9; transition: color 0.15s ease; }
.elementor .ag-footer__links a:hover { color: var(--ag-amber); opacity: 1; }

.elementor .ag-footer__legal-inner {
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px 32px;
	flex-wrap: wrap;
}
/* The children are Text Editor widgets, so the 2026 baseline was handing their
   paragraphs 17px in body grey — dark text on a near-black ground. These put
   the legal line back to what it should be. */
.elementor .ag-footer__legal-inner p,
.elementor .ag-footer__legal-inner span {
	font-family: var(--ag-sans);
	font-size: 12px;
	line-height: 1.6;
	color: var(--ag-on-dark);
	opacity: 0.65;
	margin: 0;
}
.elementor .ag-footer__legal-inner > *:last-child { text-align: end; }

.elementor .ag-langcat__name,
.elementor .ag-langcat__name .elementor-heading-title {
	font-family: var(--ag-display);
	font-weight: 800;
	font-size: 24px;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--ag-ink);
	margin: 0;
}

.elementor .ag-drops-widget,
.elementor .ag-archive-widget { display: block; }

/* -------------------------------------------------------------------------
 * RESPONSIVE
 * ---------------------------------------------------------------------- */
@media (max-width: 767px) {
	.elementor .ag-header__inner { padding-block: 13px; }
	.elementor .ag-nav { gap: 14px; font-size: 10px; width: 100%; }
	.elementor .ag-nav a.ag-nav__cta { padding: 10px 16px; }
	.elementor .ag-drop-panel { min-height: 300px; }
	.elementor .ag-drops__head { gap: 24px; }
	.elementor .ag-archive__head { gap: 12px; }
	/* The connecting rules need room to be a rule; below this they just push
	   the labels into ragged wraps, so drop them and let the labels stack. */
	.elementor .ag-eyebrow { flex-wrap: wrap; gap: 6px 16px; }
	.elementor .ag-eyebrow i,
.elementor .ag-archive__head i { display: none; }
	.elementor .ag-press__row { gap: 14px 20px; }
	.elementor .ag-press__tail { align-items: flex-start; }
	.elementor .ag-card { padding: 26px 22px; }
	.elementor .elementor-element.ag-footer__grid { gap: 36px; }
	.elementor .elementor-element.ag-markblock { flex-basis: 100%; min-height: 140px; }
}

/* Elementor editor: give the sticky header a normal position so it does not
   float over the panel while you are working on the page. */
.elementor-editor-active .elementor .ag-header { position: relative; }

/* -------------------------------------------------------------------------
 * THEME BUILDER HANDOVER
 *
 * When a Theme Builder template owns the header or footer, the copy sitting in
 * the PAGE steps aside so you never get two. Scoped to the page's own content:
 * hiding `.ag-header` outright would also hide it inside the Theme Builder
 * template, which is where it usually lives.
 *
 * Not prefixed `.elementor` by the build, because these are body-rooted.
 * ---------------------------------------------------------------------- */
body.ag-tb-header .elementor[data-elementor-type="wp-page"] .ag-header { display: none; }
body.ag-tb-footer .elementor[data-elementor-type="wp-page"] .ag-footer { display: none; }
