* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; }
.font-display { font-family: 'Playfair Display', serif; }
.nav-link { position: relative; }
.nav-link::after {
    content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px;
    background: #d97706; transition: width 0.3s ease;
}
.nav-link:hover::after { width: 100%; }
.fade-in { opacity: 0; transform: translateY(30px); transition: opacity 0.8s ease, transform 0.8s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
.slide-left { opacity: 0; transform: translateX(-40px); transition: opacity 0.8s ease, transform 0.8s ease; }
.slide-left.visible { opacity: 1; transform: translateX(0); }
.slide-right { opacity: 0; transform: translateX(40px); transition: opacity 0.8s ease, transform 0.8s ease; }
.slide-right.visible { opacity: 1; transform: translateX(0); }
.btn-primary {
    background: linear-gradient(135deg, #d97706, #b45309);
    transition: all 0.3s ease;
}
.btn-primary:hover {
    background: linear-gradient(135deg, #b45309, #92400e);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(217, 119, 6, 0.4);
}
.img-zoom { overflow: hidden; }
.img-zoom img { transition: transform 0.6s ease; }
.img-zoom:hover img { transform: scale(1.08); }
.feature-icon {
    width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
    border-radius: 50%; background: #fffbeb; color: #d97706; flex-shrink: 0;
}
.mobile-menu {
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.mobile-menu.open { transform: translateX(0); }
.overlay { opacity: 0; pointer-events: none; transition: opacity 0.4s ease; }
.overlay.active { opacity: 1; pointer-events: auto; }
input:focus { outline: none; }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #1c1917; }
::-webkit-scrollbar-thumb { background: #d97706; border-radius: 4px; }
