.blog-banner{text-align:center;padding:56px 0 48px}
.blog-banner-label{display:inline-block;color:var(--secondary);font-family:var(--font-heading);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:13px;margin-bottom:10px;text-decoration:none}
.blog-banner--single h1{max-width:900px;margin-left:auto;margin-right:auto}
.blog-single-meta{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;color:rgba(255,255,255,.75);font-size:14px;margin-top:6px}
.blog-main{background:var(--background);padding:40px 0 64px}
.blog-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:32px}
.blog-chips{display:flex;flex-wrap:wrap;gap:8px}
.blog-chip{padding:8px 16px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--foreground);font-size:14px;font-weight:600;text-decoration:none;transition:.2s}
.blog-chip:hover,.blog-chip.is-active{background:var(--primary);border-color:var(--primary);color:#fff}
.blog-search{display:flex;gap:8px;margin-left:auto;max-width:100%}
.blog-search input[type=search]{min-width:240px;max-width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;font-size:15px}
.blog-search button{padding:10px 18px;border:0;border-radius:var(--radius);background:var(--primary);color:#fff;font-weight:600;cursor:pointer}
.blog-search button:hover{filter:brightness(.92)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.blog-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(26,26,26,.09)}
.blog-card-media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--muted)}
.blog-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.blog-card:hover .blog-card-media img{transform:scale(1.04)}
.blog-card-body{display:flex;flex-direction:column;gap:10px;padding:22px;flex:1}
.blog-card-meta{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;font-size:13px;color:var(--muted-foreground)}
.blog-card-cat{color:var(--secondary);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:12px;text-decoration:none}
.blog-card-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:800;line-height:1.35;margin:0}
.blog-card-title a{color:var(--foreground);text-decoration:none}
.blog-card-title a:hover{color:var(--primary)}
.blog-card-excerpt{color:var(--muted-foreground);font-size:14.5px;line-height:1.7;margin:0}
.blog-card-link{margin-top:auto;color:var(--primary);font-weight:700;font-size:14.5px;text-decoration:none}
.blog-card-link:hover{text-decoration:underline}
.blog-card--featured{grid-column:1/-1;flex-direction:row}
.blog-card--featured .blog-card-media{flex:1.2;aspect-ratio:auto;min-height:340px}
.blog-card--featured .blog-card-body{flex:1;justify-content:center;padding:36px}
.blog-card--featured .blog-card-title{font-size:1.7rem}
.blog-pagination{margin-top:40px}
.blog-pagination ul{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;list-style:none;padding:0;margin:0}
.blog-pagination a,.blog-pagination span{display:inline-block;min-width:42px;padding:9px 14px;text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--foreground);font-weight:600;text-decoration:none}
.blog-pagination a:hover,.blog-pagination .current{background:var(--primary);border-color:var(--primary);color:#fff}
.blog-pagination .dots{border:0;background:none}
.blog-empty{max-width:560px;margin:40px auto;padding:40px 28px;text-align:center;background:var(--card);border:1px dashed var(--border);border-radius:14px}
.blog-empty h2{font-family:var(--font-heading);font-weight:800;margin-bottom:10px}
.blog-empty p{color:var(--muted-foreground);margin-bottom:16px}
.blog-main--single{padding-top:28px}
.blog-breadcrumb{margin-bottom:22px;font-size:14px}
.blog-breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0;color:var(--muted-foreground)}
.blog-breadcrumb li+li::before{content:"/";margin-right:6px;color:var(--border)}
.blog-breadcrumb a{color:var(--primary);text-decoration:none}
.blog-breadcrumb a:hover{text-decoration:underline}
.blog-hero{margin:0 0 28px;border-radius:14px;overflow:hidden}
.blog-hero img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}
.blog-content{font-size:1.0625rem;line-height:1.85;color:var(--foreground)}
.blog-content p{margin:0 0 1.2em}
.blog-content h2,.blog-content h3,.blog-content h4{font-family:var(--font-heading);font-weight:800;line-height:1.3;margin:1.8em 0 .6em}
.blog-content h2{font-size:1.65rem}.blog-content h3{font-size:1.3rem}
.blog-content a{color:var(--primary);text-decoration:underline}
.blog-content ul,.blog-content ol{font-family:inherit;margin:0 0 1.2em 1.4em;padding:0}
.blog-content ul{list-style:disc}.blog-content ol{list-style:decimal}
.blog-content li{margin-bottom:.4em}
.blog-content img{max-width:100%;height:auto;border-radius:10px}
.blog-content blockquote{margin:1.6em 0;padding:14px 22px;border-left:4px solid var(--secondary);background:var(--muted);border-radius:0 10px 10px 0}
.blog-content table{width:100%;border-collapse:collapse;margin:1.4em 0}
.blog-content th,.blog-content td{border:1px solid var(--border);padding:10px 12px;text-align:left}
.blog-share{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:32px;padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.blog-share-links{display:flex;flex-wrap:wrap;gap:8px}
.blog-share-links a,.blog-copy{padding:8px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--foreground);font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}
.blog-share-links a:hover,.blog-copy:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.blog-back{margin-top:24px}
.blog-related{padding:56px 0 0}
.blog-related .container{max-width:1280px}
@media (max-width:1023px){.blog-grid{grid-template-columns:repeat(2,1fr)}.blog-card--featured{flex-direction:column}.blog-card--featured .blog-card-media{min-height:0;aspect-ratio:16/9}.blog-card--featured .blog-card-body{padding:24px}}
@media (max-width:640px){.blog-grid{grid-template-columns:1fr}.blog-toolbar{flex-direction:column;align-items:stretch}.blog-search{margin-left:0}.blog-search input[type=search]{flex:1;min-width:0}.blog-banner{padding:40px 0 34px}.blog-card--featured .blog-card-title{font-size:1.3rem}}
.blog-content h2,.blog-content h3{scroll-margin-top:110px}
.blog-content figure{margin:1.8em 0}
.blog-content figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:12px}
.blog-content figcaption{margin-top:8px;font-size:13.5px;color:var(--muted-foreground);text-align:center}
.blog-summary{margin:0 0 24px;padding:22px 24px;background:var(--card);border:1px solid var(--border);border-left:4px solid var(--secondary);border-radius:12px}
.blog-summary-title,.blog-toc-title{display:block;margin-bottom:10px;font-family:var(--font-heading);font-weight:800;font-size:1.05rem;color:var(--foreground)}
.blog-summary p{margin:0 0 10px;line-height:1.75;color:var(--muted-foreground)}
.blog-summary ul{margin:0 0 0 1.2em;padding:0;list-style:disc}
.blog-summary li{margin-bottom:6px;line-height:1.65}
.blog-toc{margin:0 0 32px;padding:20px 24px;background:var(--muted);border-radius:12px}
.blog-toc ol{margin:0;padding:0;list-style:none;counter-reset:toc}
.blog-toc li{counter-increment:toc;margin-bottom:8px;line-height:1.5}
.blog-toc li:not(.is-sub)::before{content:counter(toc) ".";margin-right:8px;font-weight:700;color:var(--secondary)}
.blog-toc li.is-sub{counter-increment:none;margin-left:26px;font-size:14.5px}
.blog-toc a{color:var(--foreground);text-decoration:none}
.blog-toc a:hover{color:var(--primary);text-decoration:underline}
.blog-author{display:flex;gap:18px;align-items:flex-start;margin-top:32px;padding:22px;background:var(--card);border:1px solid var(--border);border-radius:14px}
.blog-author-img{flex:0 0 72px}
.blog-author-img img{width:72px;height:72px;object-fit:contain;border-radius:50%;background:#fff;border:1px solid var(--border);padding:6px;display:block}
.blog-author-label{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);margin-bottom:4px}
.blog-author-name{display:block;font-family:var(--font-heading);font-size:1.1rem;font-weight:800;margin-bottom:6px}
.blog-author-text p{margin:0;font-size:14.5px;line-height:1.75;color:var(--muted-foreground)}
@media (max-width:640px){.blog-author{flex-direction:column}.blog-toc,.blog-summary{padding:18px}}
.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;align-items:start}
.blog-primary{min-width:0}
.blog-layout .blog-grid{grid-template-columns:repeat(2,1fr)}
.blog-sidebar{position:sticky;top:110px;display:flex;flex-direction:column;gap:24px}
.blog-widget{padding:22px;background:var(--card);border:1px solid var(--border);border-radius:14px}
.blog-widget-title{margin:0 0 16px;font-family:var(--font-heading);font-size:1.05rem;font-weight:800;color:var(--foreground)}
.blog-latest,.blog-cat-list{margin:0;padding:0;list-style:none}
.blog-latest li{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--border)}
.blog-latest li:first-child{padding-top:0;border-top:0}
.blog-latest li:last-child{padding-bottom:0}
.blog-latest-img{flex:0 0 72px}
.blog-latest-img img{width:72px;height:72px;object-fit:cover;border-radius:10px;display:block}
.blog-latest-title{display:block;font-size:14.5px;font-weight:700;line-height:1.4;color:var(--foreground);text-decoration:none}
.blog-latest-title:hover{color:var(--primary)}
.blog-latest-date{display:block;margin-top:4px;font-size:12.5px;color:var(--muted-foreground)}
.blog-cat-list a{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--border);font-size:14.5px;font-weight:600;color:var(--foreground);text-decoration:none}
.blog-cat-list li:first-child a{padding-top:0;border-top:0}
.blog-cat-list li:last-child a{padding-bottom:0}
.blog-cat-list em{font-style:normal;color:var(--muted-foreground);font-weight:500}
.blog-cat-list a:hover,.blog-cat-list .is-active a{color:var(--primary)}
@media (max-width:1100px){.blog-layout{grid-template-columns:minmax(0,1fr) 300px;gap:28px}}
@media (max-width:900px){.blog-layout{grid-template-columns:1fr}.blog-sidebar{position:static}.blog-layout .blog-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.blog-layout .blog-grid{grid-template-columns:1fr}}
.blog-faq{margin-top:36px}
.blog-faq-title{margin:0 0 16px;font-family:var(--font-heading);font-size:1.5rem;font-weight:800}
.blog-faq-item{margin-bottom:10px;background:var(--card);border:1px solid var(--border);border-radius:12px}
.blog-faq-item summary{cursor:pointer;list-style:none;padding:16px 48px 16px 18px;font-weight:700;position:relative;line-height:1.5}
.blog-faq-item summary::-webkit-details-marker{display:none}
.blog-faq-item summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:500;color:var(--primary)}
.blog-faq-item[open] summary::after{content:"\2212"}
.blog-faq-item p{margin:0;padding:0 18px 18px;color:var(--muted-foreground);line-height:1.75}
.blog-author-social{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:10px}
.blog-author-social a{font-size:13.5px;font-weight:700;color:var(--primary);text-decoration:none}
.blog-author-social a:hover{text-decoration:underline}
.blog-pagination-status{margin:14px 0 0;text-align:center;font-size:14px;color:var(--muted-foreground)}
.blog-summary li,.blog-toc li,.blog-summary ul,.blog-toc ol{font-family:inherit}
.blog-search{position:relative}
.blog-suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 14px 32px rgba(26,26,26,.14);max-height:360px;overflow-y:auto}
.blog-suggest a{display:flex;gap:12px;align-items:center;padding:8px;border-radius:8px;color:var(--foreground);text-decoration:none}
.blog-suggest a:hover,.blog-suggest a.is-active{background:var(--muted)}
.blog-suggest img{flex:0 0 48px;width:48px;height:48px;object-fit:cover;border-radius:8px}
.blog-suggest strong{display:block;font-size:14px;line-height:1.4}
.blog-suggest em{display:block;margin-top:2px;font-style:normal;font-size:12px;color:var(--secondary);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.blog-suggest-empty{padding:12px;font-size:14px;color:var(--muted-foreground)}
