/* fac16 shared chrome: founder header (.fxh), site footer (.fxf), gated-link marker (.fx-lock).
   Generated pages read these through scripts/chrome/build.mjs. Uses each page's theme
   variables with brand fallbacks so it renders the same on every page. */
.fx-vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.fx-lock{display:inline-block;width:.72em;height:.72em;margin-left:.4em;vertical-align:baseline;opacity:.75}
.fx-lock svg{display:block;width:100%;height:100%}

/* Founder header */
header.fxh{position:sticky;top:0;z-index:40;background:var(--paper,#fff);border-bottom:1px solid var(--rule,#E2E7F0)}
.fxh-bar{max-width:1120px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:24px;min-height:76px}
.fxh-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.fxh-nav>a,.fxh-drop>button{display:flex;align-items:center;gap:6px;padding:12px;min-height:44px;border-radius:3px;border:0;background:none;color:var(--ink,#0E1B2C);font:inherit;font-size:15px;line-height:1.4;text-decoration:none;cursor:pointer}
.fxh-nav>a:hover,.fxh-drop>button:hover,.fxh-nav>a[aria-current="page"]{background:var(--paper-alt,#F4F6FA)}
.fxh-drop{position:relative}
.fxh-drop>button svg{width:10px;height:10px;transition:transform .15s ease}
.fxh-drop>button[aria-expanded="true"] svg{transform:rotate(180deg)}
.fxh-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:var(--paper,#fff);border:1px solid var(--rule,#E2E7F0);border-radius:3px;padding:6px;z-index:60;display:flex;flex-direction:column}
.fxh-menu[hidden]{display:none}
.fxh-menu a{display:block;padding:10px 12px;border-radius:3px;font-size:15px;line-height:1.4;color:var(--ink,#0E1B2C);text-decoration:none}
.fxh-menu a:hover,.fxh-menu a:focus-visible{background:var(--paper-alt,#F4F6FA)}
.fxh-menu a[aria-current="page"]{font-weight:600;color:var(--mark,#0B4ED6)}
.fxh-drop>button[data-here]{color:var(--mark,#0B4ED6)}
.fxh-menu-r{left:auto;right:0;min-width:260px}
.fxh-menu a b{display:block;font-weight:600}
.fxh-menu a em{display:block;font-style:normal;font-size:13px;color:var(--mid,#5F6C85)}
.fxh-nav>a.fxh-signin{color:var(--ink-soft,#33415C)}
.fx-btn{display:inline-block;text-decoration:none;font-family:inherit;font-weight:600;font-size:15px;line-height:1.4;padding:11px 20px;border:1px solid var(--mark,#0B4ED6);border-radius:3px;background:var(--mark,#0B4ED6);color:#fff!important;white-space:nowrap;cursor:pointer}
.fx-btn:hover{background:#0940AE;border-color:#0940AE}
[data-theme="dark"] .fx-btn{color:#0E1B2C!important}
[data-theme="dark"] .fx-btn:hover{background:#8FB0F8;border-color:#8FB0F8}
.fxh-menubtn{display:none;margin-left:auto;font:inherit;font-size:15px;font-weight:600;line-height:1.4;color:var(--ink,#0E1B2C);background:var(--paper,#fff);border:1px solid var(--rule,#E2E7F0);border-radius:3px;padding:0 16px;min-height:44px;min-width:76px;cursor:pointer}
.fxh-sheet{position:fixed;inset:76px 0 0 0;z-index:39;background:var(--paper,#fff);padding:24px 20px 40px;overflow-y:auto}
.fxh-sheet[hidden]{display:none}
.fxh-sheet .fx-btn{display:block;text-align:center}
.fxh-sheet nav{margin-top:24px;display:flex;flex-direction:column;border-top:1px solid var(--rule,#E2E7F0)}
.fxh-sheet nav>a,.fxh-sheet nav>p{display:block;margin:0;padding:14px 0;border-bottom:1px solid var(--rule,#E2E7F0);font-size:20px;font-weight:600;line-height:1.4;color:var(--ink,#0E1B2C);text-decoration:none}
.fxh-sheet nav>p{border-bottom:0;padding-bottom:4px}
.fxh-sheet .fxh-sub{display:flex;flex-direction:column;padding-bottom:8px;border-bottom:1px solid var(--rule,#E2E7F0)}
.fxh-sheet .fxh-sub a{display:block;padding:10px 0 10px 16px;font-size:17px;line-height:1.4;color:var(--ink-soft,#33415C);text-decoration:none}
/* The organisation pages carry generic nav rules (nav{display:none} on mobile); keep ours explicit. */
header.fxh nav.fxh-nav{display:flex!important;width:auto}
.fxh-sheet nav{display:flex!important;flex-direction:column;width:auto}
.fxh-sheet .fxh-sub a[aria-current="page"]{color:var(--mark,#0B4ED6);font-weight:600}
@media(max-width:1099px){header.fxh nav.fxh-nav{display:none!important}.fxh-bar>.fx-btn{display:none}.fxh-menubtn{display:block}}
@media(max-width:860px){.fxh-bar{padding:12px 20px}}
@media(min-width:1100px) and (max-width:1199px){.fxh-nav>a,.fxh-drop>button{padding:12px 9px;font-size:14px}.fxh-bar{gap:16px}}

/* Site footer */
footer.fxf{background:var(--band-bg,#0E1B2C);color:var(--band-mid,#94A3C4);border-top:0;padding:52px 0 34px;font-size:14px;line-height:1.6}
footer.fxf .fxf-in{max-width:1120px;margin:0 auto;padding:0 28px}
footer.fxf .fxf-grid{display:grid;grid-template-columns:1.3fr repeat(6,minmax(0,1fr));gap:32px 24px}
footer.fxf p{margin:0}
footer.fxf .fxf-tag{margin:14px 0 0;max-width:30ch;font-size:13px;color:var(--band-text,#C4CFE4)}
footer.fxf h2{margin:0 0 10px;font-family:var(--mono,"IBM Plex Mono",monospace);font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;line-height:1.4;color:var(--band-strong,#fff)}
footer.fxf ul{list-style:none;margin:0;padding:0}
footer.fxf li{margin:0;padding:0;border:0}
footer.fxf a{display:inline-block;padding:5px 0;color:var(--band-text,#C4CFE4);text-decoration:none}
footer.fxf a:hover{text-decoration:underline;color:var(--band-strong,#fff)}
footer.fxf .logo{margin:0}
footer.fxf .logo .mk{color:var(--band-strong,#fff)}
footer.fxf .logo .sub{color:var(--band-mid,#94A3C4)}
footer.fxf .fxf-theme{margin-top:22px;display:inline-flex;border:1px solid var(--band-rule,#26364F);border-radius:3px;overflow:hidden}
footer.fxf .fxf-theme button{font-family:var(--mono,"IBM Plex Mono",monospace);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:0 12px;min-height:44px;border:0;cursor:pointer;background:transparent;color:var(--band-mid,#94A3C4)}
footer.fxf .fxf-theme button+button{border-left:1px solid var(--band-rule,#26364F)}
footer.fxf .fxf-theme button[aria-pressed="true"]{background:var(--band-rule,#26364F);color:var(--band-strong,#fff)}
footer.fxf .fxf-bottom{margin-top:40px;padding-top:22px;border-top:1px solid var(--band-rule,#26364F);font-family:var(--mono,"IBM Plex Mono",monospace);font-size:11px;letter-spacing:.04em;line-height:1.6;display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
@media(max-width:1060px){footer.fxf .fxf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}footer.fxf .fxf-brand{grid-column:1/-1}}
@media(max-width:620px){footer.fxf .fxf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}footer.fxf .fxf-in{padding:0 20px}}
@media print{header.fxh,footer.fxf .fxf-theme{display:none!important}}
/* Guard against the organisation pages' generic nav rules (nav{display:none} on mobile, nav ul{display:flex}). */
footer.fxf nav{display:block!important;width:auto}
footer.fxf nav ul{display:block!important;padding:0!important;flex-wrap:nowrap}

/* Header theme switch: three icons in one segmented control (sun / moon / screen for auto). */
.fxh-theme{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--rule,#E2E7F0);border-radius:6px;background:var(--paper,#fff);flex-shrink:0}
.fxh-theme button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--mid,#5F6C85);cursor:pointer}
.fxh-theme button svg{width:18px;height:18px}
.fxh-theme button:hover{color:var(--ink,#0E1B2C);background:var(--paper-alt,#F4F6FA)}
.fxh-theme button[aria-pressed="true"]{background:var(--paper-alt,#F4F6FA);color:var(--ink,#0E1B2C);box-shadow:inset 0 0 0 1px var(--rule,#E2E7F0)}
.fxh-bar>.fxh-theme{margin-left:4px}
.fxh-sheet-theme{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid var(--rule,#E2E7F0);font-size:17px;color:var(--ink,#0E1B2C)}
.fxh-sheet-theme .fxh-theme button{width:44px;height:44px}
@media(max-width:1099px){.fxh-bar>.fxh-theme{display:none}}
@media(min-width:1100px) and (max-width:1239px){.fxh-nav>a,.fxh-drop>button{padding:12px 8px;font-size:14px}.fxh-bar{gap:12px}.fxh-bar>.fx-btn{padding:11px 16px}}
/* Footer links: neutralise the organisation pages' menu hover (light background behind white text). */
footer.fxf nav > ul > li > a:hover,footer.fxf nav > ul > li > a:focus-visible{background:none!important;color:var(--band-strong,#fff)!important}
footer.fxf nav > ul > li > a{font-size:14px;color:var(--band-text,#C4CFE4);white-space:normal}
/* Room for the theme switch: labels never wrap; slightly tighter spacing on the one-row header. */
.fxh-nav>a,.fxh-drop>button{white-space:nowrap;padding:12px 9px}
.fxh-nav{gap:2px}
.fxh-bar{gap:14px}
.fxh-bar>.fxh-theme button{width:28px;height:28px}
.fxh-bar>.fxh-theme button svg{width:16px;height:16px}
