/* Page-specific motion and native FAQ presentation. Content stays visible without JS. */
.lf-faq details {
  border-bottom-color: #cbdceb;
  padding: 0 24px;
}
.lf-faq summary {
  align-items: center;
  color: var(--navy);
  line-height: 1.5;
  list-style: none;
}
.lf-faq summary::-webkit-details-marker { display: none; }
.lf-faq summary::marker { content: ''; }
.lf-faq summary::after {
  content: '+';
  display: grid;
  place-items: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border: 1px solid #b8d5ea;
  border-radius: 50%;
  color: var(--blue);
  background: #edf6ff;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
}
.lf-faq details[open] > summary::after {
  content: '−';
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}
.lf-faq summary:focus-visible {
  outline: 3px solid #0a78dd;
  outline-offset: 6px;
  border-radius: 4px;
}
.lf-faq details p { padding-right: 52px; }

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .lf-tint .scope-item,
  .lf-steps > li,
  .lf-two-sides article,
  .lf-use-grid > article {
    transition: translate 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
  }
  .lf-tint .scope-item:hover,
  .lf-steps > li:hover,
  .lf-two-sides article:hover {
    translate: 0 -3px;
    border-color: #85bbdf;
    box-shadow: 0 12px 30px #0529550d;
  }
  .lf-use-grid > article:hover { border-color: #2287c6; }
  .lf-photo-scene { transition: transform 600ms cubic-bezier(.2,.7,.2,1); }
  .lf-photo-frame:hover .lf-photo-scene { transform: scale(1.025); }
  .lf-faq summary::after { transition: background-color 180ms ease, color 180ms ease; }
}

@media (max-width: 700px) {
  .lf-faq summary { font-size: 1rem; gap: 16px; }
  .lf-faq details { padding-inline: 18px; }
  .lf-faq details p { padding-right: 0; }
}
