.blog-breadcrumb{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-subtle);margin-bottom:1rem}.blog-breadcrumb a:hover{color:var(--brand-blue)}.blog-breadcrumb span:not(:last-child){color:var(--text-subtle)}.blog-breadcrumb span:last-child{color:var(--text-muted)}.blog-page{padding-bottom:5rem}.blog-hero{padding-top:4rem;padding-bottom:2rem}.blog-hero__title{font-size:clamp(2rem,1.2rem + 4vw,3.5rem);font-weight:700;margin:0 0 .75rem}.blog-hero__lead{color:var(--text-muted);font-size:1.1rem;margin:0}.blog-list-section{padding-top:1rem}.blog-section-heading{max-width:760px;margin-bottom:1.25rem}.blog-section-heading h2{margin:0 0 .5rem;color:var(--text);font-size:clamp(1.45rem,1.1rem + 1.4vw,2.1rem);line-height:1.15}.blog-section-heading p{margin:0;color:var(--text-muted);font-size:1rem;line-height:1.65}.blog-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.blog-list__empty{text-align:center;color:var(--text-subtle);padding:4rem 0}.blog-list__notice{margin:0 0 1rem;padding:.85rem 1rem;border:1px solid rgba(78,181,255,.18);border-radius:var(--radius-sm);background:#4eb5ff0f;color:var(--text-muted);font-size:.92rem}.blog-card{display:flex;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;transition:transform .2s ease,border-color .2s ease}.blog-card:hover{transform:translateY(-4px);border-color:var(--brand-violet)}.blog-card__image{aspect-ratio:16 / 9;overflow:hidden}.blog-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.blog-card:hover .blog-card__image img{transform:scale(1.05)}.blog-card__body{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.blog-card__date{font-size:.8rem;color:var(--text-subtle)}.blog-card__title{font-size:1.15rem;font-weight:600;color:var(--text);margin:0;line-height:1.4;transition:color .2s ease}.blog-card:hover .blog-card__title{color:var(--brand-blue)}.blog-card__excerpt{font-size:.9rem;color:var(--text-muted);line-height:1.6;margin:0;display:-webkit-box;line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card__author{font-size:.8rem;color:var(--text-subtle);margin-top:auto}.blog-post{padding-bottom:5rem}.blog-post__article{max-width:760px;margin:0 auto;padding-top:3rem}.blog-post__not-found,.blog-post__loading{text-align:center;color:var(--text-muted);padding:6rem 0}.blog-post__not-found a{color:var(--brand-blue)}.blog-post__not-found a:hover{text-decoration:underline}.blog-post__header{margin-bottom:2rem}.blog-post__title{font-size:clamp(1.75rem,1rem + 3vw,2.75rem);font-weight:700;line-height:1.25;margin:0 0 1rem}.blog-post__meta{display:flex;align-items:center;gap:1rem;font-size:.9rem;color:var(--text-subtle)}.blog-post__hero-image{margin-bottom:2.5rem;border-radius:var(--radius-md);overflow:hidden}.blog-post__hero-image img{width:100%;display:block}.blog-post__body{line-height:1.8}.blog-post__h2{font-size:1.6rem;font-weight:600;margin:2.5rem 0 1rem;color:var(--text)}.blog-post__h3{font-size:1.3rem;font-weight:600;margin:2rem 0 .75rem;color:var(--text)}.blog-post__h4{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .5rem;color:var(--text)}.blog-post__paragraph{color:var(--text-muted);margin:0 0 1.25rem;line-height:1.8}.blog-post__quote{border-left:3px solid var(--brand-violet);margin:1.5rem 0;padding:.75rem 1.25rem;color:var(--text-muted);font-style:italic}.blog-post__list{margin:0 0 1.25rem;padding-left:1.5rem;color:var(--text-muted)}.blog-post__list-item{margin-bottom:.5rem;line-height:1.7}.blog-post__link{color:var(--brand-blue);text-decoration:underline;text-underline-offset:2px}.blog-post__link:hover{color:var(--brand-violet)}.blog-post__image-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:1rem;margin:2rem 0}.blog-post__figure{margin:0}.blog-post__image-row .blog-post__figure img,.blog-post__figure img{width:100%;border-radius:var(--radius-sm)}.blog-post__figure figcaption{text-align:center;font-size:.85rem;color:var(--text-subtle);margin-top:.5rem}@media(max-width:960px){.blog-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.blog-list{grid-template-columns:1fr}.blog-hero{padding-top:2.5rem}.blog-post__article{padding-top:2rem}}
