@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Outfit:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Poppins', sans-serif;
/* background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='100%25' width='100%25'%3E%3Cdefs%3E%3Cpattern id='doodad' width='88' height='88' viewBox='0 0 40 40' patternUnits='userSpaceOnUse' patternTransform='rotate(286)'%3E%3Crect width='100%25' height='100%25' fill='rgba(247, 250, 252,1)'/%3E%3Ccircle cx='40' cy='20' r='0.25' fill='rgba(26, 32, 44,1)'/%3E%3Ccircle cx='0' cy='20' r='1' fill='rgba(66, 153, 225,1)'/%3E%3Ccircle cx='40' cy='20' r='1' fill='rgba(66, 153, 225,1)'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23doodad)' height='200%25' width='200%25'/%3E%3C/svg%3E ") */
}

/* ---- navbar ---- */
.navbar {
  position: fixed;
  display: flex;
  top: 0;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  padding: 10px 20px;
  z-index: 1000;
  background: transparent;
  transition: background 0.4s ease, box-shadow 0.4s ease;
}

.navbar .logo {
  height: 50px;
  padding-left: 10px;
}

.nav-links {
  display: flex;
  font-family: 'Poppins', sans-serif;
  list-style: none;
  gap: 16px;
}

.nav-links a {
  text-decoration: none;
  color: #fff;
  font-size: 15px;
  border-radius: 30px;
  padding: 8px 13px;
  transition: color 0.3s ease;
}

.nav-toggle {
  background: none;
  border: none;
  cursor: pointer;
  display: none;
  color: #161616;
  transition: color 0.4s ease;
}

.nav-toggle svg {
  fill: currentColor;
  transition: fill 0.4s ease;
}

@media (max-width: 768px) {
  .nav-toggle { display: block; }

  .nav-links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    flex-direction: column;
    padding: 12px 20px;
    background: #2F4156;
    z-index: 999;
  }

  .nav-links.open { display: flex; }

  .nav-links a {
    color: #fff !important;
    padding: 10px 0;
    border-bottom: 0.5px solid rgba(255,255,255,0.1);
  }

  .nav-links li:last-child a { border-bottom: none; }

  .navbar { border-radius: 0 0 16px 16px; }

  .nav-toggle { color: #fff; }
}

/* ---- landing ---- */
.landing {
  position: relative;
  z-index: 1;
  background-color: #090979;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:svgjs='http://svgjs.dev/svgjs' width='1440' height='560' preserveAspectRatio='none' viewBox='0 0 1440 560'%3e%3cg mask='url(%26quot%3b%23SvgjsMask1081%26quot%3b)' fill='none'%3e%3crect width='1440' height='560' x='0' y='0' fill='url(%26quot%3b%23SvgjsLinearGradient1082%26quot%3b)'%3e%3c/rect%3e%3cpath d='M1440 0L1263.19 0L1440 57.01z' fill='rgba(255%2c 255%2c 255%2c .1)'%3e%3c/path%3e%3cpath d='M1263.19 0L1440 57.01L1440 88.50999999999999L675.98 0z' fill='rgba(255%2c 255%2c 255%2c .075)'%3e%3c/path%3e%3cpath d='M675.98 0L1440 88.50999999999999L1440 128.94L647.15 0z' fill='rgba(255%2c 255%2c 255%2c .05)'%3e%3c/path%3e%3cpath d='M647.15 0L1440 128.94L1440 362.81L470.76 0z' fill='rgba(255%2c 255%2c 255%2c .025)'%3e%3c/path%3e%3cpath d='M0 560L30.83 560L0 335.87z' fill='rgba(0%2c 0%2c 0%2c .1)'%3e%3c/path%3e%3cpath d='M0 335.87L30.83 560L480.28 560L0 203.49z' fill='rgba(0%2c 0%2c 0%2c .075)'%3e%3c/path%3e%3cpath d='M0 203.49L480.28 560L933.15 560L0 122.08000000000001z' fill='rgba(0%2c 0%2c 0%2c .05)'%3e%3c/path%3e%3cpath d='M0 122.08000000000004L933.15 560L1033.73 560L0 35.36000000000004z' fill='rgba(0%2c 0%2c 0%2c .025)'%3e%3c/path%3e%3c/g%3e%3cdefs%3e%3cmask id='SvgjsMask1081'%3e%3crect width='1440' height='560' fill='white'%3e%3c/rect%3e%3c/mask%3e%3clinearGradient x1='84.72%25' y1='-39.29%25' x2='15.28%25' y2='139.29%25' gradientUnits='userSpaceOnUse' id='SvgjsLinearGradient1082'%3e%3cstop stop-color='%230e2a47' offset='0'%3e%3c/stop%3e%3cstop stop-color='rgba(0%2c 0%2c 0%2c 1)' offset='1'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e");
  background-attachment: fixed;
  background-size: cover;
  padding: 3rem;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.landing-content h1 {
  color: #fff;
  font-size: clamp(28px, 5vw, 48px);
  font-weight: 400;
  text-align: center;
}

/* ---- vision & mission ---- */
.vision-mission {
  padding: 5rem 2rem;
  background: #020024;
  /* background: linear-gradient(90deg, #020024 0%, #090979 35%, #2c8190 100%); */
  /* background-image: linear-gradient(to  bottom, #020024, #04013d, #3b3871, , #f8f8f8, #f6f6f6, #f3f3f3, #f1f1f1); */
  background-size: cover;

}

.vm-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  max-width: 900px;
  margin: 0 auto;
}

.vm-card {
  background: transparent;
  border: 0.5px solid #d0e8f0;
  border-radius: 16px;
  padding: 2.5rem 2rem;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.vm-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(86, 124, 141, 0.12);
}

.vm-icon {
  width: 64px;
  height: 64px;
  background: #e8f4f8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}

.vm-card h3 {
  font-size: 20px;
  font-weight: 500;
  color: #6082a9;
  margin-bottom: 1rem;
}

.vm-card p {
  font-size: 14px;
  font-weight: 300;
  color: #cdcdcd;
  line-height: 1.8;
}

@media (max-width: 600px) {
  .vm-grid { grid-template-columns: 1fr; }
}

/* ---- desc section ---- */
.desc {

  padding: 4rem 2rem;
  min-height: 70vh;
}

.desc-content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  max-width: 100%;
  padding: 5% 2rem;
  gap: 2rem;
}

.desc-content h1 {
  font-size: clamp(32px, 5vw, 75px);
  font-weight: 600;
  color: #2F4156;
  max-width: 600px;
  padding: 0 40px;
  writing-mode: vertical-lr;
  text-transform: uppercase;
}

.desc-content p {
  font-size: 14px;
  font-weight: 300;
  color: #555;
  line-height: 1.8;
  max-width: 460px;
}

.desc-content img {
  width: 100%;
  max-width: 500px;
  clip-path: polygon(75% 0%, 100% 50%, 75% 100%, 0% 100%, 25% 50%, 0% 0%);
  margin-left: 40px;
}

@media (max-width: 900px) {
  .desc-content {
    flex-direction: column;
    align-items: flex-start;
    padding: 3rem 1rem;
  }
  .desc-content h1 {
    writing-mode: horizontal-tb;
    font-size: clamp(28px, 6vw, 48px);
    padding: 0;
  }
  .desc-content img {
    margin-left: 0;
    clip-path: none;
    border-radius: 12px;
  }
}


/* ---- awards ---- */
.awards-section {
  padding: 6rem 2rem;
  background: #2F4156;
}

.awards-header {
  text-align: center;
  margin-bottom: 4rem;
}

.awards-sub {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 3px;
  color: rgba(255,255,255,0.5);
  margin-bottom: 8px;
}

.awards-header h1 {
  font-size: clamp(24px, 4vw, 40px);
  font-weight: 300;
  color: #fff;
  letter-spacing: -0.5px;
}

.awards-grid {
  display: flex;
  flex-direction: column;
  max-width: 900px;
  margin: 0 auto;
  gap: 0;
}

.award-card {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
  padding: 2.5rem 0;
  border-bottom: 0.5px solid rgba(255,255,255,0.1);
  transition: background 0.3s ease;
  cursor: default;
}

.award-card:first-of-type {
  border-top: 0.5px solid rgba(255,255,255,0.1);
}

.award-card:hover {
  padding-left: 1rem;
  border-bottom-color: rgba(255,255,255,0.3);
}

.award-number {
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 800;
  color: rgba(255,255,255,0.08);
  line-height: 1;
  min-width: 80px;
  transition: color 0.3s ease;
}

.award-card:hover .award-number {
  color: rgba(255,255,255,0.2);
}

.award-content {
  flex: 1;
  padding-top: 6px;
}

.award-content h3 {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 500;
  color: #fff;
  margin-bottom: 0.75rem;
  transition: color 0.3s ease;
}

.award-card:hover .award-content h3 {
  color: #87ddfe;
}

.award-content p {
  font-size: 14px;
  font-weight: 300;
  color: rgba(255,255,255,0.55);
  line-height: 1.75;
  max-width: 600px;
}

@media (max-width: 600px) {
  .award-card {
    flex-direction: column;
    gap: 0.75rem;
  }

  .award-number {
    font-size: 36px;
    min-width: unset;
  }
}



/* ---- president ---- */


.press {
  background: #fff;
  padding: 4rem 2rem;
}

.press-content {
  display: grid;
  grid-template-columns: 1fr 1fr;

  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 2rem;
  align-items: center;
}

.press-content h1 {
  font-size: clamp(20px, 2.5vw, 36px);
  font-weight: 700;
  color: #111;
  text-transform: uppercase;
  margin-bottom: 2rem;
  grid-column: 1;
}

.press-content p {
  font-size: 14px;
  font-weight: 300;
  color: #555;
  line-height: 1.8;
  max-width: 600px;
  grid-column: 1;
  margin-bottom: 1rem;
}

.press-content img {
  grid-column: 2;
  grid-row: 1 / 10;
  width: 100%;
  border-radius: 12px;
  transition: transform 0.5s ease;
  object-fit: cover;
}

.press-content img:hover {
  transform: scale(1.04);
}

@media (max-width: 768px) {
  .press-content {
    grid-template-columns: 1fr;
  }

  .press-content img {
    grid-column: 1;
    grid-row: auto;
    order: 1;
  }
}

/* ----Awards section ---- */
/* ---- gradient hero ---- */
/* .gradient-hero {
  position: relative;
  min-height: 100vh;
  background: linear-gradient(135deg, #ffff 0%, #7bd5ff 40%, #0492ff 70%, #ffffff 100%);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2rem 2.5rem;
} */
 .gradient-hero {
  position: relative;
  min-height: 70vh;
  background: linear-gradient(135deg, #1a2535 0%, #2F4156 40%, #3d6070 70%, #567C8D 100%);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2rem 2.5rem;
}

/* grain texture overlay */
.gradient-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  /* background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E"); */
  opacity: 0.25;
  pointer-events: none;
  z-index: 0;
}

.gradient-hero-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  z-index: 1;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.gradient-hero-top span {
  font-size: clamp(11px, 1.2vw, 13px);
  font-weight: 300;
  color: rgba(255,255,255,0.7);
  letter-spacing: 0.5px;
}

.gradient-hero-center {
  position: relative;
  z-index: 1;
  text-align: center;
}

.gradient-hero-sub {
  font-size: clamp(13px, 1.5vw, 16px);
  font-weight: 300;
  color: rgba(255,255,255,0.8);
  margin-bottom: 0.5rem;
}

.gradient-hero-desc {
  font-size: clamp(12px, 1.3vw, 14px);
  font-weight: 300;
  color: rgba(255,255,255,0.6);
  max-width: 400px;
  margin: 0 auto;
  line-height: 1.6;
}

.gradient-hero-title {
  position: relative;
  z-index: 1;
}

.gradient-hero-title h1 {
  font-size: clamp(60px, 14vw, 180px);
  font-weight: 800;
  line-height: 0.9;
  text-transform: uppercase;
  background: linear-gradient(
    135deg,
    rgba(255,255,255,0.9) 0%,
    rgba(255,255,255,0.4) 50%,
    rgba(255,255,255,0.8) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -2px;
}

@media (max-width: 768px) {
  .gradient-hero {
    padding: 1.5rem;
  }

  .gradient-hero-top {
    gap: 0.25rem;
  }

  .gradient-hero-top span {
    font-size: 11px;
  }

  .gradient-hero-title h1 {
    letter-spacing: -1px;
  }
}
/* ---- stats ---- */
.stats {
  padding: 5rem 2rem;

}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}

.stat-item h2 {
  font-size: clamp(32px, 5vw, 52px);
  font-weight: 300;
  color: #2b2929;
  margin-bottom: 8px;
}

.stat-item p {
  font-size: 13px;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.6);
  letter-spacing: 1px;
  text-transform: uppercase;
}

@media (max-width: 768px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 400px) {
  .stats-grid { grid-template-columns: 1fr; }
}

/* ---- whatwedo ---- */
.whatwedo {
  background: #d6f0f7;
}

.whatwedo-header {
  text-align: center;
  padding: 4rem 2rem 2rem;
  background: #f5f0eb;
}

.whatwedo-sub {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  color: #4db8cc;
  margin-bottom: 8px;
}

.whatwedo-header h1 {
  font-size: clamp(22px, 4vw, 32px);
  font-weight: 400;
  color: #111;
}

.whatwedo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem 2rem;
  max-width: 1100px;
  margin: 0 auto;
  padding: 4rem 2rem 5rem;
  text-align: center;
}

.whatwedo-item img {
  width: 70px;
  height: 70px;
  margin-bottom: 1rem;
  opacity: 0.7;
}

.whatwedo-item h3 {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 8px;
}

.whatwedo-item p {
  font-size: 14px;
  font-weight: 300;
  color: #444;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .whatwedo-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
  .whatwedo-grid { grid-template-columns: 1fr; }
}

/* ---- timeline ---- */
.timeline-section {
  min-height: 100vh;
  padding: 5rem 0;
  background: #fff;
  overflow: hidden;
}

.timeline-header {
  text-align: center;
  margin-bottom: 4rem;
  padding: 0 2rem;
}

.timeline-sub {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 2px;
  color: #567C8D;
  margin-bottom: 8px;
}

.timeline-header h1 {
  font-size: clamp(22px, 4vw, 32px);
  font-weight: 400;
  color: #2F4156;
}

.timeline-scroll {
  overflow-x: auto;
  padding: 0 4rem 2rem;
  scrollbar-width: none;
}

.timeline-scroll::-webkit-scrollbar { display: none; }

.timeline-track {
  display: flex;
  align-items: flex-start;
  position: relative;
  min-width: max-content;
  padding-top: 3rem;
}

.timeline-track::before {
  content: '';
  position: absolute;
  top: 3.45rem;
  left: 0; right: 0;
  height: 2px;
  background: #d0eef5;
  z-index: 0;
}

.timeline-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 220px;
  flex-shrink: 0;
  position: relative;
}

.timeline-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #567C8D;
  border: 3px solid #fff;
  outline: 2px solid #567C8D;
  z-index: 1;
  margin-bottom: 1rem;
  flex-shrink: 0;
  transition: background 0.3s ease, outline-color 0.3s ease;
}

.timeline-year {
  font-size: 13px;
  font-weight: 600;
  color: #567C8D;
  letter-spacing: 1px;
  margin-bottom: 0.75rem;
  transition: color 0.3s ease;
}

.timeline-card {
  background: #f0fafd;
  border-radius: 12px;
  padding: 1rem 1.25rem;
  width: 180px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: default;
}

.timeline-card h3 {
  font-size: 14px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 6px;
}

.timeline-card p {
  font-size: 13px;
  font-weight: 300;
  color: #555;
  line-height: 1.6;
}

.timeline-item:hover .timeline-card {
  transform: translateY(-8px);
  box-shadow: 0 12px 20px rgba(42, 96, 120, 0.3);
}

.timeline-item:hover .timeline-dot {
  background: #2F4156;
  outline-color: #2F4156;
}

.timeline-item:hover .timeline-year {
  color: #2F4156;
}

@media (max-width: 768px) {
  .timeline-scroll { padding: 0 1.5rem 2rem; }
}

/* ---- footer ---- */
.footer {
    background: linear-gradient(210deg, #020024 0%, #090979 35%);
  color: #fff;
  padding: 4rem 2rem 0;
  font-family: 'Poppins', sans-serif;
}

.footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 3rem;
  max-width: 1100px;
  margin: 0 auto;
  padding-bottom: 3rem;
  border-bottom: 0.5px solid rgba(255,255,255,0.1);
}

.footer-logo {
  height: 50px;
  margin-bottom: 1rem;
}

.footer-brand p {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.6);
  line-height: 1.7;
  max-width: 280px;
  margin-bottom: 1.5rem;
}

.footer-socials {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.footer-socials a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 0.5px solid rgba(255,255,255,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,0.7);
  transition: background 0.3s ease, color 0.3s ease;
}

.footer-socials a:hover {
  background: #567C8D;
  color: #fff;
  border-color: #567C8D;
}

.footer-links h4,
.footer-contact h4 {
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  margin-bottom: 1.25rem;
  letter-spacing: 0.5px;
}

.footer-links ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-links ul a {
  text-decoration: none;
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.6);
  transition: color 0.3s ease;
}

.footer-links ul a:hover { color: #fff; }

.footer-contact p {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.6);
  margin-bottom: 14px;
  line-height: 1.6;
}

.footer-contact svg {
  flex-shrink: 0;
  margin-top: 2px;
  opacity: 0.7;
}

.footer-bottom {
  text-align: center;
  padding: 1.25rem 0;
  font-size: 12px;
  font-weight: 300;
  color: rgba(255,255,255,0.4);
}

@media (max-width: 768px) {
  .footer-top {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .footer-brand p { max-width: 100%; }
}

/* ---- fade and slide animation ---- */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

.fade-in.from-left  { transform: translateX(-40px); }
.fade-in.from-right { transform: translateX(40px); }

.fade-in.from-left.visible,
.fade-in.from-right.visible { transform: translateX(0); }

.fade-in:nth-child(2) { transition-delay: 0.1s; }
.fade-in:nth-child(3) { transition-delay: 0.2s; }
.fade-in:nth-child(4) { transition-delay: 0.3s; }
.fade-in:nth-child(5) { transition-delay: 0.4s; }
.fade-in:nth-child(6) { transition-delay: 0.5s; }