@font-face{font-family:EpilogueV;src:url("./fonts/epilogue-latin-wght-normal-6QAKXPNB.woff2") format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:HankenV;src:url("./fonts/hanken-grotesk-latin-wght-normal-ZZ3K7K5Y.woff2") format("woff2");font-weight:100 900;font-display:swap}:root{--plaster: #f3ecdf;--cream: #fcf8f0;--sand: #e6d9c2;--clay: #b4522e;--clay-d: #8f3f20;--olive: #55633a;--ink: #1f2a44;--ink2: #4a5470;--ink3: #66708a;--brass: #c98a00;--line: rgba(31,42,68,.16);--bad: #b3261e;--font: "HankenV", system-ui, -apple-system, "Segoe UI", sans-serif;--display: "EpilogueV", "HankenV", system-ui, sans-serif;--shadow: 0 14px 34px -22px rgba(74,50,30,.55), 0 1px 0 rgba(31,42,68,.06);color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:400 16px/1.55 var(--font);color:var(--ink);background-color:var(--plaster);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .36 0 0 0 0 .25 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}h1,h2,h3{font-family:var(--display);line-height:1.06;letter-spacing:-.025em;margin:0}h1{font-weight:800;font-size:clamp(2.1rem,4.2vw,3.3rem)}h2{font-weight:750;font-size:1.12rem;letter-spacing:-.01em}h3{font-size:1rem;font-weight:750;letter-spacing:-.01em}p{margin:0 0 1em}a{color:var(--clay-d);text-underline-offset:3px}:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-radius:6px}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}[hidden]{display:none!important}.wrap{width:min(1280px,100% - 32px);margin-inline:auto}.muted{color:var(--ink2)}.site-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:10px;font:800 1.35rem var(--display);color:var(--ink);text-decoration:none;letter-spacing:-.03em;min-height:44px}.brand svg{width:36px;height:36px}.site-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.site-nav a{color:var(--ink);text-decoration:none;padding:10px 14px;border-radius:999px;font-weight:600;min-height:44px;display:inline-flex;align-items:center}.site-nav a[aria-current=page]{background:var(--ink);color:#fff}.lang{display:inline-flex;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden;margin-left:6px}.lang a{border-radius:0;min-width:44px;justify-content:center;font-size:.85rem;padding:10px 12px}.lang a[aria-current=true]{background:var(--ink);color:#fff}.band{height:14px;background:repeating-conic-gradient(from 45deg at 50% 50%,var(--clay) 0 25%,var(--sand) 0 50%,var(--olive) 0 75%,var(--cream) 0) 0 0/28px 28px;opacity:.9}.layout{width:min(1280px,100% - 32px);margin:0 auto;padding:18px 0 40px;display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}#app,.cols{display:contents}.hero{grid-area:hero}.steps{grid-area:steps;display:flex;flex-direction:column;gap:14px}.stage-col{grid-area:stage;min-width:0;display:flex;flex-direction:column;gap:14px}.tag{display:inline-flex;align-items:center;gap:8px;background:var(--cream);border:1.5px solid var(--line);border-radius:999px;padding:6px 12px;font-weight:650;font-size:.82rem;margin-bottom:14px}.tag:before{content:"";width:10px;height:10px;background:var(--olive);border-radius:50%}.hero h1 em{font-style:normal;color:var(--clay-d)}.hero .lead{font-size:clamp(1.05rem,2.2vw,1.22rem);color:var(--ink2);max-width:34em;margin:12px 0 16px}.cta{display:flex;gap:10px;flex-wrap:wrap}@media(min-width:1000px){.layout{grid-template-columns:minmax(380px,500px) minmax(0,1fr);grid-template-areas:"hero stage" "steps stage";align-items:start;column-gap:28px}.stage{position:sticky;top:12px;z-index:2}}@media(max-width:999px){.layout{display:flex;flex-direction:column}.stage-col{display:contents}.hero{order:0}.stage{order:1;position:sticky;top:0;z-index:8}.steps{order:2}.results{order:3}#download-btn{order:4;position:sticky;bottom:10px;z-index:8;box-shadow:0 8px 22px #1f2a4459}}.btn{-webkit-appearance:none;appearance:none;border:1.5px solid var(--ink);background:var(--cream);color:var(--ink);font:700 .95rem var(--font);padding:10px 20px;min-height:46px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;transition:transform .15s,background .15s}.btn:hover{transform:translateY(-1px);background:#fff}.btn.primary{background:var(--clay-d);border-color:var(--clay-d);color:#fff}.btn.primary:hover{background:#7a3519}.btn.big{font-size:1.05rem;padding:14px 26px;min-height:54px}.btn.sm{min-height:44px;padding:8px 16px;font-size:.88rem}.btn.is-disabled{background:#6a7188!important;border-color:#6a7188!important;color:#fff;cursor:not-allowed;transform:none}.step{background:var(--cream);border:1.5px solid var(--line);border-radius:20px;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.step>header,.adv>summary{display:flex;gap:12px;align-items:flex-start}.num{flex:none;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;display:inline-grid;place-items:center;font:800 .9rem var(--display)}.help{margin:2px 0 0;color:var(--ink2);font-size:.9rem}.adv>summary{cursor:pointer;list-style:none;min-height:44px;align-items:center}.adv>summary::-webkit-details-marker{display:none}.adv summary strong{display:block;font:750 1.12rem var(--display)}.adv summary small{color:var(--ink2);display:block}.adv[open]>summary{margin-bottom:10px}.adv-body{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.fields{align-items:flex-start}.lbl{font-weight:650;font-size:.86rem;color:var(--ink2)}.field{display:flex;flex-direction:column;gap:3px;min-width:110px;flex:1}.field label{font-weight:650;font-size:.82rem;color:var(--ink2)}.in-wrap{position:relative}.in-wrap input{width:100%;font:650 1.05rem var(--font);padding:10px 44px 10px 14px;min-height:48px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}.in-wrap input:focus{border-color:var(--ink)}.suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--ink3);font-size:.82rem;pointer-events:none}.err{color:var(--bad);font-size:.8rem}.field.bad input{border-color:var(--bad)}input[aria-invalid=true]{outline:2px solid var(--bad)}.seg{display:inline-flex;background:var(--sand);border-radius:999px;padding:3px;gap:2px;flex-wrap:wrap}.seg button{-webkit-appearance:none;appearance:none;border:0;background:transparent;font:700 .88rem var(--font);color:var(--ink);padding:9px 16px;min-height:44px;border-radius:999px;cursor:pointer}.seg button.on{background:var(--ink);color:#fff}.chip{-webkit-appearance:none;appearance:none;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:650 .9rem var(--font);border-radius:999px;padding:8px 14px;min-height:44px;cursor:pointer}.chip:hover{border-color:var(--ink)}.ex .lbl{flex-basis:100%}.back{display:flex;gap:10px;align-items:center;flex-wrap:wrap;width:100%}.back small{color:var(--ink2)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}.tile-card{-webkit-appearance:none;appearance:none;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:8px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:84px;font:inherit;color:var(--ink)}.tile-card.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink) inset}.sw-box{height:48px;display:grid;place-items:center}.sw-box i{display:block;background:#eadcc2;border:1.5px solid #5a4b38;border-radius:2px}.sw-lbl{font-weight:700;font-size:.8rem}.pats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pat{-webkit-appearance:none;appearance:none;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:8px;cursor:pointer;display:flex;flex-direction:column;gap:4px;font:inherit;color:var(--ink);min-width:0}.pat.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink) inset}.pat strong{font:750 .95rem var(--display)}.pat small{color:var(--ink2);font-size:.76rem;line-height:1.25}.pat-art{display:grid;place-items:center;height:92px;background:var(--plaster);border-radius:8px;overflow:hidden}.pat-art svg{max-width:100%;max-height:100%;width:auto;height:100%}.stage{background:var(--cream);border:1.5px solid var(--line);border-radius:22px;padding:12px;box-shadow:var(--shadow);background-image:linear-gradient(rgba(31,42,68,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(31,42,68,.05) 1px,transparent 1px);background-size:22px 22px}.stage-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.plan{display:grid;place-items:center;min-height:180px}.plan-svg{width:100%;height:auto;max-height:62vh;display:block}.dims line{stroke:var(--ink);stroke-width:1.3;vector-effect:non-scaling-stroke}.dims text{fill:var(--ink);font-family:var(--display);font-weight:750}.pc{cursor:pointer;transition:opacity .2s}.has-sel .pc{opacity:.22}.has-sel .pc.on{opacity:1;stroke:var(--ink)!important;stroke-width:2.6px!important;vector-effect:non-scaling-stroke}.pc.lay{animation:place .42s cubic-bezier(.2,.9,.3,1.15) both;animation-delay:var(--d, 0ms);transform-box:fill-box;transform-origin:center}@keyframes place{0%{opacity:0;transform:translateY(-18px) scale(.9)}to{opacity:1;transform:none}}.plan-empty{padding:30px;text-align:center}.legend{list-style:none;display:flex;gap:14px;flex-wrap:wrap;margin:8px 0 4px;padding:0;font-size:.82rem;color:var(--ink2)}.legend li{display:flex;align-items:center;gap:6px}.key{display:inline-block;width:16px;height:16px;border-radius:3px;border:1.5px solid #5a4b38;background:#eadcc2;vertical-align:-3px;margin-right:4px}.key.cut{border-color:var(--clay-d);background:repeating-linear-gradient(135deg,#e6b596 0 3px,var(--clay-d) 3px 4px)}.key.joint{background:#8b7f70;border-color:#6d6256}.info{margin:2px 0;font-weight:650;font-size:.9rem;min-height:1.4em}.change{margin:4px 0 0;padding:8px 12px;background:#55633a1f;border-radius:10px;font-size:.88rem}.change:empty{display:none}.buybar{display:none;font-size:.95rem;padding-top:4px}@media(max-width:999px){.buybar{display:block}.plan-svg{max-height:25vh}.stage{padding:8px;max-height:44vh;overflow:hidden}.plan{min-height:120px}.legend,.change,.info{display:none}}.results{display:flex;flex-direction:column;gap:12px}.results:empty{display:none}.blk{background:var(--cream);border:1.5px solid var(--line);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow)}.blk h3{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:6px}.blk h3 small{font:600 .85rem var(--font);color:var(--ink2)}.big{font-size:1rem;margin:0 0 4px}.big strong{font:800 2.3rem var(--display);letter-spacing:-.03em;color:var(--ink);margin-right:4px}.buy .big strong{color:var(--clay-d)}.sub{margin:0 0 6px;color:var(--ink2)}.hint{color:var(--ink2);font-size:.85rem;margin:6px 0 0}dl.two{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0}dl.two div{background:var(--plaster);border-radius:12px;padding:8px 12px}dl.two dt{font-size:.78rem;color:var(--ink2)}dl.two dd{margin:0;font:800 1.6rem var(--display)}table.cuts{width:100%;border-collapse:collapse}.cut-row{-webkit-appearance:none;appearance:none;width:100%;display:flex;align-items:center;gap:10px;background:transparent;border:0;border-bottom:1px solid var(--line);padding:8px 4px;min-height:44px;cursor:pointer;font:600 .92rem var(--font);color:var(--ink);text-align:left}.cut-row b{margin-left:auto}.cut-row[aria-pressed=true]{background:#c98a002e}.hs{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:4px;border:1.5px solid var(--clay-d);background:repeating-linear-gradient(135deg,#e6b596 0 3px,#f3d3be 3px 6px);font:800 .8rem var(--display)}.assume summary{cursor:pointer;font:750 1rem var(--display);min-height:44px;display:flex;align-items:center}.assume ul{margin:6px 0 0;padding-left:20px;color:var(--ink2);font-size:.9rem}.assume li{margin-bottom:4px}.content{background:var(--cream);border-top:1.5px solid var(--line);padding:38px 0 56px}.content .grid{display:grid;gap:26px}.content section{max-width:780px}.content h2{font-size:1.6rem;margin-bottom:10px}.steps-list{display:grid;gap:12px;padding:0;list-style:none;counter-reset:s}.steps-list li{counter-increment:s;background:var(--plaster);border-radius:16px;padding:14px 14px 14px 56px;position:relative}.steps-list li:before{content:counter(s);position:absolute;left:12px;top:12px;width:32px;height:32px;background:var(--ink);color:#fff;display:grid;place-items:center;font:800 1rem var(--display);border-radius:50%}@media(min-width:900px){.steps-list{grid-template-columns:repeat(3,1fr)}.content section{max-width:none}}details.faq{border-bottom:1px solid var(--line)}details.faq summary{cursor:pointer;font-weight:700;padding:10px 0;min-height:44px;display:flex;align-items:center}.site-foot{background:var(--ink);color:#e9e4d8;padding:24px 0;font-size:.9rem}.guide{padding:24px 0 56px}.guide article{max-width:780px;background:var(--cream);border:1.5px solid var(--line);border-radius:22px;padding:clamp(18px,4vw,38px);box-shadow:var(--shadow)}.guide h1{font-size:clamp(1.9rem,5vw,2.8rem);margin-bottom:12px}.guide h2{font-size:1.4rem;margin:24px 0 8px}.callout{background:#f1dcae;border-radius:14px;padding:12px 14px;margin:12px 0}.chooser{min-height:70vh;display:grid;place-items:center;text-align:center;padding:30px 16px}.chooser .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}@media(max-width:560px){.pat small{display:none}.pats{gap:6px}.pat-art{height:70px}.hero h1{font-size:2.1rem}.hero .lead{margin:8px 0 12px}.tag{margin-bottom:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(max-width:560px){.tag{display:none}.cta{flex-wrap:nowrap;gap:8px}.cta .btn.big{flex:1 1 0;padding:12px 10px;font-size:.92rem;min-height:50px}}.sr-only:focus,.sr-only:focus-visible{position:static!important;width:auto;height:auto;clip:auto;overflow:visible;white-space:normal;padding:10px 14px;background:var(--ink);color:#fff;border-radius:8px}.basis{margin:8px 0 2px}.basis .seg button{font-size:.8rem;padding:8px 12px}.results{gap:12px}@media(max-width:999px){html{scroll-padding-top:46vh;scroll-padding-bottom:96px}.steps{padding-bottom:80px}.basis .seg{width:100%}.basis .seg button{flex:1 1 100%;text-align:center;white-space:normal}}
