/* =========================================================
   APEXBRIDGE TRADEHUB
   PUBLIC SITE
   NO BOOTSTRAP
   ========================================================= */

:root {
    /* =====================================================
       APEXBRIDGE TRADEHUB
       DARK / GREEN / WHITE THEME
       ===================================================== */


    --ab-bg: #061810;
    --ab-bg-2: #08100b;


    --ab-panel: #0b1510;
    --ab-panel-2: #0e1c14;
    --ab-panel-3: #12251a;


    --ab-border: rgba(111, 232, 161, .13);
    --ab-border-strong: rgba(111, 232, 161, .25);


    --ab-text: #ffffff;
    --ab-text-soft: #c8d5ce;
    --ab-text-muted: #7c9185;


    /* Green replaces the old gold */
    --ab-gold: #29d47f;
    --ab-gold-light: #63eca3;


    /* Green replaces the old blue */
    --ab-blue: #16b968;
    --ab-blue-light: #6af0a6;


    /* Trading positive */
    --ab-green: #2ee58b;


    /* Trading negative */
    --ab-red: #ff526b;



}

/* =========================================================
   RESET
   ========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
}

body {
    background:
        radial-gradient(
            circle at 85% 5%,
            rgba(30, 111, 183, .12),
            transparent 30%
        ),
        var(--ab-bg);

    color: var(--ab-text);

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 14px;
    line-height: 1.6;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.ab-menu-active,
body.ab-search-active {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
}

button {
    cursor: pointer;
}

img {
    display: block;
    max-width: 100%;
}


/* =========================================================
   GLOBAL
   ========================================================= */

.ab-container {
    width: min(
        calc(100% - 48px),
        var(--ab-container)
    );

    margin-inline: auto;
}

.ab-primary-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 46px;
    padding: 0 22px;

    border: 1px solid
        rgba(243, 207, 114, .4);

    border-radius: 7px;

    background:
        linear-gradient(
            135deg,
            var(--ab-gold-light),
            var(--ab-gold)
        );

    color: #101820;

    font-size: 12px;
    font-weight: 800;

    transition:
        transform var(--ab-transition),
        box-shadow var(--ab-transition),
        filter var(--ab-transition);
}

.ab-primary-button:hover {
    transform: translateY(-1px);

    box-shadow:
        0 12px 30px
        rgba(231, 185, 73, .18);

    filter: brightness(1.04);
}

.ab-status-dot {
    width: 6px;
    height: 6px;

    display: inline-block;

    border-radius: 50%;

    background: var(--ab-green);

    box-shadow:
        0 0 0 4px
        rgba(33, 214, 138, .08);
}


/* =========================================================
   TOP BAR
   ========================================================= */

.ab-topbar {
    min-height: 34px;

    border-bottom:
        1px solid var(--ab-border);

    background:
        rgba(3, 10, 18, .85);
}

.ab-topbar-inner {
    min-height: 34px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    color: var(--ab-text-muted);

    font-size: 10px;
    font-weight: 600;
}

.ab-topbar-left,
.ab-topbar-right,
.ab-market-status {
    display: flex;
    align-items: center;

    gap: 9px;
}

.ab-topbar-left {
    white-space: nowrap;
}

.ab-topbar-right a {
    transition:
        color var(--ab-transition);
}

.ab-topbar-right a:hover {
    color: var(--ab-text);
}

.ab-topbar-separator {
    width: 1px;
    height: 11px;

    background: var(--ab-border-strong);
}

.ab-market-status {
    color: var(--ab-text-soft);
}


/* =========================================================
   MAIN HEADER
   ========================================================= */

.ab-header {
    position: relative;
    z-index: 50;

    border-bottom:
        1px solid var(--ab-border);

    background:
        rgba(5, 13, 23, .92);

    backdrop-filter: blur(18px);
}

.ab-header-inner {
    min-height: 78px;

    display: flex;
    align-items: center;
}

.ab-logo {
    display: inline-flex;
    align-items: center;

    gap: 11px;

    flex-shrink: 0;
}

.ab-logo-mark {
    width: 35px;
    height: 35px;

    position: relative;

    display: block;

    transform: rotate(30deg);
}

.ab-logo-mark span {
    position: absolute;

    display: block;

    border: 2px solid var(--ab-gold);

    transform: skew(-8deg);
}

.ab-logo-mark span:nth-child(1) {
    width: 22px;
    height: 12px;

    top: 2px;
    left: 5px;
}

.ab-logo-mark span:nth-child(2) {
    width: 12px;
    height: 22px;

    left: 2px;
    bottom: 2px;
}

.ab-logo-mark span:nth-child(3) {
    width: 12px;
    height: 22px;

    right: 2px;
    bottom: 2px;
}

.ab-logo-text {
    display: flex;
    flex-direction: column;

    color: var(--ab-text);

    font-size: 16px;
    line-height: 1;

    font-weight: 800;

    letter-spacing: -.04em;
}

.ab-logo-text small {
    margin-top: 5px;

    color: var(--ab-gold);

    font-size: 7px;
    font-weight: 700;

    letter-spacing: .24em;
}

.ab-main-nav {
    display: flex;
    align-items: center;

    gap: 31px;

    margin-left: auto;
    margin-right: auto;
}

.ab-main-nav a {
    position: relative;

    color: var(--ab-text-muted);

    font-size: 11px;
    font-weight: 700;

    transition:
        color var(--ab-transition);
}

.ab-main-nav a::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: -30px;

    width: 0;
    height: 2px;

    transform: translateX(-50%);

    background: var(--ab-gold);

    transition:
        width var(--ab-transition);
}

.ab-main-nav a:hover,
.ab-main-nav a.is-active {
    color: var(--ab-text);
}

.ab-main-nav a.is-active::after {
    width: 100%;
}

.ab-header-actions {
    display: flex;
    align-items: center;

    gap: 12px;
}

.ab-search-trigger {
    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    border: 0;
    background: transparent;

    color: var(--ab-text-soft);
}

.ab-icon-search {
    width: 15px;
    height: 15px;

    position: relative;

    display: block;

    border: 1.5px solid currentColor;
    border-radius: 50%;
}

.ab-icon-search::after {
    content: "";

    position: absolute;

    width: 6px;
    height: 1.5px;

    right: -5px;
    bottom: -2px;

    background: currentColor;

    transform: rotate(48deg);
}

.ab-login-link {
    min-height: 38px;

    display: inline-flex;
    align-items: center;

    padding: 0 15px;

    border:
        1px solid var(--ab-border-strong);

    border-radius: 7px;

    color: var(--ab-text-soft);

    font-size: 11px;
    font-weight: 700;
}

.ab-login-link:hover {
    color: var(--ab-text);
}

.ab-header-button {
    min-height: 38px;
    padding-inline: 17px;

    font-size: 10px;
}

.ab-menu-toggle {
    display: none;

    width: 40px;
    height: 40px;

    padding: 9px;

    border: 1px solid var(--ab-border);
    border-radius: 7px;

    background: transparent;
}

.ab-menu-toggle span {
    display: block;

    width: 100%;
    height: 1px;

    margin: 5px 0;

    background: var(--ab-text);
}


/* =========================================================
   SEARCH
   ========================================================= */

.ab-search-overlay {
    position: fixed;
    inset: 0;

    z-index: 100;

    display: grid;
    place-items: center;

    padding: 30px;

    background:
        rgba(2, 8, 15, .94);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 220ms ease,
        visibility 220ms ease;
}

.ab-search-overlay.is-visible {
    opacity: 1;
    visibility: visible;
}

.ab-search-overlay-inner {
    width: min(
        850px,
        100%
    );

    position: relative;
}

.ab-search-close {
    position: absolute;

    top: -70px;
    right: 0;

    width: 42px;
    height: 42px;

    border: 1px solid var(--ab-border);
    border-radius: 50%;

    background: var(--ab-panel);

    color: var(--ab-text);

    font-size: 25px;
}

.ab-search-kicker {
    margin-bottom: 10px;

    color: var(--ab-gold);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .2em;
}

.ab-search-overlay h2 {
    margin: 0 0 25px;

    font-size:
        clamp(30px, 5vw, 58px);

    letter-spacing: -.05em;
}

.ab-site-search {
    display: flex;

    gap: 10px;
}

.ab-site-search input {
    flex: 1;

    min-width: 0;
    height: 60px;

    padding: 0 20px;

    border:
        1px solid var(--ab-border-strong);

    border-radius: 8px;

    outline: none;

    background: var(--ab-panel);

    color: var(--ab-text);
}

.ab-site-search input:focus {
    border-color:
        rgba(231, 185, 73, .55);
}


/* =========================================================
   TICKER
   ========================================================= */

.ab-ticker {
    overflow: hidden;

    border-bottom:
        1px solid var(--ab-border);

    background:
        #071523;
}

.ab-ticker-track {
    width: max-content;

    min-height: 42px;

    display: flex;
    align-items: center;

    gap: 0;
}

.ab-ticker-live {
    min-height: 42px;

    display: flex;
    align-items: center;

    gap: 8px;

    padding: 0 20px;

    color: var(--ab-green);

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .1em;

    border-right:
        1px solid var(--ab-border);
}

.ab-ticker-live span {
    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: currentColor;
}

.ab-ticker-item {
    min-height: 42px;

    display: flex;
    align-items: center;

    gap: 12px;

    padding: 0 19px;

    border-right:
        1px solid var(--ab-border);

    font-size: 10px;
}

.ab-ticker-item strong {
    color: var(--ab-text);
}

.ab-ticker-item span {
    color: var(--ab-text-muted);
}

.ab-ticker-item em {
    font-style: normal;
    font-weight: 800;
}

.positive {
    color: var(--ab-green);
}

.negative {
    color: var(--ab-red);
}

/* ========================================================= APEXBRIDGE HEADER ========================================================= */ .ab-topbar{ height:35px; background:#062c1d; color:rgba(255,255,255,.78); font-size:11px; border-bottom:1px solid rgba(138,242,184,.10); } .ab-topbar-inner{ height:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; } .ab-topbar-left, .ab-topbar-right, .ab-market-status{ display:flex; align-items:center; gap:9px; white-space:nowrap; } .ab-topbar-right a{ color:rgba(255,255,255,.72); transition:.2s ease; } .ab-topbar-right a:hover{ color:#8af2b8; } .ab-topbar-separator{ width:1px; height:12px; background:rgba(255,255,255,.16); } .ab-status-dot{ width:6px; height:6px; border-radius:50%; background:#20d27b; box-shadow: 0 0 0 3px rgba(32,210,123,.10), 0 0 12px rgba(32,210,123,.75); }


/* ========================================================= DESKTOP NAV ========================================================= */ .ab-main-nav{ display:flex; align-items:center; justify-content:center; gap:5px; margin-left:auto; } .ab-main-nav > a{ position:relative; display:flex; align-items:center; height:42px; padding:0 14px; color:#52685c; font-size:12px; font-weight:700; border-radius:9px; transition: color .2s ease, background .2s ease; } .ab-main-nav > a:hover{ color:#062c1d; background:#effbf4; } .ab-main-nav > a.active{ color:#062c1d; background:#eaf8ef; } .ab-main-nav > a.active::after{ content:""; position:absolute; left:14px; right:14px; bottom:5px; height:2px; border-radius:2px; background:#20d27b; box-shadow:0 0 9px rgba(32,210,123,.45); } 

/* ========================================================= LOGIN ========================================================= */ .ab-login-link{ height:40px; display:flex; align-items:center; justify-content:center; padding:0 14px; color:#062c1d; font-size:12px; font-weight:800; border-radius:9px; transition:.2s ease; } .ab-login-link:hover{ background:#effbf4; color:#16a765; } 

 =========================================================
   GREEN BUTTON
   ========================================================= */

.ab-primary-button{
    min-height:40px;
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:0 17px;

    border:1px solid #20d27b;
    border-radius:9px;

    background:#16a765;
    color:#ffffff !important;

    font-size:11px;
    font-weight:800;
    letter-spacing:.01em;

    box-shadow:
        0 7px 18px rgba(22,167,101,.18);

    transition:
        transform .2s ease,
        background .2s ease,
        box-shadow .2s ease;
}

.ab-primary-button:hover{
    background:#20d27b;
    color:#062c1d !important;

    transform:translateY(-1px);

    box-shadow:
        0 9px 25px rgba(32,210,123,.30),
        0 0 0 3px rgba(32,210,123,.08);
}

.ab-header-button{
    min-width:112px;
}

/* ========================================================= TICKER ========================================================= */ .ab-ticker{ position:relative; z-index:2; margin-top:1px; height:43px; display:flex; align-items:center; background:#073b27; border-bottom:1px solid rgba(138,242,184,.12); } .ab-ticker-live{ height:100%; min-width:65px; display:flex; align-items:center; justify-content:center; gap:6px; padding:0 1px; background:#062c1d; color:#8af2b8; font-size:9px; font-weight:800; letter-spacing:.12em; } .ab-ticker-live span{ width:5px; height:5px; border-radius:50%; background:#20d27b; box-shadow:0 0 10px rgba(32,210,123,.9); } .ab-tradingview-ticker{ min-width:0; flex:1; height:100%; overflow:hidden; } .ab-tradingview-ticker tv-ticker-tape{ display:block; width:100%; height:100%; }


/* =========================================================
   HERO
   ========================================================= */

.ab-hero {
    position: relative;

    min-height: 650px;

    display: flex;
    align-items: center;

    overflow: hidden;

    border-bottom:
        1px solid var(--ab-border);

    background:
        radial-gradient(
            circle at 72% 35%,
            rgba(36, 122, 195, .25),
            transparent 27%
        ),
        linear-gradient(
            90deg,
            #06101d 0%,
            #061810 43%,
            #061810 100%
        );
}

.ab-hero::before {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(5,13,23,1) 0%,
            rgba(5,13,23,.94) 32%,
            rgba(5,13,23,.35) 66%,
            rgba(5,13,23,.8) 100%
        );

    z-index: 1;
}

.ab-hero-grid {
    position: absolute;
    inset: 0;

    opacity: .16;

    background-image:
        linear-gradient(
            rgba(70, 140, 194, .2) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(70, 140, 194, .2) 1px,
            transparent 1px
        );

    background-size:
        70px 70px;

    mask-image:
        linear-gradient(
            90deg,
            black,
            transparent 80%
        );
}

.ab-hero-container {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0, .9fr)
        minmax(480px, 1.1fr);

    gap: 30px;

    align-items: center;
}

.ab-hero-copy {
    padding-block: 70px;
}

.ab-eyebrow {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 19px;

    color: var(--ab-blue-light);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .25em;
    text-transform: uppercase;
}

.ab-eyebrow::before {
    content: "";

    width: 25px;
    height: 1px;

    background: var(--ab-blue-light);
}

.ab-hero h1 {
    max-width: 670px;

    margin: 0;

    font-size:
        clamp(44px, 5.4vw, 78px);

    line-height: 1.02;

    letter-spacing: -.065em;

    font-weight: 800;
}

.ab-hero h1 span {
    display: block;

    color: var(--ab-gold);
}

.ab-hero-description {
    max-width: 570px;

    margin: 25px 0 31px;

    color: var(--ab-text-soft);

    font-size: 14px;
    line-height: 1.8;
}

.ab-hero-actions {
    display: flex;
    flex-wrap: wrap;

    gap: 11px;
}

.ab-secondary-button {
    min-height: 46px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 22px;

    border:
        1px solid var(--ab-border-strong);

    border-radius: 7px;

    color: var(--ab-text-soft);

    font-size: 11px;
    font-weight: 700;

    transition:
        border-color var(--ab-transition),
        color var(--ab-transition),
        background var(--ab-transition);
}

.ab-secondary-button:hover {
    border-color:
        rgba(94,178,255,.45);

    color: var(--ab-text);

    background:
        rgba(49,136,217,.07);
}


/* =========================================================
   HERO TERMINAL VISUAL
   ========================================================= */

.ab-hero-terminal {
    position: relative;

    min-height: 430px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.ab-terminal-laptop {
    width: min(
        680px,
        100%
    );

    position: relative;

    transform:
        perspective(1000px)
        rotateY(-7deg)
        rotateX(2deg);

    filter:
        drop-shadow(
            0 30px 50px
            rgba(0,0,0,.5)
        );
}

.ab-laptop-screen {
    position: relative;

    aspect-ratio: 16 / 10;

    padding: 9px;

    border:
        1px solid
        rgba(107, 166, 211, .32);

    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            #122c43,
            #020a12
        );

    box-shadow:
        inset 0 0 0 1px
        rgba(255,255,255,.03);
}

.ab-terminal-ui {
    width: 100%;
    height: 100%;

    overflow: hidden;

    border-radius: 7px;

    background: #06111d;

    border:
        1px solid rgba(112,166,214,.14);
}

.ab-terminal-top {
    height: 29px;

    display: flex;
    align-items: center;

    padding: 0 9px;

    border-bottom:
        1px solid rgba(112,166,214,.12);

    font-size: 6px;
}

.ab-terminal-dots {
    display: flex;
    gap: 3px;
}

.ab-terminal-dots i {
    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: #49647d;
}

.ab-terminal-symbol {
    margin-left: auto;
    margin-right: auto;

    color: #dce9f4;
}

.ab-terminal-body {
    display: grid;

    grid-template-columns:
        120px minmax(0, 1fr)
        130px;

    height: calc(100% - 29px);
}

.ab-terminal-watchlist {
    padding: 8px;

    border-right:
        1px solid rgba(112,166,214,.12);
}

.ab-mini-label {
    margin-bottom: 7px;

    color: #61788d;

    font-size: 6px;
    font-weight: 800;
    text-transform: uppercase;
}

.ab-mini-row {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 6px 4px;

    border-bottom:
        1px solid rgba(112,166,214,.07);

    font-size: 6px;
}

.ab-mini-row strong {
    display: block;
    color: #e5eef7;
}

.ab-mini-row span {
    color: var(--ab-green);
}

.ab-terminal-chart {
    position: relative;

    padding: 10px;

    background:
        linear-gradient(
            rgba(55,120,166,.05) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(55,120,166,.05) 1px,
            transparent 1px
        );

    background-size:
        26px 26px;
}

.ab-chart-heading {
    display: flex;
    justify-content: space-between;

    font-size: 6px;
}

.ab-chart-heading strong {
    color: #eaf2fa;
}

.ab-chart-heading span {
    color: var(--ab-green);
}

.ab-candles {
    position: absolute;

    left: 13px;
    right: 13px;
    top: 65px;
    bottom: 18px;
}

.ab-candles::before {
    content: "";

    position: absolute;
    inset: 12% 0 18%;

    background:
        linear-gradient(
            145deg,
            transparent 8%,
            rgba(49,136,217,.8) 9%,
            transparent 10%,
            transparent 23%,
            rgba(231,185,73,.8) 24%,
            transparent 25%,
            transparent 43%,
            rgba(33,214,138,.8) 44%,
            transparent 45%,
            transparent 63%,
            rgba(49,136,217,.8) 64%,
            transparent 65%,
            transparent 82%,
            rgba(33,214,138,.8) 83%,
            transparent 84%
        );

    clip-path:
        polygon(
            0 70%,
            7% 65%,
            12% 72%,
            18% 55%,
            25% 62%,
            31% 39%,
            37% 44%,
            44% 27%,
            50% 37%,
            57% 22%,
            63% 32%,
            70% 18%,
            77% 25%,
            84% 10%,
            90% 18%,
            100% 3%,
            100% 100%,
            0 100%
        );

    opacity: .85;
}

.ab-terminal-order {
    padding: 10px;

    border-left:
        1px solid rgba(112,166,214,.12);
}

.ab-order-box {
    padding: 8px;

    border:
        1px solid rgba(112,166,214,.12);

    border-radius: 6px;

    background:
        rgba(13,37,60,.7);
}

.ab-order-title {
    margin-bottom: 8px;

    font-size: 7px;
    font-weight: 800;
}

.ab-order-input {
    height: 24px;

    margin-bottom: 7px;

    padding: 0 6px;

    border:
        1px solid rgba(112,166,214,.15);

    border-radius: 4px;

    color: #8399ac;

    font-size: 6px;

    background: #071321;
}

.ab-order-buttons {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 5px;
}

.ab-order-buttons span {
    height: 25px;

    display: grid;
    place-items: center;

    border-radius: 4px;

    font-size: 6px;
    font-weight: 800;
}

.ab-order-buttons span:first-child {
    color: #03140d;
    background: var(--ab-green);
}

.ab-order-buttons span:last-child {
    color: #fff;
    background: var(--ab-red);
}

.ab-laptop-base {
    width: 115%;

    height: 18px;

    position: absolute;

    left: -7.5%;
    bottom: -15px;

    border-radius:
        0 0 20px 20px;

    background:
        linear-gradient(
            #253c50,
            #091522
        );

    box-shadow:
        0 12px 20px
        rgba(0,0,0,.45);
}


/* =========================================================
   HERO STATS
   ========================================================= */

.ab-hero-stats {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    z-index: 3;

    border-top:
        1px solid var(--ab-border);

    background:
        rgba(4,12,21,.65);

    backdrop-filter: blur(12px);
}

.ab-hero-stats-inner {
    min-height: 82px;

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    align-items: center;
}

.ab-hero-stat {
    padding: 0 25px;

    border-right:
        1px solid var(--ab-border);
}

.ab-hero-stat:last-child {
    border-right: 0;
}

.ab-hero-stat strong {
    display: block;

    margin-bottom: 3px;

    font-size: 18px;

    letter-spacing: -.03em;
}

.ab-hero-stat span {
    color: var(--ab-text-muted);

    font-size: 9px;
    font-weight: 700;
}


/* =========================================================
   SECTION
   ========================================================= */

.ab-section {
    padding: 100px 0;
}

.ab-section-heading {
    max-width: 700px;

    margin-bottom: 40px;
}

.ab-section-heading.center {
    margin-inline: auto;

    text-align: center;
}

.ab-section-kicker {
    margin-bottom: 10px;

    color: var(--ab-blue-light);

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .23em;
    text-transform: uppercase;
}

.ab-section-heading h2 {
    margin: 0;

    font-size:
        clamp(30px, 4vw, 48px);

    line-height: 1.08;

    letter-spacing: -.055em;
}

.ab-section-heading p {
    margin: 17px 0 0;

    color: var(--ab-text-muted);

    font-size: 13px;
}


/* =========================================================
   MARKET CARDS
   ========================================================= */

.ab-market-grid {
    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 12px;
}

.ab-market-card {
    position: relative;

    min-height: 185px;

    padding: 20px;

    overflow: hidden;

    border:
        1px solid var(--ab-border);

    border-radius: var(--ab-radius);

    background:
        linear-gradient(
            145deg,
            rgba(14,39,64,.78),
            rgba(7,19,32,.85)
        );

    transition:
        transform var(--ab-transition),
        border-color var(--ab-transition);
}

.ab-market-card:hover {
    transform: translateY(-3px);

    border-color:
        rgba(94,178,255,.3);
}

.ab-market-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 30px;
}

.ab-market-icon {
    width: 35px;
    height: 35px;

    display: grid;
    place-items: center;

    border:
        1px solid var(--ab-border);

    border-radius: 9px;

    background:
        rgba(49,136,217,.07);

    color: var(--ab-blue-light);

    font-size: 12px;
    font-weight: 800;
}

.ab-market-category {
    color: var(--ab-text-muted);

    font-size: 8px;
    font-weight: 800;

    letter-spacing: .12em;
    text-transform: uppercase;
}

.ab-market-card h3 {
    margin: 0 0 4px;

    font-size: 14px;
}

.ab-market-price {
    margin-bottom: 8px;

    font-size: 20px;
    font-weight: 800;

    letter-spacing: -.04em;
}

.ab-market-change {
    font-size: 10px;
    font-weight: 800;
}

.ab-sparkline {
    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 45px;

    opacity: .55;

    background:
        linear-gradient(
            145deg,
            transparent 10%,
            rgba(33,214,138,.8) 11%,
            transparent 12%,
            transparent 28%,
            rgba(33,214,138,.8) 29%,
            transparent 30%,
            transparent 48%,
            rgba(33,214,138,.8) 49%,
            transparent 50%,
            transparent 67%,
            rgba(33,214,138,.8) 68%,
            transparent 69%,
            transparent 85%,
            rgba(33,214,138,.8) 86%,
            transparent 87%
        );
}


/* =========================================================
   FEATURE SPLIT
   ========================================================= */

.ab-feature-section {
    padding-top: 30px;
}

.ab-feature-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);

    gap: 16px;
}

.ab-feature-panel {
    min-height: 390px;

    padding: 35px;

    position: relative;
    overflow: hidden;

    border:
        1px solid var(--ab-border);

    border-radius: var(--ab-radius-lg);

    background:
        linear-gradient(
            145deg,
            #0a2035,
            #071321
        );
}

.ab-feature-panel::after {
    content: "";

    position: absolute;

    width: 320px;
    height: 320px;

    right: -120px;
    bottom: -150px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(49,136,217,.22),
            transparent 70%
        );
}

.ab-feature-panel.gold::after {
    background:
        radial-gradient(
            circle,
            rgba(231,185,73,.15),
            transparent 70%
        );
}

.ab-feature-panel h3 {
    max-width: 440px;

    margin: 0 0 13px;

    font-size: 28px;

    line-height: 1.15;

    letter-spacing: -.045em;
}

.ab-feature-panel p {
    max-width: 480px;

    color: var(--ab-text-muted);

    font-size: 12px;
}

.ab-feature-list {
    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 15px;

    margin-top: 30px;
}

.ab-feature-item {
    display: flex;

    gap: 12px;
}

.ab-feature-item-icon {
    width: 34px;
    height: 34px;

    flex-shrink: 0;

    display: grid;
    place-items: center;

    border:
        1px solid var(--ab-border);

    border-radius: 8px;

    color: var(--ab-gold);

    background:
        rgba(231,185,73,.05);
}

.ab-feature-item strong {
    display: block;

    margin-bottom: 2px;

    font-size: 10px;
}

.ab-feature-item span {
    display: block;

    color: var(--ab-text-muted);

    font-size: 9px;
}


/* =========================================================
   NEWS + CALENDAR
   ========================================================= */

.ab-intelligence-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.5fr)
        minmax(320px, .8fr);

    gap: 15px;
}

.ab-panel {
    border:
        1px solid var(--ab-border);

    border-radius: var(--ab-radius-lg);

    background:
        linear-gradient(
            145deg,
            rgba(10,31,51,.9),
            rgba(6,17,29,.95)
        );

    overflow: hidden;
}

.ab-panel-header {
    min-height: 66px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 22px;

    border-bottom:
        1px solid var(--ab-border);
}

.ab-panel-header h3 {
    margin: 0;

    font-size: 13px;
}

.ab-panel-header a {
    color: var(--ab-blue-light);

    font-size: 9px;
    font-weight: 800;
}

.ab-news-list {
    display: grid;
}

.ab-news-item {
    display: grid;

    grid-template-columns:
        88px minmax(0, 1fr);

    gap: 15px;

    padding: 16px 20px;

    border-bottom:
        1px solid var(--ab-border);

    transition:
        background var(--ab-transition);
}

.ab-news-item:hover {
    background:
        rgba(49,136,217,.04);
}

.ab-news-thumb {
    width: 88px;
    height: 65px;

    overflow: hidden;

    border-radius: 7px;

    background:
        linear-gradient(
            145deg,
            #163b59,
            #07111d
        );
}

.ab-news-thumb img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.ab-news-meta {
    display: flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 5px;

    color: var(--ab-text-muted);

    font-size: 8px;
    font-weight: 700;

    text-transform: uppercase;
}

.ab-news-meta b {
    color: var(--ab-blue-light);
}

.ab-news-item h4 {
    margin: 0;

    font-size: 11px;
    line-height: 1.5;
}

.ab-news-item p {
    margin: 5px 0 0;

    color: var(--ab-text-muted);

    font-size: 9px;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ab-calendar-list {
    padding: 5px 20px;
}

.ab-calendar-item {
    min-height: 70px;

    display: grid;

    grid-template-columns: 55px 1fr 50px;

    align-items: center;

    gap: 12px;

    border-bottom:
        1px solid var(--ab-border);
}

.ab-calendar-time {
    color: var(--ab-text-muted);

    font-size: 9px;
    font-weight: 700;
}

.ab-calendar-event strong {
    display: block;

    font-size: 10px;
}

.ab-calendar-event span {
    color: var(--ab-text-muted);

    font-size: 8px;
}

.ab-impact {
    justify-self: end;

    padding: 4px 6px;

    border-radius: 4px;

    font-size: 7px;
    font-weight: 800;

    text-transform: uppercase;
}

.ab-impact.high {
    color: #ff7183;
    background: rgba(255,82,107,.09);
}

.ab-impact.medium {
    color: var(--ab-gold-light);
    background: rgba(231,185,73,.08);
}

.ab-impact.low {
    color: var(--ab-blue-light);
    background: rgba(49,136,217,.08);
}


/* =========================================================
   PLATFORM PREVIEW
   ========================================================= */

.ab-platform {
    position: relative;

    overflow: hidden;

    background:
        #06111e;
}

.ab-platform-grid {
    display: grid;

    grid-template-columns:
        .75fr 1.25fr;

    align-items: center;

    gap: 50px;
}

.ab-platform-copy h2 {
    margin: 0;

    font-size:
        clamp(32px, 4vw, 51px);

    line-height: 1.06;

    letter-spacing: -.06em;
}

.ab-platform-copy p {
    max-width: 530px;

    margin: 20px 0 27px;

    color: var(--ab-text-muted);
}

.ab-platform-points {
    display: grid;

    gap: 13px;

    margin-bottom: 28px;
}

.ab-platform-point {
    display: flex;

    gap: 12px;
}

.ab-platform-point-icon {
    width: 34px;
    height: 34px;

    flex-shrink: 0;

    display: grid;
    place-items: center;

    border:
        1px solid var(--ab-border);

    border-radius: 8px;

    color: var(--ab-green);
}

.ab-platform-point strong {
    display: block;

    font-size: 10px;
}

.ab-platform-point span {
    display: block;

    margin-top: 2px;

    color: var(--ab-text-muted);

    font-size: 9px;
}

.ab-dashboard-preview {
    position: relative;

    min-height: 390px;

    padding: 10px;

    border:
        1px solid var(--ab-border);

    border-radius: 14px;

    background:
        #071321;

    box-shadow:
        0 35px 80px
        rgba(0,0,0,.35);

    transform:
        perspective(1300px)
        rotateY(-4deg);
}

.ab-dashboard-preview-inner {
    width: 100%;
    height: 100%;

    min-height: 370px;

    display: grid;

    grid-template-columns:
        110px minmax(0,1fr) 130px;

    overflow: hidden;

    border:
        1px solid var(--ab-border);

    border-radius: 8px;

    background: #06111d;
}

.ab-preview-sidebar {
    padding: 12px 8px;

    border-right:
        1px solid var(--ab-border);
}

.ab-preview-sidebar strong {
    display: block;

    margin-bottom: 15px;

    color: var(--ab-gold);

    font-size: 7px;
}

.ab-preview-menu {
    display: grid;
    gap: 5px;
}

.ab-preview-menu span {
    padding: 7px;

    border-radius: 4px;

    color: var(--ab-text-muted);

    font-size: 7px;
}

.ab-preview-menu span:first-child {
    color: var(--ab-text);

    background:
        rgba(49,136,217,.1);
}

.ab-preview-main {
    padding: 13px;
}

.ab-preview-top {
    display: flex;
    justify-content: space-between;

    margin-bottom: 13px;

    font-size: 8px;
}

.ab-preview-top strong {
    font-size: 10px;
}

.ab-preview-chart {
    height: 205px;

    position: relative;

    border:
        1px solid var(--ab-border);

    border-radius: 5px;

    background:
        linear-gradient(
            rgba(70,130,170,.05) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(70,130,170,.05) 1px,
            transparent 1px
        );

    background-size:
        24px 24px;
}

.ab-preview-chart::after {
    content: "";

    position: absolute;

    inset: 30px 12px;

    background:
        linear-gradient(
            145deg,
            transparent 5%,
            rgba(33,214,138,.85) 6%,
            transparent 7%,
            transparent 21%,
            rgba(33,214,138,.85) 22%,
            transparent 23%,
            transparent 39%,
            rgba(255,82,107,.8) 40%,
            transparent 41%,
            transparent 56%,
            rgba(33,214,138,.85) 57%,
            transparent 58%,
            transparent 74%,
            rgba(33,214,138,.85) 75%,
            transparent 76%,
            transparent 91%,
            rgba(33,214,138,.85) 92%,
            transparent 93%
        );
}

.ab-preview-order {
    padding: 12px 9px;

    border-left:
        1px solid var(--ab-border);
}

.ab-preview-order h4 {
    margin: 0 0 12px;

    font-size: 9px;
}

.ab-preview-order-box {
    padding: 9px;

    border:
        1px solid var(--ab-border);

    border-radius: 5px;

    background:
        rgba(10,31,51,.7);
}

.ab-preview-order-box div {
    height: 25px;

    margin-bottom: 7px;

    border:
        1px solid var(--ab-border);

    border-radius: 4px;
}

.ab-preview-order-buttons {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 5px;
}

.ab-preview-order-buttons span {
    height: 27px;

    display: grid;
    place-items: center;

    border-radius: 4px;

    font-size: 6px;
    font-weight: 800;
}

.ab-preview-order-buttons span:first-child {
    color: #06150e;
    background: var(--ab-green);
}

.ab-preview-order-buttons span:last-child {
    color: #fff;
    background: var(--ab-red);
}


/* =========================================================
   CTA
   ========================================================= */

.ab-cta {
    padding: 35px 0 100px;
}

.ab-cta-box {
    position: relative;

    overflow: hidden;

    padding: 70px;

    border:
        1px solid rgba(231,185,73,.18);

    border-radius: 20px;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(49,136,217,.16),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #0b2035,
            #071321
        );
}

.ab-cta-box::after {
    content: "";

    position: absolute;

    width: 350px;
    height: 350px;

    right: -180px;
    bottom: -180px;

    border-radius: 50%;

    border:
        1px solid rgba(231,185,73,.1);
}

.ab-cta-box h2 {
    max-width: 650px;

    margin: 0;

    font-size:
        clamp(31px, 4vw, 52px);

    line-height: 1.05;

    letter-spacing: -.06em;
}

.ab-cta-box p {
    max-width: 570px;

    margin: 17px 0 27px;

    color: var(--ab-text-muted);
}


/* =========================================================
   FOOTER
   ========================================================= */

.ab-footer {
    border-top:
        1px solid var(--ab-border);

    background:
        #030a12;
}

.ab-footer-main {
    display: grid;

    grid-template-columns:
        1.8fr
        repeat(4, 1fr);

    gap: 50px;

    padding: 75px 0 55px;
}

.ab-footer-brand p {
    max-width: 350px;

    margin: 20px 0;

    color: var(--ab-text-muted);

    font-size: 10px;
    line-height: 1.8;
}

.ab-footer-socials {
    display: flex;

    gap: 7px;
}

.ab-footer-socials a {
    width: 31px;
    height: 31px;

    display: grid;
    place-items: center;

    border:
        1px solid var(--ab-border);

    border-radius: 6px;

    color: var(--ab-text-muted);

    font-size: 9px;
}

.ab-footer-socials a:hover {
    color: var(--ab-text);
    border-color: var(--ab-border-strong);
}

.ab-footer-column {
    display: flex;
    flex-direction: column;

    gap: 10px;
}

.ab-footer-column h4 {
    margin: 0 0 9px;

    color: var(--ab-text);

    font-size: 10px;
}

.ab-footer-column a {
    color: var(--ab-text-muted);

    font-size: 9px;
}

.ab-footer-column a:hover {
    color: var(--ab-text);
}

.ab-footer-disclaimer {
    padding: 23px 0;

    border-top:
        1px solid var(--ab-border);
}

.ab-footer-trust {
    display: flex;
    flex-wrap: wrap;

    gap: 25px;

    margin-bottom: 13px;
}

.ab-footer-trust span {
    display: flex;
    align-items: center;

    gap: 7px;

    color: var(--ab-text-soft);

    font-size: 8px;
    font-weight: 700;
}

.ab-footer-trust i {
    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: var(--ab-green);
}

.ab-footer-disclaimer p {
    max-width: 1000px;

    margin: 0;

    color: #596d80;

    font-size: 8px;
    line-height: 1.8;
}

.ab-footer-bottom {
    min-height: 65px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    border-top:
        1px solid var(--ab-border);

    color: #53677a;

    font-size: 8px;
}


/* =========================================================
   COOKIE
   ========================================================= */

.ab-cookie-popup {
    position: fixed;

    left: 24px;
    right: 24px;
    bottom: 22px;

    z-index: 200;

    padding: 1px;

    border:
        1px solid rgba(94,178,255,.22);

    border-radius: 13px;

    background:
        linear-gradient(
            145deg,
            rgba(14,39,64,.98),
            rgba(4,13,23,.98)
        );

    box-shadow:
        0 25px 70px
        rgba(0,0,0,.5);

    animation:
        abCookieIn .35s ease both;
}

.ab-cookie-popup.is-closing {
    animation:
        abCookieOut .35s ease forwards;
}

.ab-cookie-content {
    min-height: 100px;

    display: grid;

    grid-template-columns:
        auto 1fr auto;

    align-items: center;

    gap: 18px;

    padding: 19px 22px;
}

.ab-cookie-icon {
    width: 43px;
    height: 43px;

    display: grid;
    place-items: center;

    border:
        1px solid rgba(231,185,73,.2);

    border-radius: 10px;

    color: var(--ab-gold);

    background:
        rgba(231,185,73,.06);

    font-size: 19px;
}

.ab-cookie-copy strong {
    display: block;

    margin-bottom: 4px;

    font-size: 11px;
}

.ab-cookie-copy p {
    max-width: 800px;

    margin: 0;

    color: var(--ab-text-muted);

    font-size: 9px;
    line-height: 1.7;
}

.ab-cookie-copy a {
    display: inline-block;

    margin-top: 4px;

    color: var(--ab-blue-light);

    font-size: 8px;
    font-weight: 700;
}

.ab-cookie-actions {
    display: flex;

    align-items: center;

    gap: 8px;
}

.ab-cookie-actions button {
    min-height: 38px;

    border-radius: 6px;

    padding: 0 15px;

    font-size: 9px;
    font-weight: 800;
}

.ab-cookie-decline {
    border:
        1px solid var(--ab-border-strong);

    background: transparent;

    color: var(--ab-text-soft);
}


/* =========================================================
   REVEAL
   ========================================================= */

[data-reveal] {
    opacity: 0;

    transform:
        translateY(18px);

    transition:
        opacity .6s ease,
        transform .6s ease;
}

[data-reveal].is-revealed {
    opacity: 1;

    transform:
        translateY(0);
}


/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes abCookieIn {

    from {
        opacity: 0;
        transform:
            translateY(20px);
    }

    to {
        opacity: 1;
        transform:
            translateY(0);
    }

}

@keyframes abCookieOut {

    from {
        opacity: 1;
        transform:
            translateY(0);
    }

    to {
        opacity: 0;
        transform:
            translateY(20px);
    }

}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1180px) {

    .ab-main-nav {
        gap: 18px;
    }

    .ab-market-grid {
        grid-template-columns:
            repeat(3, 1fr);
    }

    .ab-hero-container {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(420px, .9fr);
    }

    .ab-footer-main {
        grid-template-columns:
            1.5fr
            repeat(3, 1fr);
    }

    .ab-footer-column:last-child {
        grid-column: 2;
    }

}


@media (max-width: 980px) {

    .ab-container {
        width: min(
            calc(100% - 32px),
            var(--ab-container)
        );
    }

    .ab-topbar-right {
        display: none;
    }

    .ab-main-nav {
        position: fixed;

        top: 112px;
        right: 16px;

        width: min(
            330px,
            calc(100% - 32px)
        );

        display: flex;
        flex-direction: column;
        align-items: stretch;

        gap: 0;

        padding: 10px;

        border:
            1px solid var(--ab-border-strong);

        border-radius: 12px;

        background:
            #071522;

        box-shadow:
            0 25px 60px
            rgba(0,0,0,.45);

        opacity: 0;
        visibility: hidden;

        transform:
            translateY(-10px);

        transition:
            opacity .2s ease,
            visibility .2s ease,
            transform .2s ease;
    }

    .ab-main-nav.is-open {
        opacity: 1;
        visibility: visible;

        transform:
            translateY(0);
    }

    .ab-main-nav a {
        padding: 14px;

        border-radius: 7px;
    }

    .ab-main-nav a::after {
        display: none;
    }

    .ab-main-nav a:hover,
    .ab-main-nav a.is-active {
        background:
            rgba(49,136,217,.08);
    }

    .ab-menu-toggle {
        display: block;
    }

    .ab-nav-backdrop {
        position: fixed;
        inset: 0;

        z-index: 40;

        background:
            rgba(0,0,0,.55);

        opacity: 0;
        visibility: hidden;

        transition:
            opacity .2s ease,
            visibility .2s ease;
    }

    .ab-nav-backdrop.is-visible {
        opacity: 1;
        visibility: visible;
    }

    .ab-hero {
        min-height: auto;
    }

    .ab-hero-container {
        grid-template-columns: 1fr;
    }

    .ab-hero-copy {
        padding: 80px 0 20px;
    }

    .ab-hero-terminal {
        min-height: 420px;
        padding-bottom: 130px;
    }

    .ab-feature-grid,
    .ab-platform-grid {
        grid-template-columns: 1fr;
    }

    .ab-intelligence-grid {
        grid-template-columns: 1fr;
    }

    .ab-platform-copy {
        max-width: 700px;
    }

    .ab-dashboard-preview {
        transform: none;
    }

}


@media (max-width: 720px) {

    .ab-container {
        width: min(
            calc(100% - 24px),
            var(--ab-container)
        );
    }

    .ab-topbar-left span:nth-last-child(-n+2) {
        display: none;
    }

    .ab-header-inner {
        min-height: 68px;
    }

    .ab-logo-text {
        font-size: 14px;
    }

    .ab-login-link {
        display: none;
    }

    .ab-header-button {
        display: none;
    }

    .ab-header-actions {
        margin-left: auto;
    }

    .ab-ticker-item {
        padding-inline: 13px;
    }

    .ab-hero h1 {
        font-size:
            clamp(39px, 12vw, 58px);
    }

    .ab-hero-description {
        font-size: 12px;
    }

    .ab-hero-terminal {
        min-height: 300px;
    }

    .ab-terminal-laptop {
        width: 115%;
    }

    .ab-terminal-body {
        grid-template-columns:
            75px minmax(0,1fr)
            80px;
    }

    .ab-terminal-watchlist {
        padding: 5px;
    }

    .ab-terminal-order {
        padding: 5px;
    }

    .ab-hero-stats {
        position: relative;
    }

    .ab-hero-stats-inner {
        grid-template-columns:
            1fr 1fr;

        min-height: auto;
    }

    .ab-hero-stat {
        padding: 17px 10px;

        border-bottom:
            1px solid var(--ab-border);
    }

    .ab-section {
        padding: 70px 0;
    }

    .ab-market-grid {
        grid-template-columns:
            1fr 1fr;
    }

    .ab-feature-panel {
        padding: 25px;
    }

    .ab-feature-list {
        grid-template-columns: 1fr;
    }

    .ab-news-item {
        grid-template-columns:
            70px minmax(0,1fr);

        padding-inline: 13px;
    }

    .ab-news-thumb {
        width: 70px;
        height: 58px;
    }

    .ab-cta-box {
        padding: 40px 25px;
    }

    .ab-footer-main {
        grid-template-columns:
            1fr 1fr;

        gap: 35px 20px;
    }

    .ab-footer-brand {
        grid-column: 1 / -1;
    }

    .ab-footer-column:last-child {
        grid-column: auto;
    }

    .ab-footer-bottom {
        flex-direction: column;
        align-items: flex-start;

        justify-content: center;

        padding: 18px 0;
    }

    .ab-cookie-popup {
        left: 10px;
        right: 10px;
        bottom: 10px;
    }

    .ab-cookie-content {
        grid-template-columns: 1fr;

        padding: 17px;
    }

    .ab-cookie-icon {
        display: none;
    }

    .ab-cookie-actions {
        width: 100%;
    }

    .ab-cookie-actions button {
        flex: 1;
    }

}


@media (max-width: 460px) {

    .ab-market-grid {
        grid-template-columns: 1fr;
    }

    .ab-hero-actions {
        flex-direction: column;
    }

    .ab-hero-actions a {
        width: 100%;
    }

    .ab-site-search {
        flex-direction: column;
    }

    .ab-site-search button {
        width: 100%;
    }

    .ab-dashboard-preview {
        overflow-x: auto;
    }

    .ab-dashboard-preview-inner {
        min-width: 620px;
    }

}


.ab-tradingview-news{
    width:100%;
    height:560px;
    overflow:hidden;

    padding:8px;

    
	
    border:1px solid var(--ab-border);
    border-radius:var(--ab-radius-lg);

    box-shadow:var(--ab-shadow);
}