:root {
  --primary:#1abc9c;
  --bg:#fff;
  --text:#222;
  --card:#f8f9fa;
}

body.dark-mode {
  --bg:#0f172a;
  --text:#eee;
  --card:#1e293b;
}

body {
  font-family:'Montserrat',sans-serif;
  background:var(--bg);
  color:var(--text);
}

/* PRELOADER */
#preloader {
position:fixed;inset:0;background:#000;
display:flex;justify-content:center;align-items:center;
z-index:9999;
}
.loader-inner span {
color:#1abc9c;font-size:40px;
animation:bounce 1s infinite;
}
@keyframes bounce {
0%,100%{transform:translateY(0)}
50%{transform:translateY(-10px)}
}

/* NAV */
nav.scrolled { background:rgba(0,0,0,.85); }

/* HERO */
.hero-slide {
height:100vh;
background-size:cover;
background-position:center;
position:relative;
}
.overlay {
position:absolute;inset:0;background:rgba(0,0,0,.6);
}

/* SECTION */
section { padding:80px 0; }

/* FEATURES */
.feature-card {
background:var(--card);
padding:30px;
transition:.3s;
}
.feature-card:hover { transform:translateY(-10px); }

/* WORK */
.work-item { position:relative;cursor:pointer;overflow:hidden; }
.work-item img { width:100%;transition:.4s; }
.work-item:hover img { transform:scale(1.1); }
.work-item .overlay {
opacity:0;display:flex;align-items:center;
justify-content:center;color:#fff;
}
.work-item:hover .overlay { opacity:1; }

/* TEAM */
.team-card { position:relative; }
.team-overlay {
position:absolute;inset:0;background:rgba(0,0,0,.7);
opacity:0;display:flex;flex-direction:column;
justify-content:center;align-items:center;
color:#fff;transition:.4s;
}
.team-card:hover .team-overlay { opacity:1; }

.social i {
margin:0 8px;
opacity:0;
transform:translateY(20px);
transition:.4s;
}
.team-card:hover .social i {
opacity:1;
transform:translateY(0);
}
.social i:hover { color:var(--primary); }

/* BACK TOP */
#backToTop {
position:fixed;
bottom:30px;
right:30px;
display:none;
border-radius:50%;
}