.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease-out,transform .7s ease-out}
.js [data-reveal].is-visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion: reduce){
  .js [data-reveal]{opacity:1;transform:none;transition:none}
}

/* ApexCharts tooltip refinements */
.apexcharts-tooltip{border:1px solid rgba(15,23,42,0.08) !important;border-radius:12px !important;box-shadow:0 12px 32px -8px rgba(15,23,42,0.18) !important;background:#ffffff !important;color:#0f172a !important;padding:8px 10px !important;font-family:Inter,system-ui,sans-serif !important;backdrop-filter:saturate(140%) blur(6px)}
.apexcharts-tooltip-title{background:transparent !important;border-bottom:1px solid rgba(15,23,42,0.06) !important;font-weight:600 !important;padding:4px 6px 8px !important;margin-bottom:4px !important;color:#0f172a !important;font-family:Inter,system-ui,sans-serif !important;font-size:12px !important;letter-spacing:-0.005em}
.apexcharts-tooltip-series-group{padding:4px 6px !important}
.apexcharts-tooltip-marker{width:8px !important;height:8px !important;margin-right:8px !important}
.apexcharts-tooltip-text-y-label,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value{font-family:Inter,system-ui,sans-serif !important;font-size:12px !important;line-height:1.4 !important;color:#475569 !important}
.apexcharts-tooltip-text-y-value{color:#0f172a !important;font-weight:600 !important}
.apexcharts-xaxistooltip,.apexcharts-yaxistooltip{display:none !important}

/* Optional utility: subtle dot grid background */
.dot-grid{
  background-image: radial-gradient(rgba(13,27,42,0.12) 1px, transparent 1px);
  background-size: 18px 18px;
  background-position: 0 0;
}

/* Glass effect utility */
.glass-card{background:rgba(255,255,255,0.55);backdrop-filter:saturate(160%) blur(14px);border:1px solid rgba(255,255,255,0.35);border-radius:1.5rem;box-shadow:0 20px 50px -12px rgba(15,23,42,0.18)}

/* Focus outline helper for keyboard navigation on custom elements */
.focus-outline:focus-visible{outline:2px solid #16A34A;outline-offset:2px}

/* Edge-fade mask utility for horizontal marquees */
.edge-fade-mask{mask-image:linear-gradient(to right, transparent, black 8%, black 92%, transparent)}