:root {
    --verde-lima: #606c38;
    --verde-lima-claro: #91a54e;
    --verde-esc: #283618;
    --verde-esc-mais: #182b02;
    --branco: #fefae0;
    --bege: #dda15e;
    --bege-claro: #fdce99;
    --ouro: #bc6c25;
    --preto: #0e0d0d;
}

::-webkit-scrollbar {
    display: none;
}


@font-face {
    font-family: "harmond";
    src: url(../assests/fonts/Harmond/Harmond/Harmond-SemBdItaCond.otf);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    background: var(--preto);
    width: 100%;
    height: 100%;
    color: var(--branco);
    font-family: 'outfit';
}


    .container {
        margin-top: 10%;
      display: flex;    
      width: 100%;
      height: fit-content;
      justify-content: space-between;
      padding: 40px;
      gap: 20px;
    }

    .left {
      max-width: 50%;
    }

    .left h1 {
      font-family: 'harmond';
      font-size: 10vw;
      line-height: 0.75;
      margin: 0;
      font-weight: 300;
    }

    .left p {
      margin-top: 20px;
      font-size: 1.5rem;
      text-align: justify;
    }

    .btn {
      margin-top: 30px;
      padding: 12px 30px;
      font-size: 1rem;
      color: white;
      border: 1px solid white;
      background: transparent;
      border-radius: 25px;
      cursor: pointer;
      transition: all 0.3s ease;
    }

    .btn:hover {
      background-color: rgba(255, 255, 255, 0.1);
    }

    .calendar-wrapper {
        width: 100%;
        border-radius: 15%;
    }



img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

section.pinned {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.sticky-header {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  width: 90%; /* Adicionado para evitar quebra de linha em telas médias */
}

.sticky-header h1 {
  font-size: 5vw;
  font-weight: 300;
  text-align: center;
}

.sticky-header h1 span {
    font-family: 'harmond';
    font-weight: 400;
    color: var(--bege);
}

.card {
  position: absolute;
  top: 150%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  width: 50%;
  height: 60%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1em;
  will-change: transform;
  overflow: hidden;
}

#card-1 {
  background: var(--branco);
  backdrop-filter: blur(10px);
}

#card-2 {
  background: var(--ouro);
  background-size: cover;
}

#card-3 {
  background: var(--bege);
  background-size: cover;
}

#card-4 {
  background: var(--branco);
  background-size: cover;
}

.card-phase {
  position: absolute;
  top: 1em;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.125em 0.25em;
  border-radius: 0.25em;
  color: var(--branco);
}

.card-phase p {
  font-size: 24px;
}

#card-1 .card-phase {
  background-color: var(--verde-esc-mais);
}
#card-2 .card-phase {
  background-color: var(--verde-esc-mais);
}
#card-3 .card-phase {
  background-color: var(--verde-esc-mais);
}
#card-4 .card-phase {
  background-color: var(--verde-esc-mais);
}

.card-title {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.card-title p {
  font-size: 2rem;
}

p.texto {
  font-size: 15px;
  width: 75%;
  margin-top: 2rem;
}

#texto-1 {
    color: var(--verde-esc-mais);
}

#texto-2 {
  color: var(--branco);
}

#texto-3 {
  color: var(--branco);
}

#texto-4 {
  color: var(--verde-esc-mais);
}

.card-title h1 {
  font-size: 4.5vw;
  font-weight: 200;
  line-height: 90%;
}

#card-1 .card-title {
  color: var(--ouro);
}
#card-2 .card-title {
  color: var(--branco);
}
#card-3 .card-title {
  color: var(--branco);
}
#card-4 .card-title {
  color: var(--ouro);
}

.card-title h1 span {
  color: var(--verde-esc);
  font-family: "harmond";
}

.progress-bar {
  position: absolute;
  top: 0;
  right: 0;
  width: 8px;
  height: 100%;
  background-color: var(--branco);
  opacity: 0;
}

.progress-bar::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

}

.progress {
  width: 100%;
  height: 0%;
  background-color: #353531;
}

.indices {
  position: absolute;
  top: 0;
  right: 24px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4em;
  opacity: 0;
}

.index {
  text-align: right;
  opacity: 0.25;
}

.index p {
  text-transform: uppercase;
  font-size: 0.95rem;
}

.index p:nth-child(2) {
  font-family: 'outfit';
  font-size: 0.95rem;
}

.index p:nth-child(3) {
  font-family: 'outfit';
  font-size: 1.125rem;
}

#index-1 p {
  color: var(--ouro);
}
#index-2 p {
  color: var(--bege);
}
#index-3 p {
  color: var(--bege-claro);
}
#index-4 p {
  color: var(--branco);
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}


footer {
  margin-top: 15%;
  position: relative;
  width: 100vw;
  height: 75svh;
  background-color: var(--branco);
  color: var(--ouro);
  padding: 2em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

footer h1 {
  font-family: 'harmond';
  font-size: 12vw;
  font-weight: 500;
  line-height: 0.85;
  text-align: center;
}

.copyright-info {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.explosion-container {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 200%;
  pointer-events: none;
}

.explosion-particle-img {
  position: absolute;
  bottom: -200px;
  left: 50%;
  width: 150px;
  height: auto;
  object-fit: cover;
  transform: translateX(-50%);
  will-change: transform;
}


/* ========================================= */
/* =========== REGRAS RESPONSIVAS ========== */
/* ========================================= */


/* Para Tablets e Telas Menores */
@media (max-width: 900px) {

  .progress-bar {
    display: none; /* Oculta a barra de progresso */
  }

  .indices {
    display: none; /* Oculta os índices */
  }

  .container {
    flex-direction: column; /* Empilha os itens verticalmente */
    margin-top: 20%; /* Aumenta a margem para dar espaço ao menu */
    padding: 20px;
    gap: 40px; /* Aumenta o espaço entre o texto e o calendário */
  }

  .left {
    max-width: 100%; /* Permite que a seção de texto ocupe toda a largura */
    text-align: center; /* Centraliza o conteúdo */
  }

  .left p {
    text-align: center;
  }

  .left h1 {
    font-size: 15vw; /* Ajusta o tamanho da fonte para telas menores */
  }

  .sticky-header h1 {
    font-size: 7vw; /* Ajusta o tamanho da fonte para melhor leitura */
  }

  .card {
    width: 80%; /* Aumenta a largura dos cards */
    height: 50%; /* Aumenta a altura para caber o texto */
  }

  .card-phase p {
    font-size: 18px;
  }

  .card-title p {
    font-size: 1.5rem; /* Ajustado de 24px para rem */
  }

  .card-title h1 {
    font-size: 6vw; /* Usa vw para escalar melhor */
    line-height: 1;
  }

  p.texto {
    font-size: 14px;
    width: 90%; /* Ocupa mais espaço dentro do card */
  }

  .indices {
    right: 15px;
  }

  .index p:nth-child(2),
  .index p:nth-child(3) {
    display: none;
  }

  footer h1 {
    margin-top: 5rem;
    font-size: 16vw; /* Ajusta o tamanho da fonte do rodapé */
  }

    footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1.5rem;
    height: 100vh;
  }
}

/* Para Celulares */
@media (max-width: 480px) {
  .container {
    margin-top: 25%;
    padding: 15px;
  }

  .left h1 {
    font-size: 18vw;
  }

  .left p {
    font-size: 1.2rem;
  }

  .sticky-header h1 {
    font-size: 8vw;
  }

  .card {
    width: 90%;
    height: 60%;
  }

  .card-title {
    padding: 0 10px;
  }

  .card-title p {
    font-size: 1.2rem;
  }

  .card-title h1 {
    font-size: 9vw;
  }

  p.texto {
    font-size: 13px;
    width: 95%;
  }

  footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1.5em;
    height: 100vh;
  }

  footer h1 {
    margin-top: 5rem;
    font-size: 18vw;
  }

  .copyright-info {
    flex-direction: column; /* Empilha os textos de copyright */
    align-items: center;
    gap: 5px; /* Adiciona um pequeno espaço entre eles */
    margin-top: 15px;
  }
}