.case-theme-rimac{--case-accent:#ff8da8;--case-bright:#ed315f;--case-soft:#fae7ec}
.case-theme-wincore{--case-accent:#ffbd86;--case-bright:#f27931;--case-soft:#fff0e0}
.case-theme-protecta{--case-accent:#c1adff;--case-bright:#7754ba;--case-soft:#eee8fb}
.case-theme-interbank{--case-accent:#95ddb7;--case-bright:#25825b;--case-soft:#e5f2e9}
.case-theme-claro-hitss{--case-accent:#ffaaa3;--case-bright:#c64f47;--case-soft:#fbe9e7}
.case-theme-claro-ntt{--case-accent:#9ecfe9;--case-bright:#437f9c;--case-soft:#e9f1f7}
.case-kicker-group{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.case-state{display:inline-flex;align-items:center;gap:6px;border:1px solid #d3be7b;background:#faf0cc;color:#725612;font-size:9px;padding:3px 9px;border-radius:99px;white-space:nowrap}
.case-state:before{content:'';width:5px;height:5px;background:#9c7414;border-radius:50%}
.project-case .project-cover.case-cover{height:235px;min-height:235px;display:block;overflow:hidden;background:radial-gradient(ellipse at 95% 0,#ed315f90,transparent 65%),#14222d;color:#fff}
.project-case .project-cover.case-theme-wincore{background:radial-gradient(ellipse at 95% 0,#f2793199,transparent 65%),#14222d}
.project-case .project-cover.case-theme-protecta{background:radial-gradient(ellipse at 95% 0,#7754baa0,transparent 65%),#14222d}
.project-case .project-cover.case-theme-interbank{background:radial-gradient(ellipse at 95% 0,#25825ba0,transparent 65%),#14222d}
.project-case .project-cover.case-theme-claro-hitss{background:radial-gradient(ellipse at 95% 0,#c64f4799,transparent 65%),#14222d}
.project-case .project-cover.case-theme-claro-ntt{background:radial-gradient(ellipse at 95% 0,#437f9c99,transparent 65%),#14222d}
.project-case .project-status{left:auto;right:25px;top:63px;bottom:auto;background:#faf0cc;color:#725612;border-color:#ead494;font-size:10px}
.case-cover:after{display:none}
.case-cover .project-cover-top{color:#e0dfe6}
.case-cover .project-brand-link{position:absolute;left:25px;top:49px;margin:0;width:96px;height:42px}
.case-cover .project-brand-link img{width:96px;height:42px}
.case-cover-route{position:absolute;left:25px;right:25px;bottom:46px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;isolation:isolate}
.case-cover-route:before{content:'';position:absolute;height:1px;left:0;right:0;top:50%;z-index:-1;background:linear-gradient(90deg,transparent,var(--case-accent),transparent)}
.case-cover-node{min-width:0;padding:10px 9px;border:1px solid #ffffff30;border-radius:7px;background:#14222de8;display:flex;flex-direction:column;gap:9px}
.case-cover-node small{font:8px ui-monospace,Consolas,monospace;color:var(--case-accent)}
.case-cover-node>span{font-size:10px;white-space:nowrap;letter-spacing:-.2px}
.case-cover-caption{position:absolute;left:25px;bottom:15px;margin:0;font-size:9px;color:#c5d0d3;letter-spacing:.2px}
.project-case .project-open{color:#394c28}
.project-case .project-open>span{background:#dbe8bb}
.project-dialog.case-dialog{width:min(1080px,calc(100% - 32px))}
.case-dialog #dialog-content{padding:23px 30px 28px}
.case-hero{display:grid;grid-template-columns:112px minmax(0,1fr);gap:23px;align-items:center;margin-bottom:20px}
.case-dialog .dialog-banner{min-height:78px;padding:13px;margin:0;justify-content:center}
.case-dialog .dialog-banner img{height:42px;width:85px}
.case-dialog .dialog-banner>span{display:none}
.case-dialog .dialog-meta{margin-bottom:8px;font-size:8px}
.case-dialog #dialog-title{font-size:32px;margin:0;max-width:760px}
.case-intro-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px}
.case-kicker{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:0}
.case-copy-group{display:flex;align-items:center;gap:10px}
.case-copy{border:1px solid #ccd2c0;border-radius:99px;background:transparent;color:var(--ink);font-size:9px;padding:7px 11px;white-space:nowrap}
.case-copy:hover{background:#e4ecd7}
.case-copy-status{font-size:9px;color:var(--muted);overflow-wrap:anywhere;max-width:200px}
.case-copy-status:empty{display:none}
.case-facts{display:grid;grid-template-columns:1.2fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:0 0 18px;gap:20px}
.case-facts>div+div{border-left:1px solid var(--line);padding-left:20px}
.case-facts dt{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.case-facts dd{font-size:12px;font-weight:550;margin:0;line-height:1.5}
.case-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:22px}
.case-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:11px;padding:12px 17px}
.case-tabs button[aria-selected=true]{border-bottom-color:var(--case-bright);color:var(--ink);font-weight:650;background:var(--case-soft)}
.case-tabs button:hover{color:var(--ink)}
.case-panel{min-width:0}
.case-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.case-summary-card{border:1px solid var(--line);border-radius:10px;padding:23px;background:#fcfbf6;position:relative}
.case-summary-number{font:9px ui-monospace,Consolas,monospace;color:var(--muted);display:block;margin-bottom:19px}
.case-summary-card h3,.case-outcome h3{font:400 25px/1.2 var(--serif);letter-spacing:-.5px;margin-bottom:13px}
.case-summary-card p{font-size:13px;line-height:1.85;color:var(--muted);margin:0}
.case-outcome{margin-top:15px;border-left:3px solid var(--case-bright);background:var(--case-soft);padding:21px 24px;border-radius:0 10px 10px 0}
.case-outcome h3{font-size:23px;margin-bottom:9px}
.case-outcome p{font-size:13px;line-height:1.85;margin:0;max-width:850px;color:#51564b}
.case-primary{display:inline-flex;margin-top:22px;border:1px solid var(--ink);border-radius:99px;background:var(--ink);color:var(--lime);font-size:11px;padding:11px 18px}
.case-primary:hover{background:#3a4b2e}
.case-diagram{border:1px solid #364953;border-radius:13px;overflow:hidden;background:#14212c;color:#e6f0ef}
.case-diagram-top{padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #33434e;background:#182835}
.case-track-controls{display:flex;gap:4px;background:#101b25;border:1px solid #354854;border-radius:8px;padding:4px}
.case-track-controls button{font-size:10px;padding:8px 12px;border-radius:4px;border:0;background:transparent;color:#a7bbc2}
.case-track-controls button[aria-pressed=true]{background:var(--case-accent);color:#202d35;font-weight:650}
.case-run{font-size:10px;border:1px solid #61717a;color:#e6f0ef;background:transparent;border-radius:99px;padding:9px 13px;white-space:nowrap}
.case-run:hover{border-color:var(--case-accent);color:var(--case-accent)}
.case-run:disabled{opacity:.55;cursor:wait}
.case-diagram-caption{padding:19px 24px 0;margin:0;font-size:11px;color:#b1c3c9}
.case-flow{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:25px 24px;background-image:radial-gradient(#62899835 .8px,transparent .8px);background-size:18px 18px}
.case-flow-wires{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible}
.case-flow-wires path{stroke:var(--case-accent);stroke-width:1.3;fill:none;stroke-dasharray:5 7;opacity:.6}
.case-flow-node{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;min-width:0;min-height:110px;border:1px solid #405968;border-radius:10px;background:linear-gradient(145deg,#203747,#172936);padding:17px 14px;text-align:left;color:#e6f0ef}
.case-flow-node:not(:last-child):after{content:'→';position:absolute;right:-20px;top:calc(50% - 12px);color:var(--case-accent);font-size:17px}
.case-flow-node:hover{border-color:var(--case-accent);background:#243b49}
.case-flow-node[aria-pressed=true]{border-color:var(--case-accent);box-shadow:0 0 0 1px var(--case-accent),0 0 24px #ffffff0c}
.case-flow-index{font:9px ui-monospace,Consolas,monospace;color:var(--case-accent);margin-bottom:16px;display:block}
.case-flow-node strong{font-size:13px;font-weight:550;line-height:1.4;letter-spacing:-.2px;margin-bottom:8px}
.case-flow-node small{color:#a4bfc8;font-size:9px;line-height:1.5}
.case-diagram button:focus-visible{outline:2px solid var(--case-accent);outline-offset:4px}
.case-node-inspector{margin:0 24px;display:grid;grid-template-columns:1.25fr 1fr;gap:30px;padding:24px;border:1px solid #3b4d58;border-radius:10px;background:#192b38}
.case-node-position{font:8px ui-monospace,Consolas,monospace;letter-spacing:1.4px;color:var(--case-accent);display:block;margin-bottom:14px}
.case-node-title{font:400 25px/1.2 var(--serif);margin:0 0 12px;letter-spacing:-.3px}
.case-node-detail,.case-node-work>p{font-size:12px;line-height:1.85;color:#b6c9cf;margin:0}
.case-node-work{border-left:1px solid #384f5d;padding-left:25px}
.case-small-label{display:block;font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:var(--case-accent);margin-bottom:13px}
.case-node-tools{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:17px 0 0}
.case-node-tools li{font-size:9px;border:1px solid #506570;padding:4px 8px;border-radius:4px;color:#c1d6dc}
.case-diagram-status{font-size:10px;color:var(--case-accent);padding:17px 24px 0;margin:0;line-height:1.6;min-height:33px}
.case-diagram-note{font-size:9px;line-height:1.7;color:#91abb7;padding:12px 24px 17px;margin:0}
.case-contributions-intro{font-size:13px;color:var(--muted);margin-bottom:20px}
.case-contribution{border:1px solid var(--line);border-radius:9px;margin-top:10px;background:#faf9f3}
.case-contribution summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:18px;font-size:14px;font-weight:550;padding:19px 22px}
.case-contribution summary::-webkit-details-marker{display:none}
.case-contribution-index{font:9px ui-monospace,Consolas,monospace;color:var(--muted)}
.case-contribution-plus{font-size:20px;font-weight:400;margin-left:auto}
.case-contribution[open] .case-contribution-plus{rotate:45deg}
.case-contribution>p{font-size:13px;color:var(--muted);line-height:1.85;padding:0 22px 22px 56px;margin:0}
.case-contribution[open]{border-color:#b8c1ac}
.case-contribution summary:focus-visible{outline:2px solid #667e31;outline-offset:4px}
.motion-on .case-panel:not([hidden]) .case-flow-wires path{animation:case-stream 1.6s linear infinite!important}
.motion-on .case-flow-node,.motion-on .case-cover-node{transition:transform .25s,border-color .25s,box-shadow .25s!important}
.motion-on .case-flow-node:hover{transform:translateY(-3px)}
.motion-on .project-case:hover .case-cover-node{transform:translateY(-3px);border-color:var(--case-accent)}
.motion-on .project-case:hover .case-cover-node:nth-child(2){transition-delay:.06s!important}
.motion-on .project-case:hover .case-cover-node:nth-child(3){transition-delay:.12s!important}
.motion-on .project-case:hover .case-cover-node:nth-child(4){transition-delay:.18s!important}
@keyframes case-stream{to{stroke-dashoffset:-24}}
@media(max-width:900px){.case-dialog #dialog-content{padding:20px}.case-flow{gap:16px;padding:25px 18px}.case-flow-node{padding:14px 11px;min-height:124px}.case-flow-node:not(:last-child):after{right:-15px;font-size:13px}.case-flow-node strong{font-size:12px}.case-node-inspector{margin:0 18px;padding:21px;gap:22px}.case-node-work{padding-left:21px}.case-node-detail,.case-node-work>p{font-size:11px}.case-diagram-top{padding:15px}.case-track-controls button{padding:8px 10px}.case-run{font-size:9px}.case-summary-card{padding:20px}.case-summary-card p{font-size:12px}}
@media(max-width:700px){.project-dialog.case-dialog{width:calc(100% - 20px);max-height:92dvh}.case-dialog #dialog-title{font-size:30px;letter-spacing:-.8px}.case-dialog #dialog-content{padding:18px}.case-dialog .dialog-banner{min-height:69px;padding:13px 18px;margin-bottom:17px}.case-intro-bar{align-items:flex-start;gap:12px}.case-kicker{font-size:7px;max-width:160px;line-height:1.8}.case-copy-group{flex-direction:column;align-items:flex-end;gap:5px}.case-copy{font-size:8px;padding:6px 9px}.case-copy-status{font-size:8px;max-width:145px}.case-facts{gap:10px;padding:13px 0}.case-facts>div+div{padding-left:10px}.case-facts dt{font-size:7px;letter-spacing:.5px}.case-facts dd{font-size:10px}.case-tabs{gap:0;margin-bottom:17px}.case-tabs button{font-size:10px;padding:12px 11px}.case-diagram-caption{padding:16px 18px 0;font-size:10px}.case-node-inspector{grid-template-columns:1fr;gap:20px}.case-node-work{border-left:0;border-top:1px solid #384f5d;padding:20px 0 0}.case-node-title{font-size:24px}.case-diagram-note{padding:12px 18px 16px}.case-diagram-status{padding:16px 18px 0;font-size:9px}.case-summary{grid-template-columns:1fr}.case-summary-card{padding:20px}.case-summary-number{margin-bottom:12px}.case-summary-card h3{font-size:24px}.case-outcome{padding:19px}.case-outcome p{font-size:12px}.case-contributions-intro{font-size:12px}.case-contribution summary{font-size:12px;padding:16px;gap:12px}.case-contribution>p{font-size:12px;padding:0 16px 18px 40px}}
@media(max-width:580px){.case-cover-route{left:20px;right:20px;gap:9px}.case-cover-node{padding:9px 7px}.case-cover-node>span{font-size:9px}.case-cover-caption{left:20px;font-size:8px}.case-diagram-top{align-items:flex-start;flex-direction:column;gap:12px}.case-track-controls{width:100%;display:grid;grid-template-columns:1fr 1fr}.case-track-controls button{font-size:9px;white-space:nowrap;padding:8px 5px}.case-run{align-self:flex-end;padding:8px 11px}.case-flow{grid-template-columns:1fr;gap:18px;padding:22px 18px}.case-flow-wires{display:none}.case-flow-node{min-height:81px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:5px 10px;padding:15px}.case-flow-index{grid-column:1;grid-row:1/3;margin:0;align-self:center}.case-flow-node strong{grid-column:2;font-size:13px;margin:0}.case-flow-node small{grid-column:2;font-size:10px}.case-flow-node:not(:last-child):after{content:'↓';right:auto;left:calc(50% - 5px);top:auto;bottom:-18px;font-size:13px}.case-tabs button{font-size:9px;padding:11px 9px}.case-node-inspector{padding:19px}.case-summary-card p{font-size:12px}}
@media(max-width:700px){.case-hero{grid-template-columns:75px minmax(0,1fr);gap:15px}.case-dialog .case-hero .dialog-banner{padding:10px;margin:0;min-height:69px}.case-dialog .case-hero .dialog-banner img{width:57px;height:38px}.case-dialog .case-hero #dialog-title{font-size:26px}.case-dialog .case-hero .dialog-meta{font-size:7px;line-height:1.7}}
@media print{.project-case .case-cover{display:none!important}.case-study{display:none!important}}
@media(max-width:580px){.case-track-controls.case-three-tracks{grid-template-columns:repeat(3,minmax(0,1fr))}.case-three-tracks button{white-space:normal;line-height:1.4}}
