#blog{padding:var(--sp-20)1.5rem;max-width:var(--content-width,800px);margin:0 auto}.article-page{max-width:var(--content-width,680px);padding:var(--sp-20)1.5rem;margin:0 auto}@media (max-width:640px){#blog,.article-page{padding-top:var(--sp-10,2.5rem);padding-bottom:var(--sp-10,2.5rem);padding-left:1rem;padding-right:1rem}.article-footer{align-items:flex-start;gap:var(--sp-3,.75rem);flex-direction:column}.article-cta{opacity:1;transform:translate(0)}.prose table{white-space:nowrap;display:block;overflow-x:auto}}.article-list{flex-direction:column;gap:0;display:flex}.article-card{border-bottom:1px solid var(--border,#00000014);opacity:0;animation:.45s forwards cardReveal;animation-delay:calc(var(--card-index)*80ms + .1s);transform:translateY(16px)}.article-card:first-child{border-top:1px solid var(--border,#00000014)}@keyframes cardReveal{to{opacity:1;transform:translateY(0)}}.article-card-link{color:inherit;padding:var(--sp-8,2rem)0;text-decoration:none;transition:padding-left .2s;display:block}.article-card-link:hover{padding-left:var(--sp-2,.5rem)}.article-card-inner{gap:var(--sp-3,.75rem);flex-direction:column;display:flex}.article-meta-row{align-items:center;gap:var(--sp-4,1rem);display:flex}.article-date{font-family:var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--warm-600,#6b7280);font-size:.72rem}.article-read-time{font-family:var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--warm-600,#6b7280);opacity:.8;font-size:.72rem}.article-read-time:before{content:"·";margin-right:var(--sp-4,1rem)}.article-title{font-family:var(--font-head);color:#111827;margin:0;font-size:clamp(1.1rem,2.5vw,1.35rem);font-weight:600;line-height:1.3;transition:color .15s}.article-card-link:hover .article-title{color:var(--accent,#b18e4d)}.article-excerpt{font-family:var(--font-body);color:var(--warm-700,#374151);max-width:600px;margin:0;font-size:.95rem;line-height:1.65}.article-footer{margin-top:var(--sp-2,.5rem);justify-content:space-between;align-items:center;display:flex}.article-cta{font-family:var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--accent,#b18e4d);opacity:0;align-items:center;gap:6px;font-size:.72rem;transition:opacity .2s,transform .2s;display:flex;transform:translate(-6px)}.article-card-link:hover .article-cta{opacity:1;transform:translate(0)}.article-tags{gap:var(--sp-2,.5rem);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.article-tag{font-family:var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--warm-600,#4b5563);border:1px solid var(--border,#0000001a);white-space:nowrap;border-radius:99px;padding:3px 10px;font-size:.68rem;line-height:3}.article-page-header{margin-bottom:var(--sp-10,2.5rem)}.back-link{font-family:var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--warm-600,#6b7280);margin-bottom:var(--sp-8,2rem);align-items:center;gap:6px;font-size:.72rem;text-decoration:none;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--accent,#b18e4d)}.article-page-title{font-family:var(--font-head);color:#111827;margin:var(--sp-4,1rem)0 var(--sp-4,1rem);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;line-height:1.2}.article-page-excerpt{font-family:var(--font-body);color:var(--warm-700,#4b5563);margin:var(--sp-4,1rem)0 var(--sp-6,1.5rem);font-size:1.05rem;line-height:1.7}.prose{font-family:var(--font-body);color:#1f2937;font-size:1rem;line-height:1.8}.prose h2{font-family:var(--font-head);color:#111827;margin:2.5rem 0 1rem;font-size:1.35rem;font-weight:600;line-height:1.3}.prose h3{font-family:var(--font-head);color:#111827;margin:2rem 0 .75rem;font-size:1.05rem;font-weight:600}.prose p{margin:0 0 1.4rem}.prose strong{color:#000;font-weight:800}.prose em{font-style:italic}.prose code{background:var(--surface-2,#0000000d);color:#b18e4d;border-radius:4px;padding:2px 6px;font-family:Fira Code,Cascadia Code,monospace;font-size:.875em}.prose hr{border:none;border-top:1px solid var(--border,#0000001a);margin:2.5rem 0}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-body);margin:2rem 0;font-size:.95rem}.prose th{text-align:left;border-bottom:2px solid var(--accent,#b18e4d);font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;color:#111827;padding:12px}.prose td{color:#4b5563;border-bottom:1px solid #0000000d;padding:12px}.prose tr:hover td{background:#f9f7f2}
