@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/bricolage-grotesque-latin-opsz-normal-Cre6nC2_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/bricolage-grotesque-latin-ext-opsz-normal-IcJDqblK.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#f3f1ec;--surface:#e7e4dc;--ink:#1f1c18;--muted:#5f5a51;--line:#cfcabe;--rule:#e3b22f;--rule-ink:#1f1c18;--wood:#8a6a4a;--focus:#1f1c18;--on-ink-accent:#e3b22f;--on-ink-error:#ff9d8a;--on-ink-border:#898782;--on-ink-placeholder:#a8a39b;--f-display:"Bricolage Grotesque", "Arial Narrow", system-ui, sans-serif;--f-body:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--radius:4px;--max:1200px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#171512;--surface:#211e1a;--ink:#ece7dd;--muted:#a59e91;--line:#3a352e;--rule:#e8bb3e;--rule-ink:#171512;--wood:#4a3826;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--focus:#e8bb3e;--on-ink-accent:#7a5300;--on-ink-error:#a5281b;--on-ink-border:#77736d;--on-ink-placeholder:#5f5a51}}:root[data-theme=dark]{--bg:#171512;--surface:#211e1a;--ink:#ece7dd;--muted:#a59e91;--line:#3a352e;--rule:#e8bb3e;--rule-ink:#171512;--wood:#4a3826;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--focus:#e8bb3e;--on-ink-accent:#7a5300;--on-ink-error:#a5281b;--on-ink-border:#77736d;--on-ink-placeholder:#5f5a51}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--f-body);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip{z-index:100;background:var(--ink);color:var(--bg);border-radius:var(--radius);padding:.7rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:1rem}.skip:focus{top:1rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{max-width:var(--max);padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));margin-inline:auto}h1,h2,h3{font-family:var(--f-display);letter-spacing:-.02em;text-wrap:balance;margin:0;line-height:1.02}.mono{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}.eyebrow{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.75rem;font-size:.78rem;display:flex}.eyebrow:before{content:"";background:var(--rule);width:28px;height:2px}.rulebar{z-index:60;pointer-events:none;height:6px;position:fixed;inset:0 0 auto}.rulebar span{transform-origin:0;width:100%;height:100%;transform:scaleX(var(--p,0));background:var(--rule) repeating-linear-gradient(90deg,transparent 0 9px,var(--rule-ink) 9px 10px);background-blend-mode:normal;opacity:.95;display:block}.top{z-index:50;background:color-mix(in oklab,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.top .wrap{justify-content:space-between;align-items:center;gap:1rem;padding-block:.85rem;display:flex}.brand{align-items:center;gap:.65rem;line-height:1;text-decoration:none;display:flex}.brand-text{flex-direction:column;display:flex}.brand-mark{flex:none;width:auto;height:40px;overflow:visible}.lm-seg{fill:var(--rule);stroke:var(--rule-ink);stroke-width:1.1px}.lm-tick{stroke:var(--rule-ink);stroke-width:.9px}.lm-pin{fill:var(--rule-ink)}.brand b{font-family:var(--f-display);letter-spacing:-.03em;font-size:1.5rem;font-weight:800}.brand small{font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;font-size:.62rem}.nav{align-items:center;gap:1.6rem;display:flex}.nav a{font-size:.95rem;font-weight:500;text-decoration:none}.nav a:not(.btn):hover{text-decoration:underline;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:5px;text-decoration-thickness:2px}.btn{border-radius:var(--radius);border:2px solid var(--ink);background:var(--ink);color:var(--bg);cursor:pointer;font-weight:600;font-family:var(--f-body);align-items:center;gap:.55rem;padding:.8rem 1.15rem;font-size:1rem;text-decoration:none;transition:transform .2s,background .2s,color .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover{background:var(--ink);color:var(--bg)}.status{font-family:var(--f-mono);letter-spacing:.04em;align-items:center;gap:.5rem;font-size:.75rem;display:inline-flex}.status i{background:var(--muted);border-radius:50%;width:9px;height:9px}.status.open i{background:#3f9a5b;animation:2s infinite pulse;box-shadow:0 0 0 4px oklab(61.5065% -.1124 .0625156/.25)}@keyframes pulse{50%{box-shadow:0 0 0 7px #0000}}.burger{cursor:pointer;color:var(--ink);background:0 0;border:0;padding:.4rem;display:none}@media (width<=860px){.top .wrap{flex-wrap:wrap}.nav{flex-wrap:wrap;gap:.6rem 1.2rem}.js .nav{padding:1.4rem max(20px,env(safe-area-inset-left,0px));background:var(--bg);border-bottom:1px solid var(--line);visibility:hidden;flex-flow:column;align-items:flex-start;gap:1rem;transition:transform .35s,visibility 0s .35s;position:fixed;inset:64px 0 auto;transform:translateY(-130%)}.js .nav.open{visibility:visible;transition:transform .35s;transform:none}.js .burger{display:block}.top .status{display:none}}.hero{padding-block:clamp(2.5rem,6vw,5rem) clamp(2rem,4vw,3.5rem)}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:end;gap:clamp(1.5rem,4vw,4rem);display:grid}.hero h1{font-size:clamp(2.7rem,7.4vw,6.4rem);font-weight:800}.hero h1 .w{vertical-align:bottom;display:inline-block;overflow:hidden}.hero h1 .w>span{display:inline-block}.js .hero h1 .w>span{animation:.9s cubic-bezier(.2,.8,.2,1) both rise;animation-delay:calc(var(--i)*90ms)}@keyframes rise{0%{transform:translateY(105%)}}.hero h1 em{background:linear-gradient(transparent 62%,var(--rule) 62% 88%,transparent 88%);font-style:normal}.lead{color:var(--muted);max-width:34ch;margin:1.4rem 0 2rem;font-size:clamp(1.05rem,1.6vw,1.25rem)}.cta{flex-wrap:wrap;gap:.8rem;display:flex}.hero-media{aspect-ratio:4/5;border-radius:var(--radius);background:var(--wood);max-width:100%;position:relative;overflow:hidden}.hero-media img{object-fit:cover;width:100%;height:115%;transform:translateY(var(--py,0))}.js .hero-media{animation:1.2s cubic-bezier(.7,0,.2,1) .15s both wipe}@keyframes wipe{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}.tag{background:var(--bg);color:var(--ink);border-radius:var(--radius);font-family:var(--f-mono);letter-spacing:.05em;padding:.6rem .8rem;font-size:.72rem;line-height:1.4;position:absolute;bottom:1rem;left:1rem}.facts{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:clamp(2rem,4vw,3rem);display:grid}.facts div{background:var(--bg);padding:1.1rem 1.2rem}.facts dt{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.facts dd{margin:.25rem 0 0;font-weight:600}@media (width<=860px){.hero-grid{grid-template-columns:1fr}.hero-media{aspect-ratio:4/3}.facts{grid-template-columns:1fr}}.ruler{background:var(--rule);height:34px;color:var(--rule-ink);margin-block:clamp(2.5rem,6vw,4.5rem) 0;position:relative;overflow:hidden}.ruler:before{content:"";background-color:#0000;background-image:repeating-linear-gradient(90deg,currentColor 0 1px,#0000 1px 10px),repeating-linear-gradient(90deg,currentColor 0 1px,#0000 1px 50px);background-position:0 0,0 0;background-repeat:repeat-x;background-size:auto 6px,auto 12px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:12px;position:absolute;inset:0 0 auto}.ruler-nums{font-family:var(--f-mono);white-space:nowrap;transform:translateX(var(--rx,0));font-size:.62rem;display:flex;position:absolute;bottom:3px;left:0}.ruler-nums span{width:100px;padding-left:2px}section{padding-block:clamp(3.5rem,8vw,6.5rem)}.sec-head{grid-template-columns:1fr 1fr;align-items:end;gap:2rem;margin-bottom:clamp(2rem,4vw,3.5rem);display:grid}.sec-head h2{margin-top:.8rem;font-size:clamp(2.1rem,4.6vw,3.8rem);font-weight:700}.sec-head p{color:var(--muted);max-width:46ch;margin:0}@media (width<=860px){.sec-head{grid-template-columns:1fr}}.services{grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.6rem);display:grid}.svc{flex-direction:column;gap:1rem;min-width:0;display:flex}.svc figure{aspect-ratio:3/4;border-radius:var(--radius);background:var(--wood);max-width:100%;margin:0;position:relative;overflow:hidden}.svc img{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .6s}.svc:hover img{transform:scale(1.06)}.svc figcaption{background:var(--rule);color:var(--rule-ink);font-family:var(--f-mono);border-radius:2px;padding:.25rem .5rem;font-size:.68rem;position:absolute;top:.8rem;right:.8rem}.svc h3{font-size:1.65rem;font-weight:700}.svc p{color:var(--muted);margin:0}.svc ul{flex-wrap:wrap;gap:.4rem;margin:.2rem 0 0;padding:0;list-style:none;display:flex}.svc li{border:1px solid var(--line);border-radius:99px;padding:.2rem .6rem;font-size:.82rem}@media (width<=900px){.services{grid-template-columns:1fr 1fr}}@media (width<=600px){.services{grid-template-columns:1fr}.svc figure{aspect-ratio:4/3}}.band{background:var(--surface)}.steps{border-top:2px solid var(--ink);grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none;display:grid}.steps li{min-width:0;padding:1.3rem 1.2rem 0 0;position:relative}.steps li:before{content:"";background:var(--rule);border:2px solid var(--ink);border-radius:50%;width:14px;height:14px;position:absolute;top:-8px;left:0}.steps .mono{color:var(--muted)}.steps h3{margin:.5rem 0 .4rem;font-size:1.25rem}.steps p{color:var(--muted);margin:0;font-size:.95rem}@media (width<=900px){.steps{border-top:0;border-left:2px solid var(--ink);grid-template-columns:1fr;gap:1.6rem}.steps li{padding:0 0 0 1.4rem}.steps li:before{top:4px;left:-8px}}.strip{scroll-snap-type:x mandatory;scrollbar-color:var(--rule) transparent;gap:1rem;padding-bottom:1rem;display:flex;overflow-x:auto}.strip figure{scroll-snap-align:start;flex:0 0 min(78vw,420px);margin:0}.strip .ph{aspect-ratio:4/3;border-radius:var(--radius);background:var(--wood);max-width:100%;overflow:hidden}.strip img{object-fit:cover;width:100%;height:100%}.strip figcaption{color:var(--muted);justify-content:space-between;gap:1rem;margin-top:.6rem;font-size:.88rem;display:flex}.about{grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}.about .ph{aspect-ratio:1;border-radius:var(--radius);background:var(--wood);max-width:100%;overflow:hidden}.about .ph img{object-fit:cover;width:100%;height:100%}.about h2{margin:.8rem 0 1.2rem;font-size:clamp(2rem,4.2vw,3.4rem)}.about p{max-width:58ch;color:var(--muted)}.sig{font-family:var(--f-display);color:var(--ink);margin-top:1.5rem;font-size:1.3rem;font-weight:700}.sig small{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:.3rem;font-size:.7rem;font-weight:400;display:block}@media (width<=860px){.about{grid-template-columns:1fr}.about .ph{aspect-ratio:16/10}}.contact{background:var(--ink);color:var(--bg)}.contact .eyebrow{color:color-mix(in oklab,var(--bg) 70%,var(--ink))}.contact-grid{grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);display:grid}.contact h2{margin:.8rem 0 1.5rem;font-size:clamp(2.3rem,5vw,4.4rem)}.big{font-family:var(--f-display);word-break:break-word;font-size:clamp(1.6rem,3vw,2.3rem);font-weight:700;line-height:1.15;text-decoration:none;display:block}.big:hover{color:var(--on-ink-accent)}.addr{margin-top:1.8rem;line-height:1.6}.hours{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:1.8rem}.hours td{border-bottom:1px solid color-mix(in oklab,var(--bg) 18%,var(--ink));padding:.55rem 0}.hours td:last-child{text-align:right;font-family:var(--f-mono);font-size:.9rem}.hours tr.today td{color:var(--on-ink-accent);font-weight:600}.contact{--focus:var(--on-ink-accent)}form{align-content:start;gap:1rem;display:grid}label{font-size:.85rem;font-family:var(--f-mono);letter-spacing:.04em;gap:.35rem;display:grid}input,select,textarea{font:inherit;font-family:var(--f-body);border-radius:var(--radius);border:1px solid var(--on-ink-border);background:color-mix(in oklab,var(--bg) 6%,var(--ink));color:var(--bg);padding:.8rem .9rem;font-size:1rem}::placeholder{color:var(--on-ink-placeholder);opacity:1}[aria-invalid=true]{border-color:var(--on-ink-error);box-shadow:inset 0 0 0 1px var(--on-ink-error)}textarea{resize:vertical;min-height:130px}.row2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.err{color:var(--on-ink-error);font-size:.8rem}.err:empty{display:none}.check{font-family:var(--f-body);letter-spacing:0;grid-template-columns:auto 1fr;align-items:start;gap:.4rem .75rem;font-size:.92rem;line-height:1.5}.check input{width:1.3rem;height:1.3rem;accent-color:var(--on-ink-accent);margin:.1rem 0 0;padding:0}.check .err{grid-column:2}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact .btn{background:var(--rule);border-color:var(--rule);color:var(--rule-ink);justify-self:start}.btn:disabled{opacity:.7;cursor:progress;transform:none}.note{opacity:.75;margin:0;font-size:.8rem}.formmsg{font-family:var(--f-mono);margin:0;font-size:.85rem}.formmsg:empty{display:none}.formmsg.ok{color:var(--on-ink-accent)}.formmsg.error{color:var(--on-ink-error)}.formmsg a{color:inherit;font-weight:600}@media (width<=860px){.contact-grid,.row2{grid-template-columns:1fr}}footer{color:var(--muted);padding-block:2rem;font-size:.85rem}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}footer a{color:var(--muted)}.credits{margin-top:.6rem;font-size:.72rem}.legal{padding-block:clamp(2.5rem,6vw,4.5rem)}.legal h1{-webkit-hyphens:manual;hyphens:manual;margin:.8rem 0 1.5rem;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:800}.legal h2{margin:2.6rem 0 .7rem;font-size:clamp(1.3rem,2.4vw,1.6rem);font-weight:700}.legal p,.legal ul{max-width:68ch}.todo,.techfacts{border-left:4px solid var(--rule);background:var(--surface);border-radius:0 var(--radius) var(--radius) 0;padding:.75rem 1rem}.todo{font-family:var(--f-mono);font-size:.85rem}.techfacts{color:var(--muted);margin-block:1rem;font-size:.95rem}.techfacts p{color:var(--ink);margin:0 0 .3rem}.techfacts ul{margin:0;padding-left:1.2rem}.todo-inline{font-family:var(--f-mono);background:var(--surface);padding:0 .3em;font-size:.85em}footer a[aria-current=page]{color:var(--ink)}.js .rv{opacity:.001;transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .9s;transform:translateY(28px)}.js .rv.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.js .rv{opacity:1;transform:none}.hero-media img,.svc:hover img,.btn:hover{transform:none}}
