/*нормализация стилей*/

/* Reset and base styles  */
* {
    padding: 0px;
    margin: 0px;
    border: none;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

header {
    width: 100%;
    transition: transform 0.4s ease, opacity 0.7s ease;
    z-index: 100;
}
header.fixed {
  position: fixed;
  transform: translateY(0);
  opacity: 1;
}

header.hidden {
  transform: translateY(-100%);
  opacity: 0;
}
/* Links */

a, a:link, a:visited  {
    text-decoration: none;
}

a:hover  {
    text-decoration: none;
}
body > img {
    width: 100%;
}
body {
    position: relative;
}
/* Common */

aside, nav, footer, header, section, main {
    display: block;
}

h1, h2, h3, h4, h5, h6, p {
    font-size: inherit;
    font-weight: inherit;
}

ul, ul li {
    list-style: none;
}

img {
    vertical-align: top;
}

img, svg {
    max-width: 100%;
    height: auto;
}

address {
    font-style: normal;
}

/* Form */

input, textarea, button, select {
    font-family: inherit;
    font-size: inherit;
    color: inherit;
    background-color: transparent;
}

input::-ms-clear {
    display: none;
}

button, input[type="submit"] {
    display: inline-block;
    box-shadow: none;
    background-color: transparent;
    background: none;
    cursor: pointer;
}

input:focus, input:active,
button:focus, button:active {
    outline: none;
}

button::-moz-focus-inner {
    padding: 0;
    border: 0;
}

label {
    cursor: pointer;
}

legend {
    display: block;
}

input[type='file'] {
    max-width: 100%;
}

@font-face {
    font-family: 'Atyp Display';
    src: url('../fonts/AtypDisplay-Medium.woff2') format('woff2'),
    url('../fonts/AtypDisplay-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Atyp Display';
    src: url('../fonts/AtypDisplay-Regular.woff2') format('woff2'),
    url('fonts/AtypDisplay-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


/*цвета*/
:root {
    --background-sand-color: #E2DED5;
    --text-primary-color: #1E1E1E;
    --brand-green-color: #083928;
    --text-tetriary-color: #B3B3B3;
    --text-secondary-color: #757575;
    --background-secondary-color: #F6F6F6;

}
a, a:after, button {
    transition: all ease 0.2s ;
}
/*Шрифты*/
:root {
    --font-button-base-desktop : normal 400 20px/20px 'Atyp Display';
}
/*Отступы*/
:root {
    --section-padding: 0px calc( 32px + (100vw - 1024px)/44.8) 0px calc( 32px + (100vw - 1024px)/44.8);
}

/*-----общие стили-----*/
body {
    font-family: 'Inter';
    color: var(--text-primary-color);
}
.container {
    max-width: 1816px;
    margin: 0 auto;
}
h1,h2,h3,h4,h5,h6 {
    font-family: "Atyp Display";
    font-weight: normal;
    text-transform: uppercase;
}
.button_base {
    font-family: "Atyp Display";
    font-weight: 500;
    font-size: 14px;
    line-height: 14px;
    text-transform: uppercase;
    color: var(--text-primary-color);
    padding: 2px;
}
.button_base:hover {
    opacity: 0.5;
}
.bg-send-color, header {
    background: var(--background-sand-color);

}
.section-padding {
    padding: 0 16px 0 16px;
}
header .header-inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0 10px 0;
    box-sizing: border-box;
    border-bottom: 1px solid rgb(30 30 30 / 10%);
}
header .header-inner button svg {
    height: 20px;
}
header .header-inner button {
    display: flex  ;
    flex-direction: row;
    align-items: center;
    padding: 8px 0px!important;
}
header .logo img {
    height: 30px;
}
header .logo a {
    display: block;
}

.padding-tb {
    padding-top: clamp(32px, calc(32px + (100vw - 375px)/24), 52px)!important;
    padding-bottom: clamp(32px, calc(32px + (100vw - 375px)/24), 52px)!important;
}
#mainscreen img {
    height: clamp(64px, calc(64px + (100vw - 375px)/18), 112px);
    margin-bottom: 28px;
}
h1 {
    font-size: clamp(32px, calc(32px + (100vw - 375px)/19), 76px);
    line-height: clamp(36px, calc(36px + (100vw - 375px)/12), 92px);
    margin-bottom: 120px;
}
/*-----медиа запросы-----*/

p, a.link-bordered {
    font-size: clamp(14px, calc(14px + (100vw - 375px)/81.2), 22px);
    line-height: clamp(18px, calc(18px + (100vw - 375px)/81.2), 26px);

}
#mainscreen p {
    width: 84vw;
}
h2 {
    font-size: clamp(24px, calc(24px + (100vw - 375px)/23), 52px);
    line-height: clamp(28px, calc(28px + (100vw - 375px)/21), 58px);
    margin-bottom: clamp(28px, calc(28px + (100vw - 375px)/27), 52px);
}
h3 {
    font-size: clamp(18px, calc(18px + (100vw - 375px)/81), 26px);
    line-height: clamp(24px, calc(24px + (100vw - 375px)/81), 32px);
    margin-bottom: clamp(8px, calc(8px + (100vw - 375px)/81), 16px);
}
h2 span {
    color: var(--text-tetriary-color);
}
#stress {
    padding-top: clamp(40px, calc(40px + (100vw - 375px)/20), 72px);
    padding-bottom: clamp(64px, calc(64px + (100vw - 375px)/81), 72px);
}
.stress-columns .stress-col:not(:first-child), #stress img+h3, .tesis-list .tesis:not(:first-child) {
    margin-top: clamp(24px, calc(24px + (100vw - 375px)/18), 60px);
}
.stress-columns {
    display: block;
}
.stress-columns .stress-col img {
    width: 100%;
}
#steps .step {
    text-align: center;
    margin-bottom: clamp(24px, calc(24px + (100vw - 375px)/27), 48px);
    width: 70vw;
}
#steps .column-inner .left-col {
    display: flex;
    flex-direction: column;
    align-items: center;
}
#fullimage {
    background: var(--brand-green-color);
    padding-top: clamp(240px, calc(240px + (100vw - 375px)/5.4), 360px);
    padding-bottom: clamp(240px, calc(240px + (100vw - 375px)/5.4), 360px);
    background-size: cover;
    background-position: center;
    color: #fff;
    text-align: center;
    background-repeat: no-repeat;
    max-width: 1920px;
    margin: 0 auto;
}
#steps .container {
    max-width: 1920px;
}
#veles {
    background: var(--background-secondary-color);
}
#veles .char-list {
    margin-top: clamp(20px, calc(20px + (100vw - 375px)/32), 40px);
}
.char-list  {
    display: flex;
    flex-direction: row;
    margin-bottom: clamp(32px, calc(32px + (100vw - 375px)/20), 64px);
}
.char-list .char-item:first-child {
    margin-right: clamp(16px, calc(16px + (100vw - 375px)/16), 56px);
}
.char-list .char-item p {
    color: var(--text-secondary-color);
}
.btn-primary {
    text-transform: uppercase;
    font-size: clamp(14px, calc(14px + (100vw - 375px)/108), 20px);
    line-height: clamp(14px, calc(14px + (100vw - 375px)/108), 20px);
    color: #fff;
    background: var(--brand-green-color);
    border: 1px solid var(--brand-green-color);
    padding: clamp(16px, calc(14px + (100vw - 375px)/81), 24px) clamp(24px, calc(14px + (100vw - 375px)/81), 32px);
    border-radius: 8px;
}
.btn-primary:hover {
    background: #fff;
    color: var(--brand-green-color);
}
.char-list .char-item:last-child {
    display: none;
}
.action-green {
    display: flex;
}
#founder img {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    margin-bottom: clamp(24px, calc(24px + (100vw - 375px)/40), 40px);
}
#founder .img-inner {
    display: flex;
    justify-content: center;
}
blockquote {
    font-size: clamp(14px, calc(14px + (100vw - 375px)/81), 22px);
    line-height: clamp(20px, calc(10px + (100vw - 375px)/64), 30px);
    text-align: center;
    margin-bottom: clamp(16px, calc(16px + (100vw - 375px)/81), 24px);
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
blockquote + p.autor {
    color: var(--text-tetriary-color);
    text-align: center;
}
#founder,#firststep {
    padding-top: clamp(40px, calc(40px + (100vw - 375px)/20), 72px);
    padding-bottom: clamp(64px, calc(64px + (100vw - 375px)/20), 96px);
}
#firststep {
    text-align: center;
}
#firststep .action-green {
    display: flex;
    justify-content: center;
}
#firststep p {
    margin-bottom: clamp(32px, calc(32px + (100vw - 375px)/20), 64px);
}
.social-item img {
    width: clamp(20px, calc(20px + (100vw - 375px)/54), 32px);
    height: clamp(20px, calc(20px + (100vw - 375px)/54), 32px);
}
.social-list, .contact-list, .legal-list {
    display: flex;
}
.social-item {
    padding: clamp(12px, calc(12px + (100vw - 375px)/81), 20px);
    border: 1px solid #D9D9D9;
    border-radius: 8px;
}
.social-item:hover {
    border: 1px solid var(--text-primary-color);
}
.social-list .social-item:first-child, .contact-list .contact-item:first-child   {
    margin-right: 12px;
}
.social-list, .contact-list {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-bottom: 32px;
}
.legal-list {
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.legal-list p {
    margin-bottom: 32px;
    display: inline-block;
}
footer .container {
    padding-top: 32px!important;
    padding-bottom: 32px!important;
    border-top: 1px solid rgb(30 30 30 / 10%);
}
a.link-bordered {
    color: var(--text-primary-color);

}
a.link-bordered:after {
    content: "";
    width: 100%;
    height: 1px;
    background: var(--text-tetriary-color);
    position: relative;
    display: block;
    bottom: 1px;
}
a.link-bordered:hover:after {
    background: var(--text-primary-color);
}
#relaximg .container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
#relaximg img {
    width: 31%;
}
#relaximg img:first-child, #relaximg img:last-child {
    display: none;
}
#project_main {
    height: 40vh;
    background-size: cover;
    background-position: center;
}
.sec_obj {
    margin: 50px 0px;
}
  #cookie {
    bottom: 0px;
    left: 0px;
    position: fixed;
    background: #FFFFFF;
    box-shadow: 0px 4px 40px rgb(0 0 0 / 35%);
    padding: 1rem;
    width: 100%;
    transform: translateY(100%);
    opacity: 0;
    transition: transform .3s, opacity .3s;
    z-index: 999;
    }
    #cookie.show {
    opacity: 1;
    transform: translateY(0);
    }
    #cookie .cookie-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    }
    #cookie .cookie-text {
        margin-right: 1rem;
    }
    #cookie .cookie-text a {
    color: #083928;
    text-decoration: underline;
    opacity: 1;
    }
      #cookie .cookie-text a:hover {
    opacity: 0.8;
    }
    #cookie p {
    font-size: 12px;
    line-height: 1.5;
    }
    #cookie button {
        padding: 15px; 
        border-radius: 4px;
    color: #fff;
    background: var(--brand-green-color);
    border: 1px solid var(--brand-green-color);
    width: 100%;
    margin-top: 1rem;
    }
    #cookie button:hover {
        background: #fff;
        color: var(--brand-green-color);
    }
    #modal_menu {
        position: fixed;
    z-index: 990;
    top: 0px;
    left: 0px;
    width: 100vw;
    height: 100vh;
    background: var(--background-sand-color);
    display: none;
    }
    #modal_menu #modal_close {
            position: absolute;
    right: 1rem;
    top: 1rem;
    padding: 1rem;
    background: #fff;
    border-radius: 8px;
    z-index: 991;
    }
     #modal_menu ul li {
        padding: 1rem;
    text-align: center;
    font-size: 2rem;
    text-transform: uppercase;
     }
    #modal_menu ul {
        height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
     }
 
        #modal_menu ul li a {
    color: var(--text-primary-color);
    opacity: 1;
}

     
#modal_menu ul li a:hover {
    opacity: 0.8;
}
/*планшет*/
@media screen and (min-width: 640px) {
    #project_main {
    height: 50vh;
}
    #relaximg img {
        width: 23%;
    }
    #relaximg img:first-child{
        display: block;
    }
     .button_base {
        font-size: clamp(14px, calc(14px + (100vw - 640px)/64), 20px);
        line-height:clamp(14px, calc(14px + (100vw - 640px)/64), 20px);

    }
    .char-list .char-item:last-child {
        display: block;
    }
    .char-list .char-item:not(:last-child) {
        margin-right: clamp(16px, calc(16px + (100vw - 375px)/16), 56px);
    }
    header .header-inner button svg {
        height: calc(20px + (100vw - 640px)/32);
        max-height: 32px;
    }
    header .logo img {
        height: calc(30px + (100vw - 640px)/21.3);
        max-height: 48px;
    }
    .section-padding {
        padding: 0 calc( 32px + (100vw - 1024px)/44.8) 0 calc( 32px + (100vw - 1024px)/44.8);
    }
    h1 {
        font-size: clamp(32px, calc(32px + (100vw - 375px)/19), 76px);
        line-height: clamp(36px, calc(36px + (100vw - 375px)/12), 92px);
        margin-bottom: 128px;
    }
    #fullimage {
        margin-top: calc( 32px + (100vw - 1024px)/44.8)!important;
    }
    header .header-inner button {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 8px 12px !important;
}

}

/*десктоп*/
@media screen and (min-width: 1024px) {
    #cookie {
    bottom: 20px;
    left: 20px;
    border-radius: 8px;
    padding: 1rem;
    width: 600px;
    transform: translateY(100%);
    opacity: 0;
    transition: transform .3s, opacity .3s;
    }
        #cookie .cookie-inner {

    flex-direction: row;
 
    }
       #cookie button {
        padding: 15px; 
        border-radius: 8px;
        width: auto;
        margin-top: 0px;
    }

    #relaximg img {
        width: 19%;
    }
    #relaximg img:last-child{
        display: block;
    }
    #steps h2 {
        width: 85%;
    }
    footer .flex-row {
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        justify-content: space-between;
    }
    .legal-list {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
    .legal-list p {
        margin-bottom: 0;
    }
    #firststep h2 {
        padding: 0 5%;
    }
    #firststep p {
        padding: 0 16%;
    }
    #founder, #firststep {
        padding-top: clamp(72px, calc(72px + (100vw - 1024px)/22), 112px);
        padding-bottom: clamp(96px, calc(96px + (100vw - 1024px)/20), 140px);
    }

    blockquote {
        font-size: clamp(22px, calc(22px + (100vw - 1024px) / 424), 24px);
        line-height: clamp(30px, calc(30px + (100vw - 1024px) / 424), 32px);
    }
    #veles > .container > p {
        width: 80%;
    }
    #fullimage {
        padding-top: clamp(360px, calc(360px + (100vw - 1024px)/21), 400px);
        padding-bottom: clamp(360px, calc(360px + (100vw - 1024px)/21), 400px);
    }
header .header-inner button span {
    top: -2px;
    position: relative;
    margin-left: 12px;
}
    .button_base {
        padding: 4px;
    }
    h1 {
        font-size: clamp(76px, calc(76px + (100vw - 1024px)/44), 96px);
        line-height: clamp(92px, calc(92px + (100vw - 1024px)/112), 100px);
    }
    #mainscreen img {
        margin-bottom: clamp(28px, calc(28px + (100vw - 1024px)/224), 32px);
    }
    p, a.link-bordered {
        font-size: clamp(22px, calc(14px + (100vw - 1024px)/424.5), 24px);
        line-height: clamp(26px, calc(18px + (100vw - 1024px)/424.5), 28px);

    }
    #mainscreen p {
        width: 48vw;
    }
    h2 {
        font-size: clamp(52px, calc(52px + (100vw - 1024px)/37), 76px);
        line-height: clamp(58px, calc(58px + (100vw - 1024px)/37), 82px);
        margin-bottom: clamp(52px, calc(52px + (100vw - 1024px)/27), 64px);
    }
    #stress {
        padding-top: clamp(72px, calc(72px + (100vw - 1024px)/22), 112px);
        padding-bottom: clamp(72px, calc(72px + (100vw - 1024px)/70), 112px);
    }
    h3 {
        font-size: clamp(24px, calc(24px + (100vw - 1024px)/112), 32px);
        line-height: clamp(32px, calc(32px + (100vw - 1024px)/112), 40px);
    }
    .stress-columns .stress-col:not(:first-child), .tesis-list .tesis:not(:first-child) {
        margin-top: 0;
    }
    #stress img+h3 {
        margin-top: 32px;
    }
    .stress-columns, .tesis-list {
        display: flex;
        flex-direction: row;
        justify-content: space-between;

    }
    .stress-columns .stress-col, .tesis-list .tesis {
        width: 32%;
        max-width: 579px;
    }
    #steps .step {
        width: 70%;
    }

}@media screen and (min-width: 1280px) {
    #steps h2 {
        width: 76%;
    }
    #veles .action-green, #veles .char-list {
        justify-content: center;
    }
    #steps .step {
        margin-bottom: clamp(48px, calc(48px + (100vw - 1280px)/38), 64px);
    }
    #steps .column-inner {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-around;
    }
    #steps .column-inner .left-col {
        width: 35%
    }
    #steps .column-inner .right-col {
        width: 65%;

    }
    #mainscreen p {
        width: 39vw;
    }
    #veles h2{
        text-align: center;
        padding: 0 9vw 0 9vw;
    }
    #veles > .container > p {
        width: 100%;
        text-align: center;
    padding: 0 22vw 0 22vw;
}
    #founder h2 {
        width: 87%;
    }
}
@media screen and (min-width: 1480px) {
    #firststep h2 {
        padding: 0 11%;
    }
    #firststep p {
        padding: 0 28%;
    }

}
@media screen and (min-width: 1920px) {

    #mainscreen p {
        width: 28vw;
    }
    #steps h2 {
        width: 66%;
    }
    #founder h2 {
        width: 77%;
    }
}
/*костыль для картинки в блоке про мечту*/
@media screen and (max-width: 1299px) {

    #steps {
        padding-left: 0;
        padding-right: 0;
    }
    #steps h2 {
        padding: var(--section-padding);
    }
}
/*3840-2160*/
/*649 896 1920*/




