/* ── FAQ ── */
.faq { background: #fff; text-align: center; }

.faq-title {
  font-family: 'Discovery', 'Inter', sans-serif;
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 600; letter-spacing: -1px;
  color: var(--navy); margin-bottom: 16px;
}

.faq-sub { font-size: 16px; color: var(--navy-400); margin-bottom: 56px; }
.faq-sub a b { color: var(--violet-dark); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

.faq-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 0 56px; text-align: right;
}
[dir="ltr"] .faq-grid { text-align: left; }

.faq-item { border-bottom: 1px solid var(--navy-200); }
.faq-item:first-child { border-top: 1px solid var(--navy-200); }

.faq-q {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  gap: 20px; background: none; border: none; cursor: pointer;
  font-family: inherit; text-align: inherit;
  padding: 22px 0; font-size: 16px; font-weight: 600; color: var(--navy);
  transition: color 0.15s;
}
.faq-q:hover { color: var(--violet-dark); }

.faq-icon {
  position: relative; flex-shrink: 0;
  width: 22px; height: 22px;
}
.faq-icon::before, .faq-icon::after {
  content: ''; position: absolute; top: 50%; left: 50%;
  background: var(--navy); transform: translate(-50%, -50%);
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.faq-icon::before { width: 14px; height: 2px; }
.faq-icon::after { width: 2px; height: 14px; }
.faq-item.open .faq-icon::after { transform: translate(-50%, -50%) rotate(90deg); opacity: 0; }
.faq-item.open .faq-icon { }
.faq-item.open .faq-q { color: var(--violet-dark); }

.faq-a {
  max-height: 0; overflow: hidden;
  transition: max-height 0.3s ease, opacity 0.25s ease, margin 0.3s ease;
  opacity: 0;
}
.faq-a p { font-size: 14px; line-height: 1.7; color: var(--navy-700); padding-bottom: 22px; max-width: 480px; }
.faq-item.open .faq-a { opacity: 1; }

@media (max-width: 768px) {
  .faq-grid { grid-template-columns: 1fr; gap: 0; }
  .faq-a p { max-width: 100%; }
}
