/* ==========================================================================
   KMA — Shared CTA band  (rendered by kma_cta_band() in inc/cta.php)
   --------------------------------------------------------------------------
   ONE flat, reusable "get a quote / call us" section that closes nearly every
   page. Replaces the six near-identical `.kma-cta` blocks that were duplicated
   across the per-family stylesheets. Two-panel split: a green message column +
   a solid ink action panel (phone-as-headline + one primary + About/Contact).

   FLAT: no border-radius, box-shadow, transition, animation or transform.
   Hierarchy comes from scale, weight, colour blocking and hard 3px/1px rules.

   SPECIFICITY GUARD: sub-element rules are prefixed `.kma-cta.kma-cta` (0,3,0)
   so they out-rank the per-scope legacy-defeating normalizers
   `.kma-loc p / .kma-loc a { font-family/size: inherit }` (0,2,1) that live in
   the family stylesheets — otherwise the CTA's Barlow/Space-Mono voices and
   fluid sizes would be clobbered on location/blog pages (the same cascade trap
   that hit the hero eyebrow).

   NOTE: @font-face declarations live ONLY in kma-chrome.css (site-wide, loaded
   first on every page). Duplicating them here was wasted bytes on the critical
   path — removed 2026-07-13.
   ========================================================================== */

/* ---- Band + split layout ------------------------------------------------- */
.kma-cta {
	background: linear-gradient(120deg, #3a5f16 0%, #46731c 60%, #4c7b1e 100%);
	color: #fff;
}
.kma-cta.kma-cta .kma-cta__inner {
	max-width: 1220px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0;
}
/* Every Layout "switcher": asymmetric 2-col above ~36rem of its own width,
   stacked below — no media query needed for the reflow. */
.kma-cta.kma-cta .kma-cta__msg {
	flex-grow: 5;
	flex-basis: calc((36rem - 100%) * 999);
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(3rem, 6vw, 5.5rem) clamp(1.5rem, 4vw, 4rem);
}
.kma-cta.kma-cta .kma-cta__actions {
	flex-grow: 3;
	flex-basis: calc((36rem - 100%) * 999);
	min-width: 0;
	background: #1b1a1a;
	padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 3vw, 3rem);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* ---- Message column ------------------------------------------------------ */
.kma-cta.kma-cta .kma-cta__eyebrow {
	font-family: 'Space Mono', ui-monospace, 'Segoe UI Mono', monospace;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 1.1rem;
	display: flex;
	align-items: center;
	gap: .75rem;
}
.kma-cta.kma-cta .kma-cta__eyebrow::before {
	content: "";
	width: 2.25rem;
	height: 2px;
	background: #93c847;
	flex: none;
}
.kma-cta.kma-cta .kma-cta__title {
	font-family: 'Barlow Condensed', 'Barlow Condensed Fallback', 'Arial Narrow', system-ui, sans-serif;
	font-weight: 800;
	font-size: clamp(2.5rem, 1.55rem + 3.4vw, 4.75rem);
	line-height: 1.02;
	letter-spacing: -.01em;
	margin: 0 0 1.15rem;
	color: #fff;
	text-wrap: balance;
}
.kma-cta.kma-cta .kma-cta__lede {
	font-family: 'Inter', 'Inter Fallback', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	font-size: clamp(1.0625rem, 1rem + .35vw, 1.3125rem);
	font-weight: 400;
	line-height: 1.55;
	color: #f4f6ef;
	margin: 0 0 1.75rem;
	max-width: 52ch;
}
/* Links inside the lede (e.g. the location CTA's inline phone number) sit on the
   green message panel — keep them light + underlined, not the default dark link. */
.kma-cta.kma-cta .kma-cta__lede a { color: #fff; text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: from-font; }
.kma-cta.kma-cta .kma-cta__lede a:hover { color: #eef1e7; }
.kma-cta.kma-cta .kma-cta__trust {
	font-family: 'Space Mono', ui-monospace, 'Segoe UI Mono', monospace;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #fff;
	margin: 0;
	padding-top: 1.35rem;
	border-top: 1px solid rgba(255, 255, 255, .28);
	display: flex;
	flex-wrap: wrap;
	gap: .6rem 1.1rem;
}
.kma-cta.kma-cta .kma-cta__trust b { font-weight: 700; }
.kma-cta.kma-cta .kma-cta__trust span {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	white-space: nowrap;
	color: #f4f6ef;
}
.kma-cta.kma-cta .kma-cta__trust span::before {
	content: "";
	width: 6px;
	height: 6px;
	background: #93c847;
	flex: none;
}

/* ---- Action panel -------------------------------------------------------- */
.kma-cta.kma-cta .kma-cta__phlabel {
	font-family: 'Space Mono', ui-monospace, 'Segoe UI Mono', monospace;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #93c847;
	margin: 0 0 .5rem;
}
.kma-cta.kma-cta .kma-cta__phone {
	font-family: 'Barlow Condensed', 'Barlow Condensed Fallback', 'Arial Narrow', system-ui, sans-serif;
	font-weight: 700;
	font-size: clamp(2.5rem, 1.7rem + 2.6vw, 3.5rem);
	line-height: 1;
	letter-spacing: .01em;
	color: #fff;
	text-decoration: none;
	display: block;
	margin: 0 0 .4rem;
	border-bottom: 3px solid transparent;
	width: max-content;
	max-width: 100%;
}
.kma-cta.kma-cta .kma-cta__phone:hover,
.kma-cta.kma-cta .kma-cta__phone:focus-visible { border-bottom-color: #93c847; }
.kma-cta.kma-cta .kma-cta__phnote {
	font-family: 'Inter', 'Inter Fallback', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	font-size: .9375rem;
	color: #cfe0b0;
	margin: 0 0 1.75rem;
}
.kma-cta.kma-cta .kma-cta__btn {
	font-family: 'Inter', 'Inter Fallback', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	font-weight: 700;
	font-size: 1.0625rem;
	letter-spacing: .01em;
	color: #fff;
	background: #46731c;
	border: 2px solid #46731c;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	padding: 1.05rem 1.6rem;
	line-height: 1.15;
	align-self: flex-start; /* content-width, left-aligned — not a full-bleed bar */
}
.kma-cta.kma-cta .kma-cta__btn:hover,
.kma-cta.kma-cta .kma-cta__btn:focus-visible {
	background: #3a5f16;
	border-color: #3a5f16;
	color: #fff;
}
/* ---- Focus (flat, high-contrast lime on the ink panel) ------------------- */
.kma-cta.kma-cta a:focus-visible { outline: 3px solid #93c847; outline-offset: 3px; }
.kma-cta.kma-cta .kma-cta__btn:focus-visible { outline-offset: 4px; }
