/* Static case-study directory. Shared site shell remains unchanged. */
.case-directory-page-v501 { --cd-ink:#f5f8ef; --cd-copy:#c7d0c3; --cd-gold:#f3b324; --cd-panel:#0c100d; --cd-line:#62502b; }
html[data-theme="light"] .case-directory-page-v501 { --cd-ink:#20291f; --cd-copy:#475145; --cd-gold:#805400; --cd-panel:#fffcf6; --cd-line:#b5a078; }
.case-directory-v501 { color:var(--cd-ink); }
.case-directory-v501 > section { padding:clamp(36px,5vw,72px) clamp(24px,4vw,58px); scroll-margin-top:140px; }
.case-directory-v501 h1,.case-directory-v501 h2,.case-directory-v501 h3 { font-family:inherit; font-style:normal; text-transform:none; letter-spacing:-.035em; color:var(--cd-ink); line-height:1.2; }
.case-directory-v501 h1 { font-size:clamp(42px,6.5vw,88px); line-height:1.05; margin:0 0 24px; }
.case-directory-v501 h1 span { color:var(--cd-gold); }
.case-directory-v501 h2 { font-size:clamp(27px,3.2vw,42px); margin:0; }
.case-directory-v501 h3 { font-size:24px; margin:0 0 16px; }
.case-directory-v501 p { color:var(--cd-copy); font-size:16px; line-height:1.7; }
.case-directory-v501 .case-directory-kicker-v501 { color:var(--cd-gold); font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.case-directory-v501 .case-directory-lead-v501 { max-width:900px; font-size:19px; }
.case-directory-v501 a { color:var(--cd-gold); text-decoration:underline; text-underline-offset:4px; font-weight:800; overflow-wrap:anywhere; }
.case-directory-v501 a:hover { color:var(--cd-ink); }
.case-directory-v501 a:focus-visible { outline:3px solid var(--cd-gold); outline-offset:5px; }
.case-directory-breadcrumb-v501 { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-bottom:24px; font-size:14px; }
.case-directory-breadcrumb-v501 a { display:inline-flex; align-items:center; min-height:44px; }
.case-directory-jump-v501 { margin-top:30px; padding-top:20px; border-top:1px solid var(--cd-line); }
.case-directory-jump-v501 > p { font-weight:800; margin:0 0 10px; }
.case-directory-jump-v501 ul { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0; }
.case-directory-jump-v501 a { display:inline-flex; align-items:center; flex-wrap:wrap; gap:8px; min-height:44px; padding:10px 15px; border:1px solid var(--cd-line); border-radius:8px; background:var(--cd-panel); font-size:14px; line-height:1.6; }
.case-directory-group-head-v501 { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:24px; }
.case-directory-group-head-v501 p { margin:0; }
.case-directory-grid-v501 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.case-directory-card-v501 { min-width:0; padding:clamp(22px,3vw,34px); border:1px solid var(--cd-line); border-radius:14px; background:var(--cd-panel); }
.case-directory-card-v501 h3 a { display:inline-block; padding:6px 0; min-height:44px; }
.case-directory-v501 .case-directory-focus-v501 { color:var(--cd-ink); font-weight:800; }
.case-directory-card-v501 p:last-child { margin-bottom:0; }
.case-directory-top-v501 { display:inline-flex; align-items:center; gap:8px; min-height:44px; margin-top:20px; font-size:14px; }
.case-directory-next-v501 { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); align-items:center; gap:32px; }
.case-directory-next-links-v501 { display:grid; gap:12px; }
.case-directory-next-links-v501 a { display:inline-flex; align-items:center; gap:8px; min-height:44px; line-height:1.6; }
@media(max-width:760px) { .case-directory-grid-v501,.case-directory-next-v501 { grid-template-columns:1fr; } }
@media(forced-colors:active) { .case-directory-card-v501,.case-directory-jump-v501,.case-directory-jump-v501 a { border-color:CanvasText; } .case-directory-v501 a { color:LinkText; } }
