/* Work is organised by capability; company context stays inside each story. */
.film-work-list>button{grid-template-columns:48px minmax(0,1fr) 135px 24px}
.work-index{font:12px/1.5 ui-monospace,monospace;color:#72726c}
.film-page .case-modal{width:min(1120px,calc(100% - 40px));max-height:calc(100svh - 40px);border:1px solid #d4d4cf;border-radius:8px;background:#fff;box-shadow:0 30px 110px #17203533;overscroll-behavior:contain;scrollbar-color:#b9b9b4 #fff}
.film-page .case-modal::backdrop{background:#d6d7d980;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.film-page .reader-toolbar{padding:14px 32px;background:#ffffffed;border-bottom:1px solid #deded9;backdrop-filter:blur(20px)}
.film-page .reader-position{font:11px/1.5 ui-monospace,monospace;letter-spacing:.07em;color:#62625f}
.film-page .modal-close{position:static;width:44px;height:44px;min-width:44px;border-radius:4px;border:1px solid #deded9;background:#f4f4f0;color:#202126;font-size:28px;line-height:1;box-shadow:none;transform:none}
.film-page .modal-close:hover{background:#dfff70;color:#243016}
.film-page .case-content{padding:46px 56px 48px}
.film-page .case-content>.eyebrow{font:11px/1.7 ui-monospace,monospace;letter-spacing:.08em;color:#62625f}
.film-page .case-content h2{max-width:930px;font-size:clamp(2.3rem,5.1vw,4.7rem);line-height:1.02;letter-spacing:-.065em;font-weight:600;color:#202126;margin:23px 0}
.film-page .case-content .case-lead{font-size:18px;line-height:1.65;max-width:790px;color:#575953;margin-bottom:36px}
.film-page .case-demo{--object-accent:#2149ee!important}
.film-page .workbench{border:1px solid #cacbc6;border-radius:6px;margin:0 0 36px;background:#f0f0eb;box-shadow:none}
.film-page .workbench-bar{background:#202126;color:#fff;border:0;padding:14px 20px;gap:20px;align-items:center;font-size:15px;line-height:1.45}
.film-page .workbench-reset{border:1px solid #ffffff50;border-radius:4px;padding:9px 12px;font-size:12px;color:#fff;white-space:nowrap;min-height:40px}
.film-page .workbench-reset:hover{background:#ffffff20}
.film-page .workbench-stage{height:440px;background-color:#eeeee8;background-image:radial-gradient(#bdbdb5 1px,transparent 1px);background-size:22px 22px}
.film-page .workbench-stage path{stroke:#2149ee;stroke-width:2;stroke-opacity:.5;stroke-dasharray:none}
.film-page .work-object{width:40%;max-width:290px;height:158px;min-height:158px;padding:18px 20px;border:1px solid #bcbeb7;border-radius:5px;background:#fff;color:#202126;box-shadow:3px 4px 0 #20212610;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .18s,border-color .18s,box-shadow .18s}
.film-page .work-object:hover{border-color:#2149ee;box-shadow:4px 6px 0 #2149ee18}
.film-page .work-object[aria-pressed=true]{background:#dfff70;color:#243016;border-color:#667a32;box-shadow:4px 5px 0 #667a3225}
.film-page .work-object.is-held{box-shadow:7px 10px 0 #2149ee22;border-color:#2149ee;cursor:grabbing}
.film-page .object-meta{font:10px/1.4 ui-monospace,monospace;letter-spacing:.05em;color:#5f6358;gap:8px}
.film-page .work-object strong{font-size:24px;font-weight:550;line-height:1.08;letter-spacing:-.055em;margin:9px 0;overflow-wrap:anywhere}
.film-page .object-index{font:12px/1.4 ui-monospace,monospace;color:#2149ee}
.film-page .workbench-detail{border-top:1px solid #cacbc6;padding:24px 26px;background:#fff;min-height:132px}
.film-page .workbench-detail strong{font-size:22px;font-weight:550;letter-spacing:-.04em;color:#202126}
.film-page .case-content .workbench-detail p{font-size:16px;color:#5a5d53;line-height:1.6;margin-top:8px;max-width:780px}
.film-page .case-content .workbench-caption{padding:16px 26px;background:#f6f6f2;border-top:1px solid #deded9;color:#64665e;font-size:12px;line-height:1.7}
.film-page .case-content .case-metric{display:grid;grid-template-columns:minmax(150px,auto) 1fr;align-items:center;gap:28px;border:0;border-left:4px solid #2149ee;border-radius:0;padding:24px 28px;background:#f1f3ff;box-shadow:none;margin:0 0 36px}
.film-page .case-metric strong{font-size:clamp(1.9rem,3.4vw,3rem);font-weight:550;letter-spacing:-.055em;color:#2149ee}
.film-page .case-metric span{font-size:15px;color:#4f5570;max-width:430px;line-height:1.6}
.case-chapters{border-top:1px solid #d9d9d3}
.case-chapter{display:grid;grid-template-columns:30px minmax(140px,.75fr) minmax(0,1.5fr);gap:24px;padding:30px 0;border-bottom:1px solid #d9d9d3;align-items:start}
.case-chapter-number{font:11px/1.6 ui-monospace,monospace;color:#777a6e;padding-top:5px}
.film-page .case-chapter h3{margin:0;font-size:21px;font-weight:550;line-height:1.25;letter-spacing:-.04em;color:#202126}
.film-page .case-chapter p{font-size:16px;line-height:1.7;color:#585c52;margin:0}
.film-page .case-content>.case-note{font-size:12px;line-height:1.75;color:#717469;border:0;padding:0;margin:25px 0}
.film-page .case-content>a{display:inline-block;margin-top:25px;font-size:15px;color:#2149ee;text-decoration:underline;text-underline-offset:5px}
.film-page .reader-next{background:#dfff70;border:1px solid #bdd35f;border-radius:5px;padding:25px;color:#243016;margin-top:30px;box-shadow:none}
.film-page .reader-next:hover{background:#d2f35b}
.film-page .reader-next small{font:11px ui-monospace,monospace;color:#5b683e;margin-bottom:10px}
.film-page .reader-next strong{font-size:21px;font-weight:550;line-height:1.25;letter-spacing:-.04em}
@media(max-width:800px){
 .film-work-list>button{grid-template-columns:30px minmax(0,1fr) 24px;gap:14px}
 .film-work-list strong{grid-column:2;grid-row:1;font-size:18px}
 .film-work-list>button>span:last-child{grid-column:3;grid-row:1}
 .film-page .case-modal{width:calc(100% - 16px);max-height:calc(100svh - 16px);border-radius:6px}
 .film-page .reader-toolbar{padding:10px 16px}
 .film-page .case-content{padding:28px 20px}
 .film-page .case-content h2{font-size:clamp(2.1rem,7vw,3.4rem)}
 .film-page .case-content .case-lead{font-size:16px;line-height:1.6;margin-bottom:26px}
 .case-chapter{grid-template-columns:24px minmax(0,1fr);gap:10px 12px;padding:25px 0}
 .film-page .case-chapter h3{font-size:20px}
 .case-chapter p{grid-column:2}
 .film-page .case-content .case-metric{grid-template-columns:1fr;gap:10px;padding:20px}
 .film-page .workbench-bar{padding:12px;font-size:14px;gap:10px;flex-wrap:wrap}
 .film-page .workbench-stage{height:420px}
 .film-page .work-object{width:42%;height:160px;min-height:160px;padding:12px}
 .film-page .work-object strong{font-size:20px}
 .film-page .object-meta{font-size:9px;letter-spacing:0}
 .film-page .workbench-detail{padding:20px 16px;min-height:155px}
 .film-page .case-content .workbench-caption{padding:14px 16px}
 .film-page .reader-next{padding:20px}
 .film-page .reader-next strong{font-size:18px}
}
