/* Shared layout for generated cases and catalog, independent of client and slug */
:root{--case-gutter:20px;--case-reading:min(74ch,780px);--case-shell:1760px;--case-cover:1920px}
.cs-page,.case-catalog-content{min-width:0}
.case-cover__brand{padding:24px;white-space:normal;text-align:center}
.case-cover__brand>span{min-width:0;max-width:28ch;overflow-wrap:anywhere;text-wrap:balance;line-height:1.12}
.cs-page ::selection,.case-catalog-content ::selection{background:#e5def6;color:#17171c}
.cs-page :is(a,button,summary):focus-visible,.case-catalog-content :is(a,button):focus-visible{outline:2px solid #514b80;outline-offset:4px}
.cs-page>.case-draft-banner{width:calc(100% - var(--case-gutter)*2);max-width:1200px;margin:20px auto 0;padding:14px 20px;font-size:14px;line-height:1.55}
.cs-hero{padding:44px var(--case-gutter) 0}
.cs-hero__in{max-width:1200px}
.cs-hero__meta{font-family:var(--font-sans,Inter,sans-serif);font-size:14px;letter-spacing:0;margin-bottom:22px;gap:12px;font-variant-numeric:tabular-nums}
.cs-hero__title{max-width:1180px;font-size:clamp(32px,3.6vw,72px);line-height:1.1;letter-spacing:-.025em;text-wrap:balance;margin-bottom:22px}
.cs-hero__lead{max-width:780px;font-size:clamp(17px,1.3vw,22px);line-height:1.5;text-wrap:balance}
.cs-hero__cover{width:100%;max-width:var(--case-cover);height:auto;aspect-ratio:16/8;margin-top:40px;border-radius:16px}
.cs-body{width:100%;max-width:var(--case-shell);margin:48px auto 0;padding:0 var(--case-gutter) 64px;gap:40px;grid-template-columns:minmax(0,1fr)}
.cs-article{max-width:none;min-width:0;font-size:17px}
.cs-article>:is(.cs-p,.cs-sec-h,.cs-takeaways__list,.cs-steps-list,.case-quote,.case-question,ul){max-width:var(--case-reading)}
.cs-p,.cs-takeaways__list,.cs-steps-list{font-size:17px;line-height:1.7}
.cs-sec-h{font-size:clamp(26px,2vw,38px);line-height:1.2;letter-spacing:-.02em;scroll-margin-top:100px}
.cs-aside{position:static;padding:0;border:0;max-width:none}
.cs-aside__about{max-width:54ch}
.case-facts{margin-top:20px;border-top:1px solid #d8dce3;border-bottom:1px solid #d8dce3}
.case-facts>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:16px;cursor:pointer;font-size:15px;font-weight:500;list-style:none}
.case-facts>summary::-webkit-details-marker{display:none}
.case-facts>summary::after{content:'+';font-size:24px;line-height:1;font-weight:400}
.case-facts[open]>summary::after{content:'−'}
.case-facts .cs-aside__nav{margin-top:16px}
.case-facts .cs-aside__row{padding-block:12px}
.cs-tab,.case-filter{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.cs-showcase__tabs{flex-wrap:wrap}
.cs-showcase__h{max-width:50ch;line-height:1.4}
.case-showcase-note{font-size:14px;line-height:1.6;max-width:78ch}
.cs-arch-flow{padding-block:20px;gap:36px}
.cs-arch-node{min-width:0}
.cs-arch-node p{line-height:1.6}
.pf-shell{width:100%;max-width:1440px;grid-template-columns:200px minmax(0,1fr) 200px}
@media(max-width:1099px){.pf-shell{grid-template-columns:176px minmax(0,1fr)}}
@media(max-width:780px){.pf-shell{grid-template-columns:minmax(0,1fr)}}
.case-catalog-heading{max-width:1180px}
.case-catalog-heading .h2{font-size:clamp(34px,3.5vw,72px);line-height:1.12;text-wrap:balance}
.case-catalog-heading .lead{max-width:760px;font-size:clamp(17px,1.3vw,22px);line-height:1.55}
.case-catalog-heading>.overline{display:none}
.case-catalog-heading+.case-draft-banner{max-width:1180px;margin-top:28px;font-size:14px;line-height:1.6;text-align:left}
.case-catalog-content>.wrap{max-width:1840px;padding-inline:var(--case-gutter)}
.cases-grid{max-width:none;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:28px}
.case-card{min-width:0;max-width:none}
.case-card__title{font-size:clamp(24px,1.8vw,32px);line-height:1.22;letter-spacing:-.02em;text-wrap:balance}
.case-card__link{min-height:44px}
.case-card__industry{letter-spacing:.02em;font-size:12px}
.case-card__body{min-height:0}
@media(min-width:760px){
 :root{--case-gutter:36px}
 .cs-hero{padding-top:56px}
 .cs-hero__cover{margin-top:48px;aspect-ratio:16/7.5}
 .cs-body{margin-top:64px}
 .cs-p,.cs-takeaways__list,.cs-steps-list{font-size:18px}
 .cases-grid:has(>.case-card:only-child){max-width:1440px;margin-inline:auto;grid-template-columns:minmax(0,1fr)}
 .cases-grid>.case-card:only-child{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0;padding:16px}
 .cases-grid>.case-card:only-child .case-card__media{aspect-ratio:16/10;height:100%}
 .cases-grid>.case-card:only-child .case-card__body{padding:clamp(24px,3vw,52px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
 .cases-grid>.case-card:only-child .case-card__title{font-size:clamp(28px,2.5vw,44px);max-width:22ch}
 .cases-grid>.case-card:only-child .case-card__bottom{margin-top:28px}
}
@media(min-width:1100px){
 :root{--case-gutter:48px}
 .cs-body{grid-template-columns:240px minmax(0,1fr);column-gap:64px}
 .cs-aside{position:sticky;top:104px}
 .case-facts{border:0;margin-top:24px}
 .case-facts>summary{display:none}
 .case-facts:not([open])>:not(summary){display:block}
 .cs-aside__nav{margin-top:0}
 .cs-hero{padding-top:64px}
 .cs-hero__cover{aspect-ratio:16/6.6}
 .cs-body{margin-top:76px}
}
@media(min-width:1800px){
 :root{--case-gutter:64px}
 .cs-body{column-gap:88px}
 .cs-p,.cs-takeaways__list,.cs-steps-list{font-size:20px}
 .cs-hero__lead{max-width:900px}
 .cs-hero__cover{aspect-ratio:16/6.4;margin-top:56px}
 .cs-hero__cover .case-cover__brand{font-size:clamp(48px,4vw,100px)}
 .case-catalog-content{padding-top:64px;padding-bottom:88px}
 .cases-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:32px}
}
@media(max-width:759px){
 .cs-hero__cover{aspect-ratio:16/10;margin-top:30px;border-radius:14px}
 .cs-hero__title{font-size:clamp(30px,7.5vw,48px)}
 .cs-body{margin-top:36px;gap:36px}
 .cs-aside__about{font-size:14px;line-height:1.6}
 .cs-aside__nav{display:flex;flex-wrap:wrap;gap:4px 8px}
 .cs-aside__nav-lbl{flex-basis:100%}
 .cs-nav-link{min-height:44px;display:flex;align-items:center;padding:8px 12px}
 .cs-article>:is(.cs-p,.cs-sec-h,.cs-takeaways__list,.cs-steps-list,.case-quote,.case-question,ul){max-width:100%}
 .cs-showcase__top{gap:20px;align-items:flex-start}
 .case-filters{gap:8px;margin-bottom:28px}
 .case-card{padding:12px;border-radius:16px}
 .case-card__body{padding:24px 12px 16px}
 .case-card__title{font-size:26px}
}
@media(prefers-reduced-motion:reduce){.case-card,.case-card__media-in{transition:none;transform:none!important}}
