/* Environment banner — one slim, discreet notice at the very top of every page */
.env-banner{background:var(--bg-1);border-bottom:1px solid var(--border);color:var(--text-2);font-size:11.5px;text-align:center;padding:7px 16px;letter-spacing:0.2px;position:relative;z-index:1;}
.env-banner b{color:var(--text-1);font-weight:700;letter-spacing:0.4px;margin-right:7px;}

:root{
  --bg-0:#0A0D13; --bg-1:#10141D; --bg-2:#161B27; --bg-3:#1C2230;
  --border:#252C3D; --border-soft:#1D2330;
  --text-0:#EAEDF4; --text-1:#9AA3B8; --text-2:#5F6880;
  --accent:#7C6CFB; --accent-2:#A855F7; --accent-soft:rgba(124,108,251,0.12);
  --green:#0ECB81; --red:#F6465D; --amber:#F0B90B;
  --font-display:'Space Grotesk',sans-serif; --font-body:'Inter',sans-serif; --font-mono:'JetBrains Mono',monospace;
  /* Atmospheric background assets — lightweight inline SVG (financial network / world-map dots), reused across sections at different opacities */
  --worldmap: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAwIDYwMCI+PHBhdGggZD0iTTAsMCBMMTIwMCwwIE0wLDEwMCBMMTIwMCwxMDAgTTAsMjAwIEwxMjAwLDIwMCBNMCwzMDAgTDEyMDAsMzAwIE0wLDQwMCBMMTIwMCw0MDAgTTAsNTAwIEwxMjAwLDUwMCBNMCw2MDAgTDEyMDAsNjAwIE0wLDAgTDAsNjAwIE0xMDAsMCBMMTAwLDYwMCBNMjAwLDAgTDIwMCw2MDAgTTMwMCwwIEwzMDAsNjAwIE00MDAsMCBMNDAwLDYwMCBNNTAwLDAgTDUwMCw2MDAgTTYwMCwwIEw2MDAsNjAwIE03MDAsMCBMNzAwLDYwMCBNODAwLDAgTDgwMCw2MDAgTTkwMCwwIEw5MDAsNjAwIE0xMDAwLDAgTDEwMDAsNjAwIE0xMTAwLDAgTDExMDAsNjAwIE0xMjAwLDAgTDEyMDAsNjAwIiBzdHJva2U9IiM4QjVDRjYiIHN0cm9rZS13aWR0aD0iMC42IiBvcGFjaXR5PSIwLjA1IiBmaWxsPSJub25lIi8+PGcgZmlsbD0iI0E4QjNENiIgb3BhY2l0eT0iMC4xNiI+PGNpcmNsZSBjeD0iMTkwIiBjeT0iMTUxIiByPSIxLjEiLz48Y2lyY2xlIGN4PSIxOTMiIGN5PSIxOTMiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjE5MyIgY3k9IjEwMyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMjIyIiBjeT0iMTQ3IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIxODYiIGN5PSIxNjYiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjIxMyIgY3k9IjIwOSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMjQyIiBjeT0iMTY1IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIxNTkiIGN5PSIxMTgiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjIxMyIgY3k9IjIxMyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMjAzIiBjeT0iMTU1IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIyMjciIGN5PSIxMDUiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjE4MCIgY3k9IjE4MyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMjUzIiBjeT0iMTQ5IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIyMjUiIGN5PSIxNzIiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjI0MiIgY3k9IjExNSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMjI5IiBjeT0iMTA0IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIxMDkiIGN5PSIxNDQiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjE0OSIgY3k9IjE5NiIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMjM2IiBjeT0iMTEyIiByPSIxLjEiLz48Y2lyY2xlIGN4PSIyNDciIGN5PSIxMTkiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjE5NCIgY3k9IjE0NiIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMjA3IiBjeT0iMTk3IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIyNDAiIGN5PSIxNzYiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjI0MCIgY3k9IjE4MiIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMTYyIiBjeT0iMTI4IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIyMjEiIGN5PSIyNDMiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjIzNCIgY3k9IjI2OCIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMjEyIiBjeT0iMjA1IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIyNjQiIGN5PSIyNjAiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjI1OSIgY3k9IjI1MSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMjg4IiBjeT0iMjI4IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIxOTMiIGN5PSIyMTgiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjI2OSIgY3k9IjIwMSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMjQxIiBjeT0iMjM3IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIyOTEiIGN5PSI0MjMiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjMxMSIgY3k9IjQ2NSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMzE4IiBjeT0iMzQ1IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIyODQiIGN5PSIzMzMiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjMyNiIgY3k9IjM0OSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMjk4IiBjeT0iNDI1IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIyNzkiIGN5PSIzNjMiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjI2MyIgY3k9IjMzNyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMjgzIiBjeT0iNDA1IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIzMzIiIGN5PSIzNzkiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjMwOCIgY3k9IjM5MSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMzI4IiBjeT0iNDI1IiByPSIxLjEiLz48Y2lyY2xlIGN4PSIzMDgiIGN5PSIzMjQiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjMyNiIgY3k9IjQwMiIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iMzMzIiBjeT0iMzc4IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI2MTAiIGN5PSIxMzMiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjYwNyIgY3k9IjE0MiIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNTQzIiBjeT0iMTEzIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI1NTUiIGN5PSIxNzIiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjU4OCIgY3k9IjE1NyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNTA5IiBjeT0iMTUxIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI1ODAiIGN5PSIxMjYiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjUzNyIgY3k9IjE0MCIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNjMyIiBjeT0iMjQ2IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI1NjQiIGN5PSIzODQiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjU2MCIgY3k9IjI3MyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNTg0IiBjeT0iMjE5IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI1ODgiIGN5PSIyMjEiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjYxNyIgY3k9IjMwMCIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNjQyIiBjeT0iMzEzIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI2MjMiIGN5PSIyMzEiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjU3NCIgY3k9IjMyNSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNjI2IiBjeT0iMjI2IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI2MTkiIGN5PSIzMzkiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjYzMSIgY3k9IjM0MCIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNTgyIiBjeT0iMjYxIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI1MzIiIGN5PSIzMTMiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjU3NCIgY3k9IjQwMiIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNTU0IiBjeT0iMzI0IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI1MjYiIGN5PSIyNzciIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjU5MSIgY3k9IjM1OSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNjMyIiBjeT0iMjk3IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI1MzciIGN5PSIzMzAiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjYwMiIgY3k9IjMzNiIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNTU0IiBjeT0iMzcyIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI1ODQiIGN5PSIzNTEiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjYyNyIgY3k9IjMzOCIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNTg4IiBjeT0iNDA0IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI1OTEiIGN5PSIyNzciIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjU4NCIgY3k9IjM5MCIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNjY0IiBjeT0iMjIyIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI2OTgiIGN5PSIyMDAiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjYxMiIgY3k9IjIxNSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNjY4IiBjeT0iMTk2IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI2OTAiIGN5PSIyMjMiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjYyNyIgY3k9IjIyMSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNjU0IiBjeT0iMTgyIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI4NDEiIGN5PSIxNTgiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjczOCIgY3k9IjE4MyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iODQyIiBjeT0iMTMzIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI4MzIiIGN5PSIyMDQiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjczOSIgY3k9IjE3NyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iODAwIiBjeT0iMjI3IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI2ODciIGN5PSIxODMiIHI9IjEuMSIvPjxjaXJjbGUgY3g9Ijc3MiIgY3k9IjE1NSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iOTE5IiBjeT0iMTYwIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI5MjMiIGN5PSIxNDciIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjgzMSIgY3k9IjEzNyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNzQwIiBjeT0iMTYzIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI3NzQiIGN5PSIxNzAiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjcwNyIgY3k9IjIwOCIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNzg5IiBjeT0iMjIyIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI3MTkiIGN5PSIxNzMiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjkyNSIgY3k9IjE0MSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNjk3IiBjeT0iMTQwIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI4NDAiIGN5PSIxOTIiIHI9IjEuMSIvPjxjaXJjbGUgY3g9Ijg5NyIgY3k9IjE1MCIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNjkxIiBjeT0iMTQ0IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI4OTMiIGN5PSIxNzkiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjY4MCIgY3k9IjE1OSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iODcwIiBjeT0iMjE3IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI4NDkiIGN5PSIxNzUiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjcxMiIgY3k9IjEyOCIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iODA0IiBjeT0iMTg0IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI4NTAiIGN5PSIxMzgiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjcxNSIgY3k9IjEyOSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNzEzIiBjeT0iMTg2IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI2NzYiIGN5PSIxNTAiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjgzMSIgY3k9IjIxNyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iODA2IiBjeT0iMjA0IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI3NjYiIGN5PSIxMjYiIHI9IjEuMSIvPjxjaXJjbGUgY3g9Ijc1NCIgY3k9IjIxNiIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iOTA1IiBjeT0iMjU4IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI5NDAiIGN5PSIyMzkiIHI9IjEuMSIvPjxjaXJjbGUgY3g9Ijg4NyIgY3k9IjI1MiIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iODQyIiBjeT0iMjk4IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI5MTIiIGN5PSIyMDIiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjgyNiIgY3k9IjI1NyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iODg4IiBjeT0iMTk2IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI3ODIiIGN5PSIyMDIiIHI9IjEuMSIvPjxjaXJjbGUgY3g9Ijg0NSIgY3k9IjIzNiIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iODcwIiBjeT0iMjEwIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI4MDUiIGN5PSIxOTAiIHI9IjEuMSIvPjxjaXJjbGUgY3g9Ijg3MCIgY3k9IjI1NSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iOTAyIiBjeT0iMjY4IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI4NDAiIGN5PSIyODYiIHI9IjEuMSIvPjxjaXJjbGUgY3g9Ijg0MiIgY3k9IjIxMyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iODE5IiBjeT0iMjE3IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI3NjUiIGN5PSIyNDQiIHI9IjEuMSIvPjxjaXJjbGUgY3g9Ijg2NiIgY3k9IjIyNSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iODA4IiBjeT0iMjU1IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI5MjkiIGN5PSIyNDEiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjcyMyIgY3k9IjI0MyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNzM4IiBjeT0iMjI3IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI3MzYiIGN5PSIyNjIiIHI9IjEuMSIvPjxjaXJjbGUgY3g9Ijc4MiIgY3k9IjI3OSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNzcwIiBjeT0iMjQxIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI3NTkiIGN5PSIyMzAiIHI9IjEuMSIvPjxjaXJjbGUgY3g9Ijc1MSIgY3k9IjI3MyIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNzIzIiBjeT0iMzAwIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI5NjYiIGN5PSIzNjkiIHI9IjEuMSIvPjxjaXJjbGUgY3g9Ijk3MiIgY3k9IjM5MCIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iOTUwIiBjeT0iNDExIiByPSIxLjEiLz48Y2lyY2xlIGN4PSI5NjEiIGN5PSIzNjgiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjkxMSIgY3k9IjQxNSIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iOTgzIiBjeT0iNDI4IiByPSIxLjEiLz48Y2lyY2xlIGN4PSI5ODkiIGN5PSIzNzQiIHI9IjEuMSIvPjxjaXJjbGUgY3g9Ijk3MSIgY3k9IjM3MCIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNTY2IiBjeT0iOTgiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjUzMyIgY3k9IjExNiIgcj0iMS4xIi8+PGNpcmNsZSBjeD0iNTUyIiBjeT0iNzMiIHI9IjEuMSIvPjxjaXJjbGUgY3g9IjU1MCIgY3k9IjgzIiByPSIxLjEiLz48L2c+PGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQTg1NUY3IiBzdHJva2Utd2lkdGg9IjAuOSIgb3BhY2l0eT0iMC4xNiI+PHBhdGggZD0iTTIzMCwxOTAgUTM5OCwyMTcgNTQ1LDEzMCIvPjxwYXRoIGQ9Ik01NDUsMTMwIFE1NTIsMTQxIDU2NSwxNDUiLz48cGF0aCBkPSJNNTY1LDE0NSBRNjA3LDIwOCA2ODAsMjMwIi8+PHBhdGggZD0iTTY4MCwyMzAgUTcyMiwyODUgNzkwLDMwMCIvPjxwYXRoIGQ9Ik03OTAsMzAwIFE4OTUsMjc2IDk2MCwxOTAiLz48cGF0aCBkPSJNNzkwLDMwMCBRODY4LDM5MCA5ODUsNDEwIi8+PHBhdGggZD0iTTIzMCwxOTAgUTQ5MCwzNDYgNzkwLDMwMCIvPjwvZz48ZyBmaWxsPSIjQTg1NUY3Ij48Y2lyY2xlIGN4PSIyMzAiIGN5PSIxOTAiIHI9IjciIG9wYWNpdHk9IjAuMDYiLz48Y2lyY2xlIGN4PSIyMzAiIGN5PSIxOTAiIHI9IjIuMiIgb3BhY2l0eT0iMC4yMiIvPjxjaXJjbGUgY3g9IjU0NSIgY3k9IjEzMCIgcj0iNyIgb3BhY2l0eT0iMC4wNiIvPjxjaXJjbGUgY3g9IjU0NSIgY3k9IjEzMCIgcj0iMi4yIiBvcGFjaXR5PSIwLjIyIi8+PGNpcmNsZSBjeD0iNTY1IiBjeT0iMTQ1IiByPSI3IiBvcGFjaXR5PSIwLjA2Ii8+PGNpcmNsZSBjeD0iNTY1IiBjeT0iMTQ1IiByPSIyLjIiIG9wYWNpdHk9IjAuMjIiLz48Y2lyY2xlIGN4PSI2ODAiIGN5PSIyMzAiIHI9IjciIG9wYWNpdHk9IjAuMDYiLz48Y2lyY2xlIGN4PSI2ODAiIGN5PSIyMzAiIHI9IjIuMiIgb3BhY2l0eT0iMC4yMiIvPjxjaXJjbGUgY3g9Ijc5MCIgY3k9IjMwMCIgcj0iNyIgb3BhY2l0eT0iMC4wNiIvPjxjaXJjbGUgY3g9Ijc5MCIgY3k9IjMwMCIgcj0iMi4yIiBvcGFjaXR5PSIwLjIyIi8+PGNpcmNsZSBjeD0iOTYwIiBjeT0iMTkwIiByPSI3IiBvcGFjaXR5PSIwLjA2Ii8+PGNpcmNsZSBjeD0iOTYwIiBjeT0iMTkwIiByPSIyLjIiIG9wYWNpdHk9IjAuMjIiLz48Y2lyY2xlIGN4PSI5ODUiIGN5PSI0MTAiIHI9IjciIG9wYWNpdHk9IjAuMDYiLz48Y2lyY2xlIGN4PSI5ODUiIGN5PSI0MTAiIHI9IjIuMiIgb3BhY2l0eT0iMC4yMiIvPjwvZz48L3N2Zz4=");
  --chartlines: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgMTQwIj48cGF0aCBkPSJNMCw4OCBMMjcsODMgTDUzLDg2IEw4MCw4MCBMMTA3LDgyIEwxMzMsODAgTDE2MCw3NCBMMTg3LDc1IEwyMTMsNjkgTDI0MCw2OCBMMjY3LDYyIEwyOTMsNTcgTDMyMCw1NiBMMzQ3LDYyIEwzNzMsNTcgTDQwMCw1MyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNEY0NkU1IiBzdHJva2Utd2lkdGg9IjEiIG9wYWNpdHk9IjAuMDciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMCw1MiBMMzYsNTkgTDczLDYxIEwxMDksNjAgTDE0NSw2OCBMMTgyLDYyIEwyMTgsNjggTDI1NSw2NSBMMjkxLDYxIEwzMjcsNTYgTDM2NCw1NCBMNDAwLDU5IiBmaWxsPSJub25lIiBzdHJva2U9IiM4QjVDRjYiIHN0cm9rZS13aWR0aD0iMSIgb3BhY2l0eT0iMC4wNyIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxjaXJjbGUgY3g9IjgwIiBjeT0iODAiIHI9IjEuNiIgZmlsbD0iI0E4NTVGNyIgb3BhY2l0eT0iMC4xMCIvPjxjaXJjbGUgY3g9IjI0MCIgY3k9IjY4IiByPSIxLjYiIGZpbGw9IiNBODU1RjciIG9wYWNpdHk9IjAuMTAiLz48Y2lyY2xlIGN4PSIxODIiIGN5PSI2MiIgcj0iMS42IiBmaWxsPSIjQTg1NUY3IiBvcGFjaXR5PSIwLjEwIi8+PC9zdmc+");
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;overflow-x:hidden;}
body{background:var(--bg-0);color:var(--text-0);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased;max-width:100%;position:relative;}
/* Globe photo lives here (not scoped to .hero) so it extends up behind the nav bar
   too — nav's own translucent+blurred background lets it show through, so the
   background reads as one continuous image instead of stopping at a hard seam
   right below the nav. Height is generous enough to cover nav+hero on any normal
   viewport; anything below that is already covered by the hero's own dark scrim. */
/* Globe photo is scoped to the homepage only (body.has-photo-bg) — index.html's
   hero is tall/spacious enough for it, but other pages have short headers with
   dense body copy right below, which had no protection against the bright photo
   bleeding into it. Other pages keep the calmer .section/.stats-bar/.site-footer
   network-SVG atmosphere further down, just not this bright top-of-page photo. */
body.has-photo-bg::before{content:"";position:absolute;top:0;left:0;right:0;height:1050px;background-image:url("/assets/hero-globe.jpg");background-repeat:no-repeat;background-position:70% 25%;background-size:2600px auto;opacity:0.65;pointer-events:none;z-index:0;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-0.01em;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;position:relative;z-index:1;}

/* Nav */
.site-nav{display:flex;align-items:center;gap:28px;height:72px;position:sticky;top:0;background:rgba(8,10,18,0.62);backdrop-filter:blur(14px);z-index:100;}
.site-nav .container{display:flex;align-items:center;gap:28px;width:100%;}
.brand-logo{height:26px;width:auto;flex-shrink:0;}
.nav-links{display:flex;gap:6px;flex:1;}
.nav-links a{padding:9px 14px;border-radius:7px;color:var(--text-1);font-weight:500;font-size:14.5px;transition:.15s;}
.nav-links a:hover,.nav-links a.active{color:var(--text-0);background:var(--bg-3);}
.nav-cta{display:flex;gap:10px;align-items:center;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:9px;font-weight:600;font-size:14px;border:none;transition:.15s;}
.btn-primary{background:linear-gradient(135deg,var(--accent-2),var(--accent));color:#fff;box-shadow:0 4px 16px rgba(124,108,251,0.35);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(124,108,251,0.45);}
.btn-ghost{background:var(--bg-3);color:var(--text-0);border:1px solid var(--border);}
.btn-ghost:hover{background:var(--bg-2);}
.btn-outline{background:transparent;color:var(--text-1);border:1px solid var(--border);}
.btn-outline:hover{color:var(--text-0);border-color:var(--text-2);}
.btn-block{width:100%;}
.btn-lg{padding:14px 26px;font-size:15px;}

/* Hero */
.hero{padding:90px 0 70px;text-align:center;position:relative;overflow:hidden;}
/* Dark scrim + brand-purple accent glow on top of the shared body::before photo,
   for text legibility. The photo itself now lives on body::before so it extends
   continuously up behind the nav bar instead of stopping at hero's own top edge. */
.hero::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:
    radial-gradient(ellipse 640px 460px at 50% 40%, rgba(8,10,18,0.7), transparent 70%),
    linear-gradient(180deg, rgba(8,10,18,0.32) 0%, rgba(8,10,18,0.55) 32%, rgba(8,10,18,0.88) 76%, rgba(8,10,18,0.97) 100%),
    radial-gradient(circle at 82% 8%, rgba(139,92,246,0.18), transparent 50%);
  pointer-events:none;z-index:0;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:20px;background:var(--bg-2);border:1px solid var(--border);color:var(--text-1);font-size:12.5px;font-weight:600;margin-bottom:24px;}
.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--green);}
.hero h1{font-size:52px;font-weight:700;max-width:820px;margin:0 auto 20px;position:relative;}
.hero h1 span{background:linear-gradient(135deg,var(--accent-2),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero p{font-size:18px;color:var(--text-1);max-width:560px;margin:0 auto 34px;position:relative;}
.hero-actions{display:flex;gap:14px;justify-content:center;position:relative;}
.hero-disclaimer{margin-top:26px;font-size:12px;color:var(--text-2);max-width:620px;margin-left:auto;margin-right:auto;position:relative;}

/* Stats bar */
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border-soft);border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;overflow:hidden;}
.stats-bar::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:var(--worldmap);background-repeat:no-repeat;background-position:center 20%;background-size:1300px auto;opacity:0.4;pointer-events:none;z-index:0;}
.stat-cell{background:rgba(16,20,29,0.92);padding:26px 20px;text-align:center;position:relative;z-index:1;}
.stat-cell .num{font-family:var(--font-mono);font-size:26px;font-weight:700;color:var(--text-0);}
.stat-cell .lbl{font-size:12.5px;color:var(--text-2);margin-top:4px;}

/* Sections */
.section{padding:80px 0;position:relative;overflow:hidden;}
.section::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:var(--worldmap);background-repeat:no-repeat;background-position:center -10%;background-size:1300px auto;opacity:0.35;pointer-events:none;z-index:0;}
.section::after{content:"";position:absolute;left:50%;bottom:8%;transform:translateX(-50%);width:90%;max-width:900px;height:180px;background-image:var(--chartlines);background-repeat:no-repeat;background-position:center;background-size:cover;opacity:0.6;pointer-events:none;z-index:0;}
.section-head{text-align:center;max-width:640px;margin:0 auto 48px;}
.section-head .eyebrow{color:var(--accent-2);font-weight:700;font-size:12.5px;letter-spacing:0.6px;text-transform:uppercase;margin-bottom:10px;}
.section-head h2{font-size:34px;margin-bottom:12px;}
.section-head p{color:var(--text-1);font-size:15.5px;}

/* Feature grid */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border-soft);border:1px solid var(--border);border-radius:14px;overflow:hidden;}
.feature-card{background:var(--bg-1);padding:28px 26px;}
.feature-card .icon{width:42px;height:42px;border-radius:10px;background:var(--accent-soft);color:var(--accent-2);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.feature-card h3{font-size:16.5px;margin-bottom:8px;}
.feature-card p{color:var(--text-1);font-size:13.5px;}

/* Instruments table */
.instr-table{width:100%;border-collapse:collapse;background:var(--bg-1);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.instr-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:0.4px;color:var(--text-2);padding:12px 18px;border-bottom:1px solid var(--border);}
.instr-table td{padding:14px 18px;border-bottom:1px solid var(--border-soft);font-size:13.5px;}
.instr-table tr:last-child td{border-bottom:none;}
.instr-table .sym{font-weight:600;font-family:var(--font-mono);}
.cat-pill{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--bg-3);color:var(--text-1);text-transform:uppercase;}

/* Trust badges */
.trust-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.trust-badge{display:flex;align-items:center;gap:10px;background:var(--bg-1);border:1px solid var(--border);border-radius:10px;padding:14px 20px;font-size:13px;color:var(--text-1);}
.trust-badge b{color:var(--text-0);}
.fiction-banner{background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:18px 22px;font-size:13px;color:var(--text-1);max-width:820px;margin:36px auto 0;text-align:center;}
.fiction-banner b{color:var(--amber);}

/* Footer */
.site-footer{border-top:1px solid var(--border);padding:50px 0 30px;margin-top:40px;position:relative;overflow:hidden;}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:var(--worldmap);background-repeat:no-repeat;background-position:center -60%;background-size:1300px auto;opacity:0.12;pointer-events:none;z-index:0;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px;}
.footer-col h4{font-size:12.5px;text-transform:uppercase;letter-spacing:0.4px;color:var(--text-2);margin-bottom:14px;}
.footer-col a{display:block;color:var(--text-1);font-size:13.5px;padding:5px 0;}
.footer-col a:hover{color:var(--text-0);}
.footer-bottom{border-top:1px solid var(--border-soft);padding-top:22px;display:flex;justify-content:space-between;align-items:center;color:var(--text-2);font-size:12.5px;flex-wrap:wrap;gap:10px;}

/* Auth pages */
.auth-wrap{min-height:calc(100vh - 72px);display:flex;align-items:center;justify-content:center;padding:40px 20px;position:relative;z-index:1;}
.auth-card{width:100%;max-width:420px;background:var(--bg-1);border:1px solid var(--border);border-radius:16px;padding:36px;}
.auth-card .logo-mark{width:40px;height:40px;margin-bottom:20px;}
.auth-card h1{font-size:24px;margin-bottom:6px;}
.auth-card .sub{color:var(--text-1);font-size:13.5px;margin-bottom:26px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:12.5px;color:var(--text-1);margin-bottom:7px;font-weight:600;}
.field input,.field select{width:100%;padding:11px 13px;border-radius:8px;background:var(--bg-2);border:1px solid var(--border);color:var(--text-0);font-size:14px;font-family:inherit;}
.field input:focus,.field select:focus{outline:none;border-color:var(--accent);}
.form-error{background:rgba(246,70,93,0.1);border:1px solid rgba(246,70,93,0.3);color:#ff8fa0;padding:10px 13px;border-radius:8px;font-size:13px;margin-bottom:16px;display:none;}
.form-success{background:rgba(14,203,129,0.1);border:1px solid rgba(14,203,129,0.3);color:#5eeab3;padding:10px 13px;border-radius:8px;font-size:13px;margin-bottom:16px;display:none;}
.auth-switch{text-align:center;margin-top:20px;font-size:13.5px;color:var(--text-1);}
.auth-switch a{color:var(--accent-2);font-weight:600;}

/* Wallet page */
.wallet-title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:8px;}
.wallet-title{font-size:26px;min-width:0;}
.wallet-badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:6px;vertical-align:middle;margin-left:8px;white-space:nowrap;}
.wallet-desc{color:var(--text-2);font-size:12px;margin-bottom:24px;width:100%;max-width:100%;overflow-wrap:break-word;}
.wallet-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;width:100%;max-width:100%;}
.card{background:var(--bg-1);border:1px solid var(--border);border-radius:14px;padding:clamp(16px,4vw,24px);width:100%;max-width:100%;box-sizing:border-box;min-width:0;}
.card h3{font-size:15px;margin-bottom:16px;}
.balance-display{font-family:var(--font-mono);font-size:34px;font-weight:700;margin-bottom:4px;word-break:break-word;}
.balance-sub{color:var(--text-1);font-size:13px;margin-bottom:22px;overflow-wrap:break-word;}
.tab-row{display:flex;gap:4px;background:var(--bg-2);border-radius:9px;padding:4px;margin-bottom:20px;width:100%;max-width:100%;}
.tab-btn{flex:1;padding:9px;border:none;background:transparent;color:var(--text-1);border-radius:6px;font-weight:600;font-size:13px;min-width:0;}
.tab-btn.active{background:var(--bg-3);color:var(--text-0);}
.method-row{display:flex;gap:8px;margin-bottom:16px;width:100%;max-width:100%;}
.method-chip{flex:1;padding:10px;border:1px solid var(--border);border-radius:8px;text-align:center;font-size:12.5px;color:var(--text-1);background:var(--bg-2);cursor:pointer;min-width:0;overflow-wrap:break-word;}
.method-chip.active{border-color:var(--accent);color:var(--text-0);background:var(--accent-soft);}
.ledger-table{width:100%;border-collapse:collapse;}
.ledger-table th{text-align:left;font-size:11px;text-transform:uppercase;color:var(--text-2);padding:8px 10px;border-bottom:1px solid var(--border);}
.ledger-table td{padding:10px;font-size:13px;border-bottom:1px solid var(--border-soft);}
.status-chip{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px;text-transform:uppercase;}
.status-completed{background:rgba(14,203,129,0.12);color:var(--green);}
.status-pending{background:rgba(240,185,11,0.12);color:var(--amber);}
.status-rejected{background:rgba(246,70,93,0.12);color:var(--red);}

/* Mobile nav toggle (hidden on desktop) */
.nav-toggle{display:none;background:none;border:none;color:var(--text-0);font-size:22px;cursor:pointer;padding:6px 8px;margin-left:auto;}
/* Desktop: behaves like the old flat layout — nav-links and nav-cta side by side */
.nav-mobile-panel{display:flex;align-items:center;flex:1;gap:16px;}

@media(max-width:900px){
  .hero h1{font-size:32px;}
  .hero p{font-size:15.5px;}
  .feature-grid,.stats-bar{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:24px;}
  .wallet-grid{grid-template-columns:1fr;}
  .container{padding:0 16px;}
  .section{padding:56px 0;}
  .section-head h2{font-size:26px;}
  .instr-table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;}
  .ledger-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .trust-row{gap:10px;}
  .hero-actions{flex-direction:column;gap:10px;}
  .hero-actions .btn{width:100%;}

  /* Atmosphere: on mobile the globe should still read clearly (per reference),
     just with enough scrim near the CTA buttons to stay legible/tappable. */
  body.has-photo-bg::before{background-position:75% 22%;opacity:0.8;height:900px;background-size:2600px auto;}
  .hero::before{background:
      radial-gradient(ellipse 420px 320px at 50% 30%, rgba(8,10,18,0.5), transparent 72%),
      linear-gradient(180deg, rgba(8,10,18,0.18) 0%, rgba(8,10,18,0.32) 26%, rgba(8,10,18,0.85) 68%, rgba(8,10,18,0.97) 100%),
      radial-gradient(circle at 85% 6%, rgba(139,92,246,0.16), transparent 50%);}
  .section::before{background-size:900px auto;opacity:0.22;}
  .section::after{opacity:0.4;height:120px;}
  .stats-bar::before{background-size:900px auto;opacity:0.22;}
  .site-footer::before{opacity:0.08;}

  .nav-toggle{display:block;}
  /* Both nav-links AND nav-cta (Dashboard/Wallet/.../Logout when signed in) live inside
     this one panel now, so the hamburger reliably controls everything — previously nav-cta
     was untouched and just overflowed horizontally off-screen when signed in. */
  .nav-mobile-panel{display:none;}
  .nav-mobile-panel.mobile-open{
    display:flex !important;flex-direction:column;align-items:stretch;gap:4px;
    position:absolute;top:72px;left:0;right:0;background:var(--bg-1);
    border-bottom:1px solid var(--border);padding:10px 16px;z-index:200;
    box-shadow:0 8px 24px rgba(0,0,0,0.4);max-height:calc(100vh - 72px);overflow-y:auto;
  }
  .nav-mobile-panel.mobile-open .nav-links,
  .nav-mobile-panel.mobile-open .nav-cta{
    display:flex;flex-direction:column;gap:2px;width:100%;flex:none;
  }
  .nav-mobile-panel.mobile-open a,
  .nav-mobile-panel.mobile-open button{
    width:100%;text-align:left;justify-content:flex-start;padding:12px 10px;
  }
}

@media(max-width:600px){
  .hero{padding:56px 0 40px;}
  .hero h1{font-size:26px;}
  .hero-badge{font-size:11.5px;padding:6px 12px;}
  .footer-grid{grid-template-columns:1fr;gap:28px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;}
  .auth-card{padding:24px 20px;}
  .site-nav{height:64px;}
  .nav-mobile-panel.mobile-open{top:64px;}
  .brand-logo{height:18px !important;}
  .card{padding:18px;}
  .balance-display{font-size:28px;}
  .method-row{flex-direction:column;}
  .tab-row{flex-direction:column;}
  .wallet-grid .card h3{font-size:14px;}
  .wallet-title{font-size:21px;}
  .wallet-badge{font-size:10.5px;padding:3px 8px;}
  .btn-lg{padding:12px 20px;font-size:14px;}
  table th,table td{font-size:12px;}
}

/* Ensure all tap targets meet a comfortable minimum on touch devices */
@media(hover:none) and (pointer:coarse){
  .btn, .method-chip, .tab-btn, button{min-height:40px;}
}
