.quote-hero{padding-bottom:48px}.quote-hero h1{max-width:12ch;font-size:clamp(65px,8.2vw,126px);line-height:1;letter-spacing:-.065em}.quote-hero .lead{max-width:48ch;font-size:clamp(21px,1.8vw,27px)}.quote-hero-meta{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line,#cbcfc7);padding-top:25px;margin-top:48px}.quote-hero-meta p{margin:0;font-size:15px}.quote-hero-meta .quote-currency-note{color:var(--blue,#174ae6);font-weight:500}.quote-form-section{padding-top:35px}.quotation-form.proposal-form{padding:0;border:0;background:transparent;border-radius:0}.quote-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.47fr);gap:clamp(40px,5vw,85px);align-items:start}.quote-steps{min-width:0}.quote-step{border:0;border-top:1px solid var(--ink,#171a18);padding:34px 0 0;margin:0 0 65px;min-width:0}.quote-step legend{float:left;display:flex;align-items:baseline;gap:22px;width:100%;padding:0;margin:0 0 24px;font-size:clamp(28px,2.5vw,40px);line-height:1.18;letter-spacing:-.045em;font-weight:500}.quote-step legend+*{clear:both}.quote-step-number{font-size:15px;color:var(--blue,#174ae6);font-weight:500;letter-spacing:0;flex-shrink:0}.quote-step-intro{font-size:19px;color:var(--muted,#555b56);line-height:1.65;max-width:54ch;margin-bottom:30px}.quote-services{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}.quote-service{display:flex;align-items:start;position:relative;gap:12px;padding:25px 0;border-top:1px solid var(--line,#cbcfc7);cursor:pointer;transition:color .4s,background .5s,padding .6s cubic-bezier(.22,1,.36,1)}.quote-service input,.quote-budget input{appearance:auto;accent-color:var(--blue,#174ae6);width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:5px 0 0;cursor:pointer}.quote-service-copy{min-width:0;display:block}.quote-service-name{display:block;font-size:22px;line-height:1.28;letter-spacing:-.035em;font-weight:500}.quote-service-detail{display:block;font-size:16px;line-height:1.6;margin-top:13px;color:var(--muted,#555b56)}.quote-service-price{display:block;font-size:15px;line-height:1.5;font-weight:500;margin-top:15px;color:var(--blue,#174ae6)}.quote-service-arrow{font-size:23px;line-height:1.25;flex-shrink:0;transition:transform .6s cubic-bezier(.22,1,.36,1)}.quote-service:hover,.quote-service:has(input:checked){color:var(--blue,#174ae6)}.quote-service:hover .quote-service-arrow,.quote-service:has(input:checked) .quote-service-arrow{transform:translate(3px,-3px)}.quote-service:has(input:checked){background:var(--pale,#e7ebf8);padding-inline:14px;border-top-color:var(--blue,#174ae6)}.quote-service:has(input:focus-visible){outline:3px solid var(--blue,#174ae6);outline-offset:5px}.quotation-form .field{margin-bottom:25px}.quotation-form .field label,.quote-field-label{font-size:18px;font-weight:500;display:block;margin-bottom:12px;line-height:1.5}.quotation-form .field input,.quotation-form .field textarea,.quotation-form .field select{font-size:19px;border:1px solid #838a80;border-radius:2px;background:#fff;color:var(--ink,#171a18);min-height:58px;padding:15px;width:100%;line-height:1.6}.quotation-form .form-grid{grid-template-columns:1fr 1fr;gap:0 24px}.quotation-form .field-help{font-size:15px;margin-top:12px;line-height:1.65;color:var(--muted,#555b56)}.quote-budgets{display:flex;flex-wrap:wrap;gap:10px}.quote-budget{display:flex!important;gap:10px;align-items:center;margin:0!important;border:1px solid #838a80;border-radius:2px;padding:13px 16px;cursor:pointer;background:transparent;transition:background .4s,border-color .4s}.quote-budget input{margin:0}.quote-budget span{font-size:17px;font-weight:400;line-height:1.5}.quote-budget:has(input:checked){background:var(--pale,#e7ebf8);border-color:var(--blue,#174ae6)}.quote-money-input{display:flex;align-items:center;border:1px solid #838a80;background:#fff;border-radius:2px;padding-inline:18px;gap:15px;max-width:360px}.quotation-form .quote-money-input input{border:0;min-width:0;padding-inline:0}.quote-money-input>span:last-child{font-size:14px;color:var(--muted,#555b56)}.quotation-form .check-label{font-size:17px;line-height:1.65;gap:12px;margin:25px 0}.quotation-form .check-label input{width:21px;height:21px;min-width:21px;accent-color:var(--blue,#174ae6);margin-top:4px}.quotation-form .upload-field{padding:22px;background:var(--surface,#eeece6);border:1px dashed #838a80;font-size:17px}.quotation-form .upload-field input{font-size:16px;max-width:100%;margin-top:15px}.quote-consent{padding-block:24px;border-top:1px solid var(--line,#cbcfc7)}.quotation-form .quote-submit{font-size:19px;min-height:68px;padding:21px 26px;justify-content:space-between;min-width:300px;gap:40px}.quotation-form .quote-submit:disabled{opacity:.65;cursor:wait;transform:none}.quotation-form .quote-submit-note{font-size:15px;margin-top:18px;max-width:44ch}.quote-error{border-left:3px solid #a12518;padding:20px 23px;margin-bottom:26px;background:#faeae6;color:#802015;font-size:18px}.quote-summary{position:sticky;top:125px;background:var(--ink,#171a18);color:#f6f5f1;padding:32px;overflow-wrap:anywhere}.quote-summary-top{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:34px}.quote-summary-top .eyebrow{color:#c3c8c0;font-size:11px;letter-spacing:.065em;margin:0;line-height:1.8}.quote-currency{border:1px solid #778171;padding:3px 8px;font-size:12px;letter-spacing:.05em;line-height:1.6}.quote-summary h2{font-size:clamp(36px,3.5vw,53px);line-height:1.05;letter-spacing:-.05em;margin-bottom:35px}.quote-summary h2 em{color:#bdcdfc}.quote-selection-count{font-size:14px;color:#c3c8c0;margin-bottom:16px}.quote-summary-items{list-style:none;padding:0;margin:0}.quote-summary-items li{border-top:1px solid #51594e;padding:15px 0;margin:0;display:flex;flex-direction:column;gap:5px;line-height:1.5}.quote-summary-items li span:first-child{font-size:17px}.quote-summary-items li span:last-child{font-size:14px;color:#c3c8c0}.quote-summary-total{border-top:1px solid #778171;margin-top:5px;padding-top:23px}.quote-total-label{display:block;font-size:13px;color:#c3c8c0;margin-bottom:15px}.quote-total{display:block;font-size:clamp(31px,2.6vw,42px);line-height:1.13;letter-spacing:-.045em;font-weight:400;margin-bottom:18px}.quote-total.has-amount{color:#bdcdfc;font-size:clamp(34px,3vw,47px)}.quote-total-detail{font-size:15px;line-height:1.6;color:#c3c8c0;margin-bottom:25px}.quote-summary-budget{border-block:1px solid #51594e;padding:20px 0;display:flex;flex-direction:column;gap:7px}.quote-summary-budget>span{font-size:13px;color:#c3c8c0}.quote-summary-budget strong{font-size:18px;font-weight:400;line-height:1.6}.quote-summary-note{font-size:14px;line-height:1.7;color:#c3c8c0;margin:23px 0}.quote-summary-link{display:flex;justify-content:space-between;gap:16px;align-items:center;color:#f6f5f1;text-decoration:none;border-top:1px solid #778171;padding-top:18px;font-size:16px;line-height:1.5}.quote-summary a:focus-visible{outline-color:#bdcdfc}.quote-summary a:hover{color:#bdcdfc}.quote-summary-link span{font-size:26px}.quote-aftercare{background:var(--surface,#eeece6)}.quote-aftercare .process{margin-bottom:0}.quote-aftercare h2{max-width:16ch}.quote-received.form-message{background:var(--pale,#e7ebf8);border:0;padding:clamp(30px,5vw,80px);max-width:1000px}.quote-received h2{font-size:clamp(44px,5.5vw,80px)}.quote-received>p:not(.eyebrow){font-size:21px;max-width:52ch}.quote-success-mark{display:grid;place-items:center;border:1px solid var(--blue,#174ae6);color:var(--blue,#174ae6);width:65px;height:65px;border-radius:50%;font-size:35px;margin-bottom:32px}.quote-received .button{margin-top:15px}.quotation-form .form-client-status{font-size:17px;margin-top:16px}.quote-steps fieldset:last-child{margin-bottom:0}
@media(max-width:1199px){.quote-layout{grid-template-columns:minmax(0,1fr) 310px;gap:35px}.quote-services{grid-template-columns:1fr}.quote-service{padding-block:22px}.quote-service-detail{margin-top:8px}.quote-service-price{margin-top:10px}.quote-summary{padding:27px;top:120px}.quotation-form .form-grid{grid-template-columns:1fr}.quote-hero h1{font-size:clamp(70px,8vw,105px)}}
@media(max-width:899px){.quote-layout{grid-template-columns:1fr}.quote-summary{position:static;order:-1;padding:28px}.quote-summary h2{font-size:40px}.quote-summary h2 br{display:none}.quote-summary-top{margin-bottom:23px}.quote-summary h2{margin-bottom:25px}.quote-summary-items{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.quote-summary-total{margin-top:10px}.quote-total{font-size:36px}.quote-summary-note{max-width:65ch}.quote-services{grid-template-columns:1fr 1fr;column-gap:28px}.quotation-form .form-grid{grid-template-columns:1fr 1fr}.quote-hero-meta{align-items:start}.quote-summary h2 em{white-space:normal}.quote-form-section{padding-top:16px}}
@media(max-width:599px){.quote-hero h1{font-size:clamp(57px,12vw,73px);letter-spacing:-.065em;max-width:11ch}.quote-hero .lead{font-size:21px}.quote-hero-meta{flex-direction:column;gap:12px;margin-top:32px;padding-top:20px}.quote-hero-meta p{font-size:14px}.quote-summary{padding:27px 23px}.quote-summary h2{font-size:37px}.quote-summary h2 br{display:block}.quote-summary-items{grid-template-columns:1fr}.quote-summary-top .eyebrow{font-size:11px}.quote-summary-note{font-size:14px}.quote-services{grid-template-columns:1fr}.quote-service-name{font-size:24px}.quote-service-detail{font-size:17px}.quote-service-price{font-size:16px}.quote-step legend{font-size:31px;gap:17px;line-height:1.2}.quote-step-intro{font-size:19px}.quote-step-number{font-size:14px}.quote-step{margin-bottom:48px;padding-top:28px}.quotation-form .form-grid{grid-template-columns:1fr}.quotation-form .field input,.quotation-form .field textarea,.quotation-form .field select{font-size:18px}.quotation-form .field label,.quote-field-label{font-size:18px}.quote-budget{padding:12px}.quote-budget span{font-size:16px}.quotation-form .quote-submit{font-size:18px;min-width:0;width:100%;gap:20px;padding:20px}.quotation-form .check-label{font-size:16px}.quotation-form .upload-field{padding:18px}.quote-aftercare h2{font-size:43px}.quote-received>p:not(.eyebrow){font-size:19px}.quote-received h2{font-size:45px}}
@media(prefers-reduced-motion:reduce){.quote-service,.quote-service-arrow,.quote-budget{transition:none}}
@media print{.quote-summary{position:static;background:#fff;color:#000}.quote-summary *{color:#000!important}.quote-layout{display:block}.quote-submit,.quote-summary-link{display:none!important}}

@media(min-width:900px){.quote-summary{max-height:calc(100dvh - 150px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#778171 transparent}}
