:root{--ink:#24372d;--muted:#586258;--paper:#faf9f6;--line:#d9ddd4;--stone:#ecece5;--cream:#eeeeda;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #a0783b;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid #536b4d;outline-offset:2px}.announcement{background:var(--ink);color:#fff;padding:9px 4.5%;font-size:12px;letter-spacing:1.5px;display:flex;justify-content:space-between}.announcement span{letter-spacing:.3px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 4.5%;gap:30px}.wordmark{font-weight:600;font-size:20px;letter-spacing:3px;display:flex;align-items:center;gap:12px}.wordmark span{font-size:12px;letter-spacing:2px;font-weight:400;border-left:1px solid;padding-left:12px}.wordmark svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.4}nav{display:flex;gap:34px;font-size:14px}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:7px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:17px 23px;border:1px solid transparent;font-size:14px;font-weight:500;transition:background .2s,transform .2s;min-height:48px}.button:hover{transform:translateY(-2px)}.button:disabled{opacity:.65;cursor:wait}.button span{font-size:21px;line-height:1}.small{padding:11px 20px}.dark{color:#fff;background:var(--ink)}.dark:hover{background:#375240}.cream{background:var(--cream);color:var(--ink)}.cream:hover{background:#fff}.full{width:100%}.hero{display:grid;grid-template-columns:46% 54%;background:var(--ink);color:#fff;min-height:580px}.hero-copy{padding:68px 8% 32px 10%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:12px;font-weight:500;letter-spacing:1.7px;line-height:1.5;display:block}h1,h2,h3,p{margin:0}h1{font:clamp(50px,5.4vw,90px)/1.03 var(--serif);letter-spacing:-3.8px;margin:26px 0}h1 em{font-weight:400;color:#e0e4c7}.hero-copy>p{max-width:400px;font-size:16px;line-height:1.7;color:#e0e5df}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:32px;flex-wrap:wrap}.text-link{font-size:14px;border-bottom:1px solid #889082;padding:8px 0}.text-link span{padding-left:18px}.light{color:#fff;border-color:#8a968e}.hero-meta{display:flex;gap:25px;font-size:12px;color:#e0e5df;border-top:1px solid #58685d;padding-top:20px;margin-top:55px;width:100%}.hero-photo{position:relative;overflow:hidden;background:#64715b;min-height:580px}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:66% center}.photo-caption{position:absolute;bottom:0;left:0;right:0;padding:65px 28px 23px;background:linear-gradient(transparent,#15231899);display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.4px}.intro{display:grid;grid-template-columns:1fr 1.6fr 60px;align-items:center;gap:25px;padding:57px 4.5%;border-bottom:1px solid var(--line)}.intro>p{font:32px/1.25 var(--serif);letter-spacing:-.6px}.round-link{border:1px solid #adb6a9;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:25px}.collection,.studio,.process,.delivery{padding:76px 4.5%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-heading h2,h2{font:54px/1.1 var(--serif);letter-spacing:-1.8px;margin-top:12px}.section-heading>p{font-size:14px;color:var(--muted)}.filters{display:flex;gap:9px;margin-bottom:29px;flex-wrap:wrap}.filters button{border:1px solid var(--line);border-radius:30px;padding:11px 20px;background:transparent;font-size:14px;min-height:44px}.filters button.selected{background:var(--ink);color:white;border-color:var(--ink)}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.product{padding:0;border:0;background:transparent;text-align:left;min-width:0}.product-image{height:350px;position:relative;overflow:hidden;background:var(--stone)}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.product:hover img{transform:scale(1.035)}.product:first-child img{object-position:68% center}.product-tag{position:absolute;left:18px;top:18px;background:#faf9f6ed;padding:8px 11px;font-size:10px;letter-spacing:1.4px}.product-arrow{position:absolute;right:15px;bottom:15px;border-radius:50%;width:43px;height:43px;background:var(--paper);display:grid;place-items:center;font-size:22px}.product-bottom{display:flex;justify-content:space-between;padding-top:20px}.product h3{font:25px var(--serif)}.product p{font-size:14px;color:var(--muted);margin-top:7px}.product-bottom>span{font-size:12px;padding-top:7px;color:var(--muted)}.more-objects{display:grid;grid-template-columns:1fr 3fr;gap:35px;border-top:1px solid var(--line);margin-top:37px;padding-top:25px}.more-objects>p{font:22px var(--serif)}.more-objects>div{display:flex;flex-wrap:wrap;gap:5px 20px}.more-objects button{border:0;background:none;font-size:14px;padding:8px 0;min-height:44px}.more-objects button span{margin-left:8px}.more-objects button:hover{text-decoration:underline}.image-note{font-size:12px;color:var(--muted);margin-top:22px}.studio{background:#eeefe8}.studio-label{font-size:12px;letter-spacing:1.7px}.studio-grid{display:grid;grid-template-columns: minmax(310px,.9fr) minmax(400px,1.2fr);gap:7%}form label{font-size:14px;display:block;margin:0 0 8px}form>label:not(:first-child){margin-top:23px}select,input[type=number],input:not([type]),textarea{width:100%;padding:12px 13px;border:1px solid #bac3b7;background:#fafbf7;border-radius:0;color:var(--ink);min-height:48px}textarea{resize:vertical;line-height:1.5}select{padding-right:25px}.label-row{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.label-row>label{margin:0}fieldset{border:0;padding:0;margin:0;min-width:0}.unit-switch{display:flex;background:#dfe3d9;padding:3px}.unit-switch label{position:relative;margin:0}.unit-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.unit-switch span{display:block;padding:7px 13px;font-size:13px}.unit-switch input:checked+span{background:var(--paper);box-shadow:0 1px 3px #0001}.unit-switch input:focus-visible+span{outline:2px solid var(--ink)}.dimensions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px}.dimensions label{font-size:12px;color:var(--muted)}.dimensions input{display:block;margin-top:6px}.finishes{margin:20px 0}.finishes legend{font-size:14px;margin-bottom:12px}.finishes label{display:inline-flex;align-items:center;position:relative;gap:8px;font-size:13px;margin-right:14px;cursor:pointer;min-height:44px}.finishes input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.swatch{width:27px;height:27px;border-radius:50%;display:inline-block;border:3px solid #eeefe8;outline:1px solid transparent}.natural{background:#a9a89c}.warm{background:#b59c7d}.charcoal{background:#4b514c}.finishes input:checked+.swatch{outline-color:var(--ink)}.finishes input:focus-visible+.swatch{outline:3px solid #967140}.location{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;margin-bottom:22px}.location select,.location input{display:block;margin-top:8px}.optional{font-size:12px;color:var(--muted);font-weight:400}.form-note,.preview-note{font-size:12px;line-height:1.6;color:var(--muted);margin-top:12px}.error{color:#a32f24;font-size:14px;margin-top:12px}.viewer{height:375px;background:#e0e2d8;position:relative;border:1px solid #d0d6c8;overflow:hidden}.viewer-top,.viewer-bottom{position:absolute;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;z-index:1;font-size:11px;letter-spacing:1px}.viewer-top{top:13px}.viewer-top button{border:0;background:none;font-size:12px;padding:10px}.viewer-bottom{bottom:18px}.viewer canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.viewer canvas:active{cursor:grabbing}#custom-preview{position:absolute;inset:60px 30px;text-align:center;align-content:center}#custom-preview>span{font:36px/1.15 var(--serif)}#custom-preview p{font-size:14px;max-width:340px;margin:20px auto}.budget{border-top:1px solid #c3cbbc;margin-top:24px;padding-top:22px}.budget h3{font:26px var(--serif);margin:9px 0}.budget p{font-size:14px;color:var(--muted);line-height:1.6}.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.price{font:38px var(--serif);letter-spacing:-1px;margin:8px 0}.price-row>span{font-size:12px}.budget .shipping{border-top:1px solid #c8cebf;margin:18px 0 14px;padding-top:13px;display:flex;justify-content:space-between;color:var(--ink)}.budget details{font-size:13px;border-top:1px solid #c8cebf;padding:12px 0}.budget details p{font-size:13px;margin-top:10px}.save-actions{margin-top:14px}.save-actions>p{font-size:12px;color:var(--muted);margin-top:8px}.saved{padding:17px;margin-top:17px;border:1px solid #aabb9b;background:#e1e9d6}.saved p{font-size:14px}.saved button{border:0;border-bottom:1px solid;background:none;padding:10px 0;font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8%;margin-top:50px}.steps article>span{display:block;font:18px var(--serif);padding-bottom:24px;border-bottom:1px solid var(--line)}.steps h3{font:29px var(--serif);margin:24px 0 14px}.steps p{font-size:15px;color:var(--muted);line-height:1.8}.delivery{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:12%;background:#e7e9df}.delivery h2{font-size:64px;margin:18px 0 22px}.delivery>div>p{max-width:425px;color:var(--muted);line-height:1.8;margin-bottom:22px}.delivery-details h3{font:25px var(--serif);margin-bottom:11px}.delivery-details p{font-size:14px;color:var(--muted);line-height:1.8}.delivery-details article+article{margin-top:27px}.delivery details{border-top:1px solid #bfc8b7;padding:18px 0}.delivery details:first-of-type{margin-top:30px}.delivery summary{font-size:14px;padding-right:10px;min-height:25px}.delivery details p{margin-top:12px}footer{padding:40px 4.5% 76px;display:flex;justify-content:space-between;align-items:center;gap:25px}footer>p{font:18px var(--serif)}footer>span{font-size:10px;letter-spacing:1px}.local-notice{position:fixed;bottom:0;left:0;right:0;background:#faf9f6f5;border-top:1px solid var(--line);padding:8px 20px;text-align:center;font-size:11px;color:#53634f;z-index:10}.local-notice>span{margin:0 9px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1600px){main,header,footer{max-width:1800px;margin:auto}.hero-copy{padding-top:100px;padding-bottom:70px}.hero-photo{min-height:700px}}
@media(max-width:1000px){header{gap:15px}.wordmark{font-size:16px;gap:8px}.wordmark span{font-size:10px}nav{gap:18px}h1{font-size:60px;letter-spacing:-2px}.hero-copy{padding:50px 8%}.hero-actions{gap:18px}.hero-photo,.hero{min-height:560px}.hero-meta{flex-direction:column;gap:8px;margin-top:32px}.intro{grid-template-columns:1fr 1.3fr 50px}.intro>p{font-size:27px}.product-image{height:280px}.product h3{font-size:22px}.studio-grid{gap:30px;grid-template-columns:1fr 1fr}.finishes label{margin-right:7px;font-size:12px}.studio-label{display:none}footer>p{display:none}.more-objects{grid-template-columns:1fr}.steps{gap:35px}}
@media(max-width:720px){.announcement{font-size:10px;letter-spacing:.7px}.announcement span{font-size:10px}header{padding:20px 5%;flex-wrap:wrap;gap:18px}.wordmark{font-size:15px}.wordmark svg{width:23px}.wordmark span{font-size:9px;letter-spacing:1px}header>.button{padding:9px 12px;gap:13px;font-size:12px;min-height:44px}nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:14px;font-size:13px;gap:30px}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 6% 32px}h1{font-size:62px;margin:19px 0}.hero-copy>p{max-width:450px}.hero-meta{flex-direction:row;gap:20px;margin-top:30px}.hero-photo{height:360px;min-height:0}.hero-photo>img{object-position:65% 55%}.hero-actions{gap:20px}.hero-actions .button{padding:15px 18px}.hero-actions .text-link{font-size:13px}.intro{grid-template-columns:1fr 45px;padding:34px 6%;gap:14px}.intro>.eyebrow{grid-column:1/-1;font-size:10px}.intro>p{font-size:26px}.round-link{width:44px;height:44px}.collection,.studio,.process,.delivery{padding:46px 6%}.section-heading{align-items:start;gap:15px}.section-heading>p{display:none}.section-heading h2,h2{font-size:42px}.eyebrow{font-size:10px;letter-spacing:1.25px}.filters{gap:6px}.filters button{padding:9px 14px;font-size:12px}.products{grid-template-columns:1fr;gap:32px}.product-image{height:340px}.product-bottom{padding-top:14px}.product h3{font-size:27px}.more-objects{gap:12px;margin-top:26px}.more-objects>div{gap:0 22px}.studio-grid{grid-template-columns:1fr;gap:32px}.viewer{height:340px}.finishes label{font-size:13px;margin-right:18px}.steps{grid-template-columns:1fr;gap:30px;margin-top:32px}.steps article{display:grid;grid-template-columns:35px 1fr;column-gap:18px}.steps article>span{grid-row:1/3;padding:9px 0 0;border:none}.steps h3{margin:0 0 10px}.steps p{grid-column:2}.delivery{grid-template-columns:1fr;gap:35px}.delivery h2{font-size:52px}.delivery-details h3{font-size:23px}footer{padding:30px 6% 80px;flex-direction:column;align-items:start;gap:20px}.local-notice{font-size:10px;line-height:1.4;padding:6px 14px}.preview-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Keep interactive labels readable across breakpoints. */
.filters button,.finishes label,.unit-switch span,nav,.viewer-top button{font-size:14px}
#collection-count{display:block;margin-top:7px;font-size:12px;color:var(--muted);text-align:right}
.products{row-gap:38px}
#reference-preview{position:absolute;inset:0;background:var(--stone)}
#reference-preview img{width:100%;height:100%;object-fit:cover}
.viewer:has(#reference-preview:not([hidden])) .viewer-top,.viewer:has(#reference-preview:not([hidden])) .viewer-bottom{background:#faf9f6ee;padding:8px 12px;left:14px;right:14px;letter-spacing:.8px}
.viewer:has(#reference-preview:not([hidden])) .viewer-top{right:auto}
@media(max-width:720px){.products{row-gap:32px}}

.account-bar{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px 18px;padding:8px 4.5% 16px;font-size:13px;border-bottom:1px solid var(--line)}
.account-bar button{background:none;border:0;border-bottom:1px solid;padding:8px 0;min-height:44px}
#account-error{color:#a32f24}.design-credit{border-top:1px solid #b9c8aa;margin-top:18px;padding-top:18px}.design-credit h3{font:25px var(--serif);margin-bottom:10px}.design-credit .credit-status{margin:14px 0;font-weight:600}.saved .design-credit .button{padding:14px 18px;background:var(--ink);color:#fff;border:0}.saved .design-credit .credit-refresh{display:block;margin-top:8px;min-height:44px}.account-bar #account-email{overflow-wrap:anywhere}

#studio-fields{border:0;padding:0;margin:0;min-width:0}#studio-fields:disabled{opacity:.55}#studio-access-note{margin-bottom:24px}#studio-access-note p{margin-bottom:14px}
.brand-mark{width:32px;height:32px;vertical-align:middle;flex-shrink:0}.legal-links{display:flex;gap:16px;flex-wrap:wrap;font-size:13px}.legal-links button{background:none;border:0;text-decoration:underline;cursor:pointer}.legal-owner{font-size:12px}.legal-page{max-width:820px;margin:60px auto;padding:24px}.legal-page h1{font-size:48px}.legal-page h2{font-size:26px;margin-top:32px}.legal-page p{line-height:1.7}.consent-banner{position:fixed;bottom:20px;left:20px;z-index:1000;background:#faf9f5;color:#263c30;padding:24px;border:1px solid #bdc7bd;border-radius:8px;max-width:520px;box-shadow:0 8px 40px #0002}.consent-banner p{font-size:14px;line-height:1.5;margin:10px 0}.consent-banner div{display:flex;gap:12px}.consent-banner button,dialog button{background:#263c30;color:white;padding:12px 18px;border:0;border-radius:4px;cursor:pointer}.consent-banner[hidden]{display:none}dialog{max-width:90vw;max-height:80vh;padding:28px;border:1px solid #bdc7bd;color:#263c30}dialog li{font-size:13px;line-height:1.8}@media(max-width:600px){.consent-banner{left:12px;right:12px;bottom:12px;padding:18px}}
.project-workspace{margin-top:48px;border-top:1px solid #cad0c6;padding-top:32px}.project-workspace h2{font-size:36px}.project-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.project-workspace .model-view{padding:20px 0}.project-workspace .actions{display:flex;gap:12px;align-items:center}.saved-project-list{margin-top:32px}.saved-project-list button{padding:12px;margin:6px;border:1px solid #cad0c6;background:#faf9f5}
.project-review{border-top:1px solid #cad0c6;margin-top:32px;padding-top:24px}.project-review form{display:grid;gap:12px;max-width:600px}.project-review label{display:grid;gap:5px}.project-review input,.project-review select{padding:12px;border:1px solid #cad0c6;background:white}
/* Private project workspace */
.project-workspace{width:100%;max-width:1060px;margin:64px auto 0;padding:42px 32px;background:#faf9f5;border:1px solid var(--line);border-radius:16px;scroll-margin-top:28px;text-align:center;box-sizing:border-box}.project-workspace[hidden]{display:none}.project-workspace>h2{font-size:clamp(32px,4vw,46px)}.project-actions{justify-content:center;gap:14px;margin:24px 0}.project-actions button{min-height:58px;border-radius:6px}.project-actions button:disabled{opacity:.55;cursor:wait}.generation-status{display:flex;gap:16px;align-items:center;justify-content:center;max-width:720px;margin:28px auto 10px;padding:24px;background:#edf0e8;border:1px solid #d5ddcc;border-radius:12px}.generation-status h3{font:24px var(--serif);margin:0 0 8px}.generation-status p{font-size:15px;line-height:1.6;margin:0}.generation-spinner,.inline-spinner{display:inline-block;flex-shrink:0;width:30px;height:30px;border:3px solid #c8d2c1;border-top-color:var(--ink);border-radius:50%;animation:contour-spin 1.1s linear infinite}.generation-check{font-size:25px}.generation-elapsed{font-size:13px;min-height:20px;color:#596952}.is-running{animation:contour-glow 2.4s ease-in-out infinite}.project-guidance{font-size:14px;line-height:1.7;max-width:720px;margin:24px auto}.project-workspace .model-view{max-width:850px;margin:auto}.project-workspace .model-view canvas{display:block;margin:18px auto}.project-workspace .model-view canvas[hidden]{display:none}.project-workspace .actions{justify-content:center;flex-wrap:wrap;margin:16px auto}.cad-download{display:inline-block;margin:16px auto 28px}.appearance-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:24px auto;max-width:900px}.appearance-comparison figure{margin:0;min-width:0}.appearance-comparison img{width:100%;height:auto;border-radius:10px;background:#eee}.appearance-comparison figcaption{padding:12px;font-size:14px}.appearance-note{grid-column:1/-1;font-size:14px;line-height:1.6}.project-review{max-width:850px;margin:32px auto 0;padding-top:30px}.project-review p{font-size:14px;line-height:1.7;margin:16px auto}.project-review form{margin:20px auto;text-align:left}.project-review>.button{margin:10px auto}.saved-project-list{max-width:1060px;margin:32px auto;text-align:center}.saved-project-list h3{margin-bottom:12px}.saved-project-list button{border-radius:6px}.model-loading{display:flex;justify-content:center;align-items:center;gap:12px;padding:28px}.model-loading .inline-spinner{width:20px;height:20px}@keyframes contour-spin{to{transform:rotate(360deg)}}@keyframes contour-glow{50%{border-color:#8d9d83}}@media(prefers-reduced-motion:reduce){.generation-spinner,.inline-spinner,.is-running{animation:none}}@media(max-width:600px){.project-workspace{padding:26px 16px}.project-actions{flex-direction:column}.project-actions button{width:100%}.generation-status{padding:18px 12px;align-items:flex-start}.generation-status h3{font-size:22px}.appearance-comparison{grid-template-columns:1fr}}
.appearance-options{display:grid;grid-template-columns:150px 1fr;gap:16px;max-width:720px;margin:24px auto;text-align:left}.appearance-options label{display:grid;gap:8px;font-size:14px}.appearance-options input[type=color]{height:48px;width:100%;padding:5px;border:1px solid #cad0c6;background:white}.appearance-options textarea{width:100%;padding:12px;border:1px solid #cad0c6;background:white;font:inherit;box-sizing:border-box}.appearance-options>p{grid-column:1/-1;font-size:12px;line-height:1.5;text-align:center;margin:0}@media(max-width:600px){.appearance-options{grid-template-columns:1fr}}
