@font-face{font-family:ibm plex sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400.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:ibm plex sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-500.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:ibm plex sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600.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:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500.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}:root{--bg:#1c1d1f;--surface:#26282b;--border:#3a3d42;--heading:#f2f0ec;--body:#b7bcc4;--muted:#959ba4;--accent:#e07a3d;--accent-hover:#f0a36a;--focus:#f0a36a;--on-accent:#1c1d1f;--tone2:#f0a36a;--sans:"IBM Plex Sans", "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--wrap:72rem}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);color-scheme:dark}body{margin:0;background:var(--bg);color:var(--body);font-family:var(--sans);font-size:1.0625rem;line-height:1.65}img{max-width:100%;height:auto}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.wrap{width:min(var(--wrap),calc(100% - 2.5rem));margin-inline:auto}.skip{position:absolute;left:1rem;top:-4rem;z-index:20;background:var(--accent);color:var(--on-accent);padding:.5rem .8rem;text-decoration:none;font-weight:600;border-radius:4px}.skip:focus{top:.5rem}.site-header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--border)}.header-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.75rem}.brand{display:flex;align-items:center;gap:.75rem;color:var(--heading);text-decoration:none;font-weight:600;letter-spacing:-.02em;font-size:1.05rem}.brand-mark{display:inline-flex;color:var(--heading);line-height:0}.brand-mark svg{width:36px;height:36px;display:block}.stroke-tone{stroke:var(--tone2,currentColor)}.brand-name{white-space:nowrap;font-size:1.05rem;letter-spacing:-.03em}.nav-toggle{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.nav-toggle:focus{outline:none}.nav-toggle:focus-visible+.nav-button{outline:3px solid var(--focus);outline-offset:3px}@media(min-width:721px){.nav-toggle{display:none}}.nav-button{display:none;border:1px solid var(--border);border-radius:4px;background:0 0;padding:.45rem .7rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;color:var(--heading)}.nav-close{display:none}.site-nav ul{display:flex;gap:1.75rem;list-style:none;margin:0;padding:0}.site-nav a{color:var(--body);text-decoration:none;font-size:.98rem;font-weight:500}.site-nav a:hover{color:var(--heading)}.draft{background:var(--surface);color:var(--heading);border-bottom:1px solid var(--border)}.draft p{margin:0;padding:.55rem 0;font-family:var(--mono);font-size:.78rem;letter-spacing:.04em}.hero{position:relative;background:var(--bg);overflow:hidden}.hero-media{position:absolute;inset:0;z-index:0}.hero-media img{position:absolute;top:0;right:0;width:74%;height:100%;max-width:none;object-fit:cover;object-position:64% 42%}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient( 90deg,#1c1d1f 0%,rgba(28,29,31,.94) 28%,rgba(28,29,31,.55) 48%,rgba(28,29,31,.12) 68%,rgba(28,29,31,0) 82% )}.hero-grid{position:relative;z-index:1;padding:6.5rem 0 6rem}.hero-copy{position:relative;isolation:isolate;max-width:38rem;padding-right:2rem}.hero-copy::before{content:"";position:absolute;z-index:-1;top:-6.5rem;bottom:-6rem;left:-50vw;right:0;background:linear-gradient( 90deg,#1c1d1f 0%,#1c1d1f calc(100% - 2rem),rgba(28,29,31,0) 100% )}.eyebrow{margin:0 0 .8rem;font-family:var(--mono);font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}h1,h2,h3{color:var(--heading);font-weight:600;letter-spacing:-.03em;line-height:1.08;text-wrap:balance}h1{margin:0;font-size:clamp(2.4rem,5vw,4.15rem)}h2{margin:0;font-size:clamp(1.7rem,3vw,2.2rem)}h3{margin:.35rem 0 .55rem;font-size:1.25rem;letter-spacing:-.02em;line-height:1.2}.lede{max-width:40rem;margin:1.15rem 0 0;color:var(--body);font-size:1.125rem;line-height:1.6}.hero-cta,.contact-cta{margin:1.6rem 0 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.7rem 1.25rem;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);border-radius:4px;text-decoration:none;font-weight:600}.button:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.button:focus-visible{outline:3px solid var(--heading);outline-offset:3px}.panel{border-top:1px solid var(--border);padding:5.25rem 0;scroll-margin-top:5rem}.panel h2{display:flex;align-items:center;gap:.85rem;margin:0 0 2.25rem;font-family:var(--mono);font-size:.875rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;line-height:1;color:var(--heading)}.panel h2::before{content:"";width:.65rem;height:.65rem;flex:none;background:var(--accent);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;list-style:none;margin:0;padding:0}.card{position:relative;background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--accent);border-radius:4px;padding:1.85rem 1.6rem 1.9rem}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.card-icon{color:var(--heading);line-height:0;margin-top:.2rem}.card-icon svg{display:block;width:32px;height:32px}.card p{margin:0;color:var(--body)}.card h3{margin:0 0 .65rem;font-size:1.3rem}.card .card-index{margin:0;font-family:var(--mono);font-size:2.75rem;font-weight:500;letter-spacing:.04em;line-height:1;color:var(--accent)}.project-list{list-style:none;margin:0;padding:0;max-width:46rem}.project-link{display:grid;grid-template-columns:minmax(0,11rem)minmax(0,1fr)auto;gap:.35rem 1.25rem;align-items:center;padding:1.35rem 1.4rem;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:inherit;text-decoration:none}.project-name{font-weight:600;font-size:1.2rem;letter-spacing:-.02em;color:var(--heading)}.project-note{color:var(--muted);font-size:.98rem}.project-go{color:var(--accent)}.project-link:hover{border-color:var(--accent)}.project-link:hover .project-go{color:var(--accent-hover)}.past-work h2{margin-bottom:0}.past-work .lede{margin:1rem 0 2.25rem}.past-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;list-style:none;margin:0;padding:0}.past-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--accent);border-radius:4px;padding:1.85rem 1.6rem 1.9rem}.past-card h3{margin:0 0 .9rem;font-size:1.3rem}.past-label{margin:.85rem 0 0;font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.04em;color:var(--muted)}.past-card .past-label:first-of-type{margin-top:0}.past-card p{margin:.3rem 0 0;color:var(--body)}.past-tags{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:1.15rem 0 0;padding:0}.past-tags .chip{font-family:var(--mono);font-size:.75rem;letter-spacing:.02em;color:var(--heading);background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.2rem .65rem}.contact .lede{max-width:36rem;color:var(--heading);font-size:clamp(1.35rem,2.4vw,1.65rem);font-weight:500;line-height:1.45}.contact .lede a{color:var(--accent);font-weight:600;text-underline-offset:.16em}.contact .lede a:hover{color:var(--accent-hover)}.contact-email{white-space:nowrap}.contact-form{display:grid;grid-template-columns:minmax(0,36rem);gap:.35rem;margin-top:1.75rem}.contact-form label{margin-top:.7rem;font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.contact-form label:first-of-type{margin-top:0}.contact-form input,.contact-form textarea{width:100%;margin:0;padding:.7rem .8rem;background:var(--surface);color:var(--heading);border:1px solid var(--muted);border-radius:4px;font:inherit}.contact-form textarea{min-height:8.5rem;resize:vertical}.contact-form input:-webkit-autofill,.contact-form textarea:-webkit-autofill{-webkit-text-fill-color:var(--heading);box-shadow:0 0 0 1e3px var(--surface)inset}.form-privacy{margin:.85rem 0 0;color:var(--muted);font-size:.95rem}.contact-form .button{margin-top:.85rem;font-family:inherit;font-size:1rem;cursor:pointer;justify-self:start}.contact-form .button:disabled{cursor:progress;opacity:.72}.form-status{min-height:1.4rem;margin:.15rem 0 0;color:var(--muted);font-size:.95rem}.contact-honey{display:none}.social{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none;margin:1.75rem 0 0;padding:0}.social a{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:1px solid var(--border);border-radius:4px;color:var(--body);text-decoration:none}.social a:hover{color:var(--accent);border-color:var(--accent)}.site-footer{border-top:1px solid var(--border);background:var(--bg);color:var(--muted);font-family:var(--mono);font-size:.875rem}.site-footer p{margin:0;padding:1.35rem 0}.page{padding:4.5rem 0 5.5rem}.not-found .brand-mark{margin-bottom:1.35rem}.not-found .brand-mark svg{width:72px;height:72px}.not-found h1{margin-bottom:.85rem}.prose p{max-width:40rem}.prose a:not(.button){color:var(--accent)}.prose a:not(.button):hover{color:var(--accent-hover)}.plain-list{padding-left:1.1rem}.plain-list a{color:var(--heading);text-decoration-thickness:1px;text-underline-offset:.16em}.plain-list a:hover{color:var(--accent)}@media(max-width:800px){.cards,.past-cards{grid-template-columns:1fr}.project-link{grid-template-columns:minmax(0,1fr)auto;grid-template-areas:"name arrow" "note arrow"}.project-name{grid-area:name}.project-note{grid-area:note}.project-go{grid-area:arrow}}@media(max-width:760px){.hero-grid{padding:2.6rem 0 1.5rem}.hero-copy{max-width:none;padding-right:0}.hero-copy::before{display:none}.hero-media{position:relative;inset:auto;height:15.5rem}.hero-media img{width:100%;object-position:60% 42%}.hero-media::after{background:linear-gradient( 90deg,rgba(28,29,31,.28) 0%,rgba(28,29,31,5%) 36%,rgba(28,29,31,0) 62% )}.lede{font-size:1.05rem}.contact .lede{font-size:1.3rem}}@media(max-width:720px){.wrap{width:min(var(--wrap),calc(100% - 2rem))}.nav-button{display:inline-flex;margin-left:auto}.header-bar{flex-wrap:wrap}.site-nav{display:none;flex-basis:100%}.nav-toggle:checked~.site-nav{display:block}.nav-toggle:checked~.nav-button .nav-open{display:none}.nav-toggle:checked~.nav-button .nav-close{display:inline}.site-nav ul{flex-direction:column;gap:0;padding-bottom:.85rem}.site-nav a{display:block;padding:.75rem 0}.panel{padding:3.15rem 0}.panel h2{margin-bottom:1.5rem}.brand{gap:.45rem}.brand-mark svg{width:28px;height:28px}.brand-name{font-size:.92rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}