.blog-page .blog-main{padding:3.5rem 0 5rem}.blog-header{margin-bottom:3rem;text-align:center}.blog-header h1{font-family:var(--font-display);font-size:clamp(2.25rem,5vw,3.25rem);font-weight:400;letter-spacing:-.02em;line-height:1.1;margin-bottom:.75rem}.blog-header p{max-width:36rem;margin-inline:auto;color:var(--text-secondary);font-size:1.05rem;line-height:1.65}.blog-grid{display:grid;gap:1.25rem}@media (min-width:640px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:960px){.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.blog-card{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-tile);transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.blog-card:hover{border-color:var(--accent-border);background:var(--bg-card);transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.4),0 0 24px rgba(99,102,241,.12)}.blog-card-date{font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-soft)}.blog-card h2{font-size:1.125rem;font-weight:600;letter-spacing:-.01em;line-height:1.35}.blog-card p{flex:1;font-size:.925rem;line-height:1.6;color:var(--text-secondary)}.blog-card-link{font-size:.875rem;font-weight:500;color:var(--accent-soft)}.blog-empty{text-align:center;padding:4rem 1rem;color:var(--text-muted)}.blog-post{max-width:42rem;margin-inline:auto}.blog-back{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:2rem;font-size:.875rem;color:var(--text-muted);transition:color .15s ease}.blog-back:hover{color:var(--text-primary);opacity:1}.blog-post-header{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:1px solid var(--border-subtle)}.blog-post-header time{display:block;margin-bottom:.75rem;font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-soft)}.blog-post-header h1{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,2.75rem);font-weight:400;letter-spacing:-.02em;line-height:1.15;margin-bottom:.75rem}.blog-post-header p{font-size:1.05rem;line-height:1.65;color:var(--text-secondary)}.blog-prose{color:var(--text-secondary);font-size:1rem;line-height:1.75}.blog-prose>*+*{margin-top:1.25rem}.blog-prose h2{margin-top:2.25rem;margin-bottom:.75rem;font-size:1.35rem;letter-spacing:-.01em}.blog-prose h2,.blog-prose h3{font-weight:600;color:var(--text-primary)}.blog-prose h3{margin-top:1.75rem;margin-bottom:.5rem;font-size:1.125rem}.blog-prose p{color:var(--text-secondary)}.blog-prose strong{color:var(--text-primary);font-weight:600}.blog-prose ol,.blog-prose ul{padding-left:1.25rem}.blog-prose li+li{margin-top:.35rem}.blog-prose li::marker{color:var(--accent-soft)}.blog-prose a{color:var(--accent-soft);text-decoration:underline;text-underline-offset:2px}.blog-prose a:hover{opacity:1;color:var(--text-primary)}.blog-prose blockquote{padding-left:1rem;border-left:3px solid var(--accent-border);color:var(--text-muted);font-style:italic}.blog-prose code{padding:.15rem .4rem;border-radius:.35rem;background:rgba(255,255,255,.06);font-size:.875em;color:var(--text-primary)}.blog-prose pre{overflow-x:auto;padding:1rem 1.25rem;border-radius:var(--radius);border:1px solid var(--border-subtle);background:rgba(255,255,255,.04)}.blog-prose pre code{padding:0;background:none}.blog-prose hr{border:none;border-top:1px solid var(--border-subtle);margin:2rem 0}.blog-table-wrap{margin:1.75rem 0;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:rgba(255,255,255,.02)}.blog-table{width:100%;min-width:36rem;border-collapse:collapse;font-size:.9rem;line-height:1.5}.blog-table-th{padding:.75rem 1rem;border-bottom:1px solid var(--border-medium);background:rgba(99,102,241,.12);font-weight:600;text-align:left;color:var(--text-primary);white-space:nowrap}.blog-table-td{padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:top}.blog-table-row:last-child .blog-table-td{border-bottom:none}.blog-table-body .blog-table-row:hover .blog-table-td{background:rgba(255,255,255,.03)}