/* ==========================================================
   Corp-Ex — Bootstrap 5 theme
   ========================================================== */
:root {
  --cx-gold: #e9a53f;
  --cx-gold-dark: #a88550;
  --cx-black: #000000;
  --cx-navy: #0d141c;
  --cx-light: #f5f5f5;
  --cx-text: #6b6b6b;
  --cx-dark-text: #1d1d1d;
  --cx-pink: #e2455f;
  --cx-border: #dcdcdc;
  --cx-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --cx-sans: "Inter", "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--cx-sans);
  font-size: 15px;
  line-height: 1.6;
  color: var(--cx-text);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

h1, h2, h3, h4, .font-serif { font-family: var(--cx-serif); color: var(--cx-dark-text); font-weight: 500; }
a { color: var(--cx-pink); text-decoration: none; }
a:hover { color: var(--cx-gold); }
:focus-visible { outline: 2px solid var(--cx-gold); outline-offset: 2px; }

.container { max-width: 1200px; }
.container-narrow { max-width: 1200px; }

/* ---------- Top bar ---------- */
.cx-topbar {
  background: var(--cx-gold);
  color: #1b1b1b;
  font-size: 12px;
  letter-spacing: .06em;
  padding: 8px 0;
}
.cx-topbar a { color: #1b1b1b; text-transform: uppercase; }
.cx-topbar a:hover { color: #000; }
.cx-topbar .bi { font-size: 13px; margin-right: 6px; }
.cx-topbar .tagline { font-style: italic; text-transform: uppercase; }

/* ---------- Navbar ---------- */
.cx-nav { background: var(--cx-black); padding: 12px 0; }
.cx-nav .navbar-brand img { height: 52px; width: auto; }
.cx-nav .nav-link {
  color: #fff !important;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: uppercase;
  padding: 8px 18px !important;
}
.cx-nav .nav-link:hover, .cx-nav .nav-link.active { color: var(--cx-gold) !important; }
.cx-nav .dropdown-toggle::after { border-top-width: .32em; border-right-width: .3em; border-left-width: .3em; margin-left: .7em; vertical-align: .18em; }
.cx-nav .dropdown-menu {
  background: #000;
  border: 0;
  border-top: 2px solid var(--cx-gold);
  border-radius: 0;
  padding: 8px 0;
  min-width: 210px;
  margin-top: 0;
}
.cx-nav .dropdown-item { color: #fff; font-size: 13px; padding: 9px 20px; }
.cx-nav .dropdown-item:hover, .cx-nav .dropdown-item.active { background: transparent; color: var(--cx-gold); }
@media (min-width: 992px) {
  .cx-nav .dropdown:hover > .dropdown-menu { display: block; }
}
.cx-nav .navbar-toggler { border-color: rgba(255,255,255,.4); }
.cx-nav .navbar-toggler-icon { filter: invert(1); }

.btn-cx {
  background: var(--cx-gold);
  color: #fff;
  border: 1px solid var(--cx-gold);
  border-radius: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 15px 42px;
}
.btn-cx:hover { background: #d8932b; border-color: #d8932b; color: #fff; }
.btn-cx-white { background: #fff; color: #111; border: 1px solid #fff; }
.btn-cx-white:hover { background: transparent; color: #fff; border-color: #fff; }
.btn-cx-black { background: #000; color: #fff; border: 1px solid #000; }
.btn-cx-black:hover { background: #222; color: #fff; border-color: #222; }
.btn-cx-sm { padding: 12px 34px; }

/* ---------- Inner page hero ---------- */
.cx-hero {
  position: relative;
  background: var(--cx-navy);
  min-height: 470px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  padding: 80px 0;
}
.cx-hero .eyebrow {
  color: var(--cx-gold);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.cx-hero h1 { color: #fff; font-size: 43px; line-height: 1.2; margin: 0; }
.cx-hero.cx-hero-sm h1 { font-size: 40px; }
/* decorative corner lines */
.cx-corner {
  position: absolute;
  top: 70px;
  width: 270px;
  height: 330px;
  pointer-events: none;
  border-top: 1px solid rgba(255,255,255,.55);
  -webkit-mask-image: linear-gradient(to bottom, #000 40%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 40%, transparent 100%);
}
.cx-corner::before {
  content: "";
  position: absolute;
  top: -70px;
  width: 1px;
  height: 400px;
  background: rgba(255,255,255,.55);
}
.cx-corner.left { left: 0; border-left: 1px solid rgba(255,255,255,.55); border-top-left-radius: 44px; }
.cx-corner.left::before { left: 80px; }
.cx-corner.right { right: 0; border-left: 1px solid rgba(255,255,255,.55); border-top-left-radius: 44px; width: 270px; }
.cx-corner.right::before { left: 80px; }
@media (max-width: 991px) { .cx-corner { display: none; } .cx-hero h1 { font-size: 34px; } .cx-hero { min-height: 340px; } }

/* ---------- Section headings ---------- */
.cx-vline { width: 1px; height: 82px; margin: 0 auto 30px; background: linear-gradient(to bottom, var(--cx-gold), rgba(233,165,63,0)); }
.cx-vline.start { margin-left: 0; }
.cx-section-title { font-size: 44px; line-height: 1.2; margin-bottom: 18px; }
.cx-section-sub { font-size: 15px; color: var(--cx-text); }
.on-dark h1, .on-dark h2, .on-dark h3, .on-dark h4 { color: #fff; }
.on-dark { color: #e7e7e7; }

.bg-cx-light { background: var(--cx-light); }
.bg-cx-black { background: #000; }
.bg-cx-navy { background: var(--cx-navy); }
.py-cx { padding-top: 80px; padding-bottom: 80px; }

/* ---------- Home hero ---------- */
.cx-home-hero {
  position: relative;
  background: #0b1626 url("../img/main.jpg") center/cover no-repeat;
  min-height: 790px;
  display: flex; align-items: center; text-align: center;
  padding: 100px 0;
}
.cx-home-hero::before { content: ""; position: absolute; inset: 0; background: rgb(0 0 0 / 70%); }
.cx-home-hero .container { position: relative; }
.cx-home-hero .eyebrow { color: var(--cx-gold); font-size: 11px; letter-spacing: .32em; font-weight: 600; margin-bottom: 18px; }
.cx-home-hero h1 { color: #fff; font-size: 74px; line-height: 1.05; margin-bottom: 0; }
.cx-home-hero h1 em { display: block; color: var(--cx-gold); font-style: italic; font-weight: 400; }
.cx-home-hero p { color: #e4e4e4; font-size: 17px; max-width: 540px; margin: 22px auto 34px; line-height: 1.6; }
@media (max-width: 767px) { .cx-home-hero h1 { font-size: 42px; } .cx-home-hero { min-height: 560px; } }

/* ---------- About block ---------- */
.cx-about h2 { font-size: 42px; margin-bottom: 18px; }
.cx-about p { color: #858585; font-size: 15.5px; line-height: 1.65; font-weight: 300; }

/* ---------- Feature cards (about page) ---------- */
.cx-feature {
  background: #fff;
  padding: 38px 30px 34px;
  height: 100%;
}
.cx-feature .icon {
  width: 64px; height: 64px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--cx-gold); color: #fff; font-size: 22px; margin-bottom: 30px;
}
.cx-feature h4 { font-family: var(--cx-sans); font-size: 19px; font-weight: 600; color: #111; margin-bottom: 18px; }
.cx-feature p { font-size: 14.5px; color: #8a8a8a; margin: 0; line-height: 1.6; }
.cx-feature.gold { background: var(--cx-gold); }
.cx-feature.gold .icon { background: #0d141c; }
.cx-feature.gold p { color: #1d1d1d; }

/* ---------- Market cards (home) ---------- */
.cx-market {
  background: #fff;
  padding: 30px 26px;
  height: 100%;
  min-height: 300px;
}
.cx-market .icon {
  width: 60px; height: 60px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--cx-gold); color: #fff; font-size: 22px; margin-bottom: 26px;
}
.cx-market h4 { font-family: var(--cx-sans); font-size: 17px; font-weight: 600; color: #111; margin-bottom: 14px; }
.cx-market p { font-size: 13.5px; color: #8a8a8a; margin: 0; line-height: 1.6; }
.cx-market.gold { background: var(--cx-gold); }
.cx-market.gold .icon { background: #0d141c; }
.cx-market.gold p { color: #1d1d1d; }

/* ---------- Why choose ---------- */
.cx-why h2 { font-size: 46px; margin-bottom: 14px; }
.cx-check-list { list-style: none; padding: 0; margin: 0 0 40px; }
.cx-check-list li {
  position: relative; padding: 11px 0 11px 28px; color: #fff; font-size: 15px;
  border-bottom: 1px solid rgba(255,255,255,.18);
}
.cx-check-list li:last-child { border-bottom: 0; }
.cx-check-list li::before {
  content: "\F26A"; font-family: "bootstrap-icons"; position: absolute; left: 0; top: 11px;
  color: var(--cx-gold); font-size: 17px;
}
.cx-why p { color: #e8e8e8; font-size: 15.5px; line-height: 1.7; }

/* ---------- Steps ---------- */
.cx-step { background: #000; padding: 34px 30px; height: 100%; }
.cx-step .icon {
  width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: var(--cx-gold); color: #fff; font-size: 22px; margin-bottom: 24px;
}
.cx-step h4 { font-family: var(--cx-sans); color: var(--cx-gold); font-size: 18px; font-weight: 600; margin-bottom: 12px; }
.cx-step p { color: #d6d6d6; font-size: 14px; margin: 0; }
.cx-step.gold { background: var(--cx-gold); }
.cx-step.gold .icon { background: #0d141c; }
.cx-step.gold h4 { color: #111; }
.cx-step.gold p { color: #1d1d1d; }

/* ---------- Market overview widgets ---------- */
.cx-widget { background: #fff; border: 1px solid #e3e3e3; min-height: 520px; }

/* ---------- Account types ---------- */
.cx-plan {
  padding: 34px 30px 36px;
  height: 100%;
  display: flex; flex-direction: column;
  color: #fff;
}
.cx-plan.gold { background: linear-gradient(180deg, #e9a53f 0%, #a88550 100%); }
.cx-plan.black { background: #000; }
.cx-plan h3 { color: #fff; font-size: 50px; font-weight: 400; margin-bottom: 30px; line-height: 1; }
.cx-plan .price { font-family: var(--cx-sans); font-size: 42px; font-weight: 400; color: #fff; padding-bottom: 26px; border-bottom: 1px solid rgba(255,255,255,.25); margin-bottom: 26px; line-height: 1.1; }
.cx-plan.black .price { color: var(--cx-gold); }
.cx-plan ul { list-style: none; padding: 0; margin: 0 0 22px; }
.cx-plan li { position: relative; padding: 0 0 0 26px; font-size: 15.5px; margin-bottom: 11px; color: #fff; }
.cx-plan li::before { content: "\F26A"; font-family: "bootstrap-icons"; position: absolute; left: 0; top: 0; color: #fff; }
.cx-plan.black li::before { color: var(--cx-gold); }
.cx-plan .plan-foot { border-top: 1px solid rgba(255,255,255,.25); padding-top: 20px; }
.cx-plan .btn { width: 100%; padding: 15px; font-size: 11px; }

/* ---------- Content pages ---------- */
.cx-content { color: #555; font-size: 14.5px; }
.cx-content h2 { font-size: 30px; margin: 34px 0 14px; }
.cx-content h3 { font-size: 24px; margin: 28px 0 12px; }
.cx-content h4 { font-family: var(--cx-sans); font-size: 17px; font-weight: 600; margin: 22px 0 10px; color: #222; }
.cx-content p { margin-bottom: 14px; }
.cx-content ul, .cx-content ol { margin-bottom: 14px; padding-left: 22px; }
.cx-content li { margin-bottom: 4px; }
.cx-content strong { color: #222; font-weight: 600; }
.cx-content .table { font-size: 13px; border-color: var(--cx-border); margin: 16px 0 24px; }
.cx-content .table > :not(caption) > * > * { padding: 18px 14px; background: #fff; color: #444; }
.cx-content .table > thead > tr > *, .cx-content .table tbody tr:nth-child(even) > * { background: #f6f6f6; }
.cx-content .note { font-style: italic; font-size: 13px; margin-bottom: 6px; }
.cx-sans-headings h2 { font-family: var(--cx-sans); font-weight: 500; font-size: 30px; }
.cx-sans-headings hr { opacity: .6; margin: 14px 0 0; }

.img-ph {
  display: none !important; align-items: center; justify-content: center;
  background: repeating-linear-gradient(45deg, #f1f1f1 0 12px, #e9e9e9 12px 24px);
  border: 1px solid #d9d9d9;
  color: #9a9a9a; font-size: 13px;
  width: 100%;
  margin: 18px 0;
}
.img-ph::before { content: "\F42A"; font-family: "bootstrap-icons"; font-size: 28px; margin-right: 10px; }
.on-dark .img-ph, .bg-cx-black .img-ph { background: repeating-linear-gradient(45deg, #151515 0 12px, #1d1d1d 12px 24px); border-color: #333; color: #666; }

/* market intro split */
.cx-intro { background: #000; padding: 70px 0 80px; }
.cx-intro h2 { color: #fff; font-size: 44px; line-height: 1.2; margin-bottom: 14px; }
.cx-intro p { color: #9e9e9e; font-size: 15px; line-height: 1.65; margin: 0; }
.cx-intro img { width: 100%; border-radius: 8px; }

/* ---------- FAQ ---------- */
.cx-faq { border-top: 1px solid #333; }
.cx-faq .accordion-item { background: transparent; border: 0; border-bottom: 1px solid #dcdcdc; border-radius: 0 !important; }
.cx-faq .accordion-button {
  background: transparent; box-shadow: none; padding: 34px 26px 34px 0;
  font-family: var(--cx-serif); font-size: 21px; color: #1d1d1d;
}
.cx-faq .accordion-button::after {
  background-image: none; content: "\F4FE"; font-family: "bootstrap-icons"; font-size: 24px;
  width: auto; height: auto; transform: none; color: #111; -webkit-text-stroke: .6px #111;
}
.cx-faq .accordion-button:not(.collapsed)::after { content: "\F2EA"; transform: none; }
.cx-faq .accordion-button:not(.collapsed) { color: #1d1d1d; }
.cx-faq .accordion-body { padding: 0 60px 30px 0; font-size: 15px; color: #6b6b6b; }

/* ---------- Contact ---------- */
.cx-info { background: #000; padding: 26px 30px; display: flex; gap: 18px; align-items: flex-start; }
.cx-info .icon { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%; background: #c39a5f; color: #000; display: flex; align-items: center; justify-content: center; font-size: 22px; }
.cx-info h5 { color: #fff; font-size: 21px; font-weight: 500; margin: 2px 0 8px; }
.cx-info p { color: #cfcfcf; margin: 0; font-size: 15px; }
.cx-form-card { background: #fff; padding: 55px 55px; }
.cx-form-card .form-control { border-radius: 0; border: 1px solid #9a9a9a; height: 59px; padding: 10px 20px; font-size: 17px; color: #333; }
.cx-form-card .form-control::placeholder { color: #9b9b9b; }
.cx-form-card textarea.form-control { height: 116px; }
.cx-form-card .form-control:focus { border-color: var(--cx-gold); box-shadow: none; }
.cx-form-card .btn-submit { background: #0d141c; color: #fff; border-radius: 3px; height: 55px; width: 100%; font-size: 16px; letter-spacing: .02em; }
.cx-form-card .btn-submit:hover { background: #000; color: #fff; }
@media (max-width: 575px) { .cx-form-card { padding: 30px 22px; } }

/* ---------- Footer ---------- */
.cx-footer { background: #000; color: #fff; padding: 80px 0 55px; text-align: center; font-family: "Roboto", var(--cx-sans); }
.cx-footer .logo { height: 64px; margin-bottom: 30px; }
.cx-footer .foot-nav a { color: #fff; font-weight: 600; font-size: 15px; margin: 0 13px; }
.cx-footer .foot-nav a:hover { color: var(--cx-gold); }
.cx-footer .foot-info { margin-top: 28px; font-size: 15px; color: #e3e3e3; }
.cx-footer .foot-info span { display: inline-block; margin: 4px 8px; }
.cx-footer .foot-info .bi { margin-right: 8px; }
.cx-footer .foot-info a { color: var(--cx-pink); }
.cx-footer .foot-bottom { border-top: 1px solid #3a3a3a; margin-top: 40px; padding-top: 40px; text-align: left; }
.cx-footer .copy { color: #a5a5a5; font-size: 15px; padding-left: 10px; }
.cx-footer .legal a { color: #fff; font-size: 15px; margin-left: 14px; }
.cx-footer .legal a:hover { color: var(--cx-gold); }
@media (max-width: 767px) { .cx-footer .foot-bottom, .cx-footer .legal { text-align: center; } .cx-footer .legal a { display: inline-block; margin: 4px 8px; } }

@media (max-width: 767px) {
  .cx-section-title, .cx-intro h2, .cx-why h2, .cx-about h2 { font-size: 32px; }
  .py-cx { padding-top: 56px; padding-bottom: 56px; }
}
