/* Editorial case layout. Scoped to case pages; shared forms and shell retain their contract. */
html body main .case-story{background:#fff;color:#122239;padding:0 0 80px;font-family:inherit;overflow-wrap:break-word}
html body main .case-story *,html body main .case-story *::before,html body main .case-story *::after{box-sizing:border-box}
.case-story .cs-wrap{max-width:1160px;margin:0 auto;padding:0 32px}
.case-story .cs-back{display:flex;flex-wrap:wrap;gap:16px 28px;padding:30px 0 0;font-size:14px;color:#546479}
.case-story a{color:#154dbf;text-underline-offset:4px}
.case-story a:focus-visible,.case-story summary:focus-visible{outline:3px solid #235eed;outline-offset:5px}
.case-story .cs-intro{max-width:1000px;padding:52px 0 56px}
.case-story .cs-kicker{font-size:13px;font-weight:700;letter-spacing:.065em;color:#2654ad;margin:0 0 16px;line-height:1.5}
html body main .case-story h1{font-size:clamp(34px,4.1vw,58px);font-weight:750;line-height:1.1;letter-spacing:-.035em;margin:0 0 24px;color:#122239;max-width:1000px}
.case-story .cs-lead{max-width:820px;font-size:21px;line-height:1.6;margin:0 0 24px;color:#465971}
.case-story .cs-text-link{display:inline-block;font-size:16px;line-height:1.5;font-weight:650;text-decoration:none}
.case-story .cs-text-link:hover{text-decoration:underline}
.case-story .cs-reading{display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px;border-top:1px solid #dce3ec;padding-top:44px}
.case-story .cs-facts{align-self:start;font-size:14px;line-height:1.6;color:#53657b}
.case-story .cs-facts dl{margin:0 0 28px}
.case-story .cs-facts dt{font-size:12px;margin:0 0 5px;color:#617188}
.case-story .cs-facts dd{margin:0 0 20px;font-weight:600;color:#20334e}
.case-story .cs-narrative{min-width:0}
html body main .case-story h2{font-size:28px;line-height:1.22;letter-spacing:-.018em;margin:0 0 17px;color:#152940}
.case-story .cs-chapter{margin:0 0 38px}
.case-story .cs-chapter p,.case-story .cs-result>p:not(.cs-kicker),.case-story .cs-fit>p{font-size:18px;line-height:1.8;margin:0;color:#42546b}
.case-story .cs-figure{margin:36px 0 42px;min-width:0}
.case-story .cs-figure>a{display:block;padding:12px;background:#edf2f8;border:1px solid #d9e2ee;border-radius:12px}
.case-story .cs-figure img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:5px}
.case-story .cs-figure figcaption{font-size:14px;line-height:1.6;color:#465971;margin:12px 0 0}
.case-story .cs-figure figcaption span{display:block;font-size:12px;color:#64748a;margin-top:4px}
.case-story .cs-mobile-gallery{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px;margin:8px 0 32px}
.case-story .cs-mobile-gallery .cs-figure{flex:1 1 220px;max-width:300px;margin:0}
.case-story .cs-result{padding:28px 30px;border-left:3px solid #2662dd;background:#f2f6fc;margin:40px 0 24px}
.case-story .cs-result .cs-kicker{margin-bottom:10px}
.case-story .cs-checks{border-bottom:1px solid #dce3ec;padding:0 0 22px;margin:0 0 40px}
.case-story .cs-checks summary{cursor:pointer;font-size:16px;font-weight:600;line-height:1.6;padding:8px 0;color:#25476f}
.case-story .cs-checks ul{padding-left:22px;margin:16px 0 0;font-size:16px;line-height:1.7;color:#42546b}
.case-story .cs-checks li+li{margin-top:10px}
.case-story .cs-fit{scroll-margin-top:110px}
.case-story .cs-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin:26px 0 30px}
.case-story .cs-button{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;min-height:48px;border-radius:9px;background:#1d57d7;color:#fff;font-size:16px;line-height:1.4;font-weight:650;text-decoration:none}
.case-story .cs-button:hover{background:#1746ab}
html body main .case-story .cs-services-label{font-size:13px;color:#617188;margin:0 0 10px}
.case-story .cs-services{list-style:none;padding:0;margin:0;display:flex;gap:10px 22px;flex-wrap:wrap;font-size:14px;line-height:1.6}
.case-story .cs-index-nav{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:32px;font-size:15px;line-height:1.6}
.case-story .cs-index-nav a{padding:6px 0}
.case-story .cs-collection{scroll-margin-top:110px;margin-bottom:60px}
.case-story .cs-collection>h2{padding-bottom:20px;border-bottom:2px solid #193963}
.case-story .cs-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.case-story .cs-project{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:28px 0 32px;border-bottom:1px solid #dce3ec}
.case-story .cs-project .cs-kicker{margin-bottom:12px}
html body main .case-story .cs-project h3{font-size:24px;line-height:1.3;letter-spacing:-.015em;margin:0 0 14px}
.case-story .cs-project h3 a{color:#152940;text-decoration:none}
.case-story .cs-project h3 a:hover{color:#154dbf;text-decoration:underline}
.case-story .cs-project>p:not(.cs-kicker){font-size:16px;line-height:1.75;margin:0 0 22px;color:#465971}
.case-story .cs-project>.cs-text-link{margin-top:auto}
.case-story .cs-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
@media(max-width:900px){.case-story .cs-reading{grid-template-columns:170px minmax(0,1fr);gap:32px}.case-story .cs-wrap{padding:0 24px}.case-story .cs-projects{gap:0 30px}}
@media(max-width:640px){html body main .case-story{padding-bottom:48px}.case-story .cs-wrap{padding:0 20px}.case-story .cs-back{padding-top:24px;font-size:13px;gap:8px 16px}.case-story .cs-intro{padding:32px 0 34px}.case-story .cs-lead{font-size:18px;line-height:1.65}.case-story .cs-reading{display:flex;flex-direction:column;gap:28px;padding-top:24px}.case-story .cs-facts{width:100%;padding-bottom:20px;border-bottom:1px solid #dce3ec}.case-story .cs-facts dl{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px 16px;margin:0}.case-story .cs-facts dt,.case-story .cs-facts dd{margin:0}.case-story .cs-facts>a{display:none}html body main .case-story h2{font-size:25px}.case-story .cs-chapter p,.case-story .cs-result>p:not(.cs-kicker),.case-story .cs-fit>p{font-size:17px;line-height:1.75}.case-story .cs-chapter{margin-bottom:30px}.case-story .cs-result{padding:22px 20px}.case-story .cs-mobile-gallery .cs-figure{max-width:280px}.case-story .cs-projects{grid-template-columns:minmax(0,1fr)}html body main .case-story .cs-project h3{font-size:22px}.case-story .cs-index-nav{gap:8px 20px}.case-story .cs-figure>a{padding:7px}.case-story .cs-collection{margin-bottom:42px}}

.case-story .cs-screens{margin:24px 0 32px;border-top:1px solid #dce3ec;border-bottom:1px solid #dce3ec;padding:16px 0}.case-story .cs-screens summary{font-size:16px;line-height:1.6;font-weight:600;color:#25476f;cursor:pointer}.case-story .cs-screens[open] .cs-mobile-gallery{margin-top:24px}

/* Case readers have the header action and contextual form; keep the text unobstructed. */
body.case-study-page .zs-contact-widget{display:none}
@media(max-width:360px){body.case-study-page .zs-header__inner{gap:8px}}

/* Cost comparison: local to case narrative; labels stay readable on narrow screens. */
.case-story .cs-costs{margin:0 0 44px;min-width:0}.case-story .cs-costs table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:1.5}.case-story .cs-costs caption{text-align:left;font-weight:650;margin-bottom:16px;color:#152940}.case-story .cs-costs th,.case-story .cs-costs td{padding:16px 12px;text-align:left;border-bottom:1px solid #dce3ec;vertical-align:top;overflow-wrap:anywhere}.case-story .cs-costs th:first-child{width:56%}.case-story .cs-costs thead{background:#f2f6fc}.case-story .cs-costs small{display:block;font-weight:400;font-size:14px;color:#465971;margin-top:5px}.case-story .cs-costs details{margin:22px 0}.case-story .cs-costs summary{cursor:pointer;font-weight:650;line-height:1.5;color:#25476f}.case-story .cs-costs details p{font-size:15px;line-height:1.7;color:#42546b;margin:16px 0}.case-story .cs-costs td{font-weight:650}
@media(max-width:640px){.case-story .cs-costs thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.case-story .cs-costs table,.case-story .cs-costs tbody,.case-story .cs-costs tr{display:block;width:100%}.case-story .cs-costs tr{padding:16px 0;border-bottom:1px solid #dce3ec}.case-story .cs-costs th:first-child{display:block;width:100%;padding:0 0 12px;border:0}.case-story .cs-costs td{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border:0}.case-story .cs-costs td::before{content:attr(data-label);font-weight:400;color:#465971}}
