/* Request a quote page. */

body.page-quote main.quote-page{
	width:auto;
	max-width:none;
	margin:0;
	padding:0;
	overflow-x:clip;
}

body.page-quote .quote-page *,
body.page-quote .quote-page *::before,
body.page-quote .quote-page *::after{box-sizing:border-box}

body.page-quote .quote-page p{margin:0 0 1em}
body.page-quote .quote-page h2{font-size:clamp(1.7rem,2.8vw,2.4rem)}
body.page-quote .quote-page h3{font-size:1.08rem;margin-bottom:8px}

/* Hero */

body.page-quote .quote-hero{
	padding-block:clamp(52px,6vw,86px);
	background:
		linear-gradient(90deg,transparent 0 49.9%,rgba(23,35,42,.04) 50%,transparent 50.1%),
		var(--zg-warm-white);
	background-size:96px 96px;
}

body.page-quote .quote-hero__grid{
	display:grid;
	grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);
	gap:clamp(36px,5vw,80px);
	align-items:center;
}

body.page-quote .quote-eyebrow{
	display:flex;
	gap:12px;
	align-items:center;
	margin-bottom:18px;
	color:var(--zg-teal);
	font-size:.76rem;
	font-weight:700;
	letter-spacing:.13em;
	text-transform:uppercase;
}

body.page-quote .quote-eyebrow > span{width:30px;height:2px;background:var(--zg-amber)}

body.page-quote .quote-hero h1{margin-bottom:20px;font-size:clamp(2.2rem,4.4vw,3.5rem);font-weight:650;line-height:1.06}
body.page-quote .quote-hero__lead{max-width:60ch;color:var(--zg-muted);font-size:clamp(1rem,1.2vw,1.15rem)}

body.page-quote .quote-response{
	padding:26px;
	border:1px solid var(--zg-border);
	border-radius:var(--zg-radius-card);
	background:#fff;
	box-shadow:var(--zg-shadow);
}

body.page-quote .quote-response__label{
	margin-bottom:16px;
	color:var(--zg-muted);
	font-size:.7rem;
	font-weight:700;
	letter-spacing:.1em;
	text-transform:uppercase;
}

body.page-quote .quote-response__list{margin:0;padding:0;list-style:none}

body.page-quote .quote-response__list li{
	display:grid;
	gap:3px;
	padding-block:14px;
	border-top:1px solid var(--zg-border);
}

body.page-quote .quote-response__list strong{color:var(--zg-graphite);font-size:1.02rem;font-weight:700}
body.page-quote .quote-response__list span{color:var(--zg-muted);font-size:.82rem;line-height:1.5}

/* Layout */

body.page-quote .quote-section{padding-block:clamp(56px,7vw,96px);background:var(--zg-mist)}

body.page-quote .quote-layout{
	display:grid;
	grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
	gap:clamp(32px,5vw,72px);
	align-items:start;
}

/* Aside */

body.page-quote .quote-aside h2{margin-bottom:14px}
body.page-quote .quote-aside > p{color:var(--zg-muted)}

body.page-quote .quote-paths{display:grid;gap:12px;margin:28px 0}

body.page-quote .quote-path{
	display:grid;
	grid-template-columns:34px 1fr;
	gap:6px 14px;
	padding:20px;
	border:1px solid var(--zg-border);
	border-radius:var(--zg-radius-card);
	background:#fff;
}

body.page-quote .quote-path__index{color:var(--zg-amber);font-size:.72rem;font-weight:800;letter-spacing:.08em;grid-row:span 3}
body.page-quote .quote-path h3{margin:0}
body.page-quote .quote-path p{margin:0;color:var(--zg-muted);font-size:.9rem;line-height:1.6}
body.page-quote .quote-path__foot{margin-top:10px !important;color:var(--zg-graphite) !important;font-size:.84rem;font-weight:650}

body.page-quote .quote-checklist{
	padding:24px;
	border-top:2px solid var(--zg-teal);
	border-radius:0 0 var(--zg-radius-card) var(--zg-radius-card);
	background:#fff;
}

body.page-quote .quote-checklist ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px}
body.page-quote .quote-checklist li{
	padding-left:22px;
	position:relative;
	color:var(--zg-copy);
	font-size:.9rem;
}

body.page-quote .quote-checklist li::before{
	content:"";
	position:absolute;
	top:9px;
	left:2px;
	width:8px;
	height:8px;
	border:2px solid var(--zg-teal);
	border-radius:2px;
}

body.page-quote .quote-aside__note{margin-top:18px !important;color:var(--zg-muted);font-size:.8rem;line-height:1.6}

/* Form */

body.page-quote .quote-form-card{
	padding:clamp(22px,3.4vw,40px);
	border:1px solid var(--zg-border);
	border-top:4px solid var(--zg-teal);
	border-radius:var(--zg-radius-card);
	background:#fff;
	box-shadow:var(--zg-shadow);
}

body.page-quote .quote-form-card__title{margin-bottom:22px;font-size:1.35rem !important}

body.page-quote .quote-notice{
	display:grid;
	gap:4px;
	margin-bottom:24px;
	padding:15px 17px;
	border:1px solid;
	border-left-width:4px;
	border-radius:7px;
	font-size:.92rem;
	line-height:1.5;
}

body.page-quote .quote-notice--error{border-color:var(--zg-error);background:#fff3f1;color:#76231e}
body.page-quote .quote-notice--success{border-color:var(--zg-ok);background:#edf7f5;color:#104e54}

body.page-quote .quote-fieldset{
	margin:0 0 26px;
	padding:0;
	border:0;
}

body.page-quote .quote-fieldset legend{
	padding:0;
	margin-bottom:16px;
	color:var(--zg-teal);
	font-size:.72rem;
	font-weight:800;
	letter-spacing:.11em;
	text-transform:uppercase;
}

body.page-quote .quote-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body.page-quote .quote-field--wide{grid-column:1/-1}

body.page-quote .quote-field label{
	display:block;
	margin-bottom:7px;
	color:var(--zg-graphite);
	font-size:.88rem;
	font-weight:650;
	line-height:1.4;
}

body.page-quote .quote-field label span[aria-hidden="true"]{color:var(--zg-error)}
body.page-quote .quote-field__hint{display:block;margin-top:3px;color:var(--zg-muted);font-size:.76rem;font-weight:500}

body.page-quote .quote-field input,
body.page-quote .quote-field select,
body.page-quote .quote-field textarea{
	width:100%;
	min-height:46px;
	padding:10px 12px;
	border:1px solid #aeb8bc;
	border-radius:var(--zg-radius-control);
	background:#fff;
	color:var(--zg-graphite);
	font:inherit;
	font-size:.95rem;
	line-height:1.45;
}

body.page-quote .quote-field textarea{min-height:96px;resize:vertical}
body.page-quote .quote-field input:hover,
body.page-quote .quote-field select:hover,
body.page-quote .quote-field textarea:hover{border-color:var(--zg-teal)}
body.page-quote .quote-field input[type="file"]{padding:9px 12px;background:var(--zg-mist)}

body.page-quote .quote-consent{
	display:grid;
	grid-template-columns:20px 1fr;
	gap:10px;
	align-items:start;
	margin:6px 0 22px;
	color:var(--zg-copy);
	font-size:.88rem;
	line-height:1.55;
	cursor:pointer;
}

body.page-quote .quote-consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--zg-teal)}

body.page-quote .quote-honeypot{
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	margin:-1px !important;
	padding:0 !important;
	overflow:hidden !important;
	clip:rect(0,0,0,0) !important;
	white-space:nowrap !important;
	border:0 !important;
}

body.page-quote .quote-submit{display:grid;gap:12px}
body.page-quote .quote-submit__note{color:var(--zg-muted);font-size:.8rem;line-height:1.6;max-width:60ch}

body.page-quote .quote-page :focus-visible{outline:3px solid var(--zg-focus);outline-offset:3px}

/* CTA */

body.page-quote .quote-cta{padding-block:clamp(56px,6.5vw,92px);background:var(--zg-graphite)}
body.page-quote .quote-cta__inner{
	display:grid;
	grid-template-columns:minmax(0,1.3fr) auto;
	gap:40px;
	align-items:end;
}

body.page-quote .quote-cta h2{color:#fff;margin-bottom:14px}
body.page-quote .quote-cta p:not(.zg-kicker){max-width:62ch;color:#b9c3c6}
body.page-quote .quote-cta__actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start}

/* Responsive */

@media (max-width:1080px){
	body.page-quote .quote-layout{grid-template-columns:1fr}
	body.page-quote .quote-cta__inner{grid-template-columns:1fr}
}

@media (max-width:900px){
	body.page-quote .quote-hero__grid{grid-template-columns:1fr}
}

@media (max-width:640px){
	body.page-quote .quote-form__grid{grid-template-columns:1fr}
	body.page-quote .quote-submit .zg-btn{width:100%}
	body.page-quote .quote-cta__actions .zg-btn{width:100%}
}

@media (prefers-reduced-motion:reduce){
	body.page-quote .zg-btn{transition:none}
}
