/* FAQ page: align the dedicated page with the homepage FAQ visual language. */
.faq-page .faq17-content { background:#fff; color:#17191a; padding:clamp(64px,8vw,112px) 48px; }
.faq-page .faq17-inner {
  width:min(100%,1360px); margin-inline:auto; display:grid;
  grid-template-columns:minmax(230px,.72fr) minmax(0,1.65fr);
  column-gap:clamp(56px,8vw,120px); align-items:start;
}
.faq-page .faq17-sidebar { position:sticky; top:120px; }
.faq-page .faq17-sidebar__heading { margin-bottom:32px; }
.faq-page .faq17-sidebar__heading .eyebrow {
  margin:0 0 22px; color:#627a39; font-size:14px; font-weight:600; letter-spacing:.12em;
}
.faq-page .faq17-sidebar__heading h2 {
  margin:0; color:#17191a; font-size:clamp(34px,3.2vw,48px);
  font-weight:700; line-height:1.3; letter-spacing:.02em;
}
.faq-page .faq17-category-nav { display:grid; gap:0; }
.faq-page .faq17-category-nav a {
  display:block; padding:16px 12px 16px 0; border-bottom:1px solid #e1e3df;
  color:#333735; font-size:16px; font-weight:500; line-height:1.6;
  text-decoration:none; transition:color .18s ease,padding-left .18s ease;
}
.faq-page .faq17-category-nav a:hover,.faq-page .faq17-category-nav a:focus-visible {
  padding-left:8px; color:#627a39;
}
.faq-page .faq17-groups { min-width:0; }
.faq-page .faq17-group + .faq17-group { margin-top:54px; }
.faq-page .faq17-group > h2 {
  margin:0 0 20px; color:#202321; font-size:22px; font-weight:650; line-height:1.45;
}
.faq-page .faq17-list { border-top:1px solid #d9dcd8; }
.faq-page .faq17-list details { border-bottom:1px solid #d9dcd8; }
.faq-page .faq17-list summary {
  display:grid; grid-template-columns:34px minmax(0,1fr) 28px; align-items:center;
  column-gap:12px; position:relative; min-height:84px; padding:20px 4px 20px 0;
  color:#17191a; cursor:pointer; font-size:18px; font-weight:550; line-height:1.75; list-style:none;
}
.faq-page .faq17-list summary::-webkit-details-marker { display:none; }
.faq-page .faq17-list summary::before {
  content:"Q"; grid-column:1; color:#61745a; font-size:19px; font-weight:650; line-height:1;
}
.faq-page .faq17-index { display:none; }
.faq-page .faq17-list summary > span:not(.faq17-index):not(.faq17-toggle) { grid-column:2; }
.faq-page .faq17-list .faq17-toggle {
  grid-column:3; justify-self:end; color:#708f35; font-size:0; font-weight:400; line-height:1;
}
.faq-page .faq17-list .faq17-toggle::before {
  content:"＋"; display:block; font-size:26px; transition:transform .2s ease;
}
.faq-page .faq17-list details[open] summary { color:#617834; }
.faq-page .faq17-list details[open] .faq17-toggle::before { transform:rotate(45deg); }
.faq-page .faq17-list details > p {
  margin:0; padding:0 40px 24px 46px; color:#4b504c; font-size:16px; line-height:1.95;
}
@media (max-width:800px) {
  .faq-page .faq17-content { padding:56px 24px 72px; }
  .faq-page .faq17-inner { grid-template-columns:minmax(0,1fr); row-gap:38px; }
  .faq-page .faq17-sidebar { position:static; }
  .faq-page .faq17-sidebar__heading { margin-bottom:22px; }
  .faq-page .faq17-sidebar__heading .eyebrow { margin-bottom:12px; }
  .faq-page .faq17-sidebar__heading h2 { font-size:34px; }
  .faq-page .faq17-category-nav { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; }
  .faq-page .faq17-category-nav a { padding-block:12px; font-size:14px; }
  .faq-page .faq17-group + .faq17-group { margin-top:40px; }
  .faq-page .faq17-group > h2 { margin-bottom:14px; font-size:19px; }
  .faq-page .faq17-list summary {
    grid-template-columns:26px minmax(0,1fr) 24px; column-gap:9px;
    min-height:72px; padding-block:16px; font-size:16px;
  }
  .faq-page .faq17-list summary::before { font-size:17px; }
  .faq-page .faq17-list .faq17-toggle::before { font-size:23px; }
  .faq-page .faq17-list details > p { padding:0 30px 20px 35px; font-size:15px; }
}
@media (max-width:420px) {
  .faq-page .faq17-content { padding-inline:18px; }
  .faq-page .faq17-category-nav { column-gap:12px; }
  .faq-page .faq17-category-nav a { font-size:13px; }
}
/* Answers use the existing faq17-answer wrapper. */
.faq-page .faq17-list .faq17-answer {
  padding: 0 40px 24px 46px;
  color: #4b504c;
  font-size: 16px;
  line-height: 1.95;
}
.faq-page .faq17-list .faq17-answer p {
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
.faq-page .faq17-list .faq17-answer p + p { margin-top: 10px; }
@media (max-width: 800px) {
  .faq-page .faq17-list .faq17-answer { padding: 0 30px 20px 35px; font-size: 15px; }
}
/* Match the homepage FAQ rows: plain white surface and a single plus icon. */
.faq-page #faq.faq17-content { background:#fff!important; }
.faq-page #faq .faq17-list details,
.faq-page #faq .faq17-list details[open] {
  margin:0;
  border-radius:0;
  background:#fff!important;
  box-shadow:none!important;
}
.faq-page #faq .faq17-list .faq17-toggle::after {
  content:none!important;
  display:none!important;
}
.faq-page #faq .faq17-list summary::after { content:none!important; }
.faq-page #faq .faq17-list details { border-color:#d9dcd8; }
/* Retune category spacing and the existing mobile !important FAQ rules. */
.faq-page #faq .faq17-group + .faq17-group { margin-top:54px; }
@media (max-width:800px) {
  .faq-page #faq .faq17-group + .faq17-group { margin-top:40px; }
  .faq-page #faq .faq17-list details > summary {
    display:grid!important;
    grid-template-columns:26px minmax(0,1fr) 24px!important;
    align-items:center!important;
    column-gap:9px!important;
    padding:16px 4px 16px 0!important;
  }
  .faq-page #faq .faq17-list details > summary > .faq17-index { display:none!important; }
  .faq-page #faq .faq17-list details > summary > span:not(.faq17-index):not(.faq17-toggle) {
    grid-column:2;
  }
  .faq-page #faq .faq17-list details > summary > .faq17-toggle {
    grid-column:3;
    flex:initial!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    align-self:center!important;
  }
}