.quote-workspace{padding-block:40px 72px}
.quote-heading{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:32px}
.quote-heading h1{font-size:clamp(30px,3.2vw,46px);letter-spacing:-.03em}
.quote-heading .eyebrow{margin-bottom:12px;font-size:14px}
.quote-heading p:not(.eyebrow){margin-top:14px;font-size:16px}
.quote-heading>a{flex-shrink:0}
.quote-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:28px;align-items:start}
.quote-grid>div{min-width:0}
.quote-card{padding:clamp(22px,3vw,40px);background:#fff;border:1px solid var(--line)}
.quote-card fieldset{min-width:0}
.quote-card>fieldset>legend{display:flex;gap:14px;font-size:21px;margin-bottom:22px}
.quote-card>fieldset>legend>span{color:var(--accent);font-size:15px}
.quote-card .small-legend{font-size:17px;margin:26px 0 16px}
.quote-categories{gap:10px}
.quote-categories label{padding:17px 12px;align-items:flex-start;border-top-width:3px;min-width:0}
.quote-categories input{margin-top:6px}
.quote-categories strong{display:block;font-size:16px;line-height:1.45}
.quote-categories small{display:block;font-size:14px;margin-top:7px;font-weight:400;color:var(--muted)}
.quote-common{display:grid;grid-template-columns:minmax(150px,1fr) 1.4fr;gap:24px;align-items:center;margin-top:25px}
.quote-common .check-label{margin:25px 0 0;font-size:15px}
.quote-card .form-hint,.quote-summary .form-hint{font-size:14px;line-height:1.65}
.quote-card .field-grid{gap:18px}
.quote-card .quote-layers{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}
.field-output{display:block;font-size:14px;font-weight:400;color:var(--muted);padding:14px 0;min-height:52px}
.equipment-heading,.equipment-row-head{display:flex;justify-content:space-between;align-items:center;gap:14px}
.equipment-heading{margin:30px 0 16px}
.equipment-heading h3{font-size:18px}
.text-button{padding:8px 0;color:var(--accent);border:0;background:transparent;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.text-button:disabled{color:var(--muted);cursor:default;opacity:.55}
.equipment-row{padding:18px;background:#f5f7f8;border:1px solid var(--line);margin-bottom:14px}
.equipment-row-head>label{flex:1;max-width:70%}
.equipment-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.equipment-row .check-label{margin:16px 0 0}
.process-options{display:flex;gap:10px;flex-wrap:wrap}
.process-options label{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);font-size:14px;cursor:pointer}
.process-options label:has(:checked){border-color:var(--accent);background:#edf2fe}
.process-options input{accent-color:var(--accent)}
.quote-card .contact-fields{margin-top:28px}
.quote-card #quote-contact{padding-top:28px;border-top:1px solid var(--line)}
.quote-card .accordion summary{font-size:16px;padding-block:18px}
.quote-card .accordion p{font-size:14px}
.quote-card .note{font-size:14px;margin-top:18px}
.quote-summary{position:sticky;top:112px;padding:26px;background:var(--dark);color:#fff;min-width:0}
.quote-summary .eyebrow{font-size:14px;margin-bottom:14px;color:#c0cdcc}
.quote-summary h2{font-size:26px;line-height:1.4}
.quote-summary dl{margin:20px 0}
.quote-summary dt{color:#aebfbd;font-size:14px;margin-top:14px}
.quote-summary dd{margin:4px 0 0;font-size:15px;overflow-wrap:anywhere}
.quote-price{padding:22px 0;border-block:1px solid #ffffff30;margin-top:22px}
.quote-price>span{font-size:14px;color:#c0cdcc}
.quote-price strong{display:block;font-size:clamp(26px,2.5vw,36px);line-height:1.4;color:var(--lime);margin-top:8px;overflow-wrap:anywhere}
.quote-summary p{color:#c0cdcc}
.quote-summary .btn{width:100%;justify-content:center;margin-top:14px;gap:12px}
.quote-summary .btn:after{display:none}
.quote-summary .btn.outline{color:#fff;border-color:#6c8280}
.quote-summary .form-hint{margin-top:22px}
.quote-summary button:disabled{cursor:wait;opacity:.6}
.quote-summary .error{color:#ffb8ad}
.quote-inline-calculate{display:none}
.quote-tracking{margin-top:52px;padding-top:40px;border-top:1px solid var(--line)}
.quote-tracking h2{font-size:30px;margin-bottom:12px}
.quote-tracking .eyebrow{font-size:14px;margin-bottom:12px}
.quote-tracking form{max-width:850px;margin-top:24px}
.quote-tracking form>.btn{margin-top:20px}
.tracking-card{background:white;border:1px solid var(--line);padding:24px;margin-top:20px;overflow-wrap:anywhere}
.tracking-card h3{font-size:22px;margin-bottom:12px}
.tracking-card p{font-size:15px;margin-top:8px}
.tracking-card .tracking-terms{white-space:pre-wrap;padding:14px;background:#f3f5f5;margin-block:16px}
.tracking-card .actions{margin-top:20px}
.tracking-card textarea{display:block;border:1px solid var(--line);padding:12px;width:100%;font:inherit;min-height:85px;margin-block:12px}
.quote-workspace .success-panel{margin-top:0;padding:28px}
.success-panel details{margin-top:24px}
.success-panel summary{cursor:pointer;font-size:14px}
.success-panel code{display:block;overflow-wrap:anywhere;margin-top:12px;font-size:14px}
.quote-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr);align-items:start}
.quote-results{min-width:0;position:sticky;top:100px;max-height:calc(100dvh - 120px);overflow:auto;scrollbar-gutter:stable}
.quote-results .quote-summary{position:static;margin-top:20px;padding:26px}
.quote-preview{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;scroll-margin-top:120px}
.quote-preview [hidden]{display:none!important}
.visual-heading{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:22px 22px 16px}
.visual-heading h2{font-size:24px;line-height:1.3;margin-top:8px}
.visual-kicker{font-size:12px;letter-spacing:.12em;color:var(--accent);font-weight:700}
.visual-tabs,.visual-camera{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 14px}
.visual-tabs button,.visual-camera button{font:inherit;font-size:14px;border:1px solid #ccdaeb;background:#f4f7fc;color:#264263;padding:9px 12px;border-radius:5px;cursor:pointer}
.visual-tabs button[aria-pressed=true]{background:#245ddd;border-color:#245ddd;color:#fff}
.quote-preview button:disabled,.quote-preview input:disabled,.quote-preview select:disabled{opacity:.45;cursor:default}
.quote-preview :focus-visible{outline:3px solid #2769d1;outline-offset:3px}
.visual-empty{padding:50px 26px;background:#edf2f8;min-height:240px;display:flex;flex-direction:column;justify-content:center}
.visual-empty strong{font-size:22px;color:#2b4767}
.visual-empty p{font-size:16px;margin-top:14px;line-height:1.75;color:#526883}
.visual-empty[hidden],.visual-stage[hidden]{display:none}
.visual-stage{position:relative;background:#edf2f8;min-height:240px}
.visual-stage canvas{display:block;width:100%;height:auto;touch-action:none}
.visual-stage canvas[hidden]{display:none}
.visual-dimensions{position:absolute;bottom:12px;left:16px;font-size:14px;background:#fffffff0;color:#29486c;border:1px solid #d7e1ef;padding:6px 10px;border-radius:5px;pointer-events:none}
.visual-camera{padding-top:14px;padding-bottom:6px}
.visual-hint,.visual-status,.visual-disclaimer{font-size:14px;padding:0 22px;line-height:1.7;color:#52647c}
.visual-hint{margin-bottom:16px}.visual-status{margin-top:16px}.visual-disclaimer{font-size:12px;margin:16px 0 20px}
.visual-settings{border-block:1px solid var(--line);padding:0 22px}
.visual-settings summary{padding:15px 0;font-size:15px;font-weight:600;cursor:pointer}
.visual-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:18px}
.visual-control-grid label{font-size:14px;color:#344b67;min-width:0}
.visual-control-grid input[type=range]{width:100%;display:block;margin-top:10px;accent-color:var(--accent)}
.visual-control-grid select{width:100%;padding:9px;border:1px solid #ccd8e8;border-radius:4px;margin-top:8px;font:inherit;background:white}
.visual-wide{grid-column:1/-1}.visual-check{display:flex;gap:8px;align-items:center}
.visual-check input{accent-color:var(--accent)}
.fit-checks{padding:0 22px;list-style:none;margin:14px 0}
.fit-checks li{font-size:14px;line-height:1.65;padding:10px 12px;margin-top:8px;border-left:3px solid #5b83b4;background:#f0f5fb;color:#395373}
.fit-checks .fit-warning{border-color:#b4721f;background:#fff6e6;color:#78521e}
.quantity-comparison{border-top:1px solid #ffffff30;margin-top:22px;padding-top:16px}
.quantity-comparison summary{font-size:16px;font-weight:600;cursor:pointer}
.quantity-comparison label{display:block;font-size:14px;color:#c8d6e3;margin-top:18px}
.quantity-comparison input{width:100%;min-width:0;padding:12px;margin-top:10px;border:1px solid #687f94;border-radius:4px;font:inherit;background:#fff;color:#17334e}
.quantity-comparison p{font-size:14px;line-height:1.7;margin-top:14px}
.comparison-results{overflow-x:auto;margin-top:14px}.comparison-results table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}
.comparison-results caption{font-size:14px;text-align:left;margin-bottom:12px;color:#d9e8f5}
.comparison-results th,.comparison-results td{padding:10px 8px;border-bottom:1px solid #ffffff30;vertical-align:top;font-weight:400;min-width:70px}
@media(min-width:901px){.quote-results{top:112px}.quote-grid .quote-summary h2{font-size:25px}.quote-grid .quote-card .field-grid{grid-template-columns:1fr 1fr}.quote-grid .quote-card .quote-layers{grid-template-columns:1fr}.quote-grid .quote-categories{grid-template-columns:1fr}}
@media(max-width:900px){.quote-results{position:static;max-height:none;overflow:visible}.visual-control-grid{gap:18px}.visual-stage canvas{max-height:450px;object-fit:contain}.quote-preview{scroll-margin-top:170px}}
@media(prefers-reduced-motion:reduce){.quote-preview *{scroll-behavior:auto}}
@media(max-width:1100px){.quote-grid{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.quote-summary{top:160px;padding:22px}.quote-categories{grid-template-columns:1fr}.quote-categories label{padding:12px}.quote-categories small{margin-top:4px}.quote-card .quote-layers{grid-template-columns:1fr}.quote-common{grid-template-columns:1fr;gap:0}.quote-common .check-label{margin-top:18px}}
@media(max-width:900px){.quote-grid{grid-template-columns:1fr}.quote-summary{position:static;grid-row:2;scroll-margin-top:160px}.quote-heading{align-items:flex-start;flex-direction:column;gap:20px}.quote-categories{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-card .quote-layers{grid-template-columns:repeat(3,minmax(0,1fr))}.quote-inline-calculate{display:flex;width:100%;margin-top:20px}}
@media(max-width:550px){.quote-workspace{padding-top:28px}.quote-card{padding:20px}.quote-categories,.quote-card .quote-layers{grid-template-columns:1fr}.equipment-fields{grid-template-columns:1fr 1fr}.equipment-row{padding:14px}.equipment-heading{align-items:flex-start}.quote-tracking .field-grid{grid-template-columns:1fr}.quote-summary{padding:24px}.quote-heading p:not(.eyebrow){line-height:1.8}}
@media(min-width:901px) and (max-width:1100px){.quote-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr)}.quote-results{top:158px;max-height:calc(100dvh - 176px)}}
