.case-identity { display:flex; flex-wrap:wrap; gap:5px 18px; font-size:14px; color:var(--muted); }
.case-identity strong { color:var(--ink); }
.case-story { min-width:0; }
.story-company { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.article .story-company h2 { font-size:25px; margin:5px 0 8px; }
.story-company p { margin:0; font-size:15px; line-height:1.8; max-width:65ch; }
.story-links { display:grid; gap:10px; flex-shrink:0; font-size:13px; }
.story-roles { display:grid; grid-template-columns:2fr 1fr 1fr; gap:16px; margin:18px 0; padding:16px 0; border-block:1px solid var(--line); }
.story-roles dt,.demo-fields dt { font-size:12px; color:var(--muted); }
.story-roles dd { margin:5px 0 0; font-size:14px; line-height:1.7; }
.story-evidence { border:1px solid var(--line); border-radius:10px; background:#fff; padding:0 16px; margin:18px 0; }
.story-evidence summary { padding:12px 0; font-weight:600; font-size:14px; min-height:44px; }
.story-evidence summary small { font-size:11px; color:var(--muted); font-weight:400; margin-left:14px; }
.story-evidence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding:8px 0 16px; }
.story-evidence-grid span { color:#3b60ad; font-size:12px; }
.article .story-evidence-grid h3 { font-size:15px; margin:5px 0; }
.story-evidence-grid p,.story-gaps p { font-size:13px; line-height:1.8; margin:0; color:var(--muted); }
.story-flow { margin:14px 0 24px; }
.story-flow ol { list-style:none; padding:0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.article .story-flow li { margin:0; padding:14px 12px; background:#edf2ff; border:1px solid #dae3fc; border-radius:8px; position:relative; }
.story-flow li:not(:last-child)::after { content:'→'; position:absolute; right:-12px; top:40%; color:#5974a8; z-index:1; }
.story-flow b { font-size:11px; color:#5974a8; display:block; }
.story-flow strong { display:block; font-size:14px; margin:3px 0; }
.story-flow span { font-size:11px; line-height:1.55; display:block; color:#53647d; overflow-wrap:anywhere; }
.story-flow figcaption,.demo-drawing figcaption { color:var(--muted); font-size:12px; line-height:1.8; margin-top:10px; }
.case-demo { border:1px solid #cad7ec; border-radius:12px; overflow:hidden; background:white; }
.demo-intro { padding:16px 18px; background:#edf3ff; border-bottom:1px solid #dae3fc; }
.demo-intro strong { font-size:15px; color:#25467d; }
.demo-intro p { font-size:12px; line-height:1.8; margin:5px 0 0; color:#53647d; }
.demo-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; padding:12px; border-bottom:1px solid var(--line); }
.demo-steps button { padding:10px 8px; min-height:44px; border:1px solid transparent; border-radius:8px; font:inherit; font-size:12px; color:#52637b; background:#f5f7fb; cursor:pointer; }
.demo-steps button[aria-pressed=true] { color:#254ba3; border-color:#b8caf4; background:#eaf0ff; font-weight:700; }
.demo-steps button span { display:inline-block; margin-right:6px; }
.demo-steps button:focus-visible { outline:3px solid #5078d9; outline-offset:2px; }
.demo-workspace { display:grid; grid-template-columns:1.05fr 1fr; align-items:start; gap:20px; padding:20px; }
.demo-drawing { margin:0; min-width:0; }
.demo-drawing img { width:100%; height:auto; display:block; border-radius:5px; }
.demo-output { min-width:0; }
.demo-eyebrow { font-size:11px; letter-spacing:1px; color:#536da0; }
.demo-output h4 { font-size:20px; margin:4px 0 8px; }
.demo-output p { font-size:14px; line-height:1.85; margin:0; }
.demo-fields { margin:14px 0; border-top:1px solid var(--line); }
.demo-fields>div { padding:9px 0; display:grid; grid-template-columns:100px minmax(0,1fr); gap:8px; border-bottom:1px solid var(--line); }
.demo-fields dd { margin:0; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.demo-output .demo-takeaway { font-size:13px; color:#35578b; background:#f3f6fc; padding:10px 12px; border-radius:6px; }
.story-gaps ul { padding-left:20px; }
.article .story-gaps li { font-size:14px; }
.story-gaps p { margin:0 0 16px; }
@media(max-width:1100px) {
 .article-layout .mobile-outline { top:calc(60px + var(--bottom-height) + 1px); }
 .article-layout .article section { scroll-margin-top:calc(60px + var(--bottom-height) + 64px); }
}
@media(max-width:750px) {
 .story-company { display:block; }.story-links { display:flex; gap:16px; margin-top:10px; }
 .story-roles { grid-template-columns:1fr 1fr; gap:12px; }.story-roles>div:first-child { grid-column:1/-1; }
 .story-evidence-grid { grid-template-columns:1fr; gap:12px; }.story-evidence-grid>div { border-top:1px solid var(--line); padding-top:10px; }
 .story-evidence summary small { display:block; margin:5px 0 0; }
 .story-flow ol { grid-template-columns:1fr 1fr; }.story-flow li:not(:last-child)::after { content:none; }
 .demo-workspace { grid-template-columns:1fr; padding:14px; gap:14px; }
 .demo-steps { grid-template-columns:1fr 1fr; padding:10px; }
 .demo-output h4 { font-size:18px; }.demo-fields>div { grid-template-columns:85px minmax(0,1fr); }
 .story-company p { font-size:14px; }
}
@media print { .story-evidence:not([open]) { display:none; }.demo-steps { display:none; }.case-demo { break-inside:avoid; } }

.story-reference { margin-top:22px; }.story-reference p { font-size:14px; }.story-reference small { display:block; color:var(--muted); font-size:13px; line-height:1.8; margin-top:4px; }
