/* The case studies share the portfolio's quiet, light reading surface. */
body.case-body{color-scheme:light;--bg:#fcfbf7;--text:#17283f;--muted:#4d5d70;--line:#d1dbe7;--accent:#245fc4;background:#fcfbf7;color:#17283f;font:18px/1.75 'DM Sans',Manrope,system-ui,sans-serif}
body.case-body:before{display:none}
.case-body h1,.case-body h2,.case-body h3,.case-body h4{font-family:'Space Grotesk',Manrope,system-ui,sans-serif;font-weight:500}
.case-header{border-color:#d1dbe7}.case-header a{color:#3d5575;min-height:44px;display:inline-flex;align-items:center}.case-header a:hover{color:#245fc4}
.case-index,.case-section>h2,.flow-step:before{color:#245fc4}
.case-hero,.case-section,.case-meta,.flow,.flow-step{border-color:#d1dbe7}
.case-meta{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.case-meta strong{font-size:15px}.case-meta small{color:#50627b;font-size:12px}
.case-deck{color:#42536a;font-size:21px;line-height:1.7}.case-copy>p,.case-copy li{color:#42536a;font-size:18px;line-height:1.75}
.case-copy h3{font-size:30px;line-height:1.3;letter-spacing:-.03em}.case-section{grid-template-columns:180px minmax(0,1fr);gap:55px}.case-section>h2{font-size:13px;line-height:1.7}
.case-link{border-color:#9db2d0;color:#214f94;font-size:15px;min-height:46px}.case-links .case-link{color:#214f94}.case-link:hover{border-color:#245fc4;background:#edf3fc}.case-links .case-link.primary{background:#245fc4;color:#fff;border-color:#245fc4}.case-link.primary:hover{background:#194a9d}
.case-header a:focus-visible,.case-link:focus-visible{outline:2px solid #245fc4;outline-offset:5px}
.case-block,.branch-card,.privacy-zone,.surface-grid a{background:#f0f4fa;border-color:#c6d4e5}.case-block small,.case-meta small,.privacy-zone small{color:#4d6380}.branch-card small{color:#245fc4}
.case-block h4{font-size:19px}.case-block p,.case-body .branch-card ol,.case-body .privacy-zone ul{font-size:16px;line-height:1.7;color:#42536a}
.arch{background:#edf2f9;border-color:#c4d2e4}.arch-node{background:#fff;border-color:#bccde2}.arch-node-focus,.privacy-private{border-color:#6c96d3;background:#e9f1fd}.arch-node b{color:#17283f;font-size:15px}.arch-node span{color:#42536a;font-size:14px;line-height:1.7}.arch-arrow{color:#245fc4}
.flow-step b{font-size:18px}.flow-step span{font-size:16px;color:#42536a;line-height:1.7}
.arch-systems span,.evidence-strip small,.branch-divider,.branch-divider span,.research-panel small,.research-status small,.privacy-gate small{color:#4d6380;border-color:#c6d4e5}
.case-copy code{color:#224f91;background:#eaf0f8;padding:.1em .25em;border-radius:3px}
.state-trace,.state-connector,.evidence-strip,.evidence-strip div,.research-panel,.research-panel>div,.research-status,.research-status>div,.privacy-gate,.branch-output{border-color:#c6d4e5}
.state-step{background:#edf2f9}.state-step p,.surface-grid span,.research-equation span,.research-panel span{color:#42536a;font-size:15px;line-height:1.7}
.state-step-top span,.surface-grid small,.privacy-private small,.privacy-gate span,.privacy-gate b,.branch-divider b,.research-equation small,.status-next,.state-connector{color:#245fc4}
.state-step small{color:#4d6380}.state-failure{background:#fff0ec}.state-failure .state-step-top span,.state-failure small{color:#943d2a}.state-success,.branch-safe{background:#edf5f0}.state-success .state-step-top span,.state-success small,.branch-safe small,.status-done{color:#256044}
.branch-output{color:#244d80}.research-equation{background:#edf2f9;border-color:#245fc4}.research-equation strong{color:#17283f;font-size:16px}.research-status b,.research-panel b{font-size:17px}.status-mark{color:#4d6380}.status-done{color:#256044}.status-next{color:#245fc4}
.case-origin{color:#4d5d70;font-size:17px}.case-origin strong{color:#17283f}.case-product-shot img{border-color:#b9cce2}.case-product-shot figcaption{font-size:14px;color:#50627b;line-height:1.7}
@media(max-width:760px){body.case-body{font-size:17px}.case-section{grid-template-columns:1fr;gap:18px}.case-deck{font-size:19px}.case-copy>p,.case-copy li{font-size:17px}.case-copy h3{font-size:27px}.case-meta strong{font-size:14px}.case-hero h1{line-height:1.1}.case-block p,.case-body .branch-card ol,.case-body .privacy-zone ul{font-size:16px}.case-meta{grid-template-columns:1fr 1fr}.case-link{font-size:14px}}
@media print{body.case-body{background:#fff;color:#17283f}.case-link{color:#17283f}}
