/* Case-study pages: same palette and type as the Research Lab (design.css) */
:root{--bg:#f6f8f7;--panel:#fff;--stroke:#e0e8e8;--text:#10283b;--sub:#536978;--muted:#78909a;--ink:#0e3946;--lime:#9df3ca;--sky:#6fe3ea;--coral:#ffad7a;
  --ok:#0f7a55;--ok-bg:#e3f7ee;--part:#8a5a00;--part-bg:#fff4dc;--no:#a33a2a;--no-bg:#fde9e4;
  --mono:'IBM Plex Mono',ui-monospace,monospace;--display:'Manrope','Segoe UI',sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);line-height:1.65}
a{color:#00777a}
a:hover{color:var(--ink)}
.skip-link{position:absolute;left:-999px;top:8px;background:#c5fff0;color:#082f37;padding:8px 14px;border-radius:8px;z-index:60}
.skip-link:focus{left:12px}
.wrap{width:min(920px,calc(100% - 32px));margin-inline:auto}

/* header: always shows the way back to the lab and the main portfolio */
.cs-header{position:sticky;top:0;z-index:50;background:rgba(250,252,252,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--stroke)}
.cs-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;flex-wrap:wrap}
.cs-brand{font:800 13px/1.3 var(--display);letter-spacing:.08em;color:var(--ink);text-decoration:none}
.cs-brand small{display:block;font:500 10px var(--mono);letter-spacing:.02em;color:var(--muted)}
.cs-nav{display:flex;gap:18px;flex-wrap:wrap;font-weight:700;font-size:14px}
.cs-nav a{text-decoration:none;color:#22465a}
.cs-nav a:hover{color:#00777a}

/* hero */
.cs-hero{background:#0b2433;color:#e9f6f4;padding:44px 0 40px}
.crumbs{font:500 12px var(--mono);color:#9fc3c4;margin:0 0 18px}
.crumbs a{color:#9fc3c4}
.eyebrow{font:600 12px var(--mono);letter-spacing:.08em;color:var(--lime);text-transform:uppercase;margin:0 0 10px}
.cs-hero h1{font:800 clamp(28px,5vw,44px)/1.12 var(--display);margin:0 0 14px;color:#fff}
.cs-hero .lede{font-size:18px;color:#c9dfe0;max-width:720px;margin:0 0 22px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.chips li{font:500 12px var(--mono);padding:5px 10px;border:1px solid #2d5161;border-radius:999px;color:#cfe8e6}
.cs-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:9px;font-weight:700;font-size:14px;text-decoration:none}
.btn-primary{background:var(--lime);color:#06281f}
.btn-primary:hover{background:#c5fff0;color:#06281f}
.btn-ghost{border:1px solid #3a6372;color:#e9f6f4}
.btn-ghost:hover{background:#12384a;color:#fff}

/* body */
main{padding:28px 0 56px}
.toc{background:var(--panel);border:1px solid var(--stroke);border-radius:12px;padding:14px 18px;margin-bottom:28px}
.toc strong{font:600 12px var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.toc ol{margin:8px 0 0;padding-left:20px;columns:2;column-gap:28px}
.toc li{margin:2px 0}
section.cs{background:var(--panel);border:1px solid var(--stroke);border-radius:14px;padding:24px 26px;margin-bottom:18px}
section.cs h2{font:800 22px/1.25 var(--display);margin:0 0 12px;color:var(--ink)}
section.cs h2 .num{font:600 13px var(--mono);color:var(--muted);margin-right:8px}
section.cs p{margin:0 0 12px}
section.cs ul,section.cs ol{margin:0 0 12px;padding-left:22px}
section.cs li{margin:4px 0}
.note{border-left:4px solid var(--coral);background:#fff7f1;padding:10px 14px;border-radius:0 8px 8px 0;font-size:15px;color:#4a3a2e;margin:12px 0 0}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:6px 0 16px}
.metric{border:1px solid var(--stroke);border-radius:10px;padding:12px 14px;background:#fbfdfd}
.metric b{display:block;font:800 26px/1.1 var(--display);color:var(--ink)}
.metric span{font-size:13px;color:var(--sub)}
.table-scroll{overflow-x:auto;margin:6px 0 10px}
table{border-collapse:collapse;width:100%;font-size:14px}
caption{text-align:left;font-size:13px;color:var(--sub);padding-bottom:8px}
th,td{border-bottom:1px solid var(--stroke);padding:8px 10px;text-align:left;vertical-align:top}
th{font:600 12px var(--mono);letter-spacing:.03em;color:var(--sub);background:#f3f7f7}
tr.ours td{background:#effbf6;font-weight:700}
.status{display:inline-block;font:600 11px var(--mono);letter-spacing:.04em;padding:3px 8px;border-radius:999px;white-space:nowrap}
.s-ok{background:var(--ok-bg);color:var(--ok)}
.s-part{background:var(--part-bg);color:var(--part)}
.s-no{background:var(--no-bg);color:var(--no)}
pre{background:#0b2433;color:#d8efec;padding:14px 16px;border-radius:10px;overflow-x:auto;font:13px/1.5 var(--mono)}
.video{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000;margin:6px 0 4px}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.next{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.next a{display:block;border:1px solid var(--stroke);border-radius:12px;padding:14px 16px;background:var(--panel);text-decoration:none;color:var(--text)}
.next a:hover{border-color:#00777a}
.next small{font:600 11px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.next b{display:block;font:800 16px var(--display);color:var(--ink)}
.cs-footer{border-top:1px solid var(--stroke);padding:22px 0 30px;font-size:14px;color:var(--sub)}
.cs-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.cs-footer a{margin-right:14px}
@media(max-width:640px){
  .toc ol{columns:1}
  section.cs{padding:18px 16px}
  .cs-nav{gap:12px;font-size:13px}
}
