/* Hero section full-viewport background with centered text and form pinned to bottom */
.hero-section {
  position: relative;
  min-height: 100vh;
  width: 100%;
  display: flex;
  align-items: stretch;
  justify-content: center;
  overflow: hidden;
  margin-top: -65px;
}

/* Background layer for reliable parallax */
.hero-bg {
  position: absolute;
  top: -10%;
  left: -10%;
  right: -10%;
  bottom: -10%;
  background-image: url('https://images.unsplash.com/photo-1623516747694-00b70bd7ec49?auto=format&fit=crop&w=1920&q=80');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed; /* CSS-fallback параллакс */
  will-change: transform;
  transform: translate3d(0,0,0) scale(1.1);
  z-index: 0;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.55) 0%,
    rgba(0, 0, 0, 0.55) 60%,
    rgba(0, 0, 0, 0.75) 100%
  );
  pointer-events: none;
  z-index: 1;
}

.hero-container {
  position: relative;
  z-index: 3;
  max-width: 1520px;
  margin: 0 auto;
  padding: 24px 20px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center; /* Центруем блоки по высоте */
  width: 100%;
  min-height: 100vh;
}

.hero-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 24px 12px;
  opacity: 0;
  transform: translateY(12px);
  animation: hero-fade-up .8s ease forwards .15s;
}

.hero-title {
  font-size: 42px;
  line-height: 1.2;
  font-weight: 800;
  text-shadow: 0 2px 10px rgba(0,0,0,0.6);
}

.hero-subtitle {
  margin-top: 10px;
  font-size: 18px;
  color: #e5e7eb;
  text-shadow: 0 1px 6px rgba(0,0,0,0.6);
}

.hero-actions a {
  text-decoration: none;
  opacity: 0;
  transform: translateY(10px);
  animation: hero-fade-up .9s ease forwards .35s;
}

/* Desktop adjustments */
@media (min-width: 1024px) {
  .hero-title { font-size: 54px; }
  .hero-subtitle { font-size: 20px; }
}

/* Tablet */
@media (max-width: 1024px) {
  .hero-section { min-height: 92vh; }
  .hero-title { font-size: 36px; }
}

/* Mobile */
@media (max-width: 768px) {
  .hero-section { min-height: 85vh; }
  .hero-title { font-size: 28px; }
  .hero-subtitle { font-size: 16px; }
  .hero-text { padding: 16px 10px; }
}

/* Sweep effect removed per request */

@keyframes hero-fade-up {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}


