.blog-shell{background:hsl(var(--background));min-height:60vh}
.site-dropdown-menu a[href="/blog/"],.site-mobile-menu a[href="/blog/"]{color:hsl(var(--primary));font-weight:700}
.blog-index{padding:5rem 0 4rem}
.blog-index>.container-custom{max-width:1120px}
.blog-index-header{text-align:center;margin:0 auto 2.6rem}
.blog-index-header h1{font-size:clamp(2.25rem,5vw,3.15rem);font-weight:800;line-height:1.08;letter-spacing:0;margin-bottom:1rem;color:hsl(var(--foreground))}
.blog-index-header p{font-size:1.18rem;color:hsl(var(--muted-foreground));line-height:1.65}
.blog-filter-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.55rem;margin-bottom:3rem}
.blog-filter-row button,.blog-load-more a{display:inline-flex;align-items:center;justify-content:center;min-height:2.5rem;border-radius:.45rem;padding:.62rem 1rem;font-size:.9rem;font-weight:600;line-height:1.2;transition:background-color .24s cubic-bezier(.22,1,.36,1),border-color .24s cubic-bezier(.22,1,.36,1),color .24s cubic-bezier(.22,1,.36,1),transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1)}
.blog-filter-row button{border:1px solid hsl(var(--input));background:hsl(var(--background));color:hsl(var(--foreground))}
.blog-filter-row button.is-active{border-color:hsl(var(--primary));background:hsl(var(--primary));color:#fff}
.blog-filter-row button:hover{border-color:hsl(var(--primary)/.4);background:hsl(var(--accent)/.55);transform:translateY(-1px)}
.blog-filter-row button.is-active:hover{background:hsl(var(--primary-light));box-shadow:0 10px 24px hsl(var(--primary)/.14)}
.blog-featured-card,.blog-small-card,.blog-empty{background:hsl(var(--card));color:hsl(var(--card-foreground));border:2px solid hsl(var(--border));border-radius:.5rem;box-shadow:0 1px 2px hsl(150 18% 8% / .04);overflow:hidden;transition:border-color .24s cubic-bezier(.22,1,.36,1),transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1)}
.blog-featured-card:hover,.blog-small-card:hover{border-color:hsl(var(--primary)/.45);transform:translateY(-3px);box-shadow:0 14px 34px hsl(150 18% 8% / .08)}
.blog-featured-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);margin-bottom:3rem}
.blog-featured-media,.blog-thumb{display:flex;align-items:center;justify-content:center;background:hsl(var(--muted));color:hsl(var(--muted-foreground));font-weight:600;overflow:hidden}
.blog-featured-media{min-height:360px}
.blog-featured-media img,.blog-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .36s cubic-bezier(.22,1,.36,1),filter .36s cubic-bezier(.22,1,.36,1)}
.blog-featured-card:hover img,.blog-small-card:hover img{transform:scale(1.035);filter:saturate(1.04)}
.blog-featured-body{padding:2rem;display:flex;flex-direction:column;justify-content:center}
.blog-category{font-size:.78rem;font-weight:700;color:hsl(var(--primary));margin:0 0 .75rem}
.blog-featured-body h2{font-size:clamp(1.8rem,3vw,2rem);font-weight:800;line-height:1.18;letter-spacing:0;margin-bottom:1rem;color:hsl(var(--foreground))}
.blog-featured-body h2 a,.blog-small-body h3 a{transition:color .22s cubic-bezier(.22,1,.36,1)}
.blog-featured-body h2 a:hover,.blog-small-body h3 a:hover{color:hsl(var(--primary))}
.blog-featured-body>p:not(.blog-category),.blog-small-body>p:not(.blog-category){color:hsl(var(--muted-foreground));line-height:1.7}
.blog-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.35rem}
.blog-card-footer>span{font-size:.86rem;color:hsl(var(--muted-foreground))}
.blog-primary-link,.blog-read,.blog-back{display:inline-flex;align-items:center;gap:.4rem;color:hsl(var(--primary));font-size:.92rem;font-weight:700;transition:color .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1)}
.blog-primary-link{min-height:2.5rem;border-radius:.45rem;background:hsl(var(--primary));color:#fff;padding:.68rem 1rem}
.blog-primary-link:hover{background:hsl(var(--primary-light));color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px hsl(var(--primary)/.16)}
.blog-read:hover,.blog-back:hover{transform:translateX(2px)}
.blog-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.blog-thumb{height:12rem}
.blog-small-body{padding:1.5rem}
.blog-small-body h3{font-size:1.25rem;font-weight:700;line-height:1.25;letter-spacing:0;margin-bottom:.7rem;color:hsl(var(--foreground))}
.blog-load-more{text-align:center;margin-top:3rem}
.blog-load-more a{border:2px solid hsl(var(--input));background:hsl(var(--background));color:hsl(var(--foreground));padding:.85rem 2rem;min-height:2.75rem}
.blog-load-more a:hover{border-color:hsl(var(--primary)/.45);background:hsl(var(--accent)/.55);transform:translateY(-2px)}
.blog-empty{padding:1.5rem;margin:0 auto;max-width:680px}
.blog-empty h2{font-size:1.8rem;font-weight:800;letter-spacing:0;margin-bottom:.4rem}
.blog-empty p{color:hsl(var(--muted-foreground));line-height:1.7}
.blog-post{background:hsl(var(--background))}
.blog-post-hero{padding:4.5rem 0 3rem;background:hsl(var(--background));border-bottom:1px solid hsl(var(--border))}
.blog-post-hero .container-custom{max-width:860px}
.blog-post-hero h1{font-size:clamp(2.4rem,5vw,4.25rem);font-weight:800;letter-spacing:0;line-height:1.06;margin:.8rem 0 1rem;color:hsl(var(--foreground))}
.blog-post-hero>div>p:not(.blog-date){font-size:1.05rem;line-height:1.75;color:hsl(var(--muted-foreground));max-width:620px}
.blog-date{font-size:.72rem;color:hsl(var(--muted-foreground));font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.7rem}
.blog-post-hero .blog-back{margin-top:0}
.blog-post-wrap{max-width:860px;padding-top:3rem;padding-bottom:5rem}
.blog-cover{width:100%;border-radius:.5rem;margin:0 0 2.5rem;max-height:520px;object-fit:cover;border:1px solid hsl(var(--border))}
.blog-content{max-width:720px;margin:0 auto;font-size:1.05rem;line-height:1.85;color:hsl(var(--foreground))}
.blog-content h2,.blog-content h3{font-weight:800;letter-spacing:0;line-height:1.2;margin:2.2rem 0 1rem;color:hsl(var(--foreground))}
.blog-content h2{font-size:2rem}.blog-content h3{font-size:1.55rem}
.blog-content p,.blog-content ul,.blog-content ol{margin:1rem 0}.blog-content ul{list-style:disc;padding-left:1.3rem}.blog-content ol{list-style:decimal;padding-left:1.3rem}
.blog-content blockquote{border-left:3px solid hsl(var(--primary));background:hsl(var(--card));padding:1rem 1.25rem;border-radius:0 .5rem .5rem 0;margin:1.5rem 0;color:hsl(var(--muted-foreground))}
.blog-content a{color:hsl(var(--primary));font-weight:700}.blog-content img{border-radius:.5rem;margin:1.5rem 0}
@media (prefers-reduced-motion:reduce){.blog-featured-card,.blog-small-card,.blog-featured-card img,.blog-small-card img,.blog-primary-link,.blog-read,.blog-back,.blog-filter-row button,.blog-load-more a{transition-duration:.01ms!important}.blog-featured-card:hover,.blog-small-card:hover,.blog-featured-card:hover img,.blog-small-card:hover img,.blog-primary-link:hover,.blog-read:hover,.blog-load-more a:hover{transform:none}}
@media(max-width:840px){.blog-index{padding:4rem 0 3rem}.blog-featured-card{grid-template-columns:1fr}.blog-featured-media{min-height:260px}.blog-card-grid{grid-template-columns:1fr}.blog-card-footer{align-items:flex-start;flex-direction:column}.blog-post-hero{padding:3.5rem 0 2.5rem}}
@media(max-width:640px){.blog-filter-row{justify-content:flex-start}.blog-filter-row button{font-size:.84rem}.blog-featured-body,.blog-small-body{padding:1.25rem}.blog-thumb{height:11rem}}
