.h-page{--h-width:calc(var(--page) + 2 * var(--gutter));--g-width:var(--h-width)}.h-page .kicker{color:var(--oak-deep)}.h-hero{max-width:calc(1320px + 2 * var(--gutter));min-height:calc(100svh - 61px);padding:clamp(20px,3vw,40px) var(--gutter) clamp(28px,4vw,48px);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,64px);margin:0 auto;display:grid}.h-hero-copy .crumbs ol{justify-content:flex-start}.h-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--oak-deep);margin-top:22px;font-size:.74rem;font-weight:600}.h-hero h1{letter-spacing:-.05em;margin-top:12px;font-size:clamp(2.8rem,5.6vw,5rem)}.h-hero .lede{text-align:left;max-width:560px;margin:20px 0 0}.h-hero-actions{margin-top:32px}.h-hero-actions .button{border-radius:999px;min-height:52px;padding:0 30px;font-size:1rem}.h-hero-view{background:radial-gradient(120% 90% at 50% 0,#fbf8f1,#ece6d9);border-radius:32px;height:min(80svh,780px);margin:0;position:relative;overflow:hidden}.h-hero-view .p-canvas{opacity:0;cursor:grab;width:100%;height:100%;transition:opacity .9s;position:absolute;inset:0}.h-hero-view.is-ready .p-canvas{opacity:1}.h-fallback{place-items:center;transition:opacity .5s;display:grid;position:absolute;inset:12% 16%}.h-fallback svg{width:100%;height:100%}.h-hero-view.is-ready .h-fallback{opacity:0}.h-hero-photo img{object-fit:cover;width:100%;height:106%;transform:translateY(calc(var(--drift,0px) * -1)) scale(1.02);position:absolute;inset:-6% 0 0}@media (prefers-reduced-motion:no-preference){.h-hero-photo img{animation:1.8s cubic-bezier(.2,.7,.2,1) both h-settle}}@keyframes h-settle{0%{opacity:0;scale:1.08}}.h-hero-photo .h-photo-tag{top:18px;bottom:auto;right:18px}.h-hero-view figcaption{z-index:2;position:absolute;bottom:18px;left:18px;right:18px}.h-hero-view figcaption a{-webkit-backdrop-filter:blur(16px);background:#ffffffb8;border-radius:18px;grid-template-columns:1fr auto;align-items:center;gap:2px 16px;padding:14px 18px;text-decoration:none;transition:background .2s;display:grid}.h-hero-view figcaption a:hover{background:#ffffffe6}.h-hero-view figcaption strong{font-family:var(--serif);letter-spacing:-.02em;font-size:1.2rem;font-weight:400}.h-hero-view figcaption span{color:var(--muted);grid-row:2;font-size:.82rem}.h-hero-view figcaption i{background:var(--green);color:#fff;border-radius:50%;grid-area:1/2/3;place-items:center;width:38px;height:38px;font-style:normal;display:grid}.h-section{max-width:var(--h-width);padding:clamp(80px,10vw,128px) var(--gutter) 0;margin:0 auto;scroll-margin-top:110px}.h-head{max-width:720px}.h-head h2{margin-top:10px;font-size:clamp(2.1rem,4vw,3.3rem)}.h-head>p:not(.kicker){color:var(--muted);text-wrap:pretty;margin-top:14px;font-size:1.08rem}.h-head-split{justify-content:space-between;align-items:flex-end;gap:24px;max-width:none;display:flex}.h-head-split>p{max-width:420px;color:var(--muted)}.h-note{color:var(--muted);margin-top:14px;font-size:.84rem}.h-level{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:.7rem;font-weight:700;display:inline-block}.h-level-0{color:#2f5a3c;background:#e2eedc}.h-level-1{color:#83561d;background:#f5e6cc}.h-level-2{color:#6c3f22;background:#e9dccf}.h-dot{border-radius:50%;width:9px;height:9px}.h-dot.h-level-0{background:#5f9a6c}.h-dot.h-level-1{background:#d1a04f}.h-dot.h-level-2{background:#a3653a}.h-tabs{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);border-radius:999px;gap:4px;margin-top:32px;padding:5px;display:inline-flex;position:relative}.h-tabs button{z-index:1;font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:9px;padding:10px 20px;font-size:.95rem;font-weight:600;transition:color .2s;display:inline-flex;position:relative}.h-tabs button[aria-selected=true]{color:#fff}.h-tabs button:focus-visible{outline:2px solid var(--oak);outline-offset:2px}.h-tabs-ink{background:var(--green);border-radius:999px;transition:transform .45s cubic-bezier(.2,.7,.2,1),width .45s cubic-bezier(.2,.7,.2,1);position:absolute;top:5px;bottom:5px;left:0}.h-path{background:var(--surface);border-radius:30px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);margin-top:24px;padding:clamp(26px,3.4vw,48px);display:grid;box-shadow:inset 0 0 0 1px #28382e12}.js .h-path.is-in{animation:.55s cubic-bezier(.2,.7,.2,1) h-in}@keyframes h-in{0%{opacity:0;transform:translateY(14px)}}.h-path-time{letter-spacing:.12em;text-transform:uppercase;color:var(--oak-deep);font-size:.74rem;font-weight:600}.h-path h3{font-family:var(--serif);letter-spacing:-.035em;margin-top:8px;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400;line-height:1.08}.h-path-copy>p:not(.h-path-time){color:#46554b;margin-top:12px;font-size:1.04rem;line-height:1.6}.h-path-lists{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:18px;margin-top:24px;padding-top:20px;display:grid}.h-path-lists h4{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.h-path-lists ul{gap:7px;margin-top:10px;display:grid}.h-path-lists li{padding-left:18px;font-size:.94rem;line-height:1.4;position:relative}.h-path-lists li:before{content:"";background:var(--oak);border-radius:50%;width:8px;height:8px;position:absolute;top:.5em;left:0}.h-path-plans{align-content:start;gap:12px;display:grid}.h-path-plans a{background:var(--paper);border-radius:20px;grid-template-rows:auto 1fr;grid-template-columns:96px 1fr;gap:4px 18px;padding:14px;text-decoration:none;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s;display:grid}.h-path-plans a:hover{transform:translateY(-3px);box-shadow:0 18px 36px -24px #28382e80}.h-path-art{background:var(--surface);border-radius:14px;grid-row:1/3;place-items:center;height:110px;padding:8px;display:grid}.h-path-art svg{width:100%;height:100%}.h-path-name{font-family:var(--serif);letter-spacing:-.02em;align-self:end;font-size:1.3rem}.h-path-name em{background:var(--green);font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;vertical-align:4px;color:#fff;border-radius:999px;margin-left:10px;padding:3px 9px;font-size:.66rem;font-style:normal;font-weight:700;display:inline-block}.h-path-blurb{color:var(--muted);font-size:.9rem;line-height:1.45}.h-arrows{gap:8px;display:flex}.h-arrows button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:46px;height:46px;font-size:1.1rem;transition:background .15s,transform .15s;display:grid}.h-arrows button:hover{background:#fff;transform:translateY(-1px)}.h-types{--bleed:max(var(--gutter),calc((100vw - var(--page)) / 2));margin:32px calc(-1 * var(--bleed)) 0;padding:4px var(--bleed) 12px;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--bleed);scrollbar-width:none;grid-auto-columns:clamp(250px,24vw,310px);grid-auto-flow:column;gap:16px;display:grid;overflow:auto hidden}.h-types::-webkit-scrollbar{display:none}.h-type{scroll-snap-align:start}.h-type a{flex-direction:column;gap:8px;height:100%;text-decoration:none;display:flex}.h-type figure{aspect-ratio:4/5;background:#e7e2d8;border-radius:24px;margin:0 0 8px;position:relative;overflow:hidden}.h-type img{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.h-type a:hover img{transform:scale(1.06)}.h-photo-tag{letter-spacing:.1em;text-transform:uppercase;color:#ffffffd9;background:#121c1673;border-radius:999px;padding:3px 9px;font-size:.62rem;font-weight:600;position:absolute;bottom:12px;right:12px}.h-type .h-level{align-self:flex-start}.h-type h3{font-family:var(--serif);letter-spacing:-.025em;font-size:1.5rem;font-weight:400;line-height:1.1}.h-type p{color:var(--muted);font-size:.93rem;line-height:1.5}.h-type .text-link{margin-top:auto;padding-top:4px;font-size:.92rem}.h-plans{margin-top:32px}.h-tool{background:var(--surface);border-radius:30px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,40px);margin-top:32px;padding:clamp(22px,3vw,40px);display:grid;box-shadow:inset 0 0 0 1px #28382e12}.h-tool-stage{background:linear-gradient(#f6f1e7,#ece5d6);border-radius:22px;padding:20px 10px 0;position:relative}.h-tool-svg{width:100%;height:auto;display:block;overflow:visible}.h-tool-readout{justify-content:space-between;align-items:baseline;gap:12px;padding:12px 10px 16px;display:flex}.h-tool-readout strong{font-family:var(--serif);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:400}.h-tool-readout span{color:#2f5a3c;background:#e2eedc;border-radius:999px;flex:none;padding:5px 12px;font-size:.82rem;font-weight:700;transition:background .3s,color .3s}.h-tool[data-state=warn] .h-tool-readout span{color:#83561d;background:#f5e6cc}.h-tool[data-state=bad] .h-tool-readout span{color:#93441b;background:#f6dccb}.h-tool-controls{gap:20px;display:grid}.h-tool-controls fieldset{border:0;margin:0;padding:0}.h-tool-controls legend,.h-tool-range>span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin-bottom:10px;font-size:.74rem;font-weight:600;display:flex}.h-tool-range output{font-family:var(--serif);letter-spacing:0;text-transform:none;color:var(--ink);font-size:1.1rem;font-weight:400}.h-tool-range input{width:100%;accent-color:var(--green)}.h-seg{flex-wrap:wrap;gap:6px;display:flex}.h-seg button{border:1px solid var(--border);background:var(--paper);font:inherit;color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 13px;font-size:.86rem;font-weight:550;transition:background .15s,border-color .15s,color .15s}.h-seg button:hover{border-color:#b8c1b0}.h-seg button[aria-pressed=true]{border-color:var(--green);background:var(--green);color:#fff}.h-seg button[hidden]{display:none}.h-tool-tip{color:#46554b;min-height:3em;font-size:.92rem;line-height:1.5}.h-sag-wall{fill:#d9cdb6}.h-sag-shelf{fill:var(--oak);stroke:#8c6532;stroke-width:1.5px;transition:fill .3s}.h-sag-straight{stroke:#28382e59;stroke-width:1.5px;stroke-dasharray:6 6}.h-sag-book{stroke:#0000001f;stroke-width:1px}.h-sag-book-0{fill:#365344}.h-sag-book-1{fill:#c79c62}.h-sag-book-2{fill:#8a5a3b}.h-sag-book-3{fill:#d8d0bf}.h-tool[data-state=warn] .h-sag-shelf{fill:#d7a24f}.h-tool[data-state=bad] .h-sag-shelf{fill:#c8763f}.h-tool-svg text{font-family:var(--sans);fill:#5b6a5f;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.h-tool-svg .t-on-dark{fill:#e9ece4}.t-floor{stroke:#b9ab90;stroke-width:2px}.t-wall{fill:#efe8da}.t-carcass,.t-frame{fill:#d6b07c;stroke:#9c7440;stroke-width:1.5px}.t-inside{fill:#f5ecdc}.t-shelf,.t-panel,.t-desk,.t-rail{fill:#d6b07c;stroke:#9c7440;stroke-width:3px}.t-panel,.t-desk,.t-rail{stroke-width:1px}.t-rod{stroke:#7f8784;stroke-width:4px;stroke-linecap:round}.t-garment{opacity:.92}.t-garment-0{fill:#365344}.t-garment-1{fill:#c9b79a}.t-garment-2{fill:#8a5a3b}.t-garment-3{fill:#a9b8a0}.t-drawer{fill:#e3c79b;stroke:#9c7440;stroke-width:1px}.t-unit{fill:#d6b07c;stroke:#9c7440;stroke-width:1.5px}.t-unit-line{stroke:#9c7440;stroke-width:1px}.t-stand{fill:#3b4440}.t-screen{fill:#222a26}.t-eye{stroke:var(--green);stroke-width:2px;stroke-dasharray:8 7}.t-elbow{stroke:var(--oak-deep);stroke-width:2px;stroke-dasharray:8 7}.t-chair{fill:#8a9a8c}.t-slat{fill:#e3c79b;stroke:#9c7440;stroke-width:1px}.t-leg{fill:#7a5a33}.t-mattress{fill:#ffffff59;stroke:#6f7d73;stroke-width:2px;stroke-dasharray:10 8}.t-head{fill:#9c7440}.t-filler{fill:#c79c62;opacity:.55}.h-plan{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);margin-top:clamp(28px,4vw,48px);display:grid}.h-joints{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:32px;display:grid}.h-joint{background:var(--surface);border-radius:24px;flex-direction:column;gap:10px;padding:22px;display:flex;box-shadow:inset 0 0 0 1px #28382e12}.h-joint-art{background:linear-gradient(#f6f1e7,#ece5d6);border-radius:16px;width:100%;height:auto;margin-bottom:6px}.h-j-a{fill:#e3c79b;stroke:#9c7440;stroke-width:1.5px}.h-j-b{fill:#d6b07c;stroke:#9c7440;stroke-width:1.5px}.h-j-front{fill:#c79c62}.h-j-frame{fill-rule:evenodd}.h-j-line{fill:none;stroke:#9c7440;stroke-width:1.2px}.h-j-hole{fill:#8a6a3f;stroke:none}.h-j-metal{fill:#9aa3a0;stroke:#5b6461;stroke-width:1px}.h-j-metal-line,.h-j-hook{fill:none;stroke:#4b5552;stroke-width:4px;stroke-linecap:round}.h-j-hook{stroke-width:2.5px}.h-j-head{stroke-width:5px}.h-j-guide{stroke:#b9ab90;stroke-width:2px}.h-j-wall,.h-j-wall-solid{fill:#d8d3c7}.h-j-cable{fill:none;stroke:#2f3a35;stroke-width:4px;stroke-linecap:round}.h-joint h3{font-family:var(--serif);letter-spacing:-.02em;font-size:1.4rem;font-weight:400}.h-joint .h-level{align-self:flex-start}.h-joint p{color:var(--muted);font-size:.93rem;line-height:1.5}.h-joint-tools{border-top:1px solid var(--border);margin-top:auto;padding-top:10px;font-weight:600;color:var(--ink)!important;font-size:.84rem!important}@media (prefers-reduced-motion:no-preference){.js .h-joint .h-j-move{transform:var(--from);transform-box:view-box;opacity:0;transition:transform 1.1s cubic-bezier(.2,.7,.2,1) var(--d,.3s),opacity .5s var(--d,.3s)}.js .h-joint-hinge .h-j-move{opacity:1}.js .h-joint .h-j-draw{stroke-dasharray:240;stroke-dashoffset:240px;transition:stroke-dashoffset 1.6s cubic-bezier(.4,0,.2,1) .4s}.js .h-joint.is-in .h-j-move{opacity:1;transform:none}.js .h-joint.is-in .h-j-draw{stroke-dashoffset:0}}.h-materials td{white-space:normal;min-width:120px;font-size:.92rem}.h-materials td:first-child{min-width:150px}.h-materials th:nth-child(n+2),.h-materials td:nth-child(n+2){text-align:left!important}.h-cost{letter-spacing:.06em;color:var(--oak-deep);font-weight:700}.h-cost span{color:#d9cdb8}.h-bars{gap:4px;display:inline-flex}.h-bars i{background:#e1e4d9;border-radius:3px;width:18px;height:8px}.h-bars i:nth-child(-n+1),.h-bars[style*=--n\:2] i:nth-child(2),.h-bars[style*=--n\:3] i:nth-child(-n+3){background:var(--green)}.h-tools{grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;display:grid}.h-tools-sub{color:var(--muted);margin-top:6px;font-size:.92rem}.h-check,.h-upgrades{gap:12px;margin-top:20px;display:grid}.h-check li,.h-upgrades li{gap:2px;padding-left:30px;display:grid;position:relative}.h-check li:before{content:"✓";width:20px;height:20px;color:var(--green);background:#e2eedc;border-radius:50%;place-items:center;font-size:.72rem;font-weight:700;display:grid;position:absolute;top:0;left:0}.h-upgrades li:before{content:"+";background:var(--oak-light);width:20px;height:20px;color:var(--oak-deep);border-radius:50%;place-items:center;font-size:.9rem;font-weight:700;display:grid;position:absolute;top:0;left:0}.h-check strong,.h-upgrades strong{font-size:.98rem;font-weight:600}.h-check span,.h-upgrades span{color:var(--muted);font-size:.88rem;line-height:1.45}.h-nosaw{background:var(--surface-muted);color:#3f4e44;border-radius:16px;margin-top:20px;padding:14px 16px;font-size:.92rem;line-height:1.5}.h-anchor{padding:clamp(64px,9vw,110px) var(--gutter);background:radial-gradient(900px 500px at 80% 0%,#c79c622e,#c79c6200 64%),var(--green-deep);color:#eef0e8;margin-top:clamp(80px,10vw,128px)}.h-anchor-inner{max-width:var(--page);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px);margin:0 auto;display:grid}.h-anchor .kicker{color:#c7a473}.h-anchor h2{margin-top:10px;font-size:clamp(2.1rem,4vw,3.2rem)}.h-anchor-inner>div>p:last-child{color:#b8c4b5;margin-top:14px;line-height:1.6}.h-anchor ul{gap:10px;display:grid}.h-anchor li{background:#ffffff0f;border-radius:18px;gap:3px;padding:16px 20px;display:grid;box-shadow:inset 0 0 0 1px #ffffff14}.h-anchor li strong{font-weight:600}.h-anchor li span{color:#b8c4b5;font-size:.92rem}.h-describe .composer{max-width:760px;margin:28px 0 0}.h-describe .chips{justify-content:flex-start}.h-faq .h-head{margin-bottom:24px}.h-posts{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:24px;margin-top:28px;display:grid}.js .h-reveal{opacity:0;transition:opacity .7s ease calc(var(--i,0) * 80ms),transform .8s cubic-bezier(.2,.7,.2,1) calc(var(--i,0) * 80ms);transform:translateY(24px)}.js .h-reveal.is-in{opacity:1;transform:none}.js .h-types .h-reveal{transform:none}@media (prefers-reduced-motion:reduce){.js .h-reveal{opacity:1;transition:none;transform:none}}@media (width<=1100px){.h-joints{grid-template-columns:repeat(2,minmax(0,1fr))}.h-tool{grid-template-columns:1fr}}@media (width<=900px){.h-hero{grid-template-columns:1fr;min-height:0}.h-hero-view{order:-1;height:56svh}.h-path,.h-plan,.h-tools,.h-anchor-inner{grid-template-columns:1fr}.h-head-split{flex-direction:column;align-items:flex-start}.h-tabs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.h-tabs button{text-align:center;justify-content:center;padding:10px 6px;font-size:.86rem}.h-tabs .h-dot{display:none}}@media (width<=640px){.h-tool-readout{flex-direction:column;align-items:flex-start;gap:8px}.h-path-lists,.h-joints{grid-template-columns:1fr}.h-path-plans a{grid-template-columns:72px 1fr}.h-path-art{height:86px}}
