:root {
	/* Andrews Group brand: slate-grey primary (logo grey family), logo-orange accent */
	--color-primary: #3a4046;
	--color-primary-dark: #26292d;
	--color-text: #2b2f33;
	--color-muted: #74777c;
	--color-border: #e3e3e3;
	--color-bg: #ffffff;
	--color-bg-alt: #f1f3f6;
	--color-accent: #f57f20;
	--color-accent-dark: #d96c12;
	--color-accent-contrast: #ffffff;
	--color-danger: #b3261e;
	--font-base: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	--radius: 8px;
	--max-width: 1180px;
	--header-height: 122px; /* two-row sticky header; keep in sync if header changes */
}

* { box-sizing: border-box; }

html, body {
	margin: 0;
	padding: 0;
	font-family: var(--font-base);
	color: var(--color-text);
	background: var(--color-bg);
}

a { color: var(--color-text); text-decoration: none; transition: color .15s; }
a:hover { color: var(--color-accent); text-decoration: none; }

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

.container {
	max-width: none;
	margin: 0 auto;
	padding: 0 32px;
}
@media (max-width: 640px) {
	.container { padding: 0 16px; }
}
/* Cap for content-heavy pages where full bleed reads too sparse */
.container-narrow { max-width: var(--max-width); }

h1, h2, h3, h4 {
	font-weight: 600;
	line-height: 1.25;
	margin: 0 0 0.5em 0;
	color: var(--color-primary);
	letter-spacing: -0.01em;
}

p { line-height: 1.6; margin: 0 0 1em 0; }

button, input, select, textarea {
	font-family: inherit;
	font-size: 15px;
}

.btn {
	display: inline-block;
	padding: 10px 20px;
	background: var(--color-primary);
	color: var(--color-accent-contrast);
	border: none;
	border-radius: var(--radius);
	cursor: pointer;
	font-weight: 600;
	text-decoration: none;
	transition: background .15s;
}
.btn:hover { background: var(--color-accent); color: #fff; text-decoration: none; }
.btn-accent { background: var(--color-accent); }
.btn-accent:hover { background: var(--color-accent-dark); }
.btn-secondary { background: transparent; color: var(--color-text); border: 1px solid var(--color-border); }
.btn-secondary:hover { background: var(--color-bg-alt); color: var(--color-text); }
.btn-danger { background: var(--color-danger); }
.btn-danger:hover { background: #8f1e17; }

.form-row { margin-bottom: 14px; }
.form-row label { display: block; font-weight: 600; margin-bottom: 4px; font-size: 14px; }
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="tel"],
.form-row input[type="number"],
.form-row input[type="password"],
.form-row input[type="date"],
.form-row select,
.form-row textarea {
	width: 100%;
	padding: 9px 11px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	background: #fff;
}
.form-row .checkbox-inline { display: flex; align-items: center; gap: 8px; font-weight: normal; }

.alert { padding: 12px 16px; border-radius: var(--radius); margin-bottom: 16px; }
.alert-error { background: #fdecea; color: var(--color-danger); }
.alert-success { background: #eaf6ec; color: #1e7a34; }

.hp-field { position: absolute; left: -9999px; opacity: 0; }
