/* Portfolio V3 · real case as an evidence ledger.
   Four beats on one rail: meaning on the left, the original document fragment on the right. */
.case-evidence{--ev-ink:#f4f2ec;--ev-text:#b9bbbf;--ev-muted:#8d9096;--ev-line:#26282c;--ev-rail:#3a3d42;padding-block:92px 72px}
.case-evidence .case-heading h2 em{font-family:var(--pp-serif);font-style:italic;font-weight:400;font-size:1.06em;letter-spacing:-.03em}

.evidence-chain{position:relative;list-style:none;margin:52px 0 0;padding:0;border-bottom:1px solid var(--ev-line)}
.evidence-chain:before{content:'';position:absolute;left:6px;top:34px;bottom:52px;width:1px;background:var(--ev-rail)}
.ev{position:relative;display:grid;grid-template-columns:minmax(0,4.5fr) minmax(0,7fr);column-gap:64px;align-items:center;padding:24px 0 26px 46px;border-top:1px solid var(--ev-line)}
.ev:before{content:'';position:absolute;left:0;top:29px;width:13px;height:13px;border-radius:50%;border:1px solid var(--green);background:var(--dark);box-shadow:0 0 0 6px var(--dark)}
.ev-source:before{border-color:var(--amber)}
.ev-check:before{background:var(--green)}
.ev>p{grid-column:1;margin:0}
.ev-step{display:flex;align-items:baseline;gap:12px;font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--ev-muted)}
.ev-step span{font-family:var(--pp-serif);font-style:italic;font-size:16px;font-weight:400;letter-spacing:0}
.ev-key{margin-top:10px!important;font-size:38px;line-height:1.04;font-weight:500;letter-spacing:-.045em;color:var(--ev-ink);font-variant-numeric:tabular-nums}
.ev-key em{font-family:var(--pp-serif);font-style:italic;font-weight:400;font-size:1.1em;letter-spacing:-.02em}
.ev-key small{margin-left:10px;font-size:15px;font-weight:400;letter-spacing:-.005em;color:#a6a9ad}
.ev-source .ev-key em{color:var(--amber)}
.ev-check .ev-key em{text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:1px;text-underline-offset:10px}
.ev-confirm .ev-key{color:var(--green)}
.ev-text{max-width:46ch;margin-top:10px!important;font-size:15.5px;line-height:1.6;color:var(--ev-text)}
.ev-hypothesis{margin-top:10px!important;font-size:13.5px;line-height:1.5;color:var(--ev-muted)}
.ev-hypothesis s{color:#a6a9ad;text-decoration-color:#d06a5a;text-decoration-thickness:1px;white-space:nowrap}
.ev-hypothesis span{display:inline-block}

/* Documents: paper fragments at one shared scale, so every source reads at the same size. */
.ev-doc{grid-column:2;grid-row:1/span 5;display:block;color:var(--ev-muted);text-decoration:none;font-size:12.5px}
.ev-doc img{display:block;box-sizing:border-box;width:100%;height:auto;padding:14px 18px;border-radius:3px;background:#fff;box-shadow:0 26px 50px -30px #000,0 0 0 1px #ffffff12;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.ev-result .ev-doc img{width:calc(756 / 1025 * 100%)}
.ev-doc>span{display:inline-flex;gap:8px;margin-top:11px;transition:color .2s}
.ev-doc:hover img{transform:translateY(-2px)}
.ev-doc:hover>span{color:var(--ev-ink)}
.ev-doc:focus-visible{outline:3px solid var(--green);outline-offset:6px;border-radius:4px}

.case-footnote{max-width:86ch;margin:24px 0 0 46px;font-size:13px;line-height:1.6;color:var(--ev-muted)}

@media(max-width:1100px) and (min-width:761px){
 .ev{column-gap:36px;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
 .ev-key{font-size:34px}
}
@media(max-width:760px){
 .case-evidence{padding-block:52px 44px}
 .evidence-chain{margin-top:36px}
 .evidence-chain:before{top:30px;bottom:48px}
 .ev-doc{grid-column:1;grid-row:auto;margin-top:16px;overflow:hidden}
 .ev-doc img,.ev-result .ev-doc img{width:auto;max-width:none;padding:10px 14px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100vw - 150px),transparent calc(100vw - 72px));mask-image:linear-gradient(90deg,#000 calc(100vw - 150px),transparent calc(100vw - 72px))}
 .ev-key{font-size:30px}
 .ev{grid-template-columns:minmax(0,1fr);padding:20px 0 22px 32px}
 .ev:before{top:24px}
 .ev-key small{display:block;margin:6px 0 0;font-size:14px}
 .ev-text{font-size:15px}
 .case-footnote{margin-left:32px}
}
@media(prefers-reduced-motion:reduce){.ev-doc img,.ev-doc>span{transition:none}}
