*, *::before, *::after { box-sizing: border-box; margin: 0; }
html, body { margin: 0; }
ul, ol { padding-left: 0; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 0.75rem; }
.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }
.mt-8 { margin-top: 2rem; }
.max-w-2xl { max-width: 42rem; }
.max-w-4xl { max-width: 56rem; }
.w-full { width: 100%; }
.border-2 { border-width: 2px; border-style: solid; }
.rounded-none { border-radius: 0; }
.rounded-full { border-radius: 9999px; }
.fixed { position: fixed; }
.flex { display: flex; }
.justify-center { justify-content: center; }
.items-center { align-items: center; }
.gap-3 { gap: 0.75rem; }
.hidden { display: none; }
.cursor-pointer { cursor: pointer; }
.text-right { text-align: right; }
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.font-semibold { font-weight: 600; }
.uppercase { text-transform: uppercase; }
.tracking-wider { letter-spacing: 0.05em; }
.font-sans { font-family: "Roboto", "Helvetica Neue", Arial, "Noto Sans", sans-serif; }
.font-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
.text-white { color: #ffffff; }
.text-slate-900 { color: #0f172a; }
.bg-white { background-color: #ffffff; }
.bg-slate-900 { background-color: #0f172a; }
.border-black { border-color: #000000; }
.min-h-screen { min-height: 100vh; }
.pointer-events-none { pointer-events: none; }
.w-12 { width: 3rem; }
.w-20 { width: 5rem; }
.font-medium { font-weight: 500; }
.leading-tight { line-height: 1.25; }
.shadow-2xl { box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); }
.z-20 { z-index: 20; }
.relative { position: relative; }
.left-0 { left: 0; }
.right-0 { right: 0; }
.appearance-none { appearance: none; }
.py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.text-black { color: #000000; }