/* Shared FAQ component for the national, city and future content pages. */
.sf-faq {
  --sf-faq-green:var(--sf-shell-green,#67b346);
  --sf-faq-muted:#696c69;
  --sf-faq-border:#e7e7e7;
  display:grid;
  grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);
  gap:68px;
  padding-top:7px;
  color:#474646;
  font-family:Onest,Arial,sans-serif;
}
.city-is-open .sf-faq { margin-top:76px; }
.sf-faq .sf-faq__eyebrow {
  margin:0 0 12px;
  color:var(--sf-faq-green);
  font-size:13px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sf-faq h2 {
  max-width:760px;
  margin:0;
  font-size:42px;
  font-weight:500;
  line-height:1.08;
  letter-spacing:-1.5px;
}
.sf-faq .sf-faq__lead {
  margin:19px 0 0;
  color:var(--sf-faq-muted);
  font-size:15px;
  line-height:1.6;
}
.sf-faq__phone {
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  margin-top:18px;
  color:var(--sf-faq-green);
  font-size:17px;
  font-weight:500;
  text-decoration:none;
}
.sf-faq__phone .icon { width:19px; height:19px; }
.sf-faq__list { min-width:0; border-top:1px solid var(--sf-faq-border); }
.sf-faq__list details { border-bottom:1px solid var(--sf-faq-border); }
.sf-faq__list summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:68px;
  cursor:pointer;
  list-style:none;
  font-size:16px;
  font-weight:500;
}
.sf-faq__list summary::-webkit-details-marker { display:none; }
.sf-faq__list summary .icon {
  flex:none;
  width:18px;
  height:18px;
  color:var(--sf-faq-muted);
  transition:transform 180ms;
}
.sf-faq__list details[open] summary .icon { transform:rotate(180deg); }
.sf-faq__list details p {
  max-width:680px;
  margin:0;
  padding:0 44px 19px 0;
  color:var(--sf-faq-muted);
  font-size:15px;
  line-height:1.6;
}
.sf-faq__list details p a {
  color:var(--sf-faq-green);
  text-decoration:underline;
  text-decoration-color:#bfcdb9;
  text-underline-offset:3px;
}
.sf-faq__list details p a:hover { text-decoration-color:currentColor; }
.sf-faq :is(a,summary):focus-visible { outline:2px solid var(--sf-faq-green); outline-offset:3px; }
@media (max-width:880px) {
  .sf-faq { grid-template-columns:1fr; gap:34px; }
  .sf-faq h2 { font-size:34px; }
}
@media (max-width:760px) {
  .city-is-open .sf-faq { margin-top:56px; }
}
@media (max-width:640px) {
  .sf-faq h2 { font-size:30px; letter-spacing:-.8px; }
}
@media (prefers-reduced-motion:reduce) {
  .sf-faq__list summary .icon { transition:none; }
}
