/* FAQ page layout; shared tokens and controls live in site.css. */
.faq-page .fq-intro { padding: 46px 0 50px; background: var(--site-surface-dark); color: #fff; }
.faq-page .fq-intro .site-kicker, .faq-page .fq-cta .site-kicker { color: var(--site-accent); }
.faq-page .fq-intro-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(240px, .5fr); gap: 88px; align-items: center; }
.faq-page .fq-intro h1 { max-width: 790px; margin-top: 10px; color: #fff; font-size: 52px; line-height: 1.13; }
.faq-page .fq-intro-copy { max-width: 760px; margin-top: 17px; color: #e0e9e1; font-size: 17px; line-height: 1.7; }
.faq-page .fq-intro-actions { display: flex; flex-wrap: wrap; gap: 23px; align-items: center; margin-top: 26px; }
.faq-page .fq-intro .site-text-link, .faq-page .fq-cta .site-text-link { color: #fff; }
.faq-page .fq-intro .site-text-link:hover, .faq-page .fq-cta .site-text-link:hover { color: var(--site-accent); }
.faq-page .fq-intro-aside { padding-left: 25px; border-left: 1px solid #678071; color: #d7e2d9; font-size: 15px; line-height: 1.8; }
.faq-page .fq-main { padding: 67px 0 82px; scroll-margin-top: var(--site-anchor-offset); }
.faq-page .fq-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 72px; align-items: start; }
.faq-page .fq-topics { position: sticky; top: 90px; min-width: 0; }
.faq-page .fq-topics > .site-kicker { margin-bottom: 17px; }
.faq-page .fq-topic-links { display: flex; flex-direction: column; border-top: 1px solid var(--site-border); }
.faq-page .fq-topic-links a { display: flex; align-items: center; gap: 13px; min-height: 48px; padding: 10px 4px; border-bottom: 1px solid var(--site-border); color: var(--site-text); font-size: 13px; font-weight: 600; line-height: 1.35; }
.faq-page .fq-topic-links a:hover { color: var(--site-positive); }
.faq-page .fq-topic-links i { width: 19px; flex: none; text-align: center; color: var(--site-positive); font-size: 14px; }
.faq-page .fq-topic-help { margin-top: 29px; padding-top: 21px; border-top: 1px solid var(--site-border); }
.faq-page .fq-topic-help strong { font-size: 13px; font-weight: 600; }
.faq-page .fq-topic-help p { margin-top: 7px; color: var(--site-text-muted); font-size: 12px; line-height: 1.7; }
.faq-page .fq-topic-help .site-text-link { margin-top: 14px; color: var(--site-positive); font-size: 12px; }
.faq-page .fq-content { min-width: 0; }
.faq-page .fq-search-wrap { margin-bottom: 23px; }
.faq-page .fq-search-wrap label { display: block; margin-bottom: 9px; font-size: 13px; font-weight: 600; }
.faq-page .fq-search-field { display: flex; align-items: center; min-height: 49px; padding: 0 15px; border: 1px solid #cfdcd2; border-radius: 5px; background: #f8faf8; }
.faq-page .fq-search-field:focus-within { border-color: var(--site-positive); outline: 2px solid #c8e2d0; }
.faq-page .fq-search-field > i { flex: none; margin-right: 13px; color: var(--site-positive); font-size: 15px; }
.faq-page .fq-search-field input { width: 100%; min-width: 0; height: 47px; border: 0; outline: 0; background: transparent; color: var(--site-text); font-family: inherit; font-size: 14px; }
.faq-page .fq-search-field input::placeholder { color: #77867b; opacity: 1; }
.faq-page .fq-search-field input::-webkit-search-cancel-button { display: none; }
.faq-page .fq-search-field button { flex: none; display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; background: transparent; color: var(--site-text-muted); cursor: pointer; }
.faq-page .fq-search-field button:hover { color: var(--site-positive); }
.faq-page .fq-results { margin-top: 8px; color: var(--site-text-muted); font-size: 12px; }
.faq-page .fq-group { margin-top: 47px; scroll-margin-top: var(--site-anchor-offset); }
.faq-page .fq-group:first-of-type { margin-top: 0; }
.faq-page .fq-group-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 17px; }
.faq-page .fq-group-number { align-self: center; color: #809187; font-size: 11px; font-weight: 600; }
.faq-page .fq-group-icon { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 5px; background: #e7efe8; color: var(--site-positive); font-size: 16px; }
.faq-page .fq-group:nth-of-type(even) .fq-group-icon { background: #edf1f7; color: var(--site-brand); }
.faq-page .fq-group-heading h2 { font-size: 24px; line-height: 1.25; }
.faq-page .fq-questions { border-top: 1px solid var(--site-border); }
.faq-page .fq-item { border-bottom: 1px solid var(--site-border); }
.faq-page .fq-item summary { position: relative; display: block; padding: 19px 35px 19px 0; cursor: pointer; color: var(--site-text); font-size: 15px; font-weight: 600; line-height: 1.5; list-style: none; }
.faq-page .fq-item summary::-webkit-details-marker { display: none; }
.faq-page .fq-item summary::after { position: absolute; top: 18px; right: 2px; color: var(--site-positive); content: '+'; font-size: 23px; font-weight: 400; line-height: 1; }
.faq-page .fq-item[open] summary::after { content: '-'; }
.faq-page .fq-item summary:hover { color: var(--site-positive); }
.faq-page .fq-answer { max-width: 750px; padding: 0 35px 20px 0; }
.faq-page .fq-answer p { color: var(--site-text-muted); font-size: 13px; line-height: 1.8; }
.faq-page .fq-answer a, .faq-page .fq-empty a { color: var(--site-positive); text-decoration: underline; text-underline-offset: 2px; }
.faq-page .fq-empty { padding: 32px 0; border-top: 1px solid var(--site-border); }
.faq-page .fq-empty h2 { font-size: 22px; }
.faq-page .fq-empty p { margin-top: 8px; color: var(--site-text-muted); font-size: 13px; }
.faq-page .fq-cta { padding: 62px 0; background: var(--site-surface-dark); color: #fff; }
.faq-page .fq-cta-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 70px; align-items: center; }
.faq-page .fq-cta h2 { margin-top: 10px; color: #fff; }
.faq-page .fq-cta p:not(.site-kicker) { max-width: 650px; margin-top: 16px; color: #cbd9ce; font-size: 14px; line-height: 1.75; }
.faq-page .fq-cta-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
@media (max-width: 1000px) {
  .faq-page .fq-intro-grid { gap: 45px; }
  .faq-page .fq-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 38px; }
  .faq-page .fq-cta-grid { gap: 35px; }
}
@media (max-width: 700px) {
  .faq-page .fq-intro { padding: 34px 0 38px; }
  .faq-page .fq-intro-grid, .faq-page .fq-layout, .faq-page .fq-cta-grid { grid-template-columns: 1fr; gap: 0; }
  .faq-page .fq-intro h1 { font-size: 36px; }
  .faq-page .fq-intro-copy { font-size: 15px; }
  .faq-page .fq-intro-actions { gap: 17px; margin-top: 22px; }
  .faq-page .fq-intro .site-text-link { font-size: 12px; }
  .faq-page .fq-intro-aside { display: none; }
  .faq-page .fq-main { padding: 37px 0 51px; }
  .faq-page .fq-topics { position: static; margin-bottom: 25px; }
  .faq-page .fq-topics > .site-kicker { margin-bottom: 12px; }
  .faq-page .fq-topic-links { flex-direction: row; gap: 8px; overflow-x: auto; border-top: 0; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
  .faq-page .fq-topic-links a { flex: none; min-height: 40px; padding: 9px 12px; border: 1px solid var(--site-border); border-radius: 5px; white-space: nowrap; font-size: 11px; }
  .faq-page .fq-topic-links i { width: auto; font-size: 12px; }
  .faq-page .fq-topic-help { display: none; }
  .faq-page .fq-search-wrap { margin-bottom: 23px; }
  .faq-page .fq-group { margin-top: 38px; }
  .faq-page .fq-group-heading { gap: 10px; margin-bottom: 14px; }
  .faq-page .fq-group-heading h2 { font-size: 21px; }
  .faq-page .fq-group-icon { width: 32px; height: 32px; font-size: 14px; }
  .faq-page .fq-item summary { padding: 16px 28px 16px 0; font-size: 14px; }
  .faq-page .fq-item summary::after { top: 15px; }
  .faq-page .fq-answer { padding-right: 14px; padding-bottom: 18px; }
  .faq-page .fq-cta { padding: 47px 0; }
  .faq-page .fq-cta-actions { margin-top: 26px; }
}
