:root {
	--gcma-navy: #061a44;
	--gcma-blue: #007bff;
	--gcma-cyan: #00b7f1;
	--gcma-white: #ffffff;
	--gcma-light: #f4f8fc;
	--gcma-muted: #5d6c86;
}

/* Premium GCMA portfolio. */
.gcma-portfolio {
	--gcma-portfolio-surface: var(--gcma-glass, rgba(255, 255, 255, 0.62));
	--gcma-portfolio-border: var(--gcma-glass-border, rgba(255, 255, 255, 0.76));
	color: var(--gcma-navy, #061a44);
	margin: 0 auto;
	max-width: 1240px;
	width: 100%;
}

.gcma-portfolio__intro {
	margin: 0 auto clamp(28px, 5vw, 48px);
	max-width: 820px;
	text-align: center;
}

.gcma-portfolio__eyebrow {
	color: var(--gcma-blue, #007bff) !important;
	font-size: 12px !important;
	font-weight: 900;
	margin: 0 0 10px !important;
	text-transform: uppercase;
}

.gcma-portfolio__intro h2 {
	color: var(--gcma-navy, #061a44);
	font-size: clamp(34px, 5vw, 60px);
	letter-spacing: 0;
	line-height: 1.03;
	margin: 0 0 14px;
}

.gcma-portfolio__intro > p:last-child {
	color: var(--gcma-muted, #5d6c86);
	font-size: 17px;
	line-height: 1.65;
	margin: 0 auto;
	max-width: 680px;
}

.gcma-project-filters {
	display: flex;
	gap: 8px;
	justify-content: center;
	margin: 0 auto 30px;
	overflow-x: auto;
	padding: 5px 3px 10px;
	scrollbar-width: thin;
}

.gcma-project-filters button {
	background: var(--gcma-portfolio-surface);
	border: 1px solid var(--gcma-portfolio-border);
	border-radius: 999px;
	box-shadow: inset 0 1px 0 var(--gcma-glass-highlight, rgba(255, 255, 255, 0.8));
	color: var(--gcma-muted, #5d6c86);
	cursor: pointer;
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 850;
	min-height: 44px;
	padding: 10px 15px;
	transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

.gcma-project-filters button:hover,
.gcma-project-filters button:focus-visible,
.gcma-project-filters button[aria-pressed="true"] {
	background: color-mix(in srgb, var(--gcma-blue, #007bff) 13%, var(--gcma-portfolio-surface));
	border-color: color-mix(in srgb, var(--gcma-blue, #007bff) 55%, transparent);
	box-shadow: 0 0 20px rgba(0, 183, 241, 0.2), inset 0 1px 0 var(--gcma-glass-highlight, #fff);
	color: var(--gcma-blue, #007bff);
	transform: translateY(-1px);
}

.gcma-portfolio .gcma-projects__grid {
	display: grid;
	gap: clamp(16px, 2.2vw, 26px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gcma-portfolio .gcma-projects__grid--columns-1 {
	grid-template-columns: 1fr;
}

.gcma-portfolio .gcma-projects__grid--columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gcma-portfolio .gcma-projects__grid--columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gcma-portfolio .gcma-project-card {
	background: var(--gcma-portfolio-surface);
	border: 1px solid var(--gcma-portfolio-border);
	border-radius: var(--gcma-radius, 28px);
	box-shadow: var(--gcma-soft-shadow, 0 18px 46px rgba(6, 26, 68, 0.12));
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	position: relative;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.gcma-portfolio .gcma-project-card[hidden] {
	display: none;
}

.gcma-portfolio .gcma-project-card.is-filtered-in {
	animation: gcma-project-filter-in 260ms ease both;
}

@keyframes gcma-project-filter-in {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}

.gcma-portfolio .gcma-project-card:hover {
	border-color: color-mix(in srgb, var(--gcma-blue, #007bff) 38%, var(--gcma-portfolio-border));
	box-shadow: var(--gcma-shadow, 0 28px 78px rgba(6, 26, 68, 0.18));
	transform: translateY(-4px);
}

.gcma-portfolio .gcma-project-card__media {
	aspect-ratio: 16 / 10;
	background: color-mix(in srgb, var(--gcma-blue, #007bff) 10%, var(--gcma-light, #f4f8fc));
	display: block;
	overflow: hidden;
	position: relative;
}

.gcma-portfolio .gcma-project-card__media::after {
	background: linear-gradient(180deg, transparent 58%, rgba(2, 12, 31, 0.38));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.gcma-portfolio .gcma-project-card__image {
	height: 100%;
	object-fit: cover;
	transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
	width: 100%;
}

.gcma-portfolio .gcma-project-card:hover .gcma-project-card__image {
	transform: scale(1.025);
}

.gcma-portfolio .gcma-project-card__fallback {
	align-items: center;
	background: var(--gcma-deep, #061a44);
	color: #fff;
	display: flex;
	font-size: 44px;
	font-weight: 900;
	height: 100%;
	justify-content: center;
	position: relative;
	width: 100%;
}

.gcma-portfolio .gcma-project-card__fallback i {
	background: rgba(0, 183, 241, 0.22);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	height: 150px;
	position: absolute;
	width: 150px;
}

.gcma-portfolio .gcma-project-card__fallback strong {
	position: relative;
}

.gcma-project-card__featured {
	background: rgba(3, 20, 48, 0.74);
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 999px;
	bottom: 14px;
	color: #fff;
	font-size: 11px;
	font-weight: 900;
	left: 14px;
	padding: 7px 10px;
	position: absolute;
	z-index: 1;
}

.gcma-portfolio .gcma-project-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(18px, 2.2vw, 25px);
	position: relative;
}

.gcma-project-card__topline {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: space-between;
	margin-bottom: 12px;
}

.gcma-project-card__topline span,
.gcma-project-card__topline time {
	color: var(--gcma-blue, #007bff);
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
}

.gcma-project-card__topline time {
	color: var(--gcma-muted, #5d6c86);
}

.gcma-portfolio .gcma-project-card h3 {
	font-size: clamp(22px, 2.2vw, 29px);
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0 0 9px;
}

.gcma-portfolio .gcma-project-card h3 a {
	color: var(--gcma-navy, #061a44);
	text-decoration: none;
}

.gcma-project-card__subtitle {
	color: var(--gcma-navy, #061a44);
	display: block;
	font-size: 14px;
	line-height: 1.45;
	margin-bottom: 9px;
}

.gcma-portfolio .gcma-project-card__excerpt {
	color: var(--gcma-muted, #5d6c86);
	display: -webkit-box;
	font-size: 14px;
	line-height: 1.58;
	margin: 0 0 16px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.gcma-project-card__technologies {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
}

.gcma-project-card__technologies li {
	background: color-mix(in srgb, var(--gcma-blue, #007bff) 8%, transparent);
	border: 1px solid color-mix(in srgb, var(--gcma-blue, #007bff) 17%, transparent);
	border-radius: 999px;
	color: var(--gcma-muted, #5d6c86);
	font-size: 10px;
	font-weight: 850;
	padding: 5px 7px;
}

.gcma-project-card__metrics {
	border-bottom: 1px solid var(--gcma-line, rgba(6, 26, 68, 0.12));
	border-top: 1px solid var(--gcma-line, rgba(6, 26, 68, 0.12));
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: auto 0 16px;
	padding: 13px 0;
}

.gcma-project-card__metrics div {
	min-width: 0;
}

.gcma-project-card__metrics dt {
	color: var(--gcma-blue, #007bff);
	font-size: 17px;
	font-weight: 900;
	margin-bottom: 2px;
}

.gcma-project-card__metrics dd {
	color: var(--gcma-muted, #5d6c86);
	font-size: 9px;
	font-weight: 800;
	line-height: 1.25;
	margin: 0;
}

.gcma-project-card__footer {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: space-between;
	margin-top: auto;
}

.gcma-project-card__footer > span {
	color: var(--gcma-muted, #5d6c86);
	font-size: 11px;
	font-weight: 800;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gcma-project-card__footer a {
	align-items: center;
	color: var(--gcma-blue, #007bff);
	display: inline-flex;
	font-size: 12px;
	font-weight: 900;
	gap: 6px;
	margin-left: auto;
	text-decoration: none;
}

.gcma-portfolio .gcma-projects__empty {
	background: var(--gcma-portfolio-surface);
	border: 1px solid var(--gcma-portfolio-border);
	border-radius: var(--gcma-radius, 28px);
	box-shadow: var(--gcma-soft-shadow, 0 18px 46px rgba(6, 26, 68, 0.12));
	padding: 32px;
}

@supports (backdrop-filter: blur(18px)) {
	.gcma-portfolio .gcma-project-card,
	.gcma-project-filters button,
	.gcma-portfolio .gcma-projects__empty {
		backdrop-filter: blur(30px) saturate(175%);
	}
}

html[data-gcma-theme="dark"] .gcma-portfolio .gcma-project-card,
html[data-gcma-theme="dark"] .gcma-project-filters button,
html[data-gcma-theme="dark"] .gcma-portfolio .gcma-projects__empty {
	background: rgba(7, 18, 34, 0.66);
}

@media (max-width: 1060px) {
	.gcma-portfolio .gcma-projects__grid,
	.gcma-portfolio .gcma-projects__grid--columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.gcma-portfolio__intro {
		margin-bottom: 25px;
	}

	.gcma-portfolio__intro h2 {
		font-size: 36px;
	}

	.gcma-project-filters {
		justify-content: flex-start;
		margin-left: -2px;
		margin-right: -2px;
		padding-bottom: 12px;
	}

	.gcma-portfolio .gcma-projects__grid,
	.gcma-portfolio .gcma-projects__grid--columns-2,
	.gcma-portfolio .gcma-projects__grid--columns-3,
	.gcma-portfolio .gcma-projects__grid--columns-4 {
		grid-template-columns: 1fr;
	}

	.gcma-portfolio .gcma-project-card__body {
		padding: 19px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gcma-portfolio .gcma-project-card,
	.gcma-portfolio .gcma-project-card__image,
	.gcma-project-filters button,
	.gcma-portfolio .gcma-project-card.is-filtered-in {
		animation: none;
		transition: none;
	}
}

/* Unified contact and quote journey. */
.gcma-quote-wizard,
.gcma-quote-success {
	color: var(--gcma-navy, #061a44);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin: 0 auto;
	max-width: 1040px;
	width: 100%;
}

.gcma-quote-wizard *,
.gcma-quote-success * {
	box-sizing: border-box;
}

.gcma-quote-wizard__form {
	background: color-mix(in srgb, var(--gcma-glass-strong, #fff) 82%, transparent);
	border: 1px solid var(--gcma-glass-border, rgba(255, 255, 255, 0.72));
	border-radius: var(--gcma-radius, 28px);
	box-shadow: var(--gcma-shadow, 0 28px 78px rgba(6, 26, 68, 0.18));
	overflow: clip;
	padding: clamp(22px, 4vw, 48px);
	position: relative;
	scroll-margin-top: calc(var(--gcma-header-height, 78px) + 28px);
}

.gcma-quote-wizard__form::before {
	background: linear-gradient(90deg, var(--gcma-blue, #007bff), var(--gcma-cyan, #00b7f1));
	box-shadow: 0 0 22px rgba(0, 183, 241, 0.58);
	content: "";
	height: 4px;
	inset: 0 8% auto;
	position: absolute;
}

@supports (backdrop-filter: blur(18px)) {
	.gcma-quote-wizard__form,
	.gcma-quote-wizard__navigation,
	.gcma-quote-choice,
	.gcma-quote-field input,
	.gcma-quote-field select,
	.gcma-quote-field textarea {
		backdrop-filter: blur(28px) saturate(170%);
	}
}

.gcma-quote-wizard__header {
	margin: 0 auto clamp(22px, 4vw, 38px);
	max-width: 760px;
	text-align: center;
}

.gcma-quote-wizard__eyebrow {
	color: var(--gcma-blue, #007bff) !important;
	font-size: 12px !important;
	font-weight: 950;
	letter-spacing: 0;
	margin: 0 0 9px !important;
	text-transform: uppercase;
}

.gcma-quote-wizard__header h1,
.gcma-quote-success h1 {
	color: var(--gcma-navy, #061a44);
	font-size: clamp(34px, 5vw, 58px);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0 0 14px;
}

.gcma-quote-wizard__header > p:last-child,
.gcma-quote-success > div {
	color: var(--gcma-muted, #5d6c86);
	font-size: 17px;
	line-height: 1.6;
	margin: 0;
}

.gcma-quote-wizard__notice,
.gcma-quote-wizard__error {
	border: 1px solid rgba(220, 38, 38, 0.22);
	border-radius: var(--gcma-radius-small, 18px);
	color: #991b1b;
	font-weight: 800;
	margin: 0 0 22px;
	padding: 13px 15px;
}

.gcma-quote-wizard__notice.is-error,
.gcma-quote-wizard__error {
	background: rgba(254, 226, 226, 0.82);
}

.gcma-quote-progress {
	margin: 0 auto clamp(30px, 5vw, 52px);
	max-width: 860px;
	position: relative;
	scroll-margin-top: calc(var(--gcma-header-height, 78px) + 28px);
}

.gcma-quote-progress__track {
	background: color-mix(in srgb, var(--gcma-muted, #5d6c86) 20%, transparent);
	border-radius: 999px;
	height: 4px;
	inset: 25px calc(50% / var(--gcma-quote-step-count, 3)) auto;
	overflow: hidden;
	position: absolute;
}

.gcma-quote-progress__track span {
	background: linear-gradient(90deg, var(--gcma-blue, #007bff), var(--gcma-cyan, #00b7f1));
	border-radius: inherit;
	box-shadow: 0 0 18px rgba(0, 183, 241, 0.78);
	display: block;
	height: 100%;
	transition: width 360ms cubic-bezier(0.22, 1, 0.36, 1);
	width: calc(100% / var(--gcma-quote-step-count, 3));
}

.gcma-quote-progress ol {
	display: grid;
	grid-template-columns: repeat(var(--gcma-quote-step-count, 3), minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.gcma-quote-progress li {
	min-width: 0;
	text-align: center;
}

.gcma-quote-progress button {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--gcma-muted, #5d6c86);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 0 4px;
	width: 100%;
}

.gcma-quote-progress button:disabled {
	cursor: default;
}

.gcma-quote-progress button > span {
	align-items: center;
	background: color-mix(in srgb, var(--gcma-glass-strong, #fff) 86%, transparent);
	border: 1px solid color-mix(in srgb, var(--gcma-muted, #5d6c86) 28%, transparent);
	border-radius: 50%;
	box-shadow: inset 0 1px 0 var(--gcma-glass-highlight, rgba(255, 255, 255, 0.72));
	display: inline-flex;
	font-size: 14px;
	font-weight: 950;
	height: 52px;
	justify-content: center;
	transition: border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
	width: 52px;
}

.gcma-quote-progress button small {
	font-size: 12px;
	font-weight: 850;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
}

.gcma-quote-progress li.is-active button,
.gcma-quote-progress li.is-complete button {
	color: var(--gcma-navy, #061a44);
}

.gcma-quote-progress li.is-active button > span,
.gcma-quote-progress li.is-complete button > span {
	background: color-mix(in srgb, var(--gcma-blue, #007bff) 14%, var(--gcma-glass-strong, #fff));
	border-color: var(--gcma-blue, #007bff);
	box-shadow: 0 0 18px rgba(0, 183, 241, 0.58), inset 0 1px 0 rgba(255, 255, 255, 0.74);
	color: var(--gcma-blue, #007bff);
}

.gcma-quote-progress li.is-active button > span {
	transform: scale(1.06);
}

.gcma-quote-step[hidden],
.gcma-quote-button[hidden],
.gcma-quote-wizard__error[hidden] {
	display: none !important;
}

.gcma-quote-step.is-active {
	animation: gcma-quote-step-in 360ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes gcma-quote-step-in {
	from { opacity: 0; transform: translateX(14px); }
	to { opacity: 1; transform: translateX(0); }
}

.gcma-quote-step__intro {
	border-bottom: 1px solid color-mix(in srgb, var(--gcma-muted, #5d6c86) 18%, transparent);
	margin-bottom: 24px;
	padding-bottom: 22px;
}

.gcma-quote-step__intro > span {
	color: var(--gcma-blue, #007bff);
	display: block;
	font-size: 12px;
	font-weight: 950;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.gcma-quote-step__intro h2 {
	color: var(--gcma-navy, #061a44);
	font-size: clamp(27px, 4vw, 42px);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0 0 10px;
}

.gcma-quote-step__intro p {
	color: var(--gcma-muted, #5d6c86);
	font-size: 16px;
	line-height: 1.55;
	margin: 0;
}

.gcma-quote-choices {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 24px;
}

.gcma-quote-choices--projects,
.gcma-quote-choices--budget {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gcma-quote-choices--compact {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 0;
}

.gcma-quote-choice {
	align-items: center;
	background: color-mix(in srgb, var(--gcma-glass, rgba(255, 255, 255, 0.58)) 86%, transparent);
	border: 1px solid color-mix(in srgb, var(--gcma-muted, #5d6c86) 24%, transparent);
	border-radius: var(--gcma-radius-small, 18px);
	box-shadow: inset 0 1px 0 var(--gcma-glass-highlight, rgba(255, 255, 255, 0.72));
	cursor: pointer;
	display: grid;
	gap: 12px;
	grid-template-columns: 28px minmax(0, 1fr);
	min-height: 74px;
	padding: 14px;
	position: relative;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.gcma-quote-choice:hover,
.gcma-quote-choice:focus-within {
	border-color: color-mix(in srgb, var(--gcma-blue, #007bff) 62%, transparent);
	transform: translateY(-1px);
}

.gcma-quote-choice.is-selected,
.gcma-quote-choice:has(input:checked) {
	background: color-mix(in srgb, var(--gcma-blue, #007bff) 11%, var(--gcma-glass-strong, #fff));
	border-color: var(--gcma-blue, #007bff);
	box-shadow: 0 0 22px rgba(0, 183, 241, 0.28), inset 0 1px 0 var(--gcma-glass-highlight, #fff);
}

.gcma-quote-choice input {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.gcma-quote-choice__indicator {
	align-items: center;
	border: 1px solid color-mix(in srgb, var(--gcma-muted, #5d6c86) 40%, transparent);
	border-radius: 9px;
	color: var(--gcma-muted, #5d6c86);
	display: inline-flex;
	height: 28px;
	justify-content: center;
	width: 28px;
}

.gcma-quote-choice__indicator svg {
	height: 16px;
	width: 16px;
}

.gcma-quote-choice.is-selected .gcma-quote-choice__indicator,
.gcma-quote-choice:has(input:checked) .gcma-quote-choice__indicator {
	background: var(--gcma-blue, #007bff);
	border-color: var(--gcma-blue, #007bff);
	color: #fff;
}

.gcma-quote-choice strong {
	color: var(--gcma-navy, #061a44);
	font-size: 15px;
	line-height: 1.25;
}

.gcma-quote-fields {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gcma-quote-field {
	display: grid;
	gap: 8px;
	margin-top: 18px;
}

.gcma-quote-fields .gcma-quote-field {
	margin-top: 0;
}

.gcma-quote-field--wide {
	grid-column: 1 / -1;
}

.gcma-quote-field > span,
.gcma-quote-contact-choice h3 {
	color: var(--gcma-navy, #061a44);
	font-size: 15px;
	font-weight: 900;
	margin: 0;
}

.gcma-quote-field input,
.gcma-quote-field select,
.gcma-quote-field textarea {
	appearance: none;
	background: color-mix(in srgb, var(--gcma-field-bg, #fff) 90%, transparent);
	border: 1px solid color-mix(in srgb, var(--gcma-muted, #5d6c86) 28%, transparent);
	border-radius: var(--gcma-radius-small, 18px);
	color: var(--gcma-navy, #061a44);
	font: inherit;
	min-height: 52px;
	padding: 13px 15px;
	width: 100%;
}

.gcma-quote-field select {
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: calc(100% - 18px) 22px, calc(100% - 13px) 22px;
	background-repeat: no-repeat;
	background-size: 5px 5px, 5px 5px;
	padding-right: 40px;
}

.gcma-quote-field textarea {
	min-height: 138px;
	resize: vertical;
}

.gcma-quote-field input:focus,
.gcma-quote-field select:focus,
.gcma-quote-field textarea:focus {
	border-color: var(--gcma-blue, #007bff);
	box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.12), 0 0 20px rgba(0, 183, 241, 0.18);
	outline: 0;
}

.gcma-quote-field > small {
	color: var(--gcma-muted, #5d6c86);
	font-size: 12px;
	justify-self: end;
}

.gcma-quote-contact-choice {
	border-top: 1px solid color-mix(in srgb, var(--gcma-muted, #5d6c86) 18%, transparent);
	margin-top: 26px;
	padding-top: 22px;
}

.gcma-quote-contact-choice h3 {
	margin-bottom: 12px;
}

.gcma-quote-consent {
	align-items: flex-start;
	color: var(--gcma-muted, #5d6c86);
	cursor: pointer;
	display: grid;
	font-size: 14px;
	gap: 11px;
	grid-template-columns: 22px minmax(0, 1fr);
	line-height: 1.45;
	margin-top: 22px;
}

.gcma-quote-consent input {
	accent-color: var(--gcma-blue, #007bff);
	height: 20px;
	margin: 1px 0 0;
	width: 20px;
}

.gcma-quote-wizard__navigation {
	align-items: center;
	background: color-mix(in srgb, var(--gcma-glass-strong, #fff) 88%, transparent);
	border: 1px solid var(--gcma-glass-border, rgba(255, 255, 255, 0.72));
	border-radius: var(--gcma-radius, 28px);
	bottom: 16px;
	box-shadow: var(--gcma-soft-shadow, 0 18px 46px rgba(6, 26, 68, 0.12));
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(150px, 1fr) auto minmax(150px, 1fr);
	margin-top: 32px;
	padding: 8px;
	position: sticky;
	z-index: 20;
}

.gcma-quote-button {
	align-items: center;
	border-radius: calc(var(--gcma-radius, 28px) - 8px);
	cursor: pointer;
	display: inline-flex;
	font-weight: 900;
	gap: 9px;
	justify-content: center;
	min-height: 52px;
	padding: 11px 16px;
}

.gcma-quote-button svg {
	height: 20px;
	width: 20px;
}

.gcma-quote-button--previous {
	background: transparent;
	border: 1px solid color-mix(in srgb, var(--gcma-muted, #5d6c86) 24%, transparent);
	color: var(--gcma-navy, #061a44);
}

.gcma-quote-button--next,
.gcma-quote-button--submit {
	background: linear-gradient(135deg, var(--gcma-blue, #007bff), var(--gcma-cyan, #00b7f1));
	border: 1px solid rgba(255, 255, 255, 0.62);
	box-shadow: 0 0 22px rgba(0, 183, 241, 0.34), 0 14px 30px rgba(0, 123, 255, 0.24);
	color: #fff;
	grid-column: 3;
}

.gcma-quote-button:disabled {
	cursor: default;
	opacity: 0.42;
}

.gcma-quote-button.is-loading {
	cursor: wait;
	filter: saturate(0.6);
}

.gcma-quote-wizard__step-label {
	color: var(--gcma-muted, #5d6c86);
	font-size: 13px;
	font-weight: 900;
	min-width: 40px;
	text-align: center;
}

.gcma-quote-honeypot {
	left: -9999px;
	position: absolute;
}

.gcma-quote-success {
	background: color-mix(in srgb, var(--gcma-glass-strong, #fff) 88%, transparent);
	border: 1px solid var(--gcma-glass-border, rgba(255, 255, 255, 0.72));
	border-radius: var(--gcma-radius, 28px);
	box-shadow: var(--gcma-shadow, 0 28px 78px rgba(6, 26, 68, 0.18));
	padding: clamp(38px, 8vw, 88px) clamp(22px, 6vw, 68px);
	text-align: center;
}

.gcma-quote-success__icon {
	align-items: center;
	background: linear-gradient(135deg, var(--gcma-blue, #007bff), var(--gcma-cyan, #00b7f1));
	border-radius: 50%;
	box-shadow: 0 0 34px rgba(0, 183, 241, 0.58);
	color: #fff;
	display: inline-flex;
	height: 76px;
	justify-content: center;
	margin-bottom: 22px;
	width: 76px;
}

.gcma-quote-success__icon svg {
	height: 38px;
	width: 38px;
}

.gcma-quote-success > p {
	color: var(--gcma-blue, #007bff);
	font-size: 13px;
	font-weight: 950;
	text-transform: uppercase;
}

.gcma-quote-success a {
	background: linear-gradient(135deg, var(--gcma-blue, #007bff), var(--gcma-cyan, #00b7f1));
	border-radius: var(--gcma-radius-small, 18px);
	box-shadow: 0 14px 30px rgba(0, 123, 255, 0.24);
	color: #fff;
	display: inline-flex;
	font-weight: 900;
	margin-top: 26px;
	padding: 13px 20px;
	text-decoration: none;
}

html[data-gcma-theme="dark"] .gcma-quote-wizard__form,
html[data-gcma-theme="dark"] .gcma-quote-success {
	background: rgba(5, 13, 25, 0.78);
}

html[data-gcma-theme="dark"] .gcma-quote-choice,
html[data-gcma-theme="dark"] .gcma-quote-wizard__navigation {
	background: rgba(8, 20, 34, 0.72);
}

html[data-gcma-theme="dark"] .gcma-quote-choice.is-selected,
html[data-gcma-theme="dark"] .gcma-quote-choice:has(input:checked) {
	background: rgba(0, 123, 255, 0.16);
}

html[data-gcma-theme="dark"] .gcma-quote-field input,
html[data-gcma-theme="dark"] .gcma-quote-field select,
html[data-gcma-theme="dark"] .gcma-quote-field textarea {
	background-color: rgba(255, 255, 255, 0.07);
}

@media (max-width: 760px) {
	.gcma-quote-wizard__form {
		border-radius: var(--gcma-radius, 28px);
		padding: 24px 14px 18px;
		scroll-margin-top: calc(var(--gcma-mobile-topbar-height, 68px) + env(safe-area-inset-top) + 18px);
	}

	.gcma-quote-wizard__header {
		margin-bottom: 24px;
		padding-inline: 6px;
	}

	.gcma-quote-wizard__header h1 {
		font-size: 34px;
	}

	.gcma-quote-wizard__header > p:last-child {
		font-size: 15px;
	}

	.gcma-quote-progress {
		margin-bottom: 30px;
		scroll-margin-top: calc(var(--gcma-mobile-topbar-height, 68px) + env(safe-area-inset-top) + 18px);
	}

	.gcma-quote-progress__track {
		inset-inline: calc(50% / var(--gcma-quote-step-count, 3));
		top: 20px;
	}

	.gcma-quote-progress button > span {
		height: 42px;
		width: 42px;
	}

	.gcma-quote-progress button small {
		font-size: 9px;
	}

	.gcma-quote-step__intro h2 {
		font-size: 28px;
	}

	.gcma-quote-choices,
	.gcma-quote-choices--projects,
	.gcma-quote-choices--budget,
	.gcma-quote-choices--compact {
		grid-template-columns: 1fr 1fr;
	}

	.gcma-quote-choice {
		grid-template-columns: 24px minmax(0, 1fr);
		min-height: 66px;
		padding: 11px;
	}

	.gcma-quote-choice__indicator {
		height: 24px;
		width: 24px;
	}

	.gcma-quote-choice strong {
		font-size: 13px;
	}

	.gcma-quote-fields {
		grid-template-columns: 1fr;
	}

	.gcma-quote-field--wide {
		grid-column: auto;
	}

	.gcma-quote-wizard__navigation {
		bottom: calc(var(--gcma-bottom-nav-height, 78px) + env(safe-area-inset-bottom) + 20px);
		grid-template-columns: 1fr auto 1fr;
		margin-top: 26px;
		padding: 6px;
	}

	.gcma-quote-button {
		font-size: 13px;
		min-height: 46px;
		padding: 9px 10px;
	}

	.gcma-quote-button svg {
		height: 17px;
		width: 17px;
	}
}

@media (max-width: 390px) {
	.gcma-quote-progress button small {
		font-size: 8px;
		line-height: 1.15;
		min-height: 19px;
		overflow: visible;
		text-overflow: clip;
		white-space: normal;
	}

	.gcma-quote-progress__track {
		inset-inline: calc(50% / var(--gcma-quote-step-count, 3));
	}

	.gcma-quote-choices,
	.gcma-quote-choices--projects,
	.gcma-quote-choices--budget,
	.gcma-quote-choices--compact {
		grid-template-columns: 1fr;
	}

	.gcma-quote-wizard__navigation {
		gap: 5px;
	}

	.gcma-quote-button span {
		font-size: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gcma-quote-step.is-active,
	.gcma-quote-progress__track span,
	.gcma-quote-choice {
		animation: none;
		transition: none;
	}
}

body.gcma-fullscreen-page {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 252, 0.98)),
		linear-gradient(135deg, rgba(0, 123, 255, 0.1), rgba(0, 183, 241, 0.08));
	color: var(--gcma-navy);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin: 0;
	min-height: 100vh;
	overflow-x: hidden;
}

body.gcma-fullscreen-page.gcma-nav-open {
	overflow: hidden;
}

.gcma-fullscreen-page * {
	box-sizing: border-box;
}

.gcma-screen-reader-text,
.gcma-skip-link {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.gcma-skip-link:focus {
	background: var(--gcma-white);
	border: 2px solid var(--gcma-blue);
	border-radius: 8px;
	box-shadow: 0 12px 28px rgba(6, 26, 68, 0.16);
	clip: auto;
	clip-path: none;
	color: var(--gcma-navy);
	font-weight: 900;
	height: auto;
	left: 18px;
	padding: 10px 14px;
	top: 18px;
	width: auto;
	z-index: 10001;
}

.gcma-shell-header {
	background: rgba(255, 255, 255, 0.84);
	backdrop-filter: blur(18px);
	border-bottom: 1px solid rgba(6, 26, 68, 0.08);
	box-shadow: 0 18px 50px rgba(6, 26, 68, 0.08);
	inset: 0 0 auto;
	position: fixed;
	z-index: 10000;
}

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

.gcma-shell-header__inner {
	align-items: center;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	min-height: 76px;
	padding: 10px clamp(18px, 4vw, 54px);
	width: 100%;
}

.gcma-shell-brand {
	align-items: center;
	color: var(--gcma-navy);
	display: inline-flex;
	font-size: 22px;
	font-weight: 900;
	min-width: 0;
	text-decoration: none;
}

.gcma-shell-brand img {
	display: block;
	height: auto;
	max-height: 48px;
	max-width: min(245px, 52vw);
}

.gcma-shell-brand span {
	white-space: nowrap;
}

.gcma-shell-nav {
	align-items: center;
	display: flex;
	gap: 6px;
	justify-content: flex-end;
}

.gcma-shell-nav a {
	border: 1px solid transparent;
	border-radius: 8px;
	color: var(--gcma-navy);
	font-size: 14px;
	font-weight: 900;
	min-height: 42px;
	padding: 11px 14px;
	text-decoration: none;
}

.gcma-shell-nav a:hover,
.gcma-shell-nav a:focus,
.gcma-shell-nav a[aria-current="page"] {
	background: rgba(0, 123, 255, 0.1);
	border-color: rgba(0, 123, 255, 0.16);
	color: var(--gcma-blue);
}

.gcma-shell-nav a:last-child {
	background: linear-gradient(135deg, var(--gcma-blue), var(--gcma-cyan));
	box-shadow: 0 12px 28px rgba(0, 123, 255, 0.22);
	color: var(--gcma-white);
}

.gcma-shell-nav a:last-child:hover,
.gcma-shell-nav a:last-child:focus,
.gcma-shell-nav a:last-child[aria-current="page"] {
	background: linear-gradient(135deg, var(--gcma-blue), var(--gcma-cyan));
	color: var(--gcma-white);
	filter: brightness(0.96);
}

.gcma-shell-toggle {
	align-items: center;
	background: linear-gradient(135deg, var(--gcma-blue), var(--gcma-cyan));
	border: 0;
	border-radius: 8px;
	box-shadow: 0 14px 30px rgba(0, 123, 255, 0.24);
	cursor: pointer;
	display: none;
	flex: 0 0 auto;
	height: 46px;
	justify-content: center;
	padding: 0;
	position: relative;
	width: 46px;
}

.gcma-shell-toggle span[aria-hidden="true"] {
	background: var(--gcma-white);
	border-radius: 999px;
	height: 2px;
	left: 13px;
	position: absolute;
	transition: opacity 180ms ease, transform 180ms ease, top 180ms ease;
	width: 20px;
}

.gcma-shell-toggle span[aria-hidden="true"]:nth-child(2) {
	top: 15px;
}

.gcma-shell-toggle span[aria-hidden="true"]:nth-child(3) {
	top: 22px;
}

.gcma-shell-toggle span[aria-hidden="true"]:nth-child(4) {
	top: 29px;
}

.gcma-nav-open .gcma-shell-toggle span[aria-hidden="true"]:nth-child(2) {
	top: 22px;
	transform: rotate(45deg);
}

.gcma-nav-open .gcma-shell-toggle span[aria-hidden="true"]:nth-child(3) {
	opacity: 0;
}

.gcma-nav-open .gcma-shell-toggle span[aria-hidden="true"]:nth-child(4) {
	top: 22px;
	transform: rotate(-45deg);
}

.gcma-fullscreen-main {
	min-height: 100vh;
	padding-top: 76px;
}

.admin-bar .gcma-fullscreen-main {
	padding-top: 108px;
}

.gcma-fullscreen-content {
	min-height: calc(100vh - 76px);
	width: 100%;
}

.gcma-shell-footer {
	align-items: center;
	background: var(--gcma-navy);
	color: rgba(255, 255, 255, 0.78);
	display: flex;
	gap: 16px;
	justify-content: space-between;
	padding: 24px clamp(18px, 4vw, 54px);
}

.gcma-shell-footer p {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
}

.gcma-shell-footer a {
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 8px;
	color: var(--gcma-white);
	font-size: 14px;
	font-weight: 900;
	min-height: 42px;
	padding: 11px 14px;
	text-decoration: none;
}

body.gcma-maintenance-page {
	background:
		radial-gradient(circle at 15% 20%, rgba(0, 183, 241, 0.18), transparent 28%),
		radial-gradient(circle at 90% 8%, rgba(0, 123, 255, 0.14), transparent 24%),
		linear-gradient(135deg, #ffffff 0%, #f4f8fc 48%, #eaf4ff 100%);
	color: var(--gcma-navy);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin: 0;
	min-height: 100vh;
	overflow-x: hidden;
}

.gcma-maintenance-shell {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 100vh;
	padding: 28px;
	position: relative;
}

.gcma-maintenance-card {
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(255, 255, 255, 0.8);
	border-radius: 8px;
	box-shadow: 0 30px 90px rgba(6, 26, 68, 0.16);
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
	max-width: 1180px;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.gcma-maintenance-card::before {
	background: linear-gradient(135deg, rgba(0, 123, 255, 0.92), rgba(0, 183, 241, 0.88));
	content: "";
	inset: auto 0 0;
	height: 8px;
	position: absolute;
}

.gcma-maintenance-content {
	padding: clamp(28px, 5vw, 64px);
	position: relative;
	z-index: 1;
}

.gcma-maintenance-header {
	margin-bottom: clamp(30px, 5vw, 58px);
}

.gcma-maintenance-logo {
	display: block;
	height: auto;
	max-width: min(330px, 86%);
}

.gcma-maintenance-fallback-logo {
	color: var(--gcma-navy);
	display: inline-block;
	font-size: 26px;
	font-weight: 900;
}

.gcma-maintenance-kicker {
	color: var(--gcma-blue);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.gcma-maintenance-copy h1 {
	color: var(--gcma-navy);
	font-size: clamp(38px, 6vw, 68px);
	letter-spacing: 0;
	line-height: 0.98;
	margin: 0 0 22px;
	max-width: 760px;
}

.gcma-maintenance-subtitle {
	color: var(--gcma-blue);
	font-size: clamp(20px, 2.2vw, 28px);
	font-weight: 800;
	line-height: 1.25;
	margin: 0 0 18px;
	max-width: 680px;
}

.gcma-maintenance-text {
	color: var(--gcma-muted);
	font-size: 18px;
	line-height: 1.7;
	margin: 0;
	max-width: 650px;
}

.gcma-maintenance-extra {
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(0, 123, 255, 0.14);
	border-left: 5px solid var(--gcma-blue);
	border-radius: 8px;
	color: var(--gcma-navy);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.55;
	margin: 22px 0 0;
	max-width: 650px;
	padding: 16px 18px;
}

.gcma-activity-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: clamp(30px, 5vw, 54px) 0;
}

.gcma-activity-card {
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(0, 123, 255, 0.16);
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(6, 26, 68, 0.08);
	min-height: 126px;
	padding: 18px 14px;
	text-align: center;
}

.gcma-activity-card span {
	align-items: center;
	background: linear-gradient(135deg, var(--gcma-blue), var(--gcma-cyan));
	border-radius: 8px;
	color: var(--gcma-white);
	display: inline-flex;
	font-size: 24px;
	font-weight: 900;
	height: 46px;
	justify-content: center;
	margin-bottom: 16px;
	width: 46px;
}

.gcma-activity-card h2 {
	color: var(--gcma-navy);
	font-size: 15px;
	line-height: 1.25;
	margin: 0 0 8px;
}

.gcma-activity-card p {
	color: var(--gcma-muted);
	font-size: 13px;
	line-height: 1.4;
	margin: 0;
}

.gcma-maintenance-footer {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: space-between;
}

.gcma-maintenance-footer strong {
	color: var(--gcma-navy);
	font-size: 21px;
}

.gcma-value-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.gcma-value-list span {
	background: rgba(6, 26, 68, 0.06);
	border: 1px solid rgba(6, 26, 68, 0.08);
	border-radius: 999px;
	color: var(--gcma-navy);
	font-size: 13px;
	font-weight: 800;
	padding: 9px 12px;
}

.gcma-maintenance-visual {
	align-items: flex-end;
	background:
		linear-gradient(145deg, rgba(6, 26, 68, 0.04), rgba(0, 123, 255, 0.1)),
		linear-gradient(180deg, rgba(255, 255, 255, 0.32), rgba(0, 183, 241, 0.18));
	display: flex;
	justify-content: center;
	min-height: 640px;
	overflow: hidden;
	padding: 34px 28px 0;
	position: relative;
}

.gcma-maintenance-visual::before {
	background: linear-gradient(145deg, rgba(6, 26, 68, 0.08), rgba(0, 123, 255, 0.06));
	border-radius: 8px;
	content: "";
	height: 68%;
	left: 12%;
	position: absolute;
	top: 16%;
	transform: rotate(-7deg);
	width: 72%;
}

.gcma-maintenance-visual img {
	filter: drop-shadow(0 28px 34px rgba(6, 26, 68, 0.2));
	max-height: 620px;
	max-width: 112%;
	object-fit: contain;
	position: relative;
	z-index: 1;
}

.gcma-visual-fallback {
	align-items: center;
	aspect-ratio: 1;
	background: linear-gradient(135deg, var(--gcma-navy), var(--gcma-blue));
	border-radius: 8px;
	color: var(--gcma-white);
	display: flex;
	font-size: 58px;
	font-weight: 900;
	justify-content: center;
	margin: auto;
	width: min(320px, 80%);
}

@media (max-width: 1040px) {
	.gcma-maintenance-card {
		grid-template-columns: 1fr;
	}

	.gcma-maintenance-visual {
		min-height: 380px;
		order: -1;
	}

	.gcma-maintenance-visual img {
		max-height: 420px;
	}
}

@media (max-width: 760px) {
	.gcma-maintenance-shell {
		align-items: flex-start;
		padding: 14px;
	}

	.gcma-maintenance-card {
		min-height: calc(100vh - 28px);
	}

	.gcma-maintenance-header {
		margin-bottom: 26px;
	}

	.gcma-maintenance-copy h1 {
		font-size: 38px;
		line-height: 1.04;
	}

	.gcma-maintenance-subtitle {
		font-size: 20px;
	}

	.gcma-maintenance-text {
		font-size: 16px;
	}

	.gcma-maintenance-extra {
		font-size: 15px;
	}

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

	.gcma-maintenance-footer {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 460px) {
	.gcma-maintenance-content {
		padding: 24px 18px 32px;
	}

	.gcma-maintenance-visual {
		min-height: 260px;
	}

	.gcma-maintenance-visual img {
		max-height: 310px;
	}

	.gcma-activity-grid {
		grid-template-columns: 1fr;
	}
}

.gcma-request-form {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 252, 0.94)),
		linear-gradient(135deg, rgba(0, 123, 255, 0.12), rgba(0, 183, 241, 0.1));
	border: 1px solid rgba(6, 26, 68, 0.1);
	border-radius: 8px;
	box-shadow: 0 22px 60px rgba(6, 26, 68, 0.12);
	color: var(--gcma-navy);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin: 28px auto;
	max-width: 980px;
	padding: clamp(22px, 4vw, 40px);
}

.gcma-request-form * {
	box-sizing: border-box;
}

.gcma-request-form__header {
	margin-bottom: 24px;
}

.gcma-request-form__header p {
	color: var(--gcma-blue);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.gcma-request-form__header h2 {
	color: var(--gcma-navy);
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.08;
	margin: 0;
}

.gcma-request-form__notice {
	border-radius: 8px;
	font-weight: 800;
	line-height: 1.5;
	margin-bottom: 20px;
	padding: 14px 16px;
}

.gcma-request-form__notice.is-success {
	background: rgba(0, 183, 118, 0.13);
	border: 1px solid rgba(0, 183, 118, 0.22);
	color: #007a4d;
}

.gcma-request-form__notice.is-error {
	background: rgba(204, 45, 45, 0.1);
	border: 1px solid rgba(204, 45, 45, 0.22);
	color: #9a1f1f;
}

.gcma-request-form__grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gcma-request-form label,
.gcma-request-form__field {
	display: grid;
	gap: 8px;
}

.gcma-request-form label span,
.gcma-request-form__field span {
	color: var(--gcma-navy);
	font-size: 14px;
	font-weight: 900;
}

.gcma-request-form input,
.gcma-request-form select,
.gcma-request-form textarea {
	background: var(--gcma-white);
	border: 1px solid rgba(6, 26, 68, 0.14);
	border-radius: 8px;
	box-shadow: none;
	color: var(--gcma-navy);
	font: inherit;
	min-height: 46px;
	padding: 11px 13px;
	width: 100%;
}

.gcma-request-form textarea {
	line-height: 1.5;
	margin-bottom: 0;
	min-height: 150px;
	resize: vertical;
}

.gcma-request-form__field {
	margin-top: 16px;
}

.gcma-request-form__consent {
	align-items: flex-start;
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(0, 123, 255, 0.14);
	border-radius: 8px;
	display: flex !important;
	gap: 10px;
	margin-top: 18px;
	padding: 14px;
}

.gcma-request-form__consent input {
	flex: 0 0 auto;
	margin-top: 3px;
	min-height: auto;
	width: auto;
}

.gcma-request-form__consent span {
	color: var(--gcma-muted);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
}

.gcma-request-form__submit {
	background: linear-gradient(135deg, var(--gcma-blue), var(--gcma-cyan));
	border: 0;
	border-radius: 8px;
	box-shadow: 0 14px 28px rgba(0, 123, 255, 0.24);
	color: var(--gcma-white);
	cursor: pointer;
	font-size: 16px;
	font-weight: 900;
	margin-top: 22px;
	min-height: 48px;
	padding: 12px 20px;
}

.gcma-request-form__submit:hover,
.gcma-request-form__submit:focus {
	filter: brightness(0.96);
}

@media (max-width: 720px) {
	.gcma-request-form__grid {
		grid-template-columns: 1fr;
	}
}

.gcma-projects {
	color: var(--gcma-navy);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin: 32px auto;
	max-width: 1180px;
}

.gcma-projects * {
	box-sizing: border-box;
}

.gcma-projects__grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gcma-projects__grid--columns-1 {
	grid-template-columns: 1fr;
}

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

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

.gcma-project-card {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 252, 0.94)),
		linear-gradient(135deg, rgba(0, 123, 255, 0.08), rgba(0, 183, 241, 0.08));
	border: 1px solid rgba(6, 26, 68, 0.1);
	border-radius: 8px;
	box-shadow: 0 18px 46px rgba(6, 26, 68, 0.1);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.gcma-project-card__media {
	aspect-ratio: 16 / 10;
	background: linear-gradient(135deg, rgba(6, 26, 68, 0.08), rgba(0, 123, 255, 0.12));
	overflow: hidden;
}

.gcma-project-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.gcma-project-card__fallback {
	align-items: center;
	background: linear-gradient(135deg, var(--gcma-navy), var(--gcma-blue));
	color: var(--gcma-white);
	display: flex;
	font-size: 42px;
	font-weight: 900;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.gcma-project-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 20px;
}

.gcma-project-card__badge {
	align-self: flex-start;
	background: rgba(0, 123, 255, 0.1);
	border: 1px solid rgba(0, 123, 255, 0.16);
	border-radius: 999px;
	color: var(--gcma-blue);
	font-size: 12px;
	font-weight: 900;
	margin-bottom: 14px;
	padding: 7px 10px;
}

.gcma-project-card h2 {
	color: var(--gcma-navy);
	font-size: 22px;
	line-height: 1.18;
	margin: 0 0 12px;
}

.gcma-project-card__excerpt {
	color: var(--gcma-muted);
	font-size: 15px;
	line-height: 1.55;
	margin: 0 0 18px;
}

.gcma-project-card__meta {
	display: grid;
	gap: 10px;
	margin: 0 0 20px;
}

.gcma-project-card__meta div {
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(6, 26, 68, 0.08);
	border-radius: 8px;
	padding: 10px;
}

.gcma-project-card__meta dt {
	color: var(--gcma-muted);
	font-size: 11px;
	font-weight: 900;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.gcma-project-card__meta dd {
	color: var(--gcma-navy);
	font-size: 14px;
	font-weight: 800;
	margin: 0;
}

.gcma-project-card__link {
	align-items: center;
	align-self: flex-start;
	background: linear-gradient(135deg, var(--gcma-blue), var(--gcma-cyan));
	border-radius: 8px;
	box-shadow: 0 12px 24px rgba(0, 123, 255, 0.22);
	color: var(--gcma-white);
	display: inline-flex;
	font-weight: 900;
	margin-top: auto;
	min-height: 42px;
	padding: 10px 14px;
	text-decoration: none;
}

.gcma-project-card__link:hover,
.gcma-project-card__link:focus {
	color: var(--gcma-white);
	filter: brightness(0.96);
}

.gcma-projects__empty {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(6, 26, 68, 0.1);
	border-radius: 8px;
	box-shadow: 0 16px 36px rgba(6, 26, 68, 0.08);
	padding: 28px;
	text-align: center;
}

.gcma-projects__empty h2 {
	color: var(--gcma-navy);
	margin: 0 0 8px;
}

.gcma-projects__empty p {
	color: var(--gcma-muted);
	margin: 0;
}

.gcma-site-hero {
	background:
		linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 252, 0.94)),
		linear-gradient(135deg, rgba(0, 123, 255, 0.14), rgba(0, 183, 241, 0.12));
	border: 1px solid rgba(6, 26, 68, 0.1);
	border-radius: 8px;
	box-shadow: 0 26px 72px rgba(6, 26, 68, 0.14);
	color: var(--gcma-navy);
	display: grid;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	gap: clamp(24px, 5vw, 54px);
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
	margin: 32px auto;
	max-width: 1180px;
	overflow: hidden;
	padding: clamp(28px, 5vw, 64px);
	position: relative;
}

.gcma-site-hero::before {
	background: linear-gradient(135deg, var(--gcma-blue), var(--gcma-cyan));
	content: "";
	height: 8px;
	inset: 0 0 auto;
	position: absolute;
}

.gcma-site-hero * {
	box-sizing: border-box;
}

.gcma-site-hero__content {
	position: relative;
	z-index: 1;
}

.gcma-site-hero__eyebrow {
	color: var(--gcma-blue);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.gcma-site-hero h1 {
	color: var(--gcma-navy);
	font-size: clamp(38px, 6vw, 72px);
	line-height: 0.98;
	margin: 0 0 20px;
	max-width: 800px;
}

.gcma-site-hero__subtitle {
	color: var(--gcma-blue);
	font-size: clamp(20px, 2.4vw, 30px);
	font-weight: 900;
	line-height: 1.24;
	margin: 0 0 18px;
	max-width: 720px;
}

.gcma-site-hero__intro {
	color: var(--gcma-muted);
	font-size: 18px;
	line-height: 1.7;
	margin: 0;
	max-width: 700px;
}

.gcma-site-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.gcma-site-hero__button {
	align-items: center;
	border-radius: 8px;
	display: inline-flex;
	font-size: 15px;
	font-weight: 900;
	justify-content: center;
	min-height: 48px;
	padding: 12px 18px;
	text-decoration: none;
}

.gcma-site-hero__button--primary {
	background: linear-gradient(135deg, var(--gcma-blue), var(--gcma-cyan));
	box-shadow: 0 14px 28px rgba(0, 123, 255, 0.24);
	color: var(--gcma-white);
}

.gcma-site-hero__button--secondary {
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(6, 26, 68, 0.12);
	color: var(--gcma-navy);
}

.gcma-site-hero__button:hover,
.gcma-site-hero__button:focus {
	filter: brightness(0.97);
}

.gcma-site-hero__about {
	align-self: stretch;
	display: grid;
	gap: 18px;
	position: relative;
	z-index: 1;
}

.gcma-site-hero__about-card {
	background:
		linear-gradient(145deg, rgba(6, 26, 68, 0.94), rgba(0, 123, 255, 0.88)),
		var(--gcma-navy);
	border-radius: 8px;
	box-shadow: 0 20px 46px rgba(6, 26, 68, 0.2);
	color: var(--gcma-white);
	padding: clamp(22px, 4vw, 34px);
}

.gcma-site-hero__about-card span {
	color: #bfeeff;
	display: block;
	font-size: 13px;
	font-weight: 900;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.gcma-site-hero__about-card p {
	color: var(--gcma-white);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
	margin: 0;
}

.gcma-site-hero__services {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gcma-site-hero__services span {
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(0, 123, 255, 0.14);
	border-radius: 8px;
	color: var(--gcma-navy);
	font-size: 14px;
	font-weight: 900;
	padding: 13px;
	text-align: center;
}

.gcma-home-page {
	color: var(--gcma-navy);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin: 0 auto;
	overflow: hidden;
	width: 100%;
}

.gcma-home-page * {
	box-sizing: border-box;
}

.gcma-home-page__eyebrow {
	color: var(--gcma-blue);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.gcma-home-promise {
	background:
		linear-gradient(135deg, rgba(6, 26, 68, 0.96), rgba(0, 83, 177, 0.92)),
		var(--gcma-navy);
	border-radius: 8px;
	box-shadow: 0 24px 60px rgba(6, 26, 68, 0.18);
	display: grid;
	gap: clamp(22px, 4vw, 44px);
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.85fr);
	margin: 0 auto 42px;
	max-width: 1180px;
	padding: clamp(26px, 5vw, 54px);
	position: relative;
}

.gcma-home-promise::after {
	background: linear-gradient(135deg, var(--gcma-blue), var(--gcma-cyan));
	border-radius: 999px;
	content: "";
	height: 4px;
	inset: auto clamp(26px, 5vw, 54px) 0;
	position: absolute;
}

.gcma-home-promise h2 {
	color: var(--gcma-white);
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.08;
	margin: 0 0 16px;
	max-width: 760px;
}

.gcma-home-promise p {
	color: rgba(255, 255, 255, 0.78);
	font-size: 17px;
	line-height: 1.7;
	margin: 0;
	max-width: 720px;
}

.gcma-home-promise__items {
	display: grid;
	gap: 12px;
}

.gcma-home-promise__items div {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	padding: 18px;
}

.gcma-home-promise__items strong {
	color: var(--gcma-white);
	display: block;
	font-size: 17px;
	font-weight: 900;
	margin-bottom: 6px;
}

.gcma-home-promise__items span {
	color: rgba(255, 255, 255, 0.74);
	display: block;
	font-size: 14px;
	line-height: 1.55;
}

.gcma-home-section {
	margin: 0 auto 46px;
	max-width: 1180px;
}

.gcma-home-section__header {
	margin: 0 auto 24px;
	max-width: 820px;
	text-align: center;
}

.gcma-home-section__header h2 {
	color: var(--gcma-navy);
	font-size: clamp(30px, 4vw, 48px);
	line-height: 1.08;
	margin: 0 0 14px;
}

.gcma-home-section__header p:not(.gcma-home-page__eyebrow) {
	color: var(--gcma-muted);
	font-size: 17px;
	line-height: 1.7;
	margin: 0;
}

.gcma-home-section--projects .gcma-projects {
	margin-top: 0;
}

.gcma-home-section--contact {
	background:
		linear-gradient(135deg, rgba(244, 248, 252, 0.92), rgba(255, 255, 255, 0.98)),
		linear-gradient(135deg, rgba(0, 123, 255, 0.1), rgba(0, 183, 241, 0.08));
	border: 1px solid rgba(6, 26, 68, 0.08);
	border-radius: 8px;
	box-shadow: 0 22px 54px rgba(6, 26, 68, 0.1);
	padding: clamp(24px, 5vw, 48px);
}

.gcma-home-section__form {
	margin: 0 auto;
	max-width: 980px;
}

.gcma-home-section__form .gcma-request-form {
	margin-bottom: 0;
	margin-top: 0;
}

.gcma-fullscreen-page .gcma-site-hero {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	max-width: none;
	min-height: calc(100svh - 76px);
	padding: clamp(34px, 6vw, 86px) clamp(18px, 6vw, 86px);
	width: 100%;
}

.gcma-fullscreen-page .gcma-home-page {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(244, 248, 252, 1)),
		linear-gradient(135deg, rgba(0, 123, 255, 0.08), rgba(0, 183, 241, 0.06));
	width: 100%;
}

.gcma-fullscreen-page .gcma-home-promise {
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	max-width: none;
	padding-left: clamp(18px, 6vw, 86px);
	padding-right: clamp(18px, 6vw, 86px);
}

.gcma-fullscreen-page .gcma-home-section {
	margin: 0;
	max-width: none;
	padding: clamp(52px, 8vw, 96px) clamp(18px, 6vw, 86px);
	width: 100%;
}

.gcma-fullscreen-page .gcma-home-section--projects {
	background: linear-gradient(180deg, rgba(244, 248, 252, 0.98), rgba(255, 255, 255, 0.98));
}

.gcma-fullscreen-page .gcma-home-section--contact {
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.gcma-fullscreen-page .gcma-projects {
	max-width: 1180px;
	width: 100%;
}

.gcma-fullscreen-page .gcma-fullscreen-content > .gcma-projects {
	margin: 0 auto;
	min-height: calc(100svh - 76px);
	padding: clamp(42px, 7vw, 88px) clamp(18px, 6vw, 86px);
}

.gcma-fullscreen-page .gcma-fullscreen-content > .gcma-request-form {
	margin: 0 auto;
	min-height: calc(100svh - 76px);
	width: min(980px, calc(100% - 36px));
}

@media (max-width: 860px) {
	.gcma-shell-toggle {
		display: inline-flex;
	}

	.gcma-shell-nav {
		background:
			linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 252, 0.96)),
			linear-gradient(135deg, rgba(0, 123, 255, 0.12), rgba(0, 183, 241, 0.1));
		border: 1px solid rgba(6, 26, 68, 0.1);
		border-radius: 8px;
		box-shadow: 0 28px 70px rgba(6, 26, 68, 0.2);
		display: grid;
		gap: 10px;
		inset: 88px 14px auto;
		opacity: 0;
		padding: 14px;
		pointer-events: none;
		position: fixed;
		transform: translateY(-12px);
		transition: opacity 180ms ease, transform 180ms ease;
	}

	.admin-bar .gcma-shell-nav {
		top: 120px;
	}

	.gcma-nav-open .gcma-shell-nav {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.gcma-shell-nav a {
		align-items: center;
		display: flex;
		font-size: 16px;
		justify-content: space-between;
		min-height: 50px;
		padding: 14px 16px;
	}
}

@media (max-width: 980px) {
	.gcma-projects__grid,
	.gcma-projects__grid--columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gcma-site-hero,
	.gcma-home-promise {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.gcma-shell-header__inner {
		min-height: 66px;
		padding-inline: 14px;
	}

	.gcma-shell-brand img {
		max-height: 40px;
		max-width: min(205px, 58vw);
	}

	.gcma-shell-nav {
		inset: 78px 10px auto;
	}

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

	.admin-bar .gcma-shell-nav {
		top: 112px;
	}

	.gcma-fullscreen-main,
	.admin-bar .gcma-fullscreen-main {
		padding-top: 66px;
	}

	.admin-bar .gcma-fullscreen-main {
		padding-top: 112px;
	}

	.gcma-fullscreen-content {
		min-height: calc(100vh - 66px);
	}

	.gcma-projects__grid,
	.gcma-projects__grid--columns-2,
	.gcma-projects__grid--columns-3,
	.gcma-projects__grid--columns-4 {
		grid-template-columns: 1fr;
	}

	.gcma-site-hero {
		margin: 22px auto;
		padding: 28px 18px;
	}

	.gcma-fullscreen-page .gcma-site-hero {
		margin: 0;
		min-height: calc(100svh - 66px);
		padding: 30px 18px;
	}

	.gcma-site-hero h1 {
		font-size: 38px;
		line-height: 1.04;
	}

	.gcma-site-hero__intro,
	.gcma-site-hero__about-card p {
		font-size: 16px;
	}

	.gcma-site-hero__actions,
	.gcma-site-hero__button {
		width: 100%;
	}

	.gcma-site-hero__services {
		grid-template-columns: 1fr;
	}

	.gcma-home-promise,
	.gcma-home-section {
		margin-bottom: 28px;
	}

	.gcma-home-promise {
		padding: 24px 18px;
	}

	.gcma-home-promise h2,
	.gcma-home-section__header h2 {
		font-size: 30px;
	}

	.gcma-home-section--contact {
		padding: 22px 14px;
	}

	.gcma-fullscreen-page .gcma-home-section {
		padding: 38px 14px;
	}

	.gcma-fullscreen-page .gcma-fullscreen-content > .gcma-projects {
		min-height: calc(100svh - 66px);
		padding: 36px 14px;
	}

	.gcma-shell-footer {
		align-items: flex-start;
		flex-direction: column;
		padding: 22px 14px;
	}
}

.gcma-projects.gcma-portfolio {
	margin: 0 auto;
	max-width: 1240px;
}

/* Accessible Liquid Glass testimonials carousel. */
.gcma-testimonials-section {
	background: color-mix(in srgb, var(--gcma-light, #f4f8fc) 94%, #dff4ff 6%);
	padding: clamp(64px, 9vw, 124px) clamp(18px, 5vw, 72px);
}

html[data-gcma-theme="dark"] .gcma-testimonials-section {
	background: #02070f;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.gcma-testimonials {
	--gcma-testimonial-surface: color-mix(in srgb, var(--gcma-glass-strong, #fff) 76%, transparent);
	color: var(--gcma-navy, #061a44);
	margin: 0 auto;
	max-width: 1240px;
	width: 100%;
}

.gcma-testimonials .screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.gcma-case-study .gcma-testimonials--project {
	max-width: none;
	padding: clamp(70px, 9vw, 126px) clamp(18px, 6vw, 90px);
}

.gcma-testimonials__header {
	margin: 0 auto clamp(30px, 5vw, 52px);
	max-width: 840px;
	text-align: center;
}

.gcma-testimonials--project .gcma-testimonials__header {
	margin-left: 0;
	text-align: left;
}

.gcma-testimonials__eyebrow {
	color: var(--gcma-blue, #007bff) !important;
	font-size: 12px !important;
	font-weight: 900;
	margin: 0 0 11px !important;
	text-transform: uppercase;
}

.gcma-testimonials__header h2 {
	color: var(--gcma-navy, #061a44);
	font-size: clamp(38px, 5.4vw, 72px);
	line-height: 1;
	margin: 0 0 16px;
}

.gcma-testimonials__header > p:last-child:not(.gcma-testimonials__eyebrow) {
	color: var(--gcma-muted, #5d6c86);
	font-size: 17px;
	line-height: 1.65;
	margin: 0 auto;
	max-width: 700px;
}

.gcma-testimonials--project .gcma-testimonials__header > p:last-child:not(.gcma-testimonials__eyebrow) {
	margin-left: 0;
}

.gcma-testimonials__viewport {
	overflow: visible;
}

.gcma-testimonials__track {
	display: grid;
	gap: clamp(14px, 2vw, 24px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 2px;
}

.gcma-testimonials.is-enhanced .gcma-testimonials__viewport {
	overflow: hidden;
}

.gcma-testimonials.is-enhanced .gcma-testimonials__track {
	display: flex;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.gcma-testimonials.is-enhanced .gcma-testimonials__track::-webkit-scrollbar {
	display: none;
}

.gcma-testimonial-card {
	background: var(--gcma-testimonial-surface);
	border: 1px solid var(--gcma-glass-border, rgba(255, 255, 255, 0.72));
	border-radius: var(--gcma-radius, 28px);
	box-shadow: var(--gcma-soft-shadow, 0 18px 46px rgba(6, 26, 68, 0.12));
	display: flex;
	flex-direction: column;
	min-height: 350px;
	min-width: 0;
	padding: clamp(22px, 2.7vw, 34px);
	position: relative;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.gcma-testimonials.is-enhanced .gcma-testimonial-card {
	flex: 0 0 calc((100% - clamp(28px, 4vw, 48px)) / 3);
}

@supports (backdrop-filter: blur(18px)) {
	.gcma-testimonial-card,
	.gcma-testimonials__arrow,
	.gcma-testimonials__dots {
		backdrop-filter: blur(30px) saturate(165%);
	}
}

.gcma-testimonial-card::before {
	color: color-mix(in srgb, var(--gcma-blue, #007bff) 13%, transparent);
	content: "“";
	font-family: Georgia, serif;
	font-size: 112px;
	font-weight: 900;
	line-height: 1;
	pointer-events: none;
	position: absolute;
	right: 22px;
	top: 14px;
}

.gcma-testimonial-card__topline {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: space-between;
	position: relative;
}

.gcma-testimonial-card__rating {
	color: #078cff;
	font-size: 15px;
	letter-spacing: 0;
}

.gcma-testimonial-card__verified {
	align-items: center;
	background: color-mix(in srgb, var(--gcma-blue, #007bff) 10%, transparent);
	border: 1px solid color-mix(in srgb, var(--gcma-blue, #007bff) 22%, transparent);
	border-radius: 999px;
	color: var(--gcma-blue, #007bff);
	display: inline-flex;
	font-size: 10px;
	font-weight: 900;
	gap: 5px;
	padding: 6px 8px;
	text-transform: uppercase;
}

.gcma-testimonial-card blockquote {
	color: var(--gcma-navy, #061a44);
	font-size: clamp(18px, 1.6vw, 23px);
	font-weight: 730;
	line-height: 1.48;
	margin: 34px 0 32px;
	position: relative;
}

.gcma-testimonial-card footer {
	align-items: center;
	border-top: 1px solid var(--gcma-line, rgba(6, 26, 68, 0.12));
	display: grid;
	gap: 12px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	margin-top: auto;
	padding-top: 20px;
}

.gcma-testimonial-card__avatar {
	align-items: center;
	background: #087cff;
	border: 1px solid var(--gcma-glass-border, rgba(255, 255, 255, 0.72));
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 15px;
	font-weight: 900;
	height: 56px;
	justify-content: center;
	overflow: hidden;
	width: 56px;
}

.gcma-testimonial-card__avatar img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.gcma-testimonial-card__identity {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.gcma-testimonial-card__identity strong {
	color: var(--gcma-navy, #061a44);
	font-size: 14px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gcma-testimonial-card__identity span,
.gcma-testimonial-card__identity time {
	color: var(--gcma-muted, #5d6c86);
	font-size: 10px;
	line-height: 1.3;
}

.gcma-testimonial-card__project {
	align-items: center;
	color: var(--gcma-blue, #007bff);
	display: inline-flex;
	font-size: 11px;
	font-weight: 900;
	gap: 5px;
	text-decoration: none;
}

.gcma-testimonials__controls {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-top: 26px;
}

.gcma-testimonials__controls[hidden] {
	display: none;
}

.gcma-testimonials__arrow,
.gcma-testimonials__dots {
	background: var(--gcma-testimonial-surface);
	border: 1px solid var(--gcma-glass-border, rgba(255, 255, 255, 0.72));
	box-shadow: var(--gcma-soft-shadow, 0 18px 46px rgba(6, 26, 68, 0.12));
}

.gcma-testimonials__arrow {
	align-items: center;
	border-radius: 50%;
	color: var(--gcma-navy, #061a44);
	cursor: pointer;
	display: inline-flex;
	font-size: 18px;
	font-weight: 900;
	height: 46px;
	justify-content: center;
	transition: color 180ms ease, opacity 180ms ease, transform 180ms ease;
	width: 46px;
}

.gcma-testimonials__arrow:hover,
.gcma-testimonials__arrow:focus-visible {
	color: var(--gcma-blue, #007bff);
	transform: translateY(-1px);
}

.gcma-testimonials__arrow:disabled {
	cursor: default;
	opacity: 0.35;
	transform: none;
}

.gcma-testimonials__dots {
	align-items: center;
	border-radius: 999px;
	display: flex;
	gap: 7px;
	min-height: 46px;
	padding: 9px 13px;
}

.gcma-testimonials__dots button {
	background: color-mix(in srgb, var(--gcma-muted, #5d6c86) 36%, transparent);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	height: 8px;
	padding: 0;
	transition: background 180ms ease, width 180ms ease;
	width: 8px;
}

.gcma-testimonials__dots button[aria-current="true"] {
	background: var(--gcma-blue, #007bff);
	box-shadow: 0 0 14px rgba(0, 183, 241, 0.48);
	width: 26px;
}

html[data-gcma-theme="dark"] .gcma-testimonials {
	--gcma-testimonial-surface: rgba(7, 18, 34, 0.72);
}

html[data-gcma-theme="dark"] .gcma-case-study .gcma-testimonials--project {
	background: #071222;
	border-top: 1px solid rgba(255, 255, 255, 0.09);
}

@media (max-width: 1060px) {
	.gcma-testimonials__track {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gcma-testimonials.is-enhanced .gcma-testimonial-card {
		flex-basis: calc((100% - 18px) / 2);
	}
}

@media (max-width: 760px) {
	.gcma-testimonials-section,
	.gcma-case-study .gcma-testimonials--project {
		padding: 58px 14px calc(var(--gcma-bottom-nav-height, 78px) + env(safe-area-inset-bottom) + 42px);
	}

	.gcma-testimonials__header {
		margin-bottom: 20px;
		text-align: left;
	}

	.gcma-testimonials__header h2 {
		font-size: 38px;
	}

	.gcma-testimonials__header > p:last-child:not(.gcma-testimonials__eyebrow) {
		font-size: 15px;
		margin-left: 0;
	}

	.gcma-testimonials__track {
		grid-template-columns: 1fr;
	}

	.gcma-testimonials.is-enhanced .gcma-testimonial-card {
		flex-basis: 100%;
	}

	.gcma-testimonial-card {
		min-height: 300px;
		padding: 20px;
	}

	.gcma-testimonial-card blockquote {
		font-size: 19px;
		margin: 26px 0 24px;
	}

	.gcma-testimonial-card footer {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.gcma-testimonial-card__project {
		grid-column: 2;
	}

	.gcma-testimonials__controls {
		margin-top: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gcma-testimonials.is-enhanced .gcma-testimonials__track {
		scroll-behavior: auto;
	}

	.gcma-testimonials__arrow,
	.gcma-testimonials__dots button {
		transition: none;
	}
}

/* Premium project case studies. */
.gcma-premium-case-study {
	--gcma-case-glass: rgba(255, 255, 255, 0.76);
	--gcma-case-border: rgba(132, 175, 215, 0.34);
	--gcma-case-ink: #071a44;
	--gcma-case-muted: #526b87;
	--gcma-case-accent: #087cff;
	--gcma-case-cyan: #13bfe9;
	color: var(--gcma-case-ink);
	display: grid;
	gap: 54px;
	margin: 0 auto;
	max-width: 1260px;
	padding: 36px clamp(20px, 4vw, 64px) 72px;
}

.gcma-premium-case-study .screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.gcma-premium-case-study__header,
.gcma-premium-case-study__context,
.gcma-premium-case-study__metrics,
.gcma-premium-case-study__delivery,
.gcma-premium-case-study__download,
.gcma-case-study-quote {
	background: var(--gcma-case-glass);
	border: 1px solid var(--gcma-case-border);
	border-radius: 8px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 22px 54px rgba(21, 63, 105, 0.12);
	-webkit-backdrop-filter: blur(24px) saturate(145%);
	backdrop-filter: blur(24px) saturate(145%);
}

.gcma-premium-case-study__header {
	align-items: center;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: clamp(24px, 4vw, 46px);
}

.gcma-premium-case-study__eyebrow {
	color: var(--gcma-case-accent);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	margin: 0 0 9px;
	text-transform: uppercase;
}

.gcma-premium-case-study h2,
.gcma-premium-case-study h3 {
	color: var(--gcma-case-ink);
	letter-spacing: 0;
}

.gcma-premium-case-study__header h2 {
	font-size: clamp(34px, 5vw, 62px);
	line-height: 1.04;
	margin: 0;
}

.gcma-premium-case-study__header > div > p:last-child {
	color: var(--gcma-case-muted);
	font-size: 17px;
	line-height: 1.65;
	margin: 16px 0 0;
	max-width: 780px;
}

.gcma-case-study-download {
	align-items: center;
	background: #087cff;
	border: 1px solid #39c7f3;
	border-radius: 8px;
	box-shadow: 0 12px 28px rgba(8, 124, 255, 0.24), 0 0 22px rgba(19, 191, 233, 0.18);
	color: #fff;
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	gap: 10px;
	justify-content: center;
	min-height: 50px;
	padding: 12px 18px;
	text-decoration: none;
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.gcma-case-study-download:hover,
.gcma-case-study-download:focus-visible {
	box-shadow: 0 16px 36px rgba(8, 124, 255, 0.3), 0 0 30px rgba(19, 191, 233, 0.26);
	color: #fff;
	transform: translateY(-2px);
}

.gcma-case-study-download:focus-visible {
	outline: 3px solid rgba(8, 124, 255, 0.32);
	outline-offset: 3px;
}

.gcma-case-study-download > span {
	align-items: center;
	border: 1px solid rgba(255, 255, 255, 0.48);
	border-radius: 50%;
	display: inline-flex;
	font-size: 18px;
	height: 27px;
	justify-content: center;
	width: 27px;
}

.gcma-premium-case-study__context {
	border-left: 4px solid var(--gcma-case-cyan);
	max-width: 920px;
	padding: clamp(24px, 4vw, 42px);
}

.gcma-premium-case-study__context h3,
.gcma-premium-case-study__metrics h3,
.gcma-premium-case-study__gallery h3,
.gcma-premium-case-study__testimonials h3 {
	font-size: clamp(27px, 4vw, 44px);
	line-height: 1.12;
	margin: 0 0 16px;
}

.gcma-premium-case-study__context > p:not(.gcma-premium-case-study__eyebrow) {
	color: var(--gcma-case-muted);
	font-size: 17px;
	line-height: 1.75;
	margin: 0;
}

.gcma-premium-case-study__story {
	border-bottom: 1px solid var(--gcma-case-border);
	border-top: 1px solid var(--gcma-case-border);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gcma-premium-case-study__story > section {
	min-height: 330px;
	padding: clamp(28px, 5vw, 64px);
	position: relative;
}

.gcma-premium-case-study__story > section:nth-child(odd) {
	border-right: 1px solid var(--gcma-case-border);
}

.gcma-premium-case-study__story > section:nth-child(n + 3) {
	border-top: 1px solid var(--gcma-case-border);
}

.gcma-premium-case-study__story > section > span {
	align-items: center;
	background: var(--gcma-case-glass);
	border: 1px solid var(--gcma-case-border);
	border-radius: 50%;
	box-shadow: 0 0 22px rgba(8, 124, 255, 0.14);
	color: var(--gcma-case-accent);
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	height: 42px;
	justify-content: center;
	margin-bottom: 28px;
	width: 42px;
}

.gcma-premium-case-study__story h3 {
	font-size: clamp(25px, 3vw, 38px);
	line-height: 1.12;
	margin: 0 0 17px;
}

.gcma-premium-case-study__story section > p:not(.gcma-premium-case-study__eyebrow),
.gcma-premium-case-study__story li {
	color: var(--gcma-case-muted);
	font-size: 16px;
	line-height: 1.72;
}

.gcma-premium-case-study__story ul,
.gcma-premium-case-study__story ol {
	display: grid;
	gap: 9px;
	margin: 0;
	padding-left: 21px;
}

.gcma-premium-case-study__metrics {
	background: #071a44;
	border-color: rgba(93, 185, 245, 0.35);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 22px 54px rgba(2, 17, 43, 0.23);
	padding: clamp(28px, 5vw, 58px);
}

.gcma-premium-case-study__metrics .gcma-premium-case-study__eyebrow,
.gcma-premium-case-study__metrics h3 {
	color: #fff;
}

.gcma-premium-case-study__metrics dl {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 28px 0 0;
}

.gcma-premium-case-study__metrics dl > div {
	background: rgba(18, 62, 101, 0.74);
	border: 1px solid rgba(77, 177, 239, 0.34);
	border-radius: 8px;
	padding: clamp(20px, 3vw, 34px);
}

.gcma-premium-case-study__metrics dt {
	color: #48d6ff;
	font-size: clamp(36px, 5vw, 58px);
	font-weight: 800;
	line-height: 1;
}

.gcma-premium-case-study__metrics dd {
	color: #d7e9f8;
	font-size: 14px;
	line-height: 1.45;
	margin: 10px 0 0;
}

.gcma-premium-case-study__gallery > header,
.gcma-premium-case-study__testimonials > header {
	max-width: 820px;
}

.gcma-premium-case-study__gallery > div {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 28px;
}

.gcma-premium-case-study__gallery figure {
	background: var(--gcma-case-glass);
	border: 1px solid var(--gcma-case-border);
	border-radius: 8px;
	box-shadow: 0 18px 42px rgba(19, 60, 101, 0.12);
	margin: 0;
	overflow: hidden;
}

.gcma-premium-case-study__gallery figure:nth-child(3n + 1) {
	grid-column: 1 / -1;
}

.gcma-premium-case-study__gallery img {
	display: block;
	height: 100%;
	max-height: 620px;
	min-height: 280px;
	object-fit: cover;
	width: 100%;
}

.gcma-premium-case-study__delivery {
	align-items: center;
	display: flex;
	gap: 28px;
	justify-content: space-between;
	padding: 24px;
}

.gcma-premium-case-study__delivery > div {
	display: grid;
	gap: 3px;
}

.gcma-premium-case-study__delivery > div span {
	color: var(--gcma-case-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.gcma-premium-case-study__delivery > div strong {
	font-size: 20px;
}

.gcma-premium-case-study__delivery ul {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	justify-content: flex-end;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gcma-premium-case-study__delivery li {
	background: rgba(232, 247, 255, 0.82);
	border: 1px solid rgba(70, 171, 231, 0.32);
	border-radius: 8px;
	color: #0a6ed2;
	font-size: 13px;
	font-weight: 700;
	padding: 7px 10px;
}

.gcma-premium-case-study__testimonials > div {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 28px;
}

.gcma-case-study-quote {
	display: grid;
	gap: 18px;
	margin: 0;
	padding: clamp(22px, 4vw, 34px);
}

.gcma-case-study-quote > div {
	align-items: center;
	color: #f0a800;
	display: flex;
	justify-content: space-between;
}

.gcma-case-study-quote > div small {
	background: rgba(15, 171, 128, 0.12);
	border: 1px solid rgba(15, 171, 128, 0.24);
	border-radius: 8px;
	color: #087f61;
	font-weight: 800;
	padding: 5px 8px;
}

.gcma-case-study-quote > p {
	color: var(--gcma-case-ink);
	font-size: 19px;
	font-weight: 650;
	line-height: 1.6;
	margin: 0;
}

.gcma-case-study-quote footer {
	align-items: center;
	display: flex;
	gap: 11px;
}

.gcma-case-study-quote footer img {
	border-radius: 50%;
	height: 48px;
	object-fit: cover;
	width: 48px;
}

.gcma-case-study-quote footer > span {
	display: grid;
	gap: 2px;
}

.gcma-case-study-quote footer small {
	color: var(--gcma-case-muted);
}

.gcma-premium-case-study__download {
	align-items: center;
	display: flex;
	gap: 22px;
	justify-content: space-between;
	padding: clamp(22px, 4vw, 34px);
}

.gcma-premium-case-study__download > div {
	display: grid;
	gap: 4px;
}

.gcma-premium-case-study__download strong {
	font-size: 20px;
}

.gcma-premium-case-study__download span {
	color: var(--gcma-case-muted);
}

.gcma-premium-case-study__download .gcma-case-study-download span {
	color: #fff;
}

html[data-gcma-theme="dark"] .gcma-premium-case-study {
	--gcma-case-glass: rgba(7, 22, 39, 0.76);
	--gcma-case-border: rgba(104, 170, 220, 0.28);
	--gcma-case-ink: #eff8ff;
	--gcma-case-muted: #b4c9dc;
}

html[data-gcma-theme="dark"] .gcma-premium-case-study__delivery li {
	background: rgba(8, 50, 80, 0.74);
	border-color: rgba(72, 191, 235, 0.28);
	color: #60d7ff;
}

html[data-gcma-theme="dark"] .gcma-case-study-quote > div small {
	background: rgba(19, 159, 122, 0.16);
	color: #77e0c1;
}

@media (max-width: 760px) {
	.gcma-premium-case-study {
		gap: 34px;
		padding: 24px 16px 126px;
	}

	.gcma-premium-case-study__header {
		align-items: stretch;
		grid-template-columns: 1fr;
		padding: 22px;
	}

	.gcma-premium-case-study__header h2 {
		font-size: 36px;
	}

	.gcma-case-study-download {
		width: 100%;
	}

	.gcma-premium-case-study__story {
		grid-template-columns: 1fr;
	}

	.gcma-premium-case-study__story > section {
		min-height: 0;
		padding: 28px 20px;
	}

	.gcma-premium-case-study__story > section:nth-child(odd) {
		border-right: 0;
	}

	.gcma-premium-case-study__story > section + section {
		border-top: 1px solid var(--gcma-case-border);
	}

	.gcma-premium-case-study__metrics {
		padding: 28px 20px;
	}

	.gcma-premium-case-study__metrics dl,
	.gcma-premium-case-study__gallery > div,
	.gcma-premium-case-study__testimonials > div {
		grid-template-columns: 1fr;
	}

	.gcma-premium-case-study__gallery figure:nth-child(3n + 1) {
		grid-column: auto;
	}

	.gcma-premium-case-study__gallery img {
		min-height: 220px;
	}

	.gcma-premium-case-study__delivery,
	.gcma-premium-case-study__download {
		align-items: stretch;
		flex-direction: column;
	}

	.gcma-premium-case-study__delivery ul {
		justify-content: flex-start;
	}
}

@media print {
	.gcma-premium-case-study {
		color: #071a44;
		gap: 24px;
		max-width: none;
		padding: 0;
	}

	.gcma-premium-case-study__header,
	.gcma-premium-case-study__context,
	.gcma-premium-case-study__metrics,
	.gcma-premium-case-study__delivery,
	.gcma-premium-case-study__download,
	.gcma-case-study-quote {
		background: #fff;
		box-shadow: none;
		color: #071a44;
	}

	.gcma-premium-case-study__metrics dt,
	.gcma-premium-case-study__metrics dd,
	.gcma-premium-case-study__metrics h3,
	.gcma-premium-case-study__metrics .gcma-premium-case-study__eyebrow {
		color: #071a44;
	}

	.gcma-case-study-download,
	.gcma-premium-case-study__download {
		display: none;
	}

	.gcma-premium-case-study__story > section,
	.gcma-premium-case-study__metrics,
	.gcma-case-study-quote {
		break-inside: avoid;
	}
}

/* Secure client portal */
.gcma-main.gcma-client-main {
	min-height: 100vh;
	padding: calc(var(--gcma-header-height, 78px) + 36px) clamp(18px, 4vw, 64px) 120px;
}

.gcma-client-login,
.gcma-client-portal {
	--gcma-client-ink: var(--gcma-ink, #071733);
	--gcma-client-muted: var(--gcma-muted, #5d6c86);
	--gcma-client-glass: rgba(255, 255, 255, 0.72);
	--gcma-client-border: rgba(255, 255, 255, 0.82);
	color: var(--gcma-client-ink);
	margin: 0 auto;
	max-width: 1320px;
}

html[data-gcma-theme="dark"] .gcma-client-login,
html[data-gcma-theme="dark"] .gcma-client-portal {
	--gcma-client-glass: rgba(5, 18, 32, 0.72);
	--gcma-client-border: rgba(111, 187, 235, 0.28);
}

html[data-gcma-theme="dark"] .gcma-client-login {
	background:
		linear-gradient(90deg, rgba(1, 9, 24, .86), rgba(4, 25, 52, .46)),
		var(--gcma-client-login-bg) center / cover no-repeat,
		#06101f;
	border-color: rgba(111, 187, 235, .26);
	box-shadow: 0 38px 120px rgba(0, 0, 0, .46), 0 0 50px rgba(0, 183, 241, .12);
}

html[data-gcma-theme="dark"] .gcma-client-login::before {
	background:
		radial-gradient(circle at 22% 18%, rgba(0, 183, 241, .18), transparent 34%),
		linear-gradient(180deg, rgba(3, 14, 29, .18), rgba(3, 14, 29, .76));
}

.gcma-client-eyebrow {
	color: #0785ff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.gcma-client-login {
	align-items: stretch;
	background:
		linear-gradient(90deg, rgba(5, 18, 44, .82), rgba(233, 247, 255, .5)),
		var(--gcma-client-login-bg) center / cover no-repeat,
		linear-gradient(135deg, rgba(237, 247, 255, .96), rgba(255, 255, 255, .9));
	border: 1px solid rgba(255, 255, 255, .76);
	border-radius: 36px;
	box-shadow: 0 34px 110px rgba(7, 26, 68, .18);
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
	isolation: isolate;
	min-height: min(690px, calc(100vh - 190px));
	overflow: hidden;
	padding: 1px;
	position: relative;
}

.gcma-client-login::before {
	background:
		radial-gradient(circle at 22% 18%, rgba(66, 205, 255, .28), transparent 34%),
		linear-gradient(180deg, rgba(255, 255, 255, .34), rgba(255, 255, 255, .78));
	border-radius: inherit;
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
}

.gcma-client-login__intro,
.gcma-client-login__form {
	backdrop-filter: blur(30px) saturate(145%);
	-webkit-backdrop-filter: blur(30px) saturate(145%);
	border: 1px solid var(--gcma-client-border);
	box-shadow: 0 28px 90px rgba(7, 26, 68, 0.16), inset 0 1px rgba(255, 255, 255, 0.62);
	position: relative;
	z-index: 1;
}

.gcma-client-login__intro {
	background:
		linear-gradient(180deg, rgba(6, 26, 68, .42), rgba(6, 26, 68, .9)),
		rgba(6, 26, 68, 0.72);
	border-radius: 32px 0 0 32px;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(38px, 7vw, 92px);
}

.gcma-client-login__intro h1 {
	color: #fff;
	font-size: clamp(42px, 6vw, 74px);
	line-height: 1.02;
	margin: 0 0 24px;
	max-width: 740px;
}

.gcma-client-login__intro > p:not(.gcma-client-eyebrow) {
	color: rgba(235, 247, 255, 0.82);
	font-size: 19px;
	line-height: 1.65;
	margin: 0;
	max-width: 620px;
}

.gcma-client-login__intro ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 38px 0 0;
	padding: 0;
}

.gcma-client-login__intro li {
	background: rgba(66, 199, 255, 0.12);
	border: 1px solid rgba(74, 207, 255, 0.26);
	border-radius: 999px;
	color: #dff6ff;
	font-size: 13px;
	font-weight: 750;
	padding: 9px 13px;
}

.gcma-client-login__form {
	background: var(--gcma-client-glass);
	border-radius: 0 32px 32px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(34px, 5vw, 68px);
}

.gcma-client-login__mark {
	display: flex;
	gap: 7px;
	margin-bottom: 30px;
}

.gcma-client-login__mark span {
	background: #0785ff;
	border-radius: 5px;
	box-shadow: 0 0 20px rgba(0, 174, 255, 0.48);
	height: 14px;
	transform: translateY(8px);
	width: 14px;
}

.gcma-client-login__mark span:nth-child(2) { background: #00b7f1; transform: translateY(0); }
.gcma-client-login__mark span:nth-child(3) { background: #52d7ef; transform: translateY(-8px); }

.gcma-client-login__form form p {
	display: grid;
	gap: 8px;
	margin: 0 0 18px;
}

.gcma-client-login__form label {
	color: var(--gcma-client-ink);
	font-size: 14px;
	font-weight: 800;
}

.gcma-client-login__form input[type="text"],
.gcma-client-login__form input[type="password"] {
	background: rgba(255, 255, 255, 0.64);
	border: 1px solid rgba(102, 142, 179, 0.25);
	border-radius: 16px;
	color: #071733;
	min-height: 54px;
	padding: 12px 16px;
	width: 100%;
}

html[data-gcma-theme="dark"] .gcma-client-login__form input[type="text"],
html[data-gcma-theme="dark"] .gcma-client-login__form input[type="password"] {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(142, 205, 239, 0.22);
	color: #fff;
}

.gcma-client-login__form .login-remember label {
	align-items: center;
	display: flex;
	font-weight: 650;
	gap: 8px;
}

.gcma-client-login__form input[type="submit"] {
	background: #087dff;
	border: 1px solid #69d4ff;
	border-radius: 18px;
	box-shadow: 0 0 28px rgba(0, 157, 255, 0.35);
	color: #fff;
	cursor: pointer;
	font-weight: 850;
	min-height: 56px;
	padding: 12px 18px;
	width: 100%;
}

.gcma-client-login__reset {
	color: #0785ff;
	font-weight: 750;
	margin-top: 2px;
	text-decoration: none;
}

.gcma-client-login__form > p {
	color: var(--gcma-client-muted);
	font-size: 13px;
	line-height: 1.5;
	margin: 24px 0 0;
}

.gcma-client-portal {
	display: grid;
	gap: 28px;
}

.gcma-client-portal__welcome,
.gcma-client-portal__tabs,
.gcma-client-portal__section,
.gcma-client-project,
.gcma-client-message-form {
	backdrop-filter: blur(28px) saturate(145%);
	-webkit-backdrop-filter: blur(28px) saturate(145%);
	background: var(--gcma-client-glass);
	border: 1px solid var(--gcma-client-border);
	box-shadow: 0 24px 70px rgba(7, 26, 68, 0.13), inset 0 1px rgba(255, 255, 255, 0.62);
}

.gcma-client-portal__welcome {
	align-items: center;
	border-radius: 32px;
	display: flex;
	justify-content: space-between;
	padding: clamp(28px, 5vw, 56px);
}

.gcma-client-portal__welcome h1 {
	color: var(--gcma-client-ink);
	font-size: clamp(40px, 6vw, 70px);
	line-height: 1;
	margin: 0 0 14px;
}

.gcma-client-portal__welcome p:last-child {
	color: var(--gcma-client-muted);
	font-size: 17px;
	margin: 0;
}

.gcma-client-portal__welcome > a {
	border: 1px solid rgba(7, 133, 255, 0.28);
	border-radius: 16px;
	color: #0785ff;
	font-weight: 800;
	padding: 12px 16px;
	text-decoration: none;
}

.gcma-client-portal__welcome.is-compact {
	align-items: center;
	border-radius: 26px;
	gap: 18px;
	padding: clamp(18px, 3vw, 28px);
}

.gcma-client-portal__welcome.is-compact h1 {
	font-size: clamp(28px, 4vw, 42px);
	margin-bottom: 6px;
}

.gcma-client-portal__welcome.is-compact p:last-child {
	font-size: 14px;
	max-width: 520px;
}

.gcma-client-portal__tabs {
	border-radius: 24px;
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, 1fr);
	padding: 10px;
	position: sticky;
	top: 96px;
	z-index: 10;
}

.gcma-client-portal__tabs a {
	align-items: center;
	border-radius: 16px;
	color: var(--gcma-client-muted);
	display: flex;
	font-weight: 800;
	gap: 8px;
	justify-content: center;
	min-height: 48px;
	text-decoration: none;
}

.gcma-client-portal__tabs a:hover,
.gcma-client-portal__tabs a:focus-visible {
	background: rgba(7, 133, 255, 0.1);
	color: #0785ff;
}

.gcma-client-portal__tabs .gcma-client-portal__logout {
	background: rgba(213, 54, 56, .07);
	border: 1px solid rgba(213, 54, 56, .14);
	color: #b42328;
}

html[data-gcma-theme="dark"] .gcma-client-portal__tabs .gcma-client-portal__logout {
	background: rgba(255, 255, 255, .04);
	border-color: rgba(255, 125, 125, .18);
	color: #ff9d9d;
}

.gcma-client-portal__tabs span {
	background: rgba(7, 133, 255, 0.12);
	border-radius: 999px;
	font-size: 12px;
	min-width: 24px;
	padding: 4px 7px;
	text-align: center;
}

.gcma-client-portal__section {
	border-radius: 32px;
	display: grid;
	gap: 26px;
	padding: clamp(24px, 4vw, 44px);
	scroll-margin-top: 180px;
}

.gcma-client-portal__section > header {
	align-items: end;
	display: flex;
	justify-content: space-between;
}

.gcma-client-portal__section > header h2 {
	color: var(--gcma-client-ink);
	font-size: clamp(30px, 4vw, 48px);
	line-height: 1.05;
	margin: 0;
}

.gcma-client-portal__section > header > span {
	color: var(--gcma-client-muted);
	font-size: 13px;
}

.gcma-client-project-grid {
	display: grid;
	gap: 22px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gcma-client-project {
	border-radius: 24px;
	overflow: hidden;
}

.gcma-client-project__media {
	height: 230px;
	overflow: hidden;
	position: relative;
}

.gcma-client-project__media img,
.gcma-client-project__media > span {
	background: #0a2b57;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.gcma-client-project__media::after {
	background: linear-gradient(180deg, transparent 55%, rgba(3, 15, 36, 0.58));
	content: "";
	inset: 0;
	position: absolute;
}

.gcma-client-project__media em {
	background: rgba(5, 21, 42, 0.66);
	border: 1px solid rgba(255, 255, 255, 0.38);
	border-radius: 999px;
	bottom: 18px;
	color: #fff;
	font-size: 12px;
	font-style: normal;
	font-weight: 800;
	left: 18px;
	padding: 8px 12px;
	position: absolute;
	z-index: 1;
}

.gcma-client-project__body {
	display: grid;
	gap: 20px;
	padding: 24px;
}

.gcma-client-project__body > header {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.gcma-client-project__body small { color: var(--gcma-client-muted); }
.gcma-client-project__body h3 { color: var(--gcma-client-ink); font-size: 24px; margin: 3px 0 0; }
.gcma-client-project__body header > strong { color: #0785ff; font-size: 22px; }

.gcma-client-progress {
	background: rgba(88, 119, 153, 0.16);
	border-radius: 999px;
	height: 10px;
	overflow: hidden;
}

.gcma-client-progress span {
	background: #0785ff;
	border-radius: inherit;
	box-shadow: 0 0 18px rgba(0, 174, 255, 0.62);
	display: block;
	height: 100%;
}

.gcma-client-project dl {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.gcma-client-project dl > div,
.gcma-client-project__next {
	background: rgba(7, 133, 255, 0.07);
	border-radius: 16px;
	padding: 14px;
}

.gcma-client-project dt,
.gcma-client-project__next span {
	color: var(--gcma-client-muted);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.gcma-client-project dd,
.gcma-client-project__next p {
	color: var(--gcma-client-ink);
	font-weight: 750;
	margin: 5px 0 0;
}

.gcma-client-project__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.gcma-client-project__actions a { border: 1px solid rgba(7, 133, 255, 0.25); border-radius: 14px; color: #0785ff; font-size: 13px; font-weight: 800; padding: 10px 13px; text-decoration: none; }

.gcma-client-request-list { display: grid; gap: 10px; }
.gcma-client-request-list h3 { margin: 8px 0; }
.gcma-client-request-list article { align-items: center; border-top: 1px solid rgba(105, 139, 170, 0.18); display: grid; gap: 12px; grid-template-columns: 1fr auto auto; padding: 14px 2px; }
.gcma-client-request-list span { color: #0785ff; font-weight: 800; }
.gcma-client-request-list time { color: var(--gcma-client-muted); }

.gcma-client-document-list { display: grid; gap: 10px; }
.gcma-client-document-list article { align-items: center; border: 1px solid rgba(91, 134, 173, 0.18); border-radius: 18px; display: grid; gap: 14px; grid-template-columns: auto 1fr auto; padding: 14px; }
.gcma-client-document-list article > span { background: #0785ff; border-radius: 12px; color: #fff; font-size: 11px; font-weight: 900; min-width: 48px; padding: 12px 7px; text-align: center; }
.gcma-client-document-list article > div { display: grid; gap: 3px; }
.gcma-client-document-list small { color: var(--gcma-client-muted); }
.gcma-client-document-list a { background: #0785ff; border-radius: 13px; color: #fff; font-weight: 800; padding: 11px 14px; text-decoration: none; }

.gcma-client-message-layout { display: grid; gap: 22px; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); }
.gcma-client-message-thread { display: flex; flex-direction: column; gap: 12px; max-height: 580px; overflow: auto; padding: 4px; }
.gcma-client-message { align-self: flex-start; background: rgba(111, 144, 175, 0.11); border: 1px solid rgba(99, 138, 174, 0.18); border-radius: 6px 20px 20px 20px; max-width: 82%; padding: 16px; }
.gcma-client-message.is-client { align-self: flex-end; background: #0785ff; border-color: #48bdff; border-radius: 20px 6px 20px 20px; color: #fff; }
.gcma-client-message header { display: flex; font-size: 12px; gap: 18px; justify-content: space-between; }
.gcma-client-message time { opacity: .66; }
.gcma-client-message > small { display: block; margin-top: 5px; opacity: .72; }
.gcma-client-message p { line-height: 1.55; margin: 10px 0 0; }
.gcma-client-message-form { border-radius: 22px; display: grid; gap: 14px; padding: 20px; }
.gcma-client-message-form label { display: grid; gap: 7px; }
.gcma-client-message-form label span { font-size: 13px; font-weight: 800; }
.gcma-client-message-form textarea,
.gcma-client-message-form select { background: rgba(255, 255, 255, .64); border: 1px solid rgba(88, 126, 163, .24); border-radius: 15px; color: #071733; padding: 12px; width: 100%; }
html[data-gcma-theme="dark"] .gcma-client-message-form textarea,
html[data-gcma-theme="dark"] .gcma-client-message-form select { background: rgba(255, 255, 255, .08); color: #fff; }
.gcma-client-message-form button { align-items: center; background: #0785ff; border: 1px solid #5fcfff; border-radius: 15px; color: #fff; cursor: pointer; display: flex; font-weight: 850; justify-content: space-between; min-height: 50px; padding: 12px 16px; }

.gcma-client-empty { border: 1px dashed rgba(78, 133, 178, .28); border-radius: 20px; grid-column: 1 / -1; padding: 34px; text-align: center; }
.gcma-client-empty h3 { margin: 0 0 8px; }
.gcma-client-empty p,
.gcma-client-empty-message { color: var(--gcma-client-muted); }

.gcma-client-access-denied { margin: 100px auto; max-width: 760px; text-align: center; }

@media (max-width: 860px) {
	body.gcma-client-portal-page:not(.logged-in) .gcma-mobile-nav { display: none; }
	.gcma-main.gcma-client-main { padding: calc(var(--gcma-mobile-topbar-height, 68px) + 24px) 14px 126px; }
	.gcma-client-login { grid-template-columns: 1fr; min-height: 0; }
	.gcma-client-login__intro { border-radius: 26px 26px 0 0; padding: 32px 24px; }
	.gcma-client-login__intro h1 { font-size: 42px; }
	.gcma-client-login__intro > p:not(.gcma-client-eyebrow) { font-size: 16px; }
	.gcma-client-login__intro ul { margin-top: 24px; }
	.gcma-client-login__form { border-radius: 0 0 26px 26px; padding: 30px 24px; }
	.gcma-client-portal { gap: 18px; }
	.gcma-client-portal__welcome { align-items: flex-start; border-radius: 25px; flex-direction: column; gap: 22px; padding: 26px 22px; }
	.gcma-client-portal__welcome h1 { font-size: 42px; }
	.gcma-client-portal__tabs { border-radius: 20px; gap: 4px; padding: 6px; top: 78px; }
	.gcma-client-portal__tabs a { flex-direction: column; font-size: 11px; gap: 2px; min-height: 48px; }
	.gcma-client-portal__tabs span { font-size: 10px; padding: 2px 6px; }
	.gcma-client-portal__section { border-radius: 25px; gap: 20px; padding: 22px 16px; scroll-margin-top: 150px; }
	.gcma-client-portal__section > header { align-items: flex-start; flex-direction: column; gap: 8px; }
	.gcma-client-project-grid { grid-template-columns: 1fr; }
	.gcma-client-project__media { height: 190px; }
	.gcma-client-project__body { padding: 20px 16px; }
	.gcma-client-project dl { grid-template-columns: 1fr; }
	.gcma-client-request-list article { align-items: start; grid-template-columns: 1fr auto; }
	.gcma-client-request-list time { grid-column: 1 / -1; }
	.gcma-client-document-list article { grid-template-columns: auto 1fr; }
	.gcma-client-document-list a { grid-column: 1 / -1; text-align: center; }
	.gcma-client-message-layout { grid-template-columns: 1fr; }
	.gcma-client-message-thread { max-height: 440px; }
	.gcma-client-message { max-width: 92%; }
}

@media (prefers-reduced-motion: reduce) {
	.gcma-client-progress span { box-shadow: none; }
}

/* Client quotes and electronic signature. */
.gcma-client-portal__tabs {
	grid-template-columns: repeat(8, minmax(92px, 1fr));
	overflow-x: auto;
	scrollbar-width: thin;
}

.gcma-client-quote-list {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gcma-client-quote-card,
.gcma-client-quote-detail,
.gcma-client-quote-decisions form,
.gcma-client-quote-alternatives {
	backdrop-filter: blur(26px) saturate(150%);
	-webkit-backdrop-filter: blur(26px) saturate(150%);
	background: color-mix(in srgb, var(--gcma-client-glass) 92%, transparent);
	border: 1px solid var(--gcma-client-border);
	box-shadow: inset 0 1px rgba(255, 255, 255, .55), 0 18px 42px rgba(6, 26, 68, .09);
}

.gcma-client-quote-card {
	align-items: end;
	border-radius: 20px;
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr auto;
	padding: 22px;
}

.gcma-client-quote-card > div { display: grid; gap: 5px; }
.gcma-client-quote-card small { color: var(--gcma-client-muted); font-weight: 750; }
.gcma-client-quote-card h3 { color: var(--gcma-client-ink); font-size: 22px; line-height: 1.12; margin: 4px 0 0; }
.gcma-client-quote-card p { color: var(--gcma-client-muted); font-size: 13px; margin: 0; }
.gcma-client-quote-card > strong { color: #0785ff; font-size: 24px; }
.gcma-client-quote-card > a { align-items: center; border: 1px solid rgba(7, 133, 255, .3); border-radius: 14px; color: #0785ff; display: flex; font-weight: 850; gap: 10px; grid-column: 1 / -1; justify-content: space-between; padding: 12px 14px; text-decoration: none; }

.gcma-client-quote-status {
	background: rgba(113, 135, 159, .14);
	border-radius: 999px;
	color: var(--gcma-client-muted);
	display: inline-flex;
	font-size: 11px;
	font-weight: 900;
	justify-self: start;
	padding: 6px 10px;
	text-transform: uppercase;
}

.gcma-client-quote-status.is-sent,
.gcma-client-quote-status.is-viewed { background: rgba(7, 133, 255, .13); color: #0785ff; }
.gcma-client-quote-status.is-accepted { background: rgba(17, 167, 102, .14); color: #0c9a59; }
.gcma-client-quote-status.is-refused,
.gcma-client-quote-status.is-expired { background: rgba(213, 54, 56, .12); color: #d63638; }

.gcma-client-quote-detail {
	border-radius: 26px;
	display: grid;
	gap: 24px;
	overflow: hidden;
	padding: clamp(20px, 4vw, 38px);
}

.gcma-client-quote-notice { background: rgba(17, 167, 102, .13); border: 1px solid rgba(17, 167, 102, .3); border-radius: 16px; color: #0b8d52; font-weight: 800; padding: 14px 16px; }
.gcma-client-quote-detail > header { align-items: end; display: flex; justify-content: space-between; }
.gcma-client-quote-detail > header > div { display: grid; gap: 8px; }
.gcma-client-quote-detail > header a { color: #0785ff; font-size: 13px; font-weight: 800; text-decoration: none; }
.gcma-client-quote-detail > header h3 { color: var(--gcma-client-ink); font-size: clamp(28px, 4vw, 44px); line-height: 1.05; margin: 2px 0 0; }
.gcma-client-quote-detail > header p { color: var(--gcma-client-muted); margin: 0; }
.gcma-client-quote-detail > header > strong { color: #0785ff; font-size: clamp(28px, 4vw, 46px); white-space: nowrap; }

.gcma-client-quote-table { border: 1px solid rgba(94, 131, 165, .18); border-radius: 18px; overflow: auto; }
.gcma-client-quote-table table { border-collapse: collapse; min-width: 700px; width: 100%; }
.gcma-client-quote-table th { background: rgba(7, 133, 255, .08); color: var(--gcma-client-muted); font-size: 11px; padding: 13px; text-align: right; text-transform: uppercase; }
.gcma-client-quote-table th:first-child,
.gcma-client-quote-table td:first-child { text-align: left; }
.gcma-client-quote-table td { border-top: 1px solid rgba(94, 131, 165, .15); color: var(--gcma-client-ink); padding: 14px 13px; text-align: right; vertical-align: top; }
.gcma-client-quote-table td:first-child { font-weight: 750; }
.gcma-client-quote-table td small { color: var(--gcma-client-muted); display: block; font-size: 11px; margin-top: 4px; }

.gcma-client-quote-summary { align-items: end; display: grid; gap: 20px; grid-template-columns: 1fr minmax(280px, .7fr); }
.gcma-client-quote-summary dl { display: grid; gap: 7px; grid-column: 2; margin: 0; }
.gcma-client-quote-summary dl > div { color: var(--gcma-client-muted); display: flex; justify-content: space-between; }
.gcma-client-quote-summary dd { color: var(--gcma-client-ink); font-weight: 800; margin: 0; }
.gcma-client-quote-summary .is-total { border-top: 1px solid rgba(7, 133, 255, .3); color: var(--gcma-client-ink); font-size: 18px; margin-top: 6px; padding-top: 11px; }
.gcma-client-quote-summary .is-total dd { color: #0785ff; }
.gcma-client-quote-summary > a { border: 1px solid rgba(7, 133, 255, .3); border-radius: 14px; color: #0785ff; font-weight: 850; grid-row: 1; justify-self: start; padding: 12px 15px; text-decoration: none; }

.gcma-client-quote-schedule { border-top: 1px solid rgba(94, 131, 165, .18); padding-top: 22px; }
.gcma-client-quote-schedule h4 { color: var(--gcma-client-ink); font-size: 20px; margin: 0 0 14px; }
.gcma-client-quote-schedule > div { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gcma-client-quote-schedule article { background: rgba(7, 133, 255, .07); border: 1px solid rgba(7, 133, 255, .14); border-radius: 16px; display: grid; gap: 4px; padding: 15px; }
.gcma-client-quote-schedule strong { color: #0785ff; font-size: 20px; }
.gcma-client-quote-schedule span { color: var(--gcma-client-ink); font-weight: 800; }
.gcma-client-quote-schedule small { color: var(--gcma-client-muted); }

.gcma-client-quote-decisions { border-top: 1px solid rgba(94, 131, 165, .18); padding-top: 24px; }
.gcma-client-quote-decisions > header h4 { color: var(--gcma-client-ink); font-size: clamp(24px, 3vw, 34px); margin: 4px 0 18px; }
.gcma-client-quote-decision-grid { display: grid; gap: 18px; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); }
.gcma-client-quote-decisions form,
.gcma-client-quote-alternatives { border-radius: 20px; display: grid; gap: 15px; padding: 20px; }
.gcma-client-quote-alternatives { align-content: start; }
.gcma-client-quote-alternatives form { background: transparent; border: 0; box-shadow: none; padding: 0; }
.gcma-client-quote-alternatives form + form { border-top: 1px solid rgba(94, 131, 165, .2); margin-top: 4px; padding-top: 18px; }
.gcma-client-quote-decisions h5 { color: var(--gcma-client-ink); font-size: 18px; margin: 0; }
.gcma-client-quote-decisions label { color: var(--gcma-client-ink); display: grid; font-size: 13px; font-weight: 750; gap: 7px; }
.gcma-client-quote-decisions input[type="text"],
.gcma-client-quote-decisions textarea { background: rgba(255, 255, 255, .62); border: 1px solid rgba(91, 130, 168, .25); border-radius: 14px; color: #071733; min-height: 48px; padding: 11px 13px; width: 100%; }
html[data-gcma-theme="dark"] .gcma-client-quote-decisions input[type="text"],
html[data-gcma-theme="dark"] .gcma-client-quote-decisions textarea { background: rgba(255, 255, 255, .07); color: #fff; }
.gcma-client-quote-decisions fieldset { border: 0; display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; }
.gcma-client-quote-decisions legend { color: var(--gcma-client-muted); font-size: 12px; font-weight: 800; margin-bottom: 7px; }
.gcma-client-quote-decisions fieldset label { align-items: center; border: 1px solid rgba(7, 133, 255, .22); border-radius: 13px; display: flex; padding: 9px 11px; }
.gcma-client-consent { align-items: flex-start; display: grid !important; gap: 9px !important; grid-template-columns: auto 1fr; line-height: 1.45; }
.gcma-client-consent input { margin-top: 3px; }
.gcma-client-quote-decisions button { align-items: center; background: #0785ff; border: 1px solid #61d2ff; border-radius: 15px; color: #fff; cursor: pointer; display: flex; font-weight: 850; justify-content: space-between; min-height: 50px; padding: 12px 15px; }
.gcma-client-quote-decisions button.is-refuse { background: transparent; border-color: rgba(213, 54, 56, .35); color: #d63638; justify-content: center; }

.gcma-signature-pad { background: rgba(255, 255, 255, .7); border: 1px dashed rgba(7, 133, 255, .45); border-radius: 16px; overflow: hidden; padding: 8px; position: relative; }
html[data-gcma-theme="dark"] .gcma-signature-pad { background: rgba(255, 255, 255, .92); }
.gcma-signature-pad canvas { display: block; height: 130px; touch-action: none; width: 100%; }
.gcma-signature-pad canvas:focus-visible { outline: 3px solid #0785ff; outline-offset: -3px; }
.gcma-signature-pad button { background: rgba(7, 26, 68, .08); border: 0; bottom: 8px; color: #39516f; min-height: 32px; padding: 5px 9px; position: absolute; right: 8px; }
.gcma-signature-error { color: #d63638; font-size: 13px; font-weight: 800; margin: -7px 0 0; }

.gcma-client-quote-proof { align-items: center; background: rgba(17, 167, 102, .1); border: 1px solid rgba(17, 167, 102, .3); border-radius: 18px; display: flex; gap: 15px; padding: 18px; }
.gcma-client-quote-proof > span { align-items: center; background: #11a766; border-radius: 50%; color: #fff; display: flex; flex: 0 0 42px; font-size: 22px; height: 42px; justify-content: center; }
.gcma-client-quote-proof strong { color: var(--gcma-client-ink); }
.gcma-client-quote-proof p { color: var(--gcma-client-muted); margin: 5px 0 0; }

@media (max-width: 860px) {
	.gcma-client-portal__tabs { grid-template-columns: repeat(8, minmax(76px, 1fr)); }
	.gcma-client-quote-list { grid-template-columns: 1fr; }
	.gcma-client-quote-detail { border-radius: 20px; margin-inline: -6px; padding: 18px 14px; }
	.gcma-client-quote-detail > header { align-items: flex-start; flex-direction: column; gap: 16px; }
	.gcma-client-quote-detail > header > strong { font-size: 32px; }
	.gcma-client-quote-summary { grid-template-columns: 1fr; }
	.gcma-client-quote-summary dl { grid-column: 1; }
	.gcma-client-quote-summary > a { grid-row: auto; justify-self: stretch; text-align: center; }
	.gcma-client-quote-table { border: 0; overflow: visible; }
	.gcma-client-quote-table table,
	.gcma-client-quote-table tbody { display: block; min-width: 0; width: 100%; }
	.gcma-client-quote-table thead { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
	.gcma-client-quote-table tr { background: rgba(7, 133, 255, .055); border: 1px solid rgba(94, 131, 165, .18); border-radius: 16px; display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 10px; padding: 14px; }
	.gcma-client-quote-table td,
	.gcma-client-quote-table td:first-child { border: 0; display: grid; gap: 3px; padding: 0; text-align: left; }
	.gcma-client-quote-table td:first-child { font-size: 15px; grid-column: 1 / -1; margin-bottom: 4px; }
	.gcma-client-quote-table td::before { color: var(--gcma-client-muted); content: attr(data-label); font-size: 9px; font-weight: 850; text-transform: uppercase; }
	.gcma-client-quote-schedule > div,
	.gcma-client-quote-decision-grid { grid-template-columns: 1fr; }
	.gcma-client-quote-card { grid-template-columns: 1fr; }
	.gcma-client-quote-card > strong { justify-self: start; }
	.gcma-client-quote-decisions form,
	.gcma-client-quote-alternatives { border-radius: 16px; padding: 16px; }
}

/* Client invoices and Stripe Checkout. */
.gcma-client-invoice-list {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gcma-client-invoice-card {
	align-items: center;
	background: color-mix(in srgb, var(--gcma-client-surface) 92%, transparent);
	border: 1px solid var(--gcma-client-line);
	border-radius: 20px;
	box-shadow: 0 18px 44px rgba(7, 26, 68, .09);
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 22px;
}

.gcma-client-invoice-card h3 {
	color: var(--gcma-client-ink);
	font-size: 20px;
	margin: 10px 0 4px;
}

.gcma-client-invoice-card p,
.gcma-client-invoice-card small {
	color: var(--gcma-client-muted);
	margin: 0;
}

.gcma-client-invoice-card__amount {
	display: grid;
	justify-items: end;
}

.gcma-client-invoice-card__amount strong {
	color: #0785ff;
	font-size: 24px;
}

.gcma-client-invoice-card > a {
	align-items: center;
	border-top: 1px solid var(--gcma-client-line);
	color: #0785ff;
	display: flex;
	font-weight: 800;
	grid-column: 1 / -1;
	justify-content: space-between;
	padding-top: 15px;
	text-decoration: none;
}

.gcma-client-quote-status.is-issued,
.gcma-client-quote-status.is-sent { background: rgba(7, 133, 255, .13); color: #0785ff; }
.gcma-client-quote-status.is-trial { background: rgba(7, 133, 255, .13); color: #0785ff; }
.gcma-client-quote-status.is-active { background: rgba(17, 167, 102, .14); color: #0c9a59; }
.gcma-client-quote-status.is-partially_paid { background: rgba(234, 145, 16, .13); color: #b46700; }
.gcma-client-quote-status.is-paid { background: rgba(17, 167, 102, .14); color: #0c9a59; }
.gcma-client-quote-status.is-client_signed,
.gcma-client-quote-status.is-gcma_signed,
.gcma-client-quote-status.is-finalized {
	background: rgba(17, 167, 102, .14);
	color: #0c9a59;
}
.gcma-client-quote-status.is-past_due { background: rgba(234, 145, 16, .14); color: #b46700; }
.gcma-client-quote-status.is-overdue { background: rgba(213, 54, 56, .12); color: #d63638; }
.gcma-client-quote-status.is-suspended,
.gcma-client-quote-status.is-cancelled,
.gcma-client-quote-status.is-ended,
.gcma-client-quote-status.is-refunded { background: rgba(82, 112, 148, .13); color: var(--gcma-client-muted); }

.gcma-client-contract-detail {
	scroll-margin-top: 120px;
}

.gcma-client-contract-summary {
	grid-template-columns: 1fr;
}

.gcma-client-contract-summary dl {
	grid-column: 1;
}

.gcma-client-contract-summary dd {
	overflow-wrap: anywhere;
	text-align: right;
}

.gcma-client-contract-signature,
.gcma-client-contract-refusal {
	background: rgba(255, 255, 255, .64);
	border: 1px solid rgba(94, 131, 165, .2);
	border-radius: 20px;
	box-shadow: 0 22px 55px rgba(7, 26, 68, .08);
	display: grid;
	gap: 15px;
	margin-top: 18px;
	padding: 20px;
}

html[data-gcma-theme="dark"] .gcma-client-contract-signature,
html[data-gcma-theme="dark"] .gcma-client-contract-refusal {
	background: rgba(255, 255, 255, .07);
	border-color: rgba(255, 255, 255, .12);
}

.gcma-client-contract-signature h4,
.gcma-client-contract-refusal h4 {
	color: var(--gcma-client-ink);
	font-size: 20px;
	margin: 0;
}

.gcma-client-contract-signature p {
	color: var(--gcma-client-muted);
	margin: 0;
}

.gcma-client-contract-signature label,
.gcma-client-contract-refusal label {
	color: var(--gcma-client-ink);
	display: grid;
	font-size: 13px;
	font-weight: 760;
	gap: 7px;
}

.gcma-client-contract-signature label:has(input[type="radio"]) {
	align-items: center;
	border: 1px solid rgba(7, 133, 255, .22);
	border-radius: 13px;
	display: inline-flex;
	margin-right: 8px;
	padding: 9px 11px;
}

.gcma-client-contract-signature input[type="text"],
.gcma-client-contract-refusal textarea {
	background: rgba(255, 255, 255, .72);
	border: 1px solid rgba(91, 130, 168, .25);
	border-radius: 14px;
	color: #071733;
	min-height: 48px;
	padding: 11px 13px;
	width: 100%;
}

html[data-gcma-theme="dark"] .gcma-client-contract-signature input[type="text"],
html[data-gcma-theme="dark"] .gcma-client-contract-refusal textarea {
	background: rgba(255, 255, 255, .08);
	color: #fff;
}

.gcma-client-contract-signature button,
.gcma-client-contract-refusal button {
	align-items: center;
	background: #0785ff;
	border: 1px solid #61d2ff;
	border-radius: 15px;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-weight: 850;
	justify-content: space-between;
	min-height: 50px;
	padding: 12px 15px;
}

.gcma-client-contract-refusal button {
	background: transparent;
	border-color: rgba(213, 54, 56, .35);
	color: #d63638;
	justify-content: center;
}

.gcma-contract-sign-wizard__header {
	display: grid;
	gap: 4px;
}

.gcma-contract-sign-wizard__header > p,
.gcma-contract-sign-step__eyebrow {
	color: #0785ff !important;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
}

.gcma-contract-sign-wizard__header > span {
	color: var(--gcma-client-muted);
	font-size: 13px;
}

.gcma-contract-sign-progress {
	margin: 8px 0 4px;
	position: relative;
}

.gcma-contract-sign-progress > div {
	background: color-mix(in srgb, var(--gcma-client-muted) 22%, transparent);
	border-radius: 999px;
	height: 3px;
	inset: 18px calc(100% / 6) auto;
	overflow: hidden;
	position: absolute;
}

.gcma-contract-sign-progress > div span {
	background: #0785ff;
	border-radius: inherit;
	box-shadow: 0 0 16px rgba(0, 183, 241, .74);
	display: block;
	height: 100%;
	transition: width 300ms ease;
	width: 33.333%;
}

.gcma-contract-sign-progress ol {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.gcma-contract-sign-progress li {
	align-items: center;
	color: var(--gcma-client-muted);
	display: flex;
	flex-direction: column;
	font-size: 11px;
	font-weight: 800;
	gap: 6px;
	text-align: center;
}

.gcma-contract-sign-progress b {
	align-items: center;
	background: color-mix(in srgb, var(--gcma-client-surface) 94%, transparent);
	border: 1px solid var(--gcma-client-line);
	border-radius: 50%;
	display: flex;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.gcma-contract-sign-progress li.is-active,
.gcma-contract-sign-progress li.is-complete {
	color: #0785ff;
}

.gcma-contract-sign-progress li.is-active b,
.gcma-contract-sign-progress li.is-complete b {
	background: color-mix(in srgb, #0785ff 13%, var(--gcma-client-surface));
	border-color: #0785ff;
	box-shadow: 0 0 17px rgba(0, 183, 241, .36);
}

.gcma-contract-sign-step {
	animation: gcma-quote-step-in 300ms ease both;
	border-top: 1px solid var(--gcma-client-line);
	display: grid;
	gap: 14px;
	padding-top: 18px;
}

.gcma-contract-sign-step[hidden] {
	display: none !important;
}

.gcma-contract-sign-step h5 {
	color: var(--gcma-client-ink);
	font-size: clamp(20px, 3vw, 27px);
	margin: 0;
}

.gcma-contract-document-link {
	align-items: center;
	background: color-mix(in srgb, #0785ff 10%, var(--gcma-client-surface));
	border: 1px solid rgba(7, 133, 255, .34);
	border-radius: 15px;
	color: #0785ff;
	display: flex;
	font-weight: 850;
	justify-content: space-between;
	min-height: 52px;
	padding: 12px 15px;
	text-decoration: none;
}

.gcma-contract-sign-methods {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gcma-contract-signature .gcma-contract-sign-methods label {
	margin: 0;
}

.gcma-contract-sign-disclaimer {
	background: color-mix(in srgb, #0785ff 9%, transparent);
	border-left: 3px solid #0785ff;
	border-radius: 0 12px 12px 0;
	font-size: 12px;
	padding: 12px 14px;
}

.gcma-contract-sign-actions {
	align-items: center;
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.gcma-contract-sign-actions > span {
	color: var(--gcma-client-muted);
	font-size: 12px;
	font-weight: 800;
	text-align: center;
}

.gcma-contract-signature .gcma-contract-sign-actions button {
	justify-content: center;
}

.gcma-contract-signature [data-gcma-contract-sign-previous][hidden],
.gcma-contract-signature [data-gcma-contract-sign-next][hidden],
.gcma-contract-signature [data-gcma-contract-sign-submit][hidden] {
	display: none !important;
}

.gcma-contract-signature .gcma-contract-sign-actions button:last-child,
.gcma-contract-signature .gcma-contract-sign-actions button:nth-last-child(2) {
	grid-column: 3;
}

.gcma-contract-signature .gcma-contract-sign-actions .is-secondary {
	background: transparent;
	border-color: var(--gcma-client-line);
	color: var(--gcma-client-ink);
}

@media (max-width: 480px) {
	.gcma-client-contract-signature,
	.gcma-client-contract-refusal {
		border-radius: 18px;
		padding: 16px;
	}

	.gcma-contract-sign-progress small {
		font-size: 9px;
	}

	.gcma-contract-sign-actions {
		grid-template-columns: minmax(0, 1fr) 38px minmax(0, 1fr);
	}

	.gcma-contract-signature .gcma-contract-sign-actions button {
		font-size: 12px;
		min-height: 46px;
		padding: 9px 10px;
	}
}

.gcma-quote-list-status.is-client_signed,
.gcma-quote-list-status.is-gcma_signed,
.gcma-quote-list-status.is-finalized {
	background: rgba(17, 167, 102, .14);
	color: #0c9a59;
}

.gcma-client-invoice-detail {
	background: color-mix(in srgb, var(--gcma-client-surface) 94%, transparent);
	border: 1px solid var(--gcma-client-line);
	border-radius: 24px;
	box-shadow: 0 24px 70px rgba(7, 26, 68, .11);
	display: grid;
	gap: 22px;
	margin-bottom: 20px;
	padding: 30px;
}

.gcma-client-invoice-detail > header {
	align-items: end;
	display: flex;
	gap: 24px;
	justify-content: space-between;
}

.gcma-client-invoice-detail > header h3 {
	color: var(--gcma-client-ink);
	font-size: 34px;
	line-height: 1.1;
	margin: 12px 0 6px;
}

.gcma-client-invoice-detail > header p,
.gcma-client-invoice-detail > header small {
	color: var(--gcma-client-muted);
	margin: 0;
}

.gcma-client-invoice-detail > header > div:last-child {
	display: grid;
	justify-items: end;
}

.gcma-client-invoice-detail > header > div:last-child > strong {
	color: #0785ff;
	font-size: 36px;
}

.gcma-client-invoice-progress {
	align-items: center;
	background: rgba(7, 133, 255, .065);
	border: 1px solid rgba(7, 133, 255, .18);
	border-radius: 18px;
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(160px, 1fr) auto auto;
	padding: 16px;
}

.gcma-client-invoice-progress > span {
	background: rgba(82, 112, 148, .18);
	border-radius: 999px;
	display: block;
	height: 10px;
	overflow: hidden;
	position: relative;
}

.gcma-client-invoice-progress > span::after {
	background: #0785ff;
	border-radius: inherit;
	box-shadow: 0 0 16px rgba(7, 133, 255, .55);
	content: "";
	inset: 0 auto 0 0;
	position: absolute;
	width: var(--gcma-paid);
}

.gcma-client-invoice-progress > div {
	display: grid;
}

.gcma-client-invoice-progress strong { color: var(--gcma-client-ink); }
.gcma-client-invoice-progress small { color: var(--gcma-client-muted); }

.gcma-client-invoice-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
}

.gcma-client-invoice-actions > a {
	border: 1px solid rgba(7, 133, 255, .28);
	border-radius: 14px;
	color: #0785ff;
	font-weight: 800;
	padding: 13px 16px;
	text-decoration: none;
}

.gcma-client-invoice-actions form { margin: 0; }
.gcma-client-invoice-actions button {
	align-items: center;
	background: #0785ff;
	border: 1px solid #62d6ff;
	border-radius: 15px;
	box-shadow: 0 13px 28px rgba(7, 133, 255, .28);
	color: #fff;
	cursor: pointer;
	display: flex;
	font-weight: 850;
	gap: 24px;
	justify-content: space-between;
	min-height: 52px;
	padding: 13px 18px;
}

.gcma-invoice-paid-mark { color: #11a766; }

.gcma-client-payment-history {
	border-top: 1px solid var(--gcma-client-line);
	padding-top: 18px;
}

.gcma-client-payment-history h4 { color: var(--gcma-client-ink); margin: 0 0 12px; }
.gcma-client-payment-history article {
	align-items: center;
	border-bottom: 1px solid var(--gcma-client-line);
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr) auto auto;
	padding: 12px 0;
}

.gcma-client-payment-history article > div { display: grid; }
.gcma-client-payment-history strong { color: var(--gcma-client-ink); }
.gcma-client-payment-history span,
.gcma-client-payment-history time { color: var(--gcma-client-muted); font-size: 12px; }
.gcma-client-payment-history a { color: #0785ff; font-weight: 800; }

.gcma-invoice-notice {
	background: rgba(7, 133, 255, .1);
	border: 1px solid rgba(7, 133, 255, .25);
	border-radius: 14px;
	color: var(--gcma-client-ink);
	font-weight: 750;
	margin-bottom: 16px;
	padding: 14px 16px;
}

.gcma-invoice-notice.is-cancelled,
.gcma-invoice-notice.is-error { background: rgba(214, 54, 56, .08); border-color: rgba(214, 54, 56, .2); }

html[data-gcma-theme="dark"] .gcma-client-invoice-card,
html[data-gcma-theme="dark"] .gcma-client-invoice-detail { box-shadow: 0 24px 70px rgba(0, 0, 0, .28); }

/* Client subscriptions and payment preferences. */
.gcma-client-subscription-list {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gcma-client-subscription-card {
	background:
		radial-gradient(circle at 88% 14%, rgba(0, 183, 241, .14), transparent 32%),
		color-mix(in srgb, var(--gcma-client-surface) 94%, transparent);
	border: 1px solid var(--gcma-client-line);
	border-radius: 24px;
	box-shadow: inset 0 1px rgba(255, 255, 255, .55), 0 22px 58px rgba(7, 26, 68, .11);
	display: grid;
	gap: 18px;
	overflow: hidden;
	padding: 24px;
	position: relative;
}

html[data-gcma-theme="dark"] .gcma-client-subscription-card {
	background:
		radial-gradient(circle at 84% 10%, rgba(0, 183, 241, .2), transparent 34%),
		rgba(5, 18, 32, .72);
	box-shadow: inset 0 1px rgba(255, 255, 255, .18), 0 24px 70px rgba(0, 0, 0, .32);
}

.gcma-client-subscription-card > header {
	align-items: start;
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1fr) auto;
}

.gcma-client-subscription-card h3 {
	color: var(--gcma-client-ink);
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.05;
	margin: 12px 0 6px;
}

.gcma-client-subscription-card p {
	color: var(--gcma-client-muted);
	margin: 0;
}

.gcma-client-subscription-card > header > strong {
	color: #0785ff;
	display: grid;
	font-size: 30px;
	justify-items: end;
	white-space: nowrap;
}

.gcma-client-subscription-card > header > strong small {
	color: var(--gcma-client-muted);
	font-size: 12px;
}

.gcma-subscription-countdown {
	align-items: center;
	background: rgba(7, 133, 255, .08);
	border: 1px solid rgba(7, 133, 255, .2);
	border-radius: 18px;
	display: grid;
	gap: 14px;
	grid-template-columns: 54px 1fr;
	padding: 14px;
}

.gcma-subscription-countdown > span {
	background:
		radial-gradient(circle, #0785ff 0 38%, transparent 40%),
		conic-gradient(from 180deg, #0785ff, #4bd7ff, #0785ff);
	border-radius: 50%;
	box-shadow: 0 0 24px rgba(7, 133, 255, .42);
	height: 54px;
	width: 54px;
}

.gcma-subscription-countdown strong,
.gcma-subscription-methods strong {
	color: var(--gcma-client-ink);
	display: block;
}

.gcma-subscription-countdown small,
.gcma-subscription-methods small {
	color: var(--gcma-client-muted);
}

.gcma-subscription-methods {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gcma-subscription-methods > div {
	background: rgba(95, 129, 164, .1);
	border: 1px solid rgba(95, 129, 164, .16);
	border-radius: 16px;
	padding: 14px;
}

.gcma-client-subscription-card ul {
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gcma-client-subscription-card li {
	color: var(--gcma-client-ink);
	font-weight: 750;
	padding-left: 24px;
	position: relative;
}

.gcma-client-subscription-card li::before {
	background: #0785ff;
	border-radius: 50%;
	box-shadow: 0 0 16px rgba(7, 133, 255, .46);
	content: "";
	height: 8px;
	left: 4px;
	position: absolute;
	top: .65em;
	width: 8px;
}

.gcma-client-subscription-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.gcma-client-subscription-actions form {
	flex: 1 1 190px;
	margin: 0;
}

.gcma-subscription-pay-button,
.gcma-subscription-secondary-button {
	align-items: center;
	border-radius: 16px;
	cursor: pointer;
	display: flex;
	font-weight: 850;
	gap: 16px;
	justify-content: center;
	min-height: 52px;
	padding: 12px 16px;
	width: 100%;
}

.gcma-subscription-pay-button {
	background: linear-gradient(135deg, #0785ff, #00b7f1);
	border: 1px solid #68d6ff;
	box-shadow: 0 14px 30px rgba(7, 133, 255, .3), 0 0 26px rgba(0, 183, 241, .18);
	color: #fff;
}

.gcma-subscription-secondary-button {
	background: rgba(255, 255, 255, .42);
	border: 1px solid rgba(7, 133, 255, .24);
	color: #0785ff;
}

.gcma-subscription-secondary-button.is-danger {
	background: rgba(213, 54, 56, .06);
	border-color: rgba(213, 54, 56, .28);
	color: #b42328;
}

html[data-gcma-theme="dark"] .gcma-subscription-secondary-button {
	background: rgba(255, 255, 255, .08);
	color: #7edcff;
}

html[data-gcma-theme="dark"] .gcma-subscription-secondary-button.is-danger {
	background: rgba(255, 255, 255, .045);
	border-color: rgba(255, 125, 125, .24);
	color: #ff9d9d;
}

.gcma-subscription-cancel-state {
	background: rgba(255, 199, 0, .14);
	border: 1px solid rgba(255, 199, 0, .28);
	border-radius: 16px;
	color: var(--gcma-client-ink);
	font-weight: 800;
	line-height: 1.45;
	padding: 13px 15px;
}

.gcma-subscription-bank {
	background: rgba(255, 214, 36, .12);
	border: 1px solid rgba(255, 199, 0, .26);
	border-radius: 18px;
	color: var(--gcma-client-ink);
	display: grid;
	gap: 6px;
	padding: 16px;
}

.gcma-subscription-bank small {
	color: var(--gcma-client-muted);
	line-height: 1.5;
}

@media (max-width: 860px) {
	.gcma-client-invoice-list { grid-template-columns: 1fr; }
	.gcma-client-subscription-list { grid-template-columns: 1fr; }
	.gcma-client-invoice-detail { border-radius: 20px; margin-inline: -6px; padding: 18px 14px; }
	.gcma-client-invoice-detail > header { align-items: flex-start; flex-direction: column; }
	.gcma-client-invoice-detail > header > div:last-child { justify-items: start; }
	.gcma-client-invoice-detail > header > div:last-child > strong { font-size: 30px; }
	.gcma-client-invoice-progress { grid-template-columns: 1fr 1fr; }
	.gcma-client-invoice-progress > span { grid-column: 1 / -1; }
	.gcma-client-invoice-actions { align-items: stretch; flex-direction: column; }
	.gcma-client-invoice-actions > a,
	.gcma-client-invoice-actions button { justify-content: space-between; text-align: center; width: 100%; }
	.gcma-client-subscription-card { border-radius: 20px; margin-inline: -6px; padding: 18px 14px; }
	.gcma-client-subscription-card > header { grid-template-columns: 1fr; }
	.gcma-client-subscription-card > header > strong { justify-items: start; }
	.gcma-subscription-methods { grid-template-columns: 1fr; }
	.gcma-client-subscription-actions { flex-direction: column; }
	.gcma-client-payment-history article { align-items: start; grid-template-columns: 1fr auto; }
	.gcma-client-payment-history article > a { grid-column: 1 / -1; }
}

@media (max-width: 420px) {
	.gcma-client-portal__tabs a { font-size: 9px; padding-inline: 2px; }
	.gcma-client-invoice-card { grid-template-columns: 1fr; padding: 18px; }
	.gcma-client-invoice-card__amount { justify-items: start; }
}

@media (max-width: 420px) {
	.gcma-client-portal__tabs a { font-size: 10px; }
	.gcma-client-quote-table { margin-inline: -5px; }
	.gcma-client-quote-card { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	.gcma-client-quote-card,
	.gcma-client-quote-detail { scroll-behavior: auto; }
}

/* Compact client finance overview. */
.gcma-client-finance {
	background:
		radial-gradient(circle at 92% 0%, rgba(0, 183, 241, .18), transparent 32%),
		color-mix(in srgb, var(--gcma-client-glass) 94%, transparent);
}

.gcma-client-finance > header > span {
	border: 1px solid rgba(7, 133, 255, .22);
	border-radius: 999px;
	color: #0785ff;
	font-size: 12px;
	font-weight: 850;
	padding: 8px 11px;
}

.gcma-client-finance-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gcma-client-finance-grid article {
	background:
		linear-gradient(145deg, rgba(255, 255, 255, .72), rgba(239, 248, 255, .44)),
		rgba(255, 255, 255, .5);
	border: 1px solid rgba(91, 134, 173, .2);
	border-radius: 20px;
	box-shadow: inset 0 1px rgba(255, 255, 255, .72), 0 16px 36px rgba(7, 26, 68, .08);
	display: grid;
	gap: 7px;
	padding: 20px;
}

.gcma-client-finance-grid small {
	color: var(--gcma-client-muted);
	font-size: 11px;
	font-weight: 900;
	text-transform: uppercase;
}

.gcma-client-finance-grid strong {
	color: #0785ff;
	font-size: clamp(24px, 4vw, 38px);
	line-height: 1;
}

.gcma-client-finance-grid span {
	color: var(--gcma-client-muted);
	font-size: 13px;
}

html[data-gcma-theme="dark"] .gcma-client-finance {
	background:
		radial-gradient(circle at 86% 0%, rgba(0, 183, 241, .22), transparent 34%),
		rgba(5, 18, 32, .72);
}

html[data-gcma-theme="dark"] .gcma-client-finance-grid article {
	background:
		linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .045)),
		rgba(5, 18, 32, .62);
	box-shadow: inset 0 1px rgba(255, 255, 255, .14), 0 18px 44px rgba(0, 0, 0, .26);
}

@media (max-width: 860px) {
	.gcma-client-finance-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 420px) {
	.gcma-client-finance-grid {
		grid-template-columns: 1fr;
	}
}

/* Privacy-aware analytics consent. */
.gcma-consent {
	align-items: center;
	backdrop-filter: blur(24px) saturate(150%);
	background: color-mix(in srgb, #fff 86%, transparent);
	border: 1px solid rgba(104, 151, 192, .3);
	border-radius: 24px;
	bottom: max(22px, env(safe-area-inset-bottom));
	box-shadow: 0 24px 70px rgba(7, 26, 68, .2), inset 0 1px rgba(255, 255, 255, .9);
	color: #061a44;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	left: 50%;
	max-width: min(760px, calc(100vw - 32px));
	padding: 18px 20px;
	position: fixed;
	transform: translateX(-50%);
	width: 100%;
	z-index: 100000;
}

.gcma-consent[hidden] { display: none; }
.gcma-consent-manage {
	position: fixed;
	left: max(12px, env(safe-area-inset-left));
	bottom: max(12px, env(safe-area-inset-bottom));
	z-index: 9997;
	border: 1px solid rgba(108, 153, 214, .28);
	border-radius: 999px;
	background: rgba(255, 255, 255, .76);
	box-shadow: 0 10px 30px rgba(3, 22, 58, .12);
	backdrop-filter: blur(18px) saturate(150%);
	-webkit-backdrop-filter: blur(18px) saturate(150%);
	color: #082052;
	cursor: pointer;
	font: inherit;
	font-size: 12px;
	font-weight: 700;
	padding: 8px 12px;
}
.gcma-consent-manage[hidden] { display: none; }
html[data-gcma-theme="dark"] .gcma-consent-manage {
	background: rgba(5, 20, 48, .76);
	border-color: rgba(90, 181, 255, .32);
	color: #f5f9ff;
}
.gcma-consent strong { display: block; font-size: 16px; margin-bottom: 4px; }
.gcma-consent p { color: #526682; font-size: 13px; line-height: 1.45; margin: 0; }
.gcma-consent > div:last-child { display: flex; flex: 0 0 auto; gap: 8px; }
.gcma-consent .gcma-button--small { min-height: 42px; padding: 9px 16px; }

html[data-gcma-theme="dark"] .gcma-consent {
	background: rgba(5, 18, 32, .88);
	border-color: rgba(107, 190, 255, .34);
	box-shadow: 0 24px 80px rgba(0, 0, 0, .46), inset 0 1px rgba(255, 255, 255, .14);
	color: #fff;
}

html[data-gcma-theme="dark"] .gcma-consent p { color: #b8c9dd; }

/* Premium commercial offer. */
.gcma-offer {
	--gcma-offer-ink: var(--gcma-navy, #061a44);
	--gcma-offer-muted: var(--gcma-muted, #5d6c86);
	--gcma-offer-line: rgba(84, 126, 171, .22);
	--gcma-offer-surface: rgba(255, 255, 255, .72);
	color: var(--gcma-offer-ink);
	overflow: hidden;
}

html[data-gcma-theme="dark"] .gcma-offer {
	--gcma-offer-ink: #f7fbff;
	--gcma-offer-muted: #b8c9dd;
	--gcma-offer-line: rgba(119, 190, 255, .25);
	--gcma-offer-surface: rgba(7, 25, 54, .72);
}

.gcma-offer-breadcrumb {
	align-items: center;
	color: var(--gcma-offer-muted);
	display: flex;
	font-size: 12px;
	font-weight: 750;
	gap: 9px;
	margin: 0 auto;
	max-width: 1440px;
	padding: 14px clamp(18px, 5vw, 72px);
}

.gcma-offer-breadcrumb a { color: #0785ff; text-decoration: none; }

.gcma-offer-hero {
	align-items: center;
	display: flex;
	min-height: min(790px, calc(100svh - var(--gcma-header-height, 82px)));
	overflow: hidden;
	position: relative;
}

.gcma-offer-hero__media,
.gcma-offer-hero__veil { inset: 0; position: absolute; }
.gcma-offer-hero__media picture { inset: 0; position: absolute; }
.gcma-offer-hero__media img { height: 100%; object-fit: cover; object-position: center; width: 100%; }
.gcma-offer-hero__media .is-dark { display: none; }
html[data-gcma-theme="dark"] .gcma-offer-hero__media .is-light { display: none; }
html[data-gcma-theme="dark"] .gcma-offer-hero__media .is-dark { display: block; }
.gcma-offer-hero__veil { background: linear-gradient(90deg, rgba(246, 251, 255, .98) 0%, rgba(246, 251, 255, .9) 39%, rgba(246, 251, 255, .2) 72%, transparent 100%); }
html[data-gcma-theme="dark"] .gcma-offer-hero__veil { background: linear-gradient(90deg, rgba(2, 13, 35, .98) 0%, rgba(2, 13, 35, .91) 42%, rgba(2, 13, 35, .26) 75%, transparent 100%); }

.gcma-offer-hero__content {
	box-sizing: border-box;
	display: grid;
	gap: 20px;
	margin: 0 auto;
	max-width: 1440px;
	padding: clamp(48px, 7vw, 90px) clamp(18px, 6vw, 92px);
	position: relative;
	min-width: 0;
	width: 100%;
	z-index: 2;
}

.gcma-offer-kicker { color: #0785ff; font-size: 12px; font-weight: 950; letter-spacing: 0; margin: 0; text-transform: uppercase; }
.gcma-offer-hero h1 { font-size: clamp(42px, 6vw, 80px); letter-spacing: 0; line-height: 1.02; margin: 0; max-width: 790px; }
.gcma-offer-title__mobile { display: none; }
.gcma-offer-hero__intro { color: var(--gcma-offer-muted); font-size: clamp(17px, 2vw, 22px); line-height: 1.55; margin: 0; max-width: 670px; }

.gcma-offer-price {
	background: var(--gcma-offer-surface);
	border: 1px solid rgba(90, 183, 255, .38);
	border-radius: 24px;
	box-shadow: 0 24px 70px rgba(4, 37, 88, .14), inset 0 1px rgba(255, 255, 255, .62);
	display: grid;
	gap: 5px;
	max-width: 580px;
	width: 100%;
	padding: 20px 24px;
	-webkit-backdrop-filter: blur(24px) saturate(145%);
	backdrop-filter: blur(24px) saturate(145%);
}
.gcma-offer-price > div { align-items: baseline; display: flex; flex-wrap: wrap; gap: 10px; }
.gcma-offer-price strong { color: #0785ff; font-size: clamp(48px, 7vw, 76px); line-height: 1; }
.gcma-offer-price span { font-size: 16px; font-weight: 850; }
.gcma-offer-price p { background: #ffd32f; border-radius: 999px; color: #071a44; font-size: 14px; font-weight: 900; margin: 4px 0 0; padding: 9px 14px; width: fit-content; }

.gcma-offer-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.gcma-offer-button {
	align-items: center;
	border: 1px solid var(--gcma-offer-line);
	border-radius: 18px;
	cursor: pointer;
	display: inline-flex;
	font-weight: 900;
	gap: 18px;
	justify-content: center;
	min-height: 58px;
	padding: 13px 22px;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease;
}
.gcma-offer-button:hover { transform: translateY(-2px); }
.gcma-offer-button:focus-visible { outline: 3px solid #45caff; outline-offset: 3px; }
.gcma-offer-button.is-primary { background: #0785ff; border-color: #50d2ff; box-shadow: 0 16px 38px rgba(7, 133, 255, .32), 0 0 22px rgba(0, 194, 255, .18); color: #fff; }
.gcma-offer-button.is-secondary { background: var(--gcma-offer-surface); color: var(--gcma-offer-ink); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); }

.gcma-offer-proof {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(6, 1fr);
	margin: -1px auto 0;
	max-width: 1440px;
	padding: 0 clamp(18px, 5vw, 72px);
}
.gcma-offer-proof span { border-bottom: 1px solid var(--gcma-offer-line); color: var(--gcma-offer-muted); font-size: 12px; font-weight: 850; padding: 22px 14px; text-align: center; }

.gcma-offer-section { margin: 0 auto; max-width: 1440px; padding: clamp(60px, 8vw, 112px) clamp(18px, 5vw, 72px); }
.gcma-offer-section__header { display: grid; gap: 12px; margin: 0 auto 34px; max-width: 820px; text-align: center; }
.gcma-offer-section__header h2 { font-size: clamp(34px, 5vw, 58px); letter-spacing: 0; line-height: 1.05; margin: 0; }
.gcma-offer-section__header > p:last-child { color: var(--gcma-offer-muted); font-size: 17px; line-height: 1.65; margin: 0; }

.gcma-offer-service-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gcma-offer-service-grid article {
	background: var(--gcma-offer-surface);
	border: 1px solid var(--gcma-offer-line);
	border-radius: 20px;
	box-shadow: 0 20px 55px rgba(4, 37, 88, .08), inset 0 1px rgba(255, 255, 255, .5);
	min-height: 230px;
	padding: 24px;
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
}
.gcma-offer-service-grid article > span { align-items: center; background: rgba(7, 133, 255, .12); border: 1px solid rgba(7, 133, 255, .24); border-radius: 14px; color: #0785ff; display: flex; font-size: 12px; font-weight: 950; height: 44px; justify-content: center; width: 44px; }
.gcma-offer-service-grid h3 { font-size: 20px; margin: 24px 0 8px; }
.gcma-offer-service-grid p { color: var(--gcma-offer-muted); line-height: 1.55; margin: 0; }
.gcma-offer-included-list { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 24px 0 0; padding: 0; }
.gcma-offer-included-list li { align-items: center; border-bottom: 1px solid var(--gcma-offer-line); display: flex; font-weight: 750; gap: 11px; padding: 14px 4px; }
.gcma-offer-included-list li span { align-items: center; background: #0785ff; border-radius: 50%; color: #fff; display: flex; flex: 0 0 24px; height: 24px; justify-content: center; }

.gcma-offer-commitment { background: color-mix(in srgb, #0785ff 5%, transparent); border-block: 1px solid var(--gcma-offer-line); max-width: none; }
.gcma-offer-commitment > * { margin-inline: auto; max-width: 1296px; }
.gcma-offer-timeline { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.gcma-offer-timeline article { background: var(--gcma-offer-surface); border: 1px solid var(--gcma-offer-line); border-radius: 20px; display: grid; gap: 16px; grid-template-columns: 42px 1fr; padding: 24px; }
.gcma-offer-timeline article > span { align-items: center; background: #0785ff; border-radius: 50%; color: #fff; display: flex; font-weight: 950; height: 42px; justify-content: center; }
.gcma-offer-timeline h3 { font-size: 18px; margin: 2px 0 9px; }
.gcma-offer-timeline p { color: var(--gcma-offer-muted); line-height: 1.55; margin: 0; }

.gcma-offer-comparison__table { border: 1px solid var(--gcma-offer-line); border-radius: 20px; overflow: hidden; }
.gcma-offer-comparison__row { display: grid; grid-template-columns: 1.1fr repeat(3, 1fr); }
.gcma-offer-comparison__row > * { border-bottom: 1px solid var(--gcma-offer-line); border-right: 1px solid var(--gcma-offer-line); min-width: 0; padding: 16px; }
.gcma-offer-comparison__row > *:last-child { border-right: 0; }
.gcma-offer-comparison__row:last-child > * { border-bottom: 0; }
.gcma-offer-comparison__row.is-head { background: rgba(7, 133, 255, .1); font-size: 13px; font-weight: 900; }
.gcma-offer-comparison__row .is-gcma { background: rgba(7, 133, 255, .07); color: #0785ff; font-weight: 850; }
.gcma-offer-note { color: var(--gcma-offer-muted); font-size: 12px; line-height: 1.55; margin: 16px 0 0; }

.gcma-offer-simulator { align-items: start; background: #071a44; border: 1px solid #169bff; border-radius: 28px; box-shadow: 0 28px 80px rgba(4, 29, 73, .24), 0 0 32px rgba(0, 183, 241, .14); color: #fff; display: grid; gap: 28px; grid-template-columns: .8fr 1.2fr; margin-block: clamp(50px, 7vw, 90px); max-width: 1296px; }
.gcma-offer-simulator__intro { display: grid; gap: 12px; }
.gcma-offer-simulator h2 { font-size: clamp(32px, 4vw, 50px); letter-spacing: 0; line-height: 1.05; margin: 0; }
.gcma-offer-simulator__intro > p:last-child { color: #bfd0e8; line-height: 1.6; margin: 0; }
.gcma-offer-simulator fieldset { border: 0; margin: 0; padding: 0; }
.gcma-offer-simulator legend { font-size: 16px; font-weight: 850; margin-bottom: 14px; }
.gcma-offer-simulator__choices { display: grid; gap: 9px; grid-template-columns: repeat(2, 1fr); }
.gcma-offer-simulator__choices label { align-items: center; background: rgba(255, 255, 255, .07); border: 1px solid rgba(153, 207, 255, .25); border-radius: 15px; cursor: pointer; display: grid; gap: 10px; grid-template-columns: 26px 1fr; min-height: 64px; padding: 12px; }
.gcma-offer-simulator__choices input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.gcma-offer-simulator__choices label > span { border: 1px solid #80b8ef; border-radius: 8px; height: 25px; position: relative; width: 25px; }
.gcma-offer-simulator__choices input:checked + span { background: #0785ff; border-color: #52d2ff; box-shadow: 0 0 16px rgba(0, 194, 255, .6); }
.gcma-offer-simulator__choices input:checked + span::after { color: #fff; content: "✓"; font-weight: 950; inset: 2px 0 0; position: absolute; text-align: center; }
.gcma-offer-simulator__choices label:has(input:focus-visible) { outline: 3px solid #52d2ff; outline-offset: 2px; }
.gcma-offer-simulator__result { background: rgba(255, 255, 255, .08); border: 1px solid rgba(112, 201, 255, .28); border-radius: 20px; display: grid; gap: 10px; grid-column: 1 / -1; padding: 20px; }
.gcma-offer-simulator__result > span { color: #68d8ff; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.gcma-offer-simulator__result > strong { font-size: 20px; }
.gcma-offer-simulator__result > p { color: #bfd0e8; margin: 0; }
.gcma-offer-simulator__result .gcma-offer-button { justify-self: start; margin-top: 5px; }

.gcma-offer-journey ol { display: grid; gap: 10px; grid-template-columns: repeat(5, 1fr); list-style: none; margin: 0; padding: 0; position: relative; }
.gcma-offer-journey li { align-items: center; display: flex; flex-direction: column; gap: 8px; text-align: center; }
.gcma-offer-journey li > span { align-items: center; background: var(--gcma-offer-surface); border: 1px solid #0785ff; border-radius: 50%; box-shadow: 0 0 18px rgba(0, 183, 241, .25); color: #0785ff; display: flex; font-weight: 950; height: 54px; justify-content: center; width: 54px; }
.gcma-offer-journey small { color: var(--gcma-offer-muted); }
.gcma-offer-related .gcma-projects,
.gcma-offer-related .gcma-testimonials { margin-inline: auto; }
.gcma-editorial-links > div { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gcma-editorial-links > div > a { align-items: center; background: color-mix(in srgb, var(--gcma-surface, #fff) 88%, transparent); border: 1px solid color-mix(in srgb, #0785ff 24%, transparent); border-radius: 18px; color: var(--gcma-text, #071a44); display: flex; font-size: 16px; font-weight: 800; justify-content: space-between; line-height: 1.35; min-height: 82px; padding: 18px 20px; text-decoration: none; }
.gcma-editorial-links > div > a span { color: #087cff; font-size: 21px; }

.gcma-offer-faq > div { display: grid; gap: 10px; margin: 0 auto; max-width: 900px; }
.gcma-offer-faq details { background: var(--gcma-offer-surface); border: 1px solid var(--gcma-offer-line); border-radius: 17px; padding: 0 20px; }
.gcma-offer-faq summary { align-items: center; cursor: pointer; display: flex; font-size: 16px; font-weight: 850; gap: 18px; justify-content: space-between; list-style: none; padding: 20px 0; }
.gcma-offer-faq summary::-webkit-details-marker { display: none; }
.gcma-offer-faq summary span { color: #0785ff; font-size: 22px; transition: transform 180ms ease; }
.gcma-offer-faq details[open] summary span { transform: rotate(45deg); }
.gcma-offer-faq details p { border-top: 1px solid var(--gcma-offer-line); color: var(--gcma-offer-muted); line-height: 1.65; margin: 0; padding: 18px 0 22px; }

.gcma-offer-final { background: #071a44; border: 1px solid #168dff; border-radius: 28px; box-shadow: 0 28px 80px rgba(4, 29, 73, .24); color: #fff; display: grid; gap: 16px; margin: 20px auto clamp(70px, 9vw, 120px); max-width: 1296px; padding: clamp(34px, 6vw, 74px); text-align: center; }
.gcma-offer-final h2 { font-size: clamp(34px, 5vw, 58px); letter-spacing: 0; line-height: 1.05; margin: 0 auto; max-width: 960px; }
.gcma-offer-final > p:not(.gcma-offer-kicker) { color: #bfd0e8; margin: 0; }
.gcma-offer-final .gcma-offer-button { justify-self: center; }

@media (max-width: 900px) {
	.gcma-offer-service-grid { grid-template-columns: repeat(2, 1fr); }
	.gcma-offer-proof { grid-template-columns: repeat(3, 1fr); }
	.gcma-offer-timeline { grid-template-columns: 1fr; }
	.gcma-offer-simulator { grid-template-columns: 1fr; }
	.gcma-offer-journey ol { grid-template-columns: repeat(5, minmax(120px, 1fr)); overflow-x: auto; padding-bottom: 12px; }
}

@media (max-width: 760px) {
	.gcma-editorial-links > div { grid-template-columns: 1fr; }
	.gcma-editorial-links > div > a { min-height: 68px; }
	.gcma-offer-breadcrumb { display: none; }
	.gcma-offer-hero { align-items: end; min-height: calc(100svh - var(--gcma-mobile-topbar-height, 68px) - var(--gcma-bottom-nav-height, 78px) - 10px); }
	.gcma-offer-hero__media img { object-position: center top; }
	.gcma-offer-hero__veil { background: linear-gradient(180deg, rgba(246, 251, 255, .02) 8%, rgba(246, 251, 255, .55) 43%, rgba(246, 251, 255, .99) 69%); }
	html[data-gcma-theme="dark"] .gcma-offer-hero__veil { background: linear-gradient(180deg, rgba(2, 13, 35, .02) 8%, rgba(2, 13, 35, .5) 42%, rgba(2, 13, 35, .99) 69%); }
	.gcma-offer-hero__content { gap: 7px; max-width: 100%; min-width: 0; padding: 30vh 14px 8px; }
	.gcma-offer-title__desktop { display: none; }
	.gcma-offer-title__mobile { display: inline; }
	.gcma-offer-hero h1 { font-size: clamp(28px, 8vw, 34px); line-height: 1; max-width: 100%; overflow-wrap: normal; text-wrap: balance; }
	.gcma-offer-hero__intro { display: -webkit-box; font-size: 12px; line-height: 1.3; max-width: 100%; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
	.gcma-offer-price { border-radius: 18px; max-width: 100%; padding: 10px 12px; }
	.gcma-offer-price strong { font-size: 39px; }
	.gcma-offer-price span { font-size: 11px; }
	.gcma-offer-price p { font-size: 10px; margin-top: 1px; padding: 6px 9px; }
	.gcma-offer-actions { display: grid; grid-template-columns: 1fr; }
	.gcma-offer-hero .gcma-offer-actions .is-secondary { display: none; }
	.gcma-offer-button { border-radius: 16px; min-height: 44px; padding-block: 8px; width: 100%; }
	.gcma-offer-proof { grid-template-columns: 1fr 1fr; padding-inline: 14px; }
	.gcma-offer-proof span { font-size: 10px; padding: 16px 8px; }
	.gcma-offer-section { padding-inline: 16px; }
	.gcma-offer-section__header { text-align: left; }
	.gcma-offer-service-grid { grid-template-columns: 1fr; }
	.gcma-offer-service-grid article { min-height: 0; }
	.gcma-offer-included-list { grid-template-columns: 1fr; }
	.gcma-offer-comparison__table { border-radius: 16px; overflow-x: auto; }
	.gcma-offer-comparison__row { grid-template-columns: 150px repeat(3, 170px); min-width: 660px; }
	.gcma-offer-comparison__row > * { font-size: 12px; padding: 13px 11px; }
	.gcma-offer-simulator { border-radius: 22px; margin-inline: 10px; padding: 26px 16px; }
	.gcma-offer-simulator__choices { grid-template-columns: 1fr; }
	.gcma-offer-simulator__result .gcma-offer-button { justify-self: stretch; }
	.gcma-offer-final { border-radius: 22px; margin-inline: 12px; padding: 34px 18px; }
}

@media (prefers-reduced-motion: reduce) {
	.gcma-offer-button,
	.gcma-offer-faq summary span { transition: none; }
}

@media (max-width: 640px) {
	.gcma-consent {
		align-items: center;
		bottom: calc(82px + env(safe-area-inset-bottom));
		border-radius: 18px;
		display: grid;
		gap: 8px;
		grid-template-columns: minmax(0, 1fr) auto;
		max-width: calc(100vw - 20px);
		padding: 10px 11px;
	}
	.gcma-consent strong { font-size: 13px; margin-bottom: 1px; }
	.gcma-consent p { font-size: 10px; line-height: 1.25; }
	.gcma-consent > div:last-child { display: flex; gap: 5px; }
	.gcma-consent .gcma-button--small { border-radius: 12px; font-size: 11px; min-height: 34px; padding: 6px 9px; }
	body > .gcma-consent-manage { display: none; }
}

/* Local artisan commercial page. */
.gcma-artisan-page {
	--gcma-artisan-bg: #f4f8fc;
	--gcma-artisan-surface: rgba(255, 255, 255, .78);
	--gcma-artisan-ink: #061a44;
	--gcma-artisan-muted: #536785;
	--gcma-artisan-line: rgba(55, 108, 171, .2);
	background: var(--gcma-artisan-bg);
	color: var(--gcma-artisan-ink);
	min-height: 100svh;
	padding-bottom: clamp(70px, 9vw, 120px);
}
html[data-gcma-theme="dark"] .gcma-artisan-page {
	--gcma-artisan-bg: #020f25;
	--gcma-artisan-surface: rgba(8, 30, 69, .74);
	--gcma-artisan-ink: #f5f9ff;
	--gcma-artisan-muted: #b8c9df;
	--gcma-artisan-line: rgba(112, 186, 255, .24);
}
.gcma-artisan-breadcrumb {
	align-items: center;
	display: flex;
	font-size: 13px;
	gap: 10px;
	margin: 0 auto;
	max-width: 1440px;
	padding: 20px clamp(18px, 5vw, 72px);
}
.gcma-artisan-breadcrumb a,
.gcma-artisan-text-link,
.gcma-article-commercial-link a {
	color: #0785ff;
	font-weight: 850;
	text-decoration: none;
}
.gcma-artisan-hero {
	display: grid;
	gap: clamp(24px, 5vw, 64px);
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
	isolation: isolate;
	margin: 0 auto;
	max-width: 1440px;
	min-height: min(780px, calc(100svh - 92px));
	overflow: hidden;
	padding: clamp(72px, 9vw, 132px) clamp(18px, 5vw, 72px);
	position: relative;
}
.gcma-artisan-hero__media,
.gcma-artisan-hero__veil {
	inset: 0;
	position: absolute;
}
.gcma-artisan-hero__media { z-index: -3; }
.gcma-artisan-hero__media img {
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}
.gcma-artisan-hero__veil {
	background: rgba(244, 248, 252, .86);
	z-index: -2;
}
html[data-gcma-theme="dark"] .gcma-artisan-hero__veil { background: rgba(2, 15, 37, .84); }
.gcma-artisan-hero__content {
	align-self: center;
	display: grid;
	gap: 18px;
	max-width: 820px;
}
.gcma-artisan-kicker {
	color: #0785ff;
	font-size: 13px;
	font-weight: 950;
	margin: 0;
	text-transform: uppercase;
}
.gcma-artisan-hero h1 {
	font-size: clamp(45px, 5.8vw, 78px);
	letter-spacing: 0;
	line-height: 1.01;
	margin: 0;
	text-wrap: balance;
}
.gcma-artisan-hero__lead {
	font-size: clamp(20px, 2.1vw, 28px);
	font-weight: 850;
	line-height: 1.3;
	margin: 0;
	max-width: 740px;
}
.gcma-artisan-hero__content > p:not(.gcma-artisan-kicker, .gcma-artisan-hero__lead) {
	color: var(--gcma-artisan-muted);
	font-size: 17px;
	line-height: 1.6;
	margin: 0;
	max-width: 680px;
}
.gcma-artisan-price {
	align-items: baseline;
	background: var(--gcma-artisan-surface);
	border: 1px solid var(--gcma-artisan-line);
	border-radius: 20px;
	box-shadow: 0 22px 55px rgba(4, 37, 88, .12), inset 0 1px rgba(255, 255, 255, .6);
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	max-width: 650px;
	padding: 18px 22px;
	-webkit-backdrop-filter: blur(22px);
	backdrop-filter: blur(22px);
}
.gcma-artisan-price strong { color: #0785ff; font-size: clamp(42px, 5vw, 64px); line-height: .95; }
.gcma-artisan-price span { font-size: 16px; font-weight: 850; }
.gcma-artisan-price small { flex-basis: 100%; font-weight: 800; }
.gcma-artisan-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.gcma-artisan-button {
	align-items: center;
	background: var(--gcma-artisan-surface);
	border: 1px solid var(--gcma-artisan-line);
	border-radius: 18px;
	color: var(--gcma-artisan-ink);
	display: inline-flex;
	font-weight: 900;
	gap: 20px;
	justify-content: center;
	min-height: 56px;
	padding: 13px 22px;
	text-decoration: none;
}
.gcma-artisan-button.is-primary {
	background: #0785ff;
	border-color: #56d0ff;
	box-shadow: 0 16px 38px rgba(7, 133, 255, .32), 0 0 24px rgba(0, 194, 255, .22);
	color: #fff;
}
.gcma-artisan-button:focus-visible,
.gcma-artisan-text-link:focus-visible,
.gcma-article-commercial-link a:focus-visible { outline: 3px solid #45caff; outline-offset: 3px; }
.gcma-artisan-hero__summary {
	align-self: center;
	background: var(--gcma-artisan-surface);
	border: 1px solid var(--gcma-artisan-line);
	border-radius: 24px;
	box-shadow: 0 24px 70px rgba(4, 37, 88, .14), inset 0 1px rgba(255, 255, 255, .62);
	padding: clamp(24px, 4vw, 42px);
	-webkit-backdrop-filter: blur(24px);
	backdrop-filter: blur(24px);
}
.gcma-artisan-hero__summary > strong { display: block; font-size: clamp(24px, 2.5vw, 34px); line-height: 1.12; }
.gcma-artisan-hero__summary ul { display: grid; gap: 0; list-style: none; margin: 22px 0 0; padding: 0; }
.gcma-artisan-hero__summary li { border-top: 1px solid var(--gcma-artisan-line); font-weight: 800; padding: 15px 0 15px 34px; position: relative; }
.gcma-artisan-hero__summary li::before { color: #0785ff; content: "✓"; font-weight: 950; left: 2px; position: absolute; }
.gcma-artisan-section {
	margin: 0 auto;
	max-width: 1440px;
	padding: clamp(62px, 8vw, 108px) clamp(18px, 5vw, 72px);
}
.gcma-artisan-section > header {
	display: grid;
	gap: 12px;
	margin-bottom: 34px;
	max-width: 900px;
}
.gcma-artisan-section h2,
.gcma-artisan-final h2 {
	font-size: clamp(34px, 5vw, 58px);
	letter-spacing: 0;
	line-height: 1.06;
	margin: 0;
	text-wrap: balance;
}
.gcma-artisan-section header > p:last-child,
.gcma-artisan-benefit p,
.gcma-artisan-maintenance p,
.gcma-artisan-case p {
	color: var(--gcma-artisan-muted);
	font-size: 17px;
	line-height: 1.65;
	margin: 0;
}
.gcma-artisan-cards {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.gcma-artisan-cards article,
.gcma-artisan-steps li,
.gcma-artisan-maintenance aside {
	background: var(--gcma-artisan-surface);
	border: 1px solid var(--gcma-artisan-line);
	border-radius: 20px;
	box-shadow: 0 18px 48px rgba(4, 37, 88, .08), inset 0 1px rgba(255, 255, 255, .5);
	padding: 24px;
}
.gcma-artisan-cards article > span { color: #0785ff; font-size: 12px; font-weight: 950; }
.gcma-artisan-cards h3,
.gcma-artisan-steps h3 { font-size: 20px; margin: 22px 0 8px; }
.gcma-artisan-cards p,
.gcma-artisan-steps p { color: var(--gcma-artisan-muted); line-height: 1.6; margin: 0; }
.gcma-artisan-benefit,
.gcma-artisan-maintenance {
	align-items: center;
	display: grid;
	gap: clamp(28px, 6vw, 82px);
	grid-template-columns: 1fr 1fr;
}
.gcma-artisan-benefit > div,
.gcma-artisan-maintenance > div { display: grid; gap: 14px; }
.gcma-artisan-benefit ul,
.gcma-artisan-included > ul {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.gcma-artisan-benefit li,
.gcma-artisan-included > ul li {
	background: var(--gcma-artisan-surface);
	border: 1px solid var(--gcma-artisan-line);
	border-radius: 15px;
	font-weight: 850;
	padding: 16px 18px 16px 48px;
	position: relative;
}
.gcma-artisan-benefit li::before,
.gcma-artisan-included > ul li::before { color: #0785ff; content: "✓"; font-weight: 950; left: 20px; position: absolute; }
.gcma-artisan-steps {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, 1fr);
	list-style: none;
	margin: 0;
	padding: 0;
}
.gcma-artisan-steps li { display: grid; grid-template-columns: 42px 1fr; }
.gcma-artisan-steps li > span {
	align-items: center;
	background: #0785ff;
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-weight: 950;
	height: 42px;
	justify-content: center;
	width: 42px;
}
.gcma-artisan-steps h3 { margin-top: 2px; }
.gcma-artisan-included {
	background: color-mix(in srgb, #0785ff 5%, transparent);
	border-block: 1px solid var(--gcma-artisan-line);
	max-width: none;
}
.gcma-artisan-included > * { margin-inline: auto; max-width: 1296px; }
.gcma-artisan-included > ul { grid-template-columns: repeat(2, 1fr); }
.gcma-artisan-case {
	align-items: center;
	display: grid;
	gap: clamp(30px, 6vw, 82px);
	grid-template-columns: 1fr 1fr;
}
.gcma-artisan-case__media {
	border: 1px solid var(--gcma-artisan-line);
	border-radius: 24px;
	box-shadow: 0 28px 70px rgba(4, 37, 88, .14);
	overflow: hidden;
}
.gcma-artisan-case__media img { aspect-ratio: 16 / 10; display: block; height: auto; object-fit: cover; width: 100%; }
.gcma-artisan-case > div:last-child { display: grid; gap: 15px; }
.gcma-artisan-case dl { display: grid; gap: 10px; margin: 8px 0; }
.gcma-artisan-case dl > div { border-left: 3px solid #0785ff; padding: 4px 0 4px 15px; }
.gcma-artisan-case dt { color: var(--gcma-artisan-muted); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.gcma-artisan-case dd { font-weight: 800; margin: 5px 0 0; }
.gcma-artisan-maintenance aside strong { display: block; font-size: 24px; margin-bottom: 10px; }
.gcma-artisan-faq > div { display: grid; gap: 10px; margin: 0 auto; max-width: 960px; }
.gcma-artisan-faq details { background: var(--gcma-artisan-surface); border: 1px solid var(--gcma-artisan-line); border-radius: 17px; padding-inline: 20px; }
.gcma-artisan-faq summary { align-items: center; cursor: pointer; display: flex; font-weight: 850; gap: 20px; justify-content: space-between; list-style: none; padding: 20px 0; }
.gcma-artisan-faq summary::-webkit-details-marker { display: none; }
.gcma-artisan-faq summary span { color: #0785ff; font-size: 22px; }
.gcma-artisan-faq details[open] summary span { transform: rotate(45deg); }
.gcma-artisan-faq details p { border-top: 1px solid var(--gcma-artisan-line); color: var(--gcma-artisan-muted); line-height: 1.65; margin: 0; padding: 18px 0 22px; }
.gcma-artisan-final {
	background: #061a44;
	border: 1px solid #168dff;
	border-radius: 28px;
	box-shadow: 0 28px 80px rgba(4, 29, 73, .24), 0 0 30px rgba(0, 183, 241, .14);
	color: #fff;
	display: grid;
	gap: 16px;
	margin: 10px auto 0;
	max-width: 1296px;
	padding: clamp(36px, 7vw, 80px);
	text-align: center;
}
.gcma-artisan-final h2 { margin-inline: auto; max-width: 900px; }
.gcma-artisan-final > p:not(.gcma-artisan-kicker) { color: #bfd0e8; margin: 0; }
.gcma-artisan-final .gcma-artisan-button { justify-self: center; }
.gcma-article-commercial-link {
	background: color-mix(in srgb, #0785ff 8%, transparent);
	border: 1px solid rgba(7, 133, 255, .22);
	border-radius: 16px;
	margin: 34px 0;
	padding: 18px 20px;
}
.gcma-quote-wizard__context {
	background: rgba(7, 133, 255, .1);
	border: 1px solid rgba(7, 133, 255, .28);
	border-radius: 16px;
	display: grid;
	gap: 4px;
	margin: 0 auto 20px;
	max-width: 900px;
	padding: 15px 18px;
}
.gcma-quote-wizard__context strong { color: #0785ff; }
.gcma-quote-wizard__context span { color: var(--gcma-request-muted, #536785); font-size: 13px; line-height: 1.45; }

@media (max-width: 900px) {
	.gcma-artisan-hero,
	.gcma-artisan-benefit,
	.gcma-artisan-case,
	.gcma-artisan-maintenance { grid-template-columns: 1fr; }
	.gcma-artisan-cards,
	.gcma-artisan-steps { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
	.gcma-artisan-breadcrumb { display: none; }
	.gcma-artisan-hero {
		gap: 12px;
		min-height: auto;
		padding: min(31svh, 270px) 16px 28px;
	}
	.gcma-artisan-hero__media img { object-position: center top; }
	.gcma-artisan-hero__veil { background: rgba(244, 248, 252, .9); }
	html[data-gcma-theme="dark"] .gcma-artisan-hero__veil { background: rgba(2, 15, 37, .89); }
	.gcma-artisan-hero__content { gap: 11px; }
	.gcma-artisan-kicker { font-size: 11px; }
	.gcma-artisan-hero h1 { font-size: clamp(29px, 8.7vw, 37px); line-height: 1.03; }
	.gcma-artisan-hero__lead { font-size: 16px; line-height: 1.3; }
	.gcma-artisan-hero__content > p:not(.gcma-artisan-kicker, .gcma-artisan-hero__lead) { display: none; }
	.gcma-artisan-price { border-radius: 17px; padding: 11px 13px; }
	.gcma-artisan-price strong { font-size: 38px; }
	.gcma-artisan-price span,
	.gcma-artisan-price small { font-size: 12px; }
	.gcma-artisan-actions { display: grid; }
	.gcma-artisan-button { min-height: 48px; padding-block: 10px; width: 100%; }
	.gcma-artisan-actions .gcma-artisan-button:not(.is-primary) { display: none; }
	.gcma-artisan-hero__summary { display: none; }
	.gcma-artisan-section { padding-inline: 16px; }
	.gcma-artisan-section h2,
	.gcma-artisan-final h2 { font-size: 34px; }
	.gcma-artisan-included > ul { grid-template-columns: 1fr; }
	.gcma-artisan-case { display: flex; flex-direction: column; }
	.gcma-artisan-case__media { order: -1; }
	.gcma-artisan-final { border-radius: 22px; margin-inline: 12px; padding: 36px 18px; }
}

/* A calmer desktop scale keeps commercial pages scannable on wide screens. */
@media (min-width: 1181px) {
	.gcma-offer-hero h1 {
		font-size: clamp(46px, 4.1vw, 60px);
	}

	.gcma-offer-section__header h2,
	.gcma-offer-final h2,
	.gcma-artisan-section h2,
	.gcma-artisan-final h2 {
		font-size: clamp(34px, 3.2vw, 46px);
	}

	.gcma-offer-simulator h2 {
		font-size: clamp(34px, 3.2vw, 46px);
	}

	.gcma-artisan-hero h1 {
		font-size: clamp(44px, 4vw, 58px);
	}
}

/* Contract assisted reading: optional, local browser speech only. */
.gcma-contract-assisted-reading {
	background: color-mix(in srgb, var(--gcma-client-surface, #fff) 88%, transparent);
	border: 1px solid color-mix(in srgb, #0785ff 26%, transparent);
	border-radius: 24px;
	box-shadow: 0 24px 60px rgba(4, 36, 88, .1);
	margin-top: 20px;
	padding: clamp(18px, 3vw, 30px);
}

.gcma-contract-assisted-reading > summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	list-style: none;
}

.gcma-contract-assisted-reading > summary::-webkit-details-marker {
	display: none;
}

.gcma-contract-assisted-reading > summary p {
	color: #0785ff;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: 0;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.gcma-contract-assisted-reading > summary h4 {
	font-size: clamp(20px, 3vw, 28px);
	margin: 0;
}

.gcma-contract-assisted-reading > summary > span {
	background: color-mix(in srgb, #0785ff 10%, transparent);
	border: 1px solid color-mix(in srgb, #0785ff 35%, transparent);
	border-radius: 999px;
	color: var(--gcma-client-text, #071a44);
	font-size: 12px;
	font-weight: 800;
	padding: 9px 14px;
}

.gcma-contract-assisted-reading[open] > summary > span {
	background: #0785ff;
	color: #fff;
}

.gcma-contract-assisted-reading__body {
	border-top: 1px solid color-mix(in srgb, #0785ff 18%, transparent);
	margin-top: 18px;
	padding-top: 18px;
}

.gcma-contract-assisted-reading__body > header {
	display: flex;
	justify-content: flex-end;
}

.gcma-contract-assisted-reading button {
	background: color-mix(in srgb, #0785ff 10%, transparent);
	border: 1px solid color-mix(in srgb, #0785ff 35%, transparent);
	border-radius: 12px;
	color: var(--gcma-client-text, #071a44);
	cursor: pointer;
	font-weight: 800;
	min-height: 42px;
	padding: 9px 14px;
}

.gcma-contract-assisted-reading button.is-speaking {
	background: #0785ff;
	color: #fff;
}

.gcma-contract-assisted-reading__intro,
.gcma-contract-assisted-reading__status {
	color: var(--gcma-client-muted, #536785);
	line-height: 1.55;
}

.gcma-contract-assisted-reading__sections {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 18px;
}

.gcma-contract-assisted-reading__sections article {
	background: color-mix(in srgb, var(--gcma-client-surface, #fff) 82%, transparent);
	border: 1px solid color-mix(in srgb, #0785ff 18%, transparent);
	border-radius: 17px;
	display: grid;
	gap: 12px;
	padding: 17px;
}

.gcma-contract-assisted-reading__sections article > div {
	align-items: center;
	display: flex;
	gap: 10px;
}

.gcma-contract-assisted-reading__sections article > div > span {
	align-items: center;
	background: #0785ff;
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-size: 11px;
	font-weight: 900;
	height: 30px;
	justify-content: center;
	width: 30px;
}

.gcma-contract-assisted-reading__sections h5 {
	font-size: 16px;
	margin: 0;
}

.gcma-contract-assisted-reading__sections p {
	color: var(--gcma-client-muted, #536785);
	display: -webkit-box;
	line-height: 1.55;
	margin: 0;
	max-height: 9.3em;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
}

html[data-gcma-theme="dark"] .gcma-contract-assisted-reading {
	background: rgba(5, 20, 38, .9);
	border-color: rgba(97, 210, 255, .28);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
}

html[data-gcma-theme="dark"] .gcma-contract-assisted-reading__sections article {
	background: rgba(255, 255, 255, .06);
	border-color: rgba(97, 210, 255, .2);
}

html[data-gcma-theme="dark"] .gcma-contract-assisted-reading button {
	background: rgba(7, 133, 255, .14);
	border-color: rgba(97, 210, 255, .36);
	color: var(--gcma-client-ink);
}

@media (max-width: 720px) {
	.gcma-contract-assisted-reading {
		border-radius: 19px;
		padding: 16px;
	}

	.gcma-contract-assisted-reading > summary {
		align-items: flex-start;
	}

	.gcma-contract-assisted-reading__sections {
		grid-template-columns: 1fr;
	}
}

/* Client CRM workspace */
body.logged-in.gcma-client-portal-page {
	background: #edf3fa;
	min-height: 100dvh;
}

html[data-gcma-theme="dark"] body.logged-in.gcma-client-portal-page {
	background: #07111f;
}

body.logged-in.gcma-client-portal-page .gcma-header,
body.logged-in.gcma-client-portal-page .gcma-mobile-topbar,
body.logged-in.gcma-client-portal-page .gcma-mobile-nav,
body.logged-in.gcma-client-portal-page .gcma-footer,
body.logged-in.gcma-client-portal-page .gcma-background-effects,
body.logged-in.gcma-client-portal-page .gcma-search-overlay,
body.logged-in.gcma-client-portal-page .gcma-sheet-backdrop,
body.logged-in.gcma-client-portal-page .gcma-bottom-sheet,
body.logged-in.gcma-client-portal-page > .gcma-consent,
body.logged-in.gcma-client-portal-page > .gcma-consent-manage,
body.logged-in.gcma-client-portal-page > .gcma-skip-link {
	display: none !important;
}

body.logged-in.gcma-client-portal-page .gcma-main.gcma-client-main {
	margin: 0;
	max-width: none;
	min-height: 100dvh;
	padding: 0;
	width: 100%;
}

.gcma-client-crm {
	--gcma-crm-accent: #087dff;
	--gcma-crm-cyan: #18c3f2;
	--gcma-crm-ink: #071a44;
	--gcma-crm-muted: #60718a;
	--gcma-crm-line: rgba(57, 100, 145, .15);
	--gcma-crm-surface: rgba(255, 255, 255, .84);
	--gcma-crm-soft: rgba(239, 247, 255, .86);
	color: var(--gcma-crm-ink);
	display: grid;
	grid-template-columns: 264px minmax(0, 1fr);
	margin: 0;
	max-width: none;
	min-height: 100dvh;
	width: 100%;
}

html[data-gcma-theme="dark"] .gcma-client-crm {
	--gcma-crm-ink: #f2f7ff;
	--gcma-crm-muted: #a9bdd3;
	--gcma-crm-line: rgba(117, 184, 225, .16);
	--gcma-crm-surface: rgba(13, 29, 49, .88);
	--gcma-crm-soft: rgba(17, 38, 62, .82);
}

.gcma-client-crm__sidebar {
	background: #071a44;
	border-right: 1px solid rgba(122, 201, 255, .18);
	box-shadow: 18px 0 60px rgba(7, 26, 68, .08);
	color: #fff;
	display: flex;
	flex-direction: column;
	height: 100dvh;
	inset: 0 auto 0 0;
	overflow-y: auto;
	padding: 24px 18px 18px;
	position: sticky;
	top: 0;
	z-index: 80;
}

html[data-gcma-theme="dark"] .gcma-client-crm__sidebar {
	background: #06101e;
	box-shadow: 18px 0 70px rgba(0, 0, 0, .24);
}

.gcma-client-crm__brand,
.gcma-client-crm__identity,
.gcma-client-crm__nav a,
.gcma-client-crm__logout,
.gcma-client-crm__topbar,
.gcma-client-crm__metrics article,
.gcma-client-crm__next,
.gcma-client-crm__health-teaser,
.gcma-client-health,
.gcma-client-profile-form {
	box-sizing: border-box;
}

.gcma-client-crm__brand {
	align-items: center;
	display: flex;
	gap: 12px;
	padding: 0 6px 22px;
}

.gcma-client-crm__brand-mark {
	align-items: center;
	background: linear-gradient(145deg, #087dff, #17c6f3);
	border: 1px solid rgba(255, 255, 255, .44);
	border-radius: 12px;
	box-shadow: 0 0 28px rgba(20, 181, 255, .38);
	display: inline-flex;
	font-size: 22px;
	font-weight: 900;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.gcma-client-crm__brand div,
.gcma-client-crm__identity div {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.gcma-client-crm__brand strong {
	font-size: 18px;
}

.gcma-client-crm__brand small,
.gcma-client-crm__identity small {
	color: rgba(227, 241, 255, .62);
	font-size: 11px;
}

.gcma-client-crm__brand button {
	background: transparent;
	border: 0;
	color: #fff;
	cursor: pointer;
	display: none;
	margin-left: auto;
	padding: 5px;
}

.gcma-client-crm__identity {
	align-items: center;
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 15px;
	display: flex;
	gap: 10px;
	margin: 0 0 20px;
	padding: 11px;
}

.gcma-client-crm__identity > span {
	align-items: center;
	background: rgba(20, 181, 255, .15);
	border: 1px solid rgba(77, 203, 255, .28);
	border-radius: 10px;
	color: #67d7ff;
	display: inline-flex;
	font-size: 13px;
	font-weight: 900;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.gcma-client-crm__identity strong {
	font-size: 12px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gcma-client-crm__nav {
	display: grid;
	gap: 4px;
}

.gcma-client-crm__nav > p {
	color: rgba(213, 232, 251, .48);
	font-size: 10px;
	font-weight: 850;
	margin: 14px 10px 5px;
	text-transform: uppercase;
}

.gcma-client-crm__nav a,
.gcma-client-crm__logout {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 12px;
	color: rgba(237, 246, 255, .76);
	display: grid;
	font-size: 12px;
	gap: 10px;
	grid-template-columns: 22px minmax(0, 1fr) auto;
	min-height: 43px;
	padding: 8px 10px;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.gcma-client-crm__nav a:hover,
.gcma-client-crm__nav a:focus-visible,
.gcma-client-crm__nav a.is-active,
.gcma-client-crm__nav a[aria-current="page"] {
	background: rgba(8, 125, 255, .18);
	border-color: rgba(93, 202, 255, .24);
	color: #fff;
}

.gcma-client-crm__nav .dashicons,
.gcma-client-crm__logout .dashicons {
	color: #63d4ff;
	font-size: 18px;
	height: 18px;
	width: 18px;
}

.gcma-client-crm__nav a em {
	background: rgba(51, 196, 255, .15);
	border-radius: 999px;
	color: #83e1ff;
	font-size: 10px;
	font-style: normal;
	font-weight: 900;
	min-width: 22px;
	padding: 4px 6px;
	text-align: center;
}

.gcma-client-crm__logout {
	margin-top: auto;
}

.gcma-client-crm__workspace {
	min-width: 0;
}

.gcma-client-crm__topbar {
	align-items: center;
	backdrop-filter: blur(24px) saturate(145%);
	-webkit-backdrop-filter: blur(24px) saturate(145%);
	background: color-mix(in srgb, var(--gcma-crm-surface) 92%, transparent);
	border-bottom: 1px solid var(--gcma-crm-line);
	display: grid;
	gap: 15px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	min-height: 78px;
	padding: 13px clamp(20px, 4vw, 48px);
	position: sticky;
	top: 0;
	z-index: 30;
}

.gcma-client-crm__topbar p {
	color: var(--gcma-crm-muted);
	font-size: 10px;
	font-weight: 800;
	margin: 0 0 2px;
	text-transform: uppercase;
}

.gcma-client-crm__topbar h1 {
	color: var(--gcma-crm-ink);
	font-size: 23px;
	line-height: 1.1;
	margin: 0;
}

.gcma-client-crm__menu,
.gcma-client-crm__topbar > a {
	align-items: center;
	background: var(--gcma-crm-soft);
	border: 1px solid var(--gcma-crm-line);
	border-radius: 12px;
	color: var(--gcma-crm-ink);
	display: inline-flex;
	height: 42px;
	justify-content: center;
	position: relative;
	text-decoration: none;
	width: 42px;
}

.gcma-client-crm__menu {
	cursor: pointer;
	display: none;
}

.gcma-client-crm__topbar > a b {
	align-items: center;
	background: #ff4f67;
	border: 2px solid var(--gcma-crm-surface);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-size: 8px;
	height: 17px;
	justify-content: center;
	position: absolute;
	right: -4px;
	top: -4px;
	width: 17px;
}

.gcma-client-crm__notice {
	background: #dff8ed;
	border: 1px solid #99e0c3;
	border-radius: 13px;
	color: #135f43;
	margin: 20px clamp(20px, 4vw, 48px) 0;
	padding: 12px 15px;
}

.gcma-client-crm__content {
	margin: 0;
	max-width: 1500px;
	padding: clamp(22px, 3.5vw, 46px);
}

.gcma-client-crm.is-enhanced .gcma-client-crm__panel:not(.is-active) {
	display: none;
}

.gcma-client-crm__panel {
	outline: none;
}

.gcma-client-crm__panel > * + * {
	margin-top: 22px;
}

.gcma-client-crm__welcome {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 20px;
}

.gcma-client-crm__welcome h2 {
	color: var(--gcma-crm-ink);
	font-size: clamp(25px, 3vw, 36px);
	line-height: 1.1;
	margin: 0 0 7px;
}

.gcma-client-crm__welcome > div > p:last-child {
	color: var(--gcma-crm-muted);
	font-size: 14px;
	margin: 0;
}

.gcma-client-crm__secure {
	align-items: center;
	background: var(--gcma-crm-surface);
	border: 1px solid var(--gcma-crm-line);
	border-radius: 999px;
	color: var(--gcma-crm-muted);
	display: flex;
	font-size: 11px;
	font-weight: 800;
	gap: 6px;
	padding: 8px 11px;
}

.gcma-client-crm__secure .dashicons {
	color: #13aa74;
	font-size: 15px;
	height: 15px;
	width: 15px;
}

.gcma-client-crm__metrics {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gcma-client-crm__metrics article {
	align-items: center;
	background: var(--gcma-crm-surface);
	border: 1px solid var(--gcma-crm-line);
	border-radius: 15px;
	box-shadow: 0 12px 34px rgba(7, 26, 68, .05);
	display: flex;
	gap: 11px;
	min-height: 86px;
	padding: 15px;
}

.gcma-client-crm__metrics .dashicons {
	align-items: center;
	background: rgba(8, 125, 255, .1);
	border-radius: 11px;
	color: var(--gcma-crm-accent);
	display: inline-flex;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.gcma-client-crm__metrics article > div {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.gcma-client-crm__metrics strong {
	color: var(--gcma-crm-ink);
	font-size: 20px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gcma-client-crm__metrics small {
	color: var(--gcma-crm-muted);
	font-size: 10px;
}

.gcma-client-crm__overview-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
	margin-top: 16px;
}

.gcma-client-crm__next,
.gcma-client-crm__health-teaser,
.gcma-client-health,
.gcma-client-profile-form {
	background: var(--gcma-crm-surface);
	border: 1px solid var(--gcma-crm-line);
	border-radius: 18px;
	box-shadow: 0 18px 48px rgba(7, 26, 68, .06);
}

.gcma-client-crm__next {
	align-items: center;
	display: grid;
	gap: 17px;
	grid-template-columns: 48px minmax(0, 1fr) auto;
	padding: 23px;
}

.gcma-client-crm__next > .dashicons {
	align-items: center;
	background: linear-gradient(145deg, #087dff, #18c3f2);
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(8, 125, 255, .24);
	color: #fff;
	display: inline-flex;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.gcma-client-crm__next h3,
.gcma-client-crm__health-teaser h3 {
	color: var(--gcma-crm-ink);
	font-size: 18px;
	margin: 0 0 5px;
}

.gcma-client-crm__next div > p:last-child,
.gcma-client-crm__health-teaser p {
	color: var(--gcma-crm-muted);
	font-size: 12px;
	line-height: 1.5;
	margin: 0;
}

.gcma-client-crm__next a,
.gcma-client-crm__health-teaser a,
.gcma-client-health__status a,
.gcma-client-profile-form__actions button {
	background: var(--gcma-crm-accent);
	border: 1px solid #5ed1ff;
	border-radius: 12px;
	color: #fff;
	font-size: 12px;
	font-weight: 850;
	padding: 10px 13px;
	text-decoration: none;
}

.gcma-client-crm__health-teaser {
	padding: 21px;
}

.gcma-client-crm__health-teaser header {
	align-items: start;
	display: flex;
	justify-content: space-between;
}

.gcma-client-crm__health-teaser header > span {
	color: var(--gcma-crm-accent);
}

.gcma-client-crm__health-teaser > strong {
	color: var(--gcma-crm-accent);
	display: block;
	font-size: 32px;
	margin: 18px 0 2px;
}

.gcma-client-crm__health-teaser > a {
	background: transparent;
	border: 0;
	color: var(--gcma-crm-accent);
	display: inline-block;
	margin-top: 14px;
	padding: 0;
}

.gcma-client-crm .gcma-client-portal__section {
	background: var(--gcma-crm-surface);
	border-color: var(--gcma-crm-line);
	border-radius: 18px;
	box-shadow: 0 18px 48px rgba(7, 26, 68, .06);
	padding: clamp(18px, 3vw, 30px);
}

.gcma-client-crm .gcma-client-portal__section > header h2 {
	font-size: clamp(23px, 3vw, 32px);
}

.gcma-client-health,
.gcma-client-profile-form {
	padding: clamp(20px, 3.5vw, 38px);
}

.gcma-client-health > header h2,
.gcma-client-profile-form > header h2 {
	color: var(--gcma-crm-ink);
	font-size: clamp(25px, 3.4vw, 38px);
	margin: 0 0 8px;
}

.gcma-client-health > header p:last-child,
.gcma-client-profile-form > header p:last-child {
	color: var(--gcma-crm-muted);
	margin: 0;
}

.gcma-client-health__empty {
	border: 1px dashed var(--gcma-crm-line);
	border-radius: 16px;
	margin-top: 24px;
	padding: 42px 20px;
	text-align: center;
}

.gcma-client-health__empty .dashicons {
	color: var(--gcma-crm-accent);
	font-size: 34px;
	height: 34px;
	width: 34px;
}

.gcma-client-health__empty h3 {
	color: var(--gcma-crm-ink);
	margin: 14px 0 7px;
}

.gcma-client-health__empty p {
	color: var(--gcma-crm-muted);
	margin: 0;
}

.gcma-client-health__score {
	align-items: center;
	background: linear-gradient(135deg, #071a44, #0b3b75);
	border: 1px solid rgba(81, 202, 255, .36);
	border-radius: 17px;
	color: #fff;
	display: grid;
	gap: 22px;
	grid-template-columns: auto minmax(0, 1fr);
	margin-top: 24px;
	padding: 22px;
}

.gcma-client-health__score > div:first-child {
	align-items: baseline;
	display: flex;
}

.gcma-client-health__score > div:first-child strong {
	color: #3cc8ff;
	font-size: 48px;
}

.gcma-client-health__score h3 {
	color: #fff;
	margin: 0 0 5px;
}

.gcma-client-health__score p {
	color: rgba(227, 241, 255, .7);
	font-size: 11px;
	line-height: 1.45;
	margin: 0;
}

.gcma-client-health__metrics {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 14px;
}

.gcma-client-health__metrics article {
	background: var(--gcma-crm-soft);
	border: 1px solid var(--gcma-crm-line);
	border-radius: 15px;
	display: grid;
	gap: 4px;
	padding: 18px;
}

.gcma-client-health__metrics span,
.gcma-client-health__metrics small {
	color: var(--gcma-crm-muted);
	font-size: 10px;
}

.gcma-client-health__metrics strong {
	color: var(--gcma-crm-ink);
	font-size: 26px;
}

.gcma-client-health__status {
	align-items: center;
	border-top: 1px solid var(--gcma-crm-line);
	display: flex;
	justify-content: space-between;
	margin-top: 22px;
	padding-top: 20px;
}

.gcma-client-health__status > div {
	align-items: center;
	display: flex;
	gap: 10px;
}

.gcma-client-health__status .dashicons {
	color: #13aa74;
}

.gcma-client-health__status p {
	display: grid;
	gap: 2px;
	margin: 0;
}

.gcma-client-health__status small,
.gcma-client-health__updated {
	color: var(--gcma-crm-muted);
	font-size: 10px;
}

.gcma-client-health__updated {
	margin: 14px 0 0;
}

.gcma-client-profile-form form {
	margin-top: 24px;
}

.gcma-client-profile-form__fields {
	display: grid;
	gap: 15px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gcma-client-profile-form__fields label {
	display: grid;
	gap: 7px;
}

.gcma-client-profile-form__fields label.is-wide {
	grid-column: 1 / -1;
}

.gcma-client-profile-form__fields label > span {
	color: var(--gcma-crm-ink);
	font-size: 12px;
	font-weight: 800;
}

.gcma-client-profile-form__fields input,
.gcma-client-profile-form__fields textarea {
	background: var(--gcma-crm-soft);
	border: 1px solid var(--gcma-crm-line);
	border-radius: 12px;
	color: var(--gcma-crm-ink);
	font: inherit;
	min-height: 46px;
	padding: 10px 12px;
	width: 100%;
}

.gcma-client-profile-form__fields input[readonly] {
	opacity: .68;
}

.gcma-client-profile-form__fields small {
	color: var(--gcma-crm-muted);
	font-size: 10px;
}

.gcma-client-profile-form__actions {
	align-items: center;
	display: flex;
	gap: 16px;
	margin-top: 20px;
}

.gcma-client-profile-form__actions button {
	cursor: pointer;
	min-height: 44px;
}

.gcma-client-profile-form__actions a {
	color: var(--gcma-crm-accent);
	font-size: 12px;
	font-weight: 800;
}

.gcma-client-crm .gcma-contract-sign-wizard {
	background: var(--gcma-crm-soft);
	border-color: var(--gcma-crm-line);
	border-radius: 18px;
	margin-inline: auto;
	max-width: 980px;
	padding: clamp(17px, 3vw, 28px);
}

.gcma-client-crm .gcma-contract-sign-step {
	min-height: min(540px, calc(100dvh - 310px));
}

.gcma-client-crm .gcma-contract-sign-actions {
	background: color-mix(in srgb, var(--gcma-crm-surface) 92%, transparent);
	bottom: 0;
	border-top: 1px solid var(--gcma-crm-line);
	padding-top: 12px;
	position: sticky;
	z-index: 3;
}

.gcma-client-crm__scrim {
	background: rgba(2, 10, 24, .56);
	inset: 0;
	position: fixed;
	z-index: 70;
}

@media (max-width: 1120px) {
	.gcma-client-crm__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gcma-client-crm__overview-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 820px) {
	body.logged-in.gcma-client-portal-page .gcma-main.gcma-client-main {
		padding: 0;
	}

	.gcma-client-crm {
		display: block;
	}

	.gcma-client-crm__sidebar {
		box-shadow: 24px 0 80px rgba(0, 0, 0, .28);
		max-width: min(86vw, 310px);
		position: fixed;
		transform: translateX(-105%);
		transition: transform 220ms ease;
		width: 100%;
	}

	.gcma-client-crm.is-nav-open .gcma-client-crm__sidebar {
		transform: translateX(0);
	}

	.gcma-client-crm__brand button,
	.gcma-client-crm__menu {
		display: inline-flex;
	}

	.gcma-client-crm__topbar {
		min-height: 68px;
		padding: 10px 14px;
	}

	.gcma-client-crm__topbar h1 {
		font-size: 18px;
	}

	.gcma-client-crm__content {
		padding: 18px 14px 30px;
	}

	.gcma-client-crm__welcome {
		align-items: flex-start;
	}

	.gcma-client-crm__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gcma-client-crm .gcma-client-message-layout,
	.gcma-client-profile-form__fields {
		grid-template-columns: 1fr;
	}

	.gcma-client-profile-form__fields label.is-wide {
		grid-column: auto;
	}

	.gcma-client-health__metrics {
		grid-template-columns: 1fr;
	}

	.gcma-client-crm .gcma-contract-sign-step {
		min-height: 0;
	}
}

@media (max-width: 540px) {
	.gcma-client-crm__welcome {
		gap: 13px;
		margin-bottom: 14px;
	}

	.gcma-client-crm__welcome h2 {
		font-size: 25px;
	}

	.gcma-client-crm__secure {
		display: none;
	}

	.gcma-client-crm__metrics {
		gap: 8px;
	}

	.gcma-client-crm__metrics article {
		align-items: flex-start;
		border-radius: 13px;
		display: grid;
		gap: 8px;
		min-height: 106px;
		padding: 13px;
	}

	.gcma-client-crm__metrics strong {
		font-size: 17px;
	}

	.gcma-client-crm__next {
		align-items: start;
		grid-template-columns: 42px minmax(0, 1fr);
		padding: 17px;
	}

	.gcma-client-crm__next > .dashicons {
		height: 42px;
		width: 42px;
	}

	.gcma-client-crm__next > a {
		grid-column: 1 / -1;
		text-align: center;
	}

	.gcma-client-health__score {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.gcma-client-health__status {
		align-items: flex-start;
		flex-direction: column;
		gap: 15px;
	}

	.gcma-client-health__status a,
	.gcma-client-profile-form__actions button {
		text-align: center;
		width: 100%;
	}

	.gcma-client-profile-form__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.gcma-client-crm .gcma-client-portal__section {
		padding: 17px 13px;
	}

	.gcma-client-crm .gcma-contract-sign-progress {
		gap: 4px;
	}

	.gcma-client-crm .gcma-contract-sign-progress li b {
		height: 30px;
		width: 30px;
	}

	.gcma-client-crm .gcma-contract-sign-progress li small {
		font-size: 9px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gcma-client-crm__sidebar {
		transition: none;
	}
}
