:root {
  --brand-red: #c2272d;
}

.text-brand {
  color: var(--brand-red);
}

.bg-brand {
  background-color: var(--brand-red);
}

.bg-brand-hover:hover {
  background-color: #a81f24;
}

.border-brand {
  border-color: var(--brand-red);
}

.gradient-brand {
  background: linear-gradient(
    135deg,
    rgba(194, 39, 45, 0.9),
    rgba(37, 99, 235, 0.9)
  );
}

.gradient-brand-soft {
  background: linear-gradient(
    135deg,
    rgba(194, 39, 45, 0.22),
    rgba(37, 99, 235, 0.22)
  );
}

.btn-zoom {
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.btn-zoom:hover {
  transform: scale(1.04);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.12);
}

.tilt {
  transform-style: preserve-3d;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.tilt:hover {
  transform: translateY(-8px) rotateX(0.8deg);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.float-soft {
  animation: float 4s ease-in-out infinite;
}

@keyframes float {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0);
  }
}

.reveal {
  opacity: 0;
  transform: translateY(18px);
  animation: revealIn 0.9s ease-out forwards;
}

@keyframes revealIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.parallax-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(229, 57, 53, 0.08),
    rgba(37, 99, 235, 0.06)
  );
  transition: transform 0.3s ease-out;
}

.mouse-gradient {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(
    circle at var(--x, 50%) var(--y, 50%),
    rgba(37, 99, 235, 0.15) 0%,
    transparent 60%
  );
  transition: background 0.1s ease;
}

.mouse-gradient::before {
  content: "";
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(194, 39, 45, 0.22),
    rgba(37, 99, 235, 0.12),
    transparent 55%
  );
  filter: blur(70px);
  opacity: 0.25;
  transform: translate(-50%, -50%);
}
