/* Native Rails behavior for the supplied website design. */
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; }
.website-dialog { margin: auto; color: #0b1f14; }
.website-dialog::backdrop { background: rgba(15, 23, 42, .6); backdrop-filter: blur(4px); }
.website-dialog[open] { margin: auto; }
.website-flash { position: fixed; top: 88px; left: 50%; transform: translateX(-50%); z-index: 1300; width: min(90%, 640px); padding: 16px; border-radius: 16px; border: 1px solid #86efac; background: #f0fdf4; color: #14532d; }
[data-nav-link][aria-current="page"] { color: #16a34a; border-bottom: 2px solid #16a34a; }
[data-website-select], [data-website-filter-select] { cursor: pointer; }
[data-website-select][aria-pressed="false"], [data-website-filter-select][aria-pressed="false"] { color: #4b5563 !important; background-color: #f8faf9 !important; border-color: #e2e8f0 !important; box-shadow: none !important; }
[data-website-select][aria-pressed="true"], [data-website-filter-select][aria-pressed="true"] { color: #15803d !important; background-color: #f0fdf4 !important; border-color: #16a34a !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #15803d; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
.website-header { position: fixed; top: 0; left: 0; right: 0; height: 72px; z-index: 1000; background: rgba(255,255,255,.6); border-bottom: 1px solid rgba(11,31,20,.06); backdrop-filter: blur(24px) saturate(1.4); transition: all 300ms cubic-bezier(.4,0,.2,1); }
.website-header.is-scrolled { background: rgba(255,255,255,.9); box-shadow: 0 4px 20px rgba(11,31,20,.05); }
.website-header-inner { display: flex; height: 72px; align-items: center; justify-content: space-between; gap: 24px; }
.website-logo { display: flex; align-items: center; flex-shrink: 0; }
.website-logo img { height: 44px; width: auto; object-fit: contain; }
.website-desktop-nav { display: flex; align-items: center; gap: 32px; font-size: 15px; font-weight: 500; }
.website-desktop-nav a { padding: 8px 0; }
.website-desktop-nav a:hover { color: #16a34a; }
.website-desktop-actions { display: flex; align-items: center; gap: 16px; }
.website-login-button { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; cursor: pointer; }
.website-demo-button { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: 11px 26px; background: #16a34a; color: white; font-size: 14px; font-weight: 700; box-shadow: 0 4px 10px #16a34a33; }
.website-demo-button:hover { background: #15803d; }
.website-desktop-actions .website-demo-button { gap: 8px; box-shadow: 0 4px 6px -1px rgba(22,163,74,.2), 0 2px 4px -2px rgba(22,163,74,.2); transition: background-color 200ms, box-shadow 200ms, transform 200ms; }
.website-desktop-actions .website-demo-button:hover { box-shadow: 0 10px 15px -3px rgba(22,163,74,.3), 0 4px 6px -4px rgba(22,163,74,.3); transform: translateY(-2px); }
.website-mobile-actions { display: none; align-items: center; gap: 8px; }
.website-menu-button { display: flex; padding: 8px; border: 1px solid #e2e8f0; border-radius: 8px; background: white; cursor: pointer; }
#website-mobile-menu { position: fixed; top: 72px; left: 0; right: 0; bottom: 0; padding: 28px 24px; background: white; overflow-y: auto; }
#website-mobile-menu > a:not(.website-demo-button) { display: block; padding: 12px 0; border-bottom: 1px solid #f1f5f9; font-size: 18px; font-weight: 700; }
.website-mobile-login { display: block; width: 100%; padding: 14px; margin: 24px 0; border: 1px solid #e2e8f0; border-radius: 12px; font-weight: 600; cursor: pointer; }
@media (max-width: 767px) {
  .website-desktop-nav, .website-desktop-actions { display: none; }
  .website-mobile-actions { display: flex; }
  .website-mobile-actions .website-demo-button { font-size: 12px; padding: 7px 14px; }
}

.website-faq:not([open]) summary { background: white; }
.website-faq:not([open]) summary span { color: #0b1f14; }
.website-faq[open] summary { background: rgba(240, 253, 244, .8); }
.website-faq[open] summary span { color: #15803d; }
