/* Texture overlay */
.royal-texture {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-image: radial-gradient(rgba(223, 177, 91, 0.04) 1px, transparent 0);
    background-size: 28px 28px;
    pointer-events: none;
    z-index: 1;
}

/* Astrolabe Rotational Outer Ring */
.astrolabe-ring {
    animation: spinDial 120s linear infinite;
}

@keyframes spinDial {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Astrolabe SVG Styles */
.wheel-svg {
    transform-origin: center center;
    transition: transform 0.9s cubic-bezier(0.19, 1, 0.22, 1);
}

.wheel-slice {
    cursor: pointer;
    transition: filter 0.3s, opacity 0.3s;
}

.wheel-slice:hover {
    filter: brightness(1.3);
    opacity: 0.95;
}

.slice-text {
    font-family: 'Cinzel', serif;
    font-size: 9.5px;
    letter-spacing: 1px;
    font-weight: 700;
    pointer-events: none;
    user-select: none;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.95);
}

/* Nav Link Hover Diamonds */
.nav-link {
    position: relative;
}

.nav-link::after {
    content: '◆';
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%) scale(0);
    color: #dfb15b;
    font-size: 0.5rem;
    transition: transform 0.3s ease;
}

.nav-link:hover::after {
    transform: translateX(-50%) scale(1);
}

/* WhatsApp Pulse Animation */
.whatsapp-pulse {
    animation: royalPulse 2.4s infinite;
}

@keyframes royalPulse {
    0% {
        transform: scale(0.96);
        opacity: 0.8;
    }
    50% {
        transform: scale(1.08);
        opacity: 0;
    }
    100% {
        transform: scale(1.12);
        opacity: 0;
    }
}

/* Scroll Reveal States */
.reveal {
    opacity: 0;
    transform: translateY(35px);
    transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}