:root {
    --theme-color: #1B1B1E;
    --gray: #343434;
    --dark: #1B1B1E;
    --light: #EEF0F2;
    --pink: #F6BAD6;
    --blue: #004FFF;
    --blurple: #714df3;
    --accent-color: #004FFF;
}

::selection {
    background: none;
    color: var(--accent-color);
}

@font-face {
    font-family: "Cantarell Regular";
    src: url("/fonts/Cantarell-Regular.ttf") format("opentype");
}

@font-face {
    font-family: "Cantarell Bold";
    src: url("/fonts/Cantarell-Bold.ttf") format("opentype");
}

@font-face {
    font-family: "Cantarell Italic";
    src: url("/fonts/Cantarell-Italic.ttf") format("opentype");
}

@font-face {
    font-family: "Cantarell Bold Italic";
    src: url("/fonts/Cantarell-BoldItalic.ttf") format("opentype");
}

html, body {
    margin: 0;
    font-size: 16px;
    line-height: 1;
    min-height: 100vh;
    font-family: "Cantarell Regular", "Cantarell", Cantarell, Arial, sans-serif;
    color: var(--light);
    background-color: var(--theme-color);
    position: relative;
    z-index: 0;
    scroll-behavior: smooth;
}

.background-noise {
    position: fixed;
    top: 0; left: 0;
    z-index: 0;
    width: 100vw;
    height: 100vh;
    opacity: 0.4;
    z-index: -1;
    background-image: url("/assets/images/noise.png");
    background-size: cover;
    background-position: top center;
    background-blend-mode: screen;
    pointer-events: none;
}

* {
    box-sizing: border-box;
    outline: none;
    list-style: none;
    border: none;
    background: none;
    margin: 0;
    padding: 0;
}

body {
    display: flex;
    flex-direction: column;
}

main {
    padding: 0 50px;
    flex-grow: 1;
    padding-bottom: 40px;
}

.behind-noise {
    z-index: -2;
}

.action {
    cursor: pointer;
}

.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    /* width: calc(1em * var(--iw));
    height: calc(1em * var(--ih)); */
}

.icon svg {
    width: 100%;
    height: 100%;
}

a, i {
    font-style: normal;
    color: unset;
    text-decoration: none;
    user-select: none;
}

a, button {
    transition: .18s ease-out;
}

h1, .bold {
    font-family: "Cantarell Bold", Cantarell Bold, CantarellBold, Arial, sans-serif;
    font-weight: bold;
}

h1 {
    font-size: 3rem;
}

h2 {
    font-size: 2rem;
}

a:hover, a:focus,
button:hover, button:focus {
    color: var(--accent-color);
}

a.current {
    color: var(--accent-color);
    display: flex;
    align-items: center;
    gap: 4px;
}

a.current::before {
    content: "";
    display: block;
    width: 4px;
    height: 4px;
    background-color: var(--accent-color);
}

header {
    padding: 20px 50px;
    margin-bottom: 6.5rem;
}

header, nav {
    width: 100%;
}

header nav, header ul {
    display: flex;
    align-items: center;
}

header nav {
    justify-content: center;
}

header ul {
    gap: 11.25rem;
}

footer {
    /* background-color: var(--theme-color); */
    width: 100%;
    height: 50px;
    position: relative;
    border-top: 1px solid var(--light);
    background-color: rgba(13, 13, 13, 0.32);
}

footer::before {
    content: "";
    display: block;
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--theme-color);
    z-index: -2;
}

footer .container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

footer .work-together {
    display: flex;
    align-items: center;
    background-color: var(--light);
    color: var(--dark);
    height: 100%;
    padding: 0 1.4rem;
    gap: .5rem;
    transition: .18s ease-out;
    position: relative;
    z-index: 0;
}

footer .work-together .icon {
    margin-right: .5rem;
}

footer .work-together::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    background-color: var(--accent-color);
    transition: .28s ease-out .12s;
    width: 0;
    height: 100%;
    z-index: -1;
}

footer .work-together:hover,
footer .work-together:focus {
    color: var(--light);
    /* background: none; */
}

footer .work-together:hover::before,
footer a:focus::before {
    width: 100%;
}

footer ul {
    display: flex;
    width: max-content;
    align-items: center;
    gap: 1.34rem;
    padding-right: 2rem;
}

footer .heart-icon {
    cursor: pointer;
    font-size: .85em;
    margin: 0 .5rem;
    color: var(--pink);
}

footer .heart-icon:hover {
    filter: saturate(5);
}

.next-section-btn {
    font-size: 2rem;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 1rem;
    text-align: end;
    position: relative;
    right: -50px;
    line-height: 1;
    color: var(--light);
}

.next-section-btn div span {
    display: block;
}

.next-section-btn div span:nth-child(1) {
    transition-delay: 300ms;
}

.next-section-btn div span:nth-child(2) {
    transition-delay: 240ms;
}

.next-section-btn div span:nth-child(3) {
    transition-delay: 120ms;
}

.next-section-btn .icon {
    color: var(--dark);
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--light);
    transition: .18s ease-out;
    transition-delay: 0ms;
}

.next-section-btn .icon svg {
    width: 1.8rem;
    height: 1.8rem;
}

.next-section-btn:hover div span:nth-child(1),
.next-section-btn:focus div span:nth-child(1) {
    transition-delay: 0ms;
}

.next-section-btn:hover div span:nth-child(2),
.next-section-btn:focus div span:nth-child(2) {
    transition-delay: 120ms;
}

.next-section-btn:hover div span:nth-child(3),
.next-section-btn:focus div span:nth-child(3) {
    transition-delay: 240ms;
}

.next-section-btn:hover .icon,
.next-section-btn:focus .icon {
    transition-delay: 300ms;
}

.next-section-btn:hover .icon,
.next-section-btn:focus .icon {
    background-color: var(--accent-color);
    color: var(--light);
}