@font-face {
    font-family: "Quantico";
    src: url("./assets/fonts/Quantico,Roboto_Mono/Quantico/Quantico-Regular.ttf")
        format("truetype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "Quantico";
    src: url("assets/fonts/Quantico,Roboto_Mono/Quantico/Quantico-Bold.ttf")
        format("truetype");
    font-weight: 700;
    font-style: normal;
}

:root {
    --background-main: #001E16;
    
    --highlight-main: #38D1C4;
    --highlight-hover: #2CB9AE;
    --highlight-light: #8BE8E0;

    --text-dark: #001E16;
    --text-light: #FFFFFF;

    --border-color: rgba(56, 209, 196, 0.3);
    --sidebar-width: 172px;
}

main {
    display: flex;
    min-height: 100vh;
}

body {
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    font-family: "Quantico", sans-serif;
    background-color: var(--background-main);
    color: var(--text-light);
}

.hero-section {
    width: 100vw;
    min-height: 100vh;
    display: flex;
    position: relative;
    overflow: hidden;
}

.hero-sidebar {
    width: var(--sidebar-width);
    height: 100vh;
    background-color: var(--highlight-main);
    color: var(--text-dark);
    display: flex;
    flex-direction: column;
    align-items: center;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 50;
}

.hero-content {
    position: relative;
    flex: 1;
    height: 100vh;
    overflow: hidden;
}

aside {
    width: var(--sidebar-width);
    height: 900px;
    background-color: var(--highlight-main);
    color: var(--text-dark);
}

.hero-name {
    font-family: "Quantico", sans-serif;
}

#portfolio {
    display: flex;
    width: max-content;
    height: 100vh;
}

.hero {
    width: 1440px;
    max-height: 900px;
    
}

.hero-image {
    position: absolute;
    width: auto;
    height: clamp(520px, 82vh, 820px);
    max-width: min(52vw, 720px);
    left: 48%;
    bottom: 0;
    transform: translateX(-50%);
    object-fit: contain;
}

section {
    width: 100vw;
    height: 100vh;
    flex-shrink: 0;
}

.logo {
    margin-top: 40px;
    width: 130px;
    height: 110px;
    border: none;
}

.logo-svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.logo-arc-text {
    font-family: "Quantico", sans-serif;
    font-size: 13px;
    letter-spacing: 1.6px;
}

.logo-initials {
    font-family: "Quantico", sans-serif;
    font-size: 42px;
    font-weight: 700;
    stroke: #4A4A4A;;
    fill: transparent;
    stroke-width: 1.5px;
    letter-spacing: -8px;
}

#main-nav {
    flex: 1;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

#main-nav ul {
    height: 554px;
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px;
}

.nav-item {
    display: flex;
    justify-content: center;
    align-items: center;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    cursor: pointer;
    font-size: 24px;
}

.nav-item a,
.logo-arc-text {
    color: #4A4A4A;
    fill: #4A4A4A;
    text-decoration: none;
    text-align: center;
}

.nav-item a:hover {
    color: #FFFFFF;
}

.nav-item a.active {
    color: transparent;
    -webkit-text-stroke: 1px #4A4A4A;
}

.hero-naming {
    position: absolute;
    left: 50%;
    bottom: clamp(90px, 18vh, 180px);
    transform: translateX(-50%);
    text-align: end;
    z-index: 2;
    width: max-content;
    max-width: calc(100vw - var(--sidebar-width) - 120px);
}

.hero-location {
    display: none;
}

.name {
    display: block;
    width: max-content;
    gap: 10px;
}

.name h1 {
    margin: 0;
    font-family: "Quantico", sans-serif;
    font-size: clamp(42px, 4.5vw, 64px);
    font-weight: 700;
    line-height: 1;
    color: var(--highlight-main);
    white-space: nowrap;
}

.designation h2 {
    margin-top: clamp(12px, 2vh, 24px);
    font-family: "Quantico", sans-serif;
    font-size: clamp(30px, 3.4vw, 48px);
    font-weight: 400;
    color: transparent;
    -webkit-text-stroke: 1px var(--highlight-main);
}

.social-links {
    position: fixed;
    top: 53px;
    right: clamp(48px, 8vw, 150px);
    z-index: 100;
}

.social-links ul {
    display: flex;
    align-items: center;
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.social-links img {
    width: 32px;
    height: 32px;
    object-fit: contain;
    transition: all 125ms ease;
}

.social-links img:hover {
    filter: brightness(0) saturate(100%) invert(76%) sepia(28%)
            saturate(1033%) hue-rotate(125deg) brightness(93%)
            contrast(88%);
}

.language-link button {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: var(--text-light);
    cursor: pointer;
    transition: color 125ms ease;
}

.language-link button:hover {
    color: var(--highlight-main);
}

.language-link button.active {
    color: var(--highlight-main);
}

.next-section-link {
    position: absolute;
    top: 314px;
    right: 43px;
    transform: rotate(-180deg);
    filter: hue-rotate(110deg);
}

.mobile-header {
    display: none;
}

.mobile-menu-overlay nav {
    display: none;
}