/* ═══════════════════════════════════════════════════════════════════
   NEXUS BANK — Public Marketing Site  (home · about · faq · contact)
   ═══════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap');

/* ── RESET ───────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

/* ── DARK TOKENS (default) ───────────────────────────────────────── */
:root, [data-theme="dark"] {
  --s-bg:        #07090F;
  --s-deep:      #0D1117;
  --s-surface:   #141922;
  --s-panel:     #1A2234;
  --s-glass:     rgba(255,255,255,0.045);
  --s-glass-h:   rgba(255,255,255,0.075);
  --s-border:    rgba(255,255,255,0.07);
  --s-bdr-gold:  rgba(59,130,246,0.35);      /* blue border */

  /* GOLD VARIABLES → BLUE EQUIVALENTS */
  --s-gold:      #3B82F6;                   /* was #C8A03C → now blue-500 */
  --s-gold-lt:   #60A5FA;                   /* was #E4C060 → now blue-400 */
  --s-gold-dim:  rgba(59,130,246,0.13);     /* was gold dim → now blue dim */
  
  --s-electric:  #4F9EFF;
  --s-elec-dim:  rgba(79,158,255,0.12);
  --s-emerald:   #2DD4A4;
  --s-em-dim:    rgba(45,212,164,0.12);
  --s-rose:      #FF5F7E;
  --s-rose-dim:  rgba(255,95,126,0.12);
  --s-amber:     #F59E0B;

  --s-txt:       #F4F6FB;
  --s-txt-m:     #8A9BBD;
  --s-txt-f:     #4E5D78;

  --s-nav-bg:    rgba(7,9,15,0.88);
  --s-shadow:    0 32px 80px rgba(0,0,0,0.55);
  --s-shadow-sm: 0 4px 20px rgba(0,0,0,0.3);
}

/* ── LIGHT TOKENS ────────────────────────────────────────────────── */
[data-theme="light"] {
  --s-bg:        #E8EDF5;
  --s-deep:      #DDE3EE;
  --s-surface:   #EDF0F7;
  --s-panel:     #E4E9F2;
  --s-glass:     rgba(255,255,255,0.55);
  --s-glass-h:   rgba(255,255,255,0.75);
  --s-border:    rgba(0,0,0,0.08);
  --s-bdr-gold:  rgba(37,99,235,0.35);      /* blue border */

  /* GOLD VARIABLES → BLUE EQUIVALENTS */
  --s-gold:      #2563EB;                   /* was #B8860B → now blue-600 */
  --s-gold-lt:   #3B82F6;                   /* was #C8A03C → now blue-500 */
  --s-gold-dim:  rgba(37,99,235,0.1);       /* was gold dim → now blue dim */
  
  --s-electric:  #2563EB;
  --s-elec-dim:  rgba(37,99,235,0.1);
  --s-emerald:   #059669;
  --s-em-dim:    rgba(5,150,105,0.1);
  --s-rose:      #DC2626;
  --s-rose-dim:  rgba(220,38,38,0.1);
  --s-amber:     #D97706;

  --s-txt:       #0D1117;
  --s-txt-m:     #4A5568;
  --s-txt-f:     #9AA5B4;

  --s-nav-bg:    rgba(232,237,245,0.9);
  --s-shadow:    0 32px 80px rgba(0,0,0,0.1);
  --s-shadow-sm: 0 4px 20px rgba(0,0,0,0.07);
}

/* ── BASE ────────────────────────────────────────────────────────── */
body {
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 15px; line-height: 1.6;
  background: var(--s-bg); color: var(--s-txt);
  -webkit-font-smoothing: antialiased;
  transition: background 0.3s, color 0.3s;
}
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--s-panel); border-radius: 99px; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

/* ── NAVBAR ──────────────────────────────────────────────────────── */
.site-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  height: 68px;
  background: var(--s-nav-bg);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--s-border);
  display: flex; align-items: center;
  padding: 0 5%;
  gap: 32px;
  transition: background 0.3s;
}
.site-nav-logo {
  display: flex; align-items: center; gap: 11px;
  flex-shrink: 0;
}
.site-nav-logo-rectangle {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 180px;
}
.site-nav-logo-rectangle img {
  width: auto;
  max-width: 100%;
  max-height: 42px;
  object-fit: contain;
}
.site-nav-logo-icon {
  width: 38px; height: 38px; border-radius: 9px;
  background: linear-gradient(135deg, #3B82F6, #1E3A8A);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(37,99,235,0.35);
  overflow: hidden;
}
.site-nav-logo-icon svg { width: 20px; height: 20px; color: #fff; }
.site-nav-logo-icon.has-logo { background: var(--s-glass); border: 1px solid var(--s-border); box-shadow: none; }
.site-nav-logo-icon.has-logo img { width: 100%; height: 100%; object-fit: cover; }
.site-nav-logo-name {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.2rem; font-weight: 600; color: var(--s-txt);
  letter-spacing: 0.04em;
}
.site-nav-links {
  display: flex; align-items: center; gap: 4px;
  flex: 1; margin-left: 24px;
  list-style: none;
}
.site-nav-links a {
  padding: 6px 13px; border-radius: 7px;
  font-size: 0.875rem; font-weight: 500;
  color: var(--s-txt-m);
  transition: all 0.2s;
}
.site-nav-links a:hover,
.site-nav-links a.active { color: var(--s-txt); background: var(--s-glass); }
.site-nav-links a.active { color: var(--s-gold); }

.site-nav-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }

/* Theme toggle */
.site-theme-btn {
  width: 38px; height: 38px; border-radius: 8px;
  border: 1px solid var(--s-border); background: var(--s-glass);
  color: var(--s-txt-m); display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all 0.2s; flex-shrink: 0;
}
.site-theme-btn:hover { color: var(--s-gold); border-color: var(--s-bdr-gold); background: var(--s-gold-dim); }
.site-theme-btn svg { width: 17px; height: 17px; }

.site-nav-btn-ghost {
  padding: 7px 18px; border-radius: 8px;
  border: 1px solid var(--s-border); background: var(--s-glass);
  font-size: 0.875rem; font-weight: 500; color: var(--s-txt-m);
  transition: all 0.2s; cursor: pointer;
}
.site-nav-btn-ghost:hover { border-color: var(--s-bdr-gold); color: var(--s-txt); background: var(--s-glass-h); }

.site-nav-btn-gold {
  padding: 8px 20px; border-radius: 8px;
  background: linear-gradient(135deg, #3B82F6, #1E3A8A);
  font-size: 0.875rem; font-weight: 600; color: #fff;
  box-shadow: 0 4px 14px rgba(37,99,235,0.28);
  transition: all 0.2s;
}
.site-nav-btn-gold:hover { filter: brightness(1.08); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(37,99,235,0.4); }

/* Mobile hamburger */
.site-nav-burger {
  display: none; flex-direction: column; gap: 5px;
  width: 38px; height: 38px; border: 1px solid var(--s-border);
  background: var(--s-glass); border-radius: 8px;
  align-items: center; justify-content: center;
  cursor: pointer; transition: all 0.2s;
}
.site-nav-burger span { width: 18px; height: 1.5px; background: var(--s-txt-m); border-radius: 99px; transition: all 0.25s; }
.site-nav-burger:hover { border-color: var(--s-bdr-gold); }

/* Mobile menu */
.site-nav-mobile {
  display: none; position: fixed; top: 68px; left: 0; right: 0;
  background: var(--s-deep); border-bottom: 1px solid var(--s-border);
  padding: 16px 5%; flex-direction: column; gap: 4px; z-index: 199;
  animation: siteNavIn 0.2s ease;
}
.site-nav-mobile.open { display: flex; }
.site-nav-mobile a {
  padding: 11px 14px; border-radius: 8px;
  font-size: 0.9rem; font-weight: 500; color: var(--s-txt-m);
  transition: all 0.18s;
}
.site-nav-mobile a:hover { background: var(--s-glass); color: var(--s-txt); }
.site-nav-mobile a.active { color: var(--s-gold); }
.site-nav-mobile-actions { display: flex; gap: 10px; margin-top: 8px; }
.site-nav-mobile-actions a { flex: 1; text-align: center; }
@keyframes siteNavIn { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }

@media (max-width: 768px) {
  .site-nav-links, .site-nav-actions { display: none; }
  .site-nav-burger { display: flex; }
}

/* ── PAGE WRAPPER ────────────────────────────────────────────────── */
.site-page { padding-top: 68px; min-height: 100vh; display: flex; flex-direction: column; }
.site-content { flex: 1; }

/* ── DECORATIVE BG HELPERS ───────────────────────────────────────── */
.s-bg-grid {
  position: absolute; inset: 0; pointer-events: none; overflow: hidden;
  background-image:
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 64px 64px;
}
[data-theme="light"] .s-bg-grid {
  background-image:
    linear-gradient(rgba(0,0,0,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.035) 1px, transparent 1px);
}

/* ── SECTION UTILITIES ───────────────────────────────────────────── */
.s-section { padding: 96px 5%; }
.s-section-sm { padding: 64px 5%; }
.s-container { max-width: 1160px; margin: 0 auto; }
.s-container-sm { max-width: 780px; margin: 0 auto; }

.s-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.65rem; font-weight: 700; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--s-gold);
  margin-bottom: 14px;
}
.s-eyebrow::before { content: ''; display: block; width: 24px; height: 1px; background: var(--s-gold); }

.s-heading {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 600; color: var(--s-txt);
  letter-spacing: 0.01em; line-height: 1.18;
  margin-bottom: 18px;
}
.s-heading em { color: var(--s-gold-lt); font-style: normal; }

.s-lead {
  font-size: 1.05rem; color: var(--s-txt-m); line-height: 1.7;
  max-width: 600px; margin-bottom: 36px;
}

/* ── BUTTONS ─────────────────────────────────────────────────────── */
.s-btn-gold {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 28px; border-radius: 9px;
  background: linear-gradient(135deg, #3B82F6, #1E3A8A);
  color: #fff; font-weight: 600; font-size: 0.9rem;
  box-shadow: 0 4px 18px rgba(37,99,235,0.3);
  transition: all 0.22s; border: none; cursor: pointer;
  font-family: 'DM Sans', sans-serif;
}
.s-btn-gold:hover { filter: brightness(1.08); transform: translateY(-1px); box-shadow: 0 8px 26px rgba(37,99,235,0.42); }
.s-btn-gold svg { width: 16px; height: 16px; }

.s-btn-ghost {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 28px; border-radius: 9px;
  border: 1px solid var(--s-border); background: var(--s-glass);
  color: var(--s-txt-m); font-weight: 500; font-size: 0.9rem;
  transition: all 0.22s; cursor: pointer; font-family: 'DM Sans', sans-serif;
}
.s-btn-ghost:hover { border-color: var(--s-bdr-gold); color: var(--s-txt); background: var(--s-glass-h); transform: translateY(-1px); }

.s-btn-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

/* ── CARDS ───────────────────────────────────────────────────────── */
.s-card {
  background: var(--s-surface);
  border: 1px solid var(--s-border);
  border-radius: 18px;
  padding: 28px 30px;
  transition: all 0.22s;
}
.s-card:hover { border-color: var(--s-bdr-gold); transform: translateY(-3px); box-shadow: var(--s-shadow-sm); }

.s-card-icon {
  width: 48px; height: 48px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px; position: relative; overflow: hidden;
}
.s-card-icon::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.18) 0%, transparent 60%);
}
.s-card-icon svg { width: 22px; height: 22px; position: relative; z-index: 1; }
.s-card-icon.gold   { background: linear-gradient(135deg,rgba(59,130,246,.22),rgba(59,130,246,.08)); color:var(--s-gold);    border:1px solid rgba(59,130,246,.2);  box-shadow:0 4px 12px rgba(59,130,246,.18); }
.s-card-icon.blue   { background: linear-gradient(135deg,rgba(79,158,255,.22),rgba(79,158,255,.08)); color:var(--s-electric); border:1px solid rgba(79,158,255,.2);  box-shadow:0 4px 12px rgba(79,158,255,.15); }
.s-card-icon.green  { background: linear-gradient(135deg,rgba(45,212,164,.22),rgba(45,212,164,.08)); color:var(--s-emerald);  border:1px solid rgba(45,212,164,.2);  box-shadow:0 4px 12px rgba(45,212,164,.15); }
.s-card-icon.rose   { background: linear-gradient(135deg,rgba(255,95,126,.22),rgba(255,95,126,.08)); color:var(--s-rose);     border:1px solid rgba(255,95,126,.2);  box-shadow:0 4px 12px rgba(255,95,126,.15); }
.s-card-icon.amber  { background: linear-gradient(135deg,rgba(245,158,11,.22),rgba(245,158,11,.08)); color:var(--s-amber);    border:1px solid rgba(245,158,11,.2);  box-shadow:0 4px 12px rgba(245,158,11,.15); }

.s-card-title { font-family:'Cormorant Garamond',serif; font-size:1.15rem; font-weight:600; color:var(--s-txt); margin-bottom:8px; }
.s-card-body  { font-size:.875rem; color:var(--s-txt-m); line-height:1.65; }

/* ── DIVIDER ─────────────────────────────────────────────────────── */
.s-divider { height:1px; background:var(--s-border); margin: 0 0 64px; }

/* ── BADGE ───────────────────────────────────────────────────────── */
.s-badge {
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 12px; border-radius:99px; font-size:0.72rem; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase;
}
.s-badge-gold   { background:var(--s-gold-dim); color:var(--s-gold);    border:1px solid rgba(59,130,246,.2); }
.s-badge-green  { background:var(--s-em-dim);   color:var(--s-emerald); border:1px solid rgba(45,212,164,.2); }
.s-badge-blue   { background:var(--s-elec-dim); color:var(--s-electric);border:1px solid rgba(79,158,255,.2); }

/* ── HERO ────────────────────────────────────────────────────────── */
.site-hero {
  position: relative; overflow: hidden;
  padding: 120px 5% 100px;
  background: linear-gradient(160deg, #060A10 0%, #0D1520 45%, #080E18 100%);
  border-bottom: 1px solid var(--s-border);
}
[data-theme="light"] .site-hero {
  background: linear-gradient(160deg, #0D1A2E 0%, #122040 45%, #0A1628 100%);
}
.site-hero-slider,
.site-hero-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.site-hero-slider {
  z-index: 0;
}
.site-hero-slide {
  position: absolute;
  inset: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0;
  transform: scale(1.04);
  transition: opacity .9s ease, transform 6s ease;
  will-change: opacity, transform;
}
.site-hero-slide.is-active {
  opacity: 1;
  transform: scale(1);
}
.site-hero-overlay {
  z-index: 0;
  background:
    linear-gradient(105deg, rgba(6,10,16,.88) 8%, rgba(7,11,19,.72) 40%, rgba(8,12,20,.55) 62%, rgba(8,12,20,.76) 100%),
    linear-gradient(180deg, rgba(6,10,16,.2) 0%, rgba(6,10,16,.48) 100%);
}
[data-theme="light"] .site-hero-overlay {
  background:
    linear-gradient(105deg, rgba(9,16,29,.82) 8%, rgba(11,22,38,.62) 40%, rgba(10,20,36,.48) 62%, rgba(9,17,31,.7) 100%),
    linear-gradient(180deg, rgba(9,17,31,.14) 0%, rgba(9,17,31,.42) 100%);
}
.site-hero-nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(7,9,15,.18);
  color: rgba(244,246,251,.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, color .2s ease, opacity .2s ease;
  opacity: .72;
}
.site-hero-nav:hover {
  background: rgba(7,9,15,.34);
  border-color: rgba(255,255,255,.2);
  color: #fff;
  opacity: .95;
}
.site-hero-nav svg {
  width: 18px;
  height: 18px;
}
.site-hero-nav-prev { left: 18px; }
.site-hero-nav-next { right: 18px; }
.site-hero-dots {
  position: absolute;
  left: 50%;
  bottom: 28px;
  z-index: 2;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 10px;
}
.site-hero-dot {
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.34);
  box-shadow: 0 0 0 1px rgba(255,255,255,.1);
  cursor: pointer;
  transition: width .2s ease, background .2s ease, box-shadow .2s ease;
}
.site-hero-dot:hover {
  background: rgba(255,255,255,.6);
}
.site-hero-dot.is-active {
  width: 28px;
  background: var(--s-gold-lt);
  box-shadow: 0 0 0 1px rgba(59,130,246,.38);
}
[data-theme="light"] .site-hero-nav {
  background: rgba(9,17,31,.16);
  border-color: rgba(255,255,255,.14);
  color: rgba(244,246,251,.82);
}
[data-theme="light"] .site-hero-dot {
  background: rgba(255,255,255,.42);
}
.site-hero-glow-l {
  position:absolute; top:-100px; left:-100px;
  width:500px; height:500px; border-radius:50%;
  background:radial-gradient(circle,rgba(59,130,246,.09) 0%,transparent 65%);
  pointer-events:none;
}
.site-hero-glow-r {
  position:absolute; bottom:-80px; right:-80px;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle,rgba(79,158,255,.08) 0%,transparent 65%);
  pointer-events:none;
}
.site-hero-grid { position:absolute; inset:0; pointer-events:none; opacity:.6;
  background-image: linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:60px 60px;
}
.site-hero-inner {
  position:relative; z-index:1;
  max-width:1160px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
}
@media(max-width:860px){ .site-hero-inner{ grid-template-columns:1fr; text-align:center; } }
@media(max-width:860px){
  .site-hero {
    padding: 112px 5% 88px;
  }
  .site-hero-nav {
    width: 38px;
    height: 38px;
    top: auto;
    bottom: 22px;
    transform: none;
  }
  .site-hero-nav-prev { left: 14px; }
  .site-hero-nav-next { right: 14px; }
  .site-hero-dots {
    bottom: 34px;
    gap: 8px;
  }
  .site-hero-overlay {
    background:
      linear-gradient(180deg, rgba(6,10,16,.56) 0%, rgba(6,10,16,.78) 52%, rgba(6,10,16,.9) 100%),
      linear-gradient(105deg, rgba(6,10,16,.7) 0%, rgba(8,12,20,.42) 100%);
  }
  [data-theme="light"] .site-hero-overlay {
    background:
      linear-gradient(180deg, rgba(9,17,31,.42) 0%, rgba(9,17,31,.68) 52%, rgba(9,17,31,.82) 100%),
      linear-gradient(105deg, rgba(9,17,31,.62) 0%, rgba(10,20,36,.34) 100%);
  }
}
@media(max-width:520px){
  .site-hero {
    padding: 104px 5% 80px;
  }
  .site-hero-slide {
    background-position: center top;
  }
  .site-hero-nav {
    width: 34px;
    height: 34px;
    bottom: 18px;
    opacity: .64;
  }
  .site-hero-nav svg {
    width: 16px;
    height: 16px;
  }
  .site-hero-dots {
    bottom: 26px;
  }
  .site-hero-dot {
    width: 9px;
    height: 9px;
  }
  .site-hero-dot.is-active {
    width: 24px;
  }
}

.site-hero-tag {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--s-gold-dim); border:1px solid rgba(59,130,246,.25);
  border-radius:99px; padding:5px 14px; margin-bottom:22px;
  font-size:.72rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--s-gold-lt);
}
.site-hero-tag span { width:7px; height:7px; border-radius:50%; background:var(--s-gold); animation: heroPulse 2s infinite; }
@keyframes heroPulse { 0%,100%{transform:scale(1);opacity:1;} 50%{transform:scale(1.5);opacity:.6;} }

.site-hero-h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.4rem,5vw,3.8rem);
  font-weight:700; color:#F4F6FB;
  letter-spacing:-.01em; line-height:1.12;
  margin-bottom:20px;
}
.site-hero-h1 em { color:var(--s-gold-lt); font-style:normal; }

.site-hero-sub {
  font-size:1.05rem; color:rgba(244,246,251,.58);
  line-height:1.72; margin-bottom:36px; max-width:480px;
}
@media(max-width:860px){ .site-hero-sub{ margin-inline:auto; } }

/* Hero stats strip */
.site-hero-stats {
  display:flex; gap:28px; margin-top:42px; flex-wrap:wrap;
}
@media(max-width:860px){ .site-hero-stats{justify-content:center;} }
.site-hero-stat-val {
  font-family:'Cormorant Garamond',serif;
  font-size:1.7rem; font-weight:700; color:#F4F6FB; line-height:1;
  margin-bottom:3px;
}
.site-hero-stat-lbl { font-size:.75rem; color:rgba(244,246,251,.4); letter-spacing:.06em; }

/* Hero visual mockup */
.site-hero-visual {
  position:relative;
  display:flex; align-items:center; justify-content:center;
}
@media(max-width:860px){ .site-hero-visual{display:none;} }

.hero-card-mock {
  width:100%; max-width:340px;
  background:linear-gradient(135deg, #0F1825 0%,#1A2438 60%,#0F1825 100%);
  border:1px solid rgba(59,130,246,.3);
  border-radius:24px; padding:28px 26px;
  box-shadow:0 32px 80px rgba(0,0,0,.6);
  position:relative; overflow:hidden;
  animation:heroCardFloat 6s ease-in-out infinite;
}
@keyframes heroCardFloat{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);} }

.hero-card-mock::before {
  content:''; position:absolute; top:-60px; right:-60px;
  width:220px; height:220px; border-radius:50%;
  background:radial-gradient(circle,rgba(59,130,246,.14) 0%,transparent 65%);
  pointer-events:none;
}
.hcm-label { font-size:.6rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--s-gold); margin-bottom:8px; }
.hcm-balance {
  font-family:'Cormorant Garamond',serif;
  font-size:2.4rem; font-weight:700; color:#F4F6FB;
  line-height:1; margin-bottom:6px;
}
.hcm-balance span { font-size:1.4rem; color:var(--s-gold-lt); vertical-align:top; margin-top:4px; display:inline-block; }
.hcm-cents { font-size:1.6rem; color:rgba(244,246,251,.45); }
.hcm-change { font-size:.8rem; color:var(--s-emerald); font-weight:600; margin-bottom:22px; }
.hcm-row { display:flex; gap:10px; margin-bottom:18px; }
.hcm-acc {
  flex:1; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.07);
  border-radius:12px; padding:12px;
}
.hcm-acc-type { font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,246,251,.35); margin-bottom:4px; }
.hcm-acc-bal  { font-family:'Cormorant Garamond',serif; font-size:1rem; font-weight:600; color:#F4F6FB; }
.hcm-acc-bal.blue  { color:var(--s-electric); }
.hcm-acc-bal.green { color:var(--s-emerald); }
/* Sparkline on card */
.hcm-sparkline { opacity:.22; margin-top:4px; }
/* Floating badges */
.hcm-badge {
  position:absolute; display:flex; align-items:center; gap:7px;
  background:var(--s-panel); border:1px solid var(--s-border);
  border-radius:12px; padding:8px 13px; box-shadow:0 8px 24px rgba(0,0,0,.4);
  font-size:.78rem; font-weight:600;
}
.hcm-badge svg { width:15px; height:15px; }
.hcm-badge-tl { top:-18px; left:-24px; color:var(--s-emerald); animation:badgeFloat1 5s ease-in-out infinite; }
.hcm-badge-br { bottom:-18px; right:-20px; color:var(--s-electric); animation:badgeFloat2 5s ease-in-out infinite; }
@keyframes badgeFloat1{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-7px);} }
@keyframes badgeFloat2{ 0%,100%{transform:translateY(0) rotate(-3deg);} 50%{transform:translateY(7px) rotate(3deg);} }

/* ── FEATURES GRID ───────────────────────────────────────────────── */
.s-features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:860px){ .s-features-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .s-features-grid{grid-template-columns:1fr;} }

/* ── STATS BAR ───────────────────────────────────────────────────── */
.s-stats-bar {
  background:var(--s-surface); border-top:1px solid var(--s-border); border-bottom:1px solid var(--s-border);
  padding:40px 5%;
}
.s-stats-inner { max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:32px; }
@media(max-width:700px){ .s-stats-inner{grid-template-columns:repeat(2,1fr);} }
.s-stat-item { text-align:center; }
.s-stat-num {
  font-family:'Cormorant Garamond',serif;
  font-size:2.2rem; font-weight:700; color:var(--s-txt); line-height:1; margin-bottom:6px;
}
.s-stat-num em { color:var(--s-gold); font-style:normal; }
.s-stat-desc { font-size:.8rem; color:var(--s-txt-f); letter-spacing:.06em; text-transform:uppercase; font-weight:600; }

/* ── HOW IT WORKS ────────────────────────────────────────────────── */
.s-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
@media(max-width:700px){ .s-steps{grid-template-columns:1fr;} }
.s-step {
  position:relative; display:flex; align-items:flex-start; gap:18px;
}
.s-step-num {
  width:44px; height:44px; border-radius:12px; flex-shrink:0;
  background:var(--s-gold-dim); border:1px solid rgba(59,130,246,.2);
  display:flex; align-items:center; justify-content:center;
  font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:700; color:var(--s-gold);
}
.s-step-content {}
.s-step-title { font-size:.95rem; font-weight:600; color:var(--s-txt); margin-bottom:6px; }
.s-step-body  { font-size:.83rem; color:var(--s-txt-m); line-height:1.6; }

/* ── TESTIMONIALS ────────────────────────────────────────────────── */
.s-testimonials { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:860px){ .s-testimonials{grid-template-columns:1fr;} }
.s-testimonial {
  background:var(--s-surface); border:1px solid var(--s-border);
  border-radius:16px; padding:24px 22px; position:relative;
}
.s-testimonial::before {
  content:'"'; position:absolute; top:12px; left:20px;
  font-family:'Cormorant Garamond',serif; font-size:4rem; color:var(--s-gold);
  opacity:.2; line-height:1;
}
.s-testimonial-body { font-size:.875rem; color:var(--s-txt-m); line-height:1.7; margin-bottom:16px; padding-top:22px; }
.s-testimonial-author { display:flex; align-items:center; gap:10px; }
.s-testimonial-avatar {
  width:36px; height:36px; border-radius:50%;
  background:linear-gradient(135deg,var(--s-electric),#2255CC);
  display:flex; align-items:center; justify-content:center;
  font-family:'Cormorant Garamond',serif; font-size:1rem; font-weight:700; color:#fff;
  flex-shrink:0;
}
.s-testimonial-name  { font-size:.83rem; font-weight:600; color:var(--s-txt); }
.s-testimonial-role  { font-size:.72rem; color:var(--s-txt-f); }
.s-stars { color:var(--s-gold); font-size:.8rem; letter-spacing:2px; margin-bottom:4px; }

/* ── CTA BANNER ──────────────────────────────────────────────────── */
.s-cta-banner {
  background:linear-gradient(135deg,#0C1220 0%,#0F1A30 40%,#0A1220 100%);
  border-top:1px solid var(--s-border); border-bottom:1px solid var(--s-border);
  padding:80px 5%; text-align:center; position:relative; overflow:hidden;
}
[data-theme="light"] .s-cta-banner { background:linear-gradient(135deg,#1A2840,#0F2040); }
.s-cta-banner::before {
  content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:700px; height:300px; border-radius:50%;
  background:radial-gradient(ellipse,rgba(59,130,246,.08) 0%,transparent 70%);
  pointer-events:none;
}
.s-cta-banner h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.8rem,4vw,2.8rem); font-weight:700;
  color:#F4F6FB; line-height:1.2; margin-bottom:14px;
}
.s-cta-banner h2 em { color:var(--s-gold-lt); font-style:normal; }
.s-cta-banner p { color:rgba(244,246,251,.55); margin-bottom:32px; font-size:1rem; }
.s-cta-banner .s-btn-row { justify-content:center; }

/* ── FAQ PAGE ────────────────────────────────────────────────────── */
.s-faq-list { display:flex; flex-direction:column; gap:10px; }
.s-faq-item {
  background:var(--s-surface); border:1px solid var(--s-border);
  border-radius:13px; overflow:hidden; transition:border-color 0.2s;
}
.s-faq-item.open { border-color:var(--s-bdr-gold); }
.s-faq-q {
  width:100%; background:none; border:none; padding:18px 22px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  text-align:left; cursor:pointer; transition:background 0.18s;
  font-family:'DM Sans',sans-serif; font-size:.925rem; font-weight:600; color:var(--s-txt);
}
.s-faq-q:hover { background:var(--s-glass); }
.s-faq-icon {
  width:28px; height:28px; flex-shrink:0; border-radius:7px;
  background:var(--s-glass); border:1px solid var(--s-border);
  display:flex; align-items:center; justify-content:center;
  color:var(--s-txt-m); transition:all 0.25s;
}
.s-faq-item.open .s-faq-icon { background:var(--s-gold-dim); border-color:rgba(59,130,246,.25); color:var(--s-gold); transform:rotate(45deg); }
.s-faq-icon svg { width:14px; height:14px; }
.s-faq-a {
  max-height:0; overflow:hidden; transition:max-height 0.35s cubic-bezier(.4,0,.2,1), padding 0.25s;
  padding:0 22px; font-size:.875rem; color:var(--s-txt-m); line-height:1.7;
}
.s-faq-item.open .s-faq-a { max-height:600px; padding:0 22px 18px; }

/* ── ABOUT PAGE ──────────────────────────────────────────────────── */
.s-about-hero { padding:80px 5% 64px; background:var(--s-deep); border-bottom:1px solid var(--s-border); }
.s-about-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
@media(max-width:760px){ .s-about-grid{grid-template-columns:1fr;} }
.s-about-values { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:40px; }
@media(max-width:520px){ .s-about-values{grid-template-columns:1fr;} }
.s-value-card {
  background:var(--s-surface); border:1px solid var(--s-border);
  border-radius:14px; padding:20px; transition:all 0.22s;
}
.s-value-card:hover { border-color:var(--s-bdr-gold); transform:translateY(-2px); }
.s-value-title { font-size:.875rem; font-weight:700; color:var(--s-txt); margin-bottom:5px; }
.s-value-body  { font-size:.8rem; color:var(--s-txt-m); line-height:1.6; }

.s-team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:700px){ .s-team-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:480px){ .s-team-grid{grid-template-columns:1fr;} }
.s-team-card {
  background:var(--s-surface); border:1px solid var(--s-border);
  border-radius:16px; padding:24px 20px; text-align:center; transition:all 0.22s;
}
.s-team-card:hover { border-color:var(--s-bdr-gold); transform:translateY(-3px); }
.s-team-avatar {
  width:56px; height:56px; border-radius:50%; margin:0 auto 12px;
  display:flex; align-items:center; justify-content:center;
  font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:700; color:#fff;
}
.s-team-name { font-size:.9rem; font-weight:600; color:var(--s-txt); margin-bottom:3px; }
.s-team-role { font-size:.75rem; color:var(--s-txt-f); letter-spacing:.06em; text-transform:uppercase; font-weight:600; }

/* ── CONTACT PAGE ────────────────────────────────────────────────── */
.s-contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:56px; align-items:start; }
@media(max-width:780px){ .s-contact-grid{grid-template-columns:1fr;} }

.s-contact-info { display:flex; flex-direction:column; gap:16px; margin-bottom:32px; }
.s-contact-item {
  display:flex; align-items:flex-start; gap:14px;
  padding:16px 18px; border-radius:12px;
  background:var(--s-surface); border:1px solid var(--s-border);
  transition:border-color 0.2s;
}
.s-contact-item:hover { border-color:var(--s-bdr-gold); }
.s-contact-icon {
  width:38px; height:38px; border-radius:9px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.s-contact-icon svg { width:18px; height:18px; }
.s-contact-lbl { font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--s-txt-f); margin-bottom:3px; }
.s-contact-val { font-size:.9rem; font-weight:500; color:var(--s-txt); line-height:1.4; }

/* Contact form */
.s-form { display:flex; flex-direction:column; gap:16px; }
.s-form-field { display:flex; flex-direction:column; gap:6px; }
.s-form-label { font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--s-txt-m); }
.s-form-input, .s-form-select, .s-form-textarea {
  background:var(--s-surface); border:1px solid var(--s-border);
  border-radius:10px; padding:12px 16px;
  font-family:'DM Sans',sans-serif; font-size:.9rem; color:var(--s-txt);
  transition:all 0.2s; outline:none; width:100%;
  -webkit-appearance:none;
}
.s-form-input::placeholder, .s-form-textarea::placeholder { color:var(--s-txt-f); }
.s-form-input:focus, .s-form-select:focus, .s-form-textarea:focus {
  border-color:var(--s-bdr-gold); box-shadow:0 0 0 3px var(--s-gold-dim);
}
.s-form-textarea { resize:vertical; min-height:120px; }
.s-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media(max-width:480px){ .s-form-row{grid-template-columns:1fr;} }

.s-form-success {
  display:none; padding:14px 18px; border-radius:10px;
  background:var(--s-em-dim); border:1px solid rgba(45,212,164,.25);
  color:var(--s-emerald); font-size:.875rem; font-weight:500;
}
.s-form-success.show { display:block; }

/* ── PAGE HERO (inner pages) ─────────────────────────────────────── */
.s-page-hero {
  padding:72px 5% 56px;
  background:linear-gradient(160deg,#060A10 0%,#0D1520 60%,#060A10 100%);
  border-bottom:1px solid var(--s-border); position:relative; overflow:hidden;
}
[data-theme="light"] .s-page-hero { background:linear-gradient(160deg,#0D1A2E,#1A2840); }
.s-page-hero::before {
  content:''; position:absolute; top:-80px; right:-80px;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle,rgba(59,130,246,.07) 0%,transparent 65%);
  pointer-events:none;
}
.s-page-hero-inner { max-width:1160px; margin:0 auto; position:relative; z-index:1; }
.s-page-hero h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,4vw,3rem); font-weight:700;
  color:#F4F6FB; line-height:1.15; margin-bottom:12px;
}
.s-page-hero h1 em { color:var(--s-gold-lt); font-style:normal; }
.s-page-hero p { font-size:1rem; color:rgba(244,246,251,.55); max-width:520px; line-height:1.65; }
.s-breadcrumb {
  display:flex; align-items:center; gap:8px;
  font-size:.72rem; color:rgba(244,246,251,.35); margin-bottom:16px; letter-spacing:.05em;
}
.s-breadcrumb a { color:var(--s-gold); }
.s-breadcrumb span { opacity:.4; }

/* ── ALERT ───────────────────────────────────────────────────────── */
.s-alert {
  display:flex; align-items:flex-start; gap:10px;
  padding:13px 16px; border-radius:10px; margin-bottom:20px;
  font-size:.875rem; font-weight:500;
}
.s-alert svg { width:16px; height:16px; flex-shrink:0; margin-top:1px; }
.s-alert-error   { background:var(--s-rose-dim); border:1px solid rgba(255,95,126,.25); color:var(--s-rose); }
.s-alert-success { background:var(--s-em-dim);   border:1px solid rgba(45,212,164,.25); color:var(--s-emerald); }
[data-theme="light"] .s-alert-error   { color:#B91C1C; }
[data-theme="light"] .s-alert-success { color:#065F46; }

/* ── FOOTER ──────────────────────────────────────────────────────── */
.site-footer {
  background:var(--s-deep); border-top:1px solid var(--s-border);
  padding:56px 5% 32px;
}
.site-footer-grid {
  max-width:1160px; margin:0 auto;
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px;
  margin-bottom:48px;
}
@media(max-width:860px){ .site-footer-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:480px){ .site-footer-grid{grid-template-columns:1fr;} }

.site-footer-logo { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.site-footer-logo-rectangle {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  max-width:200px;
}
.site-footer-logo-rectangle img {
  width:auto;
  max-width:100%;
  max-height:46px;
  object-fit:contain;
}
.site-footer-logo-icon {
  width:34px; height:34px; border-radius:8px;
  background: linear-gradient(135deg, #3B82F6, #1E3A8A);
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.site-footer-logo-icon svg { width:18px; height:18px; color:#fff; }
.site-footer-logo-icon.has-logo { background: var(--s-glass); border: 1px solid var(--s-border); }
.site-footer-logo-icon.has-logo img { width: 100%; height: 100%; object-fit: cover; }
.site-footer-logo-name {
  font-family:'Cormorant Garamond',serif;
  font-size:1.1rem; font-weight:600; color:var(--s-txt); letter-spacing:.04em;
}
.site-footer-about { font-size:.83rem; color:var(--s-txt-f); line-height:1.65; margin-bottom:18px; }
.site-footer-social { display:flex; gap:9px; }
.site-footer-social a {
  width:33px; height:33px; border-radius:8px;
  background:var(--s-glass); border:1px solid var(--s-border);
  display:flex; align-items:center; justify-content:center;
  color:var(--s-txt-f); transition:all 0.2s;
}
.site-footer-social a:hover { background:var(--s-gold-dim); border-color:rgba(59,130,246,.25); color:var(--s-gold); }
.site-footer-social a svg { width:15px; height:15px; }

.site-footer-col-title {
  font-size:.65rem; font-weight:700; letter-spacing:.2em;
  text-transform:uppercase; color:var(--s-txt-f); margin-bottom:16px;
}
.site-footer-links { display:flex; flex-direction:column; gap:10px; }
.site-footer-links a { font-size:.85rem; color:var(--s-txt-m); transition:color 0.18s; }
.site-footer-links a:hover { color:var(--s-gold); }

.site-footer-contact-item {
  display:flex; align-items:flex-start; gap:9px;
  font-size:.82rem; color:var(--s-txt-m); line-height:1.5; margin-bottom:10px;
}
.site-footer-contact-item svg { width:14px; height:14px; flex-shrink:0; margin-top:2px; color:var(--s-gold); }

.site-footer-bottom {
  max-width:1160px; margin:0 auto;
  padding-top:24px; border-top:1px solid var(--s-border);
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:12px;
}
.site-footer-copy { font-size:.78rem; color:var(--s-txt-f); }
.site-footer-legal { display:flex; gap:18px; }
.site-footer-legal a { font-size:.78rem; color:var(--s-txt-f); transition:color 0.18s; }
.site-footer-legal a:hover { color:var(--s-txt-m); }

/* ── FADE-UP ENTRY ANIMATIONS ────────────────────────────────────── */
@keyframes siteFadeUp { from{opacity:0;transform:translateY(22px);} to{opacity:1;transform:translateY(0);} }
.s-anim { animation:siteFadeUp .5s cubic-bezier(.4,0,.2,1) both; }
.s-anim-d1 { animation-delay:.06s; }
.s-anim-d2 { animation-delay:.12s; }
.s-anim-d3 { animation-delay:.18s; }
.s-anim-d4 { animation-delay:.24s; }
.s-anim-d5 { animation-delay:.30s; }
.s-anim-d6 { animation-delay:.36s; }