:root{color:#0a0a0a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fbfbf7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}html{background:#fbfbf7}body{min-width:320px;min-height:100svh;margin:0}button,input,textarea,select{font:inherit}a{color:inherit}iframe{border:0}#root{min-height:100svh}.site-header{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbfbf7f0;border-bottom:2px solid #0a0a0a;justify-content:space-between;align-items:center;gap:24px;padding:18px clamp(18px,5vw,64px);display:flex;position:sticky;top:0}.brand,.site-nav,.site-footer,.section-heading,.card-meta,.tag-row,.pagination{align-items:center;display:flex}.brand{gap:10px;text-decoration:none}.brand span{color:#fbfbf7;background:#0a0a0a;border:2px solid #0a0a0a;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.brand strong{letter-spacing:0;text-transform:uppercase;font-size:.95rem}.site-nav{flex-wrap:wrap;justify-content:flex-end;gap:6px}.site-nav a,.section-heading a,.back-link,.button-link,.pagination a{color:#0a0a0a;background:#fbfbf7;border:2px solid #0a0a0a;text-decoration:none;transition:background .16s,color .16s,transform .16s}.site-nav a{padding:7px 11px;font-size:.88rem;font-weight:800}.site-nav a:hover,.site-nav a[aria-current=page],.section-heading a:hover,.back-link:hover,.button-link:hover,.pagination a:hover,.pagination a[aria-current=page]{color:#fbfbf7;background:#0a0a0a}main{width:min(100%,1240px);margin:0 auto;padding:0 clamp(18px,5vw,64px)}.home-hero{border-bottom:2px solid #0a0a0a;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:end;gap:clamp(28px,6vw,88px);min-height:62svh;padding:clamp(72px,11vw,132px) 0 clamp(44px,7vw,80px);display:grid}.home-hero h1,.page-intro h1,.article-header h1{color:#0a0a0a;letter-spacing:0;max-width:980px;margin:0;font-size:clamp(3rem,8vw,7.4rem);font-weight:950;line-height:.9}.home-hero>p,.page-intro>p,.article-header>p{color:#3d3d38;max-width:620px;margin:0;font-size:clamp(1rem,1.6vw,1.25rem)}.kicker{color:#0a0a0a;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;font-size:.78rem;font-weight:900}.section-block,.listing-page,.about-page,.project-page,.not-found{padding:clamp(44px,7vw,84px) 0}.section-block+.section-block{border-top:2px solid #0a0a0a}.section-heading{justify-content:space-between;gap:18px;margin-bottom:24px}.section-heading h2{margin:0;font-size:clamp(1.8rem,4vw,3.6rem);line-height:1}.section-heading a,.back-link,.button-link{flex:none;padding:9px 13px;font-weight:900;display:inline-flex}.post-grid,.project-grid,.about-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.post-card,.project-card,.about-grid>div{background:#fff;border:2px solid #0a0a0a;min-width:0}.post-card a{flex-direction:column;gap:18px;min-height:100%;padding:20px;text-decoration:none;display:flex}.post-card-wide a{min-height:260px}.post-card h3,.project-card h3,.about-grid h2{margin:0;font-size:clamp(1.3rem,2.3vw,2rem);line-height:1.02}.post-card p,.project-card p,.about-grid p,.article-body p{color:#41413c;margin:0}.card-meta{color:#595955;text-transform:uppercase;justify-content:space-between;gap:12px;font-size:.78rem;font-weight:900}.tag-row{flex-wrap:wrap;gap:8px;margin-top:1rem}.tag-row span,.tag-row a{color:#0a0a0a;background:#f2f2ec;border:1px solid #0a0a0a;padding:3px 8px;font-size:.76rem;font-weight:800;text-decoration:none}.tag-row button{cursor:pointer;background:#fff;border:1px solid #0a0a0a;padding:3px 8px;font-size:.76rem;font-weight:800}.tag-row a:hover,.tag-row a[aria-current=page],.filter-bar button:hover{color:#fbfbf7;background:#0a0a0a}.page-intro,.article-header{border-bottom:2px solid #0a0a0a;gap:22px;padding-bottom:clamp(34px,6vw,64px);display:grid}.post-list{gap:18px;padding-top:28px;display:grid}.post-list .post-card a{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start;display:grid}.project-card{overflow:hidden}.project-copy{gap:12px;padding:18px;display:grid}.project-card h3 a{text-underline-offset:4px;text-decoration-thickness:2px}.project-preview{aspect-ratio:4/3;background:#f7f7f2;border-bottom:2px solid #0a0a0a;width:100%;display:block;position:relative;overflow:hidden}.project-preview iframe{pointer-events:none;width:100%;height:100%}.project-preview-large{aspect-ratio:16/9;border:2px solid #0a0a0a;margin-top:28px}.project-preview-large iframe{pointer-events:auto}.article-page{max-width:900px;padding:clamp(36px,7vw,84px) 0}.article-page .back-link,.project-page .back-link{margin-bottom:28px}.article-body{gap:24px;padding-top:clamp(34px,6vw,64px);display:grid}.article-body p,.article-body li{font-size:clamp(1.08rem,1.8vw,1.28rem)}.article-body h2,.article-body h3{margin:18px 0 0;line-height:1.05}.article-body h2{font-size:clamp(1.8rem,4vw,3rem)}.article-body h3{font-size:clamp(1.35rem,3vw,2rem)}.article-body ul,.article-body ol{gap:10px;margin:0;padding-left:1.3em;display:grid}.article-body a{color:#0a0a0a;text-underline-offset:4px;font-weight:800;text-decoration-thickness:2px}.article-body code{background:#f2f2ec;border:1px solid #0a0a0a;padding:2px 5px}.pagination{justify-content:center;gap:8px;padding-top:30px}.pagination a{place-items:center;width:42px;height:42px;font-weight:900;display:grid}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:28px}.about-grid>div{gap:14px;padding:22px;display:grid}.site-footer{color:#4a4a45;border-top:2px solid #0a0a0a;justify-content:space-between;gap:18px;margin-top:40px;padding:24px clamp(18px,5vw,64px);font-size:.9rem}.site-footer a{text-underline-offset:4px;font-weight:900;text-decoration-thickness:2px}@media (width<=960px){.site-header,.home-hero,.post-list .post-card a,.site-footer{grid-template-columns:1fr}.site-header{flex-direction:column;align-items:flex-start}.site-nav{justify-content:flex-start}.home-hero{min-height:auto}.post-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.brand strong{font-size:.82rem}.site-nav a{padding:7px 9px;font-size:.8rem}.home-hero h1,.page-intro h1,.article-header h1{font-size:clamp(2.6rem,15vw,4.6rem)}.section-heading{flex-direction:column;align-items:flex-start}.post-grid,.project-grid,.about-grid{grid-template-columns:1fr}.project-preview-large{aspect-ratio:4/3}}
