html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: #77cecf;
    font-family: 'Arial Rounded MT Bold', 'Segoe UI', sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo-container {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
    padding: 20px;
    text-align: center;
}

.logo-image {
    width: min(30vmin, 200px);
    height: auto;
    margin-top: 20px;
    opacity: 0.9;
    transition: transform 0.5s ease;
    z-index: 0;

    /* Below text */
}

.logo-nav {
    display: flex;
    align-items: baseline;
    font-size: clamp(2.5rem, 12vw, 6rem);
    font-weight: bold;
    line-height: 1;
    color: #ffd67a;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
    position: relative;
    z-index: 2;

    /* Above image */
}

.logo-nav > span {
    margin: 0 .05em;
    position: relative;
    display: inline-flex;
    align-items: baseline;
}

.trigger {
    cursor: pointer;
}

.suffix {
    position: relative;
    display: inline-flex;
    z-index: 3;

    /* Highest priority */
}

.suffix > .static,
.suffix > .alt {
    display: inline-flex;
    transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
    transform-origin: top center;
    color: #ffd67a;
}

.suffix > .alt {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-0.3em) scale(0.9);
}

.trigger:hover ~ .suffix > .static {
    opacity: 0;
    transform: translateY(0.3em) scale(0.9);
}

.trigger:hover ~ .suffix > .alt {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.static .expandable {
    position: relative;
    display: inline-flex;
    cursor: pointer;
}

.rest-of-word {
    position: absolute;
    top: calc(100% + 0.1em);
    left: 50%;
    transform: translateX(-50%) scale(0.8);
    transform-origin: top center;
    display: flex;
    flex-direction: column;
    align-items: center;
    opacity: 0;
    font-size: 0.9em;
    color: #ffd67a;
    transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
    gap: 0.05em;
    text-shadow: none;
    pointer-events: none;
    z-index: 10;

    /* Above everything */
}

.static .expandable:hover .rest-of-word {
    opacity: 1;
    transform: translateX(-50%) scale(1);
    pointer-events: auto;
}

.rest-of-word span {
    display: block;
    line-height: 0.85;
    margin: 0;
}

/* CLEAN STROKE OUTLINE EFFECT */
.nav-highlight {
    position: relative;
    display: inline-block;
    z-index: 1;
    font-style: italic;
    color: #eebe65;
}

.nav-highlight a {
    text-decoration: none;
    color: inherit;
    display: inline-block;
    position: relative;
    transition: all 0.3s ease;
}

.nav-highlight a::after {
    content: attr(data-char);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    -webkit-text-stroke: 3px #ff9a00;
    text-stroke: 3px #ff9a00;
    opacity: 0;
    transition: all 0.3s ease;
    filter: drop-shadow(0 0 5px rgba(255, 154, 0, 0.8));
}

.nav-highlight:hover a::after {
    opacity: 1;
    animation: pulseOutline 1s ease infinite;
}

@keyframes pulseOutline {
    0%,
    100% {
        transform: scale(1);
        -webkit-text-stroke-width: 3px;
        text-stroke-width: 3px;
    }

    50% {
        transform: scale(1.05);
        -webkit-text-stroke-width: 4px;
        text-stroke-width: 4px;
    }
}

/* Mobile responsiveness */
@media (max-width: 100px) {
    .logo-nav {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.1rem 0.3rem;
        align-items: center;
        padding: 10px;
    }

    .logo-nav > span {
        margin: 0;
    }

    .suffix {
        display: flex;
        margin-top: 0;
    }

    .trigger:hover ~ .suffix > .static,
    .trigger:hover ~ .suffix > .alt {
        transform: none;
    }

    .rest-of-word {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        flex-direction: row;
        opacity: 1;
        font-size: 0.7em;
        margin-top: 0;
        gap: 0;
        display: inline-flex;
        z-index: 20;

        /* Ensure above image */
    }

    .static .expandable {
        display: inline-flex;
        align-items: baseline;
    }

    .static .expandable:hover .rest-of-word {
        transform: none;
    }

    .logo-image {
        width: min(25vmin, 150px);
        margin-top: 30px;
        z-index: 1;

        /* Below text */
    }

    /* Stack Butter and Logs vertically */
    .logo-nav > span:not(.suffix):not(.trigger) {
        display: inline-block;
    }

    .trigger {
        order: -1;
    }

    .suffix {
        width: 100%;
        justify-content: center;
        margin-top: 0.5rem;
    }
}

@media (max-width: 480px) {
    .logo-nav {
        font-size: clamp(2rem, 10vw, 4rem);
        gap: 0.1rem 0.2rem;
    }

    .rest-of-word {
        font-size: 0.6em;
    }

    .nav-highlight a::after {
        -webkit-text-stroke: 2px #ff9a00;
        text-stroke: 2px #ff9a00;
    }
}