/* ==========================================================================
   Mortezos — Light fintech theme
   Clean white surfaces, emerald accents, generous whitespace.
   Loaded last so it overrides the legacy dark utility styles site-wide.
   ========================================================================== */

:root {
  --mz-bg: #F6F8FB;
  --mz-bg-alt: #EEF3F8;
  --mz-surface: #FFFFFF;
  --mz-text: #0F172A;
  --mz-text-soft: #334155;
  --mz-text-muted: #64748B;
  --mz-text-faint: #94A3B8;
  --mz-border: #E2E8F0;
  --mz-border-soft: #EDF1F6;
  --mz-green: #059669;
  --mz-green-strong: #047857;
  --mz-green-hover: #047857;
  --mz-green-soft: #ECFDF5;
  --mz-green-ring: rgba(5, 150, 105, 0.18);
  --mz-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.05);
  --mz-shadow: 0 1px 3px rgba(15, 23, 42, 0.06), 0 10px 30px -12px rgba(15, 23, 42, 0.18);
  --mz-shadow-lg: 0 20px 50px -20px rgba(15, 23, 42, 0.25);
}

/* ---- Base surface ------------------------------------------------------- */
body {
  background: var(--mz-bg) !important;
  color: var(--mz-text) !important;
}

body.bg-dark-bg,
.bg-dark-bg { background-color: var(--mz-bg) !important; }
.bg-dark-card { background-color: var(--mz-surface) !important; }
.bg-dark-bg\/95 { background-color: rgba(255, 255, 255, 0.96) !important; }

/* ---- Text colour remap -------------------------------------------------- */
.text-white { color: var(--mz-text) !important; }
.text-white\/90 { color: var(--mz-text) !important; }
.text-white\/85 { color: var(--mz-text-soft) !important; }
.text-white\/80 { color: var(--mz-text-soft) !important; }
.text-white\/75 { color: var(--mz-text-soft) !important; }
.text-white\/70 { color: var(--mz-text-muted) !important; }
.text-white\/65 { color: var(--mz-text-muted) !important; }
.text-white\/60 { color: var(--mz-text-muted) !important; }
.text-white\/55 { color: var(--mz-text-muted) !important; }
.text-white\/50 { color: var(--mz-text-muted) !important; }
.text-white\/45 { color: var(--mz-text-faint) !important; }
.text-white\/40 { color: var(--mz-text-faint) !important; }
.text-white\/35 { color: var(--mz-text-faint) !important; }
.text-white\/30 { color: var(--mz-text-faint) !important; }

/* Keep white where it sits on coloured surfaces */
.btn-gradient,
.btn-gradient *,
.mobile-cta-btn,
.mobile-cta-btn *,
.scroll-top-btn,
.scroll-top-btn *,
.chatbot-trigger,
.chatbot-trigger *,
.chatbot-avatar,
.chatbot-avatar *,
.chat-bubble-user,
a.btn-gradient,
button.btn-gradient,
.mz-btn-primary,
.mz-btn-primary * { color: #fff !important; }

/* ---- Accent colour ------------------------------------------------------ */
.text-neon-cyan,
.text-neon-purple { color: var(--mz-green) !important; }

.text-gradient,
.copilot-gradient-text {
  background: linear-gradient(120deg, var(--mz-green), #10B981) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* ---- Buttons ------------------------------------------------------------ */
.btn-gradient {
  background: var(--mz-green) !important;
  box-shadow: 0 8px 20px -10px rgba(5, 150, 105, 0.6) !important;
}
.btn-gradient:hover { background: var(--mz-green-hover) !important; opacity: 1 !important; }
.btn-gradient::after { display: none !important; }

.mz-btn-shine,
.shimmer-btn {
  position: relative;
  overflow: hidden;
}
.mz-btn-shine::after,
.shimmer-btn::after {
  content: "";
  position: absolute;
  top: -150%;
  left: -160%;
  width: 70%;
  height: 400%;
  transform: rotate(22deg) translateX(0);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0));
  transition: transform 0.72s ease;
  pointer-events: none;
}
.mz-btn-shine:hover::after,
.shimmer-btn:hover::after { transform: rotate(22deg) translateX(420%); }

.mz-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: var(--mz-green);
  color: #fff;
  font-weight: 600;
  border-radius: 0.875rem;
  padding: 0.875rem 1.5rem;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 10px 24px -12px rgba(5, 150, 105, 0.7);
}
.mz-btn-primary:hover { background: var(--mz-green-hover); transform: translateY(-1px); }

.mz-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: var(--mz-surface);
  color: var(--mz-text) !important;
  font-weight: 600;
  border-radius: 0.875rem;
  padding: 0.875rem 1.5rem;
  border: 1px solid var(--mz-border);
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}
.mz-btn-outline:hover { border-color: var(--mz-green); background: var(--mz-green-soft); transform: translateY(-1px); }

/* ---- Cards / panels ----------------------------------------------------- */
.glass-card,
.mortezos-panel {
  background: var(--mz-surface) !important;
  border: 1px solid var(--mz-border) !important;
  box-shadow: var(--mz-shadow) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.glass-card:hover,
.mortezos-panel:hover {
  border-color: var(--mz-green-ring) !important;
  box-shadow: var(--mz-shadow-lg) !important;
}

.glow-card:hover,
.hover-lift:hover {
  box-shadow: var(--mz-shadow-lg) !important;
  border-color: var(--mz-green-ring) !important;
}

.glow-pulse,
.card-shine::before,
.shimmer-text { animation: none !important; }
.card-shine::before { display: none !important; }

/* ---- Borders ------------------------------------------------------------ */
.border-white\/5 { border-color: var(--mz-border-soft) !important; }
.border-white\/10 { border-color: var(--mz-border) !important; }
.border-white\/20 { border-color: var(--mz-border) !important; }
.border-neon-cyan\/20,
.border-neon-cyan\/30,
.border-neon-cyan\/15 { border-color: var(--mz-green-ring) !important; }

.bg-white\/5 { background-color: rgba(15, 23, 42, 0.03) !important; }
.bg-white\/10 { background-color: rgba(15, 23, 42, 0.05) !important; }
.bg-neon-cyan\/10 { background-color: var(--mz-green-soft) !important; }
.bg-neon-cyan\/5 { background-color: var(--mz-green-soft) !important; }

/* ---- Backgrounds: neutralise dark mesh / hero effects ------------------- */
.gradient-mesh,
.gradient-mesh-alt,
.mesh-gradient-bg,
.hero-split-bg {
  background: linear-gradient(180deg, var(--mz-bg-alt), var(--mz-bg)) !important;
  animation: none !important;
}

.hero-orb,
.hero-grid,
.hero-particle,
.crypto-float-icon { display: none !important; }

.hero-bg {
  background:
    radial-gradient(60% 50% at 15% 10%, rgba(5, 150, 105, 0.10), transparent 60%),
    radial-gradient(50% 45% at 95% 5%, rgba(16, 185, 129, 0.08), transparent 55%) !important;
}
.mesh-gradient-bg .hero-particle,
.mesh-gradient-bg .crypto-float-icon { display: none !important; }

/* Tighten the hero: content-based height instead of full viewport */
section.mesh-gradient-bg { min-height: auto !important; }
@media (min-width: 1024px) {
  section.mesh-gradient-bg { padding-top: 7rem; padding-bottom: 4rem; }
}

/* ---- Header ------------------------------------------------------------- */
#site-header {
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: saturate(180%) blur(12px);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid transparent;
}
.header-scrolled {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: saturate(180%) blur(16px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(16px) !important;
  box-shadow: 0 1px 0 var(--mz-border), 0 8px 24px -16px rgba(15, 23, 42, 0.3) !important;
}
.nav-link-active::after {
  background: var(--mz-green) !important;
}
.mobile-menu.open > div {
  box-shadow: 0 16px 48px -20px rgba(15, 23, 42, 0.35) !important;
  background: rgba(255, 255, 255, 0.98) !important;
}
.hamburger-line { background: var(--mz-text) !important; }

/* ---- Footer ------------------------------------------------------------- */
.footer-gradient-border {
  background: var(--mz-border) !important;
}
footer { background: var(--mz-surface); }

/* ---- Forms -------------------------------------------------------------- */
.mortezos-form {
  --input-bg: #FFFFFF;
  --input-border: var(--mz-border);
  --input-focus: var(--mz-green);
}
.mortezos-form input,
.mortezos-form textarea,
.mortezos-form select {
  background: #FFFFFF !important;
  border: 1px solid var(--mz-border) !important;
  color: var(--mz-text) !important;
}
.mortezos-form input::placeholder,
.mortezos-form textarea::placeholder { color: var(--mz-text-faint) !important; }
.mortezos-form input:focus,
.mortezos-form textarea:focus {
  border-color: var(--mz-green) !important;
  box-shadow: 0 0 0 3px var(--mz-green-ring) !important;
  background: #fff !important;
}
.mortezos-form button[type="submit"]:hover {
  box-shadow: 0 12px 28px -12px rgba(5, 150, 105, 0.7) !important;
}

/* ---- Comparison checks -------------------------------------------------- */
.comparison-check { color: var(--mz-green) !important; }
.comparison-cross { color: var(--mz-text-faint) !important; }
.market-row:hover { background: rgba(5, 150, 105, 0.04) !important; }

/* ---- Tabs --------------------------------------------------------------- */
.tab-btn {
  border: 1px solid var(--mz-border) !important;
  background: #fff !important;
  color: var(--mz-text-muted) !important;
}
.tab-btn:hover { border-color: var(--mz-green-ring) !important; color: var(--mz-text) !important; }
.tab-btn.active {
  background: var(--mz-green) !important;
  border-color: var(--mz-green) !important;
  color: #fff !important;
}

/* ---- Floating widgets --------------------------------------------------- */
.scroll-top-btn,
.chatbot-trigger,
.mobile-cta-btn {
  background: var(--mz-green) !important;
  box-shadow: 0 8px 24px -8px rgba(5, 150, 105, 0.55) !important;
}
.manager-call-badge {
  background: var(--mz-green-soft) !important;
  border: 1px solid var(--mz-green-ring) !important;
  animation: none !important;
}

/* ---- Chatbot ------------------------------------------------------------ */
.chatbot-popup {
  background: #fff !important;
  border: 1px solid var(--mz-border) !important;
  box-shadow: var(--mz-shadow-lg) !important;
  backdrop-filter: none !important;
}
.chatbot-header { border-bottom: 1px solid var(--mz-border) !important; }
.chatbot-avatar { background: var(--mz-green) !important; }
.chatbot-tab { color: var(--mz-text-faint) !important; }
.chatbot-tab:hover { background: var(--mz-bg-alt) !important; color: var(--mz-text-soft) !important; }
.chatbot-tab.active { background: var(--mz-green-soft) !important; color: var(--mz-green) !important; }
.chatbot-badge {
  background: #fff !important;
  border: 1px solid var(--mz-border) !important;
  color: var(--mz-text) !important;
  backdrop-filter: none !important;
}
.chatbot-badge::after { border-top-color: var(--mz-border) !important; }
.chat-bubble-bot {
  background: var(--mz-bg-alt) !important;
  border: 1px solid var(--mz-border-soft) !important;
  color: var(--mz-text-soft) !important;
}
.chat-bubble-user {
  background: var(--mz-green) !important;
  border: 1px solid var(--mz-green) !important;
  color: #fff !important;
}
.chatbot-chip {
  border: 1px solid var(--mz-green-ring) !important;
  background: var(--mz-green-soft) !important;
  color: var(--mz-green-strong) !important;
}
.chatbot-chip:hover { background: #D1FAE5 !important; color: var(--mz-green-strong) !important; }
.chatbot-form input,
.chatbot-form textarea {
  background: #fff !important;
  border: 1px solid var(--mz-border) !important;
  color: var(--mz-text) !important;
}
.chatbot-form input::placeholder,
.chatbot-form textarea::placeholder { color: var(--mz-text-faint) !important; }
.chatbot-body::-webkit-scrollbar-thumb { background: var(--mz-border) !important; }
.chatbot-helpful { color: var(--mz-text-faint) !important; }
.chatbot-helpful button { border: 1px solid var(--mz-border) !important; color: var(--mz-text-muted) !important; }
.chatbot-article-bullets li { color: var(--mz-text-muted) !important; }
.typing-dots span { background: var(--mz-green) !important; }

/* ---- Loading / messages ------------------------------------------------- */
.form-loading-overlay { background: rgba(255, 255, 255, 0.85) !important; }
.form-loading-spinner {
  border: 3px solid var(--mz-green-soft) !important;
  border-top-color: var(--mz-green) !important;
}
.email-autocomplete-list {
  background: #fff !important;
  border: 1px solid var(--mz-border) !important;
  box-shadow: var(--mz-shadow) !important;
}
.email-autocomplete-list .ea-item { color: var(--mz-text-muted) !important; }
.email-autocomplete-list .ea-item:hover,
.email-autocomplete-list .ea-item.ea-active {
  background: var(--mz-green-soft) !important;
  color: var(--mz-green-strong) !important;
}
.risk-disclaimer { background: var(--mz-bg-alt) !important; }
.live-dot { background: var(--mz-green) !important; }
.live-dot::after { background: rgba(5, 150, 105, 0.35) !important; }
@keyframes mzPulse {
  0% { transform: scale(1); opacity: 0.9; }
  70% { transform: scale(1.85); opacity: 0; }
  100% { transform: scale(1.85); opacity: 0; }
}

/* ==========================================================================
   New fintech section components (light layout patterns)
   ========================================================================== */

.mz-section-label {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--mz-green);
}

.mz-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.9rem;
  border-radius: 9999px;
  background: var(--mz-green-soft);
  border: 1px solid var(--mz-green-ring);
  color: var(--mz-green-strong);
  font-size: 0.8rem;
  font-weight: 600;
}

.mz-card {
  background: var(--mz-surface);
  border: 1px solid var(--mz-border);
  border-radius: 1.25rem;
  box-shadow: var(--mz-shadow-sm);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.mz-card:hover { transform: translateY(-4px); box-shadow: var(--mz-shadow); border-color: var(--mz-green-ring); }

/* Homepage hero */
.mz-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 0.95rem;
  border-radius: 9999px;
  border: 1px solid var(--mz-green-ring);
  background: #fff;
  color: var(--mz-green-strong);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.mz-live-badge .live-dot {
  position: relative;
  width: 8px;
  height: 8px;
  border-radius: 9999px;
}
.mz-live-badge .live-dot::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 9999px;
  animation: mzPulse 1.8s infinite;
}
.mz-hero-stats {
  display: grid;
  gap: 0.7rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mz-hero-stat {
  border: 1px solid var(--mz-border);
  border-radius: 1rem;
  background: #fff;
  padding: 0.85rem 0.95rem;
}
.mz-hero-stat strong {
  display: block;
  font-family: 'Sora', sans-serif;
  font-size: 1.35rem;
  line-height: 1;
}
.mz-hero-stat span {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.74rem;
  color: var(--mz-text-muted);
}
.mz-security-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.mz-security-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border-radius: 9999px;
  border: 1px solid var(--mz-border);
  background: #fff;
  padding: 0.45rem 0.8rem;
  font-size: 0.76rem;
  color: var(--mz-text-muted);
}
.mz-hero-ticker {
  margin-top: 1.35rem;
  border-top: 1px solid var(--mz-border);
  border-bottom: 1px solid var(--mz-border);
  background: rgba(255, 255, 255, 0.65);
}
.mz-hero-ticker-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  max-width: 80rem;
  margin: 0 auto;
  padding: 0.65rem 1rem 0.45rem;
  font-size: 0.73rem;
  color: var(--mz-text-muted);
}
.mz-hero-ticker-head b {
  color: var(--mz-text-soft);
  font-weight: 700;
  letter-spacing: 0.08em;
}
.mz-hero-ticker-strip {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.mz-hero-ticker-track {
  display: flex;
  gap: 0.75rem;
  width: max-content;
  padding: 0 1rem 0.85rem;
  animation: mzTicker 35s linear infinite;
}
.mz-hero-ticker:hover .mz-hero-ticker-track { animation-play-state: paused; }
.mz-hero-op {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  border: 1px solid var(--mz-border);
  border-radius: 9999px;
  background: #fff;
  padding: 0.4rem 0.8rem;
  white-space: nowrap;
  font-size: 0.8rem;
  color: var(--mz-text-soft);
}
.mz-hero-op b { color: var(--mz-text); }
.mz-hero-op .up { color: var(--mz-green); font-weight: 700; }

/* Stats row */
.mz-stat-value {
  font-family: 'Sora', sans-serif;
  font-weight: 800;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  line-height: 1;
  color: var(--mz-text);
}
.mz-stat-label { color: var(--mz-text-muted); font-size: 0.875rem; margin-top: 0.35rem; }

/* Activity ticker */
.mz-ticker {
  overflow: hidden;
  border-top: 1px solid var(--mz-border);
  border-bottom: 1px solid var(--mz-border);
  background: var(--mz-surface);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.mz-ticker-track {
  display: flex;
  gap: 0.75rem;
  width: max-content;
  animation: mzTicker 38s linear infinite;
}
.mz-ticker:hover .mz-ticker-track { animation-play-state: paused; }
@keyframes mzTicker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.mz-ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.55rem 1rem;
  border: 1px solid var(--mz-border);
  border-radius: 9999px;
  background: var(--mz-bg);
  font-size: 0.82rem;
  color: var(--mz-text-soft);
  white-space: nowrap;
}
.mz-ticker-item b { color: var(--mz-text); font-weight: 700; }
.mz-ticker-item .mz-ticker-tag {
  color: var(--mz-green-strong);
  background: var(--mz-green-soft);
  border-radius: 9999px;
  padding: 0.1rem 0.5rem;
  font-weight: 700;
  font-size: 0.72rem;
}

/* Why-exists comparison columns */
.mz-vs-col { border-radius: 1.25rem; padding: 1.75rem; border: 1px solid var(--mz-border); background: var(--mz-surface); }
.mz-vs-col.is-bad { background: var(--mz-bg-alt); }
.mz-vs-col.is-good { border-color: var(--mz-green-ring); box-shadow: 0 20px 40px -24px rgba(5, 150, 105, 0.5); }
.mz-vs-item { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.5rem 0; font-size: 0.9rem; color: var(--mz-text-soft); }
.mz-vs-icon { flex-shrink: 0; width: 1.25rem; height: 1.25rem; margin-top: 0.1rem; }
.mz-vs-col.is-bad .mz-vs-icon { color: var(--mz-text-faint); }
.mz-vs-col.is-good .mz-vs-icon { color: var(--mz-green); }

/* How it works flow */
.mz-flow { display: grid; gap: 1.25rem; }
@media (min-width: 768px) { .mz-flow { grid-template-columns: repeat(3, 1fr); } }
.mz-step-num {
  width: 2.5rem; height: 2.5rem; border-radius: 9999px;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: 'Sora', sans-serif; font-weight: 700;
  background: var(--mz-green-soft); color: var(--mz-green-strong);
  border: 1px solid var(--mz-green-ring);
}
.mz-flow-diagram {
  display: grid;
  gap: 0.9rem;
}
@media (min-width: 992px) { .mz-flow-diagram { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mz-flow-node {
  border: 1px solid var(--mz-border);
  border-radius: 1.1rem;
  background: #fff;
  padding: 1rem;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
.mz-flow-node.is-active {
  border-color: var(--mz-green);
  box-shadow: 0 14px 30px -22px rgba(5, 150, 105, 0.8);
  transform: translateY(-2px);
}
.mz-flow-node small {
  display: inline-block;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--mz-text-faint);
}
.mz-flow-node ul { margin-top: 0.55rem; display: grid; gap: 0.35rem; }
.mz-flow-node li {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  font-size: 0.8rem;
  color: var(--mz-text-soft);
}
.mz-flow-node li b { color: var(--mz-text); }
.mz-flow-boleta .boleta-row {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  margin-top: 0.45rem;
  font-size: 0.78rem;
  color: var(--mz-text-muted);
}
.mz-flow-boleta .boleta-row b { color: var(--mz-text); }

/* Simulator */
.mz-sim-wrap { display: grid; gap: 1.5rem; }
@media (min-width: 900px) { .mz-sim-wrap { grid-template-columns: 1fr 1.1fr; align-items: stretch; } }
.mz-range {
  -webkit-appearance: none; appearance: none;
  width: 100%; height: 6px; border-radius: 9999px;
  background: var(--mz-border); outline: none; margin-top: 0.5rem;
}
.mz-range::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--mz-green); cursor: pointer;
  border: 3px solid #fff; box-shadow: 0 2px 8px rgba(5,150,105,0.4);
}
.mz-range::-moz-range-thumb {
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--mz-green); cursor: pointer;
  border: 3px solid #fff; box-shadow: 0 2px 8px rgba(5,150,105,0.4);
}
.mz-seg { display: inline-flex; background: var(--mz-bg-alt); border-radius: 0.75rem; padding: 0.25rem; gap: 0.25rem; }
.mz-seg button {
  border: none; background: transparent; cursor: pointer;
  padding: 0.45rem 0.9rem; border-radius: 0.55rem;
  font-size: 0.82rem; font-weight: 600; color: var(--mz-text-muted);
  transition: background 0.2s ease, color 0.2s ease;
}
.mz-seg button.active { background: #fff; color: var(--mz-green-strong); box-shadow: var(--mz-shadow-sm); }
.mz-indexador-tip {
  margin-top: 0.9rem;
  border: 1px solid var(--mz-border);
  border-radius: 0.85rem;
  background: var(--mz-bg-alt);
  padding: 0.75rem 0.8rem;
  color: var(--mz-text-muted);
  font-size: 0.8rem;
  line-height: 1.5;
}
.mz-sim-panel {
  background: var(--mz-green-strong);
  color: #fff;
  border-radius: 1.25rem;
  padding: 1.75rem;
}
.mz-sim-big {
  font-family: 'Sora', sans-serif;
  font-weight: 800;
  font-size: clamp(1.95rem, 5vw, 2.8rem);
  line-height: 1.05;
}
.mz-sim-legend {
  display: flex;
  gap: 0.9rem;
  font-size: 0.76rem;
  opacity: 0.92;
}
.mz-sim-legend span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.mz-sim-legend i {
  display: inline-block;
  width: 18px;
  height: 3px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.65);
}
.mz-sim-legend .is-mz i { background: #fff; }
.mz-sim-chart {
  margin-top: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 0.85rem;
  background: rgba(0, 0, 0, 0.08);
  padding: 0.65rem;
}
.mz-sim-chart svg { width: 100%; height: 190px; display: block; }
.mz-sim-grid {
  stroke: rgba(255, 255, 255, 0.18);
  stroke-width: 1;
}
.mz-sim-line-manual,
.mz-sim-line-mz {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.5;
}
.mz-sim-line-manual { stroke: rgba(255, 255, 255, 0.55); }
.mz-sim-line-mz { stroke: #fff; }

/* Testimonials carousel */
.mz-carousel { overflow: hidden; }
.mz-carousel-track {
  display: flex; gap: 1.25rem; padding: 0.5rem 0.25rem 1.25rem;
  overflow-x: auto; scroll-snap-type: x mandatory;
  scrollbar-width: none; -ms-overflow-style: none;
}
.mz-carousel-track::-webkit-scrollbar { display: none; }
.mz-quote {
  flex: 0 0 86%; max-width: 380px; scroll-snap-align: start;
  background: var(--mz-surface); border: 1px solid var(--mz-border);
  border-radius: 1.25rem; padding: 1.5rem; box-shadow: var(--mz-shadow-sm);
}
@media (min-width: 768px) { .mz-quote { flex-basis: 360px; } }
.mz-quote p { color: var(--mz-text-soft); font-size: 0.92rem; line-height: 1.6; }
.mz-quote .mz-quote-name { color: var(--mz-text); font-weight: 700; font-size: 0.9rem; }
.mz-quote .mz-quote-role { color: var(--mz-text-muted); font-size: 0.8rem; }
.mz-quote .mz-stars { color: #F59E0B; letter-spacing: 0.1em; }
.mz-carousel-nav { display: inline-flex; gap: 0.5rem; }
.mz-carousel-nav button {
  width: 2.5rem; height: 2.5rem; border-radius: 9999px;
  border: 1px solid var(--mz-border); background: #fff; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--mz-text-soft); transition: border-color 0.2s ease, background 0.2s ease;
}
.mz-carousel-nav button:hover { border-color: var(--mz-green); background: var(--mz-green-soft); color: var(--mz-green-strong); }

/* App preview mock */
.mz-app-mock {
  background: linear-gradient(160deg, #0F172A, #134E4A);
  border-radius: 1.5rem; padding: 1.25rem; box-shadow: var(--mz-shadow-lg);
}
.mz-app-row {
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.08);
  border-radius: 0.85rem; padding: 0.75rem 1rem; margin-top: 0.6rem;
}
.mz-app-row .ar-name { color: #E2E8F0; font-size: 0.85rem; font-weight: 600; }
.mz-app-row .ar-meta { color: #94A3B8; font-size: 0.72rem; }
.mz-app-row .ar-val { color: #6EE7B7; font-size: 0.85rem; font-weight: 700; }

/* Prose readability on light */
.section-content-prose h2,
.copilot-heading { color: var(--mz-text) !important; }
.section-content-prose p,
.section-content-prose li,
.section-content-prose ul,
.section-content-prose ol,
.copilot-body-text { color: var(--mz-text-soft) !important; }
.section-content-prose a { color: var(--mz-green) !important; }
.section-content-prose a:hover { color: var(--mz-green-strong) !important; }

/* Legal pages */
.legal-content h2 { color: var(--mz-text) !important; }
.legal-content p,
.legal-content ul,
.legal-content li { color: var(--mz-text-soft) !important; }
.legal-content a { color: var(--mz-green) !important; }

/* Market / data tables */
.market-table th {
  color: var(--mz-text-muted) !important;
  border-bottom: 1px solid var(--mz-border) !important;
}
.market-table td { border-bottom: 1px solid var(--mz-border-soft) !important; }

/* Timelines & pricing accents */
.about-timeline-item::before { background: var(--mz-green) !important; }
.about-timeline-item::after { background: var(--mz-border) !important; }
.pricing-card.featured { border-color: var(--mz-green-ring) !important; }
.pricing-card.featured:hover { border-color: var(--mz-green) !important; box-shadow: var(--mz-shadow-lg) !important; }
.contact-card:hover { border-color: var(--mz-green-ring) !important; box-shadow: var(--mz-shadow) !important; }

/* Newsletter input */
.newsletter-form input[type="email"] {
  background: #fff !important;
  border: 1px solid var(--mz-border) !important;
  color: var(--mz-text) !important;
}
.newsletter-form input[type="email"]::placeholder { color: var(--mz-text-faint) !important; }
.newsletter-form input[type="email"]:focus {
  border-color: var(--mz-green) !important;
  box-shadow: 0 0 0 3px var(--mz-green-ring) !important;
}

/* Logos that used cyan/purple SVG gradients still read fine; tidy hr/dividers */
hr { border-color: var(--mz-border) !important; }
