/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

@font-face{
    font-display:swap;
    font-family:"Europe";
    font-style:normal;
    font-weight:400;
    src:url(.././assets/fonts/Europe-Regular.de66d25a.woff2) format("woff2")
}
:root{
    --main-font-family: "Europe", sans-serif;
    --header-height: 60px;
    --neutral-0: #fff;
    --neutral-1: #d8e0e5;
    --neutral-2: #1a1a1a;
    --neutral-3: #28363f;
    --neutral-4: #7c858b;
    --neutral-5: #606060;
    --neutral-6: #949494;
    --neutral-7: #a0a0a0
}
@media screen and (min-width: 1024px){
    :root{
        --header-height: 68px
    }
}
html,body{
    height:100%
}
html{
/*    min-width:360px;*/
    background-color:var(--neutral-0);
    color:var(--neutral-2);
    font-family:var(--main-font-family);
    font-size:16px;
    font-weight:400;
    line-height:normal
}
@media screen and (min-width: 1024px){
    html{
        font-size:12px
    }
}
@media screen and (min-width: 1280px){
    html{
        font-size:14px
    }
}
@media screen and (min-width: 1440px){
    html{
        font-size:16px
    }
}
body{
    min-width:375px;
    min-height:100%;
    margin:auto
}
body._modal-opened{
    overflow:hidden
}
*,::before,::after{
    box-sizing:border-box;
    padding:0;
    border:0;
    margin:0
}
h1,h2,h3,h4,h5,h6,p{
    margin:0;
    font-weight:400
}
ul,ol{
    margin:0;
    list-style:none
}
a{
    color:inherit;
    text-decoration:none
}
fieldset{
    padding:0
}
mark{
    background:rgba(0,0,0,0)
}
mark.mark{
    color:var(--accent-6)
}
img{
    display:block;
    width:auto;
    height:auto
}
section{
    margin:60px auto
}
@media screen and (min-width: 1024px){
    section{
        margin:6.75rem auto
    }
}
.main{
    overflow:hidden
}
.container{
    --x-padding: 10px;
    width:100%;
    max-width:1440px;
    padding-right:var(--x-padding);
    padding-left:var(--x-padding);
    margin:0 auto
}
@media screen and (min-width: 768px){
    .container{
        --x-padding: 20px
    }
}
@media screen and (min-width: 1440px){
    .container{
        --x-padding: 44px
    }
}
._p._p1{
    font-size:24px;
    line-height:34px
}
@media screen and (min-width: 1024px){
    ._p._p1{
        font-size:2.1875rem;
        line-height:1.25
    }
}
._p._p2{
    font-size:14px;
    line-height:26px
}
@media screen and (min-width: 1024px){
    ._p._p2{
        font-size:16px;
        line-height:2
    }
}
._p._p3{
    font-size:12px;
    line-height:22px
}
@media screen and (min-width: 1024px){
    ._p._p3{
        font-size:14px
    }
}
._p._p4{
    font-size:12px;
    line-height:32px
}
._h2{
    font-size:28px;
    line-height:44px
}
@media screen and (min-width: 1024px){
    ._h2{
        font-size:35px;
        line-height:1.25
    }
}
._title{
    text-transform:uppercase
}
.btn{
    display:inline-flex;
    height:60px;
    align-items:center;
    justify-content:center;
    padding:0 30px;
    border-radius:55px;
    background-color:var(--accent-4);
    color:#f8f8f8;
    cursor:pointer;
    font-size:20px;
    font-weight:500;
    text-align:center;
    transition:background-color .3s
}
.btn:hover{
    background-color:var(--accent-5)
}
.spinner{
    width:24px;
    height:24px;
    animation:rotate 2s linear infinite
}
.spinner .path{
    animation:dash 1.5s ease-in-out infinite;
    stroke-linecap:round
}
.input{
    width:100%;
    height:50px;
    padding:0 20px;
    border-radius:var(--base-border-radius);
    background:var(--neutral-11);
    color:var(--neutral-10);
    font-size:20px;
    font-weight:400
}
.input._has-error{
    outline:1px solid var(--accent-4)
}
.input:focus{
    outline:1px solid var(--accent-1)
}
.input::-moz-placeholder{
    color:var(--neutral-10)
}
.input::placeholder{
    color:var(--neutral-10)
}
.input:-webkit-autofill,.input:-webkit-autofill:hover,.input:-webkit-autofill:focus{
    background-color:var(--neutral-11);
    -webkit-box-shadow:0 0 0 1000px var(--neutral-11) inset !important;
    -webkit-text-fill-color:var(--neutral-10);
    -webkit-transition:background-color 5000s ease-in-out 0s;
    transition:background-color 5000s ease-in-out 0s
}
.error{
    display:block;
    margin-top:8px;
    color:var(--accent-4)
}
.link{
    color:var(--neutral-7)
}
.link:hover,.link:active,.link._active{
    color:var(--neutral-0)
}
@keyframes scale-out{
    from{
        scale:1.25
    }
    to{
        scale:1
    }
}
@keyframes fade-in{
    from{
        opacity:0
    }
    to{
        opacity:1
    }
}
@keyframes fade-in-top{
    from{
        opacity:0;
        transform:translate3d(0, -100%, 0)
    }
    to{
        opacity:1;
        transform:translate3d(0, 0, 0)
    }
}
@keyframes fade-in-right{
    from{
        opacity:0;
        transform:translate3d(100%, 0, 0)
    }
    to{
        opacity:1;
        transform:translate3d(0, 0, 0)
    }
}
@keyframes fade-in-bottom{
    from{
        opacity:0;
        transform:translate3d(0, 100%, 0)
    }
    to{
        opacity:1;
        transform:translate3d(0, 0, 0)
    }
}
@keyframes fade-in-left{
    from{
        opacity:0;
        transform:translate3d(-100%, 0, 0)
    }
    to{
        opacity:1;
        transform:translate3d(0, 0, 0)
    }
}
@media screen and (min-width: 1024px){
    .animated{
        animation-fill-mode:forwards
    }
    .fade-in{
        opacity:0
    }
    .fade-in.animated{
        animation-name:fade-in
    }
    .fade-in-right{
        opacity:0;
        transform:translate3d(100%, 0, 0)
    }
    .fade-in-right.animated{
        animation-name:fade-in-right
    }
    .fade-in-left{
        opacity:0;
        transform:translate3d(-100%, 0, 0)
    }
    .fade-in-left.animated{
        animation-name:fade-in-left
    }
    .scale-out{
        scale:1.25
    }
    .scale-out.animated{
        animation-name:scale-out
    }
}
@media(pointer: none),(pointer: coarse){
    [class*=scale-],[class*=fade-]{
        opacity:1;
        scale:1;
        transform:none
    }
}
.header{
    position:fixed;
    z-index:9;
    top:0;
    left:0;
    width:100%;
    height:var(--header-height);
    border-bottom:1px solid rgba(255,255,255,.2);
    background-color:rgba(21,27,39,0.8);
    transition:background-color .3s;
}
@media screen and (min-width: 1024px){
    .header{
        border-bottom:0
    }
}
.header._fixed{
    background-color:rgba(21,27,39,0.8)
}
.header__content{
    display:flex;
    height:var(--header-height);
    align-items:center;
    justify-content:space-between;
    color:var(--neutral-7);
    gap:0.875rem
}
.header__logo{
    display:block;
    width:10.625rem;
    min-width:10.625rem;
    height:auto
}
@media screen and (min-width: 1024px){
    .header__logo{
        width:15.375rem;
        min-width:15.375rem
    }
}
.header__logo img{
    max-width:100%
}
.nav{
    position:fixed;
    z-index:-1;
    top:0;
    bottom:0;
    left:0;
    display:flex;
    width:100%;
    height:100%;
    flex-direction:column;
    align-items:center;
    padding-top:calc(var(--header-height) + 26px);
    background:var(--neutral-2);
    font-size:14px;
    line-height:40px;
    opacity:0;
    text-align:center;
    transform:translateX(-100%);
    transition:opacity .3s
}
@media screen and (min-width: 1024px){
    .nav{
        position:static;
        z-index:1;
        height:auto;
        flex-direction:row;
        justify-content:center;
        padding-top:0;
        background:rgba(0,0,0,0);
        font-size:12px;
        gap:1rem;
        line-height:32px;
        opacity:1;
        text-align:left;
        transform:none;
        white-space: nowrap;
    }
}
.nav._opened{
    opacity:1;
    transform:translateX(0)
}
.nav::before{
    position:absolute;
    top:calc(var(--header-height) - 1px);
    left:0;
    width:100%;
    height:1px;
    background-color:rgba(255,255,255,.2);
    content:""
}
@media screen and (min-width: 1024px){
    .nav::before{
        content:none
    }
}
.language{
    position:relative;
    margin-left:auto
}
@media screen and (min-width: 1024px){
    .language{
        margin:0
    }
}
.language svg{
    width:10px;
    min-width:10px;
    height:6px
}
.language__btn{
    display:none
}
@media screen and (min-width: 1024px){
    .language__btn{
        display:flex;
        align-items:center;
        background:rgba(0,0,0,0);
        color:inherit;
        cursor:pointer;
        gap:8px;
        text-transform:inherit
    }
}
.language__content{
    display:none;
    gap:16px
}
@media screen and (min-width: 1024px){
    .language__content{
        position:absolute;
        z-index:1;
        top:100%;
        right:-50%;
        left:-50%;
        width:48px;
        flex-direction:column;
        padding:0 12px;
        margin:0 auto;
        background-color:var(--neutral-2);
        gap:0
    }
}
.language._showed .language__btn{
    color:var(--neutral-0)
}
.language._showed .language__content{
    display:flex
}
.page-en .language [href="/en"]{
    color:var(--neutral-0)
}
.page-ru .language [href="/ru"]{
    color:var(--neutral-0)
}
.socials{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    margin-top:24px;
    gap:30px 40px
}
@media screen and (min-width: 1024px){
    .socials{
        flex-wrap:initial;
        justify-content:normal;
        margin-top:0;
        margin-left:2.85vw;
        gap:1rem
    }
}
@media screen and (min-width: 1280px){
    .socials{
        margin-left:2.5vw;
    }
}
.socials__item{
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--neutral-7);
    gap:8px;
    white-space:nowrap
}
@media screen and (min-width: 1024px){
    .socials__item{
        flex-basis:auto;
        justify-content:normal
    }
}
.socials__item:last-child{
    flex-basis:100%
}
.socials__item svg{
    width:14px;
    height:14px
}
.open-menu{
    width:24px;
    height:24px;
    border:none;
    background:rgba(0,0,0,0);
    color:var(--neutral-0);
    cursor:pointer
}
.open-menu svg{
    width:100%;
    height:100%
}
@media screen and (min-width: 1024px){
    .open-menu{
        display:none
    }
}
.open-menu__close{
    display:none
}
.open-menu._opened .open-menu__open{
    display:none
}
.open-menu._opened .open-menu__close{
    display:block
}
.footer{
    text-align:center
}
.footer__icon{
    width:22px;
    height:22px;
    color:var(--neutral-2)
}
.footer__sub{
    flex-basis:100%;
    color:var(--neutral-2);
    font-size:16px;
    line-height:22px
}
.footer__contact{
    display:flex;
    align-items:center;
    gap:8px
}
.footer__link{
    display:grid;
    gap:12px 8px;
    justify-items:center
}
.footer__item{
    display:flex;
    max-width:-moz-max-content;
    max-width:max-content;
    flex-wrap:wrap;
    align-items:center;
    color:var(--neutral-5);
    place-content:start center;
    text-align:center
}
.footer__list{
    display:grid;
    justify-content:center;
    margin-top:2vh;
    grid-gap:20px 0;
    justify-items:center
}
@media screen and (min-width: 1024px){
    .footer__list{
        margin-top:2.75rem;
        grid-auto-flow:column;
        grid-gap:6.25rem
    }
}
.footer__pic{
    width:58px;
    height:85px;
    margin-bottom:30px
}
.footer__slogan{
    color:var(--neutral-5)
}
.footer__socials{
    display:grid;
    justify-content:center;
    margin-top:30px;
    grid-auto-flow:column;
    grid-gap:10px
}
@media screen and (min-width: 1024px){
    .footer__socials{
        display:none
    }
}
.footer__socials-item{
    display:flex;
    width:72px;
    height:72px;
    align-items:center;
    justify-content:center;
    border:1px solid #ababab;
    border-radius:50%
}
.footer__socials-item svg{
    width:16px;
    height:16px
}
.footer__top{
    padding-bottom:70px;
    border-bottom:1px dashed #7a8c98
}
.footer__bottom{
    padding:70px 0
}
.certificate{
    position:relative;
    order:1;
    padding:12px 1.5rem 3.375rem;
    border:1px solid #cbcbcb
}
@media screen and (min-width: 1024px){
    .certificate{
        order:0
    }
}
@media screen and (min-width: 540px){
    .certificate{
        width:16.25rem
    }
}
.certificate__img{
    display:flex;
    max-width:100%;
    padding:0 1.25rem;
    transition:transform .3s
}
.certificate__img img{
    max-width:100%;
    max-height:100%;
    -o-object-fit:contain;
    object-fit:contain
}
.certificate__zoom{
    width:14px;
    max-width:100%;
    height:17px;
    max-height:100%;
    background-color:color .3s
}
.certificate__link{
    position:absolute;
    z-index:1;
    top:0;
    left:0;
    width:100%;
    height:100%
}
.certificate__btn{
    position:absolute;
    z-index:2;
    right:1.5rem;
    bottom:1.5rem;
    display:flex;
    width:46px;
    height:46px;
    align-items:center;
    justify-content:center;
    border:1px solid #cbcbcb;
    border-radius:50%;
    background:rgba(0,0,0,0);
    cursor:pointer;
    transition:background-color .3s
}
.certificate__btn:hover{
    background:var(--neutral-2)
}
.certificate__btn:hover .certificate__zoom{
    color:var(--neutral-0)
}
.certificate:hover .certificate__img{
    transform:scale(0.9)
}
.modal{
    position:fixed;
    z-index:99;
    top:0;
    left:0;
    display:none;
    width:100%;
    height:100%;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:10px;
    background-color:rgba(0,0,0,.8)
}
.modal__content{
    position:relative;
    z-index:1;
    padding:40px 30px;
    overflow-y:auto
}
.modal__close{
    position:absolute;
    top:10px;
    right:0;
    width:20px;
    height:20px;
    background:rgba(0,0,0,0);
    color:var(--neutral-0);
    cursor:pointer
}
.modal__close svg{
    width:100%;
    height:100%
}
.modal._show{
    display:flex
}
.modal._certificate img{
    max-width:100%;
    max-height:100%;
    margin:auto
}
@media screen and (min-width: 768px){
    .modal._certificate img{
        max-width:39rem
    }
}
.swiper._projects-swiper{
    width:100vw;
    height:100%;
    padding-right:var(--x-padding);
    padding-left:var(--x-padding);
    margin-left:calc(var(--x-padding)*-1)
}
@media screen and (min-width: 768px){
    .swiper._projects-swiper{
        width:100%;
        padding-right:0;
        padding-left:0;
        margin-left:0
    }
}
.swiper .swiper-slide{
    max-width:85vw
}
@media screen and (min-width: 768px){
    .swiper .swiper-slide{
        max-width:unset
    }
}
.swiper-pagination._projects-pagination{
    --swiper-pagination-top: -30px;
    --swiper-pagination-bottom: auto;
    --swiper-pagination-bullet-horizontal-gap: 6px;
    --swiper-pagination-bullet-size: 7px;
    --swiper-pagination-bullet-inactive-color: var(--neutral-5);
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-color: var(--neutral-0);
    text-align:right
}
@media screen and (min-width: 768px){
    .swiper-pagination._projects-pagination{
        position:static
    }
}
.swiper-pagination._projects-pagination .swiper-pagination-bullet{
    border:1px solid var(--neutral-5)
}
.swiper-pagination._projects-pagination .swiper-pagination-bullet-active{
    border-color:var(--neutral-5)
}
.swiper-pagination._projects-pagination.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{
    right:0;
    left:auto;
    transform:none
}
.s-1{
    position:relative;
    display:flex;
    overflow:hidden;
    min-height:100vh;
    min-height: 100dvh;
    flex-direction:column;
    align-items:center;
    justify-content:flex-end;
    padding:var(--header-height) 15px 2vh;
    margin:0;
    background-color:#14181c;
    text-align:center
}
@media screen and (min-width: 768px){
    .s-1{
        min-height:100vh;
        padding:var(--header-height) 15px 2vh;
        background-position:center;
        background-size:cover
    }
}
.s-1__img{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:35vh;
    background-image:url(.././images/first-screen-bg.0bd37a2c.jpg);
    background-position:top;
    background-repeat:no-repeat;
    background-size:cover
}
@supports(background-image: url("@/images/first-screen-bg.jpg?as=webp")){
    .s-1__img{
        background-image:url(.././images/first-screen-bg.8677adaa.webp)
    }
}
@media screen and (min-width: 768px){
    .s-1__img{
        height:100%;
        background-position:center
    }
}
.s-1::before,.s-1::after{
    position:absolute;
    z-index:1;
    left:0;
    width:100%
}
.s-1::before{
    top:calc(35vh - 80px);
    height:82px;
    background:linear-gradient(0deg, #14181c 6.5%, rgba(20, 24, 28, 0) 100%);
    content:""
}
@media screen and (min-width: 768px){
    .s-1::before{
        content:unset
    }
}
.s-1::after{
    top:calc(35vh - 218px);
    bottom:auto;
    height:220px;
    background:linear-gradient(180deg, rgba(11, 16, 18, 0) 0%, rgba(16, 24, 27, 0.65) 45.9%, rgba(18, 27, 30, 0.8) 100%);
    content:""
}
@media screen and (min-width: 768px){
    .s-1::after{
        top:auto;
        bottom:0;
        height:60vh
    }
}
.s-1__logo{
    position:relative;
    z-index:2
}
.s-1__pic{
    position:relative;
    z-index:2;
    color:var(--neutral-0)
}
.s-1__pic._pic-1{
    width:280px;
    max-width:100%;
    max-height:36px
}
@media screen and (min-width: 768px){
    .s-1__pic._pic-1{
        width:54.625rem;
        max-height:6.75rem
    }
}
.s-1__pic._pic-2{
    position:relative;
    width:36px;
    height:52px;
    margin:30px auto 30px
}
@media screen and (min-width: 768px){
    .s-1__pic._pic-2{
        width:4.25rem;
        height:6.25rem;
        margin:54px auto 40px
    }
}
.s-1__pic._arrow{
    width:10px;
    height:6px;
    margin-top:34px;
    animation:bounce 1.5s ease infinite
}
.s-1__window{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%
}
.s-1__window svg{
    width:100%;
    height:100%
}
.s-1__txt{
    position:relative;
    z-index:2;
    max-width:325px;
    color:var(--neutral-7)
}
@keyframes bounce{
    0%,20%,50%,80%,100%{
        transform:translateY(0)
    }
    40%{
        transform:translateY(-10px)
    }
    60%{
        transform:translateY(-6px)
    }
}
.s-2{
    position:relative
}
.s-2__main{
    position:relative;
    padding:300px 0 80px;
    border-bottom:1px dashed #cbcbcb
}
@media screen and (min-width: 1024px){
    .s-2__main{
        display:flex;
        min-height:30.5rem;
        align-items:center;
        padding:0 4.375rem;
        border:1px solid #cbcbcb
    }
}
.s-2__photo{
    position:absolute;
    top:0;
    left:0
}
@media screen and (min-width: 1024px){
    .s-2__photo{
        top:auto;
        bottom:0;
        display:flex;
        max-width:70%;
        max-height:100%
    }
}
.s-2__photo img{
    max-width:360px;
    max-height:100%;
    -o-object-fit:contain;
    object-fit:contain
}
@media screen and (min-width: 1024px){
    .s-2__photo img{
        max-width:100%
    }
}
.s-2__photo::before{
    position:absolute;
    bottom:-1px;
    left:0;
    width:100%;
    height:325px;
    background-image:linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 90%);
    content:""
}
@media screen and (min-width: 1024px){
    .s-2__photo::before{
        content:none
    }
}
.s-2__info{
    display:grid;
    justify-content:center;
    margin-top:20px
}
@media screen and (min-width: 1024px){
    .s-2__info{
        gap:0 3.125rem;
        grid-template-areas:"name sign" "post sign"
    }
}
@media screen and (min-width: 1024px){
    .s-2__name{
        align-self:end;
        grid-area:name
    }
}
.s-2__post{
    color:var(--neutral-5)
}
@media screen and (min-width: 1024px){
    .s-2__post{
        align-self:start;
        grid-area:post
    }
}
.s-2__sign{
    height:112px;
    margin-top:16px
}
@media screen and (min-width: 1024px){
    .s-2__sign{
        margin-top:0;
        grid-area:sign
    }
}
.s-2__sign img{
    max-width:100%;
    max-height:100%;
    -o-object-fit:contain;
    object-fit:contain
}
.s-2__content{
    position:relative;
    z-index:1;
    max-width:272px;
    margin:110px auto 0
}
@media screen and (min-width: 1024px){
    .s-2__content{
        max-width:35.625rem;
        margin:0 0 0 auto
    }
}
.s-2__container{
    padding:0
}
@media screen and (min-width: 1024px){
    .s-2__container{
        padding:0 var(--x-padding)
    }
}
.s-3__certificate{
    width:260px;
    order:1
}
@media screen and (min-width: 1024px){
    .s-3__certificate{
        order:0
    }
}
.s-3__title{
    color:var(--neutral-6)
}
.s-3__sub{
    max-width:440px;
    margin:8px 0 24px
}
@media screen and (min-width: 1024px){
    .s-3__sub{
        margin:30px 0
    }
}
.s-3__item{
    max-width:288px
}
.s-3__list{
    display:grid;
    max-width:-moz-max-content;
    max-width:max-content;
    grid-gap:24px 0
}
@media screen and (min-width: 1024px){
    .s-3__list{
        grid-auto-flow:column;
        grid-gap:0 4.375rem
    }
}
.s-3__content{
    display:grid;
    grid-gap:40px 0
}
@media screen and (min-width: 1024px){
    .s-3__content{
        align-items:center;
        padding-left:5rem;
        grid-gap:0 10.625rem;
        grid-template-columns:auto 1fr
    }
}
.s-4__img{
    display:block;
    overflow:hidden
}
.s-4__img img{
    max-width:100%
}
.s-5{
    position:relative;
    overflow:hidden
}
@media screen and (min-width: 1024px){
    .s-5::before{
        position:absolute;
        top:calc(88px + 4.25rem);
        left:0;
        width:100vw;
        height:1px;
        background-image:url(.././images/border.58beccd2.svg);
        background-repeat:repeat;
        background-size:contain;
        content:""
    }
}
.s-5__title{
    margin-bottom:40px;
    color:var(--neutral-6);
    text-align:center
}
.s-5__circle{
    position:relative;
    z-index:1;
    display:flex;
    width:140px;
    height:140px;
    align-items:center;
    justify-content:center;
    border:1px solid var(--neutral-2);
    border-radius:50%;
    background-color:var(--neutral-0);
    transition:.3s background-color
}
@media screen and (min-width: 1024px){
    .s-5__circle{
        width:8.75rem;
        height:8.75rem
    }
}
.s-5__icon{
    width:80px;
    height:80px;
    transition:.3s color
}
.s-5__item{
    display:grid;
    grid-gap:12px
}
.s-5__item:hover .s-5__circle{
    background-color:var(--neutral-2)
}
.s-5__item:hover .s-5__icon{
    color:var(--neutral-0)
}

.s-5__item_cfurniture .s-5__icon {
    width: 70px;
}

.s-5__list{
    display:grid;
    max-width:75rem;
    justify-content:center;
    margin:0 auto;
    grid-gap:32px;
    text-align:center
}
@media screen and (min-width: 1024px){
    .s-5__list{
        grid-gap:3.75rem;
        grid-template-columns:repeat(7, 1fr)
    }
}
.s-6__title{
    margin-bottom:30px;
    color:var(--neutral-6)
}
.s-6__sub{
    margin-bottom:38px
}
@media screen and (min-width: 768px){
    .s-6__sub{
        max-width:32.5rem;
        margin-bottom:4.375rem
    }
}
.s-6__img{
    display:block;
    overflow:hidden
}
.s-6__img img{
    max-width:100%
}
.s-6__item{
    display:grid;
    max-width:248px;
    align-content:start;
    grid-gap:10px
}
@media screen and (min-width: 768px){
    .s-6__item{
        max-width:300px;
        grid-gap:4px
    }
}
.s-6__list{
    display:grid;
    grid-gap:38px
}
@media screen and (min-width: 540px){
    .s-6__list{
        grid-gap:1.75rem;
        grid-template-columns:repeat(auto-fill, minmax(188px, 1fr))
    }
}
@media screen and (min-width: 1024px){
    .s-6__list{
        grid-template-columns:repeat(2, 1fr)
    }
}
.s-6__content{
    display:grid;
    grid-gap:44px
}
@media screen and (min-width: 768px){
    .s-6__content{
        grid-template-columns:280px 1fr
    }
}
@media screen and (min-width: 1024px){
    .s-6__content{
        grid-gap:5.25rem;
        grid-template-columns:26.25rem 1fr
    }
}
.s-7{
    position:relative;
    overflow:hidden;
    padding:60px 0;
    background-color:var(--neutral-1)
}
@media screen and (min-width: 1024px){
    .s-7{
        padding:0 0 8.125rem;
        background-color:rgba(0,0,0,0)
    }
}
@media screen and (min-width: 1024px){
    .s-7::before{
        position:absolute;
        z-index:1;
        bottom:8.125rem;
        left:0;
        width:100vw;
        height:1px;
        background-image:url(.././images/border.58beccd2.svg);
        background-repeat:repeat;
        background-size:contain;
        content:""
    }
}
.s-7__title{
    margin-bottom:32px;
    color:var(--neutral-6)
}
@media screen and (min-width: 1024px){
    .s-7__title{
        margin-bottom:40px
    }
}
.s-7__img{
    position:absolute;
    top:0;
    right:0
}
.s-7__img svg{
    width:100%;
    height:100%
}
.s-7__img._img-1{
    top:auto;
    right:6.5rem;
    bottom:24px;
    width:24.6875rem;
    height:28.625rem;
    max-height:65%
}
.s-7__img._img-2{
    top:24px;
    right:12px;
    width:18.75rem;
    height:41.25rem;
    max-height:93%
}
.s-7__img._img-3{
    top:6px;
    right:6px;
    width:17.3125rem;
    height:43.4375rem;
    max-height:98%
}
.s-7__img._img-4{
    width:15.625rem;
    height:44.375rem;
    max-height:100%
}
.s-7__pic{
    position:absolute;
    bottom:0;
    left:0;
    display:none;
    overflow:hidden;
    width:31.25rem;
    height:44.375rem;
    max-height:100%
}
@media screen and (min-width: 1024px){
    .s-7__pic{
        display:block
    }
}
.s-7__icon{
    position:absolute;
    top:-6px;
    left:0;
    width:3.125rem;
    height:3.125rem
}
.s-7__item{
    position:relative;
    display:grid;
    align-content:start;
    padding-left:3.75rem;
    grid-gap:12px
}
.s-7__list{
    position:relative;
    display:grid;
    grid-gap:2.5rem 1.875rem
}
@media screen and (min-width: 1024px){
    .s-7__list{
        padding-bottom:6.75rem;
        grid-template-columns:repeat(2, 1fr)
    }
}
@media screen and (min-width: 1024px){
    .s-7__content{
        padding-left:31.5rem
    }
}
.s-8{
    overflow:hidden
}
.s-8__title{
    margin-bottom:40px;
    color:var(--neutral-6)
}
@media screen and (min-width: 768px){
    .s-8__title{
        text-align:center
    }
}
.s-8__sub{
    color:var(--neutral-5)
}
.s-8__img{
    min-width:0;
    max-height:55vw;
    margin-bottom:8px
}
@media screen and (min-width: 768px){
    .s-8__img{
        max-height:20rem
    }
}
@media screen and (min-width: 1024px){
    .s-8__img{
        max-height:32.125rem
    }
}
.s-8__img img{
    width:100%;
    height:100%;
    -o-object-fit:cover;
    object-fit:cover
}
.s-8__controls{
    display:grid;
    align-items:center;
    grid-auto-flow:column;
    grid-template-columns:1fr auto
}
.s-8__item{
    display:grid;
    width:100%;
    grid-template-rows:1fr auto auto
}
@media screen and (min-width: 768px){
    .s-8__item{
        min-width:auto;
        max-width:calc(39.793% - 1.5rem)
    }
    .s-8__item:nth-child(4n+2),.s-8__item:nth-child(4n+3){
        max-width:calc(60.207% - 1.5rem)
    }
}
.s-8__list{
    display:flex;
    flex-direction:column;
    gap:30px
}
@media screen and (min-width: 768px){
    .s-8__list{
        flex-flow:row wrap;
        overflow-x:initial
    }
}
@media screen and (min-width: 1024px){
    .s-8__list{
        gap:1.875rem 3rem
    }
}
.s-9{
    padding:60px 0;
    background-image:url(.././images/advantages-bg.f16c734d.jpg), linear-gradient(rgba(21, 27, 39, 0.8), rgba(21, 27, 39, 0.8));
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover;
    background-blend-mode: overlay;
}
@supports(background-image: url("@/images/advantages-bg.jpg?as=webp")){
    .s-9{
        background-image:url(.././images/advantages-bg.caff7655.webp), linear-gradient(rgba(21, 27, 39, 0.8), rgba(21, 27, 39, 0.8));
    }
}
@media screen and (min-width: 1024px){
    .s-9{
        padding:6.75rem 0
    }
}
.s-9__title{
    margin-bottom:28px;
    color:#899296
}
@media screen and (min-width: 1024px){
    .s-9__title{
        margin-bottom:5.75rem;
        text-align:center
    }
}
.s-9__icon{
    position:absolute;
    top:0;
    left:0;
    width:40px;
    height:40px
}
@media screen and (min-width: 768px){
    .s-9__icon{
        position:static;
        width:80px;
        height:80px
    }
}
.s-9__sub{
    margin:0 0 12px;
    font-size:14px;
    line-height:26px
}
@media screen and (min-width: 1024px){
    .s-9__sub{
        margin:30px 0 12px;
        font-size:16px;
        line-height:32px
    }
}
.s-9__txt{
    font-size:12px;
    line-height:22px
}
@media screen and (min-width: 1024px){
    .s-9__txt{
        font-size:16px
    }
}
.s-9__item{
    position:relative;
    padding-left:54px;
    color:var(--neutral-0)
}
@media screen and (min-width: 768px){
    .s-9__item{
        max-width:234px;
        padding-left:0;
        margin:0 auto
    }
}
.s-9__list{
    display:grid;
    justify-content:start;
    gap:36px
}
@media screen and (min-width: 768px){
    .s-9__list{
        justify-content:center;
        gap:4.375rem 1.875rem;
        grid-template-columns:repeat(auto-fit, minmax(235px, 20%));
        text-align:center
    }
}
.s-10__title{
    margin-bottom:0px;
    color:var(--neutral-6);
    padding: var(--x-padding);
}
@media screen and (min-width: 1024px){
    .s-10__title{
        margin-bottom:60px;
        text-align:center;
        padding: 0;
    }

    .block-views-blockprojects-teasers-block-1 .s-10__title {
        margin-top: 2rem;
        margin-bottom: 2rem;
    }
}

.block-views-blockprojects-teasers-block-1 .more-link {
    margin-top: 6vh;
}

.s-10__name,.s-10__sub{
    color:var(--neutral-5)
}
.s-10__name mark,.s-10__sub mark{
    color:var(--neutral-2)
}
.s-10__name{
    margin:12px 0 3px;
    font-size:10px;
    line-height:15px
}
@media screen and (min-width: 1024px){
    .s-10__name{
        font-size:12px;
        line-height:32px
    }
}
@media screen and (min-width: 1024px){
    .s-10__name br{
        display:none
    }
}
.s-10__name i{
    display:none
}
@media screen and (min-width: 1024px){
    .s-10__name i{
        display:inline-block
    }
}
.s-10__sub{
    font-size:10px;
    line-height:15px
}
@media screen and (min-width: 1024px){
    .s-10__sub{
        font-size:14px;
        line-height:22px
    }
}
.s-10__photo img{
    max-width: 100%;
}
.s-10__item{
    width:48%
}
@media screen and (min-width: 768px){
    .s-10__item{
        width:31%
    }
}
.s-10__list{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px 10px
}
@media screen and (min-width: 1024px){
    .s-10__list{
        gap:1.875rem 2.75rem
    }
}
.s-11__img{
    display:block;
    overflow:hidden
}
.s-11__img img{
    max-width:100%
}
 /**
 * Swiper 10.3.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 28, 2023
 */

/* FONT_START */
@font-face {
  font-family: 'swiper-icons';
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  overflow: clip;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}
/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}
.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}
.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}
:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}
.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}
.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}
.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform-origin: center;
}
.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg);
}
.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}
.swiper-button-lock {
  display: none;
}
/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}
.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: 'prev';
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}
.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: 'next';
}
/* Navigation font end */
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}
.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}
.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}
/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}
.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
          -moz-appearance: none;
       appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
.swiper-pagination-bullet:only-child {
  display: none !important;
}
.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}
/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}
/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}
.swiper-pagination-lock {
  display: none;
}
:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}
.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}
.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}
.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}
.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}
.swiper-scrollbar-cursor-drag {
  cursor: move;
}
.swiper-scrollbar-lock {
  display: none;
}
/* Zoom container styles start */
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
/* Zoom container styles end */
.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}
/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}
.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}
.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}
.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}
.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}
.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}
.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-cube {
  overflow: visible;
}
.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}
.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}
.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}
.swiper-cube .swiper-cube-shadow:before {
  content: '';
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}
.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}
/* Cube slide shadows start */
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}
/* Cube slide shadows end */
.swiper-flip {
  overflow: visible;
}
.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}
.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}
.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
/* Flip slide shadows start */
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}
/* Flip slide shadows end */
.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}
.swiper-cards {
  overflow: visible;
}
.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}


.header-btn {
  border: 1px solid var(--neutral-7);
  padding: 0px 10px;
}

.discuss-project {
  max-width: 600px;
  margin: 0 auto 5vh auto;
  padding: 30px;
  background: #f5f5f5;
  border-radius: 8px;
  text-align: center;
}

.discuss-project .webform-submission-form {
   max-width: 400px;
   margin: 0 auto;
}

.discuss-project .phone-block {
  margin: 30px 0;
}

.discuss-project .phone {
  display: block;
  font-size: 24px;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  margin: 15px 0;
}

.discuss-project .form-block {
  text-align: center;
}

.discuss-project .contact-form {
  margin-top: 20px;
}

.discuss-project .form-group {
  margin-bottom: 15px;
}

.discuss-project label {
    padding: 0.4em 0;
    display: block;
}

.discuss-project input, .discuss-project textarea, .discuss-project select {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-sizing: border-box;
}

.form-type-webform-telephone .form-item {
    margin: 0;
}

.discuss-project .iti--allow-dropdown {
    width: 100%;
}

.discuss-project textarea {
  resize: vertical;
}

.discuss-project button {
  background: #007bff;
  color: white;
  padding: 12px 30px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
}

.discuss-project button:hover {
  background: #0056b3;
}

.discuss-project .webform-confirmation__message {
   margin: 1rem;
   font-size: 1.4em;
}





.header-contacts {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 30px;
  z-index: 2;/*
  position: absolute;
  top: 5rem;*/
  padding: 1.6rem 0 2.2rem;
}

.contact-group {
 display: flex;
 align-items: center;
 gap: 20px;
}

.phone {
 font-size: 14px;
 font-weight: normal;
 text-decoration: none;
 white-space: nowrap;
  color: var(--neutral-7);
}

.messengers {
 display: flex;
 gap: 10px;
}

.messenger {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 36px;
 height: 36px;
 border-radius: 50%;
 transition: 0.3s;
}

.messenger {
  transition: filter 0.3s ease; /* Плавный переход цвета */
}

.messenger:hover  {
  filter: contrast(10);
}

.messenger img {
 width: 20px;
 height: 20px;
}

.header .nav .messenger {
  width: auto;
  height: auto;
}

.header .nav .messenger img {
   width: 14px;
 height: 14px;
}

.discuss-btn {
     display: inline-block;
    padding: 10px 16px;
    color: white;
    text-decoration: none;
    border-radius: 4px;
    transition: 0.3s;
    white-space: nowrap;
    border: 1px solid var(--neutral-7);
    font-size: 16px;
        z-index: 2;
    position: relative;
    margin-top: 2vh;
}

@media (max-width: 768px) {
  .discuss-btn, .callback-trigger  {
    font-size: 14px;
    padding: 8px 12px;
  }
}

.discuss-btn:hover {
 background: var(--neutral-7);
}

/* Мобильная версия */
@media (max-width: 768px) {
 .header-contacts {
   flex-direction: row;
   align-items: center;
  gap: 10px;
  top: 5rem;
 }
 
 .contact-group {
   flex-direction: column;
   align-items: center;
   text-align: center;
   gap: 4px;
 }
 
 .phone {
   margin-bottom: 0;
 }
 
 .messengers {
   justify-content: center;
 }
}
@media (max-width: 768px) {
  .header-contacts {
   flex-direction: column;
  }
}

.field--type-text-with-summary {
  max-width: 600px;
  margin: 0 auto;
}

.main-page {
  margin-top: 6rem;
}

.field--type-text-with-summary p {
  margin-bottom: 1rem;
}

.path-node .header {
  background-color:rgba(21,27,39,0.8);
}

.callback-trigger {
  display: inline-block;
    padding: 10px 16px;
    color: white;
    text-decoration: none;
    border-radius: 4px;
    transition: 0.3s;
    white-space: nowrap;
    border: 1px solid var(--neutral-7);
    position: relative;
    z-index: 80;
}

section#team {
  margin-bottom: 5vh;
}

#start {
  margin-top: 0;
}

.href-contacts {
  margin-top: 0;
}

.mobile-hide{
    display: none;
}

@media screen and (min-width: 768px){
    .mobile-only{
        display: none;
    }

    .mobile-hide{
        display: inherit;
    }
}
@media screen and (min-width: 1024px){
  .header-address {
    margin-left: 3vw;
  }
}

@media screen and (min-width: 1280px){
    .header-address {
      margin-left: 3.25vw;
    }
}


/*New Team Block*/

#block-shatro-views-block-our-team-2-block-1 {
    margin-top: 4rem;
    margin-bottom: 4rem;
}

.view-our-team-2 .s-10__name {
    line-height: 1.33;
}

.view-our-team-2 .s-10__name i {
    display: block;
    height: 1px;
    visibility: hidden;
}

.view-our-team-2 .s-10__list {
    gap: 1.5em 2%;
}

.view-our-team-2 .s-10__item {
        width: 30%;
        text-align: center;
    }

@media screen and (min-width: 768px) {
    .view-our-team-2 .s-10__item {
        width: 15%;
        text-align: center;
    }
}


/*Projects Pages*/

.path-taxonomy .page-title, .path-projects .page-title {
    font-size: 3em;
    margin: 3em 0 1em 0;
}

.path-taxonomy .s-8__item, .path-projects .s-8__item {
    min-width: 45%;
    max-width: 45%;
}


.view-projects--content .view-footer {
    max-width: 640px;
    margin: 3em auto;
    color: #666;
}


.view-projects--content {
    margin-bottom: 6em;
}

.view-projects--content .s-8__list {
    justify-content: center;
}



.view-project-categories .view-content-rows {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 6px;
    padding: 0;
    justify-content: left;
    margin-bottom: 2em;
}
  
.view-project-categories .views-row {
flex: 0 0 auto;
}

.view-project-categories .views-field-name a {
display: inline-block;
padding: var(--x-padding) 18px;
text-decoration: none;
color: #111;
font-size: 1.25rem; /* Больше стандартного */
font-weight: 500;
border-radius: 8px;
transition: background-color 0.3s, color 0.3s;
}

.view-project-categories .views-field-name a:hover,
.view-project-categories .views-field-name a:focus {
/* background-color: #f5f5f5; */
color: var(--neutral-6);;
}

.view-project-categories .views-field-name a.active {
    /* background-color: #f5f5f5; */
    color: var(--neutral-6);;
}

.view-project-categories .view-content {
    gap: 6px;
    justify-content: flex-start;
    padding: 0;
    margin-bottom: 2em;
}

.view-project-categories .views-field-name a {
  font-size: 0.9rem;
  padding: 8px var(--x-padding);
} 

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

    .view-project-categories .view-content-rows {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        padding: 0;
        margin-bottom: 2em;
    }

    .view-project-categories .views-field-name a {
        font-size: 1.25rem;
        padding: 8px 16px 4px 16px;
        margin-left: -16px;
      } 


    .s-8 .view-project-categories .view-content-rows {
        justify-content: center;
    }
}

/* .path-projects .view-project-categories .view-content-rows,
.path-taxonomy  .view-project-categories .view-content-rows {
    justify-content: center;
} */

  @media (max-width: 768px) {
    /* */

    .path-taxonomy .page-title, .path-projects .page-title {
        font-size: 2em;
    }
  }
  
  .no-header header.header {
    display: none!important;
  }


  .path-taxonomy .header .link._active {
    color: var(--neutral-7);
  }

.more-link {
    line-height: 3em;
    text-align: center;
}

.more-link a {
    display: inline-block;
    padding: 0 1rem;
    border: 1px solid #333;
    line-height: 2.5em;
    font-size: 1.125em;
    font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    border-radius: 4px;
}
/*
 * ===============================================
 *  ISOLATED STYLES FOR SERVICE POPUP (to avoid conflicts)
 * ===============================================
 */

/* Helper class to lock body scroll */
body.body-modal-open {
  overflow: hidden;
}

/* 
 *  POPUP BACKDROP: Uses the unique '.service-popup' class
 */
.service-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  display: flex; /* Kept from your original .modal style for centering */
  align-items: center;
  justify-content: center;
  
  /* Visual effects */
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* 
 *  POPUP CONTENT WINDOW: Uses '.service-popup__content'
 */
.service-popup__content {
  position: relative; /* This is required for the close button */
  max-width: 700px;
  width: 90%;
  border-radius: 8px;
  background: #fff;
  padding: 2rem 2.5rem;
  
  overflow-y: auto;
  max-height: 90vh;
  
  /* Applying the appearance animation */
  animation: modal-appear 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* 
 *  POPUP CLOSE BUTTON: Uses '.service-popup__close'
 */
.service-popup__close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    color: #000;
    transition: transform 0.2s ease;
}

.service-popup__close:hover {
    transform: rotate(90deg);
}

.service-popup__close svg {
    width: 100%;
    height: 100%;
}

.service-popup h3 {
    margin-bottom: 1rem;
}

.service-popup p {
    margin-bottom: 1rem;
}

/* List styling (no changes needed here, but kept for completeness) */
.service-popup .competencies-list {
  padding-left: 0;
  margin-top: 1rem;
}
.service-popup .competencies-list li {
  display: list-item;
  margin-left: 1em;
  margin-bottom: 0.75rem;
  line-height: 1.6;
  list-style: disc;
}

/* Animation (no changes needed) */
@keyframes modal-appear {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive (updated with new class) */
@media (max-width: 768px) {
  .service-popup__content {
    padding: 1.5rem;
    width: 95%;
  }
}


.header-contacts.mobile-only {
    display: none;
}