@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2) format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2) format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2) format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2) format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2) format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2) format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Architects Daughter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/architects-daughter-latin-ext-400-normal-BsHeVfRr.woff2) format("woff2"),url(/assets/architects-daughter-latin-ext-400-normal-FqHtA13I.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Architects Daughter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/architects-daughter-latin-400-normal-DOGE_9Aw.woff2) format("woff2"),url(/assets/architects-daughter-latin-400-normal-Ze4cbGW2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f1f0e8;--paper-deep: #e6e4d8;--sage-wash: #e1e6d9;--ink: #2b2723;--ink-2: #57514a;--ink-3: #847c72;--line-soft: rgb(43 39 35 / .22);--grid: rgb(62 90 71 / .1);--grid-major: rgb(62 90 71 / .2);--ochre: #b9832f;--walnut: #5a3a24;--forest: #2f4a3a;--forest-deep: #22372a;--sage: #9db09a;--rust: #9b3d20;--wood: var(--ochre);--font-plan: "Barlow Condensed", "Arial Narrow", sans-serif;--font-body: "Barlow", "Segoe UI", sans-serif;--font-hand: "Architects Daughter", cursive;--topbar: 64px;--gutter: clamp(16px, 4vw, 56px);--margin: 22px;--ease-out: cubic-bezier(.16, 1, .3, 1);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--topbar);scrollbar-color:var(--ink-3) var(--paper);-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.55 var(--font-body);-webkit-font-smoothing:antialiased;caret-color:var(--forest)}::selection{background:color-mix(in srgb,var(--wood) 38%,var(--paper));color:var(--ink)}:focus-visible{outline:2px solid var(--forest);outline-offset:3px}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}img,svg{display:block}h1,h2,h3{margin:0;font-family:var(--font-plan);font-weight:600;text-transform:uppercase;text-wrap:balance}h2{font-size:clamp(2.1rem,4.2vw,3.8rem);line-height:.95;letter-spacing:.005em}p{margin:0}.hand{font-family:var(--font-hand)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:12px;top:-60px;z-index:20;padding:10px 16px;background:var(--forest);color:var(--paper)}.skip:focus{top:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 22px;border:0;border-radius:0;font:600 1rem/1 var(--font-plan);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .2s ease}.btn svg{width:24px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .35s var(--ease-out)}.btn:hover svg{transform:translate(5px)}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--forest);color:var(--paper)}.btn--primary:hover{background:var(--forest-deep)}.btn:focus-visible{outline-color:var(--ink)}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--topbar);padding:0 var(--gutter);background:var(--paper);border-bottom:1px solid var(--ink)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand strong{display:block;font:600 1.18rem/1 var(--font-plan);letter-spacing:.07em;text-transform:uppercase}.brand small{display:block;margin-top:3px;font:500 .72rem/1 var(--font-plan);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2)}.mark{width:30px;height:26px;fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linejoin:round}.topbar nav{display:flex;gap:clamp(18px,2.4vw,36px)}.topbar nav a,.topbar__phone{font:500 .92rem/1 var(--font-plan);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:8px 0;background:linear-gradient(var(--wood),var(--wood)) left bottom / 0 2px no-repeat;transition:background-size .35s var(--ease-out)}.topbar nav a:hover,.topbar__phone:hover{background-size:100% 2px}.topbar__phone{justify-self:end;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.08em}.sheet{padding:12px var(--gutter-s, 12px) 0}.sheet__frame{position:relative;height:calc(100svh - var(--topbar) - 12px);min-height:640px;max-height:1040px;border:1px solid var(--ink);background:var(--paper)}.sheet__frame:before{content:"";position:absolute;inset:var(--margin);border:1.5px solid var(--ink);pointer-events:none;z-index:2}.sheet__zones{position:absolute;display:flex;font:500 .7rem/1 var(--font-plan);color:var(--ink-2);letter-spacing:.08em}.sheet__zones span{flex:1;display:grid;place-items:center}.sheet__zones span+span{border-left:1px solid var(--line-soft)}.sheet__zones--top{top:0;left:var(--margin);right:var(--margin);height:var(--margin)}.sheet__zones--side{flex-direction:column;left:0;top:var(--margin);bottom:var(--margin);width:var(--margin)}.sheet__zones--side span+span{border-left:0;border-top:1px solid var(--line-soft)}.sheet__canvas{position:absolute;inset:var(--margin);overflow:hidden;background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0 / 32px 32px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0 / 32px 32px}.sheet__canvas canvas{cursor:grab}.sheet__canvas canvas:active{cursor:grabbing}.sheet__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--ink-2);font-size:1.1rem}.sheet__fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:end start;padding:24px;background-size:320px}.sheet__fallback p{background:var(--paper);padding:6px 10px}.sheet__title{position:absolute;z-index:3;top:calc(var(--margin) + clamp(28px,4vh,52px));left:calc(var(--margin) + clamp(24px,3.2vw,56px));max-width:min(40vw,620px);pointer-events:none}.sheet__title h1{font-size:clamp(3rem,6vw,6rem);line-height:.88;letter-spacing:.002em}.sheet__title p{margin-top:clamp(16px,2.4vh,28px);max-width:36ch;font-size:1.08rem;color:var(--ink-2);text-wrap:pretty}.floor-note{display:block;padding:1px 6px;background:var(--paper);white-space:nowrap;font:400 .95rem/1 var(--font-hand);color:var(--ink);translate:-100% -50%}.dim-label{display:block;padding:1px 6px;background:var(--paper);font:500 .9rem/1.2 var(--font-plan);letter-spacing:.06em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}.sheet__hint{position:absolute;right:clamp(20px,3vw,44px);bottom:20px;display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:.95rem;pointer-events:none}.sheet__hint svg{width:36px;height:20px;fill:none;stroke:var(--ink-2);stroke-width:1.4;stroke-linecap:round}.swatches{position:absolute;z-index:3;top:clamp(20px,4vh,44px);right:clamp(20px,2.4vw,36px);display:flex;flex-direction:column;align-items:flex-end;gap:16px;margin:0;padding:0;border:0}.swatches__note{display:flex;align-items:flex-start;gap:4px;float:right;margin:0 22px 6px 0;padding:0;font-size:1rem;color:var(--ink-2)}.swatches__note svg{width:30px;height:24px;margin-top:8px;fill:none;stroke:var(--ink-2);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.swatch{position:relative;display:flex;flex-direction:row-reverse;align-items:center;gap:12px;cursor:pointer}.swatch__name{padding:2px 6px;background:var(--paper);font:500 .82rem/1.2 var(--font-plan);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);transition:opacity .2s ease}.swatch[data-checked] .swatch__name{color:var(--ink);font-weight:600}.swatch__disc{position:relative;width:64px;height:64px;flex:none;border-radius:50%;border:1.5px solid var(--ink);background:var(--paper);box-shadow:0 6px 14px -6px #2b272373;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}.swatch__disc img{width:100%;height:100%;border-radius:50%;object-fit:cover}.swatch__disc:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:2px solid var(--wood);filter:url(#pencil-2);opacity:0;transform:rotate(-30deg) scale(.9);transition:opacity .3s ease,transform .5s var(--ease-out)}.swatch[data-checked] .swatch__disc:after{opacity:1;transform:none}.swatch:hover .swatch__disc{transform:scale(1.06);box-shadow:0 10px 20px -8px #2b272380}.swatch input:focus-visible~.swatch__disc{outline:2px solid var(--forest);outline-offset:12px}.swatch__probe{position:absolute;right:80px;top:50%;width:210px;padding:8px;background:var(--paper);border:1px solid var(--ink);translate:0 -50%;clip-path:inset(0 0 0 100%);transition:clip-path .22s var(--ease-out);pointer-events:none}.swatch__strip{display:block;height:30px;background-size:220px;background-position:center}.swatch__wood{display:block;margin-top:6px;font:500 .8rem/1.2 var(--font-plan);letter-spacing:.08em;text-transform:uppercase}@media (hover: hover){.swatch:hover .swatch__probe{clip-path:inset(0)}.swatch:hover .swatch__name{opacity:0}}.titleblock{position:absolute;z-index:3;left:calc(var(--margin) + clamp(24px,3.2vw,56px));bottom:calc(var(--margin) + clamp(16px,2vw,28px));width:min(380px,34vw);background:var(--paper);border:1.5px solid var(--ink)}.titleblock__head{display:flex;justify-content:space-between;padding:9px 12px;border-bottom:1.5px solid var(--ink);font:600 .82rem/1 var(--font-plan);letter-spacing:.12em;text-transform:uppercase}.titleblock dl{margin:0}.titleblock dl div{display:grid;grid-template-columns:86px 1fr;border-bottom:1px solid var(--line-soft)}.titleblock dt,.titleblock dd{margin:0;padding:7px 12px}.titleblock dt{border-right:1px solid var(--line-soft);font:500 .75rem/1.6 var(--font-plan);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.titleblock dd{font-size:.94rem;line-height:1.4;font-variant-numeric:tabular-nums}.titleblock dl div:nth-child(2) dd:before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:var(--wood);transition:background-color .6s ease}.titleblock .btn{width:100%;justify-content:space-between}.gridpaper{background-color:var(--paper);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);background-size:120px 120px,120px 120px,24px 24px,24px 24px;background-position:-1px -1px}.sketch{position:relative;isolation:isolate}.sketch:before,.sketch:after{content:"";position:absolute;z-index:-1;pointer-events:none;transition:clip-path 1.2s var(--ease-out)}.sketch:before{top:0;right:0;bottom:0;left:0;border:1.5px solid var(--ink);filter:url(#pencil)}.sketch:after{top:5px;right:-6px;bottom:-4px;left:3px;border:1px solid rgb(43 39 35 / .45);filter:url(#pencil-2);transition-delay:.25s}.js .sketch:not(.is-drawn):before,.js .sketch:not(.is-drawn):after{clip-path:inset(-12px 100% 100% -12px)}.sketch.is-drawn:before,.sketch.is-drawn:after{clip-path:inset(-12px)}.services{padding:clamp(80px,11vw,150px) var(--gutter) clamp(90px,12vw,160px);border-top:1px solid var(--ink)}.services__head{display:grid;grid-template-columns:repeat(12,1fr);gap:28px;align-items:end;margin-bottom:clamp(48px,6vw,80px)}.services__head h2{grid-column:1 / span 7}.services__head p{grid-column:9 / span 4;color:var(--ink-2);max-width:42ch}.services__rows{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(36px,4vw,52px) clamp(24px,2.6vw,40px)}.detail{grid-column:span var(--span);display:grid;grid-template-rows:auto auto 1fr;gap:18px;padding:22px clamp(20px,2vw,30px) 28px;background:#f1f0e8eb}.detail--wide{grid-template-columns:minmax(200px,1fr) minmax(0,1.1fr);grid-template-rows:auto 1fr;column-gap:clamp(20px,2.6vw,40px)}.detail--wide .detail__callout{grid-column:1 / -1}.detail__callout{display:flex;align-items:center;gap:10px;font:500 .78rem/1 var(--font-plan);letter-spacing:.14em;text-transform:uppercase}.detail__letter{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--ink);background:color-mix(in srgb,var(--wood) 22%,var(--paper));font:600 1.05rem/1 var(--font-plan);letter-spacing:0;transition:background-color .6s ease}.detail__rule{width:28px;border-top:1px solid var(--ink)}.detail__scale{margin-left:auto;color:var(--ink-2)}.detail__drawing .dw{width:100%;height:auto;max-height:210px}.detail--wide .detail__drawing,.detail--wide .detail__body{align-self:center}.detail h3{font-size:clamp(1.4rem,1.9vw,1.75rem);line-height:1;letter-spacing:.02em}.detail p{margin-top:10px;color:var(--ink-2);max-width:54ch;text-wrap:pretty}.detail ul{display:flex;flex-wrap:wrap;gap:6px 18px;margin:16px 0 0;padding:0;list-style:none}.detail li{display:flex;align-items:center;gap:8px;font:500 .8rem/1.3 var(--font-plan);letter-spacing:.1em;text-transform:uppercase}.detail li:before{content:"";width:12px;border-top:1.5px solid var(--wood)}.dw{fill:none;stroke:var(--ink);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.dw .thin{stroke-width:.8}.dw .f-hatch{fill:url(#hatch)}.dw .f-dots{fill:url(#dots)}.dw .f-insul{fill:url(#insul)}.dw .f-wood{fill:color-mix(in srgb,var(--wood) 30%,transparent)}.dw .f-paper{fill:var(--paper)}.dw .f-ink{fill:var(--ink)}.dw .paper{fill:var(--paper);stroke:none}.dw .dw-t{fill:var(--ink-2);stroke:none;font:400 10.5px var(--font-hand)}.process{padding:clamp(80px,10vw,140px) var(--gutter);border-top:1px solid var(--ink)}.chain{display:grid;grid-template-columns:repeat(4,1fr);margin:clamp(48px,6vw,80px) 0 0;padding:0;list-style:none}.chain li{position:relative;border-left:1px solid var(--line-soft)}.chain li:last-child{border-right:1px solid var(--line-soft)}.chain h3{position:relative;display:flex;align-items:baseline;gap:10px;padding:0 clamp(14px,1.6vw,24px) 14px;border-bottom:1.5px solid var(--ink);font-size:clamp(1.3rem,1.8vw,1.65rem);line-height:1;letter-spacing:.03em}.chain__n{font:400 1rem/1 var(--font-hand);color:var(--ink-2)}.chain h3:after,.chain li:last-child h3:before{content:"";position:absolute;bottom:-1px;width:18px;border-top:2px solid var(--ink);rotate:-45deg}.chain h3:after{left:-9px}.chain li:last-child h3:before{right:-9px}.chain p{padding:16px clamp(14px,1.6vw,24px) 0;color:var(--ink-2);max-width:36ch}.contact{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(36px,4vw,64px) 28px;padding:clamp(80px,10vw,140px) var(--gutter);background:var(--sage-wash);border-top:1px solid var(--ink)}.contact__intro{grid-column:1 / span 4}.contact__intro p{margin-top:20px;color:var(--ink-2);max-width:38ch}.contact address{display:grid;gap:2px;margin-top:36px;padding-top:20px;border-top:1px solid var(--ink);font-style:normal}.contact address strong{font:600 1.25rem/1.2 var(--font-plan);letter-spacing:.06em;text-transform:uppercase}.contact address span:nth-of-type(1){margin-bottom:10px;font:500 .78rem/1.4 var(--font-plan);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}.contact address a{font-variant-numeric:tabular-nums}.contact address a:first-of-type{margin-top:10px}.form{grid-column:6 / span 7;padding:clamp(24px,3.4vw,48px);background:var(--paper)}.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 36px}.field{position:relative;display:grid;gap:4px;align-content:start}.field__label{font:500 .8rem/1.3 var(--font-plan);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.field__label em{font:400 .88rem var(--font-hand);letter-spacing:0;text-transform:none;line-height:1;color:var(--ink-3);margin-left:4px}.field{--line: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 400 8%27 preserveAspectRatio=%27none%27%3E%3Cpath d=%27M0 3.4C90 2.6 170 4 260 3.1S360 2.8 400 3.5%27 fill=%27none%27 stroke=%27%232B2723%27 stroke-width=%271.5%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M8 6.4L394 5.8%27 fill=%27none%27 stroke=%27%232B2723%27 stroke-opacity=%27.35%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/svg%3E")}.field:focus-within{--line: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 400 8%27 preserveAspectRatio=%27none%27%3E%3Cpath d=%27M0 3.4C90 2.6 170 4 260 3.1S360 2.8 400 3.5%27 fill=%27none%27 stroke=%27%232F4A3A%27 stroke-width=%272.4%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M8 6.4L394 5.8%27 fill=%27none%27 stroke=%27%232F4A3A%27 stroke-opacity=%27.35%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/svg%3E")}.field:has(:user-invalid){--line: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 400 8%27 preserveAspectRatio=%27none%27%3E%3Cpath d=%27M0 3.4C90 2.6 170 4 260 3.1S360 2.8 400 3.5%27 fill=%27none%27 stroke=%27%239B3D20%27 stroke-width=%272%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M8 6.4L394 5.8%27 fill=%27none%27 stroke=%27%239B3D20%27 stroke-opacity=%27.35%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/svg%3E")}.field input,.field select{width:100%;min-height:44px;padding:8px 2px 10px;border:0;border-radius:0;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent var(--line) left bottom / 100% 8px no-repeat;font:400 1.06rem/1.4 var(--font-body);color:var(--ink)}.field select{padding-right:28px;background:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 14 8%27%3E%3Cpath d=%27M1 1l6 6 6-6%27 fill=%27none%27 stroke=%27%232B2723%27 stroke-width=%271.5%27/%3E%3C/svg%3E") right 4px center / 14px 8px no-repeat,var(--line) left bottom / 100% 8px no-repeat;cursor:pointer}.field__error{display:none;margin-top:4px;font-size:.86rem;color:var(--rust)}.field:has(:user-invalid) .field__error{display:block}::placeholder{color:var(--ink-2);opacity:1}.field--area{margin-top:30px}.area{display:block;margin-top:6px}.area textarea{display:block;width:100%;min-height:140px;padding:14px 16px;border:0;outline:none;resize:vertical;background:transparent;font:400 1.04rem/1.5 var(--font-body);color:var(--ink)}.area:focus-within:before{border-color:var(--forest);border-width:2px}.chips{display:flex;flex-wrap:wrap;gap:12px 12px;margin:34px 0 30px;padding:0;border:0}.chips legend{float:left;width:100%;margin-bottom:12px;padding:0}.chip{position:relative;cursor:pointer}.chip input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;cursor:pointer}.chip span{position:relative;display:block;padding:9px 16px;border:1px solid rgb(43 39 35 / .35);border-radius:999px;font:500 .86rem/1.2 var(--font-plan);letter-spacing:.1em;text-transform:uppercase;transition:background-color .2s ease,border-color .2s ease}.chip span:after{content:"";position:absolute;top:-6px;right:-7px;bottom:-6px;left:-7px;border:1.6px solid var(--forest);border-radius:50%;filter:url(#pencil-2);rotate:-2.5deg;opacity:0;scale:.92;transition:opacity .2s ease,scale .4s var(--ease-out)}.chip:hover span{border-color:var(--ink)}.chip input:checked+span{background:color-mix(in srgb,var(--forest) 12%,var(--paper));border-color:transparent}.chip input:checked+span:after{opacity:1;scale:1}.chip input:focus-visible+span{outline:2px solid var(--forest);outline-offset:8px}.consent{display:flex;gap:12px;align-items:flex-start;margin-top:28px;font-size:.94rem;color:var(--ink-2);cursor:pointer}.consent input{flex:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;margin:2px 0 0;border:1.5px solid var(--ink);background:var(--paper) center / 14px no-repeat;cursor:pointer}.consent input:checked{background-color:var(--forest);border-color:var(--forest);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'%3E%3Cpath d='M1.5 6.5l3.5 3.5 7.5-8.5' fill='none' stroke='%23F1F0E8' stroke-width='2'/%3E%3C/svg%3E")}.consent input:user-invalid{border-color:var(--rust)}.form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:34px;padding-top:28px;border-top:1px solid var(--line-soft)}.form__status{flex:1 1 260px;font-size:.92rem;color:var(--ink-2);max-width:46ch}.footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 40px;padding:36px var(--gutter);background:var(--forest);color:var(--paper)}.footer__brand{display:flex;align-items:center;gap:12px;font:600 1.15rem/1 var(--font-plan);letter-spacing:.07em;text-transform:uppercase}.footer .mark{stroke:var(--paper)}.footer p{color:#f1f0e8d1}.footer__legal{font:500 .88rem/1 var(--font-plan);letter-spacing:.14em;text-transform:uppercase}.todo{font-style:italic}@media (max-width: 1100px){.services__head h2{grid-column:1 / -1}.services__head p{grid-column:1 / span 8}.contact__intro{grid-column:1 / -1}.contact__intro p{max-width:56ch}.form{grid-column:1 / -1}}@media (max-width: 899px){:root{--margin: 16px}.topbar{grid-template-columns:1fr auto}.topbar nav{display:none}.sheet{padding:8px 8px 0}.sheet__frame{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;padding:var(--margin)}.sheet__zones--side{display:none}.sheet__title{position:static;max-width:none;padding:28px 18px 20px;pointer-events:auto}.sheet__title h1{font-size:clamp(2.6rem,12vw,4rem)}.sheet__title p{margin-top:14px;font-size:1rem}.sheet__canvas{position:relative;inset:auto;height:max(360px,min(56svh,540px));border-top:1px solid var(--line-soft)}.swatches{top:auto;right:0;left:0;bottom:0;flex-direction:row;justify-content:center;align-items:flex-end;gap:18px;padding:12px 8px 14px;background:linear-gradient(transparent,#f1f0e8f0 38%)}.swatches{z-index:1}.swatches__note{display:none}.swatch{flex-direction:column;gap:6px}.swatch__disc{width:56px;height:56px}.swatch__name{font-size:.74rem;background:none}.swatch__probe{display:none}.floor-note{font-size:.78rem}.sheet__hint{top:12px;bottom:auto;right:auto;left:14px;font-size:.85rem}.titleblock{position:static;width:auto;margin:0 18px 20px}.detail,.detail--wide{grid-column:1 / -1;grid-template-columns:1fr;grid-template-rows:none}.detail:nth-child(odd){margin-right:5%}.detail:nth-child(2n){margin-left:5%}.services__head,.services__rows,.contact{grid-template-columns:minmax(0,1fr)}.services__head h2,.services__head p{grid-column:1 / -1}.chain{grid-template-columns:1fr;gap:0}.chain li,.chain li:last-child{border-right:0;border-left:1.5px solid var(--ink);padding:0 0 30px 22px}.chain li:last-child{padding-bottom:0}.chain h3{padding:0;border-bottom:0}.chain h3:after{left:-32px;top:8px;bottom:auto}.chain li:last-child h3:before{display:none}.chain p{padding:8px 0 0}.form__grid{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;transition-delay:0s!important}}
