.quote-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;padding-block:65px 55px;align-items:end}
.quote-intro h1{font-size:clamp(2.8rem,4.7vw,4.8rem);margin-bottom:22px}
.quote-intro .lead{margin-bottom:0;max-width:680px}
.quote-short{border-left:2px solid var(--accent);padding-left:28px}
.quote-short h2{font-size:1.5rem;letter-spacing:-.03em;margin-bottom:12px}
.quote-short p{font-size:.93rem;margin-bottom:8px}
.quote-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:80px;padding-bottom:100px;align-items:start}
.quote-guide{padding-top:32px}
.quote-guide>p{font-size:.9rem}
.quote-guide>.eyebrow{font-size:.7rem}
.quote-reassurance{border-top:1px solid var(--line);padding-top:25px}
.quote-progress{padding-left:26px;margin:25px 0 35px;line-height:2.4;color:var(--muted)}
.quote-progress li{padding-left:6px;font-size:.94rem}
.quote-progress [aria-current=step]{color:var(--ink);font-weight:700}
.quote-progress li.completed{color:var(--accent)}
.quote-panel{background:var(--surface);padding:34px 40px;border-top:3px solid var(--accent);min-width:0}
.quote-notice{padding:12px 15px;border:1px solid var(--line);font-size:.86rem;color:var(--ink);margin-bottom:28px}
.quote-step-count{font-size:.75rem;text-transform:uppercase;letter-spacing:.11em;color:var(--accent);font-weight:700}
.quote-step{min-width:0;padding-bottom:24px}
.quote-step+.quote-step{padding-top:28px;border-top:1px solid var(--line)}
.quote-enhanced .quote-step{padding:0 0 24px;border:0}
.quote-step h2{font-size:clamp(1.8rem,2.7vw,2.4rem);letter-spacing:-.035em;margin-bottom:15px}
.quote-step>p{font-size:.95rem}
.quote-step h2:focus{outline:none}
.quote-fields{display:grid;gap:24px}
.quote-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;min-width:0}
.quote-step label{line-height:1.5}
.quote-step label>span,.quote-choices legend>span,.quote-extra summary>span{font-weight:400;color:var(--muted);font-size:.83rem}
.quote-step input,.quote-step select,.quote-step textarea{font-size:1rem}
.quote-step input[aria-invalid=true],.quote-step select[aria-invalid=true]{border:2px solid #ad392d}
.quote-step .field small{font-size:.81rem}
.quote-choices{border:0;padding:0;margin:0 0 28px;min-width:0}
.quote-choices legend{font-size:.92rem;font-weight:600;margin-bottom:12px}
.quote-choices>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quote-choices label{display:flex;gap:12px;align-items:center;background:var(--field);border:1px solid var(--line);padding:12px;cursor:pointer;min-height:56px;font-size:.88rem}
.quote-choices label:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.quote-choices input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;accent-color:var(--accent)}
.quote-choices label>span{font-size:.9rem;color:var(--ink)}
.quote-extra{border-block:1px solid var(--line);margin-top:26px;padding:17px 0}
.quote-extra summary{cursor:pointer;font-size:.92rem;font-weight:600;min-height:32px}
.quote-extra .quote-fields{padding-top:20px}
.quote-step p.quote-help,.quote-help{font-size:.82rem;line-height:1.6;margin:22px 0 0}
.quote-help a{text-decoration:underline;text-underline-offset:3px}
.quote-upload{padding:24px;background:var(--paper);border:1px dashed var(--accent)}
.quote-upload>label{font-size:.95rem;font-weight:600;display:block;margin-bottom:14px}
.quote-upload input{background:var(--field)}
.quote-upload>p{font-size:.83rem;margin:12px 0 0}
#quote-file-status{overflow-wrap:anywhere}
.quote-file-list{list-style:none;padding:0;margin:15px 0 0}
.quote-file-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--line);font-size:.83rem}
.quote-file-list span{overflow-wrap:anywhere}
.quote-file-list small{display:block;color:var(--muted);font-size:.75rem}
.quote-file-list button,.quote-edit{background:transparent;color:var(--ink);border:1px solid var(--line);padding:9px 13px;cursor:pointer;min-height:44px}
.quote-controls{display:flex;justify-content:space-between;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:24px}
.quote-controls .button{margin-left:auto;text-align:left}
.quote-back{background:transparent;color:var(--ink);border:0;min-height:48px;padding:10px 0;cursor:pointer}
.quote-controls button:disabled{opacity:.65;cursor:default;transform:none}
.quote-errors{border:2px solid #ad392d;background:var(--field);padding:18px;margin-bottom:22px;color:var(--ink)}
.quote-errors p{color:var(--ink);font-weight:700;margin-bottom:8px}
.quote-errors ul{padding-left:21px;margin:0}
.quote-errors a{text-decoration:underline;font-size:.9rem}
.quote-status{padding:18px;border-left:3px solid var(--accent);background:var(--field);color:var(--ink);margin:22px 0 0;font-size:.9rem}
.quote-review-group{border-top:1px solid var(--line);padding:18px 0}
.quote-review-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}
.quote-review-heading h3{font-size:1.3rem;letter-spacing:-.025em}
.quote-edit{font-size:.82rem}
.quote-review-group dl{margin:0}
.quote-review-group dl>div{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px;padding:8px 0;font-size:.85rem}
.quote-review-group dt{color:var(--muted)}
.quote-review-group dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.quote-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:1100px){.quote-intro{gap:45px}.quote-layout{grid-template-columns:230px minmax(0,1fr);gap:40px}.quote-panel{padding:28px}.quote-pair,.quote-choices>div{grid-template-columns:1fr}}
@media(max-width:780px){.quote-intro{grid-template-columns:1fr;gap:28px;padding-block:42px}.quote-short{padding-left:20px}.quote-layout{grid-template-columns:1fr;gap:25px}.quote-guide{padding-top:0}.quote-guide>.eyebrow,.quote-guide>.quote-reassurance,.quote-guide>.text-link{display:none}.quote-guide>p{margin-bottom:12px}.quote-progress{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0;gap:5px;line-height:1.4;margin:20px 0 0}.quote-progress li{padding:10px 3px 0;border-top:3px solid var(--line);font-size:.71rem}.quote-progress li[aria-current=step],.quote-progress li.completed{border-color:var(--accent)}.quote-panel{padding:25px}.quote-pair{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.quote-panel{padding:22px 18px;margin-inline:-6px}.quote-intro{padding-block:32px}.quote-intro h1{font-size:2.2rem}.quote-short h2{font-size:1.2rem}.quote-pair{grid-template-columns:1fr}.quote-upload{padding:17px}.quote-review-group dl>div{grid-template-columns:1fr;gap:2px}.quote-controls{gap:12px}.quote-controls .button{padding:13px 15px;gap:12px;font-size:.85rem}.quote-step h2{font-size:1.9rem}}
