:root {
    --walnut: #3D2B1F;
    --oak: #A07855;
    --gold: #C5A059;
    --cream: #FDFBF7;
    --gold-glow: rgba(197, 160, 89, 0.4);
    --shadow-deep: 0 25px 50px -12px rgba(61, 43, 31, 0.25);
}

/* Custom Tailwind Helpers */
.bg-walnut { background-color: var(--walnut); }
.bg-gold { background-color: var(--gold); }
.text-gold { color: var(--gold); }
.text-walnut { color: var(--walnut); }
.border-gold { border-color: var(--gold); }

/* Wood Gradients */
.bg-walnut-grad {
    background: linear-gradient(135deg, #3D2B1F 0%, #2D1B0F 100%);
}
.bg-oak-grad {
    background: linear-gradient(135deg, #A07855 0%, #825E3F 100%);
}
.bg-gold-grad {
    background: linear-gradient(135deg, #C5A059 0%, #A67C37 100%);
}

.grad-text-gold {
    background: linear-gradient(135deg, #C5A059 0%, #E2C799 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Shadows & Depth */
.shadow-premium {
    box-shadow: 0 10px 30px -5px rgba(61, 43, 31, 0.08), 0 4px 10px -4px rgba(61, 43, 31, 0.05);
}

html {
    scroll-behavior: auto; /* Handled by GSAP for better experience */
}

body {
    overflow-x: hidden;
    background-color: var(--cream);
    selection-background: var(--gold);
    selection-color: var(--walnut);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 12px;
}
::-webkit-scrollbar-track {
    background: var(--walnut);
}
::-webkit-scrollbar-thumb {
    background: var(--gold);
    border-radius: 10px;
    border: 3px solid var(--walnut);
}

/* Nav Link Hover */
.nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    right: 0;
    width: 0;
    height: 2px;
    background: var(--gold);
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.nav-link:hover::after {
    width: 100%;
}

/* Button Glow Effect */
.btn-glow {
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease;
}
.btn-glow:hover {
    box-shadow: 0 0 25px var(--gold-glow);
    transform: translateY(-2px);
    filter: brightness(1.1);
}

/* Hero Elements Initial State */
.hero-el {
    transform: translateY(30px);
}

/* Service Card Hover */
.service-card {
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.service-card:hover {
    transform: translateY(-12px) !important;
    box-shadow: var(--shadow-deep);
    border-color: rgba(197, 160, 89, 0.3);
}

/* WhatsApp Pulse Effect */
.whatsapp-pulse {
    animation: pulse-green 2s infinite;
    z-index: -1;
    opacity: 0.6;
}

@keyframes pulse-green {
    0% { transform: scale(1); opacity: 0.8; }
    100% { transform: scale(2.4); opacity: 0; }
}

#whatsapp-float:hover {
    transform: scale(1.15) rotate(5deg);
    box-shadow: 0 20px 40px rgba(37, 211, 102, 0.3);
}

/* Mobile Menu Links */
.mobile-link {
    @apply text-xl font-black py-4 border-b border-gold/10 hover:text-gold transition-colors flex justify-between items-center;
}
.mobile-link::after {
    content: '←';
    font-size: 1.2rem;
    opacity: 0.5;
}

/* Counter Font Styling */
.counter {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
}

/* Visual elements */
.about-visual img {
    mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
}

footer a {
    transition: all 0.3s ease;
}

footer a:hover {
    padding-right: 5px;
}
