/*
 * DEV-02 / RD1b-1 (D-053, D-055; the approved design) — the home page. Every rule is under .fx-home (the page's own
 * wrapper inside the site frame, fx-shell.css). Desktop as the design's Main, phones (<= 760px) as its Mobile.
 */
.fx-home { background: #FAFAF7; color: #15171A; line-height: 1.5; }
.fx-home [hidden] { display: none !important; }
.fx-home section { padding: 0; background: transparent; color: inherit; overflow: visible; }
/* The layout sets * { font-family: IBM Plex Sans Arabic !important }; the design's display font needs !important too. */
.fx-home h1, .fx-home h2, .fx-home h3 { margin: 0; color: inherit; font-family: var(--fx-display) !important; font-weight: 700; }
/* The layout sets h1–h6 { color: var(--heading-color) !important } (the colour tool); the home page keeps the design's
   colours (D-055 Q-RD1B-9), so its headings need !important too: dark on the light sections, white on the black ones
   (MLM, "Why Forex AI"). Was (Ahmad's staging test, 27/10): the black sections' headings came out dark. */
.fx-home .fxh-hero-title, .fx-home .fxh-sec-title, .fx-home .fxh-sec-card-t { color: #15171A !important; }
.fx-home .fxh-mlm .fxh-mlm-title, .fx-home .fxh-white, .fx-home .fxh-why-t { color: #FFFFFF !important; }
.fx-home p, .fx-home figure, .fx-home blockquote { margin: 0; }
.fx-home a { color: #1E7A34; text-decoration: none; }
.fx-home a:hover { color: #15592A; }
.fx-home button { font-family: var(--fx-font); }
.fx-home img { max-width: 100%; }
.fx-home .fxh-wrap { max-width: 1240px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.fx-home .fxh-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.fx-home .fxh-ltr { direction: ltr; unicode-bidi: isolate; }
.fx-home .fxh-col1 { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.fx-home .fxh-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.fx-home .fxh-fill { display: block; width: 100%; height: 100%; }
.fx-home .fxh-panel { background: #171A1F; border: 1px solid #262A31; border-radius: 12px; }

/* ---- Buttons and links ---- */
.fx-home .fxh-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 10px; border: 1px solid transparent; font: 600 15px var(--fx-font); cursor: pointer; text-align: center; }
.fx-home .fxh-btn-dark { background: #15171A; color: #FFFFFF; }
.fx-home .fxh-btn-dark:hover { background: #2B2E33; color: #FFFFFF; }
.fx-home .fxh-btn-light { background: #FFFFFF; color: #15171A; border-color: #D9D9D3; }
.fx-home .fxh-btn-light:hover { border-color: #15171A; color: #15171A; }
.fx-home .fxh-btn-red { background: #C62828; color: #FFFFFF; }
.fx-home .fxh-btn-red:hover { background: #A82020; color: #FFFFFF; }
.fx-home .fxh-btn-plain { background: #FFFFFF; color: #2B2E33; }
.fx-home .fxh-btn-plain:hover { color: #1E7A34; }
.fx-home .fxh-btn-mint { background: #9BE0AC; color: #0F3D1B; }
.fx-home .fxh-btn-mint:hover { background: #B4EAC1; color: #0F3D1B; }
.fx-home .fxh-btn-ghost { background: transparent; color: #FFFFFF; border-color: #3A3F48; }
.fx-home .fxh-btn-ghost:hover { border-color: #FFFFFF; color: #FFFFFF; }
.fx-home .fxh-card-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 15px; color: #15171A; }
.fx-home .fxh-card-link:hover { color: #1E7A34; }
.fx-home .fxh-push { margin-top: auto; }
html[dir="ltr"] .fx-home .fxh-arrow { transform: scaleX(-1); }

/* ---- Hero ---- */
.fx-home .fxh-hero { padding: 72px 0 56px; }
.fx-home .fxh-hero-in { display: flex; flex-wrap: wrap; align-items: center; gap: 48px; }
.fx-home .fxh-hero-text { flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 22px; }
.fx-home .fxh-pill { align-self: flex-start; font-size: 13px; font-weight: 600; color: #1E7A34; background: #EAF4EC; border-radius: 999px; padding: 6px 12px; }
.fx-home .fxh-hero-title { font-weight: 700; font-size: 50px; line-height: 1.25; letter-spacing: -0.5px; color: #15171A; }
.fx-home .fxh-hero-lead { font-size: 18px; line-height: 1.8; color: #4E545B; max-width: 560px; }
.fx-home .fxh-hero-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.fx-home .fxh-hero-checks { display: flex; flex-wrap: wrap; gap: 18px; font-size: 14px; color: #4E545B; }
.fx-home .fxh-hero-checks span { display: inline-flex; align-items: center; gap: 6px; }
.fx-home .fxh-hero-card { flex: 1 1 460px; min-width: 0; display: flex; justify-content: center; }

/* ---- The rotating card ---- */
.fx-home .fxh-card-wrap { position: relative; width: 100%; max-width: 540px; padding-top: 22px; }
.fx-home .fxh-badges { position: absolute; top: 0; inset-inline-start: 22px; z-index: 3; }
.fx-home .fxh-badge { display: flex; align-items: center; gap: 10px; background: #FFFFFF; border-radius: 14px; padding: 8px; padding-inline-start: 14px; box-shadow: 0 14px 30px rgba(0, 0, 0, .25); }
.fx-home .fxh-badge img { width: 36px; height: 36px; object-fit: contain; border-radius: 8px; }
.fx-home .fxh-badge-txt { display: flex; flex-direction: column; gap: 1px; }
.fx-home .fxh-badge-t { font-size: 13px; font-weight: 700; color: #15171A; }
.fx-home .fxh-badge-s { font-size: 11px; color: #5B6168; }
.fx-home .fxh-card { background: #101215; border: 1px solid #23272E; border-radius: 22px; padding: 34px 22px 22px; box-shadow: 0 30px 60px rgba(16, 18, 21, .28); display: flex; flex-direction: column; gap: 16px; color: #F2F2EE; overflow: hidden; }
.fx-home .fxh-card-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; }
.fx-home .fxh-card-main { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.fx-home .fxh-card-label { font-size: 13px; color: #9AA0A8; }
.fx-home .fxh-card-num { align-self: flex-start; font-family: var(--fx-display) !important; font-weight: 700; font-size: 44px; line-height: 1; color: #FFFFFF; direction: ltr; unicode-bidi: isolate; font-variant-numeric: tabular-nums; }
.fx-home .fxh-card-side { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.fx-home .fxh-auto { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: #9AA0A8; }
.fx-home .fxh-dot { width: 7px; height: 7px; border-radius: 999px; background: #3FBF63; display: inline-block; }
.fx-home .fxh-dot-teal { background: #26A69A; }
.fx-home .fxh-source { font-size: 12px; font-weight: 600; border-radius: 999px; padding: 5px 10px; }
.fx-home .fxh-tone-copy { color: #6FD38A; background: rgba(63, 191, 99, .14); }
.fx-home .fxh-tone-courses { color: #F07B7E; background: rgba(229, 72, 77, .14); }
.fx-home .fxh-tone-bot, .fx-home .fxh-tone-ind { color: #F4A57E; background: rgba(240, 122, 69, .14); }
.fx-home .fxh-tone-tools, .fx-home .fxh-tone-site { color: #E9E9E4; background: rgba(233, 233, 228, .10); }
.fx-home .fxh-stage { position: relative; height: 236px; }
.fx-home .fxh-sw { position: absolute; inset: 0; }
.fx-home .fxh-sw.fxh-in { z-index: 2; }
.fx-home .fxh-sw.fxh-out { z-index: 1; pointer-events: none; }
.fx-home .fxh-scene { height: 100%; }

/* copy */
.fx-home .fxh-copy { display: flex; align-items: center; gap: 10px; }
.fx-home .fxh-master { flex: 0 0 44%; min-width: 0; background: linear-gradient(160deg, #1C2A21, #15191D); border: 1px solid #27412F; border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 8px; color: #FFFFFF; }
.fx-home .fxh-master-t { font-size: 12px; font-weight: 600; }
.fx-home .fxh-master-tag { font-size: 10px; font-weight: 700; letter-spacing: .6px; color: #0F3D1B; background: #9BE0AC; border-radius: 4px; padding: 2px 6px; direction: ltr; }
.fx-home .fxh-master-sub { font-size: 11px; color: #A9ADB3; }
.fx-home .fxh-master-nums { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; direction: ltr; flex-wrap: wrap; }
.fx-home .fxh-master-bal { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.fx-home .fxh-gain { display: inline-flex; align-items: center; gap: 3px; font-size: 12px; font-weight: 700; color: #6FD38A; background: rgba(63, 191, 99, .14); border-radius: 999px; padding: 2px 7px; }
.fx-home .fxh-gain-neg { color: #F07B7E; background: rgba(229, 72, 77, .14); }
.fx-home .fxh-spark { display: block; width: 100%; height: 36px; }
.fx-home .fxh-master-na { font-size: 12px; line-height: 1.6; color: #C9C9C3; }
.fx-home .fxh-master-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px; font-size: 10px; color: #8B9097; }
.fx-home .fxh-mfx { color: #9BE0AC; direction: ltr; display: inline-flex; align-items: center; }
.fx-home .fxh-mfx:hover { color: #FFFFFF; }
.fx-home .fxh-flow { width: 30px; height: 150px; flex: 0 0 30px; }
html[dir="ltr"] .fx-home .fxh-flow { transform: scaleX(-1); }
.fx-home .fxh-followers { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.fx-home .fxh-follower { background: #171A1F; border: 1px solid #262A31; border-radius: 12px; padding: 8px 10px; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.fx-home .fxh-follower-t { font-size: 12px; font-weight: 600; color: #F2F2EE; }
.fx-home .fxh-follower-s { font-size: 11px; color: #9AA0A8; }
.fx-home .fxh-on { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; color: #6FD38A; }

/* charts (the second phase of each category) */
.fx-home .fxh-chart { position: relative; background: #171A1F; border: 1px solid #262A31; border-radius: 12px; padding: 10px; display: flex; flex-direction: column; gap: 6px; }
.fx-home .fxh-legend { display: flex; flex-wrap: wrap; gap: 14px; font-size: 11px; color: #9AA0A8; }
.fx-home .fxh-legend > span { display: inline-flex; align-items: center; gap: 5px; }
.fx-home .fxh-key { width: 10px; height: 3px; border-radius: 2px; display: inline-block; }
.fx-home .fxh-key-green { background: #3FBF63; }
.fx-home .fxh-key-red { background: #E5484D; }
.fx-home .fxh-key-orange { background: #F07A45; }
.fx-home .fxh-key-buy { background: #2E9E52; }
.fx-home .fxh-key-sell { background: #C83A3E; }
.fx-home .fxh-key-light { background: #E9E9E4; }
.fx-home .fxh-chart-svg { display: block; width: 100%; flex: 1 1 auto; min-height: 0; }
.fx-home .fxh-illus { position: absolute; bottom: 8px; inset-inline-end: 10px; font-size: 11px; color: #9AA0A8; background: rgba(16, 18, 21, .85); border-radius: 6px; padding: 2px 7px; }

/* courses */
.fx-home .fxh-courses { display: flex; gap: 10px; }
.fx-home .fxh-course-main { flex: 1 1 55%; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.fx-home .fxh-course-screen { position: relative; flex: 1 1 auto; background: #0E1013; border: 1px solid #262A31; border-radius: 12px; overflow: hidden; }
.fx-home .fxh-course-screen .fxh-fill, .fx-home .fxh-mlm-video .fxh-fill { position: absolute; inset: 0; }
.fx-home .fxh-course-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fx-home .fxh-play-sm { position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; padding: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, .95); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 1; }
.fx-home .fxh-lesson { position: absolute; bottom: 8px; inset-inline-start: 10px; font-size: 11px; color: #FFFFFF; background: rgba(0, 0, 0, .6); border-radius: 5px; padding: 2px 6px; }
.fx-home .fxh-course-info { display: flex; flex-direction: column; gap: 5px; }
.fx-home .fxh-course-name { font-size: 13px; font-weight: 700; color: #F2F2EE; }
.fx-home .fxh-bar { height: 6px; background: #23272E; border-radius: 999px; overflow: hidden; }
.fx-home .fxh-bar-fill { height: 100%; background: #E5484D; border-radius: 999px; }
.fx-home .fxh-course-list { flex: 1 1 45%; min-width: 0; padding: 12px; display: flex; flex-direction: column; gap: 9px; }
.fx-home .fxh-course-list-t { font-size: 12px; font-weight: 700; color: #9AA0A8; }
.fx-home .fxh-lesson-row { display: flex; align-items: center; gap: 8px; font-size: 12px; }
.fx-home .fxh-tick { width: 18px; height: 18px; border-radius: 999px; flex: 0 0 18px; display: flex; align-items: center; justify-content: center; background: #E5484D; }
.fx-home .fxh-tick-off { background: transparent; border: 1.5px solid #3A3F48; }
.fx-home .fxh-lesson-done { color: #E9E9E4; }
.fx-home .fxh-lesson-todo { color: #8B9097; }

/* bot */
.fx-home .fxh-bot { display: flex; gap: 10px; }
.fx-home .fxh-botcard { flex: 0 0 42%; min-width: 0; background: linear-gradient(160deg, #2A1D17, #15181C); border: 1px solid #4A2D20; border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 9px; color: #FFFFFF; }
.fx-home .fxh-bot-name { display: flex; align-items: center; gap: 7px; }
.fx-home .fxh-bot-name span { font-size: 13px; font-weight: 700; direction: ltr; unicode-bidi: isolate; }
.fx-home .fxh-toggle { width: 34px; height: 20px; border-radius: 999px; background: #2E9E52; position: relative; display: inline-block; flex: 0 0 34px; }
.fx-home .fxh-toggle span { position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 999px; background: #FFFFFF; }
.fx-home .fxh-kv { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; }
.fx-home .fxh-kv > span:first-child { color: #9AA0A8; }
.fx-home .fxh-kv .fxh-on { font-size: 12px; }
.fx-home .fxh-kv-v { font-weight: 600; color: #F2F2EE; }
.fx-home .fxh-sig { display: flex; justify-content: space-between; align-items: center; font-size: 12px; border-radius: 8px; padding: 6px 8px; }
.fx-home .fxh-sig-buy { background: #1B3A25; border: 1px solid #2E6B40; }
.fx-home .fxh-sig-buy .fxh-sig-l { color: #CFEBD6; }
.fx-home .fxh-sig-buy .fxh-sig-v { font-weight: 700; color: #6FD38A; }
.fx-home .fxh-sig-sell { background: #3A1B1D; border: 1px solid #6B2E31; }
.fx-home .fxh-sig-sell .fxh-sig-l { color: #F2D3D4; }
.fx-home .fxh-sig-sell .fxh-sig-v { font-weight: 700; color: #F07B7E; }
.fx-home .fxh-bot-chart { flex: 1 1 auto; min-width: 0; position: relative; overflow: hidden; }

/* indicators */
.fx-home .fxh-ind { background: #131722; border: 1px solid #262A31; border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
.fx-home .fxh-ind-head { display: flex; justify-content: space-between; align-items: center; padding: 7px 10px; border-bottom: 1px solid #2A2E39; direction: ltr; }
.fx-home .fxh-ind-tags { display: flex; gap: 10px; align-items: center; font-size: 11px; }
.fx-home .fxh-ind-sym { font-size: 12px; font-weight: 700; color: #D1D4DC; }
.fx-home .fxh-ind-tf { color: #787B86; }
.fx-home .fxh-ind-ma { color: #F5A623; }
.fx-home .fxh-ind-rsi-t { color: #B388FF; }
.fx-home .fxh-ind-live { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: #26A69A; }
.fx-home .fxh-ind-v { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.fx-home .fxh-ind-main { display: block; width: 100%; flex: 1 1 auto; min-height: 0; }
.fx-home .fxh-ind-rsi { display: block; width: 100%; height: 44px; flex: 0 0 44px; border-top: 1px solid #2A2E39; }
.fx-home .fxh-donut-scene { flex-direction: row; align-items: center; gap: 12px; }
.fx-home .fxh-donut { height: 100%; width: auto; flex: 0 0 auto; }
.fx-home .fxh-donut-keys { display: flex; flex-direction: column; gap: 10px; font-size: 13px; color: #E9E9E4; }
.fx-home .fxh-donut-keys > span { display: inline-flex; align-items: center; gap: 8px; }
.fx-home .fxh-sq { width: 12px; height: 12px; border-radius: 3px; flex: 0 0 12px; }
.fx-home .fxh-sq-1 { background: #F07A45; }
.fx-home .fxh-sq-2 { background: #F4A57E; }
.fx-home .fxh-sq-3 { background: #F8CDB6; }

/* tools */
.fx-home .fxh-tools { display: flex; gap: 10px; }
.fx-home .fxh-calc { flex: 1 1 58%; min-width: 0; padding: 12px; display: flex; flex-direction: column; gap: 7px; }
.fx-home .fxh-calc-t { font-size: 13px; font-weight: 700; color: #F2F2EE; }
.fx-home .fxh-calc-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; background: #1E2228; border-radius: 8px; padding: 7px 10px; font-size: 12px; }
.fx-home .fxh-calc-row > span:first-child { color: #9AA0A8; }
.fx-home .fxh-calc-v { font-weight: 700; color: #F2F2EE; direction: ltr; unicode-bidi: isolate; }
.fx-home .fxh-calc-lot { display: flex; justify-content: space-between; align-items: center; background: #3FBF63; color: #0B1F12; border-radius: 8px; padding: 8px 10px; }
.fx-home .fxh-calc-lot > span:first-child { font-size: 12px; font-weight: 600; }
.fx-home .fxh-calc-lot-v { font-size: 18px; font-weight: 700; direction: ltr; }
.fx-home .fxh-keypad { flex: 1 1 42%; min-width: 0; background: #14171B; border: 1px solid #23272E; border-radius: 12px; padding: 10px; display: flex; flex-direction: column; gap: 6px; }
.fx-home .fxh-screen { height: 30px; background: #0E1013; border: 1px solid #2A2E36; border-radius: 6px; display: flex; align-items: center; justify-content: flex-end; padding: 0 8px; font-weight: 700; font-size: 14px; color: #6FD38A; direction: ltr; }
.fx-home .fxh-screen bdi { unicode-bidi: isolate; }
.fx-home .fxh-caret { margin-left: 2px; width: 1.5px; height: 15px; background: #6FD38A; display: inline-block; }
.fx-home .fxh-keys { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
.fx-home .fxh-keys span { height: 26px; border-radius: 6px; background: #1E2228; color: #D9D9D3; border: 1px solid #2A2E36; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; direction: ltr; }
.fx-home .fxh-keys .fxh-key-eq { background: #3FBF63; color: #0B1F12; }
.fx-home .fxh-tools-chart { padding: 12px; }
.fx-home .fxh-tbars { display: flex; flex-direction: column; gap: 13px; padding: 6px 4px; }
.fx-home .fxh-tbar { display: flex; flex-direction: column; gap: 5px; }
.fx-home .fxh-tbar > span { font-size: 12px; color: #D9D9D3; }
.fx-home .fxh-tbar-track { height: 12px; background: #1E2228; border-radius: 999px; overflow: hidden; }
.fx-home .fxh-tbar-track > div { height: 100%; background: #E9E9E4; border-radius: 999px; }
.fx-home .fxh-tb-1 { width: 88%; opacity: .90; }
.fx-home .fxh-tb-2 { width: 72%; opacity: .83; }
.fx-home .fxh-tb-3 { width: 61%; opacity: .78; }
.fx-home .fxh-tb-4 { width: 49%; opacity: .72; }

/* site */
.fx-home .fxh-site { padding: 0; }
.fx-home .fxh-site-gen { position: absolute; top: 10px; inset-inline-start: 12px; font-size: 11px; color: #9AA0A8; }

/* numbers row and category buttons */
.fx-home .fxh-mini { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.fx-home .fxh-mini-box { background: #171A1F; border: 1px solid #23272E; border-radius: 10px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fx-home .fxh-mini-box > span:first-child { font-size: 12px; color: #9AA0A8; }
.fx-home .fxh-mini-num { font-weight: 700; font-size: 17px; color: #F2F2EE; font-variant-numeric: tabular-nums; }
.fx-home .fxh-tabs { display: flex; justify-content: space-between; gap: 6px; border-top: 1px solid #1E2228; padding-top: 14px; }
.fx-home .fxh-tab { flex: 1 1 0; min-height: 44px; padding: 0; border-radius: 10px; border: 1px solid transparent; background: transparent; color: #8B9097; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.fx-home .fxh-tab:hover { color: #E9E9E4; background: #171A1F; }
.fx-home .fxh-tab.fxh-tab-on { background: #1E2228; border-color: #2E333B; color: #FFFFFF; }

/* ---- Four sections ---- */
.fx-home .fxh-sections { padding: 24px 0 72px; }
.fx-home .fxh-stack { display: flex; flex-direction: column; gap: 28px; }
.fx-home .fxh-stack-24 { display: flex; flex-direction: column; gap: 24px; }
.fx-home .fxh-head-center { display: flex; flex-direction: column; gap: 8px; align-items: center; text-align: center; }
.fx-home .fxh-head { display: flex; flex-direction: column; gap: 8px; }
.fx-home .fxh-sec-title { font-size: 34px; font-weight: 700; color: #15171A; }
.fx-home .fxh-sections .fxh-sec-title { font-size: 36px; }
.fx-home .fxh-sec-text { font-size: 17px; color: #4E545B; }
.fx-home .fxh-head-p { font-size: 16px; color: #4E545B; }
.fx-home .fxh-grid-4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; }
.fx-home .fxh-sec-card { background: #FFFFFF; border: 1px solid #E6E6E1; border-top: 4px solid #2B2E33; border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.fx-home .fxh-top-academy { border-top-color: #9F1D20; }
.fx-home .fxh-top-auto { border-top-color: #C9471F; }
.fx-home .fxh-top-copy { border-top-color: #1E7A34; }
.fx-home .fxh-top-tools { border-top-color: #2B2E33; }
.fx-home .fxh-sec-logo { width: 88px; height: 88px; object-fit: contain; align-self: flex-start; }
.fx-home .fxh-sec-card .fxh-col1 { gap: 2px; }
.fx-home .fxh-sec-card-t { font-size: 22px; color: #15171A; }
.fx-home .fxh-sec-card-s { font-size: 13px; color: #5B6168; }
.fx-home .fxh-sec-card-p { font-size: 15px; line-height: 1.75; color: #3E444A; }
.fx-home .fxh-list { margin: 0; padding: 0; padding-inline-start: 18px; list-style: disc; display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: #3E444A; }

/* ---- Official broker partners ---- */
.fx-home .fxh-broker-sec { padding: 24px 0 64px; }
.fx-home .fxh-broker { position: relative; overflow: hidden; background: #EEF6F0; border: 1px solid #DCE9DF; border-radius: 22px; padding: 40px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; }
.fx-home .fxh-blob { position: absolute; width: 140px; height: 140px; border-radius: 999px; background: #E2EFE5; }
.fx-home .fxh-blob-1 { top: -40px; inset-inline-end: -40px; }
.fx-home .fxh-blob-2 { bottom: -60px; inset-inline-end: 30%; }
.fx-home .fxh-broker-main { position: relative; flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.fx-home .fxh-broker-badge { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: #1E7A34; background: #D7EBDC; border-radius: 999px; padding: 6px 12px; }
.fx-home .fxh-lh { line-height: 1.35; }
.fx-home .fxh-broker-p { font-size: 16px; line-height: 1.8; color: #3E444A; }
.fx-home .fxh-broker-btns { background: #FFFFFF; border-radius: 12px; padding: 6px; display: flex; flex-wrap: wrap; gap: 6px; }
.fx-home .fxh-broker-btns .fxh-btn { flex: 1 1 160px; }
.fx-home .fxh-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.fx-home .fxh-chip { display: inline-flex; align-items: center; gap: 6px; background: #FFFFFF; border: 1px solid #DCE9DF; border-radius: 999px; padding: 7px 12px; font-size: 13px; font-weight: 500; }
.fx-home .fxh-broker-names { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.fx-home .fxh-broker-logos { display: inline-flex; align-items: center; gap: 6px; background: #D7EBDC; border-radius: 10px; padding: 10px 14px; font-weight: 700; font-size: 14px; letter-spacing: .5px; direction: ltr; }
.fx-home .fxh-broker-logos img { height: 24px; width: auto; max-width: 96px; object-fit: contain; }
.fx-home .fxh-broker-official { font-size: 14px; color: #4E545B; }
.fx-home .fxh-broker-side { position: relative; flex: 1 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.fx-home .fxh-benefits { display: grid; gap: 14px; }
.fx-home .fxh-benefits-1 { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.fx-home .fxh-benefits-2 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.fx-home .fxh-benefit { background: #FFFFFF; border-radius: 14px; padding: 18px; display: flex; flex-direction: column; gap: 8px; box-shadow: 0 6px 18px rgba(30, 122, 52, .06); min-width: 0; }
.fx-home .fxh-benefit-i { width: 34px; height: 34px; border-radius: 9px; background: #E3F1E6; display: flex; align-items: center; justify-content: center; }
.fx-home .fxh-benefit-t { font-weight: 700; font-size: 15px; }
.fx-home .fxh-benefit-p { font-size: 13px; color: #5B6168; }

/* ---- MLM ---- */
.fx-home .fxh-mlm-sec { padding: 8px 0 64px; }
.fx-home .fxh-mlm { background: #15171A; color: #F2F2EE; border-radius: 22px; padding: 36px; display: flex; flex-wrap: wrap; gap: 32px; align-items: center; }
.fx-home .fxh-mlm-main { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.fx-home .fxh-mlm-badge { align-self: flex-start; font-size: 13px; font-weight: 700; color: #0F3D1B; background: #9BE0AC; border-radius: 999px; padding: 5px 11px; }
.fx-home .fxh-mlm .fxh-mlm-title { font-size: 32px; color: #FFFFFF; }
.fx-home .fxh-mlm-p { font-size: 16px; line-height: 1.8; color: #C9C9C3; }
.fx-home .fxh-mlm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.fx-home .fxh-mlm-f { background: rgba(255, 255, 255, .05); border: 1px solid #262A31; border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 6px; }
.fx-home .fxh-mlm-f-t { font-weight: 700; font-size: 15px; color: #FFFFFF; }
.fx-home .fxh-mlm-f-p { font-size: 13px; line-height: 1.6; color: #B9B9B3; }
.fx-home .fxh-mlm-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.fx-home .fxh-mlm-video { flex: 1 1 380px; min-width: 0; position: relative; display: block; aspect-ratio: 16 / 10; padding: 0; background: #0E1013; border: 1px solid #262A31; border-radius: 16px; overflow: hidden; cursor: pointer; }
.fx-home .fxh-mlm-art { cursor: default; }
.fx-home .fxh-play-lg { position: absolute; top: 50%; left: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 999px; background: rgba(255, 255, 255, .95); display: flex; align-items: center; justify-content: center; }
.fx-home .fxh-video-tag { position: absolute; bottom: 10px; inset-inline-start: 10px; font-size: 12px; color: #FFFFFF; background: rgba(0, 0, 0, .6); border-radius: 6px; padding: 3px 8px; }

/* ---- Agencies ---- */
.fx-home .fxh-agencies { padding: 64px 0; }
.fx-home .fxh-grid-agencies { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.fx-home .fxh-agency { background: #FFFFFF; border: 1px solid #E6E6E1; border-radius: 12px; padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.fx-home .fxh-agency-logo { height: 48px; border: 1px dashed #CFCFC8; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-weight: 700; color: #5B6168; }
.fx-home .fxh-agency-logo.fxh-has-img { border-color: transparent; }
.fx-home .fxh-agency-logo img { max-height: 100%; max-width: 100%; object-fit: contain; }

/* ---- Why Forex AI ---- */
.fx-home .fxh-why { background: #15171A; color: #F2F2EE; }
.fx-home .fxh-why-in { padding-top: 72px; padding-bottom: 72px; display: flex; flex-direction: column; gap: 32px; }
.fx-home .fxh-white { color: #FFFFFF; }
.fx-home .fxh-why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 28px; }
.fx-home .fxh-why-item { display: flex; flex-direction: column; gap: 10px; }
.fx-home .fxh-why-t { font-family: var(--fx-font) !important; font-size: 18px; color: #FFFFFF; }
.fx-home .fxh-why-p { font-size: 15px; line-height: 1.75; color: #C9C9C3; }

/* ---- Partners ---- */
.fx-home .fxh-partners { padding: 64px 0; }
.fx-home .fxh-grid-partners { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.fx-home .fxh-partner { position: relative; background: #FFFFFF; border: 1px solid #E6E6E1; border-radius: 12px; min-height: 88px; padding: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: #2B2E33; text-align: center; }
.fx-home a.fxh-partner:hover { border-color: #1E7A34; color: #2B2E33; }
.fx-home .fxh-partner img { max-height: 48px; max-width: 100%; object-fit: contain; }
.fx-home .fxh-partner-n { font-weight: 700; }
.fx-home .fxh-partner-d { font-size: 13px; color: #5B6168; }
.fx-home .fxh-partner .fx-ext { position: absolute; top: 10px; inset-inline-end: 10px; color: #8B9097; }

/* ---- Testimonials ---- */
.fx-home .fxh-reviews { background: #FFFFFF; border-top: 1px solid #E6E6E1; border-bottom: 1px solid #E6E6E1; padding: 64px 0; }
.fx-home .fxh-reviews-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; }
.fx-home .fxh-reviews-avg { display: flex; align-items: center; gap: 8px; font-size: 15px; }
.fx-home .fxh-reviews-avg-n { font-weight: 700; font-size: 22px; direction: ltr; }
.fx-home .fxh-reviews-avg-t { color: #5B6168; }
.fx-home .fxh-rev-box { display: flex; flex-direction: column; gap: 14px; }
.fx-home .fxh-rev-track { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.fx-home .fxh-rev { background: #FAFAF7; border: 1px solid #E6E6E1; border-radius: 14px; padding: 22px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
html[dir="rtl"] .fx-home .fxh-rev { direction: rtl; }
html[dir="ltr"] .fx-home .fxh-rev { direction: ltr; }
.fx-home .fxh-stars { display: flex; gap: 3px; }
.fx-home .fxh-rev-q { font-size: 15px; line-height: 1.8; color: #2B2E33; white-space: pre-line; overflow-wrap: anywhere; }
.fx-home .fxh-rev-c { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 14px; margin-top: auto; }
.fx-home .fxh-rev-n { font-weight: 600; }
.fx-home .fxh-rev-m { font-size: 12px; color: #1E7A34; background: #EAF4EC; border-radius: 999px; padding: 3px 9px; white-space: nowrap; }
.fx-home .fxh-rev-dots { display: none; justify-content: center; gap: 4px; }
.fx-home .fxh-rev-dot { width: 32px; height: 44px; border: 0; padding: 0; background: transparent; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.fx-home .fxh-rev-dot span { display: inline-block; height: 8px; width: 8px; border-radius: 999px; background: #CFCFC8; transition: width .3s; }
.fx-home .fxh-rev-dot.fxh-rev-dot-on span { width: 22px; background: #15171A; }

/* ---- FAQ ---- */
.fx-home .fxh-faq { padding: 64px 0; }
.fx-home .fxh-faq-in { max-width: 880px; margin: 0 auto; padding: 0 24px; display: flex; flex-direction: column; gap: 20px; }
.fx-home .fxh-center { text-align: center; }
.fx-home .fxh-faq-list { display: flex; flex-direction: column; gap: 10px; }
.fx-home .fxh-faq-item { background: #FFFFFF; border: 1px solid #E6E6E1; border-radius: 12px; padding: 18px 20px; }
.fx-home .fxh-faq-item summary { cursor: pointer; list-style: none; font-weight: 600; font-size: 16px; color: #15171A; }
.fx-home .fxh-faq-item summary::-webkit-details-marker { display: none; }
.fx-home .fxh-faq-item summary::marker { content: ""; }
.fx-home .fxh-faq-item p { margin: 12px 0 0; font-size: 15px; line-height: 1.8; color: #3E444A; }

/* ---- Motion (the design's keyframes) ---- */
.fx-home .fxh-in-1 { animation: fxh-in1 .8s cubic-bezier(.2, .7, .2, 1) both; }
.fx-home .fxh-out-1 { animation: fxh-out1 .8s ease both; }
.fx-home .fxh-in-2 { animation: fxh-in2 .9s cubic-bezier(.2, .7, .2, 1) both; }
.fx-home .fxh-out-2 { animation: fxh-out2 .9s ease both; }
.fx-home .fxh-in-3 { animation: fxh-in3 .9s cubic-bezier(.65, 0, .35, 1) both; }
.fx-home .fxh-out-3 { animation: fxh-out3 .9s ease both; }
.fx-home .fxh-in-4 { animation: fxh-in4 .8s cubic-bezier(.2, .7, .2, 1) both; }
.fx-home .fxh-out-4 { animation: fxh-out4 .8s ease both; }
@keyframes fxh-in1 { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes fxh-out1 { to { opacity: 0; transform: translateY(-12px); } }
@keyframes fxh-in2 { from { opacity: 0; transform: scale(1.05); filter: blur(8px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes fxh-out2 { to { opacity: 0; transform: scale(.96); filter: blur(6px); } }
@keyframes fxh-in3 { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
@keyframes fxh-out3 { to { opacity: 0; } }
@keyframes fxh-in4 { from { opacity: 0; transform: translateX(-26px); } to { opacity: 1; transform: none; } }
@keyframes fxh-out4 { to { opacity: 0; transform: translateX(22px); } }
.fx-home .fxh-draw { stroke-dasharray: 1; stroke-dashoffset: 1; animation: fxh-draw 1.3s cubic-bezier(.3, .6, .2, 1) .15s forwards; }
@keyframes fxh-draw { to { stroke-dashoffset: 0; } }
.fx-home .fxh-fade { animation: fxh-fade .8s ease .5s both; }
@keyframes fxh-fade { from { opacity: 0; } to { opacity: 1; } }
.fx-home .fxh-grow { transform-box: fill-box; transform-origin: 50% 100%; animation: fxh-grow .7s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes fxh-grow { from { transform: scaleY(0); } to { transform: scaleY(1); } }
.fx-home .fxh-growx { transform-origin: 100% 50%; animation: fxh-growx .9s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes fxh-growx { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.fx-home .fxh-fill60 { width: 60%; transform-origin: 100% 50%; animation: fxh-growx 1.4s cubic-bezier(.2, .7, .2, 1) .3s both; }
html[dir="ltr"] .fx-home .fxh-growx, html[dir="ltr"] .fx-home .fxh-fill60 { transform-origin: 0 50%; }
.fx-home .fxh-pop { transform-box: fill-box; transform-origin: 50% 50%; animation: fxh-pop .45s cubic-bezier(.2, .9, .3, 1.3) both; }
@keyframes fxh-pop { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: scale(1); } }
.fx-home .fxh-type { display: inline-block; animation: fxh-fade .25s steps(1) both; }
.fx-home .fxh-caret { animation: fxh-blink 1s steps(1) infinite; }
@keyframes fxh-blink { 50% { opacity: 0; } }
.fx-home .fxh-pulse { animation: fxh-pulse 1.6s ease-out infinite; }
@keyframes fxh-pulse { 0% { box-shadow: 0 0 0 0 rgba(63, 191, 99, .55); } 70% { box-shadow: 0 0 0 7px rgba(63, 191, 99, 0); } 100% { box-shadow: 0 0 0 0 rgba(63, 191, 99, 0); } }
.fx-home .fxh-pulse-w { animation: fxh-pulsew 1.8s ease-out infinite; }
@keyframes fxh-pulsew { 0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, .45); } 70% { box-shadow: 0 0 0 12px rgba(255, 255, 255, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } }
.fx-home .fxh-breathe { transform-box: fill-box; transform-origin: 50% 100%; animation: fxh-breathe 1.4s ease-in-out infinite alternate; }
@keyframes fxh-breathe { from { transform: scaleY(.82); } to { transform: scaleY(1.08); } }
.fx-home .fxh-ticker { animation: fxh-ticker 1.4s ease-in-out infinite alternate; }
@keyframes fxh-ticker { from { transform: translateY(2px); } to { transform: translateY(-3px); } }
.fx-home .fxh-dur6 { animation-duration: .6s; }

/* animation delays (seconds × 100), after the animations so they win */
.fx-home .fxh-d0 { animation-delay: 0s; } .fx-home .fxh-d3 { animation-delay: .03s; } .fx-home .fxh-d6 { animation-delay: .06s; }
.fx-home .fxh-d9 { animation-delay: .09s; } .fx-home .fxh-d12 { animation-delay: .12s; } .fx-home .fxh-d15 { animation-delay: .15s; }
.fx-home .fxh-d18 { animation-delay: .18s; } .fx-home .fxh-d20 { animation-delay: .2s; } .fx-home .fxh-d21 { animation-delay: .21s; }
.fx-home .fxh-d24 { animation-delay: .24s; } .fx-home .fxh-d25 { animation-delay: .25s; } .fx-home .fxh-d27 { animation-delay: .27s; }
.fx-home .fxh-d30 { animation-delay: .3s; } .fx-home .fxh-d33 { animation-delay: .33s; } .fx-home .fxh-d35 { animation-delay: .35s; }
.fx-home .fxh-d36 { animation-delay: .36s; } .fx-home .fxh-d39 { animation-delay: .39s; } .fx-home .fxh-d40 { animation-delay: .4s; }
.fx-home .fxh-d42 { animation-delay: .42s; } .fx-home .fxh-d45 { animation-delay: .45s; } .fx-home .fxh-d48 { animation-delay: .48s; }
.fx-home .fxh-d50 { animation-delay: .5s; } .fx-home .fxh-d51 { animation-delay: .51s; } .fx-home .fxh-d54 { animation-delay: .54s; }
.fx-home .fxh-d55 { animation-delay: .55s; } .fx-home .fxh-d57 { animation-delay: .57s; } .fx-home .fxh-d60 { animation-delay: .6s; }
.fx-home .fxh-d63 { animation-delay: .63s; } .fx-home .fxh-d66 { animation-delay: .66s; } .fx-home .fxh-d69 { animation-delay: .69s; }
.fx-home .fxh-d70 { animation-delay: .7s; } .fx-home .fxh-d71 { animation-delay: .71s; } .fx-home .fxh-d72 { animation-delay: .72s; }
.fx-home .fxh-d75 { animation-delay: .75s; } .fx-home .fxh-d80 { animation-delay: .8s; } .fx-home .fxh-d85 { animation-delay: .85s; }
.fx-home .fxh-d90 { animation-delay: .9s; } .fx-home .fxh-d100 { animation-delay: 1s; } .fx-home .fxh-d110 { animation-delay: 1.1s; }
.fx-home .fxh-d120 { animation-delay: 1.2s; } .fx-home .fxh-d125 { animation-delay: 1.25s; } .fx-home .fxh-d126 { animation-delay: 1.26s; }
.fx-home .fxh-d130 { animation-delay: 1.3s; } .fx-home .fxh-d132 { animation-delay: 1.32s; } .fx-home .fxh-d138 { animation-delay: 1.38s; }
.fx-home .fxh-d144 { animation-delay: 1.44s; } .fx-home .fxh-d150 { animation-delay: 1.5s; } .fx-home .fxh-d156 { animation-delay: 1.56s; }
.fx-home .fxh-d162 { animation-delay: 1.62s; } .fx-home .fxh-d170 { animation-delay: 1.7s; }

/* ---- Phones (the design's Mobile) ---- */
@media (max-width: 760px) {
  .fx-home .fxh-wrap { padding-left: 16px; padding-right: 16px; }
  .fx-home .fxh-hero { padding: 32px 0 36px; }
  .fx-home .fxh-hero-title { font-size: 30px; }
  .fx-home .fxh-sec-title, .fx-home .fxh-sections .fxh-sec-title, .fx-home .fxh-mlm .fxh-mlm-title { font-size: 26px; }
  .fx-home .fxh-hero-btns { flex-direction: column; gap: 10px; }
  .fx-home .fxh-hero-card { flex-basis: 100%; }
  .fx-home .fxh-card { padding: 30px 16px 16px; }
  .fx-home .fxh-stage { height: 262px; }

  .fx-home .fxh-sections { padding: 12px 0 48px; }

  .fx-home .fxh-broker-sec { padding: 8px 0 44px; }
  .fx-home .fxh-broker { border-radius: 18px; padding: 22px; }
  .fx-home .fxh-broker-side { gap: 8px; }
  .fx-home .fxh-benefits { gap: 8px; }
  .fx-home .fxh-benefits-1 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fx-home .fxh-benefits-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fx-home .fxh-benefit { padding: 12px 10px; gap: 6px; }
  .fx-home .fxh-benefit-i { width: 30px; height: 30px; border-radius: 8px; }
  .fx-home .fxh-benefit-t { font-size: 13px; line-height: 1.4; }
  .fx-home .fxh-benefit-p { font-size: 11.5px; line-height: 1.5; }

  .fx-home .fxh-mlm-sec { padding: 8px 0 44px; }
  .fx-home .fxh-mlm { padding: 22px; gap: 22px; }
  .fx-home .fxh-mlm-grid { gap: 8px; }
  .fx-home .fxh-mlm-f { padding: 12px; }
  .fx-home .fxh-mlm-f-t { font-size: 13px; }
  .fx-home .fxh-mlm-f-p { font-size: 11.5px; }
  .fx-home .fxh-mlm-btns { flex-direction: column; gap: 10px; }

  .fx-home .fxh-agencies, .fx-home .fxh-partners { padding: 44px 0; }
  .fx-home .fxh-grid-agencies, .fx-home .fxh-grid-partners { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .fx-home .fxh-agency { padding: 12px; gap: 10px; }
  .fx-home .fxh-agency-logo { height: 44px; font-size: 14px; }
  .fx-home .fxh-partner-d { font-size: 11.5px; line-height: 1.5; }

  .fx-home .fxh-why-in { padding-top: 48px; padding-bottom: 48px; }

  .fx-home .fxh-reviews { padding: 44px 0; }
  .fx-home .fxh-rev-view { overflow: hidden; border-radius: 14px; }
  .fx-home .fxh-rev-track { display: flex; gap: 0; direction: ltr; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
  .fx-home .fxh-rev { flex: 0 0 100%; }
  .fx-home .fxh-rev-dots { display: flex; }

  .fx-home .fxh-faq { padding: 44px 0; }
  .fx-home .fxh-faq-in { padding: 0 16px; }
}
@media (min-width: 761px) {
  .fx-home .fxh-rev-track { transform: none !important; }
}

/* ---- Reduced motion: no animation, every chart drawn, the copy flow dots hidden ---- */
@media (prefers-reduced-motion: reduce) {
  .fx-home *, .fx-home *::before, .fx-home *::after { animation: none !important; transition: none !important; }
  .fx-home .fxh-draw { stroke-dashoffset: 0; }
  .fx-home .fxh-flow-dot { display: none; }
}
