:root{--surface-0: #0c0d0a;--surface-1: #15170f;--surface-2: #1d1f15;--ink-0: #f4f1e8;--ink-1: #a3a195;--ink-2: #65665b;--acid: #d4ff3a;--acid-muted: #9bbf1f;--rust: #e85a2b;--line: #2a2c22}.blog-hero{padding:160px 32px 64px;border-bottom:1px solid var(--line);background:var(--surface-0);position:relative;overflow:hidden}.blog-hero-inner{max-width:1280px;margin:0 auto;position:relative;z-index:1}.blog-hero h1{font-family:Fraunces,Times New Roman,serif;font-weight:300;font-size:clamp(2.4rem,5vw,4.4rem);letter-spacing:-.025em;line-height:1;color:var(--ink-0);margin-bottom:20px}.blog-hero h1 em{font-style:italic;color:var(--acid);font-weight:400}.blog-hero .lead{font-size:1.1rem;color:var(--ink-1);max-width:680px;line-height:1.65}.blog-list-section{padding:80px 32px}.blog-list-inner{max-width:1280px;margin:0 auto}.blog-empty{text-align:center;padding:60px 24px;color:var(--ink-2);font-family:JetBrains Mono,ui-monospace,monospace;letter-spacing:.04em}.post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.post-card{background:var(--surface-1);padding:36px 32px;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:inherit;transition:background .3s,transform .3s;position:relative}.post-card:hover{background:var(--surface-2);transform:translateY(-2px)}.post-card .post-meta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase}.post-card .post-meta .cat{color:var(--acid)}.post-card h2{font-family:Fraunces,Times New Roman,serif;font-weight:400;font-size:1.5rem;line-height:1.2;color:var(--ink-0);letter-spacing:-.01em;margin:0}.post-card h2 em{font-style:italic;color:var(--acid);font-weight:400}.post-card .post-desc{color:var(--ink-1);font-size:.95rem;line-height:1.55;flex:1}.post-card .post-read{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase;margin-top:6px;padding-top:12px;border-top:1px solid var(--line);display:inline-flex;align-items:center;gap:8px;align-self:flex-start}.post-card:hover .post-read{color:var(--acid)}.post-hero{padding:160px 32px 48px;border-bottom:1px solid var(--line);background:var(--surface-0)}.post-hero-inner{max-width:820px;margin:0 auto}.post-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);flex-wrap:wrap}.post-eyebrow .acid{color:var(--acid)}.post-hero h1{font-family:Fraunces,Times New Roman,serif;font-weight:300;font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.05;letter-spacing:-.02em;color:var(--ink-0);margin-bottom:22px;text-wrap:pretty}.post-hero h1 em{font-style:italic;color:var(--acid);font-weight:400}.post-hero .post-desc{font-size:1.08rem;color:var(--ink-1);line-height:1.65;margin-bottom:24px}.post-meta-row{display:flex;gap:24px;flex-wrap:wrap;padding-top:22px;border-top:1px solid var(--line);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--ink-2);letter-spacing:.04em}.post-meta-row .k{color:var(--ink-2)}.post-meta-row .v{color:var(--ink-0)}.post-body{max-width:720px;margin:0 auto;padding:60px 32px 80px;color:var(--ink-1);font-size:1.02rem;line-height:1.75}.post-body h2{font-family:Fraunces,Times New Roman,serif;font-weight:400;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.15;letter-spacing:-.015em;color:var(--ink-0);margin:48px 0 16px}.post-body h2 em{font-style:italic;color:var(--acid);font-weight:400}.post-body h3{font-family:Fraunces,Times New Roman,serif;font-weight:400;font-size:1.3rem;color:var(--ink-0);margin:32px 0 10px;letter-spacing:-.01em}.post-body p{margin-bottom:18px}.post-body strong{color:var(--ink-0);font-weight:600}.post-body em{font-style:italic}.post-body a{color:var(--acid);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.post-body a:hover{border-color:var(--acid)}.post-body ul,.post-body ol{margin:14px 0 22px;padding-left:0;list-style:none}.post-body ul li,.post-body ol li{padding-left:22px;position:relative;margin-bottom:8px}.post-body ul li:before{content:"—";position:absolute;left:0;color:var(--acid);font-family:JetBrains Mono,ui-monospace,monospace}.post-body ol{counter-reset:post-li}.post-body ol li:before{content:counter(post-li,decimal-leading-zero);counter-increment:post-li;position:absolute;left:0;color:var(--acid);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.85em}.post-body blockquote{margin:22px 0;padding:16px 22px;background:var(--surface-1);border-left:3px solid var(--acid);font-style:italic;color:var(--ink-1)}.post-body code{background:var(--surface-1);border:1px solid var(--line);padding:2px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.9em;color:var(--ink-0);border-radius:4px}.post-body pre{background:var(--surface-1);border:1px solid var(--line);padding:18px 22px;overflow-x:auto;margin:18px 0;border-radius:4px}.post-body pre code{background:none;border:none;padding:0}.post-body table{width:100%;border-collapse:collapse;margin:22px 0;font-size:.92rem}.post-body th,.post-body td{padding:10px 14px;border:1px solid var(--line);text-align:left;vertical-align:top}.post-body th{background:var(--surface-1);color:var(--ink-0);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600}.post-body hr{border:none;border-top:1px solid var(--line);margin:32px 0}.post-bio{max-width:720px;margin:0 auto;padding:32px;background:var(--surface-1);border-left:3px solid var(--acid);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.post-bio p{font-family:Fraunces,Times New Roman,serif;font-style:italic;font-size:1rem;color:var(--ink-1);line-height:1.55}.post-bio p strong{color:var(--ink-0);font-style:normal;font-weight:600}@media(max-width:760px){.post-grid{grid-template-columns:1fr}.blog-hero{padding:130px 22px 48px}.post-hero{padding:130px 22px 36px}.post-body{padding:40px 22px 60px}}
