.blog-hero .eyebrow{color:var(--navy);font-size:13px;letter-spacing:.12em;font-weight:700;margin-bottom:24px}
.blog-hero h1{font-size:clamp(40px,5vw,68px);line-height:1.08}
.blog-hero .text-link{margin-top:24px}
.blog-library{scroll-margin-top:100px;padding-top:50px}
.blog-library-heading{display:flex;align-items:end;justify-content:space-between;gap:32px}
.blog-library-heading h2{font-size:36px;margin:0}
.blog-search{display:grid;grid-template-columns:minmax(160px,300px) auto;gap:8px 12px}
.blog-search label{grid-column:1/-1;font-size:13px;color:var(--navy);font-weight:600}
.blog-search input{border:1px solid var(--line);border-radius:10px;padding:12px 16px;font:inherit;min-width:0;width:100%;background:white;color:var(--ink)}
.blog-search button,.blog-pagination button{border:1px solid var(--line);background:white;color:var(--navy);border-radius:10px;padding:12px 18px;font:inherit;font-weight:600;cursor:pointer;min-height:44px}
.blog-count{font-size:14px;margin:28px 0 24px;color:var(--muted)}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 28px}
.blog-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;background:white}
.blog-card-image{display:block;background:var(--fog);aspect-ratio:16/10;overflow:hidden}
.blog-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.blog-card:hover .blog-card-image img{transform:scale(1.025)}
.blog-card-copy{padding:26px;display:flex;flex:1;flex-direction:column}
.blog-card h2{font-size:25px;line-height:1.2;margin:0 0 16px;overflow-wrap:anywhere}
.blog-card h2 a:hover{color:var(--blue)}
.blog-card .blog-date{font-size:12px;color:var(--muted);margin:0 0 16px}
.blog-card-copy>p:not(.blog-date){font-size:15px;line-height:1.65;margin-bottom:24px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.blog-card .text-link{font-size:14px;margin-top:auto;align-self:flex-start}
.blog-pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:48px;font-size:14px}
.blog-pagination button:disabled{opacity:.4;cursor:default}
.blog-empty{padding:50px 0}
.blog-article-header{max-width:1040px;padding-top:40px}
.blog-article-header .breadcrumb{font-size:14px;margin-bottom:36px}
.blog-article-header h1{font-size:clamp(36px,4.5vw,62px);line-height:1.12;max-width:950px;overflow-wrap:anywhere}
.blog-byline{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;margin:24px 0;color:var(--muted)}
.blog-byline>span:first-child{font-weight:700;color:var(--navy)}
.blog-updated{font-size:13px;margin-top:-12px}
.blog-article-header .lead{font-size:20px;max-width:900px;margin-bottom:36px}
.blog-cover{border-radius:20px;overflow:hidden;background:var(--fog)}
.blog-cover img{display:block;width:100%;max-height:560px;height:auto;object-fit:cover}
.blog-prose,.blog-article-footer{max-width:800px;margin:56px auto;padding:0 24px;overflow-wrap:anywhere}
.blog-prose{color:var(--ink);font-size:18px;line-height:1.85}
.blog-prose p,.blog-prose li{font-size:inherit;line-height:inherit;color:inherit}
.blog-prose p{margin:0 0 24px}
.blog-prose h2{font-size:32px;line-height:1.2;margin:48px 0 22px}
.blog-prose h3{font-size:25px;line-height:1.3;margin:36px 0 18px}
.blog-prose h4,.blog-prose h5,.blog-prose h6{font-size:21px;margin:28px 0 16px}
.blog-prose ul,.blog-prose ol{padding-left:26px;margin:24px 0}
.blog-prose li{margin:10px 0}
.blog-prose a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.blog-prose img{display:block;max-width:100%;height:auto;margin:32px auto;border-radius:12px}
.blog-prose figure{margin:32px 0}
.blog-prose figcaption{font-size:14px;color:var(--muted);text-align:center}
.blog-prose blockquote{border-left:4px solid var(--blue);padding:16px 24px;margin:32px 0;background:var(--fog)}
.blog-prose hr{border:0;border-top:1px solid var(--line);margin:40px 0}
.blog-table-scroll{overflow-x:auto;margin:32px 0;border:1px solid var(--line);border-radius:12px;max-width:100%;scrollbar-width:thin}
.blog-prose table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px;line-height:1.6}
.blog-prose td,.blog-prose th{padding:16px;border:1px solid var(--line);vertical-align:top}
.blog-prose tr:first-child{background:var(--fog)}
.blog-prose td p,.blog-prose th p{margin:0}
.blog-prose pre{overflow:auto;padding:20px;background:var(--fog)}
.blog-article-footer{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding-top:28px;border-top:1px solid var(--line);font-size:14px}
.blog-article-footer p{margin:0}
.blog-related{padding-top:24px}
[hidden]{display:none!important}
@media(max-width:1100px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.blog-library-heading{align-items:stretch;flex-direction:column;gap:24px}.blog-search{grid-template-columns:minmax(0,1fr) auto}.blog-grid{grid-template-columns:1fr;gap:28px}.blog-card-copy{padding:24px}.blog-card h2{font-size:25px}.blog-article-header{padding-top:24px}.blog-article-header .breadcrumb{margin-bottom:24px}.blog-article-header .lead{font-size:18px}.blog-byline{font-size:12px;gap:8px 16px}.blog-prose{font-size:17px;margin-top:36px}.blog-prose h2{font-size:28px}.blog-prose h3{font-size:23px}.blog-cover{border-radius:12px}.blog-pagination{gap:14px}.blog-pagination button{padding:10px 14px}.blog-related .section-heading{gap:20px}}
@media(prefers-reduced-motion:reduce){.blog-card-image img{transition:none}}
