*, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; background: var(--surface-page); font-family: var(--font-body); color: var(--text-body); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
    @keyframes nmf-rise { from { opacity: 0; transform: translateY(118%); } to { opacity: 1; transform: translateY(0); } }
    @keyframes nmf-fade-up { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
    @keyframes nmf-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
    @keyframes nmf-float { 0%,100% { transform: translate(0,0); } 50% { transform: translate(0,-34px); } }
    @keyframes nmf-float2 { 0%,100% { transform: translate(0,0); } 50% { transform: translate(-24px,26px); } }
    @keyframes nmf-glow { 0%,100% { opacity: .5; } 50% { opacity: .85; } }
    @keyframes nmf-fadein { from { opacity: 0; } to { opacity: 1; } }
    @keyframes nmf-blink { 0%,100% { opacity: 1; } 50% { opacity: .25; } }

[data-nmf-theme="signature"] {
    /* Flat 3-color palette: teal, white, black — no gradients */
    --nmf-pink:#ffffff; --nmf-magenta:#0053b7; --nmf-fuchsia:#0053b7; --nmf-violet:#0053b7; --nmf-blue:#0053b7; --nmf-indigo:#0053b7;
    --magenta-50:rgba(0,83,183,0.06); --magenta-100:rgba(0,83,183,0.10); --magenta-200:rgba(0,83,183,0.18); --magenta-300:rgba(0,83,183,0.35); --magenta-500:#0053b7; --magenta-600:#0053b7;
    --violet-100:rgba(0,83,183,0.06); --violet-700:#0053b7;
    --blue-100:rgba(0,83,183,0.06); --blue-700:#0053b7;
    --plum-900:#000000; --plum-800:#000000; --plum-700:#000000; --plum-600:#000000;
    --gradient-brand:#0053b7;
    --gradient-brand-soft:#0053b7;
    --gradient-spectrum:#0053b7;
    --gradient-ink:#000000;
    --gradient-glow:none;
    --shadow-sm:0 1px 2px rgba(0,0,0,0.06); --shadow-md:0 4px 12px rgba(0,0,0,0.08); --shadow-lg:0 10px 24px rgba(0,0,0,0.10); --shadow-xl:0 20px 48px rgba(0,0,0,0.14);
    --shadow-brand:0 8px 20px rgba(0,83,183,0.20); --shadow-brand-lg:0 14px 36px rgba(0,83,183,0.26);
    --surface-page:#ffffff; --surface-card:#ffffff; --surface-sunken:#ffffff;
    --text-strong:#000000; --text-body:rgba(0,0,0,0.72); --text-muted:rgba(0,0,0,0.50); --text-on-brand:#ffffff; --text-on-dark:#ffffff; --text-link:#0053b7;
    --border-subtle:rgba(0,0,0,0.10); --border-default:rgba(0,0,0,0.18); --border-strong:rgba(0,0,0,0.30); --border-brand:#0053b7;
    --neutral-200:rgba(255,255,255,0.92); --neutral-300:rgba(255,255,255,0.78); --neutral-400:rgba(255,255,255,0.64); --neutral-500:rgba(255,255,255,0.50);
  }
  [data-nmf-theme="editorial"] {
    --font-display:'Newsreader', Georgia, serif;
    --nmf-pink:#C6A45C; --nmf-magenta:#1F2D50; --nmf-fuchsia:#28365C;
    --magenta-50:#EEF1F7; --magenta-100:#DCE2EE; --magenta-200:#B7C3DC; --magenta-300:#93A5CB; --magenta-500:#1F2D50; --magenta-600:#16223E;
    --violet-100:#F4ECD9; --violet-700:#8A6A2A;
    --blue-100:#E7EAF1; --blue-700:#3A4660;
    --plum-900:#10131C; --plum-800:#181D2B; --plum-700:#232A3E; --plum-600:#303956;
    --gradient-brand:linear-gradient(100deg,#3A4E7A 0%,#1F2D50 55%,#10131C 100%);
    --gradient-brand-soft:linear-gradient(120deg,#1F2D50 0%,#10131C 100%);
    --gradient-spectrum:linear-gradient(90deg,#C6A45C 0%,#3A4E7A 33%,#1F2D50 66%,#10131C 100%);
    --gradient-ink:linear-gradient(160deg,#1B2033 0%,#0D0F17 100%);
    --gradient-glow:radial-gradient(120% 120% at 80% 0%, rgba(198,164,92,0.26) 0%, rgba(198,164,92,0) 60%);
    --surface-page:#FBF9F5; --surface-sunken:#F3EFE7;
    --shadow-sm:0 2px 8px rgba(16,19,28,0.06); --shadow-md:0 8px 22px rgba(16,19,28,0.08); --shadow-lg:0 16px 42px rgba(16,19,28,0.10); --shadow-xl:0 28px 68px rgba(16,19,28,0.16);
    --shadow-brand:0 12px 32px rgba(31,45,80,0.26); --shadow-brand-lg:0 20px 56px rgba(31,45,80,0.32);
  }
  [data-nmf-theme="grotesk"] {
    --font-display:'Plus Jakarta Sans', sans-serif; --font-body:'Plus Jakarta Sans', sans-serif;
    --nmf-pink:#5B82EE; --nmf-magenta:#1E42B8; --nmf-fuchsia:#2C3FAE;
    --magenta-50:#EAF0FD; --magenta-100:#D3E1FB; --magenta-200:#A6C3F7; --magenta-300:#78A2F2; --magenta-500:#1E42B8; --magenta-600:#163096;
    --violet-100:#E8ECFB; --violet-700:#3B4FA8;
    --blue-100:#DCE4FB; --blue-700:#1E3A8A;
    --plum-900:#10142B; --plum-800:#171B36; --plum-700:#212648; --plum-600:#2C335C;
    --gradient-brand:linear-gradient(100deg,#4C6FEF 0%,#2450D9 45%,#241A8F 100%);
    --gradient-brand-soft:linear-gradient(120deg,#2450D9 0%,#241A8F 100%);
    --gradient-spectrum:linear-gradient(90deg,#5B82EE 0%,#2450D9 33%,#1B3EAE 66%,#241A8F 100%);
    --gradient-ink:linear-gradient(160deg,#171B36 0%,#0B0D1E 100%);
    --gradient-glow:radial-gradient(120% 120% at 80% 0%, rgba(36,80,217,0.28) 0%, rgba(36,80,217,0) 60%);
    --surface-page:#F7F8FB; --surface-sunken:#EEF1F6;
    --shadow-sm:0 2px 8px rgba(16,20,43,0.05); --shadow-md:0 8px 20px rgba(16,20,43,0.07); --shadow-lg:0 16px 38px rgba(16,20,43,0.09); --shadow-xl:0 26px 60px rgba(16,20,43,0.14);
    --shadow-brand:0 12px 32px rgba(36,80,217,0.22); --shadow-brand-lg:0 20px 54px rgba(36,80,217,0.28);
  }
    .nmf-logo img {
  filter: grayscale(100%);
  transition: 0.3s;
}

.nmf-logo:hover img {
  filter: grayscale(0%);
  transform: scale(1.05);
}
.nmf-logo {
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nmf-logo img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain; /* 🔥 keeps full logo */
}

.marquee {
  width: 100%;
  overflow: hidden;
}

.track {
  display: flex;
  width: max-content;
  animation: scroll 25s linear infinite;
  will-change: transform;
}

.marquee:hover .track {
  animation-play-state: paused; /* optional: pause on hover */
}

.track-group {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.track-group img {
  height: 28px;
  margin: 0 25px;   /* equal gap on BOTH sides — this is what removes the seam */
  flex-shrink: 0;
}

@keyframes scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ===== Clients marquee (Trusted by section) ===== */
.track-clients {
  animation-duration: 45s; /* slower, smoother scroll for logo cards */
}

.client-group {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

/* logo cards inside the scrolling track need a fixed width + equal gap
   on both sides (same trick as the trust bar — removes the seam) */
.client-group .nmf-logo {
  width: 190px;
  height: 88px;
  margin: 0 12px;
  padding: 16px 24px;
  flex-shrink: 0;
}

.client-group .nmf-logo img {
  max-height: 48px;
  max-width: 140px;
}
