/* ========================================
CRITICAL CSS FOR HOME PAGE
Оптимизированные стили только для главной страницы
======================================== */


*{
margin: 0;
padding: 0;
box-sizing: border-box;
}

/* smooth scrolling centralized in root style.css */

body{
font-family: 'Roboto',Arial,sans-serif;
background: #000;
margin: 0;
padding: 0;
line-height: 1.6;
color: #fff;
}


.page-loader{
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 9999;
display: flex;
align-items: center;
justify-content: center;
transition: opacity 0.5s ease-out,visibility 0.5s ease-out;
background: rgba(0,0,0,0.85);
}

.page-loader.hidden{
opacity: 0;
visibility: hidden;
pointer-events: none;
}


.mono-header{
background: #000;
color: #fff;
width: 100%;
position: sticky;
top: 0;
left: 0;
right: 0;
z-index: 1000;
font-family: 'Roboto',Arial,sans-serif;
transition: box-shadow 0.2s;
box-shadow: 0 2px 16px 0 rgba(16,16,20,0.04);
}

.mono-header__container{
max-width: 1400px;
margin: 0 auto;
padding: 0 24px;
display: flex;
align-items: center;
justify-content: space-between;
height: 80px;
}


.hero-section{
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
}

.hero-section__bg{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
}

.hero-section__bg video{
width: 100%;
height: 100%;
object-fit: cover;
}


.hero-section__content{
position: relative;
z-index: 3;
text-align: center;
color: #fff;
max-width: 800px;
padding: 0 20px;
}

.hero-title{
font-size: 3.5rem;
font-weight: 700;
line-height: 1.1;
margin-bottom: 1.5rem;
background: linear-gradient(90deg,#8EBBF3 0%,#5E52F3 56%,#CA5AFF 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}

.hero-subtitle{
font-size: 1.25rem;
color: #ccc;
margin-bottom: 2rem;
line-height: 1.6;
}


.partners-section{
padding: 80px 0;
background: #111;
}

.partners-section__trusted{
text-align: center;
color: #888;
margin-bottom: 40px;
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 1px;
}

.partners-marquee{
overflow: hidden;
white-space: nowrap;
position: relative;
}

.partners-marquee__track{
display: flex;
align-items: center;
gap: 140px;
animation: marquee-scroll 28s linear infinite;
will-change: transform;
width: max-content;
min-width: 200%;
}

@keyframes marquee-scroll{
0%{transform: translateX(0%);}
100%{transform: translateX(-50%);}
}

.partner-logo{
max-width: 150px;
max-height: 50px;
object-fit: contain;
filter: grayscale(100%) brightness(0.7);
transition: filter 0.3s ease;
}

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


@media (max-width: 1200px){
.hero-title{
font-size: 3rem;
}

.mono-header__container{
padding: 0 20px;
}
}

@media (max-width: 768px){
.hero-title{
font-size: 2.5rem;
}

.hero-subtitle{
font-size: 1.1rem;
}

.partners-marquee__track{
gap: 80px;
}

.partner-logo{
max-width: 120px;
max-height: 40px;
}
}

@media (max-width: 480px){
.hero-title{
font-size: 2rem;
}

.partners-marquee__track{
gap: 60px;
}

.partner-logo{
max-width: 100px;
max-height: 35px;
}
}
