/* Blog-only components. Shared header and footer are preserved. */
.blog-index-page{background:#f5f8fa;color:#102b45}
.blog-index-page [hidden]{display:none!important}
.blog-index-page .skip-link{position:fixed;top:-80px;left:16px;z-index:1000;padding:12px 18px;background:#fff;color:#06284a;border-radius:6px;font-weight:700}
.blog-index-page .skip-link:focus{top:12px}
.blog-index-page :where(a,button,input,select):focus-visible{outline:3px solid #00868c;outline-offset:4px}
.blog-index-main{padding-bottom:72px}
.blog-index-main *{box-sizing:border-box}
.blog-index-main :where(button,input,select){font:inherit}
.blog-index-container,.blog-breadcrumb{width:min(1120px,calc(100% - 64px));margin-inline:auto}
.blog-breadcrumb{padding-top:24px;font-size:13px;color:#53677a}
.blog-breadcrumb ol{display:flex;gap:12px;margin:0;padding:0;list-style:none}
.blog-breadcrumb a{color:inherit;text-underline-offset:3px}
.blog-breadcrumb li+li::before{content:'›';margin-right:12px;color:#65798a}
.blog-index-hero{padding:38px 0 34px}
.blog-index-kicker{display:flex;align-items:center;gap:10px;margin:0 0 17px;color:#096d76;font-size:14px;font-weight:700;letter-spacing:.03em}
.blog-index-kicker::before{content:'';height:2px;width:26px;background:#0b8389}
.blog-index-hero h1{margin:0;font-size:clamp(30px,3.3vw,43px);font-weight:800;line-height:1.5;letter-spacing:.01em;color:#0a2947}
.blog-index-hero h1 span{display:inline-block}
.blog-index-intro{max-width:930px;margin:20px 0 0;color:#405a6d;font-size:15px;line-height:1.95}
.blog-index-intro span{display:inline-block}
.blog-finder{border:1px solid #d6e2e7;background:#fff;border-radius:14px;padding:26px 30px;box-shadow:0 8px 30px #183d5510}
.blog-finder-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.blog-finder h2{font-size:18px;font-weight:700;margin:0;line-height:1.5}
.blog-reset{padding:3px 0;border:0;background:none;color:#096b76;font-size:13px!important;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.blog-search{display:flex;gap:12px;margin:0}
.blog-search-field{position:relative;display:flex;align-items:center;flex:1;min-width:0}
.blog-search-field svg{position:absolute;left:17px;width:21px;height:21px;stroke:#667b88;stroke-width:1.8;pointer-events:none}
.blog-search-field input{width:100%;min-width:0;height:54px;padding:12px 42px 12px 49px;border:1px solid #b5c9d2;border-radius:7px;background:#fff;color:#163448;font-size:16px}
.blog-search-field input::placeholder{color:#647886;opacity:1}
.blog-search-field input::-webkit-search-cancel-button{display:none}
.blog-query-clear{position:absolute;right:4px;width:36px;height:42px;border:0;background:transparent;color:#415d6f;font-size:25px!important;cursor:pointer}
.blog-search-submit{min-width:140px;min-height:54px;padding:12px 24px;border:1px solid #08717b;border-radius:7px;background:#08717b;color:#fff;font-weight:700!important;cursor:pointer}
.blog-search-submit:hover{background:#075b65}
.blog-filter-row{display:flex;align-items:baseline;gap:20px;padding-top:22px}
.blog-filter-label{min-width:50px;flex-shrink:0;font-size:13px;color:#53677a;font-weight:700}
.blog-topics{display:flex;flex-wrap:wrap;gap:8px}
.blog-topic{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;min-height:40px;border:1px solid #d5e1e7;border-radius:6px;color:#304d62;background:#fff;font-size:13px!important;line-height:1.5;cursor:pointer}
.blog-topic span{font-size:11px;color:#58707d;font-variant-numeric:tabular-nums}
.blog-topic:hover{border-color:#0b7d85;background:#f1f9f9}
.blog-topic[aria-pressed=true]{background:#e4f3f3;border-color:#0b7d85;color:#075b65;font-weight:700;box-shadow:inset 0 0 0 1px #0b7d85}
.blog-topic[aria-pressed=true] span{color:#075b65}
.blog-industry-row select{min-height:42px;border:1px solid #b5c9d2;border-radius:6px;padding:8px 32px 8px 12px;background:#fff;color:#304d62}
.blog-index-list{padding:38px 0 0}
.blog-results-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:23px}
.blog-results-label{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.blog-results-label h2{margin:0;color:#102b45;font-size:23px;line-height:1.5;letter-spacing:.04em}
.blog-results-label h2:focus{outline:none}
.blog-index-main [id]{scroll-margin-top:110px}
.blog-results-label p{margin:0;font-size:13px;color:#53677a}
.blog-sort{display:flex;align-items:center;gap:10px;font-size:13px;color:#53677a}
.blog-sort select{padding:8px 30px 8px 10px;min-height:40px;border:1px solid #d3dfe5;border-radius:6px;color:#304d62;background:#fff;font-size:13px}
.blog-search-summary{margin:-6px 0 20px;font-size:14px;color:#405a6d;overflow-wrap:anywhere}
.blog-card-description span{display:inline-block;max-width:100%}
.blog-card-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 24px}
.blog-card{min-width:0;margin:0;border:1px solid #dbe5e9;border-radius:12px;overflow:hidden;background:#fff;transition:box-shadow .18s,transform .18s}
.blog-card:hover{box-shadow:0 10px 30px #193d5414;transform:translateY(-3px)}
.blog-card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.blog-card-link:focus-visible{outline-offset:-4px}
.blog-card-image{width:100%;aspect-ratio:16/9;height:auto;display:block;object-fit:cover;object-position:center;background:#e1e9ee}
.blog-card-body{display:flex;flex-direction:column;flex:1;padding:20px}
.blog-card-category{margin:0 0 10px;color:#086b73;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.03em}
.blog-card h3{margin:0;color:#102b45;font-size:18px;line-height:1.65;font-weight:750;text-wrap:pretty;overflow-wrap:anywhere}
.blog-card h3 span{display:inline-block}
.blog-card-description{color:#506777;margin:12px 0 18px;font-size:13px;line-height:1.85;text-wrap:pretty}
.blog-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:auto 0 0;padding-top:12px;border-top:1px solid #e7eef1;font-size:12px;line-height:1.7;color:#566d7d}
.blog-card-arrow{color:#08717b;font-size:20px}
.blog-pagination{display:flex;justify-content:center;flex-wrap:wrap;align-items:center;gap:8px;margin:34px 0 0}
.blog-pagination:empty{display:none}
.blog-pagination :where(a,span){min-width:42px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:6px;font-size:14px}
.blog-pagination a{border:1px solid #cbdbe2;background:#fff;color:#163b50;text-decoration:none}
.blog-pagination a:hover{border-color:#08717b}
.blog-pagination [aria-current=page]{background:#08717b;color:#fff;font-weight:700}
.blog-empty{text-align:center;padding:44px 20px;border:1px dashed #bed0d9;background:#fff;border-radius:12px}
.blog-empty h3{font-size:21px;margin:0 0 14px}
.blog-empty p{font-size:14px;color:#506777;line-height:1.9}
.blog-empty button{background:#08717b;color:#fff;border:0;border-radius:6px;padding:12px 20px;cursor:pointer;margin-top:12px}
.blog-consult{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:52px;padding:30px 34px;border:1px solid #cbdee4;border-left:4px solid #08717b;border-radius:10px;background:#edf5f6}
.blog-consult-label{margin:0 0 9px;font-size:12px;font-weight:700;color:#086b73}
.blog-consult h2{margin:0;font-size:20px;line-height:1.6}
.blog-consult h2 span{display:inline-block}
.blog-consult h2+p{margin:12px 0 0;color:#506777;font-size:13px;line-height:1.9}
.blog-consult-link{display:flex;align-items:center;justify-content:center;gap:16px;flex-shrink:0;padding:16px 20px;border:1px solid #08717b;border-radius:7px;background:#fff;color:#08626c;font-size:14px;line-height:1.6;font-weight:700;text-decoration:none}
.blog-consult-link:hover{background:#e0f0f0}
.blog-noscript{color:#506777;font-size:14px}
@media(min-width:1500px){.blog-index-container,.blog-breadcrumb{width:min(1200px,calc(100% - 80px))}}
@media(max-width:1000px){.blog-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-consult{align-items:flex-start;flex-direction:column;gap:22px}}
@media(max-width:600px){
.blog-index-container,.blog-breadcrumb{width:calc(100% - 36px)}
.blog-index-main{padding-bottom:38px}
.blog-breadcrumb{padding-top:18px;font-size:12px}
.blog-index-hero{padding:28px 0 26px}
.blog-index-kicker{font-size:11px;gap:8px;margin-bottom:15px}
.blog-index-kicker::before{width:16px}
.blog-index-hero h1{font-size:clamp(22px,5.94vw,30px);line-height:1.6;letter-spacing:0}
.blog-index-hero h1 span{display:block}
.blog-index-intro{font-size:14px;line-height:1.9;margin-top:16px}
.blog-index-intro span{display:block}.blog-index-intro br{display:none}
.blog-index-intro .blog-intro-unit{display:inline-block}
.blog-finder{padding:20px 16px;border-radius:10px}
.blog-finder-heading{margin-bottom:15px}.blog-finder h2{font-size:16px}
.blog-search{gap:8px}
.blog-search-field input{height:48px;padding-left:12px;font-size:16px}
.blog-search-field input::placeholder{font-size:12px}.blog-search-field svg{display:none}
.blog-search-submit{min-width:68px;min-height:48px;padding:10px;font-size:13px!important}
.blog-filter-row{gap:10px;padding-top:18px;align-items:flex-start;flex-direction:column}
.blog-topics{gap:7px}.blog-topic{padding:8px 10px;min-height:40px;font-size:12px!important;gap:6px}
.blog-index-list{padding-top:28px}
.blog-results-heading{gap:13px;margin-bottom:18px}
.blog-results-label{gap:12px}.blog-results-label h2{font-size:21px}
.blog-sort label{display:none}.blog-sort select{font-size:12px;max-width:144px}
.blog-card-list{grid-template-columns:minmax(0,1fr);gap:14px}
.blog-card{border-radius:9px}
.blog-card-link{display:grid;grid-template-columns:92px minmax(0,1fr);padding:16px 13px;gap:13px;align-items:start}
.blog-card-image{width:92px;height:92px;aspect-ratio:1;border-radius:6px}
.blog-card-body{padding:0;min-width:0}
.blog-card-category{font-size:11px;margin-bottom:7px}
.blog-card h3{font-size:15px;line-height:1.75}
.blog-card-description{display:none}
.blog-card-meta{border:0;padding-top:10px;font-size:11px}
.blog-card-arrow{font-size:18px}
.blog-consult{padding:23px 20px;margin-top:32px;gap:20px}
.blog-consult h2{font-size:17px}.blog-consult h2 span{display:block}
.blog-consult h2+p{font-size:13px}
.blog-consult-link{width:100%;padding:13px 12px;font-size:13px}
.blog-pagination{gap:5px}.blog-pagination :where(a,span){min-width:36px;padding:8px}
}
@media(prefers-reduced-motion:reduce){.blog-card{transition:none}.blog-card:hover{transform:none}}
