.quote-page{max-width:1480px;margin:auto;padding:120px 4vw 64px}
.quote-layout{display:grid;grid-template-columns:1fr 1.12fr;align-items:stretch;background:#fffdf8;border:1px solid #dedbd2}
.quote-intro{background:#202820;color:#f7f4e9;position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:64px;padding:clamp(30px,4vw,62px);overflow:hidden}
.quote-intro:before{content:'';position:absolute;width:380px;height:380px;border:1px solid #d8d2ad18;border-radius:50%;bottom:-190px;left:-160px;pointer-events:none}
.quote-intro .eyebrow{color:#d5c38d;font-size:.65rem;letter-spacing:.16em;margin:0 0 43px}
.quote-intro h1{font-size:clamp(2.8rem,4.5vw,4.7rem);line-height:1.04;font-weight:500;letter-spacing:-.055em;margin:0 0 30px}
.quote-intro h1 em{font-family:Georgia,serif;font-weight:400;color:#d6c493;font-size:.93em;letter-spacing:-.055em}
.quote-intro-copy{max-width:330px;font-size:.92rem;line-height:1.8;color:#c2c7ba;margin:0}
.quote-intro-bottom{position:relative;border-top:1px solid #ffffff24;padding-top:25px;display:grid;grid-template-columns:50px 1fr;gap:16px;align-items:center}
.quote-orbit{display:grid;place-items:center;border:1px solid #d6c49370;border-radius:50%;width:46px;height:46px;color:#d6c493;font-size:1.6rem}
.quote-intro-bottom p{font-size:.8rem;line-height:1.6;margin:0;color:#d8dbd1}.quote-intro-bottom a{grid-column:1/-1;font-size:.72rem;display:flex;justify-content:space-between;margin-top:18px;padding-top:18px;border-top:1px solid #ffffff14;color:#d5c38d}
.quote-form{padding:clamp(28px,3.6vw,54px);min-width:0}
.quote-form-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:23px}.quote-form-heading .eyebrow{font-size:.62rem;margin:0;color:#716b5e;letter-spacing:.13em}
.quote-draft-label{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid #ddd7c8;border-radius:20px;padding:5px 10px;color:#716b5e;white-space:nowrap}
.quote-form h2{font-size:clamp(1.8rem,2.6vw,2.7rem);font-weight:500;line-height:1.1;letter-spacing:-.045em;margin:0 0 15px}
.quote-required-note{font-size:.72rem;color:var(--muted);margin:0 0 30px}.quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.quote-field{display:flex;flex-direction:column;gap:8px;min-width:0;scroll-margin-top:115px}
.quote-field label,.quote-services legend{font-size:.77rem;font-weight:600;line-height:1.5}.quote-optional{font-size:.68rem;color:#79756b;font-weight:400;margin-left:5px}
.quote-field input,.quote-field textarea{width:100%;min-width:0;border:1px solid #d9d5ca;border-radius:0;padding:12px 13px;background:#fffefa;color:var(--ink);font:inherit;font-size:16px;line-height:1.5;transition:border-color .18s,box-shadow .18s}.quote-field input{min-height:48px}.quote-field textarea{min-height:113px;resize:vertical}
.quote-field input::placeholder,.quote-field textarea::placeholder{font-size:.78rem;color:#847f73;opacity:1}.quote-field input:focus,.quote-field textarea:focus{outline:none;border-color:#8f793b;box-shadow:0 0 0 3px #a58c461a}
.quote-form fieldset{border:0;padding:0;min-width:0;margin:27px 0}.quote-services legend{padding:0;margin:0}.quote-hint{font-size:.7rem;color:var(--muted);margin:5px 0 13px}
.quote-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quote-service{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9d5ca;min-height:50px;padding:12px;font-size:.72rem;line-height:1.4;cursor:pointer;transition:background .18s,border-color .18s,color .18s}.quote-service input{position:absolute;opacity:0;width:1px;height:1px}.quote-service span{min-width:0}.quote-service i{font-style:normal;flex:none;font-size:1rem;color:#898477}.quote-service:hover{background:#efede4;border-color:#a29b87}.quote-service:has(input:checked){background:#253024;border-color:#253024;color:#fffdf7}.quote-service:has(input:checked) i{font-size:0;color:#ddcd9c}.quote-service:has(input:checked) i:after{content:'✓';font-size:.85rem}.quote-service:has(input:focus-visible){outline:2px solid #9b7b2d;outline-offset:3px}
.quote-budget{margin-bottom:23px}.quote-field-error{font-size:.72rem;color:#9d3d2a;line-height:1.5;margin:0}.quote-services>.quote-field-error{margin-top:10px}.quote-field [aria-invalid=true],.quote-service:has(input[aria-invalid=true]){border-color:#a74a36}.quote-field-error[hidden],.quote-feedback[hidden]{display:none}
.quote-form-footer{margin-top:27px}.quote-download{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:55px;background:#222b21;color:#fffdf7;font-size:.8rem;padding:16px 20px;text-align:left;cursor:pointer;transition:background .18s}.quote-download:hover{background:#3b4937}.quote-download>span:last-child{font-size:1.3rem;line-height:1}.quote-download:disabled{opacity:.5;cursor:wait}.quote-download:focus-visible,.quote-intro a:focus-visible,.quote-save-link:focus-visible{outline:2px solid #a78332;outline-offset:4px}.quote-form-footer>p{font-size:.66rem;line-height:1.6;color:var(--muted);margin:12px 0 0}
.quote-feedback{padding:15px;margin-top:18px;font-size:.77rem;line-height:1.6;background:#f5eae3;color:#7b3a29;border:1px solid #e0c6b7;overflow-wrap:anywhere}.quote-feedback.is-success{background:#edf1e6;color:#34442a;border-color:#c9d2bd}.quote-save-link{display:table;border-bottom:1px solid currentColor;margin-top:11px;font-weight:600}.quote-brief-preview{border-top:1px solid #c9d2bd;padding-top:12px;margin-top:15px}.quote-brief-preview summary{cursor:pointer}.quote-brief-preview pre{font:inherit;font-size:.72rem;white-space:pre-wrap;overflow-wrap:anywhere;margin:15px 0 0}
@media(max-width:900px){.quote-page{padding:108px 22px 45px;max-width:780px}.quote-layout{grid-template-columns:1fr}.quote-intro{padding:34px;gap:30px}.quote-intro .eyebrow{margin-bottom:24px}.quote-intro h1{font-size:clamp(2.9rem,7vw,4rem);margin-bottom:20px}.quote-intro h1 br:nth-of-type(2){display:none}.quote-intro-copy{max-width:480px}.quote-intro-bottom{display:none}.quote-form{padding:34px}}
@media(max-width:480px){.quote-page{padding:94px 14px 35px}.quote-intro{padding:29px 23px}.quote-intro h1{font-size:2.85rem}.quote-intro-copy{font-size:.85rem;line-height:1.65}.quote-form{padding:28px 21px}.quote-form h2{font-size:1.85rem}.quote-fields{grid-template-columns:1fr;gap:20px}.quote-service{font-size:.71rem;padding:11px;gap:7px;min-height:62px}.quote-required-note{margin-bottom:26px}.quote-form-heading{gap:8px}.quote-draft-label{font-size:.52rem}.quote-form-footer>p{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){.quote-field input,.quote-field textarea,.quote-service,.quote-download{transition:none}}
