/* Quote invitation and the existing native three-step request form. */
.quote-section{padding:95px 0;background:radial-gradient(ellipse at 5% 10%,#71619226,transparent 55%),radial-gradient(ellipse at 95% 100%,#83608c16,transparent 45%),#101016;border-top:1px solid #ffffff0b;scroll-margin-top:108px}
.quote-section .brief-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:66px;align-items:start}
.quote-invitation{min-width:0;padding-top:8px}
.quote-eyebrow{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #54485f;border-radius:22px;background:#3c304128;color:#c6b5dc;font-size:10px;line-height:1.4;letter-spacing:.1em}
.quote-eyebrow i{display:block;width:5px;height:5px;border-radius:50%;background:#c4a4d2}
.quote-invitation h2{position:relative;font-size:clamp(39px,4.25vw,55px);font-weight:500;line-height:1.07;letter-spacing:-.045em;margin:25px 0;color:#f5f0fa;max-width:460px}
.quote-invitation h2 em{font-size:1.16em;font-weight:400;background:linear-gradient(100deg,#d4bddf,#b2a0ef);background-clip:text;-webkit-text-fill-color:transparent}
.quote-invitation h2>svg{position:absolute;width:42px;height:42px;right:0;bottom:1px;stroke-width:1.1;color:#b59ac7}
.quote-intro{font-size:17px;line-height:1.8;color:#c0b4cc;margin:0;max-width:440px}
.quote-first-note{display:flex;align-items:center;gap:9px;font-size:13px;color:#a494b6;margin:18px 0 0;line-height:1.6}
.quote-first-note svg{width:16px;height:16px;flex-shrink:0;color:#c1a3cd}
.quote-board{margin-top:29px;position:relative;padding-bottom:2px}
.quote-vision{position:relative;border:1px solid #554958;border-radius:20px;overflow:hidden;height:215px;background:#342d35}
.quote-vision:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#1f182e5c,transparent 60%);pointer-events:none}
.quote-vision img{width:100%;height:100%;object-fit:cover;object-position:center 58%;opacity:.88;transition:transform .5s}
.quote-vision:hover img{transform:scale(1.025)}
.quote-vision-caption{position:absolute;z-index:1;left:15px;top:14px;font-size:8px;letter-spacing:.11em;color:#f7f1e9;background:#32283c80;border:1px solid #ffffff35;border-radius:16px;padding:6px 9px;backdrop-filter:blur(5px)}
.quote-samples{position:absolute;z-index:1;right:16px;bottom:25px;display:flex;transform:rotate(7deg);filter:drop-shadow(0 5px 7px #26152640)}
.quote-samples i{display:block;width:28px;height:48px;border:1px solid #ffffff4d;border-radius:4px;margin-left:-2px}
.quote-samples i:nth-child(1){background:repeating-linear-gradient(90deg,#ad8865 0 2px,#be9974 2px 4px);transform:rotate(-13deg)}
.quote-samples i:nth-child(2){background:linear-gradient(120deg,#e3d4ba,#f2e5d1);transform:rotate(-2deg)}
.quote-samples i:nth-child(3){background:#526956;transform:rotate(12deg)}
.quote-preview{position:relative;margin:-23px 12px 0;background:#f4f0f8;border:1px solid #fff;border-radius:16px;padding:19px 21px 21px;box-shadow:0 18px 30px #0000001a;color:#3c354b}
.quote-preview-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid #e3dce9;padding-bottom:13px;color:#887996;font-size:9px;letter-spacing:.08em}
.quote-preview-heading>span:last-child{display:flex;gap:6px;align-items:center;font-size:7px;color:#a391af}
.quote-preview-heading i{display:block;width:4px;height:4px;background:#b59bc5;border-radius:50%}
.quote-preview-service{display:flex;gap:12px;align-items:center;margin:17px 0 20px}
.quote-preview-service>svg{color:#9680ab;width:19px;height:19px;flex-shrink:0}
.quote-preview small{display:block;color:#9c8baa;font-size:8px;line-height:1.5;letter-spacing:.06em;margin-bottom:4px}
.quote-preview strong{display:block;font-size:16px;line-height:1.5;color:#65566f;font-weight:500;overflow-wrap:anywhere}
.quote-preview-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quote-preview-pair>div{display:flex;align-items:center;gap:10px;min-width:0}
.quote-preview-pair svg{width:17px;height:17px;color:#9b89ad;flex-shrink:0}
.quote-preview-pair strong{font-size:13px}
.quote-section .brief-builder{background:#f8f6fb;border:1px solid #e5ddec;border-radius:27px;padding:30px 33px 26px;box-shadow:0 25px 70px #00000026;min-width:0;min-height:0;color:#3c304d}
.quote-section .brief-progress{display:block;border:0;padding:0;letter-spacing:.1em;color:#9986ab;font-size:10px}
.quote-section .brief-progress>span{display:block;margin-bottom:16px}
.quote-section .brief-progress-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;border:1px solid #e7e0ef;border-radius:13px;background:#eee9f4;padding:5px}
.quote-section .brief-progress-track>[data-progress]{display:flex;align-items:center;justify-content:center;gap:8px;width:auto;height:auto;min-height:46px;padding:7px 8px;border:1px solid transparent;border-radius:9px;background:transparent;color:#a393b2;letter-spacing:0;box-sizing:border-box}
.quote-section .brief-progress-track>[data-progress].active{background:#e4d9ef;border-color:transparent;color:#8b749e}
.quote-section .brief-progress-track>[data-progress][aria-current=step]{background:#fff;border-color:#ded2e9;color:#715780;box-shadow:0 3px 7px #66547308}
.quote-section .brief-progress-number{font-size:10px;display:grid;place-items:center;background:#e8dff2;color:#9b84af;width:23px;height:23px;border-radius:50%;font-weight:500;flex-shrink:0}
.quote-section [aria-current=step] .brief-progress-number{background:#9273b0;color:white}
.quote-section .brief-progress-name{font-size:12px;font-weight:500;line-height:1.2}
.quote-section .brief-step{padding-top:23px}
.quote-section .step-caption{font-size:10px;letter-spacing:.1em;color:#ae99bd}
.quote-section .brief-step h3{font-size:29px;font-weight:500;line-height:1.25;letter-spacing:-.035em;color:#3e304c;margin:11px 0 23px;max-width:none;scroll-margin-top:145px}
.quote-section .brief-quick-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 18px}
.quote-section .brief-quick-pick{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:80px;padding:12px 6px;border:1px solid #e2d7ec;border-radius:12px;background:#fff;color:#9175a2;font-family:inherit;font-size:12px;font-weight:500;line-height:1.35;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}
.quote-section .brief-quick-pick svg{width:21px;height:21px;stroke-width:1.35}
.quote-section .brief-quick-pick:hover{border-color:#b59ac9;background:#f4ecfb;transform:translateY(-2px)}
.quote-section .brief-quick-pick[aria-pressed=true]{border-color:#aa8cc1;background:#ece0f6;color:#7b5694}
.quote-section .brief-quick-pick[aria-pressed=true]:after{content:'';position:absolute;top:8px;right:8px;width:5px;height:5px;background:#9973b2;border-radius:50%}
.quote-section .brief-step label{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:#82718f;margin-top:19px}
.quote-section .brief-step input,.quote-section .brief-step select,.quote-section .brief-step textarea{min-height:56px;padding:14px 15px;margin-top:9px;border:1px solid #d9cce4;border-radius:10px;background:#fff;color:#564363;font-size:16px;line-height:1.5;font-family:inherit;box-sizing:border-box}
.quote-section .brief-step select{cursor:pointer;padding-right:15px}
.quote-section .brief-step input::placeholder,.quote-section .brief-step textarea::placeholder{color:#b2a0bc;opacity:1}
.quote-section .brief-step textarea{min-height:150px}
.quote-section .brief-step input:focus,.quote-section .brief-step select:focus,.quote-section .brief-step textarea:focus{outline:none;border-color:#a37cbd;box-shadow:0 0 0 3px #9c75b51c}
.quote-section .form-pair{gap:13px}
.quote-section .field-helper{font-size:13px;line-height:1.7;color:#9a88a7;margin:12px 0 0}
.quote-section .brief-navigation{gap:15px;flex-wrap:wrap;margin-top:24px;padding-top:21px;border-top:1px solid #e8deef}
.quote-section .brief-navigation>span{max-width:200px;font-size:12px;line-height:1.6;color:#a08cab}
.quote-section .brief-navigation .button,.quote-section [data-brief-submit]{min-height:55px;padding:15px 20px;border:1px solid #9574ad;border-radius:11px;background:#9272ab;color:#fff;font-size:15px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:18px;box-shadow:0 5px 10px #79548c12;transition:background .2s,transform .2s}
.quote-section .brief-navigation .button:hover,.quote-section [data-brief-submit]:hover{background:#7c5d94;transform:translateY(-1px)}
.quote-section .brief-navigation .button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.quote-section .brief-navigation .button svg,.quote-section [data-brief-submit] svg{width:18px;height:18px}
.quote-section .brief-back{font-size:14px;color:#9679a7;padding:10px 0;min-height:44px}
.quote-section .brief-local-note{display:block;margin-top:16px;font-size:12px;line-height:1.7;color:#a491af;max-width:none}
.quote-section .brief-result{background:#f0eaf6!important;border-color:#e2d6eb!important;color:#776084!important;font-size:14px!important;line-height:1.8!important;min-height:180px}
.quote-section .brief-success{border-radius:10px;background:#eee5f5;color:#856999;padding:14px;font-size:14px;line-height:1.6}
.quote-section #dv-collection-notice{font-size:13px;line-height:1.75;color:#907c9e}
.quote-section .brief-step label:has(input[name=consent]){font-size:13px;font-weight:400;color:#897196}
.quote-section .brief-result-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}
.quote-section .brief-result-actions .button{font-size:13px;min-height:44px;border-radius:8px;padding:11px 13px;gap:7px}
.quote-section .brief-result-actions .button.dark{background:#b29ac3;color:white}
.quote-section .brief-result-actions .button.outline{border:1px solid #d7c8e4;color:#967ca8}
.quote-section .brief-contact-actions .inline-link{font-size:13px;min-height:44px;display:inline-flex;align-items:center;gap:6px;color:#9c7caf}
.quote-section button:focus-visible,.quote-section a:focus-visible{outline:2px solid #a685bf;outline-offset:4px}
.quote-section [data-lead-feedback]{margin-bottom:20px}
/* Pastel surfaces retain strong text contrast at small reading sizes. */
.quote-section .brief-progress{color:#796289}
.quote-section .brief-progress-track>[data-progress]{color:#786184}
.quote-section .brief-progress-track>[data-progress].active{color:#73587f}
.quote-section .brief-progress-number{color:#745384}
.quote-section .step-caption{color:#7b608c}
.quote-section .brief-quick-pick{color:#78558b}
.quote-section .brief-step label{color:#70597e}
.quote-section .field-helper{color:#796285}
.quote-section .brief-navigation>span,.quote-section .brief-local-note{color:#796285}
.quote-section .brief-navigation .button,.quote-section [data-brief-submit]{background:#7e6094;border-color:#7e6094}
.quote-section .brief-navigation .button:hover,.quote-section [data-brief-submit]:hover{background:#6c4e82}
.quote-section .brief-back{color:#80618f}
.quote-section .brief-result-actions .button.dark{background:#ece4f4;color:#78578c;box-shadow:none}
.quote-section .brief-result-actions .button.outline{color:#80618f}
.quote-section .brief-contact-actions .inline-link{color:#80618f}
.quote-section #dv-collection-notice,.quote-section .brief-step label:has(input[name=consent]){color:#796285}
@media(min-width:1400px){.quote-section .brief-grid{gap:90px}.quote-section .brief-builder{padding:35px 39px 30px}.quote-invitation h2{font-size:59px}}
@media(max-width:1100px){.quote-section .brief-grid{gap:35px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.quote-section .brief-builder{padding:26px}.quote-invitation h2{font-size:43px}.quote-invitation h2>svg{width:33px;height:33px}.quote-section .brief-progress-name{font-size:10px}.quote-section .brief-progress-track>[data-progress]{gap:5px;padding-inline:4px}.quote-section .brief-progress-number{width:20px;height:20px}.quote-preview{padding:17px}.quote-preview-heading>span:last-child{font-size:6px}.quote-preview-pair{gap:9px}.quote-preview-pair>div{gap:7px}}
@media(max-width:850px){.quote-section .brief-grid{grid-template-columns:1fr;gap:30px}.quote-invitation{padding-top:0}.quote-invitation h2{font-size:51px;max-width:460px}.quote-invitation h2>svg{right:20px}.quote-intro{max-width:620px}.quote-board{display:none}.quote-section .brief-builder{max-width:none;padding:32px}.quote-section .brief-progress-name{font-size:13px}.quote-section .brief-progress-track>[data-progress]{gap:8px}.quote-section .brief-progress-number{width:24px;height:24px}}
@media(max-width:600px){.quote-section{padding:60px 0 65px}.quote-section .brief-grid{gap:25px}.quote-eyebrow{font-size:9px;padding:8px 10px}.quote-invitation h2{font-size:42px;margin:22px 0}.quote-invitation h2>svg{right:3px;width:32px;height:32px}.quote-intro{font-size:16px;line-height:1.8}.quote-first-note{font-size:12px;margin-top:14px}.quote-section .brief-builder{padding:24px 20px 21px;border-radius:22px}.quote-section .brief-progress{font-size:9px}.quote-section .brief-progress>span{margin-bottom:14px}.quote-section .brief-progress-track{gap:4px;padding:4px;border-radius:11px}.quote-section .brief-progress-track>[data-progress]{flex-direction:column;gap:6px;min-height:65px;padding:8px 3px;border-radius:8px}.quote-section .brief-progress-name{font-size:11px}.quote-section .brief-progress-number{font-size:9px;width:20px;height:20px}.quote-section .brief-step{padding-top:22px}.quote-section .brief-step h3{font-size:28px;margin-bottom:21px}.quote-section .brief-quick-picks{gap:6px;margin-bottom:17px}.quote-section .brief-quick-pick{font-size:11px;min-height:78px;gap:8px}.quote-section .brief-quick-pick svg{width:20px;height:20px}.quote-section .brief-step label{font-size:14px;margin-top:17px}.quote-section .form-pair{grid-template-columns:1fr;gap:0}.quote-section .brief-step input,.quote-section .brief-step select,.quote-section .brief-step textarea{font-size:16px;padding:14px 12px;min-height:55px}.quote-section .brief-navigation{margin-top:23px;padding-top:18px;gap:12px}.quote-section .brief-navigation>span{display:block;flex-basis:100%;max-width:none;font-size:12px}.quote-section .brief-navigation .button{margin-left:auto;min-height:54px;font-size:15px;padding:15px 18px}.quote-section .brief-local-note{font-size:12px}.quote-section [data-brief-submit]{width:100%;margin-top:20px}.quote-section .brief-result-actions .button{font-size:12px;padding:10px}.quote-section #dv-collection-notice{font-size:13px}.quote-section .brief-step label:has(input[name=consent]){font-size:13px}}
@media(prefers-reduced-motion:reduce){.quote-section *{transition:none!important;animation:none!important}.quote-vision:hover img,.quote-section .brief-quick-pick:hover,.quote-section .brief-navigation .button:hover{transform:none}}
