/* Warm, tactile details and controls anchored to the illustrated workshop. */
.brand-logo{width:62px;height:62px;object-fit:contain;border-radius:50%;box-shadow:0 0 0 1px #f5e1bd55}.site-header{padding-top:15px;padding-bottom:15px}.bench-scene{--art-size:222px;bottom:-96px}.tool-art{width:var(--art-size,240px)}:root{--radius:314px}.tool{width:176px}.tool-preview{min-height:72px}.contact-mark{border:0;padding:0;background:transparent;box-shadow:none;overflow:visible}.contact-mark img{width:100%;height:auto;display:block;border-radius:50%;box-shadow:0 0 0 10px #dab27616,0 25px 60px #0e070580;transition:transform .4s}.contact-mark:hover img{transform:rotate(-4deg) scale(1.025)}.contact-mark small{display:block;position:absolute;left:0;right:0;bottom:-40px;font-size:13px;letter-spacing:0;color:#b89b76;font-family:Arial,sans-serif}.contact-tip label{display:flex;gap:10px;align-items:center;cursor:pointer;padding:6px 0}.contact-tip input{accent-color:var(--amber);width:17px;height:17px}.contact-tip p{font-size:12px;margin:7px 0}.contact-tip .secondary-button{align-self:flex-start;margin-top:8px}.visually-hidden{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.live-workshop{margin:0 0 50px;border:1px solid #d9b67445;background:#21170ef2;border-radius:6px;overflow:hidden}.workshop-toolbar{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 28px}.workshop-toolbar .eyebrow{margin-bottom:7px;font-size:11px}.workshop-toolbar p{margin:0;font-size:14px}.workshop-toolbar button{white-space:nowrap;font-size:12px;padding:10px 15px}.workshop-scene{position:relative;aspect-ratio:1672/941;overflow:hidden;isolation:isolate;background:#1b1009;--scene-brightness:.65}.scene-image{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(var(--scene-brightness));transition:filter 1s}.lights-on{--scene-brightness:1}.scene-night{position:absolute;inset:0;background:#141b3044;pointer-events:none;opacity:1;transition:opacity 1s}.lights-on .scene-night{opacity:0}.light-beam{position:absolute;top:10%;width:42%;height:72%;background:radial-gradient(ellipse at 50% 0%,#ffc36c50,transparent 70%);mix-blend-mode:screen;pointer-events:none;opacity:0;transition:opacity 1s;animation:lamp-breathe 6s ease-in-out infinite}.light-left{left:7%}.light-right{left:50%;animation-delay:-2s}.lights-on .light-beam{opacity:1}.workshop-scene::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -60px 80px #150a0955;z-index:3}.workshop-hotspot{position:absolute;z-index:5;border:1px solid #f9d99570;background:#231708ed;color:#f7e0bc;padding:9px 13px;font-size:13px;line-height:1.4;border-radius:5px;box-shadow:0 4px 22px #09030055;white-space:nowrap;transition:border-color .2s,background .2s,transform .2s}.workshop-hotspot:hover{background:#6b461eee;border-color:#ffe0a0;transform:translateY(-3px)}.workshop-hotspot>span{color:#f3c674;margin-right:5px}.workshop-hotspot small{font:9px monospace;letter-spacing:1px;color:#b39979;margin-left:6px}.workshop-hotspot[aria-pressed=true]{border-color:#ebc079;background:#714c25f2}.workshop-hotspot[aria-pressed=true] small{color:#b7e2a0}.hotspot-lights{left:42%;top:6%}.hotspot-drill{left:5%;top:76%}.hotspot-saw{right:3%;top:80%}.hotspot-radio{right:13%;top:33%}.hotspot-bench{left:39%;top:56%}.hotspot-carpenter{left:52%;bottom:5%}.workshop-under{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:18px 28px}.workshop-under p{margin:0;font-size:14px;color:#e7c18c}.workshop-under>span{font-size:11px;color:#a38b6b;max-width:240px;text-align:right}.workshop-story{align-items:start}.workshop-quote{padding:35px 28px;border-left:2px solid #d4a96470;background:linear-gradient(100deg,#b1873520,transparent)}.workshop-quote h3{font-size:40px;margin-bottom:30px}.workshop-copy h3{font-size:28px}.machine-patch{position:absolute;background-image:url('assets/interactive-workshop.png');background-repeat:no-repeat;pointer-events:none;filter:brightness(var(--scene-brightness));transition:filter 1s;opacity:0}.patch-drill{left:7%;top:26%;width:16%;height:55%;background-size:625% 181.818%;background-position:8.333% 57.778%}.patch-saw{left:70%;top:46%;width:30%;height:36%;background-size:333.333% 277.778%;background-position:100% 71.875%}.drill-on .patch-drill,.saw-on .patch-saw{opacity:1;animation:machine-rumble .09s linear infinite}.radio-equalizer{position:absolute;right:14.5%;top:24%;display:flex;gap:3px;height:20px;align-items:end;opacity:0;pointer-events:none}.radio-equalizer i{display:block;width:3px;height:12px;background:#f6d181;animation:radio-bars .7s ease-in-out infinite}.radio-equalizer i:nth-child(2){animation-delay:-.22s;height:18px}.radio-equalizer i:nth-child(3){animation-delay:-.4s;height:15px}.radio-equalizer i:nth-child(4){animation-delay:-.65s;height:8px}.radio-on .radio-equalizer{opacity:1}.wood-specks{position:absolute;left:39%;top:49%;width:23%;height:11%;pointer-events:none;opacity:0}.wood-specks i{position:absolute;left:40%;top:15%;width:7px;height:3px;background:#edc281;animation:wood-fly 1.4s linear infinite;animation-delay:calc(var(--i,0)*-.17s)}.wood-specks i:nth-child(2){--i:1}.wood-specks i:nth-child(3){--i:2}.wood-specks i:nth-child(4){--i:3}.wood-specks i:nth-child(5){--i:4}.wood-specks i:nth-child(6){--i:5}.wood-specks i:nth-child(7){--i:6}.wood-specks i:nth-child(8){--i:7}.planing .wood-specks{opacity:1}.planing .scene-carpenter{animation:carpenter-plane .55s ease-in-out infinite}.scene-carpet-shadow{position:absolute;left:38%;bottom:3%;width:20%;height:4%;border-radius:50%;background:#10090477;filter:blur(7px)}
.carpenter-sprite{display:block;aspect-ratio:1;background:url('assets/carpenter-sprite-atlas.png') 0% 0%/300% 200% no-repeat;--pose-col:0%;--pose-row:0%;background-position:var(--pose-col) var(--pose-row);animation:carpenter-idle 3.5s ease-in-out infinite;transform-origin:50% 90%;filter:drop-shadow(0 8px 7px #0a040155)}.carpenter-sprite[data-pose=wave]{--pose-col:50%;animation:carpenter-wave 1s ease-in-out infinite}.carpenter-sprite[data-pose=talk]{--pose-col:100%;animation:carpenter-talk .6s ease-in-out infinite}.carpenter-sprite[data-pose=think]{--pose-row:100%;animation:carpenter-think 2.4s ease-in-out infinite}.carpenter-sprite[data-pose=approve]{--pose-col:50%;--pose-row:100%;animation:carpenter-nod 1.1s ease-in-out infinite}.carpenter-sprite[data-pose=point]{--pose-col:100%;--pose-row:100%;animation:carpenter-nod 1.6s ease-in-out infinite}.scene-carpenter{position:absolute;left:38%;bottom:5%;width:22%;z-index:4}
.gallery-controls{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:24px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.gallery-controls .eyebrow{font-size:10px;margin-bottom:4px}.gallery-controls p{font-size:14px;margin:0}.gallery-controls>div:last-child{display:flex;gap:8px}.gallery-controls button,.drawing-tabs button{font-size:12px;padding:8px 13px;background:#261c14;color:#c5aa87;border:1px solid #b7905544;border-radius:3px}.gallery-controls button[aria-pressed=true],.drawing-tabs button[aria-pressed=true]{color:#f8d098;border-color:#d1a15e;background:#5b3f25}.furniture-gallery[data-light=day] .furniture-art{filter:brightness(1.13) saturate(.76)}.furniture-gallery[data-light=night] .furniture-art{filter:brightness(.57) saturate(.78)}.space-planner{padding-top:25px;margin-top:30px;border-top:1px solid var(--line)}.space-planner label{display:flex;justify-content:space-between;gap:20px;font-size:14px;color:#edc997}.space-planner output{font:12px monospace;white-space:nowrap}.space-planner input{width:100%;accent-color:#d5a55f;margin:14px 0;cursor:ew-resize}.space-ruler{height:22px;border:1px solid #cfac6b40;background:repeating-linear-gradient(90deg,transparent 0,transparent 9px,#cfa36a50 9px,#cfa36a50 10px);overflow:hidden}.space-ruler span{display:block;width:48%;height:100%;background:#cb924955;transition:width .16s}.space-planner p{font-size:12px;margin-top:12px;line-height:1.7}.space-planner .secondary-button{font-size:12px;padding:10px 14px}
.measurement-drawing{margin:24px 0 0;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.drawing-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:14px}.measurement-drawing svg{display:block;width:100%;max-height:230px;background:#1b1912;border:1px solid #deb16f28;border-radius:3px}#drawing-shape{fill:#b4834933;stroke:#ddbc7e;stroke-width:1.5;transition:all .25s}#drawing-dimensions{fill:none;stroke:#be9865;stroke-width:1;stroke-dasharray:2 2}.measurement-drawing text{fill:#e0bb7e;font:12px monospace}.measurement-drawing>small{display:block;font-size:10px;color:#a89070;margin:10px 0 0}.finish-preview{--original-width:35%;--split-left:35%}.finish-preview #finish-original{position:absolute;inset:0;filter:none;clip-path:inset(0 calc(100% - var(--original-width)) 0 0);pointer-events:none}.finish-split{position:absolute;left:var(--split-left);top:0;bottom:0;border-left:2px solid #f7d29b;box-shadow:0 0 6px #f4c87888;pointer-events:none}.finish-split::after{content:'↔';position:absolute;top:44%;left:-17px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#422b18;color:#f1cd96;border:1px solid #f1cd9677;font:17px Arial}.finish-compare-label{display:block;font-size:13px;color:#d7ba95;margin-bottom:7px}#finish-compare{display:block;width:100%;accent-color:#d5a55f;cursor:ew-resize;margin:0 0 17px}.finish-copy>.secondary-button{margin-bottom:29px;font-size:12px;padding:10px 16px}.brushing .finish-split::after{background:#be8848;color:#23180e;box-shadow:0 0 24px #e1bb7999}
.carpenter-guide{position:fixed;right:24px;bottom:22px;z-index:50;isolation:isolate}.guide-launcher{position:relative;width:138px;text-align:center;display:flex;flex-direction:column;align-items:center}.carpenter-button{width:132px;padding:0;background:none;border:0;margin-bottom:-3px}.carpenter-button .carpenter-sprite{width:100%}#guide-open{padding:8px 12px;font-size:12px;line-height:1.3;background:#332111f2;border:1px solid #dfb97688;border-radius:20px;color:#f1cea0;white-space:nowrap;box-shadow:0 4px 20px #05020066}#guide-open>span{color:#e8b575;margin-left:4px}#guide-hide{position:absolute;right:-5px;top:0;width:26px;height:26px;border:1px solid #c39a5e77;border-radius:50%;color:#eac992;background:#25180def;font-size:17px}#guide-show{background:#30200ef2;color:#e6c797;border:1px solid #bb955d77;border-radius:22px;padding:10px 14px;font-size:12px}#guide-panel{position:absolute;right:0;bottom:165px;width:350px;max-height:min(560px,calc(100svh - 225px));overflow:hidden;display:flex;flex-direction:column;background:#23190ff5;border:1px solid #d1a35e88;border-radius:10px;box-shadow:0 25px 80px #040200aa;backdrop-filter:blur(20px)}.guide-panel-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 20px 12px;border-bottom:1px solid var(--line)}.guide-panel-top span{font:9px monospace;letter-spacing:2px;color:#d0b074}.guide-panel-top h2{font-size:25px;letter-spacing:0;margin:5px 0 0}.guide-panel-top button{width:30px;height:30px;border:1px solid #bea16b66;border-radius:50%;font-size:21px;background:#ffffff08;color:#e4c18c}.guide-intro{padding:13px 20px 0;font-size:11px;line-height:1.6;margin:0;color:#b59b7a}#guide-messages{min-height:100px;max-height:300px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9d794455 transparent;padding:14px 16px 4px;display:flex;flex-direction:column;gap:10px}.guide-message{padding:11px 13px;margin:0;border:1px solid #b38b4c33;border-radius:8px;background:#4b342055;color:#e0c7a4;font-size:13px;line-height:1.7;flex-shrink:0;white-space:pre-wrap;overflow-wrap:anywhere}.guide-message p{font:inherit;color:inherit;margin:0}.guide-message.user{background:#bb8b3940;color:#f4d6a8;margin-left:30px;border-color:#d4a45844}.guide-message.assistant{margin-right:17px}.guide-route{display:block;margin-top:10px;border-bottom:1px solid #e8ba7255;background:none;color:#f2cb8e;padding:3px 0;font-size:12px;text-align:left}.guide-thinking{font-size:11px;color:#d6b584;margin:5px 20px}.guide-thinking span{display:inline-block;animation:radio-bars 1s infinite}.guide-prompts{display:flex;gap:6px;padding:12px 16px;flex-wrap:wrap}.guide-prompts button{background:#b6893918;border:1px solid #bda06844;border-radius:15px;padding:6px 9px;font-size:10px;color:#dcb98a}#guide-form{display:flex;gap:6px;margin:0 16px 10px}#guide-input{min-width:0;width:100%;padding:12px;background:#16100b;border:1px solid #baa16866;border-radius:5px;color:#f0d6b3;font-size:14px}#guide-input::placeholder{color:#94795c}#guide-send{width:40px;flex-shrink:0;border-radius:5px;background:#d3a364;color:#221709;font-size:23px}#guide-send:disabled{opacity:.45;cursor:wait}.guide-footnote{display:block;font-size:9px;line-height:1.5;margin:0 18px 13px;color:#917d62}
.workshop-mobile-controls{display:none}.at-home .carpenter-guide{bottom:110px}.at-home #guide-panel{max-height:min(520px,calc(100svh - 305px))}body:not(.at-home){padding-bottom:45px}body.tab-hidden *{animation-play-state:paused!important}
@keyframes lamp-breathe{50%{filter:brightness(1.15);transform:scaleX(1.04)}}@keyframes machine-rumble{50%{translate:.4px .6px}}@keyframes radio-bars{50%{transform:scaleY(.35)}}@keyframes wood-fly{from{translate:0 0;opacity:0;rotate:0deg}20%{opacity:1}to{translate:130px 65px;opacity:0;rotate:145deg}}@keyframes carpenter-idle{50%{transform:translateY(-3px) scaleY(1.015)}}@keyframes carpenter-wave{50%{transform:rotate(-3deg) translateY(-2px)}}@keyframes carpenter-talk{50%{transform:translateY(-2px) rotate(.7deg)}}@keyframes carpenter-think{50%{transform:rotate(-2deg)}}@keyframes carpenter-nod{50%{transform:translateY(2px) scale(.99)}}@keyframes carpenter-plane{50%{transform:translateX(8px) rotate(2deg)}}
@media(min-width:1500px){:root{--radius:350px}.bench-scene{--art-size:244px;bottom:-98px}}
@media(max-height:780px) and (min-width:801px){:root{--radius:280px}.bench-scene{--art-size:193px;bottom:-112px}.tool{width:155px}.carpenter-button{width:108px}#guide-panel{bottom:143px;max-height:calc(100svh - 185px)}}
@media(max-width:800px){.brand-logo{width:43px;height:43px}.gallery-controls{align-items:start;flex-direction:column;gap:16px}.workshop-toolbar{padding:18px;gap:15px}.workshop-toolbar .eyebrow{letter-spacing:1px}.workshop-toolbar p{font-size:12px}.workshop-toolbar button{font-size:11px;padding:9px}.workshop-hotspot{font-size:10px;padding:7px 9px}.workshop-hotspot small{font-size:8px;margin-left:2px}.workshop-under{padding:15px 18px;gap:15px}.workshop-under p{font-size:12px}.workshop-under>span{font-size:10px}.workshop-quote{padding:24px}.workshop-quote h3{font-size:34px}.contact-mark{margin-bottom:45px}.carpenter-guide{right:15px;bottom:16px}.guide-launcher{width:106px}.carpenter-button{width:105px}#guide-open{font-size:10px;padding:8px 10px}#guide-panel{width:min(350px,calc(100vw - 30px));bottom:140px;max-height:calc(100svh - 185px)}#guide-hide{right:-1px}.home-controls{right:5vw;left:5vw}}
@media(max-width:600px){:root{--radius:272px}.bench-scene{--art-size:178px;bottom:-86px}.tool{width:120px;height:210px}.tool-caption{top:calc(var(--art-size) - 8px)}.home-controls{bottom:22px}.home-controls #open-tool{max-width:100px;margin-right:0}.at-home .carpenter-guide{bottom:140px}.at-home .guide-launcher{width:88px}.at-home .carpenter-button{width:87px}.at-home #guide-open{font-size:9px;padding:7px}.at-home #guide-panel{bottom:115px;max-height:calc(100svh - 280px)}.workshop-scene{overflow-x:auto;aspect-ratio:auto;height:350px}.workshop-scene .scene-image{min-width:620px;width:100%;object-fit:cover;object-position:center}.workshop-hotspot{font-size:10px;padding:8px 7px}.workshop-hotspot small{display:none}.hotspot-lights{top:4%;left:43%}.hotspot-radio{top:24%;right:3%}.hotspot-drill{left:2%;top:79%}.hotspot-saw{right:2%;top:80%}.hotspot-bench{left:32%;top:48%}.scene-carpenter{width:32%;left:34%;bottom:9%}.hotspot-carpenter{left:40%;bottom:3%}.patch-drill,.patch-saw{display:none}.workshop-under{align-items:start;flex-direction:column;gap:7px}.workshop-under>span{text-align:left;max-width:none}.workshop-story{gap:25px}.live-workshop{margin-bottom:30px}.gallery-controls button{font-size:12px}.contact-tip .secondary-button{align-self:stretch}}
@media(prefers-reduced-motion:reduce){.carpenter-sprite,.light-beam,.machine-patch,.radio-equalizer i,.wood-specks i,.guide-thinking span{animation:none!important}}
/* Keep the complete room visible on a phone, with comfortable controls below it. */
@media(max-width:600px){.workshop-scene{aspect-ratio:1672/941;height:auto;overflow:hidden}.workshop-scene .scene-image{min-width:0;width:100%;height:auto}.workshop-scene .workshop-hotspot{display:none}.scene-carpenter{width:22%;left:38%;bottom:5%}.workshop-mobile-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px}.workshop-mobile-controls button{min-height:44px;background:#3a2817;color:#ead1a9;border:1px solid #c19a5966;border-radius:4px;padding:10px;font-size:12px}.workshop-mobile-controls button[aria-pressed=true]{background:#785029;border-color:#e2b369}.workshop-mobile-controls small{font:9px monospace;letter-spacing:1px;margin-left:8px;color:#cab18c}.workshop-mobile-controls button[aria-pressed=true] small{color:#c8ecae}.patch-drill,.patch-saw{display:block}.wood-specks i{width:3px;height:2px}}
@media(max-width:600px){.at-home .carpenter-button{display:none}.at-home .carpenter-guide{bottom:150px}.at-home #guide-panel{bottom:44px;max-height:calc(100svh - 215px)}.at-home #guide-open{font-size:11px;padding:9px}.at-home .guide-launcher{width:auto}.at-home #guide-hide{top:-14px;right:-5px}.at-home .carpenter-guide:has(#guide-panel:not([hidden])) .carpenter-button{display:block;width:76px}.at-home .carpenter-guide:has(#guide-panel:not([hidden])) #guide-panel{bottom:122px;max-height:calc(100svh - 293px)}}

.bench-plane{position:absolute;left:39%;top:36%;width:16%;transform:none;pointer-events:none;opacity:0;z-index:4}.planing .bench-plane{opacity:1;animation:plane-pass .8s ease-in-out infinite}.finish-brush{position:absolute;top:25%;left:calc(var(--split-left) - 45px);width:90px;transform:rotate(-20deg);opacity:0;pointer-events:none;z-index:2}.brushing .finish-brush{opacity:1;animation:brush-pass .4s ease-in-out infinite}@keyframes plane-pass{50%{translate:35px 0;rotate:2deg}}@keyframes brush-pass{50%{translate:0 14px;rotate:3deg}}
@media(max-width:600px){.bench-plane{width:20%;left:35%;top:31%}.finish-brush{width:70px;left:calc(var(--split-left) - 35px)}}
.service-tool{width:155px}@media(max-width:800px){.service-tool{width:130px}}
