/* Reset and Base Styles */
* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

html {
   scroll-behavior: smooth;
   overflow-x: hidden;
}

body {
   font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
   background-color: #000;
   color: #F5F5F5;
   overflow-x: hidden;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
}

/* Improve snap behavior on desktop */
@media (min-width: 769px) {
   .snap-container {
      scroll-snap-type: y mandatory;
   }
   
   .snap-section {
      scroll-snap-align: start;
      scroll-snap-stop: always;
   }
}

/* Preloader Styles */
.preloader {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: #000;
   z-index: 99999;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: opacity 0.5s ease, visibility 0.5s ease;
}

.preloader.hidden {
   opacity: 0;
   visibility: hidden;
}

.preloader-content {
   text-align: center;
   max-width: 400px;
   width: 90%;
}

.preloader-logo {
   display: flex;
   flex-direction: column;
   align-items: center;
   margin-bottom: 40px;
}

.preloader-logo-img {
   height: 300px;
   width: auto;
   margin-bottom: 20px;
   opacity: 0;
   animation: logoFadeIn 1s ease 0.5s forwards;
}

.preloader-progress {
   margin-bottom: 30px;
}

.progress-bar {
   width: 100%;
   height: 2px;
   background: rgba(255, 255, 255, 0.1);
   border-radius: 1px;
   overflow: hidden;
   margin-bottom: 20px;
}

.progress-fill {
   height: 100%;
   background: linear-gradient(90deg, #F5F5F5, #C0C0C0);
   width: 0%;
   transition: width 0.3s ease;
   border-radius: 1px;
}

.progress-text {
   font-family: 'Inter', sans-serif;
   font-size: 18px;
   color: #F5F5F5;
   font-weight: 300;
   letter-spacing: 1px;
}

.preloader-subtitle {
   font-family: 'Inter', sans-serif;
   font-size: 14px;
   color: #C0C0C0;
   font-weight: 300;
   opacity: 0;
   animation: subtitleFadeIn 1s ease 1s forwards;
}

@keyframes logoFadeIn {
   from {
      opacity: 0;
      transform: translateY(20px);
   }
   to {
      opacity: 1;
      transform: translateY(0);
   }
}

@keyframes subtitleFadeIn {
   from {
      opacity: 0;
   }
   to {
      opacity: 0.8;
   }
}

/* Mobile preloader adjustments */
@media (max-width: 767px) {
   .preloader-logo-img {
      height: 300px;
   }
   
   .preloader-logo h2 {
      font-size: 22px;
      letter-spacing: 2px;
   }
   
   .progress-text {
      font-size: 16px;
   }
   
   .preloader-subtitle {
      font-size: 12px;
   }
}

/* Header Styles */
.header {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   z-index: 10000;
   background: rgba(0, 0, 0, 0.8);
   backdrop-filter: blur(10px);
   padding: 0 20px;
   transition: all 0.3s ease;
   transform: translateY(0);
}

.header.hidden {
   transform: translateY(-100%);
}

.header.visible {
   transform: translateY(0);
}

.header.scrolled {
   background: rgba(0, 0, 0, 0.95);
   backdrop-filter: blur(15px);
   box-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}

.header-container {
   display: flex;
   justify-content: space-between;
   align-items: center;
   max-width: 1200px;
   margin: 0 auto;
   height: 70px;
   position: relative;
   z-index: 10001;
}

.logo {
   display: flex;
   align-items: center;
   gap: 12px; /* расстояние между логотипом и текстом */
}

.logo-image {
   height: 30px; /* или другой размер по вашему усмотрению */
   width: auto;
   object-fit: contain;
}

.logo h1 {
   font-family: 'Playfair Display', serif;
   font-size: 20px;
   font-weight: 400;
   letter-spacing: 2px;
   color: #F5F5F5;
   margin: 0; /* убираем margin для правильного выравнивания */
}

/* Header Contacts (Desktop) */
.header-contacts {
   display: none;
   align-items: center;
   gap: 20px;
}

.phone-link {
   color: #C0C0C0;
   text-decoration: none;
   font-size: 12px;
   transition: color 0.3s ease;
}

.phone-link:hover {
   color: #F5F5F5;
}

.social-links {
   display: flex;
   gap: 10px;
}

.social-links a {
   color: #C0C0C0;
   text-decoration: none;
   font-size: 11px;
   padding: 4px 8px;
   border: 1px solid rgba(255, 255, 255, 0.2);
   transition: all 0.3s ease;
}

.social-links a:hover {
   color: #F5F5F5;
   border-color: #F5F5F5;
}

/* Desktop Navigation */
.nav-desktop {
   display: none;
}

.nav-desktop ul {
   display: flex;
   list-style: none;
   gap: 30px;
}

.nav-desktop a {
   color: #C0C0C0;
   text-decoration: none;
   font-size: 14px;
   font-weight: 400;
   transition: color 0.3s ease;
}

.nav-desktop a:hover {
   color: #F5F5F5;
}

/* Burger Menu */
.burger-menu {
   display: flex;
   flex-direction: column;
   cursor: pointer;
   width: 30px;
   height: 20px;
   justify-content: space-between;
   z-index: 10002;
   position: relative;
   background: transparent;
   border: none;
   padding: 0;
   touch-action: manipulation;
   -webkit-tap-highlight-color: transparent;
}

.burger-menu span {
   width: 100%;
   height: 2px;
   background: #F5F5F5;
   transition: all 0.3s ease;
   transform-origin: center;
   display: block;
}

.burger-menu.active span:nth-child(1) {
   transform: rotate(45deg) translate(6px, 6px);
}

.burger-menu.active span:nth-child(2) {
   opacity: 0;
}

.burger-menu.active span:nth-child(3) {
   transform: rotate(-45deg) translate(6px, -6px);
}

/* Mobile Navigation */
.nav-mobile {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100vh;
   background: rgba(0, 0, 0, 0.95);
   backdrop-filter: blur(20px);
   z-index: 9999;
   display: flex;
   align-items: center;
   padding: 0 40px;
   overflow-y: auto;
   transform: translateX(-100%);
   transition: transform 0.3s ease;
}

.nav-mobile.active {
   transform: translateX(0);
}

.nav-mobile-content {
   width: 100%;
   z-index: 10000;
   position: relative;
}

.nav-mobile ul {
   list-style: none;
   margin-bottom: 40px;
}

.nav-mobile li {
   margin-bottom: 30px;
}

.nav-mobile a {
   color: #F5F5F5;
   text-decoration: none;
   font-size: 24px;
   font-weight: 300;
   font-family: 'Playfair Display', serif;
   transition: color 0.3s ease;
}

.nav-mobile a:hover {
   color: #C0C0C0;
}

.nav-mobile-contacts {
   border-top: 1px solid #333;
   padding-top: 20px;
}

.nav-mobile-contacts p {
   margin-bottom: 10px;
   font-size: 14px;
   color: #C0C0C0;
}

.nav-mobile-contacts a {
   color: #C0C0C0;
   text-decoration: none;
   font-size: 14px;
   font-family: 'Inter', sans-serif;
}

/* Hero Section */
.hero {
  position: relative;
  text-align: center;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

.video-background {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: -2;
}

.video-background video {
   width: 100%;
   height: 100%;
   object-fit: cover;
   filter: blur(2px) brightness(0.4);
}

.video-overlay {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.6);
   z-index: -1;
}

.hero-content {
  max-width: 90%;
  padding: 0 20px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  height: 100%;
}

.hero-title {
   font-family: 'Playfair Display', serif;
   font-size: 32px;
   font-weight: 400;
   line-height: 1.2;
   margin-bottom: 30px;
   color: #F5F5F5;
}

.hero-description {
   margin-bottom: 40px;
   font-size: 16px;
   line-height: 1.6;
   color: #C0C0C0;
}

.hero-description p {
   margin-bottom: 8px;
}

.hero-description strong {
   color: #F5F5F5;
   font-weight: 600;
}

.hero-buttons {
   display: flex;
   flex-direction: column;
   gap: 15px;
   align-items: center;
}

.btn {
   padding: 15px 30px;
   border: 1px solid #F5F5F5;
   background: transparent;
   color: #F5F5F5;
   font-size: 16px;
   font-weight: 400;
   cursor: pointer;
   transition: all 0.3s ease;
   min-width: 200px;
   text-align: center;
   touch-action: manipulation;
   -webkit-tap-highlight-color: transparent;
}

.btn-primary {
   background: #F5F5F5;
   color: #000;
}

.btn-primary:hover {
   background: transparent;
   color: #F5F5F5;
   box-shadow: 0 0 20px rgba(245, 245, 245, 0.3);
}

.btn-secondary:hover {
   background: #F5F5F5;
   color: #000;
   box-shadow: 0 0 20px rgba(245, 245, 245, 0.3);
}

/* Scroll Indicator */
.scroll-indicator {
   position: absolute;
   bottom: 30px;
   left: 50%;
   transform: translateX(-50%);
   z-index: 1;
}

.scroll-icon {
   width: 30px;
   height: 50px;
   border: 2px solid #F5F5F5;
   border-radius: 15px;
   position: relative;
}

.scroll-icon::before {
   content: '';
   position: absolute;
   top: 8px;
   left: 50%;
   transform: translateX(-50%);
   width: 6px;
   height: 10px;
   background: #F5F5F5;
   border-radius: 3px;
   animation: scroll 2s infinite;
}

@keyframes scroll {
   0% {
      transform: translateX(-50%) translateY(0);
      opacity: 1;
   }
   100% {
      transform: translateX(-50%) translateY(20px);
      opacity: 0;
   }
}

/* Container */
.container {
   max-width: 1200px;
   margin: 0 auto;
   padding: 0 20px;
   width: 100%;
}

/* Section Styles */
.section-title {
   font-family: 'Playfair Display', serif;
   font-size: 28px;
   font-weight: 400;
   line-height: 1.3;
   color: #F5F5F5;
   text-align: center;
   margin-bottom: 50px;
}

/* Section Background */
.section-bg {
   position: relative;
   overflow: hidden;
   --parallax-offset: 0px;
   --mouse-x: 0px;
   --mouse-y: 0px;
}

.section-bg::before {
   content: '';
   position: absolute;
   top: -20%;
   left: -10%;
   width: 120%;
   height: 140%;
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
   background-attachment: scroll;
   filter: blur(2px) brightness(0.8);
   z-index: -2;
   will-change: transform;
   transform: translate3d(var(--mouse-x), calc(var(--parallax-offset) + var(--mouse-y)), 0) scale(1.1);
   transition: transform 0.1s ease-out;
   backface-visibility: hidden;
   perspective: 1000px;
}

.section-bg::after {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.7);
   z-index: -1;
}

/* Specific section backgrounds */
.about.section-bg::before {
   background-image: url('about-bg.webp');
}

.target-audience.section-bg::before {
   background-image: url('target-bg.jpeg');
}

.what-we-offer.section-bg::before {
   background-image: url('offer-bg.jpg');
}

.how-to-join.section-bg::before {
   background-image: url('join-bg.jpg');
}

.investors.section-bg::before {
   background-image: url('investors-bg.jpg');
}

.team.section-bg::before {
   background-image: url('team-bg.jpg');
}

.contact-form.section-bg::before {
   background-image: url('contact-bg.jpg');
}

.faq.section-bg::before {
   background-image: url('faq-bg.jpg');
}

/* Hero section improvements */
.hero.section-bg::before {
   background-image: url('hero-bg.jpg');
}

/* About Section */
.about {
   background: #000;
}

.about-content {
   display: flex;
   flex-direction: column;
   gap: 60px;
}

.about-text {
   text-align: center;
   max-width: 800px;
   margin: 0 auto;
}

.about-text p {
   font-size: 16px;
   line-height: 1.6;
   color: #C0C0C0;
   margin-bottom: 15px;
}

.about-text strong {
   color: #F5F5F5;
   font-weight: 600;
}

.advantages {
   text-align: center;
}

.advantages h3 {
   font-family: 'Playfair Display', serif;
   font-size: 24px;
   color: #F5F5F5;
   margin-bottom: 40px;
   font-weight: 400;
}

.advantages-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 30px;
   max-width: 600px;
   margin: 0 auto;
}

.advantage-item {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   padding: 20px;
}

.advantage-icon {
   margin-bottom: 15px;
   opacity: 0.8;
}

.advantage-item p {
   font-size: 14px;
   color: #C0C0C0;
   line-height: 1.4;
}

/* Target Audience Section */
.target-audience {
   background: #000;
}

.brand-name {
   font-family: 'Playfair Display', serif;
   font-weight: 400;
   color: #F5F5F5;
}

.audience-cards {
   display: flex;
   flex-direction: column;
   gap: 30px;
   max-width: 600px;
   margin: 0 auto;
}

.audience-card {
   border: 1px solid rgba(255, 255, 255, 0.1);
   padding: 30px 25px;
   text-align: center;
   transition: all 0.3s ease;
   background: transparent;
}

.audience-card:hover {
   border-color: rgba(255, 255, 255, 0.3);
   transform: translateY(-5px);
}

.main-card {
   position: relative;
   border: 1px solid rgba(255, 255, 255, 0.2);
   background: transparent;
}

.card-icon {
   margin-bottom: 20px;
   opacity: 0.8;
}

.audience-card h3 {
   font-family: 'Playfair Display', serif;
   font-size: 20px;
   color: #F5F5F5;
   margin-bottom: 20px;
   font-weight: 400;
}

.audience-card p {
   font-size: 14px;
   line-height: 1.5;
   color: #C0C0C0;
   margin-bottom: 10px;
}

.audience-card p:last-child {
   margin-bottom: 0;
}

.audience-card strong {
   color: #F5F5F5;
   font-weight: 600;
}

/* What We Offer Section */
.what-we-offer {
   background: #000;
}

.offer-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 30px;
   max-width: 800px;
   margin: 0 auto 40px;
}

.offer-item {
   text-align: center;
   padding: 20px 15px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   transition: all 0.3s ease;
   display: flex;
   flex-direction: column;
   align-items: center;
   min-height: 120px;
}

.offer-item:hover {
   border-color: rgba(255, 255, 255, 0.3);
   transform: translateY(-5px);
}

.offer-icon {
   margin-bottom: 15px;
   opacity: 0.8;
   display: flex;
   justify-content: center;
   flex-shrink: 0;
}

.offer-icon svg {
   width: 40px;
   height: 40px;
}

.offer-item h3 {
   font-family: 'Playfair Display', serif;
   font-size: 16px;
   color: #F5F5F5;
   margin-bottom: 10px;
   font-weight: 400;
   line-height: 1.2;
}

.offer-item p {
   font-size: 12px;
   color: #C0C0C0;
   line-height: 1.3;
   flex-grow: 1;
   display: flex;
   align-items: center;
}

.bonus-text {
   text-align: center;
   max-width: 600px;
   margin: 0 auto;
}

.bonus-text p {
   font-size: 16px;
   color: #C0C0C0;
}

.bonus-text strong {
   color: #F5F5F5;
   font-weight: 600;
}

/* How to Join Section */
.how-to-join {
   background: #000;
}

.steps-container {
   display: flex;
   flex-direction: column;
   gap: 25px;
   max-width: 600px;
   margin: 0 auto 40px;
}

.step-item {
   display: flex;
   align-items: flex-start;
   gap: 20px;
   padding: 20px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   transition: all 0.3s ease;
}

.step-item:hover {
   border-color: rgba(255, 255, 255, 0.3);
   transform: translateY(-2px);
}

.step-number {
   font-family: 'Playfair Display', serif;
   font-size: 24px;
   color: #F5F5F5;
   font-weight: 400;
   min-width: 40px;
   height: 40px;
   border: 1px solid #F5F5F5;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   flex-shrink: 0;
}

.step-content {
   flex: 1;
}

.step-item h3 {
   font-family: 'Playfair Display', serif;
   font-size: 18px;
   color: #F5F5F5;
   margin-bottom: 10px;
   font-weight: 400;
}

.step-item p {
   font-size: 14px;
   color: #C0C0C0;
   line-height: 1.4;
}

.limitation-text {
   text-align: center;
   max-width: 600px;
   margin: 0 auto;
}

.limitation-text p {
   font-size: 14px;
   color: #C0C0C0;
   font-style: italic;
   margin-bottom: 20px;
}

/* Investors Section */
.investors {
   background: #000;
}

.investors-content {
   text-align: center;
   max-width: 700px;
   margin: 0 auto;
}

.investors-text {
   margin-bottom: 40px;
}

.investors-text p {
   font-size: 16px;
   line-height: 1.6;
   color: #C0C0C0;
   margin-bottom: 15px;
}

.investors-text strong {
   color: #F5F5F5;
   font-weight: 600;
}

.investors-format {
   margin-bottom: 40px;
   text-align: left;
   max-width: 400px;
   margin-left: auto;
   margin-right: auto;
}

.investors-format h3 {
   font-family: 'Playfair Display', serif;
   font-size: 20px;
   color: #F5F5F5;
   margin-bottom: 20px;
   font-weight: 400;
   text-align: center;
}

.investors-format ul {
   list-style: none;
   padding: 0;
   margin-bottom: 20px;
}

.investors-format li {
   font-size: 14px;
   color: #C0C0C0;
   margin-bottom: 10px;
   padding-left: 20px;
   position: relative;
}

.investors-format li::before {
   content: '•';
   color: #F5F5F5;
   position: absolute;
   left: 0;
}

.roi-text {
   text-align: center;
   font-size: 14px;
   color: #C0C0C0;
   margin-top: 20px;
}

.investors-buttons {
   display: flex;
   flex-direction: column;
   gap: 15px;
   align-items: center;
}

/* Team Section */
.team {
   background: #000;
}

.team-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr); /* По умолчанию 2 колонки */
   gap: 20px;
   max-width: 800px;
   margin: 0 auto;
}

.team-member {
   text-align: center;
   padding: 20px;
   border: 1px solid rgba(255, 255, 255, 0.1);
   transition: all 0.3s ease;
   background: transparent;
}

.team-member:hover {
   border-color: rgba(255, 255, 255, 0.3);
   transform: translateY(-5px);
}

.member-photo {
   width: 120px;
   height: 120px;
   margin: 0 auto 20px;
   border-radius: 50%;
   overflow: hidden;
   border: 2px solid rgba(255, 255, 255, 0.1);
}

.member-photo img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   filter: grayscale(100%);
   transition: filter 0.3s ease;
}

.team-member:hover .member-photo img {
   filter: grayscale(0%);
}

.member-info h3 {
   font-family: 'Playfair Display', serif;
   font-size: 18px;
   color: #F5F5F5;
   margin-bottom: 8px;
   font-weight: 400;
}

.member-role {
   font-size: 14px;
   color: #C0C0C0;
   margin-bottom: 12px;
   font-weight: 500;
   text-transform: uppercase;
   letter-spacing: 1px;
}

.member-description {
   font-size: 12px;
   color: #C0C0C0;
   line-height: 1.4;
}

.team-instagram {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #C13584;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  margin-bottom: 8px;
  margin-top: 4px;
  transition: color 0.2s;
}

.team-instagram:hover {
  color: #a12d6a;
  text-decoration: underline;
}

/* Новый стиль для подробнее */
.team-more {
  display: inline-block;
  color: #C0C0C0;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 8px;
  margin-top: 4px;
  cursor: pointer;
  transition: color 0.2s;
}
.team-more:hover {
  color: #F5F5F5;
  text-decoration: underline;
}

/* Partners Section */
.partners {
   background: #000;
}

.partners-content {
   text-align: center;
   max-width: 900px;
   margin: 0 auto;
}

.partners-logos {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 30px;
   margin-bottom: 60px;
   align-items: center;
}

.partner-logo {
   height: 80px;
   display: flex;
   align-items: center;
   justify-content: center;
   border: 1px solid rgba(255, 255, 255, 0.1);
   padding: 0px;
   transition: all 0.3s ease;
   background: rgba(255, 255, 255, 0.02);
}

.partner-logo:hover {
   border-color: rgba(255, 255, 255, 0.3);
   transform: translateY(-5px);
}

.partner-logo img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   filter: grayscale(100%) brightness(1.2);
   transition: filter 0.3s ease;
}

.partner-logo:hover img {
   filter: grayscale(0%) brightness(1);
}

.partners-cta {
   text-align: center;
}

.partners-cta h3 {
   font-family: 'Playfair Display', serif;
   font-size: 24px;
   color: #F5F5F5;
   margin-bottom: 20px;
   font-weight: 400;
}

.partners-cta p {
   font-size: 16px;
   color: #C0C0C0;
   margin-bottom: 30px;
   line-height: 1.6;
}

/* Contact Form Section */
.contact-form {
   background: #000;
}

.contact-form-wrapper {
   max-width: 500px;
   margin: 0 auto;
}

.form-group {
   margin-bottom: 20px;
}

.form-group input,
.form-group textarea,
.form-group select {
   width: 100%;
   padding: 15px;
   border: 1px solid rgba(255, 255, 255, 0.2);
   background: transparent;
   color: #F5F5F5;
   font-size: 14px;
   font-family: 'Inter', sans-serif;
   transition: all 0.3s ease;
   border-radius: 0;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
   outline: none;
   border-color: #F5F5F5;
   box-shadow: 0 0 10px rgba(245, 245, 245, 0.2);
}

.form-group input::placeholder,
.form-group textarea::placeholder {
   color: #C0C0C0;
}

/* Custom select styling */
.form-group select {
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23F5F5F5' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
   background-position: right 15px center;
   background-repeat: no-repeat;
   background-size: 16px;
   padding-right: 45px;
   cursor: pointer;
}

.form-group select option {
   background: #1a1a1a;
   color: #F5F5F5;
   padding: 10px;
   border: none;
}

.form-group select option:hover,
.form-group select option:focus {
   background: #333;
}

/* Placeholder styling for select */
.form-group select:invalid {
   color: #C0C0C0;
}

.form-group select:valid {
   color: #F5F5F5;
}

/* Checkbox Styling */
.checkbox-group {
   margin-bottom: 25px;
}

.checkbox-label {
   display: flex;
   align-items: flex-start;
   gap: 4px;
   cursor: pointer;
   font-size: 12px;
   line-height: 1.4;
   color: #C0C0C0;
}

.checkbox-label input[type="checkbox"] {
   display: none;
}

.checkbox-custom {
   width: 18px;
   height: 18px;
   border: 1px solid rgba(255, 255, 255, 0.3);
   background: transparent;
   position: relative;
   flex-shrink: 0;
   transition: all 0.3s ease;
}

.checkbox-label input[type="checkbox"]:checked + .checkbox-custom {
   background: #F5F5F5;
   border-color: #F5F5F5;
}

.checkbox-label input[type="checkbox"]:checked + .checkbox-custom::after {
   content: '✓';
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   color: #000;
   font-size: 12px;
   font-weight: bold;
}

.privacy-link {
   color: #F5F5F5;
   text-decoration: underline;
   transition: color 0.3s ease;
}

.privacy-link:hover {
   color: #C0C0C0;
}

.btn-submit {
   width: 100%;
   margin-top: 10px;
}

.privacy-note {
   text-align: center;
   font-size: 12px;
   color: #C0C0C0;
   margin-top: 20px;
   font-style: italic;
}

/* FAQ Section */
.faq {
   background: #000;
   min-height: 100vh; /* Добавить */
   height: auto; /* Изменить с 100vh */
   padding: 40px 0; /* Добавить отступы */
}

.faq-container {
   max-height: 60vh; /* Ограничить высоту контейнера */
   overflow-y: auto; /* Добавить скролл */
}

.faq-item {
   border-bottom: 1px solid rgba(255, 255, 255, 0.1);
   margin-bottom: 0;
}

.faq-question {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 25px 0;
   cursor: pointer;
   transition: all 0.3s ease;
}

.faq-question:hover {
   color: #F5F5F5;
}

.faq-question h3 {
   font-family: 'Playfair Display', serif;
   font-size: 18px;
   color: #F5F5F5;
   font-weight: 400;
   margin: 0;
   flex: 1;
   text-align: left;
}

.faq-toggle {
   font-size: 24px;
   color: #F5F5F5;
   font-weight: 300;
   margin-left: 20px;
   transition: transform 0.3s ease;
   line-height: 1;
}

.faq-item.active .faq-toggle {
   transform: rotate(45deg);
}

.faq-answer {
   max-height: 0;
   overflow: hidden;
   transition: all 0.3s ease;
   padding: 0;
}

.faq-item.active .faq-answer {
   max-height: 200px;
   padding-bottom: 25px;
}

.faq-answer p {
   font-size: 14px;
   line-height: 1.6;
   color: #C0C0C0;
   margin: 0;
}

/* Footer Styles */
.footer {
   background: #000;
   border-top: 1px solid rgba(255, 255, 255, 0.1);
   padding: 60px 0 30px;
   margin-top: 0;
   /* Добавить для snap-секции */
   display: flex;
   align-items: center;
   justify-content: center;
   min-height: 100vh;
}

.footer .container {
   width: 100%;
   max-width: 1200px;
}

.footer-content {
   display: grid;
   grid-template-columns: 1fr;
   gap: 40px;
   margin-bottom: 40px;
}

.footer-brand h3 {
   font-family: 'Playfair Display', serif;
   font-size: 24px;
   color: #F5F5F5;
   margin-bottom: 10px;
   font-weight: 400;
   letter-spacing: 1px;
}

.footer-brand p {
   color: #C0C0C0;
   font-size: 14px;
}

.footer-contacts h4,
.footer-links h4,
.footer-legal h4 {
   font-family: 'Playfair Display', serif;
   font-size: 18px;
   color: #F5F5F5;
   margin-bottom: 20px;
   font-weight: 400;
}

.footer-contacts p {
   margin-bottom: 10px;
   font-size: 14px;
   color: #C0C0C0;
}

.footer-contacts a,
.footer-links a,
.footer-legal a {
   color: #C0C0C0;
   text-decoration: none;
   transition: color 0.3s ease;
}

.footer-contacts a:hover,
.footer-links a:hover,
.footer-legal a:hover {
   color: #F5F5F5;
}

.footer-links ul,
.footer-legal ul {
   list-style: none;
   padding: 0;
}

.footer-links li,
.footer-legal li {
   margin-bottom: 10px;
}

.footer-links a,
.footer-legal a {
   font-size: 14px;
}

.footer-bottom {
   display: flex;
   flex-direction: column;
   gap: 20px;
   padding-top: 30px;
   border-top: 1px solid rgba(255, 255, 255, 0.1);
   text-align: center;
}

.footer-copyright p {
   font-size: 12px;
   color: #C0C0C0;
   margin-bottom: 5px;
}

.footer-warning {
   font-size: 10px;
   color: #888;
   font-weight: 600;
}

.footer-developer {
   text-align: center;
}

.footer-developer p {
   font-size: 11px;
   color: #888;
}

.footer-developer a {
   color: #C0C0C0;
   text-decoration: none;
}

.footer-developer a:hover {
   color: #F5F5F5;
}

/* Fade-in Animation */
@keyframes fadeIn {
   from {
      opacity: 0;
      transform: translateY(30px);
   }
   to {
      opacity: 1;
      transform: translateY(0);
   }
}

.hero-content > * {
   animation: fadeIn 0.8s ease-out;
}

.hero-title {
   animation-delay: 0.2s;
}

.hero-description {
   animation-delay: 0.4s;
}

.hero-buttons {
   animation-delay: 0.6s;
}

/* Mobile optimizations */
@media (max-width: 767px) {
   .logo h1 {
      font-size: 16px;
   }

   .logo-image {
      height: 20px; /* меньший размер на мобильных */
   }
   
   .logo {
         gap: 8px; /* меньший отступ на мобильных */
   }
   
   .logo-tagline {
      font-size: 8px;
   }
   
   .header-container {
      height: 60px;
   }
   
   .offer-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 15px;
      max-width: 100%;
      margin: 0 auto 30px;
   }
   
   .offer-item {
      padding: 15px 10px;
      min-height: 100px;
   }
   
   .offer-icon svg {
      width: 30px;
      height: 30px;
   }
   
   .offer-item h3 {
      font-size: 14px;
      margin-bottom: 8px;
   }
   
   .offer-item p {
      font-size: 11px;
      line-height: 1.2;
   }
   
   .bonus-text p {
      font-size: 14px;
   }
   
   .what-we-offer .container {
      padding: 0 15px;
   }
   
   .what-we-offer .section-title {
      font-size: 24px;
      margin-bottom: 30px;
      line-height: 1.2;
   }
   
   .steps-container {
      gap: 15px;
      margin: 0 auto 30px;
   }
   
   .step-item {
      padding: 15px;
      gap: 15px;
      align-items: center;
   }
   
   .step-number {
      font-size: 18px;
      min-width: 32px;
      height: 32px;
      flex-shrink: 0;
   }
   
   .step-content {
      flex: 1;
   }
   
   .step-item h3 {
      font-size: 16px;
      margin-bottom: 5px;
      line-height: 1.2;
   }
   
   .step-item p {
      font-size: 12px;
      line-height: 1.3;
   }
   
   .how-to-join .section-title {
      font-size: 24px;
      margin-bottom: 30px;
      line-height: 1.2;
   }
   
   .limitation-text p {
      font-size: 12px;
   }
   
   .contact-form-wrapper {
      max-width: 100%;
      padding: 0 10px;
   }
   
   .form-group {
      margin-bottom: 15px;
   }
   
   .form-group input,
   .form-group textarea,
   .form-group select {
      padding: 12px;
      font-size: 14px;
   }
   
   .form-group textarea {
      rows: 3;
      min-height: 80px;
   }
   
   .contact-form .section-title {
      font-size: 24px;
      margin-bottom: 30px;
      line-height: 1.2;
   }
   
   .privacy-note {
      font-size: 11px;
      margin-top: 15px;
   }
   
   .team-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 15px;
   }
   
   .team-member {
      padding: 15px 10px;
   }
   
   .member-photo {
      width: 80px;
      height: 80px;
      margin-bottom: 15px;
   }
   
   .member-info h3 {
      font-size: 14px; /* Уменьшаем шрифты */
   }
   
   .member-role {
      font-size: 11px;
   }
   
   .member-description {
      font-size: 10px;
      line-height: 1.3;
   }
   
   .faq-question h3 {
      font-size: 16px;
   }
   
   .faq-answer p {
      font-size: 13px;
   }
   
   .footer-content {
      grid-template-columns: 1fr;
      gap: 30px;
   }
   
   .footer-brand h3 {
      font-size: 20px;
   }
   
   .footer-contacts h4,
   .footer-links h4,
   .footer-legal h4 {
      font-size: 16px;
   }
   
   .footer-bottom {
      gap: 15px;
   }
}

/* Tablet Styles */
@media (min-width: 768px) {
   .header-container {
      padding: 0 40px;
   }
   
   .nav-desktop {
      display: block;
   }
   
   .burger-menu {
      display: none;
   }
   
   .header-contacts {
      display: flex;
   }
   
   .hero-title {
      font-size: 48px;
   }
   
   .hero-description {
      font-size: 18px;
   }
   
   .hero-buttons {
      flex-direction: row;
      gap: 20px;
      justify-content: center;
   }
   
   .btn {
      min-width: 180px;
   }
   
   .container {
      padding: 0 40px;
   }
   
   .section-title {
      font-size: 36px;
   }
   
   .about-text p {
      font-size: 18px;
   }
   
   .advantages-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 40px;
   }
   
   .advantage-item {
      padding: 30px 20px;
   }
   
   .advantage-item p {
      font-size: 16px;
   }
   
   .audience-cards {
      max-width: 800px;
   }
   
   .audience-card {
      padding: 40px 35px;
   }
   
   .audience-card h3 {
      font-size: 24px;
   }
   
   .audience-card p {
      font-size: 16px;
   }
   
   .offer-grid {
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
   }
   
   .offer-item h3 {
      font-size: 16px;
   }
   
   .steps-container {
      max-width: 700px;
   }
   
   .step-item h3 {
      font-size: 20px;
   }
   
   .step-item p {
      font-size: 16px;
   }
   
   .investors-buttons {
      flex-direction: row;
      gap: 20px;
      justify-content: center;
   }
   
   .team-grid {
      grid-template-columns: repeat(2, 1fr);
   }
   
   .footer-content {
      grid-template-columns: repeat(2, 1fr);
   }
   
   .footer-bottom {
      flex-direction: row;
      justify-content: space-between;
      text-align: left;
   }
}

/* Desktop Styles */
@media (min-width: 1024px) {
   .hero-title {
      font-size: 56px;
   }
   
   .hero-description {
      font-size: 20px;
   }
   
   .hero-content {
      max-width: 800px;
   }
   
   .section-title {
      font-size: 42px;
   }
   
   .about-content {
      flex-direction: row;
      gap: 80px;
      align-items: flex-start;
   }
   
   .about-text {
      flex: 1;
      text-align: left;
   }
   
   .advantages {
      flex: 1;
      text-align: left;
   }
   
   .advantages-grid {
      grid-template-columns: repeat(2, 1fr);
      margin: 0;
   }
   
   .advantage-item {
      align-items: flex-start;
      text-align: left;
      flex-direction: row;
      padding: 20px 0;
   }
   
   .advantage-icon {
      margin-right: 20px;
      margin-bottom: 0;
      flex-shrink: 0;
   }
   
   .audience-cards {
      flex-direction: row;
      max-width: 1200px;
      gap: 20px;
   }
   
   .audience-card {
      flex: 1;
      padding: 50px 30px;
   }
   
   .main-card {
      transform: scale(1.05);
      z-index: 1;
   }
   
   .steps-container {
      max-width: 800px;
   }
   
   .step-item {
      flex-direction: row;
      text-align: left;
   }
   
   .team-grid {
      grid-template-columns: repeat(4, 1fr); /* 4 колонки на десктопе */
   }
   
   .footer-content {
      grid-template-columns: repeat(4, 1fr);
   }
}

/* Optimizations for mobile devices */
@media (max-width: 768px) {
   /* Disable parallax on mobile for performance */
   .section-bg::before {
      transform: scale(1.05) !important;
      background-attachment: scroll;
      filter: blur(1px) brightness(0.8);
      will-change: auto;
   }
   
   .section-bg {
      --mouse-x: 0px !important;
      --mouse-y: 0px !important;
      --parallax-offset: 0px !important;
   }
}

/* Desktop parallax enhancements */
@media (min-width: 1024px) {
   .section-bg::before {
      transform: translate3d(var(--mouse-x), calc(var(--parallax-offset) + var(--mouse-y)), 0) scale(1.1);
      transition: transform 0.05s linear;
   }
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
   * {
      transition-duration: 0.01ms !important;
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
   }
}

/* Support for older browsers */
@supports not (backdrop-filter: blur(10px)) {
   .header {
      background: rgba(0, 0, 0, 0.9) !important;
   }
}

/* GPU acceleration */
.hero-content,
.video-background video {
   transform: translateZ(0);
   -webkit-transform: translateZ(0);
}

/* Loading state */
.loaded {
   /* Add any loading completion styles */
}

/* Print styles */
@media print {
   .header,
   .video-background {
      display: none;
   }
   
   .snap-section {
      height: auto;
      page-break-inside: avoid;
   }
   
   body {
      color: #000;
      background: #fff;
   }
}

/* Универсальная высота для секций */
section {
  min-height: 100vh;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  /* Учитываем высоту хедера */
  padding-top: 70px;
}

@media (max-width: 767px) {
  section {
   margin-top: 20px;
   padding-top: 30px;
  }
}

/* Уточняю стили для скрытия/показа хедера */
.header {
  transition: transform 0.3s ease, background 0.3s, box-shadow 0.3s;
  will-change: transform;
}
.header.hidden {
  transform: translateY(-100%);
}
.header.visible {
  transform: translateY(0);
}

/* Partners Carousel Styles - FIXED */
.partners-carousel-container {
   position: relative;
   margin: 0 60px 40px 60px; /* Добавляем отступы для кнопок */
   padding: 20px 0; /* Добавляем вертикальные отступы */
}

.partners-carousel {
   display: flex;
   transition: transform 0.5s ease-in-out;
   will-change: transform;
   overflow: visible; /* Убираем скрытие */
}

.partners-carousel .partner-logo {
   flex: 0 0 auto;
   width: 200px;
   height: 120px;
   margin-right: 20px;
   display: flex;
   align-items: center;
   justify-content: center;
   border: 1px solid rgba(255, 255, 255, 0.1);
   background: rgba(255, 255, 255, 0.02);
   transition: all 0.3s ease;
   overflow: hidden;
   border-radius: 8px;
}

.partners-carousel .partner-logo:hover {
   border-color: rgba(255, 255, 255, 0.3);
   transform: translateY(-5px);
   box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}

.partners-carousel .partner-logo img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   filter: grayscale(100%) brightness(1.2);
   transition: filter 0.3s ease;
}

.partners-carousel .partner-logo:hover img {
   filter: grayscale(0%) brightness(1);
}

/* Carousel Navigation Arrows - FIXED */
.carousel-arrow {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   background: rgba(0, 0, 0, 0.8);
   border: 1px solid rgba(255, 255, 255, 0.3);
   color: #F5F5F5;
   width: 50px;
   height: 50px;
   border-radius: 50%;
   cursor: pointer;
   z-index: 100;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: all 0.3s ease;
   backdrop-filter: blur(10px);
   /* Убираем отрицательные позиции */
}

.carousel-arrow:hover {
   background: rgba(0, 0, 0, 0.95);
   border-color: #F5F5F5;
   transform: translateY(-50%) scale(1.1);
   box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}

.carousel-arrow:active {
   transform: translateY(-50%) scale(0.95);
}

.carousel-arrow-prev {
   left: -55px; /* Выносим за пределы контейнера */
}

.carousel-arrow-next {
   right: -55px; /* Выносим за пределы контейнера */
}

.carousel-arrow:disabled {
   opacity: 0.4;
   cursor: not-allowed;
   transform: translateY(-50%) scale(1);
   background: rgba(0, 0, 0, 0.5);
}

.carousel-arrow:disabled:hover {
   background: rgba(0, 0, 0, 0.5);
   border-color: rgba(255, 255, 255, 0.2);
   transform: translateY(-50%) scale(1);
   box-shadow: none;
}

/* Carousel Dots */
.carousel-dots {
   display: flex;
   justify-content: center;
   gap: 10px;
   margin-bottom: 40px;
   padding: 10px 0;
}

.carousel-dot {
   width: 12px;
   height: 12px;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.3);
   cursor: pointer;
   transition: all 0.3s ease;
   border: none;
   padding: 0;
}

.carousel-dot.active {
   background: #F5F5F5;
   transform: scale(1.3);
   box-shadow: 0 2px 8px rgba(245, 245, 245, 0.3);
}

.carousel-dot:hover:not(.active) {
   background: rgba(255, 255, 255, 0.6);
   transform: scale(1.1);
}

/* Контейнер с маской для скрытия лишних элементов */
.carousel-mask {
   overflow: hidden;
   border-radius: 8px;
   margin: 0 10px; /* Небольшой отступ от стрелок */
}

/* Mobile Styles */
@media (max-width: 767px) {
   .partners-carousel-container {
      margin: 0 50px 30px 50px; /* Уменьшаем отступы на мобильных */
   }
   
   .partners-carousel .partner-logo {
      width: 150px;
      height: 90px;
      margin-right: 15px;
   }
   
   .carousel-arrow {
      width: 40px;
      height: 40px;
   }
   
   .carousel-arrow-prev {
      left: -45px;
   }
   
   .carousel-arrow-next {
      right: -45px;
   }
   
   .carousel-dots {
      margin-bottom: 30px;
   }
   
   .carousel-dot {
      width: 10px;
      height: 10px;
   }
}

/* Tablet Styles */
@media (min-width: 768px) and (max-width: 1023px) {
   .partners-carousel .partner-logo {
      width: 180px;
      height: 100px;
   }
   
   .partners-carousel-container {
      margin: 0 55px 35px 55px;
   }
}

/* Large screens */
@media (min-width: 1200px) {
   .partners-carousel-container {
      margin: 0 70px 50px 70px;
   }
}

/* Auto-scroll animation */
@keyframes carouselSlide {
   0% { transform: translateX(0); }
   100% { transform: translateX(-100%); }
}

.partners-carousel.auto-scroll {
   animation: carouselSlide 1s linear infinite;
}

.partners-carousel.auto-scroll:hover {
   animation-play-state: paused;
}

/* Clickable Logo Styles */
.logo {
   display: flex;
   align-items: center;
   gap: 12px;
   text-decoration: none;
   color: inherit;
   transition: all 0.3s ease;
   cursor: pointer;
   padding: 8px 0;
   border-radius: 4px;
}

.logo:hover {
   transform: translateY(-1px);
   text-decoration: none;
   color: #F5F5F5;
}

.logo:hover .logo-image {
   transform: scale(1.05);
   filter: brightness(1.1);
}

.logo:hover h1 {
   color: #F5F5F5;
   text-shadow: 0 2px 8px rgba(245, 245, 245, 0.3);
}

.logo:active {
   transform: translateY(0);
}

.logo:focus {
   outline: 2px solid rgba(245, 245, 245, 0.5);
   outline-offset: 2px;
}

.logo-image {
   height: 30px;
   width: auto;
   object-fit: contain;
   transition: all 0.3s ease;
}

.logo h1 {
   font-family: 'Playfair Display', serif;
   font-size: 20px;
   font-weight: 400;
   letter-spacing: 2px;
   color: #F5F5F5;
   margin: 0;
   transition: all 0.3s ease;
}

/* Mobile Logo Styles */
@media (max-width: 767px) {
   .logo h1 {
      font-size: 16px;
      letter-spacing: 1px;
   }

   .logo-image {
      height: 24px;
   }
   
   .logo {
      gap: 8px;
      padding: 6px 0;
   }
}

/* Tablet Logo Styles */
@media (min-width: 768px) and (max-width: 1023px) {
   .logo h1 {
      font-size: 18px;
   }
   
   .logo-image {
      height: 28px;
   }
}

/* ОБНОВЛЕНИЕ FOOTER СТИЛЕЙ - ДОБАВИТЬ В styles.css */

/* Обновляем существующий .footer-brand */
.footer-brand-with-logo {
   /* Заменяет стандартный .footer-brand */
}

.footer-brand-header {
   display: flex;
   align-items: center;
   gap: 12px;
   margin-bottom: 10px;
   flex-wrap: wrap;
   flex-direction: row;
}

.footer-logo-image {
   height: 35px;
   width: auto;
   object-fit: contain;
   opacity: 0.9;
   transition: all 0.3s ease;
   flex-shrink: 0;
}

.footer-logo-image:hover {
   opacity: 1;
   transform: scale(1.05);
   filter: brightness(1.1);
}

.footer-brand-header h3 {
   font-family: 'Playfair Display', serif;
   font-size: 24px;
   color: #F5F5F5;
   margin: 0;
   font-weight: 400;
   letter-spacing: 1px;
   transition: color 0.3s ease;
}

.footer-brand-with-logo p {
   color: #C0C0C0;
   font-size: 14px;
   margin: 0;
   line-height: 1.4;
}

/* Эффект при наведении на весь блок */
.footer-brand-with-logo:hover .footer-logo-image {
   transform: scale(1.05);
   opacity: 1;
}

.footer-brand-with-logo:hover .footer-brand-header h3 {
   color: #FFFFFF;
   text-shadow: 0 2px 8px rgba(245, 245, 245, 0.3);
}

/* Курсор pointer для всего блока если хотите сделать его кликабельным */
.footer-brand-with-logo {
   cursor: default; /* или pointer если будете добавлять ссылку */
   transition: all 0.3s ease;
}

/* Мобильные стили */
@media (max-width: 767px) {
   .footer-brand-header {
       flex-direction: row;
       text-align: left;
       gap: 8px;
   }
   
   .footer-logo-image {
       height: 30px;
   }
   
   .footer-brand-header h3 {
       font-size: 20px;
       letter-spacing: 1px;
   }
   
   .footer-brand-with-logo p {
       font-size: 13px;
       text-align: left;
   }
}

/* Планшетные стили */
@media (min-width: 768px) and (max-width: 1023px) {
   .footer-logo-image {
       height: 32px;
   }
   
   .footer-brand-header h3 {
       font-size: 22px;
   }
   
   .footer-brand-header {
       gap: 10px;
   }
}

/* Десктопные стили */
@media (min-width: 1024px) {
   .footer-logo-image {
       height: 35px;
   }
   
   .footer-brand-header h3 {
       font-size: 24px;
   }
   
   .footer-brand-header {
       gap: 12px;
   }
}

/* Дополнительные стили если хотите сделать логотип кликабельным */
.footer-brand-link {
   text-decoration: none;
   color: inherit;
   display: block;
}

.footer-brand-link:hover {
   text-decoration: none;
   color: inherit;
}

/* Анимация появления логотипа */
@keyframes fadeInLogo {
   from {
       opacity: 0;
       transform: translateY(10px);
   }
   to {
       opacity: 0.9;
       transform: translateY(0);
   }
}

.footer-logo-image {
   animation: fadeInLogo 0.6s ease-out;
}