/* /leaders/finops. Uses the site theme tokens; works in light and dark. */
.fn{padding-block:clamp(24px,4vw,48px)}
.fn h1{font-size:clamp(1.9rem,3.8vw,3rem);font-weight:800;margin:10px 0 18px;max-width:24ch}
.fn-sec{margin-top:clamp(28px,4vw,44px);max-width:none;padding:0}
.fn-sec>p,.fn-sec>.fn-def{max-width:72ch}
.fn-sec h2.sg-h{margin-bottom:14px}
.fn-sec h3{font-size:1.15rem;margin:22px 0 10px}
.fn-def{margin-top:14px;font-size:1.05rem;color:var(--ink-2);line-height:1.65}
.fn-src{font-size:.82rem;color:var(--ink-3);line-height:1.5}
.fn-src a{color:var(--teal)}
.fn-note{font-size:.82rem;color:var(--ink-3);line-height:1.5;margin-top:10px}
.fn-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.fn-stat{display:grid;gap:6px;align-content:start;padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--gold-fill);border-radius:6px;background:var(--surface)}
.fn-big{font:800 2.1rem/1 var(--display);font-stretch:110%;color:var(--ink)}
.fn-lbl{font-size:.95rem;color:var(--ink-2)}
.fn-chart{margin:0 0 18px;padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);max-width:760px}
.fn-chart figcaption{font:700 1.05rem/1.3 var(--display);color:var(--ink)}
.fn-unit{font-size:.85rem;color:var(--ink-3);margin:4px 0 0}
.fn-legend{list-style:none;display:flex;gap:18px;margin:10px 0 6px;padding:0;font-size:.85rem;color:var(--ink-2)}
.fn-k{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:8px;vertical-align:-1px}
.fn-k0,.fn-b0{background:var(--ink-3);fill:var(--ink-3)}
.fn-k1,.fn-b1{background:var(--gold-fill);fill:var(--gold-fill)}
.fn-scroll{overflow-x:auto;max-width:100%}
.fn-svg{display:block;width:100%;height:auto}
.fn-clbl{font:600 16px var(--body);fill:var(--ink)}
.fn-cnote{font:400 14px var(--body);fill:var(--ink-3)}
.fn-cval{font:700 15px var(--body);fill:var(--ink)}
.fn-loop{max-width:640px}
.fn-node{fill:var(--surface);stroke:var(--gold-fill);stroke-width:2}
.fn-node-t{font:700 18px var(--display);fill:var(--ink)}
.fn-ar{fill:none;stroke:var(--ink-2);stroke-width:2}
.fn-ar-fill{fill:var(--ink-2)}
.fn-phases,.fn-list,.fn-pub,.fn-certs{margin:12px 0 0;padding-left:1.3em;display:grid;gap:8px;color:var(--ink-2);max-width:72ch}
.fn-phases b{color:var(--ink)}
.fn-domains{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;align-items:start}
.fn-dom{border:1px solid var(--line);border-radius:6px;padding:12px 16px;background:var(--surface)}
.fn-dom summary{cursor:pointer;font-weight:600}
.fn-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fn-chips li{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.88rem;background:var(--surface);color:var(--ink-2)}
.fn-maturity{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.fn-maturity li{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink-2);font-size:.92rem}
.fn-maturity b{font:700 1.05rem/1.2 var(--display);color:var(--ink)}
.fn-focus{font:700 1.2rem/1.3 var(--display);color:var(--ink)}
.fn-certs{list-style:none;padding:0}
.fn-certs li{display:grid;gap:2px}
.fn-certs a{font-weight:600;color:var(--teal)}
.fn-pub{list-style:none;padding:0;gap:16px}
.fn-pub p{margin:0 0 4px}
.fn-band{font-weight:500;color:var(--ink)}
.fn-dom-tag{font:500 .78rem/1 var(--mono);color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase}
.fn-cta{margin-top:8px;padding:18px 20px;border:2px solid var(--gold-fill);border-radius:8px;background:var(--surface);display:grid;gap:10px;justify-items:start}
.fn-cta h3,.fn-cta p{margin:0}
.fn-cta>div{width:100%}
.fn-sources{padding-left:1.4em;display:grid;gap:8px;font-size:.88rem;color:var(--ink-2);columns:1}
.fn-sources a{overflow-wrap:anywhere;color:var(--teal)}
@media (min-width:900px){.fn-sources{display:block;columns:2;column-gap:32px}.fn-sources li{break-inside:avoid;margin-bottom:8px}}
