﻿html, body {
    height: 100%;
    margin: 0;
    /*background: transparent; /* Let constellation and overlay handle background */
    font-family: "Inter", "Segoe UI", sans-serif;
    color: #f5f5f5;
}

    body.theme-dark-home {
        background: radial-gradient(circle at 30% 20%, #101018 0%, #000 100%);
        color: #f5f5f5;
    }

/* =========================================================
   HOME PAGE BACKGROUND + CANVAS LAYERING
   ========================================================= */

/* The home container just establishes the vertical structure */
.home-root {
    position: relative;
    z-index: 1;
}

/* Fixed dark gradient background for Home */
#bg-container::before {
    content: "";
    position: fixed;
    inset: 0;
    background: radial-gradient(circle at 30% 20%, #101018 0%, #000 100%);
    z-index: -2; /* behind everything */
}

/* Canvas sits above the dark background but below hero/nav */
#bg-container,
#constellation {
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

/* =========================================================
   HERO CONTENT (portrait, text, social links)
   ========================================================= */
.hero {
    position: relative;
    z-index: 5; /* sits above background and canvas */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    min-height: 100vh;
    text-align: center;
    color: #f5f5f5;
    opacity: 0;
    animation: fadein 1.5s ease forwards;
}

.hero-content {
    max-width: 600px;
}

/* ===== PORTRAIT ===== */
.hero-photo {
    width: 160px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center top;
    border-radius: 50%;
    border: 3px solid rgba(255,255,255,0.3);
    margin-bottom: 1.5rem;
    display: block;
    margin-left: auto;
    margin-right: auto;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.25);
}

/* ===== TEXT ===== */
h1 {
    font-size: 2.6rem;
    margin: 0;
    font-weight: 600;
}

.tagline {
    font-size: 1.1rem;
    color: #ccc;
    margin-top: 0.4rem;
}

/* ===== SOCIAL LINKS ===== */
.social-links {
    margin-top: 1.5rem;
    display: flex;
    justify-content: center;
    gap: 1.2rem;
}

    .social-links a {
        color: #ccc;
        font-size: 1.6rem;
        transition: color 0.3s ease, transform 0.3s ease;
        text-decoration: none;
    }

        .social-links a:hover {
            color: #0b5fff;
            transform: scale(1.15);
        }

/* ===== ANIMATIONS ===== */
@keyframes fadein {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
