.case-study-page {
    --case-ink: #101a2e;
    --case-blue: #058ac5;
    --case-muted: #607188;
    --case-line: #dce9f2;
    color: var(--case-ink);
    background: #fff;
    font-family: var(--font-sans);
}

.case-study-page *,
.case-study-page *::before,
.case-study-page *::after { box-sizing: border-box; }

.case-study-shell {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
}

.case-study-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: min(calc(100vh - var(--site-header-height, 66px)), 820px);
    padding: 32px 0 56px;
    background: #03214a url('../images/case-study-hero-bg.jpg') right center / cover no-repeat;
    color: #fff;
}

.case-study-breadcrumb {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 11px;
    margin-bottom: 40px;
    color: #b9d8e9;
    font-size: 13px;
    font-weight: 600;
}

.case-study-breadcrumb a { color: #b9d8e9; text-decoration: none; }
.case-study-breadcrumb a:hover { color: #fff; }
.case-study-breadcrumb span[aria-hidden] { opacity: .55; }

.case-study-hero > .case-study-shell {
    display: flex;
    flex: 1;
    flex-direction: column;
}

.case-study-hero__copy {
    position: relative;
    z-index: 1;
    margin-block: auto;
    max-width: 960px;
    padding: 8px 0;
}

.case-study-kicker,
.case-study-page .case-study-kicker {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 36px;
    margin: 0 0 30px;
    padding: 7px 16px;
    border: 1px solid rgba(43, 187, 232, .35);
    border-radius: 999px;
    background: rgba(5, 65, 94, .55);
    box-shadow: inset 0 0 20px rgba(43, 187, 232, .08);
    color: #9ce5fc;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .12em;
    line-height: 1.4;
    text-transform: uppercase;
}

.case-study-kicker::before {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: #2bbbe8;
    box-shadow: 0 0 0 5px rgba(43, 187, 232, .13);
    content: '';
}

.case-study-page .case-study-hero h1 {
    max-width: 960px;
    margin: 0 0 22px;
    color: #fff;
    font-family: var(--font-display);
    font-size: clamp(2.65rem, 5vw, 5.4rem);
    font-weight: 800;
    letter-spacing: -.045em;
    line-height: 1.09;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.case-study-page .case-study-hero__headline {
    max-width: 860px;
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(1.375rem, 2.2vw, 2rem);
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1.35;
    text-wrap: balance;
}

.case-study-page .case-study-hero__intro {
    max-width: 860px;
    margin: 0;
    color: #cbd9e5;
    font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
    line-height: 1.65;
}

.case-study-reading {
    display: grid;
    grid-template-columns: 205px minmax(0, 1fr);
    gap: clamp(54px, 8vw, 112px);
    padding-top: 80px;
    padding-bottom: 96px;
}

.case-study-sidebar { min-width: 0; }
.case-study-sidebar__inner { position: sticky; top: 94px; }
.case-study-sidebar__label {
    margin: 0 0 15px;
    color: #8194a6;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.case-study-sidebar__nav { display: grid; gap: 3px; }
.case-study-sidebar__nav a {
    display: block;
    padding: 9px 0 9px 16px;
    border-left: 2px solid #d9e8f0;
    color: #647587;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s, border-color .2s;
}

.case-study-sidebar__nav a:hover,
.case-study-sidebar__nav a:focus-visible {
    border-color: var(--case-blue);
    color: #0579af;
}

.case-study-sidebar__tools {
    margin-top: 34px;
    padding-top: 24px;
    border-top: 1px solid var(--case-line);
}

.case-study-print {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-height: 45px;
    padding: 10px 14px;
    border: 0;
    border-radius: 8px;
    background: #0b3555;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.case-study-print:hover { background: #006fa8; transform: translateY(-2px); }
.case-study-share { display: flex; flex-wrap: wrap; gap: 8px; }
.case-study-share a,
.case-study-share button {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--case-line);
    border-radius: 7px;
    background: #fff;
    color: #516a7d;
    font-size: 14px;
    text-decoration: none;
    cursor: pointer;
}

.case-study-share a:hover,
.case-study-share button:hover { border-color: #8dcdeb; color: var(--case-blue); }
.case-study-share__status { display: block; min-height: 18px; margin-top: 8px; color: #366b89; font-size: 12px; }
.case-study-share__status input { display: block; width: 100%; margin-top: 6px; padding: 6px; border: 1px solid var(--case-line); border-radius: 5px; color: #173953; font-size: 12px; }

.case-study-article { min-width: 0; }
.case-study-section { padding: 0 0 68px; scroll-margin-top: 105px; }
.case-study-section + .case-study-section { padding-top: 68px; border-top: 1px solid var(--case-line); }
.case-study-section:last-child { padding-bottom: 0; }

.case-study-page .case-study-section__eyebrow {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0 0 17px;
    color: #007cad;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .17em;
    line-height: 1.5;
    text-transform: uppercase;
}

.case-study-section__eyebrow span { color: #8aa2b5; }
.case-study-page .case-study-section h2,
.case-study-page .case-study-related h2,
.case-study-page .case-study-cta h2 {
    margin: 0 0 19px;
    color: var(--case-ink);
    font-family: var(--font-sans);
    font-size: clamp(31px, 3.15vw, 43px);
    font-weight: 800;
    letter-spacing: -.045em;
    line-height: 1.17;
}

.case-study-page .case-study-section > p:not(.case-study-section__eyebrow) {
    max-width: 760px;
    margin: 0;
    color: #52657b;
    font-size: 17px;
    line-height: 1.82;
}

.case-study-page .case-study-section > .case-study-section__lead { font-size: 18px; }
.case-study-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 36px;
    padding: 26px 28px;
    border: 1px solid #dbeaf3;
    border-radius: 14px;
    background: #f5faff;
}

.case-study-facts > div + div { padding-left: 24px; border-left: 1px solid #d5e4ef; }
.case-study-facts__label {
    display: block;
    margin-bottom: 8px;
    color: #7590a2;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.case-study-facts strong { display: block; color: #12344d; font-size: 14px; line-height: 1.55; }
.case-study-priorities { margin-top: 35px; }
.case-study-page .case-study-priorities h3,
.case-study-page .case-study-capabilities h3 {
    margin: 0 0 18px;
    color: #173953;
    font-family: var(--font-sans);
    font-size: 17px;
    font-weight: 800;
}

.case-study-priorities__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.case-study-priority {
    min-height: 145px;
    padding: 20px;
    border: 1px solid #dceaf2;
    border-radius: 12px;
    background: #fbfdff;
}

.case-study-priority span { color: #0287c0; font-size: 12px; font-weight: 800; }
.case-study-page .case-study-priority p { margin: 21px 0 0; color: #173953; font-size: 15px; font-weight: 700; line-height: 1.45; }
.case-study-capabilities { margin-top: 34px; }
.case-study-capabilities ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.case-study-capabilities li {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 15px 0;
    border-top: 1px solid #e5edf3;
    color: #344e63;
    font-size: 16px;
    line-height: 1.55;
}

.case-study-capabilities li:last-child { border-bottom: 1px solid #e5edf3; }
.case-study-capabilities i { flex: none; display: grid; place-items: center; width: 25px; height: 25px; margin-top: 1px; border-radius: 50%; background: #e3f5fd; color: #008cc6; font-size: 11px; }
.case-study-inline-media { margin: 40px 0 0; padding: 18px; border: 1px solid var(--case-line); border-radius: 16px; background: #fff; }
.case-study-inline-media img { display: block; width: 100%; max-height: 410px; object-fit: contain; }
.case-study-inline-media figcaption { margin-top: 8px; color: #678094; font-size: 12px; text-align: center; }
.case-study-outcome-callout {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 35px;
    padding: 25px 28px;
    border-left: 4px solid #0993ca;
    border-radius: 0 12px 12px 0;
    background: #eef8fd;
}

.case-study-outcome-callout__mark { display: grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: #d6effa; color: #008ac1; font-size: 18px; }
.case-study-outcome-callout strong { display: block; color: #11334f; font-size: 18px; line-height: 1.4; }
.case-study-external { display: inline-flex; align-items: center; gap: 9px; margin-top: 24px; color: #007cad; font-size: 14px; font-weight: 800; text-decoration: none; }
.case-study-external:hover { color: #005b87; text-decoration: underline; }

.case-study-related { padding: 82px 0 94px; background: #f4f9fc; }
.case-study-related__header { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 32px; }
.case-study-page .case-study-related h2 { margin-bottom: 0; }
.case-study-related__header > a { flex: none; padding: 11px 0; color: #006f9f; font-size: 14px; font-weight: 800; text-decoration: none; }
.case-study-related__header > a i { margin-left: 5px; transition: transform .2s; }
.case-study-related__header > a:hover i { transform: translateX(4px); }
.case-study-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.case-study-related__card { display: flex; overflow: hidden; flex-direction: column; min-width: 0; border-radius: 15px; background: #0c2941; box-shadow: 0 13px 26px rgba(16, 44, 65, .09); color: #fff; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.case-study-related__card:hover { transform: translateY(-5px); box-shadow: 0 18px 32px rgba(16, 44, 65, .18); color: #fff; }
.case-study-related__media { position: relative; display: block; flex: 0 0 190px; overflow: hidden; height: 190px; background: #fff; }
.case-study-related__media img { position: absolute; inset: 16px; display: block; width: calc(100% - 32px); height: calc(100% - 32px); object-fit: contain; transition: transform .3s ease; }
.case-study-related__card:hover .case-study-related__media img { transform: scale(1.03); }
.case-study-related__media--small img { padding: 25px; }
.case-study-related__content { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 23px 24px 26px; }
.case-study-related__category { margin-bottom: 13px; color: #77c9ed; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.case-study-related__content strong { color: #fff; font-size: 21px; font-weight: 800; letter-spacing: -.025em; line-height: 1.25; }
.case-study-related__headline { margin-top: 9px; color: #bfd2e0; font-size: 13px; line-height: 1.5; }
.case-study-related__link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 28px; color: #fff; font-size: 13px; font-weight: 800; }
.case-study-related__link i { color: #67c9f1; font-size: 11px; }

.case-study-cta { padding: 65px 0; background: linear-gradient(110deg, #09283e, #075077); }
.case-study-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.case-study-cta .case-study-section__eyebrow { color: #81d3f5; }
.case-study-page .case-study-cta h2 { margin-bottom: 9px; color: #fff; }
.case-study-page .case-study-cta p:not(.case-study-section__eyebrow) { margin: 0; color: #c0d6e5; font-size: 16px; line-height: 1.6; }
.case-study-cta__inner > a { display: inline-flex; flex: none; align-items: center; gap: 18px; min-height: 49px; padding: 12px 23px; border-radius: 8px; background: #fff; color: #0b3d5a; font-size: 14px; font-weight: 800; text-decoration: none; transition: transform .2s, background .2s; }
.case-study-cta__inner > a:hover { transform: translateY(-2px); background: #ddf5ff; }

@media (min-width: 761px) and (max-height: 760px) {
    .case-study-breadcrumb { margin-bottom: 24px; }
    .case-study-page .case-study-kicker { margin-bottom: 20px; }
    .case-study-page .case-study-hero h1 { margin-bottom: 14px; font-size: clamp(2.5rem, 4.2vw, 4rem); }
    .case-study-page .case-study-hero__headline { margin-bottom: 12px; }
}

@media (max-width: 1000px) {
    .case-study-reading { grid-template-columns: 175px minmax(0, 1fr); gap: 46px; }
    .case-study-priorities__grid { grid-template-columns: 1fr; }
    .case-study-priority { display: flex; align-items: center; gap: 18px; min-height: 0; padding: 15px 18px; }
    .case-study-page .case-study-priority p { margin: 0; }
}

@media (max-width: 760px) {
    .case-study-shell { width: min(100% - 36px, 580px); }
    .case-study-hero { min-height: 0; padding: 26px 0 56px; background-image: linear-gradient(rgba(3, 33, 74, .72), rgba(3, 33, 74, .72)), url('../images/case-study-hero-bg.jpg'); background-position: 70% center; }
    .case-study-breadcrumb { margin-bottom: 43px; }
    .case-study-page .case-study-hero h1 { font-size: clamp(2.5rem, 10vw, 3.5rem); }
    .case-study-reading { display: flex; flex-direction: column; gap: 50px; padding-top: 40px; padding-bottom: 72px; }
    .case-study-sidebar__inner { position: static; }
    .case-study-sidebar__nav { display: flex; overflow-x: auto; gap: 8px; padding-bottom: 4px; scrollbar-width: thin; }
    .case-study-sidebar__nav a { flex: none; padding: 9px 12px; border: 1px solid #d8e8f1; border-radius: 8px; font-size: 13px; }
    .case-study-sidebar__nav a:hover,
    .case-study-sidebar__nav a:focus-visible { border-color: var(--case-blue); }
    .case-study-sidebar__tools { display: inline-block; margin: 18px 20px 0 0; padding-top: 0; border: 0; vertical-align: top; }
    .case-study-sidebar__tools .case-study-sidebar__label { margin-bottom: 8px; }
    .case-study-print { width: auto; }
    .case-study-section { padding-bottom: 50px; }
    .case-study-section + .case-study-section { padding-top: 50px; }
    .case-study-related { padding: 65px 0 70px; }
    .case-study-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .case-study-kicker { flex-wrap: wrap; }
    .case-study-page .case-study-section h2,
    .case-study-page .case-study-related h2,
    .case-study-page .case-study-cta h2 { font-size: 30px; }
    .case-study-page .case-study-section > p:not(.case-study-section__eyebrow) { font-size: 16px; }
    .case-study-facts { grid-template-columns: 1fr; gap: 18px; padding: 23px; }
    .case-study-facts > div + div { padding: 18px 0 0; border-top: 1px solid #d5e4ef; border-left: 0; }
    .case-study-related__header { display: block; }
    .case-study-related__header > a { display: inline-block; margin-top: 14px; }
    .case-study-related__grid { grid-template-columns: 1fr; }
    .case-study-related__media { height: 200px; }
    .case-study-cta__inner { display: block; }
    .case-study-cta__inner > a { margin-top: 24px; }
}

@media print {
    .site-header,
    .global-footer,
    .case-study-sidebar,
    .case-study-related,
    .case-study-cta { display: none !important; }
    .case-study-page { color: #111; }
    .case-study-shell { width: 100%; }
    .case-study-hero { padding: 0 0 25px; background: #fff; color: #111; }
    .case-study-breadcrumb { margin-bottom: 25px; color: #333; }
    .case-study-breadcrumb a { color: #333; }
    .case-study-page .case-study-hero h1,
    .case-study-page .case-study-hero__headline,
    .case-study-page .case-study-hero__intro { color: #111; }
    .case-study-hero { min-height: 0; }
    .case-study-reading { display: block; padding: 10px 0; }
    .case-study-section,
    .case-study-section + .case-study-section { padding: 22px 0; break-inside: avoid; }
}
