/**
 * GoldieWink Quote & Lead Intake - public form styles.
 *
 * Everything is scoped under .gwql-form-wrap and driven by custom properties,
 * so the Stage 7 branding screen can restyle the form by overriding a handful
 * of variables rather than shipping new CSS.
 *
 * Typography is deliberately inherited from the theme: only sizes and spacing
 * are set here, never a font family.
 */

.gwql-form-wrap {
	--gwql-primary: #1f6feb;
	--gwql-accent: #0f9d58;
	--gwql-button-bg: var(--gwql-primary);
	--gwql-button-text: #ffffff;
	--gwql-surface: #ffffff;
	--gwql-text: #1f2328;
	--gwql-muted: #5c6470;
	--gwql-border: #d0d7de;
	--gwql-border-strong: #8c959f;
	--gwql-error: #b32d2e;
	--gwql-error-bg: #fdf1f1;
	--gwql-success: #1a7f37;
	--gwql-success-bg: #eff8f1;
	--gwql-radius: 8px;
	--gwql-gap: 20px;

	color: var(--gwql-text);
	font-family: inherit;
	max-width: 100%;
}

/*
 * Auto Match Site is the default in 1.1. The PHP style generator supplies
 * theme-aware custom-property fallbacks; these rules make the form feel like
 * part of the surrounding site while the plugin continues to own layout,
 * validation and accessible interaction states.
 */
.gwql-brand-auto {
	--gwql-muted: color-mix(in srgb, var(--gwql-text) 68%, transparent);
	--gwql-border: color-mix(in srgb, var(--gwql-text) 18%, transparent);
	--gwql-border-strong: color-mix(in srgb, var(--gwql-text) 34%, transparent);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
	.gwql-brand-auto {
		--gwql-muted: #667085;
		--gwql-border: #d0d5dd;
		--gwql-border-strong: #98a2b3;
	}
}

.gwql-form {
	font-family: inherit;
}

.gwql-form-wrap *,
.gwql-form-wrap *::before,
.gwql-form-wrap *::after {
	box-sizing: border-box;
}

/* Layout ------------------------------------------------------------------ */

.gwql-fields {
	display: grid;
	gap: var(--gwql-gap);
	grid-template-columns: repeat(6, 1fr);
}

.gwql-field {
	grid-column: span 6;
	min-width: 0;
}

.gwql-field--half {
	grid-column: span 3;
}

.gwql-field--third {
	grid-column: span 2;
}

@media (max-width: 600px) {
	.gwql-field--half,
	.gwql-field--third {
		grid-column: span 6;
	}
}

.gwql-field[hidden] {
	display: none;
}


/* Auto Match presentation layer ------------------------------------------- */
.gwql-brand-auto {
	background: color-mix(in srgb, var(--gwql-surface) 94%, var(--gwql-primary) 6%);
	border: 1px solid color-mix(in srgb, var(--gwql-primary) 22%, transparent);
	border-radius: calc(var(--gwql-radius) + 6px);
	box-shadow: 0 18px 50px color-mix(in srgb, var(--gwql-text) 10%, transparent);
	padding: clamp(22px, 4vw, 42px);
}

.gwql-brand-auto .gwql-intro {
	border-bottom: 1px solid color-mix(in srgb, var(--gwql-primary) 18%, transparent);
	font-size: 1.02em;
	line-height: 1.7;
	margin-bottom: 28px;
	padding-bottom: 20px;
}

.gwql-brand-auto .gwql-label,
.gwql-brand-auto .gwql-legend {
	font-weight: 700;
	letter-spacing: 0.01em;
}

.gwql-brand-auto .gwql-input {
	background: color-mix(in srgb, var(--gwql-surface) 97%, white 3%);
	border-color: color-mix(in srgb, var(--gwql-text) 16%, transparent);
	border-width: 1px;
	box-shadow: 0 1px 0 color-mix(in srgb, var(--gwql-text) 5%, transparent);
	min-height: 50px;
	padding: 12px 14px;
}

.gwql-brand-auto .gwql-input:hover {
	border-color: color-mix(in srgb, var(--gwql-primary) 55%, var(--gwql-border));
}

.gwql-brand-auto .gwql-input:focus,
.gwql-brand-auto .gwql-input:focus-visible {
	background: var(--gwql-surface);
	border-color: var(--gwql-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gwql-primary) 18%, transparent);
}

.gwql-brand-auto .gwql-services {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.gwql-brand-auto .gwql-service {
	background: color-mix(in srgb, var(--gwql-surface) 98%, var(--gwql-primary) 2%);
	border: 1px solid color-mix(in srgb, var(--gwql-text) 14%, transparent);
	border-radius: calc(var(--gwql-radius) + 2px);
	min-height: 100%;
	padding: 16px 17px;
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background-color 160ms ease;
}

.gwql-brand-auto .gwql-service:hover {
	border-color: var(--gwql-primary);
	box-shadow: 0 8px 24px color-mix(in srgb, var(--gwql-text) 9%, transparent);
	transform: translateY(-1px);
}

.gwql-brand-auto .gwql-service:has(input:checked) {
	background: color-mix(in srgb, var(--gwql-primary) 9%, var(--gwql-surface));
	border-color: var(--gwql-primary);
	box-shadow: inset 0 0 0 1px var(--gwql-primary), 0 8px 24px color-mix(in srgb, var(--gwql-text) 8%, transparent);
}

.gwql-brand-auto .gwql-service__name {
	font-size: 1.02em;
	font-weight: 700;
}

.gwql-brand-auto .gwql-service__price {
	font-size: 0.94em;
	font-weight: 700;
}

.gwql-brand-auto .gwql-file {
	border-style: dashed;
	border-width: 1.5px;
	padding: 12px;
}

.gwql-brand-auto .gwql-file::file-selector-button {
	background: color-mix(in srgb, var(--gwql-primary) 10%, var(--gwql-surface));
	border-color: color-mix(in srgb, var(--gwql-primary) 45%, transparent);
	color: var(--gwql-text);
	padding: 9px 14px;
}

.gwql-brand-auto .gwql-consent {
	background: color-mix(in srgb, var(--gwql-primary) 5%, var(--gwql-surface));
	border: 1px solid color-mix(in srgb, var(--gwql-primary) 16%, transparent);
	border-radius: var(--gwql-radius);
	padding: 12px 14px;
}

.gwql-brand-auto .gwql-actions {
	border-top: 1px solid color-mix(in srgb, var(--gwql-primary) 18%, transparent);
	margin-top: 30px;
	padding-top: 24px;
}

.gwql-brand-auto .gwql-submit {
	box-shadow: 0 10px 24px color-mix(in srgb, var(--gwql-button-bg) 24%, transparent);
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.035em;
	min-height: 52px;
	padding: 14px 30px;
}

.gwql-brand-auto .gwql-submit:hover {
	box-shadow: 0 13px 30px color-mix(in srgb, var(--gwql-button-bg) 28%, transparent);
	filter: brightness(0.97);
	transform: translateY(-2px);
}

@media (max-width: 700px) {
	.gwql-brand-auto {
		padding: 20px 16px;
	}

	.gwql-brand-auto .gwql-services {
		grid-template-columns: 1fr;
	}

	.gwql-brand-auto .gwql-submit {
		width: 100%;
	}
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
	.gwql-brand-auto {
		background: var(--gwql-surface);
		border-color: var(--gwql-border);
		box-shadow: 0 18px 50px rgba(0,0,0,.08);
	}
	.gwql-brand-auto .gwql-service,
	.gwql-brand-auto .gwql-consent,
	.gwql-brand-auto .gwql-input {
		background: var(--gwql-surface);
	}
}

/* Labels ------------------------------------------------------------------ */

.gwql-label,
.gwql-legend {
	display: block;
	font-size: 0.95em;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 6px;
	padding: 0;
}

.gwql-label--sub {
	font-size: 0.85em;
	font-weight: 500;
	color: var(--gwql-muted);
}

.gwql-required {
	color: var(--gwql-error);
	margin-left: 2px;
}

.gwql-help {
	color: var(--gwql-muted);
	font-size: 0.85em;
	line-height: 1.5;
	margin: 6px 0 0;
}

.gwql-error {
	color: var(--gwql-error);
	font-size: 0.85em;
	font-weight: 500;
	line-height: 1.5;
	margin: 6px 0 0;
}

.gwql-sr-only {
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* Controls ---------------------------------------------------------------- */

.gwql-input {
	background: var(--gwql-surface);
	border: 1px solid var(--gwql-border);
	border-radius: var(--gwql-radius);
	color: var(--gwql-text);
	display: block;
	font: inherit;
	/* 16px minimum stops iOS Safari zooming in when the field is focused. */
	font-size: max(16px, 1em);
	line-height: 1.5;
	padding: 11px 13px;
	transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
	width: 100%;
}

.gwql-input:hover {
	border-color: var(--gwql-border-strong);
}

.gwql-input:focus,
.gwql-input:focus-visible {
	border-color: var(--gwql-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gwql-primary) 25%, transparent);
	outline: 2px solid transparent;
	outline-offset: 2px;
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
	.gwql-input:focus {
		box-shadow: 0 0 0 3px rgba(31, 111, 235, 0.25);
	}
}

.gwql-textarea {
	min-height: 96px;
	resize: vertical;
}

.gwql-select {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
		linear-gradient(135deg, currentColor 50%, transparent 50%);
	background-position: calc(100% - 20px) 50%, calc(100% - 15px) 50%;
	background-repeat: no-repeat;
	background-size: 5px 5px, 5px 5px;
	height: auto;
	min-height: 48px;
	line-height: 1.5;
	padding: 11px 38px 11px 13px;
}

/*
 * Some themes apply a fixed height directly to select elements. The more
 * specific selector below keeps GoldieWink dropdowns tall enough for their
 * inherited 16px+ text and vertical padding without relying on site-specific
 * custom CSS.
 */
.gwql-form-wrap select.gwql-input.gwql-select {
	height: auto;
	min-height: 48px;
}

.gwql-field--invalid .gwql-input,
.gwql-field--invalid .gwql-fieldset {
	border-color: var(--gwql-error);
}

.gwql-fieldset {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

/* Choices ----------------------------------------------------------------- */

.gwql-choices {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.gwql-choice,
.gwql-consent {
	align-items: flex-start;
	cursor: pointer;
	display: flex;
	gap: 10px;
	line-height: 1.5;
}

.gwql-choice input,
.gwql-consent input {
	flex: none;
	height: 20px;
	margin: 1px 0 0;
	width: 20px;
}

.gwql-choice input:focus-visible,
.gwql-consent input:focus-visible {
	outline: 2px solid var(--gwql-primary);
	outline-offset: 2px;
}

/* Services ---------------------------------------------------------------- */

.gwql-services {
	display: grid;
	gap: 10px;
}

.gwql-service {
	align-items: flex-start;
	background: var(--gwql-surface);
	border: 1px solid var(--gwql-border);
	border-radius: var(--gwql-radius);
	cursor: pointer;
	display: flex;
	gap: 12px;
	padding: 14px 16px;
}

.gwql-service:hover {
	border-color: var(--gwql-border-strong);
}

.gwql-service:has(input:checked) {
	background: color-mix(in srgb, var(--gwql-primary) 7%, var(--gwql-surface));
	border-color: var(--gwql-primary);
	box-shadow: inset 3px 0 0 var(--gwql-primary);
}

.gwql-service input,
.gwql-choice input,
.gwql-consent input {
	accent-color: var(--gwql-primary);
}

.gwql-service:focus-within {
	border-color: var(--gwql-primary);
	box-shadow: 0 0 0 3px rgba(31, 111, 235, 0.2);
}

.gwql-service input {
	flex: none;
	height: 20px;
	margin: 2px 0 0;
	width: 20px;
}

.gwql-service__body {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.gwql-service__name {
	font-weight: 600;
}

.gwql-service__desc {
	color: var(--gwql-muted);
	font-size: 0.88em;
	line-height: 1.5;
}

.gwql-service__price {
	color: var(--gwql-accent);
	font-size: 0.9em;
	font-weight: 600;
}

/* Address ----------------------------------------------------------------- */

.gwql-address {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(6, 1fr);
}

.gwql-address__part {
	grid-column: span 6;
	min-width: 0;
}

.gwql-address__part--city {
	grid-column: span 3;
}

.gwql-address__part--state,
.gwql-address__part--postcode {
	grid-column: span 3;
}

@media (max-width: 600px) {
	.gwql-address__part--city,
	.gwql-address__part--state,
	.gwql-address__part--postcode {
		grid-column: span 6;
	}
}

/* Uploads ----------------------------------------------------------------- */

.gwql-file {
	padding: 8px;
}

.gwql-file::file-selector-button {
	background: color-mix(in srgb, var(--gwql-primary) 9%, var(--gwql-surface));
	border: 1px solid var(--gwql-border);
	border-radius: max(4px, calc(var(--gwql-radius) - 3px));
	color: var(--gwql-text);
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	margin-right: 12px;
	padding: 8px 12px;
}

.gwql-file::file-selector-button:hover {
	border-color: var(--gwql-primary);
}

/* Notices ----------------------------------------------------------------- */

.gwql-notice {
	border: 1px solid;
	border-radius: var(--gwql-radius);
	line-height: 1.55;
	margin-bottom: 20px;
	padding: 14px 16px;
}

.gwql-notice:focus {
	outline: 2px solid var(--gwql-primary);
	outline-offset: 2px;
}

.gwql-notice--error {
	background: var(--gwql-error-bg);
	border-color: var(--gwql-error);
	color: var(--gwql-error);
}

.gwql-notice--success {
	background: var(--gwql-success-bg);
	border-color: var(--gwql-success);
	color: var(--gwql-success);
}

.gwql-notice--success > *:first-child {
	margin-top: 0;
}

.gwql-notice--success > *:last-child {
	margin-bottom: 0;
}

.gwql-admin-notice {
	background: #fcf9e8;
	border: 1px dashed #dba617;
	border-radius: var(--gwql-radius, 8px);
	color: #8a6d00;
	font-size: 0.9em;
	padding: 12px 14px;
}

.gwql-intro {
	color: var(--gwql-muted);
	margin-bottom: var(--gwql-gap);
}

.gwql-instructions > *:first-child {
	margin-top: 0;
}

.gwql-instructions > *:last-child {
	margin-bottom: 0;
}

/* Submit ------------------------------------------------------------------ */

.gwql-actions {
	margin-top: 24px;
}

.gwql-submit {
	align-items: center;
	background: var(--gwql-button-bg);
	border: 0;
	border-radius: var(--gwql-radius);
	color: var(--gwql-button-text);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: max(16px, 1em);
	font-weight: 600;
	gap: 10px;
	line-height: 1.4;
	/* Comfortably above the 44px minimum touch target. */
	min-height: 48px;
	padding: 12px 28px;
	transition: filter 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.gwql-submit:hover {
	filter: brightness(0.94);
	transform: translateY(-1px);
}

.gwql-submit:focus-visible {
	outline: 3px solid var(--gwql-primary);
	outline-offset: 3px;
}

.gwql-submit[disabled] {
	cursor: progress;
	opacity: 0.72;
}

.gwql-submit__spinner {
	border: 2px solid currentColor;
	border-radius: 50%;
	border-right-color: transparent;
	display: none;
	height: 16px;
	width: 16px;
}

.gwql-submit.is-sending .gwql-submit__spinner {
	animation: gwql-spin 0.7s linear infinite;
	display: block;
}

@keyframes gwql-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.gwql-submit.is-sending .gwql-submit__spinner {
		animation-duration: 2s;
	}
}

/* Honeypot ---------------------------------------------------------------- */

.gwql-hp {
	height: 0;
	left: -9999px;
	overflow: hidden;
	position: absolute;
	width: 0;
}

/* Estimate ---------------------------------------------------------------- */

.gwql-estimate {
	align-items: baseline;
	border-top: 1px solid currentColor;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
	margin: 16px 0 6px;
	padding-top: 14px;
}

.gwql-estimate__label {
	font-weight: 600;
}

.gwql-estimate__value {
	font-size: 1.6em;
	font-weight: 700;
	line-height: 1.2;
}

.gwql-estimate__note,
.gwql-rule-message {
	font-size: 0.88em;
	line-height: 1.55;
	margin: 6px 0 0;
	opacity: 0.85;
}


@supports not selector(.gwql-service:has(input:checked)) {
	.gwql-service input:checked {
		outline: 2px solid var(--gwql-primary);
		outline-offset: 2px;
	}
}


/* Brand profile presentation - 1.3.0 -------------------------------------- */
.gwql-form-wrap {
\t--gwql-display-font: inherit;
\t--gwql-body-font: inherit;
\tfont-family: var(--gwql-body-font);
}

.gwql-brand-header {
\talign-items: center;
\tdisplay: flex;
\tflex-direction: column;
\tmargin: 0 auto 30px;
\ttext-align: center;
}

.gwql-brand-header__logo {
\tdisplay: block;
\theight: auto;
\tmargin: 0 auto 14px;
\tmax-height: 94px;
\tmax-width: min(320px, 82%);
\tobject-fit: contain;
\twidth: auto;
}

.gwql-brand-header__wordmark {
\tcolor: var(--gwql-primary);
\tfont-family: var(--gwql-display-font);
\tfont-size: clamp(26px, 3.2vw, 44px);
\tfont-weight: 500;
\tletter-spacing: .11em;
\tline-height: 1.08;
\ttext-transform: none;
}

.gwql-brand-header__subtitle {
\tcolor: var(--gwql-accent);
\tfont-family: var(--gwql-body-font);
\tfont-size: 11px;
\tfont-weight: 600;
\tletter-spacing: .32em;
\tmargin-top: 10px;
\tpadding-left: .32em;
\ttext-transform: uppercase;
}

.gwql-brand-header__rule {
\tbackground: var(--gwql-accent);
\tdisplay: block;
\theight: 1px;
\tmargin-top: 17px;
\topacity: .72;
\twidth: 74px;
}

.gwql-brand-auto {
\tbackground: var(--gwql-surface);
\tborder: 1px solid color-mix(in srgb, var(--gwql-accent) 54%, transparent);
\tbox-shadow: 0 20px 55px color-mix(in srgb, var(--gwql-primary) 12%, transparent);
\tcolor: var(--gwql-text);
\tpadding: clamp(28px, 5vw, 54px);
}

.gwql-brand-auto .gwql-intro {
\tborder-bottom-color: color-mix(in srgb, var(--gwql-accent) 34%, transparent);
\tcolor: color-mix(in srgb, var(--gwql-text) 78%, transparent);
\tfont-family: var(--gwql-body-font);
\tmargin-left: auto;
\tmargin-right: auto;
\tmax-width: 760px;
\ttext-align: center;
}

.gwql-brand-auto .gwql-label,
.gwql-brand-auto .gwql-legend {
\tcolor: var(--gwql-text);
\tfont-family: var(--gwql-body-font);
\tfont-size: .86em;
\tfont-weight: 650;
\tletter-spacing: .035em;
}

.gwql-brand-auto .gwql-input {
\tbackground: color-mix(in srgb, var(--gwql-surface) 93%, white 7%);
\tborder: 1px solid color-mix(in srgb, var(--gwql-primary) 18%, var(--gwql-accent) 20%);
\tbox-shadow: none;
\tcolor: var(--gwql-text);
}

.gwql-brand-auto .gwql-input:hover {
\tborder-color: color-mix(in srgb, var(--gwql-accent) 72%, var(--gwql-primary));
}

.gwql-brand-auto .gwql-input:focus,
.gwql-brand-auto .gwql-input:focus-visible {
\tborder-color: var(--gwql-accent);
\tbox-shadow: 0 0 0 3px color-mix(in srgb, var(--gwql-accent) 20%, transparent);
}

.gwql-brand-auto .gwql-service {
\tbackground: color-mix(in srgb, var(--gwql-surface) 95%, var(--gwql-primary) 5%);
\tborder: 1px solid color-mix(in srgb, var(--gwql-accent) 38%, transparent);
\tpadding: 18px 18px;
}

.gwql-brand-auto .gwql-service:hover {
\tborder-color: var(--gwql-accent);
\tbox-shadow: 0 10px 24px color-mix(in srgb, var(--gwql-primary) 12%, transparent);
}

.gwql-brand-auto .gwql-service:has(input:checked) {
\tbackground: var(--gwql-primary);
\tborder-color: var(--gwql-accent);
\tbox-shadow: inset 0 0 0 1px var(--gwql-accent), 0 10px 26px color-mix(in srgb, var(--gwql-primary) 22%, transparent);
\tcolor: var(--gwql-button-text);
}

.gwql-brand-auto .gwql-service:has(input:checked) .gwql-service__name,
.gwql-brand-auto .gwql-service:has(input:checked) .gwql-service__desc,
.gwql-brand-auto .gwql-service:has(input:checked) .gwql-service__price {
\tcolor: var(--gwql-button-text);
}

.gwql-brand-auto .gwql-service__name {
\tfont-family: var(--gwql-display-font);
\tfont-size: 1.05em;
\tletter-spacing: .025em;
}

.gwql-brand-auto .gwql-service__price {
\tcolor: var(--gwql-accent);
}

.gwql-brand-auto .gwql-consent {
\tbackground: color-mix(in srgb, var(--gwql-surface) 94%, var(--gwql-accent) 6%);
\tborder-color: color-mix(in srgb, var(--gwql-accent) 38%, transparent);
}

.gwql-brand-auto .gwql-actions {
\tborder-top-color: color-mix(in srgb, var(--gwql-accent) 34%, transparent);
\ttext-align: center;
}

.gwql-brand-auto .gwql-submit {
\tbackground: var(--gwql-button-bg);
\tborder: 1px solid var(--gwql-accent);
\tcolor: var(--gwql-button-text);
\tfont-family: var(--gwql-body-font);
\tfont-size: 13px;
\tfont-weight: 700;
\tletter-spacing: .14em;
\tmin-width: min(100%, 280px);
\ttext-transform: uppercase;
}

.gwql-brand-auto .gwql-submit:hover,
.gwql-brand-auto .gwql-submit:focus-visible {
\tbackground: var(--gwql-accent);
\tborder-color: var(--gwql-accent);
\tcolor: var(--gwql-primary);
\tfilter: none;
}

@media (max-width: 600px) {
\t.gwql-brand-header__wordmark {
\t\tfont-size: 27px;
\t\tletter-spacing: .08em;
\t}
\t.gwql-brand-header__subtitle {
\t\tfont-size: 10px;
\t\tletter-spacing: .24em;
\t}
}

/* ========================================================================
 * Brand Profile Form Composition - 1.4.0
 * The website provides the brand tokens; GoldieWink owns the form design.
 * ====================================================================== */
.gwql-form-wrap {
	--gwql-display-font: inherit;
	--gwql-body-font: inherit;
	--gwql-accent-soft: color-mix(in srgb, var(--gwql-accent) 12%, var(--gwql-surface));
	--gwql-primary-soft: color-mix(in srgb, var(--gwql-primary) 7%, var(--gwql-surface));
	--gwql-line: color-mix(in srgb, var(--gwql-accent) 48%, transparent);
	font-family: var(--gwql-body-font);
	width: min(100%, 980px);
	margin-inline: auto;
}

.gwql-brand-auto,
.gwql-brand-custom {
	position: relative;
	background: var(--gwql-surface);
	border: 1px solid color-mix(in srgb, var(--gwql-accent) 68%, transparent);
	border-top: 3px solid var(--gwql-accent);
	border-radius: max(0px, var(--gwql-radius));
	box-shadow: 0 18px 50px rgba(3, 11, 20, .08);
	padding: clamp(28px, 5vw, 58px);
	overflow: hidden;
}

.gwql-brand-auto::before,
.gwql-brand-custom::before {
	content: "";
	position: absolute;
	top: 18px;
	left: 18px;
	right: 18px;
	bottom: 18px;
	border: 1px solid color-mix(in srgb, var(--gwql-accent) 20%, transparent);
	pointer-events: none;
}

.gwql-brand-header {
	position: relative;
	z-index: 1;
	text-align: center;
	padding: 4px 20px 6px;
	margin-bottom: 8px;
}

.gwql-brand-header__logo {
	display: block;
	max-width: 210px;
	max-height: 96px;
	width: auto;
	height: auto;
	margin: 0 auto 18px;
}

.gwql-brand-header__wordmark {
	font-family: var(--gwql-display-font);
	font-size: clamp(28px, 4.2vw, 47px);
	font-weight: 500;
	letter-spacing: .13em;
	line-height: 1.08;
	text-transform: uppercase;
	color: var(--gwql-primary);
}

.gwql-brand-header__subtitle {
	font-family: var(--gwql-body-font);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .34em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--gwql-accent);
	margin-top: 11px;
	padding-left: .34em;
}

.gwql-brand-header__rule {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(260px, 70%);
	height: 1px;
	background: var(--gwql-line);
	margin: 22px auto 19px;
	position: relative;
}

.gwql-brand-header__rule::after {
	content: "";
	position: absolute;
	width: 7px;
	height: 7px;
	background: var(--gwql-accent);
	transform: rotate(45deg);
	box-shadow: 0 0 0 5px var(--gwql-surface);
}

.gwql-brand-header__form-title {
	font-family: var(--gwql-display-font);
	font-size: clamp(20px, 2.8vw, 30px);
	font-weight: 500;
	letter-spacing: .035em;
	line-height: 1.25;
	color: var(--gwql-primary);
}

.gwql-form {
	position: relative;
	z-index: 1;
	font-family: var(--gwql-body-font);
}

.gwql-intro {
	max-width: 720px;
	margin: 8px auto 36px;
	text-align: center;
	color: var(--gwql-muted);
	font-size: 14px;
	line-height: 1.75;
}

.gwql-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px 18px;
}

.gwql-section-heading {
	grid-column: 1 / -1;
	margin: 18px 0 2px;
	padding-top: 26px;
	position: relative;
}

.gwql-section-heading:first-child {
	margin-top: 0;
	padding-top: 0;
}

.gwql-section-heading__kicker {
	display: block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--gwql-accent);
	margin-bottom: 6px;
}

.gwql-section-heading__title {
	font-family: var(--gwql-display-font);
	font-size: clamp(19px, 2.2vw, 24px);
	font-weight: 500;
	letter-spacing: .04em;
	line-height: 1.2;
	color: var(--gwql-primary);
	margin: 0;
}

.gwql-section-heading__line {
	display: block;
	width: 100%;
	height: 1px;
	background: color-mix(in srgb, var(--gwql-accent) 30%, transparent);
	margin-top: 13px;
}

.gwql-field--full { grid-column: 1 / -1; }
.gwql-field--half { grid-column: span 1; }
.gwql-field--third { grid-column: span 1; }

.gwql-label,
.gwql-legend {
	font-family: var(--gwql-body-font);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--gwql-primary);
	margin-bottom: 8px;
}

.gwql-required {
	color: var(--gwql-accent);
}

.gwql-input {
	appearance: none;
	background: color-mix(in srgb, white 84%, var(--gwql-surface));
	border: 1px solid color-mix(in srgb, var(--gwql-primary) 17%, transparent);
	border-radius: max(0px, calc(var(--gwql-radius) * .7));
	box-shadow: none;
	color: var(--gwql-text);
	font-family: var(--gwql-body-font);
	font-size: 15px;
	line-height: 1.45;
	min-height: 50px;
	padding: 13px 14px;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.gwql-input:hover {
	border-color: color-mix(in srgb, var(--gwql-accent) 58%, var(--gwql-primary));
}

.gwql-input:focus,
.gwql-input:focus-visible {
	background: #fff;
	border-color: var(--gwql-accent);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--gwql-accent) 17%, transparent);
	outline: none;
}

.gwql-select {
	height: 50px !important;
	min-height: 50px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-right: 44px !important;
	line-height: 50px !important;
}

.gwql-textarea {
	min-height: 130px;
	line-height: 1.65;
	padding-top: 14px;
}

.gwql-help {
	font-size: 12px;
	line-height: 1.55;
	color: var(--gwql-muted);
	margin-top: 7px;
}

.gwql-fieldset {
	border: 0;
	padding: 0;
	margin: 0;
	min-width: 0;
}

.gwql-services {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.gwql-service {
	position: relative;
	display: flex;
	align-items: stretch;
	min-height: 142px;
	background: color-mix(in srgb, white 78%, var(--gwql-surface));
	border: 1px solid color-mix(in srgb, var(--gwql-primary) 17%, transparent);
	border-radius: max(0px, calc(var(--gwql-radius) * .7));
	padding: 0;
	cursor: pointer;
	overflow: hidden;
	transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.gwql-service:hover {
	border-color: var(--gwql-accent);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(6, 17, 31, .08);
}

.gwql-service input[type="radio"] {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 17px;
	height: 17px;
	margin: 0;
	accent-color: var(--gwql-accent);
}

.gwql-service__body {
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 22px 48px 20px 20px;
}

.gwql-service__name {
	font-family: var(--gwql-display-font);
	font-size: 18px;
	font-weight: 500;
	letter-spacing: .025em;
	color: var(--gwql-primary);
	margin-bottom: 7px;
}

.gwql-service__desc {
	font-size: 12px;
	line-height: 1.55;
	color: var(--gwql-muted);
	margin-bottom: 14px;
}

.gwql-service__price {
	margin-top: auto;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--gwql-accent);
}

.gwql-service:has(input:checked) {
	background: var(--gwql-primary);
	border-color: var(--gwql-primary);
	box-shadow: inset 0 0 0 1px var(--gwql-accent);
}

.gwql-service:has(input:checked) .gwql-service__name,
.gwql-service:has(input:checked) .gwql-service__desc {
	color: var(--gwql-button-text);
}

.gwql-service:has(input:checked) .gwql-service__price {
	color: color-mix(in srgb, var(--gwql-accent) 82%, white);
}

.gwql-file {
	min-height: 82px;
	padding: 22px;
	border: 1px dashed color-mix(in srgb, var(--gwql-accent) 65%, transparent);
	background: var(--gwql-primary-soft);
}

.gwql-consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 16px 18px;
	background: var(--gwql-primary-soft);
	border: 1px solid color-mix(in srgb, var(--gwql-primary) 13%, transparent);
	border-radius: max(0px, calc(var(--gwql-radius) * .7));
	font-size: 13px;
	line-height: 1.55;
}

.gwql-consent input[type="checkbox"] {
	margin-top: 2px;
	accent-color: var(--gwql-accent);
}

.gwql-actions {
	text-align: center;
	margin-top: 40px;
	padding-top: 30px;
	border-top: 1px solid color-mix(in srgb, var(--gwql-accent) 26%, transparent);
}

.gwql-submit {
	position: relative;
	min-width: min(100%, 360px);
	min-height: 54px;
	border: 1px solid var(--gwql-accent);
	border-radius: max(0px, calc(var(--gwql-radius) * .7));
	background: var(--gwql-primary);
	color: var(--gwql-button-text);
	font-family: var(--gwql-body-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .17em;
	text-transform: uppercase;
	padding: 16px 34px;
	box-shadow: none;
	transition: background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.gwql-submit:hover,
.gwql-submit:focus-visible {
	background: var(--gwql-accent);
	color: var(--gwql-primary);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(6, 17, 31, .12);
	outline: none;
}

.gwql-notice {
	position: relative;
	z-index: 1;
	border-radius: max(0px, calc(var(--gwql-radius) * .7));
}

@media (max-width: 720px) {
	.gwql-brand-auto,
	.gwql-brand-custom {
		padding: 30px 20px;
	}
	.gwql-brand-auto::before,
	.gwql-brand-custom::before {
		top: 10px;
		left: 10px;
		right: 10px;
		bottom: 10px;
	}
	.gwql-fields,
	.gwql-services {
		grid-template-columns: 1fr;
	}
	.gwql-field--half,
	.gwql-field--third {
		grid-column: 1 / -1;
	}
	.gwql-brand-header__wordmark {
		letter-spacing: .08em;
	}
	.gwql-submit {
		width: 100%;
		min-width: 0;
	}
}


/* Branded quote-page integration - 1.4.1 ------------------------------- */
body:has(.gwql-form-wrap) .site-content {
	padding-top: clamp(48px, 7vw, 84px);
	padding-bottom: clamp(56px, 8vw, 96px);
}

body:has(.gwql-form-wrap) .entry-header {
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
}

body:has(.gwql-form-wrap) .entry-title {
	font-family: var(--gwql-display-font, inherit);
	letter-spacing: .025em;
}

.gwql-brand-auto .gwql-section-heading:nth-of-type(n+2),
.gwql-brand-custom .gwql-section-heading:nth-of-type(n+2) {
	margin-top: 26px;
}

.gwql-brand-auto .gwql-field--service_select,
.gwql-brand-custom .gwql-field--service_select {
	margin-top: 2px;
}

.gwql-brand-auto .gwql-file,
.gwql-brand-custom .gwql-file {
	border-radius: max(0px, calc(var(--gwql-radius) * .7));
	color: var(--gwql-text);
}

.gwql-brand-auto .gwql-file::file-selector-button,
.gwql-brand-custom .gwql-file::file-selector-button {
	background: var(--gwql-primary);
	border: 1px solid var(--gwql-accent);
	color: var(--gwql-button-text);
	letter-spacing: .05em;
}

.gwql-brand-auto .gwql-file::file-selector-button:hover,
.gwql-brand-custom .gwql-file::file-selector-button:hover {
	background: var(--gwql-accent);
	color: var(--gwql-primary);
}

.gwql-brand-auto .gwql-consent,
.gwql-brand-custom .gwql-consent {
	border-left: 3px solid var(--gwql-accent);
}

.gwql-brand-auto .gwql-estimate,
.gwql-brand-custom .gwql-estimate {
	background: var(--gwql-primary-soft);
	border: 1px solid color-mix(in srgb, var(--gwql-accent) 38%, transparent);
	padding: 18px 20px;
	margin-top: 24px;
}

.gwql-brand-auto .gwql-estimate__value,
.gwql-brand-custom .gwql-estimate__value {
	color: var(--gwql-accent);
	font-family: var(--gwql-display-font);
}

@supports not (color: color-mix(in srgb, red 50%, blue)) {
	.gwql-brand-auto,
	.gwql-brand-custom { border-color: #c9b08f; }
	.gwql-brand-auto::before,
	.gwql-brand-custom::before { border-color: #e5d8ca; }
	.gwql-input,
	.gwql-service { background: #fff; border-color: #d8d8d8; }
	.gwql-file,
	.gwql-consent { background: #faf7f2; }
}


/* Luxury lower-form refinement - 1.4.2 ------------------------------- */
.gwql-brand-auto .gwql-field--service_select,
.gwql-brand-custom .gwql-field--service_select {
	margin-top: 4px;
}

.gwql-brand-auto .gwql-services,
.gwql-brand-custom .gwql-services {
	gap: 16px;
}

.gwql-brand-auto .gwql-service,
.gwql-brand-custom .gwql-service {
	min-height: 156px;
	background: var(--gwql-primary);
	border: 1px solid color-mix(in srgb, var(--gwql-accent) 74%, transparent);
	box-shadow: 0 10px 26px color-mix(in srgb, var(--gwql-primary) 16%, transparent);
}

.gwql-brand-auto .gwql-service:hover,
.gwql-brand-custom .gwql-service:hover {
	background: color-mix(in srgb, var(--gwql-primary) 92%, white 8%);
	border-color: var(--gwql-accent);
	box-shadow: 0 14px 30px color-mix(in srgb, var(--gwql-primary) 24%, transparent);
}

.gwql-brand-auto .gwql-service__name,
.gwql-brand-custom .gwql-service__name,
.gwql-brand-auto .gwql-service__desc,
.gwql-brand-custom .gwql-service__desc {
	color: var(--gwql-button-text);
}

.gwql-brand-auto .gwql-service__name,
.gwql-brand-custom .gwql-service__name {
	font-size: 19px;
	letter-spacing: .035em;
}

.gwql-brand-auto .gwql-service__desc,
.gwql-brand-custom .gwql-service__desc {
	opacity: .76;
}

.gwql-brand-auto .gwql-service__price,
.gwql-brand-custom .gwql-service__price {
	color: color-mix(in srgb, var(--gwql-accent) 88%, white 12%);
	font-size: 12px;
	letter-spacing: .11em;
}

.gwql-brand-auto .gwql-service input[type="radio"],
.gwql-brand-custom .gwql-service input[type="radio"] {
	accent-color: var(--gwql-accent);
	filter: drop-shadow(0 0 0 var(--gwql-accent));
}

.gwql-brand-auto .gwql-service:has(input:checked),
.gwql-brand-custom .gwql-service:has(input:checked) {
	background: var(--gwql-accent);
	border-color: var(--gwql-accent);
	box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--gwql-primary) 24%, transparent), 0 14px 30px color-mix(in srgb, var(--gwql-primary) 20%, transparent);
}

.gwql-brand-auto .gwql-service:has(input:checked) .gwql-service__name,
.gwql-brand-custom .gwql-service:has(input:checked) .gwql-service__name,
.gwql-brand-auto .gwql-service:has(input:checked) .gwql-service__desc,
.gwql-brand-custom .gwql-service:has(input:checked) .gwql-service__desc,
.gwql-brand-auto .gwql-service:has(input:checked) .gwql-service__price,
.gwql-brand-custom .gwql-service:has(input:checked) .gwql-service__price {
	color: var(--gwql-primary);
}

.gwql-brand-auto [data-gwql-field="photos"],
.gwql-brand-custom [data-gwql-field="photos"] {
	position: relative;
	padding: 24px;
	background: color-mix(in srgb, var(--gwql-surface) 94%, var(--gwql-accent) 6%);
	border: 1px solid color-mix(in srgb, var(--gwql-accent) 46%, transparent);
	border-radius: max(0px, calc(var(--gwql-radius) * .7));
}

.gwql-brand-auto [data-gwql-field="photos"] .gwql-label,
.gwql-brand-custom [data-gwql-field="photos"] .gwql-label {
	font-family: var(--gwql-display-font);
	font-size: 18px;
	font-weight: 500;
	letter-spacing: .02em;
	text-transform: none;
}

.gwql-brand-auto .gwql-file,
.gwql-brand-custom .gwql-file {
	width: 100%;
	min-height: 92px;
	margin-top: 8px;
	padding: 24px;
	background: var(--gwql-surface);
	border: 1px dashed var(--gwql-accent);
	color: var(--gwql-muted);
	cursor: pointer;
}

.gwql-brand-auto .gwql-file::file-selector-button,
.gwql-brand-custom .gwql-file::file-selector-button {
	min-height: 42px;
	margin-right: 16px;
	padding: 10px 18px;
	background: var(--gwql-primary);
	border: 1px solid var(--gwql-accent);
	border-radius: max(0px, calc(var(--gwql-radius) * .7));
	color: var(--gwql-button-text);
	font-family: var(--gwql-body-font);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.gwql-brand-auto [data-gwql-field="photos"] .gwql-help,
.gwql-brand-custom [data-gwql-field="photos"] .gwql-help {
	margin-top: 9px;
	color: var(--gwql-muted);
}

.gwql-brand-auto [data-gwql-field="consent"],
.gwql-brand-custom [data-gwql-field="consent"] {
	margin-top: 4px;
}

.gwql-brand-auto .gwql-consent,
.gwql-brand-custom .gwql-consent {
	padding: 18px 20px;
	background: color-mix(in srgb, var(--gwql-primary) 5%, var(--gwql-surface));
	border: 1px solid color-mix(in srgb, var(--gwql-accent) 42%, transparent);
	border-left: 4px solid var(--gwql-accent);
	color: var(--gwql-text);
}

.gwql-brand-auto .gwql-consent input[type="checkbox"],
.gwql-brand-custom .gwql-consent input[type="checkbox"] {
	width: 21px;
	height: 21px;
	accent-color: var(--gwql-accent);
}

.gwql-brand-auto .gwql-actions,
.gwql-brand-custom .gwql-actions {
	margin-top: 42px;
	padding-top: 34px;
	border-top: 1px solid color-mix(in srgb, var(--gwql-accent) 38%, transparent);
}

.gwql-brand-auto .gwql-submit,
.gwql-brand-custom .gwql-submit {
	width: min(100%, 440px);
	min-height: 58px;
	background: var(--gwql-primary);
	border: 1px solid var(--gwql-accent);
	color: var(--gwql-button-text);
	box-shadow: 0 12px 28px color-mix(in srgb, var(--gwql-primary) 22%, transparent);
}

.gwql-brand-auto .gwql-submit:hover,
.gwql-brand-auto .gwql-submit:focus-visible,
.gwql-brand-custom .gwql-submit:hover,
.gwql-brand-custom .gwql-submit:focus-visible {
	background: var(--gwql-accent);
	color: var(--gwql-primary);
	box-shadow: 0 15px 32px color-mix(in srgb, var(--gwql-primary) 26%, transparent);
}

.gwql-brand-auto .gwql-estimate,
.gwql-brand-custom .gwql-estimate {
	border-left: 4px solid var(--gwql-accent);
}

@media (max-width: 720px) {
	.gwql-brand-auto .gwql-service,
	.gwql-brand-custom .gwql-service {
		min-height: 0;
	}
	.gwql-brand-auto [data-gwql-field="photos"],
	.gwql-brand-custom [data-gwql-field="photos"] {
		padding: 18px;
	}
	.gwql-brand-auto .gwql-file,
	.gwql-brand-custom .gwql-file {
		padding: 18px;
	}
	.gwql-brand-auto .gwql-file::file-selector-button,
	.gwql-brand-custom .gwql-file::file-selector-button {
		display: block;
		margin: 0 0 12px;
	}
}

/* Final luxury polish - 1.4.3 --------------------------------------------- */
.gwql-brand-auto [data-gwql-field="service_requested"] + .gwql-section-heading,
.gwql-brand-custom [data-gwql-field="service_requested"] + .gwql-section-heading {
	margin-top: 0;
	padding-top: 10px;
}

.gwql-brand-auto .gwql-services > .gwql-service:last-child:nth-child(odd),
.gwql-brand-custom .gwql-services > .gwql-service:last-child:nth-child(odd) {
	grid-column: 1 / -1;
	justify-self: center;
	width: calc(50% - 8px);
}

.gwql-brand-auto .gwql-service,
.gwql-brand-custom .gwql-service {
	min-height: 138px;
}

.gwql-brand-auto .gwql-service__body,
.gwql-brand-custom .gwql-service__body {
	padding: 20px 52px 18px 20px;
}

.gwql-brand-auto .gwql-service__name,
.gwql-brand-custom .gwql-service__name {
	font-size: 20px;
	line-height: 1.2;
}

.gwql-brand-auto .gwql-service input[type="radio"],
.gwql-brand-custom .gwql-service input[type="radio"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: transparent !important;
	border: 2px solid color-mix(in srgb, var(--gwql-accent) 88%, white 12%) !important;
	border-radius: 50% !important;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--gwql-primary) 28%, transparent);
	height: 20px !important;
	width: 20px !important;
	outline: none;
	transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.gwql-brand-auto .gwql-service input[type="radio"]:checked,
.gwql-brand-custom .gwql-service input[type="radio"]:checked {
	background: radial-gradient(circle at center, var(--gwql-primary) 0 31%, var(--gwql-accent) 34% 100%) !important;
	border-color: var(--gwql-accent) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gwql-accent) 24%, transparent);
}

.gwql-brand-auto .gwql-service input[type="radio"]:focus-visible,
.gwql-brand-custom .gwql-service input[type="radio"]:focus-visible {
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--gwql-accent) 34%, transparent);
}

.gwql-brand-auto .gwql-textarea,
.gwql-brand-custom .gwql-textarea {
	min-height: 128px;
	resize: vertical;
}

.gwql-brand-auto [data-gwql-field="photos"],
.gwql-brand-custom [data-gwql-field="photos"] {
	padding: 22px;
}

.gwql-brand-auto .gwql-file,
.gwql-brand-custom .gwql-file {
	min-height: 82px;
	padding: 20px;
	transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.gwql-brand-auto .gwql-file:hover,
.gwql-brand-custom .gwql-file:hover,
.gwql-brand-auto .gwql-file:focus,
.gwql-brand-custom .gwql-file:focus {
	background: color-mix(in srgb, var(--gwql-surface) 96%, var(--gwql-accent) 4%);
	border-color: var(--gwql-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gwql-accent) 12%, transparent);
}

.gwql-brand-auto .gwql-file::file-selector-button,
.gwql-brand-custom .gwql-file::file-selector-button {
	min-width: 148px;
}

.gwql-brand-auto .gwql-consent,
.gwql-brand-custom .gwql-consent {
	align-items: center;
	gap: 12px;
	line-height: 1.45;
}

.gwql-brand-auto .gwql-consent input[type="checkbox"],
.gwql-brand-custom .gwql-consent input[type="checkbox"] {
	-webkit-appearance: none;
	appearance: none;
	background: var(--gwql-surface);
	border: 1.5px solid var(--gwql-accent);
	border-radius: max(0px, calc(var(--gwql-radius) * .45));
	display: grid;
	place-content: center;
}

.gwql-brand-auto .gwql-consent input[type="checkbox"]::before,
.gwql-brand-custom .gwql-consent input[type="checkbox"]::before {
	content: "";
	width: 10px;
	height: 10px;
	transform: scale(0);
	transition: transform .12s ease-in-out;
	box-shadow: inset 1em 1em var(--gwql-primary);
	clip-path: polygon(14% 44%, 0 59%, 40% 100%, 100% 19%, 84% 4%, 39% 70%);
}

.gwql-brand-auto .gwql-consent input[type="checkbox"]:checked,
.gwql-brand-custom .gwql-consent input[type="checkbox"]:checked {
	background: var(--gwql-accent);
}

.gwql-brand-auto .gwql-consent input[type="checkbox"]:checked::before,
.gwql-brand-custom .gwql-consent input[type="checkbox"]:checked::before {
	transform: scale(1);
}

.gwql-brand-auto .gwql-actions,
.gwql-brand-custom .gwql-actions {
	margin-top: 34px;
	padding-top: 28px;
}

.gwql-brand-auto .gwql-submit,
.gwql-brand-custom .gwql-submit {
	letter-spacing: .16em;
}

@media (max-width: 720px) {
	.gwql-brand-auto .gwql-services > .gwql-service:last-child:nth-child(odd),
	.gwql-brand-custom .gwql-services > .gwql-service:last-child:nth-child(odd) {
		grid-column: auto;
		justify-self: stretch;
		width: 100%;
	}
	.gwql-brand-auto .gwql-service,
	.gwql-brand-custom .gwql-service {
		min-height: 0;
	}
}

/* Luxury motion layer - 1.5.0 --------------------------------------------- */
.gwql-form-wrap {
	--gwql-pointer-x: 50%;
	--gwql-pointer-y: 30%;
	--gwql-tilt-x: 0deg;
	--gwql-tilt-y: 0deg;
}

.gwql-motion-ready .gwql-brand-header {
	position: relative;
	isolation: isolate;
	transform: perspective(900px) rotateX(var(--gwql-tilt-x)) rotateY(var(--gwql-tilt-y));
	transform-origin: center center;
	transition: transform 260ms cubic-bezier(.2,.8,.2,1);
	will-change: transform;
}

.gwql-motion-ready .gwql-brand-header::before {
	content: "";
	position: absolute;
	inset: -28px -18px;
	z-index: -1;
	pointer-events: none;
	background: radial-gradient(circle at var(--gwql-pointer-x) var(--gwql-pointer-y), color-mix(in srgb, var(--gwql-accent) 12%, transparent) 0, transparent 42%);
	opacity: .78;
	transition: opacity 220ms ease;
}

.gwql-motion-ready .gwql-brand-header__rule::after {
	animation: gwqlDiamondGlow 3.6s ease-in-out infinite;
}

@keyframes gwqlDiamondGlow {
	0%, 100% { transform: rotate(45deg) scale(1); box-shadow: 0 0 0 0 color-mix(in srgb, var(--gwql-accent) 0%, transparent); }
	50% { transform: rotate(45deg) scale(1.15); box-shadow: 0 0 0 6px color-mix(in srgb, var(--gwql-accent) 8%, transparent); }
}

.gwql-motion-ready .gwql-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition:
		opacity 620ms cubic-bezier(.2,.75,.2,1),
		transform 620ms cubic-bezier(.2,.75,.2,1);
	transition-delay: var(--gwql-reveal-delay, 0ms);
}

.gwql-motion-ready .gwql-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.gwql-motion-ready .gwql-section-heading.gwql-reveal {
	transform: translateY(22px);
}

.gwql-motion-ready .gwql-service.gwql-reveal {
	transform: translateY(22px) scale(.985);
}

.gwql-motion-ready .gwql-service.gwql-reveal.is-visible {
	transform: translateY(0) scale(1);
}

.gwql-brand-auto .gwql-service,
.gwql-brand-custom .gwql-service {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition:
		transform 260ms cubic-bezier(.2,.8,.2,1),
		box-shadow 260ms ease,
		border-color 220ms ease,
		background-color 220ms ease;
}

.gwql-brand-auto .gwql-service::before,
.gwql-brand-custom .gwql-service::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: linear-gradient(115deg, transparent 0 36%, color-mix(in srgb, var(--gwql-accent) 13%, transparent) 48%, transparent 60% 100%);
	transform: translateX(-115%);
	transition: transform 620ms cubic-bezier(.2,.8,.2,1);
}

.gwql-brand-auto .gwql-service:hover,
.gwql-brand-custom .gwql-service:hover {
	transform: translateY(-5px);
	border-color: var(--gwql-accent);
	box-shadow: 0 18px 36px color-mix(in srgb, var(--gwql-primary) 28%, transparent);
}

.gwql-brand-auto .gwql-service:hover::before,
.gwql-brand-custom .gwql-service:hover::before {
	transform: translateX(115%);
}

.gwql-brand-auto .gwql-service:has(input:checked),
.gwql-brand-custom .gwql-service:has(input:checked) {
	transform: translateY(-3px);
	box-shadow: 0 17px 34px color-mix(in srgb, var(--gwql-primary) 26%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--gwql-accent) 85%, transparent);
}

.gwql-brand-auto .gwql-service input[type="radio"]:checked,
.gwql-brand-custom .gwql-service input[type="radio"]:checked {
	animation: gwqlRadioPop 260ms cubic-bezier(.2,.9,.3,1.35);
}

@keyframes gwqlRadioPop {
	0% { transform: scale(.72); }
	70% { transform: scale(1.14); }
	100% { transform: scale(1); }
}

.gwql-brand-auto .gwql-input,
.gwql-brand-custom .gwql-input {
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		background-color 180ms ease,
		transform 180ms ease;
}

.gwql-brand-auto .gwql-field:focus-within .gwql-label,
.gwql-brand-auto .gwql-field:focus-within .gwql-legend,
.gwql-brand-custom .gwql-field:focus-within .gwql-label,
.gwql-brand-custom .gwql-field:focus-within .gwql-legend {
	color: var(--gwql-accent);
	transition: color 180ms ease;
}

.gwql-brand-auto .gwql-field:focus-within .gwql-input,
.gwql-brand-custom .gwql-field:focus-within .gwql-input {
	transform: translateY(-1px);
}

.gwql-brand-auto .gwql-submit,
.gwql-brand-custom .gwql-submit {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition:
		transform 240ms cubic-bezier(.2,.8,.2,1),
		box-shadow 240ms ease,
		background-color 220ms ease,
		color 220ms ease;
}

.gwql-brand-auto .gwql-submit::before,
.gwql-brand-custom .gwql-submit::before {
	content: "";
	position: absolute;
	top: -35%;
	bottom: -35%;
	left: -32%;
	width: 24%;
	z-index: -1;
	background: linear-gradient(90deg, transparent, color-mix(in srgb, white 28%, transparent), transparent);
	transform: skewX(-18deg);
	transition: left 680ms cubic-bezier(.2,.8,.2,1);
}

.gwql-brand-auto .gwql-submit:hover::before,
.gwql-brand-custom .gwql-submit:hover::before {
	left: 118%;
}

.gwql-brand-auto .gwql-submit:hover,
.gwql-brand-custom .gwql-submit:hover {
	transform: translateY(-3px);
}

.gwql-brand-auto .gwql-file,
.gwql-brand-custom .gwql-file {
	transition: transform 220ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.gwql-brand-auto .gwql-file:hover,
.gwql-brand-custom .gwql-file:hover {
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
	.gwql-motion-ready .gwql-brand-header,
	.gwql-motion-ready .gwql-reveal,
	.gwql-motion-ready .gwql-service.gwql-reveal,
	.gwql-brand-auto .gwql-service,
	.gwql-brand-custom .gwql-service,
	.gwql-brand-auto .gwql-input,
	.gwql-brand-custom .gwql-input,
	.gwql-brand-auto .gwql-submit,
	.gwql-brand-custom .gwql-submit,
	.gwql-brand-auto .gwql-file,
	.gwql-brand-custom .gwql-file {
		animation: none !important;
		transition: none !important;
		transform: none !important;
	}

	.gwql-motion-ready .gwql-reveal {
		opacity: 1 !important;
	}

	.gwql-motion-ready .gwql-brand-header::before,
	.gwql-brand-auto .gwql-service::before,
	.gwql-brand-custom .gwql-service::before,
	.gwql-brand-auto .gwql-submit::before,
	.gwql-brand-custom .gwql-submit::before {
		display: none !important;
	}
}
