/* ===============================
   NFBI BRAND THEME
=============================== */
:root{
  --nfbi-primary:#0A2259;
  --nfbi-accent:#911321;
  --nfbi-white:#ffffff;
  --nfbi-dark:#06163d;
}

*{ box-sizing:border-box; }

body{
  font-family:'Segoe UI', Arial, sans-serif;
  color:#222;
  background:#fff;
  margin:0;
  padding:0;
}

/* ===============================
   BACKGROUNDS & TEXT
=============================== */
.bg-primary{ background:var(--nfbi-primary)!important; }
.bg-accent{ background:var(--nfbi-accent)!important; }

.text-primary{ color:var(--nfbi-primary)!important; }
.text-accent{ color:var(--nfbi-accent)!important; }

/* ===============================
   BUTTONS
=============================== */
.btn-primary{
  background:var(--nfbi-primary);
  border:none;
  color:#fff;
}
.btn-primary:hover{ background:#071a45; }

.btn-accent{
  background:var(--nfbi-accent);
  border:none;
  color:#fff;
}
.btn-accent:hover{ background:#74101a; }

.btn-outline-primary{
  border:2px solid var(--nfbi-primary);
  color:var(--nfbi-primary);
}
.btn-outline-primary:hover{
  background:var(--nfbi-primary);
  color:#fff;
}

/* ===============================
   NAVBAR (FIXED + MOBILE SAFE)
=============================== */
.navbar{
  background:#fff;
  transition:all .3s ease;
  padding:0.75rem 1rem;
  min-height:64px;
}

.navbar-brand{
  display:flex;
  align-items:center;
  gap:8px;
}

.nfbi-logo{ height:42px; }

.nfbi-title{
  font-weight:700;
  font-size:1rem;
  line-height:1.2;
  white-space:nowrap;
}

.navbar .nav-link{
  color:#222;
  font-weight:500;
}
.navbar .nav-link:hover,
.navbar .nav-link.active{
  color:var(--nfbi-accent);
}

/* Shrink on scroll */
.navbar.shrink{
  padding:0.35rem 1rem;
}
.navbar.shrink .nfbi-logo{ height:34px; }

/* Mobile navbar */
@media(max-width:576px){
  .navbar{
    min-height:58px;
    padding:0.5rem 0.75rem;
  }
  .nfbi-logo{ height:32px; }
  .nfbi-title{ font-size:.9rem; max-width:200px; }
}

/* ===============================
   HERO SECTION (FINAL FIX)
=============================== */
.hero-modern{
  position:relative;
  padding:140px 0 90px; /* TOP PUSHED BELOW NAVBAR */
  background:linear-gradient(
    135deg,
    #0A2259 0%,
    #0A2259 65%,
    #911321 100%
  );
  overflow:hidden;
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.08), transparent 40%),
    radial-gradient(circle at bottom right, rgba(0,0,0,0.2), transparent 50%);
  z-index:0;
}

.hero-modern .container{ position:relative; z-index:1; }

.hero-badge{
  display:inline-block;
  background:rgba(255,255,255,0.15);
  padding:6px 14px;
  border-radius:20px;
  font-size:.85rem;
  font-weight:600;
  color:#fff;
}

.hero-title{
  font-weight:800;
  font-size:2.6rem;
  line-height:1.2;
  margin-top:12px;
}

.hero-highlight{
  display:block;
  color:#f3c9ce;
  font-style:italic;
}

.hero-sub{
  font-size:1.05rem;
  color:#e6e6e6;
  max-width:520px;
}

.hero-points{
  list-style:none;
  padding-left:0;
}
.hero-points li{
  color:#f1f1f1;
  margin-bottom:8px;
}

/* ===============================
   HERO IMAGE — IMAGE ONLY TOUCH BOTTOM
=============================== */
.hero-modern .col-md-6:last-child{
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.hero-img{
  max-height:520px;
  width:auto;
  margin-bottom:-28px; /* IMAGE touches bottom */
  filter:drop-shadow(0 20px 30px rgba(0,0,0,.35));
}

/* Mobile hero */
@media(max-width:768px){
  .hero-modern{
    padding:110px 0 70px;
  }
  .hero-title{ font-size:2rem; }
  .hero-img{
    max-height:340px;
    margin-bottom:0;
  }
}

/* ===============================
   SECTION TITLES (COMPLETE)
=============================== */
.section-title{
  font-weight:800;
  font-size:2.2rem;
  color:var(--nfbi-primary);
  text-transform:uppercase;
  letter-spacing:.6px;
  margin-bottom:6px;
}

.section-title span{
  color:var(--nfbi-accent);
}

.section-sub{
  color:#555;
  font-size:1rem;
  line-height:1.7;
}

.section-divider{
  width:70px;
  height:4px;
  background:var(--nfbi-accent);
  margin:12px auto 0;
  border-radius:2px;
}

@media(max-width:768px){
  .section-title{ font-size:1.8rem; }
}

/* ===============================
   SECTIONS
=============================== */
.section-light{ background:#f6f9ff; }

.section-box{
  background:#fff;
  border-radius:10px;
  padding:25px;
  box-shadow:0 5px 20px rgba(0,0,0,.05);
  transition:.3s;
}
.section-box:hover{
  transform:translateY(-6px);
  box-shadow:0 15px 30px rgba(0,0,0,.15);
}

/* ===============================
   CHECK LIST
=============================== */
.check-list{
  list-style:none;
  padding-left:0;
}
.check-list li{
  position:relative;
  padding-left:28px;
  margin-bottom:12px;
}
.check-list li::before{
  content:"✔";
  position:absolute;
  left:0;
  color:var(--nfbi-accent);
  font-weight:700;
}

/* ===============================
   COURSE CARDS
=============================== */
.course-card{
  border-radius:12px;
  transition:.3s;
}
.course-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 30px rgba(0,0,0,.12);
}

.course-card img{
  height:200px;
  object-fit:cover;
  border-radius:12px 12px 0 0;
}

.course-icon{
  width:52px;
  height:52px;
  background:#f6f9ff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.4rem;
  color:var(--nfbi-primary);
}

/* ===============================
   PARTNERS
=============================== */
.partner-card{
  background:#fff;
  border-radius:10px;
  padding:20px;
  height:100px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}

/* ===============================
   TESTIMONIALS
=============================== */
.testimonial-card{
  background:#fff;
  padding:30px;
  border-radius:14px;
  box-shadow:0 8px 25px rgba(0,0,0,.06);
}

.testimonial-img{
  width:80px;
  height:80px;
  margin:0 auto 15px;
}
.testimonial-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
  border:3px solid var(--nfbi-accent);
}

.testimonial-text{
  font-size:.95rem;
  line-height:1.7;
}

/* ===============================
   FOOTER
=============================== */
footer{
  background:var(--nfbi-primary);
  color:#fff;
}
footer a{ color:#fff; }
footer a:hover{ color:var(--nfbi-accent); }