/* Editorial project pages using the existing BleetzApp fonts and colour tokens. */
.case-page .cs-links a,.case-page .cs-menu nav a{font-size:.875rem}
.case-page a:focus-visible,.case-page summary:focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.case-skip{position:fixed;top:8px;left:12px;z-index:100;transform:translateY(-160%);padding:10px 16px;background:#fff;border:2px solid var(--brand);border-radius:8px}
.case-skip:focus{transform:none}
.case-wrap{max-width:1120px;margin:auto;padding:24px var(--pad) 40px}
.case-breadcrumb{display:flex;flex-wrap:wrap;gap:7px 10px;color:var(--ink-2);font-size:.875rem;margin:0 0 30px}
.case-breadcrumb a:hover,.case-links a:hover,.case-facts a:hover,.case-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.case-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;align-items:center;padding-bottom:38px;border-bottom:1px solid var(--line)}
.case-eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:700;color:var(--brand);margin-bottom:10px}
.case-hero h1{font-family:var(--f-d);font-size:clamp(1.4rem,2.8vw,2.6rem);line-height:1.12;letter-spacing:-.035em;font-weight:600;margin-bottom:14px}
.case-lead{font-size:1.0625rem;color:var(--ink-2);line-height:1.65;max-width:44ch}
.case-facts{display:grid;gap:12px;margin-top:24px;font-size:.875rem}
.case-facts dt{font-weight:700;color:var(--ink)}
.case-facts dd{color:var(--ink-2);margin:0}
.case-facts a{color:var(--brand-d)}
.case-preview{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--e-2)}
.case-preview img{width:100%;height:auto;aspect-ratio:8/5;object-fit:contain}
.case-preview figcaption{padding:10px 14px;color:var(--ink-2);font-size:.75rem;border-top:1px solid var(--line)}
.case-story{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;padding:36px 0}
.case-narrative{display:grid;align-content:start;gap:28px}
.case-story h2,.case-bottom h2,.case-cta h2{font-family:var(--f-d);font-size:1.375rem;font-weight:600;line-height:1.3;letter-spacing:-.025em;margin:0 0 12px}
.case-story p{font-size:1rem;color:var(--ink-2);line-height:1.75}
.case-features{padding-left:28px;border-left:1px solid var(--line)}
.case-features section{margin:0 0 21px}
.case-features h3{font-size:1rem;font-weight:700;margin:0 0 7px;letter-spacing:0}
.case-scope{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin-top:18px}
.case-scope li{padding:5px 10px;font-size:.8125rem;background:#e9f4f8;border:1px solid #d3e8f0;border-radius:7px;color:var(--ink-2)}
.case-journey{padding-left:21px;color:var(--ink-2);font-size:1rem;line-height:1.65}
.case-journey li+li{margin-top:7px}
.case-bottom{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;border-top:1px solid var(--line);padding:26px 0}
.case-links{list-style:none;display:grid;gap:7px;font-size:1rem;color:var(--brand-d)}
.case-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border-radius:16px;background:#e8f4f8;margin-top:12px}
.case-cta h2{margin-bottom:6px}.case-cta p{color:var(--ink-2);font-size:1rem}
.case-button{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border-radius:9px;background:var(--brand);color:#fff;font-size:.9375rem;font-weight:700}
.case-button:hover{background:var(--brand-d)}
.case-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;border-top:1px solid var(--line);padding:17px var(--pad);font-size:.8125rem;color:var(--ink-2)}
@media(max-width:760px){.case-wrap{padding-top:20px}.case-breadcrumb{margin-bottom:23px}.case-hero{grid-template-columns:1fr;gap:24px;padding-bottom:26px}.case-hero h1{font-size:clamp(1.3rem,5.4vw,1.65rem)}.case-lead{font-size:1rem}.case-facts{margin-top:18px;gap:10px}.case-story{grid-template-columns:1fr;gap:30px;padding:28px 0}.case-features{padding:26px 0 0;border-left:0;border-top:1px solid var(--line)}.case-bottom{grid-template-columns:1fr;gap:23px}.case-cta{flex-direction:column;align-items:stretch;padding:20px}.case-cta h2{font-size:1.2rem}.case-button{align-self:flex-start}.case-story h2,.case-bottom h2{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){.case-page{scroll-behavior:auto}.case-page *{transition:none!important}}
