/* ========================================
   FUNCIONAMENTO + INCLUSO
======================================== */

.funcionamento {
  position: relative;
  padding: 120px 7%;
  background:
    radial-gradient(circle at top right, rgba(212,160,23,0.08), transparent 28%),
    linear-gradient(180deg, #0b0b0b 0%, #140909 100%);
  overflow: hidden;
}

/* HEADER */

.funcionamento-header {
  max-width: 850px;
  margin: 0 auto 80px;
  text-align: center;
}

.funcionamento-tag,
.incluso-tag {
  display: inline-block;
  color: #d4a017;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 800;
  margin-bottom: 18px;
}

.funcionamento-header h2,
.incluso-left h2 {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(2.5rem, 5vw, 3rem);
  font-weight: 500;
  line-height: 0.95;
  margin-bottom: 26px;
  color: #fff;
}

.funcionamento-header p,
.incluso-left p {
  color: rgba(255,255,255,0.82);
  line-height: 1.9;
  font-size: 1.05rem;
}

/* FLUXO */

.funcionamento-fluxo {
  max-width: 1300px;
  margin: 0 auto 120px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.fluxo-card {
  position: relative;
  padding: 38px 28px;
  border-radius: 28px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(212,160,23,0.18);
  transition: 0.35s ease;
  overflow: hidden;
  backdrop-filter: blur(10px);
}

.fluxo-card:hover {
  transform: translateY(-10px);
  border-color: rgba(212,160,23,0.4);
  box-shadow:
    0 25px 60px rgba(0,0,0,0.4),
    0 0 30px rgba(212,160,23,0.1);
}

.fluxo-number {
  position: absolute;
  top: 18px;
  right: 20px;
  font-size: 4rem;
  font-weight: 900;
  color: rgba(212,160,23,0.08);
}

.fluxo-icon {
  width: 72px;
  height: 72px;
  margin-bottom: 28px;
  border-radius: 20px;
  background: rgba(212,160,23,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}

.fluxo-icon img {
  width: 72px;
  height: 72px;
  object-fit: contain;
}

.fluxo-card h3 {
  color: #fff;
  margin-bottom: 14px;
  font-size: 1.3rem;
}

.fluxo-card p {
  color: rgba(255,255,255,0.76);
  line-height: 1.8;
}

/* INCLUSO */

.incluso-wrapper {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 70px;
  align-items: center;
}

.incluso-right {
  display: grid;
  gap: 20px;
}

.incluso-item {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  padding: 26px;
  border-radius: 24px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(212,160,23,0.16);
  transition: 0.3s ease;
}

.incluso-item:hover {
  transform: translateY(-6px);
  border-color: rgba(212,160,23,0.38);
  box-shadow: 0 18px 45px rgba(0,0,0,0.35);
}

.incluso-icon {
  min-width: 66px;
  width: 66px;
  height: 66px;
  border-radius: 18px;
  background: rgba(212,160,23,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}

.incluso-icon img {
  width: 66px;
  height: 66px;
  object-fit: contain;
}

.incluso-item h3 {
  color: #fff;
  margin-bottom: 8px;
  font-size: 1.15rem;
}

.incluso-item p {
  color: rgba(255,255,255,0.76);
  line-height: 1.7;
}

/* RESPONSIVO */

@media (max-width: 1100px) {
  .funcionamento-fluxo {
    grid-template-columns: repeat(2, 1fr);
  }

  .incluso-wrapper {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .funcionamento {
    padding: 90px 24px;
  }

  .funcionamento-fluxo {
    grid-template-columns: 1fr;
    margin-bottom: 80px;
  }

  .fluxo-card {
    padding: 34px 24px;
  }

  .funcionamento-header h2,
  .incluso-left h2 {
    font-size: 3rem;
  }

  .incluso-item {
    padding: 22px;
  }
}