/* Keep V4's orange chapter while separating the story and its headline result. */
.case-story .cs-work { color:var(--cs-ink)!important; }
.cs-work .cs-mult, .cs-work .cs-bar-val, .cs-work .cs-facts dd { color:var(--cs-bg); }
.cs-work .cs-label { color:var(--cs-ink); }
.cs-work .cs-before { background:#ffd5bf; }
.cs-work .cs-after { background:#a13c1b; }
.cs-work .cs-chart::before { border-color:#fff8eeb3; }
.cs-work .cs-bar-val small { color:var(--cs-ink); }
.cs-work .cs-ghost { -webkit-text-stroke-color:#fff8ee55; }
.case-story .cs-cta svg { fill:currentColor; stroke:none; width:24px; height:24px; }
/* Both primary message buttons use the same orange and white treatment. */
#book .ticket .btn.dark, #footer .foot-btn { background:var(--orange-primary,#ff5a1f)!important; border-color:var(--orange-primary,#ff5a1f)!important; color:#fff!important; }
#book .ticket .btn.dark:hover, #footer .foot-btn:hover { background:var(--orange-deep,#a13c1b)!important; border-color:var(--orange-deep,#a13c1b)!important; color:#fff!important; }
#book .ticket .btn.dark svg, #footer .foot-btn svg { color:#fff!important; fill:currentColor; }
/* Desktop retains all three details; mobile keeps the single copyright line. */
#footer .foot-base { display:grid; grid-template-columns:1fr auto 1fr; gap:24px; text-align:left; font-size:12px; white-space:normal; align-items:center; }
#footer .foot-base .foot-role { text-align:center; }
#footer .foot-base .foot-domain { text-align:right; }
/* Native report crops show actual totals, without assembling separate snapshots. */
.service-proof { margin:0; min-width:0; height:100%; display:flex; flex-direction:column; justify-content:center; gap:10px; }
.service-proof-crop { display:block; position:relative; flex:none; width:100%; aspect-ratio:var(--crop-ratio); overflow:hidden; border-radius:8px; }
.service-proof-crop img { position:absolute; left:var(--image-left); top:var(--image-top); width:var(--image-width); max-width:none; height:auto; border-radius:0; object-fit:initial; }
.service-proof figcaption { font:500 clamp(10px,.85vw,12px)/1.4 var(--f-mono); color:var(--fg); text-align:center; }
.service-proof--dashboard > img { height:auto; max-height:calc(100% - 28px); object-fit:contain; object-position:center; }
@media(max-width:860px) { .service-proof figcaption { font-size:11px; } }
@media(max-width:600px) {
 #footer .foot-base { display:block; text-align:center; font-size:12px; white-space:nowrap; }
 #footer .foot-base .foot-role, #footer .foot-base .foot-domain { display:none; }
 .service-visual > :nth-child(2) { display:none; }
 .service-visual--cro .service-proof > img { object-fit:contain; }
 .service-proof { gap:8px; }
}

.service-visual--ads { grid-template-columns:1fr; }
.service-visual--ads .service-proof { width:min(100%,400px); justify-self:center; }

/* Desktop and mobile-app reports are separate source screenshots. */
#services .service-visual--ads{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center}
#services .service-visual--ads .service-proof{min-width:0;max-width:100%;justify-self:center}
#services .service-proof--mobile>img{width:100%;height:auto;max-height:calc(100% - 30px);object-fit:contain;object-position:center}
@media(max-width:600px){
 #services .service-visual--ads{grid-template-columns:1fr;aspect-ratio:auto;height:auto;padding:18px;gap:20px}
 #services .service-visual--ads>.service-proof{height:auto}
 #services .service-visual--ads>.service-proof--mobile{display:flex}
 #services .service-proof--mobile>img{max-height:none}
}
