/* Page-owned FAQ composition; the accepted shell remains in normal flow. */
body[data-helper-page] > header.editorial-header {
  position: relative;
  inset: auto;
  width: min(1440px, calc(100% - 32px));
  margin: 0 auto 0;
  padding-block: 16px;
  background: #f7f7f5;
  min-height: 144px;
}
.faq-page { width: 100%; padding-bottom: 80px; }
.faq-page, .faq-page * { box-sizing: border-box; }
.faq-page h1, .faq-page h2, .faq-page h3 { color: #202020; }
.faq-page p { max-width: min(100%, 1100px); }
.faq-page a { color: #942214; text-underline-offset: 4px; }
.faq-page a:hover { text-decoration-thickness: 2px; }
.faq-page a:focus-visible { outline: 3px solid #942214; outline-offset: 4px; border-radius: 3px; }
.faq-container { width: min(1200px, calc(100% - 40px)); margin-inline: auto; min-width: 0; }
.faq-intro { padding-block: clamp(40px, 6vw, 88px); border-block: 1px solid #d9d9d3; }
.faq-eyebrow { margin: 0 0 20px; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #942214; }
.faq-intro h1 { max-width: 1000px; margin: 0 0 30px; font-size: clamp(42px, 5.4vw, 80px); line-height: 1.06; letter-spacing: -.045em; }
.faq-lead { max-width: 850px !important; font-size: clamp(21px, 2vw, 28px); line-height: 1.5; color: #363636; margin: 0 0 24px; }
.faq-scope { max-width: 800px !important; font-size: 17px; margin: 0; }
.faq-index { margin-block: 48px 72px; padding: clamp(20px, 3vw, 40px); background: #e9e9e4; border-radius: 24px; }
.faq-index h2 { font-size: 24px; line-height: 1.3; margin: 0 0 22px; }
.faq-index ol { margin: 0; padding: 0; list-style: none; counter-reset: faq; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); column-gap: 32px; row-gap: 8px; }
.faq-index li { min-width: 0; counter-increment: faq; }
.faq-index a { display: flex; align-items: center; gap: 12px; min-height: 48px; padding-block: 8px; font-size: 16px; line-height: 1.5; color: #202020; }
.faq-index a::before { content: counter(faq, decimal-leading-zero); color: #942214; font-size: 12px; font-weight: 600; flex: none; }
.faq-section-heading { max-width: 850px; margin-bottom: 44px; }
.faq-section-heading h2 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.2; letter-spacing: -.025em; margin: 0 0 20px; }
.faq-section-heading p:last-child { font-size: 18px; margin: 0; }
.faq-answers { min-width: 0; }
.faq-answer { border-top: 1px solid #ccccc5; padding-block: 36px 40px; display: flex; gap: clamp(16px, 4vw, 56px); scroll-margin-top: 24px; }
.faq-number { flex: none; padding-top: 5px; font-size: 14px; color: #942214; font-weight: 600; }
.faq-answer > div { min-width: 0; max-width: 900px; }
.faq-answer h3 { font-size: clamp(23px, 2.3vw, 30px); line-height: 1.3; letter-spacing: -.015em; margin: 0 0 20px; }
.faq-answer p { font-size: 18px; line-height: 1.7; margin: 0 0 16px; }
.faq-answer p:last-child { margin-bottom: 0; }
.faq-next { background: #202020; border-radius: 24px; margin-top: 32px; padding: clamp(24px, 4vw, 48px); display: flex; flex-wrap: wrap; align-items: center; gap: 28px 48px; }
.faq-next > div { flex: 1 1 420px; min-width: 0; }
.faq-next h2 { color: #fff; font-size: 30px; line-height: 1.2; margin: 0 0 16px; }
.faq-next p { color: #deded9; font-size: 17px; margin: 0; }
.faq-next .faq-button { display: inline-flex; justify-content: center; align-items: center; gap: 20px; min-height: 48px; max-width: 100%; padding: 14px 24px; background: #fe2301; color: #111; border-radius: 80px; font-size: 16px; font-weight: 600; text-decoration: none; }
.faq-button span { flex: none; }
.faq-next .faq-button:focus-visible { outline-color: #fff; }
@media (max-width: 600px) {
  .faq-container { width: calc(100% - 32px); }
  .faq-index { margin-block: 32px 48px; }
  .faq-answer { flex-direction: column; gap: 12px; padding-block: 28px 32px; }
  .faq-number { padding-top: 0; }
  .faq-next .faq-button { width: 100%; }
  .faq-page { padding-bottom: 48px; }
}
