@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,600;12..96,700;12..96,800&family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--ink:#17261f;--muted:#66736b;--paper:#f4eddf;--paper-deep:#e9dfce;--line:#cfc3af;--orange:#ee684d;--green:#446a59;--yellow:#f3c968;--white:#fffaf0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--ink);background:var(--paper);margin:0;font-family:Manrope,sans-serif}body:before{z-index:-1;pointer-events:none;content:"";opacity:.34;background-image:radial-gradient(var(--line) .7px, transparent .7px);background-size:14px 14px;position:fixed;inset:0}a{color:inherit;text-decoration:none}button{font:inherit}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.site-shell{width:min(1200px,100% - 48px);margin:0 auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:86px;display:flex}.brand{align-items:center;display:inline-flex}.brand-wordmark{color:var(--ink);letter-spacing:-.08em;font:800 clamp(21px,2.4vw,31px)/.9 Bricolage Grotesque,sans-serif;transition:color .2s}.brand:hover .brand-wordmark{color:var(--orange)}.main-nav{color:var(--muted);text-transform:uppercase;align-items:center;gap:30px;font:500 12px DM Mono,monospace;display:flex}.main-nav>a:not(.button):hover,.text-link:hover{color:var(--orange)}.mobile-menu{color:var(--ink);background:0 0;border:0;padding:7px;display:none}.button{cursor:pointer;text-transform:uppercase;letter-spacing:.03em;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;font:600 12px DM Mono,monospace;transition:all .2s;display:inline-flex}.button-primary{color:var(--paper);background:var(--ink);border-color:var(--ink);padding:14px 18px}.button-primary:hover{color:var(--ink);background:var(--yellow);border-color:var(--yellow);transform:translateY(-2px)}.button-outline{color:var(--ink);border-color:var(--ink);background:0 0;padding:9px 13px}.button-outline:hover{color:var(--paper);background:var(--ink)}.button-small{padding:9px 12px}.button-ghost{background:0 0}.hero{align-items:center;min-height:595px;padding:86px 0 93px}.section-grid{grid-template-columns:1.05fr .95fr;gap:9%;display:grid}.eyebrow,.section-kicker{color:var(--green);letter-spacing:.08em;text-transform:uppercase;font:500 11px DM Mono,monospace}.eyebrow{align-items:center;gap:9px;margin-bottom:24px;display:flex}.status-dot{background:var(--orange);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #ee684d21}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.065em;max-width:680px;margin-bottom:25px;font-size:clamp(48px,6.2vw,82px);line-height:.98}.accent{color:var(--orange)}.hero-lede{max-width:510px;color:var(--muted);margin-bottom:32px;font-size:17px;line-height:1.7}.hero-actions{align-items:center;gap:24px;display:flex}.text-link{border-bottom:1px solid var(--ink);text-transform:uppercase;align-items:center;gap:5px;font:500 12px DM Mono,monospace;transition:all .2s;display:inline-flex}.hero-terminal{background:var(--ink);width:100%;max-width:450px;box-shadow:14px 14px 0 var(--yellow);justify-self:end;position:relative;transform:rotate(2deg)}.terminal-top{color:#a8b3ab;border-bottom:1px solid #35453c;justify-content:space-between;align-items:center;height:42px;padding:0 17px;font:11px DM Mono,monospace;display:flex}.terminal-top>span:first-child{gap:5px;display:flex}.terminal-top i{background:#718078;border-radius:50%;width:7px;height:7px;display:block}.terminal-body{color:#d3ded5;padding:30px 26px 28px;font:13px/2 DM Mono,monospace}.terminal-body p{margin:0}.indent{padding-left:22px}.syntax-key{color:var(--yellow)}.syntax-string{color:#a9d4a6}.cursor-blink{color:var(--orange);animation:1.2s step-end infinite blink}.terminal-stamp{color:var(--ink);background:var(--yellow);align-items:center;gap:7px;padding:11px 17px;font:11px DM Mono,monospace;display:flex}@keyframes blink{50%{opacity:0}}.signal-bar{color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:20px;padding:17px 0;font:11px DM Mono,monospace;display:grid}.signal-bar span:nth-child(2){text-align:center}.signal-bar span:last-child{text-align:right}.content-section{padding:125px 0 132px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:40px;display:flex}.section-heading h2{letter-spacing:-.06em;margin:10px 0 0;font-size:clamp(38px,4.5vw,60px);line-height:1.02}.section-count{color:var(--muted);font:12px DM Mono,monospace}.filter-row{gap:8px;margin-bottom:24px;padding-bottom:4px;display:flex;overflow-x:auto}.filter-button{white-space:nowrap;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:100px;padding:8px 12px;font:11px DM Mono,monospace;transition:all .2s}.filter-button:hover,.filter-button.active{color:var(--paper);background:var(--green);border-color:var(--green)}.project-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.project-card{border-bottom:1px solid var(--line);min-height:275px;padding:25px 26px 27px 0;transition:all .2s}.project-card:nth-child(odd){border-right:1px solid var(--line);padding-right:35px}.project-card:nth-child(2n){padding-left:35px}.project-card:hover{color:var(--orange)}.project-card:hover p,.project-card:hover .project-meta span{color:var(--muted)}.project-meta{color:var(--orange);justify-content:space-between;margin-bottom:33px;font:12px DM Mono,monospace;display:flex}.project-card h3{letter-spacing:-.04em;max-width:430px;margin-bottom:12px;font-size:23px;line-height:1.15}.project-card p{max-width:470px;color:var(--muted);margin-bottom:21px;font-size:13px;line-height:1.7;transition:color .2s}.tag-row{flex-wrap:wrap;gap:7px;display:flex}.tag-row span{color:var(--green);background:#dfebdf;border-radius:3px;padding:4px 7px;font:10px DM Mono,monospace}.contact-section{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:60px;padding:95px 0 105px;display:flex}.contact-section h2{letter-spacing:-.065em;max-width:560px;margin:14px 0 15px;font-size:clamp(38px,5vw,67px);line-height:1}.contact-section p{max-width:480px;color:var(--muted);margin:0;line-height:1.7}.contact-links{flex-direction:column;min-width:190px;display:flex}.contact-links a{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:13px 0;font:12px DM Mono,monospace;display:flex}.contact-links a svg:last-child{margin-left:auto}.contact-links a:hover{color:var(--orange)}footer{color:var(--muted);border-top:1px solid var(--line);text-transform:uppercase;justify-content:space-between;padding:22px 0 29px;font:10px DM Mono,monospace;display:flex}@media (width<=760px){.site-shell{width:min(100% - 34px,560px)}.site-header{height:72px}.mobile-menu{display:block}.main-nav{z-index:3;color:var(--paper);background:var(--ink);box-shadow:7px 7px 0 var(--orange);flex-direction:column;align-items:stretch;gap:0;padding:12px 18px 18px;display:none;position:absolute;top:72px;left:17px;right:17px}.main-nav.is-open{display:flex}.main-nav>a:not(.button){border-bottom:1px solid #405147;padding:13px 0}.main-nav .button{color:var(--paper);border-color:var(--paper);margin-top:14px}.hero,.section-grid{display:block}.hero{min-height:auto;padding:75px 0 90px}.hero h1{font-size:clamp(49px,15vw,74px)}.hero-lede{font-size:15px}.hero-terminal{margin:65px 8px 14px 0}.signal-bar{flex-direction:column;gap:11px;display:flex}.signal-bar span,.signal-bar span:nth-child(2),.signal-bar span:last-child{text-align:left}.content-section{padding:85px 0 90px}.section-heading{align-items:start;gap:20px;margin-bottom:28px}.section-heading h2{font-size:43px}.section-count{white-space:nowrap;padding-top:7px}.project-grid{display:block}.project-card,.project-card:nth-child(odd),.project-card:nth-child(2n){border-right:0;min-height:auto;padding:25px 0 29px}.project-meta{margin-bottom:25px}.contact-section{padding:80px 0 85px;display:block}.contact-links{margin-top:38px}.contact-section h2{font-size:47px}footer{flex-direction:column;gap:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
