/*
 * Editorial blog family. Existing font/CTA/container/chrome tokens remain authoritative.
 * Advanced treatment uses asymmetric editorial scale, an inset feature, ruled picks,
 * inset image frames, and precise interaction states. Images never zoom on hover.
 * Native search/select controls reflow instead of becoming horizontal mobile menus.
 * Passive feature scan is visibility-gated by the shared industries.js lifecycle.
 */
.blog-page [hidden]{display:none!important}
.bl-library,.bl-library h2,.bl-card{scroll-margin-top:110px}
.blog-page{--bl-line:#bfd8df;--bl-body:var(--body-text);--bl-accent:#159ba5;--bl-navy:#072b40;background:#fff}
.blog-page [hidden]{display:none!important}
.blog-page :is(a,button,input,select):focus-visible{outline:2px solid #0ba1b5;outline-offset:5px}
.blog-page main p{color:var(--bl-body);font-size:1rem;line-height:1.75}
.blog-page section[id]{scroll-margin-top:100px}
/* Shared breadcrumbs, eyebrows, links, and contact type inherit industries.css.
 * A light surface changes breadcrumb ink only, never its scale or breakpoints. */
.blog-page .ip-breadcrumb{color:var(--bl-body)}
.blog-page .ip-breadcrumb a:is(:hover,:focus-visible){color:var(--link-hover)}
.blog-page .primary-nav>a[aria-current=page]{color:#078ca6}
.bl-masthead{position:relative;background:linear-gradient(115deg,#f4f9fa 15%,#e6f3f5);padding:0 0 85px}
.bl-masthead-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:7%;align-items:end;padding:20px 0 38px}
.bl-masthead h1{font-size:clamp(3.4rem,5.2vw,5.85rem);line-height:1.06;letter-spacing:-.065em;margin:0}
.bl-masthead h1 em{color:#149da5;font-style:normal}
.bl-masthead-copy>p{margin:0 0 25px;max-width:430px}
.bl-masthead-copy>.ip-inline-link{padding-bottom:12px;border-color:#9ccbd2}
.bl-editorial-rule{height:1px;background:#b9d5dd;position:relative}
.bl-editorial-rule>span{position:absolute;right:0;top:13px;font-size:.75rem;font-weight:650;letter-spacing:.1em;color:#497c8a}
.bl-editorial-rule>i{display:block;width:60px;height:3px;background:#35c2c5;position:relative;top:-1px}
.bl-editorial{position:relative;margin-top:-32px;z-index:1}
.bl-feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);background:#082c40;border:1px solid #214b5d;isolation:isolate}
.bl-feature-image{display:block;position:relative;min-height:465px;overflow:hidden;background:#0d3448}
.bl-feature-image>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;filter:saturate(.85)}
.bl-feature-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#041d30b8,transparent 55%)}
.bl-feature-image .image-corners{inset:22px;opacity:.75}
.bl-image-caption{position:absolute;z-index:2;bottom:38px;left:39px;right:32px;color:#b8e5e6;font-size:.75rem;font-weight:700;letter-spacing:.12em}
.bl-feature-scan{position:absolute;inset:0 auto 0 -20%;width:20%;background:linear-gradient(90deg,transparent,#92eee711,transparent);border-right:1px solid #87dfdc2a;z-index:1;pointer-events:none;animation:bl-scan 14s linear infinite;animation-play-state:paused}
.bl-feature.ip-animation-active .bl-feature-scan{animation-play-state:running}
@keyframes bl-scan{55%,100%{left:120%}}
.bl-feature-copy{padding:38px clamp(28px,3.3vw,57px);display:flex;flex-direction:column;justify-content:center;min-width:0}
.bl-feature-meta{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;color:#aacbd7;font-size:.875rem;line-height:1.5;padding-bottom:21px;border-bottom:1px solid #47717f70;margin-bottom:23px}
.bl-feature-meta>span:not(.ip-label){color:#75ddd9;font-weight:600}
.bl-feature-topic{font-size:.875rem;color:#8bb6c4;margin-bottom:14px}
.bl-feature h2{font-size:clamp(1.85rem,2.65vw,3rem);line-height:1.2;letter-spacing:-.045em;color:#fff;margin:0 0 22px}
.bl-feature h2 a{color:inherit;text-decoration-thickness:1px;text-underline-offset:6px}
.bl-feature h2 a:hover{text-decoration:underline;text-decoration-color:#72d6d3}
.blog-page .bl-feature p{color:var(--body-text-on-dark);line-height:1.7;margin:0 0 25px}
.bl-feature-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#a4c8d3;font-size:.875rem}
.bl-feature-bottom .ip-inline-link{color:#80e0da;border-color:#527f8b;gap:16px}
.bl-picks{display:grid;grid-template-columns:.7fr repeat(3,minmax(0,1fr));border:1px solid var(--bl-line);border-top:0;background:#f3f8f9}
.bl-picks-label{padding:28px 23px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--bl-line)}
.bl-picks-label .ip-label{margin-bottom:10px}
.bl-picks-label>span:last-child{font:650 1.3rem/1.35 var(--font-display);letter-spacing:-.03em}
.bl-pick{position:relative;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:28px 45px 28px 27px;border-right:1px solid var(--bl-line);transition:background .2s}
.bl-pick:last-child{border-right:0}
.bl-pick>span:first-child{color:#338394;font-size:.8125rem;line-height:1.4}
.bl-pick>strong{font:650 1.0625rem/1.5 var(--font-display);letter-spacing:-.025em}
.bl-pick>.ms-icon{position:absolute;right:17px;top:28px;font-size:19px;color:#159ba5;transition:transform .2s}
.bl-pick:hover,.bl-pick:focus-visible{background:#e4f1f3}
.bl-pick:hover>.ms-icon{transform:translate(2px,-2px)}
.bl-library{padding-top:90px}
.bl-library-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:12%;align-items:end;margin-bottom:38px}
.bl-library-heading h2{font-size:clamp(2.1rem,3.1vw,3.6rem);margin:0;letter-spacing:-.055em}
.bl-library-heading .ip-label{margin-bottom:15px}
.bl-library-heading>p{margin:0;max-width:480px}
.bl-finder{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr) minmax(0,.85fr) auto;gap:18px;align-items:end;padding:26px;background:#edf6f7;border:1px solid var(--bl-line)}
.bl-finder>div{min-width:0}
.bl-finder label{display:block;font-size:.875rem;font-weight:650;color:#315e71;margin-bottom:10px}
.bl-finder :is(input,select){display:block;min-width:0;width:100%;height:54px;border:1px solid #a6c6d0;background:#fff;color:#143f54;border-radius:0;padding:0 13px;font:400 1rem var(--font-body);box-shadow:none}
.bl-finder input::placeholder{color:#6a818a;opacity:1}
.bl-finder input:hover,.bl-finder select:hover{border-color:#1a96aa}
.bl-finder input:focus,.bl-finder select:focus{border-color:#139bb0;outline:2px solid #71cbd077;outline-offset:1px}
.bl-submit{min-height:54px;height:auto;font-size:.875rem!important;min-width:150px;border:0}
.bl-submit .motion-cta-copy>span{padding-inline:18px}
.bl-submit .motion-cta-icon{width:48px}
.bl-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:18px 0 0}
.bl-filter-chip{border:1px solid #a5cfd6;background:#e5f3f4;padding:7px 11px;color:#245d70;display:inline-flex;gap:15px;align-items:center;font-size:.875rem;cursor:pointer;overflow-wrap:anywhere;max-width:100%;text-align:left}
.bl-filter-chip:hover{background:#d4eced}
.bl-filter-chip>span{font-size:1.2rem;line-height:1}
.bl-clear{font-size:.875rem;padding:8px 3px;text-decoration:underline;text-underline-offset:4px;color:#147c91}
.bl-results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0 24px}
.bl-results-toolbar>p{font-size:.9375rem;margin:0;color:#527789}
.bl-sort{display:flex;align-items:center;gap:10px;flex-shrink:0}
.bl-sort label{font-size:.875rem;color:#557583}
.bl-sort select{font:600 .9375rem var(--font-body);color:#1b5268;border:0;background:#fff;min-height:36px;max-width:100%;padding:7px 18px 7px 4px;border-bottom:1px solid #aecdd6;border-radius:0}
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 27px;align-items:stretch}
.bl-card{min-width:0;border:1px solid var(--bl-line);background:#fff;position:relative;transition:border-color .2s,background .2s}
.bl-card:after{content:'';position:absolute;inset:0 auto auto 0;width:0;height:3px;background:#26babe;transition:width .25s;pointer-events:none}
.bl-card:hover,.bl-card:focus-within{border-color:#56aebb;background:#f9fcfc}
.bl-card:hover:after,.bl-card:focus-within:after{width:100%}
.bl-card-link{display:flex;flex-direction:column;height:100%;padding:11px}
.bl-card-link:focus-visible{outline-offset:0}
.bl-card-media{position:relative;aspect-ratio:16/9;background:#123e54;overflow:hidden}
.bl-card-media>img{height:100%;width:100%;object-fit:cover;filter:saturate(.82)}
.bl-card-image-rule{position:absolute;inset:auto 13px 13px;display:block;height:1px;background:#8fdce761;pointer-events:none}
.bl-card-body{display:flex;flex-direction:column;flex:1;padding:23px 15px 15px}
.bl-card-meta{display:flex;gap:8px 13px;justify-content:space-between;align-items:baseline;flex-wrap:wrap;margin-bottom:16px;font-size:.8125rem;line-height:1.5;color:#607d89}
.bl-card-meta>span{font-weight:650;color:#137e94}
.bl-card h3{font:650 clamp(1.2rem,1.65vw,1.5rem)/1.4 var(--font-display);letter-spacing:-.035em;margin:0 0 16px;color:#0a344a;overflow-wrap:anywhere}
.bl-card-body>p{font-size:1rem;line-height:1.75;margin:0 0 25px;color:var(--body-text)}
.bl-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #d0e2e7;padding-top:18px;margin-top:auto;color:#567b8a;font-size:.8125rem}
.bl-read{display:inline-flex;gap:10px;align-items:center;color:#107d94;font-weight:650;font-size:.875rem}
.bl-read>.ms-icon{font-size:20px;transition:transform .2s}
.bl-card:hover .bl-read>.ms-icon{transform:translate(2px,-2px)}
.bl-card.bl-added{animation:bl-enter .3s both}
@keyframes bl-enter{from{opacity:0}to{opacity:1}}
.bl-empty{border:1px solid var(--bl-line);padding:clamp(35px,5vw,70px);background:#f3f8f9;max-width:100%;text-align:center}
.bl-empty-mark{display:inline-block;color:#159ba5;font:400 2rem var(--font-display);margin-bottom:15px}
.bl-empty h3{font-size:clamp(1.5rem,2.5vw,2.25rem);margin:0 0 18px}
.bl-empty p{max-width:490px;margin:0 auto 25px}
.bl-empty .ip-inline-link{display:inline-flex}
.bl-continuation{margin-top:38px}
.bl-progress{height:2px;background:#d5e7eb}
.bl-progress>i{display:block;height:100%;background:#29b7bc;transition:width .3s}
.bl-load-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 0}
.bl-load-row>p{font-size:.9375rem;color:#507586;margin:0}
.bl-load-more{font-size:.9375rem!important;min-height:54px}
.bl-load-more .motion-cta-copy>span{padding-inline:23px}
.bl-load-more .motion-cta-icon{width:54px}
.bl-pagination{display:flex;justify-content:center;align-items:center;gap:8px;border-top:1px solid #d5e7eb;padding-top:23px;flex-wrap:wrap}
.bl-pagination>a{min-width:42px;min-height:42px;padding:9px 13px;display:grid;place-items:center;border:1px solid #b6d4db;color:#315f71;font-size:.9375rem;transition:background .2s,border-color .2s}
.bl-pagination>a:hover{background:#e8f4f5;border-color:#22a7b1}
.bl-pagination>a[aria-current=page]{background:#0d3e54;color:#fff;border-color:#0d3e54}
.bl-page-intro{padding-top:50px}
.bl-page-intro h1{font-size:clamp(2.6rem,4.4vw,4.6rem);margin:0 0 25px}
.bl-page-intro em{color:#169da5}
.bl-noscript{font-size:.875rem!important;background:#edf7f8;padding:20px}
.blog-page .ip-contact{padding:80px 0}
.blog-page .ip-contact h2{max-width:820px}
.blog-page main .ip-contact p{color:var(--body-text-on-dark);max-width:720px}
.blog-page .contact-mark{right:7%;opacity:.85}
.blog-page.bl-filtered .bl-editorial{display:none}
.blog-page.bl-filtered .bl-masthead{padding-bottom:65px}
.blog-page.bl-filtered .bl-library{padding-top:65px}
@media(min-width:1800px){.bl-feature-image{min-height:520px}}
@media(max-width:1100px){
  .bl-masthead-grid{gap:5%;grid-template-columns:1.15fr .85fr}
  .bl-feature{grid-template-columns:1fr 1fr}
  .bl-feature h2{font-size:1.95rem}
  .bl-feature-copy{padding:30px}
  .bl-picks{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bl-picks-label{grid-column:1/-1;flex-direction:row;gap:30px;justify-content:start;padding:20px 25px;border-right:0;border-bottom:1px solid var(--bl-line)}
  .bl-picks-label .ip-label{margin:0}
  .bl-finder{grid-template-columns:1.3fr 1fr 1fr;gap:16px}
  .bl-finder>.bl-submit{grid-column:1/-1;justify-self:end}
  .bl-grid{gap:25px 18px}
  .bl-card-body{padding:20px 10px 13px}
}
@media(max-width:850px){
  .bl-masthead{padding-bottom:70px}
  .bl-masthead-grid{grid-template-columns:1fr;gap:25px;padding:12px 0 30px}
  .bl-masthead h1{font-size:clamp(3.2rem,7vw,4.4rem)}
  .bl-masthead-copy{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:end}
  .bl-masthead-copy>p{margin:0;max-width:100%}
  .bl-masthead-copy>.ip-inline-link{white-space:nowrap;margin-bottom:0}
  .bl-editorial-rule>span{font-size:.65rem}
  .bl-feature{grid-template-columns:1fr}
  .bl-feature-image{min-height:0;aspect-ratio:16/8}
  .bl-feature-copy{padding:35px}
  .bl-feature h2{font-size:2.15rem;max-width:650px}
  .bl-feature-bottom{flex-wrap:nowrap}
  .bl-pick{padding:23px 36px 23px 20px}
  .bl-pick>.ms-icon{right:12px;top:23px}
  .bl-library{padding-top:65px}
  .bl-library-heading{grid-template-columns:1fr;gap:24px;margin-bottom:30px}
  .bl-library-heading>p{max-width:600px}
  .bl-finder{grid-template-columns:1fr 1fr;padding:22px}
  .bl-search-field{grid-column:1/-1}
  .bl-finder>.bl-submit{width:100%;justify-content:space-between}
  .bl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}
  .bl-card h3{font-size:1.25rem}
  .blog-page .contact-mark{right:-160px}
}
@media(max-width:600px){
  .bl-masthead-grid{padding-top:7px;gap:23px}
  .bl-masthead h1{font-size:clamp(2.6rem,10vw,3.55rem)}
  .bl-masthead-copy{grid-template-columns:1fr;gap:20px}
  .bl-masthead-copy>.ip-inline-link{justify-self:start}
  .bl-editorial-rule>span{display:none}
  .bl-feature-image{aspect-ratio:16/10}
  .bl-feature-image .image-corners{inset:17px}
  .bl-image-caption{left:28px;bottom:27px;font-size:.65rem}
  .bl-feature-copy{padding:27px 23px}
  .bl-feature-meta{font-size:.8125rem;margin-bottom:20px;padding-bottom:17px}
  .bl-feature-topic{font-size:.8125rem}
  .bl-feature h2{font-size:1.75rem}
  .bl-feature-bottom{flex-wrap:wrap;gap:20px}
  .bl-feature-bottom .ip-inline-link{width:100%;justify-content:space-between}
  .bl-picks{grid-template-columns:1fr}
  .bl-picks-label{display:block;padding:21px 23px}
  .bl-picks-label>span:last-child{display:none}
  .bl-pick{border-right:0;border-bottom:1px solid var(--bl-line);padding:22px 47px 22px 23px;gap:8px}
  .bl-pick:last-child{border-bottom:0}
  .bl-pick>.ms-icon{right:21px}
  .bl-finder{padding:20px;gap:20px 14px}
  .bl-finder :is(input,select){font-size:1rem;height:52px;padding-inline:10px}
  .bl-finder select{width:100%;text-overflow:ellipsis}
  .bl-results-toolbar{align-items:start;padding:25px 0 22px;gap:12px}
  .bl-results-toolbar>p{font-size:.875rem}
  .bl-sort{display:block;text-align:right}
  .bl-sort label{display:block;font-size:.8125rem}
  .bl-sort select{font-size:.875rem;max-width:135px}
  .bl-grid{grid-template-columns:1fr;gap:26px}
  .bl-card-body{padding:23px 14px 15px}
  .bl-card h3{font-size:1.4rem}
  .bl-card-body>p{font-size:1rem}
  .bl-card-meta{font-size:.875rem}
  .bl-card-foot{font-size:.875rem}
  .bl-load-row{flex-direction:column;align-items:stretch;gap:20px}
  .bl-load-more{width:100%;justify-content:space-between}


}
@media(max-width:380px){.bl-finder{grid-template-columns:1fr}.bl-search-field,.bl-finder>.bl-submit{grid-column:auto}.bl-feature-copy{padding:25px 20px}.bl-feature h2{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){.bl-feature-scan{display:none}.blog-page :is(a,button,i,span,.bl-card){transition:none!important}.bl-card.bl-added{animation:none!important}}
.blog-page .bl-feature-bottom .ip-inline-link:is(:hover,:focus-visible){color:var(--link-hover-on-dark)}
.blog-page .primary-nav>a:is(:hover,:focus-visible){color:var(--link-hover)}
