.arrow-icon[data-astro-cid-z2n5ay6r]{vertical-align:-.125em;flex:none;width:1em;height:1em;display:inline-block}:root{--paper:#fafaf7;--ink:#181a1e;--muted:#62666e;--line:#d9dbdf;--accent:#2448ed;--accent-ink:#fff;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--motion:1;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}button,a{touch-action:manipulation}h1,h2,h3,p{margin:0}img{max-width:100%;height:auto;display:block}[hidden]{display:none!important}::selection{background:var(--accent);color:var(--accent-ink)}.sr-only,.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.skip:focus{z-index:100;background:var(--paper);padding:16px;position:fixed;top:70px;left:20px}.page-shell{max-width:1600px;margin:auto;padding:0 5%}.design-bar{z-index:50;color:#f7f7f7;min-height:50px;font:10px/1.4 var(--mono);background:#17191e;border-bottom:1px solid #393b42;justify-content:space-between;align-items:center;gap:16px;padding:10px 5%;display:flex;position:sticky;top:0}.design-label{letter-spacing:1.5px}.design-bar nav{gap:5px;display:flex}.design-bar a,.motion-toggle{color:inherit;background:0 0;border:1px solid #55585f;border-radius:3px;padding:7px 12px}.design-bar a[aria-current]{color:#17191e;background:#f7f7f7;border-color:#f7f7f7}.motion-toggle{min-width:120px;font:inherit}.reading-progress{background:var(--accent);transform-origin:0;z-index:51;width:100%;height:2px;position:fixed;top:50px;left:0;transform:scaleX(0)}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;height:108px;display:flex}.wordmark{letter-spacing:-1px;align-items:center;gap:10px;font-size:25px;font-weight:800;display:flex}.brand-mark{color:var(--accent);letter-spacing:-6px;padding-right:5px;font:italic 700 39px Georgia,serif}.wordmark small{font:9px/1.5 var(--mono);letter-spacing:1px;text-transform:uppercase;max-width:80px;color:var(--muted);margin-left:14px}.site-header nav{align-items:center;gap:30px;font-size:13px;display:flex}.site-header nav a:not(.nav-github){position:relative}.site-header nav a:not(.nav-github):after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform .25s;position:absolute;bottom:-5px;left:0;transform:scaleX(0)}.site-header nav a:hover:after{transform:scaleX(1)}.nav-github{border:1px solid var(--line);border-radius:4px;gap:18px;padding:11px 16px;display:flex}.eyebrow{font:10px/1.6 var(--mono);letter-spacing:1.3px}.status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-right:10px;display:inline-block}.hero{isolation:isolate;min-height:700px;padding:36px 0 0;position:relative}.hero-topline{z-index:3;justify-content:space-between;display:flex;position:relative}.edition{font:9px/1.6 var(--mono);letter-spacing:1px;color:var(--muted)}.hero-copy{z-index:2;pointer-events:none;padding-top:67px;position:relative}.hero-copy a{pointer-events:auto}h1{letter-spacing:-.075em;font-size:clamp(72px,8.6vw,132px);font-weight:500;line-height:.95}.headline-first{white-space:nowrap;display:block}.headline-second{max-width:70%;margin-top:16px;display:block}.headline-second em{letter-spacing:-.07em;color:var(--accent);font-family:Georgia,Times New Roman,serif;font-weight:400;display:block}.hero-bottom{align-items:center;gap:45px;max-width:650px;margin-top:38px;display:flex}.hero-bottom p{max-width:300px;color:var(--muted);font-size:15px;line-height:1.8}.button{white-space:nowrap;background:var(--accent);color:var(--accent-ink);border-radius:4px;justify-content:space-between;align-items:center;gap:38px;padding:16px 21px;font-size:12px;transition:transform .25s,box-shadow .25s;display:inline-flex;position:relative;overflow:hidden}.button span{font-size:19px;line-height:1;transition:transform .25s}.button:hover{box-shadow:0 7px 0 color-mix(in srgb, var(--accent) 15%, transparent);transform:translateY(-3px)}.button:hover span{transform:translate(3px,-3px)}.sculpture{z-index:1;cursor:crosshair;width:48%;height:540px;position:absolute;top:95px;right:-3%}.sculpture canvas{z-index:1;opacity:0;width:100%;height:100%;transition:opacity .8s;display:block;position:relative}.sculpture.is-ready canvas{opacity:1}.sculpture-fallback{color:var(--accent);flex-direction:column;justify-content:center;font-size:clamp(35px,5vw,80px);font-weight:900;line-height:.95;transition:opacity .4s;display:flex;position:absolute;inset:20%;transform:perspective(700px)rotateY(-25deg)rotate(-12deg)}.is-ready .sculpture-fallback{opacity:0}.scene-caption,.scene-coordinate{z-index:2;font:8px var(--mono);letter-spacing:1.2px;color:var(--muted);position:absolute;bottom:12px}.scene-caption{left:15%}.scene-coordinate{right:12%}.hero-footnote{font:9px var(--mono);letter-spacing:1.6px;color:var(--muted);justify-content:space-between;margin-top:20px;padding:45px 0 25px;display:flex}.manifesto{border-block:1px solid var(--ink);margin-top:35px;padding:40px 0}.manifesto-line{letter-spacing:-2px;justify-content:space-between;gap:25px;font-size:clamp(22px,3.4vw,52px);font-weight:600;display:flex}.manifesto-line>span{align-items:baseline;gap:12px;display:flex}.manifesto-line small{font:10px var(--mono);color:var(--accent);letter-spacing:0}.manifesto p{text-align:right;color:var(--accent);margin-top:22px;font:italic 19px/1.4 Georgia,serif}.work-section{padding-top:105px}.section-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:32px;display:flex}.section-heading .eyebrow{margin-bottom:18px}h2{letter-spacing:-.055em;font-size:clamp(36px,4.5vw,68px);font-weight:500;line-height:1.05}.section-heading h2>span{font:14px var(--mono);vertical-align:super;color:var(--accent);letter-spacing:0}.section-heading>p{color:var(--muted);padding-bottom:5px;font-size:13px;line-height:1.8}.project-filters{gap:8px;margin:35px 0 50px;display:flex}.project-filters button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:3px;padding:10px 16px;font-size:11px}.project-filters button span{font:9px var(--mono);margin-left:12px}.project-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.home-project-controls{margin-top:30px}.home-project-controls .project-filters{flex-wrap:wrap;margin:0 0 22px}.home-project-controls .project-filters button{min-height:44px;font-size:12px}.home-search-row{align-items:end;gap:14px;display:flex}.home-search-row>div{flex:1;min-width:0}.home-search-row label{font:10px var(--mono);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;display:block}.home-search-row input{border:1px solid var(--line);background:var(--paper);width:100%;min-height:46px;color:var(--ink);border-radius:0;padding:12px;font:16px Arial,sans-serif}.home-search-row input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.home-search-row button{border:1px solid var(--ink);background:var(--ink);min-height:46px;color:var(--paper);padding:12px 20px;font-size:14px}.home-filter-status{font:12px/1.6 var(--mono);color:var(--muted);margin:24px 0 30px}@media (width<=440px){.home-search-row{flex-wrap:wrap}.home-search-row>div{flex-basis:100%}.home-search-row button{width:100%}}.featured-project{border-bottom:1px solid var(--line);grid-template-columns:1.35fr 1fr;align-items:center;gap:6%;margin-bottom:65px;padding:0 0 65px;display:grid}.project-visual{aspect-ratio:1.35;isolation:isolate;background:#e9ecf0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.project-visual>img{object-fit:contain;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project-visual:hover>img{transform:scale(1.035)}.project-the-edit .project-visual{background:#fff}.project-field-weather .project-visual{background:#151b37}.project-trivia-turbo .project-visual{background:#101c16}.project-pets-r-us .project-visual{background:#fff5e4}.project-prism-lanes .project-visual{background:#101012}.visual-caption{font:8px var(--mono);letter-spacing:1.2px;background:var(--paper);color:var(--ink);max-width:calc(100% - 90px);padding:6px 8px;position:absolute;bottom:19px;left:20px}.cover-arrow{background:var(--paper);width:36px;height:36px;color:var(--ink);border-radius:50%;place-items:center;font-size:22px;transition:transform .3s;display:grid;position:absolute;bottom:16px;right:16px}.project-visual:hover .cover-arrow{transform:rotate(45deg)}.project-meta{font:9px/1.5 var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--muted);justify-content:space-between;display:flex}.project-copy h3{letter-spacing:-.05em;margin:25px 0;font-size:clamp(32px,3.7vw,54px);font-weight:500;line-height:1.04}.project-focus{font:10px/1.6 var(--mono);letter-spacing:.04em;color:var(--accent)}.project-description{color:var(--muted);max-width:390px;font-size:14px;line-height:1.8}.tags{font:9px var(--mono);color:var(--muted);flex-wrap:wrap;gap:14px;margin:25px 0 30px;padding:0;list-style:none;display:flex}.tags li:not(:last-child):after{content:"/";color:var(--line);margin-left:14px}.card-links{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.text-link{text-underline-offset:6px;font-size:12px;text-decoration:underline}.type-art{color:#223c8f;background:#dbe4f6;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.type-art strong{letter-spacing:-.08em;white-space:pre-line;z-index:1;font-size:clamp(68px,10vw,145px);line-height:.8;transform:rotate(-9deg)}.type-art-index{font:10px var(--mono);position:absolute;top:20px;left:20px}.type-art-stack{font:8px var(--mono);position:absolute;top:22px;right:20px}.construction-lines{background:repeating-linear-gradient(0deg,#0000,#0000 49px,#223c8f22 49px 50px),repeating-linear-gradient(90deg,#0000,#0000 49px,#223c8f22 49px 50px);position:absolute;inset:-50%;transform:rotate(-9deg)}.project-nodebucket .type-art{color:#6a4822;background:#f0e6d2}.project-nodebucket .construction-lines{opacity:.4}.project-bcrs{grid-template-columns:1fr 1.35fr}.project-bcrs .project-visual{order:2}.index-row{border-bottom:1px solid var(--line);grid-template-columns:32px minmax(160px,220px) minmax(0,1fr) 120px 44px;align-items:start;gap:25px;padding:28px 0;transition:background .25s,padding .25s;display:grid}.index-thumbnail{aspect-ratio:16/10;background:color-mix(in srgb, var(--ink) 5%, var(--paper));border:1px solid var(--line);display:block;overflow:hidden}.index-thumbnail img{width:100%;height:auto;transition:transform .3s;display:block}.index-thumbnail:hover img{transform:scale(1.025)}.index-copy{min-width:0}.index-preview-fallback{align-content:center;gap:12px;height:100%;padding:18px;font-size:18px;display:grid}.index-preview-fallback small{font:10px var(--mono);color:var(--muted)}.index-row:hover{background:color-mix(in srgb, var(--accent) 4%, transparent);padding-inline:15px}.index-number,.index-year{font:10px var(--mono);color:var(--muted);padding-top:7px}.index-year{text-align:right}.index-row h3{letter-spacing:-.6px;font-size:22px;font-weight:500}.index-row p{color:var(--muted);max-width:560px;margin-top:9px;font-size:12px;line-height:1.7}.index-links{flex-direction:column;gap:12px;padding-top:7px;font-size:11px;display:flex}.archive-link{margin:32px 0;display:inline-block}.filter-empty{color:var(--muted);padding:60px 0}.about-section{border-top:1px solid var(--ink);grid-template-columns:1fr 1fr;gap:40px 10%;margin:110px 0;padding-top:55px;display:grid}.about-section h2{margin-top:30px}.about-section h2 span{color:var(--accent)}.about-copy{padding-top:42px}.about-copy>p{color:var(--muted);margin-bottom:25px;font-size:15px;line-height:1.8}.about-copy .about-lead{color:var(--ink);letter-spacing:-.4px;font-size:23px;line-height:1.5}.toolbox{grid-column:1/-1;min-width:0}.toolbox-groups{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:32px;margin-top:24px;display:grid}.toolbox-group{border-top:1px solid var(--line);min-width:0;padding-top:18px}.toolbox-group h4{letter-spacing:-.3px;margin:0 0 12px;font-size:17px;font-weight:600}.toolbox-group p{color:var(--muted);font-size:13px;line-height:1.7}.toolbox ul{font:11px var(--mono);flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.toolbox li{border:1px solid var(--line);overflow-wrap:anywhere;max-width:100%;padding:9px 12px;line-height:1.5}.about-copy .ai-note{font-size:12px}.about-object{perspective:600px;gap:15px;margin-top:45px;display:flex}.about-object span{background:var(--accent);color:var(--accent-ink);width:90px;height:90px;box-shadow:8px 9px 0 color-mix(in srgb, var(--accent) 20%, transparent);place-items:center;font:italic 75px Georgia,serif;display:grid;transform:rotateY(-25deg)rotate(-10deg)}.about-object span+span{background:var(--ink);font:65px Arial;transform:rotateY(25deg)rotate(10deg)}.contact-section{background:var(--accent);color:var(--accent-ink);padding:65px 6%;position:relative;overflow:hidden}.contact-section h2{letter-spacing:-.06em;margin-top:35px;font-size:clamp(43px,6vw,90px)}.contact-link{border-bottom:1px solid #ffffff80;justify-content:space-between;align-items:center;max-width:340px;margin-top:45px;padding-bottom:12px;font-size:18px;display:flex}.contact-link span{font-size:30px;transition:transform .3s}.contact-link:hover span{transform:translate(8px,-8px)}footer{color:var(--muted);justify-content:space-between;align-items:center;padding:40px 0;font-size:11px;display:flex}footer>a:first-child{color:var(--ink);font-size:22px;font-weight:700}.reveal.in-view{animation:.8s cubic-bezier(.2,.7,.2,1) both reveal-in}@keyframes reveal-in{0%{opacity:.4;transform:translateY(35px)}to{opacity:1;transform:none}}[data-design=industrial]{--paper:#16191a;--ink:#f0f0e8;--muted:#a3aaa8;--line:#383f40;--accent:#ff6b2b;--accent-ink:#16191a;color-scheme:dark}[data-design=industrial] body{background-image:linear-gradient(#8e969308 1px,#0000 1px),linear-gradient(90deg,#8e969308 1px,#0000 1px);background-size:64px 64px}[data-design=industrial] .design-bar{color:#16191a;background:#e9e9e1;border-color:#bbbdb5}[data-design=industrial] .design-bar a,[data-design=industrial] .motion-toggle{border-color:#a6aaa4}[data-design=industrial] .design-bar a[aria-current]{color:#fff;background:#16191a;border-color:#16191a}[data-design=industrial] .brand-mark{letter-spacing:-5px;border:1px solid var(--accent);padding:6px 9px 6px 4px;font-family:Arial;font-size:27px;font-style:normal;font-weight:900}[data-design=industrial] .site-header{height:100px}[data-design=industrial] .wordmark{text-transform:uppercase;letter-spacing:-1px;font-size:21px}[data-design=industrial] .site-header nav{font-family:var(--mono);font-size:11px}[data-design=industrial] .hero{min-height:690px;padding-top:26px}[data-design=industrial] .hero-copy{max-width:63%;padding-top:75px}[data-design=industrial] h1{text-transform:uppercase;letter-spacing:-.065em;font-size:clamp(68px,7.2vw,112px);font-weight:900;line-height:.92}[data-design=industrial] .headline-first{white-space:normal;max-width:500px}[data-design=industrial] .headline-second{max-width:none;margin-top:10px}[data-design=industrial] .headline-second em{letter-spacing:-.055em;color:var(--accent);font-family:Arial,Helvetica,sans-serif;font-size:.78em;font-style:normal;font-weight:900}[data-design=industrial] .hero-bottom{flex-direction:column;align-items:flex-start;gap:25px;max-width:360px;margin-top:28px}[data-design=industrial] .hero-bottom p{max-width:340px;font-size:13px}[data-design=industrial] .sculpture{background:radial-gradient(#ff6b2b0e,#0000 70%);width:53%;height:570px;top:100px;right:-4%}[data-design=industrial] .hero-footnote{padding-top:35px}[data-design=industrial] .scene-caption,[data-design=industrial] .scene-coordinate{bottom:20px}[data-design=industrial] .manifesto{background:var(--accent);color:var(--accent-ink);border:0;margin-top:25px;padding:30px 3%;position:relative}[data-design=industrial] .manifesto-line{letter-spacing:-1.6px;font-size:clamp(20px,3.2vw,49px);font-weight:900}[data-design=industrial] .manifesto-line small{color:var(--accent-ink)}[data-design=industrial] .manifesto p{font:11px var(--mono);color:var(--accent-ink);margin-top:24px}[data-design=industrial] .section-heading h2{text-transform:uppercase;font-size:clamp(36px,4vw,60px);font-weight:800}[data-design=industrial] .featured-project{border:1px solid var(--line);grid-template-columns:1.4fr 1fr;gap:0;margin-bottom:35px;padding:0;position:relative}[data-design=industrial] .project-bcrs .project-visual{order:0}[data-design=industrial] .project-copy{padding:30px}[data-design=industrial] .project-copy h3{font-size:clamp(30px,3vw,44px);font-weight:700}[data-design=industrial] .project-visual{aspect-ratio:1.2;border-right:1px solid var(--line)}[data-design=industrial] .project-visual:before,[data-design=industrial] .featured-project:after{content:"+";font:18px var(--mono);color:var(--accent);z-index:3;position:absolute;top:-11px;left:-6px}[data-design=industrial] .featured-project:after{inset:auto -6px -10px auto}[data-design=industrial] .type-art{color:#b2bebc;background:#262d30}[data-design=industrial] .type-art strong{text-shadow:1px 1px #526462,2px 2px #526462,3px 3px #526462,4px 4px #526462,5px 5px #526462,6px 6px #526462,7px 7px #526462,8px 8px #526462;transform:perspective(600px)rotateY(-20deg)rotate(-6deg)}[data-design=industrial] .project-nodebucket .type-art{color:#f4af68;background:#383026}[data-design=industrial] .construction-lines{background:repeating-linear-gradient(0deg,#0000,#0000 39px,#a2b7bc15 39px 40px),repeating-linear-gradient(90deg,#0000,#0000 39px,#a2b7bc15 39px 40px);transform:perspective(400px)rotateX(30deg)rotate(-6deg)}[data-design=industrial] .project-index{margin-top:60px}[data-design=industrial] .index-row h3{font-size:20px;font-weight:600}[data-design=industrial] .index-number{color:var(--accent)}[data-design=industrial] .about-section h2{text-transform:uppercase;font-size:clamp(34px,4vw,60px);font-weight:800}[data-design=industrial] .about-object span{font-family:var(--mono);border-radius:5px;font-style:normal;box-shadow:7px 7px #70422b}[data-design=industrial] .about-object span+span{color:var(--paper)}[data-design=industrial] .contact-section{border-block:1px solid var(--accent);color:var(--ink);background:0 0;padding:65px 0}[data-design=industrial] .contact-section h2{text-transform:uppercase;font-size:clamp(42px,5.5vw,82px);font-weight:900}[data-design=industrial] .contact-section .eyebrow,[data-design=industrial] .contact-link{color:var(--accent)}[data-design=industrial] .contact-link{border-color:var(--accent)}html[data-motion=paused]{scroll-behavior:auto}html[data-motion=paused] *,html[data-motion=paused] :before,html[data-motion=paused] :after{transition:none!important;animation:none!important}.hero-copy{animation:.9s ease-out both hero-entrance}@keyframes hero-entrance{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media (width>=1500px){.hero{min-height:790px}.sculpture{height:630px}.hero-copy{padding-top:90px}[data-design=industrial] .hero{min-height:780px}[data-design=industrial] .sculpture{height:650px}}@media (width<=1000px){.page-shell,.design-bar{padding-inline:4%}.hero{min-height:660px}.hero-copy{padding-top:60px}h1{font-size:9.4vw}.hero-bottom{flex-direction:column;align-items:flex-start;gap:22px;max-width:55%}.sculpture{width:48%;height:470px;top:130px}.hero-footnote{margin-top:30px}.edition{font-size:8px}.featured-project{gap:4%}.project-copy h3{font-size:36px}.card-links{gap:15px}.project-copy .button{gap:25px;padding:14px 16px}[data-design=industrial] .hero{min-height:670px}[data-design=industrial] .hero-copy{max-width:64%}[data-design=industrial] h1{font-size:8vw}[data-design=industrial] .hero-bottom{max-width:90%}[data-design=industrial] .sculpture{height:470px;top:120px}[data-design=industrial] .project-copy{padding:22px}[data-design=industrial] .featured-project{grid-template-columns:1.1fr 1fr}[data-design=industrial] .project-visual{aspect-ratio:auto;height:100%;min-height:400px}.index-row{grid-template-columns:24px 160px minmax(0,1fr) 100px;gap:18px}.index-year{display:none}}@media (width<=680px){html{scroll-padding-top:110px}.design-bar{grid-template-columns:1fr auto;gap:8px;min-height:80px;padding:8px 5%;display:grid}.design-label{grid-column:1/-1;font-size:8px}.design-bar nav{gap:5px}.design-bar a{padding:6px 8px;font-size:10px}.motion-toggle{min-width:100px;padding:6px;font-size:9px}.reading-progress{top:80px}.page-shell{padding-inline:6%}.site-header{flex-wrap:wrap;align-content:center;gap:12px 10px;height:90px}.wordmark{font-size:22px}.wordmark small{display:none}.brand-mark{font-size:28px}.site-header nav{gap:15px;font-size:11px}.nav-github{gap:8px;padding:7px 10px}.hero{min-height:0;padding-top:24px}.hero-topline .eyebrow{letter-spacing:.8px;font-size:8px}.edition{display:none}.hero-copy{padding-top:35px}h1{letter-spacing:-.065em;font-size:clamp(42px,11.5vw,76px);line-height:1}.headline-first{white-space:normal}.headline-second{max-width:100%;margin-top:5px}.headline-second em{display:inline}.hero-bottom{gap:20px;max-width:100%;margin-top:25px}.hero-bottom p{max-width:330px;font-size:13px}.sculpture{margin-top:8px;position:relative;width:100%!important;height:320px!important;top:auto!important;right:auto!important}.hero-footnote{letter-spacing:1px;margin-top:0;padding:18px 0;font-size:7px}.scene-caption,.scene-coordinate{font-size:7px}.scene-caption{left:4%}.scene-coordinate{right:4%}.manifesto{margin-top:20px;padding:25px 0}.manifesto-line{letter-spacing:-1px;grid-template-columns:1fr;gap:10px;font-size:30px;display:grid}.manifesto-line>span:nth-child(2){padding-left:20%}.manifesto-line>span:nth-child(3){padding-left:35%}.manifesto p{margin-top:20px;font-size:16px}.work-section{padding-top:65px}.section-heading{display:block}.section-heading>p{margin-top:20px;font-size:12px}h2{font-size:39px}.project-filters{gap:6px;margin:25px 0 30px}.project-filters button{padding:9px 10px;font-size:10px}.project-filters button span{margin-left:6px}.featured-project,.project-bcrs{grid-template-columns:1fr;gap:25px;margin-bottom:35px;padding-bottom:35px}.project-bcrs .project-visual{order:0}.project-visual{aspect-ratio:1.3}.project-copy h3{margin:18px 0;font-size:35px}.project-description{font-size:13px}.tags{margin:20px 0}.type-art strong{font-size:100px}.index-row{grid-template-columns:22px 1fr;gap:14px;padding:24px 0}.index-thumbnail,.index-copy{grid-column:2}.index-number{grid-area:1/1}.index-row h3{font-size:19px}.index-row p{font-size:12px}.index-links{flex-direction:row;grid-column:2;gap:20px;padding-top:0;font-size:10px}.about-section{grid-template-columns:1fr;gap:20px;margin:65px 0;padding-top:35px}.about-copy{padding-top:20px}.about-copy .about-lead{font-size:21px}.about-copy>p{font-size:14px}.about-object{margin-top:30px}.about-object span{width:65px;height:65px;font-size:50px}.about-object span+span{font-size:45px}.contact-section{padding:40px 7%}.contact-section h2{margin-top:25px;font-size:39px}.contact-link{margin-top:30px;font-size:15px}footer{flex-wrap:wrap;gap:20px;padding:30px 0;font-size:10px}footer p{order:3;width:100%}[data-design=industrial] .site-header{height:90px}[data-design=industrial] .site-header nav{gap:12px;font-size:10px}[data-design=industrial] .hero{min-height:0}[data-design=industrial] .hero-copy{max-width:100%;padding-top:35px}[data-design=industrial] h1{font-size:13vw;line-height:.94}[data-design=industrial] .headline-first{max-width:100%}[data-design=industrial] .headline-second em{font-size:.9em;display:block}[data-design=industrial] .hero-bottom{max-width:100%}[data-design=industrial] .hero-footnote{padding-top:20px}[data-design=industrial] .manifesto{padding:25px 6%}[data-design=industrial] .manifesto-line{font-size:28px}[data-design=industrial] .manifesto-line>span:nth-child(3){padding-left:20%}[data-design=industrial] .manifesto p{font-size:9px}[data-design=industrial] .featured-project{grid-template-columns:1fr;gap:0}[data-design=industrial] .project-visual{aspect-ratio:1.3;border-right:0;border-bottom:1px solid var(--line);height:auto;min-height:0}[data-design=industrial] .project-copy{padding:24px}[data-design=industrial] .project-copy h3{font-size:32px}[data-design=industrial] .about-section h2{font-size:38px}[data-design=industrial] .contact-section h2{font-size:10vw}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.reading-progress{display:none}.button:hover,.button:hover span,.project-visual:hover img{transform:none}}@media (width>=1001px) and (width<=1499px){.site-header{height:90px}.hero{min-height:600px}.hero-copy{padding-top:42px}h1{font-size:8vw}.sculpture{height:480px;top:75px}.hero-footnote{margin-top:15px;padding-top:25px}[data-design=industrial] .site-header{height:90px}[data-design=industrial] .hero{min-height:590px}[data-design=industrial] .hero-copy{padding-top:42px}[data-design=industrial] h1{font-size:6.7vw}[data-design=industrial] .hero-bottom{flex-direction:row;align-items:center;gap:24px;max-width:610px}[data-design=industrial] .hero-bottom p{max-width:260px}[data-design=industrial] .sculpture{height:480px;top:65px}[data-design=industrial] .hero-footnote{padding-top:25px}}@media (width>=681px){.scene-caption,.scene-coordinate{display:none}}@media (width<=680px){html{scroll-padding-top:76px}.design-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-height:60px;padding:8px 4%}.design-label,.design-index{display:none}.design-bar nav{display:contents}.design-bar a,.motion-toggle{min-width:0;min-height:44px;font:11px/1.3 var(--mono);text-align:center;justify-content:center;align-items:center;padding:6px 4px;display:flex}.reading-progress{top:61px}.site-header,[data-design=industrial] .site-header{row-gap:12px;height:auto;padding:16px 0 12px}.site-header nav,[data-design=industrial] .site-header nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%;font-size:12px;display:grid}.site-header nav a{justify-content:center;align-items:center;min-height:44px;display:flex}.nav-github{gap:4px;padding:8px 4px}.project-filters{flex-wrap:wrap}.project-filters button{min-height:44px;font-size:12px}.project-filters button span{margin-left:4px}.card-links a,.index-links a,.archive-link,footer a{align-items:center;min-height:44px;display:inline-flex}.index-links{flex-wrap:wrap;gap:4px 18px;font-size:12px}.hero-bottom p,.project-description,.index-row p{font-size:14px}.type-art strong{font-size:clamp(68px,23vw,100px)}.project-visual-image,[data-design=industrial] .project-visual-image{aspect-ratio:auto;grid-template-columns:minmax(0,1fr) 56px;height:auto;display:grid}.project-visual-image>img{grid-column:1/-1;height:auto}.project-visual-image:hover>img{transform:none}.project-visual-image .visual-caption{letter-spacing:.8px;justify-self:start;max-width:none;margin:12px;padding:6px 8px;font-size:9px;line-height:1.5;position:static}.project-visual-image .cover-arrow{justify-self:end;margin:8px 12px 8px 0;position:static}}.case-study,.archive-section{padding:38px 0 70px}.back-link{font:11px var(--mono);border-bottom:1px solid var(--line);padding-bottom:6px;display:inline-block}.case-header,.archive-header{padding:64px 0 52px}.case-header .eyebrow,.archive-header .eyebrow{color:var(--accent);margin-bottom:26px}.case-header h1,.archive-header h1,.not-found h1{overflow-wrap:break-word;max-width:1050px;font-size:clamp(48px,7.7vw,112px)}.case-header>p:not(.eyebrow),.archive-header>p:not(.eyebrow){max-width:760px;color:var(--muted);margin-top:30px;font-size:clamp(17px,1.7vw,23px);line-height:1.65}.case-actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.button-outline{color:var(--ink);border:1px solid var(--line);background:0 0}.case-cover{border:1px solid var(--line);margin:0 0 16px;overflow:hidden}.case-cover>img{object-fit:contain;background:color-mix(in srgb, var(--ink) 4%, var(--paper));width:100%;max-height:640px}.story-art{background:color-mix(in srgb, var(--accent) 8%, var(--paper));flex-direction:column;justify-content:space-between;gap:30px;min-height:330px;padding:38px;display:flex;position:relative;overflow:hidden}.story-art:before{content:"";background:repeating-linear-gradient(0deg, transparent 0 59px, var(--line) 59px 60px);opacity:.55;pointer-events:none;position:absolute;inset:-50%;transform:rotate(-12deg)}.story-art>*{position:relative}.story-art strong{letter-spacing:-.05em;max-width:75%;color:var(--accent);font:italic clamp(35px,5vw,74px)/1.05 Georgia,serif}.story-art .story-art-arrow{color:var(--accent);font-size:clamp(120px,16vw,240px);position:absolute;top:20%;right:6%;transform:perspective(600px)rotateY(-20deg)}.case-body{border-bottom:1px solid var(--line);grid-template-columns:230px minmax(0,760px);justify-content:space-between;gap:7%;padding:65px 0 85px;display:grid}.case-facts{border-top:1px solid var(--ink);align-self:start;position:sticky;top:90px}.case-facts>div{border-bottom:1px solid var(--line);padding:23px 0}.case-facts .eyebrow{color:var(--muted);margin-bottom:12px}.case-facts>div>p:not(.eyebrow){font-size:16px}.case-facts .tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.case-facts .tags li,.ai-badge{font:10px/1.5 var(--mono);border:1px solid var(--line);padding:7px 9px;display:inline-block}.ai-badge{color:var(--accent);margin-top:12px}.prose{min-width:0;color:var(--muted);font-size:16px;line-height:1.85}.prose h2{color:var(--ink);margin:48px 0 22px;font-size:clamp(28px,3vw,40px);line-height:1.15}.prose h2:first-child{margin-top:0}.prose h3{color:var(--ink);margin:30px 0 14px;font-size:23px;line-height:1.4}.prose p,.prose ul,.prose ol{margin:0 0 22px}.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;overflow-wrap:anywhere}.prose strong{color:var(--ink)}.prose li{margin-bottom:8px}.prose code{font:.85em var(--mono);background:color-mix(in srgb, var(--ink) 6%, var(--paper));overflow-wrap:anywhere;padding:3px 5px}.prose pre{border:1px solid var(--line);padding:20px;overflow-x:auto}.prose pre code{background:0 0;padding:0}.case-gallery{border-bottom:1px solid var(--line);padding:54px 0}.gallery-heading{margin-bottom:28px}.gallery-heading .eyebrow{color:var(--accent);margin-bottom:16px}.gallery-heading h2{margin-bottom:14px;font-size:clamp(30px,4vw,48px)}.gallery-heading>p:last-child{color:var(--muted);font-size:14px}.screenshot-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:28px;display:grid}.screenshot-grid figure{min-width:0;margin:0}.screenshot-grid a{border:1px solid var(--line);display:block}.screenshot-grid img{width:100%;height:auto;display:block}.screenshot-grid figcaption{color:var(--muted);margin-top:14px;font-size:14px;line-height:1.7}.case-end{flex-wrap:wrap;justify-content:space-between;gap:20px;padding:30px 0 0;font-size:14px;display:flex}.case-end>span{color:var(--accent);font:italic 24px Georgia,serif}.archive-heading{justify-content:space-between;align-items:center;gap:30px;display:flex}.archive-heading h1{max-width:800px}.archive-header h1 span{color:var(--accent)}.archive-emblem{perspective:600px;flex-shrink:0;width:160px;height:130px;position:relative}.archive-emblem span{border:1px solid var(--accent);background:var(--paper);color:var(--accent);place-items:center;font-size:72px;animation:6s ease-in-out infinite alternate folio-float;display:grid;position:absolute;inset:10px;transform:rotateY(-30deg)rotate(-15deg)}.archive-emblem span:nth-child(2){translate:-14px 10px}.archive-emblem span:nth-child(3){translate:-28px 20px}@keyframes folio-float{to{transform:rotateY(15deg)rotate(-5deg)translateY(-8px)}}.archive-controls{border-block:1px solid var(--ink);align-items:end;gap:20px;padding:25px 0;display:flex}.archive-controls label{font:10px var(--mono);text-transform:uppercase;letter-spacing:1px;margin-bottom:13px;display:block}.archive-search{flex:1}.archive-controls input,.archive-controls select{border:1px solid var(--line);background:var(--paper);width:100%;min-height:46px;color:var(--ink);border-radius:0;padding:12px;font:14px Arial,sans-serif}.archive-controls select{min-width:200px}.archive-controls input:focus-visible,.archive-controls select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.archive-controls button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);min-height:46px;padding:13px 24px}.archive-count{font:11px var(--mono);color:var(--muted);margin:25px 0 15px}.archive-quick,.archive-active{flex-wrap:wrap;align-items:center;gap:10px;padding-top:18px;display:flex}.archive-filter-caption{font:10px var(--mono);text-transform:uppercase;margin-right:6px}.archive-quick button,.archive-active button{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--ink);overflow-wrap:anywhere;text-align:left;max-width:100%;padding:10px 16px;font-size:13px}.archive-quick button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.archive-coursework{cursor:pointer;align-items:center;gap:10px;min-height:44px;margin-left:auto;font-size:14px;display:flex}.archive-coursework input{width:20px;height:20px;accent-color:var(--accent)}.archive-more{border-block:1px solid var(--line);margin-top:18px}.archive-more summary{cursor:pointer;padding:16px 0;font-size:14px}.archive-more summary:focus-visible,.archive-coursework input:focus-visible,.archive-filter-grid select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.archive-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:10px 0;display:grid}.archive-filter-grid label{font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.5px;min-width:0}.archive-filter-grid>div{min-width:0}.archive-filter-grid select{border:1px solid var(--line);background:var(--paper);width:100%;min-height:46px;color:var(--ink);border-radius:0;margin-top:10px;padding:10px;font:14px Arial,sans-serif;display:block}.archive-filter-help{color:var(--muted);max-width:800px;padding:6px 0 20px;font-size:13px;line-height:1.7}.archive-active:empty{display:none}.archive-active button{background:color-mix(in srgb, var(--accent) 6%, var(--paper))}.archive-project-facts{color:var(--accent);font:11px/1.7 var(--mono);margin-top:16px}.archive-project-facts .archive-project-note{color:var(--muted);margin:8px 0 14px;font:12px/1.7 Arial,sans-serif}@media (width<=1000px){.archive-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.archive-coursework{width:100%;margin-left:0}.archive-filter-grid select{font-size:16px}}@media (width<=440px){.archive-filter-grid{grid-template-columns:1fr}.archive-filter-caption{width:100%}}.repo-row{border-top:1px solid var(--line);grid-template-columns:65px minmax(0,1fr) 160px;gap:30px;padding:30px 0;transition:background .25s;display:grid}.repo-row:hover{background:color-mix(in srgb, var(--accent) 4%, transparent)}.archive-header>p.archive-guide{margin-top:18px;font-size:14px}.repo-row-preview{grid-template-columns:65px minmax(180px,260px) minmax(0,1fr) 140px}.repo-preview{aspect-ratio:8/5;border:1px solid var(--line);background:var(--paper);align-self:start;display:block;overflow:hidden}.repo-preview img{object-position:top;width:100%;height:100%;transition:transform .3s}.repo-preview:hover img{transform:scale(1.025)}.repo-projects{grid-column:2/-1;min-width:0}.repo-projects-label{border-top:1px solid var(--line);font:10px var(--mono);text-transform:uppercase;letter-spacing:1px;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-block:14px;display:flex}.repo-projects-label span{color:var(--muted)}.repo-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.repo-project-card{flex-direction:column;min-width:0;display:flex}.repo-project-card .repo-preview{width:100%}.repo-project-card h3{letter-spacing:-.04em;overflow-wrap:anywhere;margin:18px 0 10px;font-size:24px}.repo-project-card>p{color:var(--muted);margin-bottom:12px;font-size:14px;line-height:1.7}.repo-project-actions{flex-wrap:wrap;gap:4px 20px;margin-top:auto;font-size:13px;display:flex}.repo-project-actions a{align-items:center;min-height:44px;display:inline-flex}.repo-project-actions a:hover,.repo-project-card h3 a:hover{text-underline-offset:5px;text-decoration:underline}[data-design=industrial] .repo-preview{border-top:3px solid var(--accent)}[data-design=industrial] .repo-project-card{border:1px solid var(--line);background:color-mix(in srgb, var(--accent) 3%, var(--paper));padding:14px}[data-design=industrial] .repo-project-card h3{text-transform:uppercase;font-weight:800}@media (width>=761px) and (width<=1100px){.repo-row-preview{grid-template-columns:180px minmax(0,1fr) 140px;gap:20px}.repo-row-preview .repo-year{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.repo-preview img{transition:none}.repo-preview:hover img{transform:none}}.repo-year{font:11px var(--mono);color:var(--muted);padding-top:3px}.repo-description .eyebrow{color:var(--accent);font-size:9px}.repo-description h2{letter-spacing:-.04em;overflow-wrap:anywhere;margin:12px 0;font-size:28px;line-height:1.15}.repo-description>p:not(.eyebrow){color:var(--muted);max-width:700px;font-size:14px;line-height:1.8}.repo-language{font:10px var(--mono);color:var(--muted);margin-top:16px;display:inline-block}.repo-links{flex-direction:column;align-items:flex-end;gap:18px;padding-top:3px;font-size:12px;display:flex}.repo-links a:hover{text-underline-offset:5px;text-decoration:underline}.archive-empty{padding:45px 0;font-size:18px}.archive-footnote{border-top:1px solid var(--line);color:var(--muted);padding-top:30px;font-size:12px;line-height:1.8}.not-found{min-height:65vh;padding:90px 0 120px}.not-found .eyebrow{color:var(--accent);margin-bottom:30px}.not-found>p:not(.eyebrow){color:var(--muted);margin:35px 0;line-height:1.7}[data-design=industrial] .case-header h1,[data-design=industrial] .archive-header h1,[data-design=industrial] .not-found h1{font-size:clamp(44px,7.1vw,104px)}[data-design=industrial] .story-art strong{text-transform:uppercase;font-family:Arial,sans-serif;font-style:normal;font-weight:900}[data-design=industrial] .case-facts{border:1px solid var(--line);border-top:3px solid var(--accent);padding:0 20px}[data-design=industrial] .case-facts>div:last-child{border-bottom:0}[data-design=industrial] .archive-controls{border:1px solid var(--line);border-top:3px solid var(--accent);padding:24px}[data-design=industrial] .repo-row{border-inline:1px solid var(--line);padding:30px 24px}[data-design=industrial] .repo-description h2{text-transform:uppercase;font-size:25px;font-weight:800}[data-design=industrial] .prose h2{text-transform:uppercase;font-size:30px;font-weight:800}@media (width<=760px){.case-header,.archive-header{padding:40px 0}.case-body{grid-template-columns:1fr;gap:40px;padding:40px 0}.case-facts{grid-template-columns:1fr 1fr;gap:0 24px;display:grid;position:static}.case-facts>div:last-child{grid-column:1/-1}.story-art{min-height:250px;padding:25px}.story-art strong{max-width:70%}.archive-emblem{width:95px;height:90px}.archive-emblem span{font-size:40px}.archive-controls{flex-wrap:wrap;gap:16px}.archive-search{flex-basis:100%}.archive-controls>div:nth-child(2){flex:1;min-width:0}.archive-controls select{min-width:0}.repo-row{grid-template-columns:1fr;gap:14px}.repo-preview{width:100%}.repo-projects{grid-column:1}.repo-project-grid{grid-template-columns:1fr;gap:28px}.repo-links{flex-flow:wrap;align-items:start}.repo-year{font-size:10px}.not-found{padding:60px 0 80px}}@media (width<=440px){.archive-emblem{display:none}[data-design=industrial] .archive-controls,[data-design=industrial] .repo-row{padding-inline:16px}.case-actions .button{padding:14px 18px}}.case-facts .tags li:after{content:none}@media (width<=760px){.archive-controls input,.archive-controls select{font-size:16px}.back-link,.case-end a,.repo-links a,.trailer-links a{align-items:center;min-height:44px;display:inline-flex}.repo-links{gap:4px 20px;font-size:14px}.case-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.case-facts>div{overflow-wrap:anywhere;min-width:0}.story-art strong{overflow-wrap:anywhere}}@media (width<=440px){.story-art strong{max-width:100%}.story-art .story-art-arrow{display:none}.archive-controls>div:nth-child(2){flex-basis:100%}.archive-controls button{width:100%}}
