﻿/* ── CASE STUDY ── */
.cs-wrap{padding-top:56px}
.cs-hd{padding:40px 40px 44px;border-bottom:1px solid var(--border)}
.cs-back{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);cursor:pointer;border:none;background:none;padding:8px 0;margin-bottom:28px;transition:color .15s,gap .2s}
.cs-back:hover{color:var(--ink);gap:10px}
.cs-eye{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}
.cs-ttl{font-size:clamp(22px,3.8vw,46px);font-weight:800;letter-spacing:-.04em;line-height:1.06;margin-bottom:12px;max-width:680px}
.cs-sub{font-size:14px;color:var(--ink2);line-height:1.65;max-width:600px;margin-bottom:22px}
.cs-skills{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:28px}
.cs-skill{font-size:10px;font-weight:600;letter-spacing:.05em;color:var(--ink2);background:transparent;padding:4px 10px;border:1px solid var(--border2)}
.cs-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border)}
.cs-mi{padding:12px 16px;border-right:1px solid var(--border)}
.cs-mi:last-child{border-right:none}
.cs-ml{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin-bottom:3px}
.cs-mv{font-size:13px;font-weight:600}
.cs-body{padding:40px 40px 56px;max-width:920px}
.cs-sect{margin-bottom:52px}
.cs-sl{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin-bottom:18px}
.cs-p{font-size:15px;line-height:1.8;color:var(--ink2);margin-bottom:12px}

/* Stat strips */
.st3{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border);margin:16px 0}
.st4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border);margin:16px 0}
.st2{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--border);margin:16px 0}
.st-card{padding:20px 16px;border-right:1px solid var(--border);text-align:center}
.st-card:last-child{border-right:none}
.st-n{font-size:34px;font-weight:800;letter-spacing:-.04em;line-height:1;margin-bottom:4px;color:var(--ink)}
.st-l{font-size:12px;color:var(--ink2);line-height:1.4}

/* Pullquote */
.pq{border-left:3px solid var(--ink);padding:20px 24px;margin:22px 0;background:var(--bg)}
.pq p{font-size:clamp(14px,1.8vw,19px);font-weight:500;line-height:1.5;color:var(--ink)}
.pq mark{background:var(--mark);padding:0 3px;font-weight:700}

/* Findings */
.findings{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.fc{padding:20px 0;border-bottom:1px solid var(--border);transition:background .15s}
.fc:hover{background:var(--bg);padding-left:12px;padding-right:12px;margin:0 -12px}
.fc-p{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:5px}
.fc-s{font-size:15px;font-weight:700;letter-spacing:-.01em;margin-bottom:7px}
.fc-d{font-size:13px;color:var(--ink2);line-height:1.65;margin-bottom:11px}
.fc-sol{font-size:13px;color:var(--ink2);padding:10px 14px;background:var(--mark);border-left:2px solid var(--ink)}
.fc-sol strong{color:var(--ink);font-weight:700}

/* HF Cards */
.hf-card{border:1px solid var(--border);padding:22px;margin-bottom:8px;background:var(--bg)}
.hf-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;margin-bottom:10px;background:var(--w);border:1px solid var(--border2)}
.hf-ttl{font-size:17px;font-weight:700;letter-spacing:-.02em;margin-bottom:7px;line-height:1.25}
.hf-p{font-size:13px;color:var(--ink2);line-height:1.7;margin-bottom:11px}
.hf-opp{font-size:13px;color:var(--ink);font-weight:500;padding:10px 14px;background:var(--mark);border-left:2px solid var(--ink)}

/* Quotes */
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.qc{background:var(--bg);padding:14px 16px;border-left:2px solid var(--border2)}
.qc p{font-size:12px;color:var(--ink2);line-height:1.6;font-style:italic}

/* Bars */
.bar-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.bar-lbl{font-size:12px;color:var(--ink2);min-width:210px;line-height:1.3}
.bar-wrap{flex:1;background:var(--bg2);height:6px}
.bar-fill{height:100%;transition:width 1.2s var(--ease)}
.bar-pct{font-family:var(--mono);font-size:11px;min-width:38px;text-align:right;color:var(--ink2)}

/* Negative grid */
.neg-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);margin:12px 0}
.neg-card{padding:16px 18px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.neg-card:nth-child(2n){border-right:none}
.neg-card:nth-last-child(-n+2){border-bottom:none}
.neg-t{font-size:12px;font-weight:700;margin-bottom:8px;letter-spacing:.01em}
.neg-ul{list-style:none;display:flex;flex-direction:column;gap:4px}
.neg-ul li{font-size:12px;color:var(--ink2);padding-left:12px;position:relative;line-height:1.5}
.neg-ul li::before{content:"—";position:absolute;left:0;color:var(--ink3);font-size:10px;top:1px}

/* RQ grid */
.rq-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.rq-c{background:var(--bg);padding:14px 16px}
.rq-c p{font-size:13px;color:var(--ink);line-height:1.6}

/* Results */
.results{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.ri{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}
.ri-n{font-family:var(--mono);font-size:11px;color:var(--ink3);padding-top:1px}
.ri-text{font-size:14px;color:var(--ink2);line-height:1.65}

/* Result table */
.result-table{border:1px solid var(--border);margin:16px 0}
.rt-row{display:grid;grid-template-columns:220px 1fr 140px;border-bottom:1px solid var(--border)}
.rt-row:last-child{border-bottom:none}
.rt-row.header{background:var(--bg)}
.rt-cell{padding:12px 16px;font-size:13px;color:var(--ink2);border-right:1px solid var(--border)}
.rt-cell:last-child{border-right:none;text-align:right}
.rt-cell.bold{font-weight:700;color:var(--ink)}
.rt-cell.header-cell{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
.rt-metric{font-size:15px;font-weight:800;color:var(--ink);letter-spacing:-.02em}

/* Journey */
.journey{display:flex;gap:0;margin:12px 0;border:1px solid var(--border)}
.j-step{flex:1;min-width:70px;text-align:center;padding:12px 5px;font-size:11px;font-weight:600;color:var(--ink2);border-right:1px solid var(--border)}
.j-step:last-child{border-right:none}

/* Sessions */
.sess-row{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}
.sess-n{font-family:var(--mono);font-size:11px;color:var(--ink3);padding-top:1px}
.sess-title{font-size:14px;font-weight:700;margin-bottom:3px}
.sess-d{font-size:13px;color:var(--ink2);line-height:1.6}

/* Funnel */
.funnel{display:flex;flex-direction:column;gap:6px;margin:12px 0}
.frow{display:flex;align-items:center;gap:12px}
.flbl{font-size:12px;color:var(--ink2);min-width:190px}
.fwrap{flex:1;background:var(--bg2);height:24px;overflow:hidden;position:relative}
.ffill{position:absolute;left:0;top:0;height:100%;background:var(--ink);opacity:.18;transition:width 1s var(--ease)}
.fpct{font-family:var(--mono);font-size:11px;min-width:68px;text-align:right;color:var(--ink2)}

/* Donuts */
.donuts{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0;padding:20px;border:1px solid var(--border);background:var(--bg)}
.donut-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}
.donut-lbl{font-size:11px;color:var(--ink2);text-align:center;max-width:80px}
.donut{position:relative;width:68px;height:68px}
.donut svg{width:68px;height:68px;transform:rotate(-90deg)}
.donut-track{fill:none;stroke:var(--border2);stroke-width:6}
.donut-fill{fill:none;stroke-width:6;stroke-linecap:butt;transition:stroke-dashoffset 1.2s var(--ease)}
.donut-val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}

/* Mini donuts */
.mini-donuts{display:flex;gap:20px;flex-wrap:wrap;margin:0 0 48px}
.md-wrap{display:flex;align-items:center;gap:12px}
.md-svg{width:48px;height:48px;flex-shrink:0}
.md-svg svg{width:48px;height:48px;transform:rotate(-90deg)}
.md-track{fill:none;stroke:var(--border2);stroke-width:5}
.md-fill{fill:none;stroke-width:5;stroke-linecap:butt;transition:stroke-dashoffset 1.2s var(--ease)}
.md-info-n{font-size:18px;font-weight:800;letter-spacing:-.03em;line-height:1}
.md-info-l{font-size:11px;color:var(--ink2);line-height:1.4;max-width:110px}

/* Tools */
.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border);margin:12px 0}
.tool-item{padding:14px 16px;border-right:1px solid var(--border)}
.tool-item:last-child{border-right:none}
.tool-n{font-size:13px;font-weight:700;margin-bottom:2px}
.tool-u{font-size:11px;color:var(--ink3)}

/* Before / After */
.ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border);margin:12px 0}
.ba-card{padding:18px 20px;border-right:1px solid var(--border)}
.ba-card:last-child{border-right:none}
.ba-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.ba-card.before .ba-label{color:var(--ink3)}
.ba-card.after .ba-label{color:var(--ink)}
.ba-card.after{background:var(--bg)}
.ba-list{list-style:none;display:flex;flex-direction:column;gap:5px}
.ba-list li{font-size:12px;color:var(--ink2);padding-left:14px;position:relative;line-height:1.5}
.ba-card.before .ba-list li::before{content:"–";position:absolute;left:0;color:var(--ink3)}
.ba-card.after .ba-list li::before{content:"✓";position:absolute;left:0;color:var(--ink);font-size:10px;top:2px}

/* Impact chips */
.impact-row{display:flex;gap:0;border:1px solid var(--border);margin:12px 0;flex-wrap:wrap}
.impact-chip{padding:16px 20px;border-right:1px solid var(--border);flex:1}
.impact-chip:last-child{border-right:none}
.impact-chip-n{font-size:26px;font-weight:800;letter-spacing:-.04em;line-height:1;margin-bottom:3px}
.impact-chip-l{font-size:11px;color:var(--ink2);line-height:1.35}
.impact-chip.hi .impact-chip-n{background:var(--mark);display:inline-block;padding:0 4px}

/* Roles */
.roles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border);margin:12px 0}
.role-card{padding:14px 16px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.role-card:nth-child(3n){border-right:none}
.role-card:nth-last-child(-n+3){border-bottom:none}
.role-name{font-size:12px;font-weight:700;margin-bottom:3px}
.role-desc{font-size:11px;color:var(--ink2);line-height:1.5}

/* Timeline */
.timeline{display:flex;flex-direction:column;border-top:1px solid var(--border)}
.tl-item{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--border)}
.tl-n{font-family:var(--mono);font-size:11px;color:var(--ink3);padding-top:1px}
.tl-title{font-size:14px;font-weight:700;margin-bottom:2px}
.tl-sub{font-size:11px;color:var(--ink3);margin-bottom:5px;font-family:var(--mono)}
.tl-desc{font-size:13px;color:var(--ink2);line-height:1.6}

/* Behavior link */
.beh-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:11px 20px;border:1px solid var(--ink);margin-top:16px;transition:background .15s,color .15s}
.beh-link:hover{background:var(--ink);color:var(--w)}

/* Case nav */
.case-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border)}
.cn-item{padding:14px 16px;border-right:1px solid var(--border);cursor:pointer;transition:background .15s}
.cn-item:last-child{border-right:none}
.cn-item:hover{background:var(--bg)}
.cn-active{background:var(--mark) !important}
.cn-num{font-family:var(--mono);font-size:10px;color:var(--ink3);display:block;margin-bottom:5px}
.cn-name{font-size:12px;font-weight:700;display:block;margin-bottom:3px;line-height:1.3}
.cn-yr{font-size:11px;color:var(--ink3);display:block}