.blog-page{padding:var(--space-16) 0 var(--space-20)}.blog-page__hero{max-width:640px;margin:0 auto var(--space-16);text-align:center}.blog-page__label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-secondary);display:inline-block;padding-bottom:var(--space-1);border-bottom:2px solid var(--color-accent);margin-bottom:var(--space-6)}.blog-page__title{font-family:var(--font-primary);font-size:var(--text-3xl);font-weight:var(--weight-medium);color:var(--color-text-primary);margin:0 0 var(--space-4);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.blog-page__subtitle{font-family:var(--font-primary);font-size:var(--text-base);color:var(--color-text-secondary);margin:0;line-height:var(--leading-normal)}.blog-page__articles{margin-bottom:var(--space-20)}.blog-page__grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-6);gap:var(--space-6);max-width:1200px;margin:0 auto}.blog-page__card{display:block;background:var(--color-white);border:var(--border-subtle);border-radius:var(--border-radius-lg);padding:var(--space-6);transition:all var(--duration-fast) var(--ease-out);height:100%;display:flex;flex-direction:column}.blog-page__card:hover{border-color:var(--color-gray-300);box-shadow:var(--shadow-md)}.blog-page__card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:var(--space-4);height:100%}.blog-page__card-header{display:flex;flex-direction:column;gap:var(--space-3)}.blog-page__date{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-secondary)}.blog-page__tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.blog-page__tag{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-gray-400);background:transparent;border:1px solid var(--color-gray-200);padding:var(--space-1) var(--space-3);border-radius:999px;display:inline-block}.blog-page__card-title{font-family:var(--font-primary);font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--color-text-primary);margin:0;line-height:var(--leading-snug);flex-grow:1}.blog-page__card-excerpt{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:var(--leading-normal)}.blog-page__card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-4);border-top:var(--border-subtle)}.blog-page__reading-time{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-secondary)}.blog-page__arrow{font-family:var(--font-primary);font-size:var(--text-base);color:var(--color-text-secondary);transition:transform var(--duration-fast) var(--ease-out)}.blog-page__card:hover .blog-page__arrow{transform:translateX(var(--space-2))}.blog-page__empty{text-align:center;padding:var(--space-20) 0;border:var(--border-dashed);border-radius:var(--border-radius-lg);max-width:600px;margin:0 auto}.blog-page__empty-icon{font-family:var(--font-mono);font-size:var(--text-4xl);font-weight:var(--weight-light);color:var(--color-gray-200);margin-bottom:var(--space-6);display:block;letter-spacing:var(--tracking-tight)}.blog-page__empty-title{font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--color-text-secondary);margin:0 0 var(--space-3) 0}.blog-page__empty-text{font-family:var(--font-primary);font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal);margin:0}@media (max-width:1024px){.blog-page__grid{grid-template-columns:repeat(2,1fr)}.blog-page__title{font-size:var(--text-2xl)}}@media (max-width:768px){.blog-page{padding:var(--space-10) 0 var(--space-16)}.blog-page__hero{margin-bottom:var(--space-12)}.blog-page__grid{grid-template-columns:1fr;gap:var(--space-6)}.blog-page__title{font-size:var(--text-2xl)}.blog-page__card{padding:var(--space-5)}.blog-page__card-title{font-size:var(--text-base)}.blog-page__card-excerpt{font-size:var(--text-xs)}}