
*{margin:0;padding:0;box-sizing:border-box}
a{text-decoration:none;color:inherit}

body{
    height:100vh;
    background:url("../img/bg.png") no-repeat center/cover;
    font-family:'DM Sans',sans-serif;
    color:#fff;
    overflow:hidden;
}

.overlay{
    position:fixed;
    inset:0;
    background:
        linear-gradient(to right, rgba(0,0,0,.65), rgba(0,0,0,.25)),
        radial-gradient(circle at 70% 40%, rgba(255,170,200,.25), transparent 55%);
}

/* CONTENT */
.content{
    position:absolute;
    left:8%;
    bottom:18%;
    z-index:2;
    max-width:520px;
}

/* NAME */
.name{
    display:flex;
    align-items:center;
    gap:14px;

    font-family:'Playfair Display',serif;
    font-size:64px;
    font-weight:500;
    letter-spacing:1px;
    line-height:1.1;
}

/* Accent heart */
.accent{
    color:#ff4d6d;
    font-size:18px;
    animation:heartbeat 1.4s ease-in-out infinite;
    opacity:.9;
}

/* ROLE */
.role{
    margin-top:8px;
    font-family:'DM Sans',sans-serif;
    font-size:26px;
    font-weight:400;
    letter-spacing:2px;
    opacity:.9;
}

/* TAGLINE */
.tagline{
    margin-top:18px;
    font-family:'DM Sans',sans-serif;
    font-size:15px;
    font-weight:300;
    font-style:italic;
    opacity:.85;
    line-height:1.6;
}

/* MENU */
.menu{
    position:fixed;
    top:24px;
    right:24px;
    display:flex;
    gap:6px;
    padding:6px;
    background:rgba(30,30,30,.55);
    backdrop-filter:blur(14px);
    border-radius:18px;
    border:1px solid rgba(255,255,255,.12);
    z-index:3;
}

.menu a{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:13px;
    padding:6px 10px;
    border-radius:14px;
    color:rgba(255,255,255,.85);
    transition:.25s ease;
}

.menu a:hover{
    background:rgba(255,255,255,.12);
    color:#fff;
}

.menu i{opacity:.75}

/* Hamburger */
.menu-toggle{
    position:fixed;
    top:26px;
    right:26px;
    width:28px;
    height:20px;
    display:none;
    flex-direction:column;
    justify-content:space-between;
    z-index:4;
}

.menu-toggle span{
    height:3px;
    background:#fff;
    border-radius:3px;
}

/* Mobile */
@media(max-width:768px){
    .content{
        left:6%;
        bottom:16%;
    }

    .name{
        font-size:48px;
    }

    .role{
        font-size:22px;
    }

    .tagline{
        font-size:14px;
    }

    .menu{
        top:64px;
        right:14px;
        width:200px;
        flex-direction:column;
        padding:8px;
        transform:translateX(120%);
        transition:.35s ease;
    }

    .menu.show{
        transform:translateX(0);
    }

    .menu-toggle{
        display:flex;
    }
}

/* CREATIVE LIGHT */
body::before{
    content:"";
    position:fixed;
    inset:-20%;
    background:
        radial-gradient(circle at 30% 30%, rgba(255,160,190,.25), transparent 45%),
        radial-gradient(circle at 70% 70%, rgba(200,140,255,.22), transparent 45%);
    animation:beautyFlow 26s linear infinite;
    pointer-events:none;
}

@keyframes beautyFlow{
    from{transform:rotate(0deg)}
    to{transform:rotate(360deg)}
}

@keyframes heartbeat{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.35)}
}
