@font-face {
    font-family: 'Heros-Condensed';
    src: url('fonts/texgyreheroscn-regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

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

::selection {
    background-color: #fff;
    color: #000; 
}

:root {
    --sign-height: clamp(24px, 1.9vw, 36px);
    --main-paddings: 20px;
    --m-font-size: clamp(18px, 1.2rem, 24px);
    --l-font-size: clamp(24px, 1.6rem, 32px);
}

@media (max-width: 768px) {
    :root {
       --main-paddings: 12px;
   }
}

html, body {
    overflow-x: hidden;
    overscroll-behavior: none;
    background-color: #000;
    top: 0;
    margin: 0;
    font-size: clamp(12px, 1vw, 32px);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media (aspect-ratio > 1/1) {
    html, body  {
        overflow-y: auto;
    }
}

@media (max-aspect-ratio: 1/1) {
    html, body {   
        overflow-y: hidden;
    }
}

.heros {
  font-family: "Heros-Condensed", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.01em;
  -webkit-text-stroke: 0.04em;
  color: #fff;
}

.heros::selection {
    background-color: #fff;
    color: #000;
}

.font-size-m {
    font-size: var(--m-font-size);
    line-height: 1.2em;
}
.font-size-l {
    font-size: var(--l-font-size);
    line-height: 1.2em;
}

.font-uppercase {
    text-transform: uppercase;
}

.hidden {
    opacity: 0;
}

.not-display {
    display: none !important;
}





.section {
    width: 100vw;
    position: static;
}
@media (aspect-ratio > 1/1) {
    .section {
        height: 100vh;
    }
}
@media (max-aspect-ratio: 1/1) {
    .section {
        height: 100dvh;
    }
}




.section-content {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    gap: var(--main-paddings);
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    z-index: 2;
}
@media (min-width: 769px) {
    .section-content {
        padding: calc(var(--main-paddings) - 2px) var(--main-paddings) calc(var(--main-paddings) + 2px);
    }
}
@media (max-width: 768px) {
    .section-content {
        padding: calc(var(--main-paddings) - 4px) var(--main-paddings) calc(var(--main-paddings) + 4px);
    }
}

.section-content * {
    transition: opacity 0.1s ease;
}



.logo-sign__svg {
    height: var(--sign-height);
    width: fit-content;
    padding: 8px;
    margin: -8px;
    box-sizing: content-box;
    z-index: 15;
    cursor: pointer;
}


.logo-sign__svg__path {
    fill: #fff;
}


.nav {
    position: absolute;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-left: var(--main-paddings);   
    padding-right: var(--main-paddings);
}

@media (max-width: 768px) {
    .nav {
    }
}

@media (min-width: 769px) {
    .nav {
        top: 50%;
        transform: translateY(-87%);
    }
}

.nav-li {
    padding: 3.5px 10px 5px;
    margin: -3.5px -10px -5px;
}

.nav-li:hover {
    background-color: #000;
    cursor: pointer;
}

@media (pointer: coarse) {
    .nav-li:hover {
        background-color: inherit;
        color: inherit;
    }
}




.line {
    width: 580px;
    max-width: 45vw;
    text-align: center;
}

@media (max-width: 768px) {
    .line {
        max-width: 70vw !important;
    }
}



.contacts {
    display: flex;
    flex-direction: column;
    align-items: center;
}



@media (min-width: 769px) {
    .line, .contacts  {
        margin-bottom: 20px;
    }
}


.expertise-scheme {
    pointer-events: none;
}
@media (min-width: 769px) {
    .expertise-scheme {
        height: 70vh;
    }
}
@media (max-width: 768px) {
    .expertise-scheme {
        height: 80svh;
        max-width: calc(100vw - 24px);
    }
}



.logo-text__wrap {
    height: fit-content; 
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; 
}

.logo-text__svg {   
    height: calc(var(--sign-height) * 0.85);
    width: fit-content;
    box-sizing: content-box;
    padding: 8px;
    margin: -8px;
    z-index: 15;
    cursor: pointer;
}
.logo-text__svg__path {
    fill: #fff;
    fill-rule: evenodd;
}




.section-bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
}

.video-canvas {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media (aspect-ratio > 1/1) {
    .video-canvas {
        height: 100%;
    }
}
@media (max-aspect-ratio: 1/1) {
    .video-canvas {
        height: 120%;
    }
}
