/* ---------- tokens ---------- */
:root{
  --navy:#122445;
  --navy-deep:#0A1830;
  --navy-soft:#1B3159;
  --gold:#EBCA63;
  --gold-soft:#F1DB94;
  --paper:#F5F2EA;
  --ink:#14192B;
  --ink-soft:#4E5872;
  --line:rgba(18,36,69,.13);
  --line-on-navy:rgba(235,202,99,.18);
  --up:#1F8A5F;
  --down:#C1432E;
  --candle-up:#10b981;
  --candle-down:#ef4444;
  --radius:2px;
}

*{box-sizing:border-box;}
html{scrollbar-color: var(--gold) var(--navy-deep); scrollbar-width: thin;}
::-webkit-scrollbar{width:11px;}
::-webkit-scrollbar-track{background:var(--navy-deep);}
::-webkit-scrollbar-thumb{background:var(--gold); border:3px solid var(--navy-deep);}
::-webkit-scrollbar-thumb:hover{background:var(--gold-soft);}

html{
  scroll-behavior:smooth;
  overflow-x:hidden;
  max-width:100%;
  background:var(--navy);
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
  .hero-content.loaded p.lede,
  .hero-content.loaded .hero-ctas{transform:none; opacity:1;}
}

body{
  margin:0;
  overflow-x:hidden;
  max-width:100%;
  background:var(--navy);
  color:#E2E8F0;
  font-family:'DM Sans',sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  max-width:100%;
  width:100%;
}

h1,h2,h3{
  font-family:'Michroma',sans-serif;
  font-weight:400;
  margin:0;
  color:#FFFFFF;
  letter-spacing:-0.01em;
  line-height:1.35;
}

a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
img,svg{display:block;}

.wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 32px;
}

.mono{font-family:'Zalando Sans Expanded',sans-serif; letter-spacing:.02em; font-weight:500;}

.up{color:var(--up);}
.down{color:var(--down);}

/* ---------- reveal system ---------- */
.reveal{
  opacity:0;
}
.reveal .reveal-rule{
  width:0;
  height:1px;
  background:var(--gold);
  margin-bottom:18px;
  transition:width .9s cubic-bezier(.22,.61,.36,1);
}
.reveal .reveal-body{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .7s ease .15s, transform .7s cubic-bezier(.22,.61,.36,1) .15s;
}
.reveal.in-view{opacity:1;}
.reveal.in-view .reveal-rule{width:56px;}
.reveal.in-view .reveal-body{opacity:1; transform:translateY(0);}

.stagger-group > *{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .6s ease, transform .6s cubic-bezier(.22,.61,.36,1);
}
.stagger-group.in-view > *{opacity:1; transform:translateY(0);}
.stagger-group.in-view > *:nth-child(1){transition-delay:.03s;}
.stagger-group.in-view > *:nth-child(2){transition-delay:.11s;}
.stagger-group.in-view > *:nth-child(3){transition-delay:.19s;}
.stagger-group.in-view > *:nth-child(4){transition-delay:.27s;}
.stagger-group.in-view > *:nth-child(5){transition-delay:.35s;}
.stagger-group.in-view > *:nth-child(6){transition-delay:.43s;}

/* ---------- header ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(10,24,48,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-on-navy);
  transition:padding .3s ease;
}
.site-header .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:78px;
  transition:height .3s ease;
}
.site-header.scrolled .wrap{height:60px;}

.logo{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--paper);
  text-decoration:none;
  transition:opacity .25s ease, transform .2s ease;
}
.logo:hover{
  opacity:.92;
  transform:translateY(-1px);
}
.logo-img{
  height:44px;
  width:auto;
  max-width:215px;
  object-fit:contain;
  display:block;
}
.footer-brand .logo-img{
  height:48px;
  max-width:230px;
}
.nav-overlay-head .logo-img{
  height:44px;
  max-width:215px;
}
@media (max-width:640px){
  .logo-img{
    height:36px;
    max-width:175px;
  }
}
.logo .mark{
  width:11px;height:11px;
  background:var(--gold);
  flex:none;
  transform:translateY(-1px);
}
.logo .word{
  font-family:'Michroma',sans-serif;
  font-size:16.5px;
  font-weight:400;
  letter-spacing:0;
  color:var(--paper);
}
.logo .word b{color:var(--gold); font-weight:400;}

/* ---------- desktop navigation ---------- */
.desktop-nav{
  display:flex;
  align-items:center;
  gap:18px;
}
.desktop-nav .nav-link{
  font-family:'DM Sans',sans-serif;
  font-size:13.5px;
  font-weight:500;
  letter-spacing:.02em;
  color:rgba(245,242,234,.82);
  padding:6px 2px;
  position:relative;
  transition:color .2s ease;
  white-space:nowrap;
}
.desktop-nav .nav-link:hover{
  color:var(--gold);
}
.desktop-nav .nav-link::after{
  content:'';
  position:absolute;
  bottom:-2px;
  left:0;
  width:0;
  height:2px;
  background:var(--gold);
  transition:width .25s ease;
}
.desktop-nav .nav-link:hover::after,
.desktop-nav .nav-link.active::after{
  width:100%;
}
.desktop-nav .nav-link.active{
  color:var(--gold);
  font-weight:600;
}

/* ---------- nav dropdown ---------- */
.nav-item-dropdown{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.dropdown-toggle{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.dropdown-arrow{
  width:11px;
  height:11px;
  stroke:currentColor;
  transition:transform .25s ease, stroke .2s ease;
  pointer-events:none;
  transform-origin:center;
  margin-top:1px;
}
.nav-item-dropdown:hover .dropdown-arrow,
.nav-item-dropdown.open .dropdown-arrow{
  transform:rotate(180deg);
  stroke:var(--gold);
}
.nav-item-dropdown:hover .nav-link::after{
  width:100%;
}

.nav-dropdown-menu{
  position:absolute;
  top:calc(100% + 14px);
  left:-14px;
  min-width:280px;
  background:rgba(10,24,48,.96);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(235,202,99,.28);
  border-top:2px solid var(--gold);
  border-radius:4px;
  padding:10px 8px 8px;
  box-shadow:0 18px 45px -8px rgba(0,0,0,.65), 0 0 25px -5px rgba(235,202,99,.15);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .25s ease, transform .25s cubic-bezier(.22,.61,.36,1), visibility .25s;
  z-index:100;
  pointer-events:none;
}
.nav-dropdown-menu::before{
  content:'';
  position:absolute;
  top:-16px;
  left:0;
  right:0;
  height:16px;
}

.nav-item-dropdown:hover .nav-dropdown-menu,
.nav-item-dropdown:focus-within .nav-dropdown-menu,
.nav-item-dropdown.open .nav-dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

.dropdown-header-label{
  font-family:'Zalando Sans Expanded',sans-serif;
  font-size:9.5px;
  letter-spacing:.1em;
  font-weight:700;
  text-transform:uppercase;
  color:rgba(235,202,99,.85);
  padding:6px 12px 8px;
  border-bottom:1px solid rgba(235,202,99,.15);
  margin-bottom:6px;
}

.dropdown-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:9px 12px;
  border-radius:3px;
  text-decoration:none;
  transition:background .2s ease, transform .15s ease;
}
.dropdown-item:hover{
  background:rgba(235,202,99,.1);
  transform:translateX(3px);
}
.dropdown-item .drop-icon{
  width:28px;
  height:28px;
  border-radius:4px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(235,202,99,.2);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  flex:none;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.dropdown-item:hover .drop-icon{
  background:var(--gold);
  color:var(--navy-deep);
  border-color:var(--gold);
}
.dropdown-item .drop-icon svg{
  width:14px;
  height:14px;
}
.dropdown-item .drop-meta{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.dropdown-item .drop-title{
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  font-weight:600;
  color:#FFFFFF;
  line-height:1.3;
  transition:color .2s ease;
}
.dropdown-item:hover .drop-title{
  color:var(--gold);
}
.dropdown-item .drop-sub{
  font-size:11px;
  color:rgba(245,242,234,.55);
  line-height:1.3;
}

@media (min-width:1025px){
  .menu-btn{display:none !important;}
}
@media (max-width:1024px){
  .desktop-nav{display:none !important;}
  .menu-btn{display:flex;}
}

.nav-right{
  display:flex;
  align-items:center;
  gap:14px;
}

.search-form{
  position:relative;
  display:flex;
  align-items:center;
}
.search-form input{
  width:150px;
  background:rgba(255,255,255,.05);
  border:1px solid var(--line-on-navy);
  color:var(--paper);
  padding:8px 12px 8px 32px;
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  border-radius:20px;
  outline:none;
  transition:width .35s cubic-bezier(.22,.61,.36,1), background .25s ease, border-color .25s ease;
}
.search-form input::placeholder{color:rgba(245,242,234,.4);}
.search-form input:focus{width:180px; background:rgba(255,255,255,.09); border-color:var(--gold);}
.search-form svg{
  position:absolute; left:11px;
  width:14px; height:14px;
  stroke:rgba(245,242,234,.55);
  pointer-events:none;
}
.search-form:focus-within svg{stroke:var(--gold);}
@media (max-width:640px){
  .search-form input{width:36px; padding-left:34px; color:transparent; cursor:pointer;}
  .search-form input:focus{width:160px; color:var(--paper); cursor:text;}
}

.menu-btn{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:34px; height:34px;
  background:none;
  border:none;
  padding:0;
  cursor:pointer;
}
.menu-btn:hover span{
  background:var(--gold);
}
.menu-btn span{
  display:block;
  width:22px; height:1.5px;
  background:var(--paper);
  transition:transform .35s cubic-bezier(.22,.61,.36,1), opacity .25s ease, background .25s ease;
}
.menu-btn span:nth-child(2){width:16px; margin-left:6px;}
.menu-btn.open span{background:var(--gold);}
.menu-btn.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg); width:22px; margin-left:0;}
.menu-btn.open span:nth-child(2){opacity:0;}
.menu-btn.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* ---------- nav overlay ---------- */
.nav-overlay{
  position:fixed; inset:0;
  background:var(--navy-deep);
  z-index:120;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:32px 32px 40px;
  transform:translateY(-100%);
  transition:transform .55s cubic-bezier(.65,0,.35,1);
  overflow-y:auto;
}
.nav-overlay.open{transform:translateY(0);}

.nav-overlay-head{
  max-width:1180px;
  margin:0 auto 28px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.nav-close-btn{
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:transparent;
  border:1px solid var(--line-on-navy);
  border-radius:22px;
  padding:8px 18px;
  color:var(--paper);
  font-family:'Michroma',sans-serif;
  font-size:12px;
  letter-spacing:.06em;
  cursor:pointer;
  transition:border-color .25s ease, color .25s ease, background .25s ease, transform .2s ease;
}
.nav-close-btn svg{
  width:16px;
  height:16px;
  stroke:currentColor;
}
.nav-close-btn:hover{
  border-color:var(--gold);
  color:var(--gold);
  background:rgba(235,202,99,.08);
  transform:translateY(-1px);
}
body.dark-mode .nav-close-btn{
  color:#FFFFFF;
  border-color:rgba(255,255,255,0.18);
}
body.dark-mode .nav-close-btn:hover{
  border-color:var(--gold) !important;
  color:var(--gold) !important;
  background:rgba(235,202,99,.12) !important;
}
.nav-overlay .links{
  max-width:1180px;
  margin:0 auto;
  width:100%;
}
.nav-overlay .links a{
  display:flex;
  align-items:baseline;
  gap:18px;
  font-family:'Michroma',sans-serif;
  font-size:clamp(24px,5.4vw,42px);
  font-weight:400;
  color:var(--paper);
  padding:16px 0;
  border-bottom:1px solid var(--line-on-navy);
  transition:color .25s ease, padding-left .35s cubic-bezier(.22,.61,.36,1);
}
.nav-overlay .links a .num{
  font-family:'Zalando Sans Expanded',sans-serif;
  font-size:13px;
  color:var(--gold);
}
.nav-overlay .links a:first-child{border-top:1px solid var(--line-on-navy);}

.nav-overlay-group{
  width:100%;
}
.nav-overlay-sublinks{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  padding:10px 0 16px 42px;
  border-bottom:1px solid var(--line-on-navy);
}
.nav-overlay-sublinks a{
  font-family:'DM Sans',sans-serif !important;
  font-size:14px !important;
  color:rgba(245,242,234,.7) !important;
  padding:4px 0 !important;
  border-bottom:none !important;
  border-top:none !important;
  font-weight:500 !important;
}
.nav-overlay-sublinks a:hover{
  color:var(--gold) !important;
  padding-left:0 !important;
}

.nav-overlay .foot{
  max-width:1180px;
  margin:40px auto 0;
  width:100%;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  color:rgba(245,242,234,.5);
  font-size:13px;
}
.nav-overlay .foot a{color:rgba(245,242,234,.75); border-bottom:1px solid transparent;}
.nav-overlay .foot a:hover{color:var(--gold);}

/* ---------- hero ---------- */
.hero{
  position:relative;
  background:radial-gradient(circle at 80% 20%, rgba(235,202,99,.08) 0%, rgba(18,36,69,0) 50%),
             radial-gradient(circle at 10% 80%, rgba(16,185,129,.06) 0%, rgba(18,36,69,0) 40%),
             var(--navy);
  color:var(--paper);
  overflow:hidden;
  padding:80px 0 64px;
}

/* Interactive Gold Particle Swarm - removed */
.hero-particle-container {
  display: none !important;
}

/* decorative candle chart, drifting slowly behind the copy — not real data */
.hero-chart-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  opacity:.18;
  mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  pointer-events:none;
}
body.dark-mode .hero-chart-bg{
  opacity:.24;
}
.hero-chart-bg::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg, var(--navy) 0%, transparent 40%);
  pointer-events:none;
}
.hero-chart-parallax{
  position:absolute;
  inset:-60px 0 -60px 0;
  will-change:transform;
}
.hero-chart-drift{
  display:flex;
  width:200%;
  height:100%;
  animation:heroDrift 130s linear infinite;
  will-change:transform;
}
.hero-chart-drift svg{flex:none; width:50%; height:100%;}
@keyframes heroDrift{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

.hero .wrap{
  position:relative;
  z-index:2;
}

.hero-content{
  position:relative;
  z-index:2;
  max-width:880px;
  pointer-events:none;
}

.hero-content .hero-ctas,
.hero-content a,
.hero-content button{
  pointer-events:auto;
}

.hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--gold);
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:18px;
  background:none !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}

.hero h1{
  position:relative;
  overflow:hidden;
  font-size:clamp(34px,4.6vw,56px);
  line-height:1.2;
  color:var(--gold) !important;
  max-width:880px;
  letter-spacing:-.015em;
}
.hero h1 .gold-highlight{color:var(--gold);}
.hero h1 .curtain{
  position:absolute;
  inset:0;
  background:var(--navy);
  transform-origin:right;
  transform:scaleX(1);
  transition:transform .9s cubic-bezier(.65,0,.35,1) .15s;
}
.hero-content.loaded h1 .curtain{transform:scaleX(0);}

.hero p.lede{
  margin-top:22px;
  max-width:680px;
  color:#FFFFFF !important;
  font-size:17.5px;
  line-height:1.65;
  opacity:0;
  transform:translateY(10px);
  transition:opacity .7s ease .5s, transform .7s cubic-bezier(.22,.61,.36,1) .5s;
}
.hero p,
.hero-content p{
  color:#FFFFFF !important;
}
.hero-content.loaded p.lede{opacity:1; transform:translateY(0);}

.hero-ctas{
  margin-top:36px;
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  opacity:0;
  transform:translateY(10px);
  transition:opacity .7s ease .62s, transform .7s cubic-bezier(.22,.61,.36,1) .62s;
}
.hero-content.loaded .hero-ctas{opacity:1; transform:translateY(0);}

.btn-demo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 28px;
  border:1px solid rgba(245,242,234,.35);
  background:rgba(255,255,255,.05);
  color:var(--paper);
  border-radius:2px;
  font-family:'Michroma',sans-serif;
  font-size:13px;
  letter-spacing:.04em;
  cursor:pointer;
  transition:all .25s ease;
  text-decoration:none;
}
.btn-demo:hover{
  border-color:var(--gold);
  color:var(--gold);
  background:rgba(235,202,99,.1);
  box-shadow:0 0 20px rgba(235,202,99,.15);
  transform:translateY(-2px);
}

.hero-trust-strip{
  margin-top:40px;
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
  font-size:13.5px;
  color:var(--gold) !important;
}
.hero-trust-item,
.trust-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13.5px;
  color:var(--gold) !important;
}
.hero-trust-item svg,
.trust-pill svg{
  width:16px;
  height:16px;
  max-width:16px;
  max-height:16px;
  stroke:var(--gold) !important;
  flex:none;
}

.section[id], .hero, .stats, .promotions-section, .why-choose, .platform, .markets, .accounts {
  scroll-margin-top: 84px;
}

/* ---------- buttons ---------- */
.btn-frame{
  --accent:var(--gold);
  --contrast:var(--navy-deep);
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:15px 30px;
  color:var(--accent);
  font-size:14.5px;
  font-weight:600;
  letter-spacing:.01em;
  transition:color .3s ease .08s;
  background:transparent;
  border:none;
  outline:none;
  font-family:inherit;
  cursor:pointer;
  isolation:isolate;
  text-decoration:none;
  line-height:1.2;
  white-space:nowrap;
}
.btn-frame .corner{
  position:absolute;
  width:9px; height:9px;
  box-sizing:border-box;
  border:1px solid var(--accent);
  transition:width .35s cubic-bezier(.22,.61,.36,1), height .35s cubic-bezier(.22,.61,.36,1), border-color .3s ease;
  z-index:3;
}
.btn-frame .corner.tl{top:-1px; left:-1px; border-right:none; border-bottom:none;}
.btn-frame .corner.tr{top:-1px; right:-1px; border-left:none; border-bottom:none;}
.btn-frame .corner.bl{bottom:-1px; left:-1px; border-right:none; border-top:none;}
.btn-frame .corner.br{bottom:-1px; right:-1px; border-left:none; border-top:none;}
.btn-frame .fill{
  position:absolute;
  inset:0;
  background:var(--accent);
  transform:scaleY(0);
  transform-origin:bottom;
  transition:transform .45s cubic-bezier(.65,0,.35,1);
  z-index:1;
}
.btn-frame .label{
  position:relative;
  z-index:2;
  transition:color .3s ease;
}
.btn-frame:hover{color:var(--contrast);}
.btn-frame:hover .label{color:var(--contrast);}
.btn-frame:hover .fill{transform:scaleY(1);}
.btn-frame:hover .corner{width:14px; height:14px; border-color:var(--contrast);}
.btn-frame.on-gold{--accent:var(--navy-deep); --contrast:var(--paper);}

/* High-contrast buttons on dark navy containers (matrix title bar, calc results box) */
.compare-title-bar .btn-frame,
.calc-results-box .btn-frame{
  --accent:var(--gold) !important;
  --contrast:#0A1830 !important;
  color:var(--gold) !important;
  background:transparent !important;
}
.compare-title-bar .btn-frame .label,
.calc-results-box .btn-frame .label{
  color:var(--gold) !important;
}
.compare-title-bar .btn-frame .corner,
.calc-results-box .btn-frame .corner{
  border-color:var(--gold) !important;
}
.compare-title-bar .btn-frame .fill,
.calc-results-box .btn-frame .fill{
  background:var(--gold) !important;
}
.compare-title-bar .btn-frame:hover,
.calc-results-box .btn-frame:hover{
  color:#0A1830 !important;
}
.compare-title-bar .btn-frame:hover .label,
.calc-results-box .btn-frame:hover .label{
  color:#0A1830 !important;
}
.compare-title-bar .btn-frame:hover .corner,
.calc-results-box .btn-frame:hover .corner{
  border-color:#0A1830 !important;
}

/* High-contrast buttons in Light Mode on blue background */
.account-card:not(.featured) .btn-frame,
.edu-card .btn-frame,
.contact-form .btn-frame {
  --accent:var(--gold);
  --contrast:#0A1830;
  color:var(--gold);
}
.account-card:not(.featured) .btn-frame .fill,
.edu-card .btn-frame .fill,
.contact-form .btn-frame .fill {
  background:var(--gold);
}
.account-card:not(.featured) .btn-frame .corner,
.edu-card .btn-frame .corner,
.contact-form .btn-frame .corner {
  border-color:var(--gold);
}
.account-card:not(.featured) .btn-frame:hover,
.edu-card .btn-frame:hover,
.contact-form .btn-frame:hover {
  color:#0A1830;
}
.account-card:not(.featured) .btn-frame:hover .label,
.edu-card .btn-frame:hover .label,
.contact-form .btn-frame:hover .label {
  color:#0A1830;
}
.account-card:not(.featured) .btn-frame:hover .corner,
.edu-card .btn-frame:hover .corner,
.contact-form .btn-frame:hover .corner {
  border-color:#0A1830;
}

/* ---------- stats ---------- */
.stats{
  background:var(--navy);
  border-bottom:1px solid var(--line-on-navy);
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:56px 0;
}
.stat{
  padding:0 28px;
  border-left:1px solid var(--line-on-navy);
}
.stat:first-child{border-left:none; padding-left:0;}
.stat .num{
  font-family:'Michroma',sans-serif;
  font-size:clamp(24px,2.8vw,34px);
  color:#FFFFFF;
  font-weight:400;
}
.stat .label{
  margin-top:8px;
  font-size:13.5px;
  color:#94A3B8;
  max-width:22ch;
}

/* ---------- section shell ---------- */
.section{padding:96px 0; background:var(--navy);}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:32px;
  margin-bottom:52px;
  flex-wrap:wrap;
}
.section-head h2{
  font-size:clamp(28px,3.4vw,38px);
  max-width:16ch;
  color:#FFFFFF;
}
.section-head p{
  max-width:36ch;
  color:#94A3B8;
  font-size:15px;
  padding-bottom:4px;
}

/* ---------- markets ---------- */
.markets{background:var(--navy); padding:96px 0;}
.markets-layout{
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:44px;
  align-items:start;
}
.markets-cols{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0 36px;
}
.market-group{border-top:1px solid var(--line-on-navy); padding-top:16px; margin-bottom:30px;}
.market-group h3{
  font-family:'DM Sans',sans-serif;
  font-weight:600;
  font-size:13px;
  letter-spacing:.03em;
  color:var(--gold);
  margin-bottom:6px;
}
.rate-row,
.market-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--line-on-navy);
  font-size:14px;
}
.rate-row .pair,
.market-row .name{font-weight:500; color:#FFFFFF;}
.rate-row .price{
  font-family:'Zalando Sans Expanded',sans-serif;
  font-size:13px;
  color:#FFFFFF;
  margin-left:auto;
  margin-right:16px;
}
.rate-row .figs,
.market-row .figs{
  display:flex;
  gap:18px;
  font-family:'Zalando Sans Expanded',sans-serif;
  font-size:13px;
}
.rate-row .chg,
.market-row .figs .chg{min-width:54px; text-align:right;}

/* Markets Trading Visual Card */
.markets-visual-card{
  background:var(--navy-deep);
  border:1px solid rgba(235,202,99,.22);
  border-radius:6px;
  overflow:hidden;
  box-shadow:0 18px 40px -12px rgba(0,0,0,.6);
  display:flex;
  flex-direction:column;
  transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease, border-color .3s ease;
}
.markets-visual-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 48px -10px rgba(0,0,0,.8);
  border-color:var(--gold);
}
.markets-img-container{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--navy-deep);
}
.markets-trading-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
.markets-visual-card:hover .markets-trading-img{
  transform:scale(1.03);
}
.markets-img-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(10,24,48,.1) 0%, rgba(10,24,48,.3) 60%, rgba(10,24,48,.75) 100%);
  pointer-events:none;
}
.markets-floating-badge{
  position:absolute;
  z-index:2;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  background:rgba(10,24,48,.84);
  border:1px solid rgba(235,202,99,.3);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border-radius:4px;
  font-size:10.5px;
  letter-spacing:.04em;
  color:var(--paper);
  font-weight:600;
}
.markets-floating-badge.top{
  top:12px;
  left:12px;
  font-size:10px;
  letter-spacing:.06em;
  color:var(--gold);
}
.markets-floating-badge.bottom{
  bottom:12px;
  left:12px;
}
.markets-floating-badge .badge-divider{
  color:rgba(245,242,234,.35);
}
.markets-card-footer{
  padding:22px 24px;
  display:flex;
  flex-direction:column;
  gap:14px;
  background:var(--navy-deep);
}
.markets-card-info h4{
  font-family:'Michroma',sans-serif;
  font-size:15px;
  color:#FFFFFF;
  margin:0 0 6px 0;
  letter-spacing:-.01em;
}
.markets-card-info p{
  font-size:13px;
  color:#94A3B8;
  line-height:1.55;
  margin:0;
}
.markets-trade-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--gold);
  font-weight:600;
  font-size:13px;
  padding-top:10px;
  border-top:1px solid var(--line-on-navy);
  transition:color .2s ease, gap .25s ease;
  text-decoration:none;
}
.markets-trade-link svg{
  width:15px;
  height:15px;
  stroke:var(--gold);
  transition:transform .2s ease;
}
.markets-trade-link:hover{
  color:var(--gold);
}
.markets-trade-link:hover svg{
  transform:translateX(4px);
}

/* Dark mode for markets visual card */
body.dark-mode .markets-visual-card{
  background:var(--navy-deep);
  border-color:rgba(235,202,99,.22);
  box-shadow:0 18px 40px -12px rgba(0,0,0,.6);
}
body.dark-mode .markets-card-footer{
  background:var(--navy-deep);
}
body.dark-mode .markets-card-info h4{
  color:#FFFFFF;
}
body.dark-mode .markets-card-info p{
  color:rgba(245,242,234,.65);
}
body.dark-mode .markets-trade-link{
  color:var(--gold);
  border-top-color:rgba(235,202,99,.15);
}

/* Responsive Markets Layout */
@media (max-width:1024px){
  .markets-layout{
    grid-template-columns:1fr;
    gap:40px;
  }
}
@media (max-width:640px){
  .markets-cols{
    grid-template-columns:1fr;
    gap:0;
  }
}

/* ---------- why / features ---------- */
.why{background:var(--navy); color:var(--paper);}
.why .section-head h2{color:var(--paper);}
.why .section-head p{color:rgba(245,242,234,.65);}
.feature-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--line-on-navy);
  border-left:1px solid var(--line-on-navy);
}
.feature{
  padding:34px 34px 34px 0;
  margin-left:34px;
  border-right:1px solid var(--line-on-navy);
  border-bottom:1px solid var(--line-on-navy);
}
.feature svg{width:26px; height:26px; stroke:var(--gold); margin-bottom:18px;}
.feature h3{
  font-family:'Michroma',sans-serif;
  font-weight:400;
  font-size:16px;
  color:var(--paper);
  margin-bottom:10px;
}
.feature p{font-size:14.5px; color:rgba(245,242,234,.65); max-width:34ch;}

/* ---------- account types ---------- */
.accounts{background:var(--navy);}
.account-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  align-items:stretch;
}
.account-card{
  position:relative;
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  padding:30px 20px 24px;
  display:flex;
  flex-direction:column;
  transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease, border-color .3s ease;
}
.account-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 36px -10px rgba(0,0,0,.5);
  border-color:var(--gold);
}

.account-tier-badge{
  display:inline-block;
  font-family:'Zalando Sans Expanded',sans-serif;
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:4px 9px;
  background:rgba(235,202,99,.12);
  color:var(--gold);
  border-radius:2px;
  margin-bottom:16px;
  align-self:flex-start;
}

.account-card h3{
  font-size:22px;
  color:#FFFFFF;
  margin-bottom:6px;
}
.account-card .account-note{
  font-size:13px;
  color:#94A3B8;
  min-height:38px;
  margin:0 0 14px;
  line-height:1.45;
}

.account-price-tag{
  padding:14px 0;
  border-top:1px solid var(--line-on-navy);
  border-bottom:1px solid var(--line-on-navy);
  margin-bottom:18px;
}
.account-price-tag .price-val{
  font-family:'Michroma',sans-serif;
  font-size:25px;
  color:var(--gold);
  display:block;
  line-height:1.15;
}
.account-price-tag .price-lbl{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:#94A3B8;
  margin-top:4px;
  display:block;
}

.account-specs{margin-bottom:24px;}
.account-specs .spec{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
  padding:9px 0;
  border-top:1px dashed rgba(255,255,255,.1);
  font-size:12.5px;
}
.account-specs .spec:first-child{border-top:none;}
.account-specs .spec .k{color:#94A3B8; font-size:12px; line-height:1.3;}
.account-specs .spec .v{color:#FFFFFF; font-size:12.5px; text-align:right; font-weight:600; line-height:1.3;}

.account-card .btn-frame{
  margin-top:auto;
  align-self:stretch;
  justify-content:center;
}
.btn-frame.small{padding:12px 18px; font-size:13px;}

/* Featured / Pro Card Highlight */
.account-card.featured{
  background:#0d1e3a;
  border:1px solid var(--gold);
  color:var(--paper);
  box-shadow:0 20px 42px -10px rgba(0,0,0,.5);
}
.account-card.featured:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 50px -10px rgba(0,0,0,.6), 0 0 24px rgba(235,202,99,.15);
}
.account-card.featured .account-tier-badge{
  background:var(--gold);
  color:var(--navy-deep);
}
.account-card.featured h3{color:#FFFFFF;}
.account-card.featured .account-note{color:rgba(245,242,234,.7);}
.account-card.featured .account-price-tag{
  border-top-color:var(--line-on-navy);
  border-bottom-color:var(--line-on-navy);
}
.account-card.featured .account-price-tag .price-val{color:var(--gold);}
.account-card.featured .account-price-tag .price-lbl{color:rgba(245,242,234,.55);}
.account-card.featured .account-specs .spec{border-top-color:rgba(235,202,99,.15);}
.account-card.featured .account-specs .spec .k{color:rgba(245,242,234,.65);}
.account-card.featured .account-specs .spec .v{color:var(--paper);}
.gold-text{color:var(--gold) !important; font-weight:600;}

/* ---------- account comparison table ---------- */
.account-table-wrap{
  margin-top:48px;
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:6px;
  overflow-x:auto;
  box-shadow:0 18px 40px -12px rgba(0,0,0,.5);
}
.account-table-header{
  padding:24px 28px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
}
.account-table-header h3{
  font-size:18px;
  color:#FFFFFF;
  margin-bottom:4px;
}
.account-table-header p{
  font-size:13px;
  color:#94A3B8;
  margin:0;
}
.account-table{
  width:100%;
  border-collapse:collapse;
  text-align:left;
  min-width:640px;
}
.account-table th,
.account-table td{
  padding:14px 20px;
  border-bottom:1px solid rgba(255,255,255,.06);
  font-size:13px;
}
.account-table th{
  background:rgba(255,255,255,.04);
  font-family:'Zalando Sans Expanded',sans-serif;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.08em;
  color:#FFFFFF;
  text-transform:uppercase;
}
.account-table th.col-gold,
.account-table td.col-gold{
  background:rgba(235,202,99,.1);
}
.account-table td.col-gold{
  font-weight:600;
}
.account-table th:first-child,
.account-table td:first-child{
  width:26%;
  font-weight:600;
  color:#FFFFFF;
}
.account-table tr:last-child td{
  border-bottom:none;
}
.account-table td{
  color:#CBD5E1;
}
.account-table td.val-highlight{
  font-family:'Michroma',sans-serif;
  font-size:14px;
  font-weight:700;
  color:#FFFFFF;
}
.account-table tr:hover td{
  background-color:rgba(255,255,255,.02);
}
.account-table tr:hover td.col-gold{
  background-color:rgba(235,202,99,.14);
}

/* ---------- platform ---------- */
.platform{background:var(--navy); padding:96px 0;}

/* Flagship Platform Showcase */
.platform-showcase{
  position:relative;
  margin-bottom:48px;
  background:
    radial-gradient(ellipse at 85% 40%, rgba(235,202,99,.15) 0%, rgba(18,36,69,0) 60%),
    radial-gradient(circle at 12% 85%, rgba(16,185,129,.09) 0%, rgba(18,36,69,0) 45%),
    linear-gradient(145deg, #0A1830 0%, #112242 50%, #152B52 100%);
  border:1px solid rgba(235,202,99,.25);
  border-radius:6px;
  box-shadow:0 24px 60px -15px rgba(10,24,48,.35), 0 0 35px -10px rgba(235,202,99,.12);
  color:var(--paper);
  overflow:hidden;
  transition:opacity .7s ease, transform .7s cubic-bezier(.22,.61,.36,1);
  transform:translateY(16px);
}
.platform-showcase.in-view{
  opacity:1;
  transform:translateY(0);
}
.platform-showcase-grid{
  display:grid;
  grid-template-columns:1.15fr 0.95fr;
  align-items:flex-end;
  gap:36px;
  padding:48px 52px 0;
}
.platform-showcase-content{
  padding-bottom:48px;
  align-self:center;
}

.showcase-badge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:rgba(235,202,99,.08);
  border:1px solid rgba(235,202,99,.3);
  border-radius:20px;
  padding:6px 14px;
  margin-bottom:18px;
  font-family:'Zalando Sans Expanded',sans-serif;
  font-size:11px;
  letter-spacing:.06em;
  color:var(--gold);
}
.showcase-badge .badge-divider{
  color:rgba(245,242,234,.3);
}
.showcase-badge .badge-sub{
  color:rgba(245,242,234,.75);
  font-size:10px;
}

.platform-showcase-content h3{
  font-size:clamp(22px, 2.5vw, 32px);
  line-height:1.28;
  color:#FFFFFF;
  margin-bottom:16px;
  letter-spacing:-.015em;
}
.showcase-intro{
  font-size:15px;
  line-height:1.68;
  color:rgba(245,242,234,.78);
  margin-bottom:28px;
}

.showcase-features-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 20px;
  margin-bottom:32px;
}
.showcase-feat-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.showcase-feat-item .feat-icon{
  width:32px;
  height:32px;
  border-radius:4px;
  background:rgba(235,202,99,.1);
  border:1px solid rgba(235,202,99,.22);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  flex:none;
  margin-top:2px;
  transition:background .25s ease, border-color .25s ease;
}
.showcase-feat-item:hover .feat-icon{
  background:rgba(235,202,99,.2);
  border-color:var(--gold);
}
.showcase-feat-item .feat-icon svg{
  width:16px;
  height:16px;
}
.showcase-feat-item .feat-meta{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.showcase-feat-item .feat-title{
  font-size:13.5px;
  font-weight:600;
  color:#FFFFFF;
  line-height:1.35;
}
.showcase-feat-item .feat-desc{
  font-size:12px;
  color:rgba(245,242,234,.62);
  line-height:1.45;
}

.showcase-actions{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.btn-showcase-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 28px;
  background:var(--gold);
  color:var(--navy-deep) !important;
  font-family:'Michroma',sans-serif;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.04em;
  border-radius:2px;
  border:1px solid var(--gold);
  box-shadow:0 4px 18px rgba(235,202,99,.3);
  transition:all .25s cubic-bezier(.22,.61,.36,1);
  text-decoration:none;
  cursor:pointer;
  line-height:1.2;
}
.btn-showcase-primary:hover{
  background:#f7e5aa;
  border-color:#f7e5aa;
  box-shadow:0 6px 26px rgba(235,202,99,.5);
  transform:translateY(-2px);
  color:var(--navy-deep) !important;
}

/* Visual Column */
.platform-showcase-visual{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  height:100%;
  min-height:400px;
}
.showcase-glow-backdrop{
  position:absolute;
  width:320px;
  height:320px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(235,202,99,.2) 0%, rgba(18,36,69,0) 70%);
  top:30%;
  left:50%;
  transform:translate(-50%, -50%);
  pointer-events:none;
  filter:blur(30px);
}
.trader-figure-wrap{
  position:relative;
  width:100%;
  max-width:540px;
  display:flex;
  justify-content:center;
  align-items:flex-end;
}
.trader-showcase-img{
  width:100%;
  height:auto;
  max-height:460px;
  object-fit:contain;
  object-position:bottom center;
  display:block;
  position:relative;
  z-index:2;
  filter:drop-shadow(0 15px 35px rgba(0,0,0,.5));
  transition:transform .4s cubic-bezier(.22,.61,.36,1);
}
.platform-showcase:hover .trader-showcase-img{
  transform:scale(1.02);
}

/* Floating Badges */
.floating-trader-badge{
  position:absolute;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  background:rgba(10,24,48,.85);
  border:1px solid rgba(235,202,99,.32);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-radius:6px;
  box-shadow:0 12px 28px -5px rgba(0,0,0,.45), 0 0 15px rgba(235,202,99,.12);
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
  pointer-events:auto;
}
.floating-trader-badge:hover{
  border-color:var(--gold);
  box-shadow:0 14px 32px -5px rgba(0,0,0,.55), 0 0 20px rgba(235,202,99,.2);
  transform:translateY(-2px);
}
.floating-trader-badge .badge-text-group{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.floating-trader-badge .badge-sub{
  font-size:9.5px;
  letter-spacing:.06em;
  font-weight:700;
  text-transform:uppercase;
  color:rgba(245,242,234,.65);
}
.floating-trader-badge .badge-val{
  font-size:12px;
  font-weight:600;
  color:var(--gold);
}
.floating-trader-badge .badge-icon-wrap{
  width:26px;
  height:26px;
  border-radius:4px;
  background:rgba(235,202,99,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  flex:none;
}
.floating-trader-badge .badge-icon-wrap svg{
  width:14px;
  height:14px;
}
.floating-trader-badge .badge-icon-wrap.green{
  background:rgba(16,185,129,.15);
  color:var(--candle-up);
}

/* Positioning Badges around the Trader and Laptop */
.badge-feed{
  top:20px;
  left:0;
  animation:floatSoft 4.2s ease-in-out infinite;
}
.badge-speed{
  bottom:38px;
  right:0;
  animation:floatSoft 4.8s ease-in-out infinite 1s;
}
.badge-security{
  bottom:115px;
  left:-8px;
  animation:floatSoft 5.2s ease-in-out infinite 2s;
}

@keyframes floatSoft{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-6px);}
}

/* Dark Mode Adjustments */
body.dark-mode .platform-showcase{
  background:
    radial-gradient(ellipse at 85% 40%, rgba(235,202,99,.18) 0%, rgba(6,12,24,0) 60%),
    radial-gradient(circle at 12% 85%, rgba(16,185,129,.10) 0%, rgba(6,12,24,0) 45%),
    linear-gradient(145deg, #060e1d 0%, #091830 50%, #0e2244 100%);
  border-color:rgba(235,202,99,.32);
  box-shadow:0 24px 60px -15px rgba(0,0,0,.6), 0 0 35px -10px rgba(235,202,99,.15);
}

/* Responsive Media Queries */
@media (max-width:1080px){
  .platform-showcase-grid{
    padding:40px 32px 0;
    gap:28px;
  }
  .badge-security{display:none;}
  .showcase-features-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:880px){
  .platform-showcase-grid{
    grid-template-columns:1fr;
    padding:36px 24px 0;
    align-items:center;
  }
  .platform-showcase-content{
    padding-bottom:28px;
  }
  .platform-showcase-visual{
    min-height:300px;
  }
  .trader-showcase-img{
    max-height:380px;
  }
  .badge-feed{top:8px; left:12px;}
  .badge-speed{bottom:18px; right:12px;}
}
@media (max-width:540px){
  .platform-showcase-grid{
    padding:28px 18px 0;
  }
  .showcase-badge{
    flex-wrap:wrap;
  }
  .showcase-badge .badge-sub{
    display:none;
  }
  .floating-trader-badge{
    padding:6px 10px;
  }
  .floating-trader-badge .badge-sub{
    font-size:8.5px;
  }
  .floating-trader-badge .badge-val{
    font-size:10.5px;
  }
  .badge-feed{top:6px; left:6px;}
  .badge-speed{bottom:12px; right:6px;}
  .showcase-actions .btn-frame,
  .showcase-actions .btn-demo{
    width:100%;
    text-align:center;
    justify-content:center;
  }
}

.platform-cards-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.platform-card{
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  padding:36px 30px;
  transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease, border-color .3s ease;
  position:relative;
}
.platform-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 36px -10px rgba(0,0,0,.5);
  border-color:var(--gold);
}
.platform-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:22px;
}
.platform-icon{
  width:46px;
  height:46px;
  border-radius:4px;
  background:rgba(255,255,255,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  transition:background .3s ease, color .3s ease;
}
.platform-card:hover .platform-icon{
  background:var(--gold);
  color:var(--navy-deep);
}
.platform-icon svg{
  width:22px;
  height:22px;
}
.platform-num{
  font-size:13px;
  color:var(--gold);
  font-weight:600;
  letter-spacing:.04em;
}
.platform-card h3{
  font-size:19px;
  color:#FFFFFF;
  margin-bottom:10px;
}
.platform-card p{
  font-size:14.5px;
  color:#94A3B8;
  line-height:1.6;
  margin:0;
}

/* ---------- cta band ---------- */
.cta-band{
  background:var(--navy-deep);
  border-top:1px solid var(--line-on-navy);
  border-bottom:1px solid var(--line-on-navy);
  padding:78px 0;
}
.cta-band .wrap{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  flex-wrap:wrap;
}
.cta-band h2{
  color:#FFFFFF;
  font-size:clamp(26px,3.2vw,36px);
  max-width:16ch;
}
.cta-band .btn-frame{
  flex:none;
  --accent:var(--gold) !important;
  --contrast:#0A1830 !important;
  color:var(--gold) !important;
}
.cta-band .btn-frame .label{color:var(--gold) !important;}
.cta-band .btn-frame .corner{border-color:var(--gold) !important;}
.cta-band .btn-frame .fill{background:var(--gold) !important;}
.cta-band .btn-frame:hover{color:#0A1830 !important;}
.cta-band .btn-frame:hover .label{color:#0A1830 !important;}
.cta-band .btn-frame:hover .corner{border-color:#0A1830 !important;}

/* ---------- why choose AX Capitals ---------- */
.why-choose{
  background:var(--navy);
  padding:96px 0;
  position:relative;
}
.why-choose-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin:48px 0;
}
.why-card{
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  padding:34px 28px;
  position:relative;
  transition:transform .3s cubic-bezier(.22,.61,.36,1), box-shadow .3s ease, border-color .3s ease;
}
.why-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 36px -10px rgba(0,0,0,.5);
  border-color:var(--gold);
}
.why-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:20px;
}
.why-icon-box{
  width:50px;
  height:50px;
  border-radius:4px;
  background:rgba(255,255,255,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  transition:background .3s ease, color .3s ease;
}
.why-card:hover .why-icon-box{
  background:var(--gold);
  color:var(--navy-deep);
}
.why-icon-box svg{width:24px; height:24px;}
.why-stat-callout{
  font-family:'Michroma',sans-serif;
  font-size:18px;
  color:var(--gold);
  font-weight:600;
}
.why-card h3{
  font-size:18px;
  color:#FFFFFF;
  margin-bottom:12px;
}
.why-card p{
  font-size:14.5px;
  color:#94A3B8;
  line-height:1.6;
  margin:0;
}

/* Comparison Table */
.compare-container{
  margin-top:56px;
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:6px;
  overflow:hidden;
  max-width:100%;
  box-shadow:0 18px 40px -10px rgba(0,0,0,.5);
}
.compare-title-bar{
  padding:24px 32px;
  background:var(--navy-deep);
  border-bottom:1px solid rgba(255,255,255,.08);
  color:var(--paper);
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
}
.compare-title-bar h3{
  color:#FFFFFF;
  font-size:20px;
}
.compare-title-bar p{
  color:#94A3B8;
  font-size:13.5px;
  margin:0;
}
.table-responsive{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.broker-compare-table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
  min-width:640px;
}
.broker-compare-table th,
.broker-compare-table td{
  padding:16px 24px;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.broker-compare-table th{
  background:rgba(255,255,255,.04);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#FFFFFF;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.broker-compare-table td{
  color:#CBD5E1;
}
.broker-compare-table th.highlight-col{
  background:rgba(235,202,99,.12);
  color:#FFFFFF;
}
.broker-compare-table td.highlight-col{
  background:rgba(235,202,99,.06);
  font-weight:600;
  color:#FFFFFF;
}
.broker-compare-table td strong{
  color:#FFFFFF;
}
.check-badge{color:var(--candle-up); font-weight:700; margin-right:6px;}
.cross-badge{color:var(--down); font-weight:700; margin-right:6px;}

/* ---------- promotions ---------- */
.promotions-section{
  background:var(--navy);
  color:var(--paper);
  padding:96px 0;
  position:relative;
  overflow:hidden;
}
.promotions-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:48px;
}
.promo-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(235,202,99,.25);
  border-radius:4px;
  padding:36px 30px;
  display:flex;
  flex-direction:column;
  position:relative;
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.promo-card:hover{
  transform:translateY(-5px);
  border-color:var(--gold);
  box-shadow:0 16px 40px rgba(0,0,0,.3), 0 0 20px rgba(235,202,99,.1);
}
.promo-badge{
  display:inline-block;
  align-self:flex-start;
  font-family:'Zalando Sans Expanded',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:4px 10px;
  background:var(--gold);
  color:var(--navy-deep);
  border-radius:2px;
  margin-bottom:20px;
}
.promo-card h3{
  color:#FFFFFF;
  font-size:22px;
  margin-bottom:12px;
}
.promo-card p{
  color:rgba(245,242,234,.72);
  font-size:14.5px;
  line-height:1.6;
  margin-bottom:24px;
}
.promo-card .btn-frame{
  margin-top:auto;
  align-self:stretch;
  justify-content:center;
}

/* ---------- enhanced footer ---------- */
footer{
  background:var(--navy-deep);
  color:rgba(245,242,234,.65);
  padding:72px 0 36px;
  border-top:1px solid var(--line-on-navy);
}
.footer-top{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1fr 1.05fr;
  gap:32px;
  padding-bottom:44px;
  border-bottom:1px solid var(--line-on-navy);
}
.footer-brand .logo-img{
  height:44px;
  margin-bottom:16px;
}
.footer-brand p{
  font-size:13.5px;
  line-height:1.6;
  color:rgba(245,242,234,.6);
  margin-bottom:18px;
}
.footer-contact-block{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
  color:rgba(245,242,234,.7);
}
.footer-contact-block .loc-title{
  color:var(--gold);
  font-weight:600;
  font-size:11.5px;
  letter-spacing:.05em;
  text-transform:uppercase;
  margin-top:8px;
}
.footer-contact-block p{
  margin:0;
  color:rgba(245,242,234,.65);
  line-height:1.45;
}
.footer-contact-block a{
  color:var(--paper);
  transition:color .2s ease;
}
.footer-contact-block a:hover{
  color:var(--gold);
}

.footer-col h4{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold);
  font-family:'DM Sans',sans-serif;
  font-weight:700;
  margin-bottom:16px;
}
.footer-col a{
  display:block;
  font-size:13.5px;
  color:rgba(245,242,234,.65);
  padding:5px 0;
  transition:color .2s ease, transform .2s ease;
}
.footer-col a:hover{
  color:var(--gold);
  transform:translateX(3px);
}

/* Messaging Bar */
.footer-messaging-bar{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:20px;
  padding:24px 0;
  border-bottom:1px solid var(--line-on-navy);
}
.messaging-title{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13.5px;
  color:var(--paper);
  font-weight:600;
}
.pulse-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--candle-up);
  box-shadow:0 0 8px var(--candle-up);
  animation:pulseGreen 1.8s infinite ease-in-out;
}
@keyframes pulseGreen{
  0%,100%{opacity:1; transform:scale(1);}
  50%{opacity:0.4; transform:scale(0.8);}
}
.messaging-links{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.msg-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 16px;
  border-radius:22px;
  font-size:13px;
  font-weight:500;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.04);
  color:var(--paper);
  transition:all .25s ease;
  text-decoration:none;
}
.msg-btn svg{width:16px; height:16px; flex:none; fill:currentColor;}
.msg-btn.whatsapp:hover{background:#25D366; border-color:#25D366; color:#0A1830;}
.msg-btn.telegram:hover{background:#229ED9; border-color:#229ED9; color:#FFFFFF;}
.msg-btn.signal:hover{background:#3A76F0; border-color:#3A76F0; color:#FFFFFF;}

/* Compliance & Registration */
.footer-compliance{
  padding:22px 0;
  border-bottom:1px solid var(--line-on-navy);
  font-size:12.5px;
  line-height:1.7;
  color:rgba(245,242,234,.55);
}
.footer-compliance strong{color:rgba(245,242,234,.85);}

/* Risk Disclosure Container */
.footer-risk-box{
  margin:24px 0;
  padding:20px 24px;
  background:rgba(235,202,99,.04);
  border:1px solid rgba(235,202,99,.22);
  border-radius:4px;
}
.footer-risk-header{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--gold);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.footer-risk-header svg{width:16px; height:16px; stroke:var(--gold); flex:none;}
.footer-risk-box p{
  margin:0;
  font-size:12.5px;
  line-height:1.65;
  color:rgba(245,242,234,.7);
}

/* Restricted Jurisdictions & Copyright */
.footer-restricted{
  padding-bottom:20px;
  font-size:11.5px;
  line-height:1.65;
  color:rgba(245,242,234,.45);
}
.footer-restricted strong{color:rgba(245,242,234,.7);}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:12px;
  color:rgba(245,242,234,.45);
}
.footer-bottom-links{display:flex; gap:18px;}
.footer-bottom-links a{color:rgba(245,242,234,.55); transition:color .2s ease;}
.footer-bottom-links a:hover{color:var(--gold);}

/* ---------- sub-pages components ---------- */
/* Calculator Widget */
.calc-widget-container{
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:6px;
  padding:36px;
  margin:48px 0;
  box-shadow:0 18px 40px -10px rgba(0,0,0,.5);
}
.calc-grid{
  display:grid;
  grid-template-columns:1.2fr 0.8fr;
  gap:40px;
  align-items:center;
}
.calc-inputs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}
.calc-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.calc-field label{
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#FFFFFF;
}
.calc-field select,
.calc-field input{
  padding:11px 14px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:3px;
  font-family:'DM Sans',sans-serif;
  font-size:14px;
  color:#FFFFFF;
  background:var(--navy-deep);
  outline:none;
}
.calc-field select:focus,
.calc-field input:focus{
  border-color:var(--gold);
}
.calc-results-box{
  background:var(--navy);
  color:var(--paper);
  border-radius:4px;
  padding:28px;
  border:1px solid var(--line-on-navy);
}
.calc-results-box h4{
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:20px;
}
.res-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 0;
  border-bottom:1px dashed rgba(235,202,99,.2);
  font-size:14px;
}
.res-row:last-child{border-bottom:none;}
.res-row .r-val{
  font-family:'Michroma',sans-serif;
  font-size:18px;
  color:var(--gold);
}

/* Webinar Table & Schedules */
.webinar-table-wrap{
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  overflow-x:auto;
  max-width:100%;
  width:100%;
  -webkit-overflow-scrolling:touch;
  margin:40px 0;
  box-shadow:0 18px 40px -10px rgba(0,0,0,.5);
}
.webinar-table{
  width:100%;
  border-collapse:collapse;
  font-size:14px;
  min-width:600px;
}
.webinar-table th,
.webinar-table td{
  padding:16px 24px;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.webinar-table th{
  background:rgba(255,255,255,.04);
  font-weight:700;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#FFFFFF;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.webinar-table td{
  color:#CBD5E1;
}
.webinar-tag{
  display:inline-block;
  padding:3px 8px;
  border-radius:2px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  background:rgba(235,202,99,.15);
  color:var(--gold);
}

/* FAQ Accordion */
.faq-wrap{
  max-width:860px;
  margin:48px auto;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.faq-item{
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  overflow:hidden;
  transition:border-color .2s ease;
}
.faq-item:hover{border-color:var(--gold);}
.faq-q,
button.faq-q{
  width:100%;
  background:transparent !important;
  border:none;
  outline:none;
  box-shadow:none;
  text-align:left;
  padding:20px 24px;
  font-family:'DM Sans',sans-serif;
  font-weight:600;
  font-size:16px;
  color:#FFFFFF;
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  user-select:none;
  box-sizing:border-box;
  margin:0;
  transition:background-color .2s ease, color .2s ease;
}
.faq-q:hover{
  background:rgba(255,255,255,.03) !important;
}
.faq-q svg{width:16px; height:16px; transition:transform .3s ease; stroke:var(--gold); flex:none;}
.faq-item.open .faq-q svg{transform:rotate(180deg); stroke:var(--gold);}
.faq-a{
  padding:0 24px 22px;
  font-size:14.5px;
  color:#CBD5E1;
  line-height:1.65;
  display:none;
}
.faq-item.open .faq-a{display:block;}

/* Market Sessions Bar */
.sessions-bar{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin:40px 0 48px;
}
.session-box{
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  padding:20px;
  text-align:center;
  transition:transform .2s ease;
}
.session-box.active{border-color:var(--candle-up); box-shadow:0 0 16px rgba(16,185,129,.12);}
.session-city{
  font-family:'Michroma',sans-serif;
  font-size:15px;
  color:#FFFFFF;
  margin-bottom:6px;
}
.session-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:8px;
}
.session-status.open{color:var(--candle-up);}
.session-status.closed{color:var(--ink-soft);}
.session-time{font-size:12.5px; color:var(--ink-soft);}

/* News Filter Bar */
.news-filter-bar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:32px;
}
.filter-btn{
  padding:7px 18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.15);
  background:var(--navy-deep);
  color:#CBD5E1;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  transition:all .2s ease;
}
.filter-btn:hover,
.filter-btn.active{
  background:var(--gold);
  color:#0A1830;
  border-color:var(--gold);
}

.table-panel{
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  overflow-x:auto;
  max-width:100%;
  width:100%;
  -webkit-overflow-scrolling:touch;
  margin:32px 0 48px;
  box-shadow:0 18px 40px -10px rgba(0,0,0,.5);
}
.table-panel-header{
  padding:20px 24px;
  background:rgba(255,255,255,.02);
  border-bottom:1px solid rgba(255,255,255,.08);
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.table-panel-header h3{font-size:17px; color:#FFFFFF;}
.custom-table{
  width:100%;
  border-collapse:collapse;
  font-size:13.5px;
  min-width:600px;
}
.custom-table th,
.custom-table td{
  padding:14px 20px;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.custom-table th{
  font-weight:700;
  font-size:11.5px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#FFFFFF;
  background:rgba(255,255,255,.04);
}
.custom-table td{
  color:#CBD5E1;
}
.impact-badge{
  display:inline-block;
  padding:3px 8px;
  border-radius:2px;
  font-size:10.5px;
  font-weight:700;
  text-transform:uppercase;
}
.impact-badge.high{background:rgba(239,68,68,.12); color:var(--down);}
.impact-badge.med{background:rgba(235,202,99,.2); color:#B45309;}
.impact-badge.low{background:rgba(255,255,255,.08); color:#CBD5E1;}

/* Sentiment Bars */
.sentiment-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:24px;
  margin:32px 0;
}
.sentiment-box{
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  padding:20px 24px;
}
.sentiment-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
  font-size:14px;
}
.sentiment-pair{font-family:'Michroma',sans-serif; font-weight:600; color:#FFFFFF;}
.sentiment-bar-track{
  height:10px;
  border-radius:5px;
  background:rgba(239,68,68,.8);
  overflow:hidden;
  position:relative;
  margin-bottom:8px;
}
.sentiment-bar-fill{
  height:100%;
  background:var(--candle-up);
  border-radius:5px 0 0 5px;
}
.sentiment-labels{
  display:flex;
  justify-content:space-between;
  font-size:12px;
  font-weight:600;
}
.sentiment-labels .long{color:var(--candle-up);}
.sentiment-labels .short{color:var(--down);}

/* Pillars & Infrastructure */
.pillars-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  margin:48px 0;
}
.pillar-card{
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  padding:30px 24px;
  text-align:left;
  transition:transform .2s ease;
}
.pillar-card:hover{transform:translateY(-4px); border-color:var(--gold);}
.pillar-card svg{width:28px; height:28px; stroke:var(--gold); margin-bottom:16px;}
.pillar-card h3{font-size:17px; color:#FFFFFF; margin-bottom:10px;}
.pillar-card p{font-size:14px; color:#94A3B8; line-height:1.6; margin:0;}

.infra-section{
  background:var(--navy);
  color:var(--paper);
  padding:80px 0;
  margin:64px 0;
}
.infra-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top:40px;
}
.infra-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(235,202,99,.25);
  border-radius:4px;
  padding:28px;
  position:relative;
}
.infra-card h3{color:#FFFFFF; font-size:18px; margin-bottom:8px;}
.infra-card .hub-tag{
  font-size:11px;
  font-weight:700;
  color:var(--gold);
  letter-spacing:.05em;
  text-transform:uppercase;
  margin-bottom:14px;
  display:block;
}
.infra-card p{color:rgba(245,242,234,.7); font-size:14px; line-height:1.6; margin-bottom:16px;}
.infra-specs{
  font-family:'Zalando Sans Expanded',sans-serif;
  font-size:12.5px;
  color:var(--gold);
  border-top:1px solid var(--line-on-navy);
  padding-top:12px;
}

/* Timeline */
.timeline-wrap{
  max-width:880px;
  margin:56px auto;
  position:relative;
  padding-left:36px;
  border-left:2px solid var(--gold);
}
.timeline-node{
  position:relative;
  margin-bottom:44px;
}
.timeline-node:last-child{margin-bottom:0;}
.timeline-node::before{
  content:'';
  position:absolute;
  left:-43px;
  top:4px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--gold);
  border:3px solid var(--navy-deep);
}
.timeline-year{
  font-family:'Michroma',sans-serif;
  font-size:16px;
  color:var(--gold);
  margin-bottom:6px;
  display:block;
}
.timeline-node h3{font-size:18px; margin-bottom:8px;}
.timeline-node p{font-size:14.5px; color:var(--ink-soft); line-height:1.6; margin:0;}

/* Team */
.team-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  margin:48px 0;
}
.team-card{
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  padding:28px 20px;
  text-align:center;
}
.team-avatar{
  width:72px;
  height:72px;
  border-radius:50%;
  background:var(--navy);
  color:var(--gold);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 16px;
  font-family:'Michroma',sans-serif;
  font-size:22px;
  font-weight:600;
  border:2px solid var(--gold);
}
.team-card h3{font-size:16.5px; color:#FFFFFF; margin-bottom:4px;}
.team-card .role{
  font-size:12px;
  font-weight:600;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:12px;
  display:block;
}
.team-card p{font-size:13px; color:#94A3B8; line-height:1.55; margin:0;}

/* Fast Contact Channels & Offices */
.fast-channels-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin:48px 0;
}
.fast-channel-card{
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  padding:24px;
  display:flex;
  gap:16px;
  align-items:flex-start;
  transition:all .25s ease;
}
.fast-channel-card:hover{
  border-color:var(--gold);
  transform:translateY(-3px);
  box-shadow:0 12px 28px -8px rgba(0,0,0,.5);
}
.channel-icon{
  width:44px;
  height:44px;
  border-radius:4px;
  background:rgba(255,255,255,.06);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold);
  flex:none;
}
.fast-channel-card:hover .channel-icon{
  background:var(--gold);
  color:var(--navy-deep);
}
.channel-icon svg{width:22px; height:22px;}
.fast-channel-card h3{font-size:16px; color:#FFFFFF; margin-bottom:4px;}
.fast-channel-card .speed-tag{
  font-size:11px;
  color:var(--candle-up);
  font-weight:700;
  margin-bottom:8px;
  display:block;
}
.fast-channel-card p{font-size:13.5px; color:#94A3B8; margin:0 0 8px;}
.fast-channel-card a{
  font-size:13.5px;
  color:#FFFFFF;
  font-weight:600;
  text-decoration:none;
  transition:color .2s ease;
}
.fast-channel-card a:hover{color:var(--gold);}

.offices-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  margin:48px 0;
}
.office-card{
  background:var(--navy-deep);
  border:1px solid rgba(255,255,255,.12);
  border-radius:4px;
  padding:28px 22px;
  text-align:left;
}
.office-city{
  font-family:'Michroma',sans-serif;
  font-size:17px;
  color:#FFFFFF;
  margin-bottom:6px;
}
.office-type{
  font-size:11px;
  font-weight:700;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:14px;
  display:block;
}
.office-card p{font-size:13.5px; color:#94A3B8; line-height:1.6; margin:0 0 14px;}
.office-hours{
  font-size:12px;
  color:#94A3B8;
  border-top:1px dashed rgba(255,255,255,.12);
  padding-top:10px;
}

.system-status-box{
  background:var(--navy);
  color:var(--paper);
  border-radius:6px;
  padding:36px;
  margin:56px 0;
}
.system-status-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
  padding-bottom:20px;
  border-bottom:1px solid var(--line-on-navy);
  margin-bottom:24px;
}
.system-status-header h3{color:#FFFFFF; font-size:19px;}
.system-status-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.status-node{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:4px;
  padding:16px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.status-node-name{font-size:13.5px; color:var(--paper);}
.status-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  font-weight:700;
  color:var(--candle-up);
  background:rgba(16,185,129,.15);
  padding:3px 8px;
  border-radius:10px;
}

/* ---------- comprehensive responsive design for all pages ---------- */
@media (max-width:1100px){
  .account-grid{grid-template-columns:repeat(2,1fr); gap:20px;}
  .why-choose-grid{grid-template-columns:repeat(2,1fr); gap:24px;}
  .promotions-grid{grid-template-columns:repeat(2,1fr); gap:24px;}
  .footer-top{grid-template-columns:1fr 1fr; row-gap:36px;}
  .pillars-grid{grid-template-columns:repeat(2,1fr); gap:20px;}
  .team-grid{grid-template-columns:repeat(2,1fr); gap:20px;}
  .offices-grid{grid-template-columns:repeat(2,1fr); gap:20px;}
  .sessions-bar{grid-template-columns:repeat(2,1fr); gap:16px;}
  .edu-grid, .values-grid{grid-template-columns:repeat(2,1fr); gap:24px;}
}

@media (max-width:900px){
  .section{padding:72px 0;}
  .stats-grid{grid-template-columns:repeat(2,1fr); row-gap:28px; padding:40px 0;}
  .stat:nth-child(3){border-left:none; padding-left:0;}
  .markets-cols{grid-template-columns:1fr;}
  .feature-grid{grid-template-columns:1fr;}
  .account-grid{grid-template-columns:1fr; gap:24px;}
  .platform-cards-grid{grid-template-columns:1fr; gap:20px;}
  .calc-grid{grid-template-columns:1fr; gap:28px;}
  .infra-grid{grid-template-columns:1fr; gap:20px;}
  .fast-channels-grid{grid-template-columns:1fr; gap:18px;}
  .system-status-grid{grid-template-columns:1fr; gap:14px;}
  .sentiment-grid{grid-template-columns:1fr; gap:18px;}
  .news-layout, .contact-layout{grid-template-columns:1fr; gap:40px; padding:48px 0;}
}

@media (max-width:768px){
  .section, .markets, .platform, .why-choose, .infra-section{padding:56px 0;}
  .wrap{padding:0 20px;}
  .section-head{gap:16px; margin-bottom:32px;}
  .section-head h2{font-size:clamp(22px, 4.8vw, 30px); max-width:100%;}
  .section-head p{max-width:100%; font-size:14.5px;}
  .hero, .about-hero, .edu-hero, .contact-hero{padding:84px 0 52px;}
  h1, .hero h1, .about-hero h1, .edu-hero h1, .contact-hero h1{
    font-size:clamp(24px, 5.5vw, 36px) !important;
    line-height:1.25;
    word-break:break-word;
    overflow-wrap:break-word;
  }
  p.lede, .about-hero p, .edu-hero p, .contact-hero p{
    font-size:15px !important;
    line-height:1.55;
  }
  .hero-trust-strip{gap:10px 18px; justify-content:center; margin-top:24px; font-size:12.5px;}
  .hero-trust-item, .trust-pill{font-size:12.5px !important;}
  .cta-band{padding:52px 0;}
  .cta-band .wrap{flex-direction:column; align-items:flex-start; gap:20px;}
  .cta-band h2{font-size:clamp(22px, 4.5vw, 28px); max-width:100%;}
  .cta-band .btn-frame{width:100%; text-align:center; justify-content:center;}
  .compare-title-bar{padding:20px 18px; flex-direction:column; align-items:flex-start; gap:14px;}
  .compare-title-bar .btn-frame{width:100%; text-align:center; justify-content:center;}
  .footer-messaging-bar{flex-direction:column; align-items:center; text-align:center; gap:14px; padding:20px 0;}
  .calc-widget-container{padding:24px 20px; margin:32px 0;}
  .system-status-box{padding:24px 20px; margin:36px 0;}
}

@media (max-width:640px){
  .site-header .wrap{height:64px; padding:0 16px;}
  .site-header.scrolled .wrap{height:56px;}
  .logo-img{height:32px; max-width:140px;}
  .search-form input{width:32px; padding:6px 10px 6px 28px; color:transparent; cursor:pointer;}
  .search-form input:focus{width:125px; color:var(--paper); cursor:text;}
  .search-form svg{left:8px; width:13px; height:13px;}
  .nav-right{gap:8px;}
  .dark-mode-toggle{padding:6px;}
  .dark-mode-toggle svg{width:18px; height:18px;}
  .menu-btn{width:30px; height:30px;}
  .nav-overlay{padding:20px 16px 28px;}
  .nav-overlay-head{margin-bottom:20px;}
  .nav-close-btn{padding:6px 14px; font-size:11px;}
  .nav-overlay .links a{font-size:clamp(18px, 5.2vw, 26px); padding:10px 0; gap:10px;}
  .nav-overlay .links a .num{font-size:11px;}
  .nav-overlay-sublinks{padding:6px 0 10px 20px; gap:6px 10px;}
  .nav-overlay-sublinks a{font-size:13px !important;}
  .nav-overlay .foot{margin-top:24px; flex-direction:column; align-items:flex-start; gap:8px; font-size:12px;}
}

@media (max-width:600px){
  .wrap{padding:0 16px;}
  .stats-grid{grid-template-columns:repeat(2,1fr); gap:16px 12px; padding:28px 0;}
  .stat{padding:0 10px; border-left:none;}
  .stat:first-child{padding-left:0;}
  .stat:nth-child(even){border-left:1px solid var(--line);}
  .stat .num{font-size:22px;}
  .stat .label{font-size:11.5px; margin-top:4px;}
  .why-choose-grid{grid-template-columns:1fr; gap:16px; margin:32px 0;}
  .why-card{padding:24px 18px;}
  .promotions-grid{grid-template-columns:1fr; gap:16px; margin-top:32px;}
  .promo-card{padding:24px 18px;}
  .calc-inputs{grid-template-columns:1fr; gap:14px;}
  .calc-results-box{padding:20px 16px;}
  .res-row .r-val{font-size:16px;}
  .pillars-grid{grid-template-columns:1fr; gap:16px; margin:32px 0;}
  .pillar-card{padding:24px 18px;}
  .team-grid{grid-template-columns:1fr; gap:16px; margin:32px 0;}
  .team-card{padding:22px 18px;}
  .offices-grid{grid-template-columns:1fr; gap:16px; margin:32px 0;}
  .office-card{padding:22px 18px;}
  .sessions-bar{grid-template-columns:1fr; gap:12px; margin:24px 0 32px;}
  .session-box{padding:14px 16px;}
  .edu-grid, .values-grid{grid-template-columns:1fr; gap:20px; margin:32px 0;}
  .edu-card{padding:24px 18px;}
  .value-card{padding:28px 18px;}
  .system-status-header{flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:18px;}
  .hero-ctas{flex-direction:column; align-items:stretch; width:100%; gap:12px;}
  .hero-ctas .btn-frame, .hero-ctas .btn-demo{width:100%; text-align:center; justify-content:center;}
  .btn-frame{padding:13px 20px; font-size:13.5px;}
  .btn-frame.small{padding:11px 16px; font-size:12.5px;}
  .footer-top{grid-template-columns:1fr; gap:28px; padding-bottom:32px;}
  .messaging-links{justify-content:center; gap:8px; width:100%;}
  .msg-btn{padding:6px 12px; font-size:12px;}
  .footer-bottom{flex-direction:column; align-items:center; text-align:center; gap:12px; padding-top:16px;}
  .footer-bottom-links{justify-content:center; gap:12px; flex-wrap:wrap;}
  .about-story{padding:36px 0 18px; font-size:15px; line-height:1.65;}
  .timeline-wrap{padding-left:20px; margin:32px 0;}
  .timeline-node::before{left:-26px; width:10px; height:10px;}
  .timeline-node{margin-bottom:28px;}
  .timeline-year{font-size:14px;}
  .timeline-node h3{font-size:16px;}
  .timeline-node p{font-size:13.5px;}
  .news-card{padding:20px 16px;}
  .calendar-sidebar{padding:20px 16px;}
  .contact-card{padding:20px 16px; gap:16px;}
  .form-group input, .form-group textarea, .form-group select{font-size:16px !important; padding:12px 14px;}
  .faq-q, button.faq-q{padding:14px 16px; font-size:14.5px;}
  .faq-a{padding:0 16px 16px; font-size:13.5px;}
  .account-table th, .account-table td{padding:10px 12px; font-size:12px;}
  .broker-compare-table th, .broker-compare-table td{padding:10px 12px; font-size:12px;}
  .webinar-table th, .webinar-table td{padding:10px 12px; font-size:12px;}
  .custom-table th, .custom-table td{padding:10px 12px; font-size:12px;}
}

@media (max-width:480px){
  h1, .hero h1, .about-hero h1, .edu-hero h1, .contact-hero h1{font-size:clamp(20px, 5.8vw, 26px) !important;}
  .hero, .about-hero, .edu-hero, .contact-hero{padding:72px 0 38px;}
  .section{padding:44px 0;}
  .stats-grid{gap:14px 8px; padding:24px 0;}
  .stat{padding:0 6px;}
  .stat .num{font-size:18px;}
  .stat .label{font-size:10.5px;}
  .rate-row .price{margin-right:8px; font-size:11.5px;}
  .calc-widget-container{padding:18px 14px;}
  .system-status-box{padding:18px 14px;}
  .site-header .wrap{height:60px; padding:0 14px;}
  .logo-img{height:30px; max-width:130px;}
  .btn-frame{padding:12px 16px; font-size:13px;}
}

.search-msg{
  position:absolute;
  top:46px; left:0;
  font-size:11.5px;
  color:var(--gold-soft);
  font-family:'DM Sans',sans-serif;
  white-space:nowrap;
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .25s ease, transform .25s ease;
  pointer-events:none;
}
.search-msg.show{opacity:1; transform:translateY(0);}

:focus-visible{outline:2px solid var(--gold); outline-offset:2px;}

/* ---------- preloader ---------- */
.preloader {
  position: fixed;
  inset: 0;
  background: var(--navy-deep);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.preloader.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.preloader-candles {
  display: flex;
  gap: 12px;
  align-items: center;
  height: 60px;
}
.preloader-candle {
  width: 10px;
  background: var(--gold);
  border-radius: 4px;
  animation: preloaderBounce 1.2s infinite ease-in-out;
}
.preloader-candle:nth-child(1) { animation-delay: -0.6s; height: 30px; }
.preloader-candle:nth-child(2) { animation-delay: -0.4s; height: 50px; }
.preloader-candle:nth-child(3) { animation-delay: -0.2s; height: 40px; }
.preloader-candle:nth-child(4) { animation-delay: 0s; height: 60px; }

@keyframes preloaderBounce {
  0%, 100% { transform: scaleY(0.4); }
  50% { transform: scaleY(1); }
}

/* ---------- education ---------- */
.edu-hero { background: var(--navy); color: var(--paper); padding: 120px 0 80px; text-align: center; }
.edu-hero h1 { color: var(--paper); font-size: clamp(36px, 4.5vw, 48px); margin-bottom: 16px; }
.edu-hero p { color: rgba(245,242,234,.7); max-width: 500px; margin: 0 auto; font-size: 16.5px; }
.edu-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 64px; margin-bottom: 64px; }
.edu-card { background: var(--navy-deep); border: 1px solid rgba(255,255,255,.12); border-radius: 4px; padding: 32px; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.edu-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px -10px rgba(0,0,0,.5); border-color: var(--gold); }
.edu-card-meta { display: flex; justify-content: space-between; font-size: 12px; color: var(--gold); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 16px; }
.edu-card h3 { font-size: 20px; color:#FFFFFF; margin-bottom: 10px; }
.edu-card p { font-size: 14px; color: #94A3B8; line-height: 1.5; margin-bottom: 24px; }

/* ---------- live news ---------- */
.news-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 48px; padding: 64px 0; }
.news-feed { display: flex; flex-direction: column; gap: 24px; }
.news-card { background: var(--navy-deep); border: 1px solid rgba(255,255,255,.12); border-radius: 4px; padding: 28px; display: flex; flex-direction: column; gap: 12px; transition: border-color .3s ease; }
.news-card:hover { border-color: var(--gold); }
.news-meta { display: flex; gap: 16px; font-size: 12.5px; color: #94A3B8; align-items: center; }
.news-meta .tag { color: var(--gold); font-weight: 600; background: rgba(235,202,99,.12); padding: 4px 10px; border-radius: 2px; text-transform: uppercase; letter-spacing: .04em; font-size: 11px; }
.news-card h3 { font-size: 22px; color: #FFFFFF; }
.news-card p { font-size: 14.5px; color: #94A3B8; line-height: 1.6; margin: 0; }
.calendar-sidebar { background: var(--navy-deep); border: 1px solid rgba(255,255,255,.12); border-radius: 4px; padding: 32px; align-self: start; }
.calendar-sidebar h3 { font-size: 18px; color: #FFFFFF; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,.1); }
.cal-event { display: flex; gap: 16px; margin-bottom: 20px; }
.cal-time { font-family: 'Zalando Sans Expanded', sans-serif; font-size: 13px; color: var(--gold); font-weight: 600; width: 45px; flex: none; }
.cal-details h4 { font-family: 'DM Sans', sans-serif; font-size: 14px; color: #FFFFFF; margin: 0 0 4px; font-weight: 600; }
.cal-details p { font-size: 12px; color: #94A3B8; margin: 0; }
.impact { display: inline-flex; gap: 3px; margin-top: 6px; }
.impact span { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.15); }
.impact[data-level="high"] span { background: var(--down); }
.impact[data-level="med"] span:nth-child(1), .impact[data-level="med"] span:nth-child(2) { background: var(--gold); }
.impact[data-level="low"] span:nth-child(1) { background: #94A3B8; }

/* ---------- about ---------- */
.about-hero,
.edu-hero,
.contact-hero {
  position: relative;
  background: var(--navy);
  color: var(--paper);
  padding: 120px 0 80px;
  text-align: center;
  overflow: hidden;
}
.about-hero-chart-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  opacity: 0.16;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent);
}
body.dark-mode .about-hero-chart-bg {
  opacity: 0.22;
}
.about-hero-chart-bg canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.about-hero .wrap,
.edu-hero .wrap,
.contact-hero .wrap {
  position: relative;
  z-index: 2;
}
.about-hero h1,
.edu-hero h1,
.contact-hero h1 { color: var(--gold) !important; font-size: clamp(36px, 4.5vw, 48px); margin-bottom: 16px; }
.about-hero p,
.edu-hero p,
.contact-hero p { color: var(--gold) !important; max-width: 500px; margin: 0 auto; font-size: 16.5px; }
.about-story { padding: 80px 0 40px; max-width: 800px; margin: 0 auto; text-align: center; font-size: 18px; line-height: 1.8; color: #94A3B8; }
.about-story strong { color: #FFFFFF; }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin: 40px 0 80px; }
.value-card { text-align: center; padding: 40px 24px; border: 1px solid rgba(255,255,255,.12); border-radius: 4px; background: var(--navy-deep); }
.value-card svg { width: 32px; height: 32px; stroke: var(--gold); margin-bottom: 20px; }
.value-card h3 { font-size: 20px; color: #FFFFFF; margin-bottom: 12px; }
.value-card p { font-size: 14.5px; color: #94A3B8; line-height: 1.6; margin: 0; }

/* ---------- contact ---------- */
.contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; padding: 80px 0; }
.contact-form { display: flex; flex-direction: column; gap: 24px; }
.form-group { display: flex; flex-direction: column; gap: 8px; }
.form-group label { font-size: 13px; font-weight: 600; color: #FFFFFF; letter-spacing: .02em; }
.form-group input, .form-group textarea, .form-group select { background: var(--navy-deep); border: 1px solid rgba(255,255,255,.15); border-radius: 4px; padding: 14px 16px; font-family: 'DM Sans', sans-serif; font-size: 15px; color: #FFFFFF; outline: none; transition: border-color .3s ease, background .3s ease; width: 100%; box-sizing: border-box; }
.form-group select option { background: #0B1528; color: #FFFFFF; }
.form-group input::placeholder, .form-group textarea::placeholder { color: rgba(255,255,255,0.45); }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color: var(--gold); }
.form-group textarea { resize: vertical; min-height: 120px; }
.contact-cards { display: flex; flex-direction: column; gap: 24px; }
.contact-card { background: var(--navy-deep); border: 1px solid rgba(255,255,255,.12); border-radius: 4px; padding: 32px; display: flex; gap: 24px; align-items: flex-start; }
.contact-card svg { width: 28px; height: 28px; stroke: var(--gold); flex: none; }
.contact-card h3 { font-size: 18px; color: #FFFFFF; margin-bottom: 8px; }
.contact-card p, .contact-card a { font-size: 15px; color: #94A3B8; line-height: 1.6; display: block; margin: 0; }
.contact-card a:hover { color: var(--gold); text-decoration: underline; }

/* Contact Form Status Feedback */
.form-status {
  padding: 14px 18px;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 16px;
  font-family: 'DM Sans', sans-serif;
  animation: fadeInStatus 0.3s ease-in-out;
}
@keyframes fadeInStatus {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
.form-status svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  margin-top: 2px;
}
.form-status.success {
  background: rgba(56, 239, 125, 0.12);
  border: 1px solid rgba(56, 239, 125, 0.4);
  color: #34d399;
}
.form-status.error {
  background: rgba(248, 113, 113, 0.12);
  border: 1px solid rgba(248, 113, 113, 0.4);
  color: #f87171;
}
.form-status.loading {
  background: rgba(235, 202, 99, 0.12);
  border: 1px solid rgba(235, 202, 99, 0.4);
  color: var(--gold, #ebca63);
}


/* ---------- dark mode ---------- */
html.dark-mode,
html.dark-mode body,
body.dark-mode {
  --paper: #000000;
  --navy: #FFFFFF;
  --ink: #F5F2EA;
  --ink-soft: #94A3B8;
  --line: rgba(255,255,255,0.1);
  --line-on-navy: rgba(255,255,255,0.1);
  --candle-up: #34d399;
  --candle-down: #f87171;
  background: #000000;
  color: #E2E8F0;
}

body.dark-mode .section,
body.dark-mode section.section {
  background: #000000 !important;
}

body.dark-mode .stats,
body.dark-mode .markets,
body.dark-mode .accounts,
body.dark-mode .platform,
body.dark-mode .hero,
body.dark-mode .why,
body.dark-mode .cta-band,
body.dark-mode footer,
body.dark-mode .site-header,
body.dark-mode .nav-overlay,
body.dark-mode .edu-hero,
body.dark-mode .about-hero,
body.dark-mode .contact-hero {
  background: #000000;
}

/* Ensure no text becomes black - force white for headings and primary text */
body.dark-mode .feature h3,
body.dark-mode .feature p,
body.dark-mode .cta-band h2,
body.dark-mode .logo .word,
body.dark-mode .nav-overlay .links a,
body.dark-mode h1, 
body.dark-mode h2, 
body.dark-mode h3, 
body.dark-mode .rate-row .pair,
body.dark-mode .rate-row .price,
body.dark-mode .market-row .name, 
body.dark-mode .stat .num, 
body.dark-mode .account-price-tag .price-val, 
body.dark-mode .account-specs .spec .v, 
body.dark-mode .platform-card h3,
body.dark-mode .platform-icon,
body.dark-mode .edu-card h3,
body.dark-mode .news-card h3,
body.dark-mode .calendar-sidebar h3,
body.dark-mode .cal-details h4,
body.dark-mode .cal-time,
body.dark-mode .about-story strong,
body.dark-mode .value-card h3,
body.dark-mode .contact-card h3,
body.dark-mode .form-group label { 
  color: #FFFFFF !important; 
}

/* Force gold for hero section text in dark mode */
body.dark-mode .hero h1,
body.dark-mode .about-hero h1,
body.dark-mode .edu-hero h1,
body.dark-mode .contact-hero h1,
body.dark-mode .about-hero p,
body.dark-mode .edu-hero p,
body.dark-mode .contact-hero p,
body.dark-mode .hero-trust-strip,
body.dark-mode .hero-trust-item,
body.dark-mode .hero-kicker {
  color: var(--gold) !important;
}
body.dark-mode .hero p.lede,
body.dark-mode .hero p {
  color: #FFFFFF !important;
}
body.dark-mode .hero-trust-item svg {
  stroke: var(--gold) !important;
}

/* Force light grey for secondary text */
body.dark-mode .stats .label,
body.dark-mode .section-head p,
body.dark-mode .account-note,
body.dark-mode .account-specs .spec .k,
body.dark-mode .account-price-tag .price-lbl,
body.dark-mode .platform-card p,
body.dark-mode footer p,
body.dark-mode .footer-col a,
body.dark-mode .footer-col h4,
body.dark-mode .nav-overlay .foot a,
body.dark-mode .nav-overlay .foot span,
body.dark-mode .market-group h3,
body.dark-mode .edu-card p,
body.dark-mode .news-card p,
body.dark-mode .news-meta,
body.dark-mode .cal-details p,
body.dark-mode .about-story,
body.dark-mode .value-card p,
body.dark-mode .contact-card p,
body.dark-mode .contact-card a {
  color: #94A3B8 !important;
}

body.dark-mode .account-card,
body.dark-mode .platform-card,
body.dark-mode .edu-card,
body.dark-mode .news-card,
body.dark-mode .calendar-sidebar,
body.dark-mode .value-card,
body.dark-mode .form-group input,
body.dark-mode .form-group textarea,
body.dark-mode .contact-card {
  background: #0a0a0a !important;
  border-color: rgba(255,255,255,0.1) !important;
}
body.dark-mode .form-group input,
body.dark-mode .form-group textarea {
  color: #FFFFFF !important;
}
body.dark-mode .form-group input::placeholder,
body.dark-mode .form-group textarea::placeholder {
  color: rgba(255,255,255,0.4) !important;
}
body.dark-mode .account-tier-badge {
  background: rgba(255,255,255,0.08) !important;
  color: #FFFFFF !important;
}
body.dark-mode .news-meta .tag {
  background: rgba(235,202,99,0.14) !important;
  color: var(--gold) !important;
}
body.dark-mode .impact span {
  background: rgba(255,255,255,0.2) !important;
}
body.dark-mode .impact[data-level="high"] span {
  background: var(--down) !important;
}
body.dark-mode .impact[data-level="med"] span:nth-child(1),
body.dark-mode .impact[data-level="med"] span:nth-child(2) {
  background: var(--gold) !important;
}
body.dark-mode .impact[data-level="low"] span:nth-child(1) {
  background: #94A3B8 !important;
}

body.dark-mode .account-card.featured {
  background: #111111 !important;
  border-color: rgba(255,255,255,0.2) !important;
}

/* Dark mode comparison table */
body.dark-mode .account-table-wrap{
  background:#0a0a0a !important;
  border-color:rgba(255,255,255,0.1) !important;
}
body.dark-mode .account-table-header{
  background:rgba(255,255,255,0.02) !important;
  border-bottom-color:rgba(255,255,255,0.08) !important;
}
body.dark-mode .account-table-header h3{
  color:#ffffff !important;
}
body.dark-mode .account-table-header p{
  color:#94a3b8 !important;
}
body.dark-mode .account-table th{
  background:rgba(255,255,255,0.04) !important;
  color:#ffffff !important;
  border-bottom-color:rgba(255,255,255,0.08) !important;
}
body.dark-mode .account-table th.col-gold,
body.dark-mode .account-table td.col-gold{
  background:rgba(235,202,99,0.09) !important;
}
body.dark-mode .account-table td{
  color:#e2e8f0 !important;
  border-bottom-color:rgba(255,255,255,0.06) !important;
}
body.dark-mode .account-table th:first-child,
body.dark-mode .account-table td:first-child{
  color:#ffffff !important;
}
body.dark-mode .account-table td.val-highlight{
  color:#ffffff !important;
}
body.dark-mode .account-table tr:hover td{
  background-color:rgba(255,255,255,0.02) !important;
}
body.dark-mode .account-table tr:hover td.col-gold{
  background-color:rgba(235,202,99,0.14) !important;
}

body.dark-mode .platform-icon {
  background: rgba(255,255,255,0.05) !important;
}

/* Preloader in Dark Mode */
html.dark-mode .preloader,
body.dark-mode .preloader {
  background: #000000 !important;
}
html.dark-mode .preloader-candle,
body.dark-mode .preloader-candle {
  background: var(--gold) !important;
}

/* Hamburger Menu White in Dark Mode */
body.dark-mode .menu-btn span {
  background: #FFFFFF !important;
}

/* Dark mode buttons - text NEVER becomes black on dark backgrounds */
body.dark-mode .btn-frame,
body.dark-mode .account-card .btn-frame,
body.dark-mode .edu-card .btn-frame,
body.dark-mode .contact-form .btn-frame {
  --accent: var(--gold) !important;
  --contrast: #0A1830 !important;
  color: var(--gold) !important;
  background: transparent !important;
}
body.dark-mode .btn-frame .label,
body.dark-mode .account-card .btn-frame .label,
body.dark-mode .edu-card .btn-frame .label,
body.dark-mode .contact-form .btn-frame .label {
  color: var(--gold) !important;
}
body.dark-mode .btn-frame .corner,
body.dark-mode .account-card .btn-frame .corner,
body.dark-mode .edu-card .btn-frame .corner,
body.dark-mode .contact-form .btn-frame .corner {
  border-color: var(--gold) !important;
}
body.dark-mode .btn-frame .fill,
body.dark-mode .account-card .btn-frame .fill,
body.dark-mode .edu-card .btn-frame .fill,
body.dark-mode .contact-form .btn-frame .fill {
  background: var(--gold) !important;
}
body.dark-mode .btn-frame:hover,
body.dark-mode .account-card .btn-frame:hover,
body.dark-mode .edu-card .btn-frame:hover,
body.dark-mode .contact-form .btn-frame:hover {
  color: #0A1830 !important;
}
body.dark-mode .btn-frame:hover .label,
body.dark-mode .account-card .btn-frame:hover .label,
body.dark-mode .edu-card .btn-frame:hover .label,
body.dark-mode .contact-form .btn-frame:hover .label {
  color: #0A1830 !important;
}
body.dark-mode .btn-frame:hover .corner,
body.dark-mode .account-card .btn-frame:hover .corner,
body.dark-mode .edu-card .btn-frame:hover .corner,
body.dark-mode .contact-form .btn-frame:hover .corner {
  border-color: #0A1830 !important;
}

/* All dark mode hover states - gold accent on hover, never black */
body.dark-mode a:hover {
  color: var(--gold);
}
body.dark-mode .site-nav .nav-link {
  color: #94A3B8;
}
body.dark-mode .site-nav .nav-link:hover {
  color: var(--gold) !important;
}
body.dark-mode .site-nav .nav-link.active {
  color: var(--gold) !important;
}
body.dark-mode .site-nav .nav-link.active::after {
  background: var(--gold) !important;
}
body.dark-mode .nav-overlay .links a:hover {
  color: var(--gold) !important;
}
body.dark-mode .nav-overlay .links a.active {
  color: var(--gold) !important;
}
body.dark-mode .nav-overlay .foot a:hover {
  color: var(--gold) !important;
}
body.dark-mode .footer-col a:hover {
  color: var(--gold) !important;
}
body.dark-mode .footer-brand .logo:hover .word {
  color: var(--gold) !important;
}
body.dark-mode .contact-card a:hover {
  color: var(--gold) !important;
  text-decoration: underline;
}
body.dark-mode .logo:hover .word {
  color: var(--gold) !important;
}

.dark-mode-toggle {
  background: none;
  border: none;
  padding: 8px;
  color: var(--paper);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s;
  cursor: pointer;
}
body.dark-mode .dark-mode-toggle {
  color: #FFFFFF !important;
}
.dark-mode-toggle:hover {
  background: rgba(255,255,255,0.1);
}
.dark-mode-toggle svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
}
.dark-mode-toggle .sun-icon { display: none; }
body.dark-mode .dark-mode-toggle .moon-icon { display: none; }
body.dark-mode .dark-mode-toggle .sun-icon { display: block; color: #FFFFFF !important; }

/* ---------- background canvas (candlestick chart) ---------- */
#bg-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
body > #bg-canvas {
  position: fixed;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 0;
  opacity: 0.12;
}
body.dark-mode > #bg-canvas {
  opacity: 0.18;
}
main, footer {
  position: relative;
  z-index: 1;
}

/* New dark mode components overrides */
body.dark-mode .desktop-nav .nav-link {
  color: #94A3B8;
}
body.dark-mode .desktop-nav .nav-link:hover,
body.dark-mode .desktop-nav .nav-link.active {
  color: var(--gold) !important;
}
body.dark-mode .why-card,
body.dark-mode .compare-container,
body.dark-mode .calc-widget-container,
body.dark-mode .webinar-table-wrap,
body.dark-mode .faq-item,
body.dark-mode .session-box,
body.dark-mode .table-panel,
body.dark-mode .sentiment-box,
body.dark-mode .pillar-card,
body.dark-mode .team-card,
body.dark-mode .fast-channel-card,
body.dark-mode .office-card {
  background: #0a0a0a !important;
  border-color: rgba(255,255,255,.1) !important;
}
body.dark-mode .broker-compare-table th,
body.dark-mode .custom-table th,
body.dark-mode .webinar-table th,
body.dark-mode .table-panel-header {
  background: rgba(255,255,255,.04) !important;
  color: #FFFFFF !important;
  border-bottom-color: rgba(255,255,255,.1) !important;
}
body.dark-mode .broker-compare-table td,
body.dark-mode .custom-table td,
body.dark-mode .webinar-table td {
  border-bottom-color: rgba(255,255,255,.07) !important;
  color: #CBD5E1 !important;
}
body.dark-mode .broker-compare-table th.highlight-col,
body.dark-mode .broker-compare-table td.highlight-col {
  background: rgba(235,202,99,.08) !important;
  color: #FFFFFF !important;
}
body.dark-mode .why-icon-box,
body.dark-mode .channel-icon {
  background: rgba(255,255,255,.06) !important;
  color: #FFFFFF !important;
}
body.dark-mode .why-card:hover .why-icon-box,
body.dark-mode .fast-channel-card:hover .channel-icon {
  background: var(--gold) !important;
  color: #0A1830 !important;
}
body.dark-mode .filter-btn {
  background: #111111 !important;
  color: #CBD5E1 !important;
  border-color: rgba(255,255,255,.15) !important;
}
body.dark-mode .filter-btn:hover,
body.dark-mode .filter-btn.active {
  background: var(--gold) !important;
  color: #0A1830 !important;
  border-color: var(--gold) !important;
}
body.dark-mode .calc-field select,
body.dark-mode .calc-field input {
  background: #111111 !important;
  border-color: rgba(255,255,255,.15) !important;
  color: #FFFFFF !important;
}
body.dark-mode .calc-field label,
body.dark-mode .faq-q,
body.dark-mode button.faq-q,
body.dark-mode .session-city,
body.dark-mode .sentiment-pair,
body.dark-mode .office-city,
body.dark-mode .why-card h3,
body.dark-mode .pillar-card h3,
body.dark-mode .team-card h3 {
  color: #FFFFFF !important;
}
body.dark-mode .faq-q,
body.dark-mode button.faq-q {
  background: transparent !important;
}
body.dark-mode .faq-q svg {
  stroke: var(--gold) !important;
}
body.dark-mode .faq-a {
  color: #CBD5E1 !important;
}
body.dark-mode .office-hours {
  color: #94A3B8 !important;
  border-top-color: rgba(255,255,255,.1) !important;
}
body.dark-mode .fast-channel-card a {
  color: #FFFFFF !important;
}
body.dark-mode .fast-channel-card a:hover {
  color: var(--gold) !important;
}

/* Hero Try Demo button in dark mode */
body.dark-mode .btn-demo {
  color: #FFFFFF !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  background: rgba(255, 255, 255, 0.05) !important;
}
body.dark-mode .btn-demo:hover {
  color: var(--gold) !important;
  border-color: var(--gold) !important;
  background: rgba(235, 202, 99, 0.12) !important;
  box-shadow: 0 0 20px rgba(235, 202, 99, 0.2) !important;
}

/* Broker Comparison Matrix title bar and button in dark mode */
body.dark-mode .compare-container {
  background: #0a0a0a !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
}
body.dark-mode .compare-title-bar {
  background: #111111 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}
body.dark-mode .compare-title-bar h3 {
  color: #FFFFFF !important;
}
body.dark-mode .compare-title-bar p {
  color: #94A3B8 !important;
}
body.dark-mode .compare-title-bar .btn-frame,
body.dark-mode .btn-frame.on-gold {
  --accent: var(--gold) !important;
  --contrast: #0A1830 !important;
  color: var(--gold) !important;
  background: transparent !important;
}
body.dark-mode .compare-title-bar .btn-frame .label,
body.dark-mode .btn-frame.on-gold .label {
  color: var(--gold) !important;
}
body.dark-mode .compare-title-bar .btn-frame .corner,
body.dark-mode .btn-frame.on-gold .corner {
  border-color: var(--gold) !important;
}
body.dark-mode .compare-title-bar .btn-frame .fill,
body.dark-mode .btn-frame.on-gold .fill {
  background: var(--gold) !important;
}
body.dark-mode .compare-title-bar .btn-frame:hover,
body.dark-mode .btn-frame.on-gold:hover {
  color: #0A1830 !important;
}
body.dark-mode .compare-title-bar .btn-frame:hover .label,
body.dark-mode .btn-frame.on-gold:hover .label {
  color: #0A1830 !important;
}
body.dark-mode .compare-title-bar .btn-frame:hover .corner,
body.dark-mode .btn-frame.on-gold:hover .corner {
  border-color: #0A1830 !important;
}
body.dark-mode .broker-compare-table td strong {
  color: #FFFFFF !important;
}

/* Footer contact numbers, email & messaging desk channels in dark mode */
body.dark-mode .footer-contact-block a {
  color: #FFFFFF !important;
}
body.dark-mode .footer-contact-block a:hover {
  color: var(--gold) !important;
}
body.dark-mode .footer-messaging-bar {
  border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
body.dark-mode .footer-messaging-bar .messaging-title {
  color: #FFFFFF !important;
}
body.dark-mode .footer-messaging-bar .msg-btn {
  color: #E2E8F0 !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}
body.dark-mode .footer-messaging-bar .msg-btn svg {
  fill: currentColor !important;
}
body.dark-mode .footer-messaging-bar .msg-btn.whatsapp:hover {
  background: #25D366 !important;
  border-color: #25D366 !important;
  color: #0A1830 !important;
}
body.dark-mode .footer-messaging-bar .msg-btn.telegram:hover {
  background: #229ED9 !important;
  border-color: #229ED9 !important;
  color: #FFFFFF !important;
}
body.dark-mode .footer-messaging-bar .msg-btn.signal:hover {
  background: #3A76F0 !important;
  border-color: #3A76F0 !important;
  color: #FFFFFF !important;
}
body.dark-mode .footer-compliance strong,
body.dark-mode .footer-restricted strong {
  color: #E2E8F0 !important;
}

/* Additional dark mode widget & section fixes */
body.dark-mode .calc-results-box {
  background: #111111 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #E2E8F0 !important;
}
body.dark-mode .calc-results-box h4 {
  color: #FFFFFF !important;
}
body.dark-mode .system-status-box {
  background: #111111 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: #E2E8F0 !important;
}
body.dark-mode .status-node {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}
body.dark-mode .status-node-name {
  color: #FFFFFF !important;
}
body.dark-mode .infra-section {
  background: #000000 !important;
  color: #E2E8F0 !important;
}

body.dark-mode .nav-dropdown-menu {
  background: rgba(10, 16, 28, 0.98);
  border-color: rgba(235, 202, 99, 0.28);
}
body.dark-mode .dropdown-item .drop-title {
  color: #FFFFFF !important;
}
body.dark-mode .dropdown-item .drop-sub {
  color: #94A3B8 !important;
}

/* ==========================================================================
   LEGAL & REGULATORY PAGES (KYC POLICY & TERMS AND CONDITIONS)
   ========================================================================== */

.legal-hero {
  position: relative;
  background: var(--navy);
  color: var(--paper);
  padding: 120px 0 60px;
  text-align: center;
  overflow: hidden;
}

body.dark-mode .legal-hero {
  background: #000000;
}

.legal-hero .wrap {
  position: relative;
  z-index: 2;
}

.legal-breadcrumbs {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: rgba(245,242,234,0.65);
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.legal-breadcrumbs a {
  color: var(--gold);
  transition: color 0.2s ease;
}

.legal-breadcrumbs a:hover {
  color: var(--gold-soft);
  text-decoration: underline;
}

.legal-breadcrumbs span.sep {
  opacity: 0.4;
}

.legal-hero h1 {
  color: var(--gold) !important;
  font-size: clamp(30px, 4vw, 44px);
  margin-bottom: 16px;
  line-height: 1.25;
}

.legal-hero p.legal-lede {
  color: rgba(245,242,234,0.85);
  max-width: 780px;
  margin: 0 auto 28px;
  font-size: 16px;
  line-height: 1.65;
}

body.dark-mode .legal-hero p.legal-lede {
  color: #CBD5E1;
}

.legal-badges {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.legal-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 14px;
  background: rgba(235,202,99,0.08);
  border: 1px solid rgba(235,202,99,0.25);
  border-radius: 20px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--gold);
  letter-spacing: 0.02em;
}

.legal-badge-pill svg {
  width: 14px;
  height: 14px;
  stroke: var(--gold);
  fill: none;
  flex: none;
}

/* Legal Meta Bar */
.legal-meta-strip {
  background: var(--navy-deep);
  border-top: 1px solid var(--line-on-navy);
  border-bottom: 1px solid var(--line-on-navy);
  padding: 16px 0;
  font-size: 13px;
}

body.dark-mode .legal-meta-strip {
  background: #080D18;
  border-color: rgba(255,255,255,0.08);
}

.legal-meta-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.legal-meta-items {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  color: rgba(245,242,234,0.7);
}

body.dark-mode .legal-meta-items {
  color: #94A3B8;
}

.legal-meta-item strong {
  color: var(--gold);
  font-weight: 600;
}

.legal-meta-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.legal-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 14px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 4px;
  color: var(--paper);
  font-size: 12.5px;
  font-weight: 500;
  transition: all 0.2s ease;
  cursor: pointer;
}

.legal-action-btn:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--navy-deep);
}

.legal-action-btn svg {
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
}

/* Main Content Layout */
.legal-layout-section {
  background: var(--paper);
  padding: 56px 0 88px;
}

body.dark-mode .legal-layout-section {
  background: #060A12;
}

.legal-grid {
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
  gap: 40px;
  align-items: start;
}

/* Sticky Sidebar */
.legal-sidebar {
  position: sticky;
  top: 90px;
  background: var(--navy);
  border: 1px solid var(--line-on-navy);
  border-radius: 6px;
  padding: 24px;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}

body.dark-mode .legal-sidebar {
  background: #0E1626;
  border-color: rgba(255,255,255,0.1);
}

.legal-sidebar::-webkit-scrollbar {
  width: 5px;
}
.legal-sidebar::-webkit-scrollbar-thumb {
  background: rgba(235,202,99,0.3);
  border-radius: 4px;
}

.legal-toc-title {
  font-family: 'Michroma', sans-serif;
  font-size: 12.5px;
  color: var(--gold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.legal-search-input {
  width: 100%;
  padding: 9px 12px;
  background: var(--navy-deep);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 4px;
  color: #FFFFFF;
  font-size: 13px;
  font-family: 'DM Sans', sans-serif;
  margin-bottom: 16px;
  outline: none;
  transition: border-color 0.2s ease;
}

.legal-search-input:focus {
  border-color: var(--gold);
}

.legal-toc-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
}

.legal-toc-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  font-size: 13px;
  color: rgba(245,242,234,0.7);
  border-radius: 4px;
  border-left: 2px solid transparent;
  transition: all 0.2s ease;
  line-height: 1.35;
  text-decoration: none;
}

body.dark-mode .legal-toc-link {
  color: #94A3B8;
}

.legal-toc-link:hover {
  background: rgba(235,202,99,0.06);
  color: var(--gold);
  transform: translateX(2px);
}

.legal-toc-link.active {
  background: rgba(235,202,99,0.12);
  border-left-color: var(--gold);
  color: var(--gold) !important;
  font-weight: 600;
}

.legal-toc-link .toc-num {
  font-family: 'Zalando Sans Expanded', sans-serif;
  font-size: 11px;
  color: var(--gold);
  opacity: 0.8;
  flex: none;
}

.legal-sidebar-help {
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,0.1);
  font-size: 12.5px;
  color: rgba(245,242,234,0.65);
}

body.dark-mode .legal-sidebar-help {
  color: #94A3B8;
  border-color: rgba(255,255,255,0.08);
}

.legal-sidebar-help strong {
  display: block;
  color: #FFFFFF;
  margin-bottom: 6px;
  font-size: 13px;
}

.legal-sidebar-help a {
  color: var(--gold);
  font-weight: 500;
  text-decoration: underline;
}

/* Legal Cards and Sections */
.legal-main {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.legal-clause-card {
  background: #FFFFFF;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 36px 40px;
  scroll-margin-top: 110px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.04);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

body.dark-mode .legal-clause-card {
  background: #0E1626;
  border-color: rgba(255,255,255,0.08);
  box-shadow: 0 4px 20px rgba(0,0,0,0.25);
}

.legal-clause-card:hover {
  border-color: rgba(235,202,99,0.4);
}

.legal-clause-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

body.dark-mode .legal-clause-head {
  border-bottom-color: rgba(255,255,255,0.08);
}

.clause-tag {
  display: inline-block;
  font-family: 'Zalando Sans Expanded', sans-serif;
  font-size: 11.5px;
  color: var(--gold);
  background: var(--navy-deep);
  padding: 3px 10px;
  border-radius: 3px;
  letter-spacing: 0.04em;
  font-weight: 600;
}

.clause-anchor-btn {
  color: rgba(0,0,0,0.3);
  font-size: 13px;
  padding: 4px 8px;
  border-radius: 3px;
  transition: all 0.2s ease;
}

body.dark-mode .clause-anchor-btn {
  color: rgba(255,255,255,0.3);
}

.clause-anchor-btn:hover {
  color: var(--gold);
  background: rgba(235,202,99,0.1);
}

.legal-clause-card h2 {
  font-size: 22px;
  color: var(--navy) !important;
  margin-bottom: 16px;
  line-height: 1.35;
}

body.dark-mode .legal-clause-card h2 {
  color: #FFFFFF !important;
}

.legal-clause-card h3 {
  font-size: 17px;
  color: var(--navy) !important;
  margin: 24px 0 12px;
}

body.dark-mode .legal-clause-card h3 {
  color: var(--gold) !important;
}

.legal-clause-card p {
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.75;
  margin: 0 0 16px;
}

body.dark-mode .legal-clause-card p {
  color: #CBD5E1;
}

.legal-clause-card strong {
  color: var(--ink);
  font-weight: 600;
}

body.dark-mode .legal-clause-card strong {
  color: #FFFFFF;
}

.legal-clause-card ul,
.legal-clause-card ol {
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.75;
  margin: 0 0 20px 0;
  padding-left: 24px;
}

body.dark-mode .legal-clause-card ul,
body.dark-mode .legal-clause-card ol {
  color: #CBD5E1;
}

.legal-clause-card li {
  margin-bottom: 8px;
}

/* Callout Boxes */
.legal-callout {
  border-radius: 4px;
  padding: 20px 24px;
  margin: 20px 0;
  font-size: 14.5px;
  line-height: 1.65;
  border-left: 4px solid;
}

.legal-callout.warning {
  background: rgba(193,67,46,0.06);
  border-color: #C1432E;
  color: #8C2919;
}

body.dark-mode .legal-callout.warning {
  background: rgba(239,68,68,0.08);
  border-color: #EF4444;
  color: #FCA5A5;
}

.legal-callout.warning strong {
  color: #721C0F;
}
body.dark-mode .legal-callout.warning strong {
  color: #FECACA;
}

.legal-callout.info {
  background: rgba(235,202,99,0.08);
  border-color: var(--gold);
  color: #6C5516;
}

body.dark-mode .legal-callout.info {
  background: rgba(235,202,99,0.07);
  border-color: var(--gold);
  color: #F1DB94;
}

.legal-callout.info strong {
  color: #4A3B0D;
}
body.dark-mode .legal-callout.info strong {
  color: #FFFFFF;
}

.legal-callout.regulatory {
  background: rgba(18,36,69,0.04);
  border-color: var(--navy-soft);
  color: var(--navy);
}

body.dark-mode .legal-callout.regulatory {
  background: rgba(27,49,89,0.25);
  border-color: var(--gold-soft);
  color: #E2E8F0;
}

/* Tier Grid (KYC) */
.tier-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 24px 0;
}

.tier-card {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 24px 20px;
  position: relative;
  transition: transform 0.2s ease, border-color 0.2s ease;
}

body.dark-mode .tier-card {
  background: #0A111E;
  border-color: rgba(255,255,255,0.1);
}

.tier-card:hover {
  transform: translateY(-2px);
  border-color: var(--gold);
}

.tier-card.featured {
  border-color: var(--gold);
  box-shadow: 0 0 16px rgba(235,202,99,0.12);
}

.tier-badge {
  display: inline-block;
  font-family: 'Zalando Sans Expanded', sans-serif;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 3px 8px;
  border-radius: 3px;
  font-weight: 700;
  margin-bottom: 12px;
}

.tier-card:nth-child(1) .tier-badge { background: rgba(31,138,95,0.15); color: var(--up); }
.tier-card:nth-child(2) .tier-badge { background: rgba(235,202,99,0.18); color: var(--gold); }
.tier-card:nth-child(3) .tier-badge { background: rgba(18,36,69,0.15); color: var(--navy); }
body.dark-mode .tier-card:nth-child(3) .tier-badge { background: rgba(255,255,255,0.15); color: #FFFFFF; }

.tier-card h4 {
  font-family: 'Michroma', sans-serif;
  font-size: 15px;
  margin: 0 0 8px;
  color: var(--navy);
}

body.dark-mode .tier-card h4 {
  color: #FFFFFF;
}

.tier-limit {
  font-family: 'Zalando Sans Expanded', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--gold);
  margin-bottom: 16px;
  display: block;
}

.tier-features {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.tier-features li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--ink-soft);
}

body.dark-mode .tier-features li {
  color: #94A3B8;
}

.tier-features li svg {
  width: 14px;
  height: 14px;
  flex: none;
  margin-top: 3px;
  stroke: var(--up);
}

/* Documents Checklist (Accepted vs Rejected) */
.doc-check-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 24px 0;
}

.doc-check-box {
  border-radius: 6px;
  padding: 22px;
  border: 1px solid;
}

.doc-check-box.accepted {
  background: rgba(31,138,95,0.04);
  border-color: rgba(31,138,95,0.25);
}

body.dark-mode .doc-check-box.accepted {
  background: rgba(16,185,129,0.06);
  border-color: rgba(16,185,129,0.2);
}

.doc-check-box.rejected {
  background: rgba(193,67,46,0.04);
  border-color: rgba(193,67,46,0.25);
}

body.dark-mode .doc-check-box.rejected {
  background: rgba(239,68,68,0.06);
  border-color: rgba(239,68,68,0.2);
}

.doc-check-header {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Michroma', sans-serif;
  font-size: 13px;
  margin-bottom: 14px;
}

.doc-check-box.accepted .doc-check-header { color: var(--up); }
body.dark-mode .doc-check-box.accepted .doc-check-header { color: var(--candle-up); }
.doc-check-box.rejected .doc-check-header { color: var(--down); }
body.dark-mode .doc-check-box.rejected .doc-check-header { color: var(--candle-down); }

.doc-check-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 13.5px;
  line-height: 1.6;
}

.doc-check-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 8px;
  color: var(--ink-soft);
}

body.dark-mode .doc-check-list li {
  color: #CBD5E1;
}

.doc-check-list svg {
  width: 15px;
  height: 15px;
  flex: none;
  margin-top: 3px;
}

/* Legal Tables */
.legal-table-wrap {
  overflow-x: auto;
  margin: 20px 0;
  border-radius: 4px;
  border: 1px solid var(--line);
}

body.dark-mode .legal-table-wrap {
  border-color: rgba(255,255,255,0.1);
}

.legal-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13.5px;
  text-align: left;
}

.legal-table th {
  background: var(--navy-deep);
  color: var(--gold);
  padding: 12px 16px;
  font-weight: 600;
  font-size: 12.5px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}

.legal-table td {
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  color: var(--ink-soft);
}

body.dark-mode .legal-table td {
  border-bottom-color: rgba(255,255,255,0.06);
  color: #CBD5E1;
}

.legal-table tr:hover td {
  background: rgba(235,202,99,0.03);
}

/* Responsive */
@media (max-width: 1024px) {
  .legal-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .legal-sidebar {
    position: static;
    max-height: none;
    top: auto;
  }
  .tier-grid {
    grid-template-columns: 1fr;
  }
  .doc-check-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .legal-clause-card {
    padding: 24px 20px;
  }
  .legal-meta-wrap {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ==========================================================================
   Mobile Layout Alignment, Single-Column Collapse & Overflow Prevention
   ========================================================================== */
.btn-frame {
  border: 1px solid rgba(235, 202, 99, 0.35);
  border-radius: 3px;
}
.hero-ctas .btn-frame.on-gold,
.btn-frame.btn-primary {
  background: var(--gold) !important;
  color: var(--navy-deep) !important;
  border-color: var(--gold) !important;
}
.hero-ctas .btn-frame.on-gold .label,
.btn-frame.btn-primary .label {
  color: var(--navy-deep) !important;
  font-weight: 700 !important;
}
.hero-ctas .btn-frame.on-gold:hover,
.btn-frame.btn-primary:hover {
  background: var(--gold-soft) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(235, 202, 99, 0.25);
}

/* Ensure consistent section background and text contrast across all pages */
.section {
  background: var(--navy);
  color: #E2E8F0;
}
.contact-hero, .about-hero, .edu-hero {
  background: var(--navy-deep) !important;
}
.contact-hero h1, .about-hero h1, .edu-hero h1 {
  color: var(--gold) !important;
}

@media (max-width: 992px) {
  .contact-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 36px !important;
    padding: 36px 0 !important;
  }
  .news-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 36px !important;
    padding: 36px 0 !important;
  }
  .edu-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
  .values-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
  }
  .feature {
    margin-left: 0 !important;
    padding: 24px 0 !important;
  }
  .feature-grid {
    border-left: none !important;
  }
}

@media (max-width: 680px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
  .wrap {
    padding: 0 16px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .contact-layout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 24px 0 !important;
  }
  .contact-form,
  .contact-cards,
  .contact-card {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .contact-card {
    padding: 24px 18px !important;
  }
  .news-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 24px 0 !important;
  }
  .edu-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin: 24px 0 !important;
  }
  .values-grid {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin: 24px 0 !important;
  }
  .hero-ctas {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 24px auto 0 !important;
    gap: 12px !important;
  }
  .hero-ctas .btn-frame {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
  .account-table-wrap,
  .table-responsive {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 6px !important;
  }
  .account-table,
  .broker-compare-table,
  .webinar-table,
  .custom-table {
    min-width: 540px !important;
  }
  .site-header .wrap {
    padding: 0 14px !important;
  }
  .nav-right {
    gap: 6px !important;
  }
  .search-form input:focus {
    width: 100px !important;
  }
}

/* Print Styles */
@media print {
  .site-header,
  .preloader,
  .nav-overlay,
  footer,
  .legal-sidebar,
  .legal-meta-actions,
  .legal-search-input,
  .hero-chart-bg,
  .hero-trust-strip {
    display: none !important;
  }
  body, .legal-layout-section {
    background: #FFFFFF !important;
    color: #000000 !important;
  }
  .legal-hero {
    padding: 20px 0 !important;
    background: #FFFFFF !important;
    color: #000000 !important;
  }
  .legal-hero h1 {
    color: #000000 !important;
  }
  .legal-clause-card {
    box-shadow: none !important;
    border: 1px solid #CCC !important;
    page-break-inside: avoid;
    margin-bottom: 24px !important;
  }
  .legal-clause-card h2,
  .legal-clause-card h3,
  .legal-clause-card strong {
    color: #000000 !important;
  }
  .legal-clause-card p,
  .legal-clause-card li {
    color: #333333 !important;
  }
}
