/* Critical CSS - Above the fold styles */
*{box-sizing:border-box}
body{background-color:#f8f9fa;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;padding-top:56px}
.navbar{position:fixed;top:0;width:100%;z-index:1000;background-color:#212529;padding:0 0.6rem;display:flex;align-items:center;height:56px}
.navbar .container{display:flex;align-items:center}
.navbar-brand,.nav-link{color:white!important;font-size:0.8rem}
.navbar-toggler{outline:2px solid transparent}
.navbar-toggler:focus{outline:2px solid #ffc107; outline-offset:2px}
.nav-link:hover{color:#ffc107!important}
.navbar-brand{font-size:0.9rem}
/* Removed margin-top on .container; global body padding handles spacing below fixed navbar */
.carousel-caption.top-caption{top:0;bottom:auto;left:0;right:0;padding:1rem;margin-top:80px;background-color:rgba(0,0,0,.6);text-align:center;border-radius:0 0 10px 10px}
@media (max-width:768px){.carousel-caption{display:block!important;font-size:14px}.carousel-caption h5{font-size:16px}.carousel-caption p{font-size:13px}}
/* Reserve height for marquee elements to avoid CLS */
.marquee-fixed{display:block;height:32px;line-height:32px;overflow:hidden;white-space:nowrap}
/* Reserve height for cards to avoid reflow when images load */
.card .card-img-top{aspect-ratio:16/9;height:auto}
@media (max-width:768px){body{padding-top:56px}}
/* Ensure collapsed menu has navbar background on mobile/tablet */
@media (max-width:992px){
  .navbar{padding-left:0; padding-right:0}
  .navbar > .container{padding-left:0; padding-right:0; max-width:100%}
  .navbar .navbar-collapse{background-color:#212529 !important; padding-left:0 !important; padding-right:0 !important; margin:0}
  .navbar .navbar-nav{margin-left:0; margin-right:0; padding-left:0; padding-right:0}
  .navbar .nav-link{display:block; padding-left:1rem; padding-right:1rem}
}
