/* Shared site chrome, accessibility, and deliberate card interactions. */
:root{color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#0b101b;color:#eef4fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.site-header{position:relative;z-index:25;background:#0b101b;border-bottom:1px solid #253247;width:100%}
.site-header__inner{max-width:1180px;margin:auto;min-height:80px;padding:18px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-header__brand{font:800 22px/1.2 Manrope,Inter,sans-serif;color:#eff6fb;text-decoration:none;letter-spacing:-.035em;white-space:nowrap}
.site-header__brand span{color:#81b5d1}
.site-header__nav{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(10px,2.5vw,28px)}
.site-header__nav a{font:600 14px/1.4 Inter,sans-serif;text-decoration:none;color:#c7d4df;white-space:nowrap}
.site-header__nav a:hover,.site-header__nav a:focus-visible,.site-header__nav a[aria-current=page]{color:#a4d3ef}
.site-footer{border-top:1px solid #263245;margin-top:30px;color:#8ba0b4;font:400 13px/1.5 Inter,sans-serif}
.site-footer__inner{max-width:1180px;margin:auto;padding:28px 30px}
a:focus-visible,button:focus-visible{outline:2px solid #81b5d1;outline-offset:3px}
/* Only image and title link signal interactivity. The outer card never moves. */
.cards .card, .cards .card:hover, .cards .card:focus-within{
  transform:none!important;transition:none!important;cursor:default!important;
  border-color:var(--line,#2c3a4a)!important;box-shadow:0 12px 28px #0004!important
}
.cards .card:focus-within{outline:0!important}
.cards .card-media-link{display:block;position:relative;overflow:hidden;line-height:0;cursor:pointer}
.cards .card-media-link::after{content:"";position:absolute;inset:0;pointer-events:none;background:rgba(255,255,255,0);transition:background-color .2s ease}
.cards .card-media-link:hover::after,.cards .card-media-link:focus-visible::after{background:rgba(255,255,255,.10)}
.cards .card-title-link,.cards .card-title-link--interactive{display:inline;position:relative;z-index:0;color:inherit;text-decoration:none;cursor:pointer}
.cards .card-title-link::after,.cards .card-title-link--interactive::after{
 content:""!important;position:absolute!important;inset:auto 0 -3px 0!important;z-index:0!important;
 width:100%!important;height:2px!important;background:#81b5d1!important;
 transform:scaleX(0)!important;transform-origin:left!important;transition:transform .2s ease!important
}
.cards .card-title-link:hover::after,.cards .card-title-link:focus-visible::after{transform:scaleX(1)!important}
.cards .card-shortcut,.cards .card-shortcut:hover{transform:none!important;transition:none!important}
.cards .coming-soon-card .card-media,.cards .card-media--unavailable{cursor:default!important}
/* Keep the media's approved fixed aspect ratio, including when wrapped in an anchor. */
.cards .card-media-link > .card-media{width:100%}
@media(max-width:650px){.site-header__inner{padding:17px 20px;flex-direction:column;gap:12px;min-height:0}.site-header__nav{justify-content:center;gap:12px 18px}.site-header__nav a{font-size:13px}.site-footer__inner{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cards .card-media-link::after,.cards .card-title-link::after{transition:none!important}}

/* Shared breadcrumb navigation across all overview and case-study pages. */
.site-breadcrumbs{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  width:100%; max-width:1180px; margin:0 auto;
  padding:35px 30px 0; color:#a4b4c4;
  font:500 13px/1.6 Inter,Arial,sans-serif;
}
.site-breadcrumbs a{color:#a9d3ef;text-decoration:none}
.site-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.site-breadcrumbs__separator{color:#72869a}
.site-breadcrumbs [aria-current="page"]{color:#a4b4c4}
@media(max-width:650px){.site-breadcrumbs{padding:28px 20px 0}}
/* Case-study headings share the same 30px inset as their breadcrumbs and site header. */
.shell.intro{padding-left:30px;padding-right:30px}
@media(max-width:700px){.shell.intro{padding-left:20px;padding-right:20px}}
