/* Foaster motion: homepage micro-states, platform BPMN scroll scene, consulting-firms review demo.
   Everything is scoped under .fm so it cannot leak into the rest of the site. */
.fm{--fm-ink:#183449;--fm-muted:#586d7d;--fm-faint:#8a9aa6;--fm-line:#dde5eb;--fm-soft:#eef4f7;--fm-accent:#375f7d;--fm-navy:#1b3650;--fm-firm:#0f2235;--fm-orange:#a86a12;--fm-rose:#a2445e;--fm-rose-soft:#f7e7ec;--fm-sans:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--fm-serif:"Newsreader",Georgia,serif;--fm-mono:DMMono,"DM Mono",ui-monospace,Menlo,monospace;font-family:var(--fm-sans);color:var(--fm-ink);line-height:1.45;letter-spacing:0}
.fm *,.fm *::before,.fm *::after{box-sizing:border-box}
.fm p,.fm h4,.fm h5,.fm figure{margin:0}
.fm h4,.fm h5{font-family:var(--fm-sans);font-weight:400;letter-spacing:-.01em}
.fm img{display:block;max-width:none}
.fm .fm-canvas{position:absolute;left:0;top:0;transform-origin:0 0}
.fm .fm-mono{font-family:var(--fm-mono);font-variant-numeric:tabular-nums}
.fm .fm-obj{position:absolute;background:#fff;border-radius:12px;box-shadow:0 1px 2px rgba(24,52,73,.06),0 18px 40px -22px rgba(24,52,73,.4)}
.fm .fm-spin{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--fm-accent);border-right-color:transparent}
.fm .fm-roll{display:inline-block;height:18px;overflow:hidden;vertical-align:top}
.fm .fm-roll>span{display:block;height:18px;line-height:18px;white-space:nowrap}
.fm .fm-chip{position:absolute;z-index:10;height:36px;padding:0 16px 0 7px;border-radius:999px;background:#fff;box-shadow:0 1px 2px rgba(24,52,73,.08),0 12px 28px -14px rgba(24,52,73,.45);display:flex;align-items:center;gap:9px;font-size:13px;font-weight:500;color:var(--fm-ink);white-space:nowrap}
.fm .fm-chip .fm-st{position:relative;width:22px;height:22px;border-radius:50%;background:var(--fm-soft);flex:none}
.fm .fm-chip .fm-st .fm-spin{position:absolute;left:6px;top:6px}
.fm .fm-chip .fm-st svg{position:absolute;inset:0;opacity:0}
.fm .fm-roll2{display:block;height:20px;overflow:hidden;position:relative}
.fm .fm-roll2>span{display:block;width:max-content;height:20px;line-height:20px;white-space:nowrap}
.fm .fm-roll2 b{font-weight:600}
.fm .fm-cursor{position:absolute;left:0;top:0;width:22px;height:22px;z-index:50;pointer-events:none;transform-origin:3px 3px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.22))}
.fm .fm-ripple{position:absolute;left:0;top:0;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;border:1.5px solid var(--fm-accent);z-index:49;opacity:0;pointer-events:none}
.fm .fm-illus{position:absolute;right:22px;bottom:14px;font-size:10px;color:var(--fm-faint);z-index:30}

/* ---------- homepage micro-states ---------- */
.fm-host{position:relative}
.fm-host>svg.story-scene{visibility:hidden}
.fm-host>video{display:none!important}
[data-platform-story].fm-on .story-motion-toggle{display:none!important}
.fm-micro{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:#dde8f1}
body.refined [data-platform-story].fm-on .platform-story-pin .motion-view.is-current{pointer-events:auto}
.fm .fm-controls{z-index:60;pointer-events:none}
.fm .fm-controls .fm-mtabs{pointer-events:auto}
.fm .fm-oh{display:flex;align-items:baseline;justify-content:space-between;padding:22px 24px 16px}
.fm .fm-oh b{font-size:14.5px;font-weight:500}
.fm .fm-oh small{display:block;font-size:12px;color:var(--fm-faint);font-weight:400;margin-top:2px}
.fm .fm-oh .fm-mono{font-size:12.5px;color:var(--fm-muted)}
.fm .fm-orow{display:flex;align-items:center;gap:12px;height:48px;margin:0 24px;border-top:1px solid var(--fm-line);font-size:13.5px}
.fm .fm-orow .fm-mono{margin-left:auto;font-size:12.5px;color:var(--fm-muted)}
.fm .fm-logos{display:flex;width:46px;flex:none}
.fm .fm-logos img{width:20px;height:20px;margin-right:-8px;background:#fff;border-radius:4px;box-shadow:0 0 0 2px #fff}
.fm .fm-dots{display:grid;grid-template-columns:repeat(15,14px);gap:8px;padding:4px 24px 20px;justify-content:center}
.fm .fm-dot{display:block;width:14px;height:14px;border-radius:50%;border:1.25px solid #c9d7e2;background:#fff}
.fm .fm-ofoot{margin:0 24px;padding:14px 0 18px;border-top:1px solid var(--fm-line);font-size:12px;color:var(--fm-faint)}
.fm .fm-rec h4{margin:0 24px;font-size:18px;line-height:1.3;color:var(--fm-ink)}
.fm .fm-del{position:relative}
.fm .fm-del i{position:absolute;left:-1px;right:-1px;top:56%;height:1.5px;background:var(--fm-muted);transform-origin:0 50%}
.fm .fm-ins{color:var(--fm-accent);box-shadow:inset 0 -1.5px 0 var(--fm-accent)}
.fm .fm-rfoot{display:flex;align-items:center;justify-content:space-between;margin:20px 24px 22px;padding-top:16px;border-top:1px solid var(--fm-line);font-size:12px;color:var(--fm-muted)}
.fm .fm-rfoot b{color:var(--fm-ink);font-weight:600}
.fm .fm-apbtn{height:34px;padding:0 16px;border-radius:8px;background:var(--fm-navy);color:#fff;font-size:12.5px;font-weight:500;display:flex;align-items:center;overflow:hidden}
.fm .fm-lesson{display:flex;align-items:center;gap:10px;height:44px;margin:0 24px;border-top:1px solid var(--fm-line);font-size:13px;overflow:hidden}
.fm .fm-lesson i{width:15px;height:15px;border-radius:50%;border:1.5px solid #b9cad6;flex:none}
.fm .fm-lesson .fm-lt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm .fm-lesson .fm-from{font:10.5px var(--fm-mono);color:var(--fm-muted);background:var(--fm-soft);border-radius:4px;padding:2px 6px;flex:none}

.fm .fm-ver{font:500 11px var(--fm-mono);padding:3px 7px;border-radius:5px;background:var(--fm-soft);color:var(--fm-muted);height:24px;display:flex;align-items:center}
.fm .fm-ver .fm-roll>span{height:18px;line-height:18px}
.fm .fm-skrow{display:flex;align-items:center;gap:10px;height:44px;margin:0 24px;padding:0 8px;border-top:1px solid var(--fm-line);font-size:13px;overflow:hidden;color:var(--fm-muted)}
.fm .fm-skrow i{width:6px;height:6px;border-radius:50%;background:#b9cad6;flex:none;margin:0 4px}
.fm .fm-skrow .fm-lt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fm .fm-skrow.is-new{color:#22573f;border-top-color:#cfe5d9;border-radius:6px;background:rgba(223,240,231,.45)}
.fm .fm-skrow.is-new b{width:14px;text-align:center;font-weight:600;color:#2f7a57;flex:none}
.fm .fm-skrow.is-new .fm-from{font:10.5px var(--fm-mono);color:#2f7a57;background:#fff;border:1px solid #cfe5d9;border-radius:4px;padding:2px 6px;flex:none}
.fm .fm-skrow+.fm-ofoot{margin-top:6px}

/* ---------- platform: BPMN, scroll-driven ---------- */
/* Keep equal breathing room and align the introduction to the product scene. */
body.platform .fm-platform{--fm-intro-space:clamp(64px,5.5vw,96px);padding-block-start:var(--fm-intro-space)}
body.platform .fm-platform .fm-scrolly{margin-top:var(--fm-intro-space)}
@media(max-width:760px){body.platform .fm-platform{--fm-intro-space:56px}}
body.platform .fm-platform-heading{width:100%;max-width:min(100%,calc((100vh - 170px) * 1.6));margin-inline:auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px clamp(32px,4.4vw,64px);align-items:center}
body.platform .fm-platform-heading h2{margin:0}
body.platform .fm-platform-copy{min-width:0;max-width:none;margin:0;font-size:16px;line-height:1.75;color:#586d7d}
@media(max-width:1000px){body.platform .fm-platform-heading{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){body.platform .fm-platform-copy{font-size:15px;line-height:1.7}}
.fm-scrolly{position:relative;height:380vh;margin-top:40px}
.fm-sticky{position:sticky;top:max(96px,12vh)}
.fm-stage{position:relative;width:100%;max-width:min(100%,calc((100vh - 170px) * 1.6));aspect-ratio:16/10;margin:0 auto;border-radius:22px;background:#e2ebf2;overflow:hidden}
.fm-sprog{max-width:min(100%,calc((100vh - 170px) * 1.6));height:2px;margin:14px auto 0;background:#dde5eb;border-radius:2px;overflow:hidden}
.fm-sprog i{display:block;height:100%;width:0;background:#1b3650}
.fm .fm-grp,.fm .fm-cam{position:absolute;inset:0}
.fm .fm-grp{transform-origin:120px 96px}
.fm .fm-board{position:absolute;left:40px;top:52px;width:880px;height:420px;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(24,52,73,.06),0 18px 40px -22px rgba(24,52,73,.35);overflow:hidden}
.fm .fm-lane{position:absolute;left:0;width:880px;height:140px;border-top:1px solid #e3eaf0}
.fm .fm-lane:first-child{border-top:0}
.fm .fm-lh{position:absolute;left:0;top:0;bottom:0;width:130px;border-right:1px solid #e3eaf0;padding:16px 14px}
.fm .fm-lh b{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:600;line-height:1.3}
.fm .fm-lh b::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--lc);flex:none}
.fm .fm-lh small{display:block;font-size:10px;color:var(--fm-faint);line-height:1.35;margin:4px 0 0 14px}
.fm .fm-csvg{position:absolute;inset:0;overflow:visible;z-index:3}
.fm .fm-csvg polyline{fill:none;stroke:#7f97aa;stroke-width:1.2}
.fm .fm-csvg polyline.fm-msg{stroke-dasharray:4 3}
.fm .fm-csvg path{fill:#7f97aa}
.fm .fm-flab{position:absolute;z-index:6;font-size:9.5px;font-weight:500;color:var(--fm-muted);white-space:nowrap}
.fm .fm-ev{position:absolute;z-index:5;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;border:1.5px solid var(--fm-accent);background:#fff;display:grid;place-items:center}
.fm .fm-ev.fm-end{border-width:3px}
.fm .fm-evlab{position:absolute;z-index:6;width:110px;margin-left:-55px;text-align:center;font-size:9.5px;color:var(--fm-muted);line-height:1.3}
.fm .fm-gw{position:absolute;z-index:5;width:21px;height:21px;margin:-10.5px 0 0 -10.5px;transform:rotate(45deg);border:1.5px solid var(--fm-accent);background:#fff}
.fm .fm-gw::before,.fm .fm-gw::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:var(--fm-accent);margin:-.75px 0 0 -5.5px}
.fm .fm-gw::after{transform:rotate(90deg)}
.fm .fm-gwlab{position:absolute;z-index:6;width:120px;margin-left:-60px;text-align:center;font-size:9.5px;font-weight:500;color:var(--fm-ink)}
.fm .fm-task{position:absolute;z-index:4;height:52px;border-radius:8px;background:#fff;border:1.2px solid #b9cad6}
.fm .fm-task.fm-judg{border-style:dashed}
.fm .fm-tname{position:absolute;z-index:6;font-size:11px;font-weight:500;line-height:14px;white-space:nowrap}
.fm .fm-tsub{position:absolute;z-index:6;font-size:9.5px;color:var(--fm-muted);line-height:12px;white-space:nowrap}
.fm .fm-tdur{position:absolute;z-index:6;font:12px/16px var(--fm-mono);color:var(--fm-muted);white-space:nowrap;opacity:0}
.fm .fm-badge{position:absolute;z-index:7;width:16px;height:16px;border-radius:50%;background:#fff;border:1.2px solid var(--fm-orange);color:var(--fm-orange);font:600 9px/14px var(--fm-sans);text-align:center;opacity:0}
.fm .fm-legend{position:absolute;left:40px;right:40px;top:486px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:10px;color:var(--fm-muted);z-index:6}
.fm .fm-legend span{display:inline-flex;align-items:center;gap:6px}
.fm .fm-legend i{display:inline-block;flex:none;font-style:normal}
.fm .fm-ccap,.fm .fm-dcap{position:absolute;left:0;right:0;text-align:center;font-size:13.5px;color:var(--fm-muted);z-index:6}
.fm .fm-ccap{top:528px}.fm .fm-dcap{top:494px;font-size:14px}
.fm .fm-ccap b,.fm .fm-dcap b{color:var(--fm-ink);font-weight:600}
.fm .fm-verb{left:318px;top:338px;width:340px;padding:16px 18px;z-index:20}
.fm .fm-verb .fm-who{font-size:11.5px;color:var(--fm-muted)}
.fm .fm-verb p{margin:8px 0 0;font-size:14.5px;line-height:1.5}
.fm .fm-verb .fm-n{margin-top:10px;font-size:11.5px;color:var(--fm-muted)}
.fm .fm-verb .fm-n b{color:var(--fm-ink);font-weight:600}
.fm .fm-slide{position:absolute;background:#fff;border-radius:4px;box-shadow:0 2px 4px rgba(24,52,73,.06),0 24px 48px -20px rgba(24,52,73,.35);z-index:1;overflow:hidden}
.fm .fm-stitle{position:absolute;left:156px;top:126px;width:560px;font-family:var(--fm-serif);font-size:23.5px;line-height:1.2;letter-spacing:-.01em;z-index:6;color:var(--fm-firm)}
.fm .fm-ssub{position:absolute;left:156px;top:192px;font-size:11.5px;color:var(--fm-muted);z-index:6}
.fm .fm-srule{position:absolute;left:156px;top:178px;width:520px;height:1.5px;background:var(--fm-firm);transform-origin:0 50%;transform:scaleX(0);z-index:6}
.fm .fm-sfoot{position:absolute;left:156px;top:470px;width:648px;display:flex;justify-content:space-between;font-size:10px;color:var(--fm-faint);z-index:6}
.fm .fm-slogo{position:absolute;left:712px;top:128px;font:500 10.5px var(--fm-serif);letter-spacing:.16em;color:var(--fm-firm);z-index:6;text-align:right;width:92px;line-height:1.25}
.fm .fm-thumb{position:absolute;width:128px;height:72px;background:#fff;border-radius:2px;box-shadow:0 1px 2px rgba(24,52,73,.08),0 8px 18px -12px rgba(24,52,73,.35);overflow:hidden}
.fm .fm-thumb i{position:absolute;display:block;border-radius:1px}
.fm .fm-ring7{position:absolute;left:52px;top:204px;width:136px;height:80px;border:1.5px solid var(--fm-firm);border-radius:5px;z-index:9}

/* ---------- consulting firms: review demo inside the engagement film ---------- */
.engagement-screen.fm-film{position:relative}
.fm-demo{position:absolute;inset:0;z-index:3;background:#e8edee;opacity:0;visibility:hidden;border-radius:inherit;overflow:hidden}
.fm .fm-dcard{left:98px;width:440px;padding:30px 30px 26px;z-index:3}
.fm .fm-dcard .fm-k{font-size:12px;color:var(--fm-faint)}
.fm .fm-dcard h5{margin:10px 0 12px;font-size:21px;line-height:1.25;color:var(--fm-ink)}
.fm .fm-dcard p{margin:0;font-size:14.5px;line-height:1.65;color:#2d4659}
.fm .fm-cite{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;background:var(--fm-soft);color:var(--fm-accent);font:500 10.5px var(--fm-mono);vertical-align:2px;margin-left:3px}
.fm .fm-lab{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fm-faint);margin:22px 0 8px}
.fm .fm-field{height:72px;border-radius:9px;border:1px solid var(--fm-line);background:#fbfcfd;padding:12px 14px;font-size:14px;line-height:1.45}
.fm .fm-caret{display:inline-block;width:1.5px;height:17px;background:var(--fm-navy);vertical-align:-3px;margin-left:1px;opacity:0;animation:fm-blink 1s steps(1) infinite}
@keyframes fm-blink{50%{visibility:hidden}}
.fm .fm-acts{display:flex;gap:10px;margin-top:16px}
.fm .fm-acts span{flex:1;height:38px;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:500}
.fm .fm-acts .fm-ghost{border:1px solid var(--fm-line)}
.fm .fm-acts .fm-prim{background:var(--fm-navy);color:#fff;flex:1.4}
.fm .fm-status{display:flex;align-items:center;gap:8px;margin-top:14px;height:18px;font-size:12.5px;color:var(--fm-accent);opacity:0}
.fm .fm-pop{left:562px;width:300px;padding:22px 22px 18px;z-index:2}
.fm .fm-pop .fm-who{font-size:12px;color:var(--fm-muted)}
.fm .fm-pop .fm-who .fm-mono{color:var(--fm-faint);font-size:11px;display:block;margin-top:2px}
.fm .fm-pop .fm-q{margin:14px 0 0;font-size:16px;line-height:1.5}
.fm .fm-mark{background-image:linear-gradient(#f3d5de,#f3d5de);background-repeat:no-repeat;background-size:0% 100%;border-radius:2px}
.fm .fm-pop .fm-also{margin-top:16px;padding-top:12px;border-top:1px solid var(--fm-line);font-size:12px;color:var(--fm-muted)}
.fm .fm-pop .fm-also b{color:var(--fm-ink);font-weight:600}
@media (prefers-reduced-motion:reduce){.fm .fm-caret{animation:none}}

/* ---------- homepage knowledge graph (under the launch film) ---------- */
.fm-kg-section .launch-heading{margin-bottom:40px}
.fm.fm-kg-stage{position:relative;width:100%;aspect-ratio:2.1;max-width:min(100%,calc((100vh - 140px) * 2.1));margin-inline:auto;border-radius:var(--radius,20px);background:#e2ebf2;border:1px solid #e1e9ee;overflow:hidden}
@media (max-width:640px){.fm.fm-kg-stage{aspect-ratio:520/770;border-radius:18px}}
.fm .fm-kg-tall .fm-kcard .fm-oh small{display:none}
.fm .fm-kcard{overflow:hidden}
.fm .fm-kcard .fm-oh{align-items:baseline;height:46px;padding:14px 20px 0;border-bottom:1px solid var(--fm-line)}
.fm .fm-kcard .fm-oh b{font-size:13.5px}
.fm .fm-kcard .fm-oh small{display:inline;font-size:11.5px;margin:0 0 0 10px}
.fm .fm-kcard .fm-oh .fm-mono{font-size:11.5px}
.fm .fm-klab{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fm-faint)}
.fm .fm-kside{position:absolute;left:0;top:46px;bottom:0;width:280px;border-right:1px solid var(--fm-line);background:#fbfcfd}
.fm .fm-kg-tall .fm-kside{right:0;width:auto;bottom:auto;height:280px;border-right:0;border-bottom:1px solid var(--fm-line)}
.fm .fm-kmeta{display:flex;align-items:center;gap:14px;height:64px;padding:0 20px;border-bottom:1px solid var(--fm-line)}
.fm .fm-kmeta b{display:block;font-size:12.5px;font-weight:600}
.fm .fm-kmeta small{display:block;font-size:11.5px;color:var(--fm-muted);margin-top:1px}
.fm .fm-kwave{display:flex;align-items:center;gap:2px;height:30px;width:78px;flex:none}
.fm .fm-kwave i{display:block;width:2px;height:3px;border-radius:2px;background:#8fa7ba;flex:none}
.fm .fm-kblk{position:absolute;left:0;right:0;top:64px;padding:16px 20px 0;opacity:0}
.fm .fm-kblk p{font-size:13.5px;line-height:1.55;color:#2d4659}
.fm .fm-kblk .fm-w{opacity:.15}
.fm .fm-kblk .fm-ent{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(111,142,166,0)}
.fm .fm-kblk .fm-klab{margin:16px 0 6px}
.fm .fm-kg-tall .fm-kblk .fm-klab{margin-top:12px}
.fm .fm-xrow{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:8px;height:30px;border-top:1px solid var(--fm-line);font-size:12.5px;opacity:0}
.fm .fm-xt{font:10px var(--fm-mono);color:var(--fm-faint);text-transform:uppercase;letter-spacing:.04em}
.fm .fm-xt.is-issue{color:#c56b84}
.fm .fm-xn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm .fm-xs{font-size:11px;color:var(--fm-muted);white-space:nowrap}
.fm .fm-xs.is-m{color:var(--fm-navy);font-weight:500}
.fm .fm-kqueue{position:absolute;left:0;right:0;top:64px;bottom:0;padding:16px 20px 0;opacity:0}
.fm .fm-kwin{position:absolute;left:20px;right:20px;top:44px;bottom:16px;overflow:hidden;-webkit-mask-image:linear-gradient(transparent,#000 22%);mask-image:linear-gradient(transparent,#000 22%)}
.fm .fm-qrow{display:flex;justify-content:space-between;height:26px;align-items:center;border-top:1px solid var(--fm-line);font-size:11.5px;color:var(--fm-muted)}
.fm .fm-qrow .fm-mono{color:var(--fm-ink);font-size:11px}
.fm .fm-kinsp{position:absolute;inset:0;padding:18px 20px;background:#fbfcfd;opacity:0}
.fm .fm-ktag{display:inline-block;font:500 9.5px/18px var(--fm-sans);letter-spacing:.08em;text-transform:uppercase;padding:0 7px;border-radius:4px;background:var(--fm-rose-soft);color:var(--fm-rose)}
.fm .fm-kinsp h4{margin:8px 0 12px;font-size:18px;font-weight:500}
.fm .fm-kv{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--fm-line);font-size:12px;color:var(--fm-muted)}
.fm .fm-kv b{color:var(--fm-ink);font-weight:500;text-align:right}
.fm .fm-kg-tall .fm-kv-x{display:none}
.fm .fm-kqt{margin-top:12px;padding:10px 12px;border-radius:8px;background:#fff;border:1px solid var(--fm-line);font-size:12px;line-height:1.5;color:#2d4659}
.fm .fm-kqt small{display:block;margin-top:6px;font-size:10.5px;color:var(--fm-faint)}
.fm .fm-klayer{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:4}
.fm .fm-klayer line{stroke:#d3dde5;stroke-width:1}
.fm .fm-klayer line.k{stroke:#a3b6c4;stroke-width:1.3}
.fm .fm-klayer line.hi{stroke:var(--fm-navy);stroke-width:2}
.fm .fm-kelab{position:absolute;left:0;top:0;z-index:5;font-size:9.5px;line-height:13px;font-style:italic;color:var(--fm-faint);white-space:nowrap;background:#fff;padding:0 4px;border-radius:3px;opacity:0}
.fm .fm-kn{position:absolute;left:0;top:0;width:0;height:0;z-index:6;opacity:0}
.fm .fm-kc{position:absolute;left:-17px;top:-17px;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid #c9d5de;display:grid;place-items:center;box-shadow:0 2px 8px -4px rgba(24,52,73,.25)}
.fm .fm-kc svg{width:15px;height:15px;stroke:var(--fm-accent);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fm .fm-kring{position:absolute;left:-17px;top:-17px;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--fm-navy);opacity:0}
.fm .fm-kl{position:absolute;top:21px;left:0;transform:translateX(-50%);font-size:11px;line-height:15px;font-weight:500;white-space:nowrap;background:rgba(255,255,255,.92);padding:0 4px;border-radius:3px}
.fm .fm-ks{position:absolute;top:36px;left:0;transform:translateX(-50%);font:9.5px/13px var(--fm-mono);color:var(--fm-faint);white-space:nowrap;background:rgba(255,255,255,.92);padding:0 4px;border-radius:3px}
.fm .fm-kn.is-issue .fm-kc{border-color:#e6bcc8;background:#fdf6f8}
.fm .fm-kn.is-issue .fm-kc svg{stroke:var(--fm-rose)}
.fm .fm-kn.is-issue .fm-kl{color:var(--fm-rose)}
.fm .fm-kn.is-issue .fm-kring{border-color:var(--fm-rose)}
.fm .fm-kn.is-sel .fm-kc{border-color:var(--fm-rose);box-shadow:0 0 0 4px rgba(162,68,94,.18)}

/* ---------- scenes for the other pages (foaster-scenes.js) ---------- */
.fs-host>:not(.fs-cover){visibility:hidden}
.fs-cover{position:absolute;inset:0;z-index:5;overflow:hidden;border-radius:inherit}
.fs-film .fs-filmcover{opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}
.fs-film .fs-filmcover.is-on{opacity:1;visibility:visible;transition:opacity .45s}
.fs-film>video{visibility:hidden}
@media (max-width:640px){
  .fs-host.fs-mob-ar{aspect-ratio:520/547!important;height:auto!important;min-height:0!important;padding:0!important}
  .fs-host.fs-mob-ar>:not(.fs-cover){display:none!important}
  .platform-hero-media .fs-host.fs-mob-hero{transform:none!important;translate:none!important;margin:0!important;inset:12px!important;width:auto!important;height:auto!important;left:12px!important;right:12px!important;top:12px!important;bottom:12px!important}
}
.fm.fs-dark .fm-illus{color:rgba(255,255,255,.5)}
.fm .fs-obj{overflow:hidden}
.fm .fs-pad{height:10px}
.fm .fs-row{display:flex;align-items:center;gap:12px;min-height:48px;margin:0 24px;border-top:1px solid var(--fm-line);font-size:13.5px;color:var(--fm-ink)}
.fm .fs-row-s{min-height:40px;font-size:13px}
.fm .fs-ic{width:20px;height:20px;flex:none;display:block}
.fm .fs-gl{width:22px;height:22px;border-radius:6px;background:var(--fm-soft);display:grid;place-items:center;flex:none}
.fm .fs-gl svg{width:12px;height:12px;stroke:var(--fm-accent);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fm .fs-t{flex:1;min-width:0;line-height:1.3}
.fm .fs-t small{display:block;font-size:11.5px;color:var(--fm-faint);margin-top:1px}
.fm .fs-r{margin-left:auto;font:12px var(--fm-mono);color:var(--fm-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.fm .fs-st{position:relative;width:16px;height:16px;border-radius:50%;border:1.5px solid #c9d5de;flex:none;color:#fff;display:grid;place-items:center}
.fm .fs-st svg{width:10px;height:10px;opacity:0}
.fm .fs-spin{position:absolute;inset:-1.5px;border-radius:50%;border:1.5px solid var(--fm-accent);border-right-color:transparent;opacity:0}
.fm .fs-steprow{color:#a3b1bc}
.fm .fs-steprow .fs-r{opacity:0}
.fm .fs-sw{position:relative;width:26px;height:15px;border-radius:8px;background:#d6dfe6;flex:none}
.fm .fs-sw i{position:absolute;left:2px;top:2px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.fm .fs-lab{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fm-faint)}
.fm .fs-lab.fs-in{margin:0 24px 6px}
.fm .fs-accent{color:var(--fm-accent)}
.fm .fs-q{margin:0 24px 14px;padding:12px 14px;border-radius:8px;background:var(--fm-soft)}
.fm .fs-q p{margin-top:4px;font-size:14.5px;min-height:21px}
.fm .fs-barrow .fs-t{flex:0 0 120px}
.fm .fs-bar{flex:1;height:5px;border-radius:3px;background:var(--fm-soft);overflow:hidden;display:block}
.fm .fs-bar i{display:block;height:100%;width:0;background:var(--fm-accent);border-radius:3px}
.fm .fs-barrow .fs-r{min-width:84px;text-align:right}
.fm .fs-h4{margin:0 24px 14px;font-size:17px;line-height:1.35;color:var(--fm-ink)}
.fm .fs-cites{display:inline-flex;gap:4px;vertical-align:2px}
.fm .fs-cites i{font:500 10px/16px var(--fm-mono);font-style:normal;width:16px;height:16px;text-align:center;border-radius:4px;background:var(--fm-soft);color:var(--fm-accent)}
.fm .fs-cmt{display:flex;flex-direction:column;gap:4px;margin:0 24px 10px;padding:10px 12px;border-radius:8px;border:1px solid var(--fm-line);font-size:13px;min-height:58px}
.fm .fs-rev{background:var(--fm-soft);border-color:transparent;color:var(--fm-navy)}
.fm .fs-who{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--fm-muted)}
.fm .fs-who .fs-gl{width:18px;height:18px}
.fm .fs-firm .fs-gl{background:#dfe9f1}
.fm .fm-oh .fs-wave{display:flex;align-items:center;gap:2px;height:22px;align-self:center}
.fm .fs-wave i{display:block;width:2px;height:3px;border-radius:2px;background:#8fa7ba}
.fm .fs-conv{padding:0 24px 20px}
.fm .fs-qq{font-size:15px;line-height:1.4;margin-top:4px;color:var(--fm-ink)}
.fm .fs-ans{margin:12px 0 0 28px;padding:12px 14px;border-radius:8px;background:var(--fm-soft);font-size:13.5px;line-height:1.45;color:#2d4659;min-height:62px}
.fm .fs-fu{margin-top:14px}
.fm .fs-ext{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:12.5px;color:var(--fm-ink)}
.fm .fs-hyp .fs-t .fs-bar{margin-top:7px}
.fm .fs-hyp{min-height:58px}
.fm .fs-verdict{font-size:11px;font-weight:500;padding:3px 8px;border-radius:999px;background:var(--fm-soft);color:var(--fm-muted);flex:none;width:76px;text-align:center}
.fm .fs-verdict.ok{background:#dff0e7;color:#2c6e4f}
.fm .fs-verdict.no{background:#f2f4f6;color:#8a9aa6;text-decoration:line-through}
.fm .fs-ci{font:500 10px/16px var(--fm-mono);width:16px;text-align:center;border-radius:4px;background:var(--fm-navy);color:#fff;flex:none}
.fm .fs-ohic{display:flex;gap:10px;align-items:center}
.fm .fs-ohic .fs-ic{width:22px;height:22px}
.fm .fs-slide{margin:0 24px;aspect-ratio:16/9;border-radius:6px;border:1px solid var(--fm-line);padding:14px 16px;display:flex;flex-direction:column;background:#fff}
.fm .fs-sk{font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--fm-faint)}
.fm .fs-stitle{font-size:14px;font-weight:500;margin-top:4px;min-height:20px;color:var(--fm-ink)}
.fm .fs-chart{flex:1;display:flex;align-items:flex-end;gap:10px;padding-top:10px;border-bottom:1px solid var(--fm-line)}
.fm .fs-chart i{flex:1;height:var(--h);background:#c9d7e2;border-radius:2px 2px 0 0;transform-origin:50% 100%}
.fm .fs-chart i.hi{background:var(--fm-navy)}
.fm .fs-applied{display:flex;align-items:center;gap:8px;margin:12px 24px 18px;font-size:12px;color:var(--fm-muted)}
.fm .fs-applied svg{width:13px;height:13px;color:#2f7a57}
.fm .fs-applied .fs-gl{width:18px;height:18px}
.fm .fs-ver{font:500 11px var(--fm-mono);padding:3px 7px;border-radius:5px;background:var(--fm-soft);color:var(--fm-muted)}
.fm .fs-ver .fm-roll>span{height:18px;line-height:18px}
.fm .fs-chk svg{width:14px;height:14px;color:var(--fm-accent);flex:none}
.fm .fs-new{overflow:hidden;color:#22573f;border-radius:6px;padding:0 8px;margin:0 16px;border-top-color:#cfe5d9}
.fm .fs-new svg{color:#2f7a57}
.fm .fs-pill{font:500 10.5px var(--fm-mono);padding:2px 7px;border-radius:4px;background:var(--fm-soft);color:var(--fm-muted);flex:none}
.fm .fs-new .fs-pill{background:#dff0e7;color:#2c6e4f}
.fm .fs-pill.issue{background:var(--fm-rose-soft);color:var(--fm-rose)}
.fm .fs-pill.now{background:#dff0e7;color:#2c6e4f}
.fm .fs-foot{margin:6px 24px 0;padding:13px 0 18px;border-top:1px solid var(--fm-line);font-size:12px;color:var(--fm-muted)}
.fm .fs-foot b{color:var(--fm-ink);font-weight:600}
.fm .fs-foot .fs-pill{margin-right:8px}
.fm .fs-map .fs-t{flex:0 0 150px}
.fm .fs-arrow{color:var(--fm-faint);font-size:13px}
.fm .fs-to{display:flex;align-items:center;gap:8px;flex:1;font-size:12.5px;color:var(--fm-navy)}
.fm .fs-to .fs-st{width:14px;height:14px}
.fm .fs-to .fs-st svg{width:9px;height:9px}
.fm .fs-own{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font-size:11.5px;padding:3px 9px 3px 4px;border-radius:999px;background:var(--fm-soft);color:var(--fm-accent);flex:none}
.fm .fs-own .fs-gl{width:18px;height:18px;background:#fff}
.fm .fs-own.review{background:var(--fm-navy);color:#fff}
.fm .fs-own.review .fs-gl svg{stroke:var(--fm-navy)}
.fm .fs-tl{position:relative}
.fm .fs-dotv{width:10px;height:10px;border-radius:50%;background:#c9d5de;flex:none;margin:0 3px}
.fm .fs-dotv.now{background:#2f7a57}
.fm .fs-chat{padding:0 24px}
.fm .fs-msg{padding:10px 12px;border-radius:8px;border:1px solid var(--fm-line);font-size:13px;line-height:1.45;margin-bottom:8px;min-height:40px}
.fm .fs-msg.me{background:var(--fm-soft);border-color:transparent;margin-left:40px}
.fm .fs-msg .fs-who{margin-bottom:3px}
.fm .fs-rec{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:6px 24px 20px;padding:12px 14px;border-radius:8px;border:1px solid #cfe5d9;background:#f3faf6}
.fm .fs-rec .fs-lab{width:100%;color:#2f7a57}
.fm .fs-rec b{font-weight:500;font-size:13.5px}
.fm .fs-imp{margin-left:auto;font:500 12px var(--fm-mono);color:#2c6e4f}
.fm .fs-hbars{position:relative;flex:1;margin-top:10px}
.fm .fs-hb{position:absolute;left:0;right:0;height:20px;display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--fm-muted)}
.fm .fs-hb>span:first-child{width:72px;flex:none}
.fm .fs-hbt{flex:1;height:8px;display:block}
.fm .fs-hbt i{display:block;height:100%;width:0;background:#c9d7e2;border-radius:2px}
.fm .fs-hb em{font:normal 10px var(--fm-mono);width:28px;text-align:right}
.fm .fs-live{min-height:54px}
.fm .fs-ld{width:7px;height:7px;border-radius:50%;background:#2f7a57;flex:none}
.fm .fs-live .fs-t small{color:var(--fm-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm .fs-lanes{position:relative;margin:0 24px;height:150px;border:1px solid var(--fm-line);border-radius:6px;overflow:hidden;width:calc(100% - 48px)}
.fm .fs-lane{height:50px;border-top:1px solid var(--fm-line);display:flex;align-items:center}
.fm .fs-lane:first-child{border-top:0}
.fm .fs-lane:nth-child(2){background:#f8fafc}
.fm .fs-lane{position:relative}.fm .fs-lane span{position:absolute;left:6px;top:3px;font-size:7.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fm-faint)}
.fm .fs-flow{position:absolute;left:22px;top:0;overflow:visible}
.fm .fs-flow path{fill:none;stroke:#9fb3c2;stroke-width:1.2}
.fm .fs-node{position:absolute;margin-left:22px;height:24px;padding:0 9px;border-radius:5px;border:1px solid #c9d5de;background:#fff;font-size:10.5px;line-height:22px;white-space:nowrap}
.fm .fs-flag{position:absolute;margin-left:22px;width:18px;height:18px;border-radius:50%;background:var(--fm-rose-soft);display:grid;place-items:center;transform:translate(-50%,-50%)}
.fm .fs-flag svg{width:10px;height:10px;stroke:var(--fm-rose);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fm .fs-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 24px}
.fm .fs-th{position:relative;aspect-ratio:16/10;border:1px solid var(--fm-line);border-radius:5px;padding:8px;display:flex;flex-direction:column;gap:4px}
.fm .fs-th b{font-size:9px;font-weight:500;line-height:1.2;padding-right:10px}
.fm .fs-th i{display:block;height:3px;border-radius:2px;background:#e3eaf0;width:80%}
.fm .fs-th i+i{width:55%}
.fm .fs-thn{font:9px var(--fm-mono);color:var(--fm-faint)}
.fm .fs-lk{position:absolute;right:6px;bottom:6px;width:10px;height:10px}
.fm .fs-lk svg{width:10px;height:10px;stroke:var(--fm-accent);fill:none;stroke-width:1.6}
.platform-overview .fs-cover .fm-illus{right:56px}

.fm .fs-row .fs-ic{width:22px;height:22px}
.fm .fs-row svg.fs-ic{width:22px;height:22px}
.fm .fm-apbtn .fm-roll{height:18px}
.fm .fm-apbtn .fm-roll>span{text-align:center}

/* platform hero: the two objects sit directly on the illustration */
.fs-host.fs-bare{background:transparent!important;box-shadow:none!important;border:0!important;overflow:visible!important;backdrop-filter:none!important}
.fs-host.fs-bare::before,.fs-host.fs-bare::after{display:none!important}
.fs-host.fs-bare>.fs-cover{overflow:visible}
.fs-host.fs-bare .fm-chip{box-shadow:0 1px 2px rgba(24,52,73,.12),0 14px 32px -12px rgba(24,52,73,.55)}
.fs-host.fs-bare .fs-obj{box-shadow:0 1px 2px rgba(24,52,73,.1),0 26px 56px -24px rgba(24,52,73,.6)}
/* AI transformation deck: a compact, aligned slide */
.fm .fs-slide.fs-auto{aspect-ratio:auto}
.fm .fs-slide.fs-auto .fs-hbars{flex:none;height:96px;margin-top:14px}
.fm .fs-hb em{font:normal 11px var(--fm-sans);width:44px;text-align:right;font-variant-numeric:tabular-nums}
.fm .fs-hb>span:first-child{width:84px}

/* knowledge graph: typed entity cards */
.fm .fm-gn{position:absolute;left:0;top:0;display:flex;flex-direction:column;justify-content:center;gap:1px;height:40px;padding:0 12px;border-radius:8px;background:#fff;border:1px solid #d3dde5;white-space:nowrap;z-index:6;box-shadow:0 2px 8px -4px rgba(24,52,73,.22);opacity:0}
.fm .fm-gty{font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--fm-faint);font-weight:500;line-height:1.2}
.fm .fm-gty i{font-style:normal;letter-spacing:.02em;text-transform:none;color:var(--fm-muted)}
.fm .fm-gnm{font-size:12px;font-weight:500;color:var(--fm-ink);line-height:1.3}
.fm .fm-gn.is-issue{background:#fdf6f8;border-color:#ebc7d1}
.fm .fm-gn.is-issue .fm-gnm{color:var(--fm-rose)}
.fm .fm-gn.is-issue .fm-gty{color:#c56b84}
.fm .fm-gn.is-sel{border-color:var(--fm-rose);box-shadow:0 0 0 4px rgba(162,68,94,.16)}
.fm .fm-gring{position:absolute;inset:-1px;border-radius:8px;border:1.5px solid var(--fm-navy);opacity:0;pointer-events:none}
.fm .fm-kg-tall .fm-gn{padding:0 9px}
.fm .fm-kg-tall .fm-gnm{font-size:11px}
.fm .fm-kg-tall .fm-gty{font-size:7.5px}

/* knowledge graph: mixed sources (interviews, documents, data) */
.fm .fm-kico{position:relative;width:78px;height:30px;flex:none;display:flex;align-items:center}
.fm .fm-kico .fm-kwave{position:absolute;left:0;top:0}
.fm .fm-kdoc,.fm .fm-kdata{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--fm-soft)}
.fm .fm-kdoc svg,.fm .fm-kdata svg{width:17px;height:17px}
.fm .fm-kexc{padding-left:12px;border-left:2px solid #c9d7e2;font-size:13px!important;color:#3b5468!important}
.fm .fm-ktable{border:1px solid var(--fm-line);border-radius:6px;overflow:hidden;font-size:12.5px}
.fm .fm-ktable>div{display:flex;justify-content:space-between;padding:6px 10px;border-top:1px solid var(--fm-line)}
.fm .fm-ktable>div:first-child{border-top:0}
.fm .fm-ktable>div>span:last-child{font-family:var(--fm-mono);font-size:11.5px}
.fm .fm-qrow{justify-content:flex-start;gap:8px}
.fm .fm-qi{display:grid;place-items:center;width:16px;flex:none}
.fm .fm-qi svg{width:13px;height:13px}
.fm .fm-qn{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fm-ink)}
.fm .fm-qrow>span:last-child{font-size:10.5px;color:var(--fm-faint)}

.fm .fm-kmeta small.fm-kpar{font-size:10.5px;color:var(--fm-accent);margin-top:1px;min-height:13px}
.fm .fm-illus{display:none!important}

/* engagement films on large screens: pinned screen beside scrolling chapters */
.engagement-film.fs-scrollfilm{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);column-gap:64px;align-items:start;max-width:1240px!important}
.engagement-film.fs-scrollfilm>.engagement-screen{position:sticky!important;grid-column:1;grid-row:1}
.engagement-film.fs-scrollfilm>.film-chapters,.engagement-film.fs-scrollfilm>.film-captions{display:none!important}
.engagement-film>.fs-beats{display:none}
.engagement-film.fs-scrollfilm>.fs-beats{display:block;grid-column:2;grid-row:1}
.fs-beat{display:flex;flex-direction:column;justify-content:center;cursor:pointer}
.fs-beat-n{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-width:36px;height:30px;padding-inline:9px;margin-bottom:22px;border:1px solid #e1e8ee;border-radius:99px;background:#f6f8fa;color:#a6b5c1;font:450 11px/1 var(--sans,inherit);font-variant-numeric:tabular-nums;transition:color .3s,background-color .3s,border-color .3s}
.fs-beat h3{margin:0;font-size:clamp(26px,2.2vw,32px);line-height:1.2;letter-spacing:-.03em;font-weight:450;color:#b3c1cc;transition:color .3s}
.fs-beat p{margin:20px 0 0;max-width:400px;font-size:16px;line-height:1.7;color:#b9c5cf;transition:color .3s}
.fs-beat.is-current .fs-beat-n{color:#14394f;background:#e1edf7;border-color:#ccdeed}
.fs-beat.is-current h3{color:#173b52}
.fs-beat.is-current p{color:#425f74}

/* engagement films: full-width format, sized so screen, chapters and caption fit one viewport */
@media (min-width: 761px){
  /* Rogo-like: full content width, a wide frame so the whole film fits the viewport */
  body .engagement-film[data-engagement-film]{max-width:min(1240px,calc((100vh - 300px) * 2.1))!important;margin-inline:auto}
  body .engagement-film[data-engagement-film] .engagement-screen video{aspect-ratio:2.1!important;object-fit:cover}
}

/* homepage 03: the agent asks, the consultant decides */
.fm .fm-ask .fm-awho{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fm-faint);margin-bottom:4px}
.fm .fm-amsg{margin:0 24px 12px;padding:12px 14px;border-radius:10px;background:var(--fm-soft);font-size:13.5px;line-height:1.45;color:var(--fm-ink)}
.fm .fm-opt{display:flex;align-items:center;gap:10px;height:40px;margin:0 24px 6px;padding:0 12px;border:1px solid #dde5eb;border-radius:8px;font-size:13px;color:var(--fm-ink)}
.fm .fm-opt .fm-lt{flex:1}
.fm .fm-opt .fm-mono{font-size:11px;color:var(--fm-muted)}
.fm .fm-radio{width:14px;height:14px;border-radius:50%;border:1.5px solid #b9cad6;display:grid;place-items:center;flex:none}
.fm .fm-radio i{display:block;width:7px;height:7px;border-radius:50%;background:var(--fm-navy);transform:scale(0)}
.fm .fm-areply{margin:12px 24px 10px 64px;padding:10px 12px;border-radius:10px;background:var(--fm-navy);color:#fff;font-size:13px;line-height:1.4;min-height:52px}
.fm .fm-areply .fm-awho{color:rgba(255,255,255,.6)}
.fm .fm-aack{display:flex;align-items:center;gap:7px;margin:0 24px 18px;font-size:12px;color:var(--fm-accent)}

/* consultant choices in scenes */
.fm .fs-pick{display:flex;align-items:center;gap:12px;min-height:48px;margin:0 24px 6px;padding:6px 12px;border:1px solid #dde5eb;border-radius:8px;font-size:13px;color:var(--fm-ink)}
.fm .fs-box{width:16px;height:16px;border-radius:4px;border:1.5px solid #b9cad6;display:grid;place-items:center;flex:none;color:#fff}
.fm .fs-box svg{width:10px;height:10px;opacity:0}
.fm .fs-box.fs-round{border-radius:50%}
.fm .fs-box.fs-round i{display:block;width:8px;height:8px;border-radius:50%;background:var(--fm-navy);transform:scale(0)}
.fm .fs-note{margin-top:10px}
.fm .fs-agentq{background:var(--fm-soft);border-color:transparent;margin-bottom:10px}
.fm .fm-cursor{position:absolute;left:0;top:0;width:22px;height:22px;z-index:50;pointer-events:none;transform-origin:3px 3px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.22))}

/* KG section · hypotheses tested across every source */
.fm .fm-hyp .fm-num{font-variant-numeric:tabular-nums}
.fm .fm-hq{padding:16px 20px;text-align:center}
.fm .fm-hq b{display:block;font-size:17px;font-weight:500;line-height:1.3}.fm .fm-hq small{display:block;margin-top:3px;font-size:11.5px;color:var(--fm-faint)}
.fm .fm-hh{top:214px;padding:14px 16px}
.fm .fm-ht{font-size:13.5px;font-weight:500;line-height:1.35;min-height:36px;text-wrap:balance}
.fm .fm-hyp-tall .fm-hh{height:80px;padding:12px 16px}.fm .fm-hyp-tall .fm-ht{min-height:0}
.fm .fm-hbar{height:6px;border-radius:3px;background:var(--fm-soft);margin:12px 0 8px;overflow:hidden;display:flex}
.fm .fm-hyp-tall .fm-hbar{margin:9px 0 7px}
.fm .fm-hbar i{display:block;height:100%;width:0}.fm .fm-hbar .s{background:var(--fm-accent)}.fm .fm-hbar .c{background:#d9b1bd}
.fm .fm-hrow{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--fm-muted)}
.fm .fm-hst{position:relative;height:18px;width:86px;overflow:hidden;flex:none}.fm .fm-hst .fm-pill{position:absolute;right:0;top:0}
.fm .fm-pill{display:inline-block;font:500 10.5px/18px var(--fm-sans);padding:0 8px;border-radius:999px;background:var(--fm-soft);color:var(--fm-muted);white-space:nowrap}
.fm .fm-pill.is-ok{background:#dff0e7;color:#2c6e4f}.fm .fm-pill.is-no{text-decoration:line-through;color:var(--fm-faint)}.fm .fm-pill.is-risk{background:var(--fm-rose-soft);color:var(--fm-rose)}
.fm .fm-hd{padding:14px 20px;display:flex;align-items:center;gap:22px}
.fm .fm-hd q{flex:1;font-size:13.5px;color:#2d4659;quotes:"\201C" "\201D"}
.fm .fm-hev{display:flex;gap:6px}
.fm .fm-hyp-tall .fm-hd{flex-wrap:wrap;gap:10px;padding:16px 18px}.fm .fm-hyp-tall .fm-hd q{flex:0 0 100%;font-size:14px}
.fm .fm-htk{height:34px;display:flex;align-items:center;gap:14px;padding:0 16px;font-size:11.5px;color:var(--fm-muted);border-radius:999px}
.fm .fm-hlab{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fm-faint);white-space:nowrap}
.fm .fm-hfeed{flex:1;height:18px;overflow:hidden;position:relative}.fm .fm-hfeed span{position:absolute;left:0;white-space:nowrap;line-height:18px;height:18px}

/* KG section · from scale to signal */
.fm .fm-sg .fm-num{font-variant-numeric:tabular-nums}
.fm .fm-sgm{padding:18px 20px}
.fm .fm-sgh{display:flex;justify-content:space-between;align-items:baseline;font-size:11.5px;color:var(--fm-muted)}.fm .fm-sgh b{font-size:13.5px;font-weight:500;color:var(--fm-ink)}
.fm .fm-sgsub{margin-top:3px;font-size:11px;color:var(--fm-faint)}
.fm .fm-sgc{position:absolute;left:20px;top:54px;display:block}
.fm .fm-sg-tall .fm-sgc{top:72px}
.fm .fm-sgl{position:absolute;left:20px;right:20px;bottom:14px;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11px;color:var(--fm-muted)}
.fm .fm-sgl span{display:flex;align-items:center;gap:6px}.fm .fm-sgl i{width:8px;height:8px;border-radius:2px;display:block}
.fm .fm-sgs{padding:18px 20px}
.fm .fm-sgst{padding:12px 0;border-top:1px solid var(--fm-line)}.fm .fm-sgst:first-child{border-top:0;padding-top:0}.fm .fm-sgst:last-child{padding-bottom:0}
.fm .fm-sgst b{display:block;font-size:28px;line-height:1.1;font-weight:500;letter-spacing:-.01em;color:var(--fm-navy)}.fm .fm-sgst small{font-size:12px;color:var(--fm-muted)}
.fm .fm-sg-tall .fm-sgs{display:flex;gap:16px}.fm .fm-sg-tall .fm-sgst{flex:1;border-top:0;padding:0}.fm .fm-sg-tall .fm-sgst b{font-size:24px}
.fm .fm-sgk{padding:18px 20px;z-index:8}
.fm .fm-sgk h4{margin:8px 0 10px;font-size:18px;font-weight:500}
.fm .fm-sgsrc{display:flex;gap:10px;padding:9px 0;border-top:1px solid var(--fm-line);font-size:12px;color:#2d4659;line-height:1.4}.fm .fm-sgsrc:last-child{padding-bottom:0}
.fm .fm-sgsrc em{font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fm-faint);width:62px;flex:none;padding-top:2px}

/* KG section · from scale to a knowledge graph */
.fm .fm-gr .fm-num{font-variant-numeric:tabular-nums}
.fm .fm-grm{padding:18px 20px;transform-origin:0 0}
.fm .fm-grc{position:absolute;left:20px;display:block}
.fm .fm-grs{overflow:hidden;z-index:2}
.fm .fm-grst{position:absolute;left:0;top:0;width:292px;padding:18px 20px}
.fm .fm-gr-tall .fm-grst{width:480px;display:flex;gap:16px}.fm .fm-gr-tall .fm-grst .fm-sgst{flex:1;border-top:0;padding:0}.fm .fm-gr-tall .fm-grst b{font-size:24px}
.fm .fm-grh{position:absolute;left:0;right:0;top:0;padding:16px 22px 14px;display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--fm-line);font-size:11.5px;color:var(--fm-muted);white-space:nowrap}
.fm .fm-grh b{font-size:13.5px;font-weight:500;color:var(--fm-ink)}.fm .fm-grh small{display:block;font-size:11px;color:var(--fm-faint);margin-top:2px}
.fm .fm-gr-tall .fm-grh{padding:14px 18px 12px}
.fm .fm-grsum{padding:14px 18px;display:flex;gap:10px}.fm .fm-grsum div{flex:1}.fm .fm-grsum b{display:block;font-size:22px;font-weight:500;color:var(--fm-navy)}.fm .fm-grsum b.is-rose{color:var(--fm-rose)}.fm .fm-grsum small{font-size:11.5px;color:var(--fm-muted)}
.fm .fm-gr-tall .fm-grsum{height:223px;flex-direction:column;justify-content:space-between;padding:16px 18px}.fm .fm-gr-tall .fm-grsum b{font-size:20px}
.fm .fm-gre{z-index:5}
.fm .fm-grn{padding:7px 12px;z-index:6;border-radius:10px;box-shadow:0 0 0 1px var(--fm-line),0 8px 20px -14px rgba(24,52,73,.35)}
.fm .fm-grn .ty{display:block;font-size:10px;color:var(--fm-faint)}.fm .fm-grn b{display:block;margin-top:1px;font-size:13px;font-weight:500;white-space:nowrap}
.fm .fm-grn .k{position:absolute;right:12px;top:7px;font-size:10px;color:var(--fm-rose)}
.fm .fm-grf{padding:14px;z-index:6;border-radius:10px;box-shadow:0 0 0 1.5px #1b3650,0 14px 30px -18px rgba(24,52,73,.5)}
.fm .fm-grf h4{margin:8px 0 6px;font-size:15px;font-weight:500;line-height:1.25}.fm .fm-grf p{font-size:11px;line-height:1.4;color:var(--fm-muted)}
.fm .fm-gr-tall .fm-grf h4{margin:6px 0 3px}
.fm .fm-grl{position:absolute;transform:translate(-50%,-50%);z-index:6;font-size:10.5px;line-height:14px;color:var(--fm-muted);white-space:nowrap}
.fm .fm-grl.is-l{transform:translateY(-50%)}.fm .fm-grl.is-r{transform:translate(-100%,-50%)}

/* home 03 · consultants in command */
.fm .fm-cr{position:relative;display:flex;align-items:center;gap:10px;min-height:58px;margin:0 24px;border-top:1px solid var(--fm-line)}
.fm .fm-ct{flex:1;min-width:0}.fm .fm-ct b{display:block;font-size:13.5px;font-weight:500;white-space:nowrap}
.fm .fm-ct small{display:flex;align-items:center;gap:6px;margin-top:2px;font-size:11.5px;color:var(--fm-faint);white-space:nowrap}
.fm .fm-cs{display:flex;flex-direction:column;align-items:flex-end}
.fm .fm-cs i{display:block;font-style:normal;height:22px;line-height:22px;white-space:nowrap}
.fm .fm-scope{display:inline-block;height:22px;overflow:hidden;vertical-align:middle}
.fm .fm-scope .fm-cs{align-items:flex-start}.fm .fm-scope i{padding:0 9px;border-radius:999px;background:var(--fm-soft);color:var(--fm-muted);font-size:11px;height:20px;line-height:20px;margin:1px 0}
.fm .fm-scope i+i{background:#e2eaf1;color:var(--fm-navy);font-weight:500}
.fm .fm-cst{position:relative;width:128px;height:22px;overflow:hidden;flex:none}
.fm .fm-cst i{padding:0 10px;border-radius:999px;font-size:11.5px;font-weight:500;background:var(--fm-soft);color:var(--fm-muted)}
.fm .fm-cst i.is-done{background:#eef4f7;color:var(--fm-accent)}
.fm .fm-cst i.is-redir{background:#e2eaf1;color:var(--fm-navy)}
.fm .fm-cst i.is-pause{background:#faefd9;color:#8a5a12}
.fm .fm-cst i.is-btn{background:var(--fm-navy);color:#fff;border-radius:7px;padding:0 14px}
.fm .fm-cst i.is-ok{background:#dff0e7;color:#2c6e4f;display:flex;align-items:center;gap:5px}
.fm .fm-cpb{width:24px;height:24px;border-radius:50%;border:1px solid var(--fm-line);background:#fff;display:grid;place-items:center;flex:none}
.fm .fm-cbar{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--fm-accent);border-radius:2px}
.fm .fm-cmd .fm-ofoot{color:var(--fm-accent)}

/* home steps · several kinds of engagement per step */
.fm .fm-mtabs{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;gap:2px;padding:3px;border-radius:999px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px rgba(24,52,73,.06);white-space:nowrap;z-index:12}
.fm .fm-mtabs button{position:relative;overflow:hidden;margin:0;padding:0 12px;height:26px;line-height:26px;border:0;border-radius:999px;background:transparent;font:inherit;font-size:11.5px;color:var(--fm-muted);cursor:pointer;touch-action:manipulation;transition:background-color .2s,color .2s}
.fm .fm-mtabs button.is-on{background:#fff;color:var(--fm-ink);font-weight:500;box-shadow:0 1px 2px rgba(24,52,73,.08)}
.fm .fm-mtabs button:hover{background:rgba(255,255,255,.75);color:var(--fm-navy)}
body.refined .fm .fm-mtabs button:focus-visible{outline:2px solid var(--fm-accent);outline-offset:2px}
.fm .fm-mtabs button:not(.is-on) i{visibility:hidden}
.fm .fm-mtabs i{position:absolute;left:12px;right:12px;bottom:3px;height:1.5px;border-radius:2px;background:var(--fm-accent);opacity:.55;transform-origin:0 50%;transform:scaleX(0)}
.fm .fm-btr{display:grid;grid-template-columns:1.35fr 1fr .8fr .9fr;align-items:center;height:38px;margin:0 24px;border-top:1px solid var(--fm-line);font-size:12.5px;color:var(--fm-ink)}
.fm .fm-btr>span{position:relative;height:24px;line-height:24px;border-radius:5px;padding:0 6px;margin-left:-6px;font-variant-numeric:tabular-nums}
.fm .fm-btr>span:not(:first-child){text-align:right;margin:0 0 0 0;padding:0 6px}
.fm .fm-btr.is-head{height:30px;font-size:10.5px;color:var(--fm-faint);border-top:0}
.fm .fm-btr.is-target>span:first-child{font-weight:600}
.fm .fm-btr i{position:absolute;inset:0;padding:0 6px;font-style:normal;color:#c3ced6}
.fm .fm-btr b{font-weight:400}
.fm .fm-btr+.fm-ofoot{margin-top:4px}
.fm .fm-msr{display:flex;align-items:center;gap:12px;height:54px;margin:0 24px;border-top:1px solid var(--fm-line)}
.fm .fm-mst{width:150px;flex:none}.fm .fm-mst b{display:block;font-size:13px;font-weight:500}.fm .fm-mst small{display:block;font-size:10.5px;color:var(--fm-faint);margin-top:1px;white-space:nowrap}
.fm .fm-msb{flex:1;height:8px;border-radius:4px;background:var(--fm-soft);overflow:hidden}.fm .fm-msb i{display:block;height:100%;width:0;border-radius:4px;background:var(--fm-accent)}
.fm .fm-msr .fm-mono{width:52px;text-align:right;font-size:12px;color:var(--fm-ink)}
.fm .fm-msr+.fm-ofoot{margin-top:4px}

/* home 02 · benchmarking and market sizing at scale */
.fm .fm-btwin{position:relative;height:204px;margin:0 24px;overflow:hidden}
.fm .fm-btwin .fm-btr{margin:0;height:34px}
.fm .fm-btlist{will-change:transform}
.fm .fm-btpin{position:absolute;left:0;right:0;top:0;z-index:2;display:grid;grid-template-columns:1.35fr 1fr .8fr .9fr;grid-template-rows:34px 18px;align-items:center;padding-bottom:8px;background:#fff;border-top:1px solid var(--fm-line);border-bottom:1px solid var(--fm-line);box-shadow:0 10px 18px -14px rgba(24,52,73,.35);font-size:12.5px;font-variant-numeric:tabular-nums}
.fm .fm-btpin>span{height:24px;line-height:24px;padding:0 6px;border-radius:5px;text-align:right}
.fm .fm-btpin>span:first-child{text-align:left;margin-left:-6px;font-weight:600}
.fm .fm-btpin .is-hot i{display:inline-block;font-style:normal;margin-right:-6px;padding:0 6px;border-radius:5px;background:var(--fm-rose-soft);color:var(--fm-rose);font-weight:500}
.fm .fm-btpin em{grid-column:1/-1;font-style:normal;font-size:11px;color:var(--fm-rose)}
.fm .fm-msk{display:flex;margin:0 24px;padding:10px 0 12px;border-top:1px solid var(--fm-line)}
.fm .fm-msk>div{flex:1}.fm .fm-msk b{display:block;font-size:17px;font-weight:500;color:var(--fm-navy)}.fm .fm-msk small{font-size:10.5px;color:var(--fm-faint)}
.fm .fm-ms .fm-msr{height:42px}
.fm .fm-ms .fm-msb i{background:repeating-linear-gradient(90deg,var(--fm-accent) 0 3px,transparent 3px 4px)}
.fm .fm-ms .fm-mst small .fm-mono{font-size:10.5px}
/* home 04 · capabilities change log */
.fm .fm-capk{padding-bottom:12px}
.fm .fm-capfeed{position:relative;height:232px;margin:0 24px;overflow:hidden}
.fm .fm-capr{position:absolute;left:0;right:0;top:0;height:58px;display:flex;align-items:center;gap:12px;border-top:1px solid var(--fm-line);background:#fff}
.fm .fm-capi{width:30px;height:30px;border-radius:8px;background:var(--fm-soft);display:grid;place-items:center;flex:none}
.fm .fm-captag{flex:none;height:22px;line-height:22px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:500;background:var(--fm-soft);color:var(--fm-muted)}
.fm .fm-captag.is-lesson{background:#e2eaf1;color:var(--fm-navy)}
.fm .fm-captag.is-model{background:#fff;color:var(--fm-muted);box-shadow:inset 0 0 0 1px var(--fm-line)}
.fm .fm-captag.is-cap{background:var(--fm-navy);color:#fff}
.fm .fm-cap .fm-ofoot{color:var(--fm-accent)}

.fm .fm-msend{height:10px}
.fm .fm-capk b{display:flex;align-items:baseline;gap:6px}.fm .fm-capk b em{font-style:normal;font-size:11px;font-weight:500;color:#2f7a57;opacity:0}
.fm .fm-cap .fm-capi.is-lesson{background:#e3f1e9}.fm .fm-cap .fm-capi.is-lesson svg{stroke:#2f7a57}
.fm .fm-cap .fm-capi.is-model{background:#eeeaf7}.fm .fm-cap .fm-capi.is-model svg{stroke:#5d4f99}
.fm .fm-cap .fm-capi.is-cap{background:#e2eaf1}
.fm .fm-captag.is-lesson{background:#e3f1e9;color:#2c6e4f}
.fm .fm-captag.is-model{background:#eeeaf7;color:#5d4f99;box-shadow:none}

.fm .fm-capr{gap:10px}
.fm .fm-capplus{width:14px;flex:none;text-align:center;font-size:15px;font-weight:500;line-height:1;color:#2f7a57}
.fm .fm-captype{flex:none;font-size:11.5px;color:var(--fm-faint)}

/* home 03 · the consultant challenges the conclusion */
.fm .fm-cc{margin:0 24px;padding:12px 0 14px;border-top:1px solid var(--fm-line)}
.fm .fm-cclab{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fm-faint)}
.fm .fm-ccroll{height:20px;overflow:hidden;margin-top:6px}.fm .fm-ccroll b{display:block;height:20px;line-height:20px;font-size:13.5px;font-weight:500;white-space:nowrap}
.fm .fm-ccroll .fm-cs,.fm .fm-ccmeta .fm-cs{align-items:flex-start}
.fm .fm-ccmeta{height:18px;overflow:hidden;margin-top:2px}.fm .fm-ccmeta i{height:18px;line-height:18px;font-size:11.5px;color:var(--fm-faint)}.fm .fm-ccmeta i.is-rev{color:var(--fm-accent)}
.fm .fm-ccnote{overflow:hidden;display:flex;gap:8px;align-items:baseline;margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--fm-soft);font-size:12px;color:var(--fm-ink);line-height:1.4}
.fm .fm-ccwho{flex:none;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fm-faint)}
.fm .fm-ccbar{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px;height:24px}
.fm .fm-ccchk{position:absolute;left:0;top:0;height:24px;display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--fm-muted)}
.fm .fm-ccbtn{height:22px;line-height:20px;padding:0 12px;border-radius:7px;border:1px solid var(--fm-line);font-size:11.5px;font-weight:500;color:var(--fm-ink);background:#fff}
/* home 04 · proposed → approved → available */
.fm .fm-capst{flex:none;width:74px;height:22px;overflow:hidden}
.fm .fm-capst i{font-size:11.5px;color:var(--fm-faint);padding:0}
.fm .fm-capst i.is-ap{color:var(--fm-navy);font-weight:500}
.fm .fm-capst i.is-live{color:#2f7a57;font-weight:500}
.fm .fm-capfeed{height:232px}

/* tabs: readable at a glance, clickable */
.fm .fm-mtabs{bottom:22px;padding:4px;gap:4px;background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px rgba(24,52,73,.08),0 8px 20px -14px rgba(24,52,73,.35);cursor:pointer}
.fm .fm-mtabs button{height:38px;line-height:38px;padding:0 14px;font-size:12.5px;font-weight:500;color:#4d6475}
.fm .fm-mtabs button.is-on{color:var(--fm-navy);box-shadow:0 1px 3px rgba(24,52,73,.14)}
.fm .fm-mtabs i{left:14px;right:14px;bottom:4px;height:2px;opacity:.7}

.fm .fm-cst i.is-ok svg{width:11px;height:11px;flex:none}
.fm .fs-cc{border-top:1px solid var(--fm-line);padding-bottom:18px}

/* judgment: the agent proposes, the consultant rewrites, then approves */
.fm .fm-jd{margin:0 24px;border-top:1px solid var(--fm-line)}
.fm .fm-jdp,.fm .fm-jde{position:relative;padding:14px 0}
.fm .fm-jde{padding:12px 14px;margin-bottom:12px;border-radius:10px;background:var(--fm-soft)}
.fm .fm-jdw{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fm-faint)}
.fm .fm-jdt{margin:5px 0 3px;font-size:14px;font-weight:500;line-height:1.35;color:var(--fm-ink);min-height:19px}
.fm .fm-jdp .fm-jdt{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:rgba(138,154,166,0)}
.fm .fm-jdp small,.fm .fm-jde small{display:block;font-size:11.5px;color:var(--fm-muted);line-height:1.4;min-height:16px}
.fm .fm-jdp small{color:var(--fm-faint)}
.fm .fm-jdedit{position:absolute;right:0;top:14px;height:22px;line-height:20px;padding:0 12px;border-radius:7px;border:1px solid var(--fm-line);font-size:11.5px;font-weight:500;background:#fff;color:var(--fm-ink)}
.fm .fm-jdf{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 24px;padding:12px 0 18px;border-top:1px solid var(--fm-line);font-size:11.5px;color:var(--fm-accent)}
.fm .fm-jdf .fm-cst{width:110px}
.fm .fm-jde small{min-height:32px}
.fm .fm-cap .fm-capfeed{margin-bottom:12px}

/* home 04 · the skill file, as a diff */
.fm .fm-skh{display:flex;align-items:center;gap:8px}
.fm .fm-skd{font:500 11px var(--fm-mono);color:#2f7a57}
.fm .fm-code{margin:0 24px 4px;padding:6px 0;border-top:1px solid var(--fm-line);font:11.5px/21px var(--fm-mono);color:#4d6475}
.fm .fm-ln{display:flex;align-items:center;height:21px;border-radius:4px;white-space:nowrap}
.fm .fm-ln .n{width:22px;flex:none;text-align:right;font-size:10px;color:#b3c1cc;margin-right:8px}
.fm .fm-ln .g{width:12px;flex:none;color:#2f7a57;font-weight:500}
.fm .fm-ln .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.fm .fm-ln.is-h .t{color:var(--fm-ink);font-weight:500}
.fm .fm-ln.is-add{background:#f0f7f3}
.fm .fm-ln.is-add .t{color:#22573f}
.fm .fm-ln .s{flex:none;margin:0 8px 0 6px;font:10.5px var(--fm-sans);color:#5d8a72}
.fm .fm-skf .fm-ofoot{color:var(--fm-accent)}
