.cases-page{background:var(--color-bg-page);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--type-body);line-height:1.65}.cases-page .site-header{position:relative}.cases-main{padding-top:64px;padding-bottom:80px}.cases-heading{max-width:850px;margin-bottom:40px}.cases-heading h1{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.12;max-width:900px;margin:16px 0 24px}.cases-heading>p:last-child{font-size:var(--type-body);max-width:680px}.case-list{display:grid;gap:32px}.case-card{display:grid;grid-template-columns:1.1fr 1fr;background:var(--color-bg-surface);border:1px solid var(--color-border-subtle)}.case-card-image{position:relative;display:block;min-width:0}.case-card-image img{width:100%;height:100%;object-fit:cover;display:block}.case-card-copy{padding:clamp(24px,4vw,56px);align-self:center}.case-card h2{font:500 clamp(1.9rem,3vw,2.75rem)/1.18 var(--font-display);margin:14px 0 24px}.case-card h2 a{color:inherit;text-decoration:none}.case-card-copy>p:not(.eyebrow){margin-bottom:28px}.case-breadcrumb{margin-bottom:40px}.case-breadcrumb a,.case-back,.cases-footer a{color:var(--color-text-primary);text-underline-offset:5px}.case-article{max-width:960px;margin:0 auto}.case-intro,.case-step-copy{max-width:720px}.case-intro{font-size:var(--type-body);margin-bottom:32px}.case-intro p,.case-step p{margin:0 0 20px}.case-photo{margin:0;position:relative}.case-photo img{display:block;width:100%;height:auto;background:var(--color-bg-subtle)}.case-work-title{font:500 clamp(2rem,3.5vw,3rem)/1.2 var(--font-display);margin:40px 0 32px}.case-step{padding:32px 0;border-top:1px solid var(--color-border-subtle)}.case-step h3{font:500 clamp(1.5rem,2.5vw,2rem)/1.3 var(--font-display);margin:0 0 20px}.case-photo-pair,.case-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.case-end{margin:48px auto 0;max-width:960px;padding:40px;background:var(--color-bg-subtle)}.case-end h2{font:500 2rem/1.2 var(--font-display);margin:0 0 16px}.case-end p{margin-bottom:24px}.case-back{display:inline-block;margin-left:24px}.cases-footer{padding-block:32px;border-top:1px solid var(--color-border-subtle);display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;font-size:14px}.cases-callout{padding:40px;background:var(--color-bg-subtle);display:flex;align-items:center;justify-content:space-between;gap:40px;margin-block:0 64px}.cases-callout>div{max-width:670px}.cases-callout h2{font:500 clamp(1.8rem,3vw,2.7rem)/1.2 var(--font-display);margin:12px 0 16px}.cases-callout p{margin-bottom:0}.cases-callout .btn{flex-shrink:0}.case-card a:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}@media(max-width:800px){.cases-main{padding-top:32px;padding-bottom:48px}.case-card{grid-template-columns:1fr}.case-card-copy{padding:24px}.case-card-image img{height:auto}.case-photo-pair,.case-photo-grid{grid-template-columns:1fr}.case-end{padding:24px}.case-back{display:block;margin:24px 0 0}.cases-callout{flex-direction:column;align-items:flex-start;padding:24px;gap:24px;margin-bottom:40px}.cases-callout .btn{max-width:100%;white-space:normal}.cases-heading{margin-bottom:28px}.cases-footer{flex-direction:column;gap:16px}}

/* Case reading is a named role, independent of the inherited hero body. */
.case-intro,.case-step-copy,.case-card-copy>p:not(.eyebrow),.case-end p,.cases-callout p{font-size:var(--type-body)}
.cases-page .eyebrow{font-size:var(--type-small);line-height:1.5}
