/* Repository case studies extend the shared portfolio layout. */
.repo-case .case-hero .hero-actions{flex-wrap:wrap}
.repo-case .case-toc{top:124px}
.repo-case .case-toc a{border-left:1px solid var(--line);padding-left:15px}
.repo-case .case-toc a[aria-current="location"]{color:var(--blue);border-color:var(--blue)}
.repo-source-note{font:11px/1.8 var(--mono);color:var(--muted);padding-top:17px}
.case-article .repo-note{font-size:13px;line-height:1.8}
.repo-figure{margin:30px 0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}
.repo-image-link{display:block;background:#fff;padding:24px}
.repo-image-link:focus-visible{outline-offset:-6px;outline-color:#315139}
.repo-image-link img{max-width:100%;width:auto;height:auto;margin-inline:auto}
.repo-banner .repo-image-link{padding:0;background:#211719}
.repo-banner img{width:100%;clip-path:inset(0 .375% .6% 0)}
.repo-figure figcaption{padding:17px 20px;font-size:12px;line-height:1.75;color:var(--muted)}
.repo-figure figcaption strong{display:block;color:var(--ink);font-weight:500;font-size:14px;margin-bottom:5px;letter-spacing:0}
.repo-figure figcaption a,.repo-links a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}
.repo-figure figcaption a:hover,.repo-links a:hover{color:var(--ink)}
.repo-dimensions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:28px 0;padding:25px 0;border-block:1px solid var(--line)}
.repo-dimensions div{flex:1;min-width:70px}
.repo-dimensions strong{display:block;font:500 32px/1.2 var(--sans);letter-spacing:-.045em;color:var(--blue)}
.repo-dimensions small{display:block;font:10px/1.6 var(--mono);color:var(--muted);margin-top:9px}
.repo-dimensions>span{color:var(--muted);font-size:20px}
.repo-feature-list{margin:27px 0;border-top:1px solid var(--line)}
.repo-feature-list>div{display:grid;grid-template-columns:165px minmax(0,1fr);gap:25px;padding:21px 0;border-bottom:1px solid var(--line)}
.repo-feature-list dt{color:var(--ink);font-size:16px;line-height:1.5}
.repo-feature-list dd{margin:0;color:var(--muted);font-size:15px;line-height:1.8}
.repo-feature-list code{color:#d7dfcb;font-size:13px;overflow-wrap:anywhere}
.repo-rewards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0;padding:24px 0;border-block:1px solid var(--line)}
.repo-rewards strong{display:block;color:var(--blue);font:500 35px/1.2 var(--sans);letter-spacing:-.04em}
.repo-rewards span{display:block;color:var(--muted);font:11px/1.6 var(--mono);margin-top:8px}
.repo-links{display:flex;flex-wrap:wrap;gap:12px 27px;margin-top:24px;font-size:14px}
.repo-video-stage{display:grid;place-items:center;background:#111411;padding:22px}.repo-video-stage video{display:block;width:100%;max-width:480px;height:auto;aspect-ratio:1;object-fit:contain}
@media(max-width:650px){.repo-video-stage{padding:0}}
@media(max-width:800px){.repo-case .case-toc{position:static}.repo-case .case-toc a{border:0;padding-left:0}.repo-case .case-toc a[aria-current="location"]{text-decoration:underline}}
@media(max-width:650px){.repo-image-link{padding:14px}.repo-figure figcaption{padding:15px}.repo-source-note{font-size:10px}.repo-feature-list>div{grid-template-columns:1fr;gap:9px;padding:20px 0}.repo-feature-list dt{font-size:16px}.repo-feature-list dd{font-size:15px}.repo-dimensions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 7px}.repo-dimensions div{min-width:0}.repo-dimensions strong{font-size:clamp(22px,6vw,29px)}.repo-dimensions small{font-size:9px}.repo-dimensions>span{display:none}.repo-rewards{gap:15px}.repo-rewards strong{font-size:32px}}
@media print{.repo-figure,.repo-rewards{break-inside:avoid}.repo-figure figcaption{background:#fff;color:#30382c}.repo-figure figcaption strong{color:#171a17}.repo-video-stage{display:none}}
