.quote-stage{align-items:start;gap:2rem;display:grid}@media (width>=64rem){.quote-stage{grid-template-columns:minmax(0,1fr) minmax(0,25rem)}}.quote-panel{border-radius:var(--radius-panel);border:1px solid var(--color-line);background:var(--color-raised);gap:1.75rem;min-width:0;padding:clamp(1.1rem,3vw,1.75rem);display:grid;container-type:inline-size}.quote-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.quote-panel-title{font-family:var(--font-display);font-size:var(--text-step-1);margin:0;font-weight:600;line-height:1.2}.quote-currency{border:0;min-width:0;margin:0;padding:0}.quote-currency .seg{width:12.75rem;font-size:var(--text-step--1)}.quote-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}@container (width>=26rem){.quote-services{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (width>=48rem){.quote-services{grid-template-columns:repeat(5,minmax(0,1fr))}}.quote-service{border-radius:var(--radius-inner);border:1px solid var(--color-line);background:var(--color-ink);text-align:center;cursor:pointer;transition:border-color var(--motion-fast), background-color var(--motion-fast), color var(--motion-fast);align-content:start;justify-items:center;gap:.4rem;padding:.9rem .5rem;display:grid;position:relative}.quote-service:hover{border-color:var(--color-brand)}.quote-service>input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.quote-service:has(:focus-visible){outline:2px solid var(--color-brand);outline-offset:3px}.quote-service:has(:checked){background:linear-gradient(140deg, var(--color-brand), var(--color-brand-2));color:var(--color-brand-contrast);border-color:#0000}.quote-service-icon{border-radius:var(--shape-rest);background:color-mix(in oklab, var(--color-brand) 14%, var(--color-raised));width:2.5rem;height:2.5rem;color:var(--color-brand);place-items:center;display:grid}.quote-service:has(:checked) .quote-service-icon{background:var(--color-brand-contrast)}.quote-service-title{font-size:var(--text-step--1);overflow-wrap:break-word;hyphens:auto;font-weight:600;line-height:1.25}.quote-service-from{color:var(--color-muted);font-size:.75rem;line-height:1.3}.quote-service:has(:checked) .quote-service-from{color:var(--color-brand-contrast)}.quote-options{gap:.6rem;display:grid}@container (width>=44rem){.quote-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.quote-option{border-radius:var(--radius-inner);border:1px solid var(--color-line);background:var(--color-ink);cursor:pointer;transition:border-color var(--motion-fast);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.85rem 1rem;display:grid}.quote-option:hover,.quote-option:has(:checked){border-color:var(--color-brand)}.quote-option-price{color:var(--color-brand);font-size:var(--text-step--1);white-space:nowrap;font-weight:700}.quote-switch{appearance:none;border-radius:var(--radius-pill);background:var(--color-muted);cursor:pointer;width:2.5rem;height:1.5rem;transition:background-color var(--motion-fast);flex-shrink:0;margin:.05rem 0 0;position:relative}.quote-switch:before{content:"";background:var(--color-raised);width:1.125rem;height:1.125rem;transition:transform var(--motion-base) var(--ease-out);border-radius:50%;position:absolute;top:.1875rem;left:.1875rem}.quote-switch:checked{background:linear-gradient(120deg, var(--color-brand), var(--color-brand-2))}.quote-switch:checked:before{background:var(--color-brand-contrast);transform:translate(1rem)}.quote-switch:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}.quote-timelines{font-size:var(--text-step--1)}.quote-stage .seg:has(>*>:checked):before{opacity:1}.quote-stage .seg:has(>:nth-child(2)>:checked){--i:1}.quote-stage .seg:has(>:nth-child(3)>:checked){--i:2}.quote-summary{border-radius:var(--radius-panel);align-content:start;gap:1.5rem;min-width:0;padding:clamp(1.1rem,3vw,1.75rem);display:grid}.quote-range{isolation:isolate;border-radius:var(--radius-card);background:linear-gradient(120deg, var(--color-brand), var(--color-brand-2));color:var(--color-brand-contrast);gap:.35rem;padding:1.35rem 1.4rem;display:grid;position:relative;overflow:hidden}.quote-range:after{content:"";z-index:-1;border-radius:var(--shape-rest);background:color-mix(in oklab, var(--color-brand-contrast) 12%, transparent);width:9rem;height:9rem;position:absolute;top:-3rem;right:-2.5rem}.quote-range p{margin:0}.quote-range-label{font-size:var(--text-step--1)}.quote-range-amount{font-family:var(--font-display);font-size:var(--text-step-2);font-weight:600;line-height:1.15}.quote-range-to{font-family:var(--font-sans);font-size:var(--text-step-0);font-weight:400}.quote-range-note{font-size:.8125rem;line-height:1.5}.quote-range-time{font-size:var(--text-step--1);flex-wrap:wrap;align-items:center;gap:.25rem .4rem;display:flex}.quote-range-time svg{flex-shrink:0}.quote-phone-figure{text-align:center;justify-items:center;gap:.6rem;margin:0;display:grid}.quote-phone{border-radius:var(--radius-panel);background:var(--color-text);width:100%;max-width:21rem;box-shadow:var(--shadow-lift);text-align:left;padding:.5rem;display:grid}.quote-chat-head{border-radius:calc(var(--radius-panel) - .5rem) calc(var(--radius-panel) - .5rem) 0 0;border-bottom:1px solid var(--color-line);background:var(--color-raised);align-items:center;gap:.65rem;padding:.75rem .9rem;display:flex}.quote-chat-avatar{background:color-mix(in oklab, var(--color-brand) 14%, var(--color-raised));width:2.25rem;height:2.25rem;color:var(--color-brand);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.quote-chat{border-radius:0 0 calc(var(--radius-panel) - .5rem) calc(var(--radius-panel) - .5rem);background:var(--color-ink);align-content:end;min-height:12rem;padding:1rem .75rem 1.25rem;display:grid}.quote-bubble{border-radius:var(--radius-inner);border:1px solid var(--color-line);background:var(--color-raised);white-space:pre-line;overflow-wrap:anywhere;justify-self:start;max-width:94%;margin:0;padding:.75rem .9rem;font-size:.8125rem;line-height:1.55}.quote-chat-empty{color:var(--color-muted);font-size:var(--text-step--1);text-align:center;margin:0}@media (prefers-reduced-motion:no-preference){.quote-range-amount{animation:quote-bump .35s var(--ease-out)}}@keyframes quote-bump{0%{opacity:.4;transform:translateY(.35rem)}}.print-sheet{display:none}@media print{@page{margin:16mm}:root:has(.print-sheet){color-scheme:light;background:#fff}body:has(.print-sheet) :not(:has(.print-sheet),.print-sheet,.print-sheet *){display:none}body:has(.print-sheet),body:has(.print-sheet) :has(.print-sheet){width:auto;max-width:none;min-height:0;max-height:none;box-shadow:none;background:#fff;border:0;margin:0;padding:0;display:block;position:static;overflow:visible}.print-sheet{color:#000;background:#fff;font-size:11pt;line-height:1.45;display:block}.print-sheet a{color:#000;text-decoration:none}.print-sheet h2,.print-sheet h3{color:#000;letter-spacing:normal}.print-sheet-header{border-bottom:1pt solid #000;padding-bottom:6mm}.print-sheet-brand{font-weight:600}.print-sheet-header h2{margin:2mm 0;font-size:20pt}.print-sheet-details{gap:4mm;margin:8mm 0;display:grid}.print-sheet-details dt,.print-sheet-range p:first-child{color:#444;font-size:9.5pt}.print-sheet-details dd{margin:0;font-weight:600}.print-sheet-details ul{margin:0;padding-left:5mm;list-style:outside}.print-sheet-range{break-inside:avoid;border:1pt solid #000;border-radius:5mm;padding:5mm 6mm}.print-sheet-amount{font-family:var(--font-display);margin:1mm 0;font-size:18pt;font-weight:600}.print-sheet-time{margin-top:2mm}.print-sheet-note{margin:6mm 0 8mm}.print-sheet footer{break-inside:avoid;border-top:1pt solid #999;padding-top:5mm}.print-sheet footer h3{margin:0 0 2mm;font-size:12pt}.print-sheet-contact{margin:0;padding:0;list-style:none}}
