/* Case-study pages; loaded after site.css (light style B) */
.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}
.topbar nav a:hover,.home-link:hover{color:var(--accent)}
.home-link{font:600 14px var(--mono);color:var(--ink);text-decoration:none}
.home-link::before{content:"\2190  ";color:var(--accent)}
.topbar nav{display:flex;gap:18px;font:13px var(--mono)}
.topbar nav a{color:var(--muted);text-decoration:none}
.topbar nav a:hover{color:var(--accent)}
.case main{max-width:880px}
.case-hero{padding:56px 0 8px}
.case h1{font-size:2.8rem;margin:0 0 10px}
.tagline{font-size:1.2rem;color:var(--body);max-width:44rem;margin:0 0 20px}
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 28px}
.btn{font:600 14px var(--mono);text-decoration:none;color:var(--on-accent);background:var(--accent);border:1px solid var(--accent);padding:7px 16px;border-radius:4px}
.btn+.btn{background:transparent;color:var(--accent)}
.btn:hover{background:#05663a;border-color:#05663a}
.btn+.btn:hover{background:var(--accent-soft)}
.note{font:12.5px var(--mono);color:var(--muted)}
.note.small{margin:8px 0 0}
.hero-shot,.shot{position:relative;margin:0 0 8px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px;box-shadow:var(--shadow)}
.hero-shot::before,.hero-shot::after{content:"";position:absolute;width:18px;height:18px;border:2px solid var(--accent)}
.hero-shot::before{top:-6px;left:-6px;border-right:0;border-bottom:0}
.hero-shot::after{bottom:-6px;right:-6px;border-left:0;border-top:0}
.hero-shot .det{left:18px;top:-10px;bottom:auto}
.hero-shot img,.shot img{display:block;width:100%;height:auto;border-radius:3px;border:1px solid var(--line)}
figcaption{font:12.5px/1.5 var(--mono);color:var(--muted);padding:8px 4px 2px}
.shot{margin-top:24px}
.case section{margin-top:52px}
.case section.case-hero{margin-top:0}
.case h2{font:600 13px var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin:0 0 14px;display:flex;gap:12px;align-items:center}
.case h2::after{content:"";flex:1;height:1px;background:var(--line)}
.case section p{max-width:46rem}
.case ul{padding-left:1.1rem;margin:0}
.case ul li{margin:.35rem 0;color:var(--body)}
.case ul.tags{padding:0;margin:0 0 20px}
.case ul.tags li{margin:0;color:var(--muted)}
.flow{list-style:none;padding:0;margin:0;display:grid;gap:0}
.flow li{position:relative;display:grid;grid-template-columns:170px 1fr;gap:4px 18px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:4px;box-shadow:0 1px 2px rgba(16,24,32,.05);padding:14px 16px;margin-bottom:26px}
.flow li:not(:last-child)::after{content:"";position:absolute;left:50px;bottom:-27px;width:2px;height:26px;background:var(--accent);opacity:.9}
.flow li:not(:last-child)::before{content:"";position:absolute;left:46px;bottom:-28px;border:5px solid transparent;border-top-color:var(--accent);border-bottom:0;opacity:.9}
.flow b{font:600 14px var(--mono);color:var(--ink);grid-row:1/3}
.flow span{color:var(--body);font-size:.95rem}
.flow code{font:12px var(--mono);color:var(--accent)}
.flow-note{font:13px var(--mono);color:var(--muted);margin:-8px 0 0}
dl{margin:0}
dt{font-weight:700;margin-top:18px}
dt::before{content:"\25A1  ";color:var(--accent)}
dd{margin:4px 0 0;color:var(--body);max-width:46rem}
code{font:.88em var(--mono);color:var(--ink);background:#eceff2;padding:1px 5px;border-radius:3px}
.flow code{background:none;padding:0}
.next-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.next-grid a{display:block;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:16px 18px;color:var(--body);text-decoration:none;font-size:.95rem}
.next-grid a span{display:block;font:600 1.05rem var(--mono);color:var(--ink);margin-bottom:4px}
.next-grid a:hover{border-color:var(--accent)}
.next-grid a:hover span{color:var(--accent)}
@media (max-width:620px){
 .topbar{padding:16px 20px}.topbar nav{gap:12px}
 .case h1{font-size:2.1rem}
 .flow li{grid-template-columns:1fr}
 .flow b{grid-row:auto}
 .next-grid{grid-template-columns:1fr}
}
.case .eyebrow{margin-bottom:12px}
.table-wrap{overflow-x:auto;margin:6px 0 18px;background:var(--panel);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}
table.results{width:100%;border-collapse:collapse;font-size:.92rem}
.results th,.results td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line)}
.results th{font:600 12px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#f1f3f5}
.results td:nth-child(n+3),.results th:nth-child(n+3){text-align:right;font-family:var(--mono)}
.results tbody tr:last-child td{border-bottom:0}
.results tr.best td{background:var(--accent-soft);font-weight:600}
.results tr.best td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
.shot-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:620px){.shot-pair{grid-template-columns:1fr}}
.shot img[src*="flowchart"]{max-width:560px;margin:0 auto;border:0}
