/* =========================
   RESET
========================= */
html, body {
    margin: 0;
    padding: 0;
}

/* =========================
   HERO
========================= */
.hero {
    position: relative;

    height: 100vh;
    min-height: 100svh;

    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;

    background:
        linear-gradient(rgba(0,0,0,0.35), rgba(0,0,0,0.65)),
        url("/assets/forest.png") center 40% / cover no-repeat;

    color: #e6e6e6;

    overflow: hidden;
}

/* SMOOTH CINEMATIC FADE (NO MASKS) */
.hero::after {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0) 50%,
        rgba(0,0,0,0.2) 65%,
        rgba(0,0,0,0.5) 78%,
        rgba(0,0,0,0.75) 88%,
        rgba(0,0,0,0.92) 95%,
        #000 100%
    );

    pointer-events: none;
    z-index: 2;
}

/* =========================
   HERO CONTENT
========================= */
.hero-inner {
    position: relative;
    z-index: 10;

    max-width: 700px;
    width: 100%;

    padding: 60px 20px 0;

    display: flex;
    flex-direction: column;
    align-items: center;
}

.hero-logo {
    width: 260px;
    max-width: 80%;
    margin-bottom: 20px;
}

/* =========================
   NAV
========================= */
.nav-inline {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 28px;
    margin-bottom: 25px;
}

.nav-inline a {
    font-size: 12px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #e6e6e6;

    opacity: 0.65;
    position: relative;
    transition: all 0.3s ease;
}

.nav-inline a:hover {
    opacity: 1;
}

.nav-inline a::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 0;

    width: 0;
    height: 1px;

    background: rgba(184,115,51,0.6);
    transition: width 0.3s ease;
}

.nav-inline a:hover::after {
    width: 100%;
}

/* =========================
   FOG (FIXED + VISIBLE)
========================= */
.fog {
    position: absolute;
    top: -10%;
    left: -10%;
    width: 120%;
    height: 120%;

    background: url("/assets/fog1.png") center / cover no-repeat;

    pointer-events: none;
    z-index: 1;

    opacity: 0.12;
}
.fog::after {
    content: "";
    position: absolute;
    inset: 0;

    background: radial-gradient(
        ellipse at center,
        transparent 50%,
        rgba(0,0,0,0.4) 80%,
        #000 100%
    );
}
/* LAYERS */
.fog-back {
    opacity: 0.10;
    filter: blur(18px);
    animation: fogSlow 40s ease-in-out infinite alternate;
}

.fog-mid {
    opacity: 0.14;
    filter: blur(10px);
    animation: fogMid 25s ease-in-out infinite alternate;
}

.fog-front {
    opacity: 0.12;
    filter: blur(5px);
    animation: fogFast 15s ease-in-out infinite alternate;
}

/* MOTION */
@keyframes fogSlow {
    0%   { transform: translateX(0) translateY(0) scale(1.25); }
    100% { transform: translateX(-50px) translateY(20px) scale(1.15); }
}

@keyframes fogMid {
    0%   { transform: translateX(0) translateY(0) scale(1.2); }
    100% { transform: translateX(-90px) translateY(30px) scale(1.1); }
}

@keyframes fogFast {
    0%   { transform: translateX(0) translateY(0) scale(1.15); }
    100% { transform: translateX(-120px) translateY(40px) scale(1.05); }
}

/* =========================
   ENTITY
========================= */
.entity {
    position: absolute;
    bottom: 6%;
    left: 30%;

    width: 200px;

    opacity: 0;
    z-index: 5;

    filter:
        blur(1.5px)
        brightness(0.6)
        contrast(1.4);

    transform: translateY(30px);

    transition:
        opacity 1.5s ease,
        transform 1.5s ease;

    mask-image: linear-gradient(
        to top,
        transparent 0%,
        rgba(0,0,0,0.7) 40%,
        rgba(0,0,0,1) 100%
    );
}

.entity.active {
    opacity: 0.08;
    transform: translateY(0);
    animation: entityDrift 6s ease-in-out infinite alternate;
}

@keyframes entityDrift {
    0%   { transform: translateY(0) translateX(0); }
    100% { transform: translateY(-6px) translateX(4px); }
}

/* =========================
   HEADER (TOP BAR)
========================= */
.simple-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;

    z-index: 9999;

    padding: 20px 30px;

    display: flex;
    justify-content: center;

    background: linear-gradient(
        rgba(0,0,0,0.4),
        rgba(0,0,0,0.15),
        transparent
    );
}

.simple-header .header-inner {
    width: 100%;
    max-width: 1100px;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.simple-header .logo img {
    width: 120px;
}

/* =========================
   SUB PAGE MODE
========================= */
body.sub-page .hero {
    height: 420px;
    min-height: unset;
    align-items: flex-end;
    padding-bottom: 60px;
}

body.sub-page .hero-inner {
    padding-top: 20px;
}

body.sub-page .hero-logo {
    width: 120px;
    margin-bottom: 10px;
}

body.sub-page .nav-inline {
    margin-bottom: 10px;
}
