/* Base Styles */
 :root {
    --primary-color: #ffffff; 
    --background-color1: rgb(29, 41, 81);
    --background-color2: rgb(35, 35, 35); 
    --text-light: #ffffff; 
    --font-heading: 'Orbitron', sans-serif;
    --font-main2: 'Titillium Web', sans-serif;
} 
body {
    font-family: var(--font-main2);
    color: var(--text-light);
    background-color: var(--background-color2);
    padding-top: 80px;
    margin: 0;
    padding: 0;
}
#about h2, #about h3 {
    font-family: var(--font-heading);
    font-weight: 500;
    letter-spacing: 0.03em;
}
#about p, #about ul {
    font-family: var(--font-main2);
    line-height: 1.6; /* Улучшает читаемость */
}
/* Navigation */
.navbar {
    background-color: var(--background-color2) !important;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 1); /* Тонкая серая линия для разделения */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); /* Добавим тень для глубины */
}
.navbar .nav-link {
    font-family: 'Audiowide', sans-serif;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.navbar .nav-link,
.navbar .navbar-brand,
.navbar-toggler-icon {
    color: white !important;
}

.navbar .nav-link:hover {
    color: #ccc !important;
}

.navbar .nav-link.disabled {
    color: #888 !important;
    pointer-events: none;
    opacity: 0.6;
}

.navbar .nav-link.disabled:hover {
    cursor: default;
    text-decoration: none;
}
.navbar .nav-link.active {
    border-bottom: 2px solid white;
    font-weight: bold;
  }
  .navbar-nav {
    scroll-margin-top: 80px;
}

.navbar .nav-link.active {
    border-bottom: 2px solid white;
    font-weight: bold;
    color: white !important;
}

/* Улучшение для секций */
section[id] {
    scroll-margin-top: 80px;
    position: relative;
}
.nav-logo {
    height: 60px;
    transition: transform 0.3s;
}

.nav-logo:hover {
    transform: scale(1.05);
}
/* Hero Section */

.hero-section {
    background-color: var(--background-color2);
    min-height: calc(100vh - 60px); /* 60px — это navbar */ /* min-height: 100vh; */
    padding-top: 20px; /* Компенсируем фиксированный header  was 80 px*/ 
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
}

    
.hero-title-wrapper {
    position: relative;
    z-index: 2; /* Чтобы текст был поверх кругов */
    padding: 20px;
    max-width: 1000px;
    margin-top: 0;
    margin-bottom: 30px;
       
  }
  .hero-title-wrapper h1 {
    font-family: 'Audiowide', sans-serif;
    font-size: clamp(48px, 8vw, 128px); /* 🔹 ключевая строка */
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1.1;
    margin: 0;
  }
.circles-wrapper {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 50%;
        height: 100%;
        /* Важные свойства: */
        overflow: visible; /* Чтобы планеты не обрезались */
        z-index: 1; /* Для правильного порядка слоев */
        pointer-events: none; /* Чтобы не перехватывали клики */
        isolation: isolate; /* Важно! Создает новый контекст стекинга */

      }
.circle {
        border-radius: 50%;
        position: absolute;
        right: 0;
        transform-origin: center;
        z-index: 1;
        will-change: transform;
        transform: translateY(-50%);
        top: 50%;
      }
/* плавность изменения масштабов */
.circle {
        transition: all 0.5s ease;
    }
.orbit {
    border: 2px dashed #ccc;
}
.planet-wrapper-1 {
    animation: rotate-orbit-1 25s linear infinite;
    z-index: 21;
}
.planet-wrapper-2 {
    animation: rotate-orbit-2 25s linear infinite;
    z-index: 21;
}
.circle-1 {
        width: 500px;
        height: 500px;
        margin-top: -30px;
        right: -250px;
      }

.circle-2 {
        width: 475px;
        height: 475px;
        right: -225px;
      }
/* Стили для планет */
/* Контейнер для анимации планеты 1 */
.planet-1, .planet-2 {
        position: relative;
        z-index: 10;
    }
.planet-orbit-1 {
        position: absolute;
        top: 50%;
        left: 50%;
        right: -250px;
        width: 500px;
        height: 500px;
        isolation: isolate; 
        z-index: 1;
        transform: translate(-50%, -50%);
        /*animation: rotate-orbit-1 30s linear infinite;*/
    }
.planet-orbit-2 {
        position: absolute;
        top: 50%;
        left: 50%;
        right: -250px;
        width: 475px;
        height: 475px;
        isolation: isolate;
        z-index: 1;
        transform: translate(-50%, -50%);
        /*animation: rotate-orbit-2 40s linear infinite;*/
    }
/* Планета 1 */
.planet-1 {
        position: absolute;
        width: 20px;
        height: 20px;
        background-color: white;
        border-radius: 50%;
        top: 0;
        left: 0;
        z-index: 20;
        opacity: 1 !important;
        box-shadow: 0 0 10px white; /* Создаст эффект свечения */
        transform: translateX(225px) translateY(-10px); /* Радиус орбиты */ 
        isolation: isolate;
        background-clip: padding-box;
        will-change: transform, opacity;
        backface-visibility: hidden;
    }

.planet-2 {
        position: absolute;
        width: 30px;
        height: 30px;
        background-color: white;
        border-radius: 50%;
        top: 0;
        left: 0;
        z-index: 10;
        opacity: 1 !important;
        box-shadow: 0 0 10px white; /* Создаст эффект свечения */
        transform: translateX(225px) translateY(-15px); /* Радиус орбиты */ 
    }
/* Спутник для планеты 1 */
.moon {
    position: absolute;
    width: 8px;
    height: 8px;
    background-color: white;
    border-radius: 50%;
    top: 50%; /* Центрируем по вертикали */
    left: 50%; /* Центрируем по горизонтали */
    margin-top: -4px; /* Половина высоты луны */
    margin-left: -4px; /* Половина ширины луны */
    box-shadow: 0 0 10px white; /* Создаст эффект свечения */
    animation: moon-rotation 15s linear infinite;
    transform-origin: 0 0; /* Точка вращения будет в центре планеты */
    transform: translate(40px, 0); /* Отступ от планеты */
}
/* Анимация вращения орбиты планеты 1 */
@keyframes rotate-orbit-1 {
    from {
        transform: translate(0, -50%) rotate(320deg);
    }
    to {
        transform: translate(0, -50%) rotate(-40deg);
    }
}

@keyframes moon-rotation {
    from {
        transform: rotate(0deg) translateY(-30px) rotate(0deg);
    }
    to {
        transform: rotate(360deg) translateY(-30px) rotate(-360deg);
    }
}
@keyframes rotate-orbit-2 {
    from {
        transform: translate(0, -50%) rotate(360deg);
    }
    to {
        transform: translate(0, -50%) rotate(0deg);
    }
}
/*Main image styles*/

.mission-image-container img {
    border-radius: 12px;
    border: 4px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
  }

#about {
    scroll-margin-top: 80px; /* Компенсация фиксированного header */
    position: relative; /* Для точного расчета offsetTop */
}

/* Footer */
footer {
    min-height: 100px;
    font-family: 'Audiowide', sans-serif;

  }
  .footer-email {
    transition: all 0.3s ease;
    letter-spacing: 0.05em;
}

.footer-email:hover {
    color: #00d0ff !important;
    transform: translateY(-5px); /* легкий подъем */
    letter-spacing: 0.07em;
}
.bi-facebook {
    display: inline-block; /* 🔹 Важно для transform! */
    
}
.bi-facebook:hover {
    color: #00d0ff !important;
    transform: scale(1.1);
    transition: transform 0.3s ease;
    
}


/* Responsive */
@media (max-width: 1399.98px) { /* XXL */ 
    .hero-title-wrapper h1 {
        font-size: 100px;
      }
}

@media (max-width: 1199.98px) { /* XL */ }

@media (max-width: 991.98px) { /* LG */
    .navbar-collapse {
        transition: all 0.05s ease-out;
        max-height: 0;
        overflow: hidden;
        text-align: right;
        padding-right: 1rem;
    }
    
    
    .navbar-collapse.show {
        max-height: 500px; /* Достаточно большое значение */
    }
}

@media (max-width: 767.98px) { /* MD */ 
    .hero-title-wrapper h1 {
        font-size: clamp(28px, 10vw, 48px);
        letter-spacing: 0.03em;
        white-space: nowrap;        /* ⛔ Не переносить строку */
        overflow: hidden;
        text-overflow: clip;
        text-align: center;
      }
    
    .circle-1 {
        width: 470px;
        height: 470px;
        opacity: 1;
        top: calc(50% - 80px);
       
        right: -350px;
        transform: translateY(-50%);
    }
    .circle-2 {
        width: 425px;
        height: 425px;
        opacity: 1;
        top: calc(50% - 55px);
        right: -305px;
        transform: translateY(-50%);

    }
    .planet-orbit-1 {
        right: -350px;
        width: 470px;
        height: 470px;
        z-index: 50;
    }
    .planet-orbit-2 {
        right: -305px;
        width: 425px;
        height: 425px;
    
    }

}


@media (max-width: 575.98px) { /* SM */
    .circle-1, .circle-2 {
        opacity: 1;
    }
    footer .row {
        flex-direction: column;
        align-items: center !important;
        text-align: center;
        gap: 1rem;
    }

    footer .col-md-4 {
        width: 100%;
        justify-content: center !important;
    }

    footer .d-flex.justify-content-end {
        justify-content: center !important;
    }
}

@media (max-width: 400px)  { /* S */
    .circle-1, .circle-2 {
        opacity: 1;
    }
    .hero-title-wrapper h1 {
        font-size: 32px;
        letter-spacing: 0.02em;
        text-align: center;
      }
    footer .row {
        flex-direction: column;
        align-items: center !important;
        text-align: center;
        gap: 1rem;
    }

    footer .col-md-4 {
        width: 100%;
        justify-content: center !important;
    }

    footer .d-flex.justify-content-end {
        justify-content: center !important;
    }
}





