.quote-page { --quote-error: #a32620; }
.quote-page p,.quote-page label,.quote-page dd { word-break:keep-all; overflow-wrap:anywhere; }
.quote-hero { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.quote-hero h1 { font-size:clamp(2.4rem,4.4vw,4.5rem); line-height:1.16; letter-spacing:-.02em; margin:.6rem 0 1.5rem; }
.quote-hero .lede { margin-bottom:2rem; }
.quote-portrait { margin:0; }
.quote-portrait img { display:block; width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; border-radius:12px; }
.quote-portrait figcaption { margin-top:1rem; font-size:.875rem; color:var(--muted); }
.quote-expectations { padding-top:3rem; }
.quote-expectations .section-heading { display:block; max-width:48rem; }
.quote-expectations h2,.quote-form-intro h2,.quote-alternative h2 { font-size:clamp(1.65rem,2.5vw,2.5rem); line-height:1.3; letter-spacing:-.02em; margin:0 0 1rem; }
.quote-expectations p,.quote-form-intro p,.quote-alternative p { color:var(--muted); line-height:1.8; }
.quote-promise { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem; margin:2.5rem 0 0; }
.quote-promise div { padding-top:1.4rem; border-top:1px solid var(--line); }
.quote-promise dt { font-size:1.125rem; font-weight:650; margin-bottom:.6rem; }
.quote-promise dd { margin:0; color:var(--muted); line-height:1.75; }
.quote-form-section { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:clamp(2rem,7vw,7rem); align-items:start; border-top:1px solid var(--line); scroll-margin-top:6rem; }
.quote-form-intro { position:sticky; top:7rem; }
.quote-form-intro p { max-width:27rem; }
.quote-text-link { display:inline-block; padding:.65rem 0; color:var(--ink); font-weight:600; text-underline-offset:5px; }
.quote-form { display:grid; gap:1.75rem; min-width:0; }
.quote-form label { display:block; font-weight:600; line-height:1.65; margin-bottom:.6rem; }
.field-num { color:var(--muted); font-size:.875rem; padding-right:.65rem; }
.quote-form input,.quote-form textarea { display:block; width:100%; min-width:0; min-height:3.4rem; padding:.9rem 1rem; border:1px solid #8b847a; border-radius:8px; background:var(--paper); color:var(--ink); font:inherit; line-height:1.6; transition:border-color .15s,box-shadow .15s; }
.quote-form textarea { min-height:7.5em; resize:vertical; }
.quote-form input::placeholder,.quote-form textarea::placeholder { color:var(--muted); opacity:1; }
.quote-form input:focus,.quote-form textarea:focus { outline:2px solid var(--blue); outline-offset:3px; border-color:var(--blue); }
.quote-form [aria-invalid="true"] { border-color:var(--quote-error); }
.optional-label { color:var(--muted); font-weight:400; }
.quote-form .form-note,.quote-form .privacy-note,.quote-form-intro .form-note { font-size:.875rem; color:var(--muted); line-height:1.8; margin:.65rem 0 0; overflow-wrap:anywhere; }
.quote-form .privacy-note { margin:0; }
.quote-form a { color:inherit; text-underline-offset:3px; }
.field-error { color:var(--quote-error); font-size:.875rem; margin:.5rem 0 0; }
.field-error:empty { display:none; }
.form-error-summary { border:2px solid var(--quote-error); border-radius:8px; padding:1rem 1.25rem; }
.form-error-summary[hidden] { display:none; }
.form-error-summary p { margin:0 0 .5rem; font-weight:600; }
.form-error-summary ul { margin:0; padding-left:1.1rem; }
.form-error-summary li { margin:.4rem 0; }
.quote-form .cta-btn { display:inline-flex; align-items:center; justify-content:center; gap:1rem; max-width:100%; border:0; border-radius:12px; min-height:3.3rem; padding:.9rem 1.5rem; background:#00704a; color:#fff; font:inherit; font-weight:650; cursor:pointer; transition:background .15s,transform .15s; }
.quote-form .cta-btn:hover { background:#005b3c; }
.quote-form .cta-btn:active { transform:translateY(1px); }
.quote-form .cta-btn:disabled { cursor:wait; opacity:.65; }
.quote-form .cta-btn:focus-visible { outline:3px solid var(--ink); outline-offset:4px; }
#quote-form-msg[data-state="err"] { color:var(--quote-error); }
#quote-form-msg[data-state="ok"] { color:var(--ink); }
.msg-icon { padding-right:.5rem; font-weight:700; }
.quote-alternative { border-top:1px solid var(--line); }
.quote-alternative > div { display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem; margin-top:1.5rem; }
@media (prefers-color-scheme:dark) { .quote-page { --quote-error:#ffaaa0; } }
@media (max-width:767px) {
  .quote-hero,.quote-form-section { grid-template-columns:minmax(0,1fr); gap:2rem; }
  .quote-hero h1 { font-size:clamp(2.2rem,8vw,3.5rem); }
  .quote-promise { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
  .quote-form-intro { position:static; }
  .quote-portrait img { aspect-ratio:4/3; }
  .quote-form .cta-btn { width:100%; padding:.9rem .75rem; }
}
@media (prefers-reduced-motion:reduce) { .quote-form input,.quote-form textarea,.quote-form .cta-btn { transition:none; } }


/* The form destination opens the first task field, keeping its source case. */
html{scroll-padding-top:16px}
.quote-form-section{scroll-margin-top:24px}
.inquiry-case{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;padding:8px 0;border-bottom:1px solid var(--line);background:var(--paper)}
.inquiry-case[hidden]{display:none}
.inquiry-case .eyebrow{display:none}
.inquiry-case strong{display:block;font-size:15px;font-weight:500}
.inquiry-case a{display:inline-flex;align-items:center;min-height:36px;padding:4px 0;white-space:nowrap;font-size:14px}
#inquiry-handoff-status{margin:0;font-size:14px;line-height:1.6}
@media(max-width:767px){
 .quote-form-section{padding-top:28px;gap:20px;scroll-margin-top:16px}
 .quote-form-intro h2{font-size:26px;margin-bottom:12px}
 .quote-form-intro h2 br{display:none}
 .quote-form-intro p{margin:0 0 8px;font-size:16px}
 .quote-form-intro .form-note{font-size:14px}
 .quote-form-intro .quote-text-link{padding:4px 0;min-height:36px;font-size:14px}
 .quote-form{gap:24px}
 #q1{min-height:6em}
}
