/* Frequently Asked Questions */

/* Hero: text-only, so the two greys blend softly instead of splitting the copy */
.faq-hero { background: linear-gradient(90deg, var(--bg-hero) 0%, var(--bg-hero) 40%, var(--bg-hero-2) 70%, var(--bg-hero-2) 100%); }
.faq-hero__inner { grid-template-columns: minmax(0, 1fr); min-height: 0; padding-block: clamp(28px, 4vw, 60px) clamp(56px, 8vw, 120px); }
.faq-hero__copy { max-width: 920px; }
.faq-hero h1 { text-wrap: balance; }
.faq-hero__text { margin-top: 24px; max-width: 800px; font-size: 1.0625rem; line-height: 1.6; }
.faq-hero__text p { margin-bottom: .9em; }
.faq-hero .btn-row { margin-top: 32px; }
@media (max-width: 900px) {
  .faq-hero { background: var(--bg-hero); }
}

/* Question list */
.faq-list { gap: 14px; }
.faq-list .accordion__item { background: var(--bg-card); border-color: transparent; transition: background-color .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease); }
.faq-list .accordion__item:hover { background: #ececec; }
.faq-list .accordion__item[open] { background: #fff; border-color: rgba(58, 117, 95, .35); box-shadow: var(--shadow); }
.faq-list .accordion__item > summary {
  justify-content: flex-start; gap: 16px; min-height: 72px; padding: 18px 24px;
  font-size: clamp(1.0625rem, 1rem + .3vw, 1.25rem); font-weight: 500; line-height: 1.35; color: var(--green);
}
.faq-list .accordion__item > summary:hover { color: var(--green-700); }
.faq-list .accordion__item > summary::after { margin-left: auto; background-color: #fff; }
.faq-list .accordion__item[open] > summary::after { background-color: var(--green-100); }
.faq-num {
  flex: none; display: inline-grid; place-items: center; min-width: 44px; height: 32px; padding: 0 8px;
  border-radius: 8px; background: #fff; color: var(--green);
  font-size: .875rem; font-weight: 700; letter-spacing: .02em; font-variant-numeric: tabular-nums;
}
.faq-list .accordion__item[open] .faq-num { background: var(--green); color: #fff; }
.faq-q { flex: 1 1 auto; min-width: 0; }

.faq-list .accordion__body { padding: 0 72px 24px 84px; font-size: 1rem; line-height: 1.65; }
.faq-list .accordion__body p { margin-bottom: .85em; }
.faq-list .accordion__body a { text-decoration: underline; text-underline-offset: 3px; }
.faq-phases { margin: 0 0 .85em; padding-left: 1.25em; display: grid; gap: .6em; }
.faq-phases li::marker { color: var(--green); font-weight: 700; }

@media (max-width: 640px) {
  .faq-list { gap: 10px; }
  .faq-list .accordion__item > summary { gap: 12px; min-height: 64px; padding: 16px; align-items: flex-start; }
  .faq-list .accordion__item > summary::after { margin-top: 2px; }
  .faq-num { min-width: 36px; height: 28px; font-size: .8125rem; }
  .faq-q { padding-top: 2px; }
  .faq-list .accordion__body { padding: 0 16px 20px; font-size: .9375rem; }
}

/* Closing call to action */
.faq-cta {
  grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 0; text-align: center;
  border-radius: var(--radius-lg); padding: clamp(40px, 6vw, 72px) clamp(24px, 6vw, 72px);
}
.faq-cta h2 { margin-bottom: 16px; font-weight: 700; }
.faq-cta__text { max-width: 760px; margin-bottom: 32px; font-size: .9375rem; line-height: 1.6; color: rgba(255, 255, 255, .86); }
.faq-cta__text p { margin-bottom: .8em; }
@media (max-width: 480px) {
  .faq-cta .btn { width: 100%; }
}
