:root{--nav-height: 90px;--sawtooth-bg: black;--sawtooth-size: 10px}html,body{margin:0;padding:0;width:100%;overflow-x:hidden;position:relative}html{scroll-padding-top:var(--nav-height)}.bg-noise{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:40;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}@keyframes heroBreathe{0%{transform:scale(1.05)}50%{transform:scale(1.1)}to{transform:scale(1.05)}}.hero-breathe{animation:heroBreathe 20s ease-in-out infinite}@keyframes shimmer{0%,80%{left:-100%}to{left:200%}}.btn-shimmer{position:relative;overflow:hidden}.btn-shimmer:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,transparent,rgba(255,255,255,.3),transparent);transform:skew(-25deg);animation:shimmer 8s infinite}.shimmer-text{background:linear-gradient(90deg,#111,#a68212,#111);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:background-position 1.5s ease;background-position:100% center}.shimmer-text.active{background-position:0% center}@keyframes softPulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:1}}.quote-pulse{animation:softPulse 4s ease-in-out infinite}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-marquee{animation:marquee 40s linear infinite;will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased}.animate-marquee-reverse{animation:marquee 40s linear infinite reverse;will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased}@keyframes float{0%{transform:translate(0)}33%{transform:translate(30px,-50px)}66%{transform:translate(-20px,20px)}to{transform:translate(0)}}.animate-float{animation:float 10s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .8s ease-out forwards}.reveal-base{opacity:0;transform:translateY(30px);transition:all 1.2s cubic-bezier(.2,1,.3,1)}.reveal-active{opacity:1;transform:translateY(0)}
