:root {
    --barlow: "Barlow Semi Condensed", sans-serif !important;
    --inter: "Inter Tight", sans-serif !important;
    --geist: "Geist Mono", monospace !important;
    --blue: #9DD6E8;
    --left: 5.5556vw;
}

* {
    box-sizing: border-box;
}

html.lenis {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped body {
    overflow: hidden;
}

.lenis.lenis-scrolling iframe {
    pointer-events: none;
}

html {
    width: 100%;
    box-sizing: border-box;
    background-color: transparent;
    margin: 0;
}

/*14*/
body {
    color: white;
    font-size: 0.9722vw;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.0208vw;
    font-family: var(--inter);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    background-color: #042730;
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
}

/*60*/
h1,
.h1 {
    font-size: 4.1667vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.1690vw;
    text-transform: uppercase;
    color: white;
    font-family: var(--barlow);
    margin-bottom: 1.8750vw;
}

/*40*/
h2,
.h2 {
    font-size: 2.7778vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.0694vw;
    color: var(--blue);
}

/*30*/
h3,
.h3 {
    font-size: 2.0833vw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.0694vw;
    color: var(--blue);
}

/*25*/
h4,
.h4 {
    font-size: 1.7361vw;
    font-weight: 400;
    line-height: 1;
    color: var(--blue);
}

/*20*/
h5,
.h5 {
    font-size: 1.3889vw;
    font-weight: 400;
    line-height: 1;
    color: var(--blue);
}

/*16*/
h6,
.h6 {
    font-size: 0.6944vw;
    font-weight: 400;
    line-height: 1.2;
    color: var(--blue);
    text-transform: uppercase;
    font-family: var(--geist);
    margin-bottom: 0.9028vw;
}

img {
    display: block;
    object-fit: contain;
}

/* ======================== 
    Header
==========================*/
header.header {
    display: flex;
    align-items: center;
    padding: 1.3194vw;
    font-family: var(--barlow);
    background: linear-gradient(180deg, #082E3B -22.07%, rgba(8, 46, 59, 0.00) 72.07%);
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}

.header-logo {
    width: 13.7500vw;
}

.header-logo * {
    width: 100%;
}

.header-menu {
    margin-left: 2.0833vw;
    padding-left: 2.0833vw;
    position: relative;
}

.header-menu:before {
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    background-color: white;
    position: absolute;
    top: 0;
    left: 0;
}

.header-menu ul {
    margin: 0;
    display: flex;
    gap: 1.5972vw;
    list-style: none;
    padding: 0;
}

li.menu-item a {
    color: white;
    text-decoration: none;
    text-transform: uppercase;
}

li.menu-item>a {
    display: flex;
    align-items: center;
    height: 2.7778vw;
}

li.menu-item.menu-item-has-children {
    position: relative;
}

ul.submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 10vw;
}

.header-button {
    margin-left: auto;
}

/* ======================== 
    Common
==========================*/
a.btn {
    color: white;
    text-decoration: none;
    text-transform: uppercase;
    padding: 0.5556vw 1.0417vw;
    border-radius: 1.2153vw;
    border: 0.0208vw solid #FFF;
    background: linear-gradient(267deg, rgba(255, 255, 255, 0.00) -0.64%, rgba(251, 254, 255, 0.20) 88.1%);
}

/* ======================== 
    Home
==========================*/
.home-section {
    height: 100vw;
    padding-top: 15.5556vw;
}

.home-section:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.42;
    background: #B0B0B0;
    mix-blend-mode: darken;
}

.home-text {
    margin: 0 auto;
    text-align: center;
    width: 50%;
}

.home-text p {
    width: 23.3333vw;
    margin: auto;
}

.home-company-section {
    padding: 0 var(--left);
}

.home-company-left {
    position: relative;
    width: 36.8056vw;
    padding-top: 0.6944vw;
    padding-left: 1.5972vw;
}

.home-company-left:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 2px;
    height: 21.0417vw;
    background: linear-gradient(270deg, #2A505B 70.29%, rgba(88, 170, 193, 0.00) 100%);
}

.home-company-left:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -0.5px;
    width: 3px;
    height: 2.2222vw;
    background-color: var(--blue);
}

.home-company-right {
    width: 30vw;
    margin-top: 7vw;
    margin-left: auto;
}

.font-large {
    font-size: 26.9750vw;
    line-height: 1;
    letter-spacing: -0.6744vw;
    color: var(--blue);
}

.home-company-center {
    width: 45.8333vw;
    margin: 27.7778vw auto 0;
    text-align: center;
}

.home-service-section {
    position: relative;
    padding: 20vw 0;
}

.home-service-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 23.2639vw;
    text-align: center;
}

.home-service-circle {
    width: 41.8750vw;
    height: 41.8750vw;
    border-radius: 50%;
    border: 1px solid rgba(50, 101, 116, 0.32);
    margin: auto;
}

.brand-section {
    padding: 3vw 0;
}

.brand-section .swiper-wrapper.marquee-swiper {
    transition-timing-function: linear;
    align-items: center;
}

.brand-section .swiper-slide.marquee-swiper {
    width: 18.9583vw;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: url('images/img-box-border.svg');
    background-size: cover;
    height: 7.9167vw;
}

.brand-section .swiper-slide img {
    height: 2.1528vw;
}