@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInScale{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.hero-content{opacity:0;animation:fadeInLeft .8s ease-out .2s forwards}.hero-title{opacity:0;animation:fadeInUp .8s ease-out .4s forwards}.hero-description{opacity:0;animation:fadeInUp .8s ease-out .6s forwards}.hero-buttons{opacity:0;animation:fadeInUp .8s ease-out .8s forwards}.hero-image{opacity:0;animation:fadeInUp 1s cubic-bezier(.22,1,.36,1) .4s forwards}.hero-building{opacity:0;animation:slideInScale 1.2s ease-out .7s forwards}.hero-building-bg{opacity:0;animation:fadeIn 1s ease-out .9s forwards}.rooms-header{opacity:0;animation:fadeInUp .8s ease-out forwards}.room-card{opacity:0;animation:fadeInUp .6s ease-out forwards}.room-card:nth-child(1){animation-delay:.1s}.room-card:nth-child(2){animation-delay:.2s}.room-card:nth-child(3){animation-delay:.3s}.room-card:nth-child(4){animation-delay:.4s}.room-card:nth-child(5){animation-delay:.5s}.room-card:nth-child(6){animation-delay:.6s}.header-animate{opacity:0;animation:fadeInUp .6s ease-out .1s forwards}.hero-building:hover{transform:scale(1.02) rotate(-1deg);transition:transform .3s ease}.room-card:hover{transform:translateY(-8px) scale(1.02);transition:all .3s ease}html{scroll-behavior:smooth}.animate-on-load{opacity:0}.fade-in-observer{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in-observer.visible{opacity:1;transform:translateY(0)}@media(max-width:768px){.hero-content,.hero-image{animation-duration:.6s}.room-card{animation-duration:.5s}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.hero-building .bg-yellow-300\/40{animation:float 3s ease-in-out infinite}.hero-building .bg-yellow-300\/40:nth-child(odd){animation-delay:.5s}.hero-building .bg-yellow-300\/40:nth-child(2n){animation-delay:1s}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #22c55e80}50%{box-shadow:0 0 15px #22c55ecc}}.status-available{animation:pulse-glow 2s ease-in-out infinite}.facility-badge{opacity:0;animation:fadeInUp .4s ease-out forwards}.facility-badge:nth-child(1){animation-delay:.1s}.facility-badge:nth-child(2){animation-delay:.2s}.facility-badge:nth-child(3){animation-delay:.3s}.facility-badge:nth-child(4){animation-delay:.4s}.facility-badge:nth-child(5){animation-delay:.5s}@keyframes bounceRight{0%,20%,50%,80%,to{transform:translate(0)}40%{transform:translate(5px)}60%{transform:translate(3px)}}.room-card:hover .arrow-animate{animation:bounceRight 1s ease-in-out infinite}.room-card:hover .calendar-mini-icon{transform:rotate(5deg) scale(1.1);transition:transform .3s ease}.room-card:hover .room-icon{transform:translate(-5px) translateY(-5px);transition:transform .3s ease}.hero-building:hover .bg-white\/20{background-color:#fff6;transition:background-color .3s ease}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner{animation:spin 1s linear infinite}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-text{background:linear-gradient(-45deg,#ef4444,#dc2626,#b91c1c,#991b1b);background-size:400% 400%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 3s ease infinite}.capacity-highlight{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.hero-building,.room-card,.facility-badge{will-change:transform,opacity}@media(prefers-color-scheme:dark){.gradient-text{background:linear-gradient(-45deg,#fca5a5,#f87171,#ef4444,#dc2626);background-size:400% 400%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}}
