/* Dodatkowe style */
body {
    font-family: 'Inter', sans-serif;
    color: #374151; /* gray-700 */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: #F3F4F6; /* Changed background to a lighter gray */
}
.font-serif {
    font-family: 'DM Serif Display', serif;
}
.scroll-animation {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.scroll-animation.visible {
    opacity: 1;
    transform: translateY(0);
}
.section-padding {
    padding: 5rem 1.5rem;
}
@media (min-width: 1024px) {
    .section-padding {
        padding: 8rem 2rem;
    }
}
/* Poprawka dla linków-kotwic przy stałym nagłówku */
section[id] {
    scroll-margin-top: 80px;
}

.subtle-lines-bg {
    position: relative;
    overflow: hidden;
}
.subtle-lines-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-1,1 l22,-22' stroke='%23ED1C24' stroke-width='0.5' stroke-opacity='0.1'%3E%3C/path%3E%3C/svg%3E");
}
.subtle-lines-bg > * {
    position: relative;
    z-index: 1;
}
/* Style dla przełącznika języka */
.lang-switcher button.active {
    color: #ED1C24;
    font-weight: 700;
}

/* Animacja Fade-in dla sekcji Hero */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
    opacity: 0;
}
.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }

/* Hero timelapse */
.hero-section {
  position: relative;
  height: 80vh; /* Wysokość sekcji - 80% okna przeglądarki */
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
}

.video-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1; /* Wideo ląduje pod tekstem */
}

.hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Działa jak background-size: cover */
}

/* Nakładka przyciemniająca (Overlay) - sprawi, że biały tekst będzie czytelny */
.hero-section::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4); /* 40% przyciemnienia */
  z-index: 0;
}

.hero-content {
  position: relative;
  z-index: 1;
  padding: 20px;
}

.hero-content h1 {
  font-size: 3rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
  font-weight: bold;
}