/* LotThread landing page - base styles and keyframes.
   (Ported from the original design's <helmet> <style> block.
   Component-level styling lives inline on the elements, matching the source.) */

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #F7F8F5; }
a { color: #123C2B; text-decoration: none; }
a:hover { color: #2f8f5b; }
::selection { background: #77E6A1; color: #111814; }

@keyframes ltNode {
  0%, 22%, 100% { box-shadow: 0 1px 2px rgba(17,24,20,.06); border-color: #DDE3DF; }
  9% { box-shadow: 0 0 0 3px rgba(119,230,161,.22), 0 8px 18px rgba(80,200,120,.18); border-color: #50C878; }
}
@keyframes ltSpark {
  0% { top: -12%; opacity: 0; }
  12% { opacity: 1; }
  88% { opacity: 1; }
  100% { top: 104%; opacity: 0; }
}
@keyframes ltTraced {
  0%, 68% { opacity: .4; transform: scale(.97); }
  82% { opacity: 1; transform: scale(1.04); box-shadow: 0 0 0 5px rgba(119,230,161,.22); }
  100% { opacity: 1; transform: scale(1); box-shadow: 0 6px 18px rgba(80,200,120,.2); }
}
@keyframes ltPop {
  from { opacity: 0; transform: translateY(10px) scale(.98); }
  to { opacity: 1; transform: none; }
}
@keyframes ltDash { to { stroke-dashoffset: 0; } }
@keyframes ltFloatGrid { from { background-position: 0 0; } to { background-position: 0 -48px; } }

details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details [data-faq-chev] { transition: transform .2s ease; }
details[open] [data-faq-chev] { transform: rotate(45deg); }
