:root {
    --color-white: #FFF;
    --color-black: #000;
    --color-dark-1: #060609;
    --color-dark-2: #0B0B0D;
    --color-dark-3: #111111;
    --color-dark-4: #191919;
    --color-medium: #A2A2A2;
    --color-light: #EEEEEE;
    --color-blue-1: #2C79F8;
    --color-blue-2: #1337B5;
    --gradient-blue: linear-gradient(138deg, #2C79F8 0%, #1337B5 100%);
    --gradient-gray: linear-gradient(135deg, #111111 0%, #060609 100%);
    --satoshi-light: 'Satoshi-Light';
    --satoshi-regular: 'Satoshi-Regular';
    --satoshi-medium: 'Satoshi-Medium';
    --satoshi-bold: 'Satoshi-Bold';
    --satoshi-black: 'Satoshi-Black';
}

@font-face {
    font-family: 'Satoshi-Light';
    font-weight: 300;
    font-display: swap;
    font-style: normal;
    src: url('../assets/fonts/Satoshi-Light.woff2') format('woff2'),
         url('../assets/fonts/Satoshi-Light.woff') format('woff'),
         url('../assets/fonts/Satoshi-Light.ttf') format('truetype');
}
@font-face {
    font-family: 'Satoshi-Regular';
    font-weight: 400;
    font-display: swap;
    font-style: normal;
    src: url('../assets/fonts/Satoshi-Regular.woff2') format('woff2'),
         url('../assets/fonts/Satoshi-Regular.woff') format('woff'),
         url('../assets/fonts/Satoshi-Regular.ttf') format('truetype');
}
@font-face {
    font-family: 'Satoshi-Medium';
    font-weight: 500;
    font-display: swap;
    font-style: normal;
    src: url('../assets/fonts/Satoshi-Medium.woff2') format('woff2'),
         url('../assets/fonts/Satoshi-Medium.woff') format('woff'),
         url('../assets/fonts/Satoshi-Medium.ttf') format('truetype');
}
@font-face {
    font-family: 'Satoshi-Bold';
    font-weight: 700;
    font-display: swap;
    font-style: normal;
    src: url('../assets/fonts/Satoshi-Bold.woff2') format('woff2'),
         url('../assets/fonts/Satoshi-Bold.woff') format('woff'),
         url('../assets/fonts/Satoshi-Bold.ttf') format('truetype');
}
@font-face {
    font-family: 'Satoshi-Black';
    font-weight: 900;
    font-display: swap;
    font-style: normal;
    src: url('../assets/fonts/Satoshi-Black.woff2') format('woff2'),
         url('../assets/fonts/Satoshi-Black.woff') format('woff'),
         url('../assets/fonts/Satoshi-Black.ttf') format('truetype');
}


body {
    position: relative;
    background-color: var(--color-dark-1);
    font-family: var(--satoshi-regular);
    font-size: 15px;
    overflow-x: hidden;
}

* {
    box-sizing: border-box;
    touch-action: manipulation;
    color: var(--color-light);
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Hide Scrollbars */
::-webkit-scrollbar {
    display: none;
}


/* --------------------------------------General-------------------------------------- */

/* Sections */
section {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    width: 100%;
}
section.full {
    min-height: 100vh;
}

/* Loader */
.loader__modal {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    padding: 0 0 2rem 0;
    width: 100%;
    height: 100vh;
    background-color: #0016240C;
}

.loader__cont {
    position: relative;
    display: inline-block;
    width: 200px;
    height: 200px;
    overflow: hidden;
    background: transparent;
}
.loader__cont span {
    position: absolute;
    left: 54px;
    bottom: 2rem;
    color: #A8A9A8;
    text-align: center;
    font-size: 1.1em;
}

.loader {
    position: relative;
    width: 100%;
    height: 100%;
    transform: translateZ(0) scale(1);
    backface-visibility: hidden;
    transform-origin: 0 0;
}
.loader div {
    box-sizing: content-box;
    position: absolute;
    border-width: 4px;
    border-style: solid;
    opacity: 1;
    border-radius: 50%;
    animation: loader-animation 1.1363636363636365s cubic-bezier(0,0.2,0.8,1) infinite;
}
.loader div:nth-child(1) {
    border-color: #a8a9a8;
    animation-delay: 0s;
}
.loader div:nth-child(2) {
    border-color: #0d0d13;
    animation-delay: -0.5681818181818182s;
}

#loader-text {
    animation: loader-text 1.1363636363636365s ease-in-out infinite alternate;
}



/* ----------------------------------------Home---------------------------------------- */
.home__intro {
    position: fixed;
    display: flex;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: var(--color-dark-1);
    z-index: 500;
}
.home__intro span {
    position: absolute;
    top: 50%;
    left: 50%;
    color: var(--color-light);
    text-align: center;
    font-family: var(--satoshi-bold);
    font-size: 1.8em;
    translate: -50% -50%;
    animation: intro-text 1s ease 1.4s forwards;
}
.home__intro div {
    position: absolute;
    display: block;
    top: 100%;
    left: 0;
    width: 100%;
    height: 65%;
    background-color: var(--color-blue-2);
    animation: intro-square 0.66s ease 1.4s;
}

.home {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(5, 100vh) 250vh 120vh 100vh 130vh 100vh 120vh;
    width: 100%;
}

/* Home Hero */
.home__hero {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    position: sticky;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 35vh auto;
    align-items: start;
    justify-items: center;
    top: 0;
    height: 100vh;
    overflow: visible;
}
.home__hero h1 {
    display: block;
    margin: 0;
    width: 100%;
    max-width: 700px;
    text-align: center;
    font-family: var(--satoshi-bold);
    font-size: 3em;
    line-height: 1.3em;
    z-index: 0;
}

.home__hero-header {
    display: grid;
    grid-template-columns: 200px 1fr 200px;
    align-items: start;
    padding: 0 2.2rem;
    width: 100%;
}

.home__login {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 2.2rem;
    width: max-content;
    height: min-content;
    color: var(--color-light);
    font-size: 1.2em;
    transform-origin: -45px 50px;
}
.home__login i {
    opacity: 75%;
    transition: translate 0.3s;
}
.home__login span {
    font-family: var(--satoshi-medium);
    opacity: 75%;
    transition: opacity 0.3s, translate 0.3s;
}
.home__login:hover i {
    translate: 1rem;
}
.home__login:hover span {
    opacity: 15%;
    translate: 0.3rem;
}

.home__lang {
    position: relative;
    display: flex;
    margin: 65px auto 0 auto;
    height: 35px;
    background-color: var(--color-dark-4);
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59;
    border-radius: 17.5px;
    cursor: pointer;
    z-index: 1;
}
.home__lang div {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 1.2rem;
    color: #EEEEEE59;
    font-family: var(--satoshi-bold);
    font-size: 0.75em;
    z-index: 5;
}
.home__lang > span {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 35px;
    border-radius: 17.5px;
    background: var(--gradient-blue);
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59, 0 0 35px #1F58D6D8;
    transition: left 0.3s;
    z-index: 1;
}
.home__lang input {
    display: none;
}
.home__lang img {
    display: block;
    height: 10px;
    object-fit: contain;
}
.home__lang input:checked + span {
    left: 50%;
}

.home__lang-text.selected {
    color: #EEEEEECC;
}

.home__header-btn {
    justify-self: end;
    position: relative;
    display: block;
    margin-top: 2.2rem;
    height: 35px;
    background-color: transparent;
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59;
    border-radius: 17.5px;
    transition:  box-shadow 0.3s;
    overflow: hidden;
    transform-origin: calc(100% + 45px) 50px;
}
.home__header-btn span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 2rem;
    width: 100%;
    height: 35px;
    color: #EEEEEE59;
    font-family: var(--satoshi-medium);
    transition: color 0.3s;
    z-index: 5;
}
.home__header-btn div {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.home__header-btn .gradient {
    opacity: 0;
    background: var(--gradient-blue);
    transition: opacity 0.3s ease;
}
.home__header-btn .solid {
    background-color: var(--color-dark-4);
}
.home__header-btn:hover {
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59, 0 0 35px #1F58D6D8;
}
.home__header-btn:hover span {
    color: var(--color-light);
}
.home__header-btn:hover .gradient {
    opacity: 1;
}

.home__hero-scroll {
    position: absolute;
    display: block;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 66vh;
    background: radial-gradient(closest-side at 50% 50%, #2C79F859 0%, #2C79F859 40%, #06060900 100%);
    translate: 0 66%;
    z-index: 1;
}
.home__hero-scroll div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    opacity: 0.85;
    transition: opacity 0.3s;
    animation: hero-scroll 2s linear 
    3s infinite;
}
.home__hero-scroll div.hidden {
    opacity: 0;
    animation: none;
}
.home__hero-scroll span {
    font-family: var(--satoshi-regular);
    font-size: 1em;
}


/* Mission */
section.home__mission {
    grid-column: 1 / 2;
    grid-row: 2 / 4;
    justify-content: start;
}

.home__mission-grid {
    position: sticky;
    display: grid;
    grid-template-columns: 1fr 1fr;
    top: 0;
    column-gap: 2rem;
    padding: 3rem;
    width: 100%;
    height: 100vh;
    max-width: calc(1060px + 6rem);
}
.home__mission-grid > div {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    color: var(--color-light);
    z-index: 5;
}
.home__mission-grid > div:first-child {
    padding: 4rem 4rem 5rem 4rem;
    height: min-content;
}
.home__mission-grid > div:last-child {
    padding: 2rem;
}

.home__mission-frame {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-dark-3);
    border-radius: 20px;
    z-index: -1;
}

.home__mission-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}
.home__mission-wrap.left {
    gap: 2rem;
}
.home__mission-wrap.right {
    gap: 5rem;
    translate: 50vw;
}

.home__mission-grid h2 {
    margin: 0;
    max-width: 330px;
    text-align: center;
    font-size: 2.25em;
    line-height: 1.25em;
    translate: 50vw;
}
.home__mission-grid h2 span {
    position: relative;

}
.home__mission-grid h2 div {
    position: absolute;
    display: block;
    left: 0;
    bottom: -3px;
    width: calc(100% + 8px);
    height: 3px;
    background-color: var(--color-blue-2);
}

.home__mission-grid p {
    margin: 0;
    max-width: 320px;
    text-align: center;
    font-family: var(--satoshi-medium);
    font-size: 1.3em;
    line-height: 1.25em;
}
.home__mission-grid p.light {
    font-size: 1.1em;
    opacity: 0.75;
}
#p-left {
    translate: -50vw;
}

.home__mission-grid i {
    margin-left: auto;
    color: var(--color-light);
    font-size: 2.2em;
    opacity: 0;
}

.home__mission-grid img {
    display: block;
    height: 180px;
    object-fit: contain;
    translate: -50vw;
}

.home__mission-btn {
    position: relative;
    display: block;
    width: min-content;
    height: 180px;
    aspect-ratio: 11 / 9;
    background-color: var(--color-dark-2);
    border-radius: 26px;
    z-index: 1;
}
.home__mission-btn button {
    display: block;
    width: min-content;
    height: 100%;
    aspect-ratio: 1 / 1;
    outline: none;
    border: none;
    background-color: transparent;
    color: #EEEEEE59;
    translate: 0;
    transition: translate 0.4s, color 0.4s;
}
.home__mission-btn div {
    position: absolute;
    display: block;
    width: 100%;
    top: 0;
    left: 0;
    height: 100%;
    border-radius: 25px;
    z-index: -1;
}
.home__mission-btn .solid {
    background-color: var(--color-dark-4);
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE26;
}
.home__mission-btn .gradient {
    background: var(--gradient-blue);
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE26, 0 0 50px #1F58D6BF;
    opacity: 0;
    transition: opacity 0.4s;
}
.home__mission-btn button.pushed {
    translate: calc(100% * 2 / 9);
    color: #EEEEEECC;
}
.home__mission-btn button.pushed .gradient {
    opacity: 1;
}

/* We Care */
.home__we-care {
    grid-column: 1 / 2;
    grid-row: 3 / 6;
}

.home__care-cont {
    position: sticky;
    display: grid;
    grid-template-columns: 1fr min(50vw);
    top: 0;
    width: 100%;
    height: 100vh;
}

.home__care-title {
    align-self: center;
    justify-self: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    padding: 0 3rem;
    z-index: -1;
}
.home__care-title h2 {
    width: 100%;
    max-width: 450px;
    margin: 0;
    font-size: 7em;
    font-family: var(--satoshi-bold);
    translate: -50vw;
    transform-origin: -35vw 100px;
}
.home__care-title p {
    margin: 0;
    padding-right: 1rem;
    width: 100%;
    max-width: 450px;
    font-family: var(--satoshi-medium);
    font-size: 1.45em;
    line-height: 1.35em;
    opacity: 0.65;
    translate: -50vw;
}

.home__care-circles {
    align-self: end;
    justify-self: end;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    align-items: center;
    justify-items: center;
    width: min(50vw, calc(100vh - 25px));
    height: min-content;
    aspect-ratio: 1 / 1;
    translate: 10% 100vh;
}
.home__care-circles img {
    display: block;
    width: min(80%, 250px);
    object-fit: contain;
    opacity: 0;
}

.home__care-circle {
    position: relative;
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: flex;
    height: min-content;
    aspect-ratio: 1 / 1;
    background: var(--gradient-gray);
    box-shadow: inset 0.75px 0.75px 0px #FFFFFF1A;
    border-radius: 50%;
}
.home__care-circle.first {
    width: 100%;
    opacity: 0.25;
}
.home__care-circle.second {
    width: calc(100% - 8rem);
    opacity: 0;
}
.home__care-circle.third {
    align-items: center;
    justify-content: center;
    width: calc(100% - 16rem);
    opacity: 0;
    z-index: 1;
}

/* Journey */
.home__journey {
    grid-column: 1 / 2;
    grid-row: 5 / 7;
}
.home__journey h2 {
    position: relative;
    margin: 1rem 0 4.5rem 0;
    font-family: var(--satoshi-bold);
    font-size: 2.7em;
    line-height: 48px;
    translate: -60vw calc(100vh + 1.5rem);
    z-index: 1;
}

.home__journey-cont {
    position: sticky;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    top: 0;
    width: 100%;
    height: 100vh;
}
.home__journey-cont > span {
    color: var(--color-blue-1);
    font-family: var(--satoshi-bold);
    font-size: 1.1em;
    line-height: 20px;
    opacity: 0;
}

.home__journey-cards {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    width: 100%;
    height: auto;
}
.home__journey-cards > div {
    display: block;
    width: 340px;
    height: min-content;
    aspect-ratio: 114 / 143;
    background-color: transparent;
    perspective: 1000px;
}
.home__journey-cards > div:hover
.home__journey-card {
    transform: rotateY(180deg);
}

.home__journey-card {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.6s;
    transform-style: preserve-3d;
}

.home__journey-card-front,
.home__journey-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(142deg, #111111 0%, #0B0B0D 100%);
    border-radius: 20px;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.home__journey-card-front {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    box-shadow: inset 0.75px 0.75px 0px #FFFFFF1A;
}
.home__journey-card-front h3 {
    margin: 0;
    font-family: var(--satoshi-bold);
    font-size: 1.8em;
    opacity: 0.75;
}
.home__journey-card-front p {
    margin: 0;
    max-width: 180px;
    text-align: center;
    font-family: var(--satoshi-medium);
    font-size: 1.25em;
    line-height: 1.45em;
    opacity: 0.55;
}
.home__journey-card-front span {
    color: var(--color-blue-1);
    text-transform: uppercase;
    font-family: var(--satoshi-bold);
    font-size: 0.8em;
}
.home__journey-card-front img {
    display: block;
    width: 125px;
    object-fit: contain;
}

.home__journey-card-back {
    transform: rotateY(180deg);
}
.home__journey-card-back > div {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: #1337B5D9;
    box-shadow: inset 0.75px 0.75px 0px #FFFFFF1A;
    border-radius: 20px;
}
.home__journey-card-back p {
    max-width: 50%;
    text-align: center;
    font-family: var(--satoshi-medium);
    font-size: 1.35em;
    opacity: 0.85;
}
.home__journey-card-back span {
    text-transform: uppercase;
    font-family: var(--satoshi-bold);
    font-size: 0.85em;
}
.home__journey-card-back i {
    font-size: 1.5em;
}

.home__journey-card-bottom {
    position: absolute;
    display: flex;
    align-items: center;
    right: 1rem;
    bottom: 1rem;
    gap: 0.8rem;
    opacity: 0.35;
}

#card-one {
    translate: -50vw -1rem;
}
#card-two,
#card-three {
    opacity: 0;
}

/* Our Work */
.home__work-cont {
    grid-column: 1 / 2;
    grid-row: 8 / 11;
    width: 100%;
    height: 100%;
}
.home__scrum-cont {
    grid-column: 1 / 2;
    grid-row: 7 / 9;
    width: 100%;
    height: 100%;
}

.home__work,
.home__scrum {
    position: sticky;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    top: 0;
    width: 100%;
    height: 100vh;
}

.home__scrum p {
    margin: 0 0 4rem 0;
    max-width: 600px;
    background: linear-gradient(99deg, #A2A2A2 0%, #EEEEEE 100%);
    text-align: center;
    font-family: var(--satoshi-medium);
    font-size: 2em;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.home__scrum img {
    display: block;
    width: 170px;
    object-fit: contain;
    translate: 0 100vh;
}

.home__work h2 {
    margin: 0;
    font-family: var(--satoshi-bold);
    font-size: 10em;
    opacity: 0.9;
    line-height: 175px;
}

.home__work p {
    margin: 5rem 0;
    width: 90%;
    max-width: 550px;
    text-align: center;
    font-family: var(--satoshi-medium);
    font-size: 1.45em;
    opacity: 0.65;
    translate: 80vw;
}

.home__work span {
    color: var(--color-blue-1);
    font-family: var(--satoshi-bold);
    font-size: 1.2em;
    line-height: 22px;
    opacity: 0;
}

.home__work-links {
    display: grid;
    grid-template-columns: 165px auto 165px;
    gap: 1rem;
    margin-top: 3rem;
}

.home__work-links a {
    display: grid;
    grid-template-columns: 20px max-content;
    align-items: center;
    justify-content: center;
    gap: 13px;
    padding: 0 1.8rem;
    height: 50px;
    background-color: var(--color-dark-3);
    border-radius: 15px;
    color: var(--color-light);
    font-family: var(--satoshi-medium);
    transition: color 0.2s, background-color 0.2s;
    opacity: 0;
}

.home__work-links a:first-child,
.home__work-links a:last-child {
    width: 100%;
}

.home__work-links span {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    color: inherit;
    opacity: 1;
    transition: translate 0.2s;
}

.home__work-links i {
    color: var(--color-blue-1);
    transition: opacity 0.15s;
}

.home__work-links i:first-child {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

.home__work-links i:last-child {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    justify-self: end;
    color: var(--color-dark-1);
    font-size: 1.2em;
    opacity: 0;
}

.home__work-links a:hover {
    background-color: var(--color-light);
    color: var(--color-dark-1);
}

.home__work-links a:hover span {
    translate: -33px;
}

.home__work-links a:hover i:first-child {
    opacity: 0;
}

.home__work-links a:hover i:last-child {
    opacity: 1;
}

#work-portfolio {
    transform-origin: -40vw calc(100% + 60vw);
}
#work-blog {
    transform-origin: calc(100% + 40vw) calc(100% + 60vw);
}

/* Cost */
.home__cost {
    grid-column: 1 / 2;
    grid-row: 10 / 12;
    height: 100%;
}

.home__cost-cont {
    position: sticky;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    top: 0;
    width: 100%;
    height: 100vh;
}

.home__cost h3 {
    margin: 0 0 5rem;
    max-width: 330px;
    text-align: center;
    font-family: var(--satoshi-bold);
    font-size: 2.2em;
}
.home__cost span {
    font-family: var(--satoshi-medium);
    font-size: 1.45em;
    opacity: 0.5;
    translate: 0 100vh;
}
.home__cost i {
    margin: 2.5rem 0;
    font-size: 1em;
    opacity: 0.5;
    translate: 0 100vh;
}
.home__cost a {
    display: flex;
    align-items: center;
    padding: 0 2.5rem;
    height: 55px;
    background: var(--gradient-blue);
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE40, 0px 0px 50px #1F58D6BF;
    border-radius: 27.5px;
    opacity: 0;
}

/* End */
.home__end-cont {
    height: 200vh;
    background-color: var(--color-dark-1);
    z-index: 2;
}

.home__end {
    position: sticky;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    top: 55px;
    width: 100%;
    height: 100vh;
}
.home__end p {
    margin: 0;
    max-width: 500px;
    text-align: center;
    font-family: var(--satoshi-medium);
    font-size: 1.45em;
    line-height: 1.4em;
    opacity: 0;
}

.home__marquee-cont {
    display: block;
    width: 100%;
    overflow: hidden;
}

.home__marquee {
    display: flex;
    align-items: center;
    gap: 3rem;
    padding: 0 3rem;
    width: max-content;
    min-width: 120vw;
}
.home__marquee h4 {
    margin: 15px 0;
    font-family: var(--satoshi-bold);
    font-size: 150px;
}
.home__marquee i {
    font-size: 2.1rem;
}

.home__contact {
    display: grid;
    grid-template-columns: 350px 1fr 350px;
    align-items: end;
    justify-items: center;
    width: 100%;
}

.home__contact a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    color: #EEEEEE59;
    font-family: var(--satoshi-medium);
    font-size: 1.1em;
    overflow: hidden;
    transition: box-shadow 0.3s, color 0.3s;
}
.home__contact a:first-child {
    box-shadow: inset -0.5px 0.75px 0.25px #EEEEEE59;
    border-radius: 0 27.5px 27.5px 0;
    translate: -100%;
}
.home__contact a:last-child {
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59;
    border-radius: 27.5px 0 0 27.5px;
    translate: 100%;
}
.home__contact a span {
    position: relative;
    color: inherit;
    z-index: 5;
}
.home__contact a div {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.home__contact a .gradient {
    opacity: 0;
    background: var(--gradient-blue);
    transition: opacity 0.3s ease;
}
.home__contact a .solid {
    background-color: var(--color-dark-4);
}
.home__contact a:hover {
    color: var(--color-light);
}
.home__contact a:first-child:hover {
    box-shadow: inset -0.5px 0.75px 0.25px #EEEEEE59, 0 0 35px #1F58D6D8;
}
.home__contact a:last-child:hover {
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59, 0 0 35px #1F58D6D8;
}
.home__contact a:hover .gradient {
    opacity: 1;
}

.home__contact-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    width: max-content;
    color: #1F58D6;
    font-family: var(--satoshi-bold);
    font-size: 1.05em;
    opacity: 0;
}
.home__contact-icon img {
    display: block;
    width: 140px;
    object-fit: contain;
    transition: translate 0.5s;
}
.home__contact-icon span {
    color: inherit;
    transition: translate 0.5s;
}
.home__contact-icon:hover img {
    translate: calc(50vw - 175px) -50px;
}
.home__contact-icon:hover span {
    translate: calc(-50vw + 175px) 50px;
}
.home__contact:has(.home__contact-icon:hover) a:first-child {
    box-shadow: inset -0.5px 0.75px 0.12px #EEEEEE59, 0 0 35px #1F58D6D8;
}
.home__contact:has(.home__contact-icon:hover) a:last-child {
    box-shadow: inset 0.5px 0.75px 0.12px #EEEEEE59, 0 0 35px #1F58D6D8;
}

.home__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    width: 100%;
    height: 55px;
    font-family: var(--satoshi-medium);
    font-size: 1.15em;
}

.home__footer a {
    opacity: 0.15;
    transition: opacity 0.3s;
}
.home__footer a:first-child,
.home__footer a:last-child {
    cursor: default;
}
.home__footer a:hover {
    opacity: 0.65;
}



/* ----------------------------------Quoting System---------------------------------- */

/* Survey */
.cost {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    width: 100%;
    height: 100vh;
}
.cost section {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    justify-content: space-between;
    gap: 4rem;
    padding: 1rem;
    width: 100%;
    height: 100%;
    background-color: var(--color-dark-1);
    transition: translate 0.6s;
    overflow: auto;
    -ms-overflow-style: unset;
    scrollbar-width: unset;
}
.cost .pending {
    translate: 100%;
}
.cost .answered {
    translate: -25%;
}

.cost section::-webkit-scrollbar {
    display: unset;
    width: 6px;
}
.cost section::-webkit-scrollbar-track {
    background: var(--color-dark-1);
}
.cost section::-webkit-scrollbar-thumb {
    background: #A2A2A280;
    border-radius: 3px;
}

.cost__stage-options {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
    padding: 0 3rem;
    width: 100%;
}
.cost__stage-options h2 {
    margin: 0;
    padding: 0 1rem;
    max-width: 500px;
    text-align: center;
    font-family: var(--satoshi-bold);
    font-size: 1.8em;
    line-height: 1.5em;
}
.cost__stage-options > div {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 1.2rem;
    row-gap: 2.5rem;
    width: 100%;
}

.cost__option-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 250px;
    aspect-ratio: 19/ 20;
    padding: 1.2rem;
    border-radius: 20px;
    background-color: transparent;
    cursor: pointer;
    transition: background-color 0.4s, translate 0.4s;
}
.cost__option-label input {
    display: none;
}
.cost__option-label div {
    margin-right: auto;
}
.cost__option-label div i {
    font-size: 1.8em;
    transition: opacity 0.4s;
}
.cost__option-label .fa-circle {
    opacity: 0;
}
.cost__option-label .fa-circle-check {
    display: none;
}
.cost__option-label > i {
    color: #1F58D6;
    font-size: 100px;
}
.cost__option-label p {
    margin: 0.6rem 0 0 0;
    width: 90%;
    text-align: center;
    font-family: var(--satoshi-medium);
    font-size: 1.15em;
    opacity: 0.35;
}
.cost__option-label:hover {
    background-color: var(--color-dark-3);
    translate: 0 -1rem;
}
.cost__option-label:hover .fa-circle {
    opacity: 1;
}
.cost__option-label:has(input:checked) {
    background-color: var(--color-dark-3);
    translate: 0 -1rem;
}
.cost__option-label:has(input:checked) .fa-circle {
    display: none;
}
.cost__option-label:has(input:checked) .fa-circle-check {
    display: block;
}

.cost__atlantian {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    color: #EEEEEEA5;
    font-family: var(--satoshi-medium);
    font-size: 1em;
    
}
.cost__atlantian img {
    display: block;
    height: 17px;
    object-fit: contain;
    transition: translate 0.2s;
}
.cost__atlantian:hover img {
    translate: 0.5rem;
}

.cost__stage-header {
    display: grid;
    grid-template-columns: 120px 1fr 120px;
    align-items: center;
    padding: 1rem;
    width: 100%;
}

.cost__prev {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    width: max-content;
    background-color: transparent;
    outline: none;
    border: none;
    color: var(--color-blue-1);
    font-family: var(--satoshi-medium);
    font-size: 1.1em;
}
.cost__prev i {
    color: inherit;
    transition: translate 0.3s;
}
.cost__prev span {
    color: inherit;
    transition: opacity 0.3s, translate 0.3s;
}
.cost__prev:hover i {
    translate: -0.3rem;
}
.cost__prev:hover span {
    opacity: 0.25;
    translate: -0.7rem;
}

.cost__paginator {
    justify-self: center;
    font-family: var(--satoshi-bold);
    font-size: 1.1em;
    opacity: 0.65;
}

/* Contact */
.cost__contact {
    margin: auto;
    display: flex;
    flex-direction: column;
    padding: 0 2rem;
    width: 100%;
    max-width: 550px;
}
.cost__contact h2 {
    margin: 0 0 2.8rem 0;
    text-align: center;
    font-family: var(--satoshi-bold);
    font-size: 1.8em;
    line-height: 1em;
}
.cost__contact input {
    display: block;
    margin-bottom: 1rem;
    padding: 0 1rem;
    width: 100%;
    height: 55px;
    border-radius: 15px;
    outline: none;
    border: none;
    background-color: var(--color-dark-4);
    box-shadow: inset -0.5px 0.75px 0.25px #EEEEEE59;
    color: #EEEEEECC;
    text-align: center;
    font-family: var(--satoshi-medium);
    font-size: 1.1em;
    font-weight: 500;
}
.cost__contact input::placeholder {
    color: #EEEEEE59;
}
.cost__contact div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: center;
    column-gap: 2rem;
    margin-top: 2rem;
}
.cost__contact button {
    display: block;
    margin: 4rem auto 0 auto;
    width: 100%;
    height: 45px;
    max-width: 280px;
    background: var(--gradient-blue);
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59, 0 0 35px #1F58D6D8;
    border-radius: 22.5px;
    outline: none;
    border: none;
}

div.cost__contact-info {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 1rem;
    margin: 0 0 5rem 0;
    width: 100%;
    font-size: 1.1em;
}

.cost__contact-info i {
    color: var(--color-blue-1);
}

.cost__contact-info p {
    margin: 0;
    opacity: 0.35;
}

/* Loader */
.cost__loader {
    position: absolute;
    top: 0;
    left: 100%;
    justify-content: center;
    background-color: var(--color-dark-1);
    transition: left 0.6s;
    z-index: 1;
}
.cost__loader img {
    display: block;
    width: 130px;
    object-fit: contain;
    animation: cost-seal 0.9s ease-in-out alternate infinite;
}

/* Results */
.cost__results-cont {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    position: relative;
    display: none;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    background-color: var(--color-dark-1);
    transition: translate 0.6s;
    overflow: hidden;
}
.cost__results-cont .blue {
    position: absolute;
    display: block;
    top: 100%;
    left: 0;
    width: 100%;
    height: 65%;
    background-color: var(--color-blue-2);
}
.cost__results-cont .blue.animate {
    animation: intro-square 0.66s 0.5s forwards;
}

.cost__results {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr min-content;
    align-items: center;
    justify-items: center;
    padding: 1rem;
    width: 100%;
    height: 100%;
    translate: 0 100%;
    transition: translate 0.6s;
    transition-delay: 1.16s;
}
.cost__results .cost__atlantian {
    margin: 0;
}

.cost__results-frame {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4rem;
    max-width: 525px;
    background-color: var(--color-dark-3);
    border-radius: 20px;
    text-align: center;
}
.cost__results-frame h2 {
    margin: 0;
    font-family: var(--satoshi-bold);
    font-size: 3em;
    font-weight: 900;
}
.cost__results-frame h4 {
    margin: 0;
    max-width: 360px;
    font-family: var(--satoshi-medium);
    font-size: 1.35em;
    font-weight: 500;
    line-height: 1.35em;
}
.cost__results-frame .amount {
    display: flex;
    align-items: end;
    justify-content: center;
    gap: 1.2rem;
    margin: 1.5rem 0 1.5rem 0;
}
.cost__results-frame .amount span {
    margin: 5px;
    font-family: var(--satoshi-medium);
    font-size: 1.35em;
}
.cost__results-frame .spacer {
    display: block;
    margin: 3.5rem 0;
    width: 100%;
    height: 1px;
    background-color: #FFF;
    opacity: 0.35;
}
.cost__results-frame button {
    display: block;
    margin: 0 auto;
    width: max-content;
    background-color: transparent;
    outline: none;
    border: none;
    color: var(--color-blue-1);
    font-family: var(--satoshi-medium);
    font-size: 1.15em;
    transition: opacity 0.25s;
}
.cost__results-frame button:hover {
    opacity: 0.25;
}
.cost__results-frame p {
    margin: 0;
    max-width: 350px;
    font-size: 1.25em;
    line-height: 1.4em;
    opacity: 0.65;
}
.cost__results-frame a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 3rem;
    padding: 0 2.5rem;
    width: max-content;
    height: 50px;
    background-color: transparent;
    box-shadow: 0 0 35px #1F58D6D8;
    border-radius: 25px;
    z-index: 10;
}
.cost__results-frame a div {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 25px;
    z-index: 0;
}
.cost__results-frame a span {
    position: relative;
    z-index: 5;
}
.cost__results-frame .solid {
    background-color: var(--color-dark-4);
}
.cost__results-frame .gradient {
    opacity: 1;
    background: var(--gradient-blue);
    transition: opacity 0.3s ease;
}
.cost__results-frame .shadow {
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59;
    z-index: 10;
}
.cost__results-frame a:hover .gradient {
    opacity: 0;
}



/* -------------------------------------Portfolio------------------------------------- */
.portfolio {
    overflow: hidden;
}

.port__main {
    display: block;
    width: 100%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: scroll;
    transition: translate 1.33s;
}

/* Projects */
.port__projects {
    height: 250vh;
}

.port__projects-title {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 230px;
    row-gap: 2.5rem;
    padding: 2.5rem 2.5rem 0 2.5rem;
    width: 100%;
}

.port__projects-title a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    width: max-content;
    font-size: 1.3em;
    z-index: 2;
}
.port__projects-title img {
    display: block;
    height: 20px;
    object-fit: contain;
    transition: opacity 0.3s, translate 0.3s;
}
.port__projects-title i {
    transition: translate 0.3s;
}
.port__projects-title a:hover i {
    translate: -0.4rem;
}
.port__projects-title a:hover img {
    opacity: 0.25;
    translate: -1rem;
}

.port__projects-title div {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}
.port__projects-title h1 {
    position: absolute;
    top: 0;
    left: -2rem;
    margin: 0;
    font-family: var(--satoshi-bold);
    font-size: 430px;
    font-weight: 900;
    line-height: 430px;
    z-index: 1;
}

.port__projects-gallery {
    position: sticky;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    top: 0;
    left: 0;
    gap: 2rem;
    padding: 4rem 2rem;
    width: 100%;
    height: 100vh;
    overflow-x: hidden;
    z-index: 5;
}

.port__gallery-row {
    position: relative;
    display: block;
    width: 100%;
    height: calc(50vh - 5rem);
    overflow: visible;
}
.port__gallery-row > div {
    position: absolute;
    display: grid;
    grid-template-columns: repeat(5, calc((50vh - 5rem) * 5 / 4));
    top: 0;
    right: 0;
    gap: 2rem;
    height: 100%;
}
.port__gallery-row:last-child > div {
    left: 0;
}

.port__gallery-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: min-content;
    height: 100%;
    aspect-ratio: 5 / 4;
    background-color: var(--color-dark-3);
    border-radius: 20px;
    overflow: hidden;
}
.port__gallery-item .logo {
    display: block;
    height: 55px;
    object-fit: contain;
}
.port__gallery-item h4 {
    margin: 1.2em 0 0.8em 0;
    font-family: var(--satoshi-bold);
    font-size: 1.25em;
}
.port__gallery-item span {
    padding: 0 0.9rem;
    color: var(--color-blue-1);
    text-align: center;
    font-family: var(--satoshi-medium);
    font-size: 1.15em;
}

.port__gallery-item div {
    position: absolute;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.35s;
}
.port__gallery-item .preview {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: block;
    width: 100%;
    height: calc(50vh - 5rem);;
    object-fit: cover;
    object-position: top center;
    transition: opacity 0.35s;
    z-index: 2;
}
.port__gallery-item .preview iframe {
    display: block;
    width: 1080px;
    height: 720px;
}
.port__gallery-item button {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    align-self: end;
    justify-self: end;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1rem;
    width: 38px;
    height: 38px;
    background-color: var(--color-light);
    outline: none;
    border: none;
    box-shadow: 0 0 4px #06060930;
    border-radius: 50%;
    font-size: 1.3em;
    z-index: 3;
}
.port__gallery-item button i {
    color: var(--color-dark-1);
    transition: translate 0.3s;
}
.port__gallery-item:hover div {
    opacity: 1;
}
.port__gallery-item button:hover i {
    translate: 4px -4px;
}

/* Team */
.port__team {
    height: 250vh;
}

.port__team-grid {
    position: sticky;
    display: grid;
    top: 0;
    width: 100%;
    height: auto;
    grid-template-columns: 1fr;
    grid-template-rows: 100vh;
}
.port__team-grid > div {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15vh;
    padding: 0 3rem;
    width: 100%;
    height: 100%;
}
.port__team-grid h2 {
    margin: 0;
    font-family: var(--satoshi-black);
    font-size: 3.8em;
    rotate: 30deg;
    translate: 70vw -70vh;
}

.port__team-members {
    display: flex;
    justify-content: space-evenly;
    width: 100%;
}
.port__team-members div {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.port__team-members img {
    display: block;
    width: 340px;
    aspect-ratio: 1 / 1;
    border-radius: 20px;
    translate: 0 120%;
    object-fit: contain;
}
.port__team-members p {
    position: relative;
    margin: 1.5rem 0 0.6rem 0;
    font-family: var(--satoshi-bold);
    font-size: 1.3em;
    z-index: 1;
}
.port__team-members span {
    position: relative;
    font-family: var(--satoshi-medium);
    font-size: 1.15em;
    opacity: 0.65;
    z-index: 1;
}

#member-photo-three {
    translate: -55vw 55vh;
    transform-origin: top right;
}
#member-photo-four {
    translate: 55vw 55vh;
    transform-origin: top left;
}

#member-desc-three {
    opacity: 0;
    translate: -50vw;
    transform-origin: center right;
}
#member-desc-four {
    opacity: 0;
    translate: 50vw;
    transform-origin: center left;
}

/* End */
.port__end-cont {
    height: 235vh;
}

.port__end {
    position: sticky;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    top: 55px;
    padding-top: 1rem;
    width: 100%;
    height: 100vh;
}
.port__end h2 {
    margin: 0;
    font-family: var(--satoshi-black);
    font-size: 10em;
    line-height: 1em;
    translate: 0 -35%;
}
.port__end p {
    margin: 0;
    max-width: 500px;
    text-align: center;
    font-family: var(--satoshi-medium);
    font-size: 1.45em;
    line-height: 1.4em;
    opacity: 0;
}

.port__contact {
    display: grid;
    grid-template-columns: 350px 1fr 350px;
    align-items: end;
    justify-items: center;
    width: 100%;
}

.port__contact a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    color: #EEEEEE59;
    font-family: var(--satoshi-medium);
    font-size: 1.1em;
    overflow: hidden;
    transition: box-shadow 0.3s, color 0.3s;
}
.port__contact a:first-child {
    box-shadow: inset -0.5px 0.75px 0.25px #EEEEEE59;
    border-radius: 0 27.5px 27.5px 0;
    translate: -100%;
}
.port__contact a:last-child {
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59;
    border-radius: 27.5px 0 0 27.5px;
    translate: 100%;
}
.port__contact a span {
    position: relative;
    color: inherit;
    z-index: 5;
}
.port__contact a div {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.port__contact a .gradient {
    opacity: 0;
    background: var(--gradient-blue);
    transition: opacity 0.3s ease;
}
.port__contact a .solid {
    background-color: var(--color-dark-4);
}
.port__contact a:hover {
    color: var(--color-light);
}
.port__contact a:first-child:hover {
    box-shadow: inset -0.5px 0.75px 0.25px #EEEEEE59, 0 0 35px #1F58D6D8;
}
.port__contact a:last-child:hover {
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59, 0 0 35px #1F58D6D8;
}
.port__contact a:hover .gradient {
    opacity: 1;
}

.port__contact-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    width: max-content;
    color: #1F58D6;
    font-family: var(--satoshi-bold);
    font-size: 1.05em;
    opacity: 0;
}
.port__contact-icon img {
    display: block;
    width: 140px;
    object-fit: contain;
    transition: translate 0.5s;
}
.port__contact-icon span {
    color: inherit;
    transition: translate 0.5s;
}
.port__contact-icon:hover img {
    translate: calc(50vw - 175px) -50px;
}
.port__contact-icon:hover span {
    translate: calc(-50vw + 175px) 50px;
}
.port__contact:has(.port__contact-icon:hover) a:first-child {
    box-shadow: inset -0.5px 0.75px 0.12px #EEEEEE59, 0 0 35px #1F58D6D8;
}
.port__contact:has(.port__contact-icon:hover) a:last-child {
    box-shadow: inset 0.5px 0.75px 0.12px #EEEEEE59, 0 0 35px #1F58D6D8;
}

.port__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    width: 100%;
    height: 55px;
    font-family: var(--satoshi-medium);
    font-size: 1.15em;
}

.port__footer a {
    opacity: 0.15;
    transition: opacity 0.3s;
}
.port__footer a:first-child,
.port__footer a:last-child {
    cursor: default;
}
.port__footer a:hover {
    opacity: 0.65;
}

/* Project Detail */
.port__pro-detail {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: scroll;
    transition: translate 1.33s;
    translate: 100%;
    z-index: 10;
}

.port__det-scroll {
    position: fixed;
    display: block;
    bottom: 2.5rem;
    left: 2.5rem;
    translate: calc(100vw + 100%);
    transition: translate 1.33s, opacity 0.3s;
    z-index: 50;
}
.port__det-scroll.appear {
    translate: 0;
}
.port__det-scroll i {
    font-size: 2.1em;
    opacity: 0.35;
    translate: 0 -50%;
    animation: portfolio-arrow 1.8s ease-out infinite;
}

.port__det-track {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: calc(100vh - 140px) 140px auto;
    width: 100%;
    height: 330vh;
}

.port__det-hero {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.port__det-back {
    padding: 2.5rem;
    width: 100%;
}
.port__det-back button {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: max-content;
    background-color: transparent;
    outline: none;
    border: none;
    font-size: 1.3em;
}
.port__det-back i {
    transition: translate 0.3s;
}
.port__det-back span {
    transition: opacity 0.3s, translate 0.3s;
}
.port__det-back button:hover i {
    translate: -0.4rem;
}
.port__det-back button:hover span {
    opacity: 0.25;
    translate: -1rem;
}

.port__det-swiper-cont {
    justify-self: center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5rem;
    height: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.port__det-swiper-cont > div {
    position: absolute;
    display: block;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.port__det-swiper-cont button {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    padding: 0;
    width: 38px;
    aspect-ratio: 1 / 1;
    background-color: #0606093F;
    outline: none;
    border: none;
    border-radius: 50%;
    font-size: 1.3em;
    translate: 0 -50%;
    transition: opacity 0.25s;
    z-index: 10;
}
.port__det-swiper-cont button:disabled {
    opacity: 0;
}

#swiper-prev {
    left: 1.2rem;
}
#swiper-next {
    right: 1.2rem;
}

.port__swiper-pagination {
    position: absolute;
    display: flex;
    left: 50%;
    bottom: 1.2rem;
    gap: 8px;
    padding: 8px;
    background-color: #0606093F;
    border-radius: 16px;
    translate: -50%;
    z-index: 10;
}
.port__swiper-pagination div {
    display: block;
    width: 8px;
    aspect-ratio: 1 / 1;
    background-color: #EEEEEE3F;
    border-radius: 50%;
    transition: background-color 0.25s;
}
.port__swiper-pagination div.selected {
    background-color: var(--color-light);
}

.port__det-swiper {
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.port__det-swiper img {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #191919 0%, #111111 100%);;
    border-radius: 15px;
    object-fit: contain;
}

.port__det-tags {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    position: sticky;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 20;
}
.port__det-tags div {
    align-self: center;
    display: flex;
    justify-content: end;
    gap: 0.8rem;
    width: calc(100% - 16rem);
}
.port__det-tags span {
    display: flex;
    align-items: center;
    padding: 0 1rem;
    height: 35px;
    background-color: var(--color-dark-4);
    border-radius: 10px;
    color: var(--color-light);
    font-family: var(--satoshi-bold);
    font-size: 0.95em;
}
.port__det-tags span.hidden {
    display: none;
}

/* #tag-one {
    rotate: 15deg;
    translate: 1rem -80px;
}
#tag-two {
    rotate: 15deg;
    translate: 2.5rem -110px;
}
#tag-three {
    rotate: 15deg;
    translate: 3rem -140px;
} */

.port__det-info {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    position: sticky;
    display: grid;
    grid-template-columns: 15fr 27fr 15fr 43fr;
    grid-template-rows: repeat(3, auto) 55px;
    top: 0;
    gap: 0.8rem;
    padding: 4rem 8rem;
    width: 100%;
    height: 100vh;
}

.port__det-info > div:nth-child(1) {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    opacity: 0.5;
    translate: calc(-50vw + 10%) 40%;
}
.port__det-info > div:nth-child(2) {
    grid-column: 4 / 5;
    grid-row: 2 / 3;
    translate: 50vw;
}
.port__det-info > div:nth-child(3) {
    grid-column: 2 / 4;
    grid-row: 3 / 4;
    translate: 0 50vh;
    opacity: 0.8;
}

.port__det-info h3 {
    margin: 0 0 2rem 0;
    font-family: var(--satoshi-black);
    font-size: 1.8em;
}

.port__det-info h4 {
    margin: 0 0 1.5rem 0;
    font-family: var(--satoshi-bold);
    font-size: 1.3em;
}

.port__det-info ul {
    padding-inline-start: 1.8rem;
}

.port__det-info p,
.port__det-info li {
    font-family: var(--satoshi-medium);
    font-size: 1.3em;
    opacity: 0.5;
}

.port__det-btn {
    grid-column: 4 / 5;
    grid-row: 4 / 5;
    justify-self: end;
    position: relative;
    display: block;
    padding: 0;
    width: max-content;
    height: 100%;
    background-color: transparent;
    outline: none;
    border: none;
    translate: 0 100%;
    opacity: 0;
    overflow: visible;
}

.port__det-btn span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 2.5rem;
    height: 100%;
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59, 0 0 35px #1F58D6D8;
    border-radius: 27.5px;
    color: #EEEEEECC;
    font-family: var(--satoshi-medium);
    font-size: 1.15em;
    transition: color 0.3s;
    z-index: 5;
}
.port__det-btn div {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 27.5px;
    z-index: -1;
}
.port__det-btn .gradient {
    background: var(--gradient-blue);
    transition: opacity 0.3s ease;
}
.port__det-btn .solid {
    background-color: var(--color-dark-4);
}
.port__det-btn:hover span {
    color: #EEEEEE59;
}
.port__det-btn:hover .gradient {
    opacity: 0;
}



/* -------------------------------------Error 404------------------------------------- */
.not-found {
    justify-content: space-between;
    gap: 4rem;
    padding: 3rem;
    overflow: hidden;
}
.not-found > img {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 920px;
    object-fit: contain;
    translate: -25% 46%;
    z-index: 0;
}

*:has(.not-found) {
    -ms-overflow-style: unset;
    scrollbar-width: auto;
}

body:has(.not-found)::-webkit-scrollbar {
    display: unset;
    width: 6px;
}
body:has(.not-found)::-webkit-scrollbar-track {
    background: var(--color-dark-1);
}
body:has(.not-found)::-webkit-scrollbar-thumb {
    background: #A2A2A280;
    border-radius: 3px;
}

.not-found a {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin-left: auto;
    color: var(--color-blue-1);
    text-transform: uppercase;
    font-family: var(--satoshi-bold);
    font-weight: 700;
    font-size: 1.1em;
    transition: color 0.3s;
}
.not-found a i,
.not-found a span {
    color: inherit;
    transition: translate 0.3s;
}
.not-found a:hover {
    color: #1F58D6;
}
.not-found a:hover span {
    translate:  0.8rem;
}
.not-found a:hover i {
    translate:  0.2rem;
}

.not-found__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto min-content;
    row-gap: 4rem;
    margin-bottom: 5rem;
    width: 100%;
    max-width: 1100px;
    z-index: 1;
}
.not-found__grid h2 {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    margin: 0;
    max-width: 290px;
    text-align: center;
    font-family: var(--satoshi-bold);
    font-size: 1.9em;
}
.not-found__grid p {
    text-align: center;
    margin: 0 0 1rem 0;
    font-family: var(--satoshi-medium);
    opacity: 0.55;
    font-size: 1.3em;
}
.not-found__grid img {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    align-self: end;
    display: block;
    width: 450px;
    object-fit: contain;
}



/* --------------------------------------Originals-------------------------------------- */
.originals {
    overflow: hidden;
}

.og,
.og-landing {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: scroll;
    transition: top 0.6s;
}
.og-landing {
    top: -100vh;
}

.og__track {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 200vh 100vh 50vh 250vh;
    width: 100%;
}

.og__btn {
    display: block;
    padding: 0;
    width: max-content;
    height: 55px;
    background-color: transparent;
    outline: none;
    border: none;
    opacity: 0;
    translate: 200%;
    overflow: visible;
}
.og__btn#smart-btn {
    translate: -200%;
}
.og__btn span {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    padding: 0 2.5rem;
    height: 100%;
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59, 0 0 35px #1F58D6D8;
    border-radius: 27.5px;
    color: #EEEEEECC;
    font-family: var(--satoshi-medium);
    font-size: 1.15em;
    transition: color 0.3s;
    z-index: 5;
}
.og__btn div {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 27.5px;
    z-index: -1;
}
.og__btn .gradient {
    background: var(--gradient-blue);
    transition: opacity 0.3s ease;
}
.og__btn .solid {
    background-color: var(--color-dark-4);
}
.og__btn i {
    transition: color 0.3s;
}
.og__btn:hover i,
.og__btn:hover span {
    color: #EEEEEE59;
}
.og__btn:hover .gradient {
    opacity: 0;
}

/* Hero */
.og__hero-cont {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    display: block;
    width: 100%;
    height: 100%;
}

.og__hero {
    position: sticky;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 100vh;
    top: 0;
}

.og__hero-title {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 3rem;
    padding: 2.5rem 2.5rem 0 2.5rem;
    width: 100%;
    height: 32vh;
}

.og__hero-title a {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: max-content;
    font-size: 1.3em;
    translate: -150%;
    animation: og-texts 0.7s ease 0.2s forwards;
}
.og__hero-title img {
    display: block;
    height: 20px;
    object-fit: contain;
    transition: opacity 0.3s, translate 0.3s;
}
.og__hero-title i {
    transition: translate 0.3s;
}
.og__hero-title a:hover i {
    translate: -0.4rem;
}
.og__hero-title a:hover img {
    opacity: 0.25;
    translate: -1rem;
}

.og__hero-title h1 {
    margin: 0 0 0 4rem;
    width: max-content;
    font-family: var(--satoshi-bold);
    font-size: 4.7em;
    opacity: 0;
    translate: 80%;
    animation: og-texts 0.7s ease  0.2s forwards;
}

.og__hero-info-cont {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    translate: 0 32vh;
}

.og__hero-info {
    display: flex;
    align-items: start;
    justify-content: space-evenly;
    width: 100%;
}
.og__hero-info img {
    display: block;
    width: 460px;
    object-fit: contain;
    translate: -50vw 50vh;
    animation: og-img 0.7s ease  0.2s forwards;
}
.og__hero-info div {
    display: flex;
    flex-direction: column;
    align-items: end;
    gap: 3rem;
    width: 100%;
    max-width: 400px;
    text-align: right;
}
.og__hero-info h3 {
    margin: 0;
    font-family: var(--satoshi-bold);
    font-size: 2.3em;
    opacity: 0;
    translate: 50%;
    animation: og-texts 0.7s ease 0.2s forwards;
}
.og__hero-info p {
    margin: 0;
    max-width: 350px;
    font-family: var(--satoshi-medium);
    font-size: 1.3em;
    opacity: 0;
    translate: 100%;
    animation: og-paragraph 0.7s ease 0.2s forwards;
}


/* Smart Communities Application */
.og__smart-cont {
    grid-column: 1 / 2;
    grid-row: 2 / 4;
    width: 100%;
    height: 100%;
}

.og__smart {
    position: sticky;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    width: 100%;
    height: 100vh;    
}

.og__smart-info {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-content: space-evenly;
    width: 100%;
}
.og__smart-info img {
    display: block;
    height: 400px;
    object-fit: contain;
}
.og__smart-info div {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    width: 100%;
    max-width: 400px;
}
.og__smart-info h3 {
    margin: 0;
    font-family: var(--satoshi-bold);
    font-size: 2.3em;
    translate: -50vw;
}
.og__smart-info p {
    margin: 0;
    max-width: 350px;
    font-family: var(--satoshi-medium);
    font-size: 1.3em;
    opacity: 0.35;
    translate: -52vw;
}


/* End */
.og__end-cont {
    display: block;
    width: 100%;
    height: 100%;
}

.og__end {
    position: sticky;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    top: 55px;
    padding-top: 1rem;
    width: 100%;
    height: 100vh;
}
.og__end h2 {
    margin: 0;
    font-family: var(--satoshi-black);
    font-size: 10em;
    line-height: 1em;
    translate: 0 -35%;
}
.og__end p {
    margin: 0;
    max-width: 500px;
    text-align: center;
    font-family: var(--satoshi-medium);
    font-size: 1.45em;
    line-height: 1.4em;
    opacity: 0;
}

.og__contact {
    display: grid;
    grid-template-columns: 350px 1fr 350px;
    align-items: end;
    justify-items: center;
    width: 100%;
}

.og__contact a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    color: #EEEEEE59;
    font-family: var(--satoshi-medium);
    font-size: 1.1em;
    overflow: hidden;
    transition: box-shadow 0.3s, color 0.3s;
}
.og__contact a:first-child {
    box-shadow: inset -0.5px 0.75px 0.25px #EEEEEE59;
    border-radius: 0 27.5px 27.5px 0;
    translate: -100%;
}
.og__contact a:last-child {
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59;
    border-radius: 27.5px 0 0 27.5px;
    translate: 100%;
}
.og__contact a span {
    position: relative;
    color: inherit;
    z-index: 5;
}
.og__contact a div {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.og__contact a .gradient {
    opacity: 0;
    background: var(--gradient-blue);
    transition: opacity 0.3s ease;
}
.og__contact a .solid {
    background-color: var(--color-dark-4);
}
.og__contact a:hover {
    color: var(--color-light);
}
.og__contact a:first-child:hover {
    box-shadow: inset -0.5px 0.75px 0.25px #EEEEEE59, 0 0 35px #1F58D6D8;
}
.og__contact a:last-child:hover {
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59, 0 0 35px #1F58D6D8;
}
.og__contact a:hover .gradient {
    opacity: 1;
}

.og__contact-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    width: max-content;
    color: #1F58D6;
    font-family: var(--satoshi-bold);
    font-size: 1.05em;
    opacity: 0;
}
.og__contact-icon img {
    display: block;
    width: 140px;
    object-fit: contain;
    transition: translate 0.5s;
}
.og__contact-icon span {
    color: inherit;
    transition: translate 0.5s;
}
.og__contact-icon:hover img {
    translate: calc(50vw - 175px) -50px;
}
.og__contact-icon:hover span {
    translate: calc(-50vw + 175px) 50px;
}
.og__contact:has(.og__contact-icon:hover) a:first-child {
    box-shadow: inset -0.5px 0.75px 0.12px #EEEEEE59, 0 0 35px #1F58D6D8;
}
.og__contact:has(.og__contact-icon:hover) a:last-child {
    box-shadow: inset 0.5px 0.75px 0.12px #EEEEEE59, 0 0 35px #1F58D6D8;
}

.og__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    width: 100%;
    height: 55px;
    font-family: var(--satoshi-medium);
    font-size: 1.15em;
}

.og__footer a {
    opacity: 0.15;
    transition: opacity 0.3s;
}
.og__footer a:first-child,
.og__footer a:last-child {
    cursor: default;
}
.og__footer a:hover {
    opacity: 0.65;
}


/* -----------Landing----------- */
.og-land__track {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 300vh 100vh 160vh 180vh;
}

/* Intro */
.og-land__intro {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    position: sticky;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 100vh;
    top: 0;
    width: 100%;
    height: 100vh;
}
.og-land__intro > div {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

.og-land__hero {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 40px;
}
.og-land__hero div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4rem;
}
.og-land__hero h1 {
    margin: 0;
    text-align: center;
    font-size: 6em;
    font-family: var(--satoshi-bold);
}
.og-land__hero img {
    display: block;
    height: 45px;
    object-fit: contain;
}
.og-land__hero span {
    display: block;
    height: 125px;
}

.og-land__back {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    width: max-content;
    background-color: transparent;
    outline: none;
    border: none;
    font-size: 1.3em;
    z-index: 50;
}
.og-land__back p {
    margin: 0;
    font-family: var(--satoshi-medium);
    transition: opacity 0.3s, translate 0.3s;
}
.og-land__back i {
    transition: translate 0.3s;
}
.og-land__back:hover p {
    opacity: 0.25;
    translate: -1rem;
}
.og-land__back:hover i {
    translate: -0.4rem;
}

.og-land__blue {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}
.og-land__blue span {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    right: 40px;
    bottom: 40px;
    width: 125px;
    aspect-ratio: 1 / 1;
    font-family: var(--satoshi-regular);
    font-size: 0.9em;
    z-index: 20;
}
.og-land__blue div {
    position: absolute;
    display: block;
    right: 40px;
    bottom: 40px;
    width: 125px;
    aspect-ratio: 1 / 1;
    background-color: #1F58D6;
    border-radius: 50%;
    opacity: 0.75;
    z-index: 10;
}

.og-land__smart {
    position: relative;
    display: flex;
    align-items: end;
    justify-content: space-evenly;
    z-index: 30;

}
.og-land__smart h3 {
    margin: auto 0;
    max-width: 410px;
    font-family: var(--satoshi-bold);
    font-size: 3em;
    translate: -55vw;
}
.og-land__smart img {
    display: block;
    margin: auto 0;
    height: 400px;
    object-fit: contain;
    translate: 0 100vh;
}

/* Amazing Apps */
.og-land__apps-cont {
    grid-column: 1 / 2;
    grid-row: 2 / 4;
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-dark-1);
    border-radius: 120vw 120vw 0 0 / 60vh 60vh 0 0;
    z-index: 50;
}

.og-land__apps {
    position: sticky;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 38vh 100vh;
    align-items: center;
    justify-items: center;
    top: -38vh;
    padding: 0 4rem;
    width: 100%;
}
.og-land__apps h2 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    align-self: end;
    margin: 0;
    font-family: var(--satoshi-bold);
    font-size: 5em;
    translate: 0 50%;
}

.og-land__apps-labels {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    font-family: var(--satoshi-bold);
    font-size: 1.8em;
}
.og-land__apps-labels span {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}
.og-land__apps-labels :nth-child(1) {
    opacity: 1;
}
.og-land__apps-labels :nth-child(2) {
    opacity: 0.15;
    translate: 0 5rem;
}
.og-land__apps-labels :nth-child(3) {
    opacity: 0.1;
    translate: 0 10rem;
}
.og-land__apps-labels :nth-child(4) {
    opacity: 0.1;
    translate: 0 15rem;
}

.og-land__apps-imgs {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto;
    height: 56vh;
    aspect-ratio: 6 / 5;
    border-radius: 15px;
    overflow: hidden;
}

.og-land__apps-imgs div {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: block;
    padding: 5.6rem 2.8rem;
    width: 100%;
    height: 100%;
    translate: 0 100%;
}
.og-land__apps-imgs :nth-child(1) {
    background-color: #86A3E2;
    translate: 0;
}
.og-land__apps-imgs :nth-child(2) {
    background-color: #FFF3D3;
}
.og-land__apps-imgs :nth-child(3) {
    background-color: #EFC26E;
}
.og-land__apps-imgs :nth-child(4) {
    background-color: #E1E8FC;
}

.og-land__apps-imgs img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 15px;
    object-fit: cover;
}

/* Contact */
.og-land__contact-cont {
    grid-column: 1 / 2;
    grid-row: 4 / 5;
    position: relative;
    background-color: var(--color-dark-1);
}

.og-land__contact {
    position: sticky;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    top: 2rem;
    padding-top: 6rem;
    width: 100%;
    height: calc(100vh - 2rem);
    background: linear-gradient(0deg, #E6E6E6 0%, #EEEEEE 100%);
    border-radius: 120vw 120vw 0 0 / 60vh 60vh 0 0;
    color: var(--color-dark-1);
}
.og-land__contact h2 {
    margin: 0;
    color: inherit;
    font-family: var(--satoshi-bold);
    font-size: 7.5em;
    line-height: 1em;
    translate: 0 70vh;
}
.og-land__contact p {
    margin: 0;
    max-width: 500px;
    color: inherit;
    text-align: center;
    font-family: var(--satoshi-medium);
    font-size: 1.45em;
    line-height: 1.4em;
    opacity: 0;
}

.og-land__contact-info {
    display: grid;
    grid-template-columns: 350px 1fr 350px;
    align-items: end;
    justify-items: center;
    width: 100%;
}

.og-land__contact-info a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 55px;
    background-color: var(--color-dark-1);
    color: var(--color-light);
    font-family: var(--satoshi-medium);
    font-size: 1.1em;
    overflow: hidden;
    transition: box-shadow 0.3s, color 0.3s;
}
.og-land__contact-info a:first-child {
    border-radius: 0 27.5px 27.5px 0;
    translate: -100%;
}
.og-land__contact-info a:last-child {
    border-radius: 27.5px 0 0 27.5px;
    translate: 100%;
}
.og-land__contact-info a span {
    position: relative;
    color: inherit;
    z-index: 5;
}
.og-land__contact-info a div {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--gradient-blue);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}
.og-land__contact-info a:hover .gradient {
    opacity: 1;
}

.og-land__contact-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    width: max-content;
    font-family: var(--satoshi-bold);
    font-size: 1.05em;
    opacity: 0;
}
.og-land__contact-icon img {
    display: block;
    width: 140px;
    object-fit: contain;
    transition: translate 0.5s;
}
.og-land__contact-icon span {
    color: var(--color-dark-1);
    transition: translate 0.5s;
}
.og-land__contact-icon:hover img {
    translate: calc(50vw - 175px) -50px;
}
.og-land__contact-icon:hover span {
    translate: calc(-50vw + 175px) 50px;
}

.og-land__contact-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    width: 100%;
    height: 55px;
    font-family: var(--satoshi-regular);
    font-size: 1.15em;
    opacity: 0;
}
.og-land__contact-footer a {
    color: var(--color-dark-1);
    opacity: 0.35;
    transition: opacity 0.25s;
}
.og-land__contact-footer a:first-child,
.og-land__contact-footer a:last-child {
    cursor: default;
}
.og-land__contact-footer a:hover {
    opacity: 0.85;
}



/* ----------------------------------------Blog---------------------------------------- */

.blog__blaze {
    position: fixed;
    left: 0;
    bottom: -60px;
    display: block;
    width: 100%;
    height: 120px;
    background: radial-gradient(closest-side at 50% 50%, #2C79F850 0%, #2C79F850 40%, #06060900 100%);
}

/* Header */
.blog__header {
    display: flex;
    flex-direction: column;
    padding: 2.5rem;
}

.blog__header h1 {
    font-size: 6em;
    margin: 3.5rem 0;
    padding-left: 2.5rem;
    font-family: var(--satoshi-bold);
}

.blog__header-btns {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.blog__header-btns a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    width: max-content;
    font-size: 1.3em;
    z-index: 2;
}

.blog__header-btns a img {
    display: block;
    height: 20px;
    object-fit: contain;
    transition: opacity 0.3s, translate 0.3s;
}
.blog__header-btns a i {
    transition: translate 0.3s;
}

.blog__header-btns a:hover i {
    translate: -0.4rem;
}

.blog__header-btns a:hover img {
    opacity: 0.25;
    translate: -1rem;
}

.blog__lang {
    position: relative;
    display: flex;
    height: 35px;
    background-color: var(--color-dark-4);
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59;
    border-radius: 17.5px;
    cursor: pointer;
    z-index: 1;
}

.blog__lang div {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0 1.2rem;
    color: #EEEEEE59;
    font-family: var(--satoshi-bold);
    font-size: 0.75em;
    z-index: 5;
}

.blog__lang > span {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 35px;
    border-radius: 17.5px;
    background: var(--gradient-blue);
    box-shadow: inset 0.5px 0.75px 0.25px #EEEEEE59, 0 0 35px #1F58D6D8;
    transition: left 0.3s;
    z-index: 1;
}

.blog__lang input {
    display: none;
}

.blog__lang img {
    display: block;
    height: 10px;
    object-fit: contain;
}

.blog__lang input:checked + span {
    left: 50%;
}

.blog__lang-text.selected {
    color: #EEEEEECC;
}

.blog__headers-categories {
    position: relative;
    display: block;
    padding: 0 2.5rem;
    width: 100%;
    overflow: hidden;
}

.blog__headers-categories .swiper {
    width: 100%;
}

.blog__headers-categories .swiper-slide {
    width: max-content;
}

.blog__headers-categories a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 45px;
    background-color: var(--color-dark-4);
    outline: none;
    border: none;
    border-radius: 22.5px;
    color: #EEEEEEC0;
    text-decoration: none;
    font-family: var(--satoshi-medium);
    overflow: hidden;
}

.blog__headers-categories a.current {
    cursor: default;
}

.blog__headers-categories a div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--gradient-blue);
    opacity: 0;
    transition: opacity 0.25s;
}

.blog__headers-categories a:hover div,
.blog__headers-categories a.current div {
    opacity: 1;
}

.blog__headers-categories a span {
    position: relative;
    z-index: 1;
    padding: 0 2rem;
    color: inherit;
    font-size: 1.1em;
}

/* Grid */
.blog__grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    z-index: 10;
    gap: 1.5rem;
    margin: 0 auto;
    padding: 3.5rem 4rem 6rem 4rem;
    max-width: 1400px;
}

.blog__grid-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem 1.2rem;
    background-color: var(--color-dark-3);
    border-radius: 15px;
    transition: background-color 0.3s, translate 0.3s;
    cursor: pointer;
}

.blog__grid-item:hover {
    background-color: var(--color-dark-4);
    translate: 0 -10px;
}

.blog__grid-item > i {
    color: var(--color-blue-2);
    font-size: 1.3em;
}

.blog__grid-item h2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    margin: 0.8rem;
    height: calc(1.1em * 2);
    text-align: center;
    text-overflow: ellipsis;
    font-size: 1.27em;
    line-height: 1.1em;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.blog__grid-item p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    margin: 0;
    height: calc(1.3em * 2);
    color: var(--color-medium);
    text-overflow: ellipsis;
    font-family: var(--satoshi-medium);
    font-size: 0.95em;
    line-height: 1.3em;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.blog__grid-item span {
    display: block;
    height: 26px;
    margin: 1rem 0 0 auto;
    padding: 4px 1rem 0 1rem;
    background-color: transparent;
    border-radius: 13px;
    color: var(--color-blue-2);
    font-family: var(--satoshi-medium);
    font-size: 0.97em;
    transition: background-color 0.3s, color 0.3s;
}

.blog__grid-item:hover span {
    background-color: var(--color-blue-1);
    color: var(--color-white);
}

.blog__grid-item span i {
    color: inherit;
    font-size: inherit;
}

.blog__pagination {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 2rem auto 0 auto;
    padding: 0 7px;
    height: 40px;
    background-color: var(--color-dark-4);
    border-radius: 20px;
}

.blog__pagination a {
    display: block;
    width: 30px;
    height: 30px;
    background: var(--gradient-blue);
    border-radius: 15px;
    color: var(--color-white);
    overflow: hidden;
}

.blog__pagination a:not([href]) {
    color: #FFFFFF90;
}

.blog__pagination a:first-child {
    margin-right: 0.6rem;
}

.blog__pagination a:last-child {
    margin-left: 0.6rem;
}

.blog__pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: var(--color-dark-2);
    color: inherit;
    font-size: 0.95em;
    transition: background-color 0.3s;
}

.blog__pagination i {
    color: inherit;
}

.blog__pagination a.current span {
    background-color: var(--color-white);
    color: var(--color-dark-1);
}

.blog__pagination a[href]:hover span {
    background-color: transparent;
}



/* --------------------------------------Blog Post-------------------------------------- */

.blog__post {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    padding: 2.5rem 2.5rem 6rem 2.5rem;
    min-height: 100vh;
}

.blog__post > a {
    display: flex;
    align-items: center;
    gap: 1rem;
    width: max-content;
    background-color: transparent;
    outline: none;
    border: none;
    font-size: 1.3em;
}

.blog__post > a i {
    transition: translate 0.3s;
}

.blog__post > a span {
    transition: opacity 0.3s, translate 0.3s;
}

.blog__post > a:hover i {
    translate: -0.4rem;
}

.blog__post > a:hover span {
    opacity: 0.25;
    translate: -1rem;
}

/* Content */
.blog__post-content {
    display: block;
    margin: 0 auto;
    padding: 0 1.5rem;
    width: 100%;
    max-width: 950px;
}

.blog__post-content h1 {
    margin: 0.8rem 0 2rem 0;
    font-family: var(--satoshi-black);
    font-size: 2.1em;
}

.blog__post-content h2 {
    margin: 2.66rem 0 1.33rem 0;
    font-family: var(--satoshi-bold);
    font-size: 1.53em;
}

.blog__post-content h3 {
    margin: 2.66rem 0 1.33rem 0;
    font-family: var(--satoshi-bold);
    font-size: 1.4em;
}

.blog__post-content h4 {
    margin: 1.33rem 0;
    font-family: var(--satoshi-bold);
    font-size: 1.27em;
}

.blog__post-content h5 {
    margin: 1.33rem 0;
    font-family: var(--satoshi-bold);
    font-size: 1.12em;
}

.blog__post-content p,
.blog__post-content ol,
.blog__post-content ul {
    margin: 0.8rem 0;
    font-size: 1.07em;
    line-height: 1.33em;
}

.blog__post-content ol {
    padding-left: 40px;
}

.blog__post-content a {
    color: var(--color-blue-1);
    text-decoration: underline;
}

.blog__post-content img {
    display: block;
    margin: 40px auto 60px auto;
    width: max-content;
    max-width: 100%;
    max-height: 350px;
    border-radius: 10px;
    object-fit: contain;
}

.ql-align-right {
    text-align: right;
}

.ql-align-center {
    text-align: center;
}

.ql-align-justify {
    text-align: justify;
}

.ql-indent-1 {
    padding-left: 2rem;
}

.ql-indent-2 {
    padding-left: 4rem;
}

.ql-indent-3 {
    padding-left: 6rem;
}

li[data-list=bullet] {
    list-style-type: disc;
}

li.ql-indent-1 {
    margin-left: 2rem;
    padding-left: 0;
    list-style-type: lower-alpha;
}

li.ql-indent-2 {
    margin-left: 4rem;
    padding-left: 0;
    list-style-type: lower-roman;
}

li.ql-indent-3 {
    margin-left: 6rem;
    padding-left: 0;
    list-style-type: decimal;
}

li[data-list=bullet].ql-indent-1 {
    margin-left: 2rem;
    padding-left: 0;
    list-style-type: circle;
}

li[data-list=bullet].ql-indent-2 {
    margin-left: 4rem;
    padding-left: 0;
    list-style-type: square;
}

li[data-list=bullet].ql-indent-3 {
    margin-left: 6rem;
    padding-left: 0;
    list-style-type: disc;
}

/* Keywords */
.blog__post-keywords {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 4rem;
}

.blog__post-keywords span {
    display: flex;
    align-items: center;
    padding: 0 1rem;
    height: 35px;
    background-color: var(--color-dark-4);
    border-radius: 10px;
    color: var(--color-light);
    font-family: var(--satoshi-bold);
    font-size: 0.95em;
}

/* Footer */
.blog__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    width: 100%;
    height: 55px;
    border-top: 1px solid #EEEEEE40;
    font-family: var(--satoshi-medium);
    font-size: 1.15em;
}

.blog__footer a {
    opacity: 0.15;
    transition: opacity 0.3s;
}

.blog__footer a:first-child,
.blog__footer a:last-child {
    cursor: default;
}

.blog__footer a:hover {
    opacity: 0.65;
}


/* ----------------------------------------Texts--------------------------------------- */

.text__header {
    display: block;
    margin-bottom: 5rem;
    padding: 2.5rem 2.5rem 0 2.5rem;
    width: 100%;
}

.text__header button {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0;
    width: max-content;
    background-color: transparent;
    outline: none;
    border: none;
    font-size: 1.3em;
}

.text__header span {
    font-family: var(--satoshi-medium);
    font-size: 1em;
    transition: opacity 0.3s, translate 0.3s;
}

.text__header i {
    transition: translate 0.3s;
}

.text__header button:hover i {
    translate: -0.4rem;
}

.text__header button:hover span {
    opacity: 0.25;
    translate: -1rem;
}

.text__cont {
    display: flex;
    flex-direction: column;
    padding: 0 5rem 5rem 5rem;
    width: 100%;
    max-width: 1000px;
}

.text__cont h1 {
    margin: 0 0 4rem 0;
    font-size: 3.5em;
    font-family: var(--satoshi-bold);
}

.text__cont h3 {
    margin: 1.5rem 0 1.2rem 0;
    color: var(--color-blue-1);
    font-family: var(--satoshi-medium);
    font-size: 1.2em;
    opacity: 0.8;
}

.text__cont p,
.text__cont ul,
.text__cont ol {
    margin: 0 0 1.5rem 0;
    font-family: var(--satoshi-regular);
    font-size: 1.12em;
    line-height: 1.3em;
    opacity: 0.9;
}

.text__cont a {
    text-decoration: underline;
    opacity: 1;
    transition: color 0.25s;
}

.text__cont a:hover {
    color: var(--color-blue-1);
}

.text__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 0 5rem;
    width: 100%;
    height: 55px;
    max-width: 1000px;
    font-family: var(--satoshi-medium);
    font-size: 1.15em;
}

.text__footer a {
    text-align: center;
    opacity: 0.15;
    transition: opacity 0.3s;
}

.text__footer a:first-child,
.text__footer a:last-child {
    cursor: default;
}

.text__footer a:hover {
    opacity: 0.65;
}



/* --------------------------------------Specials-------------------------------------- */
.hidden {
    display: none;
}

.no-overflow {
    overflow-y: hidden;
}



/* -------------------------------------Responsive------------------------------------- */

@media screen and (max-width: 1200px) {
    /* Home */
    .home__hero h1 {
        max-width: 600px;
        font-size: 2.6em;
    }
    .home__mission-grid {
        padding: 2.2rem;
    }
    .home__mission-grid img {
        height: 160px;
    }
    .home__mission-grid h2 {
        font-size: 1.85em;
    }
    .home__mission-grid p {
        font-size: 1.2em;
    }
    .home__mission-btn {
        height: 150px;
    }
    .home__care-title h2 {
        font-size: 5.8em;
    }
    .home__care-title p {
        font-size: 1.35em;
    }
    .home__journey h2 {
        font-size: 2.55em;
    }
    .home__journey-cards > div {
        width: 300px;
    }
    .home__journey-card-front h3 {
        font-size: 1.65em;
    }
    .home__journey-card-front p {
        font-size: 1.15em;
    }
    .home__journey-card-front img {
        width: 100px;
    }
    .home__journey-card-back p {
        max-width: 75%;
        font-size: 1.25em;
    }
    .home__scrum p {
        font-size: 1.85em;
    }
    .home__work h2 {
        font-size: 9em;
    }
    .home__work p {
        margin: 3rem 0 5rem 0;
    }
    /* Quoting System */
    .cost__stage-options {
        padding: 0 1rem;
    }
    .cost__option-label {
        width: 215px;
    }
    .cost__option-label > i {
        font-size: 80px;
    }
    .cost__results-frame {
        padding: 2.5rem 3rem;
    }
    .cost__results-frame .spacer {
        margin: 2.7rem 0;
    }
    .cost__results-frame h2 {
        font-size: 2.5em;
    }
    .cost__results-frame h4 {
        font-size: 1.25em;
    }
    .cost__results-frame p {
        font-size: 1.2em;
    }
    .cost__results-frame .amount {
        gap: 0.5rem;
    }
    /* Portfolio */
    .port__gallery-item .logo {
        height: 45px;
    }
    .port__gallery-item h4 {
        font-size: 1.2em;
    }
    .port__gallery-item span {
        font-size: 1.1em;
    }
    .port__projects-gallery {
        padding: 3rem 2rem;
    }
    .port__team-grid > div {
        gap: 10vh;
    }
    .port__team-members img {
        width: 300px;
    }
    .port__team-grid h2 {
        font-size: 3.6em;
    }
    .port__end h2 {
        font-size: 8.5em;
    }
    .port__det-info {
        padding: 1rem 8rem 2rem 8rem;
    }
    /* Originals */
    .og__hero-title h1 {
        margin: 0 0 0 2rem;
        font-size: 4.2em;
    }
    .og__end h2 {
        font-size: 8.5em;
    }
    .og__hero-info h3,
    .og__smart-info h3 {
        font-size: 2.15em;
    }
    .og__hero-info p,
    .og__smart-info p {
        font-size: 1.2em;
    }
    .og-land__contact-icon:hover span {
        translate: calc(-50vw + 175px) 30px;
    }
}

@media screen and (max-width: 990px) {
    /* Home */
    .home__journey-cards > div {
        width: 270px;
    }
    /* Quoting System */
    .cost__stage-options > div {
        display: grid;
        grid-template-columns: auto auto;
    }
    .cost__option-label {
        width: 250px;
    }
    .cost__option-label > i {
        font-size: 100px;
    }
    /* Originals */
    .og__hero-info {
        justify-content: space-between;
        padding: 0 4rem;
    }
    .og__hero-info img {
        width: 400px;
    }
}

@media screen and (max-width: 900px) {
    /* Home */
    .home,
    .home__end-cont,
    .port__main,
    .port__pro-detail,
    .og,
    .og-landing {
        display: none;
    }
    .home__hero {
        position: relative;
        width: 100%;
    }
    .home__hero-header {
        grid-template-columns: 1fr 1fr;
    }
    .home__lang {
        grid-column: 1 / 3;
        grid-row: 2 / 3;
        margin: 3rem auto 0 auto;
    }
    /* Portfolio */
    .port__det-scroll {
        display: none;
    }
    /* 404 */
    .not-found__grid {
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto min-content;
    }
    .not-found__grid img {
        grid-column: 1 / 3;
        grid-row: 1 / 2;
        width: 380px;
    }
    .not-found__grid h2 {
        grid-row: 2 / 3;
    }
    .not-found__grid p {
        grid-column: 2 / 3;
        grid-row: 3 / 4;
    }
}

@media screen and (max-width: 760px) {
    /* Costs */
    .cost__stage-options {
        padding: 0;
    }
    .cost__option-label {
        width: 200px;
    }
    .cost__option-label > i {
        font-size: 60px;
    }
    .cost__stage-options h2 {
        font-size: 1.8em;
    }
    /* Texts */
    .text__cont {
        padding: 0 2.5rem 5rem 2.5rem;
    }
    .text__footer {
        justify-content: center;
        padding: 1.5rem 2.5rem;
        height: unset;
    }
    /* Blog */
    .blog__header {
        padding: 1.7rem;
    }
    .blog__header h1 {
        font-size: 4em;
        margin: 3.5rem 0;
        padding-left: 1.7rem;
        font-family: var(--satoshi-bold);
    }
    .blog__headers-categories {
        padding: 0 0.8rem;
    }
    .blog__headers-categories a {
        height: 40px;
    }
    .blog__headers-categories a span {
        padding: 0 1.2rem;
        font-size: 1.05em;
    }
    /* Blog Post */
    .blog__footer {
        justify-content: center;
        padding: 1.5rem 2.5rem;
        height: unset;
    }
}

@media screen and (max-width: 480px) {
    /* Costs */
    .cost__stage-options > div {
        display: flex;
        flex-direction: column;
    }
    .cost__option-label {
        width: 225px;
    }
    .cost__option-label > i {
        font-size: 80px;
    }
    .cost__results-frame {
        padding: 2.5rem 2rem;
    }
    .cost__results-frame h2 {
        font-size: 2.2em;
    }
    .cost__results-frame .amount span {
        margin: 5px 0;
        font-size: 1.25em;
    }
    /* Texts */
    .text__header {
        margin-bottom: 3rem;
        padding: 1.5rem 1.5rem 0 1.5rem;
    }
    .text__cont {
        padding: 0 1.5rem 2.5rem 1.5rem;
    }
    .text__cont h1 {
        font-size: 2.3em;
    }
    /* 404 */
    .not-found {
        padding: 5rem 2rem 2rem 2rem ;
    }
    .not-found > br {
        display: none;
    }
    .not-found__grid {
        grid-template-columns: 1fr;
    }
    .not-found__grid img {
        grid-column: 1 / 2;
        width: 100%;
    }
    .not-found__grid h2 {
        grid-column: 1 / 2;
        justify-self: center;
    }
    .not-found__grid p {
        grid-column: 1 / 2;
    }
    /* Blog */
    .blog__grid {
        padding: 2.5rem 2rem 5rem 2rem;
    }
    /* Blog Post */
    .blog__post {
        padding: 2.5rem 1.5rem 5rem 1.5rem;
    }
    .blog__post-content {
        padding: 0 0.8rem;
    }
}

@media screen and (max-width: 376px) and (max-height: 668px) {

}



/* -------------------------------------Animations------------------------------------- */


/* Dynamic Website */
@media(prefers-reduced-motion: no-preference) { }

/* Home */
@keyframes intro-text {
    0% {
        top: 50%;
        opacity: 1;
    }
    100% {
        top: 35%;
        opacity: 0;
    }
}

@keyframes intro-square {
    to {
        top: -65%;
    }
}

@keyframes hero-scroll {
    from {
        translate: 0 0;
        opacity: 0.85;
    }
    to {
        translate: 0 -40px;
        opacity: 0;
    }
}

@keyframes scrolling {
    to {
        translate: var(--marquee-width);
    }
}

/* Cost */
@keyframes cost-seal {
    from {
        scale: 0.8;
    }
    to {
        scale: 1;
    }
}

/* Portfolio */
@keyframes portfolio-arrow {
    to {
        opacity: 1;
        translate: 0;
    }
}

/* Originals */
@keyframes og-texts {
    to {
        opacity: 1;
        translate: 0;
    }
}

@keyframes og-paragraph {
    to {
        opacity: 0.35;
        translate: 0;
    }
}

@keyframes og-img {
    to {
        translate: 0 12vh;
    }
}

@keyframes identifier {
    
}


/* Show & Hide */
.home__intro.disappear,
.cost__loader.disappear {
    animation: fade-out 0.3s ease forwards;
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 100%;
    }
}
@keyframes fade-out {
    0% {
        opacity: 100%;
    }
    100% {
        opacity: 0;
    }
}

/* Loader */
@keyframes loader-animation {
    0% {
        top: 96px;
        left: 96px;
        width: 0;
        height: 0;
        opacity: 1;
    }
    100% {
        top: 78px;
        left: 78px;
        width: 36px;
        height: 36px;
        opacity: 0;
    }
}
@keyframes loader-text {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0.5;
    }
}

@keyframes rotation-test {
    to {
        transform: rotate(80deg);
    }
}