/** Request a Quote page-only styles. */
.ahm-quote-page {
	--quote-hero-start: #f7faf8;
	--quote-hero-end: #edf5ef;
}
.ahm-quote-hero {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(rgba(46,125,50,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(46,125,50,.035) 1px, transparent 1px),
		linear-gradient(120deg,var(--quote-hero-start),var(--quote-hero-end));
	background-size: 72px 72px,72px 72px,auto;
}
.ahm-quote-hero-grid {
	display: grid;
	min-height: 590px;
	padding: 72px 0;
	align-items: center;
	grid-template-columns: minmax(0,1.1fr) minmax(380px,.72fr);
	gap: 72px;
}
.ahm-quote-hero-copy h1 {
	max-width: 800px;
	margin: 16px 0 0;
	color: var(--color-primary);
	font-size: clamp(3rem,5.5vw,5.2rem);
	line-height: 1.03;
	letter-spacing: -.052em;
}
.ahm-quote-intro {
	max-width: 760px;
	margin: 26px 0 0;
	color: var(--color-muted);
	font-size: clamp(1.05rem,1.5vw,1.22rem);
	line-height: 1.72;
}
.ahm-quote-points {
	display: grid;
	margin: 30px 0 0;
	padding: 0;
	gap: 12px;
	list-style: none;
}
.ahm-quote-points li {
	position: relative;
	padding-left: 29px;
	color: var(--color-primary);
	font-weight: 650;
}
.ahm-quote-points li::before {
	position: absolute;
	left: 0;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	background: var(--color-secondary-soft);
	color: var(--color-secondary-text);
	font-size: .72rem;
	font-weight: 900;
	line-height: 19px;
	text-align: center;
	content: '✓';
}
.ahm-quote-summary {
	padding: 38px;
	border: 1px solid #cfe0d2;
	border-radius: 18px;
	background: rgba(255,255,255,.88);
	box-shadow: var(--shadow-card);
	backdrop-filter: blur(10px);
}
.ahm-quote-summary h2 {
	margin: 10px 0 26px;
	color: var(--color-primary);
	font-size: clamp(1.65rem,2.5vw,2.3rem);
	line-height: 1.16;
	letter-spacing: -.035em;
}
.ahm-quote-summary ol {
	display: grid;
	margin: 0;
	padding: 0;
	gap: 20px;
	list-style: none;
}
.ahm-quote-summary li {
	display: grid;
	align-items: start;
	grid-template-columns: 42px 1fr;
	gap: 14px;
}
.ahm-quote-summary li > span {
	display: flex;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--color-primary);
	color: #fff;
	font-size: .76rem;
	font-weight: 800;
}
.ahm-quote-summary strong,.ahm-quote-summary small { display: block; }
.ahm-quote-summary strong { color: var(--color-primary); }
.ahm-quote-summary small { margin-top: 5px; color: var(--color-muted); line-height: 1.55; }
.ahm-quote-form-section { padding: 88px 0; background: var(--color-surface); }
.ahm-quote-form-heading { max-width: 840px; margin: 0 auto 38px; text-align: center; }
.ahm-quote-form-heading h2 { margin: 8px 0 14px; color: var(--color-primary); font-size: clamp(2.2rem,4vw,3.7rem); letter-spacing: -.045em; }
.ahm-quote-form-heading > p:not(.eyebrow) { margin: 0; color: var(--color-muted); }
.ahm-quote-form-card {
	max-width: 1140px;
	margin: 0 auto;
	padding: 42px;
	border: 1px solid var(--color-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--shadow-card);
}
.ahm-quote-form-card .fluentform .ff-btn-submit { min-width: 190px; }
.ahm-quote-contact-strip { padding: 30px 0; border-top: 1px solid var(--color-line); background: #fff; }
.ahm-quote-contact-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.ahm-quote-contact-grid div { padding: 18px 20px; border-left: 3px solid var(--color-secondary); background: var(--color-surface); }
.ahm-quote-contact-grid span,.ahm-quote-contact-grid a { display: block; }
.ahm-quote-contact-grid span { color: var(--color-muted); font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .09em; }
.ahm-quote-contact-grid a { margin-top: 5px; color: var(--color-primary); font-weight: 700; }
.ahm-quote-contact-grid a:hover { color: var(--color-secondary-text); }
@media (max-width: 960px) {
	.ahm-quote-hero-grid { min-height: auto; grid-template-columns: 1fr; gap: 42px; }
	.ahm-quote-summary { max-width: 680px; }
}
@media (max-width: 767px) {
	.ahm-quote-hero-grid { padding: 44px 0 56px; }
	.ahm-quote-hero-copy h1 { font-size: clamp(2.55rem,12vw,4rem); }
	.ahm-quote-summary { padding: 27px 23px; }
	.ahm-quote-form-section { padding: 64px 0; }
	.ahm-quote-form-card { padding: 24px 18px; border-radius: 14px; }
	.ahm-quote-contact-grid { grid-template-columns: 1fr; }
}

/* Readability + form-width upgrade v2.5.1 */
.ahm-quote-layout,
.ahm-quote-form-card {
    width: min(100%, var(--container-form));
    margin-inline: auto;
}
.ahm-quote-contact-grid span { font-size: .82rem; }
