/* MarketingNinza theme styles. Everything is scoped under .mn (opened in
   header.php, closed in footer.php) so plugin styles stay predictable. */

body.mn-page { margin: 0; background: #0b0e14; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

.mn {
	--mn-red: #be1e2d;        /* logo red */
	--mn-red-dark: #9a1823;   /* small red text on white */
	--mn-red-tint: #fcecee;
	--mn-ink: #0b0e14;        /* dark sections */
	--mn-ink-2: #151a23;
	--mn-ink-line: #232936;
	--mn-text: #262a33;
	--mn-muted: #59606b;
	--mn-on-dark: #c9ced8;
	--mn-on-dark-muted: #9098a6;
	--mn-line: #e3e6ea;
	--mn-fog: #f4f5f7;
	--mn-paper: #ffffff;
	--mn-head: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
	--mn-body: "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--mn-ease: cubic-bezier(.22, .8, .24, 1);

	font-family: var(--mn-body);
	font-size: 17px;
	line-height: 1.6;
	color: var(--mn-text);
	background: var(--mn-paper);
	-webkit-font-smoothing: antialiased;
}

/* Resets use :where() so they carry no class weight and never override
   the component rules below. */
:where(.mn) *, :where(.mn) *::before, :where(.mn) *::after { box-sizing: border-box; }
:where(.mn) :is(img, svg) { display: block; max-width: 100%; height: auto; }
:where(.mn) :is(h1, h2, h3, p, ul, ol, figure, table, address) { margin: 0; padding: 0; }
:where(.mn) :is(ul, ol) { list-style: none; }
:where(.mn) address { font-style: normal; }

.mn h1, .mn h2, .mn h3 { font-family: var(--mn-head); color: var(--mn-ink); font-weight: 700; text-transform: none; letter-spacing: -0.02em; }
.mn a { color: inherit; }
.mn :focus-visible { outline: 3px solid var(--mn-red); outline-offset: 3px; border-radius: 4px; }
.mn section[id] { scroll-margin-top: 16px; }

.mn-wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 20px; }
@media (min-width: 720px) { .mn-wrap { padding: 0 32px; } }

.mn-skip { position: absolute; left: -9999px; top: 8px; background: var(--mn-paper); color: var(--mn-ink); padding: 10px 16px; z-index: 100; }
.mn-skip:focus { left: 8px; }

/* Buttons and links */
.mn-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px; padding: 12px 24px; border-radius: 999px;
	font-family: var(--mn-body); font-weight: 600; font-size: 1rem; line-height: 1.2;
	text-decoration: none; transition: background-color .2s ease, color .2s ease, transform .2s var(--mn-ease);
}
.mn .mn-btn--primary { background: var(--mn-red); color: #fff; }
.mn .mn-btn--primary:hover { background: #d42536; color: #fff; }
.mn .mn-btn--primary:active { transform: scale(.98); }
.mn .mn-btn--light { color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .5); }
.mn .mn-btn--light:hover { background: #fff; color: var(--mn-ink); }
.mn .mn-btn--dark { background: var(--mn-ink); color: #fff; }
.mn .mn-btn--dark:hover { background: var(--mn-red); color: #fff; }
.mn-btn--large { min-height: 56px; padding: 14px 30px; font-size: 1.06rem; }
.mn .mn-textlink { display: inline-block; margin-top: 16px; font-weight: 600; color: var(--mn-red-dark); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
.mn .mn-textlink:hover { color: var(--mn-ink); }

/* Header: sits on the dark hero */
.mn-header { background: var(--mn-ink); border-bottom: 1px solid var(--mn-ink-line); position: relative; z-index: 20; }
.mn-header__inner { display: flex; align-items: center; gap: 24px; min-height: 76px; }
.mn-header__logo { flex: none; }
.mn-header__logo a { display: block; }
.mn-header__logo img { width: 176px; height: auto; }
@media (min-width: 720px) { .mn-header__logo img { width: 204px; } }
.mn-header__logo .custom-logo { width: auto; max-width: 204px; max-height: 48px; }
.mn-nav { margin-left: auto; }
.mn-nav__links { display: none; }
.mn .mn-nav__links a { text-decoration: none; color: var(--mn-on-dark); font-weight: 500; transition: color .15s ease; }
.mn .mn-nav__links a:hover { color: #fff; }
.mn-nav__mobile { position: relative; }
.mn-nav__mobile summary {
	list-style: none; cursor: pointer; min-height: 44px; padding: 10px 18px;
	border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--mn-ink-line);
	font-weight: 600; color: #fff;
}
.mn-nav__mobile summary::-webkit-details-marker { display: none; }
.mn-nav__mobile > ul {
	position: absolute; right: 0; top: calc(100% + 8px); min-width: 210px;
	background: var(--mn-ink-2); border: 1px solid var(--mn-ink-line); border-radius: 16px;
	padding: 8px; box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
}
.mn .mn-nav__mobile li a { display: block; padding: 11px 12px; border-radius: 10px; color: var(--mn-on-dark); text-decoration: none; }
.mn .mn-nav__mobile li a:hover { background: var(--mn-ink-line); color: #fff; }
.mn-header__cta { display: none; }
@media (min-width: 560px) { .mn-header__cta { display: inline-flex; min-height: 44px; padding: 10px 20px; } }
@media (min-width: 980px) {
	.mn-nav__mobile { display: none; }
	.mn-nav__links { display: flex; gap: 30px; }
}

/* Hero */
.mn-hero {
	position: relative; overflow: hidden; color: var(--mn-on-dark); padding: 56px 0 72px;
	background-color: var(--mn-ink);
	background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.4px);
	background-size: 24px 24px;
}
@media (min-width: 980px) { .mn-hero { padding: 96px 0 112px; } }
.mn-hero__grid { position: relative; display: grid; gap: 40px; align-items: center; }
@media (min-width: 980px) { .mn-hero__grid { grid-template-columns: 1.05fr .95fr; gap: 56px; } }
.mn .mn-hero h1 { color: #fff; font-size: clamp(2.3rem, 1.3rem + 3.6vw, 4.1rem); line-height: 1.02; letter-spacing: -0.035em; font-weight: 700; max-width: 18ch; }
.mn-lede { margin-top: 24px; font-size: 1.15rem; max-width: 34em; color: var(--mn-on-dark); }
.mn-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.mn-hero__note { margin-top: 22px; font-size: .95rem; color: var(--mn-on-dark-muted); }

.mn-hero__visual { width: 100%; max-width: 580px; justify-self: center; }
.mn-lottie { position: relative; }
.mn-lottie--hero { aspect-ratio: 560 / 400; }
.mn-lottie__fallback, .mn-lottie__player { position: absolute; inset: 0; width: 100%; height: 100%; }
.mn-lottie__fallback { transition: opacity .3s ease; }
.mn-lottie.is-ready .mn-lottie__fallback { opacity: 0; }
.mn-hero__labels { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; margin-top: 12px; font-size: .84rem; line-height: 1.35; color: var(--mn-on-dark-muted); }
.mn-hero__labels span:nth-child(2) { text-align: center; color: #f0707b; font-weight: 600; }
.mn-hero__labels span:nth-child(3) { text-align: right; color: #fff; font-weight: 600; }

/* Sections */
.mn-section { padding: 72px 0; }
@media (min-width: 980px) { .mn-section { padding: 104px 0; } }
.mn-section--fog { background: var(--mn-fog); }
.mn .mn-h2 { font-size: clamp(1.8rem, 1.25rem + 1.9vw, 2.75rem); line-height: 1.08; letter-spacing: -0.028em; max-width: 22ch; }
.mn-section__head { display: grid; gap: 16px; margin-bottom: 40px; }
.mn-section__head p { color: var(--mn-muted); max-width: 46ch; font-size: 1.06rem; }
@media (min-width: 980px) {
	.mn-section__head { grid-template-columns: 1fr 1fr; align-items: end; gap: 48px; margin-bottom: 56px; }
}

/* Problem */
.mn-symptoms { display: grid; gap: 36px; margin-top: 48px; }
@media (min-width: 820px) { .mn-symptoms { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px; } }
.mn-icon { width: 48px; height: 48px; fill: none; stroke: var(--mn-ink); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 18px; }
.mn-icon .mn-icon__accent { stroke: var(--mn-red); }
.mn-symptoms h3 { font-size: 1.3rem; line-height: 1.2; }
.mn-symptoms p { margin-top: 8px; color: var(--mn-muted); }

/* Services */
.mn-services { display: grid; gap: 20px; }
@media (min-width: 820px) { .mn-services { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mn-service { background: var(--mn-paper); border-radius: 24px; padding: 14px 14px 30px; border: 1px solid var(--mn-line); }
.mn-service > :not(.mn-art) { margin-left: 16px; margin-right: 16px; }
@media (min-width: 980px) { .mn-service { padding: 16px 16px 36px; } .mn-service > :not(.mn-art) { margin-left: 26px; margin-right: 26px; } }
.mn-art { background: var(--mn-fog); border-radius: 16px; padding: 10px 14px; margin-bottom: 26px; }
.mn-art svg { width: 100%; }
.mn-service h3 { font-size: 1.55rem; line-height: 1.15; }
.mn-service__job { margin-top: 8px; font-weight: 600; color: var(--mn-red-dark); }
.mn-service p:not(.mn-service__job) { margin-top: 12px; color: var(--mn-muted); max-width: 48ch; }

/* Illustration parts */
.mn-art text { font-family: var(--mn-body); }
.mn-art .s-card { fill: #fff; stroke: var(--mn-line); stroke-width: 1.5; }
.mn-art .s-card--lift { stroke: #f2c4c9; }
.mn-art .s-stroke { fill: none; stroke: #8b929d; stroke-width: 2; stroke-linecap: round; }
.mn-art .t-type { font-size: 14px; fill: var(--mn-ink); }
.mn-art .a-caret { fill: var(--mn-red); }
.mn-art .s-adpill { fill: var(--mn-red-tint); }
.mn-art .t-ad { font-size: 11px; font-weight: 700; fill: var(--mn-red-dark); }
.mn-art .s-red { fill: var(--mn-red); }
.mn-art .s-redsoft { fill: #f2b8be; }
.mn-art .s-redtint { fill: var(--mn-red-tint); }
.mn-art .s-grey { fill: #dde0e5; }
.mn-art .s-grey2 { fill: #c4c9d1; }
.mn-art .s-greyfill { fill: #c4c9d1; }
.mn-art .s-ink, .mn-art .s-inkfill { fill: var(--mn-ink); }
.mn-art .s-pointer { fill: var(--mn-ink); stroke: #fff; stroke-width: 1.5; stroke-linejoin: round; }
.mn-art .a-pointer { transform: translate(196px, 100px); }
.mn-art .a-lines path { fill: none; stroke: #c4c9d1; stroke-width: 1.5; }
.mn-art .a-nodes circle { fill: #fff; stroke: #aab0ba; stroke-width: 2; }
.mn-art .s-reddot { fill: var(--mn-red); }
.mn-art .a-ring { fill: none; stroke: var(--mn-red); stroke-width: 2; opacity: 0; }
.mn-art .t-pill { font-size: 12px; font-weight: 600; fill: #fff; }
.mn-art .t-label { font-size: 11.5px; fill: var(--mn-muted); }
.mn-art .s-axis { stroke: #c4c9d1; stroke-width: 1.5; }
.mn-art .a-bar { fill: #c4c9d1; }
.mn-art .a-bar--red { fill: var(--mn-red); }
.mn-art .a-trend { fill: none; stroke: var(--mn-ink); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.mn-art .t-q { font-size: 12px; fill: #fff; }
.mn-art .a-spark { fill: var(--mn-red); }
.mn-art .t-brand { font-size: 12.5px; font-weight: 700; fill: var(--mn-ink); }

/* Foundation band */
.mn-foundation { margin-top: 20px; background: var(--mn-ink); color: var(--mn-on-dark); border-radius: 24px; padding: 30px; display: grid; gap: 24px; align-items: center; }
@media (min-width: 980px) { .mn-foundation { grid-template-columns: 1fr 1.1fr; gap: 48px; padding: 36px 44px; } }
.mn .mn-foundation h3 { color: #fff; font-size: 1.3rem; }
.mn-foundation p { margin-top: 8px; max-width: 46ch; }
.mn-flow { display: none; }
@media (min-width: 720px) {
	.mn-flow { display: flex; align-items: center; gap: 8px; }
	.mn-flow span { flex: none; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--mn-ink-line); background: var(--mn-ink-2); color: #fff; font-size: .9rem; font-weight: 500; }
	.mn-flow .mn-flow__end { background: var(--mn-red); border-color: var(--mn-red); }
	.mn-flow svg { flex: 1; min-width: 20px; height: 4px; overflow: visible; }
	.mn-flow path { stroke: #4a5363; stroke-width: 2; stroke-dasharray: 4 6; fill: none; }
}

/* Report table */
@media (min-width: 980px) {
	.mn-report { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: start; }
	.mn-report .mn-section__head { grid-template-columns: 1fr; margin-bottom: 0; }
}
.mn .mn-table { width: 100%; border-collapse: collapse; border: 0; background: transparent; font-size: 1.04rem; }
.mn .mn-table th, .mn .mn-table td { text-align: left; padding: 17px 12px 17px 0; border: 0; border-bottom: 1px solid var(--mn-line); background: transparent; vertical-align: top; }
.mn .mn-table th { font-family: var(--mn-body); font-size: .92rem; font-weight: 600; color: var(--mn-muted); border-bottom: 2px solid var(--mn-ink); }
.mn .mn-table td:first-child { color: var(--mn-muted); width: 46%; }
.mn .mn-table td:first-child span { position: relative; }
.mn .mn-table td:first-child span::after { content: ""; position: absolute; left: -2px; right: -2px; top: 54%; height: 2px; background: var(--mn-red); opacity: .7; }
.mn .mn-table td:last-child { color: var(--mn-ink); font-weight: 600; }

/* Steps: a real sequence, so numbered, with a progress track */
.mn-steps { position: relative; display: grid; gap: 32px; counter-reset: mn-step; }
@media (min-width: 640px) { .mn-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) {
	.mn-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px; background: linear-gradient(#d5d9df, #d5d9df) 0 23px / 100% 2px no-repeat; }
	.mn-steps::before { content: ""; position: absolute; left: 0; right: 0; top: 23px; height: 2px; background: var(--mn-red); transform-origin: left; }
}
.mn-steps li { counter-increment: mn-step; position: relative; }
.mn-steps li::before {
	content: counter(mn-step); display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%;
	background: var(--mn-red); color: #fff; font-family: var(--mn-head); font-weight: 700; font-size: 1.25rem; margin-bottom: 20px;
	box-shadow: 0 0 0 6px var(--mn-paper);
}
.mn-steps h3 { font-size: 1.28rem; }
.mn-steps p { margin-top: 8px; color: var(--mn-muted); }

/* Case studies */
.mn-cases { display: grid; gap: 20px; }
@media (min-width: 900px) { .mn-cases { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mn-case { background: var(--mn-paper); border-radius: 22px; padding: 30px 28px; border: 1px solid var(--mn-line); display: flex; flex-direction: column; }
.mn .mn-case__title { font-size: 1.3rem; line-height: 1.2; }
.mn-case__meta { margin-top: 8px; font-size: .92rem; color: var(--mn-muted); }
.mn-case__stats { margin-top: 22px; display: grid; gap: 0; }
.mn-case__stats li { display: grid; grid-template-columns: 96px 1fr; gap: 14px; align-items: baseline; padding: 14px 0; border-top: 1px solid var(--mn-line); }
.mn-case__stats strong { font-family: var(--mn-head); font-weight: 700; font-size: 2.1rem; line-height: 1; letter-spacing: -0.03em; color: var(--mn-ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.mn-case__stats em { font-style: normal; color: var(--mn-red); margin-left: 1px; }
.mn-case__stats li > span { color: var(--mn-text); line-height: 1.4; }

.mn-confidential { margin-top: 20px; display: grid; gap: 18px; align-items: start; background: var(--mn-ink); color: var(--mn-on-dark); border-radius: 22px; padding: 28px; }
@media (min-width: 720px) { .mn-confidential { grid-template-columns: 52px 1fr; gap: 24px; padding: 32px 40px; } }
.mn-confidential__icon { width: 48px; height: 48px; fill: none; stroke: #fff; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.mn-confidential__icon .mn-icon__accent { stroke: #f0707b; }
.mn .mn-confidential h3 { color: #fff; font-size: 1.2rem; }
.mn-confidential p { margin-top: 8px; max-width: 70ch; }

/* Founder branding */
.mn-brand__grid { display: grid; gap: 44px; align-items: center; }
@media (min-width: 980px) { .mn-brand__grid { grid-template-columns: 1fr 1fr; gap: 64px; } }
.mn-brand__intro { margin-top: 18px; font-size: 1.12rem; max-width: 46ch; }
.mn-pillars { display: grid; gap: 22px; margin-top: 32px; }
@media (min-width: 640px) { .mn-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; } }
.mn-pillars li { padding-top: 16px; border-top: 2px solid var(--mn-ink); }
.mn .mn-pillars h3 { font-size: 1.12rem; line-height: 1.25; }
.mn-pillars p { margin-top: 6px; color: var(--mn-muted); font-size: .98rem; }
.mn-brand__note { margin-top: 26px; padding: 14px 18px; border-radius: 14px; background: var(--mn-red-tint); color: var(--mn-red-dark); font-weight: 500; max-width: 52ch; }
.mn-brand .mn-actions { align-items: center; gap: 20px; }
.mn-brand .mn-actions .mn-textlink { margin-top: 0; }
.mn-art--brand { background-color: var(--mn-ink); background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.4px); background-size: 22px 22px; border-radius: 26px; padding: 18px; margin: 0; }
.mn-art--brand .b-links path { fill: none; stroke: #3a4250; stroke-width: 2; stroke-dasharray: 4 7; }
.mn-art--brand .b-card { fill: var(--mn-ink-2); stroke: #2c323d; stroke-width: 1.5; }
.mn-art--brand .b-line { fill: #2f3644; }
.mn-art--brand .b-line-strong { fill: #6b7380; }
.mn-art--brand .b-red, .mn-art--brand .b-likes circle { fill: var(--mn-red); }
.mn-art--brand .b-dot { fill: #3a4250; }
.mn-art--brand .b-label { font-size: 12px; fill: var(--mn-on-dark-muted); }
.mn-art--brand .b-kicker { font-size: 11px; letter-spacing: .02em; fill: var(--mn-on-dark-muted); }
.mn-art--brand .b-mic { fill: var(--mn-red); }
.mn-art--brand .b-mic-glyph { fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; }
.mn-art--brand .b-wave rect { fill: #6b7380; }
.mn-art--brand .b-face { fill: #222834; }
.mn-art--brand .b-ring { fill: none; stroke: var(--mn-red); stroke-width: 3; }
.mn-art--brand .b-pulse { fill: none; stroke: var(--mn-red); stroke-width: 2; opacity: 0; }
.mn-art--brand .b-person { fill: #fff; }

/* About */
.mn-about { display: grid; gap: 28px; align-items: start; }
@media (min-width: 820px) { .mn-about { grid-template-columns: 200px 1fr; gap: 56px; } }
.mn-about__photo {
	width: 112px; height: 112px; border-radius: 28px; background: var(--mn-ink); color: #fff;
	display: grid; place-items: center; font-family: var(--mn-head); font-weight: 700; font-size: 2.4rem;
	box-shadow: 10px 10px 0 var(--mn-red);
}
@media (min-width: 820px) { .mn-about__photo { width: 190px; height: 190px; border-radius: 40px; font-size: 3.6rem; } }
.mn-about__photo img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.mn-about__copy p { margin-top: 16px; max-width: 62ch; font-size: 1.08rem; }

/* Team: anonymous on purpose */
.mn-team { display: grid; gap: 20px; }
@media (min-width: 900px) { .mn-team { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mn-member {
	background-color: var(--mn-ink); background-image: radial-gradient(rgba(255, 255, 255, .06) 1px, transparent 1.4px); background-size: 22px 22px;
	color: var(--mn-on-dark); border-radius: 24px; padding: 30px 28px 32px;
}
.mn-member__mask { width: 112px; height: 112px; margin-bottom: 22px; }
.mn-member__mask .m-bg { fill: var(--mn-ink-2); stroke: var(--mn-ink-line); stroke-width: 2; }
.mn-member__mask .m-body { fill: #4a5363; }
.mn-member__mask .m-hair { fill: #2b313c; }
.mn-member__mask .m-gear { fill: none; stroke: #262c37; stroke-width: 6; stroke-linecap: round; }
.mn-member__band rect, .mn-member__band path { fill: var(--mn-red); }
.mn-member__band .m-eye { fill: var(--mn-ink); }
.mn-member__role { font-size: .92rem; font-weight: 600; color: #f0707b; }
.mn .mn-member h3 { margin-top: 6px; color: #fff; font-size: 1.32rem; line-height: 1.2; }
.mn-member__clues { margin-top: 18px; display: grid; gap: 10px; }
.mn-member__clues li { position: relative; padding-left: 20px; font-size: .98rem; line-height: 1.5; }
.mn-member__clues li::before { content: ""; position: absolute; left: 0; top: .72em; width: 10px; height: 2px; background: var(--mn-red); }
.mn-team__note { margin-top: 24px; color: var(--mn-muted); max-width: 60ch; }

/* FAQ */
@media (min-width: 980px) { .mn-faq { display: grid; grid-template-columns: 1fr 1.5fr; gap: 56px; align-items: start; } }
.mn-faq__list { margin-top: 32px; border-top: 1px solid var(--mn-line); }
@media (min-width: 980px) { .mn-faq__list { margin-top: 0; } }
.mn-faq details { border-bottom: 1px solid var(--mn-line); }
.mn-faq summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px;
	padding: 22px 0; font-family: var(--mn-head); font-weight: 600; font-size: 1.14rem; line-height: 1.3; color: var(--mn-ink);
}
.mn-faq summary::-webkit-details-marker { display: none; }
.mn-faq summary::after {
	content: ""; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--mn-fog)
	url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M9 14h10M14 9v10' stroke='%23be1e2d' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 28px no-repeat;
	transition: transform .25s var(--mn-ease);
}
.mn-faq details[open] summary::after { transform: rotate(45deg); }
.mn-faq details p { padding: 0 0 24px; color: var(--mn-muted); max-width: 62ch; }

/* Final call to action */
.mn-cta { background-color: var(--mn-ink); color: var(--mn-on-dark); padding: 80px 0; background-image: radial-gradient(rgba(255, 255, 255, .06) 1px, transparent 1.4px); background-size: 24px 24px; }
@media (min-width: 980px) { .mn-cta { padding: 112px 0; } }
.mn-cta__inner { display: grid; gap: 32px; align-items: center; }
@media (min-width: 900px) { .mn-cta__inner { grid-template-columns: 260px 1fr; gap: 64px; } }
.mn-lottie--booked { width: 180px; aspect-ratio: 1; }
@media (min-width: 900px) { .mn-lottie--booked { width: 260px; } }
.mn .mn-cta h2 { color: #fff; }
.mn-cta__copy > p { margin-top: 16px; font-size: 1.12rem; max-width: 46ch; }
.mn-contact { display: grid; gap: 10px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--mn-ink-line); font-size: .98rem; }
@media (min-width: 720px) { .mn-contact { grid-template-columns: auto auto auto; justify-content: start; column-gap: 40px; } }
.mn-contact li { display: grid; gap: 2px; }
.mn-contact li > span:first-child { font-size: .82rem; color: var(--mn-on-dark-muted); }
.mn .mn-contact a { color: #fff; text-decoration: none; }
.mn .mn-contact a:hover { text-decoration: underline; text-underline-offset: 3px; }
.mn-cta :focus-visible, .mn-hero :focus-visible, .mn-header :focus-visible, .mn-footer :focus-visible { outline-color: #fff; }
.mn-form { margin-top: 28px; background: #fff; color: var(--mn-text); border-radius: 20px; padding: 24px; }
.mn-form input, .mn-form textarea, .mn-form select { width: 100%; max-width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #c8cdd3; border-radius: 10px; font: inherit; }
.mn-form input[type="submit"], .mn-form button[type="submit"] { width: auto; background: var(--mn-red); color: #fff; border: 0; border-radius: 999px; padding: 12px 24px; font-weight: 600; cursor: pointer; }

/* Footer */
.mn-footer { background: var(--mn-ink); color: var(--mn-on-dark-muted); border-top: 1px solid var(--mn-ink-line); padding: 56px 0 28px; font-size: .95rem; }
.mn-footer__inner { display: grid; gap: 32px; }
@media (min-width: 820px) { .mn-footer__inner { grid-template-columns: 2fr 1fr 1.3fr; } }
.mn-footer__brand img { width: 177px; height: auto; }
.mn-footer__brand .custom-logo { width: auto; max-width: 177px; max-height: 44px; }
.mn-footer__brand p { margin-top: 14px; max-width: 34ch; }
.mn-footer__links li + li { margin-top: 10px; }
.mn-footer__contact { display: grid; gap: 10px; align-content: start; }
.mn .mn-footer a { color: #e6e8eb; text-decoration: none; }
.mn .mn-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.mn-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 44px; padding-top: 20px; border-top: 1px solid var(--mn-ink-line); font-size: .85rem; }

/* ------------------------------------------------------------- WordPress */
.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; }
.screen-reader-text:focus { background: #fff; clip: auto !important; clip-path: none; color: var(--mn-ink); display: block; height: auto; left: 8px; padding: 12px 16px; top: 8px; width: auto; z-index: 100000; }

/* Menus from Appearance > Menus */
.mn-nav__links > li { position: relative; }
.mn-nav__links .current-menu-item > a, .mn-nav__links .current_page_item > a, .mn-nav__links .current-menu-ancestor > a { color: #fff; }
.mn-nav__links .menu-item-has-children > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 0 3px 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.mn-nav__links .sub-menu {
	display: none; position: absolute; left: -14px; top: 100%; min-width: 230px; padding: 8px; margin: 0;
	background: var(--mn-ink-2); border: 1px solid var(--mn-ink-line); border-radius: 14px; box-shadow: 0 18px 40px rgba(0, 0, 0, .35); z-index: 30;
}
.mn-nav__links li:hover > .sub-menu, .mn-nav__links li:focus-within > .sub-menu { display: block; }
.mn-nav__links .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.mn .mn-nav__links .sub-menu a { display: block; padding: 9px 12px; border-radius: 9px; white-space: nowrap; }
.mn .mn-nav__links .sub-menu a:hover { background: var(--mn-ink-line); }
@media (min-width: 980px) { .mn-nav__links { align-items: center; } .mn-nav__links > li > a { display: inline-block; padding: 24px 0; } }
.mn-nav__mobile .sub-menu { padding-left: 14px; margin: 0 0 6px; border-left: 1px solid var(--mn-ink-line); }

/* Footer menus */
.mn-footer__links { display: grid; gap: 10px; align-content: start; }
.mn-footer__links li + li { margin-top: 0; }
.mn-footer__legal-links { display: flex; flex-wrap: wrap; gap: 20px; }

/* Page title band */
.mn-pagehero {
	color: var(--mn-on-dark); padding: 56px 0 60px;
	background-color: var(--mn-ink);
	background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.4px);
	background-size: 24px 24px;
}
@media (min-width: 980px) { .mn-pagehero { padding: 80px 0 84px; } }
.mn .mn-pagehero h1 { color: #fff; font-size: clamp(2.1rem, 1.4rem + 2.6vw, 3.4rem); line-height: 1.05; letter-spacing: -0.03em; max-width: 24ch; }
.mn-pagehero__intro { margin-top: 18px; font-size: 1.15rem; max-width: 60ch; }
.mn-pagehero__intro p { margin: 0; }
.mn-pagehero__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 20px; font-size: .95rem; color: var(--mn-on-dark-muted); }
.mn .mn-pagehero__cat { display: inline-block; margin-bottom: 14px; padding: 5px 12px; border-radius: 999px; background: rgba(190, 30, 45, .18); color: #f59aa3; font-size: .85rem; font-weight: 600; text-decoration: none; }
.mn-pagehero__search { margin-top: 24px; max-width: 520px; }
.mn-pagehero .mn-actions { margin-top: 24px; }
.mn-breadcrumbs { margin-bottom: 18px; font-size: .88rem; color: var(--mn-on-dark-muted); }
.mn .mn-breadcrumbs a { color: var(--mn-on-dark); text-decoration: none; }
.mn .mn-breadcrumbs a:hover { color: #fff; text-decoration: underline; }
.mn .mn-breadcrumbs p { margin: 0; }

/* Editor content (block editor, classic editor, shortcodes) */
.mn-article { padding: 56px 0 72px; }
@media (min-width: 980px) { .mn-article { padding: 72px 0 96px; } }
.mn-content { padding: 0 20px; font-size: 1.06rem; line-height: 1.75; }
.mn-content > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.mn-content > .alignwide { max-width: 1180px; }
.mn-content > .alignfull { max-width: none; margin-left: -20px; margin-right: -20px; }
.mn-content > * + * { margin-top: 1.25em; }
.mn-content > :is(h2, h3, h4) { margin-top: 1.9em; }
.mn-content > :is(h2, h3, h4) + * { margin-top: .6em; }
.mn .mn-content h2 { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); line-height: 1.15; }
.mn .mn-content h3 { font-size: 1.35rem; line-height: 1.25; }
.mn .mn-content h4 { font-family: var(--mn-head); font-size: 1.1rem; color: var(--mn-ink); }
.mn-content :where(ul, ol) { padding-left: 1.3em; }
.mn-content :where(ul) { list-style: disc; }
.mn-content :where(ol) { list-style: decimal; }
.mn-content li + li { margin-top: .35em; }
.mn .mn-content a { color: var(--mn-red-dark); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.mn .mn-content a:hover { color: var(--mn-ink); }
.mn-content strong { color: var(--mn-ink); }
.mn-content img { height: auto; border-radius: 14px; }
.mn-content figcaption, .mn-content .wp-caption-text { margin-top: 8px; font-size: .9rem; color: var(--mn-muted); text-align: center; }
.mn-content blockquote { margin-left: auto; margin-right: auto; padding: 4px 0 4px 22px; border-left: 3px solid var(--mn-red); font-size: 1.15rem; color: var(--mn-ink); }
.mn-content blockquote cite { display: block; margin-top: 8px; font-size: .9rem; font-style: normal; color: var(--mn-muted); }
.mn-content hr { border: 0; border-top: 1px solid var(--mn-line); margin-top: 2.4em; margin-bottom: 2.4em; }
.mn-content code { background: var(--mn-fog); padding: 2px 6px; border-radius: 6px; font-size: .92em; }
.mn-content pre { background: var(--mn-ink); color: #e6e8eb; padding: 18px 20px; border-radius: 14px; overflow-x: auto; }
.mn-content pre code { background: none; padding: 0; }
.mn-content table { width: 100%; border-collapse: collapse; font-size: .98rem; }
.mn-content .wp-block-table { overflow-x: auto; }
.mn-content th, .mn-content td { text-align: left; padding: 12px 10px; border-bottom: 1px solid var(--mn-line); }
.mn-content th { font-weight: 600; color: var(--mn-ink); border-bottom: 2px solid var(--mn-ink); }
.mn .mn-content .wp-block-button__link { display: inline-block; background: var(--mn-red); color: #fff; border-radius: 999px; padding: 13px 26px; font-weight: 600; text-decoration: none; }
.mn .mn-content .wp-block-button__link:hover { background: #d42536; color: #fff; }
.mn .mn-content .is-style-outline .wp-block-button__link { background: transparent; color: var(--mn-ink); box-shadow: inset 0 0 0 1.5px var(--mn-ink); }
.mn-content .wp-block-image.alignfull img, .mn-content .wp-block-cover { border-radius: 0; }
.mn-content .wp-block-columns { gap: 28px; }
.mn-content .has-fog-background-color, .mn-content .has-ink-background-color { padding: 28px; border-radius: 18px; }
.mn-content .aligncenter { margin-left: auto; margin-right: auto; text-align: center; }
.mn-content .alignleft { float: left; margin: .3em 1.4em 1em 0; }
.mn-content .alignright { float: right; margin: .3em 0 1em 1.4em; }
.mn-content::after { content: ""; display: table; clear: both; }
.has-ink-color { color: #0b0e14; } .has-ninza-red-color { color: #be1e2d; } .has-white-color { color: #fff; } .has-muted-color { color: #59606b; }
.has-ink-background-color { background-color: #0b0e14; color: #fff; } .has-ninza-red-background-color { background-color: #be1e2d; color: #fff; }
.has-fog-background-color { background-color: #f4f5f7; } .has-red-tint-background-color { background-color: #fcecee; }
.mn-home-extra .mn-content { max-width: none; }

/* Full-width template (Elementor, landing pages) */
.mn-fullwidth { background: var(--mn-paper); }
.mn-fullwidth > .elementor { width: 100%; }

/* Forms (Contact Form 7, WPForms, comments, search) */
.mn :where(.mn-content, .mn-form, .mn-comments, .mn-pagehero__search, .mn-empty) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="search"], input[type="number"], textarea, select) {
	width: 100%; max-width: 100%; min-height: 46px; padding: 11px 14px; border: 1px solid #c8cdd3; border-radius: 12px;
	font: inherit; font-size: 1rem; color: var(--mn-ink); background: #fff;
}
.mn :where(.mn-content, .mn-form, .mn-comments) textarea { min-height: 140px; }
.mn :where(.mn-content, .mn-form, .mn-comments) :is(input, textarea, select):focus { outline: 2px solid var(--mn-red); outline-offset: 1px; border-color: var(--mn-red); }
.mn :where(.mn-content, .mn-form, .mn-comments, .mn-pagehero__search, .mn-empty) :is(input[type="submit"], button[type="submit"], .wpforms-submit) {
	width: auto; min-height: 48px; background: var(--mn-red); color: #fff; border: 0; border-radius: 999px; padding: 12px 26px; font: inherit; font-weight: 600; cursor: pointer;
}
.mn :where(.mn-content, .mn-form, .mn-comments) :is(input[type="submit"], button[type="submit"]):hover { background: #d42536; }
.mn :where(.mn-content, .mn-form) label { font-weight: 600; color: var(--mn-ink); }
.mn .wpcf7 p { margin: 0 0 14px; }
.mn .wpcf7-not-valid-tip { color: var(--mn-red-dark); font-size: .9rem; }
.mn .wpcf7 form .wpcf7-response-output { margin: 12px 0 0; border-radius: 10px; padding: 10px 14px; }
.mn .search-form { display: flex; gap: 8px; }
.mn .search-form label { flex: 1; }
.mn .search-form input[type="search"] { border-radius: 999px; }
.mn-pagehero__search .search-form input[type="search"] { border-color: transparent; }

/* Blog */
.mn-section--tight { padding: 56px 0 80px; }
.mn-posts { display: grid; gap: 24px; }
@media (min-width: 720px) { .mn-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .mn-posts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mn-postcard { display: flex; flex-direction: column; background: var(--mn-paper); border: 1px solid var(--mn-line); border-radius: 20px; overflow: hidden; }
.mn-postcard__media { display: block; aspect-ratio: 16 / 9; background: var(--mn-ink); overflow: hidden; }
.mn-postcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s var(--mn-ease); }
.mn-postcard:hover .mn-postcard__media img { transform: scale(1.03); }
.mn-postcard__placeholder { display: block; width: 100%; height: 100%; background-color: var(--mn-ink); background-image: radial-gradient(rgba(255, 255, 255, .1) 1px, transparent 1.4px), linear-gradient(90deg, transparent 46%, var(--mn-red) 46%, var(--mn-red) 54%, transparent 54%); background-size: 18px 18px, 100% 100%; }
.mn-postcard__body { padding: 22px 24px 26px; }
.mn-postcard__meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: .86rem; color: var(--mn-muted); }
.mn-postcard__meta span { color: var(--mn-red-dark); font-weight: 600; }
.mn .mn-postcard__title { margin-top: 10px; font-size: 1.3rem; line-height: 1.22; }
.mn .mn-postcard__title a { text-decoration: none; }
.mn .mn-postcard__title a:hover { color: var(--mn-red-dark); }
.mn-postcard__excerpt { margin-top: 10px; color: var(--mn-muted); font-size: .98rem; }
.mn-pagination { margin-top: 44px; }
.mn-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.mn .mn-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--mn-line); text-decoration: none; font-weight: 600; }
.mn .mn-pagination .page-numbers.current { background: var(--mn-ink); border-color: var(--mn-ink); color: #fff; }
.mn-empty { max-width: 620px; }
.mn-empty p { margin: 12px 0 20px; color: var(--mn-muted); }

/* Single post */
.mn-article__image { max-width: 1000px; margin: -36px auto 48px; padding: 0 20px; position: relative; }
.mn-article__image img { width: 100%; height: auto; border-radius: 20px; box-shadow: 0 24px 50px rgba(11, 14, 20, .18); }
.mn-pagehero--post { padding-bottom: 88px; }
.mn-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2em; }
.mn .mn-tags a { padding: 5px 12px; border-radius: 999px; background: var(--mn-fog); color: var(--mn-text); text-decoration: none; font-size: .88rem; }
.mn-author { display: flex; gap: 18px; align-items: flex-start; max-width: 760px; margin: 48px auto 0; padding: 24px; border-radius: 20px; background: var(--mn-fog); width: calc(100% - 40px); }
.mn-author__avatar { border-radius: 50%; flex: none; }
.mn-author__name { font-family: var(--mn-head); font-weight: 700; font-size: 1.15rem; color: var(--mn-ink); }
.mn-author p + p { margin-top: 6px; color: var(--mn-muted); }
.mn-author .mn-textlink { margin-top: 8px; }
.mn-postnav { max-width: 760px; margin: 32px auto 0; width: calc(100% - 40px); }
.mn-postnav .nav-links { display: grid; gap: 14px; }
@media (min-width: 640px) { .mn-postnav .nav-links { grid-template-columns: 1fr 1fr; } }
.mn .mn-postnav a { display: block; padding: 18px 20px; border: 1px solid var(--mn-line); border-radius: 16px; text-decoration: none; font-family: var(--mn-head); font-weight: 600; color: var(--mn-ink); line-height: 1.3; }
.mn .mn-postnav a:hover { border-color: var(--mn-ink); }
.mn-postnav span { display: block; margin-bottom: 4px; font-family: var(--mn-body); font-weight: 500; font-size: .85rem; color: var(--mn-muted); }
.mn-postnav .nav-next { text-align: right; }

/* Comments */
.mn-comments { max-width: 760px; margin: 0 auto 72px; padding: 0 20px; }
.mn .mn-comments__title, .mn .comment-reply-title { font-family: var(--mn-head); font-size: 1.4rem; color: var(--mn-ink); margin-bottom: 16px; }
.mn-comments__list { margin-bottom: 32px; }
.mn-comments__list .comment-body { padding: 18px 0; border-bottom: 1px solid var(--mn-line); }
.mn-comments__list .children { padding-left: 24px; }
.mn-comments .avatar { border-radius: 50%; float: left; margin-right: 12px; }
.mn-comments .comment-form p { margin-bottom: 14px; }

/* ------------------------------------------------------------------ motion
   Every element above is styled in its final state. Animations are added
   only when the visitor hasn't asked for reduced motion, and they wait
   (paused) until their section scrolls into view. */
@media (prefers-reduced-motion: no-preference) {
	.mn-js [data-mn-animate]:not(.is-in),
	.mn-js [data-mn-animate]:not(.is-in) *,
	.mn-js [data-mn-animate]:not(.is-in)::before,
	.mn-js [data-mn-animate]:not(.is-in) *::before,
	.mn-js [data-mn-animate]:not(.is-in) *::after { animation-play-state: paused !important; }

	@keyframes mn-draw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
	@keyframes mn-rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
	@keyframes mn-pop { 0% { transform: scale(0); } 70% { transform: scale(1.15); } 100% { transform: scale(1); } }
	@keyframes mn-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
	@keyframes mn-wipe { from { transform: scaleX(0); } to { transform: scaleX(1); } }
	@keyframes mn-blink { 50% { opacity: 0; } }
	@keyframes mn-ring { 0% { opacity: .55; transform: scale(1); } 100% { opacity: 0; transform: scale(2.3); } }
	@keyframes mn-spin { to { transform: rotate(360deg); } }
	@keyframes mn-flow { to { stroke-dashoffset: -20; } }
	@keyframes mn-point { from { transform: translate(276px, 176px); } to { transform: translate(196px, 100px); } }
	@keyframes mn-press { 0%, 100% { transform: none; } 50% { transform: scale(.985); } }

	/* problem icons draw themselves */
	.mn-symptoms .mn-icon * { stroke-dasharray: 1; animation: mn-draw 1.1s var(--mn-ease) both; }
	.mn-symptoms li:nth-child(2) .mn-icon * { animation-delay: .15s; }
	.mn-symptoms li:nth-child(3) .mn-icon * { animation-delay: .3s; }
	.mn-symptoms .mn-icon .mn-icon__accent { animation-delay: .6s; }

	/* Google: query types out, results appear, pointer clicks the ad */
	.mn-art .a-type { transform-box: fill-box; transform-origin: left center; animation: mn-wipe 1.3s steps(26) .2s both; }
	.mn-art .a-caret { animation: mn-blink 1s steps(1) 1.5s infinite; }
	.mn-art .a-row { animation: mn-rise .5s var(--mn-ease) both; }
	.mn-art .a-row1 { animation-delay: 1.6s; }
	.mn-art .a-row2 { animation-delay: 1.75s; }
	.mn-art .a-row3 { animation-delay: 1.9s; }
	.mn-art .a-pointer { animation: mn-point .9s var(--mn-ease) 2.2s both; }
	.mn-art .a-row1 .s-card { transform-box: fill-box; transform-origin: center; animation: mn-press .3s ease 3.1s both; }

	/* LinkedIn: network draws, decision-makers light up */
	.mn-art .a-lines path { stroke-dasharray: 1; animation: mn-draw 1.2s var(--mn-ease) both; }
	.mn-art .a-nodes circle { transform-box: fill-box; transform-origin: center; animation: mn-pop .45s var(--mn-ease) .3s both; }
	.mn-art .a-target { transform-box: fill-box; transform-origin: center; animation: mn-pop .5s var(--mn-ease) 1.2s both; }
	.mn-art .a-target--b { animation-delay: 1.45s; }
	.mn-art .a-ring { transform-box: fill-box; transform-origin: center; animation: mn-ring 2s ease-out 1.8s infinite; }
	.mn-art .a-label { animation: mn-rise .5s var(--mn-ease) 1.6s both; }

	/* SEO: bars grow, trend line draws */
	.mn-art .a-doc { animation: mn-rise .6s var(--mn-ease) both; }
	.mn-art .a-bar { transform-box: fill-box; transform-origin: bottom; animation: mn-grow .7s var(--mn-ease) both; animation-delay: calc(.3s + var(--i) * .12s); }
	.mn-art .a-trend { stroke-dasharray: 1; animation: mn-draw 1s var(--mn-ease) 1.1s both; }

	/* GEO: question, answer, your brand gets named */
	.mn-art .a-q { animation: mn-rise .5s var(--mn-ease) both; }
	.mn-art .a-answer { animation: mn-rise .5s var(--mn-ease) .4s both; }
	.mn-art .a-spark { transform-box: fill-box; transform-origin: center; animation: mn-spin 6s linear .9s infinite; }
	.mn-art .a-li { animation: mn-rise .45s var(--mn-ease) both; }
	.mn-art .a-li1 { animation-delay: .9s; }
	.mn-art .a-li2 { animation-delay: 1.3s; }
	.mn-art .a-li3 { animation-delay: 1.6s; }

	/* founder branding: presence grows outward from the founder */
	@keyframes mn-wave { 0%, 100% { transform: scaleY(.45); } 50% { transform: scaleY(1); } }
	.mn-art--brand .b-center { transform-box: fill-box; transform-origin: center; animation: mn-pop .6s var(--mn-ease) .1s both; }
	.mn-art--brand .b-pulse { transform-box: fill-box; transform-origin: center; animation: mn-ring 2.4s ease-out 1.8s infinite; }
	.mn-art--brand .b-links { animation: mn-rise .6s var(--mn-ease) .4s both; }
	.mn-art--brand .b-links path { animation: mn-flow 1.4s linear infinite reverse; }
	.mn-art--brand .b-node { animation: mn-rise .55s var(--mn-ease) both; }
	.mn-art--brand .b-node--1 { animation-delay: .6s; }
	.mn-art--brand .b-node--2 { animation-delay: .85s; }
	.mn-art--brand .b-node--3 { animation-delay: 1.1s; }
	.mn-art--brand .b-node--4 { animation-delay: 1.35s; }
	.mn-art--brand .b-wave rect { transform-box: fill-box; transform-origin: center; animation: mn-wave 1.1s ease-in-out infinite; }
	.mn-art--brand .b-wave rect:nth-child(2n) { animation-delay: -.35s; }
	.mn-art--brand .b-wave rect:nth-child(3n) { animation-delay: -.7s; }

	/* results: cards rise in turn (numbers count up via home.js) */
	.mn-case { animation: mn-rise .6s var(--mn-ease) both; }
	.mn-case:nth-child(2) { animation-delay: .12s; }
	.mn-case:nth-child(3) { animation-delay: .24s; }

	/* team: cards rise, headbands tie on */
	.mn-member { animation: mn-rise .6s var(--mn-ease) both; }
	.mn-member:nth-child(2) { animation-delay: .15s; }
	.mn-member:nth-child(3) { animation-delay: .3s; }
	.mn-member__band { transform-box: fill-box; transform-origin: right center; animation: mn-wipe .55s var(--mn-ease) both; }
	.mn-member:nth-child(1) .mn-member__band { animation-delay: .5s; }
	.mn-member:nth-child(2) .mn-member__band { animation-delay: .65s; }
	.mn-member:nth-child(3) .mn-member__band { animation-delay: .8s; }

	/* data flow in the foundation band */
	.mn-flow path { animation: mn-flow 1.2s linear infinite; }

	/* report table: vanity metrics get struck through */
	.mn .mn-table td:first-child span::after { transform-origin: left; animation: mn-wipe .5s var(--mn-ease) both; }
	.mn .mn-table tr:nth-child(1) td:first-child span::after { animation-delay: .2s; }
	.mn .mn-table tr:nth-child(2) td:first-child span::after { animation-delay: .35s; }
	.mn .mn-table tr:nth-child(3) td:first-child span::after { animation-delay: .5s; }
	.mn .mn-table tr:nth-child(4) td:first-child span::after { animation-delay: .65s; }
	.mn .mn-table tr:nth-child(5) td:first-child span::after { animation-delay: .8s; }

	/* process: progress track fills, steps pop in order */
	.mn-steps::before { animation: mn-wipe 1.6s var(--mn-ease) .2s both; }
	.mn-steps li::before { animation: mn-pop .45s var(--mn-ease) both; }
	.mn-steps li:nth-child(1)::before { animation-delay: .2s; }
	.mn-steps li:nth-child(2)::before { animation-delay: .6s; }
	.mn-steps li:nth-child(3)::before { animation-delay: 1s; }
	.mn-steps li:nth-child(4)::before { animation-delay: 1.4s; }
}

/* ------------------------------------------------------- service pages */
.mn-eyebrow { display: inline-block; margin-bottom: 16px; padding: 5px 12px; border-radius: 999px; background: rgba(190, 30, 45, .16); color: #f0707b; font-size: .85rem; font-weight: 600; letter-spacing: .01em; }
.mn-svc-hero {
	position: relative; overflow: hidden; color: var(--mn-on-dark); padding: 48px 0 72px;
	background-color: var(--mn-ink);
	background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1.4px);
	background-size: 24px 24px;
}
@media (min-width: 980px) { .mn-svc-hero { padding: 72px 0 104px; } }
.mn-svc-hero__grid { display: grid; gap: 40px; align-items: center; }
@media (min-width: 980px) { .mn-svc-hero__grid { grid-template-columns: 1.1fr .9fr; gap: 56px; } }
.mn-svc-hero--plain .mn-svc-hero__grid { grid-template-columns: minmax(0, 860px); }
.mn .mn-svc-hero h1 { color: #fff; font-size: clamp(2.1rem, 1.3rem + 2.9vw, 3.5rem); line-height: 1.04; letter-spacing: -0.032em; max-width: 20ch; }
.mn-svc-hero .mn-breadcrumbs { margin-bottom: 22px; }
.mn-svc-hero__visual { width: 100%; max-width: 520px; justify-self: center; }
.mn-svc-hero__visual .mn-art { margin: 0; box-shadow: 0 24px 60px rgba(0, 0, 0, .35); }
.mn-svc-hero__visual .mn-art--brand { border: 1px solid var(--mn-ink-line); }

.mn-includes { display: grid; gap: 16px; counter-reset: mn-inc; }
@media (min-width: 720px) { .mn-includes { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .mn-includes { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
.mn-includes li { counter-increment: mn-inc; background: var(--mn-paper); border: 1px solid var(--mn-line); border-radius: 20px; padding: 26px 26px 28px; }
.mn-includes li::before { content: counter(mn-inc, decimal-leading-zero); display: block; margin-bottom: 14px; font-family: var(--mn-head); font-weight: 700; font-size: .95rem; color: var(--mn-red); }
.mn .mn-includes h3 { font-size: 1.2rem; line-height: 1.25; }
.mn-includes p { margin-top: 8px; color: var(--mn-muted); font-size: .98rem; }

.mn-proof { display: grid; gap: 32px; align-items: center; }
@media (min-width: 900px) { .mn-proof { grid-template-columns: 1fr 1fr; gap: 64px; } }
.mn-proof__copy > p { margin-top: 16px; font-size: 1.08rem; max-width: 50ch; }
.mn-proof__copy .mn-proof__note { font-size: .92rem; color: var(--mn-muted); }
.mn-cases--one { grid-template-columns: 1fr !important; }
.mn-proof .mn-case { box-shadow: 0 18px 44px rgba(11, 14, 20, .08); }

.mn-fit { display: grid; gap: 20px; }
@media (min-width: 820px) { .mn-fit { grid-template-columns: 1fr 1fr; } }
.mn-fit__col { background: var(--mn-paper); border-radius: 22px; padding: 28px; border: 1px solid var(--mn-line); }
.mn-fit__col--yes { border-top: 4px solid var(--mn-ink); }
.mn-fit__col--no { border-top: 4px solid var(--mn-red); }
.mn .mn-fit h3 { font-size: 1.2rem; }
.mn-fit ul { margin-top: 16px; display: grid; gap: 12px; }
.mn-fit li { position: relative; padding-left: 30px; line-height: 1.5; }
.mn-fit li::before { position: absolute; left: 0; top: .05em; font-weight: 700; font-size: 1.05rem; }
.mn-fit__col--yes li::before { content: "✓"; color: var(--mn-ink); }
.mn-fit__col--no li::before { content: "✕"; color: var(--mn-red); }

.mn-guide { display: grid; border-top: 2px solid var(--mn-ink); }
.mn-guide li { display: grid; gap: 6px; padding: 20px 0; border-bottom: 1px solid var(--mn-line); }
@media (min-width: 820px) { .mn-guide li { grid-template-columns: 1fr 260px; gap: 40px; align-items: center; } }
.mn-guide li p:first-child { font-size: 1.06rem; }
.mn-guide__pick { font-weight: 700; color: var(--mn-red-dark); font-family: var(--mn-head); font-size: 1.1rem; }

.mn-related { display: grid; gap: 14px; }
@media (min-width: 720px) { .mn-related { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .mn-related { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mn .mn-related a { position: relative; display: grid; gap: 6px; height: 100%; padding: 24px 24px 52px; background: var(--mn-paper); border: 1px solid var(--mn-line); border-radius: 20px; text-decoration: none; transition: border-color .2s ease, transform .2s var(--mn-ease); }
.mn .mn-related a:hover { border-color: var(--mn-ink); transform: translateY(-2px); }
.mn-related__job { font-size: .9rem; color: var(--mn-muted); }
.mn-related__name { font-family: var(--mn-head); font-weight: 700; font-size: 1.2rem; line-height: 1.2; color: var(--mn-ink); }
.mn-related__arrow { position: absolute; left: 24px; bottom: 20px; color: var(--mn-red); font-weight: 700; }

@media (prefers-reduced-motion: no-preference) {
	.mn-includes li { animation: mn-rise .55s var(--mn-ease) both; }
	.mn-includes li:nth-child(2) { animation-delay: .08s; }
	.mn-includes li:nth-child(3) { animation-delay: .16s; }
	.mn-includes li:nth-child(4) { animation-delay: .24s; }
	.mn-includes li:nth-child(5) { animation-delay: .32s; }
	.mn-includes li:nth-child(6) { animation-delay: .4s; }
}

/* "Explore …" buttons. In a service card, the whole card opens the page. */
.mn .mn-btn--outline { background: transparent; color: var(--mn-ink); box-shadow: inset 0 0 0 1.5px var(--mn-ink); }
.mn .mn-btn--outline:hover { background: var(--mn-ink); color: #fff; }
.mn-explore { gap: 8px; }
.mn-explore__arrow { transition: transform .2s var(--mn-ease); }
.mn-explore:hover .mn-explore__arrow { transform: translateX(3px); }
.mn-service { position: relative; display: flex; flex-direction: column; transition: border-color .2s ease, box-shadow .2s ease, transform .2s var(--mn-ease); }
.mn .mn-service .mn-explore { margin-top: auto; align-self: flex-start; }
.mn-service p:last-of-type { margin-bottom: 24px; }
.mn-service .mn-explore::after { content: ""; position: absolute; inset: 0; border-radius: 24px; z-index: 1; }
.mn-service:has(.mn-explore):hover { border-color: var(--mn-ink); box-shadow: 0 18px 40px rgba(11, 14, 20, .08); transform: translateY(-2px); }
.mn .mn-service:hover .mn-explore { background: var(--mn-ink); color: #fff; }
.mn .mn-service:hover .mn-explore__arrow { transform: translateX(3px); }
.mn-brand .mn-actions { gap: 12px; }

/* ---------------------------------------------------------------- blog */
.mn-bloghero { padding-bottom: 64px; }
.mn-bloghero .mn-pagehero__intro { max-width: 58ch; }
.mn-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.mn .mn-chips a { padding: 8px 16px; border-radius: 999px; border: 1px solid var(--mn-line); background: var(--mn-paper); color: var(--mn-text); text-decoration: none; font-size: .94rem; font-weight: 500; transition: border-color .15s ease, background .15s ease; }
.mn .mn-chips a:hover { border-color: var(--mn-ink); }
.mn .mn-chips a[aria-current="page"] { background: var(--mn-ink); border-color: var(--mn-ink); color: #fff; }

.mn-featured { display: grid; gap: 0; margin-bottom: 28px; background: var(--mn-paper); border: 1px solid var(--mn-line); border-radius: 24px; overflow: hidden; }
@media (min-width: 900px) { .mn-featured { grid-template-columns: 1.15fr 1fr; } }
.mn-featured__media { display: block; aspect-ratio: 16 / 9; background: var(--mn-ink); overflow: hidden; }
@media (min-width: 900px) { .mn-featured { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: center; } .mn-featured__media { align-self: stretch; display: grid; place-items: center; min-width: 0; aspect-ratio: auto; } }
.mn-featured__media img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .4s var(--mn-ease); }
.mn-featured:hover .mn-featured__media img { transform: scale(1.03); }
.mn-featured__body { padding: 28px 28px 32px; display: flex; flex-direction: column; justify-content: center; }
@media (min-width: 900px) { .mn-featured__body { padding: 40px 44px; } }
.mn .mn-featured__meta a, .mn .mn-postcard__meta a { color: var(--mn-red-dark); font-weight: 600; text-decoration: none; }
.mn-postcard__meta em { font-style: normal; }
.mn .mn-featured__title { margin-top: 12px; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem); line-height: 1.15; }
.mn .mn-featured__title a { text-decoration: none; }
.mn .mn-featured__title a:hover { color: var(--mn-red-dark); }
.mn-featured__excerpt { margin-top: 12px; color: var(--mn-muted); max-width: 52ch; }
.mn-featured .mn-explore { margin-top: 24px; align-self: flex-start; }

.mn-blogcta { background: var(--mn-ink); color: var(--mn-on-dark); padding: 64px 0; }
.mn-blogcta__inner { display: grid; gap: 24px; align-items: center; }
@media (min-width: 900px) { .mn-blogcta__inner { grid-template-columns: 1fr auto; gap: 48px; } }
.mn .mn-blogcta h2 { color: #fff; max-width: 24ch; }
.mn-blogcta p { margin-top: 12px; max-width: 56ch; }

/* Single post layout: content column plus a sticky table of contents */
.mn-posthead .mn-pagehero__intro { max-width: 62ch; }
.mn-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 60; pointer-events: none; }
.mn-progress span { display: block; height: 100%; background: var(--mn-red); transform: scaleX(0); transform-origin: left; }
.mn-post__layout { width: 100%; max-width: 1180px; margin: 0 auto; }
@media (min-width: 1180px) {
	.mn-post__layout.has-toc { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 48px; padding: 0 32px; }
	.mn-post__layout.has-toc .mn-content > * { margin-left: 0; }
	.mn-post__layout.has-toc .mn-post__after > * { margin-left: 0; }
	.mn-post__layout.has-toc .mn-toc--mobile { display: none; }
}
.mn-post__side { display: none; }
@media (min-width: 1180px) { .mn-post__side { display: block; } }
.mn-toc--aside { position: sticky; top: 24px; padding: 20px 0 20px 20px; border-left: 2px solid var(--mn-line); }
.mn-toc__title { font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--mn-muted); }
.mn-toc ol { margin: 12px 0 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.mn .mn-toc a { display: block; padding: 6px 0; font-size: .94rem; line-height: 1.35; color: var(--mn-muted); text-decoration: none; }
.mn .mn-toc a:hover, .mn .mn-toc a[aria-current="true"] { color: var(--mn-ink); }
.mn .mn-toc--aside a[aria-current="true"] { font-weight: 600; box-shadow: -22px 0 0 -20px var(--mn-red); }
.mn-toc--mobile { max-width: 760px; margin: 0 auto 32px; width: calc(100% - 40px); border: 1px solid var(--mn-line); border-radius: 14px; padding: 4px 18px; background: var(--mn-fog); }
.mn-toc--mobile summary { cursor: pointer; padding: 12px 0; font-weight: 600; color: var(--mn-ink); }
.mn-toc--mobile ol { padding-bottom: 12px; counter-reset: mn-toc; }
.mn-post__after { padding: 0 20px; }
.mn-post__after > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.mn-post .mn-tags { margin-top: 32px; }
.mn-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--mn-line); }
.mn-share__label { font-weight: 600; color: var(--mn-ink); margin-right: 6px; }
.mn .mn-share a, .mn-share__copy { padding: 7px 14px; border-radius: 999px; border: 1px solid var(--mn-line); background: var(--mn-paper); color: var(--mn-text); font: 500 .9rem/1.2 var(--mn-body); text-decoration: none; cursor: pointer; }
.mn .mn-share a:hover, .mn-share__copy:hover { border-color: var(--mn-ink); }
.mn-post .mn-author { margin-top: 32px; }
.mn-author__avatar { border-radius: 16px; }
.mn-post img.mn-author__avatar { background: var(--mn-ink); padding: 8px; }
.mn-post__after .mn-comments { margin-top: 48px; padding: 0; }
.mn-postcta { display: grid; gap: 20px; align-items: center; margin-top: 32px; padding: 28px; border-radius: 22px; background: var(--mn-ink); color: var(--mn-on-dark); }
@media (min-width: 720px) { .mn-postcta { grid-template-columns: 1fr auto; padding: 32px 36px; } }
.mn-postcta__kicker { font-size: .9rem; color: #f0707b; font-weight: 600; }
.mn-postcta__title { margin-top: 4px; font-family: var(--mn-head); font-weight: 700; font-size: 1.5rem; line-height: 1.15; color: #fff; }
.mn-postcta p + p { margin-top: 8px; max-width: 48ch; }
.mn-related-posts .mn-h2 { margin-bottom: 32px; }

/* mn-blog-components:start
   Post components. Classes start with mn-b-. Used inside post content
   (Custom HTML blocks). assets/css/editor-blog.css is generated from this
   block so the editor shows them the same way. */
.mn-content .mn-b-label { margin: 0 0 8px; font: 700 .78rem/1.2 var(--mn-body, sans-serif); letter-spacing: .06em; text-transform: uppercase; color: var(--mn-red-dark, #9a1823); }
.mn-content .mn-b-answer { padding: 22px 24px; border-left: 4px solid var(--mn-red, #be1e2d); border-radius: 0 16px 16px 0; background: var(--mn-fog, #f4f5f7); }
.mn-content .mn-b-answer p:not(.mn-b-label) { margin: 0; font-size: 1.12rem; line-height: 1.6; color: var(--mn-ink, #0b0e14); }
.mn-content .mn-b-takeaways { padding: 24px 26px; border-radius: 18px; background: var(--mn-ink, #0b0e14); color: #c9ced8; }
.mn-content .mn-b-takeaways .mn-b-label { color: #f0707b; }
.mn-content .mn-b-takeaways ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.mn-content .mn-b-takeaways li { position: relative; margin: 0; padding-left: 26px; color: #e6e8eb; }
.mn-content .mn-b-takeaways li::before { content: "✓"; position: absolute; left: 0; color: #f0707b; font-weight: 700; }
.mn-content .mn-b-callout { padding: 18px 22px; border-radius: 16px; border: 1px solid; }
.mn-content .mn-b-callout p:not(.mn-b-label) { margin: 0; }
.mn-content .mn-b-callout p + p:not(.mn-b-label) { margin-top: 8px; }
.mn-content .mn-b-callout--tip { background: #eef7f1; border-color: #c9e6d3; }
.mn-content .mn-b-callout--tip .mn-b-label { color: #1d6b3a; }
.mn-content .mn-b-callout--warning { background: var(--mn-red-tint, #fcecee); border-color: #f2c4c9; }
.mn-content .mn-b-callout--note { background: var(--mn-fog, #f4f5f7); border-color: var(--mn-line, #e3e6ea); }
.mn-content .mn-b-callout--note .mn-b-label { color: var(--mn-muted, #59606b); }
.mn-content .mn-b-stats { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.mn-content .mn-b-stat { margin: 0; padding: 20px; border-radius: 16px; border: 1px solid var(--mn-line, #e3e6ea); background: var(--mn-paper, #fff); }
.mn-content .mn-b-stat strong { display: block; font-family: var(--mn-head, sans-serif); font-size: 2.1rem; line-height: 1; color: var(--mn-ink, #0b0e14); }
.mn-content .mn-b-stat span { display: block; margin-top: 8px; font-size: .95rem; line-height: 1.4; color: var(--mn-muted, #59606b); }
.mn-content .mn-b-source { font-size: .86rem; color: var(--mn-muted, #59606b); }
.mn-content .mn-b-stats + .mn-b-source { margin-top: 8px; }
.mn-content .mn-b-steps { margin-left: auto; padding: 0; list-style: none; counter-reset: mn-b-step; display: grid; gap: 14px; }
.mn-content .mn-b-steps li { counter-increment: mn-b-step; position: relative; margin: 0; padding: 2px 0 0 48px; min-height: 34px; }
.mn-content .mn-b-steps li::before { content: counter(mn-b-step); position: absolute; left: 0; top: 0; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--mn-red, #be1e2d); color: #fff; font: 700 .95rem/1 var(--mn-head, sans-serif); }
.mn-content .mn-b-checklist { padding: 0; list-style: none; display: grid; gap: 8px; }
.mn-content .mn-b-checklist li { position: relative; margin: 0; padding-left: 30px; }
.mn-content .mn-b-checklist li::before { content: ""; position: absolute; left: 0; top: .3em; width: 18px; height: 18px; border-radius: 5px; background: var(--mn-ink, #0b0e14) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m4.5 9.3 3 3 6-6.3' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
.mn-content .mn-b-table { overflow-x: auto; border: 1px solid var(--mn-line, #e3e6ea); border-radius: 16px; }
.mn-content .mn-b-table table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: .97rem; }
.mn-content .mn-b-table th, .mn-content .mn-b-table td { padding: 13px 16px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--mn-line, #e3e6ea); }
.mn-content .mn-b-table thead th { background: var(--mn-fog, #f4f5f7); color: var(--mn-ink, #0b0e14); font-weight: 700; border-bottom: 2px solid var(--mn-ink, #0b0e14); }
.mn-content .mn-b-table tbody tr:last-child td { border-bottom: 0; }
.mn-content .mn-b-table td:first-child { font-weight: 600; color: var(--mn-ink, #0b0e14); }
.mn-content .mn-b-table .mn-b-hl { background: var(--mn-red-tint, #fcecee); }
.mn-content .mn-b-table thead .mn-b-hl { background: var(--mn-red, #be1e2d); color: #fff; border-bottom-color: var(--mn-red, #be1e2d); }
.mn-content .mn-b-proscons { display: grid; gap: 12px; }
@media (min-width: 640px) { .mn-content .mn-b-proscons { grid-template-columns: 1fr 1fr; } }
.mn-content .mn-b-pros, .mn-content .mn-b-cons { padding: 20px 22px; border-radius: 16px; border: 1px solid var(--mn-line, #e3e6ea); }
.mn-content .mn-b-pros { border-top: 4px solid var(--mn-ink, #0b0e14); }
.mn-content .mn-b-cons { border-top: 4px solid var(--mn-red, #be1e2d); }
.mn-content .mn-b-pros ul, .mn-content .mn-b-cons ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.mn-content .mn-b-pros li, .mn-content .mn-b-cons li { position: relative; margin: 0; padding-left: 24px; }
.mn-content .mn-b-pros li::before { content: "+"; position: absolute; left: 2px; font-weight: 700; color: var(--mn-ink, #0b0e14); }
.mn-content .mn-b-cons li::before { content: "−"; position: absolute; left: 2px; font-weight: 700; color: var(--mn-red, #be1e2d); }
.mn-content .mn-b-pros .mn-b-label { color: var(--mn-ink, #0b0e14); }
.mn-content .mn-b-example { padding: 20px 22px; border-radius: 16px; border: 1.5px dashed #c4c9d1; }
.mn-content .mn-b-example p:not(.mn-b-label) { margin: 0; }
.mn-content .mn-b-example p + p:not(.mn-b-label) { margin-top: 8px; }
.mn-content .mn-b-quote { margin-top: 1.6em; margin-bottom: 1.6em; padding: 4px 0 4px 24px; border-left: 4px solid var(--mn-red, #be1e2d); }
.mn-content .mn-b-quote p { margin: 0; font-family: var(--mn-head, sans-serif); font-weight: 700; font-size: clamp(1.3rem, 1.1rem + .8vw, 1.7rem); line-height: 1.25; letter-spacing: -.01em; color: var(--mn-ink, #0b0e14); }
.mn-content .mn-b-faq { border-top: 1px solid var(--mn-line, #e3e6ea); }
.mn-content .mn-b-faq details { border-bottom: 1px solid var(--mn-line, #e3e6ea); }
.mn-content .mn-b-faq summary { cursor: pointer; padding: 16px 32px 16px 0; position: relative; list-style: none; font-weight: 600; color: var(--mn-ink, #0b0e14); }
.mn-content .mn-b-faq summary::-webkit-details-marker { display: none; }
.mn-content .mn-b-faq summary::after { content: "+"; position: absolute; right: 4px; top: 12px; font-size: 1.4rem; line-height: 1; color: var(--mn-red, #be1e2d); transition: transform .2s ease; }
.mn-content .mn-b-faq details[open] summary::after { transform: rotate(45deg); }
.mn-content .mn-b-faq details p { margin: 0 0 16px; color: var(--mn-muted, #59606b); }
.mn-content .mn-b-cta { padding: 26px 28px; border-radius: 18px; background: var(--mn-red-tint, #fcecee); border: 1px solid #f2c4c9; }
.mn-content .mn-b-cta__title { margin: 0; font-family: var(--mn-head, sans-serif); font-weight: 700; font-size: 1.3rem; line-height: 1.2; color: var(--mn-ink, #0b0e14); }
.mn-content .mn-b-cta p:not(.mn-b-cta__title) { margin: 8px 0 0; }
.mn .mn-content .mn-b-btn { display: inline-flex; align-items: center; min-height: 46px; margin-top: 16px; padding: 11px 22px; border-radius: 999px; background: var(--mn-red, #be1e2d); color: #fff; font-weight: 600; text-decoration: none; }
.mn .mn-content .mn-b-btn:hover { background: #d42536; color: #fff; }
.mn-content .mn-b-figure img { width: 100%; height: auto; border-radius: 14px; border: 1px solid var(--mn-line, #e3e6ea); }
.mn-content .mn-b-figure figcaption { margin-top: 8px; font-size: .9rem; color: var(--mn-muted, #59606b); }
/* mn-blog-components:end */

/* Homepage: latest blog posts */
.mn-home-blog__head { align-items: end; }
.mn-home-blog__head > div { display: grid; gap: 16px; justify-items: start; }
@media (min-width: 980px) { .mn-home-blog__head > div { justify-items: end; text-align: right; } .mn-home-blog__head p { margin-left: auto; } }
.mn-home-blog .mn-postcard { height: 100%; }

/* Every post card: "Read the article" button pinned to the bottom, so buttons line up across a row */
.mn-postcard { height: 100%; }
.mn-postcard__body { display: flex; flex-direction: column; flex: 1; }
.mn .mn-postcard__cta { margin-top: auto; align-self: flex-start; }
.mn-postcard__excerpt { margin-bottom: 20px; }
.mn-postcard:hover .mn-postcard__cta { background: var(--mn-ink); color: #fff; }
.mn-postcard:hover .mn-explore__arrow { transform: translateX(3px); }
