/* No blue tap flash on phones */
html { -webkit-tap-highlight-color: transparent; }
*, *::before, *::after { -webkit-tap-highlight-color: transparent; }

/* ============================================================================
   FAQs — title left, accordion right (native <details>, so it works without
   JS and is keyboard/screen-reader friendly). Shared by the homepage and the
   pricing page (markup: views/partials/faq-section.ejs). Self-contained: no
   page tokens, so any page can load it.
   ========================================================================== */
.lp3-faq { padding: 120px 64px; background: #0a0a0a; }
.lp3-faq-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 680px);
  gap: 64px;
  max-width: 1248px;
  margin: 0 auto;
}
.lp3-faq-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--h2);
  line-height: var(--h2-lh);
  max-width: 420px;
  color: #fff;
}
.lp3-faq-item { border-bottom: 1px solid rgba(255, 255, 255, 0.16); }
.lp3-faq-item summary {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: var(--lead);
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 0;
  list-style: none;
  cursor: pointer;
  color: #fff;
}
.lp3-faq-item summary::-webkit-details-marker { display: none; }
.lp3-faq-item summary:hover span { color: #ffd9b0; }
.lp3-faq-item summary span { transition: color .15s ease; }
.lp3-faq-item summary:focus-visible { outline: 2px solid #FF5900; outline-offset: 4px; border-radius: 4px; }
.lp3-faq-plus { position: relative; flex-shrink: 0; width: 16px; height: 16px; opacity: .55; transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1), opacity .2s ease; }
.lp3-faq-plus::before, .lp3-faq-plus::after { content: ''; position: absolute; background: #fff; border-radius: 1px; }
.lp3-faq-plus::before { left: 0; right: 0; top: 50%; height: 1.5px; transform: translateY(-50%); }
.lp3-faq-plus::after { top: 0; bottom: 0; left: 50%; width: 1.5px; transform: translateX(-50%); }
.lp3-faq-item[open] .lp3-faq-plus { transform: rotate(45deg); opacity: 1; }
.lp3-faq-answer {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--body);
  line-height: var(--body-lh);
  max-width: 600px;
  padding: 0 40px 24px 0;
  color: rgba(255, 247, 239, 0.66);
}
/* Smooth open/close where the browser supports animating <details>. */
@supports (interpolate-size: allow-keywords) {
  .lp3-faq-item { interpolate-size: allow-keywords; }
  .lp3-faq-item::details-content { height: 0; overflow: clip; transition: height .3s cubic-bezier(0.4, 0, 0.2, 1), content-visibility .3s allow-discrete; }
  .lp3-faq-item[open]::details-content { height: auto; }
}
@media (max-width: 1023px) {
  .lp3-faq-inner { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 767px) {
  .lp3-faq { padding: 64px 16px; }
  .lp3-faq-item summary { padding: 18px 0; }
  .lp3-faq-answer { padding-right: 0; }
}

.lp3-faq :is(h2, p) { margin: 0; letter-spacing: normal; }
