/* FAQ page */
.keyfacts {
  display:grid;
  gap:var(--space-3);
}
.kf {
  padding:var(--space-5) var(--space-5) 18px;
  background:var(--color-white);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
}
.kf b {
  display:block;
  font-family:var(--font-heading);
  font-size:var(--fs-34);
  line-height:1;
  font-weight:600;
  color:var(--color-primary);
}
.kf strong {
  display:block;
  font-size:var(--font-size-md);
  line-height:1.3;
  color:var(--color-text);
  margin-top:var(--space-2);
}
.kf span {
  display:block;
  font-size:var(--fs-15);
  color:var(--color-muted);
  margin-top:3px;
}
.faq-layout {
  display:grid;
  gap:28px;
}
.faq-side {
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-2);
}
.faq-side a {
  display:inline-flex;
  align-items:center;
  min-height:var(--tap-size);
  padding:0 14px;
  border-radius:var(--radius-lg);
  border:1px solid var(--color-border-strong);
  background:var(--color-white);
  font-size:var(--font-size-sm);
  font-weight:600;
  color:var(--color-primary);
  text-decoration:none;
}
.faq-side a:hover {
  border-color:var(--color-primary);
}
.faq-side .lab {
  display:none;
}
.fgroup {
  scroll-margin-top:92px;
  padding:0 0 var(--space-10);
}
.fgroup h2 {
  font-family:var(--font-heading);
  font-weight:600;
  font-size:var(--fs-30);
  line-height:1.1;
  letter-spacing:-.015em;
  color:var(--color-text);
  margin-bottom:6px;
}
.fgroup .fg-d {
  font-size:var(--fs-16);
  color:var(--color-muted);
  margin-bottom:14px;
}
.faqp details {
  border-bottom:1px solid var(--color-border-2);
}
.faqp details:first-of-type {
  border-top:1px solid var(--color-border-2);
}
.faqp summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--space-4);
  min-height:60px;
  padding:14px 0;
  font-size:var(--fs-18);
  font-weight:600;
  line-height:1.3;
  color:var(--color-text);
}
.faqp summary::-webkit-details-marker {
  display:none;
}
.faqp summary::after {
  content:"+";
  flex:none;
  font-size:var(--fs-26);
  font-weight:400;
  line-height:1;
  color:var(--color-accent);
}
.faqp details[open] summary::after {
  content:"\2013";
}
.faqp .ans {
  padding:0 0 var(--space-5);
  font-size:var(--fs-16_5);
  color:var(--color-text-mid);
  max-width:720px;
}
.faqp .ans p+p {
  margin-top:10px;
}
.faqp summary:focus-visible {
  outline:3px solid var(--shadow-tint);
  outline-offset:2px;
  border-radius:var(--radius-sm);
}
@media (min-width:860px){
  .keyfacts {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:var(--space-5);
  }
  .faq-layout {
    grid-template-columns:260px minmax(0,1fr);
    gap:var(--space-18);
    align-items:start;
  }
  .faq-side {
    position:sticky;
    top:var(--sticky-offset);
    flex-direction:column;
    flex-wrap:nowrap;
    gap:2px;
  }
  .faq-side .lab {
    display:block;
    font-size:var(--fs-12_5);
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--color-muted);
    margin-bottom:var(--space-2);
  }
  .faq-side a {
    border:0;
    background:none;
    border-left:2px solid var(--color-border);
    border-radius:0;
    padding:0 var(--space-4);
    min-height:42px;
  }
  .faq-side a:hover {
    border-left-color:var(--color-accent);
    color:var(--color-accent);
  }
  .fgroup h2 {
    font-size:var(--fs-38);
  }
  .kf {
    padding:26px var(--space-6);
  }
}
