/* RA-CASE-01: page composition only; foundation tokens and primitives stay shared. */
.ra-case .case-masthead{display:grid;gap:24px}
.ra-case .case-masthead h1{max-width:22ch;text-wrap:balance}
.ra-case .case-deck{max-width:76ch}
.ra-case .case-meta{font-size:14px;color:var(--muted);line-height:1.7}
.ra-case .case-preview{border-top:1px solid var(--line);padding-top:20px;max-width:100ch}
.ra-case .case-cover{margin-top:32px}
.ra-case .case-cover img{display:block;aspect-ratio:2.3;object-position:50% top}
.ra-case .case-facts{display:grid;gap:0 32px}
.ra-case .case-facts>div{display:block;padding:20px 0}
.ra-case .case-facts dd{margin-top:8px;font-size:16px;line-height:1.6}
.ra-case .case-requirement{align-items:center}
.ra-case .case-requirement p+p{margin-top:16px}
.ra-case .case-requirement .ra-photo img{display:block;aspect-ratio:1.3;object-position:center}
.ra-case .case-scope-note{margin-top:20px;max-width:95ch}
.ra-case .case-execution{gap:24px}
.ra-case .case-execution img{display:block;object-position:center;aspect-ratio:1.65}
.ra-case .case-execution>.ra-photo img{aspect-ratio:2.3}
.ra-case .case-controls{align-items:start}
.ra-case .case-controls .section-intro{margin:0}
.ra-case .case-outcome{border-top:1px solid var(--line);padding-top:32px;align-items:start}
.ra-case .case-outcome .section-intro{margin:0}
.ra-case .case-outcome-copy{display:grid;gap:20px}
.ra-case .case-service{display:grid;gap:16px}
.ra-case .case-service h2{max-width:22ch}
.ra-case .case-service p:not(.pathway-eyebrow){max-width:80ch}
.ra-case .case-service .ra-wrap-actions{margin-top:8px}
.ra-case .case-return{border-top:1px solid var(--line);padding-top:32px;display:grid;gap:24px}
.ra-case .case-return .ra-wrap-actions{margin:0}
.ra-case .brand-name,.ra-case .brand-red{color:inherit}
@media(min-width:720px){
 .ra-case .case-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ra-case .case-cover{margin-top:40px}
 .ra-case .case-requirement,.ra-case .case-execution>.ra-grid{gap:32px}
 .ra-case .case-return{grid-template-columns:minmax(0,1fr) auto;align-items:center}
 .ra-case .case-return h2{font-size:32px}
}
@media(min-width:1100px){
 .ra-case .case-masthead h1{font-size:clamp(48px,4.25vw,66px)}
 .ra-case .case-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
 .ra-case .case-requirement,.ra-case .case-controls,.ra-case .case-outcome{gap:64px}
 .ra-case .case-cover{margin-top:48px}
 .ra-case .case-outcome{padding-top:48px}
}
@media(max-width:719px){
 .ra-case .case-cover img{aspect-ratio:1.3;object-position:50% center}
 .ra-case .case-execution>.ra-photo img{aspect-ratio:1.5}
 .ra-case .case-meta{font-size:13px}
}
