/* ===== ANIMATIONS ===== */

@keyframes fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes fade-in-up {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes bounce-slow {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(6px); }
}

.animate-fade-in {
    animation: fade-in 1s ease-out both;
}

.animate-fade-in-up {
    animation: fade-in-up 1s ease-out both;
}

.animate-bounce-slow {
    animation: bounce-slow 2s ease-in-out infinite;
}

.delay-200 { animation-delay: 0.2s; }
.delay-300 { animation-delay: 0.3s; }
.delay-400 { animation-delay: 0.4s; }

/* ===== SCROLL REVEAL ===== */

.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

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

.reveal:nth-child(2) { transition-delay: 0.15s; }
.reveal:nth-child(3) { transition-delay: 0.3s; }
.reveal:nth-child(4) { transition-delay: 0.45s; }

/* ===== NAVBAR ===== */

.nav-link {
    color: rgba(255, 255, 255, 0.85);
}

.nav-link:hover {
    color: #fff;
}

.nav-scrolled .nav-link {
    color: #3B3025;
}

.nav-scrolled .nav-link:hover {
    color: #C9A97A;
}

.nav-scrolled .nav-brand {
    color: #3B3025;
}

.nav-scrolled {
    background: rgba(255, 253, 249, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 1px 3px rgba(59, 48, 37, 0.08);
}

/* ===== SUN ICON (CSS-drawn) ===== */

.sun-icon,
.sun-icon-large,
.sun-icon-footer {
    position: relative;
}

.sun-icon::before,
.sun-icon-large::before,
.sun-icon-footer::before {
    content: '';
    position: absolute;
    inset: 0;
    background: conic-gradient(
        from 0deg,
        #C9A97A 0deg,
        transparent 15deg,
        transparent 25deg,
        #C9A97A 25deg,
        transparent 40deg,
        transparent 50deg,
        #C9A97A 50deg,
        transparent 65deg,
        transparent 75deg,
        #C9A97A 75deg,
        transparent 90deg,
        transparent 100deg,
        #C9A97A 100deg,
        transparent 115deg,
        transparent 125deg,
        #C9A97A 125deg,
        transparent 140deg,
        transparent 150deg,
        #C9A97A 150deg,
        transparent 165deg,
        transparent 175deg,
        #C9A97A 175deg,
        transparent 190deg
    );
    mask-image: radial-gradient(circle, transparent 30%, black 32%);
    -webkit-mask-image: radial-gradient(circle, transparent 30%, black 32%);
    border-radius: 50%;
    opacity: 0.8;
}

.sun-icon::after,
.sun-icon-large::after,
.sun-icon-footer::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30%;
    height: 30%;
    background: #C9A97A;
    border-radius: 50%;
}

.sun-icon-large {
    width: 80px;
    height: 80px;
}

.sun-icon-large::before {
    opacity: 0.6;
}

.sun-icon-large::after {
    background: rgba(201, 169, 122, 0.6);
}

/* ===== TESTIMONIAL SLIDER ===== */

.testimonial-slide {
    animation: slide-fade-in 0.5s ease-out;
}

@keyframes slide-fade-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ===== SCROLLBAR ===== */

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #FBF8F4;
}

::-webkit-scrollbar-thumb {
    background: #CDAF82;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #B8935E;
}

/* ===== SELECTION ===== */

::selection {
    background: #EBDBC7;
    color: #3B3025;
}
