/* Case study pages. Builds on service-pages.css and area.css. */
.cs-page .sp-hero-copy h1.cs-title{font:600 clamp(36px,4.4vw,58px)/1.1 'Playfair Display',Georgia,serif;letter-spacing:-.035em;text-transform:none;color:var(--sp-ink);margin:10px 0 22px}
.cs-facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:0 0 20px;border-block:1px solid var(--sp-line)}
.cs-facts div{padding:18px 16px 18px 0}
.cs-facts dt{font:600 11px/1.3 'Poppins',Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--sp-muted)}
.cs-facts dd{margin:4px 0 0;font-weight:600;font-size:15px;line-height:1.4}
.cs-pairs{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:32px}
.cs-pairs figcaption,.cs-steps figcaption,.cs-gallery figcaption{font-size:12px;color:var(--sp-muted);margin-top:8px;line-height:1.5}
.cs-challenges{grid-template-columns:repeat(2,minmax(0,1fr))}
.cs-steps{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:48px}
.cs-steps>li{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:40px;padding-top:28px;border-top:1px solid var(--sp-line)}
.cs-step-copy h3{margin:10px 0 10px}
.cs-step-copy p{color:var(--sp-muted)}
.cs-step-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.cs-step-photos img,.cs-gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;background:#e6e7df}
.cs-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}
.cs-review blockquote{margin:0;padding:36px 40px;background:#eeeee5;border-left:3px solid #8b9e68}
.cs-review p{font:500 22px/1.5 'Playfair Display',Georgia,serif}
.cs-review footer{margin-top:14px;font-size:13px;color:var(--sp-muted)}
@media(max-width:1000px){.cs-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){
  .cs-pairs,.cs-challenges,.cs-steps>li{grid-template-columns:1fr}
  .cs-gallery{grid-template-columns:1fr 1fr}
  .cs-steps>li{gap:18px}
}
@media(max-width:480px){.cs-facts{grid-template-columns:1fr 1fr}.cs-gallery{grid-template-columns:1fr}}
.cs-steps>li.cs-step-nophoto{grid-template-columns:minmax(0,.8fr)}
.cs-hero-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.cs-videos{display:grid;gap:28px;margin-top:28px}
.cs-videos-2{grid-template-columns:1fr 1fr}
.cs-videos figcaption{font-size:13px;color:var(--sp-muted);margin-top:10px;line-height:1.5}
.cs-videos figcaption strong{color:var(--sp-ink)}
@media(max-width:800px){.cs-videos-2{grid-template-columns:1fr}}
