:root{--ink:#171714;--paper:#f2efe8;--cream:#e7dfd1;--gold:#b78a50;--line:rgba(23,23,20,.18);--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);padding:14px}.device-frame{position:fixed;inset:0;pointer-events:none;z-index:99}.device-frame span{position:absolute;background:linear-gradient(90deg,#1a100a,#6a492b 48%,#21140c)}.device-frame span:nth-child(1),.device-frame span:nth-child(3){left:0;right:0;height:14px}.device-frame span:nth-child(1){top:0}.device-frame span:nth-child(3){bottom:0}.device-frame span:nth-child(2),.device-frame span:nth-child(4){top:0;bottom:0;width:14px;background:linear-gradient(0deg,#1a100a,#6a492b 48%,#21140c)}.device-frame span:nth-child(2){left:0}.device-frame span:nth-child(4){right:0}.topbar{height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-size:18px;letter-spacing:.17em;font-weight:600}.brand svg{width:34px;fill:none;stroke:currentColor;stroke-width:1.5}.brand small{display:block;font-size:7px;letter-spacing:.25em;margin-top:4px;font-weight:400}.back,.text-button{color:inherit;background:0;border:0;text-decoration:none;border-bottom:1px solid currentColor;padding:4px 0;font:500 12px var(--sans);cursor:pointer}.intro{padding:85px 5vw 75px;border-bottom:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:.24em;color:#8c6b47;font-weight:600}.intro h1,.step h2,.price-card h2,.result-dialog h2{font-family:var(--serif);font-weight:400}.intro h1{font-size:clamp(48px,6vw,88px);line-height:.95;letter-spacing:-.045em;margin:24px 0}.intro h1 em{font-weight:400;color:#a87943}.intro>p:last-child{max-width:610px;color:#615d54;line-height:1.7}.workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(480px,.95fr)}.visual-column{background:#191917;padding:6vw 4vw;color:#fff;min-width:0}.visual-sticky{position:sticky;top:35px}.canvas-stage{position:relative;display:grid;place-items:center;min-height:520px;background:#d8d0c2;border:1px solid rgba(255,255,255,.12);padding:7%;transition:outline .2s}.canvas-stage.dragging{outline:3px solid var(--gold);outline-offset:-3px}canvas{display:block;width:100%;max-height:68vh;object-fit:contain}.empty-state{position:absolute;text-align:center;color:#60584d;display:grid;gap:9px}.empty-state span{font:italic 50px var(--serif);color:#9c805d}.empty-state strong{font:400 26px var(--serif)}.empty-state small{font-size:10px;letter-spacing:.15em}.reference,.texture-note{font-size:10px;line-height:1.5;color:#aaa;margin:15px 0 0}.texture-note{color:#e3bd86}.upload-actions{display:flex;gap:22px;align-items:center;margin-top:25px}.configuration{min-width:0}.step{padding:65px 5vw;border-bottom:1px solid var(--line)}.step-title{display:flex;gap:20px;align-items:start}.step-title>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #9f7a4f;border-radius:50%;font-size:10px;color:#8c6b47;flex:none}.step-title p{font-size:9px;letter-spacing:.2em;color:#8c6b47;margin:0 0 7px}.step h2{font-size:31px;margin:0}.help{font-size:12px;color:#6d685f;margin:22px 0}.fields{display:grid;gap:18px;margin-top:28px}.fields.three{grid-template-columns:repeat(3,1fr)}.fields.two{grid-template-columns:repeat(2,1fr)}label{font-size:11px;font-weight:600;letter-spacing:.08em}label>span{float:right;color:#888;font-weight:400}input,select{display:block;width:100%;margin-top:8px;background:rgba(255,255,255,.42);border:1px solid var(--line);border-radius:0;padding:14px;color:var(--ink);font:14px var(--sans)}input:focus,select:focus{outline:2px solid #aa7d48;outline-offset:1px}.moldings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}.molding{border:1px solid var(--line);background:rgba(255,255,255,.28);padding:12px;text-align:left;cursor:pointer;color:inherit}.molding.active{border-color:#8b6338;box-shadow:inset 0 0 0 1px #8b6338}.molding img,.molding-placeholder{width:100%;aspect-ratio:16/10;object-fit:cover;background:#d7cdbd;display:grid;place-items:center;color:#827568;font:italic 30px var(--serif)}.molding h3{font:400 20px var(--serif);margin:12px 0 5px}.molding p{font-size:10px;color:#68635b;margin:4px 0}.molding b{display:block;margin-top:10px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.loading{font-size:12px;color:#777}.price-card{background:#171714;color:#fff;padding:50px 5vw;position:relative}.price-card h2{font-size:32px;margin:16px 0 5px}.price-card p{color:#aaa;font-size:12px;line-height:1.5}.price-card dl{margin:22px 0}.price-card dl div{display:flex;justify-content:space-between;padding:9px 0;color:#bbb}.price-card .total{border-top:1px solid #555;margin-top:8px;padding-top:20px;color:#fff;font-size:18px}.price-card .total dd{font:400 31px var(--serif);color:#d2a66f}.price-card dd{margin:0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:15px 19px;border:0;text-decoration:none;font:600 12px var(--sans);cursor:pointer}.button.primary{background:#b78a50;color:#171714}.button.secondary{border:1px solid currentColor;color:inherit;background:transparent}.button:disabled{opacity:.38;cursor:not-allowed}.consent{display:flex;gap:10px;align-items:start;font-weight:400;letter-spacing:0;line-height:1.5;margin:25px 0}.consent input{width:auto;margin:2px 0}.contact-error,.notice.error{color:#9f3028;font-size:12px}.notice{margin:20px 5vw;padding:15px;border:1px solid currentColor}.dev-status{margin:15px 5vw;padding:12px;background:#fff8d8;font:12px monospace}.result-dialog{width:min(620px,calc(100% - 40px));border:0;background:var(--paper);padding:50px;box-shadow:0 30px 100px rgba(0,0,0,.5)}.result-dialog::backdrop{background:rgba(10,10,8,.76)}.result-dialog h2{font-size:45px;margin:16px 0 30px}.result-dialog dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0}.result-dialog dd{font-weight:600;margin:0}.dialog-close{position:absolute;right:18px;top:13px;background:0;border:0;font-size:25px;cursor:pointer}.dialog-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:30px}
@media(max-width:950px){body{padding:8px}.device-frame span:nth-child(1),.device-frame span:nth-child(3){height:8px}.device-frame span:nth-child(2),.device-frame span:nth-child(4){width:8px}.workspace{grid-template-columns:1fr}.visual-column{padding:45px 5vw}.visual-sticky{position:static}.canvas-stage{min-height:420px}.price-card{position:sticky;bottom:8px;z-index:10;box-shadow:0 -12px 30px rgba(0,0,0,.18)}}
@media(max-width:560px){.topbar{height:70px;padding:0 17px}.brand{font-size:15px}.brand svg{width:29px}.back{font-size:10px}.intro{padding:60px 20px}.intro h1{font-size:13vw}.canvas-stage{min-height:330px;padding:4%}.step{padding:48px 23px}.fields.three{grid-template-columns:1fr 1fr}.fields.three label:last-child{grid-column:1/-1}.fields.two,.moldings{grid-template-columns:1fr}.price-card{padding:32px 23px}.result-dialog{padding:38px 24px}.result-dialog h2{font-size:36px}}
.field-note{display:block;margin-top:7px;color:#777;font-size:9px;font-weight:400;letter-spacing:0;line-height:1.4}.visual-sticky>.upload-actions{margin:0 0 8px}.upload-help{margin:0 0 20px;color:#aaa;font-size:9px;line-height:1.5}.privacy-note{margin:20px 0;color:#777;font-size:10px;line-height:1.55}.empty-state[hidden]{display:none}.color-preview{display:flex;align-items:center;gap:8px;margin-top:8px;color:#777}.color-preview i{width:22px;height:22px;border:1px solid rgba(23,23,20,.25);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.color-preview small{font-size:9px;font-weight:400;letter-spacing:.06em}.color-preview[hidden]{display:none}.project-bar{margin:22px 5vw;background:#e6ddcf;border:1px solid var(--line);padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:25px}.project-bar[hidden]{display:none}.project-bar p{margin:0 0 6px}.project-bar strong,.project-bar span,.project-bar small{display:block}.project-bar strong{font:400 21px var(--serif)}.project-bar span{font:400 25px var(--serif);text-align:right}.project-bar small{font-size:9px;color:#716b62;margin-top:4px}.project-bar>div:last-child small{text-align:right}
