@font-face{font-family:PP Neue Montreal;src:url(/fonts/PPNeueMontreal-Thin.woff2)format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:PP Neue Montreal;src:url(/fonts/PPNeueMontreal-ThinItalic.woff2)format("woff2");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:PP Neue Montreal;src:url(/fonts/PPNeueMontreal-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:PP Neue Montreal;src:url(/fonts/PPNeueMontreal-LightItalic.woff2)format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:PP Neue Montreal;src:url(/fonts/PPNeueMontreal-Book.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:PP Neue Montreal;src:url(/fonts/PPNeueMontreal-BookItalic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:PP Neue Montreal;src:url(/fonts/PPNeueMontreal-Regular.woff2)format("woff2");font-weight:450;font-style:normal;font-display:swap}@font-face{font-family:PP Neue Montreal;src:url(/fonts/PPNeueMontreal-Italic.woff2)format("woff2");font-weight:450;font-style:italic;font-display:swap}@font-face{font-family:PP Supply Mono;src:url(/fonts/PPSupplyMono-Thin.woff2)format("woff2");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:PP Supply Mono;src:url(/fonts/PPSupplyMono-Ultralight.woff2)format("woff2");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:PP Supply Mono;src:url(/fonts/PPSupplyMono-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:PP Supply Mono;src:url(/fonts/PPSupplyMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#f2f2f0;--text:#1a1a1a;--line:#dcdcdc;--accent:#8c8c88;--hover:#eceae7;--hover-title:#1a1a1a;--surface:#fff;--blue:#2a5bd7;--red:#d93f36;--dark:#333;--beige:#d8d4c5;--font-sans:"PP Neue Montreal","Helvetica Neue",Helvetica,Arial,sans-serif;--font-mono:"PP Supply Mono",ui-monospace,SFMono-Regular,monospace}body.theme-midnight{--bg:#1a1a1a;--text:#e8e8e6;--line:#333;--accent:#666;--hover:#242424;--hover-title:#e8e8e6;--surface:#222}body.theme-ocean{--bg:#0a1628;--text:#c8daf0;--line:#1e3a5f;--accent:#4a7ab5;--hover:#0f1f38;--hover-title:#c8daf0;--surface:#0f1f38}body.theme-warm{--bg:#f5efe6;--text:#3d2e1e;--line:#d4c9b8;--accent:#9e8b74;--hover:#ebe5d8;--hover-title:#3d2e1e;--surface:#faf6ef}body.theme-forest{--bg:#1a2e1a;--text:#c8e0c4;--line:#2d4a2d;--accent:#6a9a66;--hover:#243824;--hover-title:#c8e0c4;--surface:#1f361f}body.theme-rose{--bg:#2a1520;--text:#e8c8d8;--line:#4a2838;--accent:#b06888;--hover:#351a28;--hover-title:#e8c8d8;--surface:#351a28}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}html{-moz-text-size-adjust:none;text-size-adjust:none}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);min-height:100vh;font-size:.9rem;font-weight:450;line-height:1.5;position:relative}a{color:inherit;text-decoration:none}img,picture,video,canvas,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit}ul[role=list],ol[role=list]{list-style:none}.page-transition{background:var(--bg);min-height:100vh}@media (prefers-reduced-motion:reduce){.page-transition{transition:none!important}}nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1.5rem 2.5rem;display:flex}nav .coords{font-family:var(--font-mono);letter-spacing:.08em;color:var(--accent);font-variant-numeric:tabular-nums;gap:1.5rem;font-size:.65rem;display:flex}.hero{cursor:text;caret-color:#0000;align-items:center;min-height:480px;padding:2.5rem;display:flex;position:relative}.hero h1{letter-spacing:-.04em;overflow-wrap:break-word;min-height:1em;font-size:clamp(8rem,11vw,10rem);font-weight:450;line-height:1}.hero h1 .cursor{background:var(--text);vertical-align:text-bottom;visibility:hidden;width:14px;height:1em;margin-left:8px;animation:.7s step-end infinite blink;display:inline-block}.hero.focused h1 .cursor{visibility:visible}.hero h1 .cursor.at-start{margin-left:0}.hero h1 .placeholder{color:var(--line)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-input{opacity:0;width:100%;height:0;position:absolute;left:-9999px}.widget{background:var(--surface);border:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;z-index:50;border-radius:10px;transition:box-shadow .2s,border-color .2s;position:absolute;overflow:hidden}@media (hover:hover){.widget:hover{border-color:#ccc;box-shadow:0 6px 24px #0000000f}}.widget.dragging{cursor:grabbing;z-index:9999;border-color:#bbb;box-shadow:0 16px 48px #0000001a}.widget-header{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 16px;font-size:.55rem;display:flex}.widget-header .handle{background:repeating-linear-gradient(0deg,var(--line),var(--line)1px,transparent 1px,transparent 3px);width:14px;height:8px}.widget-body iframe{border:none;display:block}.widget-caption{color:var(--accent);padding:8px 16px;font-size:.65rem}.mobile-about{z-index:2;display:none;position:relative}.about-pill{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:50px;align-items:center;gap:8px;margin-top:1.5rem;padding:8px 16px;font-family:inherit;font-size:.6rem;transition:border-color .15s;display:inline-flex}.about-arrow{transition:transform .3s;display:inline-block}.about-pill.open .about-arrow{transform:rotate(180deg)}.about-reveal{max-height:0;margin-top:0;transition:max-height .4s,margin .4s;overflow:hidden}.about-reveal.open{max-height:120px;margin-top:1rem}.about-reveal p{color:var(--accent);font-size:.85rem;line-height:1.55}.widget-bio{z-index:60;width:260px;top:120px;right:280px}.widget-body-text{color:var(--text);padding:16px;font-size:.8rem;line-height:1.5}.widget-vid{width:256px}.widget-vid-body{padding:0;line-height:0;overflow:hidden}.widget-vid-body video{border-radius:0 0 9px 9px;width:100%;display:block}.widget-vid-1{z-index:50;top:140px;right:460px}.widget-vid-3{z-index:50;top:60px;right:100px}.toolbelt{border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.toolbelt::-webkit-scrollbar{display:none}.tool-cell{border-right:1px solid var(--line);flex-direction:column;flex:1 0 auto;gap:8px;padding:1.5rem 2rem;display:flex}.tool-cell:last-child{border-right:none}.tool-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:.6rem}.tool-controls{align-items:center;gap:8px;display:flex}.swatch{border:1.5px solid var(--line);cursor:pointer;border-radius:50%;flex-shrink:0;width:20px;height:20px;transition:transform .15s,box-shadow .15s}@media (hover:hover){.swatch:hover{transform:scale(1.15)}}.swatch.active{box-shadow:0 0 0 2.5px var(--bg),0 0 0 4.5px var(--text)}.tool-btn{border:1px solid var(--line);color:var(--text);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:50px;align-items:center;gap:4px;padding:4px 16px;font-family:inherit;font-size:.6rem;transition:background .15s,border-color .15s;display:inline-flex}@media (hover:hover){.tool-btn:hover{border-color:var(--accent)}}.tool-btn.active{background:var(--text);color:var(--bg);border-color:var(--text)}.tool-btn:disabled{opacity:.4;cursor:not-allowed}@media (hover:hover){.tool-btn:disabled:hover{border-color:var(--line)}}.tool-btn svg{width:14px;height:14px}.sound-btn{border:1px solid var(--line);width:28px;height:28px;color:var(--text);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .15s,background .15s;display:inline-flex}@media (hover:hover){.sound-btn:hover{border-color:var(--accent)}}.sound-btn.play-btn{width:30px;height:30px}.sound-btn.active{background:var(--text);color:var(--bg);border-color:var(--text)}.sound-btn svg{width:12px;height:12px}.sound-btn.play-btn svg{width:14px;height:14px}.radio-progress{background:var(--line);cursor:pointer;border-radius:2px;flex:1;min-width:40px;height:3px;margin:0 8px;position:relative}.radio-progress-fill{background:var(--text);border-radius:2px;width:0%;height:100%;transition:width .3s linear}.radio-time{font-family:var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.03em;flex-shrink:0;font-size:.5rem}.sound-vol{appearance:none;background:var(--line);cursor:pointer;border-radius:2px;outline:none;width:80px;height:3px;margin-left:8px}.sound-vol::-webkit-slider-thumb{-webkit-appearance:none;background:var(--text);cursor:pointer;border-radius:50%;width:9px;height:9px}#yt-wrap{z-index:-1;width:2px;height:2px;position:fixed;bottom:0;right:0;overflow:hidden}#spray-canvas{pointer-events:none;z-index:9998;width:100%;position:absolute;top:0;left:0}body.spraying,body.brushing{-webkit-user-select:none;user-select:none;cursor:crosshair!important}body.spraying *,body.brushing *{cursor:crosshair!important}body.spraying .toolbelt,body.brushing .toolbelt{cursor:default!important}body.spraying .toolbelt *,body.brushing .toolbelt *{cursor:pointer!important}.work-section{padding:3rem 2.5rem}.work-section.no-pad-top{padding-top:0}.section-title{letter-spacing:-.02em;margin-bottom:2rem;font-size:1.6rem;font-weight:450}.list-header{border-bottom:1px solid color-mix(in srgb,var(--line)50%,transparent);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);grid-template-columns:3fr 1.5fr 80px;gap:16px;padding-bottom:16px;font-size:.6rem;display:grid}.list-header .col-year{text-align:right}.row{border-bottom:1px solid color-mix(in srgb,var(--line)50%,transparent);cursor:pointer;color:inherit;grid-template-columns:3fr 1.5fr 80px;align-items:flex-start;gap:16px;padding:1.5rem 0;text-decoration:none;transition:background .1s,transform .4s cubic-bezier(.34,1.56,.64,1);display:grid}.row:last-child{border-bottom:none}@media (hover:hover){.row:hover{background:var(--hover);margin:0 -2.5rem;padding-left:2.5rem;padding-right:2.5rem}}.marker{vertical-align:middle;width:12px;height:12px;margin-right:8px;display:inline-block}.row-main{padding-right:2rem}.row-name{margin-bottom:4px;font-size:1rem;font-weight:450;transition:color .1s}@media (hover:hover){.row:hover .row-name{color:var(--hover-title,var(--text))}}.row-desc{color:var(--accent);padding-left:20px;font-size:.8rem}.row-year{text-align:right;font-size:.85rem}.row-year .sub{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin-top:4px;font-size:.55rem;display:block}.categories{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);white-space:nowrap;border-radius:50px;padding:4px 8px;font-size:.55rem}.tag.action{border-color:var(--text);color:var(--text);font-weight:450}@media (hover:hover){.tag.action:hover{background:var(--text);color:var(--bg)}}.bg-blue{background:var(--blue)}.bg-red{background:var(--red)}.bg-dark{background:var(--dark)}.bg-beige{background:var(--beige)}.bottom-strip{border-top:1px solid var(--line);grid-template-columns:2fr 1fr;display:grid}.bottom-left{border-right:1px solid var(--line);padding:2.5rem}.bottom-right{padding:2.5rem}.section-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:1rem;font-size:.6rem}.thought-row{border-bottom:1px solid color-mix(in srgb,var(--line)50%,transparent);color:inherit;justify-content:space-between;align-items:baseline;padding:.5rem 0;text-decoration:none;transition:color .15s;display:flex}.thought-row:last-child{border-bottom:none}.thought-title{font-size:.9rem}.thought-date{font-family:var(--font-sans);color:var(--accent);font-size:.7rem}.link-item{color:var(--accent);padding:.5rem 0;font-size:.8rem;text-decoration:none;transition:color .15s;display:block}@media (hover:hover){.link-item:hover{color:var(--text)}}.project-page{background:var(--bg);min-height:100vh;padding:2.5rem}.project-logo{margin-bottom:2rem}.project-header{justify-content:center;margin-top:2rem;margin-bottom:3rem;display:flex}.project-title{align-items:center;gap:16px;display:flex}.project-title h1{font-size:1rem;font-weight:450;font-family:var(--font-sans);margin:0;line-height:1.25}.project-content{flex-direction:column;align-items:center;gap:48px;max-width:2000px;margin:0 auto;display:flex}.project-image-wrapper{background:#1a1a1a;border-radius:8px;width:100%;max-width:2000px;overflow:hidden}.project-image{width:100%;height:auto;display:block}.article-page{background:var(--bg);min-height:100vh;padding:2.5rem}.article-logo{margin-bottom:2rem}.article-header{text-align:left;max-width:640px;margin:2rem auto}.article-title{font-size:1.5rem;font-weight:450;font-family:var(--font-sans);margin:0 0 8px;line-height:1.3}.article-date{font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent);text-transform:uppercase;font-size:.65rem;font-weight:400;line-height:16px;display:block}.article-content{max-width:640px;margin:0 auto}.article-content p{font-family:var(--font-sans);color:var(--text);margin:0 0 2rem;font-size:1rem;line-height:1.65}.article-content p:last-child{margin-bottom:0}.article-content ul{margin:0 0 2rem;padding:0;list-style:none}.article-content ul li{margin-bottom:2rem}.article-content ul li:last-child{margin-bottom:0}.article-content ul li strong,.article-content p strong:first-child{margin-bottom:.5em;font-weight:450;display:block}.article-content ul li p{margin:0}.article-content a{color:var(--accent);text-decoration:underline}@media (hover:hover){.article-content a:hover{opacity:.7}}.image-modal-overlay{background-color:var(--bg);z-index:1000;cursor:pointer;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.image-modal-content{justify-content:center;align-items:center;max-width:100%;max-height:100%;display:flex;position:relative}.image-modal-image{object-fit:contain;cursor:default;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 64px)}.image-modal-close{cursor:pointer;z-index:1001;background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex;position:fixed;top:32px;right:32px}.image-modal-close img{width:24px;height:24px;display:block}@media (hover:hover){.image-modal-close:hover{opacity:.7}}.work-modal{aspect-ratio:4/3;background:var(--bg);border:1px solid var(--line);z-index:1001;-webkit-user-select:none;user-select:none;border-radius:12px;flex-direction:column;width:min(133.333vh - 85.3333px,100vw - 64px);max-height:calc(100vh - 64px);display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 24px 80px #0000001f}.work-modal.dragging{box-shadow:0 32px 100px #0000002e}.work-modal-header{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border-bottom:1px solid var(--line);cursor:grab;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px;font-size:.55rem;display:flex}.work-modal-header .handle{background:repeating-linear-gradient(0deg,var(--line),var(--line)1px,transparent 1px,transparent 3px);width:14px;height:8px}.work-modal.dragging .work-modal-header{cursor:grabbing}.work-modal-close{border:1px solid var(--line);width:24px;height:24px;color:var(--accent);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;transition:border-color .15s,color .15s;display:flex}.work-modal-link{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border:1px solid var(--line);white-space:nowrap;border-radius:50px;padding:4px 12px;font-size:.55rem;text-decoration:none;transition:border-color .15s,color .15s}@media (hover:hover){.work-modal-link:hover,.work-modal-close:hover{border-color:var(--text);color:var(--text)}}.work-modal-body{background:#ffffff0a;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.work-modal-body img{max-width:120vw;max-height:120vh;display:block}.work-modal-body img.work-modal-img-aevo-perps,.work-modal-body img.work-modal-img-aevo-otc{max-width:100vw;max-height:100vh}.work-modal-video{aspect-ratio:16/9;border:none;width:100%;display:block}.work-modal-nav{border:1px solid var(--line);background:var(--surface);width:32px;height:32px;color:var(--accent);cursor:pointer;z-index:2;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}@media (hover:hover){.work-modal-nav:hover{border-color:var(--text);color:var(--text)}}.work-modal-nav.prev{left:16px}.work-modal-nav.next{right:16px}.work-modal-nav svg{width:12px;height:12px}.work-modal-footer{border-top:1px solid var(--line);flex-shrink:0;justify-content:center;align-items:center;padding:8px 16px;display:flex}.work-modal-pagination{align-items:center;gap:4px;display:flex}.work-modal-dot{background:var(--line);cursor:pointer;border-radius:50%;width:5px;height:5px;transition:background .2s,transform .2s}.work-modal-dot.active{background:var(--text);transform:scale(1.4)}.thought-modal{background:var(--bg);border:1px solid var(--line);z-index:1001;-webkit-user-select:none;user-select:none;border-radius:.75rem;flex-direction:column;width:40rem;max-width:calc(100vw - 5rem);max-height:calc(100vh - 5rem);display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 1.5rem 5rem #0000001f}.thought-modal.dragging{box-shadow:0 2rem 6.25rem #0000002e}.thought-modal-header{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border-bottom:1px solid var(--line);cursor:grab;flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem 1rem;font-size:.55rem;display:flex}.thought-modal-header .handle{background:repeating-linear-gradient(0deg,var(--line),var(--line)1px,transparent 1px,transparent 3px);width:.875rem;height:.5rem}.thought-modal.dragging .thought-modal-header{cursor:grabbing}.thought-modal-close{border:1px solid var(--line);width:1.5rem;height:1.5rem;color:var(--accent);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;transition:border-color .15s,color .15s;display:flex}@media (hover:hover){.thought-modal-close:hover{border-color:var(--text);color:var(--text)}}.thought-modal-body{-webkit-user-select:text;user-select:text;flex:1;min-height:0;padding:2rem;overflow-y:auto}@media (max-width:1200px){.widget-vid-1{display:none}}@media (max-width:960px){.hero h1 .cursor{width:8px}.hero{min-height:300px;padding:3rem 1.5rem 4rem}.hero h1{font-size:clamp(4rem,10vw,8rem)}.toolbelt{flex-wrap:nowrap}.tool-cell{flex:none;min-width:200px}.draw-cell{display:none}.section-title{margin-bottom:0}.work-section{padding:2rem 1.5rem}.row{grid-template-columns:1fr 80px}.row .categories,.list-header{display:none}nav{padding:1rem 1.5rem}.hero{flex-wrap:wrap}.mobile-about{width:100%;display:block}.widget{display:none}.bottom-strip{grid-template-columns:1fr}.bottom-left{border-right:none;border-bottom:1px solid var(--line)}}@media (max-width:768px){.work-modal{aspect-ratio:auto;border:1px solid var(--line);border-radius:12px;width:auto;max-width:none;height:calc(100vh - 64px);top:32px;left:16px;right:16px;transform:none}.work-modal-header{cursor:default;overflow:hidden}.work-modal-header .handle{display:none}.work-modal-body{flex:1}.work-modal-body img{max-width:calc(100vw - 56px);max-height:calc(100vh - 164px)}.work-modal-video{width:calc(100vw - 56px)}.work-modal-nav{width:28px;height:28px}.work-modal-nav.prev{left:8px}.work-modal-nav.next{right:8px}.thought-modal{max-height:calc(100vh - 4rem);top:2rem;left:2rem;right:2rem;transform:none}.thought-modal-header{cursor:default}.thought-modal-header .handle{display:none}}@media (max-width:600px){.hero h1 .cursor{width:5px;margin-left:4px}.hero{min-height:200px;padding:2rem 1rem 3rem}.hero h1{font-size:clamp(3rem,12vw,5rem)}.tool-cell{flex:none;min-width:180px}.work-section{padding:1.5rem 1rem}.row{grid-template-columns:1fr;gap:8px}.row-year,.list-header{display:none}nav{padding:1rem}.bottom-left,.bottom-right{padding:1.5rem 1rem}.bottom-right .link-item{padding:.25rem 0}}
