/* ===== Fontes ===== */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;1,9..144,300;1,9..144,400&family=Plus+Jakarta+Sans:wght@400;500;600&display=swap');

/* ===== Base ===== */
* { border-color: rgba(26,29,31,0.1); }
html { scroll-behavior: smooth; }
body {
  background-color: #F9F7F2;
  color: #1A1D1F;
  font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.font-heading { font-family: 'Fraunces', Georgia, serif; }
.font-body { font-family: 'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif; }

/* ===== Reveal (substitui Framer Motion) ===== */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.9s cubic-bezier(0.22,1,0.36,1), transform 0.9s cubic-bezier(0.22,1,0.36,1);
}
.reveal.is-visible { opacity: 1; transform: translateY(0); }

/* ===== Hero / PageHeader — animação de entrada ===== */
.anim-blur {
  opacity: 0;
  filter: blur(14px);
  animation: blurIn 1.6s cubic-bezier(0.22,1,0.36,1) forwards;
}
.anim-blur-slow { animation-duration: 1.2s; }
/* ===== Borboleta animada ===== */
@keyframes butterflyWings {
  0%, 100% {
    transform: perspective(500px) rotateY(0deg);
  }

  50% {
    transform: perspective(500px) rotateY(55deg);
  }
}

.butterfly-animated {
  animation: butterflyWings 2.2s ease-in-out infinite !important;
  -webkit-animation: butterflyWings 2.2s ease-in-out infinite !important;

  transform-origin: center center;
  -webkit-transform-origin: center center;

  backface-visibility: visible;
  -webkit-backface-visibility: visible;

  will-change: transform;
}
@keyframes blurIn {
  from {
    opacity: 0;
    filter: blur(14px);
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}
/* ===== FAQ Accordion ===== */

.accordion-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  text-align: left;
}

.accordion-trigger .chevron {
  flex-shrink: 0;
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  padding-bottom: 0 !important;
  opacity: 0;
  transition:
    max-height 0.4s ease,
    opacity 0.3s ease,
    padding 0.3s ease;
}

.accordion-item.open .accordion-content {
  opacity: 1;
  padding-bottom: 1.5rem !important;
}

.accordion-item.open .chevron line:first-child {
  display: none;
}