/* =========================================================
   home.css — intro animation + hero (home page only)
   ========================================================= */

.page-home{
    --bg-blur:8px;
}

.page-home::before{
    transition:filter 1.2s ease;
    will-change:filter;
}

.page-home.loaded{
    --bg-blur:0px;
}

/* ---------- Intro overlay ---------- */

#intro{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:9999;
    opacity:1;
    visibility:visible;
    transition:opacity .8s ease, visibility .8s ease;
}

.intro-text{
    color:#fff;
    font-size:2rem;
    font-weight:600;
    text-align:center;
    padding:0 20px;
    opacity:0;
    transform:translateY(20px);
    transition:opacity .6s ease, transform .6s ease;
    will-change:opacity, transform;
}

.intro-text.show{
    opacity:1;
    transform:translateY(0);
}

.intro-hide{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none;
}

/* Returning visitors: skip the intro before first paint */
.intro-seen #intro{
    display:none;
}

.page-home .site-header,
.page-home .hero{
    opacity:0;
    transition:opacity 1s ease;
}

.page-home.loaded .site-header,
.page-home.loaded .hero{
    opacity:1;
}

/* ---------- Hero ---------- */

.hero{
    min-height:calc(100vh - var(--header-h));
    min-height:calc(100svh - var(--header-h));
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    gap:18px;
    padding:80px 20px;
}

.hero-image{
    width:150px;
    height:150px;
    border-radius:50%;
    object-fit:cover;
}

.hero h1{
    font-size:2.6rem;
    font-weight:700;
    line-height:1.2;
    color:#fff;
}

.hero .hero-roles{
    font-size:1.05rem;
    font-weight:500;
    color:#fffdfd;
}

.dot{
    color:#facc15;
}

.hero p{
    max-width:560px;
    color:#fff;
    font-size:.95rem;
}

.hero-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 22px;
    border-radius:999px;
    background:#f4f4f4b0;
    color:#000;
    font-size:13px;
    transition:background .25s ease, transform .25s ease;
}

.hero-btn:hover{
    background:#ffffffc7;
    transform:translateY(-2px);
}

.hero-link{
    color:inherit;
    transition:color .25s ease;
}

.hero-link:hover{
    color:#c2b646;
}

@media (max-width:768px){

    .page-home{
        --bg-blur:2px;
    }

    .page-home.loaded{
        --bg-blur:0px;
    }

    .hero h1{
        font-size:2.2rem;
    }

    .hero .hero-roles{
        font-size:.8rem;
    }

    .hero p{
        font-size:.9rem;
    }

    .hero-image{
        width:130px;
        height:130px;
    }
}

/* Returning visitors: show everything immediately, no fade */
.intro-seen .page-home{
    --bg-blur:0px;
}

.intro-seen .page-home::before,
.intro-seen .page-home .site-header,
.intro-seen .page-home .hero{
    transition:none;
}

.intro-seen .page-home .site-header,
.intro-seen .page-home .hero{
    opacity:1;
}
