:root{
    --bg: #121212;
    --fg: #fff;
}

*, *::before, *::after {
    box-sizing: border-box;
}

html,body{
    height: 100%;
    margin: 0;
}
body{
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg);
    color: var(--fg);
    font-family: Arial, sans-serif;
    padding: 2rem;
}

.site-header{
    display: flex;
    align-items: center;
    gap: 1.25rem;
    max-width: 1100px;
    margin: 0 auto;
    justify-content: center;
}

.logo-wrap{
    flex: 0 0 auto;
    display: inline-block;
    border-radius: 8px;
    overflow: hidden;
}

.logo{
    display: block;
    width: clamp(72px, 18vw, 240px);
    height: auto;
    transition: transform 280ms cubic-bezier(.2,.9,.2,1);
    transform-origin: center center;
    will-change: transform;
}

.logo-wrap:hover .logo,
.logo:focus{
    transform: scale(1.12);
}

.titles{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.25rem;
    align-items: center;
}

.site-title{
    font-family: 'Oswald', "Jersey 15", serif;
    font-weight: 600;
    margin: 0;
    line-height: 1;
    font-size: clamp(2.4rem, 8vw, 8rem);
}

.site-title{
    position: relative;
    overflow: hidden;
    cursor: default;
}

.site-title::before{
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent, var(--bg), transparent);
    transform: translateX(-100%);
    transition: transform 0.5s ease-in-out;
    pointer-events: none;
}

.site-title:hover::before{
    transform: translateX(100%);
}

.site-sub{
    margin:0;
    font-family: "Courier New", Courier, monospace;
    font-weight: 400;
    font-size: clamp(1rem, 2.2vw, 1.6rem);
    opacity: 0.9;
}

@media (max-width:600px){
    .site-header{
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .titles{align-items: center}
}

@media (prefers-reduced-motion: reduce){
    .logo{transition: none}
}