/*
 * Cabinteely Gas Complete Website
 * All front-end rules are intentionally scoped to the managed site shell.
 */

:root {
	--cgh-navy: #071a2f;
	--cgh-navy-2: #0b2745;
	--cgh-blue: #0878dc;
	--cgh-blue-dark: #045da9;
	--cgh-orange: #ff6625;
	--cgh-orange-dark: #dd4e11;
	--cgh-ink: #152333;
	--cgh-muted: #5d6b79;
	--cgh-line: #dce4eb;
	--cgh-light: #f7f9fb;
	--cgh-warm: #f3f5f7;
	--cgh-white: #fff;
	--cgh-radius: 18px;
	--cgh-radius-sm: 11px;
	--cgh-shadow: 0 24px 65px rgba(7, 26, 47, .12);
	--cgh-shadow-sm: 0 10px 32px rgba(7, 26, 47, .09);
	--cgh-container: 1220px;
}

html {
	scroll-behavior: smooth;
}

body.cgh-site-page {
	margin: 0;
	background: var(--cgh-light);
	color: var(--cgh-ink);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

body.cgh-menu-open {
	overflow: hidden;
}

.cgh-site,
.cgh-site *,
.cgh-site *::before,
.cgh-site *::after {
	box-sizing: border-box;
}

.cgh-site img {
	display: block;
	max-width: 100%;
}

.cgh-site a {
	color: inherit;
	text-decoration: none;
}

.cgh-site button,
.cgh-site input,
.cgh-site select,
.cgh-site textarea {
	font: inherit;
}

.cgh-site button {
	cursor: pointer;
}

.cgh-site h1,
.cgh-site h2,
.cgh-site h3,
.cgh-site p,
.cgh-site figure,
.cgh-site blockquote,
.cgh-site dl,
.cgh-site dd {
	margin-top: 0;
}

.cgh-site h1,
.cgh-site h2,
.cgh-site h3 {
	color: var(--cgh-navy);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.08;
}

.cgh-site h1 {
	font-size: clamp(2.75rem, 5.6vw, 5.25rem);
}

.cgh-site h2 {
	font-size: clamp(2rem, 3.6vw, 3.35rem);
}

.cgh-site h3 {
	font-size: 1.28rem;
}

.cgh-site :focus-visible {
	outline: 3px solid #ffb18f;
	outline-offset: 4px;
}

.cgh-container {
	width: min(calc(100% - 40px), var(--cgh-container));
	margin-inline: auto;
}

.cgh-icon {
	display: inline-block;
	width: 1.25em;
	height: 1.25em;
	flex: 0 0 auto;
	vertical-align: -.2em;
}

.cgh-skip-link {
	position: fixed;
	z-index: 100000;
	top: 12px;
	left: 12px;
	padding: 12px 18px;
	transform: translateY(-150%);
	border-radius: 8px;
	background: #fff;
	box-shadow: var(--cgh-shadow-sm);
	color: var(--cgh-navy);
	font-weight: 800;
}

.cgh-skip-link:focus {
	transform: none;
}

.cgh-button-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 28px;
}

.cgh-button-row--center {
	justify-content: center;
}

.cgh-button {
	display: inline-flex;
	min-height: 51px;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 13px 22px;
	border: 1px solid transparent;
	border-radius: 9px;
	font-size: .94rem;
	font-weight: 800;
	line-height: 1.2;
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.cgh-button:hover {
	transform: translateY(-2px);
}

.cgh-button--primary {
	background: var(--cgh-orange);
	box-shadow: 0 11px 30px rgba(255, 102, 37, .28);
	color: #fff !important;
}

.cgh-button--primary:hover {
	background: var(--cgh-orange-dark);
}

.cgh-button--ghost {
	border-color: #bfcbd6;
	background: transparent;
	color: var(--cgh-navy) !important;
}

.cgh-button--ghost:hover {
	border-color: var(--cgh-blue);
	background: #edf6ff;
}

.cgh-button--glass,
.cgh-button--outline-light {
	border-color: rgba(255, 255, 255, .48);
	background: rgba(255, 255, 255, .08);
	color: #fff !important;
	backdrop-filter: blur(8px);
}

.cgh-button--glass:hover,
.cgh-button--outline-light:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, .17);
}

.cgh-button--white {
	background: #fff;
	color: var(--cgh-navy) !important;
}

.cgh-button--full {
	width: 100%;
}

.cgh-text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--cgh-blue) !important;
	font-size: .95rem;
	font-weight: 800;
}

.cgh-text-link .cgh-icon {
	transition: transform .2s ease;
}

.cgh-text-link:hover .cgh-icon {
	transform: translateX(4px);
}

/* Header */
.cgh-topbar {
	position: relative;
	z-index: 1001;
	background: var(--cgh-navy);
	color: #dfeaf3;
	font-size: .79rem;
}

.cgh-topbar__inner,
.cgh-topbar__inner > div,
.cgh-topbar a,
.cgh-topbar span {
	display: flex;
	align-items: center;
}

.cgh-topbar__inner {
	min-height: 39px;
	justify-content: space-between;
	gap: 20px;
}

.cgh-topbar__inner > div {
	gap: 22px;
}

.cgh-topbar a,
.cgh-topbar span {
	gap: 7px;
}

.cgh-topbar a:hover {
	color: #fff;
}

.cgh-topbar__phone {
	color: #fff !important;
	font-weight: 800;
}

.cgh-header {
	position: sticky;
	z-index: 1000;
	top: 0;
	border-bottom: 1px solid rgba(7, 26, 47, .09);
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 7px 28px rgba(7, 26, 47, .06);
	backdrop-filter: blur(15px);
}

.admin-bar .cgh-header {
	top: 32px;
}

.cgh-header__inner {
	display: flex;
	min-height: 84px;
	align-items: center;
	gap: 30px;
}

.cgh-logo {
	display: block;
	width: 224px;
	margin-right: auto;
}

.cgh-logo img {
	width: 100%;
	height: auto;
}

.cgh-nav {
	display: flex;
	align-items: stretch;
	gap: 3px;
	font-size: .93rem;
	font-weight: 750;
}

.cgh-nav > a,
.cgh-nav__dropdown > button {
	display: flex;
	min-height: 44px;
	align-items: center;
	gap: 6px;
	padding: 9px 13px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--cgh-ink);
}

.cgh-nav > a:hover,
.cgh-nav__dropdown > button:hover,
.cgh-nav__dropdown.is-open > button {
	background: #edf4fa;
	color: var(--cgh-blue-dark);
}

.cgh-nav__dropdown {
	position: relative;
	display: flex;
}

.cgh-nav__dropdown > button .cgh-icon {
	width: 15px;
	height: 15px;
	transition: transform .2s ease;
}

.cgh-nav__dropdown.is-open > button .cgh-icon {
	transform: rotate(180deg);
}

.cgh-mega-menu {
	position: absolute;
	top: calc(100% + 12px);
	right: -190px;
	display: grid;
	width: min(900px, calc(100vw - 40px));
	grid-template-columns: 1.25fr repeat(3, 1fr);
	gap: 0;
	padding: 14px;
	transform: translateY(-8px);
	border: 1px solid #dce6ee;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 30px 80px rgba(7, 26, 47, .2);
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
}

.cgh-nav__dropdown.is-open .cgh-mega-menu {
	transform: none;
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
	transition-delay: 0s;
}

.cgh-mega-menu__intro {
	margin-right: 12px;
	padding: 25px;
	border-radius: 11px;
	background: linear-gradient(145deg, var(--cgh-navy), var(--cgh-navy-2));
	color: #dce9f4;
}

.cgh-mega-menu__intro > span {
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	margin-bottom: 19px;
	border-radius: 12px;
	background: var(--cgh-orange);
	color: #fff;
}

.cgh-mega-menu__intro strong {
	display: block;
	margin-bottom: 8px;
	color: #fff;
	font-size: 1.12rem;
}

.cgh-mega-menu__intro p {
	margin-bottom: 19px;
	font-size: .86rem;
	line-height: 1.55;
}

.cgh-mega-menu__intro a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #fff;
	font-size: .84rem;
	font-weight: 800;
}

.cgh-mega-menu__group {
	padding: 18px 14px;
}

.cgh-mega-menu__group > strong {
	display: block;
	margin: 2px 9px 10px;
	color: var(--cgh-blue);
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.cgh-mega-menu__group a {
	display: block;
	padding: 8px 9px;
	border-radius: 7px;
	color: var(--cgh-ink);
	font-size: .87rem;
	font-weight: 700;
}

.cgh-mega-menu__group a:hover {
	background: #edf5fb;
	color: var(--cgh-blue-dark);
}

.cgh-header__cta {
	display: inline-flex;
	min-height: 45px;
	align-items: center;
	justify-content: center;
	padding: 10px 17px;
	border-radius: 8px;
	background: var(--cgh-blue);
	color: #fff !important;
	font-size: .87rem;
	font-weight: 800;
}

.cgh-header__cta:hover {
	background: var(--cgh-blue-dark);
}

.cgh-menu-toggle {
	display: none;
	width: 46px;
	height: 46px;
	place-items: center;
	padding: 0;
	border: 1px solid var(--cgh-line);
	border-radius: 9px;
	background: #fff;
	color: var(--cgh-navy);
}

.cgh-menu-toggle .cgh-icon {
	width: 25px;
	height: 25px;
}

.cgh-mobile-drawer {
	position: fixed;
	z-index: 9999;
	inset: 0;
	display: flex;
	justify-content: flex-end;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition: opacity .22s ease;
}

.cgh-mobile-drawer.is-open {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.cgh-mobile-drawer__scrim {
	position: absolute;
	z-index: 0;
	inset: 0;
	border: 0;
	background: rgba(5, 18, 33, .68);
	backdrop-filter: blur(4px);
}

.cgh-mobile-drawer__panel {
	position: relative;
	z-index: 1;
	display: flex;
	width: min(430px, 92vw);
	height: 100%;
	flex-direction: column;
	padding: 20px;
	transform: translateX(100%);
	background: #fff;
	box-shadow: -24px 0 60px rgba(7, 26, 47, .25);
	overflow-y: auto;
	transition: transform .26s ease;
}

.cgh-mobile-drawer.is-open .cgh-mobile-drawer__panel {
	transform: none;
}

.cgh-mobile-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding-bottom: 17px;
	border-bottom: 1px solid var(--cgh-line);
}

.cgh-mobile-drawer__head img {
	width: 190px;
	height: auto;
}

.cgh-mobile-drawer__head button {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	padding: 0;
	border: 1px solid var(--cgh-line);
	border-radius: 9px;
	background: #fff;
}

.cgh-mobile-drawer nav {
	padding: 14px 0;
}

.cgh-mobile-drawer nav > a,
.cgh-mobile-drawer summary {
	display: flex;
	min-height: 48px;
	align-items: center;
	justify-content: space-between;
	padding: 11px 4px;
	border-bottom: 1px solid #e9eef3;
	color: var(--cgh-navy);
	font-weight: 800;
	list-style: none;
}

.cgh-mobile-drawer summary::-webkit-details-marker {
	display: none;
}

.cgh-mobile-drawer summary .cgh-icon {
	width: 17px;
	height: 17px;
	transition: transform .2s ease;
}

.cgh-mobile-drawer details[open] summary .cgh-icon {
	transform: rotate(180deg);
}

.cgh-mobile-drawer details div {
	display: grid;
	padding: 6px 8px 12px 15px;
	border-bottom: 1px solid #e9eef3;
}

.cgh-mobile-drawer details div a {
	padding: 8px 0;
	color: var(--cgh-muted);
	font-size: .92rem;
	font-weight: 650;
}

.cgh-mobile-drawer__actions {
	display: grid;
	gap: 9px;
	margin-top: auto;
	padding-top: 18px;
}

/* Hero */
.cgh-hero {
	position: relative;
	display: flex;
	min-height: 620px;
	align-items: stretch;
	background: var(--cgh-navy);
	color: #fff;
	overflow: hidden;
}

.cgh-hero--home {
	min-height: 735px;
}

.cgh-hero__image,
.cgh-hero__overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.cgh-hero__image {
	object-fit: cover;
}

.cgh-hero__overlay {
	background:
		linear-gradient(90deg, rgba(4, 19, 35, .95) 0%, rgba(4, 19, 35, .82) 42%, rgba(4, 19, 35, .32) 76%, rgba(4, 19, 35, .25) 100%),
		linear-gradient(0deg, rgba(4, 19, 35, .38), transparent 55%);
}

.cgh-hero__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 78px;
	padding-bottom: 155px;
}

.cgh-hero--home .cgh-hero__content {
	padding-top: 96px;
}

.cgh-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	color: #eef6fc;
	font-size: .78rem;
	font-weight: 850;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.cgh-hero__eyebrow span {
	display: inline-block;
	width: 38px;
	height: 3px;
	border-radius: 3px;
	background: var(--cgh-orange);
}

.cgh-hero h1 {
	max-width: 930px;
	margin-bottom: 22px;
	color: #fff;
	text-wrap: balance;
}

.cgh-hero--inner h1 {
	max-width: 900px;
	font-size: clamp(2.65rem, 5vw, 4.65rem);
}

.cgh-hero__lead {
	max-width: 720px;
	margin-bottom: 0;
	color: #e5edf4;
	font-size: clamp(1.05rem, 1.65vw, 1.27rem);
	line-height: 1.65;
}

.cgh-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 24px;
	color: #dbe6ef;
	font-size: .77rem;
	font-weight: 650;
}

.cgh-breadcrumbs a:hover {
	color: #fff;
	text-decoration: underline;
}

.cgh-hero__trust {
	position: absolute;
	z-index: 3;
	right: 0;
	bottom: 0;
	left: 0;
	border-top: 1px solid rgba(255, 255, 255, .18);
	background: rgba(5, 24, 44, .85);
	backdrop-filter: blur(14px);
}

.cgh-hero__trust-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.cgh-hero__trust-grid > div {
	display: flex;
	min-height: 96px;
	align-items: center;
	justify-content: center;
	gap: 13px;
	padding: 18px 22px;
	border-right: 1px solid rgba(255, 255, 255, .13);
}

.cgh-hero__trust-grid > div:last-child {
	border-right: 0;
}

.cgh-hero__trust-grid > div > span {
	display: grid;
	width: 39px;
	height: 39px;
	place-items: center;
	border-radius: 10px;
	background: rgba(255, 102, 37, .15);
	color: #ff8d5b;
}

.cgh-hero__trust-grid p {
	margin: 0;
}

.cgh-hero__trust-grid strong,
.cgh-hero__trust-grid small {
	display: block;
}

/* Sections and content */
.cgh-section {
	padding: clamp(74px, 8vw, 118px) 0;
}

.cgh-section--light {
	background: #fff;
}

.cgh-section--warm {
	background: var(--cgh-warm);
}

.cgh-section--navy {
	background:
		radial-gradient(circle at 85% 10%, rgba(8, 120, 220, .18), transparent 31%),
		linear-gradient(145deg, var(--cgh-navy), #0a2948);
	color: #dfeaf3;
}

.cgh-section-heading {
	max-width: 790px;
	margin-bottom: 42px;
}

.cgh-section-heading--narrow {
	max-width: 650px;
}

.cgh-section-heading--light h2,
.cgh-section-heading--light h3 {
	color: #fff;
}

.cgh-section-heading--light > p:not(.cgh-kicker) {
	color: #c6d5e2;
}

.cgh-section-heading h2 {
	margin-bottom: 18px;
	text-wrap: balance;
}

.cgh-section-heading > p:not(.cgh-kicker) {
	max-width: 710px;
	margin-bottom: 0;
	color: var(--cgh-muted);
	font-size: 1.03rem;
}

.cgh-kicker {
	margin-bottom: 12px;
	color: var(--cgh-blue);
	font-size: .74rem;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.cgh-section--navy .cgh-kicker,
.cgh-cta .cgh-kicker {
	color: #55aefb;
}

.cgh-large-copy {
	color: #29394a;
	font-size: clamp(1.1rem, 1.6vw, 1.3rem);
	font-weight: 520;
	line-height: 1.72;
}

.cgh-split {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(330px, .7fr);
	align-items: center;
	gap: clamp(55px, 8vw, 110px);
}

.cgh-split--balanced {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
	gap: clamp(50px, 7vw, 90px);
}

.cgh-split--media {
	grid-template-columns: minmax(0, 1fr) minmax(390px, .85fr);
}

.cgh-split .cgh-section-heading {
	margin-bottom: 28px;
}

.cgh-proof-card,
.cgh-service-action-card {
	position: relative;
	padding: clamp(30px, 4vw, 48px);
	border-radius: var(--cgh-radius);
	background: linear-gradient(150deg, var(--cgh-navy), #0b345c);
	box-shadow: var(--cgh-shadow);
	color: #d6e4ef;
	overflow: hidden;
}

.cgh-proof-card::after,
.cgh-service-action-card::after {
	position: absolute;
	right: -60px;
	bottom: -70px;
	width: 210px;
	height: 210px;
	border-radius: 50%;
	background: rgba(8, 120, 220, .19);
	content: "";
}

.cgh-proof-card--light {
	background: #fff;
	box-shadow: var(--cgh-shadow-sm);
	color: var(--cgh-muted);
}

.cgh-proof-card h2,
.cgh-service-action-card h2 {
	position: relative;
	z-index: 1;
	margin-bottom: 15px;
	color: #fff;
}

.cgh-proof-card--light h2 {
	color: var(--cgh-navy);
}

.cgh-proof-card p,
.cgh-service-action-card p,
.cgh-service-action-card small,
.cgh-proof-card a,
.cgh-service-action-card a {
	position: relative;
	z-index: 1;
}

.cgh-proof-card__mark,
.cgh-service-action-card__icon {
	position: relative;
	z-index: 1;
	display: grid;
	width: 66px;
	height: 66px;
	place-items: center;
	margin-bottom: 26px;
	border-radius: 16px;
	background: var(--cgh-orange);
	color: #fff;
}

.cgh-proof-card__mark .cgh-icon,
.cgh-service-action-card__icon .cgh-icon {
	width: 33px;
	height: 33px;
}

.cgh-service-action-card .cgh-button + .cgh-button {
	margin-top: 9px;
}

.cgh-service-action-card .cgh-button--ghost {
	border-color: rgba(255, 255, 255, .35);
	color: #fff !important;
}

.cgh-service-action-card .cgh-button--ghost:hover {
	background: rgba(255, 255, 255, .1);
}

.cgh-service-action-card > small {
	display: block;
	margin-top: 17px;
	color: #b9cad9;
	text-align: center;
}

.cgh-service-confirmed {
	padding: 12px 14px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 9px;
	background: rgba(255, 255, 255, .07);
	font-size: .79rem;
	line-height: 1.5;
}

.cgh-review-note a {
	color: var(--cgh-blue);
	font-weight: 750;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.cgh-heading-row {
	display: flex;
	max-width: none;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
}

.cgh-heading-row > div {
	max-width: 770px;
}

.cgh-heading-row .cgh-button {
	flex: 0 0 auto;
	margin-bottom: 5px;
}

/* Photo cards */
.cgh-photo-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.cgh-photo-card {
	position: relative;
	display: block;
	min-height: 390px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 15px;
	background: #152e47;
	box-shadow: 0 15px 40px rgba(0, 0, 0, .15);
	overflow: hidden;
}

.cgh-photo-card img,
.cgh-photo-card__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.cgh-photo-card img {
	object-fit: cover;
	transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}

.cgh-photo-card__shade {
	background: linear-gradient(0deg, rgba(3, 17, 30, .97) 0%, rgba(3, 17, 30, .64) 48%, rgba(3, 17, 30, .07) 78%);
}

.cgh-photo-card__content {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 27px;
}

.cgh-icon-badge {
	display: grid;
	width: 45px;
	height: 45px;
	place-items: center;
	margin-bottom: 16px;
	border-radius: 11px;
	background: var(--cgh-orange);
	color: #fff;
}

.cgh-photo-card strong {
	margin-bottom: 8px;
	color: #fff;
	font-size: 1.22rem;
	line-height: 1.2;
}

.cgh-photo-card small {
	min-height: 58px;
	color: #c5d2dd;
	font-size: .84rem;
	line-height: 1.55;
}

.cgh-card-link {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-top: 14px;
	color: #fff;
	font-size: .8rem;
	font-weight: 800;
}

.cgh-card-link .cgh-icon {
	transition: transform .2s ease;
}

.cgh-photo-card:hover img {
	transform: scale(1.055);
}

.cgh-photo-card:hover .cgh-card-link .cgh-icon {
	transform: translateX(4px);
}

/* Feature and value cards */
.cgh-feature-grid,
.cgh-value-grid {
	display: grid;
	gap: 20px;
}

.cgh-feature-grid--4,
.cgh-value-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cgh-feature-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cgh-feature-card,
.cgh-value-card {
	position: relative;
	padding: 30px;
	border: 1px solid var(--cgh-line);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 28px rgba(7, 26, 47, .045);
}

.cgh-feature-card--white {
	border: 0;
}

.cgh-feature-card__icon,
.cgh-value-card > span {
	display: grid;
	width: 49px;
	height: 49px;
	place-items: center;
	margin-bottom: 24px;
	border-radius: 12px;
	background: #e9f4fd;
	color: var(--cgh-blue);
}

.cgh-feature-card__number {
	display: block;
	margin-bottom: 22px;
	color: var(--cgh-orange);
	font-size: 1.05rem;
	font-weight: 900;
}

.cgh-feature-card h3,
.cgh-value-card h3 {
	margin-bottom: 12px;
}

.cgh-feature-card p,
.cgh-value-card p {
	margin-bottom: 0;
	color: var(--cgh-muted);
	font-size: .93rem;
}

.cgh-home-benefits {
	background:
		radial-gradient(circle at 12% 16%, rgba(8, 120, 220, .08), transparent 31%),
		linear-gradient(180deg, #fff, #f3f7fa);
}

.cgh-feature-card--photo {
	isolation: isolate;
	display: flex;
	min-height: 390px;
	align-items: flex-end;
	padding: 0;
	border: 0;
	background: var(--cgh-navy);
	box-shadow: 0 18px 42px rgba(7, 26, 47, .18);
	overflow: hidden;
}

.cgh-feature-card__image,
.cgh-feature-card__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.cgh-feature-card__image {
	z-index: -2;
	object-fit: cover;
	transition: transform .45s ease;
}

.cgh-feature-card__shade {
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(4, 19, 35, .08) 12%, rgba(4, 19, 35, .9) 78%, rgba(4, 19, 35, .98) 100%),
		linear-gradient(90deg, rgba(4, 19, 35, .28), transparent 75%);
}

.cgh-feature-card__content {
	width: 100%;
	padding: 30px;
}

.cgh-feature-card--photo .cgh-feature-card__icon {
	margin-bottom: 22px;
	border: 1px solid rgba(255, 255, 255, .3);
	background: rgba(255, 255, 255, .16);
	color: #fff;
	backdrop-filter: blur(8px);
}

.cgh-feature-card--photo h3 {
	color: #fff;
}

.cgh-feature-card--photo p {
	color: #e0e9f0;
}

.cgh-feature-card--photo:hover .cgh-feature-card__image {
	transform: scale(1.055);
}

.cgh-value-grid .cgh-value-card {
	border-color: rgba(255, 255, 255, .12);
	background: rgba(255, 255, 255, .06);
	box-shadow: none;
}

.cgh-value-grid .cgh-value-card > span {
	background: rgba(8, 120, 220, .2);
	color: #65b9ff;
}

.cgh-value-grid .cgh-value-card h3 {
	color: #fff;
}

.cgh-value-grid .cgh-value-card p {
	color: #c7d5e1;
}

/* Process */
.cgh-photo-band {
	isolation: isolate;
	position: relative;
	background: var(--cgh-navy);
	overflow: hidden;
}

.cgh-photo-band__image,
.cgh-photo-band__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.cgh-photo-band__image {
	z-index: -2;
	object-fit: cover;
}

.cgh-photo-band__shade {
	z-index: -1;
	pointer-events: none;
}

.cgh-photo-band--process .cgh-photo-band__image {
	object-position: center 42%;
}

.cgh-photo-band--process .cgh-photo-band__shade {
	background:
		linear-gradient(90deg, rgba(4, 19, 35, .97) 0%, rgba(4, 19, 35, .88) 48%, rgba(4, 19, 35, .72) 100%),
		linear-gradient(180deg, rgba(4, 19, 35, .34), rgba(4, 19, 35, .78));
}

.cgh-photo-band--reviews .cgh-photo-band__image {
	object-position: center 48%;
}

.cgh-photo-band--reviews .cgh-photo-band__shade {
	background:
		linear-gradient(90deg, rgba(4, 19, 35, .94), rgba(4, 19, 35, .73)),
		linear-gradient(180deg, rgba(4, 19, 35, .46), rgba(4, 19, 35, .85));
}

.cgh-photo-band .cgh-container {
	position: relative;
	z-index: 1;
}

.cgh-photo-band .cgh-section-heading h2 {
	color: #fff;
}

.cgh-photo-band .cgh-section-heading > p:not(.cgh-kicker) {
	color: #d7e3ec;
}

.cgh-photo-band .cgh-kicker {
	color: #78c3ff;
}

.cgh-process-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.cgh-process-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cgh-process-card {
	position: relative;
	padding: 29px;
	border: 1px solid #dbe3e9;
	border-radius: 14px;
	background: #fff;
}

.cgh-process-card > span {
	display: inline-grid;
	width: 41px;
	height: 41px;
	place-items: center;
	margin-bottom: 25px;
	border-radius: 50%;
	background: var(--cgh-navy);
	color: #fff;
	font-size: .75rem;
	font-weight: 900;
}

.cgh-process-card h3 {
	margin-bottom: 10px;
}

.cgh-process-card p {
	margin-bottom: 0;
	color: var(--cgh-muted);
	font-size: .91rem;
}

.cgh-process-grid--photo .cgh-process-card {
	border-color: rgba(255, 255, 255, .35);
	background: rgba(255, 255, 255, .93);
	box-shadow: 0 18px 45px rgba(0, 0, 0, .19);
	backdrop-filter: blur(12px);
}

.cgh-process-grid--photo .cgh-process-card > span {
	background: var(--cgh-orange);
	box-shadow: 0 8px 18px rgba(255, 102, 37, .28);
}

.cgh-process-grid--dark .cgh-process-card {
	border-color: rgba(255, 255, 255, .13);
	background: rgba(255, 255, 255, .055);
}

.cgh-process-grid--dark .cgh-process-card > span {
	background: var(--cgh-orange);
}

.cgh-process-grid--dark .cgh-process-card h3 {
	color: #fff;
}

.cgh-process-grid--dark .cgh-process-card p {
	color: #c6d4df;
}

/* Reviews */
.cgh-review-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.cgh-review-card {
	position: relative;
	padding: 35px;
	border: 1px solid var(--cgh-line);
	border-radius: 15px;
	background: #fff;
	box-shadow: var(--cgh-shadow-sm);
}

.cgh-photo-band--reviews .cgh-review-card {
	border-color: rgba(255, 255, 255, .38);
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 20px 52px rgba(0, 0, 0, .22);
	backdrop-filter: blur(12px);
}

.cgh-review-card__stars {
	display: inline-flex;
	margin-bottom: 24px;
	padding: 9px 11px 9px 13px;
	border-radius: 8px;
	background: var(--cgh-navy);
	color: #ffc83d;
	font-size: 1.25rem;
	font-weight: 900;
	letter-spacing: .15em;
	line-height: 1;
	text-shadow: 0 1px 0 rgba(0, 0, 0, .22);
}

.cgh-review-card__quote {
	display: block;
	height: 40px;
	color: var(--cgh-orange);
	font-family: Georgia, serif;
	font-size: 4rem;
	font-weight: 800;
	line-height: .75;
}

.cgh-review-card blockquote {
	min-height: 75px;
	margin-bottom: 26px;
	color: var(--cgh-ink);
	font-size: 1.08rem;
	font-weight: 650;
	line-height: 1.55;
}

.cgh-review-card figcaption {
	display: flex;
	flex-direction: column;
	padding-top: 20px;
	border-top: 1px solid var(--cgh-line);
}

.cgh-review-card figcaption strong {
	font-size: .92rem;
}

.cgh-review-card figcaption small {
	color: var(--cgh-muted);
}

.cgh-review-card figcaption span {
	color: var(--cgh-muted);
	font-size: .79rem;
}

.cgh-review-note,
.cgh-small-note {
	margin: 22px 0 0;
	color: #768391;
	font-size: .79rem;
}

/* Service directory */
.cgh-service-directory {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.cgh-directory-card {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	border: 1px solid var(--cgh-line);
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 12px 35px rgba(7, 26, 47, .07);
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
}

.cgh-directory-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--cgh-shadow);
}

.cgh-directory-card__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.cgh-directory-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.cgh-directory-card:hover img {
	transform: scale(1.045);
}

.cgh-directory-card__body {
	position: relative;
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 27px;
}

.cgh-directory-card__icon {
	position: absolute;
	top: -25px;
	right: 24px;
	display: grid;
	width: 50px;
	height: 50px;
	place-items: center;
	border: 4px solid #fff;
	border-radius: 12px;
	background: var(--cgh-blue);
	color: #fff;
}

.cgh-directory-card strong {
	margin: 5px 0 10px;
	color: var(--cgh-navy);
	font-size: 1.2rem;
	line-height: 1.2;
}

.cgh-directory-card small {
	margin-bottom: 18px;
	color: var(--cgh-muted);
	font-size: .9rem;
	line-height: 1.55;
}

.cgh-directory-card .cgh-text-link {
	margin-top: auto;
}

/* Lists, safety and FAQs */
.cgh-check-list {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cgh-check-list li {
	position: relative;
	padding: 3px 0 3px 37px;
	color: #3b4b5b;
}

.cgh-check-list li::before {
	position: absolute;
	top: 2px;
	left: 0;
	display: grid;
	width: 25px;
	height: 25px;
	place-items: center;
	border-radius: 50%;
	background: #e4f4ff;
	color: var(--cgh-blue);
	content: "✓";
	font-size: .74rem;
	font-weight: 900;
}

.cgh-check-list--light li {
	color: #e0ebf3;
}

.cgh-service-info-panel {
	padding: clamp(32px, 5vw, 52px);
	border: 1px solid #c7dff3;
	border-radius: var(--cgh-radius);
	background: linear-gradient(145deg, #f1f8fe, #fff);
}

.cgh-service-info-panel__icon {
	display: grid;
	width: 57px;
	height: 57px;
	place-items: center;
	margin-bottom: 24px;
	border-radius: 14px;
	background: #dceefe;
	color: var(--cgh-blue);
}

.cgh-service-info-panel h2 {
	margin-bottom: 15px;
}

.cgh-service-info-panel p {
	color: #40566a;
}

.cgh-faq-layout {
	display: grid;
	grid-template-columns: minmax(280px, .65fr) minmax(0, 1.35fr);
	align-items: start;
	gap: clamp(50px, 7vw, 100px);
}

.cgh-section-heading--sticky {
	position: sticky;
	top: 130px;
}

.cgh-accordion {
	border-top: 1px solid var(--cgh-line);
}

.cgh-faq {
	border-bottom: 1px solid var(--cgh-line);
}

.cgh-faq summary {
	display: flex;
	min-height: 78px;
	align-items: center;
	justify-content: space-between;
	gap: 25px;
	padding: 20px 4px;
	color: var(--cgh-navy);
	cursor: pointer;
	font-size: 1.04rem;
	font-weight: 800;
	list-style: none;
}

.cgh-faq summary::-webkit-details-marker {
	display: none;
}

.cgh-faq summary span {
	display: grid;
	width: 34px;
	height: 34px;
	flex: 0 0 34px;
	place-items: center;
	border-radius: 50%;
	background: #edf4fa;
	color: var(--cgh-blue);
}

.cgh-faq summary .cgh-icon {
	width: 18px;
	height: 18px;
	transition: transform .2s ease;
}

.cgh-faq[open] summary .cgh-icon {
	transform: rotate(45deg);
}

.cgh-faq > div {
	padding: 0 50px 23px 4px;
}

.cgh-faq > div p {
	margin-bottom: 0;
	color: var(--cgh-muted);
}

/* Forms */
.cgh-form-panel {
	padding: clamp(30px, 4vw, 48px);
	border: 1px solid var(--cgh-line);
	border-radius: var(--cgh-radius);
	background: #fff;
	box-shadow: var(--cgh-shadow);
}

.cgh-form-panel--compact {
	color: var(--cgh-ink);
}

.cgh-form-panel h2 {
	margin-bottom: 12px;
}

.cgh-form-panel > p:not(.cgh-kicker) {
	margin-bottom: 28px;
	color: var(--cgh-muted);
}

.cgh-field-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 17px;
}

.cgh-field {
	display: grid;
	gap: 7px;
	color: #253545;
	font-size: .84rem;
	font-weight: 750;
}

.cgh-field--full {
	grid-column: 1 / -1;
}

.cgh-field em,
.cgh-consent em {
	color: var(--cgh-orange-dark);
	font-style: normal;
}

.cgh-field input,
.cgh-field select,
.cgh-field textarea {
	width: 100%;
	border: 1px solid #cfd9e1;
	border-radius: 9px;
	background: #fbfcfd;
	color: var(--cgh-ink);
	font-size: .94rem;
	font-weight: 500;
	outline: 0;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.cgh-field input,
.cgh-field select {
	height: 50px;
	padding: 0 14px;
}

.cgh-field textarea {
	min-height: 118px;
	padding: 13px 14px;
	resize: vertical;
}

.cgh-field input:focus,
.cgh-field select:focus,
.cgh-field textarea:focus {
	border-color: var(--cgh-blue);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(8, 120, 220, .11);
}

.cgh-consent {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	margin: 20px 0;
	color: var(--cgh-muted);
	font-size: .78rem;
	font-weight: 500;
	line-height: 1.5;
}

.cgh-consent input {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	margin-top: 2px;
	accent-color: var(--cgh-blue);
}

.cgh-consent a {
	color: var(--cgh-blue);
	font-weight: 700;
	text-decoration: underline;
}

.cgh-form-message {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin-bottom: 18px;
	padding: 13px 15px;
	border-radius: 8px;
	font-size: .84rem;
	font-weight: 650;
}

.cgh-form-message--error {
	border: 1px solid #f0beb9;
	background: #fff0ef;
	color: #8e2018;
}

.cgh-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* Contact */
.cgh-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(450px, 1.18fr);
	align-items: start;
	gap: clamp(55px, 8vw, 100px);
}

.cgh-contact-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 12px;
}

.cgh-contact-card {
	display: grid;
	grid-template-columns: 43px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 12px;
	padding: 19px;
	border: 1px solid var(--cgh-line);
	border-radius: 11px;
	background: #fff;
	transition: border-color .2s ease, transform .2s ease;
}

.cgh-contact-card:hover {
	transform: translateY(-2px);
	border-color: #9ec9ec;
}

.cgh-contact-card--email {
	grid-column: 1 / -1;
}

.cgh-contact-card > span {
	display: grid;
	grid-row: 1 / 3;
	width: 43px;
	height: 43px;
	place-items: center;
	border-radius: 10px;
	background: #eaf5fd;
	color: var(--cgh-blue);
}

.cgh-contact-card small,
.cgh-address-card small,
.cgh-hours-card small {
	display: block;
	color: #526474;
	font-size: .7rem;
	font-weight: 750;
	text-transform: uppercase;
}

.cgh-contact-card strong {
	min-width: 0;
	font-size: .94rem;
	line-height: 1.3;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.cgh-address-card,
.cgh-hours-card {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	margin-top: 12px;
	padding: 20px;
	border: 1px solid var(--cgh-line);
	border-radius: 11px;
	background: #fff;
}

.cgh-address-card > span,
.cgh-hours-card > span {
	display: grid;
	width: 43px;
	height: 43px;
	flex: 0 0 43px;
	place-items: center;
	border-radius: 10px;
	background: #eaf5fd;
	color: var(--cgh-blue);
}

.cgh-address-card strong,
.cgh-hours-card strong {
	display: block;
	margin: 2px 0 8px;
	font-size: .91rem;
	line-height: 1.45;
}

/* About, fleet and facts */
.cgh-image-frame {
	position: relative;
	margin: 0;
	border-radius: var(--cgh-radius);
	box-shadow: var(--cgh-shadow);
	overflow: hidden;
}

.cgh-image-frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cgh-image-frame--portrait {
	aspect-ratio: 4 / 4.2;
}

.cgh-image-frame figcaption {
	position: absolute;
	right: 14px;
	bottom: 14px;
	left: 14px;
	padding: 13px 16px;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 9px;
	background: rgba(5, 25, 45, .78);
	color: #fff;
	font-size: .8rem;
	font-weight: 750;
	backdrop-filter: blur(7px);
}

.cgh-fact-list {
	margin: 0;
	border-top: 1px solid var(--cgh-line);
}

.cgh-fact-list > div {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 22px;
	padding: 15px 0;
	border-bottom: 1px solid var(--cgh-line);
}

.cgh-fact-list dt {
	color: #748290;
	font-size: .78rem;
	font-weight: 750;
}

.cgh-fact-list dd {
	margin: 0;
	color: var(--cgh-navy);
	font-size: .9rem;
	font-weight: 700;
}

/* Areas */
.cgh-area-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 11px;
}

.cgh-area-chip {
	display: flex;
	min-height: 58px;
	align-items: center;
	gap: 10px;
	padding: 12px 15px;
	border: 1px solid #d8e1e8;
	border-radius: 10px;
	background: #fff;
	color: var(--cgh-navy);
	font-size: .84rem;
	font-weight: 750;
}

.cgh-area-chip .cgh-icon {
	width: 17px;
	height: 17px;
	color: var(--cgh-orange);
}

/* Legal */
.cgh-legal-layout {
	display: grid;
	grid-template-columns: 250px minmax(0, 780px);
	justify-content: center;
	align-items: start;
	gap: clamp(45px, 8vw, 100px);
}

.cgh-legal-nav {
	position: sticky;
	top: 130px;
	display: grid;
	gap: 4px;
	padding: 24px;
	border: 1px solid var(--cgh-line);
	border-radius: 12px;
	background: var(--cgh-light);
}

.cgh-legal-nav a {
	padding: 7px 0;
	color: var(--cgh-muted);
	font-size: .82rem;
	font-weight: 650;
}

.cgh-legal-nav a:hover {
	color: var(--cgh-blue);
}

.cgh-legal-nav > p:not(.cgh-kicker) {
	color: var(--cgh-muted);
	font-size: .82rem;
}

.cgh-legal-copy h2 {
	margin: 44px 0 15px;
	font-size: 1.55rem;
	letter-spacing: -.02em;
}

.cgh-legal-copy h2:first-of-type {
	margin-top: 0;
}

.cgh-legal-copy p {
	color: #485767;
}

.cgh-legal-copy a {
	color: var(--cgh-blue);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.cgh-policy-date {
	display: inline-block;
	margin-bottom: 28px;
	padding: 6px 10px;
	border-radius: 7px;
	background: #edf5fb;
	color: var(--cgh-blue-dark) !important;
	font-size: .77rem;
	font-weight: 750;
}

/* Thank you */
.cgh-thanks-panel {
	max-width: 980px;
	text-align: center;
}

.cgh-thanks-panel__icon {
	display: grid;
	width: 74px;
	height: 74px;
	place-items: center;
	margin: 0 auto 26px;
	border-radius: 50%;
	background: #e8f7ef;
	color: #16844f;
}

.cgh-thanks-panel__icon .cgh-icon {
	width: 38px;
	height: 38px;
}

.cgh-thanks-panel > h2 {
	margin-bottom: 16px;
}

.cgh-thanks-panel > p:not(.cgh-kicker) {
	max-width: 660px;
	margin: 0 auto 38px;
	color: var(--cgh-muted);
}

.cgh-thanks-panel .cgh-process-grid {
	text-align: left;
}

/* CTA */
.cgh-cta {
	position: relative;
	padding: clamp(60px, 7vw, 90px) 0;
	background:
		radial-gradient(circle at 15% 50%, rgba(255, 255, 255, .12), transparent 30%),
		linear-gradient(110deg, #0069c4, #0b3e70);
	color: #dcecf9;
	overflow: hidden;
}

.cgh-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
}

.cgh-cta__inner > div:first-child {
	max-width: 730px;
}

.cgh-cta h2 {
	margin-bottom: 12px;
	color: #fff;
	font-size: clamp(2rem, 4vw, 3.35rem);
}

.cgh-cta p:not(.cgh-kicker) {
	margin-bottom: 0;
}

.cgh-cta .cgh-button-row {
	flex: 0 0 auto;
	margin-top: 0;
}

/* Footer */
.cgh-footer {
	background: #061727;
	color: #bfcddb;
}

.cgh-footer__grid {
	display: grid;
	grid-template-columns: 1.45fr .8fr .8fr 1.15fr;
	gap: clamp(32px, 5vw, 65px);
	padding-top: 75px;
	padding-bottom: 55px;
}

.cgh-footer h2 {
	margin-bottom: 19px;
	color: #fff;
	font-size: .96rem;
	letter-spacing: 0;
}

.cgh-footer__brand img {
	width: 260px;
	height: auto;
	margin-bottom: 24px;
}

.cgh-footer__brand > p {
	max-width: 390px;
	font-size: .88rem;
}

.cgh-footer__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 22px;
}

.cgh-footer__badges span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 9px;
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 7px;
	background: rgba(255, 255, 255, .04);
	font-size: .7rem;
	font-weight: 750;
}

.cgh-footer__links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
}

.cgh-footer__links a {
	color: #adbdca;
	font-size: .82rem;
}

.cgh-footer__links a:hover,
.cgh-footer__bottom a:hover {
	color: #fff;
}

.cgh-footer__contact > a,
.cgh-footer__contact > p {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 15px;
	font-size: .8rem;
}

.cgh-footer__contact .cgh-icon {
	margin-top: 3px;
	color: #65b9ff;
}

.cgh-footer__contact small {
	display: block;
	margin-bottom: 2px;
	color: #73889a;
	font-size: .64rem;
	font-weight: 750;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.cgh-footer__bottom {
	background: #04111e;
}

.cgh-footer__bottom .cgh-container {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 25px;
	min-height: 73px;
	font-size: .7rem;
}

.cgh-footer__bottom p {
	margin: 0;
}

.cgh-footer__bottom nav {
	display: flex;
	gap: 18px;
}

.cgh-footer__credit {
	text-align: right;
}

.cgh-footer__credit a {
	color: #fff;
	font-weight: 700;
}

.cgh-mobile-actions {
	display: none;
}



.cgh-hero__trust-grid strong {
	color: #fff;
	font-size: .89rem;
}

.cgh-hero__trust-grid small {
	margin-top: 2px;
	color: #b9c9d7;
	font-size: .73rem;
}

/* Responsive layout */
@media (max-width: 1180px) {
	.cgh-header__inner {
		gap: 18px;
	}

	.cgh-logo {
		width: 195px;
	}

	.cgh-nav > a,
	.cgh-nav__dropdown > button {
		padding-inline: 9px;
	}

	.cgh-photo-grid,
	.cgh-feature-grid--4,
	.cgh-value-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cgh-footer__grid {
		grid-template-columns: 1.35fr .8fr .8fr;
	}

	.cgh-footer__contact {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px;
		padding-top: 10px;
		border-top: 1px solid rgba(255, 255, 255, .1);
	}

	.cgh-footer__contact h2 {
		grid-column: 1 / -1;
		margin-bottom: 0;
	}
}

@media (max-width: 1200px) {
	.cgh-nav,
	.cgh-header__cta {
		display: none;
	}

	.cgh-menu-toggle {
		display: grid;
	}

	.cgh-header__inner {
		min-height: 76px;
	}

	.cgh-logo {
		width: 205px;
	}

	.cgh-split,
	.cgh-split--balanced,
	.cgh-split--media,
	.cgh-contact-grid {
		grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
		gap: 50px;
	}

	.cgh-service-directory,
	.cgh-feature-grid--3,
	.cgh-review-grid,
	.cgh-process-grid,
	.cgh-process-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cgh-photo-band--reviews .cgh-review-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		width: calc(50% - 10px);
		justify-self: center;
	}

	.cgh-area-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.cgh-hero__trust-grid > div {
		padding-inline: 14px;
	}
}

@media (max-width: 820px) {
	.cgh-topbar__inner > div:first-child {
		display: none;
	}

	.cgh-topbar__inner {
		justify-content: center;
	}

	.cgh-hero,
	.cgh-hero--home {
		min-height: 690px;
	}

	.cgh-hero__content,
	.cgh-hero--home .cgh-hero__content {
		padding-top: 70px;
		padding-bottom: 190px;
	}

	.cgh-hero__overlay {
		background: linear-gradient(90deg, rgba(4, 19, 35, .94), rgba(4, 19, 35, .58)), linear-gradient(0deg, rgba(4, 19, 35, .55), transparent 62%);
	}

	.cgh-hero__trust-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.cgh-hero__trust-grid > div {
		min-height: 74px;
		justify-content: flex-start;
		padding: 11px 15px;
	}

	.cgh-hero__trust-grid > div:nth-child(2) {
		border-right: 0;
	}

	.cgh-hero__trust-grid > div:nth-child(-n+2) {
		border-bottom: 1px solid rgba(255, 255, 255, .13);
	}

	.cgh-split,
	.cgh-split--balanced,
	.cgh-split--media,
	.cgh-contact-grid,
	.cgh-faq-layout,
	.cgh-legal-layout {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.cgh-section-heading--sticky,
	.cgh-legal-nav {
		position: static;
	}

	.cgh-legal-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cgh-legal-nav .cgh-kicker,
	.cgh-legal-nav > p {
		grid-column: 1 / -1;
	}

	.cgh-heading-row,
	.cgh-cta__inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 24px;
	}

	.cgh-heading-row .cgh-button {
		margin-bottom: 0;
	}

	.cgh-cta .cgh-button-row {
		margin-top: 4px;
	}

	.cgh-area-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.cgh-footer__grid {
		grid-template-columns: 1.35fr 1fr 1fr;
		gap: 30px;
	}

	.cgh-footer__contact {
		grid-template-columns: 1fr;
	}

	.cgh-footer__bottom .cgh-container {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 9px;
		padding-top: 18px;
		padding-bottom: 18px;
		text-align: center;
	}

	.cgh-footer__credit {
		text-align: center;
	}
}

@media (max-width: 620px) {
	body.cgh-site-page {
		padding-bottom: calc(67px + env(safe-area-inset-bottom, 0px));
	}

	.cgh-container {
		width: min(calc(100% - 30px), var(--cgh-container));
	}

	.cgh-topbar {
		display: none;
	}

	.cgh-header__inner {
		min-height: 68px;
	}

	.admin-bar .cgh-header {
		top: 46px;
	}

	.cgh-logo {
		width: 174px;
	}

	.cgh-menu-toggle {
		width: 43px;
		height: 43px;
	}

	.cgh-mobile-drawer__panel {
		width: min(390px, 95vw);
		padding: 16px;
	}

	.cgh-mobile-drawer__head img {
		width: 165px;
	}

	.cgh-hero,
	.cgh-hero--home {
		min-height: 690px;
	}

	.cgh-hero__content,
	.cgh-hero--home .cgh-hero__content {
		justify-content: flex-start;
		padding-top: 62px;
		padding-bottom: 190px;
	}

	.cgh-hero h1,
	.cgh-hero--inner h1 {
		font-size: clamp(2.25rem, 11vw, 3.35rem);
	}

	.cgh-hero__lead {
		font-size: 1rem;
		line-height: 1.52;
	}

	.cgh-breadcrumbs {
		margin-bottom: 18px;
	}

	.cgh-hero__eyebrow {
		margin-bottom: 17px;
		font-size: .68rem;
	}

	.cgh-hero .cgh-button-row {
		align-items: stretch;
		flex-direction: column;
		margin-top: 22px;
	}

	.cgh-hero .cgh-button {
		width: 100%;
	}

	.cgh-hero__trust-grid > div {
		gap: 8px;
		padding: 9px 8px;
	}

	.cgh-hero__trust-grid > div > span {
		width: 32px;
		height: 32px;
		border-radius: 8px;
	}

	.cgh-hero__trust-grid strong {
		font-size: .72rem;
	}

	.cgh-hero__trust-grid small {
		font-size: .61rem;
		line-height: 1.3;
	}

	.cgh-section {
		padding: 65px 0;
	}

	.cgh-section-heading {
		margin-bottom: 30px;
	}

	.cgh-photo-grid,
	.cgh-feature-grid--4,
	.cgh-feature-grid--3,
	.cgh-value-grid,
	.cgh-service-directory,
	.cgh-process-grid,
	.cgh-process-grid--3,
	.cgh-review-grid,
	.cgh-field-grid,
	.cgh-contact-cards {
		grid-template-columns: 1fr;
	}

	.cgh-photo-card {
		min-height: 360px;
	}

	.cgh-field--full {
		grid-column: auto;
	}

	.cgh-feature-card,
	.cgh-value-card,
	.cgh-process-card,
	.cgh-review-card,
	.cgh-directory-card__body {
		padding: 24px;
	}

	.cgh-feature-card--photo {
		min-height: 360px;
		padding: 0;
	}

	.cgh-feature-card__content {
		padding: 24px;
	}

	.cgh-photo-band--process .cgh-photo-band__image,
	.cgh-photo-band--reviews .cgh-photo-band__image {
		object-position: 68% center;
	}

	.cgh-photo-band--reviews .cgh-review-card:last-child:nth-child(odd) {
		grid-column: auto;
		width: 100%;
	}

	.cgh-review-card blockquote {
		min-height: 0;
	}

	.cgh-area-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cgh-area-chip {
		font-size: .78rem;
	}

	.cgh-fact-list > div {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.cgh-legal-nav {
		grid-template-columns: 1fr;
	}

	.cgh-legal-nav .cgh-kicker,
	.cgh-legal-nav > p {
		grid-column: auto;
	}

	.cgh-form-panel {
		padding: 25px 19px;
	}

	.cgh-cta__inner,
	.cgh-cta__inner .cgh-button-row {
		width: 100%;
	}

	.cgh-cta__inner .cgh-button-row {
		align-items: stretch;
		flex-direction: column;
	}

	.cgh-cta__inner .cgh-button {
		width: 100%;
	}

	.cgh-footer__grid {
		grid-template-columns: 1fr;
		padding-top: 55px;
	}

	.cgh-footer__brand img {
		width: 230px;
	}

	.cgh-footer__contact {
		grid-column: auto;
	}

	.cgh-mobile-actions {
		position: fixed;
		z-index: 9998;
		right: 0;
		bottom: 0;
		left: 0;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		min-height: calc(67px + env(safe-area-inset-bottom, 0px));
		padding-bottom: env(safe-area-inset-bottom, 0px);
		border-top: 1px solid #d7e0e7;
		background: rgba(255, 255, 255, .98);
		box-shadow: 0 -8px 28px rgba(7, 26, 47, .12);
		backdrop-filter: blur(12px);
	}

	.cgh-mobile-actions a {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 3px;
		border-right: 1px solid #e1e7ec;
		color: var(--cgh-navy);
		font-size: .67rem;
		font-weight: 800;
	}

	.cgh-mobile-actions a:last-child {
		border-right: 0;
	}

	.cgh-mobile-actions .cgh-icon {
		width: 21px;
		height: 21px;
		color: var(--cgh-blue);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.cgh-site *,
	.cgh-site *::before,
	.cgh-site *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media print {
	.cgh-topbar,
	.cgh-header,
	.cgh-hero__trust,
	.cgh-button-row,
	.cgh-cta,
	.cgh-mobile-actions,
	.cgh-footer {
		display: none !important;
	}

	.cgh-hero,
	.cgh-hero--home {
		min-height: 0;
		background: #fff;
		color: #000;
	}

	.cgh-hero__image,
	.cgh-hero__overlay,
	.cgh-photo-band__image,
	.cgh-photo-band__shade {
		display: none;
	}

	.cgh-photo-band {
		background: #fff;
	}

	.cgh-photo-band .cgh-section-heading h2,
	.cgh-photo-band .cgh-section-heading > p:not(.cgh-kicker),
	.cgh-photo-band .cgh-kicker {
		color: #000;
	}

	.cgh-hero__content {
		padding: 30px 0;
	}

	.cgh-hero h1,
	.cgh-hero__lead,
	.cgh-hero__eyebrow,
	.cgh-breadcrumbs {
		color: #000;
	}
}
