/* ManDeo — page-specific styles for Work/Capabilities/About/Insights/Contact and their detail
   templates. Section backgrounds/padding/grid-containers only — repeated card/tile content uses
   the shared pattern-atom classes in chrome.css. Loaded site-wide (like chrome.css) since these
   pages aren't gated behind is_front_page(). */

/* ---- Work archive ---- */
.mandeo-work-filter {
	background: var(--paper-000);
	border-top: 1px solid var(--ink-200);
	padding: 26px 0;
}
.mandeo-work-grid-section {
	background: var(--paper-000);
	padding: 8px 0 48px;
}
.mandeo-work-archive__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 40px;
	row-gap: 8px;
}
.mandeo-work-archive__grid .mandeo-case-card {
	border-top: 1px solid var(--ink-200);
	padding: 32px 0 36px;
}
.mandeo-work-archive__empty { color: var(--ink-600); grid-column: 1 / -1; padding: 24px 0; }
.mandeo-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 40px 0 16px;
}
.mandeo-pagination__page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: none;
	border: 1px solid var(--ink-300);
	border-radius: var(--radius-1);
	color: var(--ink-700);
	font-family: var(--font-mono);
	font-size: 13px;
	cursor: pointer;
}
.mandeo-pagination__page:hover { border-color: var(--ink-500); color: var(--ink-900); }
.mandeo-pagination__page.is-active {
	background: var(--ink-900);
	color: var(--paper-050);
	border-color: var(--ink-900);
}
@media (max-width: 900px) {
	.mandeo-work-archive__grid { grid-template-columns: 1fr; }
}

/* ---- Work detail (case study) ---- */
/* Superseded by the 2026-08 case-study redesign: see assets/css/case-study.css.
   That template moved from ACF fields to real block content in post_content,
   so this file no longer needs case-study rules of its own. */

/* ---- Capabilities index ---- */
.mandeo-capabilities-index { background: var(--paper-050); padding: 24px 0 112px; border-top: 1px solid var(--ink-200); }
.mandeo-capabilities-index__list { display: flex; flex-direction: column; }
.mandeo-capability-row {
	display: grid;
	grid-template-columns: 64px 5fr 4fr 3fr;
	gap: 40px;
	padding: 44px 0;
	border-bottom: 1px solid var(--ink-200);
	align-items: start;
}
.mandeo-capability-row__number { color: var(--copper-600); padding-top: 6px; }
.mandeo-capability-row__main { display: flex; flex-direction: column; gap: 12px; }
.mandeo-capability-row__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: 30px;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--ink-900);
}
.mandeo-capability-row__body { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ink-600); }
.mandeo-capability-row__link { margin-top: 4px; display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: var(--copper-600); }
.mandeo-capability-row__includes { display: flex; flex-direction: column; gap: 9px; }
.mandeo-capability-row__includes-label { margin-bottom: 3px; color: var(--ink-600); }
.mandeo-capability-row__item { display: grid; grid-template-columns: 14px 1fr; gap: 10px; font-size: 14.5px; line-height: 1.5; color: var(--ink-700); }
.mandeo-capability-row__dash { color: var(--ink-300); }

@media (max-width: 1100px) {
	.mandeo-capability-row { grid-template-columns: 1fr; gap: 16px; }
}

/* "How we engage" — dark section reusing Section Header + Phase Step patterns, which default
   to light-theme colors, so both need scoped dark overrides here. */
.mandeo-engage { position: relative; overflow: hidden; background: var(--ink-900); padding: 112px 0; }
.mandeo-engage__inner { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 48px; }
.mandeo-engage__head { display: flex; flex-direction: column; gap: 18px; max-width: 660px; }
.mandeo-engage__head .mandeo-section-header__kicker { color: var(--copper-400); }
.mandeo-engage__head .mandeo-section-header__title { color: var(--paper-050); }
.mandeo-engage__head .mandeo-section-header__intro { color: var(--ink-300); }
.mandeo-engage__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.mandeo-engage__grid .mandeo-phase-step { background: var(--ink-900); padding: 34px 32px; border-top-color: var(--ink-700); }
.mandeo-engage__grid .mandeo-phase-step--accent { border-top-color: var(--copper-400); }
.mandeo-engage__grid .mandeo-phase-step__kicker { color: var(--copper-400); }
.mandeo-engage__grid .mandeo-phase-step__title { color: var(--paper-050); font-family: var(--font-display); font-size: 26px; font-weight: 500; letter-spacing: -0.018em; }
.mandeo-engage__grid .mandeo-phase-step__body { color: var(--ink-300); font-size: 15px; }

@media (max-width: 900px) {
	.mandeo-engage { padding: 72px 0; }
	.mandeo-engage__grid { grid-template-columns: 1fr; }
}

/* ---- Capability detail template ---- */
.mandeo-cap-detail__head { background: var(--paper-050); padding: 56px 0 96px; }
.mandeo-cap-detail__head-inner { display: flex; flex-direction: column; gap: 44px; }
.mandeo-cap-detail__head-grid { display: grid; grid-template-columns: 7fr 4fr; gap: 72px; align-items: end; }
.mandeo-cap-detail__head-main { display: flex; flex-direction: column; gap: 28px; }
.mandeo-cap-detail__title { margin: 0; font-size: 66px; line-height: 1.12; letter-spacing: -0.032em; font-weight: 400; }
.mandeo-cap-detail__intro { margin: 0; max-width: 620px; font-size: 19px; line-height: 1.6; color: var(--ink-700); }
.mandeo-cap-detail__typical { display: flex; flex-direction: column; gap: 20px; }
.mandeo-cap-detail__typical-item { display: flex; flex-direction: column; gap: 3px; }
.mandeo-cap-detail__typical-num { font-family: var(--font-display); font-size: 32px; line-height: 1.1; letter-spacing: -0.025em; color: var(--ink-900); }
.mandeo-cap-detail__typical-note { font-size: 14px; color: var(--ink-600); }

.mandeo-cap-detail__covers { background: var(--paper-000); border-top: 1px solid var(--ink-200); padding: 112px 0; }
.mandeo-cap-detail__covers-grid { display: grid; grid-template-columns: 4fr 7fr; gap: 72px; }
.mandeo-cap-detail__covers-head { display: flex; flex-direction: column; gap: 16px; }
.mandeo-cap-detail__covers-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.mandeo-cap-detail__cover-card { border: 1px solid var(--ink-200); border-radius: var(--radius-2); padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.mandeo-cap-detail__cover-title { margin: 0; font-size: 18px; font-weight: 600; color: var(--ink-900); }
.mandeo-cap-detail__cover-body { margin: 0; font-size: 15px; line-height: 1.6; color: var(--ink-600); }

.mandeo-cap-detail__process { background: var(--paper-050); padding: 112px 0; }
.mandeo-cap-detail__process-inner { display: flex; flex-direction: column; gap: 44px; }
.mandeo-cap-detail__process-inner .mandeo-section-header__title { font-size: 40px; }
.mandeo-cap-detail__process-inner .mandeo-section-header__kicker,
.mandeo-cap-detail__process-inner .mandeo-section-header__intro { max-width: 620px; }
.mandeo-cap-detail__process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--ink-200); border: 1px solid var(--ink-200); }
.mandeo-cap-detail__process-grid .mandeo-phase-step { background: var(--paper-000); border-top: none; padding: 32px; }

.mandeo-cap-detail__stack { background: var(--paper-000); border-top: 1px solid var(--ink-200); padding: 112px 0; }
.mandeo-cap-detail__stack-grid { display: grid; grid-template-columns: 6fr 5fr; gap: 80px; }
.mandeo-cap-detail__stack-col { display: flex; flex-direction: column; gap: 24px; }
.mandeo-cap-detail__stack-intro { margin: 0; font-size: 16.5px; line-height: 1.65; color: var(--ink-600); }
.mandeo-cap-detail__stack-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.mandeo-cap-detail__stack-tag { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; padding: 7px 11px; border: 1px solid var(--ink-300); border-radius: var(--radius-1); color: var(--ink-700); }
.mandeo-cap-detail__stack-grid .mandeo-proof-panel { align-self: start; }

@media (max-width: 1024px) {
	.mandeo-cap-detail__head-grid,
	.mandeo-cap-detail__covers-grid,
	.mandeo-cap-detail__stack-grid { grid-template-columns: 1fr; gap: 32px; }
	.mandeo-cap-detail__process-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.mandeo-cap-detail__title { font-size: 40px; }
	.mandeo-cap-detail__covers-cards { grid-template-columns: 1fr; }
}

/* ---- About / Studio ---- */
.mandeo-about-image { background: var(--paper-050); padding: 96px 0; }
.mandeo-about-image__frame { height: 460px; background: #131C24; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.mandeo-about-image__placeholder { position: relative; color: var(--ink-500); }

.mandeo-about-who { background: var(--paper-000); border-top: 1px solid var(--ink-200); padding: 96px 0; }
.mandeo-about-who__grid { display: grid; grid-template-columns: 5fr 6fr; gap: 80px; align-items: start; }
.mandeo-about-who__head { display: flex; flex-direction: column; gap: 16px; }
.mandeo-about-who__body { display: flex; flex-direction: column; gap: 20px; }
.mandeo-about-who__body p { margin: 0; font-size: 18px; line-height: 1.7; color: var(--ink-700); }
.mandeo-about-who__body p:last-of-type { font-size: 17px; color: var(--ink-600); }
.mandeo-about-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--ink-200); border: 1px solid var(--ink-200); margin-top: 12px; }
.mandeo-about-stat { background: var(--paper-000); padding: 24px 22px; display: flex; flex-direction: column; gap: 6px; }
.mandeo-about-stat__num { font-family: var(--font-display); font-size: 34px; letter-spacing: -0.03em; color: var(--ink-900); }
.mandeo-about-stat__label { color: var(--ink-600); }

.mandeo-leadership { background: var(--paper-050); padding: 96px 0; }
.mandeo-leadership__inner { display: flex; flex-direction: column; gap: 44px; }
.mandeo-leadership__inner .mandeo-section-header__title { font-size: 42px; }
.mandeo-leadership__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--ink-200); border: 1px solid var(--ink-200); }
.mandeo-person-card { background: var(--paper-000); display: flex; flex-direction: column; }
.mandeo-person-card__photo { height: 240px; position: relative; overflow: hidden; background: var(--paper-100); }
.mandeo-person-card__body { padding: 20px 22px 26px; display: flex; flex-direction: column; gap: 6px; }
.mandeo-person-card__name { margin: 0; font-family: var(--font-ui); font-size: 17px; font-weight: 600; color: var(--ink-900); }
.mandeo-person-card__role { color: var(--copper-600); }
.mandeo-person-card__bio { margin: 0; font-size: 14px; line-height: 1.55; color: var(--ink-600); }

.mandeo-how-we-work { background: var(--paper-050); padding: 96px 0; }
.mandeo-how-we-work__inner { display: flex; flex-direction: column; gap: 44px; }
.mandeo-how-we-work__intro { margin: 0; max-width: 720px; font-size: 18px; line-height: 1.7; color: var(--ink-700); }
.mandeo-how-we-work__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--ink-200); border: 1px solid var(--ink-200); }
.mandeo-principle-card { background: var(--paper-000); padding: 26px 24px; display: flex; flex-direction: column; gap: 10px; }
.mandeo-principle-card__title { margin: 0; font-family: var(--font-ui); font-size: 17px; font-weight: 600; color: var(--ink-900); }
.mandeo-principle-card__body { margin: 0; font-size: 14px; line-height: 1.6; color: var(--ink-600); }

.mandeo-careers { position: relative; overflow: hidden; background: var(--ink-900); padding: 96px 0; }
.mandeo-careers__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 5fr 6fr; gap: 72px; align-items: start; }
.mandeo-careers__head { display: flex; flex-direction: column; gap: 16px; }
.mandeo-careers__head .mandeo-section-header__kicker { color: var(--copper-400); }
.mandeo-careers__note { margin: 0; font-size: 16px; line-height: 1.65; color: var(--ink-300); max-width: 420px; }
.mandeo-careers__jobs { display: flex; flex-direction: column; }
.mandeo-job-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 26px 0; border-top: 1px solid var(--ink-700); color: inherit; }
.mandeo-careers__jobs .mandeo-job-row:last-child { border-bottom: 1px solid var(--ink-700); }
.mandeo-job-row__main { display: flex; flex-direction: column; gap: 6px; }
.mandeo-job-row__title { font-size: 19px; color: var(--paper-050); font-weight: 500; }
.mandeo-job-row__location { color: var(--ink-500); }
.mandeo-job-row__apply { color: var(--copper-400); font-size: 15px; font-weight: 500; }

@media (max-width: 1024px) {
	.mandeo-about-who__grid,
	.mandeo-careers__grid { grid-template-columns: 1fr; gap: 32px; }
	.mandeo-leadership__grid,
	.mandeo-how-we-work__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.mandeo-about-stats { grid-template-columns: 1fr; }
	.mandeo-leadership__grid { grid-template-columns: 1fr; }
}

/* ---- Insights archive ---- */
.mandeo-insight-filter { background: var(--paper-050); border-top: 1px solid var(--ink-200); padding: 26px 0; }
.mandeo-insight-featured { background: var(--paper-050); padding: 0 0 8px; }
.mandeo-insight-featured__card {
	display: flex;
	flex-direction: column;
	background: var(--paper-000);
	border: 1px solid var(--ink-200);
	color: var(--ink-900);
	transition: border-color var(--dur-quick) var(--ease), box-shadow var(--dur-quick) var(--ease);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04) inset;
}
.mandeo-insight-featured__card:hover { border-color: var(--copper-600); box-shadow: 0 0 0 1px rgba(224, 133, 78, 0.14) inset; }
.mandeo-insight-featured__media,
.mandeo-insight-card__media {
	height: 190px;
	--plate-h: 190px;
	position: relative;
	overflow: hidden;
	background: #0C151D;
}
.mandeo-insight-featured__media {
	height: 520px;
	--plate-h: 520px;
	background: #0C151D;
}
.mandeo-insight-card__media { height: 190px; --plate-h: 190px; }
.mandeo-insight-featured__media .mdo-plate,
.mandeo-insight-card__media .mdo-plate {
	width: 100%;
	height: 100%;
	background: #0C151D;
}

.mdo-plate {
	--mdo-h: 100cqh;
	--mdo-ground: #0C151D;
	--mdo-teal: #007984;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	container-type: size;
	overflow: hidden;
	background: #0C151D;
}
@supports not (height: 1cqh) { .mdo-plate { --mdo-h: 190px; } }

.mdo-plate__ring {
	position: absolute; z-index: 0;
	right: calc(var(--mdo-h) * 0.13);
	bottom: 0;
	width: calc(var(--mdo-h) * 0.78);
	height: calc(var(--mdo-h) * 0.39);
	border: 2px solid var(--mdo-teal);
	border-bottom: 0;
	border-radius: 999px 999px 0 0;
}

.mdo-plate__mark {
	position: absolute; z-index: 1;
	right: calc(var(--mdo-h) * 0.168);
	bottom: 0;
	display: flex;
	align-items: flex-end;
	gap: max(4px, calc(var(--mdo-h) * 0.116));
}
.mdo-plate__mark > i {
	display: block;
	width: max(6px, calc(var(--mdo-h) * 0.084));
	height: calc(var(--mdo-h) * 0.68);
	transform: skewX(-14deg);
	background: #E7885D;
}
.mdo-plate__mark > i:nth-child(2) { background: #D16022; }
.mdo-plate__mark > i:nth-child(3) { background: #A94608; }
.mandeo-insight-featured__body { padding: 24px 28px 28px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.mandeo-insight-featured__date {
	color: var(--ink-700);
	opacity: 0.7;
}
.mandeo-insight-featured__dek {
	display: block;
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--ink-900);
	opacity: 0.68;
}
.mandeo-insight-featured__cta { display: none; }

.mandeo-insight-grid-section { background: var(--paper-050); padding: 24px 0 0; }
.mandeo-insight-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--ink-200); border: 1px solid var(--ink-200); }
.mandeo-insight-card {
	background: var(--paper-000);
	color: var(--ink-900);
	display: flex;
	flex-direction: column;
	transition: background-color var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease);
}
.mandeo-insight-card:hover { background: var(--ink-900); color: var(--paper-050); }
.mandeo-insight-card__media {
	height: 190px;
	--plate-h: 190px;
	background-image: url('/mcs/wp-content/themes/kadence-child/assets/images/insights-thumb-bg.png');
	background-repeat: no-repeat;
	background-position: right center;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
.mandeo-insight-card__media img,
.mandeo-insight-card__media .mandeo-plate,
.mandeo-insight-card__media .mandeo-plate__bars,
.mandeo-insight-card__media .mandeo-plate__bar,
.mandeo-insight-card__media .mandeo-plate__arc {
	display: none !important;
}

@media (max-width: 640px) {
	.mandeo-insight-featured__media,
	.mandeo-insight-card__media {
		background-position: right center;
	}
}
.mandeo-insight-card__body { padding: 26px 28px 30px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.mandeo-insight-card__date { color: inherit; opacity: 0.6; }
.mandeo-insight-card__dek { margin: 0; font-size: 15px; line-height: 1.6; color: inherit; opacity: 0.68; }

/* Category + title, overlaid on the plate behind a scrim (matches the "3A" card reference). */
.mandeo-insight-card__overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: max(6px, calc(var(--plate-h) * 0.032));
	padding: max(14px, calc(var(--plate-h) * 0.084)) max(16px, calc(var(--plate-h) * 0.095)) max(14px, calc(var(--plate-h) * 0.074));
}
.mandeo-insight-card__overlay-kicker { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; }
.mandeo-insight-card__overlay-title {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(16px, calc(var(--plate-h) * 0.11), 26px);
	line-height: 1.22;
	letter-spacing: -0.018em;
	font-weight: 300;
}
.mandeo-insight-featured__title,
.mandeo-insight-archive__row-title {
	font-family: var(--font-display);
	font-weight: 300;
}
.mandeo-insight-card__overlay--ink {
	background: linear-gradient(0deg, rgba(12,21,29,0.94) 0%, rgba(12,21,29,0.55) 60%, rgba(12,21,29,0) 100%);
}
.mandeo-insight-card__overlay--ink .mandeo-insight-card__overlay-kicker { color: #E0854E; }
.mandeo-insight-card__overlay--ink .mandeo-insight-card__overlay-title { color: #F8F6F3; }

/* ---- Insight plate (generated art, no photography) ----
   Layout only — every bar's and arc's own size/position/colour is set inline per category by
   mandeo_insight_plate(), as calc(var(--plate-h) * ratio) so the whole graphic still rescales
   as one unit at any breakpoint with no plate-specific media query. */
.mandeo-plate { position: relative; width: 100%; height: 100%; overflow: hidden; }
.mandeo-plate--ink { background: #0C151D; }
.mandeo-plate--paper { background: #F1EDE7; border-bottom: 1px solid #E3DED7; }
.mandeo-plate__bars {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	height: 100%;
	padding-left: max(14px, calc(var(--plate-h) * 0.168));
}
.mandeo-plate--right .mandeo-plate__bars { flex-direction: row-reverse; padding-left: 0; padding-right: max(14px, calc(var(--plate-h) * 0.168)); }
.mandeo-plate__bar { flex: 0 0 auto; transform: skewX(-14deg); }
.mandeo-plate__arc { position: absolute; bottom: 0; border-radius: 999px 999px 0 0; }

.mandeo-insight-archive { background: var(--paper-050); padding: 80px 0 104px; }
.mandeo-insight-archive__inner { display: flex; flex-direction: column; gap: 32px; }
.mandeo-insight-archive__head { display: flex; align-items: end; justify-content: space-between; border-bottom: 1px solid var(--ink-300); padding-bottom: 18px; }
.mandeo-insight-archive__label { font-family: var(--font-display); font-size: 28px; letter-spacing: -0.02em; color: var(--ink-900); }
.mandeo-insight-archive__list { display: flex; flex-direction: column; }
.mandeo-insight-archive__row { display: grid; grid-template-columns: 120px 1fr 200px; gap: 32px; padding: 22px 0; border-bottom: 1px solid var(--ink-200); align-items: baseline; color: inherit; }
.mandeo-insight-archive__row-title { font-size: 17px; color: var(--ink-900); }
.mandeo-insight-archive__row-cat { color: var(--copper-600); justify-self: end; }

.mandeo-newsletter { position: relative; overflow: hidden; background: var(--ink-900); padding: 88px 0; }
.mandeo-newsletter__inner { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 40px; }
.mandeo-newsletter__copy { display: flex; flex-direction: column; gap: 14px; max-width: 460px; }
.mandeo-newsletter__title { margin: 0; font-size: 38px; line-height: 1.18; letter-spacing: -0.026em; font-weight: 400; color: var(--paper-050); }
.mandeo-newsletter__note { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ink-300); }
.mandeo-newsletter__form { display: flex; gap: 10px; }
.mandeo-newsletter__input { flex: 1; height: 52px; background: #131C24; border: 1px solid var(--ink-700); border-radius: var(--radius-1); padding: 0 16px; font-size: 15px; color: var(--paper-050); min-width: 220px; }
.mandeo-newsletter__input::placeholder { color: var(--ink-500); }
.mandeo-newsletter__form .mandeo-btn[aria-disabled="true"] { cursor: not-allowed; opacity: 0.7; }

@media (max-width: 1024px) {
	.mandeo-insight-featured__card { grid-template-columns: 1fr; }
	.mandeo-insight-featured__media { height: 260px; --plate-h: 260px; }
	.mandeo-insight-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.mandeo-insight-archive__row { grid-template-columns: 1fr; gap: 6px; }
	.mandeo-insight-archive__row-cat { justify-self: start; }
}

/* ---- Contact ---- */
.mandeo-contact-hero { padding: 88px 0 104px; }
.mandeo-contact-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 5fr 6fr; gap: 88px; align-items: start; }
.mandeo-contact-hero .mandeo-page-hero__main { gap: 24px; }

.mandeo-contact-info { display: flex; flex-direction: column; border-top: 1px solid var(--ink-700); margin-top: 16px; }
.mandeo-contact-info__row { display: flex; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--ink-700); }
.mandeo-contact-info__row .mandeo-icon { color: var(--copper-400); flex-shrink: 0; margin-top: 2px; }
.mandeo-contact-info__row-body { display: flex; flex-direction: column; gap: 4px; }
.mandeo-contact-info__row-body .mandeo-label { color: var(--copper-400); }
.mandeo-contact-info__row-value { font-size: 16px; line-height: 1.6; color: var(--paper-050); }
.mandeo-contact-info__row-value a { color: inherit; }

.mandeo-contact-form-panel { background: var(--paper-000); border: 1px solid var(--ink-200); border-radius: var(--radius-2); padding: 44px; }
.mandeo-enquiry-form { display: flex; flex-direction: column; gap: 26px; }
.mandeo-enquiry-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.mandeo-enquiry-form__select { appearance: none; cursor: pointer; background-image: none; }
.mandeo-enquiry-form__fieldset { border: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.mandeo-enquiry-form__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.mandeo-enquiry-form__tag { cursor: pointer; }
.mandeo-enquiry-form__tag input[type="checkbox"] {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}
.mandeo-enquiry-form__tag span {
	display: inline-flex;
	align-items: center;
	padding: 9px 12px;
	border: 1px solid var(--ink-300);
	border-radius: var(--radius-1);
	font-family: var(--font-mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-700);
	transition: background-color var(--dur-quick) var(--ease), border-color var(--dur-quick) var(--ease), color var(--dur-quick) var(--ease);
}
.mandeo-enquiry-form__tag input:checked + span { background: var(--ink-900); border-color: var(--ink-900); color: var(--paper-050); }
.mandeo-enquiry-form__tag input:focus-visible + span { outline: var(--focus-ring); outline-offset: var(--focus-offset); }

.mandeo-enquiry-form__optin { display: flex; align-items: flex-start; gap: 11px; font-size: 14px; line-height: 1.55; color: var(--ink-600); }
.mandeo-enquiry-form__optin input { margin-top: 2px; width: 19px; height: 19px; flex-shrink: 0; }

.mandeo-enquiry-form__submit-row { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; border-top: 1px solid var(--ink-200); padding-top: 24px; }
.mandeo-enquiry-form__note { font-size: 13px; line-height: 1.55; color: var(--ink-600); }

@media (max-width: 1024px) {
	.mandeo-contact-hero__grid { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 560px) {
	.mandeo-enquiry-form__row { grid-template-columns: 1fr; }
	.mandeo-contact-form-panel { padding: 28px; }
}

/* ---- Ninja Forms — light re-skin to match the site's field styling ---- */
.mandeo-contact-form-panel .nf-form-cont,
.mandeo-contact-form-panel .nf-form-cont * { font-family: var(--font-ui) !important; box-sizing: border-box; }
.mandeo-contact-form-panel .nf-field-label label,
.mandeo-contact-form-panel .nf-field-element label { font-family: var(--font-mono) !important; font-size: 11px !important; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-600); font-weight: 500 !important; }
.mandeo-contact-form-panel input[type="text"],
.mandeo-contact-form-panel input[type="email"],
.mandeo-contact-form-panel textarea,
.mandeo-contact-form-panel select {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--ink-300);
	border-radius: var(--radius-1);
	background: var(--paper-000);
	color: var(--ink-900);
	font-size: 15px;
}
.mandeo-contact-form-panel input[type="text"]:focus,
.mandeo-contact-form-panel input[type="email"]:focus,
.mandeo-contact-form-panel textarea:focus,
.mandeo-contact-form-panel select:focus { outline: var(--focus-ring); border-color: var(--copper-600); }
.mandeo-contact-form-panel .list-checkbox-element label,
.mandeo-contact-form-panel .listcheckbox-container label { font-family: var(--font-ui) !important; font-size: 14px !important; text-transform: none; letter-spacing: normal; color: var(--ink-700); font-weight: 400 !important; }
.mandeo-contact-form-panel .nf-field-container { margin-bottom: 20px; }
.mandeo-contact-form-panel input[type="submit"] {
	display: inline-flex;
	align-items: center;
	height: 48px;
	padding: 0 24px;
	background: var(--ink-900);
	color: var(--paper-050);
	border: none;
	border-radius: var(--radius-1);
	font-family: var(--font-ui);
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
}
.mandeo-contact-form-panel input[type="submit"]:hover { background: var(--copper-600); }

/* ---- Insight detail ---- */
.mandeo-insight-detail__progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 60; pointer-events: none; }
.mandeo-insight-detail__progress-bar { height: 3px; width: 0%; background: linear-gradient(90deg, var(--copper-600), var(--copper-500) 60%, #007984); transition: width .12s linear; }
.mandeo-insight-detail__crumb-bar { background: var(--paper-000); border-bottom: 1px solid var(--ink-200); padding: 22px 0; }
.mandeo-insight-detail__head { background: var(--paper-000); padding: 64px 0 16px; }
.mandeo-insight-detail__head-inner { max-width: 1000px; margin: 0 auto; }
.mandeo-insight-detail__kicker { color: var(--copper-600); display: flex; align-items: center; gap: 8px; margin-bottom: 20px; }
.mandeo-insight-detail__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: 52px;
	line-height: 1.1;
	letter-spacing: -0.03em;
	font-weight: 400;
	max-width: 22ch;
	color: var(--ink-900);
}
.mandeo-insight-detail__dek {
	margin: 24px 0 0;
	font-family: var(--font-display);
	font-size: 20px;
	line-height: 1.55;
	color: var(--ink-600);
	max-width: 60ch;
	font-weight: 300;
}
.mandeo-insight-detail__byline {
	display: flex;
	align-items: center;
	gap: 16px 24px;
	flex-wrap: wrap;
	margin: 32px 0 0;
	padding-top: 24px;
	border-top: 1px solid var(--ink-200);
}
.mandeo-insight-detail__byline-author { display: flex; align-items: center; gap: 12px; flex: 0 1 auto; min-width: 0; }
.mandeo-insight-detail__byline-author img { border-radius: 50%; display: block; }
.mandeo-insight-detail__byline-author-text { display: flex; flex-direction: column; gap: 2px; }
.mandeo-insight-detail__byline-name { font-size: 14.5px; font-weight: 500; color: var(--ink-900); }
.mandeo-insight-detail__byline-sep { width: 1px; height: 30px; background: var(--ink-200); }
/* Author role under the byline. Deliberately NOT .mandeo-label — that is 11px uppercase mono,
   which is unreadable for anything longer than two words. */
.mandeo-insight-detail__byline-role {
	font-size: 12.5px;
	line-height: 1.4;
	color: var(--ink-600);
	max-width: 62ch;
}
.mandeo-insight-detail__share { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.mandeo-insight-detail__share a,
.mandeo-insight-detail__copy-link {
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding: 0 13px;
	border: 1px solid var(--ink-300);
	color: var(--ink-700);
	font-size: 12.5px;
	background: none;
	font-family: var(--font-ui);
	cursor: pointer;
}
.mandeo-insight-detail__share a:hover,
.mandeo-insight-detail__copy-link:hover { border-color: var(--copper-600); color: var(--copper-600); }

.mandeo-insight-detail__body-grid {
	padding-top: 56px;
	padding-bottom: 88px;
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 72px;
	align-items: start;
}
.mandeo-insight-detail__toc { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 16px; }
.mandeo-insight-detail__toc-label { color: var(--ink-900); display: flex; align-items: center; gap: 8px; padding-bottom: 12px; border-bottom: 1px solid var(--ink-200); }
.mandeo-insight-detail__toc-nav { display: flex; flex-direction: column; }
.mandeo-insight-detail__toc-link {
	display: grid;
	grid-template-columns: 3px 1fr;
	gap: 12px;
	align-items: start;
	padding: 8px 0;
	font-size: 13.5px;
	line-height: 1.4;
	color: var(--ink-600);
	text-decoration: none;
}
.mandeo-insight-detail__toc-bar { height: 100%; min-height: 16px; background: var(--ink-200); }
.mandeo-insight-detail__toc-link.is-active { color: var(--ink-900); font-weight: 500; }
.mandeo-insight-detail__toc-link.is-active .mandeo-insight-detail__toc-bar { background: var(--copper-600); }
.mandeo-insight-detail__toc-progress { margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--ink-200); display: flex; flex-direction: column; gap: 8px; }
.mandeo-insight-detail__toc-progress-track { height: 2px; background: var(--ink-200); }
.mandeo-insight-detail__toc-progress-bar { height: 2px; width: 0%; background: var(--copper-600); transition: width .12s linear; }
[hidden].mandeo-insight-detail__toc { display: none; }

.mandeo-insight-detail__prose { max-width: 68ch; }
.mandeo-insight-detail__prose p,
.mandeo-insight-detail__prose li {
	font-family: var(--font-display);
	font-size: 18px;
	line-height: 1.72;
	color: var(--ink-800);
}
.mandeo-insight-detail__prose p { margin: 0 0 22px; }
.mandeo-insight-detail__prose ul, .mandeo-insight-detail__prose ol { margin: 0 0 24px; padding-left: 26px; }
.mandeo-insight-detail__prose li { margin-bottom: 12px; }
.mandeo-insight-detail__prose h2 {
	margin: 48px 0 20px;
	font-family: var(--font-display);
	font-size: 32px;
	line-height: 1.2;
	letter-spacing: -0.024em;
	font-weight: 400;
	color: var(--ink-900);
}
.mandeo-insight-detail__prose h2:first-child { margin-top: 0; }
.mandeo-insight-detail__prose h3 { margin: 32px 0 14px; font-family: var(--font-ui); font-size: 20px; font-weight: 600; color: var(--ink-900); }
.mandeo-insight-detail__prose img { max-width: 100%; height: auto; }
.mandeo-insight-detail__prose table { width: 100%; border-collapse: collapse; margin: 30px 0; border: 1px solid var(--ink-200); font-size: 15px; }
.mandeo-insight-detail__prose th { background: var(--ink-900); color: var(--paper-050); text-align: left; padding: 12px 18px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500; }
.mandeo-insight-detail__prose td { padding: 13px 18px; border-top: 1px solid var(--ink-200); }
.mandeo-insight-detail__prose blockquote { margin: 0 0 24px; padding-left: 22px; border-left: 2px solid var(--copper-600); font-style: italic; color: var(--ink-700); }

.mandeo-insight-detail__short-version {
	background: var(--paper-050);
	border-left: 3px solid var(--copper-600);
	padding: 30px 32px 32px;
	margin-bottom: 48px;
}
.mandeo-insight-detail__short-version-kicker { color: var(--copper-600); margin-bottom: 14px; }
.mandeo-insight-detail__short-version ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 11px; }
.mandeo-insight-detail__short-version li {
	margin: 0;
	padding-left: 22px;
	position: relative;
	font-family: var(--font-ui);
	font-size: 15.5px;
	line-height: 1.55;
	color: var(--ink-800);
}
.mandeo-insight-detail__short-version li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 4px;
	height: 12px;
	background: var(--copper-500);
	transform: skewX(-18deg);
}

.mandeo-insight-detail__tags { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--ink-200); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mandeo-insight-detail__tag { display: inline-flex; align-items: center; height: 30px; padding: 0 13px; border: 1px solid var(--ink-300); color: var(--ink-700); font-size: 12.5px; }
.mandeo-insight-detail__tag:hover { border-color: var(--copper-600); color: var(--copper-600); }

.mandeo-insight-detail__related { background: var(--paper-050); border-top: 1px solid var(--ink-200); padding: 72px 0 88px; }
.mandeo-insight-detail__related-inner { display: flex; flex-direction: column; gap: 32px; }
.mandeo-insight-detail__related-head { display: flex; align-items: end; justify-content: space-between; border-bottom: 1px solid var(--ink-200); padding-bottom: 16px; }
.mandeo-insight-detail__related-kicker { color: var(--copper-600); display: flex; align-items: center; gap: 8px; }
.mandeo-insight-detail__related-all { color: var(--copper-600); }
.mandeo-insight-detail__related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }

@media (max-width: 1024px) {
	.mandeo-insight-detail__body-grid { grid-template-columns: 1fr; }
	.mandeo-insight-detail__toc { position: static; }
	.mandeo-insight-detail__related-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.mandeo-insight-detail__title { font-size: 36px; }
	.mandeo-insight-detail__share { margin-left: 0; }
}
