.customizer{background:#f5f5ef;padding-top:38px;padding-bottom:85px}.customizer-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:45px 0 36px}.customizer-heading p{max-width:345px;margin:0;color:var(--muted)}.customizer-shell{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,1fr);border:1px solid #d5dbd0;border-radius:6px;overflow:clip;background:#fafbf7}.product-stage{position:sticky;top:16px;height:640px;min-width:0;align-self:start;background:radial-gradient(ellipse at 48% 34%,#f9faf4 0%,#e5e9df 75%);isolation:isolate}.stage-top{position:absolute;top:26px;left:26px;right:26px;display:flex;justify-content:space-between;gap:20px;z-index:2;pointer-events:none;font-size:12px;letter-spacing:1.5px;color:#6b786b}.stage-brand{font-weight:600;color:#304436}.stage-brand span{font-weight:400;color:#788273}.model-viewport{height:100%;width:100%;overflow:hidden;cursor:grab}.model-viewport:active{cursor:grabbing}.model-viewport canvas{display:block;width:100%;height:100%;touch-action:pan-y}.stage-bottom{position:absolute;left:24px;right:24px;bottom:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:2}.stage-bottom>span{font-size:12px;color:#6b786b}.camera-controls{display:flex;align-items:center;gap:4px;background:#fbfcf7e8;border:1px solid #d7ddd1;border-radius:32px;padding:4px}.camera-controls button{min-height:38px;min-width:38px;background:none;border:0;color:#344836;border-radius:24px;font-size:20px}.camera-controls button[data-camera=reset]{font-size:12px;padding:0 9px}.camera-controls button:hover{background:#e0e7d7}.stage-caption{position:absolute;bottom:0;margin:0;padding:21px 25px;width:100%;border-top:1px solid #cbd3c3;font-size:13px;line-height:1.5;color:#475846;background:#e7ecdfba}.option-panel{min-width:0;border-left:1px solid #d5dbd0;padding:0 24px 22px;background:#fafbf7}.customizer-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin:0 -24px;padding:0 16px;border-bottom:1px solid #d9ded2;background:#fafbf7}.customizer-tabs button{display:flex;align-items:start;flex-direction:column;gap:9px;border:0;border-bottom:3px solid transparent;padding:20px 7px 17px;background:none;text-align:left;color:#829078;font-size:12px;min-width:0}.customizer-tabs button span{font-size:14px;color:#687663}.customizer-tabs button[aria-selected=true]{border-color:#2d4434;color:#2d4434}.customizer-tabs button[aria-selected=true] span{color:#243d2e;font-weight:600}#custom-options{padding:25px 0 0;min-height:470px}#custom-options:focus{outline-offset:5px}.option-title{font-size:23px;font-weight:400;letter-spacing:-.65px;margin:0 0 7px}.option-intro{margin:0 0 21px;line-height:1.5;font-size:14px;color:#727c6d}.option-group{padding:0;margin:0 0 24px;border:0;min-width:0}.option-group legend{padding:0;margin-bottom:12px;width:100%;font-size:14px;font-weight:500;color:#384d3b}.option-group legend span{float:right;font-weight:400;color:#77816f;font-size:12px;padding-top:2px}.front-options,.frame-options,.room-options,.counter-options{display:flex;gap:8px}.choice{position:relative;display:block;min-width:0;cursor:pointer}.choice input{position:absolute;left:10px;top:10px;opacity:0;width:1px;height:1px}.choice-box{height:100%;display:flex;flex-direction:column;padding:11px;border:1px solid #d5dbcf;border-radius:3px;color:#4a5e48;transition:border-color .16s,background .16s}.choice input:checked+.choice-box{border-color:#304b32;background:#edf2e6;box-shadow:inset 0 0 0 1px #304b32}.choice input:focus-visible+.choice-box{outline:3px solid #bc7838;outline-offset:4px}.front-options>.choice{flex:1}.front-options .choice-box{font-size:14px;gap:6px;padding:12px 11px}.choice-detail{font-size:12px;line-height:1.45;color:#7b8474}.swatch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px 8px}.swatch-grid .choice-box{padding:4px;border-color:transparent;background:transparent!important;box-shadow:none!important}.swatch-chip{display:block;height:43px;border:1px solid #192d1720;border-radius:2px;position:relative;overflow:hidden}.swatch-grid input:checked+.choice-box .swatch-chip:after{content:'✓';position:absolute;right:4px;bottom:4px;border-radius:50%;background:#fff;color:#27452d;width:18px;height:18px;text-align:center;font-size:12px;line-height:18px;box-shadow:0 1px 4px #0003}.swatch-name{font-size:12px;line-height:1.3;margin-top:6px;color:#6a7862;overflow-wrap:anywhere}.swatch-grid input:checked+.choice-box .swatch-name{color:#243d2d;font-weight:500}.swatch-grid input:checked+.choice-box{outline:1px solid #556a4a;outline-offset:1px;border-radius:3px}.frame-options .choice-box,.room-options .choice-box{flex-direction:row;align-items:center;gap:8px;min-height:43px;font-size:14px}.frame-chip{height:17px;width:17px;border:1px solid #bdc6b8;border-radius:50%}.reference-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reference-options .choice-box{padding:5px;gap:7px;justify-content:start}.reference-picture{display:block;width:100%;height:85px;border-radius:2px}.reference-options.bathrooms .reference-picture{height:150px}.reference-options .reference-name{font-size:12px;line-height:1.4;padding:0 2px 3px}.selected-description{font-size:14px;line-height:1.6;margin:12px 0 22px;color:#748069}.counter-options .choice{flex:1}.counter-options .choice-box{padding:6px;font-size:13px;gap:7px}.counter-options .swatch-chip{height:48px}.supplier-code{font-size:12px;color:#77816e;display:block;line-height:1.4}.customizer-step{display:flex;justify-content:flex-end;align-items:center;gap:10px;border-top:1px solid #d9dfd1;padding-top:19px;margin-top:8px}.customizer-step button{font-size:14px;padding:13px 15px;border-radius:3px}#next-option{display:flex;justify-content:space-between;gap:28px;background:#2a4232;border:1px solid #2a4232;color:#f4f7ec}#previous-option{background:none;border:0;color:#64745c;margin-right:auto;padding-left:0}.configuration-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-bottom:1px solid #d4dccb;padding:20px 0;gap:17px}.summary-item{font-size:12px;color:#7c8774;line-height:1.5;min-width:0}.summary-item strong{display:block;font-size:14px;font-weight:400;color:#40523b;margin-top:5px}.customizer-note{font-size:12px;max-width:700px;margin:15px 0 0;color:#77816e}.model-loading,.model-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;background:#e9eddf;color:#506344;padding:30px;text-align:center;z-index:3;font-size:14px}.model-loading[hidden],.model-error[hidden],[hidden]{display:none!important}.model-error p{margin:0;max-width:280px}.model-error button{background:#294531;color:#fff;border:0;padding:13px 20px;border-radius:3px}.loading-ring{width:27px;height:27px;border:2px solid #bac4b0;border-top-color:#344e37;border-radius:50%;animation:spin .9s linear infinite}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1500px){.product-stage{height:710px}.option-panel{padding-left:30px;padding-right:30px}.customizer-tabs{margin-left:-30px;margin-right:-30px}.swatch-chip{height:50px}.swatch-name{font-size:13px}}
@media(max-width:1100px){.customizer-shell{grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr)}.product-stage{height:640px}.stage-bottom{flex-direction:column;gap:14px;bottom:86px}.stage-top{left:20px;right:20px}.stage-caption{padding:15px 20px;min-height:67px}.header nav{gap:17px}.header-cta{gap:10px}.configuration-summary{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px}.reference-options .reference-picture{height:74px}.reference-options.bathrooms .reference-picture{height:135px}}
@media(max-width:800px){.customizer{padding-left:5%;padding-right:5%}.customizer-heading{display:block;margin-top:32px}.customizer-heading p{margin-top:21px;max-width:420px;font-size:15px}.customizer-shell{display:block;overflow:visible;border-radius:5px}.product-stage{position:relative;top:auto;height:410px;border-radius:5px 5px 0 0;overflow:hidden}.option-panel{border-left:0;border-top:1px solid #d1d9c8;padding:0 20px 21px}.customizer-tabs{margin:0 -20px;padding:0 16px}.customizer-tabs button{flex-direction:row;align-items:center;gap:7px;padding:18px 5px}.customizer-tabs button span{font-size:14px}.stage-bottom{flex-direction:row;bottom:62px;left:18px;right:18px}.stage-bottom>span{max-width:100px;font-size:11px;line-height:1.45}.stage-caption{min-height:0;font-size:12px;padding:12px 18px}.stage-top{top:19px;left:18px;right:18px;font-size:11px}#custom-options{min-height:0;padding-top:24px}.swatch-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.swatch-chip{height:48px}.swatch-name{font-size:12px}.reference-options .reference-picture{height:105px}.reference-options.bathrooms .reference-picture{height:172px}.reference-options .reference-name{font-size:13px}.customizer-note{font-size:12px}.configuration-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.customizer-tabs button{font-size:11px}.camera-controls button{min-width:33px;min-height:33px}.camera-controls button[data-camera=reset]{font-size:11px;padding:0 6px}}
@media(max-width:380px){.customizer-tabs button{flex-direction:column;align-items:start;gap:5px}.swatch-grid{gap:8px}.option-panel{padding-left:16px;padding-right:16px}.customizer-tabs{margin-left:-16px;margin-right:-16px}.stage-bottom>span{display:none}.stage-bottom{justify-content:center}.product-stage{height:360px}}
@media(prefers-reduced-motion:reduce){.loading-ring{animation:none}.choice-box{transition:none}}

/* Material names remain readable in narrow side panels. */
.swatch-name{overflow-wrap:normal;hyphens:auto}.customizer-shell{background:#e7ecdf}.product-stage{overflow:hidden}
@media(max-width:800px){
 .product-stage{position:sticky;top:0;z-index:3;height:340px;box-shadow:0 8px 18px #233c300b}
 .model-viewport{position:absolute;top:32px;bottom:80px;height:auto}
 .stage-bottom{bottom:48px;justify-content:center}
 .stage-bottom>span{display:none}
 .stage-caption{font-size:11px;padding:9px 14px;white-space:normal}
 .stage-top{top:15px}
 .choice,.choice input,.customizer-tabs button{scroll-margin-top:365px}
}
@media(max-width:380px){.product-stage{height:310px}.choice,.choice input,.customizer-tabs button{scroll-margin-top:330px}}
.swatch-name,.reference-options .reference-name{font-size:14px;line-height:1.35}
@media(max-width:1100px){.swatch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.customizer-tabs button{flex-direction:column;align-items:flex-start;gap:5px}.customizer-tabs{padding:0 14px}.swatch-name{hyphens:none}}
/* The room choice is its own visible step, alongside materials and equipment. */
.customizer-tabs{grid-template-columns:repeat(5,minmax(0,1fr));padding-left:10px;padding-right:10px}.customizer-tabs button{padding-left:3px;padding-right:3px}.customizer-tabs button span{font-size:13px}.layout-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.layout-options .choice-box{padding:13px 8px}.layout-choice-title{font-size:16px;padding:0 5px 10px}.layout-choice-plan svg{display:block;width:100%;height:auto;pointer-events:none}.layout-choice-plan svg text{display:none}.layout-key{border-top:1px solid #d8dfd0;margin-top:20px;padding-top:16px;display:grid;gap:10px;color:#6b7866;font-size:14px}.configuration-summary{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:18px}@media(max-width:800px){.customizer-tabs button span{font-size:12px}.customizer-tabs button{gap:5px}.configuration-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
.customizer-note a{text-decoration:underline;text-underline-offset:3px}.product-stage{background:#e6e8e0}.model-viewport canvas{border:0}
.configuration-export{margin-top:14px;padding-top:14px;border-top:1px solid #d9dfd1}.configuration-export>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 15px;background:#e8edde;border:1px solid #adbba4;border-radius:3px;color:#2a4232;font-size:14px;text-align:left}.configuration-export>button:hover{background:#dfe7d4}.configuration-export>button:disabled{opacity:.65;cursor:progress}.configuration-export p{font-size:13px;line-height:1.5;color:#6b7866;margin:9px 0 0}.export-reference{display:block;font-size:12px;letter-spacing:.5px;color:#6b7866;overflow-wrap:anywhere;margin:15px 0 10px}.export-downloads{display:grid;grid-template-columns:1fr 1fr;gap:8px}.export-downloads a{padding:12px 9px;border:1px solid #c7d1bf;border-radius:3px;text-align:center;color:#2a4232;font-size:14px;text-decoration:none;background:#fff}.export-downloads a:hover{background:#edf2e6}.email-configuration{display:flex;justify-content:space-between;gap:10px;padding:13px 0 6px;color:#2a4232;font-size:14px;text-decoration:underline;text-underline-offset:4px}.configuration-export button:focus-visible,.configuration-export a:focus-visible{outline:3px solid #bc7838;outline-offset:3px}

.configuration-modal-open{overflow:hidden}.configuration-dialog{box-sizing:border-box;width:min(920px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:28px;border:1px solid #d2dacb;border-radius:8px;background:#f9faf4;color:#2b4030;overflow:auto;box-shadow:0 30px 100px #17241955}.configuration-dialog::backdrop{background:#17271de0;backdrop-filter:blur(4px)}.dialog-header{display:flex;justify-content:space-between;gap:20px;align-items:start}.dialog-header h2{font-size:38px;font-weight:400;letter-spacing:-1.3px;line-height:1.15;margin:9px 0 0}.dialog-header h2:focus{outline:none}.dialog-close{flex:0 0 40px;width:40px;height:40px;font-size:30px;line-height:1;border:1px solid #d2dacb;border-radius:50%;background:transparent;color:#3d5140}.dialog-close:hover{background:#e8edde}#dialog-intro{font-size:16px;color:#6b7866;margin:15px 0 27px;max-width:620px}.dialog-content{display:grid;grid-template-columns:1fr 1fr;gap:30px}.dialog-content h3{margin:0 0 18px;font-size:20px;font-weight:400;letter-spacing:-.3px}.dialog-recap{background:#eef2e7;padding:22px;border:1px solid #d9e0d1;border-radius:4px}.dialog-recap dl{margin:0}.dialog-recap dl>div{padding:10px 0;border-bottom:1px solid #d5dfcb}.dialog-recap dl>div:first-child{padding-top:0}.dialog-recap dt{font-size:12px;color:#75816c;margin:0 0 3px}.dialog-recap dd{font-size:14px;line-height:1.4;margin:0;color:#31482e}.dialog-recap>p{font-size:13px;line-height:1.5;color:#69765f;margin:18px 0 0}.dialog-contact{min-width:0}.dialog-contact label{display:block;font-size:14px;color:#3d5037;margin:16px 0 7px}.dialog-contact label span{font-size:12px;color:#7b8674}.dialog-contact input{box-sizing:border-box;width:100%;min-height:47px;padding:11px 12px;border:1px solid #bfcbb5;border-radius:3px;font:inherit;font-size:16px;color:#2b4030;background:#fff}.dialog-contact input:focus{outline:2px solid #758c64;outline-offset:2px}.dialog-contact input[readonly]{background:#edf0e8;color:#6b7866}.dialog-contact .contact-note,.recipient-note{font-size:12px;line-height:1.5;color:#7c8774;overflow-wrap:anywhere}.contact-note a{text-decoration:underline;text-underline-offset:2px}.send-configuration{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;margin-top:19px;padding:15px 18px;background:#2a4232;color:#f8f9f1;border:1px solid #2a4232;border-radius:3px;font-size:15px}.send-configuration:hover{background:#38563f}.send-configuration:disabled{opacity:.55;cursor:default}.submission-status{font-size:14px;line-height:1.5;margin:16px 0;color:#4c6242}.submission-status:empty{display:none}.submission-status[data-state=success]{padding:14px;border:1px solid #b1c1a6;background:#edf3e5}.submission-status[data-state=error]{color:#92492b;padding:14px;border:1px solid #d9b6a2;background:#fff3ec}#dialog-downloads{border-top:1px solid #d5dfcb;margin-top:18px;padding-top:13px}#dialog-downloads>p{font-size:14px;margin:0 0 10px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.configuration-dialog button:focus-visible,.configuration-dialog a:focus-visible{outline:3px solid #bc7838;outline-offset:3px}@media(max-width:700px){.configuration-dialog{padding:21px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.dialog-content{grid-template-columns:1fr;gap:26px}.dialog-header h2{font-size:30px;letter-spacing:-.8px}.dialog-recap{padding:17px}.dialog-recap dl{display:grid;grid-template-columns:1fr 1fr;column-gap:14px}.dialog-recap dd{overflow-wrap:anywhere}.dialog-recap dl>div:first-child{padding-top:10px}.dialog-close{width:36px;height:36px;flex-basis:36px}.export-downloads a{font-size:14px;padding:12px 6px}}
/* Provisional material pricing shares one calculation with the exported documents. */
.panel-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.panel-options .choice-box{padding:13px 11px;gap:7px;font-size:14px}.choice-price{display:block;font-size:13px;font-weight:500;line-height:1.4;color:#304b32;margin-top:auto;padding-top:4px}.panel-options .choice-detail{font-size:12px}.stage-price{position:absolute;top:61px;right:26px;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none;color:#304436;background:#f5f7efe8;padding:10px 13px;border:1px solid #d5dece;border-radius:4px}.stage-price span{font-size:12px;color:#6a7964}.stage-price strong{font-size:24px;font-weight:500;letter-spacing:-.6px;white-space:nowrap}.price-summary{border-top:1px solid #d1dbca;margin-top:24px;padding-top:21px}.price-summary h3{font-size:18px;font-weight:400;letter-spacing:-.2px;margin:0 0 15px}.price-summary dl{margin:0;display:block}.price-summary dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:15px;padding:5px 0;border:0}.price-summary dt{font-size:13px;color:#718066;line-height:1.5;margin:0}.price-summary dd{font-size:14px;color:#344f33;margin:0;line-height:1.5;white-space:nowrap}.price-summary dl>.price-total{margin-top:13px;padding:15px 0 0;border-top:1px solid #d2deca}.price-total dt{font-size:14px;color:#304b32}.price-total dd{font-size:24px;letter-spacing:-.6px}.price-summary .price-note{font-size:12px;line-height:1.6;color:#73806a;margin:13px 0 0}.dialog-recap .price-summary{margin-top:21px;padding-top:18px}.dialog-recap .price-summary dl{display:block}.dialog-recap .price-summary dl>div{display:flex;padding:5px 0;border:0}.dialog-recap .price-summary .price-total{border-top:1px solid #d2deca;padding-top:13px}.dialog-recap .price-total dd{font-size:23px}.dialog-recap .price-summary h3{font-size:18px;margin-bottom:12px}.dialog-recap .price-summary .price-note{font-size:12px}@media(max-width:800px){.stage-price{top:51px;right:17px;padding:7px 10px;gap:1px}.stage-price span{font-size:11px}.stage-price strong{font-size:20px}.price-summary{margin-top:22px}.price-summary dt{font-size:14px}.price-summary dd{font-size:14px}.price-total dd{font-size:25px}}@media(max-width:380px){.panel-options{grid-template-columns:1fr}.panel-options .choice-box{display:grid;grid-template-columns:1fr auto;gap:5px 10px}.panel-options .choice-detail{grid-column:1}.panel-options .choice-price{grid-column:2;grid-row:1/3;align-self:center;padding:0;font-size:12px}.stage-price{top:46px}.dialog-recap .price-summary dt{font-size:12px}.dialog-recap .price-summary dd{font-size:13px}.dialog-recap .price-total dd{font-size:20px}}
@media(max-width:800px){.stage-price{top:43px;right:17px;flex-direction:row;align-items:center;gap:8px;padding:6px 9px}.stage-price strong{font-size:18px;letter-spacing:-.3px}}

/* Keep the render clear of price and camera controls in every view. */
.product-stage{background:#e8e5dd}.stage-caption{background:#ecebe3e8}.model-viewport{position:absolute;top:112px;bottom:125px;height:auto}.stage-bottom{bottom:68px;gap:9px}.stage-price{top:53px}.stage-top{top:23px}
@media(max-width:800px){.model-viewport{top:76px;bottom:87px}.stage-top{top:15px}.stage-price{top:40px}.stage-bottom{bottom:43px}.stage-caption{padding:8px 14px}}
@media(max-width:800px){.product-stage{height:390px}.choice,.choice input,.customizer-tabs button{scroll-margin-top:415px}}
@media(max-width:380px){.product-stage{height:360px}.choice,.choice input,.customizer-tabs button{scroll-margin-top:385px}}
