/* Case-study pages only: deliberately scoped so shared header and footer remain unchanged. */
:root { --case-blue: #1557e8; --case-navy: #10255c; --case-text: #52627d; --case-line: #dfe8f8; }
.case-studies-page { color: var(--case-text); background: #fff; font-family: Poppins, Arial, sans-serif; overflow-x: hidden; }
/* The shared stylesheet offsets every main element for legacy pages. These pages use a
   fixed header and a hero with its own safe internal spacing, so that offset becomes
   an otherwise empty strip above the hero. */
.case-studies-page main#main { margin-top: 0; }
.case-studies-page .case-shell { width: min(1180px, calc(100% - 40px)); margin: auto; }
.case-studies-page .case-hero { padding: 132px 0 82px; background: radial-gradient(circle at 90% 12%, #dbeaff 0, transparent 30%), linear-gradient(120deg,#f7faff 0%,#fff 66%); }
.case-studies-page .case-eyebrow { display:inline-block; margin:0 0 16px; color:var(--case-blue); font-size:.78rem; font-weight:700; letter-spacing:.14em; }
.case-studies-page h1,.case-studies-page h2,.case-studies-page h3 { color:var(--case-navy); }
.case-studies-page .listing-title { max-width:760px; margin:0; font-size:clamp(2.35rem,5vw,4.6rem); line-height:1.12; letter-spacing:-.045em; font-weight:700; }
.case-studies-page .listing-title span { color:var(--case-blue); }
.case-studies-page .case-lede { max-width:680px; margin:24px 0 0; font-size:1.08rem; line-height:1.8; }
.case-studies-page .case-listing { padding:62px 0 92px; }
.case-studies-page .case-filters { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:38px; }
.case-studies-page .case-filter { appearance:none; border:1px solid #cad8f0; border-radius:999px; padding:10px 19px; background:#fff; color:var(--case-navy); font:600 .9rem Poppins,Arial,sans-serif; cursor:pointer; transition:.2s; }
.case-studies-page .case-filter:hover,.case-studies-page .case-filter:focus-visible { border-color:var(--case-blue); color:var(--case-blue); outline:none; }
.case-studies-page .case-filter.is-active { background:var(--case-blue); border-color:var(--case-blue); color:#fff; box-shadow:0 9px 18px rgba(21,87,232,.2); }
.case-studies-page .case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.case-studies-page .case-card { display:flex; flex-direction:column; min-height:100%; background:#fff; border:1px solid var(--case-line); border-radius:16px; overflow:hidden; box-shadow:0 10px 28px rgba(36,87,165,.08); transition:transform .25s ease,box-shadow .25s ease; }
.case-studies-page .case-card:hover { transform:translateY(-7px); box-shadow:0 19px 40px rgba(36,87,165,.16); }
.case-studies-page .case-card[hidden] { display:none; }
.case-studies-page .case-card-image { display:block; overflow:hidden; aspect-ratio:16/9; background:#edf4ff; }
.case-studies-page .case-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.case-studies-page .case-card:hover .case-card-image img { transform:scale(1.05); }
.case-studies-page .case-card-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:23px; }
.case-studies-page .case-badge { display:inline-flex; padding:5px 10px; border-radius:999px; background:#e9f1ff; color:#1557e8; font-size:.72rem; font-weight:700; letter-spacing:.04em; }
.case-studies-page .case-card h2 { margin:15px 0 10px; font-size:1.25rem; line-height:1.35; font-weight:700; }
.case-studies-page .case-card p { margin:0 0 19px; font-size:.9rem; line-height:1.7; }
.case-studies-page .case-link { margin-top:auto; color:var(--case-blue); font-size:.9rem; font-weight:700; text-decoration:none; }
.case-studies-page .case-link:hover { text-decoration:underline; }
/* Detail page */
.case-studies-page .case-detail-hero { padding:125px 0 72px; background:linear-gradient(135deg,#f3f8ff 0%,#fff 72%); }
.case-studies-page .case-detail-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:58px; }
.case-studies-page .case-detail-hero h1 { margin:0; max-width:660px; font-size:clamp(2.2rem,4.4vw,4.1rem); line-height:1.13; letter-spacing:-.04em; }
.case-studies-page .case-detail-hero p { max-width:600px; margin:20px 0 0; font-size:1.1rem; line-height:1.75; }
.case-studies-page .case-hero-image { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:18px; box-shadow:0 18px 42px rgba(32,84,168,.18); }
.case-studies-page .case-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:50px; padding:70px 0 84px; align-items:start; }
.case-studies-page .case-article section { padding:0 0 52px; }
.case-studies-page .case-article h2 { margin:0 0 18px; font-size:clamp(1.55rem,2.7vw,2.15rem); line-height:1.3; }
.case-studies-page .case-article p { margin:0 0 16px; line-height:1.85; }
.case-studies-page .case-section-image { display:block; width:min(100%,630px); margin:27px auto 0; border-radius:14px; box-shadow:0 10px 28px rgba(36,87,165,.1); }
.case-studies-page .case-results { margin:0; padding-left:1.2rem; line-height:1.85; }
.case-studies-page .case-results li { margin-bottom:8px; }
.case-studies-page .case-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; margin-top:22px; }
.case-studies-page .case-metric { padding:19px 14px; border:1px solid var(--case-line); border-radius:13px; background:linear-gradient(160deg,#fff,#f5f9ff); }
.case-studies-page .case-metric h3 { margin:0 0 11px; font-size:.88rem; line-height:1.4; }
.case-studies-page .case-before { color:#6d7a90; font-size:.78rem; text-decoration:line-through; }
.case-studies-page .case-after { margin-top:5px; color:var(--case-blue); font-size:1.05rem; font-weight:700; }
.case-studies-page .case-tech { padding:61px 0 82px; background:#f7faff; }
.case-studies-page .case-tech h2 { max-width:780px; margin:0 auto 30px; text-align:center; font-size:clamp(1.55rem,2.8vw,2.2rem); }
.case-studies-page .case-tech-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.case-studies-page .case-tech-card { min-height:106px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:9px; padding:12px; background:#fff; border:1px solid var(--case-line); border-radius:12px; box-shadow:0 7px 18px rgba(36,87,165,.05); font-weight:600; color:var(--case-navy); font-size:.85rem; text-align:center; }
.case-studies-page .case-tech-card img { max-height:42px; max-width:112px; object-fit:contain; }
.case-studies-page .case-contact-wrap { margin-top:2px; }
/* Keep the blog component's native sticky desktop behaviour and visual treatment. */
.case-studies-page .case-contact-wrap .blog-classic-form-card { box-shadow:var(--shadow-glow); }
/* Full consultation-card sizing used by the blog contact experience. */
.case-studies-page .case-contact-wrap .blog-classic-form-sidebar { max-width:340px; max-height:calc(100vh - var(--header-offset) - 24px); }
.case-studies-page .case-contact-wrap .blog-classic-form-header { padding:13px 15px 12px; }
.case-studies-page .case-contact-wrap .blog-classic-form-header h2 { margin:0 0 5px; color:#fff !important; font-size:1.2rem; line-height:1.28; font-weight:700; }
.case-studies-page .case-contact-wrap .blog-classic-form-header p { color:#fff !important; font-size:.76rem; line-height:1.4; }
.case-studies-page .case-contact-wrap .blog-classic-form-body { padding:11px 14px 13px; }
.case-studies-page .case-contact-wrap .blog-classic-form-sidebar .form-group { margin-bottom:8px; }
.case-studies-page .case-contact-wrap .blog-classic-form label { font-size:.78rem; margin-bottom:3px; }
.case-studies-page .case-contact-wrap .blog-classic-form input { min-height:39px; padding:7px 10px; font-size:.85rem; }
.case-studies-page .case-contact-wrap .blog-classic-form textarea { min-height:54px; max-height:54px; padding:7px 10px; font-size:.85rem; }
.case-studies-page .case-contact-wrap .blog-classic-form .btn-submit { width:100%; min-height:39px; padding:7px 12px; border-radius:999px; font-size:.86rem; font-weight:700; }
.case-studies-page .case-contact-wrap .blog-classic-form-sidebar .privacy-row { margin:2px 0 8px; font-size:.69rem; }
.case-studies-page .case-contact-wrap .blog-classic-form-sidebar .blog-classic-form-steps .step-label { font-size:.58rem; }
.case-studies-page .case-contact-wrap .blog-classic-form-steps .step-dot { width:1.45rem; height:1.45rem; font-size:.68rem; }
@media (min-width:1200px) { .case-studies-page .case-contact-wrap .blog-classic-form-sidebar { position:sticky; top:calc(var(--header-offset) + 12px); } }
.case-studies-page .case-closing { padding:63px 0; background:linear-gradient(140deg,#0d3caa,#1557e8); color:#fff; text-align:center; }
.case-studies-page .case-closing p { max-width:720px; margin:0 auto 22px; font-size:1.15rem; line-height:1.75; }
.case-studies-page .case-closing a { display:inline-flex; padding:12px 23px; border-radius:999px; background:#fff; color:#1557e8; font-weight:700; text-decoration:none; }
@media (max-width:991px) { .case-studies-page .case-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .case-studies-page .case-detail-hero-grid,.case-studies-page .case-detail-layout { grid-template-columns:1fr; gap:34px; } .case-studies-page .case-contact-wrap { max-width:480px; } .case-studies-page .case-tech-grid { grid-template-columns:repeat(3,1fr); } }
/* Move the same canonical blog form into the detail flow on tablet and mobile. */
@media (max-width:1199px) { .case-studies-page .case-contact-wrap .blog-classic-form-sidebar { display:block; position:static; width:100%; max-width:400px; } }
@media (max-width:600px) { .case-studies-page .case-shell { width:min(100% - 30px,1180px); } .case-studies-page .case-hero { padding:105px 0 54px; } .case-studies-page .case-detail-hero { padding:105px 0 50px; } .case-studies-page .case-grid { grid-template-columns:1fr; } .case-studies-page .case-listing,.case-studies-page .case-detail-layout { padding-top:45px; padding-bottom:56px; } .case-studies-page .case-metrics { grid-template-columns:1fr; } .case-studies-page .case-tech { padding:46px 0 56px; } .case-studies-page .case-tech-grid { grid-template-columns:repeat(2,1fr); } .case-studies-page .case-tech-card { min-height:94px; } }

/* Healthcare case study: mobile-first editorial experience. */
.case-study-detail-page { --cs-blue:#1557e8; --cs-navy:#11265a; --cs-ink:#26364f; --cs-muted:#61718b; --cs-line:#dce8fb; --cs-green:#159b63; --cs-red:#c94a55; }
.case-study-detail-page main#main { margin-top:0; }
.case-study-detail-page .cs-container { width:min(100% - 40px,1240px); margin-inline:auto; }
.case-study-detail-page .cs-hero { padding:116px 0 54px; background:radial-gradient(circle at 96% 10%,#d8e8ff 0,transparent 31%),linear-gradient(135deg,#f5f9ff,#fff 64%); }
.case-study-detail-page .cs-hero-grid { display:grid; gap:32px; align-items:center; }
.case-study-detail-page .cs-eyebrow,.case-study-detail-page .cs-kicker { margin:0 0 10px; color:var(--cs-blue); font-size:.76rem; font-weight:700; letter-spacing:.13em; }
.case-study-detail-page h1,.case-study-detail-page h2,.case-study-detail-page h3 { color:var(--cs-navy); }
.case-study-detail-page .cs-hero h1 { max-width:670px; margin:0; font-size:clamp(1.95rem,8.8vw,4rem); line-height:1.13; letter-spacing:-.045em; }
.case-study-detail-page .cs-hero-copy > p:last-child { max-width:600px; margin:18px 0 0; color:var(--cs-ink); font-size:1.05rem; line-height:1.65; }
.case-study-detail-page figure { margin:0; }.case-study-detail-page .cs-hero-visual { padding:12px; border-radius:18px; background:#fff; box-shadow:0 16px 38px rgba(23,87,193,.13); }
.case-study-detail-page .cs-hero-visual img,.case-study-detail-page .cs-illustration img,.case-study-detail-page .cs-platform-image img { display:block; width:100%; height:auto; object-fit:contain; }
.case-study-detail-page .cs-story-layout { display:grid; gap:40px; padding:56px 0 0; }.case-study-detail-page .cs-story { min-width:0; }
.case-study-detail-page .cs-section { padding:48px 0; }.case-study-detail-page .cs-section + .cs-section { border-top:1px solid var(--cs-line); }
.case-study-detail-page .cs-section h2 { margin:0 0 15px; font-size:clamp(1.48rem,6vw,2.25rem); line-height:1.25; letter-spacing:-.025em; }.case-study-detail-page .cs-copy p,.case-study-detail-page .cs-platform-head p,.case-study-detail-page .cs-platform-details p { margin:0 0 14px; color:var(--cs-ink); font-size:1rem; line-height:1.7; }
.case-study-detail-page .cs-illustration { margin-top:26px; padding:10px; border:1px solid var(--cs-line); border-radius:14px; background:#fff; }.case-study-detail-page .cs-section-tint { margin-inline:-20px; padding-inline:20px; background:#f5f9ff; border-top:0 !important; }
.case-study-detail-page .cs-check-list { display:grid; gap:8px; margin:22px 0 0; padding:0; list-style:none; }.case-study-detail-page .cs-check-list li::before { content:'✓'; display:inline-flex; align-items:center; justify-content:center; width:19px; height:19px; margin-right:8px; border-radius:50%; color:#fff; background:var(--cs-blue); font-size:.72rem; font-weight:700; }
.case-study-detail-page .cs-platform-head { max-width:690px; }.case-study-detail-page .cs-platform-image { margin:26px 0; padding:10px; border-radius:16px; background:#f4f8ff; }.case-study-detail-page .cs-capabilities { display:grid; gap:10px; margin:20px 0 0; padding:0; list-style:none; color:var(--cs-navy); font-weight:600; }.case-study-detail-page .cs-capabilities i { margin-right:8px; color:var(--cs-blue); }
.case-study-detail-page .cs-result { margin-inline:-20px; padding-inline:20px; background:linear-gradient(135deg,#eef5ff,#f9fbff); border-top:0 !important; }.case-study-detail-page .cs-improvements { border-top:0 !important; }.case-study-detail-page .cs-section-heading { max-width:720px; }.case-study-detail-page .cs-metrics { display:grid; gap:13px; margin-top:24px; }.case-study-detail-page .cs-metric { min-height:155px; padding:20px; border:1px solid var(--cs-line); border-radius:14px; background:#fff; box-shadow:0 9px 22px rgba(22,72,150,.06); }.case-study-detail-page .cs-metric > i { color:var(--cs-blue); font-size:1.25rem; }.case-study-detail-page .cs-metric h3 { margin:13px 0 16px; font-size:.98rem; line-height:1.4; }.case-study-detail-page .cs-metric p { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; }.case-study-detail-page .cs-before { color:var(--cs-red); font-weight:600; }.case-study-detail-page .cs-arrow { color:var(--cs-muted); }.case-study-detail-page .cs-metric strong { color:var(--cs-green); font-size:1.1rem; }
.case-study-detail-page .cs-improvement-visual { margin:22px 0 0; }.case-study-detail-page .cs-improvement-visual img { display:block; width:100%; height:auto; object-fit:contain; }
.case-study-detail-page .cs-improvements .cs-metrics { display:none; }
.case-study-detail-page .cs-technologies { border-top:0 !important; }.case-study-detail-page .cs-tech-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:23px; }.case-study-detail-page .cs-tech-grid > div { min-height:100px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:10px; border:1px solid var(--cs-line); border-radius:12px; background:#fff; color:var(--cs-navy); font-size:.78rem; font-weight:600; text-align:center; }.case-study-detail-page .cs-tech-grid img { max-width:92px; max-height:40px; object-fit:contain; }
.case-study-detail-page .cs-desktop-form { display:none; }.case-study-detail-page .cs-mobile-form { margin-top:30px; }.case-study-detail-page .cs-closing { padding:50px 0; background:#0066f1; }.case-study-detail-page .cs-closing > .cs-container { display:grid; gap:28px; }.case-study-detail-page .cs-closing p { max-width:690px; margin:0 0 16px; color:#fff !important; font-size:1rem; line-height:1.7; }.case-study-detail-page .cs-closing h2 { margin:0; color:#fff !important; font-size:clamp(1.4rem,5.8vw,2.2rem); line-height:1.3; }.case-study-detail-page .cs-contact-link { display:inline-flex; align-items:center; gap:9px; margin-top:20px; padding:12px 18px; border-radius:9px; background:#fff; color:var(--cs-blue); font-weight:700; text-decoration:none; }.case-study-detail-page .cs-contact-link:hover { color:var(--cs-blue); transform:translateY(-1px); }
.case-study-detail-page .cs-arrow { font-size:0; }.case-study-detail-page .cs-arrow::after { content:'→'; font-size:1rem; }
.case-study-detail-page .cs-check-list li::before { content:'\2713'; }
/* Keep the transition from hero to the first story section intentionally tight. */
.case-study-detail-page .cs-hero { padding-bottom:34px !important; }
.case-study-detail-page .cs-story-layout { padding-top:32px !important; }
.case-study-detail-page .cs-story > .cs-section:first-child { padding-top:34px; }
.case-study-detail-page .cs-result .cs-illustration { display:none; }
@media (min-width:700px) { .case-study-detail-page .cs-result { display:block !important; }.case-study-detail-page .cs-result .cs-copy { max-width:none; } }
@media (min-width:700px) { .case-study-detail-page .cs-story > .cs-section:first-child { padding-top:42px; }.case-study-detail-page .cs-split { grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr) !important; } }
.case-study-detail-page .cs-mobile-form .blog-classic-form-card { box-shadow:0 12px 32px rgba(0,0,0,.2); }.case-study-detail-page .blog-classic-form-header h3,.case-study-detail-page .blog-classic-form-header p { color:#fff !important; }
.case-study-detail-page .cs-closing .blog-classic-form .form-note { color:#26364f !important; }
@media (min-width:700px) { .case-study-detail-page .cs-container { width:min(100% - 64px,1240px); }.case-study-detail-page .cs-hero { padding-bottom:72px; }.case-study-detail-page .cs-split { display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; }.case-study-detail-page .cs-reverse .cs-copy { order:2; }.case-study-detail-page .cs-reverse .cs-illustration { order:1; }.case-study-detail-page .cs-illustration { margin-top:0; }.case-study-detail-page .cs-section-tint,.case-study-detail-page .cs-result { margin-inline:0; padding-inline:0; background:transparent; border-top:1px solid var(--cs-line) !important; }.case-study-detail-page .cs-section-tint .cs-copy,.case-study-detail-page .cs-result .cs-copy { padding:28px; border-radius:14px; background:#f5f9ff; }.case-study-detail-page .cs-metrics { grid-template-columns:repeat(3,1fr); }.case-study-detail-page .cs-tech-grid { grid-template-columns:repeat(4,1fr); }.case-study-detail-page .cs-mobile-form { max-width:430px; }.case-study-detail-page .cs-closing > .cs-container { grid-template-columns:minmax(0,1fr) minmax(330px,430px); align-items:start; }.case-study-detail-page .cs-mobile-form { margin-top:0; } }
@media (min-width:1100px) { .case-study-detail-page .cs-hero { padding:138px 0 76px; }.case-study-detail-page .cs-hero-grid { grid-template-columns:1.05fr .95fr; gap:70px; }.case-study-detail-page .cs-story-layout { grid-template-columns:minmax(0,1fr) 340px; gap:55px; padding-top:70px; }.case-study-detail-page .cs-desktop-form { display:block; }.case-study-detail-page .cs-desktop-form .blog-classic-form-sidebar { position:sticky; top:calc(var(--header-offset) + 14px); max-width:340px; }.case-study-detail-page .cs-mobile-form { display:none; }.case-study-detail-page .cs-tech-grid { grid-template-columns:repeat(4,1fr); }.case-study-detail-page .cs-section { padding:65px 0; } }
