/*
 * MarTech Roundup design system.
 *
 * Source: the supplied "martech-digest-core" prototype (dark editorial canvas, blue-violet-pink brand
 * gradient, Manrope, crisp borders). Values are the prototype's oklch tokens converted to hex.
 * Scoped under body.mru-site so Elementor and the plugin's own CSS coexist. The plugin's blocks are themed
 * through the --mru-* variables set below.
 *
 * Layers (in order): fonts, tokens, base, layout, components, plugin blocks, utilities, motion, responsive.
 */

/* ------------------------------------------------------------------ Fonts (self-hosted, SIL OFL) */
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/manrope-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Manrope";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/manrope-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ------------------------------------------------------------------ Tokens */
body.mru-site {
	--c-bg: #050a15;
	--c-fg: #f2f5fb;
	--c-card: #0d1420;
	--c-strong: #090f1c;
	--c-secondary: #141c2a;
	--c-muted: #9ca5b5;
	--c-primary: #007eff;
	--c-link: #2e94ff;
	--c-hover: #ffffff;
	--c-btn: #0a66e8;
	--c-accent: #ff00a4;
	--c-accent-glow: rgba(255, 0, 164, 0.18);
	--c-violet: #9c3fec;
	--c-border: #2a3342;
	--c-input: #303b4d;
	--c-radius: 0.375rem;
	--c-gradient: linear-gradient(110deg, #007eff, #9c3fec, #ff00a4);
	--c-header: 4.5rem;
	--c-header-bg: rgba(5, 10, 21, 0.9);
	--c-overlay: rgba(5, 10, 21, 0.96);
	--c-prose: #d9deea;
	--c-grid: rgba(42, 51, 66, 0.15);
	--c-select: rgba(0, 126, 255, 0.35);
	--c-select-fg: #fff;
	--c-shadow: 0 20px 50px -42px rgba(0, 126, 255, 0.6);

	/* The plugin's block variables. */
	--mru-accent: var(--c-accent);
	--mru-text: var(--c-fg);
	--mru-muted: var(--c-muted);
	--mru-border: var(--c-border);
	--mru-surface: var(--c-secondary);
	--mru-radius: var(--c-radius);
	--mru-gap: 1rem;
	--mru-button-bg: var(--c-btn);
	--mru-button-text: #fff;
}

/* Light theme: html[data-theme="light"] is set before first paint by the inline script in <head> and toggled by
   mru.js. Dark is the default (and what visitors without JavaScript see). Accent and link colours are darkened
   so small text keeps AA contrast on light surfaces. */
html[data-theme="light"] body.mru-site {
	--c-bg: #f6f8fc;
	--c-fg: #0b1220;
	--c-card: #ffffff;
	--c-strong: #eef2f8;
	--c-secondary: #eff3f9; /* light enough that the #0A66E8 accent text on it stays above 4.5:1 */
	--c-muted: #4b576b;
	--c-primary: #0a66e8;
	--c-link: #0a5fd0;
	--c-hover: #050a15;
	--c-btn: #0a66e8;
	--c-accent: #0a66e8;
	--c-accent-glow: rgba(10, 102, 232, 0.18);
	--c-violet: #7a2fc0;
	--c-border: #d3dae6;
	--c-input: #a9b4c6;
	--c-header-bg: rgba(255, 255, 255, 0.9);
	--c-overlay: rgba(246, 248, 252, 0.97);
	--c-prose: #263247;
	--c-grid: rgba(150, 165, 190, 0.2);
	--c-select: rgba(10, 102, 232, 0.22);
	--c-select-fg: inherit;
	--c-shadow: 0 14px 34px -26px rgba(15, 30, 60, 0.35);
}
html[data-theme="light"] { color-scheme: light; }
html:not([data-theme="light"]) { color-scheme: dark; }

/* ------------------------------------------------------------------ Base */
body.mru-site {
	margin: 0;
	background-color: var(--c-bg);
	background-image: linear-gradient(to right, var(--c-grid) 1px, transparent 1px);
	background-size: 6rem 100%;
	color: var(--c-fg);
	font-family: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
.mru-site *, .mru-site *::before, .mru-site *::after { box-sizing: border-box; }
/* Zero-specificity resets (:where) so component rules always win. */
:where(.mru-site) a { color: inherit; text-decoration: none; }
:where(.mru-site) img { max-width: 100%; height: auto; }
:where(.mru-site) :is(h1, h2, h3, h4) { margin: 0; font-family: inherit; font-weight: 650; letter-spacing: -0.01em; color: var(--c-fg); }
:where(.mru-site) p { margin: 0; }
:where(.mru-site) :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
.mru-site [hidden] { display: none !important; }
.mru-site :focus-visible { outline: 2px solid var(--c-primary); outline-offset: 3px; border-radius: 2px; }
.mru-site ::selection { background: var(--c-select); color: var(--c-select-fg); }
.mru-site .skip-link:focus { position: fixed; left: 1rem; top: 1rem; z-index: 100; padding: 0.6rem 1rem; background: var(--c-fg); color: var(--c-bg); clip: auto; width: auto; height: auto; }
.mru-site .screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }

/* ------------------------------------------------------------------ Layout */
.mru-container { width: min(100% - 2rem, 76rem); margin-inline: auto; }
.mru-section { padding-block: 5rem; }
.mru-section--band { background: var(--c-strong); border-block: 1px solid var(--c-border); }
.mru-section__more { margin-top: 2rem; }
.mru-grid { display: grid; gap: 1.25rem; }
.mru-eyebrow { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-link); }
.mru-eyebrow--accent { color: var(--c-accent); }
.mru-eyebrow--muted { color: var(--c-muted); }
.mru-eyebrow--rule { display: flex; align-items: center; gap: 0.75rem; }
.mru-eyebrow--rule::before { content: ""; width: 2.5rem; height: 1px; background: var(--c-accent); }
.mru-gradient-text { color: #b45cf0; background: var(--c-gradient); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

/* ------------------------------------------------------------------ Buttons */
.mru-site .mru-btn,
.mru-site .mru-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
	min-height: 2.5rem; padding: 0.5rem 1.1rem;
	font: inherit; font-size: 0.875rem; font-weight: 700; line-height: 1.2;
	color: #fff; background: var(--c-btn); border: 1px solid var(--c-btn); border-radius: var(--c-radius);
	cursor: pointer; transition: filter 160ms ease, border-color 160ms ease, background 160ms ease;
}
.mru-site .mru-btn:hover, .mru-site .mru-button:hover { filter: brightness(1.15); color: #fff; }
.mru-site .mru-btn--lg { min-height: 3rem; padding-inline: 1.5rem; font-size: 0.95rem; }
.mru-site .mru-btn--outline, .mru-site .mru-button--quiet { background: transparent; color: var(--c-fg); border-color: var(--c-input); }
.mru-site .mru-btn--outline:hover, .mru-site .mru-button--quiet:hover { border-color: var(--c-link); color: var(--c-hover); filter: none; background: rgba(0, 126, 255, 0.08); }
.mru-icon-btn { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; padding: 0; color: var(--c-fg); background: transparent; border: 0; border-radius: var(--c-radius); cursor: pointer; transition: background-color 160ms ease; /* overrides the parent reset's all-property fade, which made icons lag a theme switch */ }
/* The parent theme's reset turns every button crimson (#c36, white text) on :hover and :focus, and a clicked button
   keeps :focus. These "button states" rules are one class heavier than the reset so the design's colours win. */
.mru-site .mru-icon-btn:is(:hover, :focus) { color: var(--c-fg); background: transparent; }
.mru-site .mru-icon-btn:hover { background: var(--c-secondary); }

/* ------------------------------------------------------------------ Header */
.mru-header { position: sticky; top: 0; z-index: 50; background: var(--c-header-bg); border-bottom: 1px solid var(--c-border); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.admin-bar .mru-header { top: 32px; }
.mru-header__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 1.5rem; min-height: var(--c-header); }
.mru-header__brand { display: block; min-width: 0; line-height: 0; }
.mru-logo { display: block; height: auto; }
/* Both logo variants are in the markup; show the one that suits the theme. */
.mru-site .mru-logo--for-light { display: none; }
html[data-theme="light"] .mru-site .mru-logo--for-light { display: block; }
html[data-theme="light"] .mru-site .mru-logo--for-dark { display: none; }
.mru-header__logo { width: 15rem; max-width: 100%; }
.mru-nav__list { display: flex; align-items: center; gap: 1.75rem; }
.mru-nav__list a { font-size: 0.8125rem; font-weight: 700; color: var(--c-muted); transition: color 160ms ease; }
.mru-nav__list a:hover, .mru-nav__list a:focus-visible, .mru-nav__list .current-menu-item > a, .mru-nav__list .current-menu-ancestor > a { color: var(--c-hover); }
.mru-header__actions { display: flex; align-items: center; gap: 0.5rem; }
/* Theme toggle: show the sun on the dark theme (click for light) and the moon on the light theme. */
.mru-theme-toggle__moon { display: none; }
html[data-theme="light"] .mru-theme-toggle__sun { display: none; }
html[data-theme="light"] .mru-theme-toggle__moon { display: block; }
.mru-nav-toggle { display: none; }
.mru-nav-toggle__close { display: none; }
.mru-nav-toggle[aria-expanded="true"] .mru-nav-toggle__open { display: none; }
.mru-nav-toggle[aria-expanded="true"] .mru-nav-toggle__close { display: block; }

/* Search overlay */
.mru-search-overlay { position: fixed; inset: 0; z-index: 60; padding: 7rem 1.25rem 2rem; background: var(--c-overlay); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); overflow-y: auto; }
.mru-search-overlay__inner { max-width: 48rem; margin: 0 auto; }
.mru-search-overlay__bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2rem; }
.mru-search-overlay__hint { margin-top: 1rem; font-size: 0.875rem; color: var(--c-muted); }
.mru-search-form { display: flex; gap: 0.75rem; align-items: stretch; }
.mru-search-form__input { flex: 1; min-width: 0; min-height: 3rem; padding: 0.5rem 1rem; font: inherit; font-size: 1.05rem; color: var(--c-fg); background: var(--c-card); border: 1px solid var(--c-input); border-radius: var(--c-radius); }
.mru-search-form__input::placeholder { color: var(--c-muted); }
.mru-search-form__input:focus { border-color: var(--c-link); outline: none; }
.mru-search-overlay .mru-search-form__input { font-size: 1.5rem; min-height: 3.5rem; }

/* ------------------------------------------------------------------ Hero */
.mru-hero { padding-block: 0; border-bottom: 1px solid var(--c-border); }
.mru-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3rem; align-items: end; padding-block: 5rem 4.5rem; min-height: 32rem; }
.mru-hero__title { margin-top: 1.75rem; max-width: 56rem; font-size: clamp(3rem, 8vw, 6.5rem); font-weight: 700; line-height: 0.98; letter-spacing: -0.03em; }
.mru-hero__lede { margin-top: 2rem; max-width: 40rem; font-size: clamp(1.125rem, 2vw, 1.375rem); line-height: 1.6; color: var(--c-muted); }
.mru-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2.25rem; }
.mru-hero__stats { padding-left: 1.5rem; border-left: 1px solid var(--c-border); }
.mru-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem 1rem; margin: 1.5rem 0 0; }
.mru-stats > div { display: flex; flex-direction: column-reverse; }
.mru-stats dd { margin: 0; font-size: 2.25rem; font-weight: 700; line-height: 1.1; }
.mru-stats dt { font-size: 0.875rem; color: var(--c-muted); }

/* ------------------------------------------------------------------ Signal ticker */
.mru-signal { background: var(--c-strong); border-bottom: 1px solid var(--c-border); }
.mru-signal__inner { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 1.25rem; padding-block: 0.9rem; }
.mru-signal__label { display: flex; align-items: center; gap: 0.5rem; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-accent); white-space: nowrap; }
.mru-signal__dot { width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--c-accent); animation: mru-pulse 2s ease-in-out infinite; }
.mru-signal__viewport { overflow: hidden; }
.mru-ticker { display: flex; align-items: center; gap: 0; width: max-content; padding-inline-start: 100%; animation: mru-ticker 60s linear infinite; }
.mru-signal__viewport:hover .mru-ticker, .mru-signal__viewport:focus-within .mru-ticker { animation-play-state: paused; }
.mru-ticker li { white-space: nowrap; font-size: 0.875rem; font-weight: 600; }
.mru-ticker li + li::before { content: "·"; margin-inline: 1.25rem; color: var(--c-muted); }
.mru-ticker a:hover { color: var(--c-hover); text-decoration: underline; }

/* ------------------------------------------------------------------ Section heading */
.mru-sec-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; align-items: end; }
.mru-sec-head__title { margin-top: 0.75rem; font-size: clamp(2.25rem, 5vw, 3.75rem); font-weight: 650; line-height: 1.05; }
.mru-sec-head__copy { max-width: 36rem; font-size: 1rem; line-height: 1.7; color: var(--c-muted); }

/* ------------------------------------------------------------------ Filters and tabs */
.mru-filters { display: flex; gap: 0.5rem; margin-top: 2.5rem; padding-bottom: 0.75rem; overflow-x: auto; }
.mru-filter { flex: none; min-height: 2rem; padding: 0 0.85rem; font: inherit; font-size: 0.875rem; font-weight: 600; color: var(--c-fg); background: transparent; border: 1px solid var(--c-border); border-radius: var(--c-radius); cursor: pointer; transition: border-color 160ms ease, background 160ms ease; }
.mru-filter:hover { border-color: rgba(0, 126, 255, 0.6); }
.mru-filter.is-active { background: var(--c-btn); border-color: var(--c-btn); color: #fff; }
.mru-site .mru-filter:is(:hover, :focus) { background: rgba(10, 102, 232, 0.1); color: var(--c-fg); border-color: var(--c-btn); }
.mru-site .mru-filter.is-active:is(:hover, :focus) { background: var(--c-btn); color: #fff; }
.mru-tabs__list { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 2.5rem; border-bottom: 1px solid var(--c-border); }
.mru-tab { padding: 1rem 0.25rem; font: inherit; font-size: 0.875rem; font-weight: 700; color: var(--c-muted); background: none; border: 0; border-bottom: 2px solid transparent; cursor: pointer; transition: color 160ms ease, border-color 160ms ease; }
.mru-tab:hover { color: var(--c-hover); }
.mru-tab.is-active { color: var(--c-fg); border-bottom-color: var(--c-btn); }
.mru-site .mru-tab:is(:hover, :focus) { background: none; color: var(--c-hover); }
.mru-site .mru-tab.is-active:is(:hover, :focus) { color: var(--c-fg); }
.mru-tabs__panel { padding-top: 2rem; }
.mru-tabs__panel-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.mru-js [data-inactive] { display: none; }

/* ------------------------------------------------------------------ Cards */
.mru-card { position: relative; background: var(--c-card); border: 1px solid var(--c-border); box-shadow: var(--c-shadow); transition: transform 280ms ease, border-color 280ms ease; }
.mru-card:hover { transform: translateY(-3px); border-color: rgba(0, 126, 255, 0.6); }
.mru-stretched::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.mru-card a:not(.mru-stretched) { position: relative; z-index: 2; }

.mru-grid--feed { margin-top: 2rem; grid-template-columns: minmax(0, 1fr); }
.mru-grid--3 { grid-template-columns: minmax(0, 1fr); margin-top: 0; }
.mru-grid--rows { grid-template-columns: minmax(0, 1fr); gap: 0.75rem; }
.mru-archive__body .mru-grid { margin-top: 0; }

.mru-article-card { display: flex; flex-direction: column; padding: 1.75rem; }
.mru-article-card__main { display: flex; flex: 1; flex-direction: column; }
.mru-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--c-muted); }
.mru-meta__cat { color: var(--c-link); }
.mru-meta__cat:hover { color: var(--c-hover); text-decoration: underline; }
.mru-article-card__title { margin-top: 1rem; font-size: 1.5rem; font-weight: 650; line-height: 1.2; }
.mru-article-card__excerpt { margin-top: 1rem; line-height: 1.7; color: var(--c-muted); }
.mru-article-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: auto; padding-top: 1.25rem; border-top: 1px solid var(--c-border); }
.mru-article-card__excerpt + .mru-article-card__foot { margin-top: 1.5rem; }
.mru-author { display: flex; align-items: center; gap: 0.75rem; min-width: 0; }
.mru-avatar { display: grid; place-items: center; flex: none; width: 2.25rem; height: 2.25rem; font-size: 0.75rem; font-weight: 800; background: var(--c-secondary); border-radius: 50%; }
.mru-author__name { overflow: hidden; font-size: 0.875rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.mru-read { flex: none; font-size: 0.75rem; color: var(--c-muted); }

.mru-impact-box { margin-top: 1.5rem; padding: 1.25rem; background: var(--c-secondary); border-left: 2px solid var(--c-accent); }
.mru-impact-box__label { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-accent); }
.mru-impact-box__text { margin-top: 0.6rem; font-weight: 600; line-height: 1.65; }

.mru-entity-card { padding: 1.5rem; display: flex; flex-direction: column; }
.mru-entity-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; }
.mru-monogram { display: grid; place-items: center; width: 3rem; height: 3rem; font-weight: 800; color: var(--c-link); background: var(--c-secondary); border-radius: var(--c-radius); }
.mru-pill { display: inline-block; padding: 0.2rem 0.65rem; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--c-accent); border: 1px solid var(--c-border); border-radius: 999px; }
.mru-entity-card__cat { margin-top: 1.5rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--c-muted); }
.mru-entity-card__title { margin-top: 0.5rem; font-size: 1.25rem; font-weight: 650; }
.mru-entity-card__summary { margin-top: 0.75rem; font-size: 0.875rem; line-height: 1.7; color: var(--c-muted); }
.mru-entity-card__more { margin-top: auto; padding-top: 1.5rem; font-size: 0.875rem; font-weight: 700; color: var(--c-link); }
.mru-entity-card .mru-pill + * { }

.mru-row-card { display: grid; gap: 1rem; padding: 1.25rem 1.5rem; align-items: center; }
.mru-row-card__when { display: flex; flex-direction: column; align-items: flex-start; gap: 0.6rem; }
.mru-row-card__date { font-size: 0.8125rem; color: var(--c-muted); }
.mru-row-card__title { font-size: 1.125rem; font-weight: 650; line-height: 1.3; }
.mru-row-card__summary { margin-top: 0.3rem; font-size: 0.875rem; line-height: 1.65; color: var(--c-muted); }
.mru-row-card__level { font-size: 0.75rem; color: var(--c-muted); }
.mru-row-card__level strong { color: var(--c-fg); font-size: 0.8125rem; }
.mru-grid--3 > .mru-row-card { grid-column: 1 / -1; }
.mru-row-card .mru-impact-box--inline { margin-top: 0.9rem; padding: 0.9rem 1rem; }
.mru-row-card .mru-impact-box--inline .mru-impact-box__text { margin-top: 0.4rem; font-size: 0.875rem; font-weight: 500; }
.mru-row-card__more { display: inline-block; margin-top: 0.8rem; font-size: 0.8125rem; font-weight: 700; color: var(--c-link); }
.mru-row-card:hover .mru-row-card__more { color: var(--c-hover); text-decoration: underline; }
.mru-year { grid-column: 1 / -1; margin: 1.5rem 0 0; padding-bottom: 0.5rem; font-size: 1.5rem; font-weight: 700; border-bottom: 1px solid var(--c-border); }
.mru-year:first-child { margin-top: 0; }
.mru-timeline-panel__level { margin-top: 1rem; }
.mru-feed__empty, .mru-empty { margin-top: 2rem; color: var(--c-muted); }

/* ------------------------------------------------------------------ Timeline */
.mru-timeline__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; margin-top: 3rem; }
.mru-timeline__list { position: relative; border-left: 1px solid var(--c-border); }
.mru-timeline-trigger { position: relative; display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 0.1rem 1rem; width: 100%; padding: 1rem 0 1rem 2rem; font: inherit; text-align: left; color: var(--c-muted); background: none; border: 0; cursor: pointer; transition: color 160ms ease, transform 160ms ease; }
.mru-timeline-trigger:hover, .mru-timeline-trigger.is-active { color: var(--c-fg); transform: translateX(0.25rem); }
.mru-site .mru-timeline-trigger:is(:hover, :focus) { background: none; color: var(--c-fg); }
.mru-timeline-trigger__date { font-size: 1.25rem; font-weight: 650; }
.mru-timeline-trigger__kind { font-size: 0.6875rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-muted); }
.mru-timeline-dot { position: absolute; left: -0.4rem; top: 1.55rem; width: 0.75rem; height: 0.75rem; background: var(--c-border); border: 2px solid var(--c-bg); border-radius: 50%; }
.mru-timeline-trigger.is-active .mru-timeline-dot { background: var(--c-accent); box-shadow: 0 0 0 4px var(--c-accent-glow); }
.mru-timeline-panel { padding: 1.75rem; }
.mru-timeline-panel:hover { transform: none; }
.mru-timeline-panel__when { font-size: 0.875rem; font-weight: 700; color: var(--c-link); }
.mru-timeline-panel__title { margin-top: 1rem; font-size: 1.75rem; line-height: 1.2; }
.mru-timeline-panel__summary { margin-top: 1.25rem; font-size: 1.0625rem; line-height: 1.75; color: var(--c-muted); }
.mru-timeline-panel__link { margin-top: 1.5rem; font-size: 0.875rem; font-weight: 700; }
.mru-timeline-panel__link a { color: var(--c-link); }
.mru-timeline-panel__link a:hover { color: var(--c-hover); text-decoration: underline; }
.mru-js .mru-timeline-panel + .mru-timeline-panel { margin-top: 0; }
html:not(.mru-js) .mru-timeline-panel + .mru-timeline-panel { margin-top: 1rem; }

/* ------------------------------------------------------------------ Newsletter band */
.mru-newsletter-band { background: var(--c-strong); border-block: 1px solid var(--c-border); padding-block: 4.5rem; }
.mru-newsletter-band__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.25rem; align-items: center; }
.mru-newsletter-band__title { margin-top: 0.75rem; font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 650; line-height: 1.1; }
.mru-newsletter-band__copy { margin-top: 1rem; max-width: 34rem; color: var(--c-muted); line-height: 1.7; }
.mru-newsletter-band .mru-newsletter { max-width: none; padding: 0; background: none; border: 0; }
.mru-newsletter-band .mru-newsletter__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ------------------------------------------------------------------ Footer */
.mru-footer { padding-block: 3rem 2rem; }
.mru-footer__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
.mru-footer__brand-link { display: inline-block; line-height: 0; }
.mru-footer__logo { width: 15rem; max-width: 100%; }
.mru-footer__brand p { max-width: 28rem; margin-top: 1rem; font-size: 0.875rem; color: var(--c-muted); }
.mru-footer__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem 2.5rem; font-size: 0.875rem; }
.mru-footer__list a { color: var(--c-fg); }
.mru-footer__list a:hover { color: var(--c-hover); }
.mru-footer__legal { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 2.5rem; padding-top: 1.5rem; font-size: 0.75rem; color: var(--c-muted); border-top: 1px solid var(--c-border); }

/* ------------------------------------------------------------------ Page hero, breadcrumb, pagination */
.mru-page-hero { padding-block: 3.5rem 3rem; border-bottom: 1px solid var(--c-border); }
.mru-page-hero .mru-eyebrow { margin-top: 2rem; }
.mru-page-hero__title { margin-top: 0.75rem; max-width: 56rem; font-size: clamp(2.25rem, 5.5vw, 3.75rem); font-weight: 650; line-height: 1.12; }
.mru-page-hero__copy { max-width: 40rem; margin-top: 1.25rem; font-size: 1.125rem; line-height: 1.7; color: var(--c-muted); }
.mru-page-hero__search { max-width: 36rem; margin-top: 1.75rem; }
.mru-page-hero .mru-hero__actions { margin-top: 1.75rem; }
.mru-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-muted); }
.mru-crumbs li + li::before { content: "›"; margin-right: 0.5rem; }
.mru-crumbs a:hover { color: var(--c-hover); }
.mru-crumbs [aria-current] { color: var(--c-fg); }
.mru-pagination { margin-top: 2.5rem; }
.mru-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.mru-pagination .page-numbers { display: inline-flex; align-items: center; gap: 0.35rem; min-height: 2.25rem; padding: 0 0.85rem; font-size: 0.875rem; font-weight: 700; border: 1px solid var(--c-border); border-radius: var(--c-radius); }
.mru-pagination .page-numbers.current { background: var(--c-btn); border-color: var(--c-btn); color: #fff; }
.mru-pagination a.page-numbers:hover { border-color: var(--c-link); color: var(--c-hover); }

/* ------------------------------------------------------------------ Singular content (reading column) */
.mru-single__wrap { max-width: 52rem; }
.mru-single--mru_tool .mru-single__wrap { max-width: 64rem; }
.mru-single__wrap--wide { max-width: none; }
.mru-single__wrap--wide > p { max-width: 52rem; }
.mru-single__body { padding-block: 3rem 5rem; }
.mru-prose { font-size: 1.0625rem; line-height: 1.85; }

/* Flow content: a page's own blocks, and the article body inside the plugin's layout wrapper. Rules are
   scoped to direct children so the plugin's blocks (Impact Layer, sources, related) keep their own styles. */
.mru-prose > * + *,
.mru-layout__content > * + * { margin-top: 1.25rem; }
:is(.mru-prose, .mru-layout__content) > h2 { margin-top: 2.5rem; font-size: 1.75rem; line-height: 1.25; }
:is(.mru-prose, .mru-layout__content) > h3 { margin-top: 2rem; font-size: 1.3rem; }
:is(.mru-prose, .mru-layout__content) > :is(p, ul, ol) { color: var(--c-prose); }
:is(.mru-prose, .mru-layout__content) > :is(ul, ol) { padding-inline-start: 1.4rem; }
:is(.mru-prose, .mru-layout__content) > ul { list-style: disc; }
:is(.mru-prose, .mru-layout__content) > ol { list-style: decimal; }
:is(.mru-prose, .mru-layout__content) > :is(ul, ol) > li + li { margin-top: 0.5rem; }
:is(.mru-prose, .mru-layout__content) > :is(ul, ol) > li::marker { color: var(--c-muted); }
:is(.mru-prose, .mru-layout__content) > :is(p, ul, ol) a { color: var(--c-link); text-decoration: underline; text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
:is(.mru-prose, .mru-layout__content) > :is(p, ul, ol) a:hover { color: var(--c-hover); }
:is(.mru-prose, .mru-layout__content) strong { color: var(--c-fg); }
:is(.mru-prose, .mru-layout__content) > blockquote { margin-inline: 0; padding-left: 1.25rem; border-left: 2px solid var(--c-accent); color: var(--c-fg); }
/* ------------------------------------------------------------------ Plugin blocks, dark */
.mru-site .mru-layout__kicker { color: var(--c-accent); }
.mru-site .mru-layout__deck { font-size: 1.3rem; line-height: 1.55; color: var(--c-muted); }
.mru-site .mru-layout__figure { margin: 1.5rem 0; }
.mru-site .mru-layout__image { border: 1px solid var(--c-border); border-radius: var(--c-radius); }
.mru-site .mru-byline { margin: 0; color: var(--c-muted); }
.mru-site .mru-byline a { color: var(--c-fg); }
.mru-site .mru-layout .mru-breadcrumb { display: none; } /* the page hero shows the breadcrumb */
.mru-site .mru-label { color: var(--c-accent); border-color: var(--c-border); border-radius: 999px; }
.mru-site .mru-impact { background: var(--c-secondary); border-inline-start: 2px solid var(--c-accent); border-radius: 0; }
.mru-site .mru-impact__label, .mru-site .mru-summary__title, .mru-site .mru-sources__title, .mru-site .mru-related__title, .mru-site .mru-list__title, .mru-site .mru-impact__title { color: var(--c-accent); }
.mru-site .mru-summary, .mru-site .mru-ai-note, .mru-site .mru-correction { background: var(--c-card); border-color: var(--c-border); border-radius: 0; }
.mru-site .mru-summary { border-left: 2px solid var(--c-primary); }
.mru-site .mru-summary ul { list-style: disc; }
.mru-site .mru-sources__list { list-style: decimal; }.mru-site .mru-related__item { border-color: var(--c-border); }
.mru-site .mru-related__link, .mru-site .mru-list__link { color: var(--c-fg); }
.mru-site .mru-related__link:hover, .mru-site .mru-list__link:hover { color: var(--c-hover); }
.mru-site .mru-facts { border-color: var(--c-border); }
.mru-site .mru-sources__item a { color: var(--c-link); }
.mru-site .mru-ad { background: var(--c-card); border-color: var(--c-border); border-radius: 0; }

/* Forms (newsletter, Stack tools, search) */
.mru-site .mru-newsletter { background: var(--c-card); border-color: var(--c-border); border-radius: 0; color: var(--c-fg); }
.mru-site .mru-newsletter__intro, .mru-site .mru-newsletter__privacy, .mru-site .mru-newsletter__meta, .mru-site .mru-stack__privacy, .mru-site .mru-stack__disclaimer { color: var(--c-muted); }
.mru-site .mru-newsletter__email,
.mru-site .mru-stack__field select {
	min-height: 2.75rem; color: var(--c-fg); background: var(--c-bg); border: 1px solid var(--c-input); border-radius: var(--c-radius);
}
.mru-site .mru-newsletter__email::placeholder { color: var(--c-muted); }
.mru-site .mru-newsletter__email:focus, .mru-site .mru-stack__field select:focus { border-color: var(--c-link); outline: none; }
.mru-site .mru-newsletter__submit { min-height: 2.75rem; }
.mru-site .mru-stack__tier { background: var(--c-card); border-color: var(--c-border); border-radius: 0; }
.mru-site .mru-stack__tier-title, .mru-site .mru-stack__reasons, .mru-site .mru-stack__layer-status { color: var(--c-muted); }
.mru-site .mru-stack__feed-item { border-color: var(--c-border); }
.mru-site .mru-stack__results { padding-top: 0.5rem; }
.mru-site input[type="checkbox"] { accent-color: var(--c-link); width: 1.5rem; height: 1.5rem; flex: none; margin: 0; }
.mru-site .mru-stack__check, .mru-site .mru-newsletter__choice { align-items: center; gap: 0.6rem; min-height: 1.75rem; }

/* Every link turns white on hover (one token, so the colour can be changed in one place). */
.mru-site a:hover { color: var(--c-hover); }
/* ------------------------------------------------------------------ Motion */
@keyframes mru-ticker { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@keyframes mru-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }

@media (prefers-reduced-motion: reduce) {
	.mru-site *, .mru-site *::before, .mru-site *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
	.mru-ticker { width: auto; padding-inline-start: 0; flex-wrap: wrap; row-gap: 0.4rem; }
	.mru-card:hover { transform: none; }
}

/* Without JavaScript the navigation stays open and the controls that need scripts are hidden. */
html:not(.mru-js) .mru-nav-toggle,
html:not(.mru-js) [data-mru-theme-toggle],
html:not(.mru-js) [data-mru-search-open] { display: none; }

/* ------------------------------------------------------------------ Responsive */
@media (max-width: 1199px) {
	html:not(.mru-js) .mru-nav { display: block; }
	.mru-nav-toggle { display: inline-grid; }
	.mru-header__inner { grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; }
	.mru-nav { grid-column: 1 / -1; grid-row: 2; display: none; padding: 0.5rem 0 1rem; border-top: 1px solid var(--c-border); }
	.mru-nav.is-open { display: block; }
	.mru-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.mru-nav__list a { display: block; padding: 0.8rem 0; font-size: 0.9375rem; }
}
@media (max-width: 1023px) {
	.mru-hero__stats { padding-left: 0; padding-top: 2rem; border-left: 0; border-top: 1px solid var(--c-border); }
}
@media (max-width: 640px) {
	.mru-site .mru-header__cta { display: none; } /* needs .mru-site to outrank .mru-site .mru-btn */
	.mru-header__logo, .mru-footer__logo { width: 12.5rem; }
	.mru-section { padding-block: 3.5rem; }
	.mru-hero__grid { padding-block: 3rem; min-height: 0; }
	body.mru-site { background-size: 3rem 100%; }
	.mru-search-form { flex-direction: column; }
}
@media (min-width: 640px) {
	.mru-footer__legal { flex-direction: row; justify-content: space-between; }
	.mru-footer__list { grid-template-columns: repeat(3, minmax(0, auto)); }
	.mru-row-card { grid-template-columns: 11rem 1fr auto; }
	.mru-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 783px) {
	.admin-bar .mru-header { top: 32px; }
}
@media (max-width: 782px) {
	.admin-bar .mru-header { top: 46px; }
}
@media (min-width: 1024px) {
	.mru-hero__grid { grid-template-columns: 1.35fr 0.65fr; }
	.mru-hero__stats { padding-left: 2.25rem; }
	.mru-sec-head { grid-template-columns: 1fr 0.7fr; }
	.mru-sec-head__copy { justify-self: end; }
	.mru-grid--feed { grid-template-columns: 1fr 1fr; }
	.mru-grid--3 { grid-template-columns: repeat(3, 1fr); }
	.mru-article-card.is-featured { grid-column: 1 / -1; display: grid; flex-direction: row; grid-template-columns: 1.15fr 0.85fr; gap: 3rem; padding: 2rem; }
	.mru-article-card.is-featured .mru-article-card__title { font-size: 2.6rem; }
	.mru-article-card.is-featured .mru-impact-box { align-self: end; margin-top: 0; }
	.mru-timeline__layout { grid-template-columns: 0.45fr 0.55fr; gap: 4rem; }
	.mru-timeline-panel { padding: 2.5rem; position: sticky; top: calc(var(--c-header) + 1.5rem); }
	.mru-newsletter-band__inner { grid-template-columns: 1fr 0.8fr; gap: 3rem; }
	.mru-footer__grid { grid-template-columns: 1fr auto; }
}
@media (min-width: 1280px) {
	.mru-hero__grid { padding-block: 6rem 5.5rem; }
}

/* Martech Landscape directory (shortcode from MRU Core) */
.mru-site .mru-landscape__cat, .mru-site .mru-landscape__form { background: var(--c-card); border-color: var(--c-border); border-radius: 0; }
.mru-site .mru-landscape__cat:hover, .mru-site .mru-landscape__cat:focus-visible, .mru-site .mru-landscape__cat.is-active { border-color: var(--c-link); box-shadow: none; color: var(--c-hover); }
.mru-site .mru-landscape__cat.is-active { background: var(--c-secondary); }
.mru-site .mru-landscape__field :is(input, select) { color: var(--c-fg); background: var(--c-bg); border-color: var(--c-input); border-radius: var(--c-radius); }
.mru-site .mru-landscape__field :is(input, select):focus { border-color: var(--c-link); outline: none; }
.mru-site .mru-landscape__field input::placeholder { color: var(--c-muted); }
.mru-site .mru-landscape__reset, .mru-site .mru-lv__visit { color: var(--c-link); }
.mru-site .mru-landscape__page { border-color: var(--c-border); border-radius: var(--c-radius); }
.mru-site a.mru-landscape__page:hover, .mru-site a.mru-landscape__page:focus-visible { border-color: var(--c-link); color: var(--c-hover); }
.mru-site .mru-landscape__page.is-current { background: var(--c-btn); border-color: var(--c-btn); }
.mru-site .mru-lv__logo { background: var(--c-secondary); }
.mru-site .mru-lv__mono { color: var(--c-link); }
.mru-site .mru-lv__facts, .mru-site .mru-landscape__count, .mru-site .mru-landscape__cat-count { color: var(--c-muted); }
.mru-lv:hover { transform: none; }
.mru-site .mru-lv__details { color: var(--c-link); }
.mru-site .mru-lv__visit { color: var(--c-muted); }
.mru-site .mru-lv__visit:hover { color: var(--c-hover); }
