/* Pasfil — Landing Page */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #f6f1e7;
  color: #2b1f16;
  font-family: Barlow, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: #8a5a22; text-decoration: none; }
a:hover { color: #b8823c; }
img { display: block; max-width: 100%; }

details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] .faq-plus { transform: rotate(45deg); }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: none; }
}
.reveal { animation: fadeUp .7s cubic-bezier(.16,.84,.44,1) both; }

/* revelação ao rolar (progressive enhancement via js/main.js) */
.js-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s cubic-bezier(.16,.84,.44,1); }
.js-reveal.is-visible { opacity: 1; transform: none; }

/* estados de hover */
.hv-1:hover {
  color: #d8a44f !important;
}
.hv-2:hover {
  background: #24a659 !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}
.hv-3:hover {
  background: rgba(246,241,231,.1) !important;
  border-color: #d8a44f !important;
  color: #f6f1e7 !important;
}
.hv-4:hover {
  color: #b8823c !important;
  border-bottom-color: #b8823c !important;
}
.hv-5:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 22px 46px rgba(43,31,22,.2) !important;
}
.hv-6:hover {
  background: #b8823c !important;
  color: #fff !important;
}
.hv-7:hover {
  background: #24a659 !important;
  color: #fff !important;
}
.hv-8:hover {
  border-color: #b8823c !important;
  color: #8a5a22 !important;
}

/* ajustes responsivos */
@media (max-width: 900px) {
  header nav { gap: 16px !important; }
  header img { height: 42px !important; }
}
@media (max-width: 640px) {
  section#topo { min-height: auto !important; background-position: 65% center !important; }
  section#topo > div { padding: 110px 18px 70px !important; }
  section[style*="background-attachment: fixed"] { background-attachment: scroll !important; }
  footer > div:last-child { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .001ms !important; transition-duration: .001ms !important; }
  .js-reveal { opacity: 1; transform: none; }
}
