/* ============ BASE ============ */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; -webkit-font-smoothing: antialiased; }

/* ============ NAVBAR ============ */
#navbar { background: transparent; }
#navbar.scrolled {
    background: rgba(255, 248, 240, 0.95);
    backdrop-filter: blur(12px);
    box-shadow: 0 1px 20px rgba(0,0,0,0.08);
}

/* ============ HERO SHAPES ============ */
.hero-shape {
    animation: floatShape 8s ease-in-out infinite;
}
.hero-shape:nth-child(2) { animation-delay: -2s; animation-duration: 10s; }
.hero-shape:nth-child(3) { animation-delay: -4s; animation-duration: 7s; }
.hero-shape:nth-child(4) { animation-delay: -1s; animation-duration: 12s; }
.hero-shape:nth-child(5) { animation-delay: -3s; animation-duration: 9s; }

@keyframes floatShape {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(3deg); }
}

/* ============ FLOATING CARDS ============ */
.animate-float {
    animation: floatCard 4s ease-in-out infinite;
}
.animate-float-delayed {
    animation: floatCard 4s ease-in-out infinite;
    animation-delay: -2s;
}

@keyframes floatCard {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* ============ SERVICE CARDS ============ */
.service-card {
    opacity: 1;
    transform: translateY(0);
}
.service-card.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.service-card.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ============ GALLERY ============ */
.gallery-item {
    opacity: 1;
    transform: scale(1);
}
.gallery-item.reveal {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.gallery-item.reveal.visible {
    opacity: 1;
    transform: scale(1);
}

/* ============ TESTIMONIALS ============ */
.testimonial-card {
    opacity: 1;
    transform: translateY(0);
}
.testimonial-card.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}
.testimonial-card.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ============ MOBILE MENU ============ */
.mobile-link { transition: color 0.2s; }
.mobile-link:hover { color: #c74612; }

/* Hamburger animation */
#menu-toggle.active .bar:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}
#menu-toggle.active .bar:nth-child(2) {
    opacity: 0;
}
#menu-toggle.active .bar:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* ============ SCROLL REVEAL (progressive enhancement) ============ */
@media (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.6s ease, transform 0.6s ease;
    }
    .reveal.visible {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ============ RESPONSIVE ============ */
@media (max-width: 768px) {
    #hero h1 { font-size: 2.75rem; }
    .hero-shape { display: none; }
}
