@font-face{font-family:DM;src:url('assets/fonts/dm-400.ttf')}@font-face{font-family:DM;src:url('assets/fonts/dm-500.ttf');font-weight:500}@font-face{font-family:DM;src:url('assets/fonts/dm-700.ttf');font-weight:700}
:root{--ink:#20231f;--paper:#e4e2d9;--orange:#ec7345;--line:#ffffff24}*{box-sizing:border-box}body{margin:0;background:#171b18;color:var(--paper);font:14px DM,Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid var(--orange);outline-offset:4px}.skip{position:absolute;top:-100px}.skip:focus{top:5px;z-index:99;background:#fff;color:#111;padding:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}.room-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 3.2%;border-bottom:1px solid var(--line)}.room-header img{width:126px;filter:grayscale(1) brightness(4)}.room-header nav{display:flex;gap:36px;font-size:12px}.room-header nav a{padding:12px 0;color:#a7ada3}.room-header nav [aria-current]{color:#eee;border-bottom:1px solid var(--orange)}.back{font-size:12px}.colour-room{display:grid;grid-template-columns:minmax(0,1fr) 380px;height:calc(100svh - 88px);min-height:690px}.sample-stage{position:relative;overflow:hidden;background:radial-gradient(ellipse at 54% 42%,#eeece4,#d6d4ca 75%);color:var(--ink)}.room-heading{position:absolute;left:5%;top:5%;z-index:2;pointer-events:none}.eyebrow{font-size:8px;letter-spacing:1.8px}.room-heading h1{font-size:clamp(34px,3.7vw,62px);font-weight:400;line-height:1.02;letter-spacing:-.055em;margin:20px 0 0}.lighting-switch{position:absolute;right:5%;top:5%;z-index:3;display:flex;gap:2px;border:1px solid #23271e30;padding:3px;border-radius:3px}.lighting-switch button{background:none;border:0;padding:8px 10px;font-size:10px;color:#666b62}.lighting-switch [aria-pressed=true]{background:#252b23;color:#eee}.sample-stage canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}.sample-stage canvas:active{cursor:grabbing}.render-status{position:absolute;top:52%;text-align:center;width:100%;font-size:12px;pointer-events:none}.swatch-id{position:absolute;left:5%;bottom:14%;pointer-events:none;z-index:2}.swatch-id>span{font-size:11px;letter-spacing:1.5px}.swatch-id h2{font-weight:400;font-size:clamp(28px,3.3vw,52px);letter-spacing:-.045em;margin:9px 0}.swatch-id p{font-size:8px;letter-spacing:1.7px;margin:0;color:#68705e}.view-actions{position:absolute;right:5%;bottom:14%;display:flex;flex-direction:column;align-items:end;gap:12px;z-index:3}.view-actions button{font-size:10px;padding:0 0 5px;border:0;border-bottom:1px solid #59624d55;background:none;color:#535e49}.view-actions [aria-pressed=true]{color:#111;border-color:#111}.light-control{position:absolute;bottom:5%;left:5%;right:5%;display:flex;gap:15px;align-items:center;z-index:3;border-top:1px solid #292f222b;padding-top:20px}.light-control>span{font-size:8px;letter-spacing:1.6px;margin-right:auto;color:#5f6858}.light-control label{font-size:10px;white-space:nowrap}.light-control label span{margin-left:8px}.light-control input{accent-color:#343c2c;width:130px;height:15px;cursor:ew-resize}.light-control output{font-size:9px;width:30px}.compare-caption{position:absolute;top:73%;left:10%;right:10%;display:flex;justify-content:space-around;gap:15px;font-size:11px;z-index:2;pointer-events:none}.comparing .swatch-id{bottom:14%}.comparing .swatch-id h2{font-size:24px}.catalogue{display:flex;flex-direction:column;padding:27px 24px 22px;min-height:0}.library-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.library-top h2{font-size:27px;font-weight:400;letter-spacing:-.04em;margin:10px 0 0}.library-top>span{font-size:9px;color:#939c8c;white-space:nowrap}.search-label{display:flex;align-items:center;gap:10px;border-bottom:1px solid #ffffff4a;padding-bottom:11px}.search-label>span{font-size:24px}.search-label input{color:#eee;background:transparent;border:0;width:100%;font-size:11px;padding:8px 0;outline-offset:0}.search-label input::placeholder{color:#9aa18f}.filters{display:flex;gap:10px;margin:13px 0}.filters label{width:50%}.filters select,.compare-select select{width:100%;border:1px solid var(--line);border-radius:0;background:#20261f;color:#c9d0bd;font-size:10px;padding:10px 5px}.library-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}.library-tabs button{background:none;border:0;color:#929c87;font-size:10px;padding:0}.library-tabs [aria-pressed=true]{color:#f2eadc}.library-tabs span{color:var(--orange);margin-left:4px}#clear-filters{margin-left:auto;font-size:9px}.colour-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px;overflow-y:auto;overscroll-behavior:contain;min-height:120px;flex:1;align-content:start;padding:3px 5px 10px 2px;scrollbar-width:thin;scrollbar-color:#626c59 transparent}.colour-option{text-align:left;display:block;border:0;background:none;color:#d2d7c9;padding:0;min-width:0}.colour-chip{height:42px;display:block;border-radius:2px;position:relative;background:var(--colour);box-shadow:inset 0 1px 0 #ffffff30,inset 0 -1px 2px #0003}.colour-option[aria-pressed=true] .colour-chip:after{content:'✓';position:absolute;right:4px;top:4px;background:#eee8db;color:#1b2318;width:16px;height:16px;border-radius:50%;font-size:10px;text-align:center;line-height:16px}.colour-option[aria-pressed=true] .colour-chip{outline:1px solid #e1e3d5;outline-offset:2px}.colour-option:hover .colour-chip{transform:translateY(-2px);transition:transform .2s}.colour-option strong{display:block;font-size:9px;font-weight:400;line-height:1.3;margin:7px 0 3px;overflow-wrap:anywhere}.colour-option small{font-size:8px;color:#8f9b83}.selected-actions{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:15px;margin-top:10px}.selected-actions button{width:50%;padding:10px;border:1px solid #768369;background:none;color:#dde3d4;font-size:11px}.selected-actions [aria-pressed=true]{background:#e1e4d4;color:#242d1b}.compare-select{font-size:10px;margin-top:12px}.compare-select select{margin-top:6px}.reference-row{display:flex;align-items:center;justify-content:space-between;margin-top:16px;gap:8px}.reference-row button{display:flex;gap:10px;align-items:center;text-align:left;background:none;color:#98a48e;border:0;padding:0;font-size:8px;line-height:1.5}.reference-row b{display:block;font-weight:400;color:#dde3d4;font-size:10px}.reference-row img{width:38px;height:38px;object-fit:cover;background:#eee}.reference-row>a{font-size:9px;color:#c7d0bd}.colour-note{font-size:9px;line-height:1.6;color:#a0aa96;margin:13px 0}.project-link{display:flex;justify-content:space-between;background:#dfe3d2;color:#283020;padding:14px;font-size:11px}.project-link:hover{background:#f0f0e7}#empty-results{font-size:12px;line-height:1.6;color:#b7c1aa;min-height:120px;flex:1}dialog{background:#e7e5dc;color:#232a1e;border:0;width:min(520px,90vw);max-height:90svh;padding:32px}dialog::backdrop{background:#111b;backdrop-filter:blur(8px)}dialog h2{font-weight:400;letter-spacing:-.04em;font-size:30px}dialog img{display:block;width:min(300px,100%);margin:20px auto;image-rendering:auto}dialog p{font-size:12px;line-height:1.65}dialog>a{font-size:12px;border-bottom:1px solid #8d967e}.dialog-close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:28px}
@media(min-width:1600px){.colour-room{grid-template-columns:minmax(0,1fr) 440px}.catalogue{padding:35px}.colour-chip{height:55px}}
@media(max-width:1000px){.colour-room{grid-template-columns:minmax(0,1fr) 330px}.catalogue{padding:23px 18px}.room-heading h1{font-size:38px}.lighting-switch{top:25%;left:5%;right:auto}.light-control>span{display:none}.light-control{justify-content:space-between}.light-control input{width:110px}.swatch-id h2{font-size:30px}}
@media(max-width:720px){.room-header{height:73px;padding:0 5%}.room-header img{width:100px}.room-header nav{gap:16px;font-size:10px}.back{display:none}.colour-room{display:block;height:auto;min-height:0}.sample-stage{height:570px;min-height:0}.room-heading{top:25px;left:6%}.room-heading h1{font-size:37px;margin-top:12px}.room-heading .eyebrow{font-size:7px;letter-spacing:1px}.lighting-switch{top:25px;left:auto;right:5%;flex-direction:column;padding:2px}.lighting-switch button{font-size:9px;padding:7px 9px}.swatch-id{left:6%;bottom:16%}.swatch-id h2{font-size:27px}.swatch-id>span{font-size:9px}.view-actions{right:6%;bottom:16%}.view-actions button{font-size:9px}.light-control{left:6%;right:6%;bottom:6%;padding-top:16px}.light-control>span{display:block;font-size:6px;letter-spacing:1px}.light-control label{font-size:9px}.light-control input{width:80px}.light-control output{font-size:8px}.catalogue{padding:28px 6% 35px}.library-top h2{font-size:32px}.colour-list{height:380px;flex:none;grid-template-columns:repeat(4,minmax(0,1fr));max-height:50svh}.colour-chip{height:46px}.colour-option strong{font-size:9px}.reference-row img{width:50px;height:50px}.reference-row button{font-size:10px}.colour-note{font-size:10px}.library-tabs button,.filters select{font-size:11px}.compare-caption{top:70%;font-size:9px}.comparing .swatch-id{bottom:16%}.comparing .swatch-id h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.compare-caption{top:auto!important;left:0;bottom:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

@media(max-width:720px){.sample-stage canvas{top:142px;bottom:160px;height:calc(100% - 302px)}.swatch-id{bottom:15%}.view-actions{bottom:15%}}

/* Original reference images stay outside the renderer and its colour transforms. */
.sample-stage{background:#dedede}.presentation-switch{position:absolute;right:5%;top:5%;z-index:5;display:flex;border:1px solid #2224;padding:3px;gap:2px}.presentation-switch button{border:0;background:none;padding:9px;font-size:10px;color:#444}.presentation-switch [aria-pressed=true]{background:#252525;color:#fff}.lighting-switch{top:13%}.reference-stage{position:absolute;inset:24% 8% 27%;display:none;align-items:center;justify-content:center;gap:24px}.reference-stage figure{margin:0;min-width:0;max-width:420px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.reference-stage img{max-width:100%;min-height:0;max-height:calc(100% - 35px);object-fit:contain}.reference-stage figcaption{font-size:11px;text-align:center}.reference-label{display:none;position:absolute;left:5%;bottom:5%;font-size:8px;letter-spacing:1.5px}.reference-mode .reference-stage{display:flex}.reference-mode .reference-label{display:block}.reference-mode canvas,.reference-mode .lighting-switch,.reference-mode .view-actions,.reference-mode .light-control,.reference-mode .render-status{visibility:hidden}.range-summary{font-size:9px;color:#aab1a2;line-height:1.5;margin:0 0 12px}.colour-chip{background:#eee;overflow:hidden;box-shadow:none}.colour-chip img{width:100%;height:100%;object-fit:contain;display:block}.colour-chip{height:64px}
@media(max-width:1000px) and (min-width:721px){.presentation-switch{top:22%;left:5%;right:auto}.lighting-switch{top:29%}.reference-stage{top:34%;bottom:28%}}
@media(max-width:720px){.presentation-switch{top:138px;left:6%;right:auto}.lighting-switch{top:26px}.reference-stage{inset:185px 6% 155px}.reference-stage figure{gap:8px}.reference-stage figcaption{font-size:9px}.reference-label{left:6%;bottom:6%;font-size:7px}.sample-stage canvas{top:180px;height:calc(100% - 340px)}.colour-chip{height:60px}}

.fx-detail{font-size:11px;line-height:1.5;color:#e0dacb;margin:12px 0 0}.swatch-id h2{max-width:95%}

.cad-upload{border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:18px}.cad-upload>button{background:none;border:1px solid #74816c;color:#e2e6d9;padding:11px 13px;width:100%;text-align:left;font-size:12px}.cad-upload>button span{float:right}.cad-upload p{font-size:9px;color:#a8b09f;line-height:1.6;margin:8px 0 0;overflow-wrap:anywhere}.cad-upload #cad-reset,.cad-upload #cad-cancel{border:0;padding:8px 0 0;font-size:10px;color:#e5b19b}.catalogue{overflow-y:auto}.cad-upload{flex-shrink:0}

.has-part.comparing .compare-caption{top:70%!important;left:8%;right:8%;bottom:auto;width:auto;height:auto;overflow:visible;clip-path:none;text-align:center;font-size:11px}.has-part.comparing .compare-caption span{width:50%}@media(max-width:720px){.has-part.comparing .compare-caption{top:68%!important;font-size:9px}}

/* A readable product guide below the finish name, outside the model area. */
.colour-room{min-height:930px}.sample-stage canvas{height:calc(100% - 310px)}.swatch-id,.comparing .swatch-id{bottom:300px}.swatch-id h2{font-size:32px;max-width:560px;margin:7px 0}.view-actions{bottom:305px}.coating-guide{position:absolute;left:5%;right:5%;bottom:90px;font-size:11px;z-index:4;max-height:195px;overflow:auto;border-top:1px solid #2223;padding-top:12px}.coating-guide>p{max-width:640px;line-height:1.6;margin:0 0 14px}.coating-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.coating-facts span,.coating-facts small{display:block;font-size:9px;color:#555}.coating-facts strong{display:block;font-size:19px;font-weight:500;margin:7px 0}.rating-boxes{display:flex;gap:3px;margin:5px 0 8px}.rating-boxes i{width:16px;height:5px;background:#b9bdb9}.rating-boxes .filled{background:#3d5146}.coating-guide details{font-size:9px;display:inline-block;margin-top:13px}.coating-guide details p{line-height:1.6}.coating-guide>a{font-size:9px;float:right;margin-top:13px;border-bottom:1px solid #5555}.colour-heat-note{grid-column:1/-1}.reference-stage{inset:23% 8% 43%}.has-part.comparing .compare-caption{top:56%!important}.coating-guide summary{cursor:pointer}
@media(max-width:720px){.colour-room{min-height:0}.sample-stage{height:870px}.sample-stage canvas{top:180px;height:260px;bottom:auto}.swatch-id,.comparing .swatch-id{top:450px;bottom:auto;right:6%}.swatch-id h2{font-size:27px;max-width:80%}.view-actions{bottom:auto;top:455px}.coating-guide{left:6%;right:6%;top:565px;bottom:85px;max-height:none}.coating-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.coating-facts strong{font-size:16px;margin:4px 0}.coating-guide>p{font-size:10px;margin-bottom:10px}.coating-guide>a{float:none;display:block;margin-top:8px}.reference-stage{inset:185px 6% 445px}.has-part.comparing .compare-caption{top:47%!important}.light-control{bottom:3%}}

.coating-guide>a{margin-left:14px}@media(max-width:720px){.coating-guide>a{margin-left:0}}
@media(max-width:720px){.sample-stage{height:940px}.swatch-id h2{max-width:72%;font-size:25px}.coating-guide{bottom:85px;scrollbar-width:thin}.reference-stage{bottom:515px}.has-part.comparing .compare-caption{top:44%!important}}

.part-quote{border:1px solid #ffffff30;padding:14px;margin-bottom:16px;flex-shrink:0}.part-quote>strong{display:block;font-size:21px;font-weight:400;margin:10px 0}.part-quote label{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:12px}.part-quote input{width:70px;background:#20261f;border:1px solid #65715d;padding:7px;color:#fff}.part-quote>div{display:flex;gap:8px}.part-quote button{background:#e0e4d8;color:#222;border:0;padding:10px;font-size:11px;cursor:pointer}.part-quote p,.part-quote small{font-size:10px;line-height:1.6;color:#b8c0ad;display:block}.part-quote small{margin-top:10px;font-size:9px}.part-quote ul{padding:0;list-style:none}.part-quote li{font-size:11px;line-height:1.5;overflow-wrap:anywhere;border-bottom:1px solid #fff2;padding:10px 0}.part-quote li button{display:block;background:none;color:#e5b19b;padding:6px 0;font-size:10px}#quote-engine-dialog{width:min(860px,94vw);padding:26px}#quote-engine-close{position:absolute;right:12px;top:8px;background:none;border:0;font-size:28px}#quote-engine-frame{width:100%;height:65vh;border:0;background:#fff}#quote-engine-frame:not([src]){display:none}

.screen-colour-disclaimer{position:absolute;bottom:12px;left:5%;right:5%;margin:0;color:#575d56;font-size:9px;line-height:1.5;z-index:3;pointer-events:none}.light-control{bottom:5%}@media(max-width:720px){.screen-colour-disclaimer{left:6%;right:6%;bottom:9px;font-size:8px}.light-control{bottom:5%}}

.coating-fx-performance{grid-column:1/-1;max-width:650px}.coating-fx-performance strong{font-size:17px;margin:4px 0}.coating-fx-performance small{max-width:640px;line-height:1.5}.coating-extra-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:9px}.coating-extra-facts>div{min-width:0}.coating-test-note{grid-column:1/-1;font-size:9px;line-height:1.5;color:#555;margin:5px 0 0}
@media(max-width:720px){.coating-extra-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.coating-fx-performance{max-width:none}}

/* Real import activity: indeterminate because the CAD reader has no byte progress. */
.cad-upload.is-loading #cad-upload-open{opacity:1;cursor:progress;border-color:#d5dfc7;background:rgba(213,223,199,.06)}
.cad-upload.is-loading #cad-upload-open span{font-size:0;width:17px;height:17px;border:2px solid rgba(213,223,199,.23);border-top-color:#e1ead5;border-right-color:#e1ead5;border-radius:50%;animation:cad-loading-spin .8s linear infinite}
.cad-upload.has-part{padding-bottom:12px;margin-bottom:14px}.cad-upload.has-part>p:not(#cad-status),.cad-upload.has-part .cad-privacy,.cad-upload.has-part .alt-routes,.cad-upload.has-part .part-intro{display:none}.cad-upload.has-part>#cad-upload-open{width:auto;padding:8px 12px;font-size:12px;margin-top:8px}.cad-upload.has-part #cad-status{margin-top:0}
.cad-upload.is-loading #cad-status{color:#e1ead5;padding:11px 12px;border-left:2px solid #a8ba96;background:rgba(213,223,199,.05)}
@keyframes cad-loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.cad-upload.is-loading #cad-upload-open span{animation:none}}

/* Dedicated estimate screen */
#quote-engine-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:0;background:#e5e5dd;color:#22291f;overflow:auto}#quote-engine-dialog::backdrop{background:#171b16}body:has(#quote-engine-dialog[open]){overflow:hidden}.estimate-header{height:100px;border-bottom:1px solid #252c2026;display:flex;align-items:center;justify-content:space-between;padding:0 4vw}.estimate-header img{width:142px;margin:0;filter:brightness(.2)}.estimate-header>span{font-size:10px;letter-spacing:.18em}#quote-engine-close{position:static;font-size:12px;padding:14px 0;cursor:pointer}.estimate-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,1fr);min-height:calc(100dvh - 100px)}.estimate-preview{position:relative;background:#d5d7ce;min-height:650px;display:flex;flex-direction:column}.estimate-preview-label{position:absolute;top:36px;left:4vw;right:4vw;display:flex;justify-content:space-between;font-size:11px;z-index:1}.estimate-preview-label>span:last-child{font-size:13px}#estimate-canvas-host{position:absolute;inset:50px 0 110px}#estimate-canvas-host canvas{position:static;width:100%;height:100%;display:block;touch-action:none}.estimate-preview-footer{position:absolute;bottom:64px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:center;font-size:11px}.estimate-preview button{background:none;border:0;font:inherit;cursor:pointer}.estimate-preview>p{position:absolute;bottom:20px;left:4vw;right:4vw;font-size:10px;color:#505748}.estimate-details{padding:54px 4vw;max-width:650px;align-self:center}.estimate-details :is(h1,h2){font-size:clamp(38px,4.2vw,70px);font-weight:400;letter-spacing:-.055em;line-height:1.05;margin:26px 0 20px}.estimate-details #estimate-filename{font-size:12px;overflow-wrap:anywhere;color:#626858}.estimate-spec{margin:32px 0;border-top:1px solid #272e2426}.estimate-spec>div{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #272e2426;padding:16px 0;font-size:12px}.estimate-spec dt{color:#626858}.estimate-spec dd{margin:0;text-align:right}.estimate-price-block{padding:12px 0}.estimate-price-block strong{display:block;font-size:clamp(28px,3vw,46px);font-weight:400;letter-spacing:-.04em;margin:12px 0}.estimate-price-block p,#quote-engine-status,.estimate-footnote{font-size:12px;line-height:1.6;color:#5b6454}.estimate-primary,.estimate-secondary{display:block;width:100%;padding:18px 22px;text-align:left;font-size:13px;cursor:pointer}.estimate-primary{background:#222a20;color:#eef0e7;border:0;margin-top:24px}.estimate-secondary{background:none;border:1px solid #818976;margin-top:10px}.estimate-footnote{font-size:10px;margin:20px 0 0}.estimate-details #quote-engine-frame{width:100%;height:95px;background:transparent;border:0;display:none}.estimate-details #quote-engine-frame.verification-active{display:block}#quote-engine-status.is-working::before{content:'';display:inline-block;width:12px;height:12px;border:1px solid #87917d;border-top-color:#263120;border-radius:50%;margin-right:9px;vertical-align:-2px;animation:cad-spin .8s linear infinite}#screen-draft-items{font-size:12px;line-height:1.6}#screen-draft-items p{padding-top:12px;border-top:1px solid #27302126}@media(max-width:760px){.estimate-header{height:76px;padding:0 22px}.estimate-header img{width:105px}.estimate-header>span{display:none}.estimate-layout{grid-template-columns:1fr}.estimate-preview{min-height:430px}.estimate-details{padding:32px 25px;max-width:none}.estimate-preview-label{top:23px}.estimate-details :is(h1,h2){font-size:44px}.estimate-preview-footer{bottom:52px}.estimate-preview>p{bottom:12px;font-size:9px}#estimate-canvas-host{inset:35px 0 85px}}

/* The upload continues while the customer explores the colour room. */
#quote-engine-frame{position:fixed;right:20px;bottom:20px;width:310px;height:90px;border:0;background:transparent;display:none;z-index:10000}#quote-engine-frame.verification-active{display:block}
#part-quote-status.is-working::before{content:'';display:inline-block;width:10px;height:10px;border:1px solid #87917d;border-top-color:#e5e5dd;border-radius:50%;margin-right:7px;animation:cad-spin .8s linear infinite}
#quantity-offers-section{margin:24px 0 0}#quantity-offers-section h2{font-size:20px;font-weight:400;letter-spacing:-.03em;margin:0 0 6px}#quantity-offers-section>p{font-size:11px;color:#626858;margin:0 0 14px}#quantity-offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quantity-offer{border:1px solid #a5ad9c;background:transparent;color:#22291f;padding:14px;text-align:left;cursor:pointer;font:inherit;min-height:111px;transition:background .18s,border-color .18s}.quantity-offer[aria-pressed=true]{background:#d1d8c7;border-color:#263120;box-shadow:inset 0 0 0 1px #263120}.quantity-offer:hover:not(:disabled){background:#dce1d4}.quantity-offer:disabled{opacity:.55;cursor:wait}.quantity-offer span,.quantity-offer strong,.quantity-offer small,.quantity-offer em{display:block}.quantity-offer span{font-size:11px}.quantity-offer strong{font-size:23px;font-weight:400;letter-spacing:-.03em;margin:6px 0}.quantity-offer small{font-size:11px}.quantity-offer em{font-size:10px;font-style:normal;color:#426035;margin-top:8px}.quantity-custom{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:11px}.quantity-custom span{flex:1 1 100%}.quantity-custom input{width:110px;min-height:44px;padding:8px 10px;font:inherit;font-size:16px;background:transparent;border:1px solid #a5ad9c;color:inherit}.quantity-custom button{min-height:44px;padding:8px 14px;font:inherit;font-size:13px;background:transparent;border:1px solid #a5ad9c;color:inherit;cursor:pointer}.quantity-custom button:hover{background:#dce1d4}.estimate-details{padding-top:32px;padding-bottom:32px}.estimate-details :is(h1,h2){font-size:clamp(36px,3.8vw,60px);margin-top:18px}.estimate-spec{margin:24px 0}.estimate-primary{margin-top:18px}

#quote-engine-dialog[open]{z-index:9000}
/* Part studio - one canvas, surface-bound edits. */
.part-editor-open{width:100%;padding:17px 14px;margin:14px 0;border:1px solid #aaa995;background:#e7e6dc;color:#242a20;text-align:left;display:flex;justify-content:space-between;font:inherit}.part-editor-open[hidden]{display:none}
#part-editor-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#e7e6dd;color:#23291f;overflow:auto}#part-editor-dialog::backdrop{background:#20251e99}.editor-header{height:84px;padding:0 3vw;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #242a2025}.editor-header #editor-file{font-size:12px;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-header button{padding:13px 18px;border:1px solid #242a20;background:#242a20;color:#f1eee4;font:inherit}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:calc(100dvh - 84px)}.editor-stage{position:relative;min-height:650px;background:#d5d7cd;overflow:hidden}.editor-stage-heading{position:absolute;top:32px;left:4vw;z-index:1;pointer-events:none}.editor-stage-heading :is(h1,h2){font-size:clamp(32px,4vw,62px);font-weight:500;letter-spacing:-.06em;line-height:1.03;margin:15px 0}.editor-stage #editor-canvas-host{position:absolute;inset:100px 0 85px}.editor-stage #swatch-canvas{position:absolute;inset:0;width:100%;height:100%;display:block!important;opacity:1!important}.editor-hint{position:absolute;bottom:48px;left:4vw;right:3vw;font-size:13px;line-height:1.5}.editor-disclaimer{position:absolute;bottom:14px;left:4vw;font-size:10px;color:#58604f}.editor-panel{padding:32px 26px;border-left:1px solid #242a2020;overflow:auto;max-height:calc(100dvh - 84px)}.editor-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0 24px}.editor-tools button{font-size:25px;padding:14px 5px;background:transparent;border:1px solid #242a2040;color:inherit}.editor-tools button span{display:block;font-size:11px;margin-top:8px}.editor-tools button[aria-pressed=true]{background:#242a20;color:#f0ede1;border-color:#242a20}.editor-panel label{display:block;font-size:12px;margin:17px 0}.editor-panel [hidden]{display:none!important}.editor-panel input:not([type=range]),.editor-panel select{box-sizing:border-box;width:100%;display:block;margin-top:8px;padding:12px 8px;border:1px solid #242a2050;background:#f5f3eb;color:inherit;font:inherit}.editor-panel input[type=range]{width:100%;accent-color:#3b4830;margin:13px 0}.editor-panel output{float:right}.editor-panel small,.editor-panel p{font-size:12px;line-height:1.6;color:#5a6053}.editor-edits-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #242a2028;padding-top:25px;margin-top:25px}.editor-panel button{cursor:pointer}.editor-panel button:disabled{opacity:.4;cursor:default}.editor-edits-heading button{background:none;border:0;font:inherit;font-size:12px}.editor-panel ol{padding:0;list-style:none}.editor-panel li{display:flex;border-bottom:1px solid #242a2025}.editor-panel li button{border:0;background:transparent;color:inherit;padding:14px 4px}.editor-edit-select{flex:1;text-align:left;font-size:12px;overflow-wrap:anywhere}.editor-edit-select[aria-pressed=true]{font-weight:700;text-decoration:underline;text-underline-offset:4px}.editor-panel li button:last-child{font-size:22px;padding:10px}.editor-cost-note{border-top:1px solid #242a2028;padding-top:20px}#editor-download{width:100%;padding:13px;background:transparent;border:1px solid #242a20;color:inherit;text-align:left}.editor-session-note{font-size:10px!important}#estimate-customisations{font-size:12px;line-height:1.7;padding:12px 0;border-bottom:1px solid #242a2025}button:focus-visible{outline:2px solid #ef6b38;outline-offset:3px}
@media(max-width:850px){.editor-layout{grid-template-columns:minmax(0,1fr) 300px}.editor-panel{padding:25px 18px}.editor-header .eyebrow{display:none}.editor-stage-heading :is(h1,h2){font-size:36px}}@media(max-width:620px){.editor-layout{display:flex;flex-direction:column}.editor-stage{height:56dvh;min-height:390px}.editor-stage-heading{top:18px}.editor-stage-heading :is(h1,h2){font-size:27px;margin:8px 0}.editor-stage #editor-canvas-host{inset:65px 0 70px}.editor-panel{max-height:none;overflow:visible}.editor-tools{grid-template-columns:repeat(5,1fr)}.editor-tools button{font-size:20px}.editor-tools button span{font-size:10px}.editor-header{height:68px}.editor-header button{font-size:12px}.editor-header #editor-file{max-width:50%}}
#editor-reposition{border:1px solid #242a2040;background:transparent;color:inherit;padding:11px;width:100%;font:inherit;font-size:12px}
.editor-navigation{position:absolute;top:20px;right:24px;z-index:2;display:flex;align-items:flex-end;flex-direction:column;gap:8px;max-width:300px}.editor-navigation button{padding:10px 15px;background:#e7e6dd;border:1px solid #242a2050;color:#242a20;font:inherit;font-size:12px;cursor:pointer}.editor-navigation button[aria-pressed=true]{background:#242a20;color:#fff}.editor-navigation span{font-size:10px;color:#596050;text-align:right}.editor-stage #swatch-canvas{touch-action:none}.editor-navigation~.editor-hint{pointer-events:none}@media(max-width:850px){.editor-navigation{top:145px;right:18px}.editor-navigation span{display:none}}@media(max-width:620px){.editor-navigation{top:20px;right:16px}.editor-navigation button{font-size:11px;padding:9px}}
#editor-brush-cursor{position:absolute;z-index:5;pointer-events:none;border:1px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #23291f80;transform:translate(-50%,-50%)}#editor-brush-cursor[hidden]{display:none}

#swatch-canvas{touch-action:none}
.fade-presets{display:flex;gap:5px;margin:14px 0}.fade-presets button,.fade-buttons button{border:1px solid #242a2045;background:transparent;padding:10px 7px;color:inherit;font:inherit;font-size:11px}.fade-presets button{flex:1}.fade-presets button[aria-pressed=true],#fade-reverse[aria-pressed=true]{background:#242a20;color:#fff}.fade-buttons{display:flex;gap:8px;flex-wrap:wrap}.fade-buttons button{flex:1}#fade-add{background:#242a20;color:#f5f3eb}#fade-edit-status{font-size:11px}

.part-material-label{display:grid!important;gap:10px;margin:18px 0 0}.part-material-label select{width:100%;padding:12px;background:transparent;border:1px solid #727966;color:inherit;font:inherit}.part-material-label option{background:#e7e7dd;color:#22281e}#material-help{font-size:12px;line-height:1.5;margin:8px 0 18px;opacity:.8}

.compare-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 8px}.compare-picker button{border:1px solid #737d69;background:transparent;color:inherit;text-align:left;padding:11px;min-width:0}.compare-picker span{display:block;font-size:8px;letter-spacing:1px;margin-bottom:7px}.compare-picker strong{display:block;font-size:11px;line-height:1.4;font-weight:400}.compare-picker [aria-pressed=true]{background:#e1e4d4;color:#242d1b;border-color:#e1e4d4}.compare-picker-hint{font-size:10px;color:#aab5a0;margin:0 0 15px}.compare-performance{position:absolute;bottom:80px;left:5%;right:5%;height:220px;overflow:auto;z-index:4;border-top:1px solid #2223;scrollbar-width:thin}.compare-performance h2{font-size:16px;font-weight:500;margin:12px 0}.compare-performance table{border-collapse:collapse;width:100%;font-size:11px;table-layout:fixed}.compare-performance th,.compare-performance td{text-align:left;padding:9px 10px;border-bottom:1px solid #2222;vertical-align:top;overflow-wrap:anywhere}.compare-performance th{font-weight:500}.compare-performance th:first-child{width:29%}.compare-performance thead{position:sticky;top:0;background:#deded9}.compare-performance a{text-decoration:underline;text-underline-offset:3px}.compare-performance p{font-size:10px;line-height:1.5}.compare-performance td{font-variant-numeric:tabular-nums}@media(max-width:720px){.compare-performance{top:560px;bottom:80px;height:auto;left:6%;right:6%}.compare-performance table{font-size:10px}.compare-performance th,.compare-performance td{padding:8px 5px}}

.reference-row #official-link{font-size:10px;color:#dde3d4;border-bottom:1px solid #768369;padding:6px 0}.data-attribution{display:block;font-size:9px;margin-top:12px;color:#555}#reference-details dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:12px}#reference-details dd{margin:0}

#render-dialog{width:min(900px,94vw);max-height:94svh;padding:28px;overflow:auto}#render-dialog::backdrop{background:#111b;backdrop-filter:blur(8px)}#render-preview{width:100%;max-height:52svh;object-fit:contain;margin:18px 0;background:repeating-conic-gradient(#d5d6d0 0% 25%,#e9e9e3 0% 50%) 0 / 20px 20px}.render-options{display:flex;gap:20px}.render-options label{display:grid;gap:7px;flex:1;font-size:12px}.render-options select{padding:10px;border:1px solid #79806f;background:transparent;color:inherit}#render-download{background:#252c22;color:#eeeee6;padding:14px 24px;border:0;width:100%}#render-download:disabled{opacity:.45;cursor:wait}#render-export-status{min-height:20px}#render-dialog[aria-busy=true] #render-export-status::before{content:'';display:inline-block;width:12px;height:12px;border:2px solid #999;border-top-color:#252c22;border-radius:50%;animation:render-spin .8s linear infinite;margin-right:9px}.render-disclaimer{font-size:10px!important}@keyframes render-spin{to{transform:rotate(360deg)}}
@media (min-width:1000px){.coating-facts[data-count="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}}
