/* Scroll line animation */
.scroll-line {
    width: 1px;
    height: 100%;
    background: linear-gradient(to bottom, #D4A84B, transparent);
    animation: scrollDown 1.8s ease-in-out infinite;
    transform-origin: top;
}
@keyframes scrollDown {
    0% { transform: scaleY(0); transform-origin: top; }
    50% { transform: scaleY(1); transform-origin: top; }
    51% { transform-origin: bottom; }
    100% { transform: scaleY(0); transform-origin: bottom; }
}

/* Hamburger animation */
.menu-line { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
#menu-btn.active .menu-line:nth-child(1) { transform: rotate(45deg) translate(3px, 3px); }
#menu-btn.active .menu-line:nth-child(2) { opacity: 0; }
#menu-btn.active .menu-line:nth-child(3) { transform: rotate(-45deg) translate(3px, -3px); width: 6px; }

/* Mobile menu link hover */
.mobile-link { transition: color 0.3s ease; }

/* Image clip-path fallback for browsers that don't support it well */
@supports not (clip-path: polygon(0 0, 100% 3%, 100% 100%, 3% 100%, 0 97%)) {
    .reveal img { border-radius: 2px; }
}

/* Smooth focus outlines */
a:focus-visible, button:focus-visible {
    outline: 2px solid #D4A84B;
    outline-offset: 4px;
    border-radius: 2px;
}

/* Selection color */
::selection {
    background: rgba(212, 168, 75, 0.3);
    color: #E8E6E3;
}
