.faqSection {
  padding: 9rem 5vw;
  background: var(--black);
  color: var(--white);
}

.faqIntro {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .55fr);
  gap: 7vw;
  align-items: end;
  margin-bottom: 4.5rem;
}

.faqIntro .sectionIndex { grid-column: 1 / -1; margin-bottom: 0; color: var(--red); }
.faqIntro h2 { margin: 0; font-family: "Archivo Black", sans-serif; font-size: clamp(3.4rem, 6.25vw, 7.2rem); line-height: .89; letter-spacing: -.055em; text-transform: uppercase; }
.faqIntro h2 span { color: transparent; -webkit-text-stroke: 1.5px #f7f7f4; }
.faqIntro > p:last-child { max-width: 390px; margin: 0 0 .45rem; color: #c1c4ba; font-size: 1.03rem; line-height: 1.7; }

.faqList { border-top: 1px solid #4f524b; }
.faqItem { border-bottom: 1px solid #4f524b; }
.faqItem summary { display: grid; grid-template-columns: 44px 52px minmax(0, 1fr) 30px; gap: 1.1rem; align-items: center; padding: 1.55rem 0; list-style: none; cursor: pointer; font-size: clamp(1.05rem, 1.65vw, 1.55rem); font-weight: 800; line-height: 1.25; }
.faqItem summary::-webkit-details-marker { display: none; }
.faqNumber { color: #8d9187; font-size: .62rem; font-weight: 800; letter-spacing: .13em; }
.faqIcon { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--red); border-radius: 50%; color: var(--red); font-family: "Archivo Black", sans-serif; font-size: 1.05rem; }
.faqItem summary i { position: relative; width: 18px; height: 18px; justify-self: end; }
.faqItem summary i::before, .faqItem summary i::after { position: absolute; top: 8px; left: 0; width: 18px; height: 2px; background: var(--red); content: ""; transition: transform .25s; }
.faqItem summary i::after { transform: rotate(90deg); }
.faqItem[open] summary i::after { transform: rotate(0); }
.faqAnswer { display: grid; grid-template-columns: 44px 52px minmax(0, 650px); gap: 1.1rem; padding: 0 0 1.8rem; }
.faqAnswer p { grid-column: 3; margin: 0; color: #daddd4; font-size: 1.02rem; line-height: 1.65; }
.faqAnswer strong { color: #fff; font-size: 1.15em; }
.faqCta { display: inline-flex; margin-top: 3rem; padding: 1rem 0; border-bottom: 1px solid var(--red); color: #fff; font-size: .78rem; font-weight: 800; }
.faqCta span { margin-left: .75rem; color: var(--red); }

@media (max-width: 900px) {
  .faqSection { padding: 6rem 24px; }
  .faqIntro { grid-template-columns: 1fr; gap: 2rem; }
  .faqItem summary { grid-template-columns: 29px 42px minmax(0, 1fr) 22px; gap: .75rem; }
  .faqAnswer { grid-template-columns: 29px 42px minmax(0, 1fr); gap: .75rem; }
}

@media (max-width: 600px) {
  .faqSection { padding: 5rem 20px; }
  .faqIntro h2 { font-size: clamp(3rem, 14vw, 5rem); }
  .faqItem summary { padding: 1.25rem 0; font-size: 1rem; }
  .faqIcon { width: 32px; height: 32px; font-size: .95rem; }
  .faqAnswer { padding-bottom: 1.45rem; }
  .faqAnswer p { font-size: .93rem; }
}

.ticker { overflow: hidden; }
.tickerTrack { display: flex; width: max-content; will-change: transform; animation: ticker 36s linear infinite; }
.tickerGroup { flex: 0 0 auto; animation: none !important; }
