:root {
  /* Объявление переменной --primary-color */
  --primary-color: #445147; /* Пример: синий цвет */
  --primary-hover: #0056b3; /* Пример: цвет при наведении */
  --text:#E2E3E8;
  --bg4:rgba(255, 255, 255, 0.04);
  
}
		
.tenor-sans-regular {
  font-family: "Tenor Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
  
  }

.ibm-plex-sans-<uniquifier> {
  font-family: "IBM Plex Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

body{

    background: #21263A url(red.svg) no-repeat top left;background-attachment: fixed;
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-variation-settings:"wdth" 100;
    font-size:16px;
    color: var(--text);
    line-height:1.5;
    margin:0px;
    }
    
a {
    text-decoration: none;
    color:#84c0ff}
			
.head{
  color: white;
  border-radius:24px;
  width: 80%;
  padding:20px 10%;
  position: fixed;
  z-index: 999;
  background: linear-gradient(to bottom, rgba(33, 38, 58, 1), rgba(33, 38, 58, 0.6));
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  z-index:998;
   transition: transform 0.3s ease;
  }
  
  .head.hide {
  transform: translateY(-100%);
}

.corner{
  width: 1141px; 
  height: 111px; 
  position: absolute;
  top: 0;right: 0;
  background: url(sub.svg);
  z-index:3;}		
		
.headline h1{
  margin-bottom:0px;
  margin-top:0px;
  line-height:1.2;}
  
.headline p{
  text-align:center;}

.headline span{
  color:#6EDF78;}
  
  .headline .metrics {margin-left:0;}

.headline .metrics p{text-align:center; margin-left: 0;font-size: 16px; width:160px;}
.headline .metrics span {font-size: 32px;text-align:center;}

		
h1{
    font-size:78px;
    margin-top:0;
    line-height:1.1;
    color:white;}
		
h2{
    font-size:42px;
    color: white;
    line-height:1.2;
    font-family: "Tenor Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
    margin: 60px 0 12px 0;}

h3{
    font-size:28px;
    color: white;
    font-family: "Tenor Sans", 
    sans-serif;
    font-weight: 400;
    font-style: normal;}
   
summary{
    color:white;
    font-size:26px;
    font-weight: 300;
    font-style: normal;
    margin-bottom: 16px;
    cursor: pointer; 
    }
    
details {
    font-size:18px;
    margin:24px 0;
    color:var(--text);;
    }
    
details img{
    margin:0;
    }
details p{padding-left: 32px;text-align:left;font-size:18px;color:#989CAD;} 
details ul{padding-left: 32px;font-size:18px;color:#989CAD;} 
 
details summary::-webkit-details-marker {
  display: none;
}
details summary {
  list-style: none; /* Для Firefox и других */
  position: relative;
  padding-left: 32px; /* Место для кастомного значка */
  cursor: pointer;

}

.look: hover {opacity:0.5;}

/* Добавляем свой значок через ::before */
details summary::before {
  content: '+'; /* Ваш значок (символ, эмодзи или иконка) */
  position: absolute;
  color:#48495C;
  font-size:36px;
  font-weight:300;
  left: 0;
  top: -8px;
  transition: transform 0.3s; /* Анимация поворота */
}

/* Меняем значок при открытии */
details[open] summary::before {
  transform: rotate(45deg); /* Поворачиваем, например, "+" в "x" */
  content: '×'; /* Или меняем на другой символ, например, '−' */
}
    		
		
.content {
    text-align: center;
    padding-top:150px;}
		
.headline{
    font-size:24px;
    margin-bottom:32px;
    padding:24px 200px 36px 200px;
    font-weight: 300;
    font-style: regular;
    color:f9faff;}
		
.headline p{
    margin-top:40px;
    font-weight:300;
    color: var(--text);
    width: 70%;
    margin-left: 15%;}
		
.headline-in{
    text-align: center;
    margin:0 auto;
    width:66%;
    ont-size:24px;
    margin-bottom:32px;
    padding:0px 200px;
    font-weight: 300;
    font-style: regular;
    color:f9faff;}
		
.headline-in p{
    color: white; 
    opacity: 0.85;}

.navi{
    display: flex;
    justify-content: space-between;
    gap:12px;
    position:fixed;

    border-radius:8px;
    }
    
.navi a{

    background: var(--bg4);
    border-radius:12px;
    width: 49%;
        padding: 24px;
        text-align: center;

}
		
		
		
.works{
    display: grid;
    grid-template-columns: 1fr 1fr; 
    grid-column-gap: 30px;
 	margin: 70px 6% 40px 6%;
    width: 88%;}
    
.works a{margin-top:30px;}
	
		
.work {
    position: relative;
    }
.work p{margin-top:-20px;}    
    		
a .work p{
    color: var(--text);
  
    }
a .work span{
    color: #6EDF78;

    }
		
.hoverDIv{
    position: relative;
    margin: 20px;
    display: inline-block;
    padding: 10px;
    box-sizing: border-box;
    max-width: 550px;}
		
.im{
    background: rgba(216, 236, 255, 0.04) url(./img/.jpg);
    background-size: cover;
    border-radius:20px;
 	overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    aspect-ratio: 16 / 12;
    margin-top: 20px;}
		
.im img{
    transition: width 0.4s, 
    margin 0.4s;width:88%;
    }

.im img:hover {
    width: 90%;
    }

.nda{
    padding: 8px 12px; 
    color: white;
    position: absolute; 
    border-radius: 30px;
    background: rgba(10,10,60,0.7);
    top: 90%;
    }



.grey{
    padding: 12px 16px; 
    background:#E2E6E8; 
    border-radius: 6px;
    position: relative; 
    }
	
.time {
    margin-top: 16px;
    }	
	
.hide {
	width: 280px;
	transition: opacity 0.8s ease;
	opacity: 0;
	position: absolute;
	top: 0;        /* появится сразу под .grey */
	left: 0;
	background: #fff; /* фон, чтобы перекрывал нижний контент */
	border: 0px solid blue;
	border-radius: 6px;
	width: 100%; /* или 100%, если нужно во всю ширину */
	z-index: 100;        /* чтобы было поверх всего */
}

.hidein {
    padding:12px 16px;}

.grey:hover {
	background:white; border: 0px solid blue;
     }

.grey:hover .hide {
    opacity: 1;
    }


 #tooltip {
    padding: 16px 20px;
    background: white;
    color: #183865;
    border-radius: 12px;
    font-size: 16px;
    -webkit-box-shadow: 0px 16px 44px 0px rgba(34, 60, 80, 0.2);
    -moz-box-shadow: 0px 16px 44px 0px rgba(34, 60, 80, 0.2);
    box-shadow: 0px 16px 44px 0px rgba(34, 60, 80, 0.2);
    position: fixed;
    pointer-events: none;
    white-space: nowrap;
    display: none;
    z-index: 1000;
  }
  
.thumb img{width: 400px; height: auto;}
  
.tabs {
    display: flex;
    width: 100%;
    justify-content:center;

  }

.tabin{
    display: flex;
    cursor: pointer;
	background:rgba(216, 236, 255, 0.08);
	justify-content:center;
	width: auto;
	padding: 4px;
	border-radius:30px;}
	
.tab {
    padding: 10px 20px;
    color: white;
    border-bottom: none;
	border-radius:30px;
    background-color: none;
    user-select: none;
  }

.tab.active {
    background-color: white;
	color:#034;
    font-weight: bold;
  }

.tab-content {
	  margin-top: 24px;
      overflow: hidden;
      display: flex;
      justify-content:center;
      z-index:1;
 }
 
.tab-panel {
    display: none;
    }

.tab-panel.active {
    display: flex;
    width: 100%;
    justify-content: center;
  }
  
.anim {
    opacity: 0;
    transform: translateY(30px); /* смещение вниз */
    animation: slideUp 0.7s ease forwards;
  }
  

  @keyframes slideUp {
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  

    
.white-content {margin: 40px 16% 40px 16%;
    background: rgba(216, 236, 255, 0.04);
    padding:20px 50px 20px 50px;
    border-radius: 20px;
    color:white; }

section {
    margin: 40px 16% 40px 16%;
    width:68%;
    color: white;
    font-size:20px;
    }

section img{
    max-width: 100%; /* Не дает картинке быть больше родителя */
    height: auto;    /* Сохраняет пропорции */}

section h2{
  text-align: left;
  color:white;
  margin:60px 0 24px 0;}
  
section p span{
  font-size:32px;
  color:green;}
  
section p{

    font-size: 24px;
    font-weight:300;
    color: var(--text);
     }
    
.cover{
  width:1200px; 
  height: 850px; 
  overflow:hidden;
  border-radius:12px;
  margin:0 auto;
  padding: 30px 30px 0 30px; 
  border: 2px solid #345;
  display:flex;
  justify-content:center;
  align-items:center;}

video {
    border-radius:28px;}

.img-1-col{
    width:90%;
    margin-left: 5%; 
    margin-right:5%;
    display: grid;
    justify-content: center;}

.img-1-col img{
    margin-top:20px;
    width:100%;}


.img-2-col{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 30px;
    margin: 30px 0;
    width:100%;}

.img-2-col img{
    width:100%;margin:0;}

.white-content img{
    width:100%;}
    
.text-2-col{
    isplay: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 30px;}
    
.text-3-col{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 30px;
    }

.text-4-col {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: 30px;
    }


ul {
      list-style: none;
      padding-left: 0;
      margin: 0 0 24px 0;
      display: flex;
      flex-wrap: wrap;
      
          row-gap: 20px;
          column-gap: 44px;
    }

ul.column-3 {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px 48px;
    }

ul.column {
      flex-direction: column;
      gap: 20px;
      margin: 0;
    }

li {
      margin-bottom: 0;
      padding-left: 22px;
      position: relative;
      margin-top: 0;
      font-weight:300;
      color: var(--text);
      font-size: 20px;
      line-height:26px;   
      flex-basis: 42%;
    }

li:not(:last-child) {
      margin-bottom: 8px;
    }

li::before {
      content: "✦";
      color: #AEA9C0;
      position: absolute;
      left: 0px;
      font-size: 0.8em;
      line-height: 1;
      top: 6px;
    }
    

.hid ul {
    gap:8px;
    }
    

.hid li::before {
    content: "✦";
    color: #AEA9C0;
    font-size: 0.8em;
    }
    
.bold {
      
      font-weight: 400;
    color: white;
    }


.problems {
      display: flex;
      flex-wrap: wrap;
      gap: 42px;
      margin: 0 0 20px 0;
    }

.problem-block {
      width: 31%;
      min-width: 290px;
    }

.problem-block .bold {
      display: block;
      margin-bottom: 6px;
      font-size: 1.06rem;
    }
  
  
  
.menu {
  display: flex;
  justify-content: space-between;
  padding: 0;
  align-items: center;
  flex-wrap: nowrap;
}

.links a {
  color: #eff4fa;
  z-index: 999;
  padding: 12px 16px 12px 16px;
  line-height: 0.8;
  transition: background-color 0.4s;
  opacity: 0.7;
  border-radius: 30px;
  display: flex;
  align-items: center;
  text-decoration: none;
}

.links a:hover {
  background: rgba(216, 236, 255, 0.08);
  opacity: 1;
}

.links  img {
  margin-right: 10px;
  margin-bottom: -2px;

}

.links {
  display: flex;
  justify-content:flex-end;
  gap: 30px;
}

/* Иконка-бургер */
.burger {
  display: none;
  flex-direction: column;
  justify-content: space-around;
  width: 25px;
  height: 30px;
  cursor: pointer;
  z-index: 1001;
  transition: all 0.3s ease;
}

.burger div {
  width: 100%;
  height: 3px;
  background-color: #eff4fa;
  border-radius: 2px;
  transition: all 0.3s ease;
}

/* Состояние крестика */
.burger.active div:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

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

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

.skills{  
  color: #eff4fa;
  z-index: 999;
  background: rgba(216, 236, 255, 0.04);
  padding: 24px;
  line-height: 1.2;
  border-radius: 10px;
  align-items: flex-end;
  text-align: left;
  width:32%;
  height:300px;margin:10px;}
  
  .skills ul{display:block;margin-top:20px;}
  .skills span{font-size:18px; font-weight: 600; padding-bottom:12px;}
  .skills li{margin-bottom:10px;font-size:18px;}
  
 
.jobs {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  width: 100%;

  background: url(./img/work3.png);
padding-top:50px;
}

.jobs .j{
  height:40px;
  color: #eff4fa;
  z-index: 999;
  background: rgba(216, 236, 255, 0.04);
  padding: 12px 16px 12px 16px;
  line-height: 1.2;
  transition: background-color 0.4s;
  border-radius: 10px;
  align-items: flex-end;
  text-align: left;
  text-decoration: none;
  margin-left:-20px;
}



.jobs .j .sub{
    color: var(--text);
    margin-top:2px;
    }

.jobs .year{
    border-right: 0px; height: 180px;width: 20px;color: white;
    opacity:0.5;
    border-width: 1px;
    border-style: solid;
    border-image: 
    linear-gradient(
      to bottom, 
      rgba(255,255, 255, 0.3), 
      rgba(0, 0, 0, 0)
    ) 1 100%;
    border-right:0px solid black;
    }


.jobs .year span{
    left:-12px;
    top:-52px;
    position: relative;
    display: grid;
    justify-content: center;
    }

.jobs .j span{
	font-weight:600;
    color: white;
    }

.j .hid{
    display: none;
    width:300px;
    background: #343A4E; 
    padding: 16px 16px 8px 16px;
    margin-left:-16px;
    height: fit-content;z-index:1000;
    position:absolute;
    border-radius: 10px;
    opacity: 0;
    font-size: 14px;
    visibility: hidden; /* Hides it from screen readers and pointer events */
    transform: translateY(60px); /* Starts 50px below its final position */
    transition: opacity 0.3s ease-out, transform 0.3s ease-out, visibility 0.3s steps(1, end);
    display: block; }

.j:hover .hid{
    opacity: 1;
    visibility: visible;
    transform: translateY(16px); /* Moves to its final position (0 offset) */
    transition: opacity 0.3s ease-out, transform 0.3s ease-out, visibility 0.3s steps(1, start);
    }
    
.hid ul{display:block;}

.j:hover{background: rgba(216, 236, 255, 0.10); }



/* Фон затемнения */
.overlay {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 999;
}



/* Адаптив для мобильных: показываем бургер, скрываем обычные ссылки */

@media (max-width: 3000px) {


.navi{
    display: flex;
    justify-content: space-between;
   position: relative;
   height: 80px;
   width: 100%;
   padding: 10px 0;

    }
    
.navi a{

    color: white;
}

#footer{width:80%; margin: 24px 10% 30px 10%;
  display: flex;
  justify-content: center;
}



.skills-wrap{flex-direction: row-reverse;}

.jobs .j{
  width: 300px;
}
  

  section h2 {
    width: 60%;
    margin-left:20%;
    margin-right: 20%;
}

section p{
  margin-left:20%; 
  margin-right: 20%;
  width:60%;
}

section details{
  margin-left:20%; 
  margin-right: 20%;
  width:60%;
}

section .narrow-col{
  margin-left:20%; 
  margin-right: 20%;
  width:60%;
}
 
  section .text-2-col{
  display:grid;
  gap:20px;
  margin-left:0%; 
  margin-right: 0%;
  width:100%;
}
.text-2-col img{}  
}

@media (max-width: 1440px) {
.links{width:70%;position:relative;}
.links a{font-size: 100%;}
h2{font-size:36px;}

  section p{
    margin-left:20%; 
    margin-right: 20%;
    width:60%;
  }
}

@media (max-width: 1240px) {

.links{width:100%;}
.links a{font-size: 80%;}

.navi{
    display: flex;
    justify-content: space-between;
   position: relative;
   height: 50px;
   width: 50%;
   padding: 20px 0;

    }
    
.navi a{
    color: white;
}

  #footer{
    width:80%; 
    margin: 30px 10% 30px 10%;
    display: flex;
    justify-content: center;
  }


  .skills-wrap{flex-direction: row-reverse;}

  .jobs .j{
    width: 300px;
    }
  
  section p{
    margin-left:20%; 
    margin-right: 20%;
    width:60%;
  }
  
  section h2 {
    width: 60%;
    margin-left:20%;
    margin-right: 20%;
  }
  
}

@media (max-width: 768px) {

.links {
    display: none;
  }

.burger {
    display: flex;
  }
  

.jobs .j{
  width: 300px;}
  

.menu {
    display: flex;
    justify-content: space-between;
    padding: 8px 20px 8px 20px;
    }
}


  
  
@media only screen and (max-width: 480px) {
  



.links {
    display: none;
  }

.burger {
    display: flex; flex-direction:row;width: 60%;;
  }
  

.burger img{
    width:44px;
    }
  
.menu {
    display: flex;
    justify-content: space-between;
    padding: 8px 20px 8px 20px;
    } 
  
.tabs{
    width: 100%;
    overflow: hidden;}

.head{
    padding: 24px 3%;
    width: 100%;
    position: fixed;}
		
.tab-content img{
    width:200%;
    }
    	
.menu {
    overflow:hidden;
    }
 
 
.logo {
     width:132px;
     height:auto;
     margin-top:6px;}
   
.logo img{
    width:150px;
    }
  
.headline{
  font-size:17px;
  margin-bottom:12px;
  padding:0px 0px;
  margin-top:16px;
}

.headline p{
    width: 92%;
    margin: 32px 4% 32px 4%;
    }
	
h1{font-size:36px;}

h2{font-size:28px;}
	
.works {
    display: grid;
    grid-template-columns: 1fr;
    grid-column-gap: 30px;
    margin: 30px 3% 30px 3%;
    width: 94%;
  }
  
.headline-in {
    text-align: center;
    padding: 0;
    width: 92%;
    font-size: 18px;
    margin: 32px 4% 32px 4%;
  }

section {
    margin:7%;
    width: 86%;
}
section h2{
    margin:0 0 20px 0;
    width:100%;
    text-align:left;
    }
    
section p{
    margin:0;
    width:100%;
    text-align:left;
    font-size: 18px;
    }

section .narrow-col {
        margin: 0;
        width: 100%;
    }
    
section .narrow-col ul li{
  
    flex-basis: 100%;
    }

section img{
    width:100%;
    }
 

.content {
    width: 100%;
    padding-top: 120px;
  }
  
  
.white-content {
    margin:16px 0px;
    padding: 20px 20px 20px 20px;
  }

.skills-wrap{
    flex-direction: column;
  }

.skills{  
    width:82%;
    margin:3%;
  }




.jobs{
    justify-content: flex-start;
    width: 100%;
    overflow-y: scroll;
  }


.jobs .j {
  height: 72px;
  flex-basis: 28%; /* Рекомендуемый способ в Flexbox */
  flex-shrink: 0;
  font-size: 12px;
  }

.jobs .j span{
    font-size: 15px;
    margin-bottom: 8px;
    }

.j .hid{
    display: none;width:80%;background:rgba(58, 60, 92, 0.97); 
    padding: 12px 16px 12px 16px;position: absolute; top:50%; left:10%;
    height: fit-content;z-index:1000;position:absolute;  border-radius: 10px;
    opacity: 0;
    visibility: hidden; /* Hides it from screen readers and pointer events */
    transform: translateY(60px); /* Starts 50px below its final position */
    transition: opacity 0.3s ease-out, transform 0.3s ease-out, visibility 0.3s steps(1, end);
    display: block; }

.j:hover .hid{opacity: 1;
    visibility: visible;
    transform: translateY(16px); /* Moves to its final position (0 offset) */
    transition: opacity 0.3s ease-out, transform 0.3s ease-out, visibility 0.3s steps(1, start);
  }

 
.cover {
    width: auto;
    padding: 4px;
    margin:16px 0px;
    height: auto;
  }
  
video {
    width:96%;
    }

.img-2-col{
  grid-template-columns: 1fr;
  }
  
.img-1-col{
    grid-template-columns: 1fr;
    margin:0;width:100%;
    overflow: hidden;
    justify-items: center;
    }
  
.img-1-col img{
    max-width:96%;margin:10px 2%;
    }
  
.text-3-col {
    grid-template-columns: 1fr;
    }

.img-2-col img{
    margin-top: 16px;
    }
  
ul.column-3 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 20px;
    }
  


.j:hover .hid{
    opacity: 0;
    visibility: none;
    }

.navi{
   position: relative;
   height: 72px;
   width: 100%;
   padding:20px 0;
    }

    
.navi a{
    background: var(--bg4);
    color:white;
    }
    
#footer{
  width:100%; 
  margin: 0;
  display: grid;
  }    
  
}
