*, *::before, *::after { box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; }
::selection { background: #bfdbfe; color: #1e3a8a; }
.dark ::selection { background: #1d4ed8; color: #fff; }

html.reveal-ready .reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1); }
html.reveal-ready .reveal.in { opacity: 1; transform: none; }
.reveal[data-delay="1"] { transition-delay: .07s; }
.reveal[data-delay="2"] { transition-delay: .14s; }
.reveal[data-delay="3"] { transition-delay: .21s; }

input[type=range] { -webkit-appearance: none; appearance: none; height: 6px; border-radius: 9999px; outline: none; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #2563eb; cursor: pointer; border: 4px solid #fff; box-shadow: 0 2px 8px rgba(37,99,235,.5); transition: transform .15s; }
input[type=range]::-webkit-slider-thumb:hover { transform: scale(1.15); }
.dark input[type=range]::-webkit-slider-thumb { border-color: #0f172a; }

.faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.reduce-motion .reveal { transition: none !important; opacity: 1 !important; transform: none !important; }

@keyframes tb-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee-track { display: flex; width: max-content; animation: tb-marquee 30s linear infinite; }
.marquee-mask:hover .marquee-track { animation-play-state: paused; }
.reduce-motion .marquee-track { animation: none; }
@keyframes tb-blink { 50% { opacity: 0; } }
.ai-cursor { animation: tb-blink 1s steps(1) infinite; }
