.quote-app{--q-navy:var(--ld-ink);--q-cream:var(--ld-accent-soft);--q-orange:var(--ld-accent);width:min(100% - 2rem,72rem);color:var(--ld-ink);margin-inline:auto;padding:clamp(2rem,4vw,3.5rem) 0 6rem}.quote-app h1,.quote-app h2,.quote-app p{margin-top:0}.quote-app h1{color:var(--q-navy);letter-spacing:-.055em;margin-bottom:1rem;font-size:clamp(2.6rem,6vw,5.7rem);line-height:.95}.quote-app h1 em{color:var(--q-orange);font-family:Georgia,serif;font-weight:400}.quote-app h2{color:var(--q-navy);letter-spacing:-.025em;margin-bottom:1.25rem;font-size:1.45rem;line-height:1.15}.quote-app button,.quote-app input,.quote-app textarea,.quote-app select{font:inherit}.quote-app button{cursor:pointer}.quote-app button:disabled{cursor:not-allowed;opacity:.48}.eyebrow,.step-label{color:var(--q-orange);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.7rem;font-size:.72rem;font-weight:800}.eyebrow.success{color:var(--ld-success)}.lead{max-width:42rem;color:var(--ld-muted);font-size:1.08rem;line-height:1.65}.quiet{color:var(--ld-muted);font-size:.82rem;line-height:1.55}.intro{max-width:54rem;margin-bottom:2.5rem}.trust-row{color:var(--q-navy);flex-wrap:wrap;gap:.65rem 1.4rem;font-size:.82rem;font-weight:700;display:flex}.upload-screen{max-width:72rem}.upload-card,.card,.summary-card,.manual-card,.process-card{border:1px solid var(--ld-border);background:var(--ld-paper);box-shadow:var(--ld-shadow-card);border-radius:1.3rem}.upload-card{padding:clamp(1.1rem,2.5vw,1.6rem)}.upload-card>p:not(.step-label,.error,.security-copy,.declaration){color:var(--ld-muted);line-height:1.55}.upload-workspace{grid-template-columns:minmax(19rem,42rem) minmax(15rem,1fr);align-items:start;gap:clamp(1.5rem,5vw,5rem);display:grid}.upload-config-column{min-width:0}.upload-guide{border-left:1px solid var(--ld-border);color:var(--ld-muted);gap:.8rem;padding:1.1rem 0 1.1rem 1.5rem;display:grid;position:sticky;top:1rem}.upload-guide h3{color:var(--q-navy);letter-spacing:-.02em;margin:0;font-size:1.1rem}.upload-guide>p:not(.step-label){max-width:25rem;margin:0;font-size:.86rem;line-height:1.55}.upload-guide ol{gap:.75rem;margin:.2rem 0 0;padding:0;list-style:none;display:grid}.upload-guide li{grid-template-columns:1.5rem 1fr;align-items:start;gap:.6rem;display:grid}.upload-guide li>span{background:var(--ld-accent-soft);width:1.45rem;height:1.45rem;color:var(--q-orange);border-radius:50%;place-items:center;font-size:.7rem;font-weight:800;display:grid}.upload-guide li div{gap:.08rem;display:grid}.upload-guide li strong{color:var(--q-navy);font-size:.82rem}.upload-guide li small{font-size:.74rem;line-height:1.4}.declaration{background:var(--ld-accent-soft);color:var(--q-navy);border-radius:.65rem;gap:.2rem;margin:.9rem 0;padding:.75rem .9rem;font-size:.88rem;display:grid}.check-row input{width:1.1rem;height:1.1rem;accent-color:var(--q-orange);flex:none;margin-top:.15rem}.check-row span{gap:.3rem;display:grid}.declaration small,.check-row small{color:var(--ld-muted);line-height:1.45}.declaration.compact{margin:1rem 0}.preconfig{grid-template-columns:1.3fr 1.3fr .6fr;gap:.7rem;margin:1.2rem 0;display:grid}.upload-card .preconfig{grid-template-columns:1.2fr 1.1fr 1.2fr .6fr}.preconfig label{color:var(--q-navy);gap:.4rem;font-size:.76rem;font-weight:750;display:grid}.preconfig select,.preconfig input{border:1px solid var(--ld-border);background:#fff;border-radius:.55rem;min-width:0;padding:.72rem}.preconfig select:disabled,.preconfig input:disabled{color:#6b7280;background:#e5e7eb}.colour-assignment{border:1px solid var(--ld-border);border-radius:.75rem;margin:1.3rem 0 0;padding:1rem}.colour-assignment legend{margin-bottom:.2rem}.colour-assignment>.quiet{margin:0 0 .8rem}.colour-region{border-top:1px solid var(--ld-border);color:var(--q-navy);grid-template-columns:minmax(9rem,1fr) minmax(10rem,1fr);align-items:center;gap:.7rem;padding:.65rem 0;font-size:.78rem;font-weight:750;display:grid}.colour-region select{border:1px solid var(--ld-border);background:#fff;border-radius:.55rem;min-width:0;padding:.62rem}.region-label{align-items:center;gap:.5rem;display:flex}.region-label .swatch{width:1.1rem;height:1.1rem;box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--ld-border);border:1px solid #0003;border-radius:50%;flex:none}.dropzone{box-sizing:border-box;color:#6b7280;text-align:center;background:#f9fafb;border:1.5px dashed #9ca3af;border-radius:.75rem;align-content:center;justify-items:center;gap:.25rem;height:7.25rem;padding:1.15rem .9rem;transition:all .2s;display:grid;overflow:hidden}.dropzone.enabled{border-color:var(--ld-accent);background:var(--ld-accent-soft);color:var(--q-navy);cursor:pointer}.dropzone.enabled:hover,.dropzone.enabled:focus-visible{border-color:var(--q-orange);outline:none;box-shadow:0 0 0 4px #2563eb1f}.dropzone>span{color:var(--ld-muted);font-size:.8rem}.selected-file{border:1px solid var(--ld-border);background:#f9fafb;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.9rem 1rem;display:flex}.selected-file>div{gap:.2rem;min-width:0;display:grid}.selected-file strong{color:var(--q-navy);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-file span{color:var(--ld-muted);font-size:.76rem}.selected-model{border-style:solid;border-color:var(--ld-border);color:var(--q-navy);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;justify-items:start}.selected-model>div:nth-child(2){gap:.2rem;min-width:0;display:grid}.selected-model strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-model span{color:var(--ld-muted);font-size:.8rem}.upload-confirm{width:100%;margin-top:1rem}.upload-icon{background:var(--ld-mint);width:2.2rem;height:2.2rem;color:var(--q-navy);border-radius:50%;place-items:center;font-size:1.1rem;display:grid}.demo-row{flex-wrap:wrap;align-items:center;gap:.35rem 1rem;margin-top:1rem;font-size:.8rem;display:flex}.security-copy{color:var(--ld-muted);gap:.6rem;margin:1.2rem 0 0;font-size:.76rem;line-height:1.5;display:flex}.q-icon{background:var(--ld-mint);width:1.5rem;height:1.5rem;color:var(--q-navy);border-radius:50%;flex:none;place-items:center;font-weight:900;display:inline-grid}.text-button{color:var(--q-navy);text-underline-offset:.25em;background:0 0;border:0;padding:.3rem 0;font-weight:750;text-decoration:underline #93c5fd}.text-button:hover{color:var(--q-orange)}.error{color:var(--ld-danger);background:#fff0ee;border-radius:.5rem;margin:1rem 0;padding:.75rem;font-size:.84rem}.processing{place-items:center;min-height:68vh;display:grid}.process-card{text-align:center;width:min(100%,40rem);padding:clamp(2rem,6vw,4rem)}.process-card h1{font-size:clamp(2.2rem,5vw,3.7rem)}.process-card .lead{margin-inline:auto}.spinner{border:.35rem solid var(--ld-mint);border-top-color:var(--q-orange);border-radius:50%;width:3.7rem;height:3.7rem;margin:0 auto 1.6rem;animation:1s linear infinite qspin}@keyframes qspin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{border-top-color:var(--ld-mint);box-shadow:inset 0 0 0 .35rem var(--q-orange);animation:none}}.progress-track{background:#d1d5db;border-radius:1rem;height:.55rem;margin:1.7rem 0 1rem;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--q-orange);height:100%;transition:width .25s;display:block}.process-steps{color:#6b7280;justify-content:space-between;font-size:.72rem;font-weight:700;display:flex}.process-steps .done,.process-steps .active{color:var(--q-navy)}.process-card .quiet{margin:2rem 0 0}.process-cancel{margin-top:2rem}.quote-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.2rem;display:flex}.quote-heading h1{font-size:clamp(2.7rem,6vw,4.8rem)}.quote-grid{grid-template-columns:minmax(0,1.65fr) minmax(18rem,.85fr);align-items:start;gap:1.5rem;display:grid}.config-column{gap:1.2rem;display:grid}.card,.summary-card{--q-card-pad:clamp(1.25rem, 3vw, 2rem);padding:var(--q-card-pad)}.card-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.model-stage{perspective:600px;background:radial-gradient(circle at 50% 35%,#f9fafb 0,#e5e7eb 55%,#d1d5db 100%);border-radius:.85rem;place-items:center;min-height:17rem;display:grid;position:relative;overflow:hidden}.model-stage>img,.model-stage>canvas{z-index:1;object-fit:contain;width:100%;height:17rem;display:block;position:relative}.model-stage>canvas.model-canvas{opacity:0;transition:opacity .15s}.model-stage>canvas.model-canvas-ready{opacity:1}.model-stage>canvas{cursor:grab;touch-action:none}.model-stage>canvas:active{cursor:grabbing}.preview-fallback{inset:0;z-index:0!important;position:absolute!important}.preview-load-note{z-index:4;color:#374151;background:#ffffffd1;border-radius:.4rem;padding:.35rem .55rem;font-size:.62rem;font-weight:800;position:absolute;top:.75rem;left:.75rem}.preview-hint{z-index:3;color:#374151;pointer-events:none;background:#ffffffb8;border-radius:.4rem;padding:.35rem .55rem;font-size:.62rem;font-weight:800;position:absolute;bottom:.7rem;right:.75rem}.model-stage:before{content:"";background:repeating-linear-gradient(90deg,#0000 0 2.9rem,#2563eb14 3rem),repeating-linear-gradient(0deg,#0000 0 2.9rem,#2563eb14 3rem);position:absolute;inset:65% -10% -35%;transform:rotateX(65deg)}.preview-loading{z-index:1;color:var(--ld-muted);font-size:.82rem;font-weight:700;position:relative}.axis{color:#374151;font-size:.6rem;font-weight:800;position:absolute;bottom:1rem;right:1rem}.card fieldset{border:0;margin:1.6rem 0 0;padding:0}.card legend{color:var(--q-navy);margin-bottom:.65rem;font-size:.78rem;font-weight:800}.choice-grid{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}.choice{border:1px solid var(--ld-border);cursor:pointer;border-radius:.75rem;grid-template-columns:auto 1fr;align-content:center;gap:.15rem .55rem;min-height:5.2rem;padding:.8rem;display:grid}.choice.selected{border-color:var(--q-orange);background:var(--ld-accent-soft);box-shadow:inset 0 0 0 1px var(--q-orange)}.choice input{opacity:0;position:absolute}.choice:focus-within{outline-offset:2px;outline:3px solid #2563eb3d}.choice .swatch{border:1px solid #0000001a;border-radius:50%;width:.85rem;height:.85rem;margin-top:.15rem}.choice .swatch.pla{background:#e9e1cb}.choice .swatch.petg{background:#3b6e60}.choice .swatch.asa{background:#d76f47}.choice small{color:var(--ld-muted);grid-column:1/-1;font-size:.68rem;line-height:1.35}.quantity-field{color:var(--q-navy);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.7rem;font-size:.8rem;font-weight:800;display:flex}.quantity-field>span:first-child{gap:.2rem;display:grid}.quantity-field small{color:var(--ld-muted);font-weight:400}.stepper{border:1px solid var(--ld-border);border-radius:.6rem;display:flex;overflow:hidden}.stepper button{width:2.4rem;color:var(--q-navy);background:#e5e7eb;border:0}.stepper input{text-align:center;-moz-appearance:textfield;border:0;width:3.2rem;padding:.5rem 0}.stepper input::-webkit-inner-spin-button{appearance:none}.discount-note{color:var(--ld-success);text-align:right;margin:.7rem 0 0;font-size:.75rem}.address-grid{grid-template-columns:2fr 1fr 1fr;gap:.7rem;display:grid}.quote-app form>label:not(.declaration),.address-grid label,.return-link label{color:var(--q-navy);gap:.4rem;font-size:.76rem;font-weight:750;display:grid}.quote-app input:not([type=checkbox],[type=radio]),.quote-app textarea{border:1px solid var(--ld-border);width:100%;color:var(--ld-ink);background:#fff;border-radius:.55rem;padding:.72rem .78rem}.quote-app input:focus,.quote-app textarea:focus{border-color:var(--q-orange);outline:none;box-shadow:0 0 0 3px #2563eb24}.packaging{background:var(--ld-accent-soft);color:var(--q-navy);border-radius:.75rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;margin-top:1.2rem;padding:1rem;display:grid}.packaging div{gap:.2rem;display:grid}.packaging small{color:var(--ld-muted)}.packaging>span:last-child{font-size:.72rem;font-weight:800}.check-row{cursor:pointer;gap:.8rem;margin-top:1rem;padding:.2rem;display:flex}.summary-card{border-color:var(--ld-ink);background:var(--q-navy);color:#fff;max-height:calc(100vh - 2rem);position:sticky;top:1rem;overflow-y:auto;box-shadow:0 1.25rem 3rem #09090b2e}.summary-head{z-index:2;top:calc(var(--q-card-pad) * -1);margin:calc(var(--q-card-pad) * -1) calc(var(--q-card-pad) * -1) 0;padding:var(--q-card-pad) var(--q-card-pad) .1rem;background:var(--q-navy);position:sticky}.summary-head dl{margin-bottom:0}.dispatch-options .choice{background:#ffffff0f;border-color:#ffffff3d}.dispatch-options .choice small{color:#d1d5db}.dispatch-options .choice.selected{background:var(--ld-accent-soft);color:var(--q-navy)}.dispatch-options .choice.selected small{color:var(--ld-muted)}.quote-configurator{gap:.8rem;max-width:42rem;margin-top:.85rem;display:grid}.quote-configurator fieldset{border:0;gap:.35rem;margin:0;padding:0;display:grid}.quote-configurator legend{margin-bottom:.1rem;font-size:.82rem;font-weight:800}.config-controls{gap:.75rem;display:grid}.segmented,.dispatch-target-cards{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.35rem;display:grid}.segmented label,.dispatch-target-cards label{border:1px solid var(--ld-border);cursor:pointer;background:var(--ld-surface);border-radius:.55rem;padding:.45rem .55rem;display:block}.segmented label.selected,.dispatch-target-cards label.selected{border-color:var(--q-navy);box-shadow:inset 0 0 0 2px var(--q-navy)}.segmented input,.dispatch-target-cards input{opacity:0;position:absolute}.segmented span,.dispatch-target-cards span{gap:.2rem;display:grid}.segmented small,.dispatch-target-cards small{color:var(--ld-muted);font-size:.7rem}.quantity-control,.quote-configurator fieldset>label{gap:.35rem;font-weight:700;display:grid}.infill-custom{margin-top:.35rem}.quote-configurator input[type=number],.quote-configurator select{border:1px solid var(--ld-border);background:var(--ld-surface);border-radius:.5rem;min-height:2.5rem;padding:.45rem .6rem}.dimension-grid{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.dimension-grid label{gap:.3rem;font-weight:700;display:grid}.colour-region{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;display:grid!important}.colour-region>span{min-width:0}.colour-region .colour-picker{justify-self:end}.colour-region.single-region{display:block!important}.colour-region.single-region .colour-picker{justify-self:start}.colour-control{grid-column:1/-1}.colour-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;max-width:26rem;display:grid}.colour-picker button{border:1px solid var(--ld-border);min-height:2.1rem;color:var(--q-navy);background:var(--ld-surface);font:inherit;cursor:pointer;white-space:nowrap;border-radius:.55rem;align-items:center;gap:.32rem;padding:.28rem .42rem;font-size:.76rem;display:inline-flex}.colour-picker button:hover:not(:disabled){background:var(--ld-accent-soft);border-color:#2d90db}.colour-picker button:focus-visible{outline:3px solid var(--ld-forest);outline-offset:2px}.colour-picker button.selected{color:#fff;background:#2d90db;border-color:#2d90db}.colour-picker button:disabled{cursor:not-allowed;opacity:.55}.colour-picker i{border:1px solid #00000029;border-radius:50%;flex:none;width:1rem;height:1rem}.colour-picker button.selected i{border:2px solid #fff}.material-picker .segmented{grid-template-columns:repeat(2,minmax(0,1fr))}.material-picker .segmented label{border-radius:999px;padding:.22rem .45rem}.material-picker .segmented span{align-items:center;gap:.35rem;font-size:.78rem;display:flex}.material-picker .segmented span:before{content:"";background:#dfe4ea;border-radius:50%;flex:none;width:.9rem;height:.9rem}.material-picker .segmented small{display:none}.material-picker .segmented label.selected{box-shadow:none;color:#fff;background:#2d90db;border-color:#2d90db}.material-picker .segmented label.selected span:before{box-sizing:border-box;background:0 0;border:2px solid #fff}.dispatch-options legend,.summary-card .step-label{color:#bfdbfe}.price{letter-spacing:-.055em;font-size:3.2rem;font-weight:800}.vat{color:#d1d5db;font-size:.7rem}.summary-card dl{border-block:1px solid #ffffff2e;margin:1.5rem 0;padding:1rem 0}.summary-card dl div{justify-content:space-between;gap:1rem;padding:.3rem 0;display:flex}.summary-card dt,.summary-card dd{margin:0;font-size:.8rem}.summary-card dd{font-weight:800}.dispatch{gap:.75rem;display:flex}.dispatch .q-icon{color:#dbeafe;background:#1e3a8a}.dispatch div{gap:.2rem;display:grid}.dispatch span{font-weight:800}.dispatch small{color:#d1d5db}.validity{color:#d1d5db;margin:1.4rem 0;font-size:.7rem;line-height:1.5}.primary,.secondary{border:0;border-radius:.62rem;padding:.82rem 1.05rem;font-weight:800}.primary{background:var(--q-orange);color:#fff}.primary:hover:not(:disabled){background:var(--ld-accent-hover)}.primary.wide{justify-content:space-between;width:100%;display:flex}.return-action{text-decoration:none;display:inline-block}.secondary{background:var(--ld-mint);color:var(--q-navy)}.button-help{color:#d1d5db;text-align:center;margin:.6rem 0;font-size:.68rem}.return-link{border-top:1px solid #ffffff2e;margin-top:1.2rem}.return-link summary{cursor:pointer;padding-top:1.2rem;font-size:.8rem;font-weight:800}.return-link form{gap:.7rem;margin-top:1rem;display:grid}.return-link label{color:#fff}.success-copy{color:#bbf7d0;font-size:.72rem;line-height:1.4}.manual-screen{place-items:center;min-height:70vh;display:grid}.manual-card{width:min(100%,42rem);padding:clamp(1.5rem,5vw,3.5rem)}.manual-card h1{font-size:clamp(2.5rem,6vw,4.3rem)}.manual-card h2{margin-top:2rem}.reason-box,.verified-email{background:#e5e7eb;border-radius:.75rem;gap:.8rem;margin:1.4rem 0;padding:1rem;display:flex}.reason-box div,.verified-email div{gap:.25rem;display:grid}.reason-box span,.verified-email small{color:var(--ld-muted);font-size:.78rem;line-height:1.45}.manual-review-warning{margin:0 0 1rem}.manual-review-warning button{justify-self:start;margin-top:.55rem}.manual-card form{border-top:1px solid var(--ld-border);gap:.9rem;margin-top:1.5rem;padding-top:.4rem;display:grid}.manual-card form h2,.manual-card form p{margin-bottom:0}.manual-card form>p{color:var(--ld-muted);font-size:.84rem;line-height:1.5}.manual-card .primary{justify-self:start}.start-over{margin-top:1.5rem}.verified-email{background:var(--ld-success-soft);color:var(--ld-success)}.verified-email>span{font-weight:900}.confirmation-mark{background:var(--ld-mint);width:4rem;height:4rem;color:var(--q-navy);border-radius:50%;place-items:center;margin-bottom:1.5rem;font-size:1.8rem;display:grid}.return-checkout{border-top:1px solid var(--ld-border);margin-block:1.5rem;padding-top:1rem}.return-checkout fieldset{border:0;margin:0;padding:0}.return-checkout legend{color:var(--q-navy);margin-bottom:.5rem;font-size:.8rem;font-weight:800}.return-checkout .check-row{border:1px solid var(--ld-border);border-radius:.65rem;padding:.7rem}.return-checkout .primary{margin-top:.5rem}.mobile-price-peek{display:none}.summary-card{scroll-margin-top:1rem}@media (width<=800px){.upload-workspace{grid-template-columns:1fr}.upload-guide{border-top:1px solid var(--ld-border);border-left:0;padding:1rem 0 0;position:static}.quote-grid{grid-template-columns:1fr}.summary-card{max-height:none;position:static;overflow:visible}.address-grid{grid-template-columns:1fr}.quote-heading{flex-direction:column;align-items:start}.choice-grid{grid-template-columns:1fr}.choice{min-height:auto}.model-stage{min-height:13rem}.mobile-price-peek{z-index:20;width:100%;min-height:4.35rem;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:var(--q-navy);color:#fff;text-align:left;border:0;border-top:1px solid #ffffff2e;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -.8rem 2rem #09090b2e}.mobile-price-peek>span:first-child{gap:.1rem;display:grid}.mobile-price-peek strong{letter-spacing:-.035em;font-size:1.35rem}.mobile-price-peek small{color:#d1d5db;font-size:.68rem}.mobile-price-peek>span:last-child{color:#bfdbfe;flex:none;font-size:.76rem;font-weight:800}.summary-card{scroll-margin-top:1.5rem}}@media (width<=480px){.quote-app{padding-top:1.5rem}.trust-row{display:grid}.preconfig,.upload-card .preconfig{grid-template-columns:1fr}.colour-region{grid-template-columns:1fr;gap:.4rem}.process-steps{gap:.4rem;font-size:.62rem}.demo-row{flex-direction:column;align-items:start}.card-heading{flex-direction:column}.packaging{grid-template-columns:auto 1fr}.packaging>span:last-child{grid-column:2}}
