:root{--bg-color: #fcfcfd;--primary: #4f46e5;--accent: #d9f99d;--midnight: #020617}body{font-family:Plus Jakarta Sans,sans-serif;background-color:var(--bg-color);color:var(--midnight);-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;opacity:.04;z-index:9999;background-image:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none}h1,h2,h3,.font-heading{font-family:Space Grotesk,sans-serif;letter-spacing:-.04em}.text-outline{-webkit-text-stroke:1.5px var(--midnight);color:transparent}.ticket-border{border:2px solid #f1f5f9;position:relative;background:#fff}.ticket-border:before,.ticket-border:after{content:"";position:absolute;width:24px;height:24px;background:var(--bg-color);border:2px solid #f1f5f9;border-radius:50%;top:50%;transform:translateY(-50%);z-index:10}.ticket-border:before{left:-14px}.ticket-border:after{right:-14px}.dashed-line{background-image:linear-gradient(to right,#e2e8f0 50%,transparent 50%);background-position:bottom;background-size:8px 1px;background-repeat:repeat-x}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@keyframes revealUp{0%{opacity:0;transform:translateY(40px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-reveal{animation:revealUp .8s cubic-bezier(.16,1,.3,1) forwards}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}html{scroll-behavior:smooth}body{scrollbar-gutter:stable}::selection{background-color:var(--primary);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#4f46e5cc}*{scrollbar-color:var(--primary) transparent;scrollbar-width:thin}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}button,a{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea,select{-webkit-user-select:text;user-select:text}@media(max-width:640px){body{font-size:16px}html,body{width:100%;max-width:100%;overflow-x:hidden}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fadeIn{animation:fadeIn .2s ease-out forwards}
