/* ===============================
   GLOBAL RESET
   =============================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ===============================
   BASE THEME (WHITE-FIRST)
   =============================== */
body {
  font-family: "Helvetica Neue", Arial, sans-serif;
  background-color: #f9fafb;        /* soft white */
  color: #0f172a;                   /* deep navy text */
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

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

/* ===============================
   CONTAINER
   =============================== */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 26px;
}

/* ===============================
   BUTTONS (USED IN HTML)
   =============================== */
.btn {
  display: inline-block;
  padding: 14px 34px;
  border-radius: 2px;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: 1px solid rgba(11,42,74,0.25);
}

.btn.primary {
  background-color: #0b2a4a; /* institutional blue */
  color: #ffffff;
  border-color: #0b2a4a;
}

.btn.secondary {
  background-color: rgba(255,255,255,0.92);
  color: #0b2a4a;
  border-color: rgba(255,255,255,0.65);
}

/* ===============================
   HEADER (OVER HERO)
   =============================== */
.site-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 28px 0;
}

.logo {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #ffffff;
}

.main-nav a {
  margin-left: 28px;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.9;
  color: #ffffff;
}

.login-btn {
  padding: 10px 18px;
  border: 1px solid rgba(255,255,255,0.55);
  color: #ffffff;
}

/* ===============================
   HERO (IMAGE + OVERLAY)
   =============================== */
.hero {
  min-height: 92vh;
  background-image:
    linear-gradient(rgba(8,16,30,0.62), rgba(8,16,30,0.78)),
    url("../images/hero-global.jpg");
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
}

.hero-content {
  max-width: 780px;
}

.hero h1 {
  font-size: 48px;
  line-height: 1.12;
  margin-bottom: 28px;
  color: #ffffff;
}

.hero p {
  font-size: 18px;
  opacity: 0.92;
  color: rgba(255,255,255,0.92);
}

.hero-actions a {
  margin-top: 38px;
  margin-right: 24px;
}

/* ===============================
   STRIP (NOW LIGHT, BANK-LIKE)
   =============================== */
.compliance-strip {
  background-color: #ffffff;
  color: #0f172a;
  border-bottom: 1px solid #e5e7eb;
  text-align: center;
  font-size: 11.5px;
  letter-spacing: 0.18em;
  padding: 22px 0;
}

/* ===============================
   BANKING PATHS (WHITE PANELS)
   =============================== */
.banking-paths {
  padding: 110px 0;
  background-color: #f9fafb;
  text-align: center;
}

.banking-paths h2 {
  font-size: 32px;
  margin-bottom: 12px;
  color: #0f172a;
}

.banking-paths > .container > p {
  opacity: 0.85;
  margin-bottom: 54px;
  color: #334155;
}

.paths-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
}

.path-card {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  padding: 52px 48px;
  text-align: left;
}

.path-card h3 {
  font-size: 24px;
  margin-bottom: 14px;
  color: #0f172a;
}

.path-card p {
  margin-bottom: 26px;
  color: #334155;
}

.path-card ul {
  list-style: none;
  margin-bottom: 32px;
}

.path-card li {
  margin-bottom: 14px;
  padding-left: 34px;
  position: relative;
  color: #0f172a;
}

.path-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(11,42,74,0.45);
  border-radius: 50%;
}

/* ===============================
   SPLIT SECTIONS (LIGHT + IMAGE)
   =============================== */
.split-section {
  padding: 120px 0;
  background-color: #ffffff;
  border-top: 1px solid #eef2f7;
}

.split {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 80px;
  align-items: center;
}

.split-section.reverse .split {
  grid-template-columns: 1.25fr 1fr;
}

.split-text {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  padding: 52px;
}

.split-text h2 {
  font-size: 32px;
  margin-bottom: 18px;
  color: #0f172a;
}

.split-text h3 {
  font-size: 20px;
  margin-top: 10px;
  color: #0f172a;
}

.split-text p {
  margin-bottom: 26px;
  color: #334155;
}

.split-text ul {
  list-style: none;
}

.split-text li {
  margin-bottom: 16px;
  padding-left: 36px;
  position: relative;
  color: #0f172a;
}

.split-text li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(11,42,74,0.45);
  border-radius: 50%;
}

.split-image img {
  width: 100%;
  display: block;
}

/* ===============================
   OUR CLIENTS (LIGHT SECTION)
   =============================== */
.clients {
  padding: 120px 0;
  background-color: #f9fafb;
  text-align: center;
  border-top: 1px solid #eef2f7;
  border-bottom: 1px solid #eef2f7;
}

.clients h2 {
  font-size: 32px;
  margin-bottom: 12px;
  color: #0f172a;
}

.clients p {
  margin-bottom: 54px;
  color: #334155;
}

.client-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

.client-card {
  padding: 38px 26px;
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  font-size: 14px;
  color: #0f172a;
}

.client-card::before {
  content: "";
  display: block;
  width: 36px;
  height: 36px;
  margin: 0 auto 20px auto;
  border: 2px solid rgba(11,42,74,0.35);
  border-radius: 50%;
}

/* ===============================
   INTERMEDIARIES (LIGHT + PANEL)
   =============================== */
.intermediaries {
  padding: 120px 0;
  background-color: #ffffff;
}

.intermediaries-layout {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 80px;
  align-items: center;
}

.intermediary-images {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.intermediary-images img {
  width: 100%;
  display: block;
}

.intermediary-images span {
  display: block;
  margin-top: 12px;
  font-size: 13px;
  color: #334155;
}

.intermediary-text {
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  padding: 52px;
}

.intermediary-text h2 {
  font-size: 32px;
  margin-bottom: 16px;
  color: #0f172a;
}

.intermediary-text p {
  color: #334155;
}

.intermediary-text ul {
  list-style: none;
  margin-top: 18px;
}

.intermediary-text li {
  margin-bottom: 16px;
  padding-left: 36px;
  position: relative;
  color: #0f172a;
}

.intermediary-text li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(11,42,74,0.45);
  border-radius: 50%;
}

/* ===============================
   ONBOARDING
   =============================== */
.onboarding {
  padding: 90px 0;
  text-align: center;
  background-color: #f9fafb;
  border-top: 1px solid #eef2f7;
}

.onboarding h2 {
  font-size: 28px;
  margin-bottom: 18px;
  color: #0f172a;
}

.onboarding p {
  color: #334155;
}

/* ===============================
   FOOTER (DARK ANCHOR)
   =============================== */
.site-footer {
  background-color: #0b2a4a;
  color: rgba(255,255,255,0.92);
  font-size: 12px;
}

.site-footer .container {
  padding: 48px 26px;
}

.site-footer p:last-of-type {
  opacity: 0.9;
  margin-top: 16px;
}

/* ===============================
   RESPONSIVE
   =============================== */
@media (max-width: 900px) {

  .paths-grid,
  .split,
  .intermediaries-layout {
    grid-template-columns: 1fr;
  }

  .client-grid {
    grid-template-columns: 1fr 1fr;
  }

}

@media (max-width: 600px) {

  .hero h1 {
    font-size: 32px;
  }

  .client-grid {
    grid-template-columns: 1fr;
  }

  .main-nav {
    display: none;
  }

}
