/* Market Lens v8 (Initiate Digital). Chrome rules are scoped to <body>, content rules to .ml-page,
   so the page can sit between the site header and footer without restyling them. */
/* latin-ext */
@font-face{
  font-family: 'Encode Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/EncodeSans-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face{
  font-family: 'Encode Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/EncodeSans-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face{
  font-family: 'Encode Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/EncodeSans-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face{
  font-family: 'Encode Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/EncodeSans-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face{
  font-family: 'Encode Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/EncodeSans-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face{
  font-family: 'Encode Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/EncodeSans-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face{
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/SourceSans3-400i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face{
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/SourceSans3-400i-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face{
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/SourceSans3-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face{
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/SourceSans3-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face{
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/SourceSans3-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face{
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/SourceSans3-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ---- Elementor adapter: neutralise container/widget/kit defaults so Morgan's rules apply as in his file ---- */
:is(#fm-ml,body:has(.ml-page)) .ml-page.e-con,:is(#fm-ml,body:has(.ml-page)) .ml-page .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;padding:0;margin:0;gap:0;min-height:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .elementor-widget{margin:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page :where(.elementor-widget-heading,.elementor-widget-text-editor,.elementor-widget-html){font:inherit;color:inherit}
:is(#fm-ml,body:has(.ml-page)) .ml-page :where(.elementor-heading-title){font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;margin:0;padding:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .lede p{font-size:21px;line-height:1.5;color:var(--ink)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .foot{max-width:62ch}
:is(#fm-ml,body:has(.ml-page)) .ml-page .foot p{color:inherit}
:is(#fm-ml,body:has(.ml-page)) .ml-page dl.board{margin:1em 0}
@media (min-width:601px){
:is(#fm-ml,body:has(.ml-page)).admin-bar .topbar{top:var(--wp-admin--admin-bar--height,32px)}
}
/* Morgan's file renders without a doctype (quirks mode), where small inline text ignores the parent's line height. Match it in standards mode. */
:is(#fm-ml,body:has(.ml-page)) .ml-page .costs div > span,:is(#fm-ml,body:has(.ml-page)) .ml-page .watch li > div > span{display:block}
/* ---- Morgan Campbell, market-lens.html (scoped) ---- */
:root{color-scheme: dark;
  --bg:#03112b;
  --bg-2:#061a3c;
  --panel:rgba(9,32,72,.72);
  --line:rgba(74,140,226,.30);
  --line-soft:rgba(74,140,226,.14);
  --ink:#ffffff;
  --ink-2:#cad7ec;
  --ink-3:#8ea4c7;
  --green:#6cc04a;
  --green-deep:#4e9d2b;
  --blue:#1f8fe5;
  --blue-bright:#46adff;
  --sun:#f2e3a4;
  --warm:#f0a64a;
  --f-display:"Encode Sans","Segoe UI",system-ui,sans-serif;
  --f-body:"Source Sans 3","Segoe UI",system-ui,sans-serif;
  --gutter:clamp(16px,4vw,56px);
  --ease:cubic-bezier(.22,.8,.2,1);}
:is(#fm-ml,body:has(.ml-page)) :is(.ml-page,.topbar,.rail) *,:is(#fm-ml,body:has(.ml-page)) :is(.ml-page,.topbar,.rail){box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
:is(#fm-ml,body:has(.ml-page)){margin:0;background:var(--bg);overflow-x:hidden}
:is(#fm-ml,body:has(.ml-page)) :is(.ml-page,.topbar,.rail){color:var(--ink);font-family:var(--f-body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
:is(#fm-ml,body:has(.ml-page)) :is(.ml-page,.topbar,.rail) a{color:inherit}
:is(#fm-ml,body:has(.ml-page)) :is(.ml-page,.topbar,.rail) :focus-visible{outline:2px solid var(--blue-bright);outline-offset:3px;border-radius:4px}
:is(#fm-ml,body:has(.ml-page)) #bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
:is(#fm-ml,body:has(.ml-page)) .vignette{position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 70% at 72% 45%,rgba(31,143,229,.10),transparent 70%),
             radial-gradient(ellipse 50% 60% at 0% 100%,rgba(108,192,74,.06),transparent 70%)}
:is(#fm-ml,body:has(.ml-page)) .topbar{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:calc(14px + env(safe-area-inset-top,0px)) var(--gutter) 14px;
  background:rgba(3,17,43,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);font-family:var(--f-display)}
:is(#fm-ml,body:has(.ml-page)) .topbar .brand{display:flex;align-items:center;gap:14px;text-decoration:none}
:is(#fm-ml,body:has(.ml-page)) .topbar .brand .fm{font-weight:700;font-size:13px;letter-spacing:.08em;line-height:1.05;text-transform:uppercase;padding-left:12px;border-left:1px solid var(--blue)}
:is(#fm-ml,body:has(.ml-page)) .topbar .brand .ml{font-weight:600;font-size:15px;color:var(--ink-2)}
:is(#fm-ml,body:has(.ml-page)) .topbar .brand .ml b{color:var(--green);font-weight:600}
:is(#fm-ml,body:has(.ml-page)) .topbar .edition{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .topbar .progress{position:absolute;left:0;bottom:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--blue),var(--green))}
:is(#fm-ml,body:has(.ml-page)) .ml-page.wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);padding-inline:var(--gutter)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .story{grid-column:1;grid-row:1;min-width:0;position:relative;z-index:2}
:is(#fm-ml,body:has(.ml-page)) .ml-page .stage{grid-column:2;grid-row:1;position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center;pointer-events:none}
:is(#fm-ml,body:has(.ml-page)) .ml-page .orbit{position:relative;width:min(46vw,84vh);aspect-ratio:1;max-width:100%}
:is(#fm-ml,body:has(.ml-page)) .ml-page .orbit>svg.rings{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
:is(#fm-ml,body:has(.ml-page)) .ml-page .lens{position:absolute;inset:0;transform:scale(var(--s,.9));transition:transform 1.1s var(--ease)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .disc{position:absolute;left:13%;top:13%;width:74%;height:74%;border-radius:50%;overflow:hidden;background:var(--bg-2);
  box-shadow:0 0 0 1px rgba(255,255,255,.04),0 40px 120px rgba(0,0,0,.45)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .disc>svg,:is(#fm-ml,body:has(.ml-page)) .ml-page .disc>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12) rotate(-2deg);
  transition:opacity .9s var(--ease),transform 1.4s var(--ease)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .disc>.on{opacity:1;transform:none}
:is(#fm-ml,body:has(.ml-page)) .ml-page .lens svg.arcs{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
:is(#fm-ml,body:has(.ml-page)) .ml-page .arc{fill:none;transform-box:view-box;transform-origin:300px 300px;transition:stroke-dasharray 1.2s var(--ease),transform 1.2s var(--ease),opacity .6s}
:is(#fm-ml,body:has(.ml-page)) .ml-page .spin{transform-box:view-box;transform-origin:300px 300px;animation:spin 60s linear infinite}
:is(#fm-ml,body:has(.ml-page)) .ml-page .spin.rev{animation-duration:90s;animation-direction:reverse}
@keyframes spin{to{transform:rotate(360deg)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .chips{position:absolute;inset:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .chip{position:absolute;max-width:210px;padding:12px 14px 12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:chipIn .8s var(--ease) both}
:is(#fm-ml,body:has(.ml-page)) .ml-page .chip::before{content:"";position:absolute;left:-5px;top:18px;width:9px;height:9px;border-radius:50%;background:var(--blue-bright);box-shadow:0 0 0 4px rgba(70,173,255,.18)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .chip.g::before{background:var(--green);box-shadow:0 0 0 4px rgba(108,192,74,.2)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .chip b{display:block;font-family:var(--f-display);font-weight:700;font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}
:is(#fm-ml,body:has(.ml-page)) .ml-page .chip span{display:block;font-size:13.5px;line-height:1.35;color:var(--ink-2);margin-top:4px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .chip.out{animation:chipOut .45s var(--ease) both}
@keyframes chipIn{from{opacity:0;transform:translateY(14px) scale(.96)}}
@keyframes chipOut{to{opacity:0;transform:translateY(-10px) scale(.96)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .sec{padding-block:11.25vh;display:flex;flex-direction:column;justify-content:center;gap:22px;max-width:620px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .sub{display:flex;flex-direction:column;gap:18px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .sub+.sub{padding-top:calc(22.5vh - 22px)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .kicker{font-family:var(--f-display);font-weight:500;font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);display:flex;align-items:center;gap:12px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .kicker::after{content:"";height:1px;flex:0 0 56px;background:var(--blue)}
:is(#fm-ml,body:has(.ml-page)) .ml-page h1,:is(#fm-ml,body:has(.ml-page)) .ml-page h2,:is(#fm-ml,body:has(.ml-page)) .ml-page h3{font-family:var(--f-display);margin:0;text-wrap:balance;letter-spacing:-.01em}
:is(#fm-ml,body:has(.ml-page)) .ml-page h2{font-size:clamp(34px,4.2vw,56px);line-height:1.04;font-weight:600}
:is(#fm-ml,body:has(.ml-page)) .ml-page h2 em{font-style:normal;color:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page h3{font-size:22px;font-weight:600;line-height:1.2;display:flex;align-items:center;gap:10px}
:is(#fm-ml,body:has(.ml-page)) .ml-page h3 i{font-style:normal;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-bright);font-family:var(--f-body);font-weight:600}
:is(#fm-ml,body:has(.ml-page)) .ml-page p{margin:0;color:var(--ink-2);max-width:62ch}
:is(#fm-ml,body:has(.ml-page)) .ml-page p.lede{font-size:21px;line-height:1.5;color:var(--ink)}
:is(#fm-ml,body:has(.ml-page)) .ml-page strong{color:var(--ink);font-weight:600}
:is(#fm-ml,body:has(.ml-page)) .ml-page .tags{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
:is(#fm-ml,body:has(.ml-page)) .ml-page .tags li{font-size:12.5px;letter-spacing:.04em;padding:4px 11px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .tags li.r{border-color:rgba(108,192,74,.5);color:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .byline{display:flex;align-items:center;gap:14px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .av{position:relative;flex:0 0 58px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 30% 25%,#12336b,#071a3d);font-family:var(--f-display);font-weight:700;font-size:17px;letter-spacing:.04em;color:var(--ink)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .av::before{content:"";position:absolute;inset:-4px;border-radius:50%;padding:2px;
  background:conic-gradient(from 200deg,var(--blue) 0 30%,transparent 30% 40%,var(--green) 40% 78%,transparent 78%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  transition:transform 1.2s var(--ease)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .av img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;opacity:0;filter:grayscale(1) contrast(1.05);transition:filter .8s,opacity .5s}
:is(#fm-ml,body:has(.ml-page)) .ml-page .av img.ok{opacity:1}
:is(#fm-ml,body:has(.ml-page)) .ml-page .is-active .av img{filter:none}
:is(#fm-ml,body:has(.ml-page)) .ml-page .is-active .av::before{transform:rotate(120deg)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .byline .who{display:flex;flex-direction:column;line-height:1.25;min-width:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .byline .who strong{font-family:var(--f-display);font-size:16px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .byline .who span{font-size:14px;color:var(--ink-3)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .pre{opacity:0;transform:translateY(28px)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .rv{transition:opacity .9s var(--ease),transform .9s var(--ease)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .hero{min-height:100vh;min-height:100svh;padding-top:20vh}
:is(#fm-ml,body:has(.ml-page)) .ml-page #close{padding-bottom:22.5vh}
:is(#fm-ml,body:has(.ml-page)) .ml-page .hero .eyebrow{font-family:var(--f-display);font-weight:500;font-size:clamp(16px,1.6vw,22px);color:var(--green);text-transform:uppercase;letter-spacing:.02em}
:is(#fm-ml,body:has(.ml-page)) .ml-page .hero h1{font-size:clamp(60px,7.6vw,120px);line-height:.92;font-weight:600;letter-spacing:-.025em}
:is(#fm-ml,body:has(.ml-page)) .ml-page .hero h1 span{color:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .hero .sub-h{font-family:var(--f-display);font-weight:500;font-size:clamp(22px,2.3vw,32px);line-height:1.2;color:var(--ink)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .toc{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;max-width:400px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .toc a{display:flex;align-items:center;gap:18px;padding:10px 0;text-decoration:none;font-family:var(--f-display);font-weight:500;font-size:19px;border-bottom:1px solid var(--line)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .toc li:last-child a{border-bottom:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .toc .ic{flex:0 0 62px;height:62px;border-radius:50%;border:1.5px solid rgba(255,255,255,.75);display:grid;place-items:center;transition:border-color .3s,transform .4s var(--ease)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .toc a:hover .ic{border-color:var(--green);transform:rotate(-8deg)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .toc img{width:48px;height:48px;object-fit:contain;display:block}
:is(#fm-ml,body:has(.ml-page)) .ml-page .cue{margin-top:14px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:10px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .cue i{width:1px;height:34px;background:linear-gradient(var(--green),transparent);animation:cue 2s ease-in-out infinite}
@keyframes cue{50%{transform:scaleY(.4);transform-origin:top}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .board{display:grid;border-top:1px solid var(--line)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .board div{display:grid;grid-template-columns:130px 14px minmax(0,1fr);gap:12px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:15.5px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .board dt,:is(#fm-ml,body:has(.ml-page)) .ml-page .board dd{margin:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .board dt{font-family:var(--f-display);font-weight:600}
:is(#fm-ml,body:has(.ml-page)) .ml-page .board .dir{font-size:12.5px;font-weight:600;text-align:center}
:is(#fm-ml,body:has(.ml-page)) .ml-page .up{color:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .flat{color:var(--blue-bright)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .board dd:last-child{color:var(--ink-2)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .bars{display:grid;gap:10px;padding:18px 18px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(6,26,60,.55)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .bars .cap{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .bar{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;font-size:14.5px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .bar .t{height:30px;border-radius:6px;background:rgba(74,140,226,.10);position:relative;overflow:hidden}
:is(#fm-ml,body:has(.ml-page)) .ml-page .bar .f{position:absolute;inset:0 auto 0 0;display:flex;align-items:center;justify-content:flex-end;padding-right:10px;border-radius:6px;
  font-family:var(--f-display);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;color:#03112b;transition:width 1.4s var(--ease)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .bar .f.a{background:var(--blue-bright)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .bar .f.b{background:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .bars .note{font-size:13px;color:var(--ink-3)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .costs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .costs div{padding:14px 16px;border-left:2px solid var(--blue);background:linear-gradient(90deg,rgba(31,143,229,.10),transparent)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .costs div:last-child{border-color:var(--green);background:linear-gradient(90deg,rgba(108,192,74,.10),transparent)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .costs b{display:block;font-family:var(--f-display);font-size:26px;font-weight:700}
:is(#fm-ml,body:has(.ml-page)) .ml-page .costs span{font-size:14px;color:var(--ink-2)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gcc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gcc li{padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-size:14.5px;color:var(--ink-2);line-height:1.35}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gcc li b{display:block;font-family:var(--f-display);color:var(--ink);font-size:15px;margin-bottom:3px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gcc li .gh{display:flex;align-items:center;gap:10px;margin-bottom:6px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gcc li .gh b{margin:0;font-size:16px;line-height:1.2}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gcc .gi{flex:0 0 32px;width:32px;height:32px;display:block}
:is(#fm-ml,body:has(.ml-page)) .ml-page .trade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:16px;overflow:hidden}
:is(#fm-ml,body:has(.ml-page)) .ml-page .trade div{padding:16px 18px;display:flex;flex-direction:column;gap:4px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .trade div+div{border-left:1px solid var(--line)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .trade h4{margin:0;font-family:var(--f-display);font-size:16px;font-weight:600}
:is(#fm-ml,body:has(.ml-page)) .ml-page .trade p{font-size:15px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .trade .ar{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork svg{display:block;width:100%;height:auto;overflow:visible}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork .fork-v{display:none;max-width:420px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork .fk{font-family:var(--f-display);font-weight:600;font-size:13px;letter-spacing:.09em;text-transform:uppercase}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork .fl{font-family:var(--f-body);font-size:15.5px;fill:var(--ink-2)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork .w{fill:var(--warm)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork .b{fill:var(--blue-bright)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork .g{fill:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork .path{stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 1.8s var(--ease) .25s}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork .end{transition:opacity .7s ease 1.5s}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork.wait .path{stroke-dashoffset:1;transition:none}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork.wait .end{opacity:0;transition:none}
@media (max-width:560px){
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork .fork-h{display:none}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork .fork-v{display:block}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork .fk{font-size:14px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fork .fl{font-size:16px}
}
:is(#fm-ml,body:has(.ml-page)) .ml-page .trade .ar.b{color:var(--blue-bright)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .trade .ar.g{color:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .watch{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .watch li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--line-soft)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .watch .sig{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);position:relative}
:is(#fm-ml,body:has(.ml-page)) .ml-page .watch .sig::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--c,var(--green));box-shadow:0 0 0 0 var(--c,var(--green));animation:ping 2.4s infinite}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(0,0,0,0)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .watch b{font-family:var(--f-display);font-weight:600;display:block;color:var(--ink)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .watch span{font-size:15.5px;color:var(--ink-2)}
:is(#fm-ml,body:has(.ml-page)) .ml-page blockquote{margin:0;font-family:var(--f-display);font-weight:500;font-size:clamp(26px,3vw,40px);line-height:1.2;text-wrap:balance}
:is(#fm-ml,body:has(.ml-page)) .ml-page blockquote em{font-style:normal;color:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .roster{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:34px 16px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .roster .av{flex-basis:66px;width:66px;height:66px;font-size:19px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .roster li{display:flex;flex-direction:column;gap:14px;align-items:flex-start;min-width:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .roster .who{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25;min-width:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .roster .who strong{font-family:var(--f-display);font-size:22px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .roster .who>span{font-size:18px;color:var(--ink-3);margin-bottom:6px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .who a{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-2);text-decoration:none;padding:1px 0;transition:color .25s;white-space:nowrap}
:is(#fm-ml,body:has(.ml-page)) .ml-page .who a svg{color:var(--green);flex:0 0 auto}
:is(#fm-ml,body:has(.ml-page)) .ml-page .who a:hover{color:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .byline .who>span{margin-bottom:3px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .roster .who a{font-size:clamp(14px,1.1vw,16.5px);gap:7px;padding:2px 0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .roster .who a svg{width:16px;height:16px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .foot{font-size:13px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:16px}
:is(#fm-ml,body:has(.ml-page)) .rail{position:fixed;right:max(10px,calc(var(--gutter)/3));top:50%;transform:translateY(-50%);z-index:15;display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0}
:is(#fm-ml,body:has(.ml-page)) .rail a{display:flex;align-items:center;justify-content:flex-end;gap:10px;text-decoration:none;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
:is(#fm-ml,body:has(.ml-page)) .rail a span{opacity:0;transform:translateX(6px);transition:.3s}
:is(#fm-ml,body:has(.ml-page)) .rail a:hover span,:is(#fm-ml,body:has(.ml-page)) .rail a:focus-visible span,:is(#fm-ml,body:has(.ml-page)) .rail a.on span{opacity:1;transform:none}
:is(#fm-ml,body:has(.ml-page)) .rail a.on{color:var(--ink)}
:is(#fm-ml,body:has(.ml-page)) .rail a i{width:6px;height:6px;border-radius:3px;background:var(--ink-3);transition:height .4s var(--ease),background .4s}
:is(#fm-ml,body:has(.ml-page)) .rail a.on i{height:22px;background:var(--green)}
@media (max-width:900px){
:is(#fm-ml,body:has(.ml-page)) :is(.ml-page,.topbar,.rail){font-size:17px}
:is(#fm-ml,body:has(.ml-page)) .ml-page.wrap{display:block}
:is(#fm-ml,body:has(.ml-page)) .ml-page .stage{position:sticky;top:0;height:44vh;height:44svh;z-index:3;padding-top:56px;
    background:linear-gradient(var(--bg) 82%,rgba(3,17,43,0))}
:is(#fm-ml,body:has(.ml-page)) .ml-page .story{z-index:1}
:is(#fm-ml,body:has(.ml-page)) .ml-page .orbit{width:min(78vw,36svh)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .chips,:is(#fm-ml,body:has(.ml-page)) .rail{display:none}
:is(#fm-ml,body:has(.ml-page)) .ml-page .sec{min-height:auto;padding-block:8.75vh}
:is(#fm-ml,body:has(.ml-page)) .ml-page .hero{padding-top:4vh}
:is(#fm-ml,body:has(.ml-page)) .ml-page .sub+.sub{padding-top:calc(17.5vh - 22px)}
:is(#fm-ml,body:has(.ml-page)) .ml-page #close{padding-bottom:17.5vh}
:is(#fm-ml,body:has(.ml-page)) .ml-page .roster li{flex-direction:row;align-items:center}
:is(#fm-ml,body:has(.ml-page)) .ml-page .roster .who a{font-size:15.5px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .board div{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .board dd:last-child{grid-column:1/-1}
:is(#fm-ml,body:has(.ml-page)) .topbar .edition{display:none}
}
@media (max-width:480px){
:is(#fm-ml,body:has(.ml-page)) .ml-page .costs,:is(#fm-ml,body:has(.ml-page)) .ml-page .trade{grid-template-columns:1fr}
:is(#fm-ml,body:has(.ml-page)) .ml-page .trade div+div{border-left:0;border-top:1px solid var(--line)}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
:is(#fm-ml,body:has(.ml-page)) :is(.ml-page,.topbar,.rail) *,:is(#fm-ml,body:has(.ml-page)) :is(.ml-page,.topbar,.rail),:is(#fm-ml,body:has(.ml-page)) :is(.ml-page,.topbar,.rail) *::before,:is(#fm-ml,body:has(.ml-page)) :is(.ml-page,.topbar,.rail)::before,:is(#fm-ml,body:has(.ml-page)) :is(.ml-page,.topbar,.rail) *::after,:is(#fm-ml,body:has(.ml-page)) :is(.ml-page,.topbar,.rail)::after{animation:none!important;transition-duration:.01ms!important}
:is(#fm-ml,body:has(.ml-page)) .ml-page .pre{opacity:1;transform:none}
}
:is(#fm-ml,body:has(.ml-page)) .ml-page [data-v="radar"] *{transform-box:view-box}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-sc{opacity:0;animation:ws-sc 21s ease-in-out infinite backwards}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-sc1{--dl:0s}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-sc2{--dl:7s}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-sc3{--dl:14s}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-sc,:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-sc .ws-dr,:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-sc .ws-drb,:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-sc .ws-ac{animation-delay:var(--dl)}
@keyframes ws-sc{0%{opacity:0}3%,29%{opacity:1}33.3%,100%{opacity:0}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-dr{stroke-dasharray:100;animation:ws-dr 21s ease-in-out infinite backwards}
@keyframes ws-dr{0%{stroke-dashoffset:100}11%,100%{stroke-dashoffset:0}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-drb{stroke-dasharray:100;animation:ws-drb 21s ease-in-out infinite backwards}
@keyframes ws-drb{0%,6%{stroke-dashoffset:100}16%,100%{stroke-dashoffset:0}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-ac{animation:ws-ac 21s ease-in-out infinite backwards}
@keyframes ws-ac{0%,13%{opacity:0}18%,100%{opacity:1}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-bob{transform-origin:200px 260px;animation:ws-bob 4s ease-in-out infinite}
@keyframes ws-bob{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(5px) rotate(1.5deg)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-drip{animation:ws-drip 2s cubic-bezier(.5,0,1,1) infinite}
@keyframes ws-drip{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(30px);opacity:0}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-steam{animation:ws-steam 2.6s ease-in-out infinite}
@keyframes ws-steam{0%{transform:translateY(8px);opacity:0}40%{opacity:1}100%{transform:translateY(-18px);opacity:0}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-dot{opacity:.25;animation:ws-dot 21s ease-in-out infinite backwards}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-dt2{animation-delay:7s}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-dt3{animation-delay:14s}
@keyframes ws-dot{0%{opacity:.25}3%,29%{opacity:1}33.3%,100%{opacity:.25}}
@media (prefers-reduced-motion:reduce){
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-sc,:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-sc *,:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-dot{animation:none!important}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-sc1,:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-dt1{opacity:1}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-sc2,:is(#fm-ml,body:has(.ml-page)) .ml-page .ws-sc3{display:none}
}
:is(#fm-ml,body:has(.ml-page)) .ml-page .flow{stroke-dasharray:8 10;animation:flow 2.4s linear infinite}
@keyframes flow{to{stroke-dashoffset:-36}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .wave{animation:wave 4s ease-in-out infinite alternate}
:is(#fm-ml,body:has(.ml-page)) .ml-page .wave.w2{animation-duration:5.5s;animation-direction:alternate-reverse}
@keyframes wave{to{transform:translateX(-80px)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .sweep{transform-origin:200px 200px;animation:spin 5s linear infinite}
:is(#fm-ml,body:has(.ml-page)) .ml-page .blip{animation:blip 2.8s ease-in-out infinite}
@keyframes blip{50%{opacity:.35}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fcdots{stroke-dasharray:.1 16;stroke-linecap:round;animation:fcflow 1.6s linear infinite}
@keyframes fcflow{to{stroke-dashoffset:-16.1}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fctag{transform-box:view-box;transform-origin:325px 146px;animation:fctag 3.2s ease-in-out infinite}
@keyframes fctag{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fcsmoke{transform-box:fill-box;transform-origin:center;animation:fcsmoke 2.6s ease-out infinite}
@keyframes fcsmoke{0%{opacity:0;transform:translate(0,6px) scale(.6)}30%{opacity:.7}100%{opacity:0;transform:translate(10px,-18px) scale(1.4)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .fcfill{transform-box:view-box;transform-origin:325px 250px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .on .fcfill{animation:fcfill 9.6s .6s cubic-bezier(.35,.1,.35,1) both}
@keyframes fcfill{from{transform:scaleY(0)}to{transform:scaleY(1)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .belt{animation:belt 8s linear infinite}
@keyframes belt{to{transform:translateX(-400px)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .rise{animation:rise 2.1s ease-in-out infinite alternate}
@keyframes rise{to{transform:translateY(-10px)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .draw{stroke-dasharray:520;stroke-dashoffset:520}
:is(#fm-ml,body:has(.ml-page)) .ml-page .on .draw{animation:draw 1.8s .3s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .swell path{animation:wave 6s ease-in-out infinite alternate}
:is(#fm-ml,body:has(.ml-page)) .ml-page .nn-bar{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .nn-line{transition:stroke .35s,opacity .35s}
:is(#fm-ml,body:has(.ml-page)) .ml-page .nn-glow{transform-box:fill-box;transform-origin:center}
:is(#fm-ml,body:has(.ml-page)) .ml-page .nn-chart{transform-box:view-box;transform-origin:200px 200px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .stalks g{transform-box:view-box;animation:sway 4s ease-in-out infinite alternate}
:is(#fm-ml,body:has(.ml-page)) .ml-page .dsun{transform-box:view-box}
:is(#fm-ml,body:has(.ml-page)) .ml-page .on .dsun{animation:dsun 10s .5s linear both}
@keyframes dsun{from{transform:translateY(-175px);fill:#fff4cf}55%{fill:#ffd27a}to{transform:translateY(72px);fill:#f0a64a}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .dsky{opacity:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .on .dsky{animation:dsky 10s .5s linear both}
@keyframes dsky{0%,15%{opacity:0}to{opacity:1}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .dglow{transform-box:fill-box;transform-origin:50% 50%;opacity:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .on .dglow{animation:dglow 10s .5s ease-in-out both}
@keyframes dglow{0%{opacity:.15;transform:scaleX(.7)}66%{opacity:.95;transform:scaleX(1.15)}100%{opacity:0;transform:scaleX(1.3)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .dstar{opacity:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .on .dstar{animation:dstar 10s .5s ease-in both}
@keyframes dstar{0%,62%{opacity:0}100%{opacity:var(--o,.85)}}
@keyframes sway{from{transform:rotate(-2deg)}to{transform:rotate(2.5deg)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .o2fill{animation:o2fill 9s cubic-bezier(.45,.05,.3,1) infinite}
@keyframes o2fill{0%{transform:translateY(175px)}62%{transform:translateY(0)}84%{transform:translateY(0)}100%{transform:translateY(175px)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .o2wave{animation:o2wave 3.5s ease-in-out infinite alternate}
@keyframes o2wave{to{transform:translateX(-50px)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .o2stream{stroke-dasharray:5 7;animation:o2stream .7s linear infinite,o2on 9s linear infinite}
@keyframes o2stream{to{stroke-dashoffset:-24}}
@keyframes o2on{0%,60%{opacity:1}64%,100%{opacity:0}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .s1rot{animation:s1rot 48s linear infinite}
@keyframes s1rot{from{transform:translateX(0)}to{transform:translateX(-584.3px)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .o1port{transform-box:fill-box;transform-origin:center;animation:o1port 2.4s ease-in-out infinite}
@keyframes o1port{50%{transform:scale(1.8);opacity:.5}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .s3ship{transform-box:view-box;transform-origin:210px 290px;animation:s3bob 4s ease-in-out infinite}
@keyframes s3bob{0%,100%{transform:rotate(-1.2deg) translateY(0)}50%{transform:rotate(1.2deg) translateY(4px)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .s3smoke circle{animation:s3smoke 2.4s ease-out infinite}
@keyframes s3smoke{0%{opacity:0;transform:translate(0,8px)}30%{opacity:1}100%{opacity:0;transform:translate(14px,-14px)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .s3needle{transform-box:view-box;transform-origin:200px 120px;animation:s3needle 6s cubic-bezier(.4,0,.2,1) infinite}
@keyframes s3needle{0%{transform:rotate(-70deg)}55%{transform:rotate(62deg)}62%{transform:rotate(55deg)}68%,88%{transform:rotate(60deg)}100%{transform:rotate(-70deg)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gi0{animation:gi0 16s cubic-bezier(.3,1.3,.5,1) 1 both}
@keyframes gi0{0%,10.0%{transform:translateY(-160px);opacity:0}11.75%{opacity:1}14.80%,100%{transform:translateY(0);opacity:1}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gi1{animation:gi1 16s cubic-bezier(.3,1.3,.5,1) 1 both}
@keyframes gi1{0%,13.12%{transform:translateY(-160px);opacity:0}14.87%{opacity:1}17.92%,100%{transform:translateY(0);opacity:1}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gi2{animation:gi2 16s cubic-bezier(.3,1.3,.5,1) 1 both}
@keyframes gi2{0%,16.25%{transform:translateY(-160px);opacity:0}18.00%{opacity:1}21.05%,100%{transform:translateY(0);opacity:1}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gi3{animation:gi3 16s cubic-bezier(.3,1.3,.5,1) 1 both}
@keyframes gi3{0%,19.38%{transform:translateY(-160px);opacity:0}21.13%{opacity:1}24.18%,100%{transform:translateY(0);opacity:1}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gi4{animation:gi4 16s cubic-bezier(.3,1.3,.5,1) 1 both}
@keyframes gi4{0%,22.5%{transform:translateY(-160px);opacity:0}24.25%{opacity:1}27.30%,100%{transform:translateY(0);opacity:1}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gi5{animation:gi5 16s cubic-bezier(.3,1.3,.5,1) 1 both}
@keyframes gi5{0%,25.62%{transform:translateY(-160px);opacity:0}27.37%{opacity:1}30.42%,100%{transform:translateY(0);opacity:1}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gcart{animation:gcart 16s cubic-bezier(.45,0,.35,1) 1 both}
@keyframes gcart{0%{transform:translateX(-340px)}8%,31%{transform:translateX(0)}39%,100%{transform:translateX(380px)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gwheel{transform-box:view-box;animation:gwheel 16s cubic-bezier(.45,0,.35,1) 1 both}
@keyframes gwheel{0%{transform:rotate(-540deg)}8%,31%{transform:rotate(0)}39%,100%{transform:rotate(600deg)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gtag{transform-box:view-box;transform-origin:82px 197px;animation:p3tag 2.8s ease-in-out infinite}
@keyframes p3tag{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gk0{animation:gk0 16s ease 1 both}
@keyframes gk0{0%,37.00%{opacity:0;transform:translateY(10px)}39.00%,100%{opacity:1;transform:none}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gk1{animation:gk1 16s ease 1 both}
@keyframes gk1{0%,38.38%{opacity:0;transform:translateY(10px)}40.38%,100%{opacity:1;transform:none}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gk2{animation:gk2 16s ease 1 both}
@keyframes gk2{0%,39.75%{opacity:0;transform:translateY(10px)}41.75%,100%{opacity:1;transform:none}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gk3{animation:gk3 16s ease 1 both}
@keyframes gk3{0%,41.12%{opacity:0;transform:translateY(10px)}43.12%,100%{opacity:1;transform:none}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gk4{animation:gk4 16s ease 1 both}
@keyframes gk4{0%,42.50%{opacity:0;transform:translateY(10px)}44.50%,100%{opacity:1;transform:none}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gk5{animation:gk5 16s ease 1 both}
@keyframes gk5{0%,43.88%{opacity:0;transform:translateY(10px)}45.88%,100%{opacity:1;transform:none}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gk6{animation:gk6 16s ease 1 both}
@keyframes gk6{0%,45.25%{opacity:0;transform:translateY(10px)}47.25%,100%{opacity:1;transform:none}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gk7{animation:gk7 16s ease 1 both}
@keyframes gk7{0%,46.62%{opacity:0;transform:translateY(10px)}48.62%,100%{opacity:1;transform:none}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gk8{animation:gk8 16s ease 1 both}
@keyframes gk8{0%,48.00%{opacity:0;transform:translateY(10px)}50.00%,100%{opacity:1;transform:none}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gk9{animation:gk9 16s ease 1 both}
@keyframes gk9{0%,49.38%{opacity:0;transform:translateY(10px)}51.38%,100%{opacity:1;transform:none}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gk10{animation:gk10 16s ease 1 both}
@keyframes gk10{0%,50.75%{opacity:0;transform:translateY(10px)}52.75%,100%{opacity:1;transform:none}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gk11{animation:gk11 16s ease 1 both}
@keyframes gk11{0%,52.12%{opacity:0;transform:translateY(10px)}54.12%,100%{opacity:1;transform:none}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gk12{animation:gk12 16s ease 1 both}
@keyframes gk12{0%,53.50%{opacity:0;transform:translateY(10px)}55.50%,100%{opacity:1;transform:none}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gchart{animation:gchart 16s ease 1 both}
@keyframes gchart{0%,34%{opacity:0}38%,100%{opacity:1}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gma{stroke-dasharray:100;animation:gma 16s linear 1 both}
@keyframes gma{0%,40%{stroke-dashoffset:100}63%,100%{stroke-dashoffset:0}}
:is(#fm-ml,body:has(.ml-page)) .ml-page .gtick{animation:gtick 26s linear infinite}
@keyframes gtick{to{transform:translateX(-50%)}}
/* ---- Desktop lens: centred in the space under the top bar (Initiate) ---- */
@media (min-width:901px){
:is(#fm-ml,body:has(.ml-page)) .ml-page .stage{padding-top:56px;box-sizing:border-box}
:is(#fm-ml,body:has(.ml-page)) .ml-page .orbit{width:min(46vw,calc((100vh - 56px) * .86))}
}
@media (min-width:901px) and (min-width:601px){
:is(#fm-ml,body:has(.ml-page)).admin-bar .stage{top:32px;height:calc(100vh - 32px)}
}
/* ---- Native Elementor widgets styled as Morgan's blocks (Initiate) ---- */
/* editor-only helpers: lens photo + edition label are hidden on the page, visible + labelled in Elementor */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-scene-image,:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-edition{display:none}
:is(#fm-ml,body:has(.ml-page)).elementor-editor-active .ml-scene-image,:is(#fm-ml,body:has(.ml-page)).elementor-editor-active .ml-edition{display:block;outline:1px dashed rgba(108,192,74,.6);padding:8px;position:relative}
:is(#fm-ml,body:has(.ml-page)).elementor-editor-active .ml-scene-image img{max-width:180px;height:auto;display:block}
:is(#fm-ml,body:has(.ml-page)).elementor-editor-active .ml-scene-image::before{content:"Lens photo for this section (delete to show the animation)";display:block;font-size:12px;color:var(--green);margin-bottom:6px}
:is(#fm-ml,body:has(.ml-page)).elementor-editor-active .ml-edition::before{content:"Edition label shown in the top bar:";display:block;font-size:12px;color:var(--green);margin-bottom:4px}
:is(#fm-ml,body:has(.ml-page)).elementor-editor-active .stage{min-height:200px}
/* containers used as layout */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-byline,:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-person{display:flex;flex-direction:row;align-items:center;gap:14px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .who{display:flex;flex-direction:column;line-height:1.25;min-width:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-byline,:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-person{flex-wrap:nowrap}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-byline > .who,:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-person > .who{--width:auto;width:auto;flex:1 1 auto}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-sig-d p,:is(#fm-ml,body:has(.ml-page)) .ml-page .b-desc p,:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-cost-l p{max-width:none}
/* avatar: Image widget with class av */
:is(#fm-ml,body:has(.ml-page)) .ml-page .av img{opacity:1;position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;max-width:none}
:is(#fm-ml,body:has(.ml-page)) .ml-page .av .elementor-widget-container{position:static}
:is(#fm-ml,body:has(.ml-page)) .ml-page .who-name{font-family:var(--f-display);font-weight:600;font-size:16px;color:var(--ink)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .who-role{font-size:14px;color:var(--ink-3);margin-bottom:3px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .who-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
:is(#fm-ml,body:has(.ml-page)) .ml-page .who-links li{margin:0;padding:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .who-links a{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;line-height:1.25;color:var(--ink-2);text-decoration:none;padding:1px 0;white-space:nowrap;transition:color .25s}
:is(#fm-ml,body:has(.ml-page)) .ml-page .who-links a:hover{color:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .who-links .elementor-icon-list-icon{display:inline-flex;color:var(--green);padding:0;margin:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .who-links .elementor-icon-list-icon svg{width:15px;height:15px;fill:none!important;stroke:currentColor}
:is(#fm-ml,body:has(.ml-page)) .ml-page .who-links .elementor-icon-list-text{padding:0;color:inherit}
/* contributors */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:34px 16px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-person{flex-direction:column;align-items:flex-start;gap:14px;min-width:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-person .av{flex-basis:66px;width:66px;height:66px;font-size:19px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-person .who-name{font-size:22px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-person .who-role{font-size:18px;margin-bottom:6px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-person .who-links a{font-size:clamp(14px,1.1vw,16.5px);gap:7px;padding:2px 0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-person .who-links .elementor-icon-list-icon svg{width:16px;height:16px}
/* contents links: Image Box widgets */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-toc{display:flex;flex-direction:column;margin:10px 0 0;max-width:400px}
/* scroll cue */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-cue{margin-top:14px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-cue .elementor-heading-title{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:10px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-cue .elementor-heading-title::before{content:"";width:1px;height:34px;background:linear-gradient(var(--green),transparent);animation:cue 2s ease-in-out infinite}
/* commodity snapshot */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-board{display:grid;border-top:1px solid var(--line);margin:1em 0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-board-row{display:grid;grid-template-columns:130px 14px minmax(0,1fr);gap:12px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:15.5px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .b-name{font-family:var(--f-display);font-weight:600;color:var(--ink)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .b-dir{font-size:12.5px;font-weight:600;text-align:center}
:is(#fm-ml,body:has(.ml-page)) .ml-page .b-dir.up{color:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .b-dir.flat{color:var(--blue-bright)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .b-desc p{color:var(--ink-2)}
/* wheat exports: Progress Bar widgets */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-bars{display:grid;gap:10px;padding:18px 18px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(6,26,60,.55)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-cap{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-bar .elementor-widget-container{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;font-size:14.5px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-bar .elementor-title{font-size:14.5px;font-weight:400;color:var(--ink-2);font-family:var(--f-body);margin:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-bar .elementor-progress-wrapper{height:30px;border-radius:6px;background:rgba(74,140,226,.10);overflow:hidden;line-height:1}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-bar .elementor-progress-bar{height:100%;border-radius:6px;display:flex;align-items:center;justify-content:flex-end;padding-right:10px;line-height:1;transition:width 1.4s var(--ease)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-bar-a .elementor-progress-bar{background:var(--blue-bright)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-bar-b .elementor-progress-bar{background:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-bar .elementor-progress-text{flex:0 0 auto;padding:0;font-family:var(--f-display);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;color:#03112b}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-bar .elementor-progress-percentage{display:none}
/* cost boxes */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-costs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-cost{display:block;padding:14px 16px;border-left:2px solid var(--blue);background:linear-gradient(90deg,rgba(31,143,229,.10),transparent)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-cost-b{border-color:var(--green);background:linear-gradient(90deg,rgba(108,192,74,.10),transparent)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-cost-v{font-family:var(--f-display);font-size:26px;font-weight:700;color:var(--ink);line-height:1.6}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-cost-l p{font-size:14px;color:var(--ink-2);line-height:1.6}
/* what to watch */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-watch{display:grid;border-top:1px solid var(--line)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-sig{display:block;position:relative;padding:14px 0 14px 58px;border-bottom:1px solid var(--line-soft)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-sig::before{content:"";position:absolute;left:0;top:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);box-sizing:border-box}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-sig::after{content:"";position:absolute;left:12px;top:26px;width:10px;height:10px;border-radius:50%;background:var(--c,var(--green));box-shadow:0 0 0 0 var(--c,var(--green));animation:ping 2.4s infinite}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-sig-blue{--c:#46adff}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-sig-warm{--c:#f0a64a}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-sig-green{--c:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-sig-t{font-family:var(--f-display);font-weight:600;color:var(--ink);line-height:1.6}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-sig-d p{font-size:15.5px;color:var(--ink-2);line-height:1.6}
/* GCC countries: Image Box widgets */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-gcc{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
/* contents links: container (link) > Image + Heading */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-toc-item{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:18px;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;width:auto}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-toc-item:last-child{border-bottom:0}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-toc-ic{flex:0 0 62px;width:62px;height:62px;border-radius:50%;border:1.5px solid rgba(255,255,255,.75);display:grid;place-items:center;box-sizing:border-box;transition:border-color .3s,transform .4s var(--ease)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-toc-ic img{width:48px;height:48px;object-fit:contain;display:block}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-toc-item:hover .ml-toc-ic{border-color:var(--green);transform:rotate(-8deg)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-toc-t{flex:1 1 auto;width:auto;font-family:var(--f-display);font-weight:500;font-size:19px;color:var(--ink)}
/* GCC countries: container > (Image + Heading) + Text */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-gcc-item{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:12px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-gcc-head{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:10px;margin-bottom:6px;width:auto}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-gcc-ic{flex:0 0 32px;width:32px;height:32px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-gcc-ic img{width:32px;height:32px;display:block}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-gcc-t{flex:1 1 auto;width:auto;font-family:var(--f-display);font-weight:600;font-size:16px;line-height:1.2;color:var(--ink)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-gcc-d p{font-size:14.5px;line-height:1.35;color:var(--ink-2);max-width:none}
/* Nestle diagram: headings, text and icon images; the connecting lines are a drawn layer behind them */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork{display:block;position:relative;width:100%;aspect-ratio:600/250}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork::before{content:"";position:absolute;inset:0;background:url(img/fork-lines-h.svg) no-repeat 0 0/100% 100%;clip-path:inset(0 0 0 0);transition:clip-path 1.8s var(--ease) .25s}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork.wait::before{clip-path:inset(0 100% 0 0);transition:none}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-origin{position:absolute;left:6.667%;bottom:calc(58.4% - 3px);width:auto;font-family:var(--f-display);font-weight:600;font-size:13px;line-height:1;letter-spacing:.09em;text-transform:uppercase;color:var(--warm);white-space:nowrap}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-end{position:absolute;left:66.667%;top:24%;transform:translateY(-50%);display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:12px;width:auto;transition:opacity .7s ease 1.5s}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-g{top:76%}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork.wait .ml-fork-end{opacity:0;transition:none}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-ic{flex:0 0 44px;width:44px;height:44px;border-radius:50%;border:2px solid var(--blue-bright);display:grid;place-items:center;box-sizing:border-box}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-g .ml-fork-ic{border-color:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-ic img{width:28px;height:28px;display:block}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-txt{display:flex;flex-direction:column;gap:6px;width:auto}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-t{font-family:var(--f-display);font-weight:600;font-size:13px;line-height:1.2;letter-spacing:.09em;text-transform:uppercase;color:var(--blue-bright);white-space:nowrap}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-g .ml-fork-t{color:var(--green)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-d p{font-size:15.5px;line-height:1.2;color:var(--ink-2);max-width:none;white-space:nowrap}
@media (max-width:560px){
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork{aspect-ratio:360/310;max-width:420px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork::before{background-image:url(img/fork-lines-v.svg)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork.wait::before{clip-path:inset(0 0 100% 0)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-origin{left:50%;bottom:auto;top:0;transform:translateX(-50%);font-size:14px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-end{top:71%;flex-direction:column;gap:10px;text-align:center;transform:translate(-50%,-22px)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-b{left:25%}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-g{left:75%}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-txt{align-items:center}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-t{font-size:14px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-fork-d p{font-size:16px}
}
@media (max-width:900px){
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-person{flex-direction:row;align-items:center}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-person .who-links a{font-size:15.5px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-board-row{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-board-row .b-desc{grid-column:1/-1}
}
@media (max-width:480px){
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-costs{grid-template-columns:1fr}
}
/* ---- Phones (Initiate): chapter openers + live top bar ---- */
@media (max-width:900px){
:is(#fm-ml,body:has(.ml-page)) .ml-page .stage{display:none}
:is(#fm-ml,body:has(.ml-page)) .ml-page .story{padding-top:58px}
:is(#fm-ml,body:has(.ml-page)) .ml-page .story > .sec:not(.hero){padding-top:2vh}
:is(#fm-ml,body:has(.ml-page)) .ml-page .sub+.sub{padding-top:7vh}
/* opener: full-bleed, oversized lens bleeding off the right edge */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-inline{--h:100vw;position:relative;height:var(--h);margin-inline:calc(var(--gutter) * -1);margin-bottom:calc(var(--h) * -.30);overflow:hidden;pointer-events:none;flex:0 0 auto}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-inline .orbit{position:absolute;width:104vw;max-width:none;right:-30vw;top:0;
  transform:translateY(calc((.5 - var(--p, .5)) * 70px))}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-inline .disc>*{opacity:1;transform:none}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-inline .lens svg.arcs{transform:rotate(calc((var(--p, .5) - .5) * 50deg))}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-inline::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 72% 45%,rgba(31,143,229,.16),transparent 70%)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-inline::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(rgba(3,17,43,0),var(--bg) 88%)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-inline ~ *{position:relative;z-index:1}
/* chapter number */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-num{position:absolute;left:var(--gutter);top:14%;z-index:1;font-family:var(--f-display);font-weight:700;font-size:min(24vw,150px);line-height:.8;letter-spacing:-.05em;
  color:transparent;-webkit-text-stroke:1.2px rgba(108,192,74,.75);transform:translateY(calc((var(--p, .5) - .5) * 40px))}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-num::after{content:"";display:block;width:34px;height:2px;margin-top:14px;background:linear-gradient(90deg,var(--blue),var(--green))}
/* intro: the biggest lens, title rises over it */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-inline.ml-hero{--h:108vw;margin-bottom:calc(var(--h) * -.34)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-inline.ml-hero .orbit{width:116vw;right:-34vw}
/* sub-chapters (Weather, Trade routes, …): smaller opener */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-inline.ml-compact{--h:74vw;margin-bottom:calc(var(--h) * -.22)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-inline.ml-compact .orbit{width:80vw;right:-16vw}
:is(#fm-ml,body:has(.ml-page)) .ml-page .hero{padding-top:0}
/* live top bar: current chapter + progress ring */
:is(#fm-ml,body:has(.ml-page)) .topbar .ml-now{display:flex;align-items:center;gap:10px;min-width:0}
:is(#fm-ml,body:has(.ml-page)) .topbar .ml-now-t{font-family:var(--f-display);font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:44vw}
:is(#fm-ml,body:has(.ml-page)) .topbar .ml-now-t.in{animation:mlNowIn .5s var(--ease)}
:is(#fm-ml,body:has(.ml-page)) .topbar .ml-now svg{flex:0 0 28px;width:28px;height:28px;transform:rotate(-90deg)}
:is(#fm-ml,body:has(.ml-page)) .topbar .ml-now circle{fill:none;stroke-width:3}
:is(#fm-ml,body:has(.ml-page)) .topbar .ml-now-bg{stroke:var(--line)}
:is(#fm-ml,body:has(.ml-page)) .topbar .ml-now-fg{stroke:var(--green);stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round;transition:stroke-dashoffset .2s linear}
:is(#fm-ml,body:has(.ml-page)) .topbar .progress{display:none}
:is(#fm-ml,body:has(.ml-page)) .topbar .brand{flex:0 0 auto;gap:10px}
:is(#fm-ml,body:has(.ml-page)) .topbar .brand .ml{white-space:nowrap}
:is(#fm-ml,body:has(.ml-page)) .topbar .ml-now-t{font-size:10.5px;letter-spacing:.09em;max-width:34vw}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-inline ~ .elementor-widget-heading{text-shadow:0 2px 16px rgba(3,17,43,.95),0 0 2px rgba(3,17,43,.6)}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-inline.ml-hero::after{height:58%}
}
@keyframes mlNowIn{from{opacity:0;transform:translateY(6px)}}
/* ==========================================================================
   With the site header and footer (Elementor "Full width" template).
   Applies only when the page also renders .elementor-location-header, so the
   Canvas version of the page is unaffected. --ml-head is the bottom edge of
   the fixed site header (admin bar included), written by market-lens-boot.js;
   the header is sized in vw, so it is measured rather than hard-coded.
   ========================================================================== */

/* Header above every Market Lens layer (mega menus included); footer above the
   fixed background canvas, vignette and section rail. */
:is(#fm-ml-hf,body:has(.ml-page)) .elementor-location-header{position:relative;z-index:30}
:is(#fm-ml-hf,body:has(.ml-page)) .elementor-location-footer{position:relative;z-index:16}

/* Morgan's top bar: the site header now carries the brand, so the bar shrinks
   to the reading-progress line, pinned under the header at every width. */
:is(#fm-ml-hf,body:has(.ml-page):has(.elementor-location-header)) .topbar,
:is(#fm-ml-hf,body:has(.ml-page):has(.elementor-location-header)).admin-bar .topbar{
  top:var(--ml-head,0px);display:block;height:3px;padding:0;gap:0;
  background:none;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}
:is(#fm-ml-hf,body:has(.ml-page):has(.elementor-location-header)) .topbar :is(.brand,.edition,.ml-now){display:none}
:is(#fm-ml-hf,body:has(.ml-page):has(.elementor-location-header)) .topbar .progress{display:block;top:0;bottom:auto;height:3px}

/* Desktop: the sticky lens fills the space under the header and stays centred. */
@media (min-width:901px){
  :is(#fm-ml-hf,body:has(.ml-page):has(.elementor-location-header)) .ml-page .stage,
  :is(#fm-ml-hf,body:has(.ml-page):has(.elementor-location-header)).admin-bar .stage{
    top:var(--ml-head,0px);height:calc(100svh - var(--ml-head,0px));padding-top:0}
  :is(#fm-ml-hf,body:has(.ml-page):has(.elementor-location-header)) .ml-page .orbit{
    width:min(46vw,calc((100svh - var(--ml-head,0px)) * .86))}
  :is(#fm-ml-hf,body:has(.ml-page):has(.elementor-location-header)) .ml-page .hero{
    min-height:calc(100svh - var(--ml-head,0px));padding-top:12vh}
}
/* Phones: no fixed bar to clear any more. */
@media (max-width:900px){
  :is(#fm-ml-hf,body:has(.ml-page):has(.elementor-location-header)) .ml-page .story{padding-top:28px}
}

/* Intro lockup: the edition label stacked above the Market Lens wordmark (Image widget). The H1 stays in the page for search and screen readers, visually
   hidden, because the wordmark already says "Market Lens". */
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-vh{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-lockup{
  display:flex;flex-direction:column;align-items:flex-start;gap:clamp(12px,1.4vw,20px);width:auto}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-logo{flex:0 0 auto;width:clamp(260px,32vw,480px);max-width:100%}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-logo img{display:block;width:100%;height:auto}
:is(#fm-ml,body:has(.ml-page)) .ml-page .ml-lockup .ml-edition{
  display:block;flex:0 0 auto;width:auto;font-family:var(--f-display);font-size:clamp(12px,1.1vw,14px);
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--green);white-space:nowrap}
