.faq-section { padding: 31px 0 80px; background: #000; color: #fff; }
.faq-wrap { width: min(1200px, calc(100% - 40px)); }
.faq-section h2 { margin: 0 0 18px; font: 400 65px/1.3 'BOWLER', Arial, sans-serif; letter-spacing: 2px; }
.faq-section h2 em { color: #dc281e; }
.faq-intro { margin: 0 0 60px; font: 400 20px/1.5 'Montserrat', Arial, sans-serif; }
.faq-accordion { display: grid; gap: 20px; }
.faq-accordion details { min-width: 0; }
.faq-accordion summary {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 26px;
  align-items: center;
  gap: 20px;
  min-height: 64px;
  padding: 18px 20px;
  background: #191919;
  cursor: pointer;
  list-style: none;
  font: 400 16px/1.4 'BOWLER', Arial, sans-serif;
  letter-spacing: 2px;
}
.faq-accordion summary::-webkit-details-marker { display: none; }
.faq-number { color: #dc281e; }
.faq-question { transition: color .2s; }
.faq-accordion summary:hover .faq-question,
.faq-accordion details[open] .faq-question { color: #dc281e; }
.faq-toggle {
  position: relative;
  isolation: isolate;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #dc281e;
  color: #fff;
  font: 700 16px/1 Arial, sans-serif;
  letter-spacing: 0;
}
.faq-toggle::before { content: '+'; }
.faq-accordion details[open] .faq-toggle::before { content: '−'; }
.faq-toggle::after {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background: #dc281e;
  animation: faq-pulse 2s linear infinite;
}
@keyframes faq-pulse {
  from { transform: scale(1); opacity: .5; }
  to { transform: scale(1.65); opacity: 0; }
}
.faq-answer {
  padding: 40px 40px 24px;
  border-radius: 0 0 5px 5px;
  background: #fff;
  color: #555;
  font: 400 18px/1.5 'Montserrat', Arial, sans-serif;
}
.faq-answer p { max-width: none; margin: 0 0 16px; }
.faq-answer p:last-child { margin-bottom: 0; }
.faq-answer strong { font-weight: 600; }
@media (max-width: 1240px) {
  .faq-section h2 { font-size: clamp(35px, 5.1vw, 65px); }
}
@media (max-width: 767px) {
  .faq-section { padding: 32px 0 48px; }
  .faq-wrap { width: calc(100% - 40px); }
  .faq-section h2 { font-size: clamp(26px, 9vw, 40px); letter-spacing: .5px; }
  .faq-intro { font-size: 16px; margin-bottom: 32px; }
  .faq-accordion { gap: 14px; }
  .faq-accordion summary { grid-template-columns: 28px minmax(0, 1fr) 26px; gap: 12px; padding: 18px 14px; font-size: 13px; letter-spacing: .5px; }
  .faq-answer { padding: 24px 20px; font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .faq-toggle::after { animation: none; transform: scale(1.3); opacity: .3; }
  .faq-question { transition: none; }
}
