.blog-page{background:var(--bg-color);min-height:100vh;color:var(--text-primary)}.blog-index-hero{text-align:center;max-width:960px;margin:0 auto;padding:120px 24px 48px}.blog-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--primary-color);margin-bottom:12px;font-size:.8rem;font-weight:600}.blog-index-title{letter-spacing:-.03em;font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.1}.blog-index-subtitle{color:var(--text-secondary);max-width:620px;margin:20px auto 0;font-size:1.05rem;line-height:1.6}.blog-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;max-width:1100px;margin:0 auto;padding:24px 24px 80px;display:grid}.blog-card{color:inherit;background:var(--surface-color);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;overflow:hidden}.blog-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-color);transform:translateY(-3px)}.blog-card-cover{aspect-ratio:16/9;background:linear-gradient(135deg,#3089a6,#2d4576) 50%/cover}.blog-card-body{flex-direction:column;flex:1;gap:10px;padding:20px 22px 24px;display:flex}.blog-card-meta{color:var(--text-muted);letter-spacing:.02em;font-size:.75rem}.blog-card-title{letter-spacing:-.01em;color:var(--text-primary);font-size:1.2rem;font-weight:700;line-height:1.3}.blog-card-description{color:var(--text-secondary);flex:1;font-size:.9rem;line-height:1.5}.blog-card-tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.blog-tag{border-radius:var(--radius-full);background:var(--primary-subtle);color:var(--primary-color);text-transform:lowercase;letter-spacing:.01em;padding:3px 9px;font-size:.7rem;font-weight:500}.blog-empty{text-align:center;max-width:560px;color:var(--text-muted);margin:0 auto;padding:40px 24px 120px}.blog-article{max-width:720px;margin:0 auto;padding:88px 24px 80px}.blog-breadcrumb{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:24px;font-size:.8rem;display:flex}.blog-breadcrumb a{color:var(--text-secondary);text-decoration:none}.blog-breadcrumb a:hover{color:var(--primary-color)}.blog-breadcrumb-sep{color:var(--text-muted)}.blog-breadcrumb-current{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.blog-article-header{margin-bottom:28px}.blog-article-meta{color:var(--text-muted);letter-spacing:.02em;margin-bottom:14px;font-size:.8rem}.blog-article-title{letter-spacing:-.025em;color:var(--text-primary);margin-bottom:18px;font-size:clamp(1.9rem,4.5vw,2.6rem);font-weight:800;line-height:1.15}.blog-article-description{color:var(--text-secondary);margin-bottom:20px;font-size:1.1rem;line-height:1.55}.blog-article-tags{flex-wrap:wrap;gap:6px;display:flex}.blog-cover{margin:28px 0 36px}.blog-cover-wrap{border-radius:var(--radius-lg);aspect-ratio:16/9;background:linear-gradient(135deg,#3089a6,#2d4576) 50%/cover;overflow:hidden}.blog-cover-caption{color:var(--text-muted);text-align:right;margin-top:8px;font-size:.75rem;font-style:italic}.blog-body{color:var(--text-primary);font-size:1.05rem;line-height:1.75}.blog-body h2{letter-spacing:-.015em;color:var(--text-primary);margin:44px 0 14px;font-size:1.5rem;font-weight:700;line-height:1.25}.blog-body h3{letter-spacing:-.01em;color:var(--text-primary);margin:32px 0 10px;font-size:1.2rem;font-weight:600;line-height:1.3}.blog-body p{margin:0 0 18px}.blog-body ul,.blog-body ol{margin:0 0 20px;padding-left:1.4em}.blog-body li{margin-bottom:8px}.blog-body a{color:var(--primary-color);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.blog-body a:hover{color:var(--primary-dark)}.blog-body strong{color:var(--text-primary);font-weight:600}.blog-body blockquote{border-left:3px solid var(--primary-color);color:var(--text-secondary);margin:24px 0;padding:4px 0 4px 18px;font-style:italic}.blog-body code{background:var(--surface-hover);border-radius:var(--radius-sm,4px);padding:2px 6px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.92em}.blog-body hr{border:0;border-top:1px solid var(--border-subtle);margin:36px 0}.blog-article-footer{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:56px;padding-top:28px;font-size:.9rem;display:flex}.blog-article-footer a{color:var(--primary-color);font-weight:500;text-decoration:none}.blog-article-footer a:hover{text-decoration:underline}