.page-container{min-height:100vh;opacity:0;margin-top:9.5%;animation:fadeInPage 1s ease-out forwards}@keyframes fadeInPage{to{opacity:1}}.hero-section{position:relative;height:50vh;overflow:hidden;perspective:1000px}.hero-background{position:absolute;inset:0;background-size:cover;background-position:50%;transform:scale(1.1) rotateX(5deg);transition:transform .8s cubic-bezier(.4,0,.2,1);filter:brightness(.9)}.hero-section:hover .hero-background{transform:scale(1) rotateX(0);filter:brightness(1)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(45deg,rgba(0,0,0,.7),rgba(0,0,0,.3))}.hero-content{position:absolute;inset:0;display:flex;justify-content:center;z-index:1;top:15%}.hero-title{color:white;font-size:3rem;font-weight:800;letter-spacing:2rem;text-shadow:2px 2px 8px rgba(0,0,0,.3);transform-style:preserve-3d;transition:all .5s cubic-bezier(.4,0,.2,1)}.hero-title:hover{transform:translateZ(50px);letter-spacing:3rem;text-shadow:4px 4px 12px rgba(0,0,0,.5)}.events-container{max-width:1400px;margin:0 auto;padding:6rem 2rem;perspective:1000px}.no-events{text-align:center;padding:5rem 0;font-size:1.5rem;color:var(--secondary-text);animation:slideUp .6s ease-out}.events-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));grid-gap:3rem;gap:3rem;opacity:0;animation:fadeIn .8s ease-out forwards;animation-delay:.3s;padding:0 10%}.event-card{background:rgba(255,255,255,.9);border-radius:1rem;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.1);transition:all .5s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.event-card:hover{transform:translateY(-10px) rotateX(5deg);box-shadow:0 20px 40px rgba(0,0,0,.1)}.event-image-container{position:relative;padding-bottom:65%;overflow:hidden}.event-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.event-card:hover .event-overlay{opacity:1}.event-content{padding:.5rem;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,1));transform:translateY(0);transition:transform .5s ease}.event-title{font-size:1.75rem;font-weight:700;color:var(--text-color);margin-bottom:.5rem;position:relative}.event-title:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--primary-color);transition:width .3s ease}.event-card:hover .event-title:after{width:100px}.event-details{display:flex;flex-direction:column;gap:1rem}.event-detail{display:flex;align-items:center;transition:transform .3s ease}.event-detail,.icon{color:var(--secondary-text)}.icon{width:1rem;height:1rem;margin-right:.5rem;transition:all .3s ease}.event-detail:hover{transform:translateX(10px);color:var(--primary-color)}.event-detail:hover .icon{transform:scale(1.2)}.event-button{width:100%;padding:1rem;background-color:var(--primary-color);color:white;border:none;border-radius:.75rem;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.event-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.2);border-radius:50%;transform:translate(-50%,-50%)}.event-button:hover{background-color:var(--primary-color-dark)}.event-button:hover:before{width:200%;height:200%;transition:width .5s,height .5s}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .8s ease-out forwards}@keyframes heroTitle{0%{letter-spacing:.5rem;opacity:0}to{letter-spacing:2rem;opacity:1}}@media (max-width:1024px){.hero-title{font-size:2.5rem;letter-spacing:1.5rem}.events-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}}@media (max-width:768px){.hero-section{height:40vh}.page-container{margin-top:8%}.hero-title{font-size:2rem;letter-spacing:1rem}.events-container{padding:4rem 1rem}.events-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;padding:0 5%}}@media (max-width:480px){.hero-title{font-size:1.5rem;letter-spacing:.8rem}.event-content{padding:.3rem}.event-title{font-size:1.2rem}.event-button{font-size:.9rem;padding:.7rem}.hero-content{top:20%}.events-grid{gap:1rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}