.money-field {
  position: absolute;
  z-index: 1;
  inset: 0;
  height: 930svh;
  overflow: hidden;
  pointer-events: none;
  mask-image: linear-gradient(180deg, transparent 0, #000 2%, #000 97%, transparent 100%);
}

.money-particle {
  position: absolute;
  left: var(--x);
  top: var(--y);
  display: grid;
  place-items: center;
  min-width: 64px;
  height: 64px;
  padding: .55rem;
  color: #0fbd49;
  font-family: "Space Grotesk", sans-serif;
  font-size: .86rem;
  font-weight: 800;
  border: 1px solid rgb(24 222 90 / 50%);
  background: rgb(237 255 243 / 86%);
  box-shadow: 0 14px 38px rgb(16 35 63 / 9%);
  backdrop-filter: blur(4px);
  transform: translate3d(calc(var(--scroll-y) * .018 * var(--drift)), calc(var(--scroll-y) * var(--speed)), 0) rotate(var(--rotation));
  opacity: .82;
  animation: money-drift 5.5s ease-in-out var(--delay) infinite alternate;
  will-change: transform, filter, opacity;
}

.money-particle::after {
  content: "";
  position: absolute;
  width: 34px;
  height: 2px;
  right: calc(100% + 8px);
  background: linear-gradient(90deg, transparent, rgb(24 222 90 / 50%));
  transform: rotate(calc(var(--rotation) * -.35));
  transform-origin: right center;
}

.particle-round { border-radius: 50%; }
.particle-corner { border-radius: 4px 18px 4px 4px; }
.particle-text { min-width: 92px; border: 0; background: rgb(255 255 255 / 72%); font-size: 1rem; }
.particle-note { width: 112px; height: 54px; border-radius: 3px 14px 3px 3px; background: linear-gradient(135deg, rgb(237 255 243 / 94%), rgb(199 250 216 / 88%)); outline: 1px solid rgb(24 222 90 / 20%); outline-offset: 4px; }
.particle-note::before { content: ""; position: absolute; inset: 7px; border: 1px dashed rgb(15 189 73 / 35%); }
.depth-near { min-width: 86px; height: 86px; font-size: 1.15rem; opacity: .92; filter: none; }
.depth-mid { opacity: .74; filter: blur(.35px); }
.depth-far { min-width: 72px; height: 72px; opacity: .44; filter: blur(2.2px); transform: translate3d(calc(var(--scroll-y) * .012 * var(--drift)), calc(var(--scroll-y) * var(--speed)), 0) rotate(var(--rotation)) scale(1.28); }

@keyframes money-drift {
  0% { margin-top: -9px; margin-left: -7px; }
  60% { opacity: .9; }
  100% { margin-top: 14px; margin-left: 14px; filter: blur(3px); opacity: .28; }
}

@media (max-width: 720px) {
  .site-header { padding-inline: .8rem; }
  .site-header .brand-logo { width: 88px; }
  .site-header .button-compact { padding: .55rem .65rem; gap: .35rem; font-size: .66rem; letter-spacing: -.02em; }
  .money-particle { opacity: .62; transform: translate3d(calc(var(--scroll-y) * .01 * var(--drift)), calc(var(--scroll-y) * var(--speed) * .65), 0) rotate(var(--rotation)); }
  .depth-far { opacity: .3; }
}

@media (prefers-reduced-motion: reduce) {
  .money-particle { animation: none; transform: rotate(var(--rotation)); }
}

/* Hierarquia dos blocos de solução */
.solution-intro {
  gap: 1rem;
  padding-bottom: 1.6rem;
}

.solution-intro p {
  color: var(--fiz-navy);
  font-size: clamp(1.35rem, 2.5vw, 1.8rem);
  line-height: 1.15;
  letter-spacing: -.025em;
}

.solution-intro .solution-mark {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  font-size: 1.2rem;
}

.solution-list li > span {
  padding-top: 0;
  font-size: clamp(1.35rem, 2.6vw, 1.75rem);
  line-height: 1;
  letter-spacing: -.04em;
}

.solution-result {
  grid-template-columns: 105px 1fr;
  align-items: center;
  gap: 1.25rem;
  margin: 1.8rem 0 0;
  padding: 1.35rem 1.5rem;
  border-left: 5px solid var(--fiz-green);
  border-radius: 3px 14px 3px 3px;
  background: #edfff3;
  color: var(--fiz-navy);
  font-size: clamp(1rem, 1.6vw, 1.16rem);
  line-height: 1.5;
}

.solution-result span {
  color: #087c35;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .13em;
}

@media (max-width: 720px) {
  .solution-intro p { font-size: 1.28rem; }
  .solution-intro .solution-mark { width: 40px; height: 40px; flex-basis: 40px; }
  .solution-result { grid-template-columns: 1fr; gap: .45rem; padding: 1.15rem; }
}

/* Uma única escala para todos os títulos principais da narrativa */
.hero-title,
.section-title,
.pain-title,
.cta-section h2 {
  font-size: clamp(2.75rem, 5.5vw, 5.6rem);
  line-height: .99;
}

@media (max-width: 720px) {
  .hero-title,
  .section-title,
  .pain-title,
  .cta-section h2 {
    font-size: clamp(2.65rem, 12.5vw, 4rem);
    line-height: 1;
  }
}

/* Objetos financeiros fotográficos */
.money-particle.particle-banknote,
.money-particle.particle-card,
.money-particle.particle-negative {
  display: block;
  padding: 0;
}

.particle-banknote,
.particle-card {
  width: clamp(150px, 14vw, 230px);
  height: auto;
  min-width: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}

.particle-banknote::before,
.particle-banknote::after,
.particle-card::before,
.particle-card::after { display: none; }

.particle-banknote img,
.particle-card img {
  display: block;
  width: 100%;
  height: auto;
  transform: scale(var(--object-scale));
  filter: drop-shadow(0 18px 16px rgb(16 35 63 / 22%)) drop-shadow(0 4px 4px rgb(16 35 63 / 12%));
}

.particle-card img { filter: drop-shadow(0 20px 18px rgb(33 18 79 / 28%)) drop-shadow(0 5px 5px rgb(16 35 63 / 14%)); }

.particle-negative {
  width: 174px;
  height: 82px;
  color: #b42318;
  border: 1px solid rgb(16 35 63 / 10%);
  border-radius: 14px;
  background: rgb(255 255 255 / 94%);
  box-shadow: 0 18px 42px rgb(16 35 63 / 16%), 0 2px 5px rgb(16 35 63 / 8%);
  backdrop-filter: blur(12px);
}

.particle-negative::before { content: ""; position: absolute; top: 13px; left: 13px; width: 7px; height: 7px; border-radius: 50%; background: #d92d20; box-shadow: 0 0 0 4px rgb(217 45 32 / 10%); }
.particle-negative::after { display: none; }
.negative-label { position: absolute; top: 11px; left: 29px; color: #475467; font-size: .54rem; font-weight: 650; letter-spacing: .01em; }
.negative-value { position: absolute; left: 13px; top: 31px; font-size: 1.18rem; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.negative-meta { position: absolute; left: 13px; bottom: 9px; color: #98a2b3; font-size: .48rem; font-weight: 550; letter-spacing: .01em; }
.negative-severe { color: #8f120c; border-color: rgb(180 35 24 / 24%); background: rgb(255 252 251 / 96%); transform: translate3d(calc(var(--scroll-y) * .018 * var(--drift)), calc(var(--scroll-y) * var(--speed)), 0) rotate(var(--rotation)) scale(1.1); }
.negative-severe .negative-value { font-size: 1.28rem; }

@media (max-width: 720px) {
  .particle-banknote,
  .particle-card { width: 142px; }
  .particle-negative { width: 148px; height: 76px; }
  .negative-value { font-size: .95rem; }
}
