*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;color:#1A1A1A;background:#fff}
.font-serif{font-family:'Playfair Display',Georgia,serif}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:#0B1D3A}
::-webkit-scrollbar-thumb{background:#C8A951;border-radius:4px}
.page-section{display:none}
.page-section.active{display:block}

/* Scrolling banners */
@keyframes scroll-banner{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.scroll-track{display:flex;align-items:center;animation:scroll-banner 25s linear infinite;width:max-content}
.scroll-track:hover{animation-play-state:paused}
.scroll-track-slow{animation-duration:35s}

/* Carousel */
@keyframes scroll-left{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.carousel-track{display:flex;animation:scroll-left 40s linear infinite;width:max-content}
.carousel-track:hover{animation-play-state:paused}

/* Fade up */
.fade-up{opacity:0;transform:translateY(40px);transition:opacity 0.7s cubic-bezier(.25,.8,.25,1),transform 0.7s cubic-bezier(.25,.8,.25,1)}
.fade-up.visible{opacity:1;transform:translateY(0)}
.fade-left{opacity:0;transform:translateX(-50px);transition:opacity 0.7s cubic-bezier(.25,.8,.25,1),transform 0.7s cubic-bezier(.25,.8,.25,1)}
.fade-left.visible{opacity:1;transform:translateX(0)}
.fade-right{opacity:0;transform:translateX(50px);transition:opacity 0.7s cubic-bezier(.25,.8,.25,1),transform 0.7s cubic-bezier(.25,.8,.25,1)}
.fade-right.visible{opacity:1;transform:translateX(0)}
.scale-in{opacity:0;transform:scale(0.9);transition:opacity 0.6s,transform 0.6s cubic-bezier(.25,.8,.25,1)}
.scale-in.visible{opacity:1;transform:scale(1)}
.stagger-1{transition-delay:0.1s}
.stagger-2{transition-delay:0.2s}
.stagger-3{transition-delay:0.3s}
.stagger-4{transition-delay:0.4s}
.stagger-5{transition-delay:0.5s}
.stagger-6{transition-delay:0.6s}

/* Parallax subtle */
.parallax-slow{transition:transform 0.1s linear}

/* Glowing border on hover */
.glow-hover{transition:all 0.4s}
.glow-hover:hover{box-shadow:0 0 30px rgba(200,169,81,0.15),0 20px 60px rgba(0,0,0,0.08)}

/* Counter animation */
@keyframes countUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.count-anim{animation:countUp 0.8s cubic-bezier(.25,.8,.25,1) forwards}

/* Vendor card stagger */
.vendor-card{opacity:0;transform:translateY(20px);transition:all 0.4s cubic-bezier(.25,.8,.25,1)}
.vendor-card.visible{opacity:1;transform:translateY(0)}
.testi-slide{transition:opacity 0.5s ease}

/* Smooth page transitions */
.page-section{animation:pageIn 0.4s ease}
@keyframes pageIn{from{opacity:0}to{opacity:1}}

/* Service card hover */
.svc-card img{transition:transform 0.6s cubic-bezier(.25,.8,.25,1)}
.svc-card:hover img{transform:scale(1.08)}

/* Project card hover */
.proj-card img{transition:transform 0.6s cubic-bezier(.25,.8,.25,1)}
.proj-card:hover img{transform:scale(1.06)}
.proj-card .proj-overlay{opacity:0;transition:opacity 0.4s}
.proj-card:hover .proj-overlay{opacity:1}