/* Shared centered containers: section spacing must not remove horizontal gutters. */
body .shell{margin-left:auto!important;margin-right:auto!important;min-width:0}
.shell>*,.shell [class$="-grid"]>*{min-width:0}
main .shell img{max-width:100%}
main .shell p,main .shell li{overflow-wrap:break-word}
/* Case studies: compact sections with a consistent number/text hierarchy. */
.case-story.shell{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;margin-top:28px;margin-bottom:64px}
.case-story.shell>section{grid-template-columns:32px minmax(0,1fr);gap:16px;padding:42px 0;align-items:start;min-width:0}
.case-story.shell>section>div{min-width:0}
.case-story.shell h2{font-size:clamp(25px,2.1vw,34px);line-height:1.18;letter-spacing:-.025em;margin:12px 0 20px}
.case-story.shell p{line-height:1.8;margin:0 0 16px}
.case-story.shell ol,.case-story.shell .case-work-grid{grid-template-columns:minmax(0,1fr)}
.case-story.shell .case-work-grid>div+div{border-left:0;border-top:1px solid var(--line)}
.case-story.shell .outcome-list{grid-template-columns:minmax(0,1fr)}
.case-section-no{padding-top:2px;line-height:1.3}
@media(max-width:900px){.case-story.shell{grid-template-columns:minmax(0,1fr);gap:0}.case-story.shell>section{padding:32px 0}.case-story.shell h2{font-size:29px}}
@media(max-width:600px){body .shell{width:calc(100% - 36px)}.case-story.shell{margin-top:12px;margin-bottom:36px}.case-story.shell>section{grid-template-columns:26px minmax(0,1fr);gap:12px;padding:28px 0}.case-story.shell h2{font-size:25px}.case-story.shell p{font-size:15px}.case-anatomy .shell{display:flex;gap:20px;overflow-x:auto;padding-top:14px;padding-bottom:14px}.case-anatomy a{flex:none;white-space:nowrap}}
