/* Careenage brand presentation CSS — appended in PARITY PASS sections during Stage A. */

/* ════════════════════════════════════════════════════════════════════
 * PARITY PASS 1 — 2026-07-19 (foundry-page-parity design fan-out)
 * Per-block deltas vs the legacy GreenLight render. Ledger + prod gaps:
 * harvest/parity-pass-1-designs.json
 * ════════════════════════════════════════════════════════════════════ */

/* ── PARITY PASS: nav (cg-nav, in-content chrome) ─────────────────────────
 * Legacy sampled: links #0E1B24 (base), brand #0A2E4D (primary), CTA bg
 * #E2603D (cta) with INK text + trailing arrow, ~1160px centered container,
 * ~68px bar height. All colors via theme.json presets. */
.cg-nav {
	max-width: 72.5rem; /* legacy content container ≈1160px @1440 */
	margin-inline: auto;
	padding-block: 1.5rem; /* padding bump: legacy bar ≈68px vs staging ≈50px */
	padding-inline: clamp(1.25rem, 4vw, 2.5rem); /* staging was flush to viewport edge */
	gap: 0.75rem 2rem;
	--cg-mono: var(--wp--preset--font-family--mono); /* foundry-langsw inherits this var */
}
.cg-nav p {
	margin: 0;
}
.cg-nav__brand a {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}
.cg-nav__brand img.cg-nav__mark {
	width: 2.25rem;
	height: auto;
	display: block;
}
.cg-nav__links {
	gap: 0.75rem 1.75rem;
}
.cg-nav__link a {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.96rem;
	font-weight: 500;
	color: var(--wp--preset--color--base);
	text-decoration: none;
}
.cg-nav__link a:hover,
.cg-nav__link a:focus-visible {
	color: var(--wp--preset--color--accent);
}
.cg-nav .foundry-langsw {
	color: var(--wp--preset--color--muted);
}
.cg-nav .foundry-langsw [aria-current] {
	color: var(--wp--preset--color--base);
}
.cg-nav .wp-block-buttons {
	margin: 0;
}
.cg-nav__cta .wp-block-button__link {
	background: var(--wp--preset--color--cta);
	color: var(--wp--preset--color--base); /* legacy CTA text is ink, not white */
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.95rem;
	font-weight: 700;
	border-radius: 10px;
	padding: 0.8em 1.5em;
	text-decoration: none;
}
.cg-nav__cta .wp-block-button__link::after {
	content: "\2192"; /* trailing arrow kept out of the segment text (gsbp-cg11) */
	margin-left: 0.5em;
	font-weight: 400;
}
.cg-nav__cta .wp-block-button__link:hover,
.cg-nav__cta .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--cta-hover);
	color: var(--wp--preset--color--base);
}

/* ═══ PARITY PASS · 1-hero (foundry/hero · .cg-hero) ═══════════════════════ */

/* Token collision fix: this brand inverts base/contrast (base = deep navy
   #0E1B24). Foundry's --text-light scheme colours text with the base token,
   which renders navy-on-navy here. Remap base to white inside the dark hero
   only (fixes title, subtitle, breadcrumbs, and outline-button flips in one
   line). */
.cg-hero.foundry-hero--text-light {
	--wp--preset--color--base: var(--wp--preset--color--contrast, #FFFFFF);
}

/* Legacy deep-navy radial band: keep the token gradient underneath, add the
   soft teal glow upper-right. NOTE: the dark stop is primary-hover, NOT base —
   base is remapped to white above and would leak in here. */
.cg-hero .foundry-hero__bg--gradient {
	background:
		radial-gradient(120% 130% at 78% 12%,
			color-mix(in srgb, var(--wp--preset--color--accent-light, #149AA6) 16%, transparent) 0%,
			transparent 58%),
		linear-gradient(135deg,
			var(--wp--preset--color--primary, #0A2E4D) 0%,
			var(--wp--preset--color--primary-hover, #06203A) 100%);
}

/* Eyebrow chip: teal mono text (the badge pill supplies bg + border natively
   via eyebrow_style=badge); the legacy chip carries no status dot. The dot
   rule self-retires if Foundry ships a badge-without-dot option and the field
   is switched. */
.cg-hero.foundry-hero--text-light .foundry-hero__eyebrow {
	color: var(--wp--preset--color--accent-light, #149AA6);
	opacity: 1;
}
.cg-hero .foundry-hero__eyebrow-dot { display: none; }

/* Intro copy: legacy is light-slate, softer than pure white. */
.cg-hero.foundry-hero--text-light .foundry-hero__subtitle {
	color: color-mix(in srgb,
		var(--wp--preset--color--contrast, #FFFFFF) 74%,
		var(--wp--preset--color--primary, #0A2E4D));
}

/* Primary CTA: the coral cta token (Foundry's primary variant maps to the
   navy primary token, invisible on this band). */
.cg-hero .foundry-hero__btn--primary {
	background: var(--wp--preset--color--cta, #E2603D);
	border-color: var(--wp--preset--color--cta, #E2603D);
	color: var(--wp--preset--color--on-primary, #FFFFFF);
}
.cg-hero .foundry-hero__btn--primary:hover {
	background: var(--wp--preset--color--cta-hover, #C24A2A);
	border-color: var(--wp--preset--color--cta-hover, #C24A2A);
}

/* Arrow glyph fallback: the hero emits <span data-icon="arrow-right"> for the
   theme to hydrate, but no Lucide hydrator ships in plugin 0.4.x / theme 0.2.0
   yet. :empty makes this self-retiring the moment hydration lands. */
.cg-hero .foundry-hero__btn-icon[data-icon="arrow-right"]:empty::before {
	content: "\2192"; /* → */
}

/* ── PARITY PASS · B2 hero stat row — foundry/stats .cg-hero-stats ─────────
   Merge the stat band into the hero: kill the block-gap seam, continue the
   navy, hairline divider, left-packed 3-across, white values / light labels
   (legacy gsbp-cg27..cg34 row). Token-driven; re-skins with the palette. */

.foundry-stats.cg-hero-stats {
	/* Flush against the hero — removes the root block-gap seam line. */
	margin-block-start: 0;
	/* Continue the hero band: start near where the hero's 135° primary →
	   primary-hover gradient bottoms out, settle on primary-hover. */
	background: linear-gradient(
		180deg,
		color-mix(in srgb, var(--wp--preset--color--primary) 45%, var(--wp--preset--color--primary-hover)) 0%,
		var(--wp--preset--color--primary-hover) 100%
	);
	color: var(--wp--preset--color--contrast);
	padding-block: 0 clamp(3.5rem, 7vw, 5.5rem);
}

/* Hairline divider across the content width (legacy border-top). */
.cg-hero-stats .foundry-stats__inner {
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 15%, transparent);
	padding-top: clamp(2rem, 4vw, 2.75rem);
}

/* Left-aligned; legacy columns are content-sized and left-packed, not equal
   thirds. Single column below 800px (plugin default is 2-col centered). */
.cg-hero-stats .foundry-stats__list {
	text-align: left;
	justify-content: start;
	grid-template-columns: 1fr;
	row-gap: 1.75rem;
}
@media (min-width: 800px) {
	.foundry-stats--n3.cg-hero-stats .foundry-stats__list {
		grid-template-columns: repeat(3, auto);
		column-gap: clamp(2.5rem, 6vw, 5rem);
	}
}

.cg-hero-stats .foundry-stats__item {
	align-items: flex-start;
	gap: 0.5rem;
}

/* Legacy scale: modest Space Grotesk values in white, light muted labels. */
.cg-hero-stats .foundry-stats__value {
	font-size: 1.875rem; /* legacy ≈30px — deliberately not the display token */
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}
.cg-hero-stats .foundry-stats__label {
	font-size: 0.9375rem;
	font-weight: 400;
	color: color-mix(in srgb, var(--wp--preset--color--contrast) 62%, transparent);
}

/* ── PARITY PASS · 3-network — harbour band (foundry/feature-rows › .cg-network) ──
 * Legacy: navy panel, teal mono eyebrow, white H2 + two light paragraphs left,
 * cream C-mark ~340px right. Copy lives in Row 1 fields (see build-field changes);
 * this skin only recolors the band and un-cards the media box. */
.foundry-feature-rows.cg-network {
	background: var(--wp--preset--color--primary-hover, #06203A);
	color: var(--wp--preset--color--contrast, #fff);
	/* Taller top than the block default (legacy breathes ~140px above the eyebrow);
	 * shallow bottom so the 4-feature card-grid (block 4-network-features) reads
	 * as the same navy band continuing below. */
	padding-block: clamp(3.5rem, 8vw, 6.5rem) clamp(1.5rem, 3vw, 2.5rem);
}

/* Text column — legacy measure ~55ch, slightly wider than the media column. */
@media (min-width: 820px) {
	.foundry-feature-rows.cg-network .foundry-feature-rows__row {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	}
}

/* Teal mono uppercase eyebrow (legacy gsbp-cg39 treatment). */
.foundry-feature-rows.cg-network .foundry-feature-rows__row-eyebrow {
	font-family: var(--wp--preset--font-family--mono, ui-monospace, monospace);
	font-weight: 500;
	letter-spacing: 0.18em;
	color: var(--wp--preset--color--accent-light, #149AA6);
	margin-bottom: var(--wp--preset--spacing--sm, 1rem);
}

/* Row title stands in for the section H2 — size to the legacy ~30px scale. */
.foundry-feature-rows.cg-network .foundry-feature-rows__row-title {
	font-size: clamp(1.65rem, 2.4vw, 1.95rem);
	line-height: 1.25;
	color: var(--wp--preset--color--contrast, #fff);
	max-width: 24ch;
}

/* Two paragraphs: first brighter, second dimmer (legacy hierarchy), token-mixed
 * because the palette has no on-dark muted preset. */
.foundry-feature-rows.cg-network .foundry-feature-rows__row-text {
	max-width: 55ch;
	color: color-mix(in srgb, var(--wp--preset--color--contrast, #fff) 82%, var(--wp--preset--color--primary, #0A2E4D));
}
.foundry-feature-rows.cg-network .foundry-feature-rows__row-text p + p {
	color: color-mix(in srgb, var(--wp--preset--color--contrast, #fff) 62%, var(--wp--preset--color--primary-hover, #06203A));
}

/* C-mark: raw transparent PNG floating on the navy — kill the block's card chrome
 * (rounded dark box + shadow + cover-crop) and cap at the legacy ~340px width. */
.foundry-feature-rows.cg-network .foundry-feature-rows__media {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
	display: flex;
	justify-content: center;
}
.foundry-feature-rows.cg-network .foundry-feature-rows__media img {
	width: min(340px, 80%);
	height: auto;
	object-fit: contain;
}

/* ═══ PARITY PASS: network 4-feature grid — foundry/card-grid .cg-network-features ═══
   Legacy = borderless icon-feature list living on the navy #cg-network panel:
   no card surfaces, no heading, 2×2 items with a small coral icon gutter,
   cream bold titles, muted-light text. Panel navy sampled at exactly the
   `primary` token (#0A2E4D); legacy icons are the `cta` token (#E2603D);
   legacy titles are the `surface` cream (#F4EFE6). This band must sit flush
   under the cg-network feature-rows band — both need the same primary
   background (seam handled by that block's pass; see prod gaps). */

.cg-network-features.foundry-card-grid {
	background: var(--wp--preset--color--primary, #0A2E4D);
	padding-block-start: 0; /* flush against the cg-network harbour band above */
	padding-block-end: var(--wp--preset--spacing--2xl, clamp(3rem, 8vw, 6rem));
}

/* This band has no heading (legacy has none). With ACF inline editing active
   the empty head markup can still render on the front end — collapse its gap
   instead of hiding it, so a heading typed later in wp-admin is never silently
   invisible; the colors below keep any future head legible on navy. */
.cg-network-features .foundry-card-grid__head { margin-bottom: 0; }
.cg-network-features .foundry-card-grid__eyebrow {
	color: var(--wp--preset--color--accent-light, #149AA6);
}
.cg-network-features .foundry-card-grid__title {
	color: var(--wp--preset--color--contrast, #FFFFFF);
}
.cg-network-features .foundry-card-grid__intro {
	color: color-mix(in srgb, var(--wp--preset--color--surface, #F4EFE6) 65%, var(--wp--preset--color--primary, #0A2E4D));
}

/* Legacy grid hugs the harbour prose column (≈640px, left-aligned in the
   container) rather than spanning the full 1200px band. */
.cg-network-features .foundry-card-grid__list {
	max-width: 640px;
	margin-inline: 0 auto;
	gap: var(--wp--preset--spacing--lg, 2rem) var(--wp--preset--spacing--lg, 2rem);
}

/* Card → transparent feature item. Fixed 2.25rem icon gutter reproduces the
   legacy indent (icon left of title, text aligned under the title) and means
   icons added later via the card Icon field drop in with zero CSS changes. */
.cg-network-features .foundry-card-grid__card {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	display: grid;
	grid-template-columns: 2.25rem 1fr;
	align-items: start;
	gap: 0.4rem 0;
	transition: none;
}
.cg-network-features .foundry-card-grid__icon {
	grid-area: 1 / 1;
	width: 1.25rem;
	height: 1.25rem;
	margin: 0.15em 0 0; /* optically align with the title cap height */
}
.cg-network-features .foundry-card-grid__card-title {
	grid-area: 1 / 2;
	font-size: var(--wp--preset--font-size--base, 1rem);
	line-height: 1.3;
	color: var(--wp--preset--color--surface, #F4EFE6);
}
.cg-network-features .foundry-card-grid__card-text {
	grid-area: 2 / 2;
	font-size: 0.9375rem;
	line-height: 1.75;
	color: color-mix(in srgb, var(--wp--preset--color--surface, #F4EFE6) 65%, var(--wp--preset--color--primary, #0A2E4D));
}

/* ── PARITY PASS · D — Two arms (#cg-arms · feature-rows skinned as 2-up cards) ──
   Site base token is dark navy; this section is the legacy WHITE band, so it opts
   out via the (inverted-scheme) contrast token and remaps text to navy/teal/muted. */
.foundry-feature-rows.cg-arms {
	background: var(--wp--preset--color--contrast, #FFFFFF);
	color: var(--wp--preset--color--primary, #0A2E4D);
}

/* Section head: legacy is left-aligned, not centered. */
.cg-arms .foundry-feature-rows__head {
	margin: 0 0 var(--wp--preset--spacing--xl, 3rem);
	max-width: 620px;
	text-align: left;
}
.cg-arms .foundry-feature-rows__eyebrow {
	font-family: var(--wp--preset--font-family--mono, ui-monospace, monospace);
	font-weight: 500;
	letter-spacing: 0.16em;
	color: var(--wp--preset--color--accent, #0E7C86);
}
.cg-arms .foundry-feature-rows__title { color: var(--wp--preset--color--primary, #0A2E4D); }
.cg-arms .foundry-feature-rows__intro {
	font-size: 1.0625rem;
	color: var(--wp--preset--color--muted, #5A6B75);
}

/* Rows container → side-by-side card grid (legacy: two white cards). */
.cg-arms .foundry-feature-rows__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	align-items: stretch;
}
@media (min-width: 820px) {
	.cg-arms .foundry-feature-rows__list { grid-template-columns: 1fr 1fr; }
}

/* Each row = one card; kill the alternating 2-col row grid (rows here are text-only). */
.cg-arms .foundry-feature-rows__row {
	display: flex;
	background: var(--wp--preset--color--contrast, #FFFFFF);
	border: 1px solid var(--wp--preset--color--border, #DCE3E5);
	border-radius: 16px;
	box-shadow: 0 14px 34px rgba(14, 27, 36, 0.07);
	padding: clamp(1.5rem, 3vw, 2.5rem);
}
.cg-arms .foundry-feature-rows__text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}

/* Card typography on white. */
.cg-arms .foundry-feature-rows__row-eyebrow {
	font-family: var(--wp--preset--font-family--mono, ui-monospace, monospace);
	font-weight: 500;
	letter-spacing: 0.14em;
	color: var(--wp--preset--color--accent, #0E7C86);
}
.cg-arms .foundry-feature-rows__row-title {
	color: var(--wp--preset--color--primary, #0A2E4D);
	font-size: clamp(1.35rem, 2.2vw, 1.6rem);
}
.cg-arms .foundry-feature-rows__row-text { color: var(--wp--preset--color--muted, #5A6B75); }

/* Icon badge tint → pale teal (legacy). Renders only once row Icon assets are set. */
.cg-arms .foundry-feature-rows__row-icon {
	background: color-mix(in srgb, var(--wp--preset--color--accent, #0E7C86) 10%, #FFFFFF);
}

/* Checklist: teal outline circle-check (legacy) instead of filled-primary disc.
   Data-URI stroke hex mirrors the accent token #0E7C86 — keep in sync with theme.json. */
.cg-arms .foundry-feature-rows__check { color: var(--wp--preset--color--primary, #0A2E4D); }
.cg-arms .foundry-feature-rows__check::before {
	background-color: transparent;
	border: 1.5px solid var(--wp--preset--color--accent, #0E7C86);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7C86' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
	background-size: 0.65rem;
}
.cg-arms .foundry-feature-rows__checklist { margin-bottom: 1.25rem; }

/* Footnote: restyle the inline stat wrapper as the legacy thin-rule mono footnote,
   pinned to the card bottom and ordered AFTER the checklist (DOM has it before).
   Build feeds the note through stat_label until the Foundry note-only-stat fix
   ships; the __stat-note selector is forward-compat for when it moves back. */
.cg-arms .foundry-feature-rows__stat {
	order: 10;
	width: 100%;
	margin-top: auto;
	padding: 1rem 0 0;
	border-left: 0;
	border-top: 1px solid var(--wp--preset--color--border, #DCE3E5);
}
.cg-arms .foundry-feature-rows__stat-label,
.cg-arms .foundry-feature-rows__stat-note {
	font-family: var(--wp--preset--font-family--mono, ui-monospace, monospace);
	font-size: 0.78rem;
	letter-spacing: 0.02em;
	line-height: 1.5;
	color: var(--wp--preset--color--muted, #5A6B75);
}

/* ═══ PARITY PASS · Block 6 — MODELS (#cg-models · foundry/process-steps) ═══
   Legacy: sand band, LEFT-aligned head (teal mono eyebrow / navy H2 / muted
   intro), then 3 white cards: coral mono meta, navy H3, muted text, teal mono
   pill chip at the card foot. Foundry base assumes contrast = dark text; this
   theme is dark-first (contrast = #FFFFFF), so text colors are re-anchored for
   the sand surface here. Block renders layout=row (see build-field fix). */

/* Section: fix white-on-sand text inherit + modest padding bump vs legacy */
.cg-models.foundry-process-steps {
	color: var(--wp--preset--color--surface-contrast, #0E1B24);
	padding-block: clamp(3.5rem, 8vw, 6.75rem);
}

/* Head: legacy is left-aligned against the container edge, ~600px measure */
.cg-models .foundry-process-steps__head {
	max-width: 600px;
	margin-inline: 0;
	text-align: left;
}
.cg-models .foundry-process-steps__eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--accent);
}
.cg-models .foundry-process-steps__title {
	color: var(--wp--preset--color--primary);
	font-size: clamp(2rem, 3.4vw, 2.5rem);
	letter-spacing: -0.02em;
}
.cg-models .foundry-process-steps__intro {
	font-size: 1.0625rem;
	color: var(--wp--preset--color--muted);
}

/* Steps: 3-up card grid (base row layout goes 4-up ≥1000px, stranding an
   empty 4th column with 3 steps) */
.cg-models .foundry-process-steps__list { gap: 1.5rem; }
@media (min-width: 1000px) {
	.cg-models .foundry-process-steps__list { grid-template-columns: repeat(3, 1fr); }
}

/* Legacy has no numbered circles — the coral "01 — …" meta is the ordinal */
.cg-models .foundry-process-steps__num { display: none; }

/* Card each step body white (in this palette, contrast token = white) */
.cg-models .foundry-process-steps__step { height: 100%; }
.cg-models .foundry-process-steps__step-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1;
	background: var(--wp--preset--color--contrast, #FFFFFF);
	border: 1px solid var(--wp--preset--color--border, #DCE3E5);
	border-radius: 14px;
	padding: 2rem 2.125rem 2.125rem;
	box-shadow: 0 10px 26px rgba(14, 27, 36, 0.05);
}

/* Coral mono meta, mixed case (base uppercases + colors it primary) */
.cg-models .foundry-process-steps__step-meta {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0.05em;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--cta);
	margin-bottom: 0.65rem;
}
.cg-models .foundry-process-steps__step-title {
	color: var(--wp--preset--color--primary);
	font-size: 1.25rem;
}
.cg-models .foundry-process-steps__step-text {
	font-size: 0.9375rem;
	margin-bottom: 1.35rem;
}

/* Badge → teal mono bordered pill chip, pinned to the card foot */
.cg-models .foundry-process-steps__step-badge {
	margin-top: auto;
	display: inline-block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1;
	color: var(--wp--preset--color--accent);
	background: color-mix(in srgb, var(--wp--preset--color--accent) 7%, #FFFFFF);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent) 22%, #FFFFFF);
	border-radius: 8px;
	padding: 0.5rem 0.8rem;
}

/* ═══ PARITY PASS · Block 7 — Verticals card grid (.cg-verticals) ═══════════
   Legacy is a LIGHT section on this dark-base brand: white bg, left-aligned
   head, teal MONO eyebrow, white bordered cards with a navy 40px icon tile
   left of the title, and the badge as a mono teal uppercase meta line UNDER
   the title. Foundry DOM order is badge→icon→title→text, so the card becomes
   a grid with explicit cell placement (not flex `order`). */

.cg-verticals.foundry-card-grid {
	/* No light-background token exists in the palette (base = dark navy); literal white matches legacy. */
	background: #FFFFFF;
}

/* Head: legacy is left-aligned, not centered */
.cg-verticals .foundry-card-grid__head {
	margin-inline: 0;
	text-align: left;
}
.cg-verticals .foundry-card-grid__eyebrow {
	font-family: var(--wp--preset--font-family--mono, ui-monospace, monospace);
	font-weight: 500;
	letter-spacing: 0.2em;
	color: var(--wp--preset--color--accent, #0E7C86);
}
.cg-verticals .foundry-card-grid__title {
	/* default is --contrast (#FFF) — invisible on the flipped white section */
	color: var(--wp--preset--color--base, #0E1B24);
}

/* Card: white, light border, icon ledger. Grid areas — icon col 1 spanning
   title+badge rows; title/badge/text in the last column so a card with no
   icon still left-aligns cleanly (`:has()` adds the icon column only when
   an icon is present). */
.cg-verticals .foundry-card-grid__card {
	background: #FFFFFF;
	border-color: var(--wp--preset--color--border, #DCE3E5);
	border-radius: 8px;
	display: grid;
	grid-template-columns: 1fr;
	column-gap: 1rem;
	row-gap: 0.25rem;
	align-content: start;
}
.cg-verticals .foundry-card-grid__card:has(.foundry-card-grid__icon) {
	grid-template-columns: auto 1fr;
}
.cg-verticals .foundry-card-grid__card > * {
	grid-column: -2 / -1; /* last column, with or without an icon column */
	min-width: 0;
}
.cg-verticals .foundry-card-grid__icon {
	grid-column: 1;
	grid-row: 1 / span 2;
	align-self: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 9px; /* white line-icon SVG renders ~22px inside the tile */
	box-sizing: border-box;
	border-radius: 10px;
	background: var(--wp--preset--color--base, #0E1B24);
	align-items: center;
	justify-content: center;
}
.cg-verticals .foundry-card-grid__card-title {
	grid-row: 1;
	align-self: end;
	font-size: 1.125rem; /* legacy card titles ~18px, not Foundry's 1.5rem */
	color: var(--wp--preset--color--base, #0E1B24);
}
.cg-verticals .foundry-card-grid__badge {
	grid-row: 2;
	/* strip the pill: plain mono teal uppercase meta line under the title */
	padding: 0;
	border-radius: 0;
	background: none;
	font-family: var(--wp--preset--font-family--mono, ui-monospace, monospace);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--accent, #0E7C86);
}
.cg-verticals .foundry-card-grid__card-text {
	grid-row: 3;
	margin-top: 0.5rem;
	font-size: 0.9375rem;
}

/* ── PARITY PASS · Block 8: contact/lead band · foundry/quote-form split · #cg-contact ──
   Root cause: quote-form defaults paint band=surface (cream) and card=base — but this
   brand's theme.json maps base to deep navy #0E1B24, so staging renders inverted vs
   legacy (cream band, navy card, unreadable labels). This section flips it back with
   tokens only. All selectors scoped to .foundry-quote.cg-contact. */

/* Band: deep-navy gradient (primary → base), full-bleed, taller like legacy */
.foundry-quote.cg-contact {
	background: linear-gradient(165deg, var(--wp--preset--color--primary, #0A2E4D) 0%, var(--wp--preset--color--base, #0E1B24) 100%);
	color: var(--wp--preset--color--contrast, #ffffff);
	border-radius: 0; /* alignfull band — kill the block's 16px card radius */
	padding-block: clamp(4rem, 9vw, 7.5rem); /* legacy band is visibly taller than block default */
}
@media (min-width: 782px) {
	/* legacy vertically centers the copy column beside the tall form card */
	.foundry-quote.cg-contact .foundry-quote__inner { align-items: center; }
}

/* Left copy: teal mono eyebrow, white H2, light body */
.foundry-quote.cg-contact .foundry-quote__eyebrow {
	font-family: var(--wp--preset--font-family--mono, ui-monospace, monospace);
	font-weight: 500;
	letter-spacing: 0.18em;
	color: var(--wp--preset--color--accent-light, #149AA6);
}
.foundry-quote.cg-contact .foundry-quote__title { color: var(--wp--preset--color--contrast, #ffffff); }
.foundry-quote.cg-contact .foundry-quote__desc  { color: rgba(255, 255, 255, 0.78); }

/* Bullets as the legacy 2-feature list: coral mark, light readable text, roomier rhythm.
   (Bold lead-in before the em-dash needs a bullets `title` subfield — see ledger.) */
.foundry-quote.cg-contact .foundry-quote__bullets {
	gap: 1.1em;
	margin-top: var(--wp--preset--spacing--lg, 1.75rem);
}
.foundry-quote.cg-contact .foundry-quote__bullet {
	font-weight: 400;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.85);
}
.foundry-quote.cg-contact .foundry-quote__bullet-mark { color: var(--wp--preset--color--cta, #E2603D); }

/* Form card: white, navy H3, muted note (block default painted it base/navy) */
.foundry-quote.cg-contact .foundry-quote__form {
	background: var(--wp--preset--color--contrast, #ffffff);
	border-color: var(--wp--preset--color--border, #DCE3E5);
	color: var(--wp--preset--color--base, #0E1B24);
}
.foundry-quote.cg-contact .foundry-quote__form-title {
	font-family: var(--wp--preset--font-family--heading, inherit);
	font-size: var(--wp--preset--font-size--xl, 1.375rem);
	font-weight: 700;
	color: var(--wp--preset--color--primary, #0A2E4D);
	margin: 0 0 0.35em;
}
.foundry-quote.cg-contact .foundry-quote__form-note {
	color: var(--wp--preset--color--muted, #5A6B75);
	font-size: 0.9375rem;
	line-height: 1.55;
	margin: 0 0 1.25em;
}

/* ── Gravity Forms skin, scoped to this card only ─────────────────────────────
   Labels mono uppercase small, coral (Required), cream inputs, coral full-width submit. */
.foundry-quote.cg-contact .foundry-quote__form .gfield_label {
	font-family: var(--wp--preset--font-family--mono, ui-monospace, monospace);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary, #0A2E4D);
}
.foundry-quote.cg-contact .foundry-quote__form .gfield_required {
	color: var(--wp--preset--color--cta, #E2603D);
	text-transform: uppercase;
	font-size: inherit;
}
/* Radio/checkbox choice labels stay sentence-case body type (legacy) */
.foundry-quote.cg-contact .foundry-quote__form .gchoice label,
.foundry-quote.cg-contact .foundry-quote__form .gform-field-label--type-inline {
	font-family: var(--wp--preset--font-family--body, inherit);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--wp--preset--color--base, #0E1B24);
}

/* Inputs: cream surface, soft border, rounded */
.foundry-quote.cg-contact .foundry-quote__form input[type="text"],
.foundry-quote.cg-contact .foundry-quote__form input[type="email"],
.foundry-quote.cg-contact .foundry-quote__form input[type="url"],
.foundry-quote.cg-contact .foundry-quote__form input[type="tel"],
.foundry-quote.cg-contact .foundry-quote__form input[type="number"],
.foundry-quote.cg-contact .foundry-quote__form select,
.foundry-quote.cg-contact .foundry-quote__form textarea {
	background: var(--wp--preset--color--surface, #F4EFE6);
	border: 1px solid var(--wp--preset--color--border, #DCE3E5);
	border-radius: 8px;
	color: var(--wp--preset--color--base, #0E1B24);
	padding: 0.65em 0.85em;
	width: 100%;
}
.foundry-quote.cg-contact .foundry-quote__form input:focus,
.foundry-quote.cg-contact .foundry-quote__form select:focus,
.foundry-quote.cg-contact .foundry-quote__form textarea:focus {
	border-color: var(--wp--preset--color--accent, #0E7C86);
	outline: 2px solid var(--wp--preset--color--accent, #0E7C86);
	outline-offset: 0;
}

/* Submit: coral, full width */
.foundry-quote.cg-contact .foundry-quote__form input[type="submit"],
.foundry-quote.cg-contact .foundry-quote__form button[type="submit"],
.foundry-quote.cg-contact .foundry-quote__form .gform_footer input.button,
.foundry-quote.cg-contact .foundry-quote__form .gform_footer button {
	width: 100%;
	background: var(--wp--preset--color--cta, #E2603D);
	color: var(--wp--preset--color--on-primary, #ffffff);
	font-family: var(--wp--preset--font-family--heading, inherit);
	font-weight: 600;
	font-size: 1rem;
	border: 0;
	border-radius: 10px;
	padding: 0.9em 1.5em;
	cursor: pointer;
	transition: background var(--foundry-motion-speed, 0.3s) ease;
}
.foundry-quote.cg-contact .foundry-quote__form input[type="submit"]:hover,
.foundry-quote.cg-contact .foundry-quote__form button[type="submit"]:hover,
.foundry-quote.cg-contact .foundry-quote__form .gform_footer input.button:hover,
.foundry-quote.cg-contact .foundry-quote__form .gform_footer button:hover {
	background: var(--wp--preset--color--cta-hover, #C24A2A);
}

/* ═════════════════════════════════════════════════════════════════════
   PARITY PASS — Block 9: footer (in-content chrome)  [.cg-footer]
   Legacy: primary-navy band (#0A2E4D = --primary token), cream wordmark +
   mono uppercase H4 eyebrows, muted cream links/legal at graded opacities,
   thin rule above the legal row. All colors derive from theme.json tokens
   via color-mix — no new hex values introduced. Sampled legacy grays:
   tagline #96A1A8 ≈ surface@62%, links #A2ACB1 ≈ surface@66%, legal
   #7F8F99 ≈ surface@50%, pron #738592 ≈ surface@45%, rule #26455F ≈
   white@13% — all computed over the primary navy.
   ═══════════════════════════════════════════════════════════════════ */

.cg-footer {
	/* Feeds [foundry_language_switcher], which reads var(--cg-mono). */
	--cg-mono: var(--wp--preset--font-family--mono, ui-monospace, SFMono-Regular, Menlo, monospace);
	/* Padding fallback — the group's native padding attrs (build-field
	   change #1) win via inline style when applied. */
	padding-block: 4rem 3.25rem;
	font-size: 0.95rem; /* legacy footer body ~15px vs site 17px */
}

/* ── Brand wordmark (heading face, cream) ─────────────────────────── */
.cg-footer .cg-footer__brand {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0;
}
.cg-footer .cg-footer__brand a {
	color: var(--wp--preset--color--surface);
}
.cg-footer .cg-footer__brand a:hover {
	color: var(--wp--preset--color--contrast);
}

/* ── Tagline + mono pronunciation line (tight stack, muted cream) ── */
.cg-footer .cg-footer__tagline {
	color: color-mix(in srgb, var(--wp--preset--color--surface) 62%, transparent);
	max-width: 26em;
	margin-block: 1.6rem 0;
}
.cg-footer .cg-footer__pron {
	font-family: var(--cg-mono);
	font-size: 0.78rem;
	color: color-mix(in srgb, var(--wp--preset--color--surface) 45%, transparent);
	margin-block: 0.35rem 0;
}

/* ── Nav column H4s — mono uppercase eyebrows (NETWORK / WORK WITH US) ── */
.cg-footer .cg-footer__h {
	font-family: var(--cg-mono);
	font-size: 0.74rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--surface);
	margin: 0 0 1.1rem;
}

/* ── Nav links — light rows, generous rhythm ──────────────────────── */
.cg-footer .cg-footer__link {
	margin-block: 0.58rem 0;
}
.cg-footer .cg-footer__link a {
	color: color-mix(in srgb, var(--wp--preset--color--surface) 66%, transparent);
	text-decoration: none;
	transition: color var(--foundry-motion-speed, 0.3s) ease;
}
.cg-footer .cg-footer__link a:hover,
.cg-footer .cg-footer__link a:focus-visible {
	color: var(--wp--preset--color--surface);
}

/* ── Legal row — thin rule, small muted line, mono language switcher ── */
.cg-footer .cg-footer__legalrow {
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 13%, transparent);
	margin-block-start: 3rem;
	padding-block-start: 1.75rem;
	color: color-mix(in srgb, var(--wp--preset--color--surface) 50%, transparent);
}
.cg-footer .cg-footer__legal,
.cg-footer .cg-footer__region {
	font-size: 0.8rem;
	margin: 0;
	color: inherit;
}
/* [foundry_language_switcher] output inherits --cg-mono + the legalrow
   color; its built-in inline opacities (active 1 / inactive .6) reproduce
   the legacy EN-bright / NL-FR-ES-dim grading over the 50% base. */


/* ════════════════════════════════════════════════════════════════════
 * PARITY PASS 2 — 2026-07-19 (manual round 3 targeted fixes)
 * ════════════════════════════════════════════════════════════════════ */

/* Band seams: the theme's root blockGap inserts white gaps between the
 * one-pager's alignfull bands. The page is a continuous band rhythm. */
.wp-block-post-content > .alignfull,
.wp-block-post-content > .foundry-hero,
.wp-block-post-content > .foundry-stats {
	margin-block: 0 !important;
}

/* GF submit inside the lead card: legacy is the coral pill, full width,
 * "Send to the right desk". */
.cg-contact .gform_wrapper .gform_footer { margin: 0; padding: 0; }
.cg-contact .gform_wrapper .gform_button,
.cg-contact .gform_wrapper input[type="submit"] {
	width: 100%;
	background: var(--wp--preset--color--cta, #E2603D);
	color: #fff;
	border: 0;
	border-radius: 10px;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 1rem;
	padding: 0.9em 1.5em;
	cursor: pointer;
}
.cg-contact .gform_wrapper .gform_button:hover,
.cg-contact .gform_wrapper input[type="submit"]:hover {
	background: var(--wp--preset--color--cta-hover, #C24A2A);
}

/* ── PARITY PASS 2b — remaining seams + GF Orbital submit ─────────────── */

/* The one-pager is a continuous full-bleed band rhythm: zero the theme's
 * inter-block gap for ALL direct children of post-content on this template
 * (the ACF block wrapper div doesn't carry .alignfull, so the earlier
 * alignfull-scoped rule missed it). */
.page-template-page-no-title .wp-block-post-content > * {
	margin-block: 0 !important;
}

/* GF 2.9 "Orbital" theme: style via its custom props + button class. */
.cg-contact .gform_wrapper.gravity-theme .gform_button,
.cg-contact .gform_wrapper .gform-theme-button,
.cg-contact .gform_wrapper button[type="submit"] {
	width: 100%;
	background: var(--wp--preset--color--cta, #E2603D);
	color: #fff;
	border: 0;
	border-radius: 10px;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
}
.cg-contact .gform_wrapper {
	--gf-ctrl-btn-bg-color-primary: var(--wp--preset--color--cta, #E2603D);
	--gf-ctrl-btn-bg-color-hover-primary: var(--wp--preset--color--cta-hover, #C24A2A);
	--gf-ctrl-btn-border-color-primary: var(--wp--preset--color--cta, #E2603D);
	--gf-color-primary: var(--wp--preset--color--cta, #E2603D);
}
/* Submit: full-width like legacy (Orbital sizes buttons intrinsically). */
.cg-contact .gform_wrapper form .gform_footer button,
.cg-contact .gform_wrapper form .gform_footer input[type="submit"],
.cg-contact .gform_wrapper .gform-theme-button {
	width: 100% !important;
}

/* ════════════════════════════════════════════════════════════════════
 * PARITY PASS 3 — 2026-07-19 (height tightening vs legacy, measured)
 * nav +26 · hero+stats +56 · network+feat +77 · contact +186 → target ≈0
 * ════════════════════════════════════════════════════════════════════ */

/* nav: 97px → ~71px */
.cg-nav { padding-block: 0.9rem; }

/* stats band: trim to close the hero(+stats) +56 */
.cg-hero-stats.foundry-stats { padding-block: 2.2rem 2.6rem; }

/* network pair: the two blocks each carry full section padding — halve the
 * inner seam (prose bottom + features top) to close +77 */
.cg-network .foundry-feature-rows__inner,
.cg-network.foundry-feature-rows { padding-bottom: 1.25rem; }
.cg-network-features.foundry-card-grid { padding-top: 0.75rem; padding-bottom: 3.5rem; }

/* contact: GF Orbital vertical rhythm — legacy fields sit ~20px apart */
.cg-contact .gform_wrapper {
	--gf-form-gap-y: 16px;
	--gf-field-gap-y: 16px;
}
.cg-contact .gform_wrapper .gfield { margin-block-start: 14px; }
.cg-contact .gform_wrapper .gform_fields { row-gap: 14px; }
.cg-contact .foundry-quote__form { padding-block: 2rem; }
.cg-contact.foundry-quote { padding-block: 4.5rem; }

/* ── PARITY PASS 3b — hero padding + icon-beside-text layouts ─────────── */
.cg-hero.foundry-hero { padding-block: 74px; }
.cg-network.foundry-feature-rows { padding-top: 80px; }

/* Network features + verticals: legacy places the icon LEFT of the text
 * column (not stacked above). Two-column card grid keeps icon footprint out
 * of the vertical rhythm. */
.cg-network-features .foundry-card-grid__card,
.cg-verticals .foundry-card-grid__card {
	display: grid;
	grid-template-columns: 2.5rem 1fr;
	column-gap: 0.9rem;
	align-items: start;
}
.cg-network-features .foundry-card-grid__card > img,
.cg-network-features .foundry-card-grid__icon,
.cg-verticals .foundry-card-grid__card > img,
.cg-verticals .foundry-card-grid__icon {
	grid-column: 1;
	grid-row: 1 / span 3;
	width: 2rem;
	height: 2rem;
	object-fit: contain;
	margin: 0;
}
.cg-network-features .foundry-card-grid__card > :not(img):not(.foundry-card-grid__icon),
.cg-verticals .foundry-card-grid__card > :not(img):not(.foundry-card-grid__icon) {
	grid-column: 2;
}

/* Arms row icons: small glyph boxes like legacy. */
.cg-arms .foundry-feature-rows__row-icon,
.cg-arms .foundry-feature-rows__row img[class*="icon"] {
	width: 2.25rem;
	height: 2.25rem;
	object-fit: contain;
}
