body{

margin:0;
font-family:Arial, sans-serif;

background:#0b0f1a;
color:white;

}



/* HEADER */

header{

display:flex;
justify-content:space-between;
align-items:center;

background:#111;

padding:12px 40px;

position:fixed;
top:0;
width:100%;

box-sizing:border-box;

z-index:1000;

}



.menu-left,
.menu-right{

display:flex;
gap:25px;

}



header a{

color:white;
text-decoration:none;
font-size:16px;

}



header a:hover{

color:#00e5ff;

}



.logo{

display:flex;
align-items:center;
justify-content:center;
gap:20px;

font-size:32px;
font-weight:700;
color:white;

margin-top:20px;

}

.gear{

width:50px;
height:50px;

animation:gearRotate 8s linear infinite;

filter:
drop-shadow(0 0 4px #ffb300)
drop-shadow(0 0 10px #ff9800)
drop-shadow(0 0 18px #ff8c00);

}

.logo-text{

background:linear-gradient(90deg,#ffffff,#bfbfbf);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;

letter-spacing:1px;

}

@keyframes gearRotate{

from{
transform:rotate(0deg);
}

to{
transform:rotate(360deg);
}

}

/* HERO */

.hero{

min-height:100vh;

background-image:url("images/niva.png");

background-size:cover;
background-position:center;

display:flex;
align-items:center;
justify-content:center;

padding-top:120px;

}



/* HERO CONTENT */

.hero-inner{

max-width:1200px;
text-align:center;
padding:20px;

}



h1{

font-size:40px;
margin-bottom:10px;

}



.subtitle{

font-size:20px;
opacity:0.9;

}



/* CARDS */

.cards{

display:grid;

grid-template-columns:1fr 1fr 1fr;

gap:30px;

margin-top:50px;

}



.card{

background:#151a2b;

padding:30px;

border-radius:12px;

box-shadow:0 10px 30px rgba(0,0,0,0.6);

border-top:6px solid #00e5ff;

transition:0.3s;

}



.card:nth-child(2){

border-top:6px solid #00c853;

}



.card:nth-child(3){

border-top:6px solid #ff9800;

}



.card h3{

font-size:22px;
margin-bottom:15px;

}



.card p{

font-size:15px;
line-height:1.6;

color:#d5d9e3;

}



.card:hover{

transform:translateY(-8px);

box-shadow:0 15px 40px rgba(0,0,0,0.9);

}



/* MAP */

.map-section{

padding:80px 20px;

background:#0e1424;

text-align:center;

}



#map{

width:100%;
height:600px;

}



/* НЕОНОВЫЙ КОНТУР РФ */

.leaflet-interactive{

filter: drop-shadow(0 0 6px #ff0033)
       drop-shadow(0 0 12px #ff0033);

}


/* КОНТАКТЫ */

.contacts{

text-align:center;
margin:80px auto;
color:white;

}



.contact-info{

font-size:18px;
line-height:1.7;

}



/* КНОПКА TELEGRAM */

.telegram-btn{

display:inline-block;
margin-top:20px;

padding:14px 35px;

background:#2AABEE;
color:white;

text-decoration:none;
font-weight:bold;

border-radius:8px;

transition:0.3s;

}



.telegram-btn:hover{

background:#1d8fd1;

}



/* ФОРМА */

.feedback{

max-width:600px;
margin:80px auto;
text-align:center;

}



.contact-form{

display:flex;
flex-direction:column;
gap:15px;

}



.contact-form input,
.contact-form textarea{

padding:14px;
border-radius:6px;
border:none;

font-size:16px;

}



.contact-form textarea{

height:120px;

}



.contact-form button{

padding:15px;

background:#00e5ff;
border:none;

font-weight:bold;
font-size:16px;

border-radius:6px;
cursor:pointer;

transition:0.3s;

}



.contact-form button:hover{

background:#00c5de;

}


/* LABELS НА КАРТЕ */

.regionLabel{

background:rgba(0,0,0,0.6);

padding:4px 8px;

border-radius:6px;

border:1px solid #00e5ff;

color:#00e5ff;

font-size:13px;

font-weight:600;

text-shadow:0 0 6px rgba(0,0,0,0.9);

}