/*
Theme Name: ACG Hybrid
Theme URI: https://albertacg.com/
Author: Alberta Consulting Group
Author URI: https://albertacg.com/
Description: Custom block theme for Alberta Consulting Group (ACG) redesign. Navy/cyan Hybrid Pack look. Staging target: /excelsior/. Never brand as "ACG Digital".
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
Version: 0.5.9
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: acg-hybrid
Tags: full-site-editing, block-patterns, block-styles, wide-blocks
*/

/* -----------------------------------------------------------------------------
   ACG Hybrid — Figma Hybrid Pack (desktop 1440 SoT) + reasonable WP breakpoints
   Brand: Alberta Consulting Group (ACG) — never "ACG Digital"
   Colors: navy #0A1B2E · cyan #4CD2FF · white · slate #596B7A · surface #F4F7FA
   CTA: Talk to us (pill)
   ----------------------------------------------------------------------------- */

:root {
	--acg-navy: #0A1B2E;
	--acg-cyan: #4CD2FF;
	--acg-white: #FFFFFF;
	--acg-navy-soft: #12263A;
	--acg-muted: #596B7A;
	--acg-muted-soft: #8BA0B5;
	--acg-surface: #F4F7FA;
	--acg-border: #E5EBF0;
	--acg-hero-body: #D1E0EB;
	--acg-radius-card: 12px;
	--acg-radius-pill: 999px;
	--acg-gutter: clamp(1.25rem, 4vw, 4rem);
	--acg-max: 1312px;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: var(--acg-white);
	color: var(--acg-navy);
}

/* ---------- Layout: defeat WP contentSize clamp (was 720px → left-half clip) ---------- */
.wp-site-blocks,
main.wp-block-group,
main.wp-block-group.alignfull,
.wp-block-group.alignfull {
	max-width: none;
	width: 100%;
}
/* HTML sections must span full viewport; gutters live on .acg-section / heroes */
.wp-block-html,
.acg-section,
.acg-page-hero,
.acg-cta-band,
.acg-proof,
.acg-hero,
.acg-header,
.acg-footer {
	max-width: none !important;
	width: 100%;
	box-sizing: border-box;
}
/* Prevent mid-word truncation from overflow + narrow ancestors */
.acg-section,
.acg-constrain,
.acg-service-detail,
.acg-service-detail__body,
.acg-about-story,
.acg-lede {
	overflow: visible;
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: manual;
}

/* Skip link */
.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 9999;
	padding: 0.75rem 1rem;
	background: var(--acg-cyan);
	color: var(--acg-navy);
	font-weight: 600;
}
.skip-link:focus {
	left: 1rem;
	top: 1rem;
}

/* ---------- Header (Figma: white chrome · logo 110×42 in 120×46 · badge 132×44 in 140×48) ---------- */
.acg-header {
	background: var(--acg-white) !important;
	color: var(--acg-navy);
	border-bottom: 1px solid var(--acg-border);
	min-height: 80px;
}
.acg-header a {
	color: var(--acg-navy);
	text-decoration: none;
}
.acg-header a.acg-nav-link:hover,
.acg-header a.acg-nav-link:focus-visible {
	color: var(--acg-cyan);
}
/* Never let header link hover strip the cyan Talk to us pill into bare text */
.acg-header a.acg-btn,
.acg-header a.acg-btn:hover,
.acg-header a.acg-btn:focus-visible {
	background: var(--acg-cyan) !important;
	color: var(--acg-navy) !important;
	text-decoration: none !important;
	border-radius: var(--acg-radius-pill) !important;
}
.acg-header__inner {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	width: min(100%, var(--acg-max));
	margin-inline: auto;
	padding: 1rem var(--acg-gutter);
	min-height: 80px;
	box-sizing: border-box;
}
/* Logo frame ~120×46; image ~110×42 — must not be dwarfed by badge */
.acg-header__brand {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 46px;
	flex: 0 0 120px;
	overflow: hidden;
}
.acg-header__brand img,
.acg-logo {
	display: block;
	width: 110px;
	height: 42px;
	max-width: 110px;
	max-height: 42px;
	object-fit: contain;
}
.acg-header__nav {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.25rem 2.25rem;
	flex: 1 1 auto;
	min-width: 12rem;
}
.acg-nav-lock .wp-block-navigation-item a,
.acg-header__nav a.acg-nav-link {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--acg-navy);
}
/* Badge frame ~140×48; image ~132×44 — stays in header row, not below */
.acg-header__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 140px;
	height: 48px;
	flex: 0 0 140px;
	overflow: hidden;
	align-self: center;
}
.acg-header__badge img,
.acg-header .acg-adobe-badge {
	display: block;
	width: 132px;
	height: 44px;
	max-width: 132px;
	max-height: 44px;
	object-fit: contain;
}
.acg-adobe-badge {
	display: block;
	height: 44px;
	width: auto;
	max-width: 140px;
	object-fit: contain;
}

/* CTA pills */
.acg-cta-button,
.acg-cta-button .wp-block-button__link,
a.acg-btn,
.acg-btn,
.acg-hero__actions a.acg-btn,
.acg-service-detail__cta a.acg-btn,
.acg-cta-band__row a.acg-btn,
.acg-header__nav a.acg-btn {
	background: #4CD2FF !important;
	color: #0A1B2E !important;
	font-weight: 600;
	font-size: 14px;
	border-radius: 999px !important;
	padding: 0.65rem 1.15rem !important;
	border: none !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	line-height: 1.2;
	box-shadow: none !important;
}
.acg-cta-button .wp-block-button__link:hover,
.acg-cta-button .wp-block-button__link:focus-visible,
a.acg-btn:hover,
.acg-btn:hover {
	filter: brightness(1.06);
}
.acg-btn--lg,
.acg-cta-button.is-large .wp-block-button__link {
	font-size: 16px !important;
	padding: 1rem 1.75rem !important;
}
.acg-btn--outline,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: var(--acg-white) !important;
	border: 1.5px solid var(--acg-white) !important;
	border-radius: var(--acg-radius-pill) !important;
	padding: 0.95rem 1.7rem !important;
	font-weight: 600;
}
.acg-section--white .wp-block-button.is-style-outline .wp-block-button__link,
.acg-section--surface .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--acg-navy) !important;
	border-color: var(--acg-navy) !important;
}

/* ---------- Sections ---------- */
.acg-section {
	padding-block: clamp(3.5rem, 6vw, 4.5rem);
	padding-inline: var(--acg-gutter);
}
.acg-section > .acg-section__inner,
.acg-constrain {
	width: min(100%, var(--acg-max));
	max-width: var(--acg-max);
	margin-inline: auto;
	box-sizing: border-box;
}
.acg-section--navy {
	background: var(--acg-navy);
	color: var(--acg-white);
}
.acg-section--navy h1,
.acg-section--navy h2,
.acg-section--navy h3,
.acg-section--navy .wp-block-heading {
	color: var(--acg-white);
}
.acg-section--navy-soft {
	background: var(--acg-navy-soft);
	color: var(--acg-white);
}
.acg-section--white {
	background: var(--acg-white);
	color: var(--acg-navy);
}
.acg-section--white h1,
.acg-section--white h2,
.acg-section--white h3,
.acg-section--white .wp-block-heading,
.acg-section--surface h1,
.acg-section--surface h2,
.acg-section--surface h3,
.acg-section--surface .wp-block-heading {
	color: var(--acg-navy);
}
.acg-section--surface {
	/* Keep the Dina surface band intact even if WP adds a global section background. */
	background: var(--acg-surface) !important;
	color: var(--acg-navy);
}
.acg-eyebrow {
	color: var(--acg-cyan);
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	margin-bottom: 0.75rem;
}
.acg-eyebrow--caps {
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.acg-muted {
	color: var(--acg-muted);
}
.acg-lede {
	font-size: 1.125rem;
	line-height: 1.55;
	color: var(--acg-muted);
	max-width: 56rem;
}
.acg-section--navy .acg-lede,
.acg-hero .acg-lede {
	color: var(--acg-hero-body);
}

/* Type scale closer to Figma 1440 */
.acg-hero h1,
.acg-hero .wp-block-heading {
	font-size: clamp(2rem, 4.2vw, 3rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	max-width: 45rem;
}
.acg-section--white h2,
.acg-section--surface h2,
.acg-h2 {
	font-size: clamp(1.75rem, 3.2vw, 2.5rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

/* ---------- Hero (Figma 24:3) — hard left navy panel ~920/1440 + photo ---------- */
/* CRITICAL (v0.4.1): layered background-image scrim — NOT ::before (same family as Work/About). */
:root {
	--acg-scrim-home: linear-gradient(
		90deg,
		rgba(10, 27, 46, 0.72) 0%,
		rgba(10, 27, 46, 0.72) min(63.8889%, 920px),
		rgba(10, 27, 46, 0) min(69.4444%, 1000px)
	);
	/* Full-bleed dark wash for closing CTA (photo can be light clouds) */
	--acg-scrim-home-cta: linear-gradient(
		rgba(10, 27, 46, 0.78),
		rgba(10, 27, 46, 0.78)
	);
}
.acg-hero {
	position: relative !important;
	isolation: isolate;
	min-height: clamp(28rem, 55vw, 40rem);
	display: flex;
	align-items: center;
	background-color: #0A1B2E !important;
	background-image: var(--acg-scrim-home), var(--acg-img-home-hero, url('assets/home-hero.jpg')) !important;
	background-size: 100% 100%, cover !important;
	background-position: left top, center right !important;
	background-repeat: no-repeat !important;
	color: var(--acg-white) !important;
	padding: clamp(3.5rem, 8vw, 7.5rem) var(--acg-gutter);
	overflow: hidden !important;
}
.acg-hero h1,
.acg-hero .wp-block-heading {
	color: #FFFFFF !important;
}
.acg-hero .acg-eyebrow {
	color: #4CD2FF !important;
}
.acg-hero .acg-lede {
	color: #D1E0EB !important;
}
/* Kill soft L→R ::before so it cannot leak / fight layered scrim */
.acg-hero::before,
.acg-hero::after {
	content: none !important;
	display: none !important;
	background: none !important;
}
.acg-hero__content {
	position: relative;
	z-index: 1;
	width: min(100%, 45rem);
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}
.acg-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 0.25rem;
}
/* Ghost secondary CTA — beat solid .acg-hero__actions a.acg-btn */
.acg-hero__actions a.acg-btn.acg-btn--outline,
.acg-hero__actions a.acg-btn--outline,
a.acg-btn.acg-btn--outline {
	background: transparent !important;
	color: #FFFFFF !important;
	border: 1.5px solid #FFFFFF !important;
	border-radius: 999px !important;
	box-shadow: none !important;
}
.acg-hero__actions a.acg-btn.acg-btn--outline:hover,
.acg-hero__actions a.acg-btn--outline:hover,
a.acg-btn.acg-btn--outline:hover {
	background: rgba(255, 255, 255, 0.1) !important;
	filter: none;
}

/* ---------- Proof strip ---------- */
.acg-proof {
	background: #FFFFFF !important;
	border-bottom: 1px solid var(--acg-border);
	padding: 1.5rem var(--acg-gutter);
}
.acg-proof-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.25rem;
	align-items: center;
	justify-content: center;
	width: min(100%, var(--acg-max));
	margin-inline: auto;
}
.acg-proof-strip__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--acg-muted);
	margin: 0;
}
.acg-proof-strip__divider {
	width: 1px;
	height: 28px;
	background: #E0E8F0;
}
.acg-proof-strip img {
	display: block;
	height: 26px;
	width: auto;
	object-fit: contain;
}
.acg-proof-strip__dot {
	color: var(--acg-muted);
	font-weight: 600;
	font-size: 16px;
}

/* ---------- Cards ---------- */
.acg-card {
	border-radius: var(--acg-radius-card);
	padding: 1.75rem;
	background: var(--acg-surface);
	border: none;
	height: 100%;
}
.acg-section--surface .acg-card,
.acg-card--white {
	background: var(--acg-white);
	box-shadow: 0 4px 16px rgba(10, 26, 46, 0.06);
}
.acg-card__kicker {
	color: var(--acg-cyan);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0 0 0.85rem;
}
.acg-card__rule {
	width: 40px;
	height: 3px;
	background: var(--acg-cyan);
	border-radius: 2px;
	margin: 1rem 0 1.1rem;
}
.acg-card-grid {
	display: grid !important;
	gap: 1.5rem !important;
	grid-template-columns: 1fr;
	width: 100%;
}
/* Why-us 3-up (Home Figma 24:3) — nuclear so staging Additional CSS / WP can't force stack */
.acg-card-grid--3,
#why-us .acg-card-grid--3,
.acg-why-grid {
	display: grid !important;
	gap: 1.5rem !important;
	width: 100% !important;
}
@media (min-width: 700px) {
	.acg-card-grid--3,
	#why-us .acg-card-grid--3,
	.acg-why-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
	.acg-card-grid--2 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.acg-card-grid--4,
	#services-teaser .acg-card-grid--4,
	.acg-offer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
@media (min-width: 1000px) {
	.acg-card-grid--4,
	#services-teaser .acg-card-grid--4,
	.acg-offer-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 699px) {
	.acg-card-grid--3,
	#why-us .acg-card-grid--3,
	.acg-why-grid,
	.acg-card-grid--4,
	#services-teaser .acg-card-grid--4,
	.acg-offer-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Why-us cards: surface fill on white section */
#why-us .acg-card,
.acg-why-grid .acg-card {
	background: #F4F7FA !important;
	border-radius: 12px !important;
	box-shadow: none;
	border: none;
	padding: 1.75rem !important;
}
#why-us .acg-card p:not(.acg-card__kicker),
.acg-why-grid .acg-card p:not(.acg-card__kicker) {
	color: #0A1B2E !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	margin: 0;
}

/* Service / offer card height breathe + cyan accent */
.acg-service-card {
	min-height: 16rem;
	padding: 1.75rem 1.5rem;
	background: #FFFFFF !important;
	box-shadow: 0 4px 16px rgba(10, 26, 46, 0.06) !important;
	border-radius: 12px !important;
}
.acg-service-card h3 {
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
	color: var(--acg-navy);
}
.acg-service-card p {
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--acg-muted);
	margin: 0;
}
#services-teaser .acg-card__rule,
.acg-offer-grid .acg-card__rule,
.acg-service-card .acg-card__rule {
	width: 32px !important;
	height: 3px !important;
	background: #4CD2FF !important;
	border-radius: 2px !important;
	margin: 1rem 0 1.1rem !important;
}

/* ---------- Work cards ---------- */
.acg-work-card {
	background: var(--acg-surface);
	border-radius: var(--acg-radius-card);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.acg-work-card__media {
	aspect-ratio: 640 / 140;
	background: var(--acg-navy);
	overflow: hidden;
}
.acg-work-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.acg-work-card__body {
	padding: 1rem 1.75rem 1.5rem;
}
.acg-work-card__logo {
	height: 26px;
	width: auto;
	margin-bottom: 0.5rem;
	display: block;
	object-fit: contain;
}
.acg-work-card h3 {
	font-size: 1.375rem;
	font-weight: 600;
	margin: 0 0 0.35rem;
	color: var(--acg-navy);
}
.acg-work-card p {
	margin: 0;
	color: var(--acg-muted);
	font-size: 0.9375rem;
}
.acg-text-links {
	display: flex;
	flex-wrap: wrap;
	gap: 1.75rem;
	margin-top: 1.75rem;
}
.acg-text-links a {
	font-weight: 600;
	font-size: 15px;
	color: var(--acg-navy);
	text-decoration: none;
}
.acg-text-links a.acg-link-cyan {
	color: var(--acg-cyan);
}
.acg-text-links a:hover {
	color: var(--acg-cyan);
}

/* ---------- Stages ---------- */
.acg-stages {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}
.acg-stages__label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--acg-muted);
	width: 100%;
	margin-bottom: 0.35rem;
}
.acg-stages__item {
	background: var(--acg-white);
	color: var(--acg-navy);
	font-weight: 600;
	font-size: 14px;
	padding: 0.75rem 1.25rem;
	border-radius: var(--acg-radius-pill);
	box-shadow: 0 2px 8px rgba(10, 26, 46, 0.05);
}
.acg-stages__sep {
	color: var(--acg-cyan);
	font-weight: 600;
	font-size: 16px;
}

/* ---------- Final CTA band (v0.4.1: layered dark scrim — readable white type) ---------- */
/* Shared chrome; image URLs set per-variant in functions.php inline (home / services / work / about). */
.acg-cta-band {
	position: relative !important;
	isolation: isolate;
	overflow: hidden !important;
	background-color: #0A1B2E !important;
	background-size: 100% 100%, cover !important;
	background-position: center, center !important;
	background-repeat: no-repeat !important;
	color: #FFFFFF !important;
	padding: clamp(3.5rem, 7vw, 5rem) var(--acg-gutter);
}
.acg-cta-band:not(.acg-cta-band--services):not(.acg-cta-band--work):not(.acg-cta-band--about) {
	background-image: var(--acg-scrim-home-cta), var(--acg-img-home-cta, url('assets/home-cta.jpg')) !important;
}
.acg-cta-band--services {
	background-image: var(--acg-scrim-cta, var(--acg-scrim-home-cta)), var(--acg-img-services-cta, url('assets/services-cta.jpg')) !important;
}
.acg-cta-band--work {
	background-image: var(--acg-scrim-cta, var(--acg-scrim-home-cta)), var(--acg-img-work-cta, url('assets/work-cta.jpg')) !important;
}
.acg-cta-band--about {
	background-image: var(--acg-scrim-cta, var(--acg-scrim-home-cta)), var(--acg-img-about-cta, url('assets/about-cta.jpg')) !important;
}
/* Prefer layered bg; kill ::before so light photo cannot show through missing overlay */
.acg-cta-band::before,
.acg-cta-band::after {
	content: none !important;
	display: none !important;
	background: none !important;
}
.acg-cta-band__inner {
	position: relative;
	z-index: 1;
	width: min(100%, var(--acg-max));
	margin-inline: auto;
}
.acg-cta-band h2,
.acg-cta-band--services h2 {
	font-size: clamp(1.85rem, 3.5vw, 2.75rem);
	font-weight: 800;
	line-height: 1.18;
	max-width: 36rem;
	margin: 0 0 1rem;
	color: #FFFFFF !important;
}
.acg-cta-band .acg-lede,
.acg-cta-band--services .acg-lede,
.acg-cta-band p.acg-lede {
	max-width: 45rem;
	margin-bottom: 1.5rem;
	color: #D1E0EB !important;
}
.acg-cta-band__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.5rem;
}
.acg-cta-band__row a.acg-email {
	color: #4CD2FF !important;
	font-weight: 600;
	font-size: 16px;
	text-decoration: none !important;
}

/* ---------- Footer (Figma: white) ---------- */
.acg-footer {
	background: var(--acg-white) !important;
	color: var(--acg-muted);
	border-top: 1px solid var(--acg-border);
	font-size: 0.8125rem;
	padding: 1.75rem var(--acg-gutter);
}
.acg-footer__inner {
	width: min(100%, var(--acg-max));
	margin-inline: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
}
.acg-footer__brand {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}
.acg-footer__brand img {
	height: 36px;
	width: auto;
	max-width: 92px;
	object-fit: contain;
}
.acg-footer__brand span {
	font-weight: 600;
	color: var(--acg-navy);
	font-size: 13px;
}
.acg-footer__nav {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem 1.75rem;
}
.acg-footer a {
	color: var(--acg-muted);
	text-decoration: none;
	font-weight: 500;
}
.acg-footer a:hover {
	color: var(--acg-cyan);
}
.acg-footer__meta {
	color: var(--acg-muted);
	font-size: 12px;
}
.acg-footer .acg-adobe-badge {
	height: 40px;
	max-width: 122px;
}

/* Contact form polish (Fluent Form 3 chrome only — do not alter fields/CRM) */
.acg-contact-form-card .ff-el-input--label label,
.acg-contact-form-card .ff-el-form-control + label,
.acg-contact-form-card label,
.acg-contact-form-card .ff-el-input--label {
	color: #596B80 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	margin-bottom: 6px !important;
}
.acg-section--surface .ff-el-form-control,
.acg-section--white .ff-el-form-control,
.acg-contact-form-card .ff-el-form-control,
.acg-contact-form-card input[type="text"],
.acg-contact-form-card input[type="email"],
.acg-contact-form-card input[type="tel"],
.acg-contact-form-card textarea,
.acg-contact-form-card select {
	background: #FFFFFF !important;
	border: 1px solid #D1DBE5 !important;
	border-radius: 8px !important;
	min-height: 44px;
	padding: 12px 14px !important;
	font-size: 14px !important;
	color: #0A1B2E !important;
	box-shadow: none !important;
}
.acg-contact-form-card textarea.ff-el-form-control,
.acg-contact-form-card textarea {
	min-height: 88px !important;
}
.acg-contact-form-card .ff-btn-submit,
.acg-contact-form-card button[type="submit"],
.ff-btn-submit {
	background: #4CD2FF !important;
	color: #0A1B2E !important;
	border: none !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	padding: 16px 28px !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
}
.acg-contact-form-card .ff-btn-submit:hover,
.acg-contact-form-card button[type="submit"]:hover {
	filter: brightness(0.97);
}

/* Section header row */
.acg-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	margin-bottom: 0.75rem;
}
.acg-section-head a {
	font-weight: 600;
	font-size: 15px;
	color: var(--acg-navy);
	text-decoration: none;
}
.acg-section-head a:hover {
	color: var(--acg-cyan);
}

/* Inner pages: light default so shared chrome matches Hybrid */
.acg-page-hero {
	background: #0A1B2E !important;
	color: var(--acg-white) !important;
	padding: clamp(3.5rem, 7vw, 5.5rem) var(--acg-gutter) 2.5rem;
}
.acg-page-hero h1 {
	color: #FFFFFF !important;
	font-weight: 800;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.15;
	margin: 0 0 1rem;
}
.acg-page-hero .acg-lede {
	color: #D1E0EB !important;
}

/* Hide legacy dashed placeholders if any remain */
.acg-asset-needed {
	display: none;
}

/* ---------- Services card chrome reinforcement (Customizer-safe) ---------- */
.acg-section--surface.acg-section,
#services-detail.acg-section--surface {
	background: #F4F7FA !important;
}
.acg-service-stack {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.acg-service-detail,
.acg-service-detail.acg-card,
.acg-service-detail.acg-card--white,
#services-detail .acg-card {
	background: #FFFFFF !important;
	border-radius: 12px !important;
	box-shadow: 0 4px 16px rgba(10, 26, 46, 0.08) !important;
	padding: 2.25rem 2.5rem !important;
	border: 1px solid #E5EBF0;
	height: auto !important;
}

@media (max-width: 782px) {
	.acg-header__inner {
		flex-wrap: wrap;
	}
	.acg-header__nav {
		order: 3;
		width: 100%;
		justify-content: flex-start;
		gap: 1rem;
	}
	.acg-header__brand,
	.acg-header__badge {
		/* keep brand + badge on first row */
		order: 0;
	}
	.acg-header__badge {
		margin-left: auto;
	}
	.acg-proof-strip__divider {
		display: none;
	}
	.acg-footer__inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Contact Reach us (Figma 28:659) */
.acg-contact-band {
	background: #FFFFFF !important;
	padding-top: clamp(3rem, 5vw, 4.5rem) !important;
	padding-bottom: clamp(3.5rem, 6vw, 5.5rem) !important;
}
.acg-contact-columns {
	align-items: flex-start !important;
}
.acg-reach .acg-h2 {
	font-size: 1.75rem !important;
	font-weight: 800 !important;
	color: #0A1B2E !important;
	margin: 0 !important;
	line-height: 1.2 !important;
}
.acg-reach__email {
	margin-top: 1.125rem !important;
	margin-bottom: 0 !important;
}
.acg-reach a.acg-email {
	color: #4CD2FF !important;
	font-weight: 600 !important;
	font-size: 1.125rem !important;
	text-decoration: none !important;
}
.acg-reach a.acg-email:hover {
	text-decoration: underline !important;
}
.acg-reach__address {
	margin-top: 0.75rem !important;
	margin-bottom: 0 !important;
	color: #0A1B2E !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
}
.acg-reach__remote {
	margin-top: 0.35rem !important;
	margin-bottom: 0 !important;
	color: #596B80 !important;
	font-size: 0.9375rem !important;
}
.acg-reach__partner {
	margin-top: 1.5rem !important;
	margin-bottom: 0 !important;
	color: #596B80 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	max-width: 24rem;
}

/* Contact form card (Figma 28:665: surface #F4F7FA; omit Mock form — Fluent live) */
.acg-contact-form-card,
.acg-section--white .acg-card.acg-contact-form-card,
.acg-contact-band .acg-contact-form-card {
	background: #F4F7FA !important;
	box-shadow: 0 4px 16px rgba(10, 26, 46, 0.06) !important;
	border-radius: 12px !important;
	border: none !important;
	padding: 1.75rem !important;
}
.acg-contact-form-card__title,
.acg-contact-form-card h2,
.acg-contact-form-card .wp-block-heading {
	font-size: 1.375rem !important;
	font-weight: 800 !important;
	color: #0A1B2E !important;
	margin: 0 0 0.875rem !important;
	line-height: 1.25 !important;
}
.acg-mock-form,
.acg-mock-form-note {
	display: none !important;
}

/* ---------- Inner-page heroes ---------- */
/* Shared photo-hero containment: scrim MUST stay inside this box (never viewport/main). */
.acg-page-hero--photo,
.acg-page-hero--services {
	position: relative !important;
	isolation: isolate;
	background-color: #0A1B2E !important;
	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;
	color: var(--acg-white) !important;
	padding: clamp(4rem, 8vw, 5.5rem) var(--acg-gutter) clamp(3rem, 6vw, 4rem);
	overflow: hidden !important; /* clips any decorative pseudo; Work/About use bg-layer scrim */
	min-height: clamp(22rem, 42vw, 35rem);
}
.acg-page-hero--services {
	background-image: url('assets/services-hero.jpg');
	min-height: clamp(26rem, 48vw, 35rem);
}
/* Left scrim: solid navy @ 78% covering ~66.7% (960/1440) — NOT a full-width wash */
.acg-page-hero--services::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: 66.6667%;
	max-width: 960px;
	background: rgba(10, 27, 46, 0.78);
	pointer-events: none;
	z-index: 0;
}
/* Soft fade at scrim's right edge so photo reads on the right third */
.acg-page-hero--services::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: min(66.6667%, 960px);
	width: 4.5rem;
	margin-left: -4.5rem;
	background: linear-gradient(90deg, rgba(10, 27, 46, 0.78), rgba(10, 27, 46, 0));
	pointer-events: none;
	z-index: 0;
}
.acg-page-hero--photo > .acg-constrain,
.acg-page-hero--services > .acg-constrain,
.acg-page-hero__content {
	position: relative;
	z-index: 1;
	max-width: 47.5rem; /* Figma hero content ~760 */
	width: min(100%, 47.5rem);
	display: flex;
	flex-direction: column;
	gap: 1.15rem;
	overflow: visible;
}
.acg-page-hero--photo h1,
.acg-page-hero--services h1,
.acg-page-hero--services .acg-page-hero__content h1 {
	color: #FFFFFF !important;
	margin: 0;
}
.acg-page-hero--photo .acg-lede,
.acg-page-hero--services .acg-lede,
.acg-page-hero--services .acg-page-hero__content .acg-lede,
.acg-page-hero--services .acg-page-hero__content p.acg-lede {
	color: #D1E0EB !important;
	margin: 0;
	font-size: 1.0625rem;
	line-height: 1.55;
}
/* All Services hero copy stays light on photo+scrim — never inherit body/theme.json navy */
.acg-page-hero--services,
.acg-page-hero--services .acg-page-hero__content,
.acg-page-hero--services p {
	color: #D1E0EB !important;
}
.acg-page-hero--services .acg-eyebrow {
	color: #4CD2FF !important;
}
.acg-page-hero--services .acg-hero-who {
	color: #D1E0EB !important;
}
.acg-page-hero--services .acg-hero-accent {
	color: #4CD2FF !important;
}
.acg-page-hero--services .acg-hero__actions .acg-btn,
.acg-page-hero--services .acg-hero__actions a.acg-btn {
	background: #4CD2FF !important;
	color: #0A1B2E !important;
	text-decoration: none !important;
	border-radius: 999px !important;
	display: inline-flex !important;
}
/* Work / About heroes (Figma 28:122 / 28:241): photo + left scrim.
   CRITICAL (v0.3.8): do NOT use ::before/::after for Work/About scrim.
   On staging, those pseudos painted against the viewport (full-page left navy column
   through header + logo strip / Who we are). Layered background-image scrim cannot
   escape the hero border box — matches Services visual, bulletproof containment. */
:root {
	--acg-scrim-work: linear-gradient(
		90deg,
		rgba(10, 27, 46, 0.78) 0%,
		rgba(10, 27, 46, 0.78) min(60.6667%, 915px),
		rgba(10, 27, 46, 0) min(66.6667%, 960px)
	);
	--acg-scrim-about: linear-gradient(
		90deg,
		rgba(10, 27, 46, 0.78) 0%,
		rgba(10, 27, 46, 0.78) min(63.5%, 955px),
		rgba(10, 27, 46, 0) min(69.5%, 1000px)
	);
	/* Contact Figma 28:624: solid 80% navy to 1000/1440 with soft fade (layered bg — no ::before) */
	--acg-scrim-contact: linear-gradient(
		90deg,
		rgba(10, 27, 46, 0.8) 0%,
		rgba(10, 27, 46, 0.8) min(63.5%, 955px),
		rgba(10, 27, 46, 0) min(69.4444%, 1000px)
	);
}
.acg-page-hero--work,
.acg-page-hero--about,
.acg-page-hero--contact {
	position: relative !important;
	isolation: isolate;
	overflow: hidden !important;
	background-color: #0A1B2E !important;
	background-size: 100% 100%, cover !important;
	background-position: left top, center right !important;
	background-repeat: no-repeat !important;
	min-height: clamp(22rem, 42vw, 30rem);
	color: #FFFFFF !important;
}
.acg-page-hero--contact {
	/* Figma hero band ~420px after 80px header */
	min-height: clamp(20rem, 36vw, 26.25rem);
	padding: clamp(3.5rem, 7vw, 5.625rem) var(--acg-gutter) clamp(2.5rem, 5vw, 3.5rem);
}
.acg-page-hero--work {
	background-image: var(--acg-scrim-work), var(--acg-img-work-hero, url('assets/work-hero.jpg')) !important;
}
.acg-page-hero--about {
	background-image: var(--acg-scrim-about), var(--acg-img-about-hero, url('assets/about-hero.jpg')) !important;
}
.acg-page-hero--contact {
	background-image: var(--acg-scrim-contact), var(--acg-img-contact-hero, url('assets/contact-hero.jpg')) !important;
}
/* Kill any leftover / Additional-CSS ::before|::after scrim on Work/About/Contact */
.acg-page-hero--work::before,
.acg-page-hero--work::after,
.acg-page-hero--about::before,
.acg-page-hero--about::after,
.acg-page-hero--contact::before,
.acg-page-hero--contact::after {
	content: none !important;
	display: none !important;
	background: none !important;
	width: 0 !important;
	height: 0 !important;
	inset: auto !important;
}
.acg-page-hero--work > .acg-constrain,
.acg-page-hero--about > .acg-constrain,
.acg-page-hero--contact > .acg-constrain,
.acg-page-hero--work .acg-page-hero__content,
.acg-page-hero--about .acg-page-hero__content,
.acg-page-hero--contact .acg-page-hero__content {
	position: relative !important;
	z-index: 2 !important;
	color: #FFFFFF !important;
	max-width: min(100%, 47.5rem) !important;
}
.acg-page-hero--work h1,
.acg-page-hero--about h1,
.acg-page-hero--contact h1,
.acg-page-hero--work .acg-page-hero__content h1,
.acg-page-hero--about .acg-page-hero__content h1,
.acg-page-hero--contact .acg-page-hero__content h1 {
	color: #FFFFFF !important;
	margin: 0;
}
.acg-page-hero--work .acg-lede,
.acg-page-hero--about .acg-lede,
.acg-page-hero--contact .acg-lede,
.acg-page-hero--work p,
.acg-page-hero--about p,
.acg-page-hero--contact p {
	color: #D1E0EB !important;
}
.acg-page-hero--work .acg-eyebrow,
.acg-page-hero--about .acg-eyebrow,
.acg-page-hero--contact .acg-eyebrow,
.acg-page-hero--about .acg-hero-accent {
	color: #4CD2FF !important;
}
.acg-page-hero--work .acg-hero__actions a.acg-btn,
.acg-page-hero--about .acg-hero__actions a.acg-btn,
.acg-page-hero--contact .acg-hero__actions a.acg-btn,
.acg-page-hero--work a.acg-btn,
.acg-page-hero--about a.acg-btn,
.acg-page-hero--contact a.acg-btn {
	background: #4CD2FF !important;
	color: #0A1B2E !important;
	text-decoration: none !important;
	border-radius: 999px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.acg-hero-who {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.55;
	color: var(--acg-hero-body);
	max-width: 42.5rem;
}
.acg-hero-accent {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.55;
	color: var(--acg-cyan);
	max-width: 42.5rem;
}
.acg-page-hero--photo .acg-hero__actions {
	margin-top: 0.25rem;
}

/* Page-specific CTA band photos: layered scrim+photo set above (v0.4.1) + functions.php inline.
   Do not reintroduce single-url backgrounds or ::before overlays here. */

/* ---------- Services detail cards (Figma 28:492 / Dina P1) ---------- */
/* Keep the section gray and the four service units visibly separate. */
.acg-service-stack {
	display: flex;
	flex-direction: column;
	gap: clamp(1.25rem, 2vw, 1.5rem);
}
.acg-service-detail {
	/* Also retained here for resilience if a block class is stripped by WP. */
	background: var(--acg-white);
	border-radius: var(--acg-radius-card);
	box-shadow: 0 4px 16px rgba(10, 26, 46, 0.06);
	padding: 2.25rem 2.5rem;
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
.acg-service-detail__num {
	margin: 0;
	color: #4CD2FF !important;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
}
.acg-service-detail__title {
	margin: 0;
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	font-weight: 800;
	line-height: 1.2;
	color: var(--acg-navy);
	letter-spacing: -0.01em;
}
.acg-service-detail__sub {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 600;
	color: #596B80;
}
.acg-service-detail__body {
	margin: 0;
	font-size: 1rem;
	line-height: 1.625;
	color: var(--acg-navy);
	max-width: 75rem;
}
.acg-service-detail__meta {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.55;
	color: #596B80;
}
.acg-service-offers {
	background: #F4F7FA !important;
	border-radius: 8px !important;
	padding: 1rem 1.25rem !important;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	box-sizing: border-box;
}
.acg-service-offers__label {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--acg-cyan);
}
.acg-service-offers__list {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--acg-navy);
}
.acg-service-detail__cta {
	margin: 0.5rem 0 0;
}

/* ---------- Work proof strip + featured cards ---------- */
.acg-proof--work {
	padding-block: 2rem 1.75rem;
	border-bottom: none;
}
.acg-proof-strip--8 {
	gap: 1.25rem 2rem;
	justify-content: center;
}
.acg-proof-note {
	width: min(100%, 68.75rem);
	margin: 1.1rem auto 0;
	text-align: center;
	font-size: 12px;
	line-height: 1.5;
	color: #596B80;
}
.acg-work-card--featured {
	background: var(--acg-white);
	box-shadow: 0 4px 16px rgba(10, 26, 46, 0.06);
	min-height: 17.5rem;
}
.acg-work-card--featured .acg-work-card__media {
	aspect-ratio: 644 / 140;
	max-height: 140px;
}
.acg-work-card--featured .acg-work-card__body {
	padding: 1rem 1.75rem 1.5rem;
}
.acg-work-card--featured h3 {
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0 0 0.5rem;
}
.acg-work-card--featured p {
	font-size: 0.875rem;
	line-height: 1.45;
}

/* ---------- About how cards + location ---------- */
.acg-about-story {
	margin: 1rem 0 0;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--acg-navy);
	max-width: 68.75rem;
}
.acg-how-card {
	background: var(--acg-surface);
	border-radius: var(--acg-radius-card);
	padding: 1.75rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	min-height: 8rem;
}
.acg-how-card__accent {
	display: block;
	width: 32px;
	height: 3px;
	background: var(--acg-cyan);
	border-radius: 2px;
}
.acg-how-card p {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.45;
	color: var(--acg-navy);
}
.acg-location-addr {
	margin: 1rem 0 0;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--acg-navy);
}
.acg-section--surface a.acg-email,
.acg-section--white a.acg-email {
	color: var(--acg-cyan);
	font-weight: 600;
	font-size: 1rem;
	text-decoration: none;
}

@media (max-width: 782px) {
	.acg-service-detail {
		padding: 1.5rem 1.25rem;
	}
	.acg-proof-strip--8 {
		gap: 1rem 1.25rem;
	}
}

@media (max-width: 782px) {
	.acg-page-hero--services::before {
		width: 100%;
		max-width: none;
	}
	.acg-page-hero--services::after {
		display: none;
	}
}

/* ---------- v0.3.4 P1 chrome reinforce (Customizer / theme.json fight) ---------- */
.acg-header,
header.acg-header,
.wp-block-template-part .acg-header {
	background: #FFFFFF !important;
	color: #0A1B2E !important;
	border-bottom: 1px solid #E5EBF0;
}
.acg-header__inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}
@media (min-width: 1000px) {
.acg-header__inner {
	flex-wrap: nowrap !important;
}
}
.acg-header__badge {
	margin-left: 0;
	margin-right: 0;
	order: 3;
	flex: 0 0 140px !important;
}
.acg-header__nav {
	order: 2;
}
.acg-header__brand {
	order: 1;
}
.acg-header__nav a.acg-nav-link {
	color: #0A1B2E !important;
	text-decoration: none !important;
}
.acg-footer,
footer.acg-footer,
.wp-block-template-part .acg-footer {
	background: #FFFFFF !important;
}
.acg-page-hero--services::before {
	background: rgba(10, 27, 46, 0.78) !important;
	width: 66.6667% !important;
	max-width: 960px !important;
}

/* ---------- v0.3.6 nuclear Services hero / CTA / header reinforce ---------- */
/* Defeat theme.json / global heading navy inside Services hero */
.acg-page-hero--services,
.acg-page-hero--services * {
  /* don't force all children white — buttons need navy text */
}
.acg-page-hero--services,
.acg-page-hero--services .acg-page-hero__content {
  color: #FFFFFF !important;
}
.acg-page-hero--services h1,
.acg-page-hero--services .acg-page-hero__content h1,
.acg-page-hero--services .wp-block-heading,
.wp-site-blocks .acg-page-hero--services h1 {
  color: #FFFFFF !important;
}
.acg-page-hero--services .acg-lede,
.acg-page-hero--services .acg-hero-who,
.acg-page-hero--services p {
  color: #D1E0EB !important;
}
.acg-page-hero--services .acg-hero-accent,
.acg-page-hero--services .acg-eyebrow {
  color: #4CD2FF !important;
}
.acg-page-hero--services a.acg-btn,
.acg-page-hero--services .acg-hero__actions a.acg-btn {
  background: #4CD2FF !important;
  color: #0A1B2E !important;
  text-decoration: none !important;
  border-radius: 999px !important;
}
/* Ensure left scrim paints above photo */
.acg-page-hero--services::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: min(66.6667%, 960px) !important;
  background: rgba(10, 27, 46, 0.78) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
.acg-cta-band h2,
.acg-cta-band--services h2,
.wp-site-blocks .acg-cta-band h2 {
  color: #FFFFFF !important;
}
.acg-cta-band .acg-lede,
.acg-cta-band p {
  color: #D1E0EB !important;
}
.acg-service-detail__num {
  color: #4CD2FF !important;
}
/* Header nav must show on desktop; mobile hamburger owns <1000px (v0.4.2) */
@media (min-width: 1000px) {
.acg-header__nav {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: 1 1 auto !important;
}
}
.acg-header__inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1.5rem !important;
}
@media (min-width: 1000px) {
.acg-header__inner {
  flex-wrap: nowrap !important;
}
.acg-header__badge {
  margin-left: auto !important;
  order: 3 !important;
}
}

/* ---------- v0.3.6 Services hero stacking isolation ---------- */
.acg-page-hero--services {
  position: relative !important;
  isolation: isolate;
}
.acg-page-hero--services::before,
.acg-page-hero--services::after {
  z-index: 0 !important;
}
.acg-page-hero--services > .acg-constrain,
.acg-page-hero--services .acg-page-hero__content,
.acg-page-hero__content {
  position: relative !important;
  z-index: 2 !important;
}
@media (min-width: 783px) {
  .acg-page-hero--services > .acg-constrain,
  .acg-page-hero--services .acg-page-hero__content {
    max-width: min(47.5rem, 58vw);
  }
}

/* ---------- v0.3.7 Work + About pixel polish (Figma 28:122 / 28:241) ---------- */
/* Featured band: surface + unmistakable white two-up cards (Services chrome parity) */
.acg-section--surface,
#featured-work.acg-section--surface,
#about-location.acg-section--surface {
	background: #F4F7FA !important;
}
#featured-work .acg-h2,
#about-story .acg-h2,
#about-location .acg-h2 {
	color: #0A1B2E !important;
}
#featured-work > .acg-constrain > .acg-lede,
#featured-work .acg-lede {
	color: #596B80 !important;
	font-size: 1rem !important;
	margin-top: 0.75rem !important;
	margin-bottom: 1.75rem !important;
}
.acg-card-grid.acg-card-grid--2,
#featured-work .acg-card-grid--2 {
	display: grid !important;
	gap: 1.5rem !important;
}
@media (min-width: 783px) {
	.acg-card-grid.acg-card-grid--2,
	#featured-work .acg-card-grid--2 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
.acg-work-card--featured,
#featured-work .acg-work-card {
	background: #FFFFFF !important;
	border-radius: 12px !important;
	box-shadow: 0 4px 16px rgba(10, 26, 46, 0.08) !important;
	border: 1px solid #E5EBF0;
	overflow: hidden !important;
	min-height: 17.5rem;
}
.acg-work-card--featured .acg-work-card__media,
#featured-work .acg-work-card__media {
	aspect-ratio: 644 / 140 !important;
	max-height: 140px !important;
	height: 140px !important;
	background: #0A1B2E;
}
.acg-work-card--featured .acg-work-card__body,
#featured-work .acg-work-card__body {
	padding: 1rem 1.75rem 1.5rem !important;
	background: #FFFFFF !important;
}
.acg-work-card--featured h3,
#featured-work .acg-work-card h3 {
	color: #0A1B2E !important;
	font-size: 1.125rem !important;
	font-weight: 600 !important;
	margin: 0 0 0.5rem !important;
}
.acg-work-card--featured p,
#featured-work .acg-work-card p {
	color: #596B80 !important;
	font-size: 0.875rem !important;
	line-height: 1.45 !important;
}

/* About story + how cards */
#about-story.acg-section--white {
	background: #FFFFFF !important;
	padding-block: clamp(3.5rem, 6vw, 5rem);
}
.acg-about-story {
	margin: 1rem 0 0 !important;
	font-size: 1.0625rem !important;
	line-height: 1.65 !important;
	color: #0A1B2E !important;
	max-width: 68.75rem !important;
}
.acg-how-grid.acg-card-grid--4,
#about-story .acg-how-grid {
	display: grid !important;
	gap: 1.25rem !important;
	margin-top: 1.5rem !important;
}
@media (min-width: 1100px) {
	.acg-how-grid.acg-card-grid--4,
	#about-story .acg-how-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}
.acg-how-card {
	background: #F4F7FA !important;
	border-radius: 12px !important;
	padding: 1.75rem 1.5rem !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
	min-height: 8rem;
	border: none;
	box-shadow: none;
}
.acg-how-card__accent {
	display: block !important;
	width: 32px !important;
	height: 3px !important;
	background: #4CD2FF !important;
	border-radius: 2px !important;
	flex: 0 0 auto;
}
.acg-how-card p {
	margin: 0 !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	color: #0A1B2E !important;
}

/* Location band */
#about-location.acg-section--surface {
	background: #F4F7FA !important;
	padding-block: clamp(2.5rem, 5vw, 4rem);
}
#about-location .acg-h2 {
	font-size: clamp(1.5rem, 2.5vw, 1.75rem) !important;
	font-weight: 800 !important;
	margin: 0 !important;
}
.acg-location-addr {
	margin: 1rem 0 0 !important;
	font-size: 1.125rem !important;
	font-weight: 600 !important;
	color: #0A1B2E !important;
}
#about-location .acg-muted {
	color: #596B80 !important;
	font-size: 1rem !important;
}
#about-location a.acg-email {
	color: #4CD2FF !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	text-decoration: none !important;
}

/* Work / About CTA bands: white type + cyan pill (parity with Services) */
.acg-cta-band--work,
.acg-cta-band--about {
	color: #FFFFFF !important;
}
.acg-cta-band--work h2,
.acg-cta-band--about h2,
.wp-site-blocks .acg-cta-band--work h2,
.wp-site-blocks .acg-cta-band--about h2 {
	color: #FFFFFF !important;
}
.acg-cta-band--work .acg-lede,
.acg-cta-band--about .acg-lede,
.acg-cta-band--work p,
.acg-cta-band--about p {
	color: #D1E0EB !important;
}
.acg-cta-band--work a.acg-btn,
.acg-cta-band--about a.acg-btn {
	background: #4CD2FF !important;
	color: #0A1B2E !important;
	text-decoration: none !important;
	border-radius: 999px !important;
}
.acg-cta-band--work a.acg-email {
	color: #4CD2FF !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}

/* Proof strip stays white under Work hero */
.acg-proof--work {
	background: #FFFFFF !important;
	padding-block: 2rem 1.75rem !important;
}

@media (max-width: 782px) {
	/* Full-bleed scrim on small screens (same idea as Services ::before width:100%) */
	.acg-page-hero--work {
		background-image: linear-gradient(90deg, rgba(10, 27, 46, 0.82), rgba(10, 27, 46, 0.72)), var(--acg-img-work-hero, url('assets/work-hero.jpg')) !important;
		background-size: cover, cover !important;
		background-position: center, center right !important;
	}
	.acg-page-hero--about {
		background-image: linear-gradient(90deg, rgba(10, 27, 46, 0.82), rgba(10, 27, 46, 0.72)), var(--acg-img-about-hero, url('assets/about-hero.jpg')) !important;
		background-size: cover, cover !important;
		background-position: center, center right !important;
	}
	.acg-how-grid.acg-card-grid--4,
	#about-story .acg-how-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ---------- v0.3.8 Work/About scrim containment (no pseudo leak) ---------- */
.acg-page-hero.acg-page-hero--photo.acg-page-hero--work,
.acg-page-hero.acg-page-hero--photo.acg-page-hero--about {
	position: relative !important;
	overflow: hidden !important;
	isolation: isolate;
	/* background-image composed above / via PHP inline — never a viewport-fixed scrim */
}
.acg-page-hero--work::before,
.acg-page-hero--work::after,
.acg-page-hero--about::before,
.acg-page-hero--about::after,
.acg-page-hero--photo.acg-page-hero--work::before,
.acg-page-hero--photo.acg-page-hero--about::before {
	content: none !important;
	display: none !important;
}

/* ---------- v0.3.9 Work/About P1 nits (Dina pass) ---------- */

/* 1) WORK logo strip: left Porter was clipped (row wider than mid-desktop + overflow clip).
   Pad strip, keep overflow visible, fluid gap, slight img padding so marks aren't flush-cut. */
.acg-proof,
.acg-proof--work {
	overflow: visible !important;
	padding-inline: max(var(--acg-gutter), 1.5rem) !important;
	box-sizing: border-box !important;
}
.acg-proof-strip,
.acg-proof-strip--8 {
	overflow: visible !important;
	box-sizing: border-box !important;
	width: min(100%, var(--acg-max)) !important;
	max-width: 100% !important;
	margin-inline: auto !important;
	padding-inline: 0.35rem !important; /* breathing room for first/last mark */
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: clamp(0.75rem, 1.6vw, 1.25rem) clamp(1rem, 2.2vw, 2rem) !important;
}
.acg-proof-strip img,
.acg-proof-strip--8 img {
	display: block !important;
	flex: 0 1 auto !important;
	height: auto !important;
	max-height: 26px !important;
	width: auto !important;
	max-width: min(140px, 18%) !important;
	object-fit: contain !important;
	object-position: center !important;
	padding-inline: 3px !important; /* anti-clip letterforms at container edge */
	box-sizing: content-box !important;
	overflow: visible !important;
}
.acg-proof-strip--8 img[alt="Porter"],
.acg-proof-strip--8 img[src*="logo-porter"] {
	max-width: min(80px, 14%) !important;
	padding-inline: 4px !important;
}
.acg-proof-strip--8 img[alt="Sun Country"],
.acg-proof-strip--8 img[src*="sun-country"] {
	max-width: min(180px, 22%) !important;
}
.acg-proof-note {
	padding-inline: 0.5rem !important;
	box-sizing: border-box !important;
}

/* 2) ABOUT How we work: force 4-up card row + cyan accent bars (Services chrome:
   white cards, border, shadow). Accent via ::before so empty spans cannot vanish. */
.acg-how-grid.acg-card-grid--4,
#about-story .acg-how-grid,
#about-story .acg-card-grid--4 {
	display: grid !important;
	gap: 1.25rem !important;
	margin-top: 1.5rem !important;
	width: 100% !important;
	grid-template-columns: 1fr !important;
}
@media (min-width: 700px) {
	.acg-how-grid.acg-card-grid--4,
	#about-story .acg-how-grid,
	#about-story .acg-card-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
@media (min-width: 1000px) {
	.acg-how-grid.acg-card-grid--4,
	#about-story .acg-how-grid,
	#about-story .acg-card-grid--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}
.acg-how-card,
#about-story .acg-how-card {
	position: relative !important;
	background: #FFFFFF !important;
	border-radius: 12px !important;
	padding: 1.75rem 1.5rem 1.5rem !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
	min-height: 8rem !important;
	border: 1px solid #E5EBF0 !important;
	box-shadow: 0 4px 16px rgba(10, 26, 46, 0.08) !important;
	box-sizing: border-box !important;
	width: auto !important;
	max-width: none !important;
}
/* Cyan accent bar — Figma 32×3; ::before survives empty-element stripping */
.acg-how-card::before,
#about-story .acg-how-card::before {
	content: "" !important;
	display: block !important;
	width: 32px !important;
	height: 3px !important;
	background: #4CD2FF !important;
	border-radius: 2px !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
}
.acg-how-card__accent {
	/* legacy span if present — keep cyan but prefer ::before */
	display: block !important;
	width: 32px !important;
	height: 3px !important;
	background: #4CD2FF !important;
	border-radius: 2px !important;
}
/* Avoid double bar when both ::before and span exist */
.acg-how-card:has(> .acg-how-card__accent)::before {
	content: none !important;
	display: none !important;
}
.acg-how-card p,
#about-story .acg-how-card p {
	margin: 0 !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	color: #0A1B2E !important;
}

/* 3) ABOUT Location: light gray band #F4F7FA (not plain white) */
#about-location,
#about-location.acg-section,
#about-location.acg-section--surface,
.acg-location-band,
.acg-section.acg-location-band {
	background: #F4F7FA !important;
	background-color: #F4F7FA !important;
	padding-block: clamp(2.5rem, 5vw, 4rem) !important;
	padding-inline: var(--acg-gutter) !important;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
}
#about-location .acg-h2 {
	color: #0A1B2E !important;
}
#about-location .acg-location-addr,
.acg-location-addr {
	color: #0A1B2E !important;
}
#about-location .acg-muted {
	color: #596B80 !important;
}
#about-location a.acg-email {
	color: #4CD2FF !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}

/* Optional: footer closer to Figma — brand left; nav + address + badge across row */
.acg-footer,
footer.acg-footer {
	background: #FFFFFF !important;
}
.acg-footer__inner {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1rem 1.5rem !important;
	width: min(100%, var(--acg-max)) !important;
	margin-inline: auto !important;
}
.acg-footer__nav {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 1.25rem 1.75rem !important;
}
.acg-footer__meta {
	display: block !important;
	color: #596B7A !important;
}
.acg-footer .acg-adobe-badge {
	display: block !important;
	height: 40px !important;
	width: auto !important;
	max-width: 122px !important;
	margin-left: 0 !important;
}
@media (min-width: 900px) {
	.acg-footer__inner {
		flex-wrap: nowrap !important;
	}
	.acg-footer .acg-adobe-badge {
		margin-left: 0 !important;
		flex: 0 0 auto !important;
	}
}
@media (max-width: 782px) {
	.acg-footer__inner {
		flex-direction: column !important;
		align-items: flex-start !important;
	}
	.acg-proof-strip--8 img {
		max-width: min(140px, 42%) !important;
	}
}

/* ---------- v0.4.2 Matt QA: even Work logos + mobile hamburger/footer ---------- */

/* Work 8-mark strip: uniform visual height after Medallia/BoFA/Yahoo crop */
.acg-proof-strip--8 img,
.acg-proof--work .acg-proof-strip--8 img {
	display: block !important;
	flex: 0 0 auto !important;
	height: 28px !important;
	max-height: 28px !important;
	width: auto !important;
	max-width: 130px !important;
	object-fit: contain !important;
	object-position: center !important;
	padding-inline: 2px !important;
	box-sizing: content-box !important;
}
.acg-proof-strip--8 img[alt="Porter"],
.acg-proof-strip--8 img[src*="logo-porter"] {
	max-width: 78px !important;
	height: 28px !important;
	max-height: 28px !important;
}
.acg-proof-strip--8 img[alt="Sun Country"],
.acg-proof-strip--8 img[src*="sun-country"] {
	max-width: 150px !important;
	height: 28px !important;
	max-height: 28px !important;
}
.acg-proof-strip--8 img[alt="Medallia"],
.acg-proof-strip--8 img[src*="logo-medallia"] {
	max-width: 120px !important;
	height: 28px !important;
	max-height: 28px !important;
}
.acg-proof-strip--8 img[alt="Bank of America"],
.acg-proof-strip--8 img[src*="logo-bofa"] {
	max-width: 140px !important;
	height: 28px !important;
	max-height: 28px !important;
}
.acg-proof-strip--8 img[alt="Nike"],
.acg-proof-strip--8 img[src*="logo-nike"] {
	max-width: 72px !important;
	height: 26px !important;
	max-height: 26px !important;
}
.acg-proof-strip--8 img[alt="Yahoo!"],
.acg-proof-strip--8 img[src*="logo-yahoo"] {
	max-width: 110px !important;
	height: 28px !important;
	max-height: 28px !important;
}
.acg-proof-strip--8 img[alt="WestJet"],
.acg-proof-strip--8 img[src*="logo-westjet"] {
	max-width: 130px !important;
	height: 28px !important;
	max-height: 28px !important;
}
.acg-proof-strip--8 img[alt="Canon"],
.acg-proof-strip--8 img[src*="logo-canon"] {
	max-width: 120px !important;
	height: 28px !important;
	max-height: 28px !important;
}

/* Hamburger toggle — hidden on desktop (≥1000px keeps signed-off chrome) */
.acg-nav-toggle {
	display: none;
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	border: 1px solid #E5EBF0;
	border-radius: 10px;
	width: 44px;
	height: 44px;
	padding: 0;
	margin: 0;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	color: #0A1B2E;
	order: 2;
}
.acg-nav-toggle__bars,
.acg-nav-toggle__bars::before,
.acg-nav-toggle__bars::after {
	display: block;
	width: 18px;
	height: 2px;
	background: currentColor;
	border-radius: 1px;
	position: relative;
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.acg-nav-toggle__bars::before,
.acg-nav-toggle__bars::after {
	content: "";
	position: absolute;
	left: 0;
}
.acg-nav-toggle__bars::before { top: -6px; }
.acg-nav-toggle__bars::after { top: 6px; }
.acg-nav-toggle.is-open .acg-nav-toggle__bars { background: transparent; }
.acg-nav-toggle.is-open .acg-nav-toggle__bars::before {
	top: 0;
	transform: rotate(45deg);
}
.acg-nav-toggle.is-open .acg-nav-toggle__bars::after {
	top: 0;
	transform: rotate(-45deg);
}

@media (max-width: 999px) {
	.acg-nav-toggle {
		display: inline-flex !important;
		margin-left: auto;
		order: 2 !important;
	}
	.acg-header__inner,
	header.acg-header .acg-header__inner,
	.wp-block-template-part .acg-header__inner {
		flex-wrap: wrap !important;
		gap: 0.75rem 1rem !important;
	}
	.acg-header__brand {
		order: 1 !important;
		flex: 0 0 auto !important;
		width: 96px !important;
		height: 40px !important;
	}
	.acg-header__brand img,
	.acg-header .acg-logo {
		width: 90px !important;
		height: 34px !important;
		max-width: 90px !important;
		max-height: 34px !important;
	}
	.acg-header__badge {
		order: 3 !important;
		flex: 0 0 110px !important;
		width: 110px !important;
		height: 40px !important;
		margin-left: 0 !important;
	}
	.acg-header__badge img,
	.acg-header .acg-adobe-badge {
		width: 100px !important;
		height: 34px !important;
		max-width: 100px !important;
		max-height: 34px !important;
	}
	/* Collapse primary nav behind hamburger */
	.acg-header__nav,
	.acg-header .acg-header__nav,
	header.acg-header .acg-header__nav,
	.wp-block-template-part .acg-header__nav {
		display: none !important;
		order: 4 !important;
		flex: 1 1 100% !important;
		width: 100% !important;
		min-width: 0 !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0.35rem !important;
		padding: 0.5rem 0 0.25rem !important;
		border-top: 1px solid #E5EBF0;
		box-sizing: border-box !important;
	}
	.acg-header__nav.is-open,
	.acg-header .acg-header__nav.is-open,
	header.acg-header .acg-header__nav.is-open {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	.acg-header__nav a.acg-nav-link {
		display: block !important;
		padding: 0.7rem 0.35rem !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		color: #0A1B2E !important;
	}
	.acg-header__nav a.acg-btn,
	.acg-header .acg-header__nav a.acg-btn {
		display: inline-flex !important;
		align-self: flex-start !important;
		margin-top: 0.35rem !important;
		margin-bottom: 0.25rem !important;
	}
	/* Footer: stacked, usable, no overflow */
	.acg-footer__inner,
	footer.acg-footer .acg-footer__inner {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		gap: 1rem !important;
	}
	.acg-footer__brand {
		display: flex !important;
		align-items: center !important;
		gap: 0.65rem !important;
	}
	.acg-footer__nav {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 0.75rem 1.25rem !important;
		width: 100% !important;
	}
	.acg-footer__meta {
		margin: 0 !important;
	}
	.acg-footer .acg-adobe-badge {
		height: 36px !important;
		max-width: 110px !important;
		margin: 0 !important;
	}
	.acg-proof-strip--8 img {
		max-width: min(130px, 42%) !important;
		height: 26px !important;
		max-height: 26px !important;
	}
}

/* Desktop: signed-off white header chrome (Dina) — hamburger gone, nav row intact */
@media (min-width: 1000px) {
	.acg-nav-toggle {
		display: none !important;
	}
	.acg-header__nav,
	.acg-header .acg-header__nav,
	header.acg-header .acg-header__nav {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: center !important;
		order: 2 !important;
		flex: 1 1 auto !important;
		width: auto !important;
		border-top: none !important;
		padding: 0 !important;
		gap: 1.25rem 2.25rem !important;
	}
	.acg-header__inner {
		flex-wrap: nowrap !important;
	}
	.acg-header__brand { order: 1 !important; }
	.acg-header__badge { order: 3 !important; margin-left: 0 !important; }
}

/* ---------- v0.5.0 Calgary SEO, blog hub, article ---------- */
:root {
	--acg-body: #3E5166;
	--acg-scrim-seo: linear-gradient(
		90deg,
		rgba(10, 27, 46, 0.78) 0%,
		rgba(10, 27, 46, 0.78) min(60.6667%, 915px),
		rgba(10, 27, 46, 0) min(66.6667%, 960px)
	);
}
.acg-page-hero--calgary,
.acg-page-hero--blog {
	background-color: #0A1B2E !important;
	background-size: 100% 100%, cover !important;
	background-position: left top, center right !important;
	background-repeat: no-repeat !important;
	min-height: clamp(24rem, 46vw, 35rem);
}
.acg-page-hero--calgary {
	background-image: var(--acg-scrim-seo), url('assets/calgary-skyline.jpg') !important;
	padding-bottom: clamp(3.25rem, 6vw, 4.5rem);
}
.acg-page-hero--blog {
	background-image: var(--acg-scrim-seo), url('assets/blog-hero.png') !important;
}
.acg-page-hero--article {
	background-color: #0A1B2E !important;
	background-image: url('assets/blog-hero.png') !important;
	background-size: cover !important;
	background-position: center right !important;
	background-repeat: no-repeat !important;
	min-height: clamp(22rem, 42vw, 32rem);
}
.acg-page-hero--calgary::before,
.acg-page-hero--calgary::after,
.acg-page-hero--blog::before,
.acg-page-hero--blog::after,
.acg-page-hero--article::before,
.acg-page-hero--article::after {
	content: none !important;
	display: none !important;
}
.acg-page-hero--calgary,
.acg-page-hero--calgary .acg-page-hero__content,
.acg-page-hero--calgary p,
.acg-page-hero--blog,
.acg-page-hero--blog .acg-page-hero__content,
.acg-page-hero--blog p,
.acg-page-hero--article,
.acg-page-hero--article .acg-page-hero__content,
.acg-page-hero--article p {
	color: #D1E0EB !important;
}
.acg-page-hero--calgary h1,
.acg-page-hero--blog h1,
.acg-page-hero--article h1,
.acg-page-hero--article .acg-article-title,
.acg-page-hero--article .wp-block-post-title {
	color: #FFFFFF !important;
}
.acg-page-hero--calgary .acg-eyebrow,
.acg-page-hero--blog .acg-eyebrow,
.acg-page-hero--article .acg-eyebrow,
.acg-page-hero--article .acg-article-eyebrow,
.acg-page-hero--article .acg-article-eyebrow a {
	color: #4CD2FF !important;
}
.acg-page-hero--calgary .acg-hero-sub,
.acg-page-hero--blog .acg-hero-sub,
.acg-page-hero--article .acg-lede,
.acg-page-hero--article .acg-article-excerpt,
.acg-page-hero--article .wp-block-post-excerpt {
	color: #D1E0EB !important;
	margin: 0;
	font-size: 1.0625rem;
	line-height: 1.55;
}
.acg-page-hero--calgary .acg-hero__actions .acg-btn,
.acg-page-hero--blog .acg-hero__actions .acg-btn,
.acg-page-hero--calgary .acg-hero__actions a.acg-btn,
.acg-page-hero--blog .acg-hero__actions a.acg-btn {
	background: #4CD2FF !important;
	color: #0A1B2E !important;
	text-decoration: none !important;
	border-radius: 999px !important;
	display: inline-flex !important;
}
.acg-photo-credit {
	position: absolute;
	z-index: 2;
	left: var(--acg-gutter);
	bottom: 0.9rem;
	margin: 0;
	max-width: min(36rem, calc(100% - (var(--acg-gutter) * 2)));
	font-size: 12px;
	line-height: 1.4;
	font-weight: 500;
}
.acg-photo-credit a {
	color: #FFFFFF !important;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.75);
}
.acg-section-intro {
	margin: 0.85rem 0 1.75rem;
	max-width: 46rem;
	color: #3E5166;
	font-size: 1.0625rem;
	line-height: 1.6;
}
.acg-seo-card__title,
.acg-seo-offer h3,
.acg-faq__item h3 {
	margin: 0.35rem 0 0.5rem;
	color: #0A1B2E;
	font-weight: 800;
	font-size: 1.2rem;
	line-height: 1.3;
	letter-spacing: -0.01em;
}
.acg-section--surface .acg-card p,
.acg-seo-offer p,
.acg-faq__item p {
	margin: 0;
	color: #3E5166;
	font-size: 1rem;
	line-height: 1.55;
}
.acg-seo-offers {
	margin-top: 1.5rem;
}
.acg-seo-offer {
	background: #F4F7FA;
	border: 1px solid #4CD2FF;
	border-radius: 12px;
	padding: 1.5rem 1.4rem;
	height: 100%;
	box-sizing: border-box;
}
.acg-faq__list {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin-top: 1.5rem;
	max-width: 52rem;
}
.acg-faq__item {
	padding-bottom: 1.15rem;
	border-bottom: 1px solid #E5EBF0;
}
.acg-faq__item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
#latest.acg-section {
	padding-bottom: 0.25rem;
}
.acg-blog-query.acg-section {
	padding-top: 0.5rem;
}
ul.acg-blog-list,
.acg-blog-list.wp-block-post-template {
	list-style: none !important;
	margin: 0.5rem 0 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 1.25rem !important;
}
.acg-blog-list > li {
	list-style: none;
	margin: 0;
}
.acg-blog-card {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
.acg-blog-card__cat,
.acg-blog-card .wp-block-post-terms,
.acg-blog-card .wp-block-post-terms a {
	color: #4CD2FF !important;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none !important;
	margin: 0;
}
.acg-blog-card__title,
.acg-blog-card h3.acg-blog-card__title {
	margin: 0;
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 800;
	line-height: 1.25;
}
.acg-blog-card__title a,
.acg-blog-card h3 a {
	color: #0A1B2E !important;
	text-decoration: none !important;
}
.acg-blog-card__title a:hover,
.acg-blog-card h3 a:hover {
	color: #4CD2FF !important;
}
.acg-blog-card__byline,
.acg-article-byline {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0;
	color: #596B7A;
	font-size: 14px;
	margin: 0;
}
.acg-blog-card__byline .wp-block-post-author-name,
.acg-article-byline .wp-block-post-author-name {
	margin: 0;
}
.acg-blog-card__byline .wp-block-post-author-name::after,
.acg-article-byline .wp-block-post-author-name::after {
	content: " · ";
}
.acg-blog-card__byline .wp-block-post-date,
.acg-article-byline .wp-block-post-date {
	margin: 0;
}
.acg-blog-card .wp-block-post-excerpt,
.acg-blog-card .wp-block-post-excerpt p {
	margin: 0;
	color: #3E5166;
	font-size: 1rem;
	line-height: 1.55;
}
.acg-blog-query .wp-block-query-pagination {
	margin-top: 1.5rem;
	gap: 0.75rem;
}
.acg-blog-query .wp-block-query-pagination a {
	color: #0A1B2E;
	font-weight: 600;
	text-decoration: none;
}
.acg-article-hero__photo,
.acg-page-hero--article .wp-block-post-featured-image {
	position: absolute !important;
	inset: 0;
	margin: 0 !important;
	z-index: 0;
	width: 100% !important;
	height: 100% !important;
	overflow: hidden;
}
.acg-page-hero--article .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center right;
	display: block;
}
.acg-article-hero__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: var(--acg-scrim-seo);
}
.acg-page-hero--article .acg-page-hero__content {
	z-index: 2;
}
.acg-article-eyebrow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
}
.acg-article-eyebrow .wp-block-post-terms {
	margin: 0;
}
.acg-article-eyebrow .wp-block-post-terms:not(:empty) + .acg-article-eyebrow__label::before {
	content: "· ";
}
.acg-article-byline {
	color: #D1E0EB !important;
}
.acg-article-byline .wp-block-post-author-name,
.acg-article-byline .wp-block-post-date {
	color: #D1E0EB !important;
}
.acg-article-wrap {
	width: min(100%, 760px);
	margin-inline: auto;
}
.acg-article-body h2,
.acg-article-body .wp-block-heading {
	color: #0A1B2E;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.25;
}
.acg-article-body p,
.acg-article-body li {
	color: #3E5166;
	font-size: 17px;
	line-height: 1.65;
}
.acg-author-card {
	margin-top: 2.5rem;
	padding: 1.35rem 1.5rem;
	background: #F4F7FA;
	border-radius: 12px;
	border: 1px solid #E5EBF0;
}
.acg-author-card .acg-eyebrow {
	margin-bottom: 0.35rem;
}
.acg-author-card__name,
.acg-author-card .wp-block-post-author-name {
	margin: 0;
	color: #0A1B2E;
	font-weight: 800;
	font-size: 1.25rem;
	line-height: 1.3;
}
.acg-author-card__org {
	margin: 0.25rem 0 0;
	color: #3E5166;
	font-size: 1rem;
}
.acg-related-list.wp-block-post-template,
ul.acg-related-list {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 1.25rem !important;
}
@media (min-width: 700px) {
	.acg-related-list.wp-block-post-template,
	ul.acg-related-list {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 699px) {
	.acg-seo-offers,
	.acg-card-grid--3,
	.acg-related-list.wp-block-post-template,
	ul.acg-related-list,
	ul.acg-blog-list {
		grid-template-columns: 1fr !important;
	}
	.acg-photo-credit {
		position: static;
		margin-top: 1.25rem;
		padding-inline: var(--acg-gutter);
	}
	.acg-page-hero--calgary .acg-photo-credit a {
		color: #FFFFFF !important;
	}
}


/* Privacy policy — simple hybrid chrome, no redesign */
.acg-legal {
	padding-top: 3rem;
	padding-bottom: 4rem;
}
.acg-legal__inner {
	max-width: 720px;
}
.acg-legal h1 {
	margin: 0 0 1.5rem;
	font-size: clamp(2rem, 4vw, 2.75rem);
	line-height: 1.15;
	color: var(--acg-navy);
}
.acg-legal h2,
.acg-legal h3,
.acg-legal h4 {
	margin: 2rem 0 0.75rem;
	color: var(--acg-navy);
}
.acg-legal p {
	margin: 0 0 1rem;
	color: var(--acg-navy);
	line-height: 1.6;
}
.acg-legal a {
	color: var(--acg-navy);
	text-decoration: underline;
}
.acg-legal__table-wrap {
	overflow-x: auto;
	margin: 1.25rem 0 1.75rem;
}
.acg-legal__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}
.acg-legal__table th,
.acg-legal__table td {
	border: 1px solid #d7e0ea;
	padding: 0.65rem 0.75rem;
	text-align: left;
	vertical-align: top;
	color: var(--acg-navy);
}
.acg-legal__table th {
	background: var(--acg-surface);
	font-weight: 600;
}
