.amlaw-lead-error {
	color: #b80000;
}

[data-local-form] [hidden] {
	display: none !important;
}

.amlaw-lead-status {
	font: 500 13px/1.5 Inter, sans-serif;
	margin: 0 0 14px;
}

.amlaw-honeypot {
	height: 1px !important;
	left: -10000px !important;
	overflow: hidden !important;
	position: absolute !important;
	top: auto !important;
	width: 1px !important;
}

[aria-invalid="true"] {
	border-color: #b80000 !important;
	outline: 1px solid #b80000;
}

/* ---- download gate modal ---- */
.amlaw-download-gate[hidden] { display: none !important; }
.amlaw-download-gate { align-items: center; display: flex; inset: 0; justify-content: center; padding: 16px; position: fixed; z-index: 120; }
.amlaw-download-gate__backdrop { backdrop-filter: blur(4px); background: rgba(0,0,0,.7); border: 0; inset: 0; position: absolute; }
.amlaw-download-gate__panel { background: #fff; box-shadow: 0 20px 60px rgba(0,0,0,.35); max-height: 90vh; max-width: 480px; overflow: auto; position: relative; width: 100%; z-index: 1; }
.amlaw-download-gate__close { background: transparent; border: 0; color: rgba(255,255,255,.65); cursor: pointer; font-size: 28px; line-height: 1; padding: 12px; position: absolute; right: 8px; top: 5px; z-index: 2; }
.amlaw-download-gate__head { background: #0a1f44; color: #fff; padding: 24px 32px; }
.amlaw-download-gate__head h2 { color: #fff; font-size: 28px; font-weight: 400; margin: 0; }
.amlaw-download-gate__head > p { color: rgba(255,255,255,.6); font-size: 13px; line-height: 1.5; margin: 8px 0 0; }
.amlaw-download-gate__form { display: grid; gap: 18px; padding: 28px 32px 32px; }
.amlaw-download-gate__form > label:not(.amlaw-download-gate__consent) { color: #888; display: grid; font: 600 10px/1.4 Inter,sans-serif; gap: 8px; letter-spacing: .2em; text-transform: uppercase; }
.amlaw-download-gate__form input:not([type="checkbox"]) { background: #f7f5f0; border: 1px solid #e0ddd8; border-radius: 0; box-sizing: border-box; color: #1a1a1a; font: 400 14px/1.4 Inter,sans-serif; letter-spacing: 0; padding: 13px 16px; text-transform: none; width: 100%; }
.amlaw-download-gate__form input:focus { border-color: #0a1f44; outline: 0; }
.amlaw-download-gate__consent { align-items: flex-start; display: flex; gap: 12px; }
.amlaw-download-gate__consent input { accent-color: #0a1f44; margin-top: 2px; }
.amlaw-download-gate__consent span { color: #999; font: 400 11px/1.5 Inter,sans-serif; }
.amlaw-download-gate__submit { background: #b80000; border: 0; color: #fff; cursor: pointer; font: 600 11px/16px Inter,sans-serif; letter-spacing: .2em; padding: 16px; text-transform: uppercase; }
.amlaw-download-gate__submit:hover:not(:disabled) { background: #ff1a0a; }
.amlaw-download-gate__submit:disabled { cursor: wait; opacity: .7; }
.amlaw-download-gate__success { padding: 32px 0 8px; text-align: center; }
.amlaw-download-gate__success h3 { color: #0a1f44; font-size: 28px; font-weight: 400; margin: 0 0 10px; }
.amlaw-download-gate__success p { color: #888; font: 400 13px/1.6 Inter,sans-serif; margin: 0 0 14px; }
.amlaw-download-gate__retry { color: #b80000; font: 600 11px/1 Inter,sans-serif; letter-spacing: .15em; text-decoration: none; text-transform: uppercase; }
.amlaw-download-gate__retry:hover { text-decoration: underline; }
/* ---- legal consent rows (shared component; markup classes normalized to .amlaw-form-consent by forms.js) ---- */
.amlaw-form-consent,
.form-sms-consent,
.home-form__consent,
.firm-contact-form__consent,
.visa-contact-form__consent,
.residency-lead-form__consent {
	align-items: flex-start;
	box-sizing: border-box;
	display: flex !important;
	gap: 12px;
	grid-column: 1 / -1;
	letter-spacing: 0 !important;
	margin: 0;
	text-transform: none !important;
	width: 100%;
}
.amlaw-form-consent input[type="checkbox"],
.form-sms-consent input[type="checkbox"],
.home-form__consent input[type="checkbox"],
.firm-contact-form__consent input[type="checkbox"],
.visa-contact-form__consent input[type="checkbox"],
.residency-lead-form__consent input[type="checkbox"] {
	accent-color: #0a1f44;
	background: #fff;
	border: 1px solid #c9c4bb;
	box-sizing: border-box;
	flex: 0 0 auto;
	height: auto;
	margin: 3px 0 0;
	min-height: 0;
	min-width: 0;
	padding: 0;
	width: auto !important;
}
.amlaw-form-consent span,
.form-sms-consent span,
.home-form__consent span,
.firm-contact-form__consent span,
.visa-contact-form__consent span,
.residency-lead-form__consent span {
	color: #888;
	flex: 1;
	font: 400 11px/1.55 Inter, sans-serif;
	min-width: 0;
}
.form-sms-consent span { color: #999; }

/* Status, notice and success blocks must span the full form width in grid forms. */
.amlaw-lead-status,
.amlaw-form-notice,
.amlaw-form-success {
	box-sizing: border-box;
	grid-column: 1 / -1;
	width: 100%;
}
.amlaw-form-notice {
	color: #999;
	font: 400 11px/1.55 Inter, sans-serif;
	margin: 4px 0 0;
	text-transform: none;
	letter-spacing: 0;
}
.amlaw-form-notice a { color: #b80000; text-decoration: underline; }

/* ---- cookie consent ---- */
.amlaw-cookie[hidden], .amlaw-cookie-settings[hidden] { display: none !important; }
.amlaw-cookie {
	bottom: 0;
	left: 0;
	position: fixed;
	right: 0;
	z-index: 140;
}
.amlaw-cookie__box {
	align-items: center;
	background: #0a1f44;
	box-shadow: 0 -8px 40px rgba(0,0,0,.35);
	box-sizing: border-box;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	gap: 16px 24px;
	justify-content: space-between;
	padding: 18px 28px;
}
.amlaw-cookie__text {
	color: rgba(255,255,255,.85);
	flex: 1 1 480px;
	font: 400 13px/1.6 Inter, sans-serif;
	margin: 0;
}
.amlaw-cookie__text a { color: #c6a86b; }
.amlaw-cookie__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.amlaw-cookie__btn {
	background: transparent;
	border: 1px solid rgba(255,255,255,.45);
	color: #fff;
	cursor: pointer;
	font: 600 11px/1 Inter, sans-serif;
	letter-spacing: .15em;
	padding: 13px 20px;
	text-transform: uppercase;
}
.amlaw-cookie__btn:hover { border-color: #fff; }
.amlaw-cookie__btn--primary { background: #b80000; border-color: #b80000; }
.amlaw-cookie__btn--primary:hover { background: #ff1a0a; border-color: #ff1a0a; }
.amlaw-cookie__btn--link { border-color: transparent; text-decoration: underline; }
.amlaw-cookie__btn:focus-visible,
.amlaw-cookie-settings button:focus-visible,
.amlaw-cookie-settings input:focus-visible {
	outline: 2px solid #c6a86b;
	outline-offset: 2px;
}
.amlaw-cookie-settings {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 16px;
	position: fixed;
	z-index: 150;
}
.amlaw-cookie-settings__backdrop { background: rgba(0,0,0,.65); inset: 0; position: absolute; }
.amlaw-cookie-settings__panel {
	background: #fff;
	box-shadow: 0 20px 60px rgba(0,0,0,.4);
	max-height: 90vh;
	max-width: 520px;
	overflow: auto;
	padding: 32px;
	position: relative;
	width: 100%;
}
.amlaw-cookie-settings__close {
	background: transparent;
	border: 0;
	cursor: pointer;
	font-size: 26px;
	line-height: 1;
	padding: 10px;
	position: absolute;
	right: 8px;
	top: 8px;
}
.amlaw-cookie-settings__panel h2 { color: #0a1f44; font-size: 26px; font-weight: 400; margin: 0 0 20px; }
.amlaw-cookie-settings__row {
	align-items: center;
	border-top: 1px solid #e8e5df;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	padding: 16px 0;
}
.amlaw-cookie-settings__row strong { color: #0a1f44; font: 600 13px/1.4 Inter, sans-serif; }
.amlaw-cookie-settings__row p { color: #888; font: 400 12px/1.55 Inter, sans-serif; margin: 4px 0 0; }
.amlaw-cookie-settings__row input { accent-color: #0a1f44; flex: 0 0 auto; height: 20px; width: 20px; }
.amlaw-cookie-settings__actions { border-top: 1px solid #e8e5df; padding-top: 18px; text-align: right; }
.amlaw-cookie-settings__actions .amlaw-cookie__btn { color: #fff; }
@media (max-width: 600px) {
	.amlaw-cookie__box { padding: 16px 18px; }
	.amlaw-cookie__actions { width: 100%; }
	.amlaw-cookie__btn { flex: 1 1 auto; min-height: 44px; }
}

/* Mobile field typography: 16px inputs prevent iOS auto-zoom; 12px labels.
   Scoped to the shared inquiry-form classes — desktop styles untouched. */
@media (max-width: 600px) {
	[data-local-form] input:not([type="checkbox"]),
	[data-local-form] select,
	[data-local-form] textarea,
	.amlaw-modal__form input:not([type="checkbox"]),
	.amlaw-modal__form select,
	.amlaw-modal__form textarea,
	.amlaw-download-gate__form input:not([type="checkbox"]) {
		font-size: 16px !important;
	}
	[data-local-form] label,
	.amlaw-modal__form label,
	.amlaw-download-gate__form > label {
		font-size: 12px !important;
		letter-spacing: .14em;
	}
	.amlaw-form-consent,
	.form-sms-consent {
		font-size: 12px;
	}
}
