#faq {

  background: transparent;

}

.faq__list {

  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 800px;
  margin: 0 auto;

}

.faq__item {

  background: var(--color-surface-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: border-color var(--transition-base), box-shadow var(--transition-base);

}

.faq__item[open] {

  border-color: var(--color-border-strong);
  box-shadow: var(--shadow-card);

}

.faq__question {

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-heading);
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-text);
  transition: color var(--transition-base);

}

.faq__question::-webkit-details-marker {

  display: none;

}

.faq__question::marker {

  content: '';

}

.faq__question:hover {

  color: var(--color-gold-dark);

}

.faq__question-text {

  flex: 1;

}

.faq__icon {

  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-gold-dim);
  color: var(--color-gold-dark);
  transition: transform var(--transition-base), background var(--transition-base);

}

.faq__item[open] .faq__icon {

  transform: rotate(180deg);
  background: var(--color-gold);
  color: var(--color-text-inverse);

}

.faq__answer {

  padding: 0 24px 20px;

}

.faq__answer p {

  line-height: 1.7;
  color: var(--color-text-muted);
  margin: 0;

}

.faq__answer a {

  color: var(--color-gold-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--transition-base);

}

.faq__answer a:hover {

  color: var(--color-text-accent);

}

/* Tablet + desktop typography */
@media (min-width: 768px) and (max-width: 1199px) {
  .faq__question { font-size: 1rem; }
  .faq__answer p { font-size: 0.9375rem; }
}

@media (min-width: 1200px) {
  .faq__question { font-size: 1rem; }
  .faq__answer p { font-size: 0.9375rem; }
}

.faq__cta {

  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: var(--layout-block-gap);

}


