/* ManDeo — Home page-specific styles. Section backgrounds/padding and grid-layout containers
   only — the repeated card/tile/header CONTENT they hold is styled by the shared pattern-atom
   CSS in chrome.css (loaded site-wide), since those are registered block patterns and must
   render correctly if inserted on any other page too, not just Home. */

#mandeo-home {
	background: var(--paper-000);
}

/* ---- Hero — matches pages/homepage.dc.html. Entirely page-specific: this exact 2-column
   stats+image-grid composition isn't reused anywhere else in the design source. ---- */
.mandeo-hero {
	position: relative;
	background: var(--ink-900);
	overflow: hidden;
}
.mandeo-hero__bg {
	position: absolute;
	inset: 0;
	background-image:
		repeating-linear-gradient(-18deg, rgba(231,136,93,0.07) 0 1px, transparent 1px 46px),
		repeating-linear-gradient(72deg, rgba(0,153,166,0.055) 0 1px, transparent 1px 46px),
		radial-gradient(120% 95% at 88% 6%, rgba(0,121,132,0.30) 0%, transparent 62%);
}
.mandeo-hero__grid {
	position: relative;
	z-index: 1;
	padding-top: 104px;
	padding-bottom: 104px;
	display: grid;
	grid-template-columns: 6fr 5fr;
	gap: 64px;
	align-items: start;
}
.mandeo-hero__left {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.mandeo-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
}
.mandeo-hero__eyebrow-rule {
	width: 34px;
	height: 1px;
	background: var(--copper-500);
}
.mandeo-hero__eyebrow .mandeo-label { color: var(--copper-400); }
.mandeo-hero__headline {
	font-size: 76px;
	line-height: 1.08;
	letter-spacing: -0.034em;
	font-weight: 400;
	color: var(--paper-050);
}
.mandeo-hero__headline-accent { color: var(--copper-400); }
.mandeo-hero__sub {
	max-width: 560px;
	margin: 0;
	font-size: 19px;
	line-height: 1.65;
	color: var(--ink-300);
}
.mandeo-hero__actions {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
.mandeo-hero__stats {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
	padding-top: 18px;
	margin-top: 12px;
	border-top: 1px solid var(--ink-700);
}
.mandeo-hero__stat {
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.mandeo-hero__stat-num {
	font-family: var(--font-display);
	font-size: 30px;
	color: var(--paper-050);
}
.mandeo-hero__stat .mandeo-label { color: var(--ink-600); /* darkened from ink-500 for AA text contrast on small/mono text */ }

.mandeo-hero__right {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: var(--ink-700);
	border: 1px solid var(--ink-700);
	margin-top: 8px;
}
.mandeo-hero__lead-image {
	grid-column: span 2;
	height: 268px;
	position: relative;
	overflow: hidden;
	background: #131C24;
}
.mandeo-hero__lead-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mandeo-hero__lead-scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(12,21,29,0.88) 0%, rgba(12,21,29,0) 62%);
}
.mandeo-hero__lead-caption {
	position: absolute;
	left: 22px;
	bottom: 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.mandeo-hero__lead-caption .mandeo-label { color: var(--copper-400); }
.mandeo-hero__lead-caption-title {
	font-family: var(--font-display);
	font-size: 24px;
	color: var(--paper-050);
	letter-spacing: -0.02em;
}
.mandeo-hero__case-tile {
	background: var(--ink-900);
	padding: 26px 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 132px;
	transition: background-color var(--dur-quick) var(--ease);
}
.mandeo-hero__case-tile:hover { background: var(--copper-600); }
.mandeo-hero__case-tile .mandeo-label { color: var(--copper-400); }
.mandeo-hero__case-tile-text {
	font-size: 15.5px;
	line-height: 1.5;
	color: var(--paper-050);
}
.mandeo-hero__case-tile-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 500;
	color: var(--paper-050);
	margin-top: auto;
}
/* The metric tile reuses the Stat Tile pattern's structure (.mandeo-stat-tile, in chrome.css)
   with just its two colors overridden for this one-off teal treatment. */
.mandeo-hero__metric-tile { background: #00565E; }
.mandeo-hero__metric-tile .mandeo-stat-tile__label { color: #7FCBD2; }
.mandeo-hero__metric-tile .mandeo-stat-tile__caption { color: #A8DCE1; }

@media (max-width: 1100px) {
	.mandeo-hero__grid { grid-template-columns: 1fr; padding-top: 140px; }
	.mandeo-hero__headline { font-size: 48px; letter-spacing: -0.02em; }
}
@media (max-width: 600px) {
	.mandeo-hero__grid { padding-top: 120px; padding-bottom: 56px; }
	.mandeo-hero__headline { font-size: 36px; }
	.mandeo-hero__stats { gap: 28px; }
}

/* ---- Clients — page-specific, no other page repeats this composition ---- */
.mandeo-clients {
	background: var(--paper-000);
	border-top: 1px solid var(--ink-200);
	border-bottom: 1px solid var(--ink-200);
	padding: 34px 0;
}
.mandeo-clients__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	flex-wrap: wrap;
}
.mandeo-clients__label { color: var(--ink-600); /* darkened from ink-500 for AA text contrast on small/mono text */ flex-shrink: 0; }
.mandeo-clients__list {
	display: flex;
	align-items: center;
	gap: 40px;
	flex-wrap: wrap;
}
.mandeo-clients__name {
	font-family: var(--font-display);
	font-size: 20px;
	font-weight: 600;
	color: var(--ink-600);
	letter-spacing: -0.01em;
}
.mandeo-clients__logo {
	height: 28px;
	width: auto;
	max-width: 140px;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.62;
	transition: opacity 0.2s ease, filter 0.2s ease;
}
.mandeo-clients__logo:hover {
	filter: grayscale(0%);
	opacity: 1;
}

/* ---- Capabilities section — background/padding + grid container only.
   Header text uses .mandeo-section-header*; cards use .mandeo-capability-card* (chrome.css). ---- */
.mandeo-capabilities {
	background: var(--paper-050);
	padding: 128px 0;
}
.mandeo-capabilities__inner {
	display: flex;
	flex-direction: column;
	gap: 56px;
}
.mandeo-capabilities__head {
	display: grid;
	grid-template-columns: 5fr 6fr;
	gap: 72px;
	align-items: end;
}
.mandeo-capabilities__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: var(--ink-200);
	border: 1px solid var(--ink-200);
}
.mandeo-capabilities__all {
	display: flex;
	justify-content: flex-end;
}
.mandeo-capabilities__all-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 500;
	color: var(--copper-600);
}

@media (max-width: 1024px) {
	.mandeo-capabilities__head { grid-template-columns: 1fr; gap: 24px; align-items: start; }
	.mandeo-capabilities__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.mandeo-capabilities { padding: 80px 0; }
	.mandeo-capabilities__grid { grid-template-columns: 1fr; }
}

/* ---- Work section — background/padding + grid container only.
   Header uses .mandeo-section-header*; cards use .mandeo-case-card* (chrome.css). ---- */
.mandeo-work {
	background: var(--paper-000);
	border-top: 1px solid var(--ink-200);
	padding: 128px 0;
}
.mandeo-work__inner {
	display: flex;
	flex-direction: column;
	gap: 48px;
}
.mandeo-work__head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 40px;
	flex-wrap: wrap;
}
.mandeo-work__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

@media (max-width: 900px) {
	.mandeo-work__grid { grid-template-columns: 1fr; }
}

/* ---- Difference — entirely page-specific; unique framing, no other page repeats this
   composition (including its tiles, which are a plain label+body shape, not the numeric
   Stat Tile pattern used in the Hero's metric tile). ---- */
.mandeo-difference {
	background: var(--ink-900);
	padding: 104px 0;
}
.mandeo-difference__inner {
	display: grid;
	grid-template-columns: 5fr 6fr;
	gap: 72px;
	align-items: center;
}
.mandeo-difference__statement-col {
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.mandeo-difference__kicker { color: var(--copper-400); }
.mandeo-difference__statement {
	margin: 0;
	font-family: var(--font-display);
	font-size: 36px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--paper-050);
}
.mandeo-difference__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: var(--ink-700);
	border: 1px solid var(--ink-700);
}
.mandeo-difference__tile {
	background: var(--ink-900);
	padding: 30px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.mandeo-difference__tile-title { color: var(--ink-400); }
.mandeo-difference__tile-body {
	font-size: 15px;
	line-height: 1.6;
	color: var(--ink-300);
}

@media (max-width: 900px) {
	.mandeo-difference__inner { grid-template-columns: 1fr; gap: 40px; }
	.mandeo-difference__statement { font-size: 28px; }
}
@media (max-width: 560px) {
	.mandeo-difference__grid { grid-template-columns: 1fr; }
}

/* ---- Approach section — background/padding + grid container only.
   Header uses .mandeo-section-header*; steps use .mandeo-phase-step* (chrome.css). ---- */
.mandeo-approach {
	background: var(--paper-050);
	padding: 128px 0;
}
.mandeo-approach__inner {
	display: flex;
	flex-direction: column;
	gap: 52px;
}
.mandeo-approach__head {
	max-width: 660px;
}
.mandeo-approach__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 20px;
}
.mandeo-approach .mandeo-phase-step--accent { border-top-color: var(--ink-900); }

@media (max-width: 900px) {
	.mandeo-approach__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
	.mandeo-approach__grid { grid-template-columns: 1fr; }
}

/* ---- CTA section — background/padding + grid container only.
   Copy/form-panel content uses .mandeo-cta__* patterns (chrome.css). ---- */
.mandeo-cta {
	background: var(--paper-000);
	border-top: 1px solid var(--ink-200);
	padding: 112px 0;
}
.mandeo-cta__inner {
	display: grid;
	grid-template-columns: 6fr 5fr;
	gap: 72px;
	align-items: center;
}

@media (max-width: 900px) {
	.mandeo-cta__inner { grid-template-columns: 1fr; gap: 32px; }
}
