*{
    margin: 0%;
    padding: 0%;
    box-sizing: border-box;
    font-family: gilroy;
}
html,body{
    height: 100%;
    width: 100%;
}
#main{
    position: relative;
    overflow: hidden;
}
#page{
    position: relative;
    height: 100vh;
    width: 100vw;
    background-color: #f1f1f1;
}
#page1{
    position: relative;
    height: 100vh;
    width: 100vw;
    background-color: #f1f1f1;
}
#page2{
    position: relative;
    height: 100vh;
    width: 100vw;
    background-color: #f1f1f1;
}
#page3{
    position: relative;
    height: 100vh;
    width: 100vw;
    background-color: #f1f1f1;
}
#page4{
    position: relative;
    height: 100vh;
    width: 100vw;
    background-color: #f1f1f1;
}
.pin-spacer {
    pointer-events: none !important;
}
canvas{
    position: relative;
    z-index: 9;
    max-width: 100vw;
    max-height: 100vh;
    pointer-events: none !important;
}
#page, #page1, #page2, #page3, #page4 {
    pointer-events: auto !important;
}
#page > *, #page1 > *, #page2 > *, #page3 > *, #page4 > * {
    pointer-events: auto !important;
}
#loop{
    /* display: flex; */
    position: absolute;
    top: 15%;
    height: 25%;
    left: 1%;
    width: 100%;
    font-size: 100px;
    white-space: nowrap;
    font-family: gilroy;
}
#loop>h1{
    font-weight: 400;
    animation-name: anim;
    animation-duration: 12s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
#loop>h1>span{
    -webkit-text-stroke: 1.2px #000;
    color: transparent;
    font-weight: 500;
}
@keyframes anim{
    0%{
        transform: translateX(0%);
    }
    100%{
        transform: translateX(-100%);
    }
}
#nav{
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 7%;
    width: 100%;
    position: fixed;
    z-index: 99;
    padding: 0px 30px;
}
#nav,
#nav * {
    font-family: 'Times New Roman', Times, serif !important;
}
#nav>h3{
    font-family: 'Times New Roman', Times, serif !important;
    font-weight: 400;
    font-size: 22px;
}
#nav>button{
    padding: 10px 20px;
    border-radius: 50px;
    background-color: #000;
    color: #fff;
    border: none;
}
#page>h3 {
    position: absolute;
    top: 55%;
    font-family: gilroy;
    font-weight: 400;
    color: #7c7c7c;
    left: 4%;
    right: 4%;
    display: flex;
    flex-direction: column;
    font-size: min(1.17em, 1.18vw);
}

#page>h3 .bio-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    width: 100%;
    white-space: nowrap;
}

#page>h3 .bio-row .left {
    white-space: nowrap;
}

#page>h3 .bio-row .spacer {
    width: var(--gap);
    flex-shrink: 0;
}

#page>h3 .bio-row .right {
    white-space: nowrap;
}

#page>h3 b,
#page>h3 strong {
    color: #111111;
    font-weight: 600;
}
#page1>#right-text{
    position: absolute;
    top: 24%;
    left: 3%;
    max-width: min(34vw, 520px);
    z-index: 10;
}
#page1>#right-text>h1{
    line-height: 1.3;
    font-size: clamp(26px, 2.6vw, 50px);
    margin-bottom: 8px;
}
#page1>#right-text>h3{
    font-weight: 400;
    color: #7c7c7c;
    font-size: min(1.05em, 1.05vw);
    line-height: 1.6;
}

#page1>#left-text{
    position: absolute;
    top: 50%;
    right: 4%;
    max-width: min(34vw, 520px);
    z-index: 10;
}
#page1>#left-text>h1{
    font-size: clamp(26px, 2.6vw, 50px);
    line-height: 1.3;
    margin-bottom: 8px;
}
#page1>#left-text>h3{
    color: #7c7c7c;
    font-weight: 400;
    font-size: min(1.05em, 1.05vw);
    line-height: 1.6;
}

#page2>#text1{
    position: absolute;
    top: 16%;
    left: 4%;
    max-width: min(31vw, 460px);
    z-index: 100;
    pointer-events: auto;
}
#page2>#text1>h1{
    display: flex;
    align-items: center;
    font-size: clamp(26px, 2.5vw, 44px);
    line-height: 1.2;
    margin-bottom: 8px;
}
#page2>#text1>h3{
    color: #7c7c7c;
    font-weight: 400;
    font-size: clamp(12.5px, 0.9vw, 15px);
    line-height: 1.58;
}
#page2>#text1>h3 b{
    color: #111111;
    font-weight: 600;
}

.project-link {
    display: inline;
    color: inherit;
    text-decoration: none;
    cursor: pointer !important;
    position: relative;
    z-index: 110;
    pointer-events: auto !important;
    transition: all 0.2s ease;
}
.project-link b {
    color: #111111;
    font-weight: 600;
    transition: color 0.2s ease, text-decoration 0.2s ease;
    cursor: pointer !important;
    pointer-events: auto !important;
}
.project-link:hover b {
    color: #000000;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Info tooltip */
.info-tooltip {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer !important;
    margin-left: 10px;
    vertical-align: middle;
    z-index: 120;
    pointer-events: auto !important;
}
.info-tooltip .info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1.5px solid #7c7c7c;
    font-size: 13px;
    font-style: normal;
    font-family: serif;
    font-weight: 600;
    color: #7c7c7c;
    transition: all 0.25s ease;
    cursor: pointer !important;
    pointer-events: auto !important;
}
.info-tooltip:hover .info-icon,
.info-tooltip:focus .info-icon,
.info-tooltip.active .info-icon {
    border-color: #111;
    color: #fff;
    background: #111;
}
.info-tooltip .tooltip-text {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: 135%;
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    background-color: #111111;
    color: #ffffff;
    font-family: gilroy;
    font-size: 12px;
    font-weight: 400;
    padding: 6px 12px;
    border-radius: 6px;
    white-space: nowrap;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
    transition: opacity 0.2s ease, transform 0.2s ease;
    pointer-events: none;
    z-index: 200;
}
.info-tooltip .tooltip-text::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #111111 transparent transparent transparent;
}
.info-tooltip:hover .tooltip-text,
.info-tooltip:focus .tooltip-text,
.info-tooltip.active .tooltip-text {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* Page 2: Skills on right side, staggered down */
#page2>#text2{
    position: absolute;
    top: 36%;
    right: 2%;
    max-width: min(29vw, 440px);
    z-index: 100;
    pointer-events: auto;
}
#page2>#text2>h1{
    font-size: clamp(26px, 2.5vw, 44px);
    line-height: 1.2;
    margin-bottom: 10px;
}
#page2>#text2>p{
    color: #7c7c7c;
    font-weight: 400;
    font-size: clamp(13px, 0.95vw, 15.5px);
    line-height: 1.65;
}
#page2>#text2>p b{
    color: #111111;
    font-weight: 600;
}

/* Page 3: Dedicated Achievements Section, inverted (Recognitions top, Achievements bottom) */
#page3>#left-text{
    position: absolute;
    top: 36%;
    left: 4%;
    max-width: min(31vw, 460px);
    z-index: 100;
    pointer-events: auto;
}
#page3>#left-text>h1{
    font-size: clamp(26px, 2.5vw, 44px);
    line-height: 1.2;
    margin-bottom: 10px;
}
#page3>#left-text>p{
    color: #7c7c7c;
    font-weight: 400;
    font-size: clamp(13px, 0.95vw, 15.5px);
    line-height: 1.65;
}
#page3>#left-text>p b{
    color: #111111;
    font-weight: 600;
}

#page3>#right-text{
    position: absolute;
    top: 18%;
    right: 3%;
    max-width: min(32vw, 480px);
    z-index: 100;
    pointer-events: auto;
}
#page3>#right-text>h1{
    font-size: clamp(26px, 2.5vw, 44px);
    line-height: 1.2;
    margin-bottom: 10px;
}
#page3>#right-text>p{
    color: #7c7c7c;
    font-weight: 400;
    font-size: clamp(13px, 0.95vw, 15.5px);
    line-height: 1.65;
}
#page3>#right-text>p b{
    color: #111111;
    font-weight: 600;
}

.achievement-link {
    color: #111111;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2.5px;
    text-decoration-color: #888888;
    transition: all 0.2s ease;
    cursor: pointer !important;
    pointer-events: auto !important;
    white-space: nowrap;
}
.achievement-link:hover {
    color: #000000;
    text-decoration-color: #000000;
}

/* Page 4: Volunteer Experience & The World is my Playground */
#page4>#text1{
    position: absolute;
    top: 20%;
    left: 4%;
    max-width: min(34vw, 500px);
    z-index: 10;
}
#page4>#text1>h1{
    font-size: clamp(22px, 2vw, 35px);
    line-height: 1.3;
    margin-bottom: 8px;
}
#page4>#text1>h3{
    color: #7c7c7c;
    font-weight: 400;
    font-size: min(1.05em, 1.05vw);
    line-height: 1.6;
}

#page4>#text3{
    position: absolute;
    top: 36%;
    right: 6%;
    max-width: min(36vw, 600px);
    text-align: end;
    z-index: 10;
}
#page4>#text3>h3{
    color: #7c7c7c;
    font-weight: 400;
    font-size: min(1.17em, 1.15vw);
    margin-bottom: 4px;
}
#page4>#text3>h1{
    font-size: clamp(32px, 3.6vw, 70px);
    line-height: 1.1;
}

#nav-part2 {
    display: flex;
    align-items: center;
    gap: 1vw;
}

#nav-part2 h4 {
    font-family: 'Times New Roman', Times, serif;
    padding: 8px 16px;
    border: 1px solid #0000003c;
    border-radius: 50px;
    font-weight: 500;
    color: #000000bb;
    transition: all ease 0.4s;
    position: relative;
    font-size: 15px;
    overflow: hidden;
}

#nav-part2 h4::after {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: black;
    left: 0;
    bottom: -100%;
    border-radius: 50%;
    transition: all ease 0.4s;
}

#nav-part2 h4:hover::after {
    bottom: 0;
    border-radius: 0;
}

#nav-part2 h4 a {
    color: #000000bb;
    text-decoration: none;
    position: relative;
    z-index: 9;
}

#nav-part2 h4:hover a {
    color: #fff;
}