/* V20.1 - full-width backgrounds and Case Studies refinements */
html,body{width:100%;min-height:100%;max-width:none;margin:0;padding:0;overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
body.cba-page main{width:100%;margin:0;padding:0;overflow:hidden}
body.cba-page main>section,
body.cba-page .site-header,
body.cba-page .site-footer-v6{width:100%;max-width:none;margin-left:0;margin-right:0}

/* Background bands fill the viewport while their inner .container stays aligned. */
.journey-band,.final-cta,.contact-band,.v19-final,.dark,.cs12-nav,.cs12-cases,
.cs12-case,.dossier-section,.cs4-case,.cs5-dark,.cs11-cases,.layers-section{
  width:100%;max-width:none;margin-left:0;margin-right:0;border-radius:0;box-sizing:border-box
}

.case-v12 .cs12-hero{
  position:relative;padding:74px 0 68px!important;border-bottom:0!important;overflow:hidden;
  background:radial-gradient(circle at 84% 12%,rgba(122,38,58,.12),transparent 31%),linear-gradient(135deg,#fffdf8 0%,#f8f4ed 58%,#f2ece3 100%)!important
}
.case-v12 .cs12-hero:after{content:none!important}
.case-v12 main>section+section::before{content:none!important;display:none!important}
.case-v12 .cs12-hero-grid{position:relative;display:grid;grid-template-columns:minmax(560px,1.12fr) minmax(390px,.76fr)!important;gap:clamp(64px,8vw,126px)!important;align-items:center!important}
.case-v12 .cs12-hero-grid>.flow:first-child{transform:none!important}
.case-v12 .cs12-hero-grid>.flow:last-child{padding:8px 0 0 34px!important;border-left:1px solid rgba(122,38,58,.28)}
.case-v12 .cs12-hero .eyebrow{margin-bottom:24px}
.case-v12 .cs12-hero h1{max-width:700px;font-size:clamp(56px,6vw,84px)!important;line-height:.96!important;letter-spacing:-.025em}
.case-v12 .cs12-hero p{max-width:530px;font-size:18px!important;line-height:1.62!important}
.case-v12 .cs12-hero .button.primary{margin-top:26px!important}
.case-v12 .cs12-intro{padding:34px 0 42px!important;background:#fffdf8!important}
.case-v12 .cs12-intro-inner{grid-template-columns:210px 1fr!important;gap:42px!important;align-items:baseline!important}
.cs12-intro-label{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.case-v12 .cs12-intro p{max-width:930px;font-family:var(--sans)!important;font-size:17px!important;line-height:1.65!important;color:var(--muted)!important}
.case-v12 .cs12-case-layout{align-items:stretch!important}
.case-v12 .cs12-media-stack{position:relative;top:auto;height:100%;display:grid;grid-template-rows:minmax(0,1fr) 168px;gap:10px}
.case-v12 .cs12-media-main{aspect-ratio:auto;height:auto!important;min-height:420px;margin-bottom:0!important}
.case-v12 .cs12-thumb-row{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.case-v12 .cs12-thumb-row figure{width:100%;height:168px!important}
.case-v12 .cs12-case-copy{height:100%;align-self:stretch}
.case-v12 .cs12-media-main img{filter:saturate(.94) contrast(.98)!important}
.case-v12 .cs12-media-caption,.case-v12 .cs12-media-note{display:none!important}

@media(max-width:1120px){
  .case-v12 .cs12-hero-grid{grid-template-columns:1fr!important;gap:34px!important}
  .case-v12 .cs12-hero-grid>.flow:last-child{padding:24px 0 0!important;border-left:0;border-top:1px solid rgba(122,38,58,.24)}
  .case-v12 .cs12-media-stack{height:auto;grid-template-rows:auto 160px}
  .case-v12 .cs12-media-main{aspect-ratio:5/4;min-height:0}
  .case-v12 .cs12-thumb-row figure{height:160px!important}
}
@media(max-width:760px){
  .case-v12 .cs12-hero{padding:58px 0 48px!important}
  .case-v12 .cs12-hero h1{font-size:clamp(46px,14vw,64px)!important}
  .case-v12 .cs12-intro-inner{grid-template-columns:1fr!important;gap:14px!important}
  .case-v12 .cs12-media-stack{display:block}
  .case-v12 .cs12-media-main{margin-bottom:10px!important}
  .case-v12 .cs12-thumb-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .case-v12 .cs12-thumb-row figure{height:112px!important}
}
