@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.p.16ipb6fqu393i.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.0q-301v4kxxnr.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_41785ac-module__0ekV1G__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_41785ac-module__0ekV1G__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.0s19wthhh_6~m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.0dza.stei.9v7.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.03nf~dfjdkf~..woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.0gfhww.tctz1o.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.09q3q1i5159bl.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(../media/70bc3e132a0a741e-s.p.1409xf.ylxg8g.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 Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_dabcb788-module__HiP3tG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_dabcb788-module__HiP3tG__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#f7f5f0;--bg-2:#efebe2;--bg-3:#e6e0d3;--ink:#141414;--ink-2:#2c2c2c;--ink-soft:#1414148c;--rule:#1414141f;--placeholder:#14141409;--accent:#ee3533;--accent-deep:#bd0010;--font-display:var(--font-inter), -apple-system, BlinkMacSystemFont, sans-serif;--font-display-weight:600;--font-display-style:normal;--font-body:var(--font-inter), -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:var(--font-mono), ui-monospace, monospace;--density:1;--max:1320px;--pad-x:clamp(20px, 4vw, 56px)}@supports (color:lab(0% 0 0)){:root{--accent:lab(53.7314% 69.1943 47.9494);--accent-deep:lab(39.7537% 69.6842 56.4661)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px;line-height:1.5;overflow-x:clip}body{position:relative}body:before,body:after{content:"";pointer-events:none;z-index:0;filter:blur(80px);opacity:.35;border-radius:50%;position:absolute}body:before{background:color-mix(in oklch, var(--accent) 60%, white);width:480px;height:480px;animation:28s ease-in-out infinite float-1;top:-120px;right:-100px}body:after{background:#a2d8e9;background:lab(82.9432% -14.7747 -14.4898);width:360px;height:360px;animation:32s ease-in-out infinite float-2;bottom:20%;left:-120px}@keyframes float-1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-40px,60px)scale(1.1)}}@keyframes float-2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(60px,-40px)scale(.95)}}.site{z-index:1;position:relative}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}em{font-style:normal;font-family:var(--font-display);font-weight:var(--font-display-weight);color:var(--accent-deep)}.container{width:100%;max-width:var(--max);padding-left:var(--pad-x);padding-right:var(--pad-x);margin:0 auto}.btn{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:15px 24px;font-size:14px;font-weight:500;line-height:1;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.btn svg{flex:none}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{background:var(--accent-deep);color:#fff;transform:translateY(-1px)}.btn-ghost{border-color:color-mix(in oklch, var(--ink) 18%, transparent);color:var(--ink);background:0 0}.btn-ghost:hover{border-color:var(--ink);background:color-mix(in oklch, var(--ink) 4%, transparent)}.btn.lg{padding:18px 30px;font-size:15px}.section-meta{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:12px;font-size:11px;display:inline-flex}.section-meta.center{justify-content:center;display:flex}.section-tag:before{content:"";margin-right:0}.section-head{max-width:920px;margin-bottom:calc(64px * var(--density))}.section-head.two-col{max-width:none;margin-bottom:calc(64px * var(--density));grid-template-columns:1fr auto;align-items:end;gap:48px;display:grid}.section-head.two-col h2{margin-top:18px}.section-title{font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;margin-top:24px;font-size:clamp(36px,4.6vw,68px);font-weight:600;line-height:1.02}.section-title.big{font-size:clamp(44px,6vw,92px)}.section-lede{font-family:var(--font-body);max-width:560px;color:var(--ink-2);text-wrap:pretty;margin-top:24px;font-size:clamp(16px,1.3vw,19px);font-weight:400;line-height:1.5}.section-lede.right{text-align:right;justify-self:end;max-width:420px}.section{padding-top:calc(120px * var(--density));padding-bottom:calc(120px * var(--density));border-top:1px solid var(--rule)}.site-header{z-index:100;padding:18px 0;transition:all .3s;position:fixed;top:0;left:0;right:0}.site-header.scrolled{background:color-mix(in oklch, var(--bg) 60%, transparent);-webkit-backdrop-filter:saturate(180%)blur(24px);border-bottom:1px solid color-mix(in oklch, var(--ink) 8%, transparent);padding:12px 0;box-shadow:inset 0 1px #ffffff80;box-shadow:inset 0 1px lab(100% 0 0/.5)}.header-row{justify-content:space-between;align-items:center;gap:32px;display:flex}.logo{align-items:center;gap:12px;display:flex}.logo-img{width:auto;height:36px;display:block}.logo-wordmark{font-family:var(--font-display);letter-spacing:-.02em;font-size:18px;font-weight:700}.logo-wordmark .mark{color:var(--accent)}.nav-desktop{gap:32px;font-size:14px;display:flex}.nav-desktop a{color:var(--ink-2);padding:6px 0;position:relative}.nav-desktop a:hover{color:var(--ink)}.nav-desktop a:after{content:"";background:var(--ink);width:0;height:1px;transition:width .25s;position:absolute;bottom:0;left:0}.nav-desktop a:hover:after{width:100%}.header-cta{align-items:center;gap:16px;display:flex}.phone-link{font-family:var(--font-mono);letter-spacing:.04em;align-items:center;gap:8px;font-size:12px;display:inline-flex}.phone-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in oklch, var(--accent) 30%, transparent);border-radius:50%;animation:2.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 0 4px color-mix(in oklch, var(--accent) 30%, transparent)}50%{box-shadow:0 0 0 8px color-mix(in oklch, var(--accent) 0%, transparent)}}.menu-btn{flex-direction:column;gap:4px;padding:8px;display:none}.menu-btn span{background:var(--ink);width:22px;height:1.5px;display:block}.mobile-menu{padding:16px var(--pad-x);background:var(--bg);border-top:1px solid var(--rule);flex-direction:column;gap:4px;display:flex}.mobile-menu a{border-bottom:1px solid var(--rule);font-family:var(--font-display);padding:14px 0;font-size:18px;font-weight:500}.mobile-menu a.mobile-cta{color:var(--bg);border-bottom:none;margin-top:16px;font-size:14px;font-weight:500}@media (max-width:960px){.nav-desktop,.header-cta{display:none}.menu-btn{display:inline-flex}}.placeholder-stripes{background:repeating-linear-gradient(135deg, var(--placeholder) 0, var(--placeholder) 10px, transparent 10px, transparent 22px), linear-gradient(180deg, color-mix(in oklch, var(--accent) 25%, var(--bg-2)) 0%, var(--bg-2) 100%);position:absolute;inset:0}.placeholder-stripes.alt{background:repeating-linear-gradient(45deg, var(--placeholder) 0, var(--placeholder) 8px, transparent 8px, transparent 18px), linear-gradient(180deg, var(--bg-3) 0%, var(--bg-2) 100%)}.placeholder-stripes.thumb{background:repeating-linear-gradient(135deg, var(--placeholder) 0, var(--placeholder) 6px, transparent 6px, transparent 14px), linear-gradient(180deg, color-mix(in oklch, var(--accent) 35%, var(--bg-2)) 0%, var(--bg-3) 100%)}.placeholder-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);background:color-mix(in oklch, var(--bg) 75%, transparent);-webkit-backdrop-filter:blur(8px);z-index:2;border-radius:999px;padding:6px 10px;font-size:10px;position:absolute;bottom:16px;left:16px}.hero{padding-top:140px;padding-bottom:80px;position:relative;overflow:hidden}.hero-fullbleed{color:#fff;flex-direction:column;justify-content:flex-end;height:100svh;min-height:520px;max-height:880px;padding-top:0;padding-bottom:0;display:flex}.hero-fullbleed .hero-content{z-index:2;width:100%;padding-top:120px;padding-bottom:32px;position:relative}.hero-bg{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-bg-img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1.6s;display:block;position:absolute;inset:0;transform:scale(1.06)}.hero-bg-img.is-active{opacity:1;animation:14s ease-in-out infinite alternate hero-zoom}@keyframes hero-zoom{0%{transform:scale(1.05)}to{transform:scale(1.14)}}.hero-bg-overlay{background:linear-gradient(#08080cc7 0%,#08080c59 14%,#08080c47 40%,#08080c8c 75%,#08080ce0 100%);position:absolute;inset:0}.hero-fullbleed .hero-eyebrow{color:#ffffffd9}.hero-fullbleed .eyebrow-line{background:#fff9}.hero-fullbleed .hero-title{color:#fff;text-shadow:0 2px 32px #00000059}.hero-fullbleed .hero-title em{color:var(--accent)}.hero-fullbleed .hero-lede{color:#ffffffe0;text-shadow:0 1px 12px #0006;max-width:540px}.hero-fullbleed .hero-bottom{border-bottom-color:#ffffff2e}.hero-fullbleed .btn-ghost{color:#fff;border-color:#fff6}.hero-fullbleed .btn-ghost:hover{background:#ffffff14;border-color:#ffffffb3}.hero-credit-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:20px;display:flex}.hero-credit{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#ffffffb3;align-items:center;gap:10px;font-size:11px;display:inline-flex}.hero-credit-dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.hero-dots{align-items:center;gap:10px;display:inline-flex}.hero-dot{cursor:pointer;background:#ffffff4d;border:0;outline:none;width:28px;height:2px;padding:0;transition:background .25s,width .25s}.hero-dot:hover{background:#fff9}.hero-dot:focus-visible{outline-offset:4px;outline:1px solid #fffc}.hero-dot.is-active{background:var(--accent);width:44px}.hero-fullbleed .hero-marquee{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffd9;background:#08080ca6;border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;margin:0;position:relative}.hero-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:12px;font-size:11px;display:inline-flex}.eyebrow-line{background:var(--ink-soft);width:32px;height:1px;display:inline-block}.hero-title{font-family:var(--font-display);font-weight:var(--font-display-weight);letter-spacing:-.035em;text-wrap:balance;margin-top:16px;font-size:clamp(56px,9vw,156px);line-height:.9}.hero-title em{font-style:var(--font-display-style);color:var(--accent)}.hero-line{display:block}.hero-bottom{border-bottom:1px solid var(--rule);flex-direction:column;align-items:flex-start;gap:22px;margin-top:32px;padding-bottom:28px;display:flex}.hero-lede{font-family:var(--font-body);max-width:480px;color:var(--ink-2);text-wrap:pretty;font-size:clamp(16px,1.3vw,18px);font-weight:400;line-height:1.55}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-visual{grid-template-rows:1fr;grid-template-columns:2.4fr 1fr;gap:16px;margin-top:48px;display:grid;position:relative}.hero-image{border:1px solid var(--rule);border-radius:4px;position:relative;overflow:hidden}.hero-image-main{aspect-ratio:16/9}.hero-image-side{height:100%}.hero-light-1,.hero-light-2{filter:blur(60px);opacity:.5;pointer-events:none;z-index:1;border-radius:50%;position:absolute}.hero-light-1{background:var(--accent);width:360px;height:360px;animation:18s ease-in-out infinite drift;top:-20%;left:10%}.hero-light-2{background:color-mix(in oklch, var(--accent) 70%, white);width:240px;height:240px;animation:22s ease-in-out infinite reverse drift;bottom:-10%;right:15%}@keyframes drift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(40px,-20px)scale(1.1)}66%{transform:translate(-30px,30px)scale(.95)}}.hero-marquee{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:64px;padding:22px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.marquee-track{white-space:nowrap;gap:0;width:max-content;animation:45s linear infinite marquee;display:flex}.marquee-group{font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:0;font-size:24px;font-weight:500;display:inline-flex}.marquee-group .dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin:0 18px;display:inline-block}@keyframes marquee{to{transform:translate(-50%)}}.services-grid{background:color-mix(in oklch, var(--ink) 8%, transparent);border:1px solid color-mix(in oklch, var(--ink) 8%, transparent);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.service-card{background:color-mix(in oklch, var(--bg) 62%, transparent);-webkit-backdrop-filter:blur(12px)saturate(130%);cursor:pointer;outline:none;flex-direction:column;gap:24px;min-height:380px;padding:28px;transition:background .3s,box-shadow .3s;display:flex;position:relative}.service-card:before{content:"";pointer-events:none;opacity:0;background:linear-gradient(135deg,#ffffff4d 0%,#0000 42%);background:linear-gradient(135deg,lab(100% 0 0/.3) 0%,#0000 42%);transition:opacity .3s;position:absolute;inset:0}.service-card.active,.service-card:hover{background:color-mix(in oklch, var(--bg) 88%, transparent);z-index:2;box-shadow:inset 0 1px #ffffff8c;box-shadow:inset 0 1px lab(100% 0 0/.55)}.service-card:hover:before{opacity:1}.service-top{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-soft);justify-content:space-between;align-items:baseline;font-size:11px;display:flex}.service-num{color:var(--accent);font-weight:500}.service-tag{text-transform:uppercase}.service-mid{flex:1}.service-thumb{aspect-ratio:4/3;border-radius:2px;width:100%;transition:transform .4s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.service-card:hover .service-thumb{transform:scale(1.02)}.service-bottom{flex-direction:column;gap:12px;display:flex}.service-name{font-family:var(--font-display);letter-spacing:-.015em;font-size:24px;font-weight:600;line-height:1.15}.service-desc{color:var(--ink-2);text-wrap:pretty;font-size:14px;line-height:1.5}.service-link{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);align-self:flex-start;align-items:center;gap:6px;margin-top:4px;padding-bottom:2px;font-size:11px;display:inline-flex}@media (max-width:1100px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.services-grid{grid-template-columns:1fr}}.craft-grid{grid-template-columns:1fr 1fr;align-items:start;gap:80px;display:grid}.craft-text{padding-top:12px}.craft-body{color:var(--ink-2);text-wrap:pretty;max-width:480px;margin-top:24px;font-size:17px;line-height:1.6}.craft-numbers{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:32px 48px;max-width:480px;margin-top:56px;padding-top:32px;display:grid}.cn-num{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);white-space:nowrap;font-size:48px;font-weight:600;line-height:1}.cn-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:8px;font-size:11px}.craft-visual{grid-template-columns:1.2fr 1fr;gap:16px;display:grid;position:relative}.craft-img{border:1px solid var(--rule);border-radius:4px;position:relative;overflow:hidden}.craft-img-1{aspect-ratio:4/5}.craft-img-2{aspect-ratio:4/5;margin-top:48px}@media (max-width:960px){.craft-grid{grid-template-columns:1fr;gap:48px}.craft-numbers{max-width:none}}.process-grid{grid-template-columns:repeat(4,1fr);gap:32px;display:grid}.process-step{padding-right:16px}.step-head{align-items:center;gap:16px;margin-bottom:28px;display:flex}.step-roman{font-family:var(--font-display);color:var(--accent);letter-spacing:.08em;font-size:14px;font-weight:600}.step-line{background:var(--rule);flex:1;height:1px}.step-title{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:12px;font-size:24px;font-weight:600}.step-desc{color:var(--ink-2);text-wrap:pretty;font-size:15px;line-height:1.5}@media (max-width:900px){.process-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:540px){.process-grid{grid-template-columns:1fr}}.projects-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.project-card{flex-direction:column;gap:20px;display:flex}.project-img{aspect-ratio:4/5;border:1px solid var(--rule);cursor:pointer;border-radius:4px;position:relative;overflow:hidden}.project-img:hover .placeholder-stripes{transform:scale(1.04)}.project-img .placeholder-stripes{transition:transform .6s}.project-meta-overlay{font-family:var(--font-mono);letter-spacing:.14em;color:var(--ink);background:var(--bg);z-index:2;border-radius:999px;padding:6px 10px;font-size:10px;position:absolute;top:16px;right:16px}.project-info{justify-content:space-between;align-items:start;gap:24px;display:flex}.project-title{font-family:var(--font-display);letter-spacing:-.015em;font-size:19px;font-weight:600}.project-tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px;font-size:11px}.project-lines{text-align:right;color:var(--ink-2);font-size:13px;list-style:none}.project-lines li{border-bottom:1px solid var(--rule);padding:3px 0}.project-lines li:last-child{border-bottom:0}@media (max-width:1000px){.projects-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.projects-grid{grid-template-columns:1fr}}.testimonials .container{text-align:center;max-width:1000px}.testimonial-stage{justify-content:center;align-items:center;min-height:280px;margin-top:56px;display:flex;position:relative}.testimonial{opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:absolute;inset:0}.testimonial.on{opacity:1;pointer-events:all}.t-quote{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;max-width:900px;font-size:clamp(24px,2.6vw,38px);font-weight:500;line-height:1.25}.t-by{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);justify-content:center;gap:12px;margin-top:32px;font-size:11px;display:flex}.t-name{color:var(--ink)}.testimonial-nav{justify-content:center;gap:8px;margin-top:48px;display:flex}.t-dot{border:1px solid var(--rule);width:36px;height:36px;font-family:var(--font-mono);color:var(--ink-soft);border-radius:50%;justify-content:center;align-items:center;font-size:10px;transition:all .2s;display:inline-flex}.t-dot.on{border-color:var(--ink);background:var(--ink);color:var(--bg)}.news-grid{grid-template-columns:1.4fr 1fr 1fr;gap:24px;display:grid}.news-card{background:color-mix(in oklch, var(--bg) 60%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);border:1px solid color-mix(in oklch, var(--ink) 8%, transparent);border-radius:8px;flex-direction:column;gap:20px;padding:16px;transition:transform .3s,box-shadow .3s,border-color .3s;display:flex;position:relative;overflow:hidden}.news-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff59 0%,#0000 35%);background:linear-gradient(135deg,lab(100% 0 0/.35) 0%,#0000 35%);border-radius:8px;position:absolute;inset:0}.news-card:hover{box-shadow:0 1px 0 #ffffff80 inset, 0 30px 60px -30px color-mix(in oklch, var(--ink) 35%, transparent);border-color:color-mix(in oklch, var(--accent) 30%, transparent);transform:translateY(-4px)}@supports (color:lab(0% 0 0)){.news-card:hover{box-shadow:0 1px 0 lab(100% 0 0/.5) inset, 0 30px 60px -30px color-mix(in oklch, var(--ink) 35%, transparent)}}.news-img{aspect-ratio:16/10;border:1px solid var(--rule);border-radius:4px;position:relative;overflow:hidden}.news-card.lead .news-img{aspect-ratio:4/3}.news-cat{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:color-mix(in oklch, var(--bg) 75%, transparent);-webkit-backdrop-filter:blur(12px)saturate(150%);z-index:2;border:1px solid #ffffff4d;border:1px solid lab(100% 0 0/.3);border-color:oklch(100% 5.96046e-8 none/.3) oklch(100% 5.96046e-8 none/.3) oklch(100% 5.96046e-8 none/.3) oklch(100% 5.96046e-8 none/.3);border-radius:999px;padding:6px 12px;font-size:10px;position:absolute;top:12px;left:12px}.news-body{flex-direction:column;gap:10px;padding:8px 8px 12px;display:flex}.news-date{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink-soft);font-size:11px}.news-title{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;font-size:19px;font-weight:600;line-height:1.25}.news-card.lead .news-title{font-size:24px}.news-excerpt{color:var(--ink-2);text-wrap:pretty;font-size:14px;line-height:1.55}.news-link{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);align-items:center;gap:6px;margin-top:8px;font-size:11px;display:inline-flex}.news-card:hover .news-link{color:var(--accent-deep)}@media (max-width:1000px){.news-grid{grid-template-columns:1fr 1fr}.news-card.lead{grid-column:span 2}}@media (max-width:640px){.news-grid{grid-template-columns:1fr}.news-card.lead{grid-column:span 1}}.faq-grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:80px;display:grid}.faq-side{position:sticky;top:120px}.faq-side .section-title,.faq-side .section-lede{margin-top:24px}.faq-phone{font-family:var(--font-display);letter-spacing:-.02em;border-bottom:1px solid var(--ink);align-items:center;gap:12px;margin-top:32px;padding-bottom:4px;font-size:24px;font-weight:600;display:inline-flex}.faq-list{flex-direction:column;display:flex}.faq-item{text-align:left;border-top:1px solid var(--rule);cursor:pointer;width:100%;padding:24px 0;display:block}.faq-item:last-child{border-bottom:1px solid var(--rule)}.faq-q-row{grid-template-columns:auto 1fr auto;align-items:baseline;gap:24px;display:grid}.faq-i{font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent);font-size:11px}.faq-q{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;font-size:18px;font-weight:600;line-height:1.35}.faq-toggle{border:1px solid var(--rule);width:28px;height:28px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:inline-flex}.faq-item.open .faq-toggle{background:var(--ink);color:var(--bg);border-color:var(--ink);transform:rotate(45deg)}.faq-a-wrap{grid-template-rows:0fr;transition:grid-template-rows .35s;display:grid}.faq-item.open .faq-a-wrap{grid-template-rows:1fr;padding-top:16px}.faq-a{color:var(--ink-2);text-wrap:pretty;max-width:560px;padding-left:56px;font-size:15px;line-height:1.6;overflow:hidden}@media (max-width:960px){.faq-grid{grid-template-columns:1fr;gap:48px}.faq-side{position:static}.faq-a{padding-left:36px}}.contact{background:var(--bg-2)}.contact-grid{grid-template-columns:1fr 1fr;gap:80px;display:grid}.contact-grid>*{min-width:0}.contact-left .section-title{margin-top:24px;line-height:.95}.contact-lede{font-family:var(--font-body);max-width:460px;color:var(--ink-2);margin-top:24px;font-size:17px;line-height:1.55}.contact-info{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:32px;margin-top:48px;padding-top:32px;display:grid}.ci{flex-direction:column;gap:6px;display:flex}.ci-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.ci-val{font-family:var(--font-body);color:var(--ink);font-size:16px;font-weight:500;line-height:1.4}.ci-val.link{border-bottom:1px solid var(--rule);align-self:start;padding-bottom:2px}.ci-val.link:hover{border-color:var(--ink)}.contact-form{background:var(--bg);border:1px solid var(--rule);border-radius:4px;flex-direction:column;align-self:start;gap:22px;padding:36px;display:flex}.cf-row{grid-template-columns:1fr 1fr;gap:22px;display:grid}.contact-form label{flex-direction:column;gap:8px;display:flex}.cf-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.contact-form input,.contact-form select,.contact-form textarea{font-family:var(--font-body);border:0;border-bottom:1px solid var(--rule);color:var(--ink);background:0 0;border-radius:0;outline:none;width:100%;min-width:0;padding:10px 0;font-size:15px;transition:border-color .2s}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--ink)}.contact-form textarea{resize:vertical;min-height:100px}.contact-form select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 14px) calc(50% + 2px),calc(100% - 9px) calc(50% + 2px);background-repeat:no-repeat;background-size:5px 5px}.cf-foot{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:12px;padding-top:24px;display:flex}.cf-fine{color:var(--ink-soft);max-width:240px;font-size:12px;line-height:1.4}.cf-fine a{color:inherit;text-underline-offset:2px;text-decoration:underline}.cf-fine a:hover{color:var(--accent)}.cf-thanks{text-align:center;padding:32px 0}.cf-tick{background:var(--accent);width:64px;height:64px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;margin-bottom:24px;display:inline-flex}.cf-thanks h3{font-family:var(--font-display);letter-spacing:-.02em;margin-bottom:8px;font-size:28px;font-weight:600}.cf-thanks p{color:var(--ink-2);margin-bottom:24px}.cf-error{background:color-mix(in oklch, var(--accent) 12%, var(--bg));border:1px solid color-mix(in oklch, var(--accent) 40%, transparent);color:var(--accent-deep);border-radius:4px;padding:12px 16px;font-size:14px}.contact-form-wrap{flex-direction:column;align-self:start;gap:16px;display:flex}.cf-tabs{border:1px solid var(--rule);border-radius:4px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.cf-tab{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:15px 12px;font-size:11px;transition:background .2s,color .2s}.cf-tab+.cf-tab{border-left:1px solid var(--rule)}.cf-tab:hover{color:var(--ink)}.cf-tab.active{background:var(--ink);color:var(--bg)}.cf-other{color:var(--ink-soft);font-size:13px;line-height:1.5}.cf-other a{color:inherit;text-underline-offset:2px;text-decoration:underline}.cf-other a:hover{color:var(--accent)}@media (max-width:960px){.contact-grid{grid-template-columns:1fr;gap:48px}.contact-info,.cf-row{grid-template-columns:1fr}.contact-form{padding:24px}}.site-footer{background:var(--ink);color:var(--bg);padding:80px 0 32px;position:relative;overflow:hidden}.footer-top{border-bottom:1px solid #ffffff1f;grid-template-columns:1fr 2fr;gap:64px;padding-bottom:56px;display:grid}.footer-mark{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.footer-mark .logo-wordmark{color:var(--bg);font-size:22px}.footer-logo-img{filter:brightness(0)invert();width:auto;height:44px;display:block}.footer-creds{flex-wrap:wrap;align-items:center;gap:28px;margin-top:8px;padding:0;list-style:none;display:flex}.footer-creds li{align-items:center;display:flex}.footer-creds a{opacity:.6;transform-origin:50%;align-items:center;transition:opacity .25s,transform .25s;display:flex}.footer-creds a:hover,.footer-creds a:focus-visible{opacity:1;transform:scale(1.12)translateY(-2px)}.footer-cred-img{width:auto;height:48px;display:block}.footer-tag{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#ffffff80;font-size:11px}.footer-cols{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.footer-cols h4{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#ffffff80;margin-bottom:16px;font-size:11px;font-weight:500}.footer-cols ul{flex-direction:column;gap:8px;font-size:14px;list-style:none;display:flex}.footer-cols a{color:#ffffffd9}.footer-cols a:hover{color:var(--accent)}.footer-bottom{font-family:var(--font-mono);letter-spacing:.08em;color:#ffffff80;flex-wrap:wrap;justify-content:space-between;gap:24px;margin-top:40px;font-size:11px;display:flex}.footer-links{align-items:center;gap:24px;display:flex}.footer-links a:hover{color:var(--bg)}.footer-link-btn{appearance:none;cursor:pointer;font:inherit;letter-spacing:inherit;color:inherit;background:0 0;border:none;margin:0;padding:0}.footer-link-btn:hover{color:var(--bg)}.footer-credit{font-family:var(--font-mono);letter-spacing:.04em;color:#ffffff2e;text-align:center;margin-top:12px;font-size:9px}.footer-credit a{color:inherit;transition:color .2s}.footer-credit a:hover{color:#fff9}@media (max-width:800px){.footer-top{grid-template-columns:1fr;gap:40px}.footer-cols{grid-template-columns:1fr 1fr}}.cookie-consent{z-index:60;background:color-mix(in oklch, var(--bg) 96%, transparent);-webkit-backdrop-filter:blur(10px)saturate(1.1);border-top:1px solid var(--rule);position:fixed;bottom:0;left:0;right:0}.cookie-consent__body{max-width:var(--max);padding:20px var(--pad-x);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:0 auto;display:flex}.cookie-consent p{color:var(--ink-2);flex:1;min-width:280px;font-size:14px}.cookie-consent__actions{flex-wrap:wrap;gap:12px;display:flex}.cookie-consent button{border:1px solid var(--rule);cursor:pointer;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500}.cookie-consent button[data-primary]{background:var(--ink);color:var(--bg);border-color:var(--ink)}@media (max-width:800px){.hero{padding-top:110px}.hero-fullbleed{height:auto;min-height:100svh;max-height:none}.hero-line.italic{padding-left:0}.hero-visual{grid-template-columns:1fr}.hero-image-main,.hero-image-side{aspect-ratio:16/10}.section-head.two-col{grid-template-columns:1fr;gap:24px}.section-lede.right{text-align:left;justify-self:start}}.hero-img-bg,.project-img-bg,.news-img-bg,.service-thumb-img,.craft-img-bg{object-fit:cover;width:100%;height:100%;transition:transform .6s;display:block;position:absolute;inset:0}.service-thumb{position:relative;overflow:hidden}.service-card:hover .service-thumb-img,.project-card:hover .project-img-bg,.news-card:hover .news-img-bg{transform:scale(1.04)}.team-grid{grid-template-columns:repeat(auto-fill,minmax(220px,280px));justify-content:start;gap:32px;margin:48px 0 0;padding:0;list-style:none;display:grid}.team-card{flex-direction:column;gap:16px;display:flex}.team-photo{aspect-ratio:4/5;background:var(--ink-soft,#f2efe9);border-radius:12px;position:relative;overflow:hidden}.team-photo-img{object-fit:cover;width:100%;height:100%;display:block}.team-name{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600}.team-role{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:4px 0 0;font-size:11px}.team-bio{color:var(--ink-2);margin:10px 0 0;font-size:14px;line-height:1.55}.team-contact{flex-direction:column;gap:4px;margin-top:12px;font-size:13px;display:flex}.team-contact a:hover{color:var(--accent)}.subpage{padding-top:96px}.subpage-hero{padding-top:56px;padding-bottom:32px}.subpage-title{font-family:var(--font-display);font-weight:var(--font-display-weight);letter-spacing:-.03em;text-wrap:balance;max-width:18ch;margin:12px 0 0;font-size:clamp(40px,7vw,88px);line-height:1.02}.subpage-title em{font-style:var(--font-display-style);color:var(--accent)}.subpage-lede{color:var(--ink-2);max-width:560px;margin-top:18px;font-size:clamp(16px,1.3vw,18px);line-height:1.55}.pp-back{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:8px;font-size:12px;display:inline-flex}.pp-back:hover{color:var(--ink)}.pp-back svg{transform:rotate(180deg)}.pp-cat{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:11px;display:block}.pp-title{font-family:var(--font-display);font-weight:var(--font-display-weight);letter-spacing:-.025em;text-wrap:balance;margin:12px 0 0;font-size:clamp(36px,6vw,72px);line-height:1.05}.pp-intro{color:var(--ink-2);max-width:640px;margin-top:24px;font-size:clamp(17px,1.3vw,19px);line-height:1.55}.prose{color:var(--ink);max-width:720px;font-size:17px;line-height:1.7}.prose h2{font-family:var(--font-display);font-weight:var(--font-display-weight);letter-spacing:-.01em;margin:40px 0 12px;font-size:clamp(22px,2vw,28px)}.prose h3{font-family:var(--font-display);margin:28px 0 8px;font-size:20px;font-weight:600}.prose p{margin:0 0 16px}.prose ul,.prose ol{margin:0 0 16px;padding-left:22px}.prose li{margin:6px 0}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.prose strong{font-weight:600}.pb-stack{flex-direction:column;gap:64px;display:flex}.pb-block{margin:0}.pb-eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:12px;font-size:11px}.pb-heading{font-family:var(--font-display);font-weight:var(--font-display-weight);letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(24px,2.6vw,34px);line-height:1.15}.pb-text .prose,.pb-text .pb-heading{max-width:680px}.pb-image figure,.pb-image{width:100%}.pb-image img{border:1px solid var(--rule);border-radius:8px;width:100%;height:auto;display:block}.pb-image figcaption,.pb-gallery figcaption,.pb-video figcaption{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-soft);margin-top:12px;font-size:12px}.pb-twocol{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.pb-twocol.img-left .pb-twocol-text{order:2}.pb-twocol.img-left .pb-twocol-media{order:1}.pb-twocol-media img{border:1px solid var(--rule);border-radius:8px;width:100%;height:auto;display:block}.pb-twocol .pb-heading{max-width:none}.pb-gallery-track{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.pb-gallery-track[data-count="1"]{grid-template-columns:1fr}.pb-gallery-track img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--rule);border-radius:8px;width:100%;display:block}.pb-keydata{max-width:680px}.pb-keydata-title{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:14px;font-size:11px}.pb-keydata-list{border-top:1px solid var(--ink)}.pb-keydata-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:24px;padding:14px 0;font-size:15px;display:flex}.pb-keydata-row dt{color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.pb-keydata-row dd{text-align:right;font-weight:500}.pb-quote{max-width:760px}.pb-quote blockquote{font-family:var(--font-display);letter-spacing:-.01em;border-left:3px solid var(--accent);margin:0;padding-left:28px;font-size:clamp(22px,2.4vw,30px);font-weight:500;line-height:1.4}.pb-quote figcaption{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-soft);margin-top:16px;padding-left:28px;font-size:12px}.pb-video-frame{aspect-ratio:16/9;border:1px solid var(--rule);border-radius:8px;position:relative;overflow:hidden}.pb-video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}@media (max-width:760px){.pb-stack{gap:48px}.pb-twocol{grid-template-columns:1fr;gap:24px}.pb-twocol.img-left .pb-twocol-text,.pb-twocol.img-left .pb-twocol-media{order:0}}.skip-link{z-index:1000;background:var(--ink,#141414);color:var(--paper,#f7f5f0);border-radius:8px;padding:12px 20px;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-100px;left:16px}.skip-link:focus{outline:2px solid var(--accent);outline-offset:2px;top:16px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.hero-bg-img.is-active,.marquee-track{animation:none!important}}
