*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a1a1a;background:var(--light, #f4f4f2)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display, "Space Grotesk", "Inter", sans-serif);letter-spacing:-.02em}a:focus-visible{outline:3px solid var(--accent, #ff4d00);outline-offset:2px}.blog-page{min-height:100vh;padding-top:96px}.blog-container{width:min(1120px,calc(100% - 2rem));margin:0 auto}.blog-hero{padding:5rem 0 3rem;border-bottom:1px solid var(--line, #e4e4e0);background-color:var(--paper, #fdfdfc);background-image:linear-gradient(rgba(12,13,14,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(12,13,14,.035) 1px,transparent 1px);background-size:48px 48px}.blog-eyebrow{margin:0 0 1rem;font-family:var(--font-mono, "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace);font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--dark, #0c0d0e)}.blog-eyebrow:before{content:"// ";color:var(--accent, #ff4d00)}.blog-hero h1{max-width:760px;margin:0 0 1rem;font-size:clamp(2.4rem,6.5vw,4.4rem);line-height:1.02}.blog-hero p:last-child{max-width:680px;margin:0;font-size:1.15rem;line-height:1.7;color:#555}.blog-listing{padding:4rem 0 6rem}.featured-post{display:flex;min-height:300px;flex-direction:column;padding:clamp(2rem,4vw,3rem);background:#fff;border:1px solid var(--dark, #0c0d0e);border-top:8px solid var(--accent, #ff4d00);box-shadow:6px 6px 0 var(--ink-faint, rgba(12, 13, 14, .12))}.featured-post-header{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between;margin-bottom:2rem}.featured-label{margin:0;font-family:var(--font-mono, "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent, #ff4d00)}.featured-post h2{max-width:780px;margin:0 0 1.25rem;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.12}.featured-post h2 a,.post-card h3 a{color:#1a1a1a;text-decoration:none}.featured-post h2 a:hover,.post-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}.featured-post>p:not(.post-meta){max-width:720px;margin:0;font-size:1rem;line-height:1.75;color:#555}.older-posts{margin-top:clamp(4rem,8vw,7rem)}.older-posts-title{margin:0 0 2rem;font-family:var(--font-mono, "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.older-posts-title:before{content:"// ";color:var(--accent, #ff4d00)}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.post-card{display:flex;min-height:300px;flex-direction:column;padding:2rem;background:#fff;border:1px solid var(--line, #e4e4e0);border-radius:4px;transition:border-color .2s ease,box-shadow .2s ease}.post-card:hover{border-color:var(--dark, #0c0d0e);box-shadow:4px 4px 0 var(--ink-faint, rgba(12, 13, 14, .12))}.post-meta{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:0 0 1rem;font-family:var(--font-mono, "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace);font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#5a6066}.post-card h3{margin:0 0 1rem;font-size:clamp(1.2rem,1.8vw,1.45rem);line-height:1.22;overflow-wrap:anywhere;text-wrap:balance}.post-card p:not(.post-meta){margin:0;line-height:1.6;color:#555}.post-link{margin-top:auto;padding-top:1.5rem;font-family:var(--font-mono, "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent, #ff4d00);text-decoration:none}.post-link:after{content:"->";display:inline-block;margin-left:.4rem;transition:transform .2s ease}.post-link:hover:after{transform:translate(3px)}.empty-state{padding:2rem;background:#fff;border:1px solid var(--line, #e4e4e0);border-radius:4px;color:#555}@media(max-width:768px){.blog-page{padding-top:84px}.blog-hero{padding:3.5rem 0 2.5rem}.post-grid{grid-template-columns:1fr}}@media(min-width:769px)and (max-width:980px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
