:root{
    --ca-case-navy:#061b3a;
    --ca-case-blue:#0b67d0;
    --ca-case-blue-dark:#074a98;
    --ca-case-sky:#eaf5ff;
    --ca-case-orange:#f58220;
    --ca-case-text:#17233a;
    --ca-case-muted:#64748b;
    --ca-case-border:#dce5ef;
    --ca-case-bg:#f5f8fc;
    --ca-case-white:#ffffff;
}

.ca-cases-hero{
    padding:155px 18px 68px;
    color:#fff;
    background:
        radial-gradient(circle at 78% 20%,rgba(27,128,255,.35),transparent 34%),
        linear-gradient(125deg,#031329 0%,#072b5c 62%,#0c4b90 100%);
}
.ca-cases-hero .container{max-width:1180px}
.ca-cases-hero span,
.ca-case-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
    color:#8ec5ff;
    font-size:13px;
    font-weight:800;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.ca-cases-hero h1{
    margin:0 0 12px;
    color:#fff;
    font-size:clamp(38px,5vw,64px);
    line-height:1.08;
}
.ca-cases-hero p{
    max-width:720px;
    margin:0;
    color:#d9e9fb;
    font-size:18px;
    line-height:1.65;
}

.ca-cases-index{
    padding:54px 18px 76px;
    background:var(--ca-case-bg);
}
.ca-cases-index>.container{max-width:1180px}
.ca-case-filter-chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:22px;
}
.ca-case-filter-chips a{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:8px 15px;
    color:#23415f;
    background:#fff;
    border:1px solid var(--ca-case-border);
    border-radius:999px;
    font-size:13px;
    font-weight:750;
    text-decoration:none;
    transition:.2s ease;
}
.ca-case-filter-chips a:hover,
.ca-case-filter-chips a.active{
    color:#fff;
    background:var(--ca-case-blue);
    border-color:var(--ca-case-blue);
    transform:translateY(-1px);
}
.ca-case-search{
    display:flex;
    gap:10px;
    margin-bottom:34px;
    padding:12px;
    background:#fff;
    border:1px solid var(--ca-case-border);
    border-radius:14px;
    box-shadow:0 8px 24px rgba(15,39,74,.05);
}
.ca-case-search input{
    flex:1;
    min-width:0;
    height:46px;
    padding:0 14px;
    color:var(--ca-case-text);
    background:#f8fafc;
    border:1px solid #d7e1ec;
    border-radius:9px;
    outline:none;
}
.ca-case-search input:focus{border-color:#69a9ed;box-shadow:0 0 0 3px rgba(11,103,208,.10)}
.ca-case-search button,
.ca-case-search a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:105px;
    height:46px;
    padding:0 18px;
    border-radius:9px;
    font-weight:800;
    text-decoration:none;
}
.ca-case-search button{
    color:#fff;
    background:var(--ca-case-blue);
    border:0;
    cursor:pointer;
}
.ca-case-search a{color:var(--ca-case-blue-dark);background:#edf5ff}

.ca-featured-case{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    overflow:hidden;
    margin:0 0 52px;
    background:#fff;
    border:1px solid var(--ca-case-border);
    border-radius:22px;
    box-shadow:0 18px 44px rgba(15,42,79,.09);
}
.ca-featured-case-image{
    min-height:410px;
    background:linear-gradient(145deg,#0b2d5e,#0c63bd);
}
.ca-featured-case-image img{
    display:block;
    width:100%;
    height:100%;
    min-height:410px;
    object-fit:cover;
}
.ca-featured-case-image>span{
    display:grid;
    place-items:center;
    height:100%;
    min-height:410px;
    color:#fff;
    font-size:26px;
    font-weight:800;
}
.ca-featured-case-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:42px;
}
.ca-featured-label{
    align-self:flex-start;
    margin-bottom:16px;
    padding:6px 10px;
    color:#8a4a00;
    background:#fff2dc;
    border-radius:999px;
    font-size:11px;
    font-weight:850;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ca-featured-case-content>small,
.ca-case-card-content>small,
.ca-related-case-card small{
    color:var(--ca-case-blue);
    font-size:12px;
    font-weight:850;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.ca-featured-case-content h2{
    margin:9px 0 16px;
    color:var(--ca-case-navy);
    font-size:clamp(28px,3vw,40px);
    line-height:1.18;
}
.ca-featured-case-meta{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-bottom:17px;
    color:#42566f;
    font-size:14px;
}
.ca-featured-case-content p{
    margin:0 0 24px;
    color:var(--ca-case-muted);
    font-size:15px;
    line-height:1.7;
}
.ca-case-primary-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    min-height:46px;
    padding:11px 18px;
    color:#fff!important;
    background:linear-gradient(135deg,var(--ca-case-blue),var(--ca-case-blue-dark));
    border-radius:9px;
    font-weight:800;
    text-decoration:none!important;
    box-shadow:0 8px 18px rgba(11,103,208,.22);
}

.ca-cases-heading-row,
.ca-case-heading-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}
.ca-cases-heading-row>div>span,
.ca-case-section-heading>span{
    display:block;
    margin-bottom:6px;
    color:var(--ca-case-blue);
    font-size:11px;
    font-weight:850;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.ca-cases-heading-row h2,
.ca-case-section-heading h2{
    margin:0;
    color:var(--ca-case-navy);
    font-size:clamp(27px,3vw,38px);
    line-height:1.2;
}
.ca-cases-heading-row>p{
    margin:0;
    color:var(--ca-case-muted);
    font-size:13px;
}
.ca-case-card-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}
.ca-case-card{
    display:flex;
    flex-direction:column;
    overflow:hidden;
    min-width:0;
    color:inherit!important;
    background:#fff;
    border:1px solid var(--ca-case-border);
    border-radius:16px;
    text-decoration:none!important;
    box-shadow:0 10px 28px rgba(20,46,82,.055);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ca-case-card:hover{
    transform:translateY(-5px);
    border-color:#b7d5f5;
    box-shadow:0 18px 38px rgba(20,46,82,.12);
}
.ca-case-card-image{
    height:205px;
    overflow:hidden;
    background:linear-gradient(145deg,#0b2c5c,#1673ce);
}
.ca-case-card-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}
.ca-case-card:hover .ca-case-card-image img{transform:scale(1.035)}
.ca-case-card-image>span{
    display:grid;
    place-items:center;
    height:100%;
    color:#fff;
    font-size:22px;
    font-weight:800;
}
.ca-case-card-content{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:21px;
}
.ca-case-card-content h3{
    margin:8px 0 12px;
    color:var(--ca-case-navy);
    font-size:21px;
    line-height:1.34;
}
.ca-case-card-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:12px;
}
.ca-case-card-meta span{
    padding:4px 8px;
    color:#3d5774;
    background:#f0f5fa;
    border-radius:6px;
    font-size:11px;
    line-height:1.3;
}
.ca-case-card-content p{
    margin:0 0 18px;
    color:var(--ca-case-muted);
    font-size:14px;
    line-height:1.65;
}
.ca-case-card-content>b{
    margin-top:auto;
    color:var(--ca-case-blue-dark);
    font-size:13px;
}
.ca-case-empty{
    padding:54px 22px;
    text-align:center;
    background:#fff;
    border:1px solid var(--ca-case-border);
    border-radius:16px;
}
.ca-case-empty h2{margin:0 0 8px;color:var(--ca-case-navy)}
.ca-case-empty p{margin:0;color:var(--ca-case-muted)}
.ca-case-load-more{
    display:flex;
    justify-content:center;
    margin-top:34px;
}
.ca-case-load-more a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:10px 24px;
    color:var(--ca-case-blue-dark);
    background:#fff;
    border:1px solid #bcd5ef;
    border-radius:10px;
    font-weight:800;
    text-decoration:none;
}
.ca-cases-cta{
    padding:54px 18px;
    color:#fff;
    background:linear-gradient(120deg,#061a38,#0b519a);
}
.ca-cases-cta .container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:32px;
    max-width:1180px;
}
.ca-cases-cta span{
    color:#9dd0ff;
    font-size:12px;
    font-weight:850;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.ca-cases-cta h2{
    max-width:760px;
    margin:8px 0 8px;
    color:#fff;
    font-size:clamp(27px,3.5vw,42px);
    line-height:1.2;
}
.ca-cases-cta p{max-width:780px;margin:0;color:#d5e6f8;line-height:1.65}
.ca-cases-cta a{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:12px 22px;
    color:#08264a!important;
    background:#fff;
    border-radius:10px;
    font-weight:850;
    text-decoration:none!important;
}

/* Individual Case Study */
.ca-case-detail-main{background:var(--ca-case-bg)}
.ca-case-detail-hero{
    padding:145px 18px 58px;
    color:#fff;
    background:
        radial-gradient(circle at 78% 22%,rgba(31,130,255,.32),transparent 33%),
        linear-gradient(125deg,#031329,#083568 72%,#0c4f96);
}
.ca-case-detail-hero .container{max-width:1080px}
.ca-case-breadcrumb{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:22px;
    color:#bdd7f4;
    font-size:13px;
}
.ca-case-breadcrumb a{color:#fff;text-decoration:none}
.ca-case-detail-hero h1{
    max-width:980px;
    margin:0 0 22px;
    color:#fff;
    font-size:clamp(35px,5vw,58px);
    line-height:1.12;
}
.ca-case-hero-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.ca-case-hero-meta span{
    padding:8px 11px;
    color:#dcecff;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.15);
    border-radius:8px;
    font-size:13px;
}
.ca-case-detail-body{padding:0 18px 72px}
.ca-case-detail-container{max-width:1080px}
.ca-case-banner-wrap{
    overflow:hidden;
    margin:-24px 0 34px;
    background:#fff;
    border:7px solid #fff;
    border-radius:18px;
    box-shadow:0 16px 42px rgba(8,34,70,.14);
}
.ca-case-banner{
    display:block;
    width:100%;
    max-height:500px;
    object-fit:cover;
    border-radius:12px;
}
.ca-case-glance{
    margin-bottom:28px;
    padding:26px;
    background:#fff;
    border:1px solid var(--ca-case-border);
    border-radius:16px;
    box-shadow:0 8px 24px rgba(15,41,76,.05);
}
.ca-case-glance .ca-case-section-heading{margin-bottom:20px}
.ca-case-glance-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}
.ca-case-glance-item{
    min-width:0;
    padding:16px;
    background:#f7faff;
    border:1px solid #e0eaf4;
    border-radius:11px;
}
.ca-case-glance-item small{
    display:block;
    margin-bottom:7px;
    color:var(--ca-case-muted);
    font-size:11px;
    font-weight:750;
    letter-spacing:.05em;
    text-transform:uppercase;
}
.ca-case-glance-item strong{
    display:block;
    color:var(--ca-case-navy);
    font-size:15px;
    line-height:1.45;
    overflow-wrap:anywhere;
}
.ca-case-content-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    align-items:start;
    gap:24px;
}
.ca-case-content-card{
    min-width:0;
    padding:32px 38px;
    background:#fff;
    border:1px solid var(--ca-case-border);
    border-radius:16px;
    box-shadow:0 8px 24px rgba(15,41,76,.045);
}
.ca-case-section{
    padding:8px 0 32px;
    border-bottom:1px solid #e8eef5;
}
.ca-case-section:last-child{padding-bottom:4px;border-bottom:0}
.ca-case-section+.ca-case-section{padding-top:32px}
.ca-case-section-heading{margin-bottom:17px}
/* Increase only the small uppercase labels inside the main case-study content. */
.ca-case-content-card .ca-case-section-heading>span{font-size:16px}
.ca-case-section-heading h2{font-size:clamp(25px,3vw,34px)}
.ca-case-richtext{
    color:#34465c;
    font-size:15px;
    line-height:1.85;
}
.ca-case-richtext p{margin:0 0 15px;text-align:justify}
.ca-case-richtext ul{
    margin:12px 0 8px;
    padding-left:22px;
}
.ca-case-richtext li{margin:8px 0;padding-left:3px}
.ca-case-outcomes-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px;
}
.ca-case-outcome-card{
    padding:20px;
    background:linear-gradient(145deg,#f1f7ff,#fff);
    border:1px solid #cfe2f7;
    border-radius:12px;
}
.ca-case-outcome-card strong{
    display:block;
    margin-bottom:7px;
    color:var(--ca-case-blue-dark);
    font-size:28px;
    line-height:1.1;
}
.ca-case-outcome-card span{color:#405873;font-size:13px;line-height:1.45}
.ca-case-feedback-section blockquote{
    margin:0;
    padding:24px;
    background:#f2f7fd;
    border-left:4px solid var(--ca-case-blue);
    border-radius:10px;
}
.ca-case-feedback-section blockquote p{
    margin:0;
    color:#263c55;
    font-size:18px;
    font-style:italic;
    line-height:1.7;
}
.ca-case-feedback-section blockquote footer{
    display:flex;
    flex-direction:column;
    gap:2px;
    margin-top:16px;
    color:#4f647b;
}
.ca-case-feedback-section blockquote footer strong{color:var(--ca-case-navy)}
.ca-case-feedback-section blockquote footer small{margin-top:4px;color:#718196}
.ca-case-sidebar{
    position:sticky;
    top:105px;
    display:grid;
    gap:18px;
}
.ca-case-sidebar-card{
    padding:22px;
    background:#fff;
    border:1px solid var(--ca-case-border);
    border-radius:14px;
    box-shadow:0 8px 22px rgba(15,41,76,.045);
}
.ca-case-sidebar-kicker{
    color:var(--ca-case-blue);
    font-size:11px;
    font-weight:850;
    letter-spacing:.09em;
    text-transform:uppercase;
}
.ca-case-sidebar-card h2{
    margin:7px 0 15px;
    color:var(--ca-case-navy);
    font-size:23px;
    line-height:1.3;
}
.ca-case-service-links{display:grid;gap:8px}
.ca-case-service-links a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:11px 12px;
    color:#27445f!important;
    background:#f6f9fc;
    border:1px solid #e1eaf3;
    border-radius:8px;
    font-size:12px;
    font-weight:750;
    line-height:1.35;
    text-decoration:none!important;
}
.ca-case-service-links a:hover{color:#fff!important;background:var(--ca-case-blue);border-color:var(--ca-case-blue)}
.ca-case-sidebar-cta{
    color:#fff;
    background:linear-gradient(145deg,#061a39,#0a4e94);
    border-color:#0a4e94;
}
.ca-case-sidebar-cta .ca-case-sidebar-kicker{color:#9ccfff}
.ca-case-sidebar-cta h2{color:#fff}
.ca-case-sidebar-cta p{color:#d5e6f8;font-size:13px;line-height:1.65}
.ca-case-sidebar-cta .ca-case-primary-button{width:100%;margin-top:5px;background:#fff;color:#09315f!important;box-shadow:none}
.ca-related-cases{
    padding:64px 18px 76px;
    background:#fff;
    border-top:1px solid #e5ecf4;
}
.ca-related-cases .container{max-width:1080px}
.ca-case-heading-row>a{color:var(--ca-case-blue-dark);font-size:13px;font-weight:800;text-decoration:none}
.ca-related-case-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.ca-related-case-card{
    overflow:hidden;
    color:inherit!important;
    background:#fff;
    border:1px solid var(--ca-case-border);
    border-radius:13px;
    text-decoration:none!important;
    box-shadow:0 8px 20px rgba(20,45,80,.045);
}
.ca-related-case-image{height:145px;background:linear-gradient(145deg,#0b2d5c,#1571ca)}
.ca-related-case-image img{width:100%;height:100%;object-fit:cover}
.ca-related-case-image span{display:grid;place-items:center;height:100%;color:#fff;font-weight:800}
.ca-related-case-card>div:last-child{padding:17px}
.ca-related-case-card h3{margin:7px 0 14px;color:var(--ca-case-navy);font-size:18px;line-height:1.35}
.ca-related-case-card>div:last-child>span{color:var(--ca-case-blue-dark);font-size:12px;font-weight:800}
.ca-case-not-found{
    min-height:70vh;
    padding:170px 18px 80px;
    text-align:center;
    background:var(--ca-case-bg);
}
.ca-case-not-found span{color:var(--ca-case-blue);font-size:16px;font-weight:850}
.ca-case-not-found h1{margin:8px 0;color:var(--ca-case-navy)}
.ca-case-not-found p{margin:0 0 22px;color:var(--ca-case-muted)}
.ca-case-preview-banner{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:2000000;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    min-height:38px;
    padding:7px 14px;
    color:#fff;
    background:#9b5600;
    font:700 12px/1.2 Arial,sans-serif;
    letter-spacing:.05em;
}
.ca-case-preview-banner a{color:#fff;text-decoration:underline}
.ca-case-preview-banner+ #wrapper header{top:38px!important}

@media(max-width:1000px){
    .ca-case-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ca-case-content-grid{grid-template-columns:1fr}
    .ca-case-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
    .ca-case-glance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
    .ca-featured-case{grid-template-columns:1fr}
    .ca-featured-case-image,.ca-featured-case-image img,.ca-featured-case-image>span{min-height:280px}
    .ca-cases-cta .container{align-items:flex-start;flex-direction:column}
    .ca-related-case-grid{grid-template-columns:1fr}
    .ca-related-case-card{display:grid;grid-template-columns:180px 1fr}
    .ca-related-case-image{height:100%;min-height:150px}
}
@media(max-width:650px){
    .ca-cases-hero{padding:115px 14px 48px}
    .ca-cases-hero p{font-size:16px}
    .ca-cases-index{padding:34px 12px 52px}
    .ca-case-filter-chips{gap:7px}
    .ca-case-filter-chips a{min-height:36px;padding:7px 11px;font-size:11px}
    .ca-case-search{flex-wrap:wrap;padding:9px}
    .ca-case-search input{flex:1 0 100%}
    .ca-case-search button,.ca-case-search a{flex:1;min-width:0}
    .ca-featured-case-content{padding:25px 20px}
    .ca-case-card-grid{grid-template-columns:1fr}
    .ca-case-card-image{height:190px}
    .ca-cases-heading-row,.ca-case-heading-row{align-items:flex-start;flex-direction:column}
    .ca-cases-cta{padding:42px 14px}
    .ca-case-detail-hero{padding:112px 14px 44px}
    .ca-case-detail-body{padding:0 10px 48px}
    .ca-case-banner-wrap{margin:-16px 0 24px;border-width:4px}
    .ca-case-banner{max-height:300px}
    .ca-case-glance{padding:20px 16px}
    .ca-case-glance-grid{grid-template-columns:1fr}
    .ca-case-content-card{padding:25px 18px}
    .ca-case-richtext p{text-align:left}
    .ca-case-outcomes-grid{grid-template-columns:1fr}
    .ca-case-sidebar{grid-template-columns:1fr}
    .ca-related-cases{padding:44px 12px 54px}
    .ca-related-case-card{grid-template-columns:120px 1fr}
    .ca-related-case-image{min-height:140px}
    .ca-related-case-card h3{font-size:16px}
    .ca-case-preview-banner{justify-content:space-between;font-size:10px}
}
