@font-face{font-family:Sora;src:url('/assets/home/fonts/sora-800.ttf') format('truetype');font-weight:800;font-display:swap}*{box-sizing:border-box}html{background:#f7f6ee;color:#242621;scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;font:16px/1.55 Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #235ad4;outline-offset:5px}::selection{background:#f6d653;color:#242621}.wrap{width:min(1280px,calc(100% - 64px));margin:auto}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px;border-bottom:2px solid #242621}.nav a{display:flex;align-items:center;min-height:44px;font-size:13px;font-weight:700}.nav-links{display:flex;gap:28px}.nav-mark{display:flex;gap:3px;align-items:center}.nav-mark span{font:800 16px/1 Sora,sans-serif;padding:7px 6px;background:#f6d653}.nav-mark span+span{background:#99cde4}.hero{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(270px,1fr);align-items:center;gap:52px;padding:30px 0 32px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.construction{position:relative;isolation:isolate;aspect-ratio:8/3;width:100%;container-type:inline-size}.module{--angle:0deg;position:absolute;left:0;top:0;display:grid;place-items:center;width:calc(var(--w) * 12.5%);height:calc(var(--h) * 33.333333%);transform:translate(calc(var(--x) * 100% / var(--w)),calc(var(--y) * 100% / var(--h))) rotate(var(--angle));transform-origin:50% 50%;transition:transform .7s cubic-bezier(.22,.9,.2,1),width .7s,height .7s,border-radius .7s;background:var(--face);border:2px solid #f7f6ee;box-shadow:inset 0 -7px 0 #00000015;overflow:hidden}.letter{font:800 8cqw/1 Sora,Arial,sans-serif;letter-spacing:-.025em;color:#242621;z-index:2;padding-bottom:5px}.shape{z-index:1;box-shadow:none}.shape.arch{border-radius:100% 100% 0 0}.shape.half-disc{border-radius:0 0 100% 100%}.shape.quarter{border-radius:0 100% 0 0}.shape.bar{border-radius:50% 50% 0 0}.photo{z-index:3;box-shadow:none}.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;filter:saturate(.65)}.hero-text p{font-size:20px;line-height:1.5;max-width:360px;margin:0 0 28px}.hero-text p strong{font-weight:700}.controls{display:flex;align-items:center;gap:14px}.rebuild{display:flex;align-items:center;gap:14px;min-height:48px;border:2px solid #242621;background:#f6d653;color:#242621;padding:9px 20px;font-weight:700;border-radius:0;box-shadow:4px 4px 0 #242621;transition:box-shadow .15s,transform .15s}.rebuild svg{width:21px;height:21px}.rebuild:hover{box-shadow:6px 6px 0 #242621;transform:translate(-2px,-2px)}.rebuild:active{box-shadow:1px 1px 0 #242621;transform:translate(3px,3px)}.reset{min-height:48px;background:none;border:0;padding:9px 14px;text-decoration:underline;text-underline-offset:5px;font-size:14px}.arrangement{display:flex;align-items:center;gap:12px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;margin-top:18px;color:#4d5146}.arrangement svg{width:36px;height:17px;overflow:visible}.arrangement rect{fill:#242621}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:22px;margin:0 0 22px}.section-head h2{font:800 clamp(25px,2.7vw,38px)/1.18 Sora,Arial,sans-serif;letter-spacing:-.04em;margin:0}.section-head a{white-space:nowrap;flex:none;min-height:44px;display:flex;align-items:center;font-size:13px;text-decoration:underline;text-underline-offset:5px}.demo-grid,.framework-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.demo{--board:#f6d653;display:flex;flex-direction:column;background:var(--board);padding:23px 23px 26px;min-width:0;border:2px solid #242621;box-shadow:0 6px 0 #242621;transition:transform .2s,box-shadow .2s;margin-bottom:6px}.demo-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.demo-top h3{font:800 clamp(18px,1.6vw,23px)/1.25 Sora,Arial,sans-serif;letter-spacing:-.035em;margin:0}.demo-top p{font-size:14px;line-height:1.5;margin:7px 0 0}.arrow{display:grid;place-items:center;width:44px;height:44px;flex:none;border:2px solid #242621;background:#f7f6ee;font-size:25px;transition:background-color .2s}.demo-screen{aspect-ratio:3/2;overflow:hidden;background:#fff;border:2px solid #242621;box-shadow:4px 4px 0 #242621;margin-top:auto}.demo-screen img{display:block;width:100%;height:100%;object-fit:cover}@media(hover:hover) and (pointer:fine){.framework:hover .diagram{transform:translateY(-3px)}}.frameworks{padding-top:55px}.framework{display:flex;flex-direction:column;border:2px solid #242621;padding:28px;background:#e1daef;min-width:0}.framework:nth-child(2){background:#d7e8d5}.diagram{display:flex;align-items:center;justify-content:center;height:205px;margin:0 0 25px;transition:transform .25s}.ladder{display:flex;flex-direction:column;gap:5px;list-style:none;margin:0;padding:0;max-width:380px;width:100%}.ladder li{display:flex;align-items:center;justify-content:space-between;border:2px solid #242621;background:#f7f6ee;font-size:12px;padding:5px 12px;font-weight:700;line-height:1.35}.ladder li span{font-size:11px;font-weight:400}.ladder li:nth-child(2){margin-left:20px}.ladder li:nth-child(3){margin-left:40px}.ladder li:nth-child(4){margin-left:60px}.ladder li:nth-child(5){margin-left:80px;background:#f6d653}.proof{display:flex;align-items:center;justify-content:center;gap:10px;width:100%}.proof span{display:grid;place-items:center;width:76px;aspect-ratio:1;font-size:13px;font-weight:700;border:2px solid #242621;background:#f7f6ee;box-shadow:0 5px 0 #242621;flex:none}.proof span:nth-of-type(2){background:#f6d653}.proof span:nth-of-type(3){background:#99cde4}.proof span:nth-of-type(4){background:#f3b0c6}.proof i{font-style:normal;font-size:19px}.framework .demo-top{margin:0}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:2px solid #242621;margin-top:48px;padding:25px 0 35px}.footer strong{font:800 20px/1.3 Sora,Arial,sans-serif;letter-spacing:-.03em}.footer a{min-height:44px;display:flex;align-items:center;font-size:13px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1080px){.wrap{width:calc(100% - 48px)}.hero{gap:28px;grid-template-columns:minmax(0,1.65fr) minmax(230px,1fr);padding:30px 0}.hero-text p{font-size:17px;margin-bottom:20px}.proof{gap:7px}.proof span{width:57px;font-size:11px}.proof i{font-size:13px}.framework{padding:22px}.demo{padding:20px}.demo-top h3{font-size:19px}.demo-top p{font-size:13px}}
@media(max-width:800px){.hero{gap:24px;grid-template-columns:1fr;padding:26px 0 30px}.construction{width:min(100%,620px);margin-inline:auto}.hero-text{display:flex;align-items:center;justify-content:space-between;gap:28px}.hero-text p{max-width:340px;margin:0;font-size:16px}.control-box{flex:none}.arrangement{margin-top:14px}.demo-grid,.framework-grid{gap:20px}.demo{padding:18px}.demo-top h3{font-size:18px}.demo-top{gap:10px}.demo-top p{font-size:13px}.arrow{width:42px;height:42px;font-size:23px}.proof{gap:4px}.proof span{width:47px;font-size:10px}.proof i{font-size:12px}.framework{padding:20px}.framework .demo-top{align-items:flex-start}.framework .demo-top h3{font-size:17px}}
@media(max-width:680px){.wrap{width:calc(100% - 28px)}.nav{min-height:60px;gap:14px}.nav-mark{display:none}.nav-links{gap:16px}.nav a{font-size:12px}.hero{padding:24px 0 31px;gap:26px}.module{border-width:1px;box-shadow:inset 0 -4px 0 #00000015}.shape{box-shadow:none}.hero-text{display:block}.hero-text p{font-size:15px;max-width:330px;margin:0 0 18px;line-height:1.55}.control-box{display:flex;align-items:center;justify-content:space-between;gap:16px}.controls{gap:5px}.rebuild{min-height:46px;font-size:14px;padding:8px 15px;gap:10px}.reset{min-height:46px;font-size:12px;padding:8px 10px}.arrangement{display:block;text-align:right;font-size:11px;line-height:1.5;margin:0}.arrangement svg{display:block;margin:0 0 5px auto}.section-head{margin-bottom:16px;gap:12px}.section-head h2{font-size:25px}.section-head a{font-size:12px}.demo-grid,.framework-grid{grid-template-columns:1fr;gap:20px}.demo{padding:18px 18px 22px}.demo-top{margin-bottom:18px;gap:14px}.demo-top h3{font-size:19px}.demo-top p{font-size:13px}.demo-screen{box-shadow:3px 3px 0 #242621}.arrow{width:40px;height:40px}.frameworks{padding-top:37px}.framework{padding:22px}.framework .demo-top h3{font-size:18px}.diagram{height:205px;margin-bottom:20px}.proof{gap:6px}.proof span{width:54px;font-size:11px}.proof i{font-size:12px}.footer{margin-top:34px;padding-top:22px}.footer strong{font-size:17px}}
@media(max-width:380px){.demo-top h3{font-size:18px}.proof{gap:5px}.proof span{width:50px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.demo:hover,.framework:hover .diagram{transform:none}}

:root{--paper:#f7f6ee;--ink:#242621;--yellow:#fbd54d;--ease:cubic-bezier(.22,.85,.25,1)}
.wrap{width:min(1280px,calc(100% - 64px))}.nav{border-bottom:1px solid #24262130;min-height:76px}.nav-mark span{border-radius:3px;transform:rotate(-7deg)}.nav-mark span+span{transform:rotate(7deg)}
.hero{display:block;padding:46px 0 44px}.hero-stage{display:grid;grid-template-columns:minmax(0,1fr) 236px;gap:46px;align-items:center}.construction{width:100%;max-width:none;aspect-ratio:8/3;margin:0;position:relative;isolation:isolate;container-type:inline-size;overflow:visible}
.module{border:0;padding:0;background:none;overflow:visible;box-shadow:none;transition:transform .68s var(--ease),width .68s var(--ease),height .68s var(--ease);color:var(--ink);border-radius:5px;z-index:2;touch-action:pan-y;}
.module .face{position:absolute;inset:2px 2px 5px;display:grid;place-items:center;background:var(--face);border:1px solid #24262118;border-radius:5px;overflow:hidden;box-shadow:inset 0 2px 0 #ffffff65,inset 0 -5px 0 #24262116,0 3px 0 color-mix(in srgb,var(--face),#242621 24%);transition:transform .24s var(--ease),opacity .24s,box-shadow .24s;transform-origin:25% 80%;font:800 8.5cqw/1 Sora,Arial,sans-serif;letter-spacing:-.06em;padding-bottom:3px}
.module .face::after{content:'';position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff15;pointer-events:none}.module .remove-mark{position:absolute;top:6px;right:7px;font:16px/1 Arial;color:var(--ink);opacity:0;transition:opacity .15s;}
.module.arch .face{border-radius:100% 100% 4px 4px}.module.half-disc .face{border-radius:4px 4px 100% 100%}.module.quarter .face{border-radius:4px 100% 4px 4px}.module.bar .face{border-radius:100% 100% 4px 4px}.module.photo .face{border-radius:50%;padding:0;border:4px solid var(--paper);box-shadow:0 3px 0 #24262122}.module.photo img{filter:none;object-position:50% 35%;pointer-events:none}.module.shape{z-index:1}.module.photo{z-index:3}.module:focus-visible{outline:3px solid #235ad4;outline-offset:2px;z-index:5}
.module.removed{pointer-events:none;visibility:hidden}.module.removed .face{opacity:0;transform:translate(0,-13px) rotate(-8deg) scale(.85)}
.socket{position:absolute;left:0;top:0;width:calc(var(--w)*12.5%);height:calc(var(--h)*33.333333%);transform:translate(calc(var(--x)*100%/var(--w)),calc(var(--y)*100%/var(--h)));transition:transform .68s var(--ease),width .68s var(--ease),height .68s var(--ease);z-index:0;pointer-events:none;opacity:0}.socket::after{content:'';position:absolute;inset:5px;border:1px dashed #24262140;border-radius:5px;background:#24262104}.socket.visible{opacity:1}.socket.arch::after{border-radius:100% 100% 4px 4px}.socket.half-disc::after{border-radius:4px 4px 100% 100%}.socket.bar::after{border-radius:100% 100% 4px 4px}.socket.quarter::after{border-radius:4px 100% 4px 4px}.socket.photo::after{border-radius:50%}
.hero-text{display:block;align-self:center}.hero-text p{font-size:23px;line-height:1.42;letter-spacing:-.025em;margin:0 0 30px;max-width:236px}.hero-text .hint{font:14px/1.5 Arial,sans-serif;letter-spacing:0;margin:0;max-width:180px;color:#51534c}.hint svg{display:block;width:54px;height:37px;margin-bottom:12px;transform:rotate(-7deg)}
.workbench{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #24262130;margin-top:28px;padding-top:16px}.build-controls{display:flex;align-items:center;gap:16px;flex:none}.layouts{display:flex;gap:4px;padding:4px;background:#e9e8df;border:1px solid #24262125;border-radius:10px}.layout{background:transparent;border:1px solid transparent;color:var(--ink);min-height:44px;padding:7px 11px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:700;transition:background .15s,box-shadow .15s}.layout svg{width:24px;height:19px;fill:currentColor}.layout[aria-pressed=true]{background:#fffef9;border-color:#24262135;box-shadow:0 2px 0 #24262118}.reset{display:flex;align-items:center;gap:7px;font-size:12px;min-height:44px;padding:8px 5px;text-decoration:none}.reset svg{width:17px;height:17px}.reset:hover{text-decoration:underline}.parts-area{min-width:0;flex:1;display:flex;align-items:center;gap:12px;justify-content:flex-end}.parts-label{font-size:11px;color:#51534c;flex:none;line-height:1.4}.parts-label span{display:block}.parts-tray{display:flex;align-items:center;gap:5px;padding:5px 7px;border:1px dashed #24262138;border-radius:8px;min-height:58px;min-width:158px;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;background:#eeede5;scrollbar-width:thin}.tray-empty{font-size:12px;color:#5a5d53;white-space:nowrap;display:block;margin:0 auto}.part{width:44px;height:44px;flex:none;position:relative;display:grid;place-items:center;background:var(--face);border:1px solid #24262130;border-radius:4px;box-shadow:inset 0 -3px 0 #24262116,0 1px 1px #24262110;transform:rotate(var(--tilt));font:800 23px/1 Sora,Arial,sans-serif;color:var(--ink);padding:0;overflow:hidden;transition:transform .2s}.part.arch{border-radius:50% 50% 3px 3px}.part.half-disc{border-radius:3px 3px 50% 50%}.part.photo{border-radius:50%}.part img{width:100%;height:100%;object-fit:cover}.part.shape:not(.photo)::after{content:'+';font:21px/1 Arial}.part.photo::after{content:none}.part:focus-visible{outline-offset:0}.part:hover{transform:rotate(0) translateY(-2px)}
.demo{border:1.5px solid var(--ink);border-radius:12px;padding:22px;background:color-mix(in srgb,var(--board),var(--paper) 62%);box-shadow:0 4px 0 var(--ink);transition:background-color .16s,transform .16s,box-shadow .16s}.demo-top{margin-bottom:20px}.demo-top h3{font-size:22px}.demo-top p{font-size:13px}.demo-screen{border:1px solid #24262170;box-shadow:none;border-radius:5px}.arrow{border-width:1.5px;border-radius:50%;background:var(--board);width:42px;height:42px;font-size:24px;transition:background-color .16s,color .16s}.section-head{margin-bottom:20px}.section-head h2{font-size:32px}.framework{border:1.5px solid var(--ink);border-radius:12px;background:#e7e0ef}.framework:nth-child(2){background:#e0ebd8}.framework .arrow{background:var(--paper)}.footer{border-width:1px}.skip{position:absolute;top:-80px;background:var(--paper);padding:10px;z-index:50}.skip:focus{top:8px}
@media(hover:hover) and (pointer:fine){.module:not(.removed):hover{z-index:6}.module:not(.removed):hover .face{transform:translateY(-5px) rotate(-2deg);box-shadow:inset 0 2px 0 #ffffff65,inset 0 -5px 0 #24262116,0 4px 0 color-mix(in srgb,var(--face),#242621 24%),0 10px 10px #24262114}.module:hover .remove-mark,.module:focus-visible .remove-mark{opacity:.65}.demo:hover{background:color-mix(in srgb,var(--board),var(--paper) 15%);transform:translateY(-3px);box-shadow:0 0 0 2px var(--ink),0 8px 0 var(--ink)}.demo:hover .arrow{background:var(--ink);color:var(--paper)}}
.demo:focus-visible{background:color-mix(in srgb,var(--board),var(--paper) 15%);transform:translateY(-3px);box-shadow:0 0 0 2px var(--ink),0 8px 0 var(--ink)}
.demo:focus-visible .arrow{background:var(--ink);color:var(--paper)}
@media(prefers-reduced-motion:reduce){.demo:hover,.demo:focus-visible{transform:none}}
.module:active .face{transform:translateY(-7px) rotate(-4deg)}
@media(max-width:1080px){.wrap{width:calc(100% - 48px)}.hero-stage{grid-template-columns:minmax(0,1fr) 196px;gap:30px}.hero-text p{font-size:20px}.hero-text .hint{font-size:13px}.hero{padding-top:34px}.workbench{gap:14px}.build-controls{gap:12px}.layout{padding:7px 9px}.parts-label{display:none}.demo-top h3{font-size:19px}.demo{padding:20px}}
@media(max-width:800px){.hero-stage{grid-template-columns:1fr;gap:20px}.construction{width:100%;max-width:none}.hero-text{display:flex;align-items:center;justify-content:space-between;gap:30px}.hero-text p{font-size:18px;max-width:330px;margin:0}.hero-text .hint{max-width:185px;display:flex;align-items:center;gap:12px;flex:none;font-size:12px}.hint svg{transform:rotate(80deg);flex:none;width:34px;height:28px;margin:0}.workbench{margin-top:20px;flex-wrap:wrap}.build-controls{width:100%;justify-content:space-between}.parts-area{justify-content:flex-start;flex-basis:100%;gap:12px}.parts-label{display:block}.parts-tray{flex:1;min-width:0}.hero{padding-bottom:32px}.section-head h2{font-size:28px}.demo-top h3{font-size:18px}.demo{padding:18px}}
@media(max-width:680px){.wrap{width:calc(100% - 32px)}.nav{min-height:64px}.nav-mark{display:none}.hero{padding:25px 0 29px}.hero-stage{gap:22px}.construction{width:calc(100% + 16px);margin-inline:-8px}.module .face{inset:1px 1px 4px;border-radius:3px;font-size:8.5cqw;box-shadow:inset 0 1px 0 #ffffff65,inset 0 -3px 0 #24262116,0 2px 0 color-mix(in srgb,var(--face),#242621 24%)}.module.photo .face{border-width:2px}.module .remove-mark{display:none}.hero-text{display:block}.hero-text p{font-size:17px;max-width:330px;line-height:1.4;margin:0 0 11px}.hero-text .hint{font-size:12px;max-width:none;display:block;margin:0}.hint svg{display:none}.workbench{margin-top:18px;gap:11px;padding-top:12px}.build-controls{gap:10px}.layout{font-size:11px;gap:5px;padding:5px 7px}.layout svg{width:20px}.layouts{padding:3px;gap:2px}.reset{font-size:11px;gap:5px}.parts-label{font-size:10px}.parts-tray{min-height:56px}.section-head{margin-bottom:15px}.section-head h2{font-size:26px}.demo{padding:16px;border-radius:9px}.demo-top{margin-bottom:16px}.demo-top h3{font-size:19px}.demo-top p{font-size:12px}.demo-screen{border-radius:4px}.arrow{width:38px;height:38px;font-size:22px}.demo-grid{gap:20px}.framework{border-radius:9px}.framework .demo-top h3{font-size:18px}.footer{margin-top:36px}}
@media(max-width:360px){.layout{padding:5px}.layout svg{width:17px}.reset{font-size:10px}.module{min-width:0}.proof{gap:3px}.proof span{width:43px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.module,.socket,.module .face,.part{transition:none!important}.module:hover .face,.module:active .face,.part:hover{transform:none!important}html{scroll-behavior:auto}}

[hidden]{display:none!important}.module{transition:transform .68s var(--ease),width .68s var(--ease),height .68s var(--ease),visibility 0s .24s}.module:not(.removed){transition-delay:0s}.nav-mark{gap:0;font-size:13px;font-weight:700}.nav-mark span{display:none}

.mobile-name{display:none}.flying-part{position:fixed;display:grid;place-items:center;z-index:50;pointer-events:none;transform-origin:center;overflow:hidden;box-sizing:border-box}.flying-part img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}.flying-part .remove-mark{display:none}.module.in-flight .face{opacity:0!important}
@media(max-width:680px){.desktop-back{display:none}.mobile-name{display:inline}}

/* One aligned control panel beside the construction. */
.hero{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(290px,1fr);gap:52px;align-items:center;padding:34px 0 36px}
.construction{grid-column:auto;grid-row:auto}
.hero-panel{min-width:0;display:grid;gap:20px}
.hero-panel .hero-text{display:block;align-self:auto}
.hero-panel .intro-copy{max-width:340px;margin:0;font-size:22px;line-height:1.42;letter-spacing:-.025em;text-wrap:pretty}
.hero-panel .workbench{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:10px;margin:0;padding:12px;min-width:0;background:#eeede5;border:1px solid #24262124;border-radius:13px}
.hero-panel .build-controls{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;width:100%;min-width:0}
.hero-panel .layouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:0;border:0;border-radius:0;background:none;min-width:0}
.hero-panel .layout{min-width:0;min-height:44px;padding:6px;font-size:11px;gap:6px;border-radius:7px}
.hero-panel .layout svg{width:20px;height:18px;flex:none}
.hero-panel .reset{display:grid;place-items:center;width:44px;min-height:44px;padding:0;border:1px solid transparent;border-radius:7px;color:var(--ink);text-decoration:none}
.hero-panel .reset svg{width:18px;height:18px}
.hero-panel .parts-area{display:block;min-width:0}
.hero-panel .parts-tray{width:100%;min-width:0;min-height:58px;gap:7px;padding:6px 8px;background:var(--paper);border:1px solid #24262120;border-radius:8px}
.hero-panel .tray-empty{font-size:11px;color:#65675f}
.bench-help{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:20px;padding:0 2px}
.bench-help .hint{margin:0;font:11px/1.5 Arial,sans-serif;color:#51534c;letter-spacing:0}
@media(hover:hover){.hero-panel .layout:hover:not([aria-pressed=true]),.hero-panel .reset:hover{background:#ffffff80}}
@media(min-width:801px) and (max-width:1080px){.hero{column-gap:28px;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr)}.hero-panel .intro-copy{font-size:19px;max-width:290px}.hero-panel .layout{font-size:10px;gap:4px;padding:5px}.hero-panel .layout svg{width:18px}}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:24px;padding:26px 0 32px}.hero-panel{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:center}.hero-panel .intro-copy{font-size:20px}.hero-panel .workbench{padding:10px}}
@media(max-width:680px){.hero{padding:25px 0 29px;gap:22px}.hero-panel{grid-template-columns:1fr;gap:18px}.hero-panel .intro-copy{max-width:330px;font-size:17px}.hero-panel .workbench{gap:9px}.hero-panel .parts-tray{min-height:56px}}

.module,.part{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}.module img,.part img{pointer-events:none}.module.drag-source .face,.part.drag-source{opacity:0!important}.drag-piece{position:fixed;display:grid;place-items:center;z-index:100;pointer-events:none;transform-origin:center;overflow:hidden;box-sizing:border-box;box-shadow:0 12px 18px #24262124;will-change:transform}.drag-piece img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}.drag-piece .remove-mark{display:none}.construction.drag-target{outline:2px dashed #24262150;outline-offset:7px;border-radius:4px}.parts-tray.drag-target{border-style:solid;border-color:#242621;background:#f7e59b}.module:focus-visible{z-index:2147483640!important}.move-toggle{display:none;align-items:center;justify-content:center;gap:6px;min-height:44px;border:1px solid #24262155;border-radius:6px;background:var(--paper);color:var(--ink);padding:7px 12px;font:700 12px Arial,sans-serif;flex:none}.move-toggle svg{width:16px;height:16px}.move-toggle[aria-pressed=true]{background:var(--yellow);border-color:var(--ink)}.mobile-drag-hint{display:none}.touch-moving .module,.touch-moving .part{touch-action:none}.drag-piece .remove-mark{display:none}
@media(max-width:800px),(pointer:coarse){.move-toggle{display:inline-flex}.hero-text .hint{display:flex;align-items:center;justify-content:space-between;max-width:none;gap:12px}.hint svg:not(.move-icon){display:none}.desktop-drag-hint{display:none}.mobile-drag-hint{display:inline}.hero-text{display:block}.hero-text p{max-width:330px;margin-bottom:11px}.hero-text .hint{margin-bottom:0}}

.hint .move-icon{display:block;width:16px;height:16px;margin:0;transform:none}
    [hidden]{display:none!important}.chat-launcher{position:fixed;right:24px;bottom:24px;z-index:20;display:grid;place-items:center;width:54px;height:54px;border:1.5px solid var(--ink);border-radius:50%;color:var(--ink);background:var(--yellow);box-shadow:0 6px 24px #24262120;transition:transform .3s var(--bounce)}.chat-launcher:hover{transform:rotate(-10deg) scale(1.08)}.chat-launcher svg{width:23px;height:23px}.chat-launcher .close-icon{display:none}.chat-launcher[aria-expanded=true] .chat-icon{display:none}.chat-launcher[aria-expanded=true] .close-icon{display:block}
    .chat-panel{position:fixed;right:24px;bottom:92px;z-index:19;display:grid;grid-template-rows:auto minmax(150px,1fr) auto;width:360px;height:min(520px,calc(100dvh - 116px));border:1px solid #595263;border-radius:16px;background:#fffef9;box-shadow:0 20px 80px #24262120;overflow:hidden}.chat-header{padding:22px;border-bottom:1px solid #d1d0c7}.chat-title{font-size:19px}.chat-person{color:#51534c;font-size:12px}.chat-messages{overflow:auto;padding:20px;overscroll-behavior:contain}.chat-bubble{font-size:13px;line-height:1.6;padding:10px 12px;margin-bottom:12px;background:#eee9f5;border-radius:10px;max-width:90%;overflow-wrap:anywhere}.chat-bubble.visitor{margin-left:auto;background:#f7e59b;color:#16101f}.chat-compose{border-top:1px solid #d1d0c7;padding:14px}.chat-input-row{display:flex;align-items:center;gap:8px;border:1px solid #656170;border-radius:9px;padding:6px 8px 6px 12px}.chat-input-row input,.chat-input-row textarea{border:0;min-width:0;width:100%;background:transparent;color:var(--ink);resize:none;font-size:13px;padding:6px 0}.chat-input-row input::placeholder,.chat-input-row textarea::placeholder{color:#51534c}.chat-input-row:focus-within{border-color:#b4a1e5}.chat-send{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;background:#b4a1e5;color:var(--paper);border-radius:7px}.chat-send svg{width:18px;height:18px}.chat-send:disabled{opacity:.5}.chat-status{font-size:11px;color:#51534c;min-height:18px;margin-top:6px}.chat-name-actions{text-align:right}.chat-skip{font-size:12px;color:#51534c;border:0;background:transparent;min-height:44px;padding:0 4px}

/* Site navigation and the existing contact surface. */
.site-brand{font-family:Sora,Arial,sans-serif;font-weight:800}.nav-mark{display:none}.nav .contact-link{font-weight:400}.footer{align-items:flex-start}.footer-social{display:flex;flex-wrap:wrap;gap:0 20px}.footer-social{margin-top:6px}.footer a{font-size:12px}.copyright{font-size:11px;color:#51534c}.footer-name{font:800 20px/1.3 Sora,Arial,sans-serif;letter-spacing:-.035em}.chat-title{font:800 19px/1.3 Sora,Arial,sans-serif;margin:0 0 5px}.chat-bubble{color:var(--ink)}.chat-launcher{z-index:30}.chat-panel{z-index:29}.proof-diagram{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}.proof-first{font-size:12px;font-weight:700;border-bottom:1px solid var(--ink);padding:0 0 6px}.chat-header{padding:20px}.chat-person{font-size:12px}
@media(max-width:680px){.nav{gap:10px}.nav-links{gap:14px}.nav .contact-link{display:none}.site-brand{font-size:12px}.footer{display:block;padding-bottom:92px}.chat-launcher{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.chat-panel{right:12px;width:calc(100% - 24px);bottom:84px}.chat-input-row input,.chat-input-row textarea{font-size:16px}.proof-diagram{gap:20px}.proof span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.chat-launcher:hover{transform:none}}


.chat-input-row input,.chat-input-row textarea{font-family:Arial,sans-serif}.chat-send{color:var(--ink)}
