.nasr-form { --nasr-accent: #1f1f1f; --nasr-line: #cfc9bf; --nasr-muted: #6b665e; max-width: 760px; margin: 0 auto; padding: 28px; border: 1px solid #e2ddd5; border-radius: 14px; background: #fff; color: #222; }
.nasr-form *, .nasr-form *::before, .nasr-form *::after { box-sizing: border-box; }
.nasr-title { margin: 0 0 6px; font-family: "Questrial", sans-serif; font-weight: 400; }
.nasr-lead { margin: 0 0 20px; color: #444; }
.nasr-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.nasr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin-bottom: 14px; }
.nasr-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 12px 0 0; }
.nasr-form label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; font-weight: 600; }
.nasr-form input[type=text], .nasr-form input[type=email], .nasr-form input[type=tel], .nasr-form input[type=number], .nasr-form input[type=date], .nasr-form select, .nasr-form textarea {
	font: inherit; font-weight: 400; font-size: 16px; padding: 10px 12px; min-height: 44px; width: 100%;
	border: 1px solid var(--nasr-line); border-radius: 8px; background: #fff; color: #222;
}
.nasr-form textarea { min-height: 84px; }
.nasr-drop { margin: 4px 0 14px; padding: 18px; border: 2px dashed var(--nasr-line); border-radius: 12px; background: #faf8f5; cursor: pointer; }
.nasr-drop:hover, .nasr-drop:focus-within { border-color: var(--nasr-accent); }
.nasr-drop-title { font-size: 16px; }
.nasr-drop-hint { font-weight: 400; color: var(--nasr-muted); }
.nasr-drop input[type=file] { margin-top: 8px; font-weight: 400; }
.nasr-files { font-weight: 400; font-size: 13px; color: #2d6a2d; }
.nasr-more { margin: 0 0 14px; }
.nasr-more summary { cursor: pointer; font-weight: 600; font-size: 14px; }
.nasr-turnstile { margin: 6px 0 0; }
.nasr-turnstile:empty { display: none; }
.nasr-status { min-height: 1em; margin: 10px 0; font-size: 14px; }
.nasr-status.is-err { color: #8a1c12; }
.nasr-form button.nasr-submit {
	display: block; width: 100%; padding: 15px 22px; margin: 0; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--nasr-accent); color: #fff; font: inherit; font-size: 16px; font-weight: 600; text-transform: none; letter-spacing: normal;
}
.nasr-form button.nasr-submit:disabled { opacity: .6; cursor: wait; }
.nasr-small { margin: 10px 0 0; font-size: 13px; color: var(--nasr-muted); text-align: center; }
.nasr-done { text-align: center; padding: 24px 8px; }
.nasr-done h2 { margin: 0 0 8px; font-family: "Questrial", sans-serif; font-weight: 400; }
@media (max-width: 600px) {
	.nasr-form { padding: 20px 16px; }
	.nasr-grid { grid-template-columns: minmax(0, 1fr); }
	.nasr-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.nasr-tool { margin: -8px 0 16px; font-size: 15px; } .nasr-tool a { font-weight: 600; }

/* "Start your quote" panel (replaces the quick form; quotes go through the measuring tool) */
.nasr-start { max-width: 760px; margin: 0 auto; padding: 28px; border: 1px solid #e2ddd5; border-top: 3px solid #b08d57; border-radius: 14px; background: #fff; color: #222; }
.nasr-start *, .nasr-start *::before, .nasr-start *::after { box-sizing: border-box; }
.nasr-start-eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: 13px; font-weight: 600; color: #b08d57; margin: 0 0 8px; }
.nasr-start-steps { list-style: none; counter-reset: m; margin: 18px 0 22px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.nasr-start-steps li { counter-increment: m; position: relative; padding-left: 42px; margin: 0; }
.nasr-start-steps li::before { content: counter(m); position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 50%; background: #1f1f1f; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 14px; }
.nasr-start-steps strong { display: block; }
.nasr-start-steps span { color: #6b665e; font-size: 14px; }
.nasr-start .nasr-start-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 6px; }
.nasr-start .nasr-start-btn { display: inline-block; padding: 14px 24px; border-radius: 999px; border: 2px solid #1f1f1f; background: #1f1f1f; color: #fff !important; font-weight: 600; text-decoration: none !important; text-align: center; }
.nasr-start .nasr-start-btn.is-ghost { background: #fff; color: #1f1f1f !important; }
@media (max-width: 600px) {
	.nasr-start { padding: 20px 16px; }
	.nasr-start-steps { grid-template-columns: minmax(0, 1fr); }
	.nasr-start .nasr-start-btn { flex: 1 1 100%; }
}
