html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

body {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

body *,
body *:before,
body *:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

body {
    min-height: 100vh;
    min-height: -webkit-fill-available;
    --vh-full: 100vh
}

html {
    height: -webkit-fill-available
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

img {
    vertical-align: middle;
    max-width: 100%;
    height: auto
}

svg {
    max-height: 100%;
    max-width: 100%;
    vertical-align: middle;
    height: auto;
    fill: currentColor
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none
}

* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

a {
    text-decoration: none;
    -webkit-transition: all .3s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all .3s cubic-bezier(0.77, 0, 0.175, 1);
    color: inherit
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-weight: bold
}

strong {
    font-weight: bold
}

em {
    font-style: italic
}

del {
    text-decoration: line-through
}

th,
td {
    vertical-align: top
}

th {
    font-weight: normal;
    text-align: left
}

address,
cite,
dfn {
    font-style: normal
}

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

sup {
    top: -0.5em
}

sub {
    bottom: -0.25em
}

html {
    height: 100%;
    font-size: calc(10*100vw/800);
    font-size: calc(10*100vw/var(--size))
}

:root {
    --size: 800
}

body {
    font: 16px/1.75 "Lato", sans-serif;
    background: #fff;
    -webkit-text-size-adjust: none;
    color: #333f48
}

body:not(.loaded) * {
    -webkit-transition: none !important;
    transition: none !important
}

.bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-size: contain;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 25%;
    object-position: 50% 25%;
    overflow: hidden;
    width: 100%;
    height: 100%;
    z-index: -2
}

.bg.contain {
    -o-object-fit: contain;
    object-fit: contain
}

.body-wrap {
    overflow: hidden
}

.section {
    overflow: hidden;
    font-size: 1.6rem;
    vertical-align: top;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    white-space: normal;
    position: relative;
    z-index: 1
}

.section p,
.section h2,
.section .btn,
.section .h2,
.section .h4 {
    -webkit-transition: all 1.5s ease;
    transition: all 1.5s ease
}

.section:not(.in-view) p,
.section:not(.in-view) h2,
.section:not(.in-view) .btn,
.section:not(.in-view) .h2,
.section:not(.in-view) .h4 {
    opacity: 0;
    -webkit-transform: translateY(5vh);
    transform: translateY(5vh)
}

.section.bg-gray {
    background: #333f48;
    color: #fff
}

.section.section-small-text {
    min-width: 50px
}

.gray-box {
    left: 0%;
    right: 0;
    z-index: -5;
    top: 0;
    bottom: 0;
    position: absolute;
    background: hsl(0, 0%, 95%)
}

.container {
    margin: 0 auto;
    padding: 5rem 7rem;
}

.hero-scroll {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    white-space: nowrap;
    position: relative;
    z-index: 1
}

.hero-scroll .h4 {
    margin: 0 2rem 0 0;
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.text {
    width: 55rem;
    min-width: 55rem;
    margin: 0 10rem
}

.right-image {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 40%;
    overflow: hidden
}

iframe {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0
}

.over {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 10%;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
    height: 70%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    bottom: 0
}

.over .item {
    width: 60%
}

.v-space {
    opacity: 0;
    pointer-events: none
}

.about-boxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-right: 9rem
}

.about-box {
    position: relative;
    width: 52.2rem;
    min-height: 64.8rem;
    padding: 8.5rem 6.5rem;
    z-index: 2;
    margin-left: 9rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    color: #fff
}

.about-box:nth-child(1):before {
    background-color: rgb(57.343902439, 70.8365853659, 80.956097561)
}

.about-box:nth-child(2):before {
    background-color: rgb(63.687804878, 78.6731707317, 89.912195122)
}

.about-box:nth-child(3):before {
    background-color: rgb(70.0317073171, 86.5097560976, 98.8682926829)
}

.about-box:nth-child(4):before {
    background-color: rgb(76.3756097561, 94.3463414634, 107.8243902439)
}

.about-box:nth-child(5):before {
    background-color: rgb(82.7195121951, 102.1829268293, 116.7804878049)
}

.about-box:nth-child(6):before {
    background-color: rgb(89.0634146341, 110.0195121951, 125.7365853659)
}

.about-box .h2 {
    margin-top: auto
}

.about-box .number {
    width: 7.2rem;
    height: 7.2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-bottom: 8rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    position: relative
}

.about-box .number:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border-radius: 50%;
    opacity: .2;
    border: 1px solid currentColor
}

.about-box.in-view:before {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1)
}

.about-box.in-view .h2,
.about-box.in-view p,
.about-box.in-view .number {
    opacity: 1;
    -webkit-transform: none;
    transform: none
}

.about-box .h2,
.about-box p,
.about-box .number {
    opacity: 0;
    -webkit-transition: all 1.5s ease;
    transition: all 1.5s ease;
    -webkit-transition-delay: 1.2s;
    transition-delay: 1.2s
}

.about-box .h2,
.about-box p {
    -webkit-transform: translateY(4rem);
    transform: translateY(4rem);
    -webkit-transition-delay: .6s;
    transition-delay: .6s
}

.about-box .h2 {
    -webkit-transition-delay: .5s;
    transition-delay: .5s
}

.about-box:before {
    content: "";
    background: #333f48;
    position: absolute;
    left: 0;
    right: 0;
    z-index: -1;
    height: 100%;
    -webkit-transition: all 1.5s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 1.5s cubic-bezier(0.77, 0, 0.175, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
    bottom: 0;
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0)
}

.btn {
    margin-top: 4rem;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: max(14px, min(9999px, 1.7rem));
    padding: 1.5rem 3rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    position: relative;
    color: #fff;
    z-index: 1
}

.btn:before {
    content: "";
    position: absolute;
    left: 0;
    border-radius: 10rem;
    z-index: -1;
    right: 0;
    top: 0;
    background: rgb(82.7195121951, 102.1829268293, 116.7804878049);
    bottom: 0;
    -webkit-transition: all .4s cubic-bezier(0.7, 0, 0.3, 1);
    transition: all .4s cubic-bezier(0.7, 0, 0.3, 1)
}

.btn:hover:before {
    background: rgb(29.8536585366, 36.8780487805, 42.1463414634)
}

.btn:hover:before {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.btn-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 7rem;
    z-index: 5;
    padding: 1.4rem;
    float: right;
    height: 7rem;
    position: relative
}

.btn-icon:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border-radius: 50%;
    border: 1px solid #fff;
    opacity: .5;
    -webkit-transition: all .5s ease;
    transition: all .5s ease
}

.section-hero .btn-icon:before {
    -webkit-animation: pulse 2s infinite;
    animation: pulse 2s infinite
}

.btn-icon.lg {
    width: 10rem;
    padding: 3rem;
    height: 10rem
}

a:hover .btn-icon:before,
.btn-icon:hover:before {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

@-webkit-keyframes pulse {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: .5
    }

    50% {
        -webkit-transform: scale(1.15);
        transform: scale(1.15);
        opacity: .8
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: .5
    }
}

@keyframes pulse {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: .5
    }

    50% {
        -webkit-transform: scale(1.15);
        transform: scale(1.15);
        opacity: .8
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: .5
    }
}

u {
    text-decoration: none;
    position: relative;
    display: inline-block
}

u:before {
    content: "";
    display: block;
    position: absolute;
    bottom: .075em;
    left: 0;
    width: 100%;
    border-bottom: .035em solid currentColor
}

p {
    font-size: max(17px, min(999px, 2rem))
}

p+p {
    margin-top: 1em
}

.h1,
h1 {
    font-size: 13.3rem;
    font-weight: normal;
    margin-bottom: 4rem;
    font-family: "Lora", serif;
    line-height: 1.1
}

h2,
.h2 {
    font-weight: normal;
    line-height: 1.1;
    margin-bottom: .7em;
    font-size: 5.6rem;
    font-family: "Lora", serif
}

.h4 {
    font-size: max(12px, min(9999px, 1.6rem));
    margin-bottom: 3rem;
    line-height: 1;
    text-transform: uppercase;
    font-weight: bold;
    font-family: "Lato", sans-serif
}

.header {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9;
    width: 9rem;
    color: #fff;
    bottom: 0;
    -webkit-transition: all .75s ease;
    transition: all .75s ease;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.header .menu-trigger {
    -webkit-transition: all .75s ease;
    transition: all .75s ease
}

.header .menu-trigger:before {
    -webkit-transition: all .75s ease;
    transition: all .75s ease
}

.logo {
    font-size: 3.6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    white-space: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 12rem;
    line-height: 1;
    padding: 2rem 5rem;
    min-width: 30rem;
    color: #fff;
    position: relative;
    -webkit-transition: none;
    transition: none;
    font-family: "Lora", serif
}

.logo:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
    background: #333f48
}

.menu-trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    cursor: pointer;
    position: relative;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-transform: uppercase
}

.menu-trigger:before {
    content: "";
    position: absolute;
    left: -50rem;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: -1;
    background: rgb(82.7195121951, 102.1829268293, 116.7804878049)
}

.menu-trigger .bars {
    width: 50%;
    height: 5rem;
    max-width: 6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.menu-trigger .bars span+span {
    -webkit-transform: translateY(0.7rem);
    transform: translateY(0.7rem)
}

.menu-trigger .bars span {
    -webkit-transform: translateY(-0.7rem);
    transform: translateY(-0.7rem);
    -webkit-transition: all .75s ease;
    transition: all .75s ease;
    display: block;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    margin-bottom: -2px;
    height: 2px;
    background: currentColor;
    width: 100%
}

.active-menu .menu-trigger .bars span:nth-child(1) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.active-menu .menu-trigger .bars span:nth-child(2) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.contacts {
    text-align: right;
    margin-bottom: 3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.contacts .h4 {
    margin: 3rem 0 0;
    padding: 0
}

.contacts a {
    margin-left: auto;
    font-size: 3rem;
    display: block;
    position: relative;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    overflow: hidden;
    margin-top: .5rem
}

.contacts a:before {
    content: "";
    position: absolute;
    right: 0;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    top: 0;
    margin: auto 0;
    bottom: 0;
    background: #333f48;
    -webkit-transform: translateX(110%);
    transform: translateX(110%);
    height: .5rem;
    width: 3rem
}

.contacts a:hover {
    padding-right: 4rem
}

.contacts a:hover:before {
    content: "";
    -webkit-transform: translateX(0%);
    transform: translateX(0%)
}

.main-nav {
    position: fixed;
    left: 9.9rem;
    right: 0;
    background: rgb(29.8536585366, 36.8780487805, 42.1463414634);
    top: 0;
    bottom: 0;
    -webkit-transform: translateX(-100vw);
    transform: translateX(-100vw);
    font-size: 6.4rem;
    color: #fff;
    overflow: auto;
    z-index: 8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: "Lora", serif;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.main-nav .container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.main-nav .right {
    -webkit-transform: translateY(5vh);
    transform: translateY(5vh);
    opacity: 0;
    -webkit-transition: all .1s ease;
    transition: all .1s ease;
    -webkit-transition-delay: .7s;
    transition-delay: .7s
}

.active-menu .main-nav .right {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
    -webkit-transition: all 1.5s ease;
    transition: all 1.5s ease;
    -webkit-transition-delay: .5s;
    transition-delay: .5s
}

.main-nav .social {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: -3rem;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.main-nav .social li {
    margin-left: 3rem
}

.menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.menu li {
    margin-right: auto;
    padding-top: 1rem;
    opacity: -1;
    -webkit-transition: all 1.2s ease;
    transition: all 1.2s ease;
    -webkit-transform: translateX(calc(-100% - 10rem));
    transform: translateX(calc(-100% - 10rem))
}

.active-menu .menu li {
    -webkit-transform: none;
    transform: none;
    opacity: 1
}

.menu a {
    display: block;
    position: relative;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    overflow: hidden
}

.menu a:before {
    content: "";
    position: absolute;
    left: 0;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
    top: 0;
    margin: auto 0;
    bottom: 0;
    background: #333f48;
    -webkit-transform: translateX(-110%);
    transform: translateX(-110%);
    height: .5rem;
    width: 4rem
}

.menu a:hover {
    padding-left: 5rem
}

.menu a:hover:before {
    content: "";
    -webkit-transform: translateX(0%);
    transform: translateX(0%)
}

.section-hero {
    color: #fff;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    padding-left: 9rem;
    margin-right: -1px
}

.section-hero h1 {
    max-width: 98rem
}

.section-hero .bg {
    -o-object-position: 50% 65%;
    object-position: 50% 65%
}

.section-hero .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.section-hero:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(#333f48));
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), #333f48);
    height: 60%;
    backdrop-filter: blur(5px);
    bottom: -1px;
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(60%, black));
    -webkit-mask: linear-gradient(transparent, black 60%);
    mask: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(60%, black));
    mask: linear-gradient(transparent, black 60%);
    mix-blend-mode: multiply
}

.preloader {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 99;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: rgb(29.8536585366, 36.8780487805, 42.1463414634)
}

.preloader .logo {
    height: 12rem;
    pointer-events: none
}

.preloader .logo:before {
    opacity: 0;
    -webkit-transition-delay: .5s;
    transition-delay: .5s;
    -webkit-transition: all 1.5s ease;
    transition: all 1.5s ease
}

.loaded .preloader .logo:before {
    opacity: 1
}

.person-item {
    overflow: hidden;
    background: #333f48;
    z-index: 4;
    position: relative
}

.person-item.in-view .bg {
    opacity: 1
}

.person-item.in-view .person-info {
    -webkit-transform: translateY(0%);
    transform: translateY(0%)
}

.person-item .person-info {
    -webkit-transition: all 1.5s ease;
    transition: all 1.5s ease;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition-delay: .5s;
    transition-delay: .5s
}

.person-item .bg {
    max-width: none;
    opacity: 0;
    -webkit-transition: all 1.5s cubic-bezier(0.77, 0, 0.175, 1);
    transition: all 1.5s cubic-bezier(0.77, 0, 0.175, 1)
}

.over-title {
    position: absolute;
    left: 0;
    color: #fff;
    padding: 4rem;
    right: 0;
    margin: 0;
    bottom: 0
}

.over-title:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(#333f48));
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), #333f48);
    height: 60vh;
    backdrop-filter: blur(5px);
    -webkit-mask: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(60%, black));
    -webkit-mask: linear-gradient(transparent, black 60%);
    mask: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(60%, black));
    mask: linear-gradient(transparent, black 60%);
    mix-blend-mode: multiply
}

@media (min-width: 768px) {
    :root {
        --size: 1200
    }
}

@media (min-width: 992px) {
    :root {
        --size: 2200
    }

    .body {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        white-space: nowrap;
        position: fixed;
        left: 0;
        right: 0;
        font-size: 0;
        top: 0;
        bottom: 0
    }

    .section {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        height: 100vh;
        min-width: calc(100vw - 13rem)
    }

    .section:last-child {
        margin-left: 8px
    }

    .section.section-image {
        z-index: -1;
        margin: 0 -1px
    }

    .section.section-small {
        min-width: calc(50vw - 13rem)
    }

    .section-text {
        width: calc(100vw - 13rem)
    }

    .section-text .container {
        max-width: 70%;
        width: 110rem
    }

    .about-box .h2 {
        font-size: 4.5rem
    }

    .active-menu .header .menu-trigger,
    .header:hover .menu-trigger {
        -webkit-transform: translateX(1rem);
        transform: translateX(1rem)
    }

    .active-menu .header .menu-trigger:before,
    .header:hover .menu-trigger:before {
        -webkit-transform: translateX(1rem);
        transform: translateX(1rem)
    }

    .active-menu .menu li:nth-child(1) {
        -webkit-transition-delay: 1.1s;
        transition-delay: 1.1s
    }

    .active-menu .menu li:nth-child(2) {
        -webkit-transition-delay: 1s;
        transition-delay: 1s
    }

    .active-menu .menu li:nth-child(3) {
        -webkit-transition-delay: .9s;
        transition-delay: .9s
    }

    .active-menu .menu li:nth-child(4) {
        -webkit-transition-delay: .8s;
        transition-delay: .8s
    }

    .active-menu .menu li:nth-child(5) {
        -webkit-transition-delay: .7s;
        transition-delay: .7s
    }

    .active-menu .menu li:nth-child(6) {
        -webkit-transition-delay: .6s;
        transition-delay: .6s
    }

    .active-menu .menu li:nth-child(7) {
        -webkit-transition-delay: .5s;
        transition-delay: .5s
    }

    .active-menu .menu li:nth-child(8) {
        -webkit-transition-delay: .4s;
        transition-delay: .4s
    }

    .active-menu .menu li:nth-child(9) {
        -webkit-transition-delay: .3s;
        transition-delay: .3s
    }

    .active-menu .menu li:nth-child(10) {
        -webkit-transition-delay: .2s;
        transition-delay: .2s
    }

    .person-item+.person-item {
        margin-left: .2rem
    }

    .person-item+:not(.person-item) {
        margin-left: -1px;
        z-index: 5
    }
}

@media (max-width: 991.98px) {
    .body {
        -webkit-transform: none !important;
        transform: none !important
    }

    .section {
        padding: 12rem 0;
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .section.section-small {
        height: 80vh;
        min-height: 350px
    }

    .section.section-image {
        height: 90vw;
        min-height: 350px;
        padding: 0
    }

    .hero-scroll svg {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg)
    }

    .text {
        margin: 0;
        padding: 8rem;
        width: auto;
        min-width: 0
    }

    .right-image {
        position: relative;
        width: 100%;
        height: 50vw;
        margin-bottom: -12rem
    }

    .v-space {
        display: none
    }

    .about-boxes {
        display: block;
        padding: 8rem
    }

    .about-box {
        width: auto;
        min-height: 50vh;
        height: auto;
        margin: 0 0 9rem
    }

    .about-box:last-child {
        margin-bottom: 0
    }

    p {
        font-size: max(15px, min(999px, 2rem))
    }

    .h1,
    h1 {
        font-size: 10rem
    }

    .section:not(.section-hero) .h1,
    .section:not(.section-hero) h1 {
        font-size: 8rem
    }

    h2,
    .h2 {
        font-size: 6rem
    }

    .header {
        height: 12rem;
        width: auto;
        right: 0;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        bottom: auto
    }

    .logo {
        height: 100%;
        width: auto;
        padding: 0 5rem;
        font-size: 4rem
    }

    .menu-trigger:before {
        left: 0
    }

    .menu-trigger .bars {
        margin-left: auto;
        margin-right: 5rem
    }

    .contacts {
        text-align: center;
        margin: 3rem 0 5rem
    }

    .contacts a {
        margin-right: auto
    }

    .main-nav {
        left: 0;
        padding: 6rem
    }

    .main-nav .container {
        margin: auto;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .active-menu .main-nav .right {
        -webkit-transition-delay: 1.5s;
        transition-delay: 1.5s
    }

    .main-nav .social {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .menu li {
        margin: 0 auto;
        -webkit-transform: translateX(calc(-100% - 50vw));
        transform: translateX(calc(-100% - 50vw))
    }

    .active-menu .menu li:nth-child(1) {
        -webkit-transition-delay: .5s;
        transition-delay: .5s
    }

    .active-menu .menu li:nth-child(2) {
        -webkit-transition-delay: .6s;
        transition-delay: .6s
    }

    .active-menu .menu li:nth-child(3) {
        -webkit-transition-delay: .7s;
        transition-delay: .7s
    }

    .active-menu .menu li:nth-child(4) {
        -webkit-transition-delay: .8s;
        transition-delay: .8s
    }

    .active-menu .menu li:nth-child(5) {
        -webkit-transition-delay: .9s;
        transition-delay: .9s
    }

    .active-menu .menu li:nth-child(6) {
        -webkit-transition-delay: 1s;
        transition-delay: 1s
    }

    .active-menu .menu li:nth-child(7) {
        -webkit-transition-delay: 1.1s;
        transition-delay: 1.1s
    }

    .active-menu .menu li:nth-child(8) {
        -webkit-transition-delay: 1.2s;
        transition-delay: 1.2s
    }

    .active-menu .menu li:nth-child(9) {
        -webkit-transition-delay: 1.3s;
        transition-delay: 1.3s
    }

    .active-menu .menu li:nth-child(10) {
        -webkit-transition-delay: 1.4s;
        transition-delay: 1.4s
    }

    .section-hero {
        padding: 0;
        min-height: var(--vh-full);
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }

    .section-hero .container {
        display: block
    }
}

@media (max-width: 767.98px) {
    .container {
        padding-left: 4rem;
        padding-right: 4rem
    }
}

#contact-form .form-control {
    border: 1px solid #ccc;
    border-radius: .4rem;
    padding: 1rem;
    font-size: 1.6rem;
    background-color: #fff;
    width: 100%;
    margin-bottom: 1.5rem;
}

#contact-form textarea.form-control {
    min-height: 12rem;
    resize: vertical;
}

#contact-form .row {
    display: flex;
    flex-wrap: wrap;
    margin: -0.75rem;
}

#contact-form .col-12,
#contact-form .col-sm-6 {
    padding: 0 0.75rem;
    box-sizing: border-box;
}

#contact-form .col-12 {
    width: 100%;
}

#contact-form .col-sm-6 {
    width: 50%;
}

@media (max-width: 576px) {
    #contact-form .col-sm-6 {
        width: 100%;
    }
}

#contact-form button.btn-primary {
    background: rgb(82, 102, 116);
    color: #fff;
    border: none;
    border-radius: .4rem;
    padding: 1rem 2rem;
    font-size: 1.6rem;
    cursor: pointer;
    transition: background .3s;
}

#contact-form button.btn-primary:hover {
    background: rgb(58, 73, 83);
}

/* Helper utility classes */
.w-100 {
    width: 100% !important;
}

.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

/* Message fallback styling */
#form-msg a.btn-outline-primary {
    display: inline-block;
    color: #333f48;
    border: 1px solid #333f48;
    padding: 1rem 2rem;
    border-radius: .4rem;
    transition: background .3s, color .3s;
}

#form-msg a.btn-outline-primary:hover {
    background: #333f48;
    color: #fff;
}