@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;450;500;550;600;650;700;750;800;850;900&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#efeee8;--ink:#24251f;--muted:#72736a;--line:#cfcec5;--orange:#fa5a2c;--lime:#d7ff79;--dark:#20231f;--font:'Golos Text','Arial',sans-serif;--mono:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a,button{touch-action:manipulation}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:5px}button{border:0}h1,h2,h3,p{margin:0}em{font-style:normal;color:var(--orange)}.wrap{max-width:1480px;margin:auto;padding-inline:5.2%}.header{display:flex;align-items:center;justify-content:space-between;padding:21px 5.2%;border-bottom:1px solid var(--line);gap:25px}.brand{font-family:'Manrope',var(--font);font-size:32px;font-weight:800;letter-spacing:-2px;display:inline-flex;align-items:center;gap:5px}.brand span{font-size:33px;color:var(--orange);font-weight:400}.header nav{display:flex;gap:35px;font-size:13px}.header nav a{position:relative}.header nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:1px;background:var(--orange);transition:width .2s}.header nav a:hover:after{width:100%}.header-contact{font-size:13px;border:1px solid var(--ink);border-radius:30px;padding:11px 18px;display:flex;gap:26px;align-items:center}.header-contact span{font-size:20px}.eyebrow,.section-kicker,.tiny-label,.hero-line,.visual-top,.image-note,.tags,.project-no,.project-art>span,.sandbox-top,.sandbox-bottom,.photo-handle,.journal-header,.journal-footer,.tech-stack,footer>span{font-family:var(--mono);font-size:10px;font-weight:400;letter-spacing:1.1px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:9px}.hero{padding-top:35px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:6%;padding-top:30px;align-items:stretch}.hero h1{font-size:clamp(50px,6.8vw,104px);line-height:.99;font-weight:650;letter-spacing:-5.5px}.hero-copy{padding:6px 0 0;display:flex;flex-direction:column;justify-content:space-between;gap:45px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-right:5%}.hero-bottom p{font-size:14px;line-height:1.6}.circle-link{display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;font-size:25px;width:54px;height:54px;transition:background .2s,transform .2s}.circle-link:hover{background:var(--orange);transform:translateY(3px)}.hero-visual{position:relative;background:#121923;min-height:450px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;color:var(--paper);isolation:isolate}.hero-visual img{position:absolute;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.86;transition:transform .8s}.hero-visual:hover img{transform:scale(1.035)}.hero-visual:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#0006,transparent 30%,transparent 45%,#000b)}.visual-top{padding:21px;display:flex;justify-content:space-between;gap:15px;color:#ddd}.live-dot:before{content:'';background:var(--orange);width:5px;height:5px;display:inline-block;border-radius:50%;margin:0 7px 1px 0}.visual-caption{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding:30px 25px 9px;gap:15px}.visual-caption small{font-family:var(--mono);font-size:9px;letter-spacing:1px}.visual-caption strong{display:block;font-size:24px;letter-spacing:-.7px;margin-top:8px;font-weight:500}.visual-arrow{font-size:35px}.image-note{font-size:8px;letter-spacing:.5px;padding:0 25px 21px;opacity:.65}.hero-line{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:37px 0 21px;font-size:9px;color:var(--muted)}.section{padding-top:100px;padding-bottom:100px}.section-kicker{display:flex;align-items:center;gap:10px;color:var(--muted)}.section-kicker:before{content:'+';color:var(--orange);font-size:16px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:26px 0 53px;gap:25px}h2{font-size:clamp(38px,4.3vw,66px);line-height:1.06;letter-spacing:-2.7px;font-weight:550}.section-heading>p{font-size:13px;line-height:1.7;max-width:310px;color:var(--muted)}.project{display:grid;grid-template-columns:45px 1fr 32%;gap:25px;border-top:1px solid var(--line);padding:32px 0;align-items:start}.project-no{padding-top:6px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:7px;font-size:8px;letter-spacing:.5px}.tags span{padding:6px 8px;border:1px solid var(--line);border-radius:3px}.project h3{font-size:clamp(25px,2.8vw,39px);letter-spacing:-1.5px;font-weight:500;margin:19px 0 13px}.project-info>p{font-size:13px;color:var(--muted);max-width:490px;line-height:1.7}.project-actions{display:flex;gap:27px;margin-top:26px;flex-wrap:wrap}.text-link{display:inline-block;background:none;padding:0 0 4px;font-size:12px;font-weight:500;border-bottom:1px solid currentColor;text-align:left}.text-link:hover{color:var(--orange)}.muted{color:var(--muted)}.project-art{height:225px;position:relative;display:grid;place-items:center;overflow:hidden}.project-art>span{position:absolute;bottom:15px;left:18px;font-size:7px;letter-spacing:.8px}.voxel-art{background:#d2d2c7}.voxel-cube{display:grid;grid-template-columns:repeat(3,33px);gap:5px;transform:rotate(-25deg) skewY(12deg);filter:drop-shadow(13px 15px 0 #20231f18);margin-top:-15px}.voxel-cube i{background:var(--orange);height:33px;box-shadow:6px 6px 0 #ab4025;transition:transform .5s}.project:hover .voxel-cube i:nth-child(3n){transform:translate(7px,-5px)}.offline-art{background:#dce1d8}.phone{height:185px;background:#f7f7ef;border:3px solid #303d31;width:150px;border-radius:19px;padding:15px 10px;margin-bottom:-25px;transform:rotate(-8deg);box-shadow:12px 15px 0 #303d3112}.phone>span{font-size:9px;font-weight:600;display:block}.phone b{font-family:var(--mono);font-size:5px;color:#386340;float:right;margin-top:3px}.phone-bubble{font-size:7px;background:#e2e6dc;border-radius:6px;padding:9px 6px;margin:20px 0 16px}.phone-lines{display:grid;gap:5px}.phone-lines i{height:3px;background:#aab4a3;width:90%}.phone-lines i:last-child{width:60%}.phone small{display:block;font-size:5px;margin-top:12px;color:#386340}.motion-art{background:#353e34;color:#b7bfad}.motion-art svg{width:90%;height:90%;margin-top:-10px}.all-github{border-block:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:13px;gap:20px}.all-github span{font-family:var(--mono);font-size:11px}.all-github:hover{color:var(--orange)}.lab{background:var(--dark);color:var(--paper)}.lab .section-kicker,.lab .section-heading>p{color:#a4ab9d}.lab-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #53594e;border-bottom:1px solid #53594e;margin-bottom:30px}.lab-tabs button{background:transparent;color:#929a8b;padding:21px 20px;display:flex;gap:15px;text-align:left;font-family:var(--mono);font-size:10px;align-items:baseline;border-bottom:3px solid transparent;margin-bottom:-1px}.lab-tabs button span{font-family:var(--font);font-size:18px}.lab-tabs button[aria-selected=true]{color:var(--paper);border-color:var(--orange)}.lab-tabs button:hover{background:#ffffff05}.lab-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:start}.lab-panel[hidden]{display:none}.sandbox,.motion-demo,.search-demo{background:#151a17;position:relative;min-height:480px;overflow:hidden}.sandbox{display:flex;flex-direction:column}.sandbox-top,.sandbox-bottom{display:flex;justify-content:space-between;gap:12px;padding:20px;color:#9ba395;font-size:8px;letter-spacing:.5px;position:relative;z-index:1}.sandbox-top span:last-child{color:var(--lime)}.sandbox canvas{width:100%;height:390px;display:block;flex:1;min-height:250px}.sandbox-bottom{margin-top:auto}.controls{padding:16px 0}.controls .tiny-label{color:var(--orange);font-size:8px}.controls h3{font-size:31px;line-height:1.15;letter-spacing:-1px;font-weight:450;margin:18px 0}.controls>p{font-size:13px;line-height:1.75;color:#aab2a3;margin-bottom:23px}.controls>label{display:block;font-size:11px;color:#c3c9ba;margin:19px 0 10px}.controls label output{float:right;color:var(--paper);font-family:var(--mono)}select{width:100%;border:1px solid #53594e;background:transparent;color:var(--paper);padding:12px;border-radius:0;font-size:12px}select option{background:var(--dark)}input[type=range]{width:100%;accent-color:var(--orange);margin:5px 0 19px;cursor:pointer}.button{display:inline-flex;justify-content:space-between;align-items:center;padding:16px 20px;font-size:12px;gap:25px;border-radius:0;font-weight:500;transition:filter .2s}.button:hover{filter:brightness(.9)}.button span{font-size:20px;font-weight:400;line-height:.7}.orange{background:var(--orange);color:#171c16}.lime{background:var(--lime);color:var(--ink);width:100%}.button-row{display:flex;gap:9px}.button-row .button{flex:1}.icon-button{border:1px solid #53594e;background:transparent;min-width:50px;font-size:24px;color:var(--paper)}.controls>.demo-note{font-size:10px;color:#879180;line-height:1.6;margin:18px 0}.lab .text-link{font-size:11px}.search-demo{padding-bottom:25px}.search-intro{padding:25px 26px 20px}.search-icon{font-size:40px;color:var(--lime)}.search-intro h3{font-size:29px;line-height:1.15;font-weight:450;letter-spacing:-.7px;margin:14px 0 13px}.search-intro p{font-size:11px;color:#9ba395}.search-field{display:flex;margin:0 25px;border:1px solid #53594e}.search-field input{background:transparent;border:0;padding:14px 12px;min-width:0;color:var(--paper);font-size:12px;flex:1}.search-field button{background:var(--lime);color:var(--ink);width:45px;font-size:24px}.query-chips{display:flex;gap:7px;flex-wrap:wrap;padding:12px 25px}.query-chips button{background:transparent;border:1px solid #53594e;padding:6px 9px;border-radius:20px;font-size:9px;color:#aab2a3}.query-chips button:hover{border-color:var(--lime);color:var(--lime)}.search-result{padding:20px;margin:8px 25px 0;background:#232a23;min-height:114px}.search-result .tiny-label{font-size:8px;color:var(--lime)}.search-result p{font-size:12px;line-height:1.7;margin-top:12px;color:#c3c9ba}.search-result a{font-size:9px;color:var(--lime);text-decoration:underline;display:inline-block;margin-top:15px}.pipeline{list-style:none;margin:28px 0;padding:0}.pipeline li{display:flex;gap:22px;border-top:1px solid #53594e;padding:17px 0;font-size:12px}.pipeline li b{font-family:var(--mono);font-size:9px;color:var(--lime);font-weight:400}.tech-stack{font-size:8px;letter-spacing:.4px;color:#c3c9ba}.motion-demo svg{width:100%;height:355px;display:block}.body-bones{fill:none;stroke:#7f8978;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.joint-points{fill:var(--lime)}#angle-label{fill:var(--lime);font-family:var(--mono);font-size:15px}.motion-readout{display:flex;justify-content:space-around;border-top:1px solid #3b4538;margin:0 25px;padding:20px 0;gap:20px}.motion-readout span{display:block;font-family:var(--mono);font-size:8px;color:#9ba395}.motion-readout strong{font-family:var(--mono);font-size:23px;display:block;color:var(--lime);font-weight:400;margin-top:8px}.formula{font-family:var(--mono);font-size:15px;padding:25px 0 5px;color:var(--lime)}.photo-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;margin-top:32px;align-items:center}.photo h2{font-size:clamp(36px,4.3vw,65px);line-height:1.08}.photo-copy p{font-size:13px;line-height:1.7;color:var(--muted);margin:28px 0}.dark{background:var(--ink);color:var(--paper)}.photo-handle{display:block;margin-top:18px;font-size:9px;color:var(--muted)}.photo-journal{background:#e4e2d8;border:1px solid #d5d2c5;display:flex;flex-direction:column;min-height:440px}.journal-header,.journal-footer{padding:18px;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.5px;border-bottom:1px solid #d5d2c5}.journal-footer{border-bottom:0;border-top:1px solid #d5d2c5;margin-top:auto;font-size:9px;align-items:center}.journal-footer span{font-size:20px}#x-feed{padding:30px;text-align:center;flex:1}.journal-mark{font-family:var(--mono);font-size:90px;font-weight:300;letter-spacing:-20px;margin:6px 0 20px;padding-right:20px}.journal-mark span{color:var(--orange);font-size:100px;display:inline-block;margin-inline:20px}.photo-journal h3{font-size:20px;font-weight:500;letter-spacing:-.5px}.photo-journal p{font-size:12px;color:var(--muted);line-height:1.7;margin:15px 0 25px}.feed-status{padding:10px!important;font-size:11px!important}.more{padding-bottom:90px}.more .section-kicker{margin-bottom:25px}.more>a{display:grid;grid-template-columns:1fr 1fr 20px;gap:25px;align-items:center;border-top:1px solid var(--line);padding:21px 0;font-size:20px;letter-spacing:-.5px}.more>a:last-child{border-bottom:1px solid var(--line)}.more small{font-size:11px;color:var(--muted);letter-spacing:0}.more b{font-size:24px;font-weight:400}.more>a:hover{color:var(--orange)}.contact{background:var(--orange);padding:70px 0 50px}.contact .section-kicker{color:#71351e}.contact .section-kicker:before{color:var(--ink)}.contact h2{font-size:clamp(40px,7vw,105px);font-weight:550;letter-spacing:-4px;margin:36px 0 50px}.contact em{color:#f7e8d3}.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px}.contact-bottom p{font-size:13px;line-height:1.7}.contact-bottom>div{display:flex;gap:40px}.contact-bottom a{font-size:18px;border-bottom:1px solid #622e21;padding-bottom:10px}.contact-bottom a:hover{color:var(--paper)}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:30px}footer>span{font-size:8px;color:var(--muted)}footer>a:last-child{font-size:11px}dialog{background:var(--paper);color:var(--ink);border:0;padding:55px;max-width:800px;width:90%;max-height:90dvh;overflow:auto}dialog::backdrop{background:#151a17ce;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:17px;top:12px;background:none;font-size:31px;line-height:1}.dialog-content{margin-top:15px}dialog h2{font-size:42px;margin:15px 0 20px}dialog h3{font-size:16px;margin:30px 0 12px}dialog p,dialog li{font-size:13px;line-height:1.8;color:var(--muted)}dialog ul{padding-left:20px}dialog .button{margin-top:25px}dialog img{display:block;width:100%;height:auto;margin-top:25px;background:#151a17}.dialog-warning{font-size:11px!important;padding:14px 17px;border-left:2px solid var(--orange);background:#e5e3d9;margin-top:20px}dialog .tags{margin-bottom:25px}.skip{position:fixed;z-index:10;top:10px;left:10px;background:var(--ink);color:var(--paper);padding:15px;transform:translateY(-150%)}.skip:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.header{padding-inline:max(5.2%,calc((100vw - 1325px)/2))}.hero h1{font-size:104px}}@media(max-width:1000px){.hero-grid{gap:4%}.hero h1{letter-spacing:-3px}.hero-visual{min-height:390px}.project{grid-template-columns:30px 1fr 30%;gap:15px}.project-art{height:210px}.project h3{letter-spacing:-.8px}.lab-panel{gap:5%}.controls h3{font-size:26px}.sandbox-top,.sandbox-bottom{font-size:7px;padding:15px}.photo-grid{gap:6%}.journal-mark{font-size:70px}.journal-mark span{font-size:80px}.contact h2{letter-spacing:-3px}}@media(max-width:720px){html{scroll-padding-top:25px}.wrap{padding-inline:6%}.header{padding:15px 6%;flex-wrap:wrap;gap:14px}.brand{font-size:27px}.brand span{font-size:28px}.header nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;gap:15px;font-size:12px}.header-contact{font-size:11px;padding:8px 13px}.header-contact span{font-size:17px}.hero{padding-top:25px}.eyebrow{font-size:8px;letter-spacing:.8px}.hero-grid{grid-template-columns:1fr;gap:30px;padding-top:27px}.hero h1{font-size:clamp(48px,12.5vw,84px);letter-spacing:-3.2px;line-height:1.02}.hero-copy{gap:30px}.hero-bottom{padding:0}.hero-bottom p{font-size:12px}.circle-link{width:45px;height:45px}.hero-visual{min-height:370px}.visual-caption strong{font-size:25px}.hero-line{padding-top:23px;font-size:7px;letter-spacing:.4px}.hero-line span:last-child{display:none}.section{padding-top:65px;padding-bottom:65px}.section-kicker{font-size:8px;letter-spacing:.7px}.section-heading{display:block;margin:23px 0 33px}.section-heading>p{margin-top:22px;font-size:12px}h2{font-size:40px;letter-spacing:-1.9px}.project{grid-template-columns:25px 1fr;gap:13px;padding:24px 0 28px}.project-no{font-size:9px}.project-art{grid-column:2;height:195px;margin-top:10px}.project h3{font-size:27px;margin:16px 0 12px;letter-spacing:-1px}.project-info>p{font-size:12px}.tags{font-size:7px}.project-actions{gap:25px;margin-top:22px}.text-link{font-size:11px}.all-github{font-size:11px;padding:22px 0}.all-github span{font-size:9px}.lab-tabs{margin-bottom:20px}.lab-tabs button{padding:17px 7px;gap:8px;font-size:8px}.lab-tabs button span{font-size:14px}.lab-panel{grid-template-columns:1fr;gap:22px}.controls{padding:4px 0 0}.controls h3{font-size:29px}.controls>p{font-size:12px}.sandbox,.motion-demo,.search-demo{min-height:410px}.sandbox canvas{height:330px;min-height:200px}.sandbox-top,.sandbox-bottom{font-size:7px;padding:15px}.motion-demo svg{height:310px}.photo-grid{grid-template-columns:1fr;gap:35px}.photo h2{font-size:43px;letter-spacing:-2.1px}.photo-copy p{font-size:12px}.photo-journal{min-height:400px}.journal-mark{font-size:70px}.journal-mark span{font-size:85px}.more{padding-bottom:65px}.more>a{grid-template-columns:1fr 20px;gap:10px;font-size:20px;padding:19px 0}.more small{grid-column:1;grid-row:2;font-size:10px}.more b{grid-column:2;grid-row:1/3}.contact{padding:50px 0 35px}.contact h2{font-size:clamp(38px,10.2vw,68px);letter-spacing:-2px;margin:27px 0 35px}.contact-bottom{display:block}.contact-bottom>div{margin-top:30px;gap:35px}.contact-bottom a{font-size:16px}.contact-bottom p{font-size:12px}footer{display:grid;grid-template-columns:1fr 1fr;padding-block:25px;gap:20px}footer .brand{order:1}footer>span:nth-child(2){display:none}footer>span:nth-child(3){order:3}footer>a:last-child{order:2;text-align:right;font-size:11px}dialog{padding:40px 24px 30px;width:94%;max-height:92dvh}dialog h2{font-size:31px;letter-spacing:-1.5px}dialog p,dialog li{font-size:12px}.search-field{margin-inline:20px}.search-intro{padding:20px}.query-chips{padding-inline:20px}.search-result{margin-inline:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.hero-visual img{transform:none!important}}

/* Keep project columns and SVG artwork inside their grid tracks */
.project{grid-template-columns:45px minmax(0,1fr) minmax(0,32%)}
.project-info,.project-art{min-width:0}
.motion-art svg{display:block;width:min(90%,360px);height:90%;max-width:100%;max-height:100%}
@media(max-width:1000px){.project{grid-template-columns:30px minmax(0,1fr) minmax(0,30%)}}
@media(max-width:720px){.project{grid-template-columns:25px minmax(0,1fr)}.project-art{width:100%;min-width:0}.motion-art svg{width:min(94%,260px);height:94%}}

/* Stable brand mark across emoji and fallback fonts. */
.brand .brand-mark{width:36px;height:36px;display:inline-grid;place-items:center;flex:0 0 36px;border-radius:7px;background:#00c83d;line-height:1;letter-spacing:0;color:#fff}.brand .brand-mark svg{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter}.brand .brand-mark svg path{fill:none}.brand{gap:8px}
@media(max-width:720px){.brand .brand-mark{width:33px;height:33px;flex-basis:33px;border-radius:6px}.brand .brand-mark svg{width:24px;height:24px}}
