
.zme{--ink:#2e3a44;--muted:#6f7a80;--line:#dcdcd2;--bg:#f6f5ee;--panel:#fffefb;--sage:#5d7a6e;--wall:#e9e6dc}
.zme *{box-sizing:border-box}
.zme [hidden]{display:none!important}
.zme{height:100%;margin:0}
.zme{background:var(--bg);color:var(--ink);font:16px/1.45 Jost,system-ui,sans-serif}
.zme .studio{display:grid;grid-template-columns:minmax(0,1fr) 490px;height:100vh}
.zme .wall{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:0;padding:28px;background:#e6e6e4}
.zme .tip{margin:0;color:var(--muted);font-size:14px}
.zme .frame{--fw:0px;--mat:0px;position:relative;width:max-content;border:var(--fw) solid transparent;background:var(--matc,transparent) padding-box;padding:var(--mat);box-shadow:0 18px 40px rgb(46 58 68 / .22)}
.zme .frame.framed{--fw:calc(var(--pw) * .05);--matc:var(--paper-edge,transparent);box-shadow:2px 4px 6px rgb(30 30 30 / .22),8px 18px 36px rgb(30 30 30 / .24)}
.zme .frame.mat{--mat:calc(var(--pw) * .07);--matc:#fdfdfb}
.zme .frame.mat .poster{box-shadow:0 0 0 calc(var(--pw) * .005) #fff,0 0 0 calc(var(--pw) * .0065) rgb(0 0 0 / .14),inset 0 0 3px rgb(0 0 0 / .1)}
.zme .rail{position:absolute;display:none;pointer-events:none;background-size:150px auto}
.zme .framed .rail{display:block}
.zme .rail.top,.zme .rail.bottom{left:calc(var(--fw) * -1);right:calc(var(--fw) * -1);height:var(--fw);background-image:var(--grainH)}
.zme .rail.left,.zme .rail.right{top:calc(var(--fw) * -1);bottom:calc(var(--fw) * -1);width:var(--fw);background-image:var(--grainV)}
.zme .rail.left,.zme .rail.right{background-size:150px 1600px}
.zme .rail.top,.zme .rail.bottom{background-size:1600px 150px}
.zme .rail.top{top:calc(var(--fw) * -1);clip-path:polygon(0 0,100% 0,calc(100% - var(--fw)) 100%,var(--fw) 100%);filter:brightness(1.05)}
.zme .rail.bottom{bottom:calc(var(--fw) * -1);clip-path:polygon(var(--fw) 0,calc(100% - var(--fw)) 0,100% 100%,0 100%);filter:brightness(.9)}
.zme .rail.left{left:calc(var(--fw) * -1);clip-path:polygon(0 0,100% var(--fw),100% calc(100% - var(--fw)),0 100%)}
.zme .rail.right{right:calc(var(--fw) * -1);clip-path:polygon(0 var(--fw),100% 0,100% 100%,0 calc(100% - var(--fw)));filter:brightness(.95)}
.zme .frame.framed::after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;box-shadow:inset 7px 7px 11px -3px rgb(0 0 0 / .24),inset -2px -2px 5px -2px rgb(0 0 0 / .1)}
.zme .black-wood .rail,.zme .white-wood .rail,.zme .black-metal .rail{background-image:none;filter:none}
.zme .black-wood .rail.top{background:#434343}
.zme .black-wood .rail.left{background:#272727}
.zme .black-wood .rail.right{background:#2f2f2f}
.zme .black-wood .rail.bottom{background:#1d1d1d}
.zme .black-metal .rail.top{background:#5a5d60}
.zme .black-metal .rail.left{background:#3a3c3f}
.zme .black-metal .rail.right{background:#2f3133}
.zme .black-metal .rail.bottom{background:#232527}
.zme .frame.canvas{box-shadow:2px 2px 0 rgb(0 0 0 / .16),5px 5px 0 rgb(0 0 0 / .1),10px 20px 34px rgb(30 30 30 / .26)}
.zme .white-wood .rail.top{background:#f6f6f6}
.zme .white-wood .rail.left{background:#efefef}
.zme .white-wood .rail.right{background:#e6e6e6}
.zme .white-wood .rail.bottom{background:#dedede}
.zme .poster{position:relative;width:var(--pw);aspect-ratio:var(--ratio);overflow:hidden;container-type:inline-size;background:var(--paper);color:var(--text)}
.zme .mapbox{position:absolute;overflow:hidden}
.zme .mapbox.clip{clip-path:url(#shapeClip)}
.zme #map{position:absolute;inset:0}
.zme .veil{position:absolute;pointer-events:none}
.zme .ring{position:absolute;pointer-events:none;border-style:solid;border-color:var(--text)}
.zme .words{position:absolute;left:7%;right:7%;text-align:center;pointer-events:none}
.zme .words.left{text-align:left}
.zme .words h1{margin:0;font-weight:600;line-height:1.05;white-space:nowrap}
.zme .words p{margin:0}
.zme .words .sub{margin-top:1.4cqw;font:500 2.7cqw/1.2 Jost,sans-serif;letter-spacing:.24em;text-transform:uppercase}
.zme .words.rule .sub{display:flex;align-items:center;justify-content:center;gap:2cqw}
.zme .words.rule .sub::before,.zme .words.rule .sub::after{content:"";width:12cqw;height:.3cqw;background:currentColor}
.zme .words .coords{margin-top:1.2cqw;font:400 2cqw/1.2 Jost,sans-serif;letter-spacing:.12em;opacity:.75}
.zme .credit{position:absolute;left:0;right:0;bottom:1cqw;margin:0;text-align:center;color:var(--text);font:400 .85cqw/1 Jost,sans-serif;opacity:.45;pointer-events:none}
.zme .pin{width:30px;height:30px;color:var(--mark);filter:drop-shadow(0 1px 1px rgb(0 0 0 / .25));pointer-events:none}
.zme .panel{display:flex;flex-direction:column;gap:14px;min-height:0;padding:20px 22px;border-left:1px solid var(--line);background:var(--panel)}
.zme .panel header h2{margin:0;font:600 24px/1.15 "Playfair Display",Georgia,serif}
.zme .brand{margin:0 0 2px;color:var(--sage);font-size:13px;letter-spacing:.2em;text-transform:uppercase}
.zme .options{flex:1;min-height:0;overflow:auto;margin:0 -6px;padding:0 6px 8px}
.zme .acc{padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0}
.zme .acc>summary{display:flex;align-items:center;gap:8px;min-height:50px;font-size:17px;font-weight:500;list-style:none;cursor:pointer}
.zme .acc>summary::-webkit-details-marker{display:none}
.zme .acc>summary small{flex:1;overflow:hidden;color:var(--muted);font-size:14px;font-weight:400;text-align:right;white-space:nowrap;text-overflow:ellipsis}
.zme .acc>summary::after{content:"";flex:none;width:8px;height:8px;margin:-3px 3px 0 4px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg);transition:transform .15s}
.zme .acc[open]>summary::after{margin-top:3px;transform:rotate(-135deg)}
.zme .pane{display:flex;flex-direction:column;gap:14px;padding:2px 2px 16px}
.zme .product{display:flex;flex-direction:column;gap:14px;padding:14px 2px 6px}
.zme .product h3{margin:0;font-size:17px;font-weight:500}
.zme .field{display:block;margin-bottom:6px;color:var(--muted);font-size:14px}
.zme input:not([type=checkbox]):not([type=color]){width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit}
.zme input:focus-visible,.zme button:focus-visible,.zme summary:focus-visible{outline:2px solid var(--sage);outline-offset:1px}
.zme .check{display:flex;align-items:center;gap:8px;font-size:15px}
.zme .searchbox{position:relative}
.zme #results{position:absolute;z-index:5;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 24px rgb(46 58 68 / .14);list-style:none}
.zme #results button{display:block;width:100%;min-height:44px;padding:8px 10px;border:0;border-radius:6px;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.zme #results button:hover{background:var(--bg)}
.zme #results small{display:block;color:var(--muted)}
.zme .group{margin-bottom:10px}
.zme .group h3{margin:0 0 6px;color:var(--muted);font:400 13px Jost,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.zme .swatches{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.zme .swatches button{display:grid;gap:5px;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.zme .swatches i{display:flex;height:30px;overflow:hidden;border-radius:4px;box-shadow:inset 0 0 0 1px rgb(0 0 0 / .08)}
.zme .swatches i b{flex:1}
.zme .choices{display:flex;flex-wrap:wrap;gap:6px}
.zme .choices button{min-height:44px;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:15px;cursor:pointer}
.zme .choices.icons button{display:inline-flex;align-items:center;gap:6px}
.zme [aria-pressed=true]{border-color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--ink)}
.zme details{padding:8px 12px;border:1px solid var(--line);border-radius:8px}
.zme summary{min-height:28px;font-weight:500;cursor:pointer}
.zme .colors{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:10px 0}
.zme .colors label{display:flex;align-items:center;gap:8px;font-size:14px}
.zme .colors input{width:36px;height:30px;padding:0;border:1px solid var(--line);border-radius:6px;background:none;cursor:pointer}
.zme .framechoices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.zme .framechoices button{display:flex;align-items:center;gap:8px;min-height:48px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:15px;cursor:pointer}
.zme .framechoices i{flex:none;width:28px;height:28px;border:5px solid;border-radius:2px;background:#f4f2ea}
.zme .note{margin:0;color:var(--muted);font-size:14px}
.zme .field em{color:var(--sage);font-style:normal}
.zme .opts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.zme .opts.two{grid-template-columns:1fr 1fr}
.zme .opts button{position:relative;min-height:46px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:500 15px Jost,sans-serif;cursor:pointer}
.zme .opts button[aria-pressed=true]{background:#f4f6f0}
.zme .opts button:disabled{opacity:.45;cursor:not-allowed}
.zme .opts .hot{position:absolute;top:-10px;left:8px;padding:0 8px;border-radius:999px;background:#b84808;color:#fff;font-size:12px;font-weight:600;line-height:20px}
.zme .extras{display:grid;gap:4px}
.zme .extra{padding:6px 0;border-bottom:1px solid var(--line)}
.zme .extra:last-child{border-bottom:0}
.zme .extra .row{display:flex;align-items:center;gap:8px;min-height:36px;font-size:15px}
.zme .extra .row label{display:flex;flex:1;align-items:center;gap:8px;min-width:0;cursor:pointer}
.zme .extra .row b{font-weight:500}
.zme .extra .more{min-height:32px;padding:0 2px;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.zme .extra p{margin:4px 0;color:var(--muted);font-size:14px}
.zme .extra textarea{width:100%;min-height:72px;margin-top:6px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;font-size:15px}
.zme .extra small{display:block;color:var(--muted);text-align:right}
.zme .price{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 8px;color:var(--muted);font-size:14px}
.zme .price b{color:var(--ink);font-size:20px;font-weight:600}
.zme .warn{margin:0 0 10px;color:#a8483a;font-size:14px}
.zme .panel footer{flex:none}
.zme .primary{width:100%;min-height:48px;border:0;border-radius:8px;background:var(--ink);color:var(--bg);font:500 16px Jost,sans-serif;cursor:pointer}
.zme .primary.done{background:var(--sage)}
.zme .secondary{width:100%;min-height:44px;margin-top:8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:500 15px Jost,sans-serif;cursor:pointer}
.zme .secondary:disabled{opacity:.6;cursor:wait}
.zme .status{min-height:21px;margin:8px 0 0;color:var(--muted);font-size:14px}
.zme .maplibregl-ctrl-attrib{display:none}

@media(max-width:900px){
.zme .opts button{white-space:normal}
.zme .studio{grid-template-columns:minmax(0,1fr);height:auto}
.zme .wall{padding:20px 16px}
.zme .panel{border-left:0;border-top:1px solid var(--line);padding:18px 16px}
.zme .options{overflow:visible}}
.zme{--ink:#303b4c;--muted:#525956;--sage:#7b826e;--panel:#fff}
.zme{color:var(--muted);font-family:Jost,Arial,sans-serif}
.zme .panel header h2{color:var(--ink);font:500 32px/36.8px Jost,Arial,sans-serif;letter-spacing:-1.12px}
.zme .brand{color:var(--sage)}
.zme .acc>summary{color:var(--ink);font-size:16px}
.zme .field{color:var(--ink);font-size:16px;line-height:20.8px}
.zme .field em{color:#7b826e}
.zme .product h3{color:var(--ink);font-size:14px;font-weight:600;line-height:18.2px}
.zme .opts button,.zme .choices button,.zme .swatches button{border-radius:8px;color:var(--ink);font:500 15px/19.5px Jost,Arial,sans-serif}
.zme .opts button{min-height:42px}
.zme [aria-pressed=true]{border-color:var(--ink)!important;background:#f4f6f0;box-shadow:none}
.zme .extra .row{color:var(--ink);font-size:16px}
.zme .price{color:var(--muted);font-size:14px}
.zme .price b{color:var(--ink)}
.zme .primary{min-height:56px;background:var(--ink);color:#fff;font:500 16px Jost,Arial,sans-serif;letter-spacing:.16px}
.zme input:not([type=checkbox]):not([type=color]),.zme textarea{color:var(--ink);font-family:Jost,Arial,sans-serif}
.zme .mapsection{padding:4px 2px 14px;border-bottom:1px solid var(--line)}
.zme .mapsection h3{margin:0 0 8px;color:var(--ink);font-size:16px;font-weight:500}
.zme .sec{display:flex;gap:10px;margin:0;padding-top:12px;border-top:1px solid var(--line);color:var(--ink);font-size:16px;font-weight:500}
.zme .sec em{color:#8a917c;font-size:14px;font-style:normal;font-weight:600;line-height:23px}
.zme .product{padding-top:0;border:0}
.zme .opts button{padding:6px 4px;white-space:nowrap}
.zme .opts button[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--ink)}
.zme #framesSel [aria-pressed=true]{background:#fff}
.zme .extra{padding:8px 0;border:0}
.zme .extra .row{font-size:17px;color:var(--muted)}
.zme .extra .row input{width:18px;height:18px;margin:0;accent-color:var(--ink)}
.zme .extra .row b{margin-left:4px;color:#111;font-size:17px;font-weight:700}
.zme .extra .more{color:var(--ink);font-size:12.5px}
.zme .panel footer{padding-top:10px;border-top:1px solid var(--line)}
.zme .line{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 6px;color:var(--muted);font-size:14px}
.zme .line b{color:var(--ink);font-size:21px;font-weight:700}
.zme .line.small{font-size:11.2px}
.zme .line.small b{font-size:14px}
.zme .line del{margin-right:6px;color:#8a8f8c;font-size:11.2px}
.zme .buy{display:flex;gap:10px;margin-top:8px}
.zme .buy .primary{flex:none;width:auto;min-width:142px;padding:15px 30px}
.zme .qty{display:flex;width:145px;height:56px;overflow:hidden;border:1px solid #c7c8c0;border-radius:8px}
.zme .qty button{flex:1;border:0;background:#fff;color:var(--muted);font:400 18px Jost,Arial,sans-serif;cursor:pointer}
.zme .qty input{width:48px!important;min-height:0!important;padding:0!important;border:0!important;border-inline:1px solid var(--line)!important;border-radius:0!important;text-align:center;-moz-appearance:textfield}
.zme .qty input::-webkit-outer-spin-button,.zme .qty input::-webkit-inner-spin-button{margin:0;appearance:none}
.zme .places{display:flex;gap:6px;margin-top:8px}
.zme .places button{flex:0 1 auto;min-width:0;min-height:32px;padding:2px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
.zme .reset{min-height:40px;margin-top:10px;padding:4px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
.zme .reset:disabled,.zme .choices button:disabled{opacity:.45;cursor:not-allowed}
.zme{height:auto}
.zme{background:#fff}

.zme .site{height:119px;background:#fff;box-shadow:0 1px 6px rgb(0 0 0 / .08)}
.zme .siteinner{display:flex;align-items:center;justify-content:space-between;width:min(1200px,calc(100% - 32px));height:100%;margin:auto}
.zme .siteinner img{display:block;width:auto;height:75px}
.zme .siteinner nav{display:flex;gap:22px;align-self:flex-end;padding-bottom:18px;color:var(--ink);font-size:16px;font-weight:500}
.zme .studio{grid-template-columns:675px 489px;gap:36px;justify-content:center;width:min(1200px,calc(100% - 32px));height:auto;margin:40px auto 60px}
.zme .wall{position:sticky;top:20px;align-self:start;aspect-ratio:1;padding:12px;border-radius:12px;background:#eeeee7}
.zme .panel{padding:0;border:0;background:none}
.zme .panel header h2{margin-bottom:4px}
.zme .tagline{margin:0;color:var(--muted);font-size:16px}
.zme .options{flex:none;overflow:visible;margin:0;padding:0}
.zme .panel footer{position:static}

@media(max-width:1240px){
.zme .studio{grid-template-columns:minmax(0,1fr) 420px;gap:24px}}

@media(max-width:900px){
.zme .site nav{display:none}
.zme .site{height:90px}
.zme .siteinner img{height:60px}
.zme .studio{grid-template-columns:minmax(0,1fr);margin-top:16px}
.zme .wall{position:static;padding:12px}

.zme .buy .primary{flex:1}}
.zme .need .field{color:#b3261e}
.zme .need .field::after{content:" Please choose";font-size:14px}
.zme .need .opts button{border-color:#b3261e}
.zme .status.bad{color:#b3261e}
.zme .acc>summary em,.zme .mapsection h3 em{margin-right:-6px;color:#7b826e;font-style:normal;font-weight:400}
.zme .mapsection h3 em{margin-right:2px}
.zme .need>summary,.zme .need>h3{color:#b3261e}
.zme .need>summary::before{content:none}
.zme .gallery{position:sticky;top:20px;align-self:start;min-width:0}
.zme .wall{position:relative;top:auto;overflow:hidden}
.zme .stage{position:absolute;z-index:5;inset:0}
.zme .scene{position:absolute;inset:0;overflow:hidden;container-type:size;background:#e6e2d8}
.zme .scene>svg,.zme .scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.zme .mock{position:absolute;left:50%;box-sizing:content-box;transform:translateX(-50%);background:#fff;box-shadow:.5cqw 1cqw 2.2cqw rgb(38 46 40 / .32)}
.zme .mock img{display:block;width:auto;height:100%}
.zme .mock.black-wood{border:1.3cqw solid #24262a}
.zme .mock.white-wood{border:1.3cqw solid #f4f4f2}
.zme .mock.natural-wood{border:1.3cqw solid #cda97c}
.zme .mock.black-metal{border:1.3cqw solid #33363a}
.zme .mock.mat{padding:2.6cqw}
.zme .thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:10px}
.zme .thumbs button{position:relative;aspect-ratio:1;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#eeeee7;cursor:pointer}
.zme .thumbs button[aria-current=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.zme .thumbs .design{display:block;height:84%;margin:8% auto 0;box-shadow:0 1px 3px rgb(0 0 0 / .25)}

@media(max-width:900px){
.zme .gallery{position:static}
.zme .thumbs{gap:6px}}
.zme .mock{position:absolute}
.zme .mock.framed-glass::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,rgb(255 255 255 / .1),rgb(255 255 255 / 0) 36%,rgb(255 255 255 / 0) 66%,rgb(255 255 255 / .05));box-shadow:inset 1px 1px 3px rgb(0 0 0 / .22)}
.zme .mock img{filter:brightness(.985) saturate(.97)}
.zme .mock{box-sizing:border-box}
.zme .roomnote{margin:8px 0 0;color:var(--muted);font-size:13px;text-align:center}

.zme{--wall:#eeeee7;background:#fff}
.zme .studio{margin:32px auto 60px}
.zme .ztitle{margin:0 0 4px;color:var(--ink);font:500 32px/36.8px Jost,Arial,sans-serif;letter-spacing:-1.12px}
.zme .ptitle{margin:0;font-weight:600;line-height:1.05;white-space:nowrap}
.zme button{margin:0;text-transform:none;letter-spacing:normal;line-height:normal}
.zme input,.zme textarea{margin:0;box-shadow:none}
.zme input[type=checkbox]{margin:0}
.zme ul{margin:0;padding:0;list-style:none}
.zme li{margin:0}
.zme h3{text-transform:none;letter-spacing:normal}
.zme .sun{position:absolute;inset:0;pointer-events:none;mix-blend-mode:multiply;background:linear-gradient(112deg,rgb(176 156 132 / .13) 0 17%,rgb(255 244 224 / 0) 23% 33%,rgb(176 156 132 / .11) 36% 38%,rgb(255 244 224 / 0) 42% 56%,rgb(176 156 132 / .13) 64% 100%);filter:blur(1.4cqw)}
.zme .gallery{display:block;width:auto;margin:0;padding:0}
.zme .wall{width:100%}
.zme .extra .row label{margin:0;font-weight:400;color:var(--muted)}
.zme .extra .row label b{font-weight:700}
.zme .field{font-weight:400}
.zme-print .zme .thumbs,.zme-print .zme .roomnote,.zme-print .zme .options,.zme-print .zme .line,.zme-print .zme .buy,.zme-print .zme .tagline,.zme-print .maplibregl-ctrl-top-left{display:none}
.zme-print .zme .wall{aspect-ratio:auto;min-height:675px;overflow:auto}
.zme-print #map{pointer-events:none}
