:root{--bg:#f2ede1;--text:#2a2117;--muted:#6a5d4b;--moss:#4f6b2e;--soil:#7a4e2d;--ink:#2a21178c;--card:#f6f2e8d9;--border:#2a211724;--border-strong:#2a211752;--grid:#4f6b2e0b;--grid-major:#4f6b2e16;--margin-line:#7a4e2d47;--button-text:#f6f1e5;--shadow-soft:0 16px 36px -14px #2a211747, 0 3px 8px -4px #2a21171f;--shadow-button:0 1px 2px #2a21172e;--shadow-button-hover:0 14px 28px -10px #4f6b2e8c, 0 3px 6px -3px #2a211733;--root-rgb:122, 78, 45;--sprout-rgb:79, 107, 46;--font-serif:"Libre Caslon Text", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--font-body:"DM Sans", system-ui, sans-serif;--font-hand:"Architects Daughter", "Comic Sans MS", cursive;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#181510;--text:#ece4d0;--muted:#a69c85;--moss:#a3be6e;--soil:#c99569;--ink:#ece4d073;--card:#1f1b15e0;--border:#ece4d01a;--border-strong:#ece4d042;--grid:#ecdec408;--grid-major:#ecdec40f;--margin-line:#c9956940;--button-text:#14160f;--shadow-soft:0 18px 40px -14px #000000b3, 0 3px 8px -4px #0006;--shadow-button:0 1px 2px #00000080;--shadow-button-hover:0 14px 30px -10px #a3be6e66, 0 3px 6px -3px #00000080;--root-rgb:201, 149, 105;--sprout-rgb:163, 190, 110}}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background-color:var(--bg);background-image:linear-gradient(var(--grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-major) 1px, transparent 1px), linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-position:-1px -1px;background-size:120px 120px,120px 120px,24px 24px,24px 24px;font-size:1rem;line-height:1.65;overflow-x:hidden}@media (width>=960px){body:before{content:"";background:var(--margin-line);pointer-events:none;z-index:2;width:1px;position:fixed;top:0;bottom:0;left:40px}}.page{z-index:1;max-width:1080px;margin:0 auto;padding:0 16px;position:relative}@media (width>=640px){.page{padding:0 48px}}.hand-note{font-family:var(--font-hand);color:var(--soil);font-size:1.05rem;display:inline-block;transform:rotate(-2deg)}.button{background:var(--moss);color:var(--button-text);font-family:var(--font-mono);box-shadow:var(--shadow-button);border-radius:8px;align-items:center;gap:10px;padding:12px 20px;font-size:.92rem;font-weight:500;text-decoration:none;transition:transform .26s cubic-bezier(.2,.7,.2,1),box-shadow .26s;display:inline-flex}.button span{transition:transform .26s cubic-bezier(.2,.7,.2,1)}.button:hover{box-shadow:var(--shadow-button-hover);transform:translateY(-2px)}.button:hover span{transform:translate(3px)}.button:focus-visible{outline:2px solid var(--soil);outline-offset:3px}.actions{flex-wrap:wrap;align-items:center;gap:14px 24px;display:flex}.hero-wrap{flex-direction:column;min-height:100svh;display:flex;position:relative}.hero{width:100%;padding-top:clamp(48px,10vh,110px);padding-bottom:8px}.ground{flex:1;min-height:260px;position:relative}.ground:before{content:"";border-top:1.5px solid var(--ink);position:absolute;top:56px;left:0;right:0}.ground:after{content:"";background:repeating-linear-gradient(-45deg, var(--ink) 0 1px, transparent 1px 7px);opacity:.45;height:10px;position:absolute;top:57px;left:0;right:0}.ground-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);z-index:1;font-size:.7rem;position:absolute;top:34px;right:16px}@media (width>=640px){.ground-label{right:48px}}@media (width<=520px){.ground-label{display:none}}.roots-canvas{pointer-events:none;position:absolute;inset:0}.hero-frame{--mark:16px;background:linear-gradient(var(--ink), var(--ink)) top left / var(--mark) 1px no-repeat, linear-gradient(var(--ink), var(--ink)) top left / 1px var(--mark) no-repeat, linear-gradient(var(--ink), var(--ink)) top right / var(--mark) 1px no-repeat, linear-gradient(var(--ink), var(--ink)) top right / 1px var(--mark) no-repeat, linear-gradient(var(--ink), var(--ink)) bottom left / var(--mark) 1px no-repeat, linear-gradient(var(--ink), var(--ink)) bottom left / 1px var(--mark) no-repeat, linear-gradient(var(--ink), var(--ink)) bottom right / var(--mark) 1px no-repeat, linear-gradient(var(--ink), var(--ink)) bottom right / 1px var(--mark) no-repeat;max-width:880px;padding:28px 24px;position:relative}@media (width>=640px){.hero-frame{padding:40px 44px}}.hero-frame>*{animation:.8s cubic-bezier(.2,.7,.2,1) both rise}.hero-frame>:nth-child(2){animation-delay:70ms}.hero-frame>:nth-child(3){animation-delay:.14s}.hero-frame>:nth-child(4){animation-delay:.21s}.hero-frame>:nth-child(5){animation-delay:.28s}.hero-frame>:nth-child(6){animation-delay:.35s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.eyebrow{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--moss);align-items:center;gap:12px;margin:0 0 18px;font-size:.82rem;display:flex}.fig{white-space:nowrap;border:1px solid;border-radius:2px;padding:1px 7px}.name{font-family:var(--font-serif);letter-spacing:-.02em;white-space:nowrap;margin:0;font-size:clamp(1.6rem,7.2vw,5.2rem);font-weight:700;line-height:1.05}.dimension{border-left:1px solid var(--ink);border-right:1px solid var(--ink);justify-content:center;align-items:center;height:22px;margin:14px 0 22px;display:flex;position:relative}.dimension:before{content:"";border-top:1px solid var(--ink);position:absolute;top:50%;left:0;right:0}.dimension span{font-family:var(--font-hand);color:var(--soil);background:var(--bg);padding:0 10px;font-size:.95rem;position:relative}.tagline{font-family:var(--font-serif);color:var(--soil);margin:0 0 16px;font-size:clamp(1.2rem,3vw,1.5rem);font-style:italic;font-weight:400;line-height:1.45}.bio{color:var(--muted);max-width:56ch;margin:0 0 30px;font-size:1.05rem}.status{font-family:var(--font-mono);color:var(--muted);align-items:center;gap:10px;font-size:.8rem;display:inline-flex}.status-dot{background:var(--moss);border-radius:50%;width:8px;height:8px;animation:2.4s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--moss) 60%, transparent)}70%,to{box-shadow:0 0 0 10px #0000}}.sheet{padding:72px 0 24px}.sheet-head{border-bottom:1.5px solid var(--text);align-items:baseline;gap:16px;margin-bottom:32px;padding-bottom:10px;display:flex}.sheet-no{font-family:var(--font-mono);color:var(--bg);background:var(--text);border-radius:2px;padding:1px 8px;font-size:.85rem}.sheet-head h2{font-family:var(--font-serif);letter-spacing:-.015em;flex:1;margin:0;font-size:clamp(1.5rem,3.8vw,2.1rem);font-weight:400}.sheet-meta{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:.72rem}@media (width<=520px){.sheet-meta{display:none}}.about{grid-template-columns:1fr;gap:32px;display:grid}@media (width>=860px){.about{grid-template-columns:1.4fr 1fr;gap:56px}}.about-text p{max-width:60ch;margin:0 0 18px;font-size:1.05rem}.about-text p:first-child{color:var(--text);font-size:1.2rem}.about-text p:not(:first-child){color:var(--muted)}.specs{background:var(--card);border:1px solid var(--border-strong);align-self:start;padding:20px 22px 18px}.specs-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--moss);margin:0 0 10px;font-size:.72rem}.specs dl{margin:0 0 14px}.spec-row{border-top:1px dashed var(--border-strong);grid-template-columns:9.5em 1fr;gap:12px;padding:9px 0;font-size:.92rem;display:grid}.spec-row dt{font-family:var(--font-mono);color:var(--muted);padding-top:2px;font-size:.78rem}.spec-row dd{margin:0}.services{gap:56px;display:grid}.service{align-items:center;gap:24px;display:grid}@media (width>=860px){.service{grid-template-columns:1fr 1.15fr;gap:56px}.service:nth-child(2n) .service-text{order:2}}.service-text h3{font-family:var(--font-serif);letter-spacing:-.015em;margin:8px 0 12px;font-size:clamp(1.5rem,3.4vw,1.9rem);font-weight:400}.service-text p{color:var(--muted);max-width:48ch;margin:0 0 20px;font-size:1.02rem}.steps{font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:8px 26px;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.steps li{border:1px solid var(--border-strong);background:var(--card);border-radius:999px;padding:3px 12px;position:relative}.tags{gap:8px}.steps:not(.tags) li+li:before{content:"→";color:var(--muted);position:absolute;left:-20px}.drawing{background:var(--card);border:1px solid var(--border-strong);margin:0;padding:14px 16px 10px}.drawing figcaption{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:1px dashed var(--border-strong);margin-bottom:6px;padding-bottom:8px;font-size:.7rem}.drawing figcaption span{color:var(--soil);margin-right:6px}.fig-svg{width:100%;height:auto;display:block;overflow:visible}.fig-line{fill:none;stroke:var(--text);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round}.fig-box{fill:var(--bg)}.fig-thin{stroke-width:1px;opacity:.7}.fig-faint{stroke-width:.8px;opacity:.25}.fig-hand-line{stroke-width:2px}.fig-dash{fill:none;stroke:var(--moss);stroke-width:1px;stroke-dasharray:3 6}.fig-accent-line{fill:none;stroke:var(--moss);stroke-width:1.4px}.fig-dot{fill:var(--moss)}.fig-dot-out{fill:var(--soil)}.fig-rel{fill:none;stroke:var(--soil);stroke-width:1.6px;stroke-linecap:round}.fig-rel-end{fill:none;stroke:var(--soil);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.fig-highlight{fill:var(--moss);fill-opacity:.16}.fig-check{fill:none;stroke:var(--moss);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.fig-sweep{stroke:var(--soil);stroke-width:1.6px;stroke-linecap:round}.fig-progress{fill:var(--moss)}.fig-mono{font-family:var(--font-mono);fill:var(--text);font-size:11px}.fig-strong{fill:var(--moss);font-weight:500}.fig-hand{font-family:var(--font-hand);fill:var(--soil);font-size:14px}.card-index{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--soil);font-size:.72rem}.contact{max-width:680px}.contact-heading{font-family:var(--font-serif);letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:700;line-height:1.15}.contact-text{color:var(--muted);margin:0 0 28px;font-size:1.05rem}.title-block{border:1.5px solid var(--text);background:var(--card);font-family:var(--font-mono);grid-template-columns:repeat(2,1fr);margin:88px 0 40px;font-size:.85rem;display:grid}.title-block>div:last-child{grid-column:1/-1}@media (width>=760px){.title-block{grid-template-columns:2fr 2fr 1fr 1fr 1fr}.title-block>div:last-child{grid-column:auto}}.title-block>div{border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);padding:10px 14px}.title-block span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.66rem;display:block}.drawing,.specs,.steps li{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}.drawing:hover,.specs:hover{box-shadow:var(--shadow-soft);transform:translateY(-4px)}.steps li:hover{box-shadow:var(--shadow-soft);border-color:var(--moss);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.hero-frame>*,.status-dot{animation:none}.button,.button span,.drawing,.specs,.steps li{transition:none}.button:hover,.drawing:hover,.specs:hover,.steps li:hover{transform:none}}.fig-flow{fill:none;stroke:var(--moss);stroke-width:1.6px;stroke-linecap:round}.fig-pulse{fill:none;stroke:var(--moss);stroke-width:1px}.fig-answer{fill:var(--bg);stroke:var(--moss);stroke-width:1.4px}.fig-packet{fill:var(--moss)}.fig-packet-out{fill:var(--soil)}.fig-dim{fill:var(--muted)}.garden-note{border:1px dashed var(--border-strong);font-family:var(--font-hand);color:var(--moss);border-radius:16px;align-items:center;gap:10px;margin:32px 0 0;padding:8px 14px 8px 10px;font-size:1.05rem;display:inline-flex;transform:rotate(-1deg)}.garden-note svg{fill:none;width:22px;height:22px;stroke:var(--moss);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;flex:none}.name-block{width:fit-content;max-width:100%}.button-secondary{color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong);background:0 0}.button-secondary:hover{box-shadow:inset 0 0 0 1px var(--moss), var(--shadow-soft)}.fig-big{font-family:var(--font-serif);fill:var(--text);font-size:22px;font-weight:700}.fig-area{fill:var(--moss);fill-opacity:.12}.fig-tiny{font-size:9px}.case{background:var(--card);border:1px solid var(--border-strong);flex-direction:column;height:100%;padding:22px 24px 24px;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s;display:flex}.case:hover{box-shadow:var(--shadow-soft);transform:translateY(-4px)}.case-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.case-icon{fill:none;width:34px;height:34px;stroke:var(--soil);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;flex:none;transform:rotate(-8deg)}.case h3{font-family:var(--font-serif);letter-spacing:-.015em;margin:6px 0 2px;font-size:clamp(1.5rem,3.4vw,1.9rem);font-weight:400}.case-client{font-family:var(--font-hand);color:var(--soil);margin:0 0 16px}.case-fields{flex:1;margin:0 0 20px}.case .tags{margin-top:auto}.case-fields>div{border-top:1px dashed var(--border-strong);gap:4px 20px;padding:10px 0;display:grid}@media (width>=640px){.case-fields>div{grid-template-columns:7.5em 1fr}}.case-fields dt{font-family:var(--font-mono);color:var(--muted);padding-top:3px;font-size:.78rem}.case-fields dd{margin:0}@media (prefers-reduced-motion:reduce){.case{transition:none}.case:hover{transform:none}}.carousel{--gap:24px}.carousel-bar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.carousel-count{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.78rem}.carousel-controls{gap:10px;display:flex}.carousel-arrow{border:1px solid var(--border-strong);background:var(--card);width:42px;height:42px;color:var(--text);font-family:var(--font-mono);cursor:pointer;border-radius:50%;font-size:1.05rem;transition:transform .26s cubic-bezier(.2,.7,.2,1),box-shadow .26s,border-color .26s}.carousel-arrow:hover:not(:disabled){border-color:var(--moss);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.carousel-arrow:disabled{opacity:.35;cursor:default}.carousel-arrow:focus-visible,.carousel-dot:focus-visible,.carousel-track:focus-visible{outline:2px solid var(--soil);outline-offset:3px}.carousel-track{gap:var(--gap);scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;grid-auto-columns:100%;grid-auto-flow:column;margin:0 -6px;padding:10px 6px 34px;scroll-padding:0 6px;display:grid;position:relative;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}@media (width>=760px){.carousel-track{grid-auto-columns:calc((100% - var(--gap)) / 2)}}.carousel-slide{scroll-snap-align:start;min-width:0}.carousel-dots{justify-content:center;gap:10px;margin-top:-14px;display:flex}.carousel-dot{border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:50%;width:10px;height:10px;padding:0;transition:background .2s,transform .2s}.carousel-dot[aria-current=true]{background:var(--moss);border-color:var(--moss);transform:scale(1.15)}@media (prefers-reduced-motion:reduce){.carousel-arrow,.carousel-dot{transition:none}.carousel-arrow:hover:not(:disabled){transform:none}}
