.nav-hero{
  background: rgba(10, 40, 65, 0.92);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.hero-wrap{
  position: relative;
  height: 78vh;
  min-height: 520px;
  overflow: hidden;
}


.hero-video,
.hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(10,40,65,.85) 0%, rgba(10,40,65,.35) 55%, rgba(10,40,65,.10) 100%);
}

.hero-content{
  position: relative;
  height: 100%;
  display:flex;
  align-items:center;
  padding-top: 90px; /* чтобы navbar не перекрывал */
}

.hero-title{
  color:#fff;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
  letter-spacing: .3px;
  line-height: 1.15;
  font-size: clamp(30px, 3.3vw, 52px);
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

.hero-date{
  color:#fff;
  opacity:.95;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 1.8vw, 28px);
  margin-top: 10px;
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

.footer-dark{
  background:#142b3b;
}

.hero-wrap{
  position: relative;
  height: 78vh;
  min-height: 520px;
  overflow: hidden;
}

.active_novigation_hover{
  color: #ffff;
}

/* Carousel full height */
.carousel,
.carousel-inner,
.carousel-item{
  height:100%;
}

/* Background image */
.hero-bg{
  height:100%;
  width:100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Gradient overlay (har slide ustida) */
.hero-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background: linear-gradient(
    90deg,
    rgba(10,40,65,.85) 0%,
    rgba(10,40,65,.35) 55%,
    rgba(10,40,65,.10) 100%
  );
}

/* Text layer */
.hero-content{
  position: absolute;
  inset:0;
  z-index:3;
  display:flex;
  align-items:center;
  padding-top:90px;
}

/* Title */
.hero-title{
  color:#fff;
  font-family: Georgia, "Times New Roman", serif;
  font-weight:600;
  line-height:1.15;
  font-size: clamp(30px, 3.3vw, 52px);
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}

/* Date */
.hero-date{
  color:#fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 1.8vw, 28px);
  margin-top:10px;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}

/* Arrow styling */
.carousel-control-prev-icon,
.carousel-control-next-icon{
  background-color: rgba(0,0,0,0.4);
  border-radius:50%;
  padding:20px;
}


/* ===== Partners: smooth infinite marquee ===== */

.partners-marquee {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding: 10px 0;
}

.partners-track {
  display: flex;
  align-items: center;
  gap: 28px;
  width: max-content;
  will-change: transform;
  animation: partners-scroll 30s linear infinite;
}

.partners-marquee:hover .partners-track {
  animation-play-state: paused;
}

.partner-item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.partner-item a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 12px;
  text-decoration: none;
}

.partner-logo {
  max-height: 70px;
  max-width: 170px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  filter: grayscale(10%);
  opacity: 0.95;
  transition: transform 0.2s ease, opacity 0.2s ease, filter 0.2s ease;
}

.partner-item a:hover .partner-logo {
  transform: scale(1.03);
  opacity: 1;
  filter: grayscale(0%);
}

/* speed control on small screens */
@media (max-width: 576px) {
  .partners-track { animation-duration: 22s; gap: 18px; }
  .partner-logo { max-height: 56px; max-width: 150px; }
}

@keyframes partners-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .partners-track { animation: none; }
}