:root{--paper:#f2f1ed;--ink:#262623;--muted:#7b7a73;--line:#d8d6ce;--white:#faf9f6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;font-weight:300;font-size:14px;line-height:1.6}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{border:0;border-radius:0;background:none;cursor:pointer;min-height:44px;padding:10px 12px}button:disabled{cursor:not-allowed;opacity:.38}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #79745c;outline-offset:4px}button:hover:not(:disabled),a:hover{color:#77715f}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:300}h1{font-size:42px;letter-spacing:-1px;line-height:1.4}h2{font-size:23px}h3{font-size:16px}img{display:block;max-width:100%}.wrap{max-width:1440px;margin:0 auto;padding-inline:64px}.preview-notice{font-size:10px;text-align:center;letter-spacing:1.5px;padding:7px 20px;border-bottom:1px solid var(--line);color:var(--muted)}.site-header{display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);padding:10px 64px;height:83px}.brand{width:59px;height:59px;display:flex;align-items:center}.brand img{width:59px;height:59px;object-fit:contain;mix-blend-mode:multiply}.header-title{font-size:13px;border-left:1px solid var(--line);padding-left:28px}.site-link{margin-left:auto;font-size:12px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:14px}.intro{display:flex;align-items:flex-end;justify-content:space-between;padding:58px 0 38px;gap:30px}.intro-note{font-size:14px;color:var(--muted);line-height:1.9}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.entry-image{position:relative;aspect-ratio:1.65;overflow:hidden;background:#e9e7e0}.entry-image>img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.entry-image.villa>img{object-position:50% 51%}.entry-index{position:absolute;top:20px;left:23px;font-size:9px;letter-spacing:1.8px;color:#55594f;background:#f2f1eddc;padding:5px 8px}.entry:hover img{transform:scale(1.025)}.entry-caption{display:flex;align-items:center;justify-content:space-between;padding:21px 0 18px}.entry-caption p{font-size:12px;color:var(--muted);margin-top:6px}.entry-arrow{font-size:28px;font-weight:200}.entry-action{border-top:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;font-size:13px}.service-footnote{display:flex;justify-content:space-between;margin:34px 0 66px;color:var(--muted);font-size:11px}.site-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:1px;padding-top:32px;padding-bottom:32px;border-top:1px solid var(--line);margin-top:40px}.mode-nav{display:flex;align-items:center;gap:30px;padding:22px 0;border-bottom:1px solid var(--line);font-size:12px}.mode-nav>a:last-child{margin-left:auto}.mode-nav>span{color:var(--muted)}.mode-nav .text-button{padding-left:0}.quick-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:38px 0 30px;gap:24px}.quick-heading h1{font-size:32px}.save-status{font-size:10px;color:var(--muted)}.config-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:46px;align-items:start}.configuration{min-width:0}.steps{display:grid;grid-template-columns:1fr 1fr 1fr;border-block:1px solid var(--line);gap:8px;margin-bottom:27px}.steps button{text-align:left;padding:17px 0;position:relative;font-size:13px}.steps button span{font-size:10px;color:var(--muted);margin-right:10px}.steps button[aria-current=step]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink)}.steps small{font-size:10px;display:block;color:var(--muted);margin-left:25px;min-height:16px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.section-head h2{font-size:19px}.section-head>span{font-size:10px;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.product-card,.material-card{padding:0!important;text-align:left;border:1px solid transparent;position:relative;display:block;min-width:0}.product-card:hover,.material-card:hover{border-color:#bbb8ab}.product-card[aria-pressed=true],.material-card[aria-pressed=true]{border-color:var(--ink)}.product-card[aria-pressed=true]:after,.material-card[aria-pressed=true]:after{content:'✓';position:absolute;right:8px;top:6px;font-size:13px}.product-visual{aspect-ratio:1.1;display:flex;justify-content:center;align-items:center;background:#eae8e2}.module-face{width:54%;aspect-ratio:1;border-radius:50%;position:relative;overflow:hidden;flex-shrink:0;background:#f8f7f4}.module-face img{position:absolute;max-width:none;width:100%;height:auto}.product-caption{padding:11px 8px 13px;display:block;font-size:13px}.product-caption small{display:block;font-size:9px;line-height:1.7;margin-top:3px;color:var(--muted)}.quiet-note{color:var(--muted);font-size:11px;line-height:1.8;margin-top:16px}.material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.material-card img{aspect-ratio:1.75;width:100%;object-fit:cover}.material-caption{display:block;padding:12px 8px;font-size:15px}.material-caption small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.text-button{font-size:12px;text-decoration:underline;text-underline-offset:5px}.cart{border-top:1px solid var(--ink);padding-top:19px;position:sticky;top:24px}.cart .section-head{margin-bottom:10px}.cart h2{font-size:18px}#empty-cart{font-size:12px;color:var(--muted);padding:46px 0 60px}.cart-item{border-top:1px solid var(--line);padding:16px 0;display:grid;grid-template-columns:55px minmax(0,1fr);gap:14px}.mini-product{width:55px;aspect-ratio:1;background:#e8e6df;display:flex;align-items:center;justify-content:center}.mini-product .module-face{width:70%}.cart-item h3{font-size:13px}.cart-item p{font-size:10px;color:var(--muted);margin-top:3px}.item-actions{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:11px}.item-actions button{min-height:36px;padding:3px 5px;font-size:10px;text-decoration:underline;text-underline-offset:3px}.item-actions span{margin-right:auto}#cart-footer{border-top:1px solid var(--line);padding-top:20px}.solid{background:var(--ink);color:var(--paper);padding:14px 20px;font-size:12px;min-height:49px;text-align:center}.solid:hover:not(:disabled){background:#45453c;color:#fff}.wide{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px}.finish-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:30px}.result-image{aspect-ratio:1;background:#ddd6c7;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center}.result-image .module-face{width:30%;box-shadow:0 0 0 .7px #59554c;isolation:isolate}.result-image .module-face.match{background-size:cover;background-position:center}.result-image .module-face.match img{mix-blend-mode:multiply}.result-image .module-face.black img{filter:invert(1)}.current-choice{font-size:16px;margin-bottom:18px}.finish-options{display:flex;flex-wrap:wrap;gap:8px}.finish-option{border:1px solid var(--line);display:flex;align-items:center;gap:8px;font-size:11px;padding:9px 10px}.finish-option[aria-pressed=true]{border-color:var(--ink)}.finish-swatch{width:18px;height:18px;border:1px solid #99968a;background-size:cover}.panel-note{font-size:10px;color:var(--muted);line-height:1.8;min-height:44px;margin:12px 0}.qty-label{font-size:11px;display:block;margin:16px 0 8px}.quantity{display:flex;align-items:center;border:1px solid var(--line);width:145px;margin-bottom:22px}.quantity button{padding:8px;width:42px}.quantity input{width:59px;border:0;background:transparent;text-align:center;padding:0;appearance:textfield;-moz-appearance:textfield;min-height:44px}.quantity input::-webkit-inner-spin-button{appearance:none}.after-add{margin-top:30px;padding:20px 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:15px;flex-wrap:wrap}.after-add>span{font-size:12px;margin-right:auto}.message{font-size:12px;color:#85653a;margin-top:20px;min-height:30px}.storage-alert{border:1px solid #b09363;padding:20px;margin-bottom:24px;font-size:12px}.storage-alert button{text-decoration:underline;margin-top:10px}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:70px}.review-item{display:grid;grid-template-columns:75px minmax(0,1fr) auto;gap:20px;padding:22px 0;border-top:1px solid var(--line);align-items:center}.review-item .mini-product{width:75px}.review-item h3{font-size:15px}.review-item p{font-size:11px;color:var(--muted);margin-top:4px}.review-amount{text-align:right;font-variant-numeric:tabular-nums}.review-amount strong{font-size:17px;font-weight:400}.review-amount small{display:block;font-size:10px;color:var(--muted)}.tools{border-top:1px solid var(--line);margin-top:26px;padding-top:25px}select,input,textarea{border:1px solid var(--line);border-radius:0;background:transparent;padding:12px;min-height:44px;max-width:100%}.tools select{width:100%;font-size:13px}.tools p{font-size:12px;margin-top:15px;color:var(--muted)}details{font-size:11px;color:var(--muted);margin-top:16px}summary{cursor:pointer;min-height:44px;padding:10px 0}details p{line-height:1.9;margin-bottom:10px}#manual-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:20px}#manual-tools label{font-size:11px}#manual-tools input{width:100%;margin-top:6px}.notes-label{font-size:12px;display:block;margin:24px 0 10px}textarea{width:100%;resize:vertical}.quote{background:#e9e7df;padding:30px;align-self:start;position:sticky;top:30px}.quote h2{font-size:22px}.quote dl{margin:25px 0 0}.quote dl>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;font-size:12px}.quote dd{margin:0;font-variant-numeric:tabular-nums}.quote .grand{border-top:1px solid #c9c5b9;margin-top:15px;padding-top:20px;align-items:center}.grand dd{font-size:28px;font-weight:300}.quote .solid{margin-top:28px;padding-inline:12px}.export-actions{display:flex;justify-content:space-between;margin-top:10px}.export-actions button{padding:8px 0;font-size:11px}#export-status{font-size:12px;margin:25px 0;color:#6c674f}#export-text{font-size:12px;line-height:1.9}.installation-notes{padding:15px 0;border-top:1px solid var(--line);margin-top:30px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.mobile-cart{display:none}
@media(min-width:1700px){.wrap{max-width:1520px}}
@media(max-width:1100px){.wrap{padding-inline:36px}.site-header{padding-inline:36px}.config-layout{grid-template-columns:minmax(0,1fr) 240px;gap:28px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finish-layout{grid-template-columns:1fr}.result-image{aspect-ratio:1.5}.finish-controls{padding-bottom:15px}.review-layout{gap:30px;grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:760px){.wrap{padding-inline:20px}.site-header{height:71px;padding:7px 20px;gap:18px}.brand,.brand img{width:49px;height:49px}.header-title{padding-left:18px;font-size:12px}.site-link{font-size:10px}.preview-notice{font-size:9px;padding:6px 10px;letter-spacing:.8px}.intro{padding:34px 0 25px;display:block}.intro h1{font-size:30px}.intro-note{margin-top:16px;font-size:12px}.intro-note br{display:none}.entry-grid{grid-template-columns:1fr;gap:30px}.entry-image{aspect-ratio:1.6}.entry-caption{padding:16px 0 13px}.entry-caption h2{font-size:23px}.entry-caption p{font-size:11px}.entry-action{font-size:12px;padding:11px 0}.entry-index{left:13px;top:12px;font-size:8px}.service-footnote{margin:30px 0;display:block;line-height:2}.service-footnote span{display:block}.site-footer{margin-top:35px;padding-top:24px;padding-bottom:26px;font-size:9px}.mode-nav{gap:16px;padding:14px 0;flex-wrap:wrap;font-size:10px}.mode-nav>span{display:none}.quick-heading{padding:26px 0 22px;display:block}.quick-heading h1{font-size:27px}.save-status{display:block;margin-top:10px}.config-layout{grid-template-columns:1fr;gap:28px}.steps{margin-bottom:24px;gap:12px}.steps button{font-size:11px;padding:14px 0}.steps button span{margin-right:5px;font-size:9px}.steps small{margin-left:17px;font-size:9px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-visual{aspect-ratio:1.3}.product-visual .module-face{width:45%}.product-caption{padding:10px 8px}.section-head{margin-bottom:16px}.section-head h2{font-size:18px}.section-head>span{font-size:9px}.material-grid{gap:12px}.material-card img{aspect-ratio:1.2}.material-caption{font-size:14px;padding:10px 6px}.material-caption small{font-size:9px}.cart{position:static}.cart-item{grid-template-columns:55px minmax(0,1fr)}.item-actions{justify-content:flex-end}.cart-item .item-actions span{margin-right:auto}.cart .solid{display:none}#cart-footer .quiet-note{display:none}.quick{padding-bottom:65px}.mobile-cart{display:flex;position:fixed;bottom:0;left:0;right:0;padding:12px 20px max(12px,env(safe-area-inset-bottom));gap:15px;align-items:center;justify-content:space-between;background:var(--paper);border-top:1px solid var(--line);z-index:10}.mobile-cart>span{font-size:11px}.mobile-cart .solid{min-height:44px;padding:10px 22px}.finish-layout{grid-template-columns:1fr;gap:20px}.result-image{aspect-ratio:1.6}.finish-options{gap:8px}.finish-option{font-size:12px}.finish-controls{display:grid;grid-template-columns:1fr auto;gap:0 18px}.current-choice,.finish-options,.panel-note{grid-column:1/-1}.qty-label{grid-column:1;align-self:center;margin:0}.quantity{margin:0}.finish-controls .solid{grid-column:1/-1;margin-top:20px}.panel-note{min-height:0;margin:12px 0 20px}.after-add{gap:12px}.after-add>span{width:100%}.review-layout{grid-template-columns:1fr;gap:30px}.review-item{grid-template-columns:54px minmax(0,1fr) auto;gap:12px}.review-item .mini-product{width:54px}.review-item h3{font-size:13px}.review-item p{font-size:10px}.review-amount strong{font-size:14px}.review-amount small{font-size:9px}.quote{position:static;padding:25px}.review .quick-heading h1{font-size:27px}#review-count{font-size:11px;color:var(--muted);display:block;margin-top:10px}#manual-tools{gap:10px}.tools .section-head>span{font-size:9px}}
.result-image .module-face.match{background-size:333.333% auto}
.result-image .module-face.black img{filter:brightness(.18)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.entry-image>img{transition:none}}
