.cases-snapshot{display:grid;grid-template-columns:repeat(3,minmax(0,.8fr)) minmax(0,1.35fr);gap:10px;margin:32px 0 42px}
.cases-snapshot>div{min-width:0;background:#fffefa;border:1px solid #e1e7dc;padding:26px 25px}
.cases-snapshot span{display:block;color:#9b805c;font-size:.6rem;font-weight:700;letter-spacing:.16em}
.cases-snapshot strong{display:block;margin:17px 0 5px;font-family:'Playfair Display',serif;font-size:clamp(2.8rem,4vw,4rem);font-weight:400;line-height:1}
.cases-snapshot small{color:#748278;font-size:.73rem}
.cases-snapshot .cases-snapshot-note{display:flex;flex-direction:column;justify-content:space-between;background:#234638;border-color:#234638;color:#f7f6ef}
.cases-snapshot-note span{color:#d7bd90}
.cases-snapshot-note p{font-family:'Playfair Display',serif;font-size:clamp(1.15rem,1.5vw,1.45rem);line-height:1.4;margin:20px 0 0}
.cases-intro{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:22px}
.cases-intro h2{font-size:clamp(1.9rem,2.7vw,2.7rem);margin:8px 0 5px}
.cases-intro p{font-size:.82rem;line-height:1.6;color:#647369;margin:0}
.cases-intro button{flex:none;padding:13px 17px;background:#244739;border:1px solid #244739;color:white;font-size:.75rem;cursor:pointer}
.cases-intro button:hover{background:#32614b}
.cases-controls{border:1px solid #dbe3d8;background:#fffefa;padding:0 24px 23px}
.cases-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid #dbe3d8}
.cases-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:19px 12px 16px;color:#738177;font-size:.78rem;cursor:pointer}
.cases-tabs button[aria-pressed="true"]{border-bottom-color:#254a3c;color:#234638;font-weight:700}
.cases-tabs b{font-size:.63rem;font-weight:700;margin-left:7px;color:#aa8d63}
.cases-refine{display:grid;grid-template-columns:minmax(230px,1.6fr) minmax(145px,.85fr) minmax(145px,.85fr);gap:14px;align-items:end;padding-top:20px}
.cases-refine label{display:block;margin:0;color:#76867a;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.cases-refine input,.cases-refine select{min-height:42px;margin-top:8px;background:#fbfcf8;border-color:#d2dcd1;color:#284236;font-size:.79rem;letter-spacing:0;text-transform:none}
.cases-refine form>div{display:flex}
.cases-refine form input{min-width:0}
.cases-refine form button{align-self:stretch;margin-top:8px;border:0;background:#244739;color:white;padding:0 14px;white-space:nowrap;font-size:.7rem;cursor:pointer}
.cases-result-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:25px 0 15px;color:#758279;font-size:.72rem}
.cases-result-head button{border:0;background:transparent;color:#315748;font-size:.72rem;cursor:pointer}
.case-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.case-entry{display:flex;flex-direction:column;min-width:0;background:#fffefa;border:1px solid #e0e7dd;padding:25px 28px 0;transition:box-shadow .3s ease,transform .3s ease}
.case-entry:hover{box-shadow:0 14px 35px #24463812;transform:translateY(-2px)}
.case-entry-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.case-status,.case-priority{padding:7px 9px;font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.case-status{background:#e8eee5;color:#3d634b}
.case-status-draft{background:#f1eee5;color:#8b734f}
.case-status-in_progress{background:#dfede7;color:#26644a}
.case-status-resolved{background:#edf0e9;color:#65796a}
.case-priority{background:#f1eee7;color:#7f6b51}
.case-priority-high{background:#f5e8dd;color:#945a3d}
.case-entry-meta{margin-top:18px;color:#9a805f;font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.case-entry-meta span{margin:0 4px;color:#b7c2b6}
.case-entry h3{font-family:'Playfair Display',serif;font-size:clamp(1.6rem,2.3vw,2.25rem);font-weight:400;line-height:1.2;margin:13px 0 24px;color:#254234}
.case-entry-action{border-top:1px solid #e4e9e1;padding-top:17px}
.case-entry-action span,.case-entry-evidence>span,.case-entry-foot small{display:block;color:#a08761;font-size:.57rem;font-weight:700;letter-spacing:.15em}
.case-entry-action p{margin:8px 0 20px;color:#53685a;font-size:.85rem;line-height:1.65}
.case-entry-evidence{background:#f0f3ed;padding:17px 19px;margin-top:auto}
.case-entry-evidence blockquote{font-family:'Playfair Display',serif;font-size:1.18rem;line-height:1.42;color:#345242;margin:12px 0 0;overflow-wrap:anywhere}
.case-entry-evidence details{margin-top:13px}
.case-entry-evidence summary{font-size:.71rem;font-weight:700;color:#315d48;cursor:pointer}
.case-entry-evidence details p{font-size:.8rem;line-height:1.6;color:#53685a}
.case-entry-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 0}
.case-entry-foot strong{display:block;margin-top:5px;font-size:.76rem;font-weight:600;color:#3a5847;overflow-wrap:anywhere}
.case-entry-foot button{flex:none;border:0;background:transparent;color:#285a42;font-size:.74rem;font-weight:700;cursor:pointer;padding:7px 0}
.case-entry-foot button:hover{text-decoration:underline;text-underline-offset:4px}
.cases-empty{margin-top:18px;max-width:800px;background:#e8eee6;border:1px solid #d7e1d5;padding:48px}
.cases-empty h2{font-size:clamp(2.1rem,3.4vw,3.3rem);margin:15px 0}
.cases-empty p{max-width:590px;color:#607166;line-height:1.7}
.cases-empty button{cursor:pointer}
@media(max-width:1120px){.cases-snapshot{grid-template-columns:repeat(3,1fr)}.cases-snapshot-note{grid-column:1/-1}.cases-snapshot-note p{max-width:610px}}
@media(max-width:850px){.case-entry-grid{grid-template-columns:1fr}.cases-refine{grid-template-columns:1fr 1fr}.cases-refine form{grid-column:1/-1}.cases-intro{align-items:start;flex-direction:column}}
@media(max-width:600px){.cases-snapshot{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cases-snapshot>div{padding:20px}.cases-snapshot>div:nth-child(3),.cases-snapshot-note{grid-column:1/-1}.cases-controls{padding:0 15px 17px}.cases-tabs{gap:0}.cases-tabs button{padding:13px 9px;font-size:.68rem}.cases-tabs b{margin-left:4px}.cases-refine{grid-template-columns:1fr}.cases-refine form{grid-column:auto}.case-entry{padding:22px 21px 0}.case-entry-foot{align-items:start;flex-direction:column}.cases-empty{padding:30px}}
@media(prefers-reduced-motion:reduce){.case-entry{transition:none}}
/* Defer layout and paint for case cards below the viewport. */
.case-entry {
  content-visibility: auto;
  contain-intrinsic-size: auto 650px;
}
