:root{--foreground-default: #fff;--foreground-soft: #e6dfd5;--foreground-light: #9aa;--foreground-visited: #bbc;--background-default: #000;--background-block: #111;--background-hero: #000;--header-bg: #e6dfd5;--header-fg: #555657;--rule: rgba(255,255,255,.12);--accent: #11b6a5;--accent-transparent: rgba(17,182,165,.18);--accent-transparent-visited: rgba(11,133,120,.06);--link: #ffafcc;--link-hover-bg: rgba(255,255,255,.08);--link-hover: #fcc;--link-visited: #cdb4db;--font-sans: "proxima-nova", "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display: "futura-pt", "Jost", "Futura", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-serif: "IBM Plex Serif", "Times New Roman", serif;--font-mono: "Menlo", "Monaco", monospace;--header-h: 60px;--maxw: 1320px;--gap: 12px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{min-height:100%;background:#000;color-scheme:dark}body{font-family:var(--font-sans);font-weight:400;font-size:18px;line-height:1.4;color:var(--foreground-default);background:var(--background-default);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto}img,video{max-width:100%;height:auto;display:block;background-color:#000}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;margin:1.25em 0 .5em;letter-spacing:0;line-height:1.2;text-transform:none;color:var(--foreground-soft)}h1,h2,h3{font-size:28px}h4{font-size:22px}h5{font-size:18px}h6{font-size:16px}p{margin:28px 0;line-height:1.6em}em,i{font-style:italic}strong,b{font-weight:700}.prose a,article a{color:var(--link);padding:0 3px;border-radius:3px;background:var(--accent-transparent)}.prose a:hover,article a:hover{background:var(--link-hover-bg);color:var(--link-hover)}.prose a:visited,article a:visited{color:var(--link-visited);background:var(--accent-transparent-visited)}.prose a:has(>img),.prose a:has(>img):hover,.prose a:has(>img):visited,article a:has(>img),article a:has(>img):hover,article a:has(>img):visited{background:none;padding:0;border-radius:0}.prose iframe,.post iframe,.project-page iframe{width:100%!important;max-width:100%;height:auto;aspect-ratio:16 / 9;display:block;margin:18px 0;border:0}.prose iframe[src*=soundcloud],.post iframe[src*=soundcloud]{aspect-ratio:auto;height:400px}.yt-facade{display:block;width:100%;aspect-ratio:16 / 9;margin:18px 0;border:0;padding:0;cursor:pointer;background-color:#000;background-size:cover;background-position:center;position:relative;overflow:hidden}.yt-facade:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0000002e,#0000 30% 70%,#00000040);transition:opacity .2s ease}.yt-facade:hover:before{opacity:.6}.yt-facade .yt-title{position:absolute;top:0;left:0;right:0;padding:14px 16px 60px;background:linear-gradient(to bottom,#000000d9,#0009,#00000040 70%,#0000);color:#fff;font-family:var(--font-display);font-size:18px;font-weight:700;text-align:left;letter-spacing:0;line-height:1.25;text-shadow:0 1px 2px rgba(0,0,0,.6);pointer-events:none}.yt-facade .yt-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:48px;border-radius:14%;background:#212121cc;transition:background .2s ease}.yt-facade:hover .yt-play{background:#e62117}.yt-facade .yt-play:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-40%,-50%);border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #fff}.site-header{background:var(--header-bg);min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:100;gap:12px}.site-header nav{display:flex;gap:22px;font-family:var(--font-display);font-size:15px;letter-spacing:0;text-transform:none;font-weight:700;flex-wrap:wrap}.site-header nav a{color:var(--header-fg);opacity:.55;white-space:nowrap}.site-header nav a.active,.site-header nav a:hover{opacity:1}.site-header .brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:15px;letter-spacing:.02em;text-transform:none;font-weight:700;white-space:nowrap;color:var(--header-fg)}.site-header .brand svg{display:block;flex-shrink:0}@media(max-width:640px){.site-header{padding:10px 14px;gap:8px}.site-header nav{gap:12px;font-size:11px}.site-header .brand{font-size:11px;gap:6px}.site-header .brand .brand-text{display:none}}.site-footer{background:var(--header-bg);color:var(--header-fg);padding:1.2em 32px;font-family:var(--font-sans);font-size:18px;line-height:1.3em;letter-spacing:0;text-transform:none;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;margin:0}.site-footer a{color:inherit;opacity:.6}.site-footer a:hover{opacity:1}.container{max-width:var(--maxw);margin:0 auto;padding:0 12px}body.home{background:#000}.project-grid{column-count:3;column-gap:0;padding:0;background:#000}@media(max-width:1400px){.project-grid{column-count:2}}@media(max-width:700px){.project-grid{column-count:1}}.project-tile{break-inside:avoid;position:relative;margin:0;display:block;overflow:hidden;background:#111;color:transparent}.project-tile img{width:100%;display:block;background:#111;transition:transform .4s ease}.project-tile .label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;color:#fff;font-family:var(--font-display);font-size:18px;letter-spacing:0;font-weight:700;text-transform:uppercase;background:#0000008c;opacity:0;transition:opacity .25s ease}.project-tile:hover img{transform:scale(1.04)}.project-tile:hover .label{opacity:1}.project-page{display:grid;grid-template-columns:minmax(500px,1fr) minmax(500px,1.6fr);gap:80px;padding:32px;max-width:1500px;margin:0 auto}.project-page .meta h1{font-family:var(--font-display);font-size:28px;font-weight:700;line-height:1.2em;color:var(--foreground-soft);margin:0 0 18px;text-transform:none}.project-page .meta h2{font-family:var(--font-sans);font-size:18px;font-weight:700;color:#fff;margin:0 0 12px;text-transform:none;letter-spacing:0}.project-page .meta{position:sticky;top:calc(var(--header-h) + 24px);align-self:start;font-size:18px;line-height:1.3em;color:#fff}.project-page .meta p{margin:17px 0;line-height:1.3em}.project-page .gallery img,.project-page .gallery video,.project-page .gallery iframe{width:100%;display:block;margin:0 0 12px;background-color:#000}.project-page .gallery iframe{aspect-ratio:16 / 9;height:auto;border:0}@media(max-width:800px){.project-page{grid-template-columns:1fr;padding-left:0;padding-right:0;gap:32px}.project-page .meta{position:static;padding:0 20px}.project-page .gallery img,.project-page .gallery video{margin-bottom:4px}}.post{max-width:720px;margin:0 auto;padding:40px 20px 60px}.post .date{font-family:var(--font-display);font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--foreground-soft);margin-bottom:8px;font-weight:700}.post h1{margin:0 0 24px;color:var(--foreground-soft)}.post img,.post video{margin:18px 0;max-width:100%;height:auto;display:block}.post .prose p{font-size:18px;line-height:1.4}.post .prose h2{margin-top:1.5em}.news-index{max-width:720px;margin:0 auto;padding:40px 20px 60px}.news-index h2{margin-top:36px;font-size:16px;color:var(--foreground-light)}.news-index ul{list-style:none;padding:0;margin:0}.news-index li{padding:8px 0;border-bottom:1px solid var(--rule)}.news-index li a{display:flex;justify-content:space-between;gap:12px}.news-index li .date{color:var(--foreground-light);font-size:13px;flex:0 0 auto}.blog-stream{max-width:720px;margin:0 auto;padding:40px 20px 60px}.blog-post{padding:28px 0 36px;border-bottom:1px solid var(--rule)}.blog-post:last-of-type{border-bottom:none}.blog-post .date{font-family:var(--font-display);font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--foreground-soft);margin-bottom:8px;font-weight:700}.blog-post h2{font-size:28px;margin:0 0 18px;color:var(--foreground-soft)}.blog-post h2 a{color:inherit;background:none;padding:0}.blog-post h2 a:hover{background:none;color:var(--accent)}.blog-post img{margin:14px 0}.pagination{display:flex;justify-content:space-between;align-items:center;padding:32px 0;font-family:var(--font-display);font-size:14px;letter-spacing:.04em;text-transform:uppercase}.pagination a{color:var(--foreground-default);font-weight:700}.pagination .dim{color:var(--foreground-light)}.static-page{max-width:1080px;margin:0 auto;padding:48px 32px 80px;text-align:center}.static-page h1,.static-page h2,.static-page h3{text-transform:none;letter-spacing:0}.static-page p{font-size:18px;line-height:1.6em}.static-page img{margin:28px auto;max-width:100%}.static-page hr{border:none;border-top:1px solid var(--rule);margin:36px 0}.prose hr,.post .prose hr,.project-page .meta hr{border:none;border-top:1px solid var(--rule);margin:28px 0;height:0}figure{margin:16px 0}figcaption{font-size:13px;color:var(--foreground-light);margin-top:6px;font-style:italic}html,body{background:#000;color:#fff;margin:0}
