:root {
    --primary-blue: #0d47a1;
    --secondary-blue: #1976d2;
    --gold: #ffc107;
    --dark: #1a1a2e;
    --light: #f8f9fa;
    --white: #ffffff;
    --shadow: 0 15px 50px rgba(13,71,161,0.25);
}

@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
}

body { 
    font-family: 'Poppins', sans-serif; 
    line-height: 1.6; 
    overflow-x: hidden; 
    scroll-behavior: smooth;
    color: #333;
}
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}


.text-center { text-align: center; }
.mb-5 { margin-bottom: 3rem; }

/* Navbar */
.navbar { 
    position: fixed; 
    top: 0; 
    width: 100%; 
    background: rgba(255,255,255,0.98); 
    backdrop-filter: blur(25px); 
    box-shadow: var(--shadow); 
    z-index: 1000; 
    padding: 1rem 0; 
    border-bottom: 3px solid var(--gold);
}
.navbar .container { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}
.navbar-brand {
    display: flex;
    align-items: center;
    gap: 0.5rem; /* spacing between logo and text */
    font-size: clamp(1.4rem, 4vw, 2rem); 
    font-weight: 800;
    background: linear-gradient(135deg, var(--primary-blue), var(--gold));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-decoration: none;
}

.navbar-brand .logo {
    height: 50px; /* adjust size as needed */
    width: auto;
    object-fit: contain;
}

.nav-links { 
    display: flex; 
    list-style: none; 
    gap: 2.5rem; 
    align-items: center; 
}
.nav-link { 
    color: #333; 
    text-decoration: none; 
    font-weight: 600; 
    transition: all 0.3s; 
}
.nav-link:hover { color: var(--primary-blue); }
.navbar-toggle { 
    display: none; 
    background: none; 
    border: 2px solid var(--primary-blue);
    color: var(--primary-blue);
    font-size: 1.5rem; 
    cursor: pointer; 
    padding: 0.5rem;
    border-radius: 8px;
}

/* Hero Section */
#hero { scroll-margin-top: 90px; padding-top: 110px; }
.hero { 
    min-height: 100vh; 
    background: linear-gradient(135deg, 
        rgba(13,71,161,0.94) 0%, 
        rgba(25,118,210,0.90) 50%, 
        rgba(103,126,234,0.88) 100%);
    display: flex; 
    align-items: center; 
    color: var(--white); 
    position: relative; 
    overflow: hidden;
}

.hero-name {
    font-size: clamp(2.8rem, 7vw, 6rem) !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    text-shadow: 
        0 0 10px rgba(255,255,255,0.8),
        0 4px 20px rgba(0,0,0,0.7);
    margin-bottom: 1.5rem !important;
    line-height: 1.1;
}

.hero-subtitle {
    font-size: clamp(1.3rem, 4vw, 2.5rem) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-shadow: 
        0 0 8px rgba(255,255,255,0.9),
        0 3px 15px rgba(0,0,0,0.6);
    margin-bottom: 1.5rem !important;
    line-height: 1.3;
}

.hero-credential {
    font-size: clamp(1.1rem, 2.5vw, 1.4rem) !important;
    color: var(--dark) !important;
    font-weight: 600 !important;
    background: rgba(255,255,255,0.98) !important;
    backdrop-filter: blur(25px) !important;
    padding: 1.8rem 2.5rem !important;
    border-radius: 20px !important;
    border: 3px solid rgba(255,255,255,0.6) !important;
    box-shadow: 
        0 20px 60px rgba(0,0,0,0.4),
        inset 0 1px 0 rgba(255,255,255,0.8) !important;
    margin-bottom: 3rem !important;
    text-align: center;
}

.hero-content { 
    display: grid; 
    grid-template-columns: 1fr 380px; 
    gap: 5rem; 
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

/* PERFECT RESPONSIVE CIRCLE IMAGE */
.profile-placeholder {
    width: 380px;
    height: 380px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(255,255,255,0.25), rgba(255,255,255,0.1));
    border: 8px solid rgba(255,255,255,0.6);
    box-shadow: 
        0 30px 80px rgba(0,0,0,0.5),
        inset 0 0 0 1px rgba(255,255,255,0.9);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.image-circle {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.image-circle img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 50%;
    display: block;
}

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    padding: 18px 40px;
    border: none;
    border-radius: 50px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    font-size: 1.1rem;
}
.btn-primary {
    background: linear-gradient(45deg, var(--primary-blue), var(--secondary-blue));
    color: #ffffff !important;
    box-shadow: 0 15px 40px rgba(13,71,161,0.45);
}
.btn-primary:hover { transform: translateY(-5px); box-shadow: 0 25px 60px rgba(13,71,161,0.65); }
.btn-outline {
    color: #ffffff !important;
    border: 3px solid rgba(255,255,255,0.95);
    background: rgba(255,255,255,0.25);
    backdrop-filter: blur(15px);
}
.btn-outline:hover { background: #ffffff !important; color: var(--primary-blue) !important; }

#hero .container {
    padding: 0 1px; /* smaller side padding */
    max-width: 1800px; /* optional: increase max-width to occupy more space */
}
:root {
    --navbar-height: 90px;
}

#hero {
    padding-top: calc(var(--navbar-height) + 30px);
}

@media (max-width: 768px) {

    #hero {
        padding-top: 90px;
    }

    #hero .container {
        padding: 0 14px; /* tight but safe */
    }

    .hero-content {
        grid-template-columns: 1fr; /* stack */
        gap: 2.2rem;
        text-align: center;
    }
}
@media (max-width: 768px) {

    .navbar {
        padding: 0.7rem 0;
    }

    .hero {
        min-height: auto;
        padding-bottom: 60px;
    }
#hero {
    padding-top: calc(var(--navbar-height) + 20px);
}


    .hero-content {
        margin-top: 16px;
    }

    #hero .container {
        padding: 0 14px;
    }

    .hero-content {
        display: flex;          /* override grid */
        flex-direction: column;
        align-items: center;    /* CENTER EVERYTHING */
        gap: 2rem;
        text-align: center;
    }
}
/* Trust Section Styles */
/* ================= TRUST SECTION – PREMIUM CLEAN ================= */

/* ================= TRUST SECTION – BLUE WAVE STYLE ================= */

.trust-ui {
    position: relative;
    padding: 120px 0;
    background: linear-gradient(
        180deg,
        #eef3ff 0%,
        #e2ebff 35%,
        #f2f6ff 100%
    );
    overflow: hidden;
}

/* DARK SOFT ANIMATED BACKGROUND */
.trust-bg-animation {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            120deg,
            rgba(30,79,216,0.30) 0%,
            rgba(59,110,234,0.28) 45%,
            rgba(255,255,255,0.55) 75%
        ),
        radial-gradient(
            circle at 75% 25%,
            rgba(30,79,216,0.25),
            transparent 60%
        ),
        radial-gradient(
            circle at 25% 85%,
            rgba(59,110,234,0.25),
            transparent 65%
        );

    animation: waveFlow 22s ease-in-out infinite alternate;
    z-index: 0;
}



/* CONTENT ABOVE BG */
.trust-ui .container {
    position: relative;
    z-index: 1;
}

/* TITLES */
.trust-title {
    text-align: center;
    font-size: 2.7rem;
    font-weight: 700;
    color: #0b163f;
}

.trust-title span {
    color: #1e4fd8;
}

.trust-subtitle {
    text-align: center;
    max-width: 700px;
    margin: 0.7rem auto 3.5rem;
    font-size: 1.1rem;
    color: #3b4b6b;
}


/* GRID */
.trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.6rem;
}

/* CARD – SIMPLE & TRUSTWORTHY */
.trust-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 2rem 1.6rem;
    text-align: center;
    box-shadow: 0 22px 50px rgba(30,79,216,0.22);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.trust-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 32px 70px rgba(30,79,216,0.32);
}


.trust-card h4 {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
    color: #0f172a;
}

.trust-card p {
    font-size: 1rem;
    color: #ff8902;
}

/* ICON – SOFT SOLID */
.trust-icon {
    width: 54px;
    height: 54px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin-bottom: 1rem;
}

.trust-icon.green { background: #dcfce7; color: #15803d; }
.trust-icon.blue  { background: #dbeafe; color: #1d4ed8; }
.trust-icon.orange{ background: #ffedd5; color: #c2410c; }
.trust-icon.red   { background: #fee2e2; color: #b91c1c; }

/* MISSION STRIP – CLEAN STATEMENT */
.trust-mission {
    margin-top: 4.5rem;
    background: linear-gradient(
        135deg,
        #1e4fd8,
        #3b6eea
    );
    border-radius: 22px;
    padding: 3rem 2.5rem;
    text-align: center;
    color: #ffffff;
      box-shadow: 0 28px 65px rgba(30,79,216,0.45);
}

.trust-mission h3,
.trust-mission p {
    color: #ffffff;
}
/* FLOATING CIRCLES LAYER */
.trust-floating {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
    pointer-events: none;
}

.trust-floating span {
    position: absolute;
    display: block;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(253, 173, 1, 0.35),
        rgba(2, 72, 250, 0.568) 70%
    );
    animation: floatUp 28s linear infinite;
    opacity: 0.7;
}

/* INDIVIDUAL CIRCLES */
.trust-floating span:nth-child(1) {
    width: 180px;
    height: 180px;
    left: 10%;
    bottom: -200px;
    animation-duration: 30s;
}

.trust-floating span:nth-child(2) {
    width: 120px;
    height: 120px;
    left: 30%;
    bottom: -150px;
    animation-duration: 26s;
    animation-delay: 2s;
}

.trust-floating span:nth-child(3) {
    width: 220px;
    height: 220px;
    left: 55%;
    bottom: -250px;
    animation-duration: 34s;
}

.trust-floating span:nth-child(4) {
    width: 140px;
    height: 140px;
    left: 75%;
    bottom: -180px;
    animation-duration: 28s;
    animation-delay: 4s;
}

.trust-floating span:nth-child(5) {
    width: 90px;
    height: 90px;
    left: 90%;
    bottom: -120px;
    animation-duration: 22s;
    animation-delay: 1s;
}

/* FLOAT ANIMATION */
@keyframes floatUp {
    0% {
        transform: translateY(0) translateX(0);
        opacity: 0;
    }
    15% {
        opacity: 0.6;
    }
    100% {
        transform: translateY(-120vh) translateX(-40px);
        opacity: 0;
    }
}
.trust-wave path {
    animation: waveMove 8s ease-in-out infinite;
}

@keyframes waveMove {
    0% { d: path("M0,80 C360,150 1080,0 1440,80 L1440,150 L0,150 Z"); }
    50% { d: path("M0,100 C360,50 1080,150 1440,100 L1440,150 L0,150 Z"); }
    100% { d: path("M0,80 C360,150 1080,0 1440,80 L1440,150 L0,150 Z"); }
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .trust-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .trust-title {
        font-size: 2.2rem;
    }

    .trust-grid {
        grid-template-columns: 1fr;
    }
}

/* ==================how i work====================== */
.how-i-work {
  background: #e4ebf9;
  padding: 80px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.section-title {
  font-size: 36px;
  color:#1E4FD8;
  margin-bottom: 50px;
}

.work-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  position: relative;
  z-index: 1;
}

.work-card {
  background: #ffffff;
  border-radius: 15px;
  padding: 30px 20px;
  width: 250px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
 
}
.work-card h4 {
  font-size: 20px;
  font-weight: 600;
  color: #0a2540;   /* Deep professional blue */
  margin-bottom: 8px;
}

.work-card p {
  font-size: 15px;
  color: #ff8902;     /* Soft readable grey */
  line-height: 1.6;
}

.work-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.work-card .icon i {
  transition: transform 0.3s ease, color 0.3s ease;
}

.work-card:hover .icon i {
  transform: scale(1.2);
  color: #1a2645;
}

/* Floating background icons */
.bg-floating-icons {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

.floating-icon {
  position: absolute;
  font-size: 40px;
  opacity: 0.2;
  animation: floatRandom linear infinite;
}

/* Different starting positions and speeds */
.floating-icon:nth-child(1) { top: 10%; left: 20%; animation-duration: 20s; animation-delay: 0s; }
.floating-icon:nth-child(2) { top: 30%; left: 70%; animation-duration: 25s; animation-delay: 3s; }
.floating-icon:nth-child(3) { top: 50%; left: 40%; animation-duration: 18s; animation-delay: 6s; }
.floating-icon:nth-child(4) { top: 70%; left: 80%; animation-duration: 22s; animation-delay: 9s; }
.floating-icon:nth-child(5) { top: 20%; left: 50%; animation-duration: 28s; animation-delay: 2s; }
.floating-icon:nth-child(6) { top: 60%; left: 30%; animation-duration: 24s; animation-delay: 5s; }

/* Keyframes for random floating */
@keyframes floatRandom {
  0% { transform: translate(0, 0) rotate(0deg); }
  25% { transform: translate(30px, -20px) rotate(45deg); }
  50% { transform: translate(-20px, 30px) rotate(90deg); }
  75% { transform: translate(25px, 10px) rotate(135deg); }
  100% { transform: translate(0, 0) rotate(180deg); }
}

/* about section */
.about-section {
  background: linear-gradient(135deg, #0e1a2b, #111b2e);
  padding: 100px 0;
  color: #fff;
  font-family: 'Poppins', sans-serif;
}

.container {
  width: 90%;
  max-width: 1400px; /* updated for wider layout */
  margin: 0 auto;
}

.about-wrapper {
  display: flex;
  align-items: center;
  gap: 60px;
  flex-wrap: wrap;
}

.about-left {
  flex: 1;
  min-width: 300px;
}

.about-title {
  font-size: 38px;
  margin-bottom: 25px;
  color: #ff6b6b;
}

.about-text {
  font-size: 17px;
  line-height: 1.8;
  color: #d0d0d0;
}

/* Right side circular image */
.about-right {
  flex: 1;
  min-width: 300px;
  display: flex;
  justify-content: center;
}

.circle-img {
  width: 300px;
  height: 300px;
  border-radius: 50%;
  object-fit: cover;
  border: 5px solid #ff6b6b;
  box-shadow: 0 20px 50px rgba(0,0,0,0.5);
  animation: float 6s ease-in-out infinite;
}

/* Floating animation */
@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-15px); }
}

/* Button */
.btn-primary {
  background-color: #ff6b6b;
  color: #fff;
  padding: 12px 25px;
  font-size: 16px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.btn-primary:hover {
  background-color: #ff4c4c;
}

/* Modal Overlay */
.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.75); /* slightly darker for contrast */
  padding: 20px;
}

/* Modal Content */
.modal-content {
  background-color: #111b2e; /* matches site theme */
  color: #fff;
  margin: 5% auto;
  padding: 30px;
  border-radius: 12px;
  width: 80%;
  max-width: 700px;
  position: relative;
  box-shadow: 0 4px 25px rgba(0,0,0,0.5);
  animation: fadeIn 0.3s ease-in-out;
  max-height: 80vh;
  overflow-y: auto; /* scrollable for long content */
}

.modal-content h2 {
  margin-top: 0;
  font-size: 28px;
  margin-bottom: 20px;
  color: #ff6b6b;
}

.modal-content p {
  line-height: 1.8;
  margin-bottom: 15px;
  color: #d0d0d0;
}

/* Close Button */
.close-btn {
  color: #aaa;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
  position: absolute;
  top: 15px;
  right: 20px;
  transition: all 0.3s ease;
}

.close-btn:hover {
  color: #ff6b6b;
}
/* Modal Image */
.modal-img-wrapper {
  width: 150px;
  height: 150px;
  margin: 0 auto 20px auto;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid #ff6b6b;
  box-shadow: 0 10px 25px rgba(0,0,0,0.5);
}

.modal-circle-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Fade-in Animation */
@keyframes fadeIn {
  from {opacity: 0; transform: translateY(-20px);}
  to {opacity: 1; transform: translateY(0);}
}

/* Responsive */
@media (max-width: 992px) {
  .about-wrapper {
    flex-direction: column-reverse;
    text-align: center;
  }
  .about-right {
    margin-bottom: 40px;
  }
  .about-left {
    text-align: center;
  }
  .circle-img {
    width: 250px;
    height: 250px;
  }
}


/* courses */
.courses {
  padding: 90px 20px;
  background: #f9fbfd;
}

.courses .container {
  max-width: 1200px;
  margin: auto;
}

.courses-header {
  text-align: center;
  margin-bottom: 60px;
}

.courses-header h2 {
  font-size: 40px;
  font-weight: 700;
  color: #1E4FD8;
  margin-bottom: 15px;
}

.courses-header p {
  font-size: 18px;
  max-width: 750px;
  margin: auto;
  color: #555;
  line-height: 1.6;
}

.courses-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 30px;
}

.course-box {
  background: #fff;
  border-radius: 16px;
  padding: 35px 30px;
  text-align: center;
  box-shadow: 0 12px 30px rgba(0,0,0,0.06);
  transition: all 0.3s ease;
}

.course-box:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.course-box .icon {
  display: block; /* ensures it’s treated as block element */
  margin: 0 auto 15px auto; /* centers icon horizontally */
}

.course-box h3 {
  font-size: 20px;
  font-weight: 600;
  color: #ff8800;
  margin-bottom: 10px;
}

.course-box p {
  font-size: 15px;
  color: #010041;
  line-height: 1.6;
}
/* ===== AI Animated Background ===== */
.courses {
  position: relative;
  overflow: hidden;
}

.ai-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    120deg,
    rgb(174, 130, 245),
    rgba(14, 164, 233, 0.308),
    rgba(99, 102, 241, 0.08)
  );
  background-size: 300% 300%;
  animation: aiGradient 18s ease infinite;
  z-index: 0;
}

/* Keep content above background */
.courses .container {
  position: relative;
  z-index: 1;
}

@keyframes aiGradient {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
/* ===== Animated Background: Floating Circles ===== */
.courses {
  position: relative;
  overflow: hidden;
}

/* Container */
.animated-circles {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* Circles */
.animated-circles span {
  position: absolute;
  width: 120px;
  height: 120px;
  background: rgba(0, 68, 255, 0.479);
  border-radius: 50%;
  animation: floatUp 18s infinite linear;
}

/* Individual positioning */
.animated-circles span:nth-child(1) {
  left: 5%;
  bottom: -150px;
  width: 80px;
  height: 80px;
  animation-duration: 14s;
}

.animated-circles span:nth-child(2) {
  left: 20%;
  bottom: -200px;
  width: 140px;
  height: 140px;
  animation-duration: 20s;
}

.animated-circles span:nth-child(3) {
  left: 50%;
  bottom: -180px;
  width: 100px;
  height: 100px;
  animation-duration: 17s;
}

.animated-circles span:nth-child(4) {
  left: 70%;
  bottom: -220px;
  width: 160px;
  height: 160px;
  animation-duration: 24s;
}

.animated-circles span:nth-child(5) {
  left: 90%;
  bottom: -160px;
  width: 90px;
  height: 90px;
  animation-duration: 15s;
}

/* Animation */
@keyframes floatUp {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  20% {
    opacity: 0.4;
  }
  100% {
    transform: translateY(-120vh);
    opacity: 0;
  }
}

/* Keep content above animation */
.courses .container {
  position: relative;
  z-index: 1;
}
.course-box {
  background: #fff;
  border-radius: 18px;
  padding: 35px 30px;
  text-align: left; /* keep text left-aligned */
  box-shadow: 0 12px 30px rgba(0,0,0,0.06);
  transition: 
    transform 0.5s cubic-bezier(.22,1,.36,1),
    box-shadow 0.5s ease;
  position: relative;
  overflow: hidden;
  transform-style: preserve-3d;
  
  display: flex;
  flex-direction: column; /* stack icon, heading, paragraph vertically */
  align-items: center;    /* center the icon horizontally */
}

.course-box::before {
  content: "";
  position: absolute;
  top: -120%;
  left: -120%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    120deg,
    transparent 30%,
    rgba(29, 78, 216, 0.18),
    rgba(14, 165, 233, 0.18),
    transparent 70%
  );
  transform: rotate(25deg);
  transition: top 0.8s ease, left 0.8s ease;
  opacity: 0;
}

.course-box:hover {
  transform: translateY(-12px) scale(1.03);
  box-shadow: 
    0 30px 60px rgba(29, 78, 216, 0.25),
    0 0 0 1px rgba(29, 78, 216, 0.15);
}

.course-box:hover::before {
  top: -40%;
  left: -40%;
  opacity: 1;
}

.course-box .icon {
  font-size: 36px;
  margin-bottom: 15px;
  transition: 
    transform 0.5s cubic-bezier(.22,1,.36,1),
    filter 0.5s ease;
  display: block; /* ensure block so margin works */
}

.course-box:hover .icon {
  transform: translateZ(40px) scale(1.25) rotate(6deg);
  filter: drop-shadow(0 10px 15px rgba(29, 78, 216, 0.35));
}

/* Keep text left-aligned but full width */
.course-box h3,
.course-box p {
  width: 100%;
  text-align: left; 
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.course-box:hover h3 {
  transform: translateY(-3px);
}

.course-box:hover p {
  transform: translateY(-2px);
  opacity: 0.95;
}


/* Common Sections */
section { padding: 130px 0; }
.light-bg { background: var(--light); }
.section-header h2 {
    font-size: clamp(2.2rem, 5vw, 4rem);
    font-weight: 800;
    margin-bottom: 1.2rem;
    background: linear-gradient(135deg, var(--primary-blue), var(--gold));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.section-header .lead { color: #5a6c7d; font-size: 1.3rem; }

.service-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 3rem;
    margin-top: 5rem;
}
.service-card {
    background: #ffffff;
    padding: 3.5rem 3rem;
    border-radius: 28px;
    text-align: center;
    box-shadow: var(--shadow);
    border: 1px solid rgba(13,71,161,0.15);
    transition: all 0.5s ease;
    position: relative;
}
.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, var(--gold), var(--primary-blue));
}
.service-card:hover {
    transform: translateY(-15px);
    box-shadow: 0 35px 80px rgba(13,71,161,0.3);
}
.service-icon {
    font-size: 5rem;
    margin-bottom: 2rem;
    display: block;
    background: linear-gradient(135deg, var(--primary-blue), var(--secondary-blue));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.service-card h3 {
    font-size: 2rem;
    margin-bottom: 1.2rem;
    color: var(--dark);
}

/* Testimonials */
.testimonials {
    background: linear-gradient(135deg, var(--dark), var(--primary-blue));
    color: var(--white);
}
.stars { 
    font-size: 2rem; 
    margin-top: 1.5rem; 
    color: var(--gold);
    text-shadow: 0 2px 10px rgba(255,193,7,0.5);
}
.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2.5rem;
    margin-top: 5rem;
}
.testimonial-card {
    background: rgba(255,255,255,0.2);
    border: 1px solid rgba(255,255,255,0.3);
    border-radius: 28px;
    padding: 3.5rem 2.5rem;
    text-align: center;
    backdrop-filter: blur(20px);
    transition: all 0.5s ease;
}
.testimonial-card:hover {
    transform: translateY(-12px);
    background: rgba(255,255,255,0.28);
}
.testimonial-avatar {
    width: 90px;
    height: 90px;
    background: linear-gradient(45deg, var(--gold), var(--secondary-blue));
    border-radius: 50%;
    margin: 0 auto 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    font-weight: 800;
    color: #ffffff;
}
.testimonial-card h4 {
    margin-bottom: 1.2rem;
    color: #ffffff !important;
}
.testimonial-card p { 
    color: #ffffff !important;
    font-style: italic; 
    font-size: 1.15rem;
}

/* About */
.about-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 4rem;
    align-items: center;
}
.about-stats {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.stat-item {
    text-align: center;
    padding: 2rem;
    background: white;
    border-radius: 20px;
    box-shadow: var(--shadow);
}
.stat-number {
    font-size: 3rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--primary-blue), var(--gold));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.stat-label { 
    color: #666; 
    font-weight: 500; 
    margin-top: 0.5rem; 
}
.credential-highlight {
    background: rgba(255,255,255,0.95);
    padding: 2rem;
    border-radius: 16px;
    border-left: 5px solid var(--gold);
    margin-top: 2rem;
    color: var(--dark);
}

/* ================== BASE SECTION ================== */
/* ================== BASE SECTION ================== */
/* ================== BASE SECTION ================== */
.contact-new {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #172140, #0F3F8E); /* Dark blue gradient */
    padding: 3rem 1rem;
    border-radius: 20px;
}

/* ================== AI ANIMATED BLUE BLOBS ================== */
.contact-new::before,
.contact-new::after {
    content: '';
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    filter: blur(120px);
    opacity: 0.25;
    z-index: 0;
    animation: floatBlob 25s infinite alternate ease-in-out;
}

.contact-new::before {
    background: linear-gradient(135deg, #4a90e2, #50c9ff); /* cyan-blue blob */
    top: -20%;
    left: -20%;
}

.contact-new::after {
    background: linear-gradient(135deg, #0F7FFF, #00BFFF); /* soft blue blob */
    bottom: -25%;
    right: -15%;
    animation-duration: 30s;
}

@keyframes floatBlob {
    0% { transform: translate(0,0) scale(1); }
    50% { transform: translate(60px, -40px) scale(1.1); }
    100% { transform: translate(-50px, 50px) scale(1); }
}

/* ================== CONTAINER ================== */
.contact-container {
    max-width: 1200px;
    margin: auto;
    position: relative;
    z-index: 2;
}

/* ================== HERO ================== */
.contact-hero {
    text-align: center;
    margin-bottom: 2.5rem;
}

.contact-hero h2 {
    font-size: clamp(2rem, 5vw, 3rem);
    background: linear-gradient(90deg, #f5f5f5, #ffffff); /* contrast text gradient */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
}

.contact-lead {
    font-size: 1.1rem;
    color: #cfd8e1; /* light text for dark bg */
    max-width: 600px;
    margin: 0.8rem auto 0;
}

/* ================== GRID & CARDS ================== */
.contact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-bottom: 2.5rem;
}

.contact-card {
    position: relative;
    border-radius: 18px;
    padding: 1rem 1.8rem;
    text-align: center;
    backdrop-filter: blur(18px);
    background: rgba(255,255,255,0.15); /* glass effect */
    border: 1px solid rgba(255,255,255,0.2);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100px;
}

.contact-card:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: 0 15px 40px rgba(0,0,0,0.25);
}

.contact-icon-large {
    font-size: 2.2rem;
    margin-bottom: 0.6rem;
    color: #50c9ff; /* icon color */
}

.contact-info-block h4 {
    font-size: 1.15rem;
    font-weight: 600;
    color: #100f57;
    margin-bottom: 0.3rem;
}

.contact-info-block p {
    font-size: 0.98rem;
    color: #cfd8e1;
    line-height: 1.4;
    margin: 0;
}

.contact-info-block a {
    font-weight: 600;
    color: #50c9ff;
    text-decoration: none;
    padding: 0.3rem 0.6rem;
    border-radius: 8px;
    display: inline-block;
    margin-top: 0.5rem;
}

/* ================== SOCIAL BUTTONS ================== */
.contact-social-section {
    text-align: center;
}

.contact-social-section h4 {
    font-size: 1.4rem;
    color: #507fff;
    margin-bottom: 1.5rem;
}

.social-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 1rem;
    max-width: 500px;
    margin: auto;
}

.social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 1rem;
    border-radius: 16px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    transition: 0.3s ease;
}

.social-btn.youtube { background: linear-gradient(135deg, #1877F2, #0E5A8A); }
.social-btn.instagram { background: linear-gradient(135deg, #1877F2, #0E5A8A); }
.social-btn.facebook { background: linear-gradient(135deg, #1877F2, #0E5A8A); }

.social-btn:hover {
    transform: translateY(-4px) scale(1.05);
}

.social-btn i {
    transition: transform 0.3s ease;
}

.social-btn:hover i {
    transform: scale(1.2) rotate(-5deg);
}

/* ================== MOBILE ================== */
@media(max-width:768px){
    .contact-grid{
        grid-template-columns: 1fr;
    }
    .social-grid{
        grid-template-columns: 1fr;
    }
    .contact-container{
        padding: 2rem 1rem;
    }
}


/* Footer */
.footer {
    background: linear-gradient(135deg, var(--dark), #16213e);
    color: #ffffff;
}
.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 2rem;
    color: rgba(255,255,255,0.9);
}

.reveal {
    opacity: 0;
    transform: translateY(60px);
    transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* ========================================== */
/* PERFECT MOBILE RESPONSIVE */
/* ========================================== */
@media (max-width: 1024px) {
    .hero-content { grid-template-columns: 1fr; text-align: center; gap: 4rem; }
    .profile-placeholder { width: 320px; height: 320px; }
}

@media (max-width: 768px) {
    .navbar-toggle { display: block; }
    .nav-links {
        position: fixed;
        top: 100%;
        left: 0;
        width: 100%;
        background: rgba(255,255,255,0.99);
        flex-direction: column;
        padding: 3rem 2rem;
        box-shadow: var(--shadow);
        transform: translateY(-100%);
        opacity: 0;
        transition: all 0.4s ease;
        gap: 1.5rem;
    }
    .nav-links.active {
        transform: translateY(0);
        opacity: 1;
    }
    
    #hero { padding-top: 90px; }
    .hero-content {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 3rem;
        padding: 0 15px;
    }
    .profile-placeholder {
        width: 280px;
        height: 280px;
        border-width: 6px;
    }
    .hero-buttons { 
        flex-direction: column; 
        align-items: center; 
        gap: 1.5rem;
    }
    .btn { 
        width: 100%; 
        max-width: 300px;
        justify-content: center;
    }
    
    section { padding: 80px 0; }
    .about-content { 
        grid-template-columns: 1fr; 
        text-align: center; 
        gap: 3rem;
    }
    .about-stats { 
        flex-direction: row; 
        justify-content: center; 
        margin-top: 2rem;
        gap: 1rem;
    }
    .stat-item { 
        flex: 1; 
        max-width: 120px;
        padding: 1.5rem;
    }
    
    .service-grid, .testimonial-grid { 
        grid-template-columns: 1fr; 
        gap: 2rem;
    }
    .service-card { padding: 2.5rem 2rem; }
    
    .container { padding: 0 15px; }
}

@media (max-width: 480px) {
    .profile-placeholder {
        width: 240px;
        height: 240px;
        border-width: 5px;
    }
    .hero-name { font-size: 2.4rem !important; }
    .hero-credential { padding: 1.2rem 1.5rem !important; font-size: 1rem !important; }
    section { padding: 60px 0; }
    .service-icon { font-size: 4rem; }
    .testimonial-avatar {
        width: 70px;
        height: 70px;
        font-size: 1.4rem;
    }
}






