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

html { scroll-behavior: smooth; }

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.gold-line {
    position: relative;
    display: inline-block;
}
.gold-line::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, #D4A843, transparent);
}

.marquee-track {
    animation: marquee 30s linear infinite;
}
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

#site-header.scrolled {
    background: rgba(3, 7, 20, 0.92);
    backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}

#mobile-menu.open {
    transform: translateX(0);
}

#mobile-menu.close {
    transform: translateX(100%);
}

#mobile-menu .mobile-link {
    font-size: 1.5rem;
    letter-spacing: 0.02em;
}

#back-to-top.show {
    opacity: 1;
    pointer-events: auto;
}

@media (max-width: 767px) {
    #hero h1 {
        font-size: 3rem;
    }
    #hero h1 span {
        font-size: 2.8rem;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    #hero h1 {
        font-size: 4rem;
    }
}

::selection {
    background: rgba(201, 152, 46, 0.3);
    color: #fff;
}

img {
    max-width: 100%;
    height: auto;
}
