/* Base */
html { scroll-behavior: smooth; }
body { line-height: 1.6; }

/* Accessibility */
.skip-link {
  position: absolute;
  left: -999px;
  top: 0;
  background: #000;
  color: #fff;
  padding: 8px 12px;
  z-index: 1000;
}
.skip-link:focus { left: 8px; }

/* Branding */
.logo { height: 48px; width: auto; }

/* Hero */
.hero {
  position: relative;
  min-height: 70vh;
  color: #fff;
  background-image: url('../img/Hero.png');
  background-size: cover;
  background-position: center;
}
.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.45), rgba(0,0,0,0.55));
}
.hero .container { position: relative; z-index: 1; }

/* Parallax spacer */
.parallax-bg {
  background-image: url('../img/parallax_bg.png');
  background-attachment: fixed;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; /* scale to full width while covering height */
}
.parallax-header { min-height: 72px; }
.parallax-footer { min-height: 200px; }
.spacer { height: 200px; }

/* Footer */
.footer-bg { background-color: rgba(9,10,46,0.0); position: relative; }

/* Header & Footer overlays for contrast */
.parallax-header::before,
.parallax-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5); /* stronger for readability */
  pointer-events: none;
}
.parallax-header, .parallax-footer { position: relative; }
.parallax-header .navbar-brand, .parallax-header #navbarNav { position: relative; z-index: 1; }

/* Muted background for text sections */
.bg-soft { background-color: #f2f4f8; }

/* Nav link button style (semi-transparent white) */
.btn-nav {
  color: #0d1b2a !important;
  background: rgba(255,255,255,0.85);
  border: 1px solid rgba(255,255,255,0.9);
  border-radius: 999px;
  padding: 6px 14px;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
.home-link { color: #fff !important; opacity: 0.9; }
.home-link:hover, .home-link:focus { color: #fff !important; opacity: 1; text-decoration: underline; }
.navbar-nav { gap: 8px; }
.navbar-nav .nav-item + .nav-item { margin-left: 8px; }
.btn-nav:hover, .btn-nav:focus {
  color: #000 !important;
  background: #ffffff;
  box-shadow: 0 0.25rem 0.75rem rgba(0,0,0,0.15);
  text-decoration: none;
}
.navbar-dark .navbar-toggler {
  border-color: rgba(255,255,255,0.6);
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Responsive tweaks */
@media (max-width: 767.98px) {
  .hero { min-height: 60vh; }
  .logo { height: 40px; }
  /* Disable fixed background on mobile for performance */
  .parallax-bg { background-attachment: scroll; }
}
