/* CR-DEPLOY-CHECK-7F3A9 :: if you can grep this string on the live cr-theme.css, the upload is live and not cached */

/* ============================================================================
   Source: assets/css/cr-header.css
   ============================================================================ */

/* ============================================================================
   Critical Risk - Theme header
   ============================================================================ */

.cr-skip-link {
	position: absolute;
	top: -100px;
	left: 1rem;
	z-index: 100000;
	padding: 0.75rem 1rem;
	background: #0D2C3C;
	color: #FFFFFF !important;
	border-radius: 4px;
	text-decoration: none;
}

.cr-skip-link:focus {
	top: 1rem;
}

.cr-site-header {
	--cr-header-navy: #0D2C3C;
	--cr-header-steel: #446887;
	--cr-header-accent: #89B7ED;
	--cr-header-soft: #E7F1FB;
	--cr-header-white: #FFFFFF;
	--cr-header-line: rgba(13, 44, 60, 0.12);
	--cr-header-font-heading: "DM Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	--cr-header-font-body: "Encode Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

	position: sticky;
	top: 0;
	z-index: 9990;
	width: 100%;
	background: rgba(255, 255, 255, 0.94);
	border-bottom: 1px solid var(--cr-header-line);
	box-shadow: 0 12px 34px rgba(13, 44, 60, 0.08);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

body.admin-bar .cr-site-header {
	top: 32px;
}

.cr-site-header__inner {
	width: min(1280px, calc(100% - 2rem));
	min-height: 82px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(1rem, 3vw, 2.25rem);
}

.cr-site-header__brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	text-decoration: none !important;
}

.cr-site-header__logo {
	display: block;
	width: clamp(176px, 18vw, 245px);
	height: auto;
}

.cr-site-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 1 1 auto;
	min-width: 0;
	font-family: var(--cr-header-font-heading);
}

.cr-site-header__actions {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.cr-site-header__phone,
.cr-site-header__phone:link,
.cr-site-header__phone:visited {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.72rem 0.95rem;
	border-radius: 999px;
	color: var(--cr-header-navy) !important;
	font-family: var(--cr-header-font-heading);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.1;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background 0.18s ease, color 0.18s ease;
}

.cr-site-header__phone:hover,
.cr-site-header__phone:focus-visible {
	background: var(--cr-header-soft);
	color: var(--cr-header-navy) !important;
}

.cr-mobile-ctas {
	display: none;
}

.cr-site-menu,
.cr-site-menu .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cr-site-menu a {
	text-decoration: none !important;
}

.cr-site-menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.18rem;
}

.cr-site-menu > .menu-item {
	position: relative;
}

.cr-site-menu > .menu-item > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.72rem 0.95rem;
	border-radius: 999px;
	color: var(--cr-header-navy) !important;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.1;
	transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.cr-site-menu > .menu-item > a:hover,
.cr-site-menu > .menu-item > a:focus-visible {
	background: var(--cr-header-soft);
	color: var(--cr-header-navy) !important;
}

.cr-site-menu > .current-menu-item > a,
.cr-site-menu > .current-menu-ancestor > a,
.cr-site-menu > .current_page_item > a {
	background: transparent;
	color: var(--cr-header-navy) !important;
}

.cr-site-menu > .current-menu-item > a::after,
.cr-site-menu > .current-menu-ancestor > a::after,
.cr-site-menu > .current_page_item > a::after {
	content: "";
	position: absolute;
	left: 0.95rem;
	right: 0.95rem;
	bottom: 0.42rem;
	height: 2px;
	border-radius: 999px;
	background: var(--cr-header-accent);
}

.cr-site-menu > .menu-item-has-children > a {
	padding-right: 1.75rem;
}

.cr-site-menu > .menu-item-has-children > a::before {
	content: "";
	position: absolute;
	right: 0.9rem;
	top: 50%;
	width: 0.42rem;
	height: 0.42rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-65%) rotate(45deg);
	opacity: 0.75;
	transition: transform 0.18s ease;
}

.cr-site-menu > .menu-item-has-children:hover > a::before,
.cr-site-menu > .menu-item-has-children:focus-within > a::before {
	transform: translateY(-35%) rotate(225deg);
}

.cr-site-menu > .menu-item:last-child > a {
	margin-left: 0.45rem;
	padding-inline: 1.15rem;
	background: var(--cr-header-accent);
	color: var(--cr-header-navy) !important;
	box-shadow: 0 10px 22px rgba(137, 183, 237, 0.34);
}

.cr-site-menu > .menu-item:last-child > a:hover,
.cr-site-menu > .menu-item:last-child > a:focus-visible {
	background: #9ec7f6;
	transform: translateY(-1px);
}

.cr-site-menu > .menu-item:last-child > a::after {
	display: none;
}

.cr-site-menu .sub-menu {
	position: absolute;
	top: calc(100% + 0.72rem);
	right: 0;
	width: min(720px, 92vw);
	min-width: 260px;
	max-width: min(720px, 92vw);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.16rem 0.4rem;
	padding: 1rem;
	background: rgba(13, 44, 60, 0.98);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	box-shadow: 0 22px 52px rgba(13, 44, 60, 0.22);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.cr-site-menu .sub-menu::before {
	content: "";
	position: absolute;
	top: -0.72rem;
	left: 0;
	right: 0;
	height: 0.72rem;
}

.cr-site-menu .menu-item-has-children:hover > .sub-menu,
.cr-site-menu .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.cr-site-menu .sub-menu a {
	display: flex;
	align-items: flex-start;
	min-height: 44px;
	padding: 0.72rem 0.8rem;
	border-radius: 6px;
	color: rgba(255, 255, 255, 0.88) !important;
	font-family: var(--cr-header-font-body);
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.35;
	text-align: left;
	white-space: normal;
	transition: background 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.cr-site-menu > .menu-item-has-children:has(> .sub-menu > .menu-item:only-child) > .sub-menu {
	width: max-content;
	min-width: 220px;
	max-width: min(360px, 92vw);
	grid-template-columns: minmax(220px, max-content);
}

.cr-site-menu > .menu-item-has-children:has(> .sub-menu > .menu-item:only-child) > .sub-menu a {
	white-space: nowrap;
}

.cr-site-menu .sub-menu a:hover,
.cr-site-menu .sub-menu a:focus-visible,
.cr-site-menu .sub-menu .current-menu-item > a {
	background: rgba(137, 183, 237, 0.16);
	color: var(--cr-header-white) !important;
	transform: translateX(2px);
}

.cr-site-nav__toggle {
	display: none !important;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 44px;
	padding: 0.68rem 0.88rem;
	border: 1px solid rgba(13, 44, 60, 0.16) !important;
	border-radius: 999px !important;
	background: var(--cr-header-navy) !important;
	color: var(--cr-header-white) !important;
	font-family: var(--cr-header-font-heading);
	font-size: 0.84rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	box-shadow: none !important;
}

.cr-site-nav__toggle-bars {
	display: grid;
	gap: 4px;
}

.cr-site-nav__toggle-bars span {
	display: block;
	width: 18px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	transition: transform 0.18s ease, opacity 0.18s ease;
}

.cr-site-nav.is-open .cr-site-nav__toggle {
	position: relative;
	z-index: 10003;
	background: var(--cr-header-white) !important;
	border-color: rgba(255, 255, 255, 0.72) !important;
	color: var(--cr-header-navy) !important;
}

.cr-site-nav.is-open .cr-site-nav__toggle-bars span:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}

.cr-site-nav.is-open .cr-site-nav__toggle-bars span:nth-child(2) {
	opacity: 0;
}

.cr-site-nav.is-open .cr-site-nav__toggle-bars span:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

.cr-site-header :focus-visible {
	outline: 3px solid var(--cr-header-accent);
	outline-offset: 3px;
}

body.cr-site-nav-open {
	overflow: hidden;
}

@media (max-width: 960px) {
	.cr-site-header {
		display: block !important;
		position: sticky;
		top: 0;
		z-index: 9995;
		visibility: visible !important;
		opacity: 1 !important;
	}

	.cr-site-header__inner {
		display: flex !important;
		min-height: 72px;
		position: relative;
		z-index: 3;
	}

	.cr-site-header__actions {
		display: none;
	}

	.cr-site-header__logo {
		width: clamp(150px, 34vw, 210px);
	}

	.cr-site-nav__toggle {
		display: inline-flex !important;
		flex: 0 0 auto;
	}

	.cr-site-nav.is-open .cr-site-nav__toggle {
		position: relative;
		z-index: 10003;
		background: var(--cr-header-white) !important;
		color: var(--cr-header-navy) !important;
	}

	.cr-site-menu {
		position: fixed;
		inset: 0;
		z-index: 2;
		width: 100vw;
		height: 100vh;
		height: 100dvh;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0.2rem;
		padding: clamp(6.5rem, 14vh, 8rem) 1.1rem calc(6rem + env(safe-area-inset-bottom));
		background: rgba(13, 44, 60, 0.98);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
	}

	.cr-site-nav.is-open .cr-site-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.cr-site-menu > .menu-item > a {
		width: 100%;
		justify-content: flex-start;
		min-height: 52px;
		padding: 0.9rem 1rem;
		border-radius: 6px;
		color: var(--cr-header-white) !important;
		font-size: 1.06rem;
		text-align: left;
	}

	.cr-site-menu > .menu-item > a:hover,
	.cr-site-menu > .menu-item > a:focus-visible {
		background: rgba(137, 183, 237, 0.16);
		color: var(--cr-header-white) !important;
	}

	.cr-site-menu > .current-menu-item > a,
	.cr-site-menu > .current-menu-ancestor > a,
	.cr-site-menu > .current_page_item > a {
		background: transparent;
		color: var(--cr-header-white) !important;
	}

	.cr-site-menu > .current-menu-item > a::after,
	.cr-site-menu > .current-menu-ancestor > a::after,
	.cr-site-menu > .current_page_item > a::after {
		left: 0;
		right: auto;
		top: 0.78rem;
		bottom: 0.78rem;
		width: 3px;
		height: auto;
	}

	.cr-site-menu > .menu-item-has-children > a::before {
		position: static;
		order: 2;
		flex: 0 0 auto;
		margin-left: 0.75rem;
		transform: rotate(45deg);
	}

	.cr-site-menu > .menu-item-has-children:hover > a::before,
	.cr-site-menu > .menu-item-has-children.is-submenu-open > a::before {
		transform: rotate(225deg);
	}

	.cr-site-menu > .menu-item:last-child > a {
		margin: 0.5rem 0 0;
		justify-content: center;
		background: var(--cr-header-accent);
		color: var(--cr-header-navy) !important;
	}

	.cr-site-menu .sub-menu {
		position: static;
		width: auto;
		display: none;
		flex-direction: column;
		gap: 0;
		padding: 0.15rem 0 0.5rem 0.8rem;
		background: transparent;
		border: 0;
		border-left: 1px solid rgba(137, 183, 237, 0.3);
		border-radius: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: none;
		text-align: left;
	}

	.cr-site-menu .menu-item-has-children.is-submenu-open > .sub-menu {
		display: flex;
	}

	.cr-site-menu .sub-menu::before {
		display: none;
	}

	.cr-site-menu .sub-menu a {
		justify-content: flex-start;
		min-width: 0;
		min-height: 42px;
		padding: 0.68rem 0.8rem;
		font-size: 0.92rem;
		text-align: left;
		white-space: normal;
	}

	.cr-mobile-ctas {
		--cr-mobile-cta-navy: #0D2C3C;
		--cr-mobile-cta-accent: #89B7ED;
		--cr-mobile-cta-white: #FFFFFF;
		--cr-mobile-cta-soft: #E7F1FB;

		position: fixed !important;
		left: 50%;
		right: auto !important;
		top: auto !important;
		bottom: max(1rem, env(safe-area-inset-bottom)) !important;
		z-index: 10001;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem;
		width: min(332px, calc(100vw - 2rem));
		padding: 0.6rem;
		background: var(--cr-mobile-cta-navy);
		border: 1px solid rgba(137, 183, 237, 0.42);
		border-radius: 14px;
		box-shadow: 0 18px 38px rgba(13, 44, 60, 0.28);
		backdrop-filter: blur(14px);
		-webkit-backdrop-filter: blur(14px);
		transform: translateX(-50%) !important;
	}

	.cr-mobile-cta,
	.cr-mobile-cta:link,
	.cr-mobile-cta:visited,
	.cr-mobile-cta:hover,
	.cr-mobile-cta:focus-visible {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 42px;
		padding: 0.7rem 0.9rem;
		border-radius: 9px;
		font-family: var(--cr-header-font-heading);
		font-size: 0.95rem;
		font-weight: 700;
		line-height: 1.1;
		text-align: center;
		text-decoration: none !important;
	}

	.cr-mobile-cta--contact,
	.cr-mobile-cta--contact:link,
	.cr-mobile-cta--contact:visited,
	.cr-mobile-cta--contact:hover,
	.cr-mobile-cta--contact:focus-visible {
		background: var(--cr-mobile-cta-accent);
		color: var(--cr-mobile-cta-navy) !important;
	}

	.cr-mobile-cta--linkedin,
	.cr-mobile-cta--linkedin:link,
	.cr-mobile-cta--linkedin:visited,
	.cr-mobile-cta--linkedin:hover,
	.cr-mobile-cta--linkedin:focus-visible {
		background: transparent;
		border: 1px solid rgba(231, 241, 251, 0.72);
		color: var(--cr-mobile-cta-white) !important;
	}

	body {
		padding-bottom: calc(5rem + env(safe-area-inset-bottom));
	}
}

@media (max-width: 480px) {
	body.admin-bar .cr-site-header {
		top: 46px;
	}

	.cr-site-header__inner {
		width: min(100% - 1rem, 1280px);
		gap: 0.65rem;
	}

	.cr-site-header__logo {
		width: clamp(138px, 44vw, 168px);
	}

	.cr-site-nav__toggle-label {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cr-site-header *,
	.cr-site-header *::before,
	.cr-site-header *::after {
		transition: none !important;
		animation: none !important;
	}
}


/* ============================================================================
   Source: assets/css/cr-grid.css
   ============================================================================ */

/* ============================================================================
   Critical Risk â€” Grid styles (archives + shortcodes)
   Brand palette / fonts declared on :root so shared across all templates.
   ============================================================================ */

/* ==========================================================================
   FULL-BLEED HERO BAND (archive pages)
   
   Sits OUTSIDE .cr-archive, inside <main>. Full viewport width, navy bg.
   Top padding is generous to clear transparent absolute Hello Elementor
   headers without collision.
   ========================================================================== */
.cr-archive-hero {
	background: #0D2C3C;
	color: #FFFFFF;
	padding: clamp(6rem, 14vh, 9rem) clamp(1rem, 3vw, 2rem) clamp(3rem, 6vw, 5rem);
	text-align: center;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin: 0 0 clamp(2rem, 4vw, 3rem);
}
.cr-archive-hero::after {
	content: "";
	position: absolute;
	top: -30%;
	right: -15%;
	width: 70%;
	height: 180%;
	background: radial-gradient(ellipse at center, rgba(137, 183, 237, 0.12) 0%, transparent 60%);
	z-index: -1;
	pointer-events: none;
}
.cr-archive-hero__inner {
	max-width: 800px;
	margin: 0 auto;
}
.cr-archive-hero__eyebrow {
	font-family: "DM Sans", system-ui, sans-serif;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 0.82rem;
	color: #89B7ED;
	margin: 0 0 0.85rem;
}
.cr-archive-hero .cr-archive-hero__title,
.cr-archive-hero__title {
	font-family: "DM Sans", system-ui, sans-serif;
	font-weight: 700;
	font-size: clamp(2.1rem, 4vw, 3.25rem);
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: #FFFFFF !important;
	margin: 0 0 1rem;
}
.cr-archive-hero__description {
	font-family: "Encode Sans", system-ui, sans-serif;
	font-size: clamp(1rem, 1.2vw, 1.1rem);
	color: rgba(255, 255, 255, 0.82);
	margin: 0;
	line-height: 1.65;
}

/* ==========================================================================
   ARCHIVE CONTAINER (boxed, holds tabs + grid)
   ========================================================================== */

/* Theme reset (Elementor Hello defaults neutralisation) */
.cr-archive button,
.cr-archive button:hover,
.cr-archive button:focus,
.cr-archive button:focus-visible,
.cr-archive button:active,
.cr-archive [type="button"]:hover,
.cr-archive [type="submit"]:hover {
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
.cr-archive a,
.cr-archive a:link,
.cr-archive a:visited { text-decoration: none; }
.cr-archive h1,
.cr-archive h2,
.cr-archive h3 { margin: 0; padding: 0; line-height: 1.2; }
.cr-archive p  { margin: 0 0 1em; }
.cr-archive p:last-child { margin-bottom: 0; }
.cr-archive img { max-width: 100%; height: auto; display: block; }
.cr-archive ul, .cr-archive ol, .cr-archive li { margin: 0; padding: 0; list-style: none; }
.cr-archive *, .cr-archive *::before, .cr-archive *::after { box-sizing: border-box; }

.cr-archive {
	--cr-navy:        #0D2C3C;
	--cr-steel:       #446887;
	--cr-accent:      #89B7ED;
	--cr-soft:        #E7F1FB;
	--cr-navy-light:  #1D4053;
	--cr-navy-dark:   #0C2A3A;
	--cr-white:       #FFFFFF;
	--cr-line:        #d8e3ed;
	--cr-body-text:   #0D2C3C;
	--cr-muted-text:  #446887;

	--cr-font-heading: "DM Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	--cr-font-body:    "Encode Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

	max-width: 1280px;
	margin: 0 auto;
	padding: 0 clamp(1rem, 2vw, 1.5rem) clamp(2rem, 4vw, 4rem);
	color: var(--cr-body-text);
	font-family: var(--cr-font-body);
	font-size: 16px;
	line-height: 1.65;
}
.cr-archive :focus-visible {
	outline: 3px solid var(--cr-accent);
	outline-offset: 3px;
	border-radius: 4px;
}

/* When the archive is used inside a shortcode wrapper (.cr-shortcode),
   restore top padding since there's no hero band above it. */
.cr-archive.cr-shortcode {
	padding-top: clamp(2rem, 4vw, 4rem);
}

/* ==========================================================================
   TAB BAR â€” category filter (client-side)
   ========================================================================== */
.cr-archive .cr-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin: 0 0 2rem;
	padding: 0;
}
.cr-archive .cr-tabs .cr-tab,
.cr-archive .cr-tabs .cr-tab:hover,
.cr-archive .cr-tabs .cr-tab:focus,
.cr-archive .cr-tabs .cr-tab:focus-visible,
.cr-archive .cr-tabs .cr-tab:active {
	display: inline-block;
	padding: 0.55rem 1.25rem;
	border-radius: 999px !important;
	background: var(--cr-white) !important;
	color: var(--cr-steel) !important;
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.92rem;
	border: 1.5px solid var(--cr-line) !important;
	cursor: pointer;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.cr-archive .cr-tabs .cr-tab:hover,
.cr-archive .cr-tabs .cr-tab:focus-visible {
	background: var(--cr-soft) !important;
	color: var(--cr-navy) !important;
	border-color: var(--cr-soft) !important;
}
.cr-archive .cr-tabs .cr-tab.is-active,
.cr-archive .cr-tabs .cr-tab.is-active:hover,
.cr-archive .cr-tabs .cr-tab.is-active:focus-visible {
	background: var(--cr-navy) !important;
	color: var(--cr-white) !important;
	border-color: var(--cr-navy) !important;
}

/* ==========================================================================
   PROJECT GRID â€” 3 cols on desktop
   ========================================================================== */
.cr-project-grid-wrap { margin: 0; }

.cr-project-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}
@media (min-width: 600px) {
	.cr-project-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
}
@media (min-width: 900px) {
	.cr-project-grid { grid-template-columns: repeat(3, 1fr); gap: 1.35rem; }
}

/* ==========================================================================
   PROJECT CARD â€” editorial case study tile
   ========================================================================== */
.cr-card {
	background: var(--cr-white);
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid var(--cr-line);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.cr-card:hover,
.cr-card:focus-within {
	transform: translateY(-3px);
	box-shadow: 0 18px 34px rgba(13, 44, 60, 0.12);
	border-color: transparent;
}
.cr-archive .cr-card__link,
.cr-archive .cr-card__link:link,
.cr-archive .cr-card__link:visited {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit !important;
	text-decoration: none !important;
}
.cr-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--cr-soft);
}
.cr-card .cr-card__image {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}
.cr-card:hover .cr-card__image,
.cr-card:focus-within .cr-card__image {
	transform: scale(1.04);
}
.cr-card__image--placeholder {
	background: linear-gradient(135deg, var(--cr-soft) 0%, #cfe0ef 100%);
}
.cr-card__category {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	background: rgba(13, 44, 60, 0.92);
	color: var(--cr-white);
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.35rem 0.75rem;
	border-radius: 3px;
	backdrop-filter: blur(4px);
}
.cr-card__body {
	padding: 1.35rem 1.25rem 1.25rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.cr-card__client {
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.76rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--cr-steel);
	margin: 0 0 0.5rem;
}
.cr-archive .cr-card__title {
	font-family: var(--cr-font-heading);
	font-weight: 700;
	font-size: 1.18rem;
	line-height: 1.25;
	color: var(--cr-navy);
	margin: 0 0 0.6rem;
	letter-spacing: -0.01em;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.cr-card__excerpt {
	color: var(--cr-muted-text);
	font-size: 0.92rem;
	line-height: 1.55;
	margin: 0 0 1rem;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.cr-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0 0 1rem;
	font-family: var(--cr-font-body);
	font-size: 0.82rem;
	color: var(--cr-steel);
}
.cr-card__meta-item { display: inline-flex; align-items: center; }
.cr-card__meta-item + .cr-card__meta-item::before {
	content: "•";
	margin-right: 0.75rem;
	color: var(--cr-line);
}
.cr-card__cta {
	margin-top: auto;
	padding-top: 0.75rem;
	border-top: 1px solid var(--cr-line);
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.88rem;
	color: var(--cr-navy);
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	transition: color 0.2s ease;
}
.cr-card__arrow { transition: transform 0.2s ease; display: inline-block; }
.cr-card:hover .cr-card__cta,
.cr-card:focus-within .cr-card__cta { color: var(--cr-accent); }
.cr-card:hover .cr-card__arrow,
.cr-card:focus-within .cr-card__arrow { transform: translateX(4px); }

/* ==========================================================================
   SERVICE GRID + CARD â€” typography-led, no image
   
   Services are abstract; don't give them image-led cards. Use a navy left
   border that expands on hover for a clean editorial look.
   ========================================================================== */
.cr-service-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}
@media (min-width: 640px) {
	.cr-service-grid { grid-template-columns: repeat(2, 1fr); gap: 1.15rem; }
}
@media (min-width: 1000px) {
	.cr-service-grid { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
}

.cr-service-card {
	background: var(--cr-white);
	border: 1px solid var(--cr-line);
	border-left: 4px solid var(--cr-navy);
	border-radius: 4px;
	transition: border-left-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
.cr-service-card:hover,
.cr-service-card:focus-within {
	border-left-color: var(--cr-accent);
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(13, 44, 60, 0.1);
}
.cr-archive .cr-service-card__link,
.cr-archive .cr-service-card__link:link,
.cr-archive .cr-service-card__link:visited {
	display: flex;
	flex-direction: column;
	padding: 1.5rem 1.5rem 1.35rem;
	min-height: 220px;
	color: inherit !important;
	text-decoration: none !important;
}
.cr-archive .cr-service-card__title {
	font-family: var(--cr-font-heading);
	font-weight: 700;
	font-size: 1.25rem;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--cr-navy);
	margin: 0 0 0.75rem;
}
.cr-service-card__excerpt {
	color: var(--cr-muted-text);
	font-size: 0.93rem;
	line-height: 1.6;
	margin: 0 0 1rem;
	flex: 1;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.cr-service-card__cta {
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.86rem;
	color: var(--cr-navy);
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: auto;
	transition: color 0.2s ease;
}
.cr-service-card__arrow { transition: transform 0.2s ease; display: inline-block; }
.cr-service-card:hover .cr-service-card__cta,
.cr-service-card:focus-within .cr-service-card__cta { color: var(--cr-accent); }
.cr-service-card:hover .cr-service-card__arrow,
.cr-service-card:focus-within .cr-service-card__arrow { transform: translateX(4px); }

/* ==========================================================================
   TEAM GRID + CARD â€” portrait-led directory
   ========================================================================== */
.cr-team-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 540px) {
	.cr-team-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 900px) {
	.cr-team-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1180px) {
	.cr-team-grid { grid-template-columns: repeat(4, 1fr); gap: 1.75rem; }
}

.cr-team-card {
	background: var(--cr-white);
	transition: transform 0.25s ease;
}
.cr-team-card:hover,
.cr-team-card:focus-within { transform: translateY(-3px); }

.cr-archive .cr-team-card__link,
.cr-archive .cr-team-card__link:link,
.cr-archive .cr-team-card__link:visited {
	display: flex;
	flex-direction: column;
	color: inherit !important;
	text-decoration: none !important;
}

.cr-team-card__photo {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--cr-soft);
	border-radius: 6px;
	margin-bottom: 1rem;
}
.cr-team-card .cr-team-card__image {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}
.cr-team-card:hover .cr-team-card__image,
.cr-team-card:focus-within .cr-team-card__image {
	transform: scale(1.04);
}
.cr-team-card__photo--placeholder {
	background: linear-gradient(135deg, var(--cr-soft) 0%, #cfe0ef 100%);
}

.cr-archive .cr-team-card__name {
	font-family: var(--cr-font-heading);
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--cr-navy);
	margin: 0 0 0.3rem;
	line-height: 1.25;
}
.cr-team-card__designation {
	font-family: var(--cr-font-body);
	font-size: 0.88rem;
	color: var(--cr-steel);
	margin: 0 0 0.35rem;
	line-height: 1.4;
}
.cr-team-card__expertise {
	font-family: var(--cr-font-body);
	font-size: 0.82rem;
	color: var(--cr-muted-text);
	margin: 0;
	font-style: italic;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ==========================================================================
   TESTIMONIAL GRID + CARD â€” premium quote cards
   ========================================================================== */
.cr-testimonials-shortcode {
	max-width: 1180px;
}

.cr-testimonial-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	align-items: stretch;
}
@media (min-width: 720px) {
	.cr-testimonial-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.4rem;
	}
}
@media (min-width: 1080px) {
	.cr-testimonial-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 1.5rem;
	}
}

.cr-testimonial-card {
	position: relative;
	min-height: 320px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(1.65rem, 2.4vw, 2.15rem);
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.98) 0%, rgba(231, 241, 251, 0.72) 100%);
	border: 1px solid rgba(13, 44, 60, 0.12);
	border-radius: 8px;
	box-shadow: 0 18px 44px rgba(13, 44, 60, 0.09);
	overflow: hidden;
	isolation: isolate;
	transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.cr-testimonial-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	background: linear-gradient(90deg, var(--cr-accent), var(--cr-navy));
	z-index: 1;
}

.cr-testimonial-card::after {
	content: "";
	position: absolute;
	right: -70px;
	bottom: -90px;
	width: 220px;
	height: 220px;
	background: radial-gradient(circle, rgba(137, 183, 237, 0.22) 0%, transparent 68%);
	z-index: -1;
	pointer-events: none;
}

.cr-testimonial-card:hover,
.cr-testimonial-card:focus-within {
	transform: translateY(-3px);
	border-color: rgba(137, 183, 237, 0.55);
	box-shadow: 0 24px 56px rgba(13, 44, 60, 0.13);
}

.cr-testimonial-card__mark {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(4rem, 7vw, 5.75rem);
	line-height: 0.7;
	color: rgba(137, 183, 237, 0.55);
	margin: 0 0 0.6rem;
}

.cr-testimonial-card__quote {
	margin: 0;
	color: var(--cr-navy);
	font-family: var(--cr-font-heading);
	font-size: clamp(1.05rem, 1.3vw, 1.18rem);
	font-weight: 500;
	line-height: 1.58;
	letter-spacing: -0.01em;
}

.cr-testimonial-card__footer {
	margin-top: 1.75rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(13, 44, 60, 0.12);
}

.cr-testimonial-card__person {
	display: block;
	color: var(--cr-navy);
	font-family: var(--cr-font-heading);
	font-size: 0.95rem;
	font-style: normal;
	font-weight: 700;
	line-height: 1.3;
}

.cr-testimonial-card__meta {
	color: var(--cr-steel);
	font-family: var(--cr-font-body);
	font-size: 0.86rem;
	line-height: 1.45;
	margin: 0.25rem 0 0;
}

/* ==========================================================================
   EMPTY STATE
   ========================================================================== */
.cr-grid-empty {
	text-align: center;
	padding: 3rem 1rem;
	color: var(--cr-muted-text);
	font-size: 1.05rem;
}

@media (prefers-reduced-motion: reduce) {
	.cr-archive *, .cr-archive *::before, .cr-archive *::after {
		transition: none !important;
		animation: none !important;
	}
	.cr-card:hover, .cr-service-card:hover, .cr-team-card:hover, .cr-testimonial-card:hover { transform: none; }
	.cr-card:hover .cr-card__image,
	.cr-team-card:hover .cr-team-card__image { transform: none; }
}

@media print {
	.cr-archive-hero {
		background: #fff !important;
		color: var(--cr-navy) !important;
		padding: 2rem 0;
	}
	.cr-archive-hero__title { color: var(--cr-navy) !important; }
	.cr-archive-hero__description { color: var(--cr-muted-text) !important; }
	.cr-archive-hero__eyebrow { color: var(--cr-steel) !important; }
	.cr-archive-hero::after { display: none; }
	.cr-archive { max-width: none; padding: 0; }
	.cr-tabs { display: none; }
	.cr-card, .cr-service-card { border-color: #ccc; box-shadow: none; break-inside: avoid; }
}


/* ============================================================================
   Source: assets/css/cr-project-single.css
   ============================================================================ */

/* ============================================================================
   Critical Risk â€” Single Project (Case Study) stylesheet
   
   Loaded only on is_singular('project').
   ============================================================================ */

/* Theme reset */
.cr-project button,
.cr-project button:hover,
.cr-project [type="button"]:hover,
.cr-project [type="submit"]:hover {
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
.cr-project a,
.cr-project a:link,
.cr-project a:visited { text-decoration: none; }
.cr-project h1,
.cr-project h2,
.cr-project h3,
.cr-project h4 { margin: 0; padding: 0; line-height: 1.2; }
.cr-project p { margin: 0 0 1em; }
.cr-project p:last-child { margin-bottom: 0; }
.cr-project img { max-width: 100%; height: auto; display: block; }
.cr-project ul, .cr-project ol, .cr-project li { margin: 0; padding: 0; list-style: none; }
.cr-project *, .cr-project *::before, .cr-project *::after { box-sizing: border-box; }

.cr-project {
	--cr-navy:        #0D2C3C;
	--cr-steel:       #446887;
	--cr-accent:      #89B7ED;
	--cr-soft:        #E7F1FB;
	--cr-navy-light:  #1D4053;
	--cr-navy-dark:   #0C2A3A;
	--cr-white:       #FFFFFF;
	--cr-line:        #d8e3ed;
	--cr-body-text:   #0D2C3C;
	--cr-muted-text:  #446887;

	--cr-font-heading: "DM Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	--cr-font-body:    "Encode Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

	color: var(--cr-body-text);
	font-family: var(--cr-font-body);
	font-size: 17px;
	line-height: 1.7;
    overflow-x: clip;
}
.cr-project :focus-visible {
	outline: 3px solid var(--cr-accent);
	outline-offset: 3px;
	border-radius: 4px;
}

/* ==========================================================================
   HERO â€” full-bleed image + gradient overlay + title/meta
   ========================================================================== */
.cr-project-hero {
	position: relative;
	isolation: isolate;
	min-height: 580px;
	display: flex;
	align-items: flex-end;
	color: var(--cr-white);
	margin: 0 0 clamp(2rem, 5vw, 4rem);
	overflow: hidden;
	width: 100%;
}
.cr-project-hero__image {
	position: absolute;
	inset: 0;
	z-index: -2;
	background: var(--cr-navy);
}
.cr-project-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.cr-project-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg,
			rgba(13, 44, 60, 0.35) 0%,
			rgba(13, 44, 60, 0.55) 50%,
			rgba(12, 42, 58, 0.92) 100%
		);
}
.cr-project-hero__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp(4rem, 10vw, 6rem) clamp(1rem, 3vw, 2rem) clamp(2.5rem, 5vw, 3.5rem);
	width: 100%;
}

.cr-project .cr-project-hero__category,
.cr-project .cr-project-hero__category:link,
.cr-project .cr-project-hero__category:visited {
	display: inline-block;
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cr-accent) !important;
	margin: 0 0 1.1rem;
	text-decoration: none !important;
	transition: color 0.2s ease;
}
.cr-project .cr-project-hero__category:hover,
.cr-project .cr-project-hero__category:focus-visible {
	color: var(--cr-white) !important;
}

.cr-project .cr-project-hero__title {
	font-family: var(--cr-font-heading);
	font-weight: 700;
	font-size: clamp(2.1rem, 4.5vw, 3.75rem);
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: var(--cr-white);
	margin: 0 0 1.75rem;
	max-width: 900px;
}

.cr-project-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(1.5rem, 3vw, 3rem);
}
.cr-project-hero__meta-item {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}
.cr-project-hero__meta-label {
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cr-accent);
}
.cr-project-hero__meta-value {
	font-family: var(--cr-font-body);
	font-weight: 400;
	font-size: 1rem;
	color: var(--cr-white);
}

/* ==========================================================================
   BODY â€” sticky sidebar + main content
   ========================================================================== */
.cr-project-body {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 clamp(1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	margin-bottom: clamp(3rem, 6vw, 5rem);
}
@media (min-width: 960px) {
	.cr-project-body {
		grid-template-columns: 280px 1fr;
		gap: clamp(2.5rem, 4vw, 4rem);
	}
}

/* ----- Sticky sidebar ----- */
.cr-project-sidebar__inner {
	padding: 1.5rem 0;
}
@media (min-width: 960px) {
	.cr-project-sidebar__inner {
		position: sticky;
		top: 2rem;
	}
}
.cr-project-sidebar__block {
	padding: 1rem 0;
	border-bottom: 1px solid var(--cr-line);
}
.cr-project-sidebar__block:first-child { padding-top: 0; }
.cr-project-sidebar__block:last-of-type { border-bottom: 0; }

.cr-project .cr-project-sidebar__label {
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cr-steel);
	margin: 0 0 0.4rem;
}
.cr-project-sidebar__value {
	font-family: var(--cr-font-body);
	font-size: 1rem;
	color: var(--cr-navy);
	margin: 0;
	line-height: 1.5;
}
.cr-project-sidebar__services {
	margin: 0;
	padding: 0;
}
.cr-project-sidebar__services li {
	padding: 0.3rem 0;
}
.cr-project .cr-project-sidebar__services a,
.cr-project .cr-project-sidebar__services a:link,
.cr-project .cr-project-sidebar__services a:visited {
	color: var(--cr-navy) !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	transition: color 0.15s ease;
	font-size: 0.96rem;
}
.cr-project .cr-project-sidebar__services a::before {
	content: "→";
	color: var(--cr-accent);
	transition: transform 0.15s ease;
	display: inline-block;
}
.cr-project .cr-project-sidebar__services a:hover,
.cr-project .cr-project-sidebar__services a:focus-visible {
	color: var(--cr-accent) !important;
}
.cr-project .cr-project-sidebar__services a:hover::before {
	transform: translateX(3px);
}

/* Sidebar CTA */
.cr-project .cr-project-sidebar__cta,
.cr-project .cr-project-sidebar__cta:link,
.cr-project .cr-project-sidebar__cta:visited,
.cr-project .cr-project-sidebar__cta:hover,
.cr-project .cr-project-sidebar__cta:focus-visible {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0.85rem 1.5rem;
	margin-top: 1.5rem;
	background: var(--cr-navy) !important;
	color: var(--cr-white) !important;
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.92rem;
	letter-spacing: 0.04em;
	border-radius: 4px !important;
	text-decoration: none !important;
	transition: background 0.2s ease;
}
.cr-project .cr-project-sidebar__cta:hover,
.cr-project .cr-project-sidebar__cta:focus-visible {
	background: var(--cr-navy-light) !important;
}

/* ----- Main content ----- */
.cr-project-main {
	max-width: 760px;
}

.cr-project-section {
	margin: 0 0 clamp(2.5rem, 5vw, 4rem);
}
.cr-project .cr-project-section__title {
	font-family: var(--cr-font-heading);
	font-weight: 700;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--cr-navy);
	margin: 0 0 1.25rem;
	padding-left: 1rem;
	border-left: 4px solid var(--cr-accent);
}
.cr-project .cr-project-section__title--on-dark {
	color: var(--cr-white);
	border-left-color: var(--cr-white);
}
.cr-project .cr-project-section__subtitle {
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 1.1rem;
	letter-spacing: 0.01em;
	color: var(--cr-steel);
	margin: 1.5rem 0 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.cr-project-section__body {
	font-family: var(--cr-font-body);
	font-size: 1.02rem;
	line-height: 1.75;
	color: var(--cr-body-text);
}
.cr-project-section__body--lead {
	font-size: 1.15rem;
	line-height: 1.7;
	color: var(--cr-navy-light);
}

/* Rich text (WYSIWYG) body — e.g. "What We Delivered".
   Restores list styling stripped by the .cr-project reset above and keeps
   every block at one consistent body size so the page reads evenly. */
.cr-project-section__body--rich > :last-child { margin-bottom: 0; }
.cr-project-section__body--rich p,
.cr-project-section__body--rich ul,
.cr-project-section__body--rich ol {
	font-size: 1.02rem;
	line-height: 1.75;
	color: var(--cr-body-text);
	margin: 0 0 1rem;
}
.cr-project-section__body--rich ul,
.cr-project-section__body--rich ol {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	padding-left: 0;
}
.cr-project-section__body--rich li {
	position: relative;
	padding-left: 1.5rem;
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--cr-body-text);
}
.cr-project-section__body--rich ul li::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 8px;
	height: 8px;
	background: var(--cr-accent);
	border-radius: 50%;
}
.cr-project-section__body--rich ol {
	counter-reset: cr-rich-counter;
}
.cr-project-section__body--rich ol li {
	counter-increment: cr-rich-counter;
}
.cr-project-section__body--rich ol li::before {
	content: counter(cr-rich-counter) ".";
	position: absolute;
	top: 0;
	left: 0;
	font-weight: 600;
	color: var(--cr-accent);
}
.cr-project-section__body--rich a {
	color: var(--cr-steel);
	text-decoration: underline;
}
.cr-project-section__body--rich strong { font-weight: 600; }

/* Bullet list (key_challenges) */
.cr-project-list {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.cr-project-list li {
	position: relative;
	padding-left: 1.5rem;
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--cr-body-text);
}
.cr-project-list li::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 0;
	width: 8px;
	height: 8px;
	background: var(--cr-accent);
	border-radius: 50%;
}

/* Outcome â€” highlighted card, edge-to-edge on mobile */
.cr-project-section--outcome {
	/* Full-bleed out of the .cr-project-main container on mobile */
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 0 clamp(1rem, 3vw, 2rem);
}
@media (min-width: 960px) {
	.cr-project-section--outcome {
		/* Inside the .cr-project-main column â€” don't full-bleed */
		width: auto;
		margin-left: 0;
		margin-right: 0;
		padding: 0;
	}
}
.cr-project-outcome {
	background: var(--cr-navy);
	color: var(--cr-white);
	padding: clamp(2rem, 4vw, 3rem);
	border-radius: 8px;
	position: relative;
	overflow: hidden;
}
.cr-project-outcome::before {
	content: "";
	position: absolute;
	top: -60px;
	right: -60px;
	width: 200px;
	height: 200px;
	background: radial-gradient(circle, rgba(137, 183, 237, 0.15) 0%, transparent 70%);
	pointer-events: none;
}
.cr-project-outcome__body {
	font-family: var(--cr-font-body);
	font-size: 1.08rem;
	line-height: 1.7;
	color: var(--cr-white);
	position: relative;
	z-index: 1;
}
.cr-project-outcome__body p {
	color: var(--cr-white);
}

/* ==========================================================================
   PREV / NEXT NAVIGATION
   ========================================================================== */
.cr-project-nav {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp(2rem, 4vw, 3rem) clamp(1rem, 3vw, 2rem);
	border-top: 1px solid var(--cr-line);
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 640px) {
	.cr-project-nav { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
.cr-project .cr-project-nav__link,
.cr-project .cr-project-nav__link:link,
.cr-project .cr-project-nav__link:visited {
	display: flex;
	flex-direction: column;
	padding: 1.25rem 1.5rem;
	background: var(--cr-soft);
	border-radius: 6px;
	color: var(--cr-navy) !important;
	text-decoration: none !important;
	transition: background 0.2s ease, transform 0.2s ease;
}
.cr-project .cr-project-nav__link:hover,
.cr-project .cr-project-nav__link:focus-visible {
	background: var(--cr-accent) !important;
	color: var(--cr-navy) !important;
	transform: translateY(-2px);
}
.cr-project-nav__link--next { text-align: right; }
.cr-project-nav__direction {
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.78rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cr-steel);
	margin-bottom: 0.35rem;
}
.cr-project .cr-project-nav__link:hover .cr-project-nav__direction,
.cr-project .cr-project-nav__link:focus-visible .cr-project-nav__direction {
	color: var(--cr-navy);
}
.cr-project-nav__title {
	font-family: var(--cr-font-heading);
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.3;
	color: var(--cr-navy);
}

@media (prefers-reduced-motion: reduce) {
	.cr-project *, .cr-project *::before, .cr-project *::after {
		transition: none !important;
		animation: none !important;
	}
}

@media print {
	.cr-project-sidebar__cta,
	.cr-project-nav { display: none !important; }
	.cr-project-hero { min-height: auto; color: var(--cr-navy); }
	.cr-project-hero::before,
	.cr-project-hero__image { display: none; }
	.cr-project .cr-project-hero__title,
	.cr-project .cr-project-hero__category,
	.cr-project-hero__meta-value { color: var(--cr-navy); }
	.cr-project-outcome { background: #f4f4f4; color: var(--cr-navy); }
	.cr-project-outcome__body,
	.cr-project-outcome__body p { color: var(--cr-navy); }
	.cr-project .cr-project-section__title--on-dark { color: var(--cr-navy); border-left-color: var(--cr-navy); }
}


/* ============================================================================
   Source: assets/css/cr-service-single.css
   ============================================================================ */

/* ============================================================================
   Critical Risk â€” Single Service page stylesheet
   Loaded only on is_singular('service').
   ============================================================================ */

/* Theme reset */
.cr-service button,
.cr-service button:hover,
.cr-service [type="button"]:hover,
.cr-service [type="submit"]:hover {
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
.cr-service a, .cr-service a:link, .cr-service a:visited { text-decoration: none; }
.cr-service h1, .cr-service h2, .cr-service h3, .cr-service h4 { margin: 0; padding: 0; line-height: 1.2; }
.cr-service p { margin: 0 0 1em; }
.cr-service p:last-child { margin-bottom: 0; }
.cr-service ul, .cr-service ol, .cr-service li { margin: 0; padding: 0; list-style: none; }
.cr-service img { max-width: 100%; height: auto; display: block; }
.cr-service *, .cr-service *::before, .cr-service *::after { box-sizing: border-box; }

.cr-service {
	--cr-navy:        #0D2C3C;
	--cr-steel:       #446887;
	--cr-accent:      #89B7ED;
	--cr-soft:        #E7F1FB;
	--cr-navy-light:  #1D4053;
	--cr-white:       #FFFFFF;
	--cr-line:        #d8e3ed;
	--cr-body-text:   #0D2C3C;
	--cr-muted-text:  #446887;

	--cr-font-heading: "DM Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	--cr-font-body:    "Encode Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

	color: var(--cr-body-text);
	font-family: var(--cr-font-body);
	font-size: 17px;
	line-height: 1.7;
}
.cr-service :focus-visible {
	outline: 3px solid var(--cr-accent);
	outline-offset: 3px;
	border-radius: 4px;
}

/* ==========================================================================
   HERO â€” full-bleed navy band with service title + tagline
   ========================================================================== */
.cr-service-hero {
	background: var(--cr-navy);
	color: var(--cr-white);
	padding: clamp(6rem, 14vh, 9rem) clamp(1rem, 3vw, 2rem) clamp(3rem, 6vw, 5rem);
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin: 0 0 clamp(2rem, 4vw, 3.5rem);
}
.cr-service-hero::after {
	content: "";
	position: absolute;
	top: -40%;
	left: -15%;
	width: 70%;
	height: 200%;
	background: radial-gradient(ellipse at center, rgba(137, 183, 237, 0.13) 0%, transparent 60%);
	z-index: -1;
	pointer-events: none;
}
.cr-service-hero__inner {
	max-width: 1180px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: center;
}
@media (min-width: 960px) {
	.cr-service-hero__inner {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
	}
}
.cr-service-hero__content {
	min-width: 0;
}
.cr-service-hero__eyebrow {
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cr-accent);
	margin: 0 0 1rem;
}
.cr-service .cr-service-hero__title {
	font-family: var(--cr-font-heading);
	font-weight: 700;
	font-size: clamp(2.1rem, 4.5vw, 3.5rem);
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: var(--cr-white);
	margin: 0 0 1.25rem;
	max-width: 900px;
}
.cr-service-hero__lead {
	font-family: var(--cr-font-body);
	font-size: clamp(1.05rem, 1.4vw, 1.25rem);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.86);
	margin: 0;
	max-width: 760px;
}
.cr-service-hero__media {
	margin: 0;
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.08);
	box-shadow: 0 24px 56px rgba(0, 0, 0, 0.24);
}
.cr-service-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(13, 44, 60, 0) 0%, rgba(13, 44, 60, 0.18) 100%);
	pointer-events: none;
}
.cr-service-hero__image {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
}

/* ==========================================================================
   BODY â€” sticky sidebar + main content
   ========================================================================== */
.cr-service-body {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 clamp(1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2rem, 4vw, 3.5rem);
	margin-bottom: clamp(3rem, 6vw, 5rem);
}
/* Single centered column — no sidebar. */

.cr-service-sidebar__inner { padding: 1.5rem 0; }
@media (min-width: 960px) {
	.cr-service-sidebar__inner { position: sticky; top: 2rem; }
}
.cr-service-sidebar__block {
	padding: 1rem 0;
	border-bottom: 1px solid var(--cr-line);
}
.cr-service-sidebar__block:first-child { padding-top: 0; }
.cr-service-sidebar__block:last-of-type { border-bottom: 0; }

.cr-service .cr-service-sidebar__label {
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cr-steel);
	margin: 0 0 0.5rem;
}
.cr-service-sidebar__list,
.cr-service-sidebar__related {
	margin: 0; padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}
.cr-service-sidebar__list li {
	font-family: var(--cr-font-body);
	font-size: 0.9rem;
	color: var(--cr-body-text);
	line-height: 1.5;
}
.cr-service .cr-service-sidebar__related a,
.cr-service .cr-service-sidebar__related a:link,
.cr-service .cr-service-sidebar__related a:visited {
	color: var(--cr-navy) !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.92rem;
	padding: 0.25rem 0;
	transition: color 0.15s ease;
}
.cr-service .cr-service-sidebar__related a::before {
	content: "→";
	color: var(--cr-accent);
	transition: transform 0.15s ease;
	display: inline-block;
}
.cr-service .cr-service-sidebar__related a:hover,
.cr-service .cr-service-sidebar__related a:focus-visible {
	color: var(--cr-accent) !important;
}
.cr-service .cr-service-sidebar__related a:hover::before {
	transform: translateX(3px);
}

/* Sidebar CTA */
.cr-service .cr-service-sidebar__cta,
.cr-service .cr-service-sidebar__cta:link,
.cr-service .cr-service-sidebar__cta:visited,
.cr-service .cr-service-sidebar__cta:hover,
.cr-service .cr-service-sidebar__cta:focus-visible {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0.85rem 1.5rem;
	margin-top: 1.5rem;
	background: var(--cr-navy) !important;
	color: var(--cr-white) !important;
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.92rem;
	letter-spacing: 0.04em;
	border-radius: 4px !important;
	text-decoration: none !important;
	transition: background 0.2s ease;
}
.cr-service .cr-service-sidebar__cta:hover,
.cr-service .cr-service-sidebar__cta:focus-visible {
	background: var(--cr-navy-light) !important;
}

/* Main content — single centered column */
.cr-service-main { max-width: 760px; margin: 0 auto; }

/* Closing call-to-action */
.cr-service-cta {
	margin-top: clamp(2.5rem, 5vw, 4rem);
	padding-top: clamp(2rem, 4vw, 2.5rem);
	border-top: 1px solid var(--cr-line);
	text-align: center;
}
.cr-service .cr-service-cta__button,
.cr-service .cr-service-cta__button:link,
.cr-service .cr-service-cta__button:visited,
.cr-service .cr-service-cta__button:hover,
.cr-service .cr-service-cta__button:focus-visible {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.95rem 2.25rem;
	background: var(--cr-navy) !important;
	color: var(--cr-white) !important;
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.95rem;
	letter-spacing: 0.04em;
	border-radius: 4px !important;
	text-decoration: none !important;
	transition: background 0.2s ease;
}
.cr-service .cr-service-cta__button:hover,
.cr-service .cr-service-cta__button:focus-visible {
	background: var(--cr-navy-light) !important;
}

.cr-service-section { margin: 0 0 clamp(2.5rem, 5vw, 4rem); }
.cr-service .cr-service-section__title {
	font-family: var(--cr-font-heading);
	font-weight: 700;
	font-size: clamp(1.5rem, 2.6vw, 2rem);
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--cr-navy);
	margin: 0 0 1.25rem;
	padding-left: 1rem;
	border-left: 4px solid var(--cr-accent);
}
.cr-service-section__body {
	font-family: var(--cr-font-body);
	font-size: 1.02rem;
	line-height: 1.75;
	color: var(--cr-body-text);
}

/* Bullet lists (what's involved, when you need this) */
.cr-service-list {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
.cr-service-list li {
	position: relative;
	padding-left: 1.5rem;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--cr-body-text);
}
.cr-service-list li::before {
	content: "";
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 8px;
	height: 8px;
	background: var(--cr-accent);
	border-radius: 50%;
}

/* "What's at Stake" â€” highlighted callout card */
.cr-service-section--stakes {
	margin: clamp(2.5rem, 5vw, 4rem) 0;
}
.cr-service-stakes {
	background: var(--cr-soft);
	border-left: 4px solid var(--cr-navy);
	padding: clamp(1.75rem, 3vw, 2.5rem);
	border-radius: 6px;
	position: relative;
}
.cr-service-stakes__title {
	font-family: var(--cr-font-heading);
	font-weight: 700;
	font-size: clamp(1.35rem, 2.2vw, 1.65rem);
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--cr-navy);
	margin: 0 0 1rem;
}
.cr-service-stakes__body {
	font-family: var(--cr-font-body);
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--cr-body-text);
}

@media (prefers-reduced-motion: reduce) {
	.cr-service *, .cr-service *::before, .cr-service *::after {
		transition: none !important;
		animation: none !important;
	}
}

@media print {
	.cr-service-hero {
		background: #fff !important;
		color: var(--cr-navy) !important;
		padding: 2rem 0;
	}
	.cr-service .cr-service-hero__title { color: var(--cr-navy) !important; }
	.cr-service-hero__lead { color: var(--cr-muted-text) !important; }
	.cr-service-hero__eyebrow { color: var(--cr-steel) !important; }
	.cr-service-hero__media { display: none; }
	.cr-service-hero::after { display: none; }
	.cr-service-cta { display: none; }
}


/* ============================================================================
   Source: assets/css/cr-team-single.css
   ============================================================================ */

/* ============================================================================
   Critical Risk â€” Single Team Member page stylesheet
   Loaded only on is_singular('team-member').
   ============================================================================ */

/* Theme reset */
.cr-team a, .cr-team a:link, .cr-team a:visited { text-decoration: none; }
.cr-team h1, .cr-team h2, .cr-team h3, .cr-team h4 { margin: 0; padding: 0; line-height: 1.2; }
.cr-team p { margin: 0 0 1em; }
.cr-team p:last-child { margin-bottom: 0; }
.cr-team ul, .cr-team ol, .cr-team li { margin: 0; padding: 0; list-style: none; }
.cr-team img { max-width: 100%; height: auto; display: block; }
.cr-team *, .cr-team *::before, .cr-team *::after { box-sizing: border-box; }

.cr-team {
	--cr-navy:        #0D2C3C;
	--cr-steel:       #446887;
	--cr-accent:      #89B7ED;
	--cr-soft:        #E7F1FB;
	--cr-navy-light:  #1D4053;
	--cr-white:       #FFFFFF;
	--cr-line:        #d8e3ed;
	--cr-body-text:   #0D2C3C;
	--cr-muted-text:  #446887;

	--cr-font-heading: "DM Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	--cr-font-body:    "Encode Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

	color: var(--cr-body-text);
	font-family: var(--cr-font-body);
	font-size: 17px;
	line-height: 1.7;
}
.cr-team :focus-visible {
	outline: 3px solid var(--cr-accent);
	outline-offset: 3px;
	border-radius: 4px;
}
.visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ==========================================================================
   HERO â€” two-column: portrait + name/designation/expertise/years
   ========================================================================== */
.cr-team-hero {
	background: var(--cr-soft);
	padding: clamp(6rem, 14vh, 9rem) clamp(1rem, 3vw, 2rem) clamp(3rem, 5vw, 4rem);
	margin: 0 0 clamp(2rem, 4vw, 3.5rem);
}
.cr-team-hero__inner {
	max-width: 1100px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2rem, 4vw, 3rem);
	align-items: center;
}
@media (min-width: 720px) {
	.cr-team-hero__inner { grid-template-columns: minmax(260px, 380px) 1fr; }
}

.cr-team-hero__photo {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 8px;
	background: var(--cr-white);
}
.cr-team-hero__photo .cr-team-hero__image {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
}

.cr-team-hero__info { max-width: 620px; }
.cr-team-hero__eyebrow {
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--cr-steel);
	margin: 0 0 0.85rem;
}
.cr-team .cr-team-hero__name {
	font-family: var(--cr-font-heading);
	font-weight: 700;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--cr-navy);
	margin: 0 0 0.5rem;
}
.cr-team-hero__designation {
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: clamp(1rem, 1.4vw, 1.15rem);
	color: var(--cr-steel);
	margin: 0 0 1.5rem;
}

.cr-team-hero__expertise {
	padding: 1rem 0 1rem;
	border-top: 1px solid rgba(13, 44, 60, 0.12);
	margin-bottom: 0.75rem;
}
.cr-team-hero__expertise-label {
	display: block;
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cr-steel);
	margin-bottom: 0.35rem;
}
.cr-team-hero__expertise-value {
	font-family: var(--cr-font-body);
	font-size: 1rem;
	color: var(--cr-body-text);
	margin: 0;
	line-height: 1.5;
}

/* Years of experience â€” pull-stat */
.cr-team-hero__years {
	display: inline-flex;
	flex-direction: column;
	margin-top: 1rem;
	padding: 0.85rem 1.2rem;
	background: var(--cr-white);
	border-left: 4px solid var(--cr-accent);
	border-radius: 3px;
}
.cr-team-hero__years-value {
	font-family: var(--cr-font-heading);
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 1;
	color: var(--cr-navy);
}
.cr-team-hero__years-label {
	font-family: var(--cr-font-body);
	font-size: 0.8rem;
	color: var(--cr-steel);
	margin-top: 0.25rem;
	letter-spacing: 0.02em;
}

/* ==========================================================================
   BIO â€” centered prose
   ========================================================================== */
.cr-team-bio {
	max-width: 760px;
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
	padding: 0 clamp(1rem, 3vw, 2rem);
}
.cr-team .cr-team-bio__title {
	font-family: var(--cr-font-heading);
	font-weight: 700;
	font-size: clamp(1.5rem, 2.4vw, 1.85rem);
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--cr-navy);
	margin: 0 0 1.25rem;
	padding-left: 1rem;
	border-left: 4px solid var(--cr-accent);
}
.cr-team-bio__body {
	font-family: var(--cr-font-body);
	font-size: 1.05rem;
	line-height: 1.75;
	color: var(--cr-body-text);
}

/* ==========================================================================
   CONTACT â€” navy panel at the bottom, horizontal row
   ========================================================================== */
.cr-team-contact {
	background: var(--cr-navy);
	color: var(--cr-white);
	padding: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 3vw, 2rem);
	margin: 0;
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.cr-team-contact::after {
	content: "";
	position: absolute;
	bottom: -40%;
	right: -10%;
	width: 60%;
	height: 180%;
	background: radial-gradient(ellipse at center, rgba(137, 183, 237, 0.14) 0%, transparent 60%);
	z-index: -1;
	pointer-events: none;
}
.cr-team-contact__inner {
	max-width: 1100px;
	margin: 0 auto;
}
.cr-team .cr-team-contact__title {
	font-family: var(--cr-font-heading);
	font-weight: 700;
	font-size: clamp(1.5rem, 2.4vw, 1.85rem);
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--cr-white);
	margin: 0 0 1.5rem;
	padding-left: 1rem;
	border-left: 4px solid var(--cr-accent);
}
.cr-team-contact__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	margin: 0;
	padding: 0;
}
@media (min-width: 640px) {
	.cr-team-contact__list { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
}
.cr-team-contact__item {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}
.cr-team-contact__label {
	font-family: var(--cr-font-heading);
	font-weight: 500;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cr-accent);
}
.cr-team .cr-team-contact__value,
.cr-team .cr-team-contact__value:link,
.cr-team .cr-team-contact__value:visited {
	font-family: var(--cr-font-body);
	font-size: 1.05rem;
	color: var(--cr-white) !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
	word-break: break-word;
}
.cr-team .cr-team-contact__value:hover,
.cr-team .cr-team-contact__value:focus-visible {
	color: var(--cr-accent) !important;
}

@media (prefers-reduced-motion: reduce) {
	.cr-team *, .cr-team *::before, .cr-team *::after {
		transition: none !important;
		animation: none !important;
	}
}

@media print {
	.cr-team-hero { background: #fff !important; padding: 2rem 0; }
	.cr-team-contact {
		background: #fff !important;
		color: var(--cr-navy) !important;
	}
	.cr-team .cr-team-contact__title,
	.cr-team .cr-team-contact__value { color: var(--cr-navy) !important; }
	.cr-team-contact__label { color: var(--cr-steel) !important; }
	.cr-team-contact::after { display: none; }
}

/* ============================================================================
   Source: assets/css/cr-menu.css
   ============================================================================ */

/* ============================================================================
   Critical Risk - WordPress menu shortcode
   Used by [cr_menu] in Elementor header templates.
   ============================================================================ */

.cr-menu__wrap {
	--cr-menu-navy: #0D2C3C;
	--cr-menu-steel: #446887;
	--cr-menu-accent: #89B7ED;
	--cr-menu-soft: #E7F1FB;
	--cr-menu-white: #FFFFFF;
	--cr-menu-line: rgba(255, 255, 255, 0.18);
	--cr-menu-shadow: 0 18px 42px rgba(13, 44, 60, 0.18);
	--cr-menu-font-heading: "DM Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	--cr-menu-font-body: "Encode Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

	position: relative;
	z-index: 30;
	display: flex;
	flex: 0 1 auto;
	align-items: center;
	justify-content: flex-end;
	font-family: var(--cr-menu-font-heading);
}

#header-transparent .elementor-element-1cc16c4 {
	flex-wrap: nowrap;
	align-items: center;
}

#header-transparent .elementor-element-88c188b {
	flex-wrap: nowrap;
	align-items: center;
}

#header-transparent .elementor-element-b0f8ad9 {
	flex: 1 1 auto;
	min-width: 120px;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

#header-transparent .elementor-element-b0f8ad9 img {
	display: block !important;
	width: auto;
	max-width: 220px;
	height: auto;
	visibility: visible !important;
	opacity: 1 !important;
}

#header-transparent .elementor-element-1cc16c4 {
	flex: 0 0 auto;
}

#header-transparent .elementor-element-07d3b3d {
	flex: 0 1 auto;
	min-width: 0;
}

#header-transparent .elementor-element-f1384e9 {
	flex: 0 0 auto;
}

#header-transparent .elementor-element-f1384e9 .elementor-button {
	white-space: nowrap;
}

.cr-menu,
.cr-menu .sub-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cr-menu a {
	text-decoration: none !important;
}

.cr-menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.15rem;
}

.cr-menu > .menu-item {
	position: relative;
}

.cr-menu > .menu-item > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 0.7rem 0.9rem;
	border-radius: 999px;
	color: var(--cr-menu-white) !important;
	font-size: 0.96rem;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.01em;
	transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.cr-menu > .menu-item > a:hover,
.cr-menu > .menu-item > a:focus-visible,
.cr-menu > .current-menu-item > a,
.cr-menu > .current-menu-ancestor > a,
.cr-menu > .current_page_item > a {
	background: rgba(255, 255, 255, 0.16);
	color: var(--cr-menu-white) !important;
}

.cr-menu > .current-menu-item > a::after,
.cr-menu > .current-menu-ancestor > a::after,
.cr-menu > .current_page_item > a::after {
	content: "";
	position: absolute;
	left: 0.9rem;
	right: 0.9rem;
	bottom: 0.38rem;
	height: 2px;
	border-radius: 999px;
	background: var(--cr-menu-accent);
}

.cr-menu > .menu-item-has-children > a {
	padding-right: 1.65rem;
}

.cr-menu > .menu-item-has-children > a::before {
	content: "";
	position: absolute;
	right: 0.85rem;
	top: 50%;
	width: 0.42rem;
	height: 0.42rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-65%) rotate(45deg);
	opacity: 0.8;
	transition: transform 0.18s ease;
}

.cr-menu > .menu-item-has-children:hover > a::before,
.cr-menu > .menu-item-has-children:focus-within > a::before {
	transform: translateY(-35%) rotate(225deg);
}

.cr-menu .sub-menu {
	position: absolute;
	top: calc(100% + 0.7rem);
	right: 0;
	width: max-content;
	min-width: 220px;
	max-width: min(680px, 92vw);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, max-content));
	gap: 0.15rem 0.35rem;
	padding: 1rem;
	background: rgba(13, 44, 60, 0.98);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	box-shadow: var(--cr-menu-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.cr-menu .sub-menu::before {
	content: "";
	position: absolute;
	top: -0.7rem;
	left: 0;
	right: 0;
	height: 0.7rem;
}

.cr-menu .menu-item-has-children:hover > .sub-menu,
.cr-menu .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.cr-menu .sub-menu a {
	display: flex;
	align-items: flex-start;
	min-height: 44px;
	padding: 0.72rem 0.8rem;
	border-radius: 6px;
	min-width: 220px;
	color: rgba(255, 255, 255, 0.86) !important;
	font-family: var(--cr-menu-font-body);
	font-size: 0.86rem;
	font-weight: 500;
	line-height: 1.35;
	white-space: nowrap;
	transition: background 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.cr-menu .sub-menu a:hover,
.cr-menu .sub-menu a:focus-visible,
.cr-menu .sub-menu .current-menu-item > a {
	background: rgba(137, 183, 237, 0.16);
	color: var(--cr-menu-white) !important;
	transform: translateX(2px);
}

.cr-menu-toggle {
	display: none !important;
	position: relative;
	z-index: 3;
	align-items: center;
	justify-content: center;
	gap: 0.42rem;
	min-height: 42px;
	padding: 0.6rem 0.78rem;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.12) !important;
	color: var(--cr-menu-white) !important;
	font-family: var(--cr-menu-font-heading);
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	box-shadow: none !important;
}

.cr-menu-toggle__bar {
	display: block;
	width: 17px;
	height: 2px;
	border-radius: 999px;
	background: currentColor;
	transition: transform 0.18s ease, opacity 0.18s ease;
}

.cr-menu-toggle__label {
	margin-left: 0.12rem;
}

.cr-menu__wrap.is-open .cr-menu-toggle__bar:nth-child(1) {
	transform: translateY(5px) rotate(45deg);
}

.cr-menu__wrap.is-open .cr-menu-toggle__bar:nth-child(2) {
	opacity: 0;
}

.cr-menu__wrap.is-open .cr-menu-toggle__bar:nth-child(3) {
	transform: translateY(-5px) rotate(-45deg);
}

.cr-menu__wrap :focus-visible {
	outline: 3px solid var(--cr-menu-accent);
	outline-offset: 3px;
}

@media (max-width: 767px) {
	#header-transparent .elementor-element-88c188b {
		gap: 0.65rem;
	}

	#header-transparent .elementor-element-1cc16c4 {
		gap: 0.45rem;
	}

	#header-transparent .elementor-element-b0f8ad9 img {
		width: auto;
		max-width: min(170px, 39vw);
	}

	#header-transparent .elementor-element-f1384e9 .elementor-button {
		padding: 0.68rem 0.78rem;
		font-size: 0.82rem;
	}

	.cr-menu__wrap {
		justify-content: flex-end;
	}

	.cr-menu-toggle {
		display: inline-flex !important;
	}

	.cr-menu {
		position: fixed;
		inset: 0;
		z-index: 2;
		width: 100vw;
		height: 100vh;
		max-height: none;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0.15rem;
		padding: clamp(6rem, 14vh, 8rem) 1.1rem 1.5rem;
		background: rgba(13, 44, 60, 0.98);
		border: 0;
		border-radius: 0;
		box-shadow: var(--cr-menu-shadow);
		overflow-y: auto;
		overscroll-behavior: contain;
		text-align: left;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
	}

	.cr-menu__wrap.is-open .cr-menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.cr-menu > .menu-item > a {
		width: 100%;
		justify-content: space-between;
		text-align: left;
		min-height: 50px;
		padding: 0.9rem 0.95rem;
		border-radius: 6px;
		font-size: 1.02rem;
	}

	.cr-menu > .current-menu-item > a::after,
	.cr-menu > .current-menu-ancestor > a::after,
	.cr-menu > .current_page_item > a::after {
		left: 0;
		right: auto;
		top: 0.72rem;
		bottom: 0.72rem;
		width: 3px;
		height: auto;
	}

	.cr-menu > .menu-item-has-children > a::before {
		position: static;
		margin-left: 0.75rem;
		transform: rotate(45deg);
	}

	.cr-menu > .menu-item-has-children:hover > a::before,
	.cr-menu > .menu-item-has-children:focus-within > a::before {
		transform: rotate(45deg);
	}

	.cr-menu .sub-menu {
		position: static;
		width: auto;
		display: flex;
		flex-direction: column;
		gap: 0;
		padding: 0.15rem 0 0.5rem 0.75rem;
		background: transparent;
		border: 0;
		border-left: 1px solid rgba(137, 183, 237, 0.28);
		border-radius: 0;
		box-shadow: none;
		text-align: left;
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: none;
	}

	.cr-menu .sub-menu::before {
		display: none;
	}

	.cr-menu .sub-menu a {
		justify-content: flex-start;
		text-align: left;
		min-width: 0;
		min-height: 40px;
		padding: 0.7rem 0.8rem;
		font-size: 0.92rem;
		white-space: normal;
	}
}

@media (max-width: 480px) {
	.cr-menu-toggle__label {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cr-menu__wrap *,
	.cr-menu__wrap *::before,
	.cr-menu__wrap *::after {
		transition: none !important;
		animation: none !important;
	}
}


/* ============================================================================
   Source: assets/css/cr-slider.css
   ============================================================================ */

/* ==========================================================================
   SLIDER — responsive card carousel for [cr_services] and [cr_projects]
   ========================================================================== */

.cr-slider {
	position: relative;
}

.cr-slider__track {
	display: flex;
	gap: 1.25rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	outline: none;
}

.cr-slider__track::-webkit-scrollbar {
	display: none;
}

/* Each slide item: fixed width based on visible columns, fills its own height */
.cr-slider__item {
	flex: 0 0 auto;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	min-width: 0;
	/* 3 columns: (100% − 2 gaps) / 3 */
	width: calc((100% - 2.5rem) / 3);
}

@media (max-width: 900px) {
	.cr-slider__item {
		/* 2 columns */
		width: calc((100% - 1.25rem) / 2);
	}
}

@media (max-width: 580px) {
	.cr-slider__item {
		/* 1 column with peek of next card */
		width: calc(100% - 2.5rem);
	}
}

/* Cards fill the full height of their slide item */
.cr-slider__item > * {
	flex: 1;
}

/* Ensure service card link fills height when inside a slider */
.cr-slider__item > .cr-service-card,
.cr-slider__item > .cr-card {
	height: 100%;
}

/* Prev / Next button row */
.cr-slider__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

/* Override the blanket .cr-archive button reset for slider controls */
.cr-archive .cr-slider .cr-slider__btn,
.cr-archive .cr-slider .cr-slider__btn:hover,
.cr-archive .cr-slider .cr-slider__btn:focus,
.cr-archive .cr-slider .cr-slider__btn:focus-visible,
.cr-archive .cr-slider .cr-slider__btn:active {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 44px !important;
	height: 44px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: var(--cr-navy) !important;
	background-color: var(--cr-navy) !important;
	color: var(--cr-white) !important;
	font-size: 1.65rem !important;
	line-height: 1 !important;
	border: none !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-decoration: none !important;
	transition: background 0.18s ease, opacity 0.18s ease, transform 0.18s ease !important;
}

.cr-archive .cr-slider .cr-slider__btn:hover:not([disabled]),
.cr-archive .cr-slider .cr-slider__btn:focus-visible:not([disabled]) {
	background: var(--cr-navy-light) !important;
	background-color: var(--cr-navy-light) !important;
	transform: scale(1.06) !important;
}

.cr-archive .cr-slider .cr-slider__btn[disabled] {
	background: rgba(13, 44, 60, 0.2) !important;
	background-color: rgba(13, 44, 60, 0.2) !important;
	cursor: default !important;
	transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.cr-slider__track {
		scroll-behavior: auto;
	}
	.cr-archive .cr-slider .cr-slider__btn,
	.cr-archive .cr-slider .cr-slider__btn:hover {
		transition: none !important;
		transform: none !important;
	}
}


/* ============================================================================
   Menu layout fixes
   ============================================================================ */

/* About dropdown (2-item submenu): single column, compact width */
.cr-site-menu > .menu-item-has-children:has(> .sub-menu > .menu-item:nth-child(2):last-child) > .sub-menu {
	grid-template-columns: 1fr;
	width: max-content;
	min-width: 220px;
	max-width: min(340px, 92vw);
}

/* Services dropdown (3+ items): first item spans both columns */
.cr-site-menu > .menu-item-has-children:has(> .sub-menu > .menu-item:nth-child(3)) > .sub-menu > .menu-item:first-child {
	grid-column: 1 / -1;
}
