/* =====================
   GLOBAL STYLES
===================== */


@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@200;300;400;500;700&display=swap');


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {

    background: #47131c;
    color: #ffd7e7;
    font-family: "Inter", sans-serif;
    font-weight: 200;

}





/* =====================
   NAVIGATION
===================== */


.nav {

    position: fixed;

    top: 50px;
    left: 50%;
    transform: translateX(-50%);

    display: flex;
    gap: 20px;

    z-index: 1000;

}



.nav a {

    text-decoration:none;

    color:#ffd7e7;

    background:#47131c;

    font-size:14px;

    letter-spacing:1px;

    border:1px solid #ffd7e7;

    padding:10px 28px;

    border-radius:30px;

    transition:.3s ease;

}


@media(max-width:768px){

    .nav {

        top:50px;

        gap:10px;

    }


    .nav a {

        padding:8px 18px;

        font-size:12px;

    }

}


.nav a:hover {

    background:#ffd7e7;

    color:#47131c;

}








/* =====================
   HERO
===================== */


.hero {

    height: 100vh;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    padding-top: 80px;

    overflow: hidden;

}



.hero h1 {


    font-family: "Instrument Serif", serif;

    font-size: clamp(100px, 13vw, 200px);

    font-weight: 600;

    letter-spacing: -2px;

    text-transform: lowercase;

    line-height: .9;

}






/* =====================
   MARQUEES
===================== */


.marquee-wrapper {

    width: fit-content;
    max-width: 60vw;

    overflow: hidden;

    border: 1px solid #ffd7e7;

    border-radius: 12px;

    padding: 12px 35px;

    margin-top: 50px;

}



.marquee {

    display: flex;

    white-space: nowrap;

    animation: scroll 12s linear infinite;

}



.marquee span {

    font-size: clamp(16px, 2vw, 25px);

    letter-spacing: 0;

    white-space: nowrap;

}

@media(max-width:768px){

    .marquee-wrapper {

        margin-top:20px;

        padding:8px 15px;

        border-radius:10px;

    }


    .marquee span {

        font-size:15px;

    }

}



@keyframes scroll {


    from {

        transform: translateX(0);

    }


    to {

        transform: translateX(-50%);

    }

}


.arrow {

    margin-top: 110px;

    font-size: 50px;

    color: #ffd7e7;

    cursor: pointer;

    animation: bounce 2s infinite;

    line-height: 1;

}

@keyframes bounce {

    0%, 
    100% {

        transform: translateY(0);

    }

    50% {

        transform: translateY(12px);

    }

}

@media(max-width:768px){

    .arrow {

        margin-top:35px;

        font-size:40px;

    }

}




/* =====================
   WORK IMAGE MARQUEE
===================== */


.work-preview {

    padding: 20px 0 10px;

    overflow: hidden;

}



.marquee-row {

    overflow: hidden;

    margin-bottom: 20px;

}



.marquee-track {


    display: flex;

    gap: 25px;

    width: max-content;

    animation: workScroll 35s linear infinite;

}



.marquee-row.reverse .marquee-track {

    animation-direction: reverse;

}




.marquee-track img {


    width: 260px;

    aspect-ratio: 4 / 5;

    object-fit: cover;

    border-radius: 4px;

}




@keyframes workScroll {


    from {

        transform: translateX(0);

    }


    to {

        transform: translateX(-50%);

    }

}









/* =====================
   ABOUT
===================== */


.about {


    min-height: 100vh;

    padding: 120px 12%;

}



.about h2,
.contact h2 {


    font-family: "Instrument Serif", serif;

    font-size: clamp(70px, 9vw, 130px);

    font-weight: 600;

    line-height: .9;

    margin-bottom: 40px;


}



.about p {


    max-width: 650px;

    font-size: 20px;

    line-height: 1.8;

}



.resume-button {


    display: inline-block;

    margin-top: 50px;

    margin-bottom: 40px;

    padding: 16px 40px;

    border: 1px solid #ffd7e7;

    color: #ffd7e7;

    text-decoration: none;

    border-radius: 50px;

    transition: .3s ease;


}



.resume-button:hover {

    background:#ffd7e7;

    color:#47131c;

}







.secondary {

    margin-top: 120px;

}



/* =====================
   CREATIVE MARQUEE
===================== */
body {
    overflow-x: hidden;
}

.creative-marquee {

    width:100vw;

    overflow:hidden;

    position:relative;

    left:50%;

    transform:translateX(-50%);

    margin-top:60px;

}


.creative-track {

    display:flex;

    width:max-content;

    animation: creativeScroll 20s linear infinite;

}



.creative-track span {

    font-family:"Instrument Serif", serif;

    font-size:clamp(70px, 10vw, 150px);

    font-weight:600;

    line-height:1;

    white-space:nowrap;

    color:#ffd7e7;

}



.creative-track em {

    font-style:italic;

}



@keyframes creativeScroll {


    from {

        transform:translateX(0);

    }


    to {

        transform:translateX(-50%);

    }

}



/* =====================
   DESKTOP PORTFOLIO
===================== */


.desktop-section {

    width:100%;

    display:flex;

    justify-content:center;

    padding:0px 0;

}



.desktop-container {

    width:min(80vw,1050px);

    aspect-ratio:13 / 8;

    position:relative;

}



.desktop-background {

    position:absolute;

    inset:0;

    background-image:url("../img/desktop-background.png");

    background-size:100% 100%;

    background-repeat:no-repeat;

    background-position:center;

    cursor: url("../img/cursor.png") 0 0, auto;

}



/* FOLDERS */


.folder {

    position:absolute;

    width:14%;

    text-align:center;

    text-decoration:none;

    color:white;

}



.folder img {

    width:100%;

    display:block;

}



.folder span {


    display:block;


    margin-top:5px;


    color:white;


    font-family:"Inter", sans-serif;


    font-size:clamp(6px, 1vw, 12px);


    font-weight:500;


    line-height:1.2;


    text-shadow:
    0 1px 3px rgba(0,0,0,.4);


}


.folder.show:hover {

    transform: translateY(-4px) scale(1.05);

}

.folder.show:active {

    transform: translateY(-2px) scale(.97);

}



.desktop-background,
.desktop-background *,
.folder,
.folder img,
.folder span {

    cursor: url("../img/cursor.png") 2 2, auto !important;

}




/* adjust these based on your Canva layout */


.folder1 {

    top:16%;

    left:14%;

}


.folder2 {

    top:18%;

    right:22%;

}


.folder3 {

    top:23%;

    left:26%;

}


.folder4 {

    top:69%;

    right:20%;

}


.folder5 {

    bottom:16%;

    left:24%;

}


.folder6 {

    bottom:19%;

    right:9%;

}



/* =====================
   DESKTOP ANIMATION
===================== */

.desktop-background {

    opacity: 0;

    transform: scale(.88);

    transform-origin: center center;

    transition:
        transform .6s cubic-bezier(.2,.9,.2,1.15),
        opacity .45s ease;

}

.desktop-background.show {

    opacity: 1;

    transform: scale(1);

}


/* Folder animation */

.folder {

    opacity: 0;

    transform: translateY(15px);

    transition:
        opacity .35s ease,
        transform .35s ease;

}

.folder.show {

    opacity: 1;

    transform: translateY(0);

}



/* =====================
   CONTACT
===================== */


.contact {

    min-height:30vh;

    padding:100px 12%;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

}



.contact h2 {

    font-family:"Instrument Serif", serif;

    font-size:clamp(100px, 10vw, 150px);

    font-weight:600;

    line-height:.8;

    margin-bottom:30px;

}



.contact p {

    font-size:clamp(22px, 2vw, 30px);

    line-height:1.6;

    max-width:700px;

}



.contact a {

    color:#ffd7e7;

}



.socials {

    display:flex;

    justify-content:center;

    align-items:center;

    gap:15px;

    margin-top:35px;

}



.socials a {

    display:flex;

    align-items:center;

    justify-content:center;

}



.socials img {

    width:55px;

    height:55px;

    object-fit:contain;

    transition:.3s ease;

}



.socials img:hover {

    transform:translateY(-5px);

}






@media(max-width:768px){

    .nav a {

        width:75px;
        text-align:center;
        padding:8px 0;

    }

    .hero h1 {
        font-size:80px;
    }

    .marquee-track img {
        width:180px;
    }

    .about,
    .contact {
        padding:100px 30px;
    }

    .contact h2 {
        font-size:80px;
    }

    .contact p {
        font-size:18px;
        line-height:1.6;

    }

}