/* The site is a workbench: physical tools, precise lines and room to breathe. */
.site-header{position:sticky;top:0;height:94px;transition:box-shadow .25s}
.site-header.scrolled{box-shadow:0 3px 18px #2025220d}
.header-rule{position:absolute;left:0;right:0;bottom:-4px;height:4px;background:repeating-linear-gradient(90deg,transparent 0 19px,#2025223b 19px 20px);overflow:hidden}
.header-rule i{display:block;height:100%;width:100%;background:var(--yellow);transform:scaleX(var(--page-progress,0));transform-origin:left}
.hero{grid-template-columns:1fr 1.05fr;gap:54px;padding-top:48px;padding-bottom:54px;align-items:center}
.hero-copy{padding-top:0}.hero h1{font-size:clamp(86px,8.3vw,125px)}
.hero-description{max-width:410px}.hero-copy>.eyebrow{line-height:1.8;margin-bottom:26px}
.handled-word{display:inline-flex;white-space:nowrap}
.handled-word>span{display:inline-block;transform-origin:50% 90%;transition:color .3s}
.handled-word>span:nth-child(2){--letter:1}.handled-word>span:nth-child(3){--letter:2}.handled-word>span:nth-child(4){--letter:3}.handled-word>span:nth-child(5){--letter:4}.handled-word>span:nth-child(6){--letter:5}.handled-word>span:nth-child(7){--letter:6}.handled-word>span:nth-child(8){--letter:7}
.hero-copy.is-nailed .handled-word{color:var(--ink);-webkit-text-stroke:0}
.hero-copy.is-struck .handled-word>span{animation:type-strike .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--letter,0)*25ms)}
@keyframes type-strike{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(6px) rotate(2deg)}55%{transform:translateY(-5px) rotate(-1deg)}}
.workbench{min-width:0;border:1px solid var(--ink);position:relative;background:var(--ink);color:var(--paper);box-shadow:10px 10px 0 #d8d4c9}
.bench-toolbar{height:42px;padding:0 21px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff25;font-size:10px;font-weight:600;letter-spacing:.13em}
.bench-live{font-size:9px;letter-spacing:.08em;display:flex;align-items:center;gap:8px;color:#d0d4c7}.bench-live i{width:5px;height:5px;background:var(--yellow);border-radius:50%}
.bench-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #ffffff25}
.bench-tabs button{min-height:50px;font-size:13px;font-weight:600;background:transparent;color:#d4d7cb;border:0;border-right:1px solid #ffffff25;transition:background .25s,color .25s}
.bench-tabs button:last-child{border-right:0}.bench-tabs button>span{font-size:9px;margin-right:7px;opacity:.65}
.bench-tabs button[aria-selected=true]{background:var(--yellow);color:var(--ink)}
.bench-tabs button:hover:not([aria-selected=true]){background:#344036;color:var(--paper)}
.workbench :focus-visible{outline-color:var(--yellow);outline-offset:-4px}
.bench-panel{animation:panel-in .4s ease-out;position:relative}
@keyframes panel-in{from{opacity:.4;transform:translateY(7px)}to{opacity:1;transform:none}}
.bench-scene{position:relative;aspect-ratio:640/560;overflow:hidden;background:radial-gradient(ellipse at 48% 36%,#3b463c 0,transparent 66%),#242c26;isolation:isolate}
.bench-scene:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.15;background-image:linear-gradient(#a4b5a71c 1px,transparent 1px),linear-gradient(90deg,#a4b5a71c 1px,transparent 1px);background-size:36px 36px}
.bench-scene-copy{position:absolute;top:28px;left:28px;z-index:2;pointer-events:none;font-size:10px;letter-spacing:.17em;line-height:1.9;color:#c9cdbf}
.bench-scene-copy strong{display:block;color:var(--paper);font-family:var(--display);font-size:34px;line-height:1.1;letter-spacing:.01em}
.bench-art{position:absolute;inset:0;transform:perspective(900px) rotateX(var(--bench-y,0deg)) rotateY(var(--bench-x,0deg));transition:transform .45s cubic-bezier(.2,.7,.2,1);will-change:transform}
.bench-art>svg{width:100%;height:100%;overflow:visible;display:block}
.bench-cross{position:absolute;color:#909d8b;font-size:18px;line-height:1;font-weight:400;pointer-events:none;z-index:2}.bench-cross-one{right:22px;top:22px}.bench-cross-two{left:22px;bottom:20px}
.bench-coordinate{position:absolute;bottom:24px;right:22px;font-size:8px;letter-spacing:.12em;color:#b2baab}
.bench-strike{position:absolute;left:43%;top:21%;width:41%;height:56%;border:0;background:transparent;display:flex;align-items:flex-start;justify-content:center;gap:9px;padding:10px;color:var(--yellow);font-size:9px;letter-spacing:.1em;font-weight:600;z-index:3}
.bench-strike #strike-label{padding-top:10px;line-height:1.5;white-space:nowrap}
.strike-ring{display:grid;place-items:center;width:37px;height:37px;border:1px solid #f5cd4570;border-radius:50%;font-size:21px;transition:background .25s,color .25s,transform .25s}
.bench-strike:hover .strike-ring{background:var(--yellow);color:var(--ink);transform:rotate(-15deg)}
.bench-console{display:flex;align-items:center;gap:13px;padding:17px 20px;min-height:74px;border-top:1px solid #ffffff25;background:#1b231d}
.bench-console>p{font-size:12px;line-height:1.5;flex:1;color:#d7dacc}
.bench-console>button{background:transparent;border:1px solid #68715f;color:var(--paper);width:34px;height:34px;flex-shrink:0;font-size:23px;line-height:1;transition:background .2s,transform .35s}
.bench-console>button:hover{background:#3c493a;transform:rotate(-35deg)}
.bench-progress{display:flex;gap:5px}.bench-progress i{height:21px;width:5px;background:#515d4d;transition:background .2s}.bench-progress i.done{background:var(--yellow)}
#bench-hammer{transform-box:view-box;transform-origin:475px 390px;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
#bench-nail{transform-box:view-box;transform:translateY(var(--nail-depth,0px));transition:transform .12s ease-out}
#bench-impact{opacity:0;transform-box:view-box;transform-origin:350px 355px}
.bench-arriving #bench-board{animation:board-arrive .85s cubic-bezier(.2,.8,.2,1) both}
.bench-arriving #bench-tape{animation:tape-arrive 1s cubic-bezier(.2,.8,.2,1) both}
.bench-arriving #bench-hammer{animation:tool-arrive 1.1s cubic-bezier(.2,.8,.2,1) both}
@keyframes board-arrive{from{transform:translate(-50px,20px);opacity:0}to{transform:none;opacity:1}}
@keyframes tape-arrive{from{transform:translate(-75px,15px);opacity:0}to{transform:none;opacity:1}}
@keyframes tool-arrive{from{transform:translate(30px,-35px) rotate(15deg);opacity:0}to{transform:none;opacity:1}}
.bench-scene.is-hitting #bench-hammer{animation:bench-hit .64s cubic-bezier(.28,.1,.2,1) both}
.bench-scene.is-hitting #bench-impact{animation:bench-dust .64s ease-out both}
.bench-scene.is-hitting #bench-board{animation:board-hit .64s ease-out}
@keyframes bench-hit{0%{transform:rotate(0)}28%{transform:translate(-5px,-8px) rotate(24deg)}52%{transform:translate(19.7px,calc(-11.9px + var(--contact-depth,0px))) rotate(-12deg)}59%{transform:translate(19.7px,calc(5.1px + var(--contact-depth,0px))) rotate(-12deg)}72%{transform:translate(8px,-10px) rotate(0)}100%{transform:rotate(0)}}
@keyframes bench-dust{0%,48%{opacity:0;transform:scale(.3)}55%{opacity:.8;transform:scale(.7)}100%{opacity:0;transform:scale(1.4)}}
@keyframes board-hit{0%,49%,100%{transform:translateY(0)}54%{transform:translateY(3px)}66%{transform:translateY(-1px)}}
.plan-scene{aspect-ratio:640/560;background:#223b30;position:relative;overflow:hidden;color:#b5ccae;background-image:linear-gradient(#b5ccae09 1px,transparent 1px),linear-gradient(90deg,#b5ccae09 1px,transparent 1px);background-size:20px 20px}
.plan-heading{position:absolute;top:25px;left:27px;z-index:2}.plan-heading>span{font-size:9px;letter-spacing:.12em;display:block;color:#c6d9c0}.plan-heading strong{font-weight:400;display:block;font-size:17px;line-height:1.4;margin-top:8px;color:var(--paper)}
.plan-art{position:absolute;inset:20% 4% 4%;width:92%;height:76%;overflow:visible}
.plan-wall{transform:translateY(calc(100px - var(--unfold)*1px)) scaleY(calc(.25 + var(--unfold)*.0075));transform-origin:50% 65%;opacity:calc(.2 + var(--unfold)*.008);transition:transform .12s,opacity .12s}
.plan-left{transform:translateY(calc(90px - var(--unfold)*.9px)) scaleY(calc(.25 + var(--unfold)*.0075))}
.plan-furniture{transform:translateY(calc(-80px + var(--unfold)*.8px));opacity:calc(var(--unfold)*.01);transition:transform .12s,opacity .12s}
.plan-labels{opacity:calc((var(--unfold) - 65)*.03);transition:opacity .15s}.plan-concept{position:absolute;bottom:16px;left:27px;font-size:8px;letter-spacing:.11em;color:#b9d0b3}
.plan-console{padding:12px 20px 10px;min-height:74px;border-top:1px solid #ffffff25;background:#1b231d}.plan-console label{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:10px;line-height:1.5}.plan-console label>span{font-size:9px;letter-spacing:.1em;color:var(--yellow)}
.plan-console output{font-size:11px;color:#d7dacc}.plan-console input{width:100%;height:22px;cursor:ew-resize;accent-color:var(--yellow);margin:5px 0 0;display:block}.plan-range-labels{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.1em;color:#b3bba9}
.result-title{position:absolute;z-index:4;bottom:82px;left:16px;right:16px;padding:12px 16px;background:#202522e8;pointer-events:none;backdrop-filter:blur(6px)}.result-title>span{font-size:9px;letter-spacing:.1em;color:var(--yellow);display:block}.result-title strong{font-size:16px;font-weight:400;display:block;line-height:1.4;margin-top:3px}
.result-panel .comparison{height:auto;aspect-ratio:640/560;border:0}.result-panel .comparison-caption{min-height:74px;padding:17px 20px;letter-spacing:.05em;font-size:9px;gap:8px;background:#1b231d}.result-panel .caption-detail{font-size:10px}.result-panel .comparison-handle>span{width:48px;height:48px}
.level-widget{margin-top:38px;max-width:350px;border-top:1px solid var(--line);padding-top:19px}.level-label{display:flex;align-items:start;justify-content:space-between;gap:12px;line-height:1.5}.level-label>label{font-size:9px;font-weight:600;letter-spacing:.07em}.level-label>span{font-size:11px;color:var(--muted);text-align:right}.level-stage{height:95px;position:relative;display:grid;place-items:center}.spirit-level{position:relative;width:85%;height:38px;border:2px solid var(--ink);background:var(--yellow);border-radius:4px;display:flex;align-items:center;justify-content:space-between;padding-inline:13px;box-shadow:0 3px 0 #a98f2b;transform:rotate(var(--tilt));transition:transform .15s,box-shadow .2s}.level-end{width:39px;height:15px;border:2px solid var(--ink);border-radius:10px;background:var(--paper);display:block}.level-vial{width:88px;height:22px;border:2px solid var(--ink);border-radius:20px;position:relative;overflow:hidden;background:#c8dc87}.level-vial:before,.level-vial:after{content:'';position:absolute;z-index:2;top:0;bottom:0;width:1px;background:#26311f;left:30px}.level-vial:after{left:auto;right:30px}.level-vial>i{position:absolute;top:2px;left:32px;height:14px;width:19px;border:1px solid #6c7d4b;background:#f6ffe1;border-radius:50%;transform:translateX(var(--bubble));transition:transform .2s ease-out}.level-baseline{position:absolute;bottom:16px;left:5%;right:5%;height:1px;background:var(--line)}.level-widget.is-level .spirit-level{box-shadow:0 3px 0 #a98f2b,0 0 0 5px #f5cd4528}.level-widget.is-level .level-label>span{color:#36562f;font-weight:600}.level-widget input{width:100%;accent-color:var(--ink);cursor:ew-resize;display:block;height:22px;margin:0}.level-widget>p{font-size:9px;letter-spacing:.09em;color:#5c6454;display:flex;justify-content:space-between;margin-top:7px}.level-widget>p>span{font-size:16px;line-height:1}
.saw-word{position:relative;display:inline-block;padding-bottom:12px}.saw-line{position:absolute;left:0;bottom:-5px;width:100%;height:19px;fill:none;stroke:var(--yellow);stroke-width:1.5;stroke-dasharray:1900;stroke-dashoffset:1900;transition:stroke-dashoffset 1.5s ease}.is-visible .saw-line{stroke-dashoffset:0}.saw-word:hover .saw-line{animation:saw-cut .22s linear 4}
@keyframes saw-cut{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.project-photo:after{content:'';position:absolute;inset:12px;border:1px solid #fff8;opacity:0;transform:scale(.95);transition:opacity .25s,transform .35s;pointer-events:none}.project-photo:hover:after{opacity:1;transform:scale(1)}
.quote-copy.is-visible .quote-underline:after{animation:tape-pull .7s cubic-bezier(.2,.7,.2,1) both;transform-origin:left}.quote-asterisk{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.quote-copy:hover .quote-asterisk{transform:rotate(90deg)}
@keyframes tape-pull{from{transform:rotate(-4deg) scaleX(0)}to{transform:rotate(-4deg) scaleX(1)}}
@media(min-width:1600px){.hero{gap:80px}.hero h1{font-size:132px}}
@media(max-width:1100px) and (min-width:941px){.hero{gap:30px}.hero h1{font-size:85px}.hero-copy>.eyebrow{font-size:9px}.bench-toolbar{padding-inline:14px;font-size:9px}.bench-live{font-size:8px}.bench-strike{left:55%;font-size:8px}.hero-bottom{margin-top:22px}.hero-description{font-size:15px}.main-nav{gap:21px}.site-header{padding-inline:36px}.hero-actions .button{min-width:220px}.bench-console{padding:13px}.bench-console>p{font-size:11px}}
@media(max-width:940px){.hero{grid-template-columns:1fr;gap:36px;max-width:720px}.workbench{width:100%;max-width:630px;margin-inline:auto}.hero-description{max-width:510px}.hero h1{font-size:116px}.hero-bottom{display:none}.level-widget{max-width:480px}.site-header{height:86px}.main-nav{gap:20px}}
@media(max-width:720px){.site-header{height:79px}.hero{padding-top:31px;padding-bottom:43px;gap:30px}.hero h1{font-size:clamp(68px,19.6vw,128px);line-height:.9}.hero-copy>.eyebrow{margin-bottom:22px;font-size:9px}.hero-description{margin-top:22px}.hero-actions{margin-top:22px}.workbench{box-shadow:6px 6px 0 #d8d4c9}.bench-toolbar{height:36px;font-size:9px;padding-inline:15px;letter-spacing:.08em}.bench-live{font-size:8px}.bench-tabs button{min-height:48px;font-size:12px}.bench-tabs button>span{font-size:8px;margin-right:4px}.bench-scene-copy{left:20px;top:22px;font-size:8px}.bench-scene-copy strong{font-size:27px}.bench-strike{left:53%;top:23%;font-size:8px;gap:6px;padding:7px}.strike-ring{width:32px;height:32px;font-size:20px}.bench-console{min-height:78px;padding:14px 15px;gap:10px}.bench-console>p{font-size:11px}.bench-progress{gap:4px}.bench-progress i{width:4px;height:19px}.bench-coordinate{font-size:6px;right:15px;bottom:18px}.bench-cross-two{left:16px;bottom:15px}.plan-heading{top:20px;left:20px}.plan-heading>span{font-size:8px}.plan-heading strong{font-size:14px}.plan-concept{left:19px;font-size:6px;bottom:12px}.plan-console{min-height:78px;padding:10px 15px}.plan-console label>span{font-size:8px}.plan-console output{font-size:10px}.plan-console input{height:25px}.result-title{bottom:86px;padding:9px 12px;left:12px;right:12px}.result-title>span{font-size:8px}.result-title strong{font-size:14px}.result-panel .comparison-caption{min-height:78px;padding:14px 15px;font-size:8px;gap:7px}.result-panel .caption-detail{font-size:9px}.result-panel .comparison-handle>span{height:43px;width:43px}.level-widget{max-width:100%;margin-top:28px}.level-label>label{font-size:10px}.level-label>span{font-size:12px}.level-widget>p{font-size:10px}.level-stage{height:104px}.saw-line{height:13px;bottom:0}.work-heading{padding-bottom:3px}.site-header .main-nav.is-open{top:78px}.header-rule{z-index:2}}
@media(max-width:380px){.bench-toolbar{font-size:8px}.bench-live{font-size:7px}.bench-tabs button{font-size:11px}.bench-scene-copy strong{font-size:24px}.bench-strike{left:50%;top:25%}.bench-console>p{font-size:10px}.bench-console>button{width:30px;height:30px}.hero h1{font-size:clamp(61px,19.5vw,74px)}.result-panel .caption-detail{font-size:8px}.plan-heading strong{font-size:13px}.bench-cross-one{top:15px;right:15px}}
@media(prefers-reduced-motion:reduce){.bench-art{transform:none!important;will-change:auto}.bench-panel,.handled-word>span,.bench-scene.is-hitting #bench-hammer,.bench-scene.is-hitting #bench-impact,.bench-scene.is-hitting #bench-board,.saw-word:hover .saw-line,.quote-copy.is-visible .quote-underline:after{animation:none!important}.plan-wall,.plan-furniture,.plan-labels,#bench-nail,.spirit-level,.level-vial>i{transition:none}.saw-line{stroke-dashoffset:0}.quote-copy:hover .quote-asterisk{transform:none}}

@media(max-width:1100px){.bench-strike{left:43%;top:21%}}
@media(max-width:720px){.bench-strike{left:43%;top:23%;width:43%}.bench-strike #strike-label{padding-top:8px}}
@media(prefers-reduced-motion:reduce){.bench-arriving #bench-board,.bench-arriving #bench-tape,.bench-arriving #bench-hammer{animation:none!important}}

.bench-tabs button[aria-selected="true"]:focus-visible{outline-color:var(--ink)}
.bench-console>button{width:44px;height:44px}
.bench-console>p{font-size:13px}
.plan-console input,.level-widget input{-webkit-appearance:none;appearance:none;height:32px;background:transparent}
.plan-console input::-webkit-slider-runnable-track{height:9px;background:repeating-linear-gradient(90deg,#f5cd45 0 11px,#80671a 11px 12px);border:1px solid #f5cd45}
.plan-console input::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:25px;margin-top:-9px;background:var(--ink);border:2px solid var(--yellow);border-radius:0;box-shadow:0 0 0 2px #1b231d}
.plan-console input::-moz-range-track{height:9px;background:repeating-linear-gradient(90deg,#f5cd45 0 11px,#80671a 11px 12px);border:1px solid #f5cd45}
.plan-console input::-moz-range-thumb{width:16px;height:23px;background:var(--ink);border:2px solid var(--yellow);border-radius:0}
.level-widget input::-webkit-slider-runnable-track{height:4px;background:#cecec0}
.level-widget input::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-9px;border:5px solid var(--paper);background:var(--ink);border-radius:50%;box-shadow:0 0 0 1px var(--ink)}
.level-widget input::-moz-range-track{height:4px;background:#cecec0}
.level-widget input::-moz-range-thumb{width:12px;height:12px;border:5px solid var(--paper);background:var(--ink);border-radius:50%;box-shadow:0 0 0 1px var(--ink)}
@media(max-width:720px){.bench-console>p{font-size:12px}}
@media(max-width:720px){.plan-art{top:34%;height:62%;bottom:4%}}
@media(max-width:380px){.plan-art{top:38%;height:58%}}
