/* fa · Dúvidas */
.fa-grade {
  max-width: 1240px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(32px, 6vw, 110px); align-items: start;
}
.fa-cabeca { position: sticky; top: 96px; }
.fa-apoio { margin: 1.4rem 0 0; max-width: 26rem; }

/* convite na voz dela */
.fa-convite {
  position: relative;
  margin: clamp(2rem, 4vw, 3.2rem) 0 0; padding: 2.4rem 0 0;
  max-width: 26rem;
}
.fa-convite::before {
  content: ""; position: absolute; left: -6px; top: 0; width: 132px; height: 26px;
  background: var(--malha-funda);
  -webkit-mask: url(../img/pincel-1.png) center / 100% 100% no-repeat;
          mask: url(../img/pincel-1.png) center / 100% 100% no-repeat;
  opacity: .85;
}
.fa-convite blockquote {
  margin: 0;
  font-family: var(--f-display); font-variation-settings: "opsz" 18; font-weight: 400;
  font-size: clamp(1.15rem, 1.5vw, 1.35rem); line-height: 1.38; color: var(--indigo);
}
.fa-convite figcaption { margin-top: .6rem; font-size: .8rem; letter-spacing: .08em; color: var(--texto-suave); }
.fa-cta { margin-top: 1.4rem; }

/* lista */
.fa-lista { border-top: 1px solid color-mix(in oklab, var(--indigo) 18%, transparent); min-width: 0; }
.fa-item { border-bottom: 1px solid color-mix(in oklab, var(--indigo) 18%, transparent); }
.fa-item summary {
  list-style: none; cursor: pointer;
  display: grid; grid-template-columns: 2.6rem minmax(0, 1fr) 28px; align-items: center; gap: 1rem;
  padding: 1.6rem 0;
}
.fa-item summary::-webkit-details-marker { display: none; }
.fa-item summary:focus-visible { outline-offset: -2px; }
.fa-n { font-size: .74rem; letter-spacing: .16em; color: var(--texto-suave); transition: color .4s; }
.fa-txt { display: flex; align-items: baseline; justify-content: space-between; gap: .4rem 1.4rem; flex-wrap: wrap; min-width: 0; }
.fa-q {
  position: relative; z-index: 0;
  font-family: var(--f-display); font-variation-settings: "opsz" 60; font-weight: 400;
  font-size: clamp(1.4rem, 2.3vw, 2.1rem); line-height: 1.15; color: var(--indigo-noite);
  transition: font-weight .4s;
}
.fa-q::after {
  content: ""; position: absolute; z-index: -1; left: -3%; right: -5%; bottom: -.14em; height: .85em;
  background: var(--malha-clara);
  -webkit-mask: url(../img/pincel-3.png) center / 100% 100% no-repeat;
          mask: url(../img/pincel-3.png) center / 100% 100% no-repeat;
  transform: scaleX(0); transform-origin: left center;
  transition: transform .45s cubic-bezier(.6, 0, .2, 1);
}
.fa-item[open] .fa-q { font-weight: 500; }
.fa-item[open] .fa-q::after { transform: scaleX(1); transition-duration: 1s; }
.fa-item[open] .fa-n { color: var(--royal); }
.fa-curta {
  flex: none; display: inline-flex; align-items: center; gap: .55em;
  font-size: .84rem; letter-spacing: .06em; color: var(--royal); white-space: nowrap;
}
.fa-curta::before {
  content: ""; width: .9em; height: .9em; border-radius: 50%;
  background: var(--malha-funda);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, .35), 0 1px 2px rgba(14, 12, 53, .25);
}
.fa-item[open] .fa-curta::before { background: var(--malha-clara); }
.fa-sinal { position: relative; width: 28px; height: 28px; border-radius: 50%; border: 1px solid color-mix(in oklab, var(--indigo) 30%, transparent); transition: background .3s; }
.fa-sinal::before, .fa-sinal::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 1.5px; background: var(--indigo);
  transform: translate(-50%, -50%); transition: transform .4s var(--ease);
}
.fa-sinal::after { transform: translate(-50%, -50%) rotate(90deg); }
.fa-item[open] .fa-sinal::after { transform: translate(-50%, -50%) rotate(0deg); }
.fa-item summary:hover .fa-sinal { background: color-mix(in oklab, var(--pervinca) 30%, transparent); }
.fa-r { padding: 0 calc(28px + 1rem) 1.6rem calc(2.6rem + 1rem); }
.fa-r p { margin: 0; font-size: 1.04rem; line-height: 1.65; color: var(--texto-suave); max-width: 34rem; }

@media (max-width: 899px) {
  .fa-grade { grid-template-columns: minmax(0, 1fr); }
  .fa-grade { gap: 0; }
  .fa-cabeca { display: contents; }
  .fa-apoio { margin-bottom: 2rem; }
  .fa-lista { order: 2; }
  .fa-convite { order: 3; border-top: 0; margin-top: 2.4rem; padding-top: 0; }
  .fa-item summary { grid-template-columns: minmax(0, 1fr) 28px; gap: .9rem; align-items: start; padding: 1.25rem 0; }
  .fa-n { display: none; }
  .fa-txt { gap: .45rem; }
  .fa-sinal { margin-top: .1em; }
  .fa-txt { flex-direction: column; align-items: flex-start; }
  .fa-r { padding: 0 2.4rem 1.4rem 0; }
  .fa-convite { padding-top: 2.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .fa-q, .fa-q::after, .fa-sinal::after { transition: none !important; }
}
