/* ==========================================================================
   Homepage Refinements - 2026-06-24
   Header offset, Material Symbols, top-card alignment and hover motion tuning.
   ========================================================================== */
/* Hero top alignment: remove the block gap after the fixed header. */
body .wp-site-blocks>#site-content {
	margin-block-start: 0 !important;
}

/* Material Symbols homepage icon refresh. */
.cm-card-icon,
.cm-help-icon {
	background: var(--cm-ash);
	color: var(--cm-dark-teal);
	box-shadow: 0 14px 26px rgba(7, 50, 54, 0.14);
}

.cm-top-cards article:nth-child(2) .cm-card-icon {
	background: var(--cm-almond);
}

.cm-top-cards article:nth-child(3) .cm-card-icon {
	background: var(--cm-border);
}

.cm-card-icon {
	width: 78px;
}

.cm-help-icon {
	width: 76px;
	margin-bottom: 0.8rem;
	background: transparent;
	box-shadow: none;
}

.cm-card-icon::before,
.cm-help span::before {
	font-family: "Material Symbols Rounded";
	font-style: normal;
	font-weight: 200;
	font-size: 3.6rem;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: "liga";
	-webkit-font-smoothing: antialiased;
	font-feature-settings: "liga";
	font-variation-settings: "FILL" 0, "wght" 200, "GRAD" 0, "opsz" 48;
}

.cm-help-icon::before {
	color: var(--cm-teal);
	font-size: 4.1rem;
}

.cm-help .cm-help-icon::before {
	font-size: 4.1rem;
}

.cm-icon-services::before {
	content: "track_changes";
}

.cm-icon-trust::before {
	content: "groups";
}

.cm-icon-about::before {
	content: "person";
}

.cm-icon-strategy::before {
	content: "explore";
}

.cm-icon-qualification::before {
	content: "edit_square";
}

.cm-icon-apprenticeship::before {
	content: "groups";
}

.cm-icon-quality::before {
	content: "verified_user";
}

.cm-icon-land::before {
	content: "eco";
}

.cm-icon-curriculum::before {
	content: "menu_book";
}

.cm-icon-training::before {
	content: "co_present";
}

.cm-icon-contact::before {
	content: "contact_support";
}

.cm-help .cm-icon-strategy::before {
	content: "explore";
}

.cm-help .cm-icon-qualification::before {
	content: "edit_square";
}

.cm-help .cm-icon-apprenticeship::before {
	content: "groups";
}

.cm-help .cm-icon-quality::before {
	content: "verified_user";
}

.cm-help .cm-icon-land::before {
	content: "eco";
}

.cm-help .cm-icon-curriculum::before {
	content: "menu_book";
}

.cm-help .cm-icon-training::before {
	content: "co_present";
}

.cm-help .cm-icon-contact::before {
	content: "contact_support";
}

.cm-top-cards .cm-card-button {
	color: var(--cm-soft-white);
	background: var(--cm-dark-teal);
}

.cm-top-cards .cm-card-button::after {
	background-image: url("../../images/shapes/arrow_right_alt_FBFAF7.svg");
}

.cm-top-cards .cm-card-button:hover,
.cm-top-cards .cm-card-button:focus-visible {
	color: var(--cm-soft-white);
	background: var(--cm-teal);
}

.cm-help>h2 {
	margin-bottom: 0.7rem;
	color: var(--cm-dark-teal);
}

.cm-help>h2::after {
	content: "";
	display: block;
	width: 42px;
	height: 3px;
	margin: 1.25rem auto 0;
	background: var(--cm-teal);
	border-radius: 999px;
}

.cm-help article {
	justify-content: flex-start;
}

.cm-help h3 {
	color: var(--cm-dark-teal);
}

.cm-help a {
	min-height: auto;
	padding: 0.35rem 0.15rem;
	background: transparent;
	color: var(--cm-dark-teal);
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.cm-help a::after {
	background-image: url("../../images/shapes/arrow_right_alt_073236.svg");
}

.cm-help a:hover,
.cm-help a:focus-visible {
	background: transparent;
	color: var(--cm-teal);
	box-shadow: none;
	transform: none;
}

.cm-help a:hover::after,
.cm-help a:focus-visible::after {
	background-image: url("../../images/shapes/arrow_right_alt_0B4B51.svg");
	transform: translateX(3px);
}

.cm-card-icon::before,
.cm-help-icon::before {
	opacity: 0;
}

.cm-material-symbols-loaded .cm-card-icon::before,
.cm-material-symbols-loaded .cm-help-icon::before {
	opacity: 1;
}

/* Top-card CTA alignment. */
.cm-top-cards article {
	display: grid;
	grid-template-columns: 78px minmax(0, 1fr);
	grid-template-rows: auto auto auto;
	column-gap: 1.2rem;
	row-gap: 0.5rem;
	min-height: 0;
}

.cm-top-cards .cm-card-icon {
	grid-column: 1;
	grid-row: 1 / -1;
}

.cm-top-cards h2 {
	grid-column: 2;
	grid-row: 1;
}

.cm-top-cards p {
	grid-column: 2;
	grid-row: 2;
	min-height: 8rem;
}

.cm-top-cards .cm-card-button {
	grid-column: 2;
	grid-row: 3;
	align-self: end;
	width: 80%;
	max-width: 175px;
	margin-top: 0.1rem;
}


/* Transition refinements: no vertical hover movement. */
@property --cm-glow-angle {
	syntax: "<angle>";
	inherits: false;
	initial-value: 0deg;
}

@keyframes cm-button-glow-spin {
	to {
		--cm-glow-angle: 360deg;
	}
}

.cm-primary-nav a::after {
	left: 50%;
	right: 50%;
	width: auto;
	background: var(--cm-teal);
	opacity: 0;
	transition: left 220ms ease, right 220ms ease, opacity 180ms ease;
}

.cm-primary-nav a:hover::after,
.cm-primary-nav a:focus-visible::after,
body.home .cm-nav-home::after,
body.blog .cm-nav-home::after,
body.cm-page-what-i-do .cm-nav-what::after,
body.cm-page-why-hire-me .cm-nav-why::after,
body.cm-page-about .cm-nav-about::after,
body.cm-page-insights .cm-nav-insights::after {
	left: 0;
	right: 0;
	opacity: 1;
}

.cm-header-cta,
.cm-button,
.cm-card-button,
.cm-inline-button,
.cm-read-more,
.wp-block-button__link,
.wp-block-post-excerpt__more-link {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	transform: none;
	transition: box-shadow 220ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.cm-header-cta::before,
.cm-button::before,
.cm-card-button::before,
.cm-read-more::before,
.wp-block-button__link::before,
.wp-block-post-excerpt__more-link::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	padding: 1px;
	border-radius: inherit;
	background: conic-gradient(from var(--cm-glow-angle), transparent 0 62%, rgba(251, 250, 247, 0.88) 72%, transparent 84% 100%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask-composite: exclude;
	opacity: 0;
	pointer-events: none;
	transition: opacity 220ms ease;
}

.cm-header-cta:hover::before,
.cm-header-cta:focus-visible::before,
.cm-button:not(.cm-button-light):not(.cm-button-disabled):hover::before,
.cm-button:not(.cm-button-light):not(.cm-button-disabled):focus-visible::before,
.cm-card-button:hover::before,
.cm-card-button:focus-visible::before,
.cm-read-more:hover::before,
.cm-read-more:focus-visible::before,
.wp-block-button__link:hover::before,
.wp-block-button__link:focus-visible::before,
.wp-block-post-excerpt__more-link:hover::before,
.wp-block-post-excerpt__more-link:focus-visible::before {
	opacity: 0.45;
	animation: cm-button-glow-spin 2.8s linear infinite;
}

.cm-header-cta:hover,
.cm-header-cta:focus-visible,
.cm-button:not(.cm-button-disabled):hover,
.cm-button:not(.cm-button-disabled):focus-visible,
.cm-card-button:hover,
.cm-card-button:focus-visible,
.cm-read-more:hover,
.cm-read-more:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible,
.wp-block-post-excerpt__more-link:hover,
.wp-block-post-excerpt__more-link:focus-visible,
.cm-top-cards .cm-card-button:hover,
.cm-top-cards .cm-card-button:focus-visible {
	transform: none;
}

.cm-top-cards article,
.cm-post-card {
	transition: box-shadow 180ms ease;
}

.cm-top-cards article:hover,
.cm-post-card:hover {
	transform: none;
}

.cm-help a:hover,
.cm-help a:focus-visible {
	transform: none;
}

/* Teal button glow tuning. */
.cm-header-cta:hover,
.cm-header-cta:focus-visible,
.cm-button:not(.cm-button-light):not(.cm-button-disabled):hover,
.cm-button:not(.cm-button-light):not(.cm-button-disabled):focus-visible,
.cm-card-button:hover,
.cm-card-button:focus-visible,
.cm-read-more:hover,
.cm-read-more:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible,
.wp-block-post-excerpt__more-link:hover,
.wp-block-post-excerpt__more-link:focus-visible,
.cm-top-cards .cm-card-button:hover,
.cm-top-cards .cm-card-button:focus-visible {
	background: var(--cm-dark-teal);
}

.cm-header-cta::before,
.cm-button::before,
.cm-card-button::before,
.cm-read-more::before,
.wp-block-button__link::before,
.wp-block-post-excerpt__more-link::before {
	padding: 2px;
	background: conic-gradient(from var(--cm-glow-angle),
			transparent 0 42%,
			rgba(251, 250, 247, 0.18) 52%,
			rgba(251, 250, 247, 0.82) 64%,
			rgba(251, 250, 247, 0.22) 76%,
			transparent 88% 100%);
	filter: drop-shadow(0 0 10px rgba(251, 250, 247, 0.22));
}

.cm-header-cta:hover::before,
.cm-header-cta:focus-visible::before,
.cm-button:not(.cm-button-light):not(.cm-button-disabled):hover::before,
.cm-button:not(.cm-button-light):not(.cm-button-disabled):focus-visible::before,
.cm-card-button:hover::before,
.cm-card-button:focus-visible::before,
.cm-read-more:hover::before,
.cm-read-more:focus-visible::before,
.wp-block-button__link:hover::before,
.wp-block-button__link:focus-visible::before,
.wp-block-post-excerpt__more-link:hover::before,
.wp-block-post-excerpt__more-link:focus-visible::before {
	opacity: 0.72;
	animation-duration: 5.4s;
}
.cm-header-cta {
	min-height: 24px;
    padding: 0.72rem 1.15rem;
    font-size: 0.92rem;
}

