.cases-page{--blue: var(--color-info);--blue-soft: rgb(from var(--color-info) r g b / .09)}.cases-page .network-stage{border:1px solid var(--line);border-radius:26px;background:linear-gradient(180deg,var(--surface),var(--page-2));box-shadow:var(--shadow);overflow:hidden;position:relative}.cases-page .stage-top{height:49px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:var(--muted-2);font-size:.75rem}.cases-page .stage-canvas{padding:18px 18px 10px;position:relative}.cases-page .stage-canvas svg{width:100%;height:330px}.cases-page .pulse-ring{transform-origin:center;animation:cases-pulse 3s ease-in-out infinite}.cases-page .dash-flow{stroke-dasharray:5 7;animation:cases-dash 8s linear infinite}.cases-page .dash-flow.rev{animation-direction:reverse;animation-duration:10s}.cases-page .packet{offset-path:path("M 224 165 C 170 140, 122 105, 72 72");animation:cases-packet 5s linear infinite}.cases-page .packet.p2{offset-path:path("M 224 165 C 170 188, 122 222, 74 262");animation-delay:1.1s}.cases-page .packet.p3{offset-path:path("M 224 165 C 280 134, 332 100, 384 72");animation-delay:2.2s}.cases-page .packet.p4{offset-path:path("M 224 165 C 280 190, 332 224, 384 262");animation-delay:3.2s}@keyframes cases-pulse{0%,to{opacity:.28;transform:scale(.95)}50%{opacity:.75;transform:scale(1.06)}}@keyframes cases-dash{to{stroke-dashoffset:-120}}@keyframes cases-packet{0%{offset-distance:0;opacity:0}10%{opacity:1}88%{opacity:1}to{offset-distance:100%;opacity:0}}@media(prefers-reduced-motion:reduce){.cases-page .pulse-ring,.cases-page .dash-flow,.cases-page .packet{animation:none!important}}.cases-page .stage-caption{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 18px 18px}.cases-page .stage-chip{border:1px solid var(--line);border-radius:13px;padding:10px 11px;background:var(--surface-2)}.cases-page .stage-chip strong{display:block;font-size:.78rem}.cases-page .stage-chip span{display:block;color:var(--muted-2);font-size:.68rem;margin-top:2px}.concept-page .cases-page .c-section-head.with-link{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.cases-page .c-section-head.with-link .section-title{max-width:735px}.cases-page .section-link{color:var(--violet);font-size:.86rem;font-weight:750;white-space:nowrap}.cases-page .section-link:hover{text-decoration:underline}.cases-page .featured{display:grid;grid-template-columns:1.08fr .92fr;gap:18px;align-items:stretch}.cases-page .featured-copy,.cases-page .featured-visual{border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,var(--surface),var(--page-2));overflow:hidden}.cases-page .featured-copy{padding:30px;display:flex;flex-direction:column}.cases-page .case-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.concept-page .cases-page .tag{font-size:.72rem;padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--surface-2);max-width:100%}.concept-page .cases-page .tag.violet{color:var(--violet);background:color-mix(in srgb,var(--violet) 10%,var(--surface));border-color:color-mix(in srgb,var(--violet) 26%,var(--line))}.concept-page .cases-page .tag.mint{color:var(--mint);background:color-mix(in srgb,var(--mint) 10%,var(--surface));border-color:color-mix(in srgb,var(--mint) 24%,var(--line))}.concept-page .cases-page .tag.gold{color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--surface));border-color:color-mix(in srgb,var(--gold) 24%,var(--line))}.concept-page .cases-page .tag.rose{color:var(--rose);background:color-mix(in srgb,var(--rose) 10%,var(--surface));border-color:color-mix(in srgb,var(--rose) 24%,var(--line))}.concept-page .cases-page .tag.blue{color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--surface));border-color:color-mix(in srgb,var(--blue) 24%,var(--line))}.cases-page .featured-copy h3{font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.06;letter-spacing:-.05em;margin:20px 0 12px}.cases-page .featured-copy>p{color:var(--muted);font-size:1rem;margin:0;max-width:650px}.cases-page .outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.cases-page .outcome{border:1px solid var(--line);background:var(--surface-2);border-radius:15px;padding:14px}.cases-page .outcome strong{display:block;font-size:1.2rem;letter-spacing:-.04em}.cases-page .outcome span{display:block;color:var(--muted-2);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;margin-top:3px}.cases-page .endpoint-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:2px}.concept-page .cases-page .endpoint-row .endpoint{display:inline-flex;font:650 .72rem/1 var(--font-mono);padding:7px 9px;border-radius:9px;border:1px solid var(--line);color:var(--muted);background:var(--page-2)}.cases-page .featured-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:24px}.cases-page .featured-visual{padding:24px;position:relative}.cases-page .arch-label{color:var(--muted-2);font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:15px}.cases-page .arch-flow{display:grid;gap:12px}.cases-page .arch-node{border:1px solid var(--line);border-radius:15px;background:var(--surface-2);padding:14px 15px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;position:relative}.cases-page .arch-node:not(:last-child):after{content:"";position:absolute;width:1px;height:13px;background:linear-gradient(var(--violet),var(--line));bottom:-13px;left:28px}.cases-page .node-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--violet) 11%,var(--surface));color:var(--violet);font:800 .67rem/1 var(--font-mono)}.cases-page .arch-node:nth-child(2) .node-icon{background:color-mix(in srgb,var(--blue) 11%,var(--surface));color:var(--blue)}.cases-page .arch-node:nth-child(3) .node-icon{background:color-mix(in srgb,var(--mint) 11%,var(--surface));color:var(--mint)}.cases-page .arch-node:nth-child(4) .node-icon{background:color-mix(in srgb,var(--gold) 11%,var(--surface));color:var(--gold)}.cases-page .arch-node:nth-child(5) .node-icon{background:color-mix(in srgb,var(--rose) 11%,var(--surface));color:var(--rose)}.cases-page .arch-node strong{font-size:.86rem;font-weight:720}.cases-page .arch-node code{font-size:.68rem;color:var(--violet);white-space:nowrap}.cases-page .featured-note{margin-top:16px;padding:14px;border-radius:14px;background:color-mix(in srgb,var(--violet) 7%,var(--surface));border:1px solid color-mix(in srgb,var(--violet) 20%,var(--line));color:var(--muted);font-size:.8rem}.cases-page .library-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:26px}.concept-page .cases-page .filters{display:flex;flex-wrap:wrap;gap:7px;padding:0;border-bottom:0}.cases-page .filter-btn{appearance:none;min-height:38px;padding:0 12px;border-radius:999px;border:1px solid var(--color-line-strong);background:var(--surface);cursor:pointer;color:var(--muted);font-size:.8rem;font-weight:700}.cases-page .filter-btn:hover{color:var(--ink);border-color:var(--violet);background:var(--surface-2)}.cases-page .filter-btn[aria-pressed=true]{color:var(--violet);background:color-mix(in srgb,var(--violet) 13%,var(--surface));border-color:var(--violet)}.cases-page .results-note{color:var(--muted-2);font-size:.8rem}.cases-page .case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.cases-page .case-card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,var(--surface),var(--page-2));padding:23px;min-height:330px;display:flex;flex-direction:column;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.cases-page .case-card:hover{transform:translateY(-2px);border-color:var(--violet);box-shadow:var(--shadow)}.cases-page .case-card[hidden]{display:none}@media(prefers-reduced-motion:reduce){.cases-page .case-card:hover{transform:none}}.cases-page .card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.cases-page .case-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface-2);flex:0 0 auto}.cases-page .metric-badge{text-align:right}.cases-page .metric-badge strong{display:block;font-size:1.1rem;letter-spacing:-.04em}.cases-page .metric-badge span{display:block;color:var(--muted-2);font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}.cases-page .case-card h3{font-size:1.27rem;line-height:1.18;letter-spacing:-.035em;margin:19px 0 9px}.cases-page .case-card p{margin:0;color:var(--muted);font-size:.88rem}.cases-page .case-card .case-meta{margin-top:17px}.cases-page .card-top .case-meta{margin-top:0}.cases-page .case-endpoints{display:flex;gap:6px;flex-wrap:wrap;margin:17px 0 0}.cases-page .case-endpoints code{font-size:.68rem;color:var(--muted);border:1px solid var(--line);background:var(--surface-2);padding:5px 7px;border-radius:7px}.cases-page .card-footer{margin-top:auto;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:.79rem}.cases-page .card-footer a{color:var(--violet);font-weight:760}.cases-page .card-footer a:hover{text-decoration:underline}.cases-page .card-footer span{color:var(--muted-2)}.cases-page .pattern-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.cases-page .pattern-card{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:18px;min-height:195px;position:relative;overflow:hidden}.cases-page .pattern-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-40px;bottom:-40px;background:rgb(from var(--violet) r g b / .07)}.cases-page .pattern-card:nth-child(2):after{background:rgb(from var(--mint) r g b / .07)}.cases-page .pattern-card:nth-child(3):after{background:rgb(from var(--gold) r g b / .07)}.cases-page .pattern-card:nth-child(4):after{background:rgb(from var(--blue) r g b / .07)}.cases-page .pattern-card:nth-child(5):after{background:rgb(from var(--rose) r g b / .07)}.cases-page .pattern-num{font:760 .7rem/1 var(--font-mono);color:var(--muted-2);letter-spacing:.08em}.cases-page .pattern-card h3{font-size:1rem;margin:22px 0 7px;position:relative}.cases-page .pattern-card p{font-size:.83rem;color:var(--muted);margin:0;position:relative}.cases-page .pattern-card code{display:inline-block;margin-top:14px;color:var(--violet);font-size:.68rem;position:relative}.cases-page .matrix-wrap{border:1px solid var(--line);border-radius:22px;background:var(--surface);overflow:auto}.cases-page .matrix{width:100%;border-collapse:collapse;min-width:740px}.cases-page .matrix th,.cases-page .matrix td{padding:15px 17px;font-size:.82rem;color:var(--muted);text-align:left;border-top:1px solid var(--line)}.cases-page .matrix thead th{font-size:.69rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);font-weight:760;background:var(--surface-2);border-top:0}.cases-page .matrix tbody th{color:var(--ink);font-weight:740}.cases-page .matrix .result{color:var(--mint);font-weight:760}.cases-page .matrix .plan{color:var(--violet);font-weight:760}.cases-page .note-strip{margin-top:24px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);color:var(--muted);font-size:.78rem;line-height:1.65}.cases-page .note-strip b{color:var(--ink)}.cases-page .toolkit{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:stretch}.cases-page .toolkit-copy,.cases-page .toolkit-map{border:1px solid var(--line);border-radius:22px;background:var(--surface);padding:25px}.concept-page .cases-page .toolkit-copy h2{font-size:1.45rem;line-height:1.2;letter-spacing:-.04em;margin:9px 0}.cases-page .toolkit-copy>p{margin:0;color:var(--muted);font-size:.91rem}.cases-page .tool-list{margin-top:20px;display:grid;gap:9px}.cases-page .tool-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:.8rem}.cases-page .tool-row code{color:var(--violet);font-weight:720}.cases-page .tool-row span{color:var(--muted)}.cases-page .map-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.cases-page .map-card{border:1px solid var(--line);border-radius:15px;background:var(--surface-2);padding:14px}.cases-page .map-card small{display:block;color:var(--muted-2);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.cases-page .map-card strong{display:block;margin-top:5px;font-size:.9rem}.cases-page .map-card p{margin:5px 0 0;color:var(--muted);font-size:.76rem}.cases-page .map-card code{display:inline-block;margin-top:9px;color:var(--violet);font-size:.67rem}.concept-page .cases-page .endpoint-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.cases-page .endpoint-card{display:block;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:17px 18px;transition:transform .18s ease,border-color .18s ease}.cases-page .endpoint-card:hover{transform:translateY(-2px);border-color:var(--violet)}@media(prefers-reduced-motion:reduce){.cases-page .endpoint-card:hover{transform:none}}.cases-page .endpoint-card code{font:650 .8rem/1.3 var(--font-mono);color:var(--violet)}.cases-page .endpoint-card p{margin:6px 0 0;color:var(--muted);font-size:.83rem}.cases-page .code-box .code-tabs b{color:var(--ink)}.cases-page pre.code-body{white-space:pre}.concept-page .cases-page .orbit-a,.concept-page .cases-page .orbit-b,.concept-page .cases-page .orbit-c{transform-origin:190px 145px}@media(max-width:1080px){.cases-page .featured,.cases-page .toolkit{grid-template-columns:1fr}.cases-page .pattern-grid{grid-template-columns:repeat(3,1fr)}.cases-page .network-stage{max-width:780px}}@media(max-width:780px){.cases-page .case-grid,.cases-page .pattern-grid,.cases-page .outcomes,.cases-page .stage-caption,.cases-page .map-grid,.concept-page .cases-page .endpoint-grid{grid-template-columns:1fr}.concept-page .cases-page .c-section-head.with-link{align-items:flex-start;flex-direction:column}.cases-page .featured-copy{padding:24px}.cases-page .stage-canvas svg{height:260px}}@media(max-width:520px){.cases-page .tool-row{grid-template-columns:1fr}.cases-page .case-card{min-height:auto}.cases-page .arch-node{grid-template-columns:auto minmax(0,1fr)}.cases-page .arch-node code{grid-column:2}}
