@font-face{font-family:Barlow Condensed;src:url('../fonts/barlow-condensed-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Barlow Condensed;src:url('../fonts/barlow-condensed-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/manrope-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/manrope-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/manrope-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/manrope-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
/* Stand-ins while the two families load (phones on a slow network see them longest): a system sans scaled to the same
   widths and line metrics, so headings and paragraphs keep their line breaks when the real font swaps in. */
@font-face{font-family:'BL Display Fallback';src:local('Arial Bold'),local('Arial-BoldMT'),local('Helvetica Bold'),local('Helvetica-Bold'),local('Roboto Bold'),local('Roboto-Bold'),local('Liberation Sans Bold'),local('LiberationSans-Bold');font-weight:600 700;size-adjust:72%;ascent-override:139%;descent-override:28%;line-gap-override:0%}
@font-face{font-family:'BL Text Fallback';src:local('Arial'),local('ArialMT'),local('Helvetica'),local('Roboto'),local('Roboto-Regular'),local('Liberation Sans'),local('LiberationSans');font-weight:400;size-adjust:102%;ascent-override:104.5%;descent-override:29.4%;line-gap-override:0%}
@font-face{font-family:'BL Text Fallback';src:local('Arial Bold'),local('Arial-BoldMT'),local('Helvetica Bold'),local('Helvetica-Bold'),local('Roboto Bold'),local('Roboto-Bold'),local('Liberation Sans Bold'),local('LiberationSans-Bold');font-weight:500 700;size-adjust:100%;ascent-override:106.6%;descent-override:30%;line-gap-override:0%}
.bl-site{--ink:#081c2b;--blue:#215bdb;--paper:#f1f2ed;--white:#fff;--muted:#56616b;--line:#cdd1ce;--display:'Barlow Condensed','BL Display Fallback','Arial Narrow',sans-serif;--sans:Manrope,'BL Text Fallback',Arial,sans-serif;
  /* 2560-first fluid scale: each token reaches its max at 2560px and keeps a readable floor on laptops. */
  --fs-micro:clamp(11px,.47vw,12px);--fs-label:clamp(12px,.55vw,14px);--fs-small:clamp(13.5px,.66vw,17px);--fs-body:clamp(15px,.74vw,19px);--fs-lead:clamp(17px,.9vw,23px);
  --fs-h5:clamp(22px,1.2vw,31px);--fs-h4:clamp(28px,1.6vw,41px);--fs-h3:clamp(36px,2.1vw,54px);--fs-h2:clamp(48px,3vw,78px);--fs-display:clamp(64px,5.9vw,152px);--fs-hero:clamp(84px,8.4vw,216px);
  --sp-section:clamp(72px,5vw,128px);--sp-block:clamp(40px,2.6vw,68px);--gutter:clamp(24px,4.2vw,108px);--frame-width:2240px;--header-height:clamp(83px,4.2vw,108px);
  margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.65;-webkit-font-smoothing:antialiased}
/* Phones: a shorter header, and no caption or label below 12px, no running text below 14px. */
@media(max-width:800px){.bl-site{--header-height:73px}}
@media(min-width:801px) and (max-width:1000px) and (max-height:500px){.bl-site{--header-height:64px}}
/* Phones turned sideways: every width keeps the slimmer header (header and contact bar together leave the page two
   thirds of a short screen), captions keep the 12px floor of phones held upright, and with viewport-fit=cover the
   gutters clear the notch and rounded corners on either side. */
@media (max-width:1000px) and (max-height:500px){.bl-site{--header-height:64px;--fs-micro:12px;--gutter:max(clamp(24px,4.2vw,108px),calc(env(safe-area-inset-left,0px) + 8px),calc(env(safe-area-inset-right,0px) + 8px))}}
/* Phones also share one type scale (page title, section heading, card title) and two section rhythms: --m-sec between
   sections, --m-sec-tight where two sections of the same ground meet. */
@media(max-width:600px){.bl-site{--header-height:60px;--fs-micro:12px;--fs-label:13px;--fs-small:14px;--m-h1:clamp(48px,14vw,60px);--m-h2:clamp(38px,11vw,46px);--m-h3:28px;--m-sec:56px;--m-sec-tight:40px}}
.bl-site *,.bl-site *::before,.bl-site *::after{box-sizing:border-box}
.bl-site ::selection{background:var(--blue);color:white}
.bl-site [hidden]{display:none!important}
.bl-site h1,.bl-site h2,.bl-site h3,.bl-site p{margin:0}
.bl-site a{color:inherit;text-decoration:none}
.bl-site button,.bl-site input,.bl-site textarea{font:inherit}
.bl-site button{cursor:pointer;color:inherit}
.bl-site button:disabled{cursor:wait;opacity:.55}
.bl-site a,.bl-site button,.bl-site summary{-webkit-tap-highlight-color:transparent}
.bl-site button{background:none;border:0;padding:0}
.bl-site img{display:block;max-width:100%;height:auto}
.bl-site ul{margin:0;padding:0;list-style:none}
.bl-site :focus-visible{outline:3px solid #efaa49;outline-offset:5px}
.bl-site [data-swipe-row]:focus-visible{outline-offset:2px}
.bl-site section[id]{scroll-margin-top:clamp(67px,calc(51.6px + 2.25vw),109px)}
.bl-site .bl-shell{padding-left:var(--gutter);padding-right:var(--gutter);max-width:var(--frame-width);margin-inline:auto}
.bl-site .bl-icon{display:inline-block;width:clamp(20px,1vw,26px);height:clamp(20px,1vw,26px);flex-shrink:0;vertical-align:middle}
.bl-site .bl-eyebrow{font-size:var(--fs-label);font-weight:700;line-height:1.4;letter-spacing:1.4px;text-transform:uppercase}
.bl-site .bl-display{font-family:var(--display);font-weight:700;font-size:var(--fs-display);line-height:.88;letter-spacing:-1.8px}
.bl-site .bl-period,.bl-site .bl-blue-text{color:var(--blue)}
.bl-site .bl-rule{width:36px;height:1px;background:currentColor;display:inline-block;margin-left:18px;vertical-align:middle}
.bl-site .bl-button{min-height:clamp(54px,2.7vw,70px);display:inline-flex;align-items:center;justify-content:space-between;gap:clamp(22px,calc(17.2px + 0.75vw),36px);padding:15px clamp(23px,1.2vw,32px);font-size:var(--fs-small);font-weight:700;line-height:1.4;border:1px solid transparent;transition:background .2s,color .2s,border-color .2s;position:relative}
.bl-site .bl-button .bl-icon{width:21px;height:21px;transition:transform .25s}
@media(hover:hover){.bl-site .bl-button:hover .bl-icon{transform:translate(3px,-3px)}}
.bl-site .bl-button-blue{color:white;background:var(--blue)}
@media(hover:hover){.bl-site .bl-button-blue:hover{background:#1746ad}}
.bl-site .bl-button-blue .bl-icon{filter:invert(1)}
.bl-site .bl-button-outline{color:white;border-color:#6f7c86}
.bl-site .bl-button-outline .bl-icon{filter:invert(1)}
@media(hover:hover){.bl-site .bl-button-outline:hover{background:white;color:var(--ink);border-color:white}}
@media(hover:hover){.bl-site .bl-button-outline:hover .bl-icon{filter:none}}
.bl-site .bl-text-link{display:inline-flex;align-items:center;gap:20px;font-size:var(--fs-small);font-weight:700;padding-bottom:7px;border-bottom:1px solid currentColor;line-height:1.3}
.bl-site .bl-text-link .bl-icon{width:18px;height:18px;transition:transform .2s}
@media(hover:hover){.bl-site .bl-text-link:hover .bl-icon{transform:translate(3px,-3px)}}
.bl-site .bl-circle-button{display:flex;align-items:center;justify-content:center;width:clamp(52px,2.6vw,66px);height:clamp(52px,2.6vw,66px);border:1px solid currentColor;border-radius:50%;transition:background .2s,color .2s,transform .2s;flex-shrink:0}
@media(hover:hover){.bl-site .bl-circle-button:hover{background:var(--blue);border-color:var(--blue);color:white;transform:rotate(5deg)}}
@media(hover:hover){.bl-site .bl-circle-button:hover .bl-icon{filter:invert(1)}}
.bl-site .bl-skip{position:fixed;left:24px;top:-90px;z-index:100;padding:12px 20px;background:white;color:var(--ink)}
.bl-site .bl-skip:focus{top:12px}
.bl-site .bl-status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#739dff;margin-right:10px;vertical-align:middle}
.bl-site .bl-section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(24px,calc(18.4px + 0.80vw),39px)}
.bl-site .bl-section-top .bl-eyebrow{margin-bottom:22px}
.bl-site .bl-section-description{font-size:var(--fs-body);line-height:1.8;max-width:clamp(280px,18vw,460px)}
.bl-site.bl-motion .bl-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.6,.2,1)}
.bl-site.bl-motion .bl-reveal.bl-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .bl-site *,.bl-site *::before,.bl-site *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .bl-site.bl-motion .bl-reveal{opacity:1;transform:none}
}
/* Phones: headings balance their lines, and a button takes the full width unless it shares a row. */
@media(max-width:600px){
  .bl-site :is(h1,h2,h3,.bl-display,.bl-news-item-title){text-wrap:balance}
  .bl-site .bl-button{width:100%}
  .bl-site :is(.bl-hero-action,.bl-review-actions) .bl-button{width:auto}
}
/* Touch screens: no hover to lean on, so a tap answers at once (buttons press in, cards and links dim). */
@media(hover:none){
  .bl-site .bl-button{transition:background .2s,color .2s,border-color .2s,transform .12s,filter .12s}
  .bl-site .bl-button:active{transform:scale(.97);filter:brightness(.86)}
  .bl-site .bl-button-outline:active{background:#ffffff1f}
  .bl-site .bl-circle-button:active{transform:scale(.92)}
  .bl-site .bl-nav-direct a:active{background:#173346}
  .bl-site :is(.bl-text-link,.bl-contact-email,.bl-nav>a,.bl-nav-panel a,.bl-footer-links a,.bl-footer-bottom>a,.bl-breadcrumbs a,.bl-search-result a,.bl-news-card h2 a,.bl-news-card h3 a):active{opacity:.6}
  .bl-site :is(.bl-range-visual,.bl-application-tile,.bl-product-card-image,.bl-news-card-image,.bl-site-panel a,.bl-lang-panel a):active{opacity:.85}
  .bl-site :is(.bl-text-link,.bl-nav>a,.bl-nav-panel a,.bl-footer-links a,.bl-range-visual,.bl-application-tile,.bl-product-card-image,.bl-news-card-image){transition:opacity .12s}
}
