/* =====================

   RESET & BASE

===================== */

* {

  margin: 0;

  padding: 0;

  box-sizing: border-box;

}

body {

  font-family: Arial, sans-serif;

  line-height: 1.6;

  color: #222;

  background: #ffffff;

}



/* =====================

   NAVBAR (Dark Blue)

===================== */

header {

  position: fixed;

  width: 100%;

  top: 0;

  background: #15333a;

  box-shadow: 0 2px 8px rgba(21, 51, 58, 0.5);

  z-index: 999;

  transition: background 0.3s ease-in-out;

}

header.scrolled {

  background: rgba(21, 51, 58, 0.95);

  backdrop-filter: blur(8px);

}

.navbar {

  display: flex;

  justify-content: space-between;

  align-items: center;

  padding: 0px 10%;

}

.logo img {

  max-height: 90px;

  width: auto;

  transition: transform 0.3s ease;

}

.logo img:hover {

  transform: scale(1.08);

}

.nav-links {

  display: flex;

  list-style: none;

  gap: 25px;

}

.nav-links a {

  text-decoration: none;

  color: #ffffff;

  font-weight: 500;

  padding: 8px 16px;

  border-radius: 6px;

  transition: all 0.3s ease;

}

.nav-links a:hover {

  background: #334146;

  box-shadow: 0 4px 12px rgba(51, 65, 70, 0.4);

  transform: translateY(-2px);

}

.nav-links a.active {

  background: #47606a;

  color: #fff;

  box-shadow: 0 4px 12px rgba(71, 96, 106, 0.5);

}

.nav-links .btn {

  background: linear-gradient(135deg, #15333a, #47606a);

  color: #fff !important;

  padding: 10px 24px;

  border-radius: 25px;

  font-weight: 600;

  text-decoration: none;

  transition: all 0.3s ease;

  box-shadow: 0 4px 10px rgba(21, 51, 58, 0.4);

  animation: pulseBtn 1.8s infinite ease-in-out;

}

.nav-links .btn:hover {

  background: linear-gradient(135deg, #47606a, #15333a);

  transform: translateY(-2px) scale(1.05);

  box-shadow: 0 6px 15px rgba(51, 65, 70, 0.5);

  animation: none;

}

@keyframes pulseBtn {

  0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(71, 96, 106, 0.6); }

  50% { transform: scale(1.08); box-shadow: 0 0 15px 5px rgba(94, 123, 135, 0.4); }

  100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(71, 96, 106, 0.6); }

}

.hamburger {

  display: none;

  cursor: pointer;

  font-size: 1.5rem;

  color: #fff;

}





/* ================================

   🌈 NAVIGATION HOVER GRADIENT

================================ */

.navbar a {

  position: relative;

  display: inline-block;

  padding: 8px 14px;

  color: #fff;

  text-decoration: none;

  font-weight: 500;

  transition: color 0.3s ease;

  z-index: 1;

}



.navbar a::before {

  content: '';

  position: absolute;

  inset: 0;

  border-radius: 8px;

  background: linear-gradient(135deg, #5ee7df, #b490ca);

  opacity: 0;

  transform: scaleX(0.6);

  transform-origin: center;

  transition: all 0.4s ease;

  z-index: -1;

}



.navbar a:hover::before {

  opacity: 1;

  transform: scaleX(1);

}



.navbar a:hover {

  color: #fff;

}



/* Active Link Style */

.navbar a.active::before {

  opacity: 1;

  transform: scaleX(1);

  background: linear-gradient(135deg, #6ee7b7, #3b82f6);

}



.navbar a.active {

  font-weight: 600;

  color: #fff;

}



.navbar .nav-link {

  position: relative;

  display: inline-block;

  padding: 8px 14px;

  color: #fff;

  text-decoration: none;

  font-weight: 500;

  transition: color 0.3s ease;

  z-index: 1;

}



.navbar .nav-link::before {

  content: '';

  position: absolute;

  inset: 0;

  border-radius: 8px;

  background: linear-gradient(135deg, #5ee7df, #b490ca);

  opacity: 0;

  transform: scaleX(0.6);

  transform-origin: center;

  transition: all 0.4s ease;

  z-index: -1;

}



.navbar .nav-link:hover::before {

  opacity: 1;

  transform: scaleX(1);

}



.navbar .nav-link:hover {

  color: #fff;

}



/* ✅ ACTIVE LINK */

.navbar .nav-link.active::before {

  opacity: 1;

  transform: scaleX(1);

  background: linear-gradient(135deg, #6ee7b7, #3b82f6);

}



.navbar .nav-link.active {

  font-weight: 600;

  color: #fff;

}







/* =====================

   HERO SECTION (Dark Animated)

===================== */

.hero {

  height: 100vh;

  background: linear-gradient(135deg, #15333a, #334146, #47606a);

  background-size: 300% 300%;

  animation: gradientShift 10s ease infinite;

  display: flex;

  justify-content: center;

  align-items: center;

  text-align: center;

  padding: 0 20px;

  overflow: hidden;

  color: #ffffff;

}

@keyframes gradientShift {

  0% { background-position: 0% 50%; }

  50% { background-position: 100% 50%; }

  100% { background-position: 0% 50%; }

}

.hero h1 {

  font-size: 3rem;

  color: #ffffff;

  font-weight: 700;

  animation: fadeSlide 2s ease forwards;

}

.hero h1 span {

  color: #5e7b87;

}

@keyframes fadeSlide {

  0% { opacity: 0; transform: translateY(-30px); }

  100% { opacity: 1; transform: translateY(0); }

}

.hero p {

  margin: 20px 0;

  color: #e0e0e0;

  font-size: 1.1rem;

  opacity: 0;

  transform: translateX(-40px);

  transition: all 1s ease;

}

.hero p.visible {

  opacity: 1;

  transform: translateX(0);

}

.hero-buttons .btn {

  background: linear-gradient(135deg, #334146, #47606a);

  color: #fff;

  border-radius: 30px;

  padding: 12px 28px;

  font-weight: bold;

  text-decoration: none;

  animation: pulseBtn 1.8s infinite ease-in-out;

  transition: transform 0.3s ease;

}

.hero-buttons .btn:hover {

  background: linear-gradient(135deg, #47606a, #334146);

  transform: scale(1.05);

}



/* Hero subtext animation */

#hero-subtext.animate {

  opacity: 1;

  animation: fadeSlideSub 3s infinite;

}

@keyframes fadeSlideSub {

  0% { transform: translateX(-20px); opacity: 0.5; }

  50% { transform: translateX(20px); opacity: 1; }

  100% { transform: translateX(-20px); opacity: 0.5; }

}



/* Particles canvas */

#particles {

  position: absolute;

  top: 0; left: 0;

  width: 100%; height: 100%;

  z-index: 0;

}

.hero-content {

  position: relative;

  z-index: 1;

}









/* =====================

   🧭 BUTTONS (Global)

===================== */

.btn-service {

  background: linear-gradient(135deg, #15333a, #47606a);

  color: #fff;

  padding: 12px 28px;

  border-radius: 30px;

  font-weight: bold;

  text-decoration: none;

  display: inline-flex;

  align-items: center;

  gap: 8px;

  transition: all 0.4s ease;

  box-shadow: 0 4px 10px rgba(0,0,0,0.2);

}

.btn-service:hover {

  background: linear-gradient(135deg, #47606a, #15333a);

  transform: scale(1.05);

  box-shadow: 0 6px 15px rgba(0,0,0,0.3);

}



.btn-contact {

  border: 2px solid #47606a;

  padding: 12px 28px;

  border-radius: 30px;

  font-weight: bold;

  text-decoration: none;

  color: #fbfeff66;

  margin-left: 10px;

  transition: all 0.3s ease;

}

.btn-contact:hover {

  background: #47606a;

  color: #fff;

  transform: scale(1.05);

}



.btn-submit {

  background: linear-gradient(135deg, #15333a, #47606a);

  color: #fff;

  padding: 12px;

  border-radius: 8px;

  font-size: 1rem;

  font-weight: bold;

  border: none;

  width: 100%;

  cursor: pointer;

  transition: 0.3s;

}

.btn-submit:hover {

  background: linear-gradient(135deg, #47606a, #15333a);

  box-shadow: 0 4px 12px rgba(0,0,0,0.3);

  transform: translateY(-2px);

}



/* =====================

   ✨ SECTION BASE

===================== */

section {

  padding: 80px 10%;

  text-align: center;

}

.about .cards,

.services .cards {

  display: grid;

  grid-template-columns: repeat(auto-fit,minmax(250px,1fr));

  gap: 20px;

  margin-top: 40px;

}



/* =====================

   🃏 CARD STYLING

===================== */

.card {

  background: #ffffff;

  padding: 30px;

  border-radius: 10px;

  box-shadow: 0 4px 10px rgba(0,0,0,0.08);

  transition: 0.3s;

  animation: fadeInUp 1s;

}

.card:hover {

  transform: translateY(-8px);

  box-shadow: 0 8px 20px rgba(0,0,0,0.15);

}

.card i {

  font-size: 2rem;

  color: #5e7b87;

  margin-bottom: 15px;

}



/* =====================

   🏆 MISSION SECTION

===================== */

.mission {

  margin-top: 40px;

  background: linear-gradient(135deg, #15333a, #334146);

  color: #fff;

  padding: 30px;

  border-radius: 10px;

  box-shadow: 0 4px 15px rgba(21,51,58,0.4);

}

.mission h2 {

  font-size: 1.8rem;

  margin-bottom: 15px;

}

.mission p {

  font-size: 1rem;

  line-height: 1.7;

  color: #e0e0e0;

}





/* =====================

   📩 CONTACT SECTION

===================== */

.contact {

  background: #f4f6f7;

  padding: 80px 10%;

}



.contact-container {

  display: flex;

  gap: 50px;

  margin-top: 40px;

  align-items: flex-start;

}



/* Left Side */

.contact-left {

  flex: 1;

  display: flex;

  flex-direction: column;

  gap: 25px;

}



/* Contact Info Boxes */

.contact-info {

  display: flex;

  flex-direction: column;

  gap: 15px;

}



.contact-info .info-box {

  background: #fff;

  padding: 18px 22px;

  border-radius: 10px;

  box-shadow: 0 4px 12px rgba(0,0,0,0.08);

  display: flex;

  align-items: center;

  gap: 14px;

  transition: all 0.3s ease;

}



.contact-info .info-box i {

  color: #47606a;

  font-size: 1.4rem;

  min-width: 24px;

  text-align: center;

}



.contact-info .info-box a,

.contact-info .info-box span {

  font-size: 1rem;

  color: #333;

  text-decoration: none;

  transition: color 0.3s ease;

}



.contact-info .info-box:hover {

  transform: translateX(5px);

  box-shadow: 0 6px 18px rgba(0,0,0,0.12);

}



.contact-info .info-box:hover a {

  color: #15333a;

}



/* Map Container */

.map-container {

  border-radius: 10px;

  overflow: hidden;

  box-shadow: 0 4px 15px rgba(0,0,0,0.1);

}



/* Right Side: Contact Form */

.contact-form {

  flex: 1.2;

  background: #fff;

  padding: 40px;

  border-radius: 12px;

  box-shadow: 0 6px 20px rgba(0,0,0,0.1);

  display: flex;

  flex-direction: column;

  gap: 20px;

}



.contact-form .form-group {

  display: flex;

  flex-direction: column;

  gap: 8px;

}



.contact-form input,

.contact-form textarea {

  width: 100%;

  padding: 14px 16px;

  border: 1px solid #ccc;

  border-radius: 6px;

  font-size: 1rem;

  transition: border 0.3s ease, box-shadow 0.3s ease;

}



.contact-form input:focus,

.contact-form textarea:focus {

  border-color: #47606a;

  box-shadow: 0 0 8px rgba(71, 96, 106, 0.3);

  outline: none;

}



.contact-form textarea {

  min-height: 120px;

  resize: vertical;

}



.contact-form button {

  background: linear-gradient(135deg,#15333a,#47606a);

  color: #fff;

  font-weight: bold;

  padding: 14px;

  border: none;

  border-radius: 8px;

  cursor: pointer;

  transition: all 0.3s ease;

}



.contact-form button:hover {

  background: linear-gradient(135deg,#47606a,#15333a);

  transform: translateY(-2px);

}



/* Button icon animation */

.contact-form button i {

  margin-left: 8px;

  transition: transform 0.3s ease;

  animation: planeBounce 1.5s infinite ease-in-out;

}

@keyframes planeBounce {

  0%, 100% { transform: translateX(0) rotate(0); }

  50% { transform: translateX(4px) rotate(10deg); }

}



.contact-form button:hover i {

  transform: translateX(5px) rotate(10deg);

}



/* =====================

   🌐 FOOTER SECTION

===================== */

/* =======================

   🌐 Footer Styling

======================= */

footer {

  background: #0f2c33;

  color: #fff;

  padding: 50px 5% 20px;

}



.footer-container {

  display: grid;

  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));

  gap: 30px;

  max-width: 1200px;

  margin: 0 auto;

}



.footer-col h4 {

  font-weight: 600;

  margin-bottom: 15px;

  color: #b5e0e4;

}



.footer-col ul {

  list-style: none;

  padding: 0;

  margin: 0;

}



.footer-col ul li {

  margin-bottom: 8px;

}



.footer-col ul li a {

  color: #d9e6e8;

  text-decoration: none;

  transition: color 0.3s ease;

}



.footer-col ul li a:hover {

  color: #5ee7df;

}



.footer-logo {

  width: 120px;

  margin-bottom: 10px;

  filter: brightness(1.2);

}



.footer-bottom {

  text-align: center;

  margin-top: 30px;

  font-size: 0.9rem;

  color: #ccc;

  border-top: 1px solid rgba(255, 255, 255, 0.1);

  padding-top: 15px;

}



/* ============================

   ✨ Social Media Icons 3D Hover

============================ */

.social-icons {

  display: flex;

  gap: 12px;

  margin-top: 10px;

}



.social-icon {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 38px;

  height: 38px;

  background: linear-gradient(135deg, #5ee7df, #b490ca);

  border-radius: 50%;

  color: white;

  font-size: 18px;

  text-decoration: none;

  box-shadow: 0 4px 12px rgba(94, 231, 223, 0.5);

  transform: translateY(0) scale(1);

  transition: transform 0.4s cubic-bezier(0.25, 1.3, 0.5, 1), box-shadow 0.3s ease;

}



.social-icon:hover {

  transform: translateY(-6px) scale(1.15) rotate(8deg);

  box-shadow: 0 8px 20px rgba(94, 231, 223, 0.8);

}



/* =====================

   ⬆️ BACK TO TOP

===================== */

#backToTop {

  position: fixed;

  bottom: 30px;

  right: 30px;

  background: linear-gradient(135deg,#15333a,#47606a);

  color: #fff;

  border: none;

  padding: 12px 15px;

  border-radius: 50%;

  cursor: pointer;

  font-size: 18px;

  display: none;

  box-shadow: 0 4px 10px rgba(0,0,0,0.3);

  transition: all 0.3s ease;

  z-index: 1000;

}

#backToTop:hover {

  background: linear-gradient(135deg,#47606a,#15333a);

  transform: translateY(-3px);

}







/* ===============================

   📱 RESPONSIVE ADJUSTMENTS

=============================== */

@media(max-width: 1024px) {

  .navbar {

    padding: 15px 5%;

  }

  .hero h1 {

    font-size: 2.4rem;

  }

  .hero p {

    font-size: 1rem;

  }

}



@media(max-width: 768px) {

  .nav-links {

    display: none;

    flex-direction: column;

    background: #15333a;

    position: absolute;

    top: 70px;

    right: 10px;

    width: 200px;

    padding: 10px 0;

    box-shadow: 0 4px 12px rgba(0,0,0,0.15);

    border-radius: 8px;

  }

  .nav-links a {

    font-size: 0.95rem;

    padding: 10px 15px;

    display: block;

  }

  .nav-links .btn {

    margin: 10px auto;

    padding: 8px 18px;

    font-size: 0.9rem;

    border-radius: 20px;

  }

  .hamburger {

    display: block;

    z-index: 1001;

  }



  .hero {

    flex-direction: column;

    padding: 120px 15px 60px;

    height: auto;

  }

  .hero h1 {
    margin-top: 60px;

    font-size: 2rem;

    line-height: 1.3;

  }

  .hero p {

    font-size: 1rem;

    line-height: 1.5;

    margin-bottom: 15px;

  }



  .contact-container {

    flex-direction: column;

    gap: 30px;

  }

}



@media(max-width: 480px) {

  .hero h1 {

    font-size: 1.6rem;

  }

  .hero p {

    font-size: 0.95rem;

  }

  .btn-service,

  .btn-contact {

    padding: 10px 20px;

    font-size: 0.9rem;

  }

}





/* ✅ Fix modal showing at bottom */

.project-modal {

  display: none;

  position: fixed;

  inset: 0;

  background: rgba(0,0,0,0.7);

  justify-content: center;

  align-items: center;

  z-index: 10000;

}

.project-modal.show {

  display: flex;

}



/* ✅ Footer padding fix (broken image issue) */

footer {

  position: relative;

  z-index: 1;

}



/* ✅ Placeholder image fallback styling */

.modal-img {

  max-width: 100%;

  height: auto;

  object-fit: cover;

  border-radius: 10px;

}


/* ==========================================
   FEATURED PRODUCT - SEO Audit & Analyzer
========================================== */

.featured-product{
    position:relative;
    overflow:hidden;
    padding:90px 10%;
    background:linear-gradient(135deg,#f8fbfc,#eef5f6);
}

.featured-bg{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 15% 20%,rgba(94,231,223,.18),transparent 28%),
        radial-gradient(circle at 85% 80%,rgba(180,144,202,.18),transparent 28%);
    animation:gradientFloat 12s linear infinite;
    pointer-events:none;
}

@keyframes gradientFloat{
    0%{transform:translateY(0) rotate(0deg);}
    50%{transform:translateY(-20px) rotate(2deg);}
    100%{transform:translateY(0) rotate(0deg);}
}

.featured-container{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:70px;
    align-items:center;
}

.product-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:linear-gradient(135deg,#15333a,#47606a);
    color:#fff;
    padding:10px 18px;
    border-radius:40px;
    font-size:.9rem;
    font-weight:600;
    box-shadow:0 8px 20px rgba(21,51,58,.25);
    margin-bottom:25px;
}

.product-badge i{
    color:#5ee7df;
}

.featured-left h2{
    font-size:2.6rem;
    line-height:1.2;
    margin-bottom:18px;
    color:#15333a;
}

.featured-left h2 span{
    color:#5e7b87;
}

.featured-left p{
    color:#555;
    line-height:1.9;
    margin-bottom:18px;
    font-size:1.03rem;
}

.subtitle{
    font-size:1.08rem;
}

.feature-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(220px,1fr));
    gap:16px;
    margin:35px 0;
}

.feature-item{
    background:#fff;
    border-radius:12px;
    padding:16px 18px;
    display:flex;
    align-items:center;
    gap:12px;
    font-weight:600;
    color:#15333a;
    box-shadow:0 10px 25px rgba(0,0,0,.06);
    transition:.35s;
}

.feature-item:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 35px rgba(0,0,0,.12);
}

.feature-item i{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:linear-gradient(135deg,#15333a,#47606a);
    color:#fff;
}

.product-buttons{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    margin-top:35px;
}

.btn-product{
    display:inline-block;
    background:linear-gradient(135deg,#15333a,#47606a);
    color:#fff;
    text-decoration:none;
    padding:15px 34px;
    border-radius:40px;
    font-weight:600;
    transition:.35s;
    box-shadow:0 12px 25px rgba(21,51,58,.28);
}

.btn-product:hover{
    transform:translateY(-4px);
    color:#fff;
    box-shadow:0 18px 35px rgba(21,51,58,.35);
}

.btn-outline{
    display:inline-block;
    border:2px solid #15333a;
    color:#15333a;
    text-decoration:none;
    padding:13px 32px;
    border-radius:40px;
    font-weight:600;
    transition:.35s;
}

.btn-outline:hover{
    background:#15333a;
    color:#fff;
    transform:translateY(-4px);
}

.featured-right{
    position:relative;
}

.product-card{
    position:relative;
    background:#fff;
    border-radius:25px;
    overflow:hidden;
    box-shadow:0 25px 60px rgba(0,0,0,.15);
    transition:.4s;
    animation:floatCard 5s ease-in-out infinite;
}

.product-card:hover{
    transform:translateY(-8px);
}

@keyframes floatCard{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-12px);
    }
}

.product-card::before{
    content:'';
    position:absolute;
    inset:0;
    padding:2px;
    border-radius:25px;
    background:linear-gradient(135deg,#5ee7df,#b490ca,#15333a,#5ee7df);
    background-size:300% 300%;
    animation:borderMove 6s linear infinite;
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
}

@keyframes borderMove{
    0%{background-position:0 50%;}
    50%{background-position:100% 50%;}
    100%{background-position:0 50%;}
}

.product-card img{
    display:block;
    width:100%;
    height:auto;
}

.product-status{
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:18px 20px;
    background:#fff;
    border-top:1px solid #eee;
    flex-wrap:wrap;
}

.product-status span{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:.9rem;
    font-weight:600;
    color:#15333a;
}

.product-status .fa-circle{
    font-size:10px;
    color:#21c45d;
    animation:pulseStatus 1.5s infinite;
}

@keyframes pulseStatus{
    0%{opacity:.4;}
    50%{opacity:1;}
    100%{opacity:.4;}
}

/* ===========================
   Responsive
=========================== */

@media(max-width:991px){

    .featured-container{
        grid-template-columns:1fr;
        text-align:center;
    }

    .feature-list{
        grid-template-columns:1fr;
    }

    .product-buttons{
        justify-content:center;
    }

    .featured-right{
        order:-1;
    }

    .featured-left h2{
        font-size:2.1rem;
    }

}

@media(max-width:576px){

    .featured-product{
        padding:70px 6%;
    }

    .featured-left h2{
        font-size:1.8rem;
    }

    .product-status{
        justify-content:center;
    }

}

.developed-by{
    border-top:1px solid #eee;
    background:#fafafa;
    padding:18px 22px;
}

.company{
    display:flex;
    align-items:center;
    gap:15px;
}

.company i{
    width:52px;
    height:52px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#15333a,#47606a);
    color:#fff;
    font-size:20px;
}

.company strong{
    display:block;
    color:#666;
    font-size:.9rem;
    margin-bottom:2px;
}

.company p{
    margin:0;
    color:#15333a;
    font-size:1.1rem;
    font-weight:700;
}

/* ===============================
   Featured Product Responsive
=============================== */

@media(max-width:768px){

    .developed-by{
        padding:18px;
    }

    .company{
        flex-direction:column;
        text-align:center;
        gap:12px;
    }

    .company i{
        width:60px;
        height:60px;
        min-width:60px;
    }

    .company strong{
        font-size:.85rem;
    }

    .company p{
        font-size:1rem;
    }

    .product-status{
        justify-content:center;
        text-align:center;
        gap:15px;
    }

    .product-status span{
        justify-content:center;
    }

}

@media(max-width:480px){

    .developed-by{
        padding:15px;
    }

    .company i{
        width:52px;
        height:52px;
        min-width:52px;
        font-size:18px;
    }

    .company p{
        font-size:.95rem;
    }

    .product-status{
        flex-direction:column;
        align-items:center;
        gap:10px;
    }

}



