@import url('./case-study-hero.css');
@import url('./related-case-studies.css');
.client-case { color:var(--color-ink); }
.client-case-summary,.client-case-challenge,.client-case-solution,.client-case-feedback,.client-case-close { background:var(--color-white, #fff); }
.client-case .body-copy { color:var(--color-ink); font-size:.9375rem; line-height:1.7; }
.client-case h2 { margin:0 0 22px; }
.client-case h3 { margin:0 0 12px; }
/* Retain the shared ts-blog heading sizes, with calmer editorial weight. */
main.client-case :is(h2.ts-blog-heading--h2,h3.ts-blog-heading--h3) { font-weight:700; line-height:1.3; letter-spacing:0; }
.client-case-hero { padding:20px 0 28px; background:linear-gradient(115deg,#0d1a3a 0%,#13287e 68%,#203b99 100%); color:white; }
.client-case-hero .page-breadcrumb { margin-bottom:20px; }
.client-case-hero .page-breadcrumb :is(a,span) { color:#e2e8f4; }
.client-case-hero .section-eyebrow { color:#ffe100; margin:0 0 10px; }
.client-case-hero__copy { max-width:none; }
.client-case-hero .body-copy { color:#e2e8f4; margin:0; max-width:1060px; text-align:left; text-align-last:left; }
.client-case-hero__layout { display:grid; grid-template-columns: .9fr 1.1fr; gap:38px; align-items:center; }
.client-case-hero h1 { font:700 clamp(1.75rem,2.8vw,2.5rem)/1.15 var(--font-heading); letter-spacing:-.025em; margin:0 0 12px; max-width:none; color:white; }
@media(min-width:981px) {
 .client-case-hero h1 { white-space:nowrap; }
}
.client-case-hero__platform { margin:20px 0 0; padding-left:16px; border-left:3px solid var(--color-primary-orange); color:var(--color-muted); line-height:1.6; font-size:.9rem; }
.client-case-hero__platform strong { color:var(--color-primary-blue); }
.client-case-hero__visual { min-width:0; padding:24px 18px 18px; background:var(--color-border); border-radius:10px; }
.client-case-hero__caption { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; margin-top:18px; font-size:.75rem; color:var(--color-ink); }
.client-case-hero__caption span:first-child { font-weight:800; letter-spacing:.1em; }
.client-project-frame { margin:0; background:white; border:1px solid var(--color-border); border-radius:10px; overflow:hidden; box-shadow:0 12px 28px rgb(13 26 58 / 8%); }
.client-project-frame__bar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 16px; color:var(--color-muted); font-size:.7rem; }
.client-project-frame__bar span:first-child { font-size:6px; letter-spacing:3px; }
.client-project-frame img { width:100%; height:auto; display:block; }
.client-project-frame figcaption { padding:13px 18px; font-size:.8rem; line-height:1.6; color:var(--color-muted); }
.client-case-facts-strip { background:var(--color-surface); border-bottom:1px solid var(--color-border); padding:20px 0; }
.client-case-facts { display:grid; grid-template-columns:.7fr 1fr .8fr 1.5fr 1fr; margin:0; gap:22px; }
.client-case-facts dt { font-size:.78rem; color:var(--color-muted); margin-bottom:8px; }
.client-case-facts dd { margin:0; font-size:.9rem; line-height:1.5; font-weight:700; }
.client-case-editorial { display:grid; grid-template-columns:.8fr 1.2fr; gap:72px; align-items:start; }
.client-case-editorial .body-copy:first-child { margin-top:0; }
.client-case-editorial .body-copy:last-child { margin-bottom:0; }
.client-case-snapshot,.client-case-approach,.client-case-impact { background:var(--color-surface); }
.client-case-snapshot__layout { display:grid; grid-template-columns:1fr 1.1fr; align-items:stretch; gap:48px; }
.client-case-snapshot__image { margin:0 12px 12px 0; min-width:0; padding:8px 8px 0 0; background:var(--color-primary-blue); border-radius:10px; box-shadow:12px 12px 0 #e2e8f4,0 16px 28px rgb(13 26 58 / 8%); }
.client-case-snapshot__image img { display:block; width:100%; height:auto; border-radius:6px 6px 10px 10px; }
@media(min-width:981px) {
 .client-case-snapshot__image { position:relative; margin-bottom:0; min-height:280px; }
 .client-case-snapshot__image img { position:absolute; top:8px; left:0; width:calc(100% - 8px); height:calc(100% - 8px); object-fit:cover; object-position:left top; }
}
@media(max-width:980px) {
 .client-case-snapshot__layout { grid-template-columns:1fr; gap:28px; }
}
.client-case-snapshot__areas { display:grid; grid-template-columns:1fr 1fr; gap:12px 20px; margin-top:24px; color:var(--color-primary-blue); font-weight:700; font-size:.9rem; }
.client-case-snapshot__areas span { border-left:3px solid var(--color-primary-orange); padding-left:12px; }
.client-case-section-intro { display:grid; grid-template-columns:1.2fr 1fr; column-gap:64px; margin-bottom:30px; }
.client-case-section-intro .section-eyebrow { grid-column:1 / -1; }
.client-case-section-intro h2 { margin-bottom:0; }
.client-case-section-intro > .body-copy { margin:0; }
.client-case-challenges { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.client-case-challenges article { display:grid; grid-template-columns:35px minmax(0,1fr); gap:16px; padding:24px; background:white; border-radius:10px; box-shadow:0 5px 22px rgb(13 26 58 / 9%); }
.client-case-challenges .body-copy { margin:0; }
.client-case-index { font:800 1.2rem/1.4 var(--font-heading); color:var(--color-primary-orange); }
.client-case-steps { margin:30px 0 0; padding:0; list-style:none; counter-reset:approach; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.client-case-steps li { position:relative; counter-increment:approach; display:grid; align-content:start; gap:14px; font-weight:700; font-size:.9rem; line-height:1.6; }
.client-case-steps li:before { content:"0" counter(approach); position:relative; z-index:1; display:grid; place-items:center; width:44px; height:44px; box-sizing:border-box; color:white; background:var(--color-primary-blue); border-radius:10px; border-bottom:3px solid var(--color-primary-orange); font:700 1rem var(--font-heading); }
.client-case-steps li:not(:last-child):after { content:""; position:absolute; top:21px; left:44px; width:calc(100% - 16px); height:2px; background:#c8d2e5; }
.client-case-solution__lead { display:grid; grid-template-columns:50px 1fr; gap:16px; margin:0 0 26px; max-width:880px; }
.client-case-solution__lead p { margin-bottom:0; }
.client-case-solution__pair { display:grid; grid-template-columns:1fr 1fr; gap:28px 50px; margin:24px 0; }
.client-case-section-intro + .client-case-solution__pair { margin-top:0; }
.client-case-solution__pair:last-child { margin-bottom:0; }
.client-case-solution__pair .body-copy { margin-bottom:0; }
.client-case-solution__pair .client-case-index { display:block; margin-bottom:12px; }
.client-case-related { font-size:.95rem; line-height:1.7; }
.client-case-related a { color:var(--color-primary-blue); text-decoration:underline; text-underline-offset:4px; font-weight:700; }
.client-case-solution__rows { margin-top:30px; }
.client-case-solution__rows article { display:grid; grid-template-columns:50px .8fr 1.2fr; gap:24px; padding:26px 0; border-bottom:1px solid var(--color-border); }
.client-case-solution__rows article:last-child { border-bottom:0; padding-bottom:0; }
.client-case-solution__rows .body-copy { margin:0; }
.client-case-technology { background:var(--color-primary-blue); color:white; }
.client-case-technology .section-eyebrow { color:var(--color-yellow); }
.client-case-technology h2 { color:white; }
.client-case-technology ul { display:grid; grid-template-columns:1fr 1fr 1.6fr; gap:14px; margin:0; padding:0; list-style:none; align-self:center; }
.client-case-technology li { position:relative; display:flex; align-items:center; min-width:0; padding:22px 18px; background:white; color:var(--color-primary-blue); border-radius:10px; box-shadow:0 8px 20px rgb(0 0 0 / 12%); font-size:.9rem; line-height:1.5; font-weight:700; }
.client-case-technology li::after { content:""; position:absolute; bottom:10px; left:18px; width:26px; height:3px; background:var(--color-primary-orange); }
@media(min-width:981px) {
 .client-case-technology .client-case-editorial { grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:32px; }
 .client-case-technology ul { grid-template-columns:minmax(0,1fr) minmax(0,1fr) max-content; }
 .client-case-technology li:last-child { white-space:nowrap; }
}
@media(min-width:651px) and (max-width:980px) {
 .client-case-technology ul { grid-template-columns:1fr 1fr; }
 .client-case-technology li:last-child { grid-column:1 / -1; }
}
.client-case-impact { background:linear-gradient(145deg,#f5f8fc,#edf2fa); }
.client-case-outcomes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.client-case-outcomes article { --outcome-color:#13287e; --outcome-tint:#edf1fc; position:relative; padding:26px; background:white; color:var(--color-ink); border-radius:10px; box-shadow:0 6px 24px rgb(13 26 58 / 5%); }
.client-case-outcomes article:nth-child(2) { --outcome-color:#a6350a; --outcome-tint:#fff0e9; }
.client-case-outcomes article:nth-child(3) { --outcome-color:#287813; --outcome-tint:#edf8e9; }
.client-case-outcomes article:nth-child(4) { --outcome-color:#087a91; --outcome-tint:#e8f7fb; }
.client-case-outcomes article:nth-child(5) { --outcome-color:#876900; --outcome-tint:#fff9d9; }
.client-case-outcome__top { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
.client-case-outcome__icon { width:46px; height:46px; display:grid; place-items:center; border-radius:10px; color:var(--outcome-color); background:var(--outcome-tint); }
.client-case-outcome__icon svg { width:25px; height:25px; }
.client-case-outcome__number { font:700 .8125rem var(--font-heading); color:var(--color-muted); letter-spacing:.08em; }
.client-case-impact .client-case-outcomes h3 { color:inherit; margin-bottom:12px; }
.client-case-outcomes .body-copy { margin:0; text-align:left; text-align-last:left; }
.client-case-outcomes article:first-child { background:linear-gradient(135deg,#13287e,#0d1a3a); color:white; }
.client-case-outcomes article:first-child .body-copy,.client-case-outcomes article:first-child .client-case-outcome__number { color:#e2e8f4; }
.client-case-outcomes article:first-child .client-case-outcome__icon { background:white; color:#13287e; }
.client-case-outcomes article:first-child::after { content:""; display:block; width:40px; height:3px; background:#ff4800; margin-top:22px; }
.client-case-quote { display:grid; grid-template-columns:.65fr 1.35fr; gap:58px; padding:40px; background:var(--color-surface); border-left:5px solid var(--color-primary-orange); }
.client-case-rating { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:24px 0 18px; }
.client-case-rating strong { font:800 3rem/1 var(--font-heading); color:var(--color-primary-blue); }
.client-case-rating span { color:#f5b301; letter-spacing:2px; font-size:1.2rem; }
.client-case-quote__author { font-weight:800; margin:0; }
.client-case-quote__author span { display:block; font-weight:500; color:var(--color-muted); margin-top:5px; }
.client-case-quote blockquote { margin:0; align-self:center; }
.client-case-quote blockquote p { font:700 clamp(1.125rem,1.7vw,1.5rem)/1.5 var(--font-heading); margin:0; }
.client-case-capabilities { padding:0; margin:22px 0; list-style:none; display:flex; flex-wrap:wrap; gap:12px 24px; font-weight:700; font-size:.9rem; }
.client-case-capabilities li:before { content:"+"; margin-right:9px; color:var(--color-primary-orange); }
.client-case-close .client-case-editorial { grid-template-columns:1fr; align-items:start; gap:24px; }
.client-case-close .client-case-editorial h2 { max-width:none; margin-bottom:0; }
.client-case-close .client-case-editorial > div:last-child { padding:28px 30px; border-left:3px solid var(--color-primary-blue); border-right:3px solid var(--color-primary-blue); border-radius:0; background:linear-gradient(135deg,#f5f8fc,#edf2fa); }
.client-case-close .client-case-capabilities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; margin:22px 0; }
.client-case-close .client-case-capabilities li { display:flex; align-items:baseline; padding:10px 0; border-bottom:1px solid var(--color-border); line-height:1.5; }
.client-case-close .client-case-capabilities li::before { flex-shrink:0; font-size:1rem; }
.client-case-close .client-case-related { padding-top:18px; border-top:1px solid #c8d2e5; margin:0; }
@media(max-width:650px) {
 .client-case-close .client-case-editorial > div:last-child { padding:22px 20px; }
 .client-case-close .client-case-capabilities { grid-template-columns:1fr; }
}
@media(max-width:980px) {
 .client-case-hero__layout { grid-template-columns:1fr; gap:24px; }
 .client-case-hero__layout > div:first-child { max-width:780px; }
 .client-case-hero__visual { padding:18px; }
 .client-case-facts { grid-template-columns:repeat(3,1fr); }
 .client-case-editorial { grid-template-columns:.8fr 1.2fr; gap:30px; }
 .client-case-section-intro { gap:0 30px; }
 .client-case-quote { padding:28px; gap:30px; }
 .client-case-outcomes { grid-template-columns:1fr 1fr; }
}
@media(max-width:650px) {
 .client-case-hero { padding:16px 0 22px; }
 .client-case-hero h1 { font-size:1.75rem; }
 .client-case-hero .page-breadcrumb { margin-bottom:16px; }
 .client-case-hero__visual { padding:10px; }
 .client-project-frame__bar { padding:8px 10px; }
 .client-project-frame figcaption { padding:10px 12px; }
 .client-case-facts { grid-template-columns:1fr 1fr; gap:20px; }
 .client-case-facts > div:nth-child(4) { grid-column:1 / -1; }
 .client-case-editorial,.client-case-section-intro,.client-case-challenges,.client-case-solution__pair,.client-case-quote { grid-template-columns:1fr; gap:20px; }
 .client-case-section-intro { margin-bottom:24px; }
 .client-case-challenges { gap:18px; }
 .client-case-challenges article { padding:20px; }
 .client-case-solution__lead { grid-template-columns:30px 1fr; gap:10px; }
 .client-case-solution__rows article { grid-template-columns:30px 1fr; gap:12px; }
 .client-case-solution__rows .body-copy { grid-column:2; }
 .client-case-solution__pair { margin:22px 0; gap:22px; }
 .client-case-outcomes { grid-template-columns:1fr; gap:22px; }
 .client-case-quote { padding:24px 20px; }
 .client-case-quote h2 { margin-bottom:10px; }
 .client-case-steps { grid-template-columns:1fr; gap:0; margin-top:24px; }
 .client-case-steps li { grid-template-columns:44px minmax(0,1fr); align-items:center; gap:16px; padding-bottom:24px; }
 .client-case-steps li:last-child { padding-bottom:0; }
 .client-case-steps li:not(:last-child):after { top:44px; left:21px; width:2px; height:calc(100% - 44px); }
 .client-case-snapshot__areas { grid-template-columns:1fr; }
 .client-case-technology ul { grid-template-columns:1fr; }
}
