/* Section 8 - #duvidas (FAQ). Source: references/source/index.html lines 155-160, 305-312, 367-378.
   Shared section primitives (.secao/.cab/.escuro-sec/.rv) are not in base.css, so they are
   reproduced here verbatim from source. Identical rules may appear in other section files;
   dedupe on assembly. */
.secao { padding: clamp(84px, 11vw, 150px) 0; }
.cab { text-align: center; max-width: 820px; margin: 0 auto clamp(40px, 5vw, 64px); padding: 0 20px; }
.cab h2, .h2 { margin: 0; font-weight: 300; font-size: clamp(36px, 5vw, 68px); line-height: 1.02; letter-spacing: -.04em; }
.cab p { margin: 18px auto 0; color: var(--suave); max-width: 560px; font-size: 17px; }
.escuro-sec { background: var(--tinta); color: var(--marfim); }
.escuro-sec .cab p { color: rgba(247, 241, 238, .72); }

/* FAQ accordion */
.duvidas details { border-bottom: 1px solid var(--linha-clara); }
.duvidas details:first-of-type { border-top: 1px solid var(--linha-clara); }
.duvidas summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: clamp(20px, 2.4vw, 30px) 0; cursor: pointer; font-weight: 300; font-size: clamp(22px, 2.6vw, 36px); letter-spacing: -.03em; line-height: 1.15; }
.duvidas summary::-webkit-details-marker { display: none; }
.duvidas summary .ico { font-size: 26px; transition: transform .4s var(--ease); }
.duvidas details[open] summary .ico { transform: rotate(45deg); }
.duvidas .r { padding: 0 0 30px; max-width: 760px; color: rgba(247, 241, 238, .76); font-size: 17px; }
.duvidas .r p { margin: 0 0 10px; }

/* Scroll reveal hook (Step 11 owns page-wide wiring) */
.rv { opacity: 0; transform: translateY(34px); transition: opacity 1s var(--ease), transform 1s var(--ease); transition-delay: calc(var(--d, 0) * 90ms); }
.rv.visto { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .rv { transform: none; }
}
