@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--orange:#f4511e;--ink:#242321;--muted:#64625e;--cream:#f7f5f0;--line:#e3e0d9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}a,button,input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #a12e07;outline-offset:5px}header{max-width:1344px;margin:auto;padding:29px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:28px;letter-spacing:-1.5px;white-space:nowrap}.brand span{color:var(--orange)}nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}nav a:hover,.plain-link:hover,.text-link:hover{color:var(--orange)}.nav-cta{border:1px solid var(--ink);padding:11px 19px}.hero{max-width:1344px;margin:auto;padding:68px 48px 70px;display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;margin:0 0 23px;color:var(--orange)}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.1;letter-spacing:-2.4px;margin:0;font-weight:800}h1{font-size:clamp(46px,5.3vw,76px)}h1 span{color:var(--orange)}.intro{font-size:18px;max-width:520px;color:var(--muted);margin:26px 0 30px}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;gap:30px;background:var(--orange);color:white;padding:16px 25px;font-size:14px;font-weight:700}.button:hover{background:#c93a0d}.plain-link{font-size:13px;font-weight:600}.availability{font-size:11px;margin-top:27px;color:var(--muted);display:flex;gap:8px;align-items:center}.availability i{width:7px;height:7px;background:#4b7858;border-radius:50%}.portrait{position:relative;background:#edebe4;padding:55px 28px 32px;isolation:isolate}.portrait:before{content:'';position:absolute;inset:70px -15px 55px 40px;background:var(--orange);z-index:-1}.portrait img{width:100%;height:auto;display:block;aspect-ratio:1;object-fit:cover;filter:grayscale(1)}.portrait-label{font-size:10px;letter-spacing:1.8px;line-height:1.5;position:absolute;top:16px;left:28px;font-weight:700}.portrait-note{position:absolute;right:-20px;bottom:52px;background:#fff;padding:22px 27px;font-family:Manrope,Arial,sans-serif;font-size:22px;font-weight:700;line-height:1.3;transform:rotate(-4deg);box-shadow:0 8px 25px #0000000b}.portrait-note span{display:block;color:var(--muted);font-family:'DM Sans',Arial,sans-serif;font-size:11px;margin-top:10px}.portrait-index{display:block;font-size:9px;letter-spacing:1.8px;margin-top:15px}.tech-strip{background:var(--cream);padding:26px max(30px,calc((100% - 1248px)/2));display:flex;align-items:center;justify-content:space-between;gap:23px;flex-wrap:wrap;border-block:1px solid var(--line)}.tech-strip>span{font-size:9px;letter-spacing:1.6px;color:var(--muted)}.tech-strip b{font-family:Manrope,Arial,sans-serif;font-size:16px;font-weight:700}.section{max-width:1344px;margin:auto;padding:90px 48px}h2{font-size:43px;letter-spacing:-1.8px}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end}.section-heading>p{max-width:360px;color:var(--muted);font-size:15px;margin:0}.filters{display:flex;gap:8px;margin:38px 0 30px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:white;padding:9px 17px;font-size:12px;cursor:pointer}.filters button.active{background:var(--ink);border-color:var(--ink);color:white}.filters button span{opacity:.6;margin-left:10px}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.project{border:1px solid var(--line);padding:22px;display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.project:hover{transform:translateY(-4px);border-color:var(--orange)}.project[hidden]{display:none}.card-top{display:flex;justify-content:space-between;font-size:10px;font-weight:600;color:var(--muted);margin-bottom:20px}.project-art{height:140px;background:#f2eee5;display:grid;place-items:center;margin-bottom:24px;font-family:monospace;font-size:12px;position:relative;overflow:hidden}.project-art:before{content:'';position:absolute;width:140px;height:140px;border:1px solid #d5cbbb;transform:rotate(45deg)}.project-art span{position:relative;padding:10px;background:#f2eee5;z-index:1}.art-1,.art-4{background:#fcebe3}.art-1 span,.art-4 span{background:#fcebe3}.art-2,.art-5{background:#e9efec}.art-2 span,.art-5 span{background:#e9efec}h3{font-size:22px;letter-spacing:-.7px}.project p{font-size:13px;color:var(--muted);line-height:1.75}.stack{font-size:10px;color:var(--muted);margin:14px 0 24px}.project .stack{margin-top:auto;padding-top:15px}.text-link{font-size:13px;font-weight:700}.text-link b{float:right;color:var(--orange)}.all-repos{display:block;text-align:center;margin-top:35px;font-size:13px;text-decoration:underline;text-underline-offset:5px}.about{background:var(--cream);max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-inline:max(48px,calc((100% - 1248px)/2))}.large{font-size:20px;line-height:1.7}.about>div>p:not(.eyebrow){color:var(--muted)}.about>div:nth-child(2)>p{font-size:15px;margin-top:0}.credentials{display:flex;gap:9px;flex-wrap:wrap;margin:24px 0}.credentials span{border-bottom:1px solid #ccc8bd;font-size:11px;padding:6px 0;margin-right:15px}.newsletter{background:var(--orange);color:white;padding:65px max(48px,calc((100% - 1248px)/2));display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.newsletter .eyebrow{color:white;opacity:.85}.newsletter h2{font-size:36px}.newsletter p{font-size:14px;max-width:470px}.newsletter label{font-size:12px;display:block;margin-bottom:8px}.input-row{display:flex;background:#fff;padding:5px}.input-row input{min-width:0;width:100%;border:0;padding:12px;color:var(--ink);background:#fff}.input-row button{white-space:nowrap;border:0;background:var(--ink);color:white;padding:12px 18px;font-size:12px;cursor:pointer}#newsletter-status{font-size:11px;line-height:1.6;min-height:36px}.contact{text-align:center}.contact h2{margin-bottom:30px}.contact .plain-link{display:inline-block;margin-left:25px}footer{max-width:1248px;margin:auto;padding:35px 0;display:flex;border-top:1px solid var(--line);gap:25px;align-items:center}footer .brand{font-size:22px}footer p{font-size:11px;flex:1;color:var(--muted)}footer>a:not(.brand),footer small{font-size:11px}.skip{position:absolute;top:-80px;background:white;padding:15px;z-index:5}.skip:focus{top:0}.back{font-size:13px;display:inline-block;margin-bottom:42px}.project-hero{background:var(--cream);max-width:none;padding-inline:max(48px,calc((100% - 1248px)/2))}.project-hero h1{font-size:62px;max-width:900px;overflow-wrap:anywhere}.project-headline{font-size:23px;color:var(--muted)}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.case-grid>div>p:not(.eyebrow){color:var(--muted)}.approach>div{display:flex;gap:25px;border-bottom:1px solid var(--line);padding:18px 0}.approach>div>span{color:var(--orange);padding-top:12px;font-size:13px}.approach p{font-size:16px}.pipeline{padding:32px;background:var(--cream);margin-top:60px}.pipeline span,.next-project>span{font-size:10px;letter-spacing:2px}.pipeline p{font-family:monospace;font-size:18px;overflow-wrap:anywhere}.next-project{border-top:1px solid var(--line);margin-top:60px;padding-top:25px;display:flex;justify-content:space-between;gap:20px}.next-project a{font-weight:bold}.notice{background:#fff0e7;padding:22px;margin-bottom:45px;border-left:3px solid var(--orange)}.notice a{text-decoration:underline}
@media(min-width:1500px){.hero{padding-block:85px}}@media(max-width:1000px){header{padding:24px 28px}nav{gap:18px}.hero{padding:55px 28px;gap:35px}h1{font-size:56px}.hero .plain-link{font-size:11px}.portrait-note{font-size:18px;right:-8px}.section{padding:65px 28px}.projects{gap:15px}.project{padding:17px}h3{font-size:19px}.section-heading{gap:30px}h2{font-size:36px}.about,.newsletter{gap:40px;padding-inline:28px}.newsletter h2{font-size:30px}.input-row{flex-direction:column}footer{margin-inline:28px;flex-wrap:wrap}.case-grid{gap:40px}}
@media(max-width:680px){header{padding:20px}.brand{font-size:25px}nav{gap:16px}nav a{font-size:11px}nav a:nth-child(2),nav a:nth-child(3){display:none}.nav-cta{padding:8px 10px}.hero{grid-template-columns:1fr;padding:40px 22px;gap:40px}h1{font-size:53px;letter-spacing:-2.5px}.intro{font-size:16px}.actions{gap:18px}.portrait{max-width:400px;width:calc(100% - 15px);margin:0 auto}.portrait img{max-height:340px;object-position:center}.portrait-note{right:-12px}.tech-strip{padding:23px;gap:18px}.tech-strip>span{width:100%}.tech-strip b{font-size:13px}.section{padding:55px 22px}.section-heading{display:block}.section-heading>p{margin-top:22px}h2{font-size:34px}.filters{margin-top:25px;gap:7px}.filters button{font-size:11px;padding:8px 11px}.projects{grid-template-columns:1fr;gap:20px}.project{padding:22px}.project-art{height:145px}.project h3{font-size:24px}.project p{font-size:14px}.about,.newsletter{grid-template-columns:1fr;gap:24px}.large{font-size:18px}.newsletter{padding:45px 22px}.input-row{flex-direction:row}.input-row input{font-size:13px;padding:10px}.input-row button{padding:10px;font-size:11px}.contact h2{font-size:30px}.contact .plain-link{display:block;margin:22px 0 0}footer{margin:0 22px;padding:28px 0;gap:17px}footer p{flex-basis:60%;margin:0}footer small{margin-left:auto}.project-hero h1{font-size:43px}.project-headline{font-size:20px}.case-grid{grid-template-columns:1fr;gap:38px}.pipeline{padding:22px}.pipeline p{font-size:15px}.next-project{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
