    :root{
      --ew-bg: #050713;
      --ew-bg-soft: #0b0f26;
      --ew-accent: #dbb668;       /* gold accent */
      --ew-accent-soft: rgba(245,185,65,.25);
      --ew-text: #f9fafb;
      --ew-text-muted: #9ca3af;
      --ew-border: rgba(148,163,184,.4);
      --ew-pill-bg: rgba(15,23,42,.9);
      --ew-pill-active: #dbb668;
      --ew-pill-active-text: #020617;
    }
    

    /* ===== GLOBAL ===== */
    body{
      margin:0;
      font-family: "Poppins", sans-serif;
      background:#ffffff;                 /* ✅ LIGHT site background */
      color:#111827;                      /* dark text */
    }

    /* ================= HEADER / NAVBAR ================= */
.ew-header{
  position: sticky;
  top:0;
  z-index: 1000;
  backdrop-filter: blur(18px);

 background: #ebecee;  /* deep navy */

  border-bottom: 1px solid rgba(148,163,184,.35);
}
    .ew-navbar{
      padding: .65rem 0;
    }

    /* Logo link */
.ew-logo{
  display:flex;
  align-items:center;
  text-decoration:none;
}

/* ✅ Logo image only */
.ew-logo-img{
  height: 80px;      /* adjust based on your logo */
  width: auto;
  display:block;
  object-fit: contain;
}

    /* ===== Desktop Nav Links in ONE LINE ===== */
    .ew-nav-links{
      display:flex !important;           /* force row layout */
      flex-direction: row;
      align-items: center;
      gap: 18px;                         /* space between links */
    }

    .ew-nav-links .nav-link{
      position:relative;
      padding: 0;
      font-size:.9rem;
      font-weight:400;
      color: #000;
      transition: color .18s ease, transform .18s ease;
    }
    .ew-nav-links .nav-link::after{
      content:"";
      position:absolute;
      left: 0;
      right:0;
      bottom: -0.25rem;
      height: 2px;
      border-radius:999px;
      background: linear-gradient(90deg, transparent, var(--ew-accent), transparent);
      transform: scaleX(0);
      transform-origin:center;
      transition: transform .22s ease-out;
    }
    .ew-nav-links .nav-link:hover,
    .ew-nav-links .nav-link:focus{
      color: #111827;
      transform: translateY(-1px);
    }
    .ew-nav-links .nav-link.active{
      color: var(--ew-accent);
      font-weight:500;
    }
    .ew-nav-links .nav-link.active::after{
      transform: scaleX(1);
    }

    /* Utilities: language + location */
    .ew-utilities{
      display:flex;
      align-items:center;
      gap: .75rem;
      margin-left:auto;
    }

    .ew-pill-toggle{
      display:inline-flex;
      background: var(--ew-pill-bg);
      border-radius: 999px;
      padding: 3px;
      border: 1px solid rgba(148,163,184,.4);
    }
    .ew-pill-toggle button{
      border:0;
      background: transparent;
      color: var(--ew-text-muted);
      font-size: .78rem;
      padding: 4px 10px;
      border-radius: 999px;
      display:flex;
      align-items:center;
      gap:4px;
      cursor:pointer;
      transition: background .18s ease, color .18s ease, box-shadow .18s ease;
      white-space: nowrap;
    }
    .ew-pill-toggle button span.flag{
      font-size: .9rem;
    }
    .ew-pill-toggle button.active{
      background: var(--ew-pill-active);
      color: var(--ew-pill-active-text);
      box-shadow: 0 0 12px rgba(245,185,65,.65);
      font-weight:500;
    }

    /* Mobile menu button */
    .ew-menu-btn{
      border-radius: 999px;
      border: 1px solid rgba(148,163,184,.55);
      padding: 6px 10px;
      background: rgba(15,23,42,.7);
      color: var(--ew-text);
      display:flex;
      align-items:center;
      gap: 6px;
      font-size: .82rem;
    }
    .ew-menu-btn i{
      font-size: 1.1rem;
    }

    /* ================= OFFCANVAS (MOBILE MENU) ================= */
    .ew-offcanvas.offcanvas{
      background: radial-gradient(circle at top, rgba(245,185,65,.18), transparent 55%)
                , #020617;
      color: var(--ew-text);
      border-right: 1px solid var(--ew-border);
      max-width: 280px;
    }
    .ew-offcanvas .offcanvas-header{
      border-bottom: 1px solid rgba(30,64,175,.6);
    }
    .ew-offcanvas .offcanvas-title{
      font-size: .9rem;
      letter-spacing:.16em;
      text-transform: uppercase;
      color: var(--ew-text-muted);
    }
    .ew-offcanvas .btn-close{
      filter: invert(1) grayscale(100%);
      opacity:.75;
    }
    .ew-offcanvas .navbar-nav .nav-link{
      padding: .6rem 0;
      border-bottom: 1px solid rgba(30,64,175,.45);
      font-size: .9rem;
      color: var(--ew-text-muted);
    }
    .ew-offcanvas .navbar-nav .nav-link:last-child{
      border-bottom:0;
    }
    .ew-offcanvas .navbar-nav .nav-link.active{
      color: var(--ew-accent);
      font-weight:500;
    }

    .ew-offcanvas .section-label{
      font-size: .75rem;
      text-transform: uppercase;
      letter-spacing: .22em;
      color: var(--ew-text-muted);
      margin-bottom: .4rem;
    }

    /* Small screen tweaks */
    @media (max-width: 991.98px){
      .ew-navbar{
        padding: .55rem 0;
      }
      .ew-logo-title{
        font-size: .9rem;
      }
      .ew-logo-subtitle{
        font-size: .7rem;
      }
    }
    /* ✅ Hide desktop nav links on tablets & mobiles */
@media (max-width: 991.98px){
  .ew-nav-links{
    display: none !important;
  }
  
}
    a{text-decoration: none;}













        :root{
      --dark-bg:#050814;
      --accent:#3d74ff;
      --accent-soft:rgba(61,116,255,.2);
      --text-muted:#6b7280;
      --white:#fff;
    }

    body{
      font-family:'Poppins', sans-serif;
      background:#f5f7fa;
    }

    /* ================= HERO SECTION ================= */
    .course-hero{
      background: var(--dark-bg);
      padding: 70px 0 80px;
      color: var(--white);
      position: relative;
    }

    .course-hero h1{
      font-size: 2.7rem;
      font-weight: 700;
      line-height: 1.2;
    }

    .course-level{
      font-size:.9rem;
      margin-top:.6rem;
      opacity:.85;
    }

    .course-author{
      margin-top:14px;
    }
    .course-author span{
      opacity:.7;
      margin-right:6px;
    }

    .course-meta{
      display:flex;
      gap:26px;
      margin-top:16px;
      opacity:.85;
      font-size:.88rem;
    }
    .course-meta i{
      margin-right:6px;
      color: var(--accent);
    }

    .course-price{
      margin-top: 22px;
      font-size:1.4rem;
      font-weight:600;
    }

    /* ================= OVERLAP INFO BAR ================= */
    .course-info-boxes{
      transform: translateY(-35px);
    }

    .info-box{
      background:#fff;
      padding:20px;
      border-radius:16px;
      border:1px solid #e5e7eb;
      box-shadow:0 20px 30px rgba(15,23,42,.1);
      height:100%;
      opacity:0;
      transform: translateY(20px);
      transition:opacity .45s ease, transform .45s ease;
    }
    .info-box.in-view{
      opacity:1;
      transform: translateY(0);
    }

    .info-icon{
      background:#0b0e17;
      color:#39e47a;
      width:48px;
      height:48px;
      display:flex;
      align-items:center;
      justify-content:center;
      border-radius:10px;
      margin-right:14px;
      font-size:1.3rem;
    }

    .info-title{
      font-size:1rem;
      font-weight:600;
    }

    .info-sub{
      font-size:.88rem;
      color:#52525b;
    }

    /* ================= RIGHT STICKY BUY BOX ================= */
    .buy-box{
      background:#fff;
      border-radius:16px;
      padding:18px;
      border:1px solid #e5e7eb;
      box-shadow:0 22px 40px rgba(0,0,0,.10);
      position: sticky;
      top:95px;
    }
    .buy-thumb{
      border-radius:12px;
      overflow:hidden;
      margin-bottom:12px;
    }
    .buy-thumb img{
      width:100%;
      height:180px;
      object-fit:cover;
    }

    .buy-price{
      font-size:1.4rem;
      font-weight:600;
      margin-bottom:12px;
      color:#111;
    }

    .btn-buy{
      width:100%;
      display:flex;
      justify-content:center;
      align-items:center;
      gap:8px;
      font-weight:600;
      font-size: .95rem;
      padding: 10px 18px;
      border-radius:10px;
      background: var(--accent);
      color:#fff;
      border:none;
    }

    /* ================= DESCRIPTION / WHAT YOU'LL LEARN ================= */
    .section-title{
      font-size:1.8rem;
      font-weight:600;
      margin-bottom:20px;
      color:#111;
    }

    .learn-list{
      list-style:none;
      padding:0;
      margin:0;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap:20px;
    }
    .learn-list li{
      display:flex;
      align-items:flex-start;
      gap:10px;
      font-size:.95rem;
      color:#333;
      opacity:0;
      transform: translateY(20px);
      transition:opacity .40s ease, transform .40s ease;
    }
    .learn-list li.in-view{
      opacity:1;
      transform: translateY(0);
    }
    .learn-list i{
      color:#1c7df2;
      font-size:1.1rem;
      margin-top:3px;
    }

    /* ================= MOBILE RESPONSIVE ================= */
    @media (max-width: 991.98px){
      .learn-list{
        grid-template-columns:1fr;
      }
      .buy-box{
        position: static;
        margin-top:20px;
      }
    }







    /* ============= RELATED TOPICS ============= */
.course-related{
  margin: 10px 0 24px;
}

.course-related-title{
  font-size: 1.6rem;
  font-weight: 600;
  color:#111827;
  margin-bottom: 14px;
  opacity:0;
  transform: translateY(16px);
  transition: opacity .4s ease, transform .4s ease;
}
.course-related-title span{
  color: var(--accent);
}

.course-related-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  opacity:0;
  transform: translateY(16px);
  transition: opacity .4s ease, transform .4s ease .05s;
}

.related-chip{
  border-radius: 999px;
  border:1px solid #d1d5db;
  padding: 8px 18px;
  background:#eef2ff;
  color:#1f2937;
  font-size:.88rem;
  font-weight:500;
  cursor:pointer;
  transition: background .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.related-chip:hover{
  background: var(--accent);
  color:#fff;
  box-shadow:0 10px 18px rgba(61,116,255,.35);
  transform: translateY(-1px);
}

/* ============= COURSE INCLUDES ============= */
.course-includes{
  margin-bottom: 60px;
}

.course-includes-title{
  font-size: 1.6rem;
  font-weight:600;
  margin-bottom: 16px;
  color:#111827;
  opacity:0;
  transform: translateY(16px);
  transition: opacity .4s ease, transform .4s ease;
}
.course-includes-title span{
  color: var(--accent);
}

.course-includes-card{
  border-radius: 18px;
  border:1px solid #e5e7eb;
  background:#ffffff;
  box-shadow: 0 20px 36px rgba(15,23,42,.08);
  padding: 18px 22px;
  opacity:0;
  transform: translateY(18px);
  transition: opacity .45s ease, transform .45s ease;
}

.course-includes-list{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  column-gap: 40px;
  row-gap: 14px;
}

.course-include-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:.93rem;
  color:#111827;
  opacity:0;
  transform: translateY(14px);
  transition: opacity .4s ease, transform .4s ease;
}

.ci-icon{
  width:28px;
  height:28px;
  border-radius:999px;
  background:#eef2ff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1rem;
  color: var(--accent);
  flex-shrink:0;
}

/* ===== Scroll reveal common class ===== */
.reveal-on-scroll.in-view,
.course-includes-card.in-view,
.course-include-item.in-view{
  opacity:1;
  transform: translateY(0);
}

/* ===== Responsive ===== */
@media (max-width: 991.98px){
  .course-includes-list{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px){
  .course-includes-card{
    padding: 16px 16px;
  }
}








/* ============= COURSE MODULES ============= */
.course-modules{
  margin: 40px 0 70px;
}

.cm-title{
  font-size: 1.8rem;
  font-weight: 600;
  color:#111827;
  margin-bottom: 18px;
  opacity:0;
  transform: translateY(18px);
  transition: opacity .4s ease, transform .4s ease;
}
.cm-title span{
  color: var(--accent);
}

/* Accordion container */
.cm-accordion{
  border:0;
}

/* Each module row */
.cm-accordion .accordion-item{
  border:0;
  border-radius: 10px;
  overflow:hidden;
  margin-bottom: 10px;
  background:#f7f7f7;
  box-shadow: 0 10px 22px rgba(15,23,42,.04);
}

/* subtle alternating background */
.cm-accordion .accordion-item:nth-child(even){
  background:#f3f4f6;
}

/* Remove Bootstrap default background + arrow */
.cm-accordion .accordion-button{
  background:transparent;
  box-shadow:none;
}
.cm-accordion .accordion-button::after{
  display:none;
}

/* Custom header button layout */
.cm-accordion-btn{
  display:flex;
  align-items:center;
  width:100%;
  gap: 10px;
  padding: 12px 18px;
  font-size:.95rem;
  color:#111827;
}

/* Arrow icon using ::before */
.cm-accordion-btn::before{
  content:"▾";
  font-size:.8rem;
  color:#4b5563;
  margin-right: 6px;
  transition: transform .25s ease, color .25s ease;
  transform: rotate(-90deg);     /* collapsed */
}

/* Number badge */
.cm-number{
  font-weight:600;
  color:#2563eb;
  min-width: 86px;
}

/* Title text */
.cm-title-text{
  font-weight:500;
}

/* Expanded state */
.cm-accordion .accordion-button:not(.collapsed){
  color:#111827;
}
.cm-accordion .accordion-button:not(.collapsed)::before{
  transform: rotate(0deg);
  color: var(--accent);
}

/* Body */
.cm-body{
  border-top:1px solid #e5e7eb;
  padding: 10px 18px 14px;
  background:#ffffff;
}
.cm-list{
  margin:0;
  padding-left: 1.1rem;
  font-size:.9rem;
  color:#4b5563;
}
.cm-list li{
  margin-bottom:4px;
}

/* Reveal animation common class (in case not already added) */
.reveal-on-scroll{
  opacity:0;
  transform: translateY(16px);
  transition: opacity .4s ease, transform .4s ease;
}
.reveal-on-scroll.in-view{
  opacity:1;
  transform: translateY(0);
}

/* Responsive */
@media (max-width: 575.98px){
  .cm-accordion-btn{
    flex-wrap:wrap;
    align-items:flex-start;
  }
  .cm-number{
    min-width:auto;
    margin-right:4px;
  }
}
/* Initial hidden state */
.info-box,
.learn-list li,
.course-related-title,
.course-related-chips,
.course-includes-card,
.course-include-item,
.course-modules .cm-title,
.course-modules .module-item {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .35s ease, transform .35s ease;
}

/* When in view */
.in-view {
  opacity: 1;
  transform: translateY(0);
}
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .4s ease, transform .4s ease;
}

.reveal-on-scroll.in-view {
  opacity: 1;
  transform: translateY(0);
}










/* ===== Bottom info section (Requirements + Who) ===== */
.course-bottom-info{
  padding: 3.5rem 0 4rem;
  border-top: 1px solid rgba(148,163,184,.25);
  background: #ffffff;
}

.cb-title{
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1.25rem;
  color: #0f172a;              /* dark text */
}

.cb-title span{
  color: #3d74ff;              /* same blue as other highlights */
}

.cb-list{
  padding-left: 1.25rem;       /* keep bullets but tighten */
  margin: 0;
}

.cb-list li{
  margin-bottom: .6rem;
  line-height: 1.6;
  font-size: .98rem;
  color: #111827;
}

/* a little extra spacing on large screens */
@media (min-width: 992px){
  .course-bottom-info{
    padding-top: 4rem;
    padding-bottom: 4.5rem;
  }
}

/* ===== Scroll animation (reuse for new section) ===== */
/* (Only add this if you don't already have it) */
.reveal-on-scroll{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .45s ease, transform .45s ease;
}

.reveal-on-scroll.in-view{
  opacity: 1;
  transform: translateY(0);
}









/* ===== Top Programs Section ===== */
.top-programs{
  background: #f9fafb;
}

.tp-heading{
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.tp-kicker{
  font-size: .78rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 500;
  color: #16a34a;                 /* green label text */
}

.tp-dot{
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #16a34a;
}

.tp-title{
  font-size: 2rem;
  font-weight: 600;
  margin: 0;
  color: #020617;
}

@media (min-width: 992px){
  .tp-title{
    font-size: 2.4rem;
  }
}

/* ===== Cards ===== */
.tp-card{
  background: #ffffff;
  border-radius: 22px;
  box-shadow: 0 14px 38px rgba(15,23,42,.10);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .22s ease, box-shadow .22s ease;
}

.tp-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(15,23,42,.16);
}

.tp-card-media{
  position: relative;
  overflow: hidden;
}

.tp-card-media img{
  width: 100%;
  display: block;
  object-fit: cover;
  aspect-ratio: 16 / 9;          /* keeps nice banner aspect */
}

.tp-card-body{
  padding: 1.4rem 1.6rem 1.2rem;
}

.tp-card-title{
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: .45rem;
  color: #020617;
}

.tp-card-subtitle{
  font-size: .9rem;
  color: #4b5563;
  margin-bottom: 1.1rem;
}

.tp-card-footer{
  border-top: 1px solid #e5e7eb;
  padding-top: .85rem;
}

.tp-price{
  font-weight: 600;
  font-size: 1rem;
  color: #111827;
}

/* pill button */
.tp-btn{
  border-radius: 999px;
  padding: .45rem 1.3rem;
  font-size: .9rem;
  font-weight: 500;
  background: #111827;
  color: #fff;
  border: none;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.tp-btn:hover,
.tp-btn:focus{
  background: #0f172a;
  color: #fff;
}

/* small screen tweaks */
@media (max-width: 575.98px){
  .tp-card-body{
    padding: 1.1rem 1.1rem 1rem;
  }
  .tp-title{
    font-size: 1.6rem;
  }
  .tp-card-footer{
    flex-direction: column;
    align-items: flex-start !important;
  }
  .tp-btn{
    width: 100%;
    justify-content: center;
  }
}

/* ===== Scroll animation hook (reuse your existing pattern) ===== */
.reveal-on-scroll{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .45s ease, transform .45s ease;
}
.reveal-on-scroll.in-view{
  opacity: 1;
  transform: translateY(0);
}








    /* ================= FOOTER ================= */
.ew-footer{
    background: #135788;
  color:var(--ew-text);
  border-top:1px solid rgba(148,163,184,.35);
  margin-top:0;
}

.ew-footer-top{
  padding:70px 0 58px;  /* was 40px 0 26px */
   background: #135788;
}


.ew-footer-bottom{
  border-top:1px solid rgba(15,23,42,0.85);
  padding:18px 0;       /* was 12px 0 */
  background:#034371;
}

/* Logo in footer */
/* Footer Logo Image */
.ew-footer-logo-img {
  height: 105px;          /* Adjust size as needed */
  width: auto;
  display: block;
  filter: drop-shadow(0 0 10px rgba(245,185,65,0.3)); /* soft gold glow - matches your brand */
}
.ew-footer-logo-title{
  font-weight:600;
  font-size:.9rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.ew-footer-logo-subtitle{
  font-size:.7rem;
  text-transform:uppercase;
  color:var(--ew-text-muted);
  letter-spacing:.12em;
}
.ew-footer-copy{
  font-size:.82rem;
  color:#fff;
}

/* Heading */
.ew-footer-heading{
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:#fff;
  margin-bottom:.5rem;
}

/* Contact blocks */
.ew-footer-contact-block{
  font-size:.83rem;
}
.ew-footer-contact-label{
  font-size:.8rem;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#e5e7eb;
  margin-bottom:2px;
}
.ew-footer-contact-label .flag{
  margin-right:4px;
}
.ew-footer-contact-line{
  display:flex;
  align-items:center;
  gap:6px;
  color:#fff;
}
.ew-footer-contact-line i{
  font-size:.85rem;
  color:#fff;
}
.ew-footer-contact-line a{
  color:#fff;
  text-decoration:none;
}
.ew-footer-contact-line a:hover{
  color:var(--ew-accent);
  text-decoration:underline;
}

/* Quick links */
.ew-footer-links li{
  margin-bottom:4px;
}
.ew-footer-links a{
  font-size:.85rem;
  color:#fff;
  text-decoration:none;
  position:relative;
  padding-bottom:1px;
}
.ew-footer-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:1px;
  background:var(--ew-accent);
  transition:width .18s ease-out;
}
.ew-footer-links a:hover{
  color:var(--ew-accent);
}
.ew-footer-links a:hover::after{
  width:100%;
}

/* Newsletter */
.ew-footer-newsletter .input-group{
  background:rgba(15,23,42,.85);
  border-radius:999px;
  border:1px solid rgba(148,163,184,.45);
  overflow:hidden;
}
.ew-footer-input{
  background:transparent;
  border:none;
  color:var(--ew-text);
  font-size:.85rem;
}
.ew-footer-input::placeholder{
  color:#6b7280;
}
.ew-footer-input:focus{
  box-shadow:none;
}
.ew-footer-btn{
  border:none;
  border-radius:999px;
  background:linear-gradient(135deg,#fbbf24,#f59e0b);
  color:#111827;
  font-size:.85rem;
  font-weight:500;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:7px 14px;
}
.ew-footer-btn i{
  font-size:1rem;
}
.ew-footer-btn:hover{
  filter:brightness(1.03);
  color:#020617;
}

/* Social */
.ew-footer-social-label{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:#fff;
}
.ew-footer-social{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  color: #fff;
}
.ew-footer-social a{
  width:32px;
  height:32px;
  border-radius:999px;
  border:1px solid #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--ew-text-muted);
  font-size:1rem;
  text-decoration:none;
  transition:
    background .18s ease,
    color .18s ease,
    transform .18s ease,
    box-shadow .18s ease;
}
.ew-footer-social a:hover{
  background:var(--ew-accent);
  color:#020617;
  transform:translateY(-2px);
  box-shadow:0 0 16px rgba(245,185,65,.6);
}

/* Responsive */
@media (max-width: 767.98px){
  .ew-footer-top{
    padding:32px 0 22px;
  }
  .ew-footer-bottom{
    text-align:center;
  }
}