:root {
  --orange: #ff8a00;
  --dark-orange: #e67600;
  --black: #000;
  --white: #fff;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: 'Poppins', sans-serif;
}

body {
  background: var(--white);
  color: var(--black);
  line-height: 1.6;
}

a { text-decoration: none; color: inherit; }
section { padding: 100px 40px; max-width: 1200px; margin: auto; }

/* TOP BAR */
.top-bar {
  display:flex;
  justify-content:flex-end;
  gap:20px;
  padding:6px 40px;
  font-size:14px;
  background:#f7f7f7;
}

.top-bar a:hover { color: var(--orange); }

/* HEADER */
header {
  position:sticky;
  top:0;
  z-index:1000;
  background:#fff;
  border-bottom:1px solid #eee;
}

.nav {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:20px 40px;
}

nav ul {
  list-style:none;
  display:flex;
  gap:30px;
}

nav a {
  color:var(--orange);
  border-bottom:2px solid transparent;
  transition:.3s;
}

nav a:hover {
  color:var(--dark-orange);
  border-color:var(--dark-orange);
}

/* HAMBURGER */
.hamburger {
  display:none;
  flex-direction:column;
  cursor:pointer;
  gap:5px;
}

.hamburger span {
  width:25px;
  height:3px;
  background:var(--orange);
  transition:0.3s;
}

/* MOBILE NAV */
@media (max-width:768px){

  .hamburger { display:flex; }

  nav {
    position:fixed;
    top:0;
    right:-100%;
    height:100vh;
    width:250px;
    background:#fff;
    box-shadow:-5px 0 20px rgba(0,0,0,0.1);
    transition:0.4s ease;
    padding-top:100px;
  }

  nav.active { right:0; }

  .nav-links {
    display:flex;
    flex-direction:column;
    gap:30px;
    padding-left:40px;
  }

  .hamburger.active span:nth-child(1){
    transform:rotate(45deg) translate(5px,5px);
  }

  .hamburger.active span:nth-child(2){
    opacity:0;
  }

  .hamburger.active span:nth-child(3){
    transform:rotate(-45deg) translate(6px,-6px);
  }

  .caption { font-size:clamp(0.8rem,1.5vw,1rem); }
}

/* HERO SLIDER */
.slider { position:relative; width:100%; height:90vh; overflow:hidden; }
.slides { display:flex; transition:transform 0.8s ease-in-out; height:100%; }
.slide { min-width:100%; position:relative; height:100%; }
.slide img { width:100%; height:100%; object-fit:cover; }

.caption {
  position:absolute;
  bottom:15%;
  left:50%;
  transform:translateX(-50%);
  color:#fff;
  font-size:clamp(1.5rem,3vw,2rem);
  font-weight:600;
  background:rgba(0,0,0,0.4);
  padding:8px 16px;
  border-radius:10px;
  text-align:center;
  white-space:nowrap;
}

.caption span {
  display:inline-block;
  opacity:0;
  transform:translateY(20px);
  margin-right:0.25em;
}

.arrow {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  font-size:2rem;
  color:var(--orange);
  background:none;
  border:none;
  padding:10px;
  cursor:pointer;
  opacity:0;
  transition:opacity 0.3s;
}

.arrow-left { left:20px; }
.arrow-right { right:20px; }
.slider:hover .arrow { opacity:1; }

@media(max-width:768px){ .caption{ font-size:clamp(0.8rem,1.5vw,1.0rem); } }

/* Mission & Vision Styling */
.mv-box {
  text-align: center;
  padding: 20px;
}

.mv-icon {
  font-size: 50px;
  color: var(--orange);
  margin-bottom: 20px;
  animation: floatIcon 3s ease-in-out infinite;
}

/* Subtle floating animation */
@keyframes floatIcon {
  0% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0); }
}


/* Slight hover emphasis */
.mv-box:hover .mv-icon {
  transform: scale(1.1);
  transition: 0.3s ease;
}

/* SECTIONS */
.brand { text-align:center; padding:120px 40px; }
.brand h2 { font-size:clamp(2rem,4vw,3.5rem); color:var(--orange); }

.two-col {
  display:grid;
  text-align:center;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:60px;
}

.two-col h3 { color:var(--orange); }

.services {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:40px;
  text-align:center;
}

.service-card {
  padding:40px;
  border:1px solid #eee;
  transition:.3s;
  cursor:pointer;
}

.service-card:hover {
  transform:translateY(-8px);
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.team-track {
  display:flex;
  gap:30px;
  overflow-x:auto;
}

.member {
  min-width:300px;
  border:1px solid #eee;
  padding:20px;
  text-align:justify;
}

.newsletter {
  text-align:center;
  padding:80px 40px;
  background:#f9f9f9;
}

.newsletter h2 { color:var(--orange); }

.newsletter input {
  padding:12px;
  margin:10px;
  width:250px;
}

.newsletter button {
  padding:12px 30px;
  background:var(--orange);
  border:none;
  color:#fff;
  cursor:pointer;
  transition:.3s;
}

.newsletter button:hover { background:var(--dark-orange); }

footer {
  background:#000;
  color:#fff;
  padding:80px 40px;
}

.footer-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:40px;
}

.reveal {
  opacity:0;
  transform:translateY(30px);
  transition:1s;
  text-align:center;
}

.reveal.active {
  opacity:1;
  transform:none;
}