/* desafio — generado por refactor modular (verbatim de styles.css) */

.desafio { background: #EDF3F2; color: var(--dark-text); }
.desafio__inner { display: flex; align-items: center; gap: 80px; padding: 90px 0; }
.desafio__left { flex: 1 1 46%; max-width: 460px; }
.desafio__label { font-weight: 700; font-size: 13px; letter-spacing: 1px; color: #1c8a5c; margin-bottom: 44px; }
.desafio__title { color: #0a3524; line-height: 1.12; margin-bottom: 22px; }
.desafio__title span { font-weight: 800; font-size: 46px; }
.desafio__title strong { font-weight: 800; font-size: 46px; }
.desafio__text { font-family: var(--font-mont); font-size: 16px; line-height: 1.6; color: #20302a; }
.desafio__text strong { font-weight: 700; }
.desafio__text + .desafio__text { margin-top: 18px; }
.desafio__list { list-style: none; display: flex; flex-direction: column; gap: 14px; margin: 24px 0; }
.desafio__list li { font-family: var(--font-mont); font-size: 16px; color: #20302a; line-height: 1.3; padding-left: 34px; position: relative; }
.desafio__list li::before {
  content: "";
  position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M10 3.5L4.7 8.5L2 6' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat;
}
.desafio__text--close { margin-top: 24px; }
.desafio__image { flex: 1 1 50%; min-width: 0; max-width: 642px; aspect-ratio: 642 / 668; border-radius: 4px; object-fit: cover; }
.desafio__video { flex: 1 1 50%; min-width: 0; max-width: 642px; aspect-ratio: 16 / 9; border-radius: 8px; overflow: hidden; background: #0a1410; box-shadow: 0 18px 44px rgba(10, 53, 36, .18); }
.desafio__video iframe { display: block; width: 100%; height: 100%; border: 0; }
.desafio__topics { list-style: none; margin: 22px 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 11px 22px; }
.desafio__topics li { position: relative; padding-left: 26px; font-family: var(--font-mont); font-weight: 600; font-size: 14.5px; line-height: 1.3; color: #20302a; }
.desafio__topics li::before { content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px #1c8a5c; background: rgba(28, 138, 92, .12); }
.desafio__topics li::after { content: ""; position: absolute; left: 6px; top: 8px; width: 4px; height: 4px; border-radius: 50%; background: #1c8a5c; }
@media (max-width: 900px) {
  .desafio__video { width: 100%; max-width: none; }
}
@media (max-width: 900px) {
  .desafio__inner { flex-direction: column; gap: 40px; padding: 60px 0; }
  .desafio__left { max-width: none; }
  .desafio__image { width: 100%; max-width: none; aspect-ratio: 16 / 10; }
}
@media (max-width: 600px) {
  .desafio__topics { grid-template-columns: 1fr; gap: 9px; }
}
@media (max-width: 600px) {
  .desafio__inner {
    gap: 34px;
    padding: 36px 0 42px;
  }
  .desafio .wrap {
    padding-left: 16px;
    padding-right: 16px;
  }
  .desafio__label {
    font-size: 11px;
    line-height: 1.2;
    letter-spacing: 0.6px;
    margin-bottom: 34px;
  }
  .desafio__title {
    margin-bottom: 16px;
    line-height: 1.02;
  }
  .desafio__title span,
  .desafio__title strong {
    font-family: var(--font-sora);
    line-height: 1.02;
  }
  .desafio__title span {
    font-size: 30px;
    font-weight: 700;
  }
  .desafio__title strong {
    font-size: 33px;
    font-weight: 800;
  }
  .desafio__text {
    font-family: var(--font-mont);
    font-size: 15px;
    line-height: 1.58;
    color: #111918;
  }
  .desafio__text + .desafio__text {
    margin-top: 24px;
  }
  .desafio__list { gap: 13px; margin: 22px 0; }
  .desafio__list li { font-size: 15px; padding-left: 32px; }
  .desafio__list li::before { width: 20px; height: 20px; background-size: 12px; }
  .desafio__text--close { margin-top: 22px; }
  .desafio__image {
    aspect-ratio: 16 / 8.5;
    border-radius: 0;
    object-position: center;
  }
  .desafio__title span { font-size: 30px; }
  .desafio__title strong { font-size: 33px; }
}
