body.css-loaded{opacity:1}.hero-background.ready,.hero-bg-img.loaded,.page-loaded .hero-background,.page-loaded .hero-bg-img{opacity:1!important}.main-content.ready{visibility:visible}.gallery-grid.ready{display:grid}.menu-items.ready{display:block}.page-loading .main-content{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.4, 0, .2, 1),transform .8s cubic-bezier(.4, 0, .2, 1)}.page-loaded .main-content{opacity:1;transform:translateY(0);visibility:visible}.header{opacity:1;transform:none;transition:none}.page-loading-indicator{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:.6}50%{opacity:1}}@keyframes skeleton-pulse{0%{background-color:#f0f0f0}50%{background-color:#e0e0e0}100%{background-color:#f0f0f0}}.skeleton{animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:4px;background-color:#f0f0f0}.skeleton-hero{height:60vh;min-height:400px;margin-bottom:2rem;border-radius:8px}.skeleton-text{height:1.2em;margin-bottom:.5em;border-radius:3px}.skeleton-text.short{width:60%}.skeleton-text.medium{width:80%}.skeleton-text.long{width:95%}.skeleton-menu-item{display:flex;align-items:center;padding:1rem;margin-bottom:1rem;border-radius:8px;background-color:transparent}.skeleton-menu-image{width:80px;height:80px;border-radius:8px;margin-right:1rem;flex-shrink:0}.skeleton-menu-content{flex:1}.skeleton-menu-title{height:1.4em;width:70%;margin-bottom:.5rem}.skeleton-menu-description{height:1em;width:90%;margin-bottom:.3rem}.skeleton-menu-price{height:1.2em;width:40%}.content-section{opacity:0;transform:translateY(30px);transition:opacity .6s cubic-bezier(.4, 0, .2, 1) var(--delay, 0s),transform .6s cubic-bezier(.4, 0, .2, 1) var(--delay, 0s)}.content-section.revealed{opacity:1;transform:translateY(0)}.hero-section{--delay:0.1s}.about-section{--delay:0.3s}.menu-section{--delay:0.5s}.events-section{--delay:0.7s}.contact-section{--delay:0.9s}img{opacity:0;transition:opacity .5s cubic-bezier(.4, 0, .2, 1)}img.loaded{opacity:1}.hero img{transition:opacity .8s cubic-bezier(.4, 0, .2, 1),transform .8s cubic-bezier(.4, 0, .2, 1);transform:scale(1.05)}.hero img.loaded{transform:scale(1)}.nav-menu li{opacity:0;transform:translateY(-10px);transition:opacity .4s cubic-bezier(.4, 0, .2, 1) var(--nav-delay, 0s),transform .4s cubic-bezier(.4, 0, .2, 1) var(--nav-delay, 0s)}.nav-loaded .nav-menu li{opacity:1;transform:translateY(0)}.nav-menu li:first-child{--nav-delay:0.1s}.nav-menu li:nth-child(2){--nav-delay:0.2s}.nav-menu li:nth-child(3){--nav-delay:0.3s}.nav-menu li:nth-child(4){--nav-delay:0.4s}.nav-menu li:nth-child(5){--nav-delay:0.5s}.nav-menu li:nth-child(6){--nav-delay:0.6s}.btn{opacity:.7;transform:translateY(5px);transition:all .4s cubic-bezier(.4, 0, .2, 1)}.page-loaded .btn{opacity:1;transform:translateY(0)}.form-group{opacity:0;transform:translateX(-20px);transition:opacity .5s cubic-bezier(.4, 0, .2, 1) var(--form-delay, 0s),transform .5s cubic-bezier(.4, 0, .2, 1) var(--form-delay, 0s)}.form-loaded .form-group{opacity:1;transform:translateX(0)}.form-group:first-child{--form-delay:0.1s}.form-group:nth-child(2){--form-delay:0.2s}.form-group:nth-child(3){--form-delay:0.3s}.content-section,.form-group,.nav-menu li,img{will-change:opacity,transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.rooster-mascot-img{animation:float 3s ease-in-out infinite!important;will-change:transform}@media (prefers-reduced-motion:reduce){.btn,.content-section,.form-group,.nav-menu li,img{transition:none;animation:none;transform:none}.rooster-mascot-img{animation:float-subtle 4s ease-in-out infinite!important}.skeleton{animation:none;background-color:#f0f0f0}}@keyframes float-subtle{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-width:768px){.content-section{transition-duration:.4s}.nav-menu li{transition-duration:.3s}.main-content{transform:translateY(10px);margin:0}.content-section{transform:translateY(15px)}}.loading-state[aria-busy=true]::after{content:"Loading content...";position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.page-loading :focus{outline:0}.page-loaded :focus{outline:2px solid var(--accent-gold,#d4af37);outline-offset:2px}