/* LedgerFlow site enhancements */
:root {
  color-scheme: light;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  text-rendering: optimizeLegibility;
}

a,
button,
summary,
input,
textarea,
select {
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid #41b2ff;
  outline-offset: 3px;
}

.btn:focus-visible,
.cta:focus-visible {
  outline: 3px solid #41b2ff;
  outline-offset: 4px;
}

.card,
.hero-card,
.band,
.sample-panel,
.lfd-intro-card,
.lfd-mini,
.lfd-intro-mini,
.stat,
.faq details,
.item {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.card:hover,
.hero-card:hover,
.sample-panel:hover,
.stat:hover,
.item:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(15, 23, 42, .12);
}

input,
textarea,
select {
  width: 100%;
  max-width: 100%;
  font: inherit;
}

textarea {
  min-height: 120px;
}

button,
.btn,
.cta {
  cursor: pointer;
}

.hero-actions .btn,
.actions .btn,
.nav .btn,
.nav .cta {
  min-height: 48px;
}

@media (max-width: 980px) {
  .nav,
  .nav-links,
  .links,
  .hero-actions,
  .actions,
  .footer-row,
  .footer-links {
    row-gap: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behaviour: auto !important;
    animation: none !important;
    transition: none !important;
  }
}
