@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-ext-400-normal-C2je3j2s.woff2)format("woff2"),url(./instrument-serif-latin-ext-400-normal-CFCUzsTy.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-400-normal-DnYpCC2O.woff2)format("woff2"),url(./instrument-serif-latin-400-normal-BVbkICAY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2)format("woff2"),url(./instrument-serif-latin-ext-400-italic-D7-lnxEk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(./instrument-serif-latin-400-italic-DKMiL14s.woff2)format("woff2"),url(./instrument-serif-latin-400-italic-u__WvvIK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./geist-mono-cyrillic-ext-400-normal-XB2BPmDK.woff2)format("woff2"),url(./geist-mono-cyrillic-ext-400-normal-CkxHOdCb.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./geist-mono-cyrillic-400-normal-C51Di1Mf.woff2)format("woff2"),url(./geist-mono-cyrillic-400-normal-CPJFfJgk.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./geist-mono-symbols2-400-normal-BS9BGVxz.woff2)format("woff2"),url(./geist-mono-symbols2-400-normal-DjbiTEEA.woff)format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./geist-mono-vietnamese-400-normal-CKEaXIlx.woff2)format("woff2"),url(./geist-mono-vietnamese-400-normal-CZEPLOgu.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./geist-mono-latin-ext-400-normal-DI-rJ0UV.woff2)format("woff2"),url(./geist-mono-latin-ext-400-normal-CfzLURNc.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./geist-mono-latin-400-normal-DTRLJnHl.woff2)format("woff2"),url(./geist-mono-latin-400-normal-B2yvC1Cq.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./geist-mono-cyrillic-ext-500-normal-C7aYOB1D.woff2)format("woff2"),url(./geist-mono-cyrillic-ext-500-normal-BY1KTvO5.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./geist-mono-cyrillic-500-normal-D2cXvDHF.woff2)format("woff2"),url(./geist-mono-cyrillic-500-normal-DfuvdVgn.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./geist-mono-symbols2-500-normal-Q_ksOahU.woff2)format("woff2"),url(./geist-mono-symbols2-500-normal-CmnCPGa0.woff)format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./geist-mono-vietnamese-500-normal-Bs29RrUZ.woff2)format("woff2"),url(./geist-mono-vietnamese-500-normal-Dx9-epDo.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./geist-mono-latin-ext-500-normal-Buglb9-a.woff2)format("woff2"),url(./geist-mono-latin-ext-500-normal-CrWEgvU_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./geist-mono-latin-500-normal-YINYabwD.woff2)format("woff2"),url(./geist-mono-latin-500-normal-D-GG86Jb.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f7f5f1;--paper-2:#efebe5;--stage:#ebe7e1;--ink:#1c1a17;--ink-2:#4a463f;--ink-3:#8c867c;--line:#e2ddd5;--line-2:#d3cdc3;--accent:#9b5a3c;--ok:#4f6b4a;--radius:14px;--radius-sm:10px;--panel-w:452px;--ease:cubic-bezier(.2, .7, .1, 1);--serif:"Instrument Serif", "Times New Roman", serif;--sans:"Geist Variable", "Geist", system-ui, -apple-system, sans-serif;--mono:"Geist Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{background:var(--stage);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.mono{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;font-size:11px}.title{font-family:var(--serif);letter-spacing:-.015em;margin:0;font-weight:400;line-height:.95}.title em{color:var(--ink-2);font-style:italic}.app{grid-template-columns:minmax(0, 1fr) var(--panel-w);height:100dvh;display:grid}.viewer{background:var(--stage);min-width:0;position:relative;overflow:hidden}.viewer canvas{touch-action:none;outline:none;display:block}.vignette{pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,#0000 55%,#3c30221a 100%);position:absolute;inset:0}.topbar{pointer-events:none;align-items:center;gap:22px;display:flex;position:absolute;top:22px;left:28px;right:28px}.brand{pointer-events:auto;font-family:var(--sans);letter-spacing:.22em;color:var(--ink);align-items:center;gap:8px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.brand-mark{letter-spacing:0;font-size:15px}.brand-sub{font-family:var(--serif);letter-spacing:0;color:var(--ink-2);margin-left:2px;font-size:17px;font-style:italic;font-weight:400}.crumbs{color:var(--ink-3)}.tools{-webkit-backdrop-filter:blur(14px)saturate(1.2);background:#f7f5f1b8;border:1px solid #ffffffb3;border-radius:999px;gap:6px;padding:5px;display:flex;position:absolute;top:16px;right:20px;box-shadow:0 6px 24px -12px #281e1440}.tool{height:36px;color:var(--ink-2);transition:background .25s var(--ease), color .25s var(--ease);border-radius:999px;align-items:center;gap:7px;padding:0 14px;font-size:13px;display:inline-flex}.tool:hover{color:var(--ink);background:#1c1a170f}.tool.is-on{background:var(--ink);color:var(--paper)}.tool-icon{padding:0 10px}.viewer-foot{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:24px;left:28px;right:28px}.views{pointer-events:auto;-webkit-backdrop-filter:blur(14px);background:#f7f5f1b8;border:1px solid #ffffffb3;border-radius:999px;gap:2px;padding:4px;display:inline-flex}.view{height:32px;color:var(--ink-2);transition:background .25s var(--ease), color .25s var(--ease);border-radius:999px;padding:0 16px;font-size:13px}.view:hover{color:var(--ink)}.view.is-on{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #00000014, 0 0 0 1px var(--line)}.dimchip{color:var(--ink-2);font-size:11.5px}.dimchip i{color:var(--ink-3);margin:0 3px;font-style:normal}.hint-pill{color:var(--paper);pointer-events:none;transition:opacity .6s var(--ease), transform .6s var(--ease);background:#1c1a17c7;border-radius:999px;padding:9px 16px;font-size:12.5px;position:absolute;top:78%;left:50%;transform:translate(-50%)}.hint-pill.is-hidden{opacity:0;transform:translate(-50%,6px)}.dim-label{font-family:var(--mono);letter-spacing:.03em;white-space:nowrap;background:var(--ink);color:var(--paper);border-radius:6px;padding:4px 8px;font-size:11px;box-shadow:0 4px 14px -6px #0006}.panel{background:var(--paper);border-left:1px solid var(--line);z-index:2;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.rail{border-bottom:1px solid var(--line);scrollbar-width:none;flex:none;gap:4px;padding:14px 20px 0;display:flex;overflow-x:auto}.rail::-webkit-scrollbar{display:none}.rail-item{white-space:nowrap;color:var(--ink-3);transition:color .25s var(--ease);padding:10px 10px 14px;font-size:13px;position:relative}.rail-item .mono{margin-right:2px;font-size:10px}.rail-item:hover{color:var(--ink)}.rail-item:after{content:"";background:var(--ink);transform-origin:0;height:2px;transition:transform .35s var(--ease);position:absolute;bottom:-1px;left:10px;right:10px;transform:scaleX(0)}.rail-item.is-active{color:var(--ink)}.rail-item.is-active:after{transform:scaleX(1)}.panel-scroll{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;flex:1;padding:0 32px;position:relative;overflow-y:auto}.panel-pad{height:24px}.intro{border-bottom:1px solid var(--line);padding:34px 0 30px}.intro .title{font-size:58px}.lede{color:var(--ink-2);max-width:34ch;margin:16px 0 18px;font-size:15px}.badges{color:var(--ink-2);flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.badges li{align-items:center;gap:7px;display:inline-flex}.badges svg{width:16px;height:16px;color:var(--ink-3)}.step{border-bottom:1px solid var(--line);padding:28px 0 30px;scroll-margin-top:8px}.step-head{align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.step-index{font-family:var(--mono);color:var(--ink-3);font-size:11px}.step-head h2{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-size:30px;font-weight:400;line-height:1}.step-value{color:var(--ink-2);text-align:right;margin-left:auto;font-size:13px}.hint{color:var(--ink-3);margin:12px 0 0;font-size:12.5px}.card{text-align:left;border-radius:var(--radius);border:1px solid var(--line);transition:border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);background:#fff;position:relative}.card:hover{border-color:var(--line-2);box-shadow:0 8px 24px -16px #281e1459}.card.is-on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.card-name{font-size:14px;font-weight:500;display:block}.card-meta{color:var(--ink-3);margin-top:2px;font-size:12.5px;display:block}.size-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.size-card{padding:16px 14px 13px}.size-card svg{margin-bottom:12px}.size-card:last-child{grid-column:span 2}.seg{gap:8px;display:grid}.seg-4{grid-template-columns:repeat(4,1fr)}.seg-item{border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--ink-2);transition:border-color .25s var(--ease), box-shadow .25s var(--ease), color .25s;background:#fff;flex-direction:column;align-items:center;gap:8px;padding:14px 6px 11px;font-size:12.5px;display:flex}.seg-item:hover{border-color:var(--line-2);color:var(--ink)}.seg-item.is-on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);color:var(--ink)}.seg-item svg{height:24px}.seg-compact .seg-item{padding:12px 6px}.seg-item:disabled{opacity:.35;cursor:not-allowed;border-style:dashed}.seg-num{font-size:14px;font-weight:500}.fabric-list{gap:10px;display:grid}.fabric-card{align-items:stretch;gap:14px;padding:10px;display:flex}.fabric-thumb{border-radius:9px;flex:none;width:76px;min-height:76px;box-shadow:inset 0 0 0 1px #0000000f,inset 0 -18px 30px -18px #00000040}.fabric-body{flex-direction:column;justify-content:center;min-width:0;padding:2px 4px 2px 0;display:flex}.fabric-top{align-items:center;gap:8px;display:flex}.fabric-specs{color:var(--ink-3);margin-top:6px;font-size:10.5px}.tier{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-2);color:var(--ink-2);border-radius:999px;padding:2px 7px;font-size:9.5px}.tier-signature{color:#8a6a4b;background:#faf4ec;border-color:#d8c7b3}.tier-atelier{border-color:var(--ink);background:var(--ink);color:var(--paper)}.swatches{flex-wrap:wrap;gap:12px;display:flex}.swatch{width:48px;height:48px;transition:transform .25s var(--ease);border-radius:50%;padding:4px;position:relative}.swatch span{border-radius:50%;width:100%;height:100%;display:block;box-shadow:inset 0 0 0 1px #00000014,inset 0 -10px 16px -10px #00000059}.swatch:after{content:"";transition:border-color .25s var(--ease);border:1.5px solid #0000;border-radius:50%;position:absolute;inset:0}.swatch:hover{transform:translateY(-2px)}.swatch.is-on:after{border-color:var(--ink)}.swatches-sm .swatch{width:38px;height:38px;padding:3px}.fabric-note{background:var(--paper-2);border-radius:var(--radius);align-items:center;gap:14px;margin-top:20px;padding:12px;display:flex}.fabric-note-swatch{border-radius:10px;flex:none;width:64px;height:64px;box-shadow:inset 0 0 0 1px #0000000f}.fabric-note div{flex-direction:column;gap:2px;font-size:13px;display:flex}.fabric-note strong{font-weight:500}.fabric-note span{color:var(--ink-3);font-size:12.5px}.link{text-underline-offset:3px;color:var(--ink);align-items:center;gap:6px;margin-top:6px;font-size:12.5px;text-decoration:underline;display:inline-flex}.link svg{width:15px;height:15px}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;margin:18px 0 4px;font-size:13.5px;display:flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:var(--line-2);width:38px;height:22px;transition:background .25s var(--ease);border-radius:999px;flex:none;position:relative}.toggle-track span{width:16px;height:16px;transition:transform .3s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle input:checked+.toggle-track{background:var(--ink)}.toggle input:checked+.toggle-track span{transform:translate(16px)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--ink);outline-offset:2px}.pillow-opts{gap:14px;margin-top:14px;display:grid}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--ink-2);transition:all .2s var(--ease);background:#fff;border-radius:999px;padding:7px 12px;font-size:12.5px}.chip:hover{border-color:var(--line-2);color:var(--ink)}.chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.spec{border-bottom:1px solid var(--line)}.spec summary{cursor:pointer;justify-content:space-between;align-items:center;padding:20px 0;font-size:14px;font-weight:500;list-style:none;display:flex}.spec summary::-webkit-details-marker{display:none}.spec summary:after{content:"+";color:var(--ink-3);transition:transform .3s var(--ease);font-size:20px;font-weight:300}.spec[open] summary:after{transform:rotate(45deg)}.spec dl{grid-template-columns:1fr 1fr;gap:12px 20px;margin:0 0 20px;display:grid}.spec dl div{flex-direction:column;display:flex}.spec dt{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px}.spec dd{margin:2px 0 0;font-size:13.5px}.spec p{color:var(--ink-2);margin:0 0 20px;font-size:13.5px}.buybar{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f5f1eb;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px 16px 32px;display:flex}.price{flex-direction:column;min-width:0;display:flex}.price-total{font-family:var(--serif);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:34px;line-height:1}.price-meta{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:11.5px;overflow:hidden}.btn{white-space:nowrap;height:50px;transition:transform .2s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:14px;font-weight:500;display:inline-flex}.btn svg{transition:transform .3s var(--ease)}.btn-primary{background:var(--ink);color:var(--paper);box-shadow:0 10px 24px -12px #1c1a1799}.btn-primary:hover{background:#000}.btn-primary:hover svg{transform:translate(3px)}.btn-primary:active{transform:scale(.98)}.btn-ghost{border:1px solid var(--line-2);background:#fff9;height:40px;padding:0 16px;font-size:13px}.btn-ghost:hover{background:#fff}.btn-wide{width:100%}.toast{z-index:60;opacity:0;pointer-events:none;background:var(--ink);color:var(--paper);transition:opacity .35s var(--ease), transform .45s var(--ease);border-radius:999px;align-items:center;gap:10px;padding:12px 18px;font-size:13.5px;display:inline-flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);box-shadow:0 16px 40px -16px #00000080}.toast.is-on{opacity:1;transform:translate(-50%)}.toast svg{color:#b9d3b0}.loader{z-index:100;background:var(--paper);transition:opacity .9s var(--ease) .15s, visibility 0s linear 1.1s;place-items:center;display:grid;position:fixed;inset:0}.loader.is-done{opacity:0;visibility:hidden}.loader-inner{text-align:center;width:min(320px,80vw)}.loader-title{margin-bottom:30px;font-size:64px}.loader-bar{background:var(--line);height:1px;overflow:hidden}.loader-bar span{background:var(--ink);transform-origin:0;height:100%;transition:transform .4s var(--ease);display:block}.loader-pct{color:var(--ink-3);margin-top:14px}.app .topbar,.app .tools,.app .viewer-foot,.app .panel{opacity:0;transform:translateY(8px)}.app.is-ready .topbar,.app.is-ready .tools,.app.is-ready .viewer-foot,.app.is-ready .panel{opacity:1;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:none}.app.is-ready .tools{transition-delay:.15s}.app.is-ready .viewer-foot{transition-delay:.25s}.app.is-ready .panel{transition-delay:.1s}.sheet-wrap{z-index:50;pointer-events:none;position:fixed;inset:0}.sheet-scrim{opacity:0;transition:opacity .4s var(--ease);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c181261;position:absolute;inset:0}.sheet{opacity:0;background:var(--paper);width:min(1060px,100vw - 48px);max-height:calc(100dvh - 48px);transition:opacity .4s var(--ease), transform .5s var(--ease);border-radius:22px;position:absolute;top:50%;left:50%;overflow:hidden auto;transform:translate(-50%,-46%)scale(.98);box-shadow:0 40px 120px -30px #140e088c}.sheet-wrap.is-open{pointer-events:auto}.sheet-wrap.is-open .sheet-scrim{opacity:1}.sheet-wrap.is-open .sheet{opacity:1;transform:translate(-50%,-50%)scale(1)}.sheet-close{z-index:2;border:1px solid var(--line);background:#fffc;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:absolute;top:16px;right:16px}.sheet-close:hover{background:#fff}.sheet-grid{grid-template-columns:1.15fr 1fr;display:grid}.sheet-visual{background:var(--stage);flex-direction:column;justify-content:center;min-height:100%;display:flex;position:relative}.sheet-visual img{object-fit:contain;width:100%;height:auto;max-height:640px;margin:auto 0;display:block;transform:scale(1.12)}.sheet-visual{overflow:hidden}.sheet-visual-actions{gap:8px;display:flex;position:absolute;bottom:20px;left:20px}.sheet-body{padding:44px 40px 36px}.sheet-title{margin-bottom:24px;font-size:46px}.spec-list{border-top:1px solid var(--line);margin:0}.spec-list div{border-bottom:1px solid var(--line);grid-template-columns:96px 1fr;gap:12px;padding:11px 0;font-size:13.5px;display:grid}.spec-list dt{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding-top:2px;font-size:10.5px}.spec-list dd{align-items:center;gap:8px;margin:0;display:flex}.dot{border-radius:50%;flex:none;width:16px;height:16px;box-shadow:inset 0 0 0 1px #0000001a}.totals{color:var(--ink-2);gap:6px;margin:18px 0 24px;font-size:13.5px;display:grid}.totals div{justify-content:space-between;display:flex}.totals-sum{border-top:1px solid var(--line);color:var(--ink);margin-top:8px;padding-top:12px}.totals-sum span:last-child{font-family:var(--serif);font-size:30px;line-height:1}.totals-sum span:first-child{align-self:flex-end;font-weight:500}.enquiry{gap:12px;display:grid}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field{color:var(--ink-2);flex-direction:column;gap:6px;font-size:12px;display:flex}.field i{color:var(--ink-3);font-style:normal}.field input,.field textarea{font:inherit;color:var(--ink);border:1px solid var(--line-2);resize:vertical;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);background:#fff;border-radius:10px;padding:12px 13px;font-size:14px}.field input:focus,.field textarea:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px #1c1a1714}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.form-error{color:#8a3b22;background:#f6e9e4;border-radius:10px;margin:0;padding:10px 12px;font-size:13px}.btn:disabled{opacity:.6;cursor:progress}.fine{color:var(--ink-3);text-align:center;margin:2px 0 0;font-size:11.5px}.sent{border-radius:var(--radius);color:var(--ok);background:#eef2ea;gap:14px;padding:18px;display:flex}.sent svg{flex:none;width:22px;height:22px}.sent div{color:var(--ink-2);flex-direction:column;gap:4px;font-size:13.5px;display:flex}.sent strong{color:var(--ink);font-weight:500}@media (width<=1180px){:root{--panel-w:400px}.intro .title{font-size:50px}.tool span{display:none}.tool{padding:0 10px}}@media (width<=900px){body{overflow:hidden}.app{grid-template-rows:50svh minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.panel{min-width:0}.viewer{height:50svh}.panel{border-left:0;border-top:1px solid var(--line);border-radius:20px 20px 0 0;margin-top:-18px;box-shadow:0 -12px 30px -20px #281e1459}.rail{padding:8px 12px 0}.panel-scroll{padding:0 20px}.intro{padding:22px 0}.intro .title{font-size:42px}.lede{margin:12px 0 14px;font-size:14px}.topbar{top:16px;left:18px;right:18px}.crumbs{display:none}.tools{gap:2px;padding:4px;top:10px;right:10px}.tool{height:34px;padding:0 9px}.viewer-foot{bottom:28px;left:12px;right:12px}.dimchip{display:none}.views{margin:0 auto}.hint-pill{white-space:nowrap;padding:8px 14px;font-size:11.5px;top:auto;bottom:76px}.step{padding:22px 0 24px}.step-head h2{font-size:26px}.buybar{padding:12px 14px 12px 20px;padding-bottom:max(12px, env(safe-area-inset-bottom))}.price-total{font-size:28px}.price-meta{display:none}.btn{height:46px;padding:0 18px}.sheet{border-radius:22px 22px 0 0;width:100%;max-height:92dvh;top:auto;bottom:0;left:0;transform:translateY(40px)}.sheet-wrap.is-open .sheet{transform:none}.sheet-grid{grid-template-columns:1fr}.sheet-visual img{max-height:260px}.sheet-body{padding:26px 20px 28px}.sheet-title{font-size:36px}.field-row{grid-template-columns:1fr}.toast{bottom:90px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
