/* =========================================================
   MEFIMS — Gigatt Apex
   Design tokens
   ========================================================= */
:root{
  --navy-900: #0f2841;
  --navy-800: #16324f;
  --navy-700: #1c3f61;
  --teal-700: #16694f;
  --teal-600: #1c8262;
  --teal-500: #22997a;
  --mint-100: #eaf6f1;
  --mint-050: #f4faf7;
  --ink-900:  #14202b;
  --ink-600:  #5b6b78;
  --ink-400:  #8797a3;
  --line:     #e6ebef;
  --paper:    #ffffff;
  --amber:    #f2a93b;

  --font-display: "Manrope", "Segoe UI", sans-serif;
  --font-body: "Inter", "Segoe UI", sans-serif;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --shadow-card: 0 2px 4px rgba(15,40,65,.04), 0 12px 24px -12px rgba(15,40,65,.12);
  --shadow-pop:  0 8px 16px rgba(15,40,65,.06), 0 24px 48px -20px rgba(15,40,65,.18);
}

html{ scroll-behavior: smooth; }

body{
  font-family: var(--font-body);
  color: var(--ink-900);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}

h1,h2,h3,h4,h5,h6, .display-font{
  font-family: var(--font-display);
  color: var(--navy-900);
  letter-spacing: -0.01em;
}

a{ text-decoration:none; }

.text-teal{ color: var(--teal-600) !important; }
.text-navy{ color: var(--navy-900) !important; }
.text-ink-600{ color: var(--ink-600) !important; }
.bg-mint{ background: var(--mint-100) !important; }
.bg-navy{ background: var(--navy-800) !important; }

/* ---------- Buttons ---------- */
.btn-mefims-primary{
  background: var(--teal-700);
  border: 1px solid var(--teal-700);
  color: #fff;
  font-weight: 600;
  padding: .7rem 1.4rem;
  border-radius: var(--radius-sm);
  transition: all .18s ease;
}
.btn-mefims-primary:hover{
  background: var(--teal-600);
  border-color: var(--teal-600);
  color: #fff;
  transform: translateY(-1px);
}
.btn-mefims-outline{
  background: transparent;
  border: 1.5px solid var(--line);
  color: var(--navy-900);
  font-weight: 600;
  padding: .68rem 1.3rem;
  border-radius: var(--radius-sm);
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  transition: all .18s ease;
}
.btn-mefims-outline:hover{
  border-color: var(--navy-800);
  background: var(--mint-050);
  color: var(--navy-900);
}
.btn-mefims-outline .icon-circle{
  width: 26px; height:26px;
  background: var(--mint-100);
  color: var(--teal-700);
  border-radius: 50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.72rem;
}

/* ---------- Navbar ---------- */
.mefims-nav{
  background: #fff;
  border-bottom: 1px solid var(--line);
  padding-top: .85rem;
  padding-bottom: .85rem;
  transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.mefims-nav.is-scrolled{
  background: var(--navy-900);
  border-bottom-color: rgba(255,255,255,.08);
  box-shadow: 0 6px 20px rgba(0,0,0,.18);
}
.mefims-nav.is-scrolled .nav-link{ color:#e7edf1; }
.mefims-nav.is-scrolled .nav-link.active{ color:#7fd8b8; }
.mefims-nav.is-scrolled .nav-link:hover{ color:#fff; }
.mefims-nav.is-scrolled .btn-mefims-outline{
  border-color: rgba(255,255,255,.35);
  color:#fff;
}
.mefims-nav.is-scrolled .btn-mefims-outline .icon-circle{
  background: rgba(255,255,255,.12);
  color:#7fd8b8;
}
.mefims-nav.is-scrolled .btn-mefims-outline:hover{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.5);
  color:#fff;
}
.mefims-nav.is-scrolled .navbar-toggler{
  border-color: rgba(255,255,255,.4);
}
.mefims-nav.is-scrolled .navbar-toggler-icon{
  filter: invert(1) brightness(1.6);
}
.mefims-nav.is-scrolled .dropdown-toggle::after{ opacity:.85; }

/* ---------- Logo (image-based, color + white variants) ---------- */
.mefims-logo{
  display:flex;
  align-items:center;
}
.logo-img{
  height: 42px;
  width: auto;
  display: block;
}
.logo-scrolled{ display:none; }
.mefims-nav.is-scrolled .logo-default{ display:none; }
.mefims-nav.is-scrolled .logo-scrolled{ display:block; }
.mefims-footer .logo-img{ height: 42px; }

.mefims-nav .nav-link{
  color: var(--ink-900);
  font-weight: 600;
  font-size: .93rem;
  padding: .5rem .9rem !important;
}
.mefims-nav .nav-link.active{
  color: var(--teal-700);
}
.mefims-nav .navbar-nav{ align-items:center; gap:.1rem; }
.mefims-nav .dropdown-toggle::after{ vertical-align: .18em; }

/* ---------- Hero ---------- */
/* mini dashboard preview — reused inside solution-visual panels */
.mini-dash-top{
  display:flex; gap:.5rem; margin-bottom:.6rem;
}
.mini-stat{
  flex:1;
  background: var(--mint-050);
  border-radius: 8px;
  padding: .45rem .55rem;
  border: 1px solid var(--line);
}
.mini-stat .v{ font-family: var(--font-display); font-weight:800; font-size: .82rem; color: var(--navy-900);}
.mini-stat .l{ font-size:.6rem; color: var(--ink-400); text-transform:uppercase; letter-spacing:.03em;}
.mini-stat.pos .v{ color: var(--teal-700); }

/* ---------- Hero Slider ---------- */
.hero-slider{
  position: relative;
  overflow: hidden;
}
.hero-slider .carousel-item{
  position: relative;
  min-height: 620px;
  display: flex;
  align-items: center;
}
.hero-slider .slide-bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.hero-slider .slide-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(9,26,43,.92) 0%, rgba(9,26,43,.72) 42%, rgba(9,26,43,.32) 75%, rgba(9,26,43,.18) 100%);
  z-index: 1;
}
.hero-slider .slide-content{
  position: relative;
  z-index: 2;
  max-width: 620px;
  padding: 5.5rem 0;
}
.hero-slider .eyebrow-line{
  width: 46px; height: 4px;
  background: #7fd8b8;
  border-radius: 2px;
  margin-bottom: 1.1rem;
}
.hero-slider h1{
  font-size: clamp(2.4rem, 4.6vw, 3.6rem);
  font-weight: 800;
  line-height: 1.02;
  color: #ffffff;
}
.hero-slider .subtitle{
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.05rem, 1.8vw, 1.3rem);
  color: #7fd8b8;
  line-height: 1.3;
  margin-top: .6rem;
}
.hero-slider p.lead{
  color: #d7e0e6;
  font-size: 1rem;
  margin-top: 1.1rem;
}
.hero-slider .btn-mefims-outline{
  border-color: rgba(255,255,255,.4);
  color: #fff;
}
.hero-slider .btn-mefims-outline .icon-circle{
  background: rgba(255,255,255,.12);
  color: #7fd8b8;
}
.hero-slider .btn-mefims-outline:hover{
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.6);
  color: #fff;
}
.hero-slider .carousel-indicators{
  bottom: 1.4rem;
  margin-bottom: 0;
  z-index: 3;
}
.hero-slider .carousel-indicators [data-bs-target]{
  width: 9px; height: 9px;
  border-radius: 50%;
  border: none;
  background-color: rgba(255,255,255,.4);
  opacity: 1;
  margin: 0 5px;
}
.hero-slider .carousel-indicators .active{
  background-color: #7fd8b8;
  width: 22px;
  border-radius: 5px;
}
.hero-slider .carousel-control-prev,
.hero-slider .carousel-control-next{
  width: 4rem;
  opacity: 0;
  transition: opacity .2s ease;
  z-index: 3;
}
.hero-slider:hover .carousel-control-prev,
.hero-slider:hover .carousel-control-next{
  opacity: .8;
}
.hero-slider .carousel-control-prev-icon,
.hero-slider .carousel-control-next-icon{
  width: 2rem; height: 2rem;
  background-color: rgba(255,255,255,.14);
  border-radius: 50%;
  padding: .5rem;
  background-size: 1rem;
}

@media (max-width: 767.98px){
  .hero-slider .carousel-item{ min-height: 520px; }
  .hero-slider .slide-content{ padding: 4rem 0; }
}

/* ---------- Trust strip ---------- */
.trust-strip{
  background: var(--navy-800);
  padding: 1.4rem 0;
}
.trust-item{
  display:flex; align-items:center; gap:.75rem; color:#fff;
}
.trust-item .ic{
  width:42px; height:42px;
  border-radius:10px;
  background: rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
  color:#7fd8b8;
  font-size:1.05rem;
  flex-shrink:0;
}
.trust-item .t{ font-weight:700; font-size:.85rem; line-height:1.2; }
.trust-item .s{ font-size:.72rem; color:#b9c6d0; }

/* ---------- Section heading ---------- */
.section-head{
  text-align:center;
  max-width: 640px;
  margin: 0 auto 2.6rem;
}
.section-head .rule{
  width:56px; height:3px; background:var(--teal-600); margin:.7rem auto 0; border-radius:2px;
}
.section-head h2{
  font-size: clamp(1.6rem, 3vw, 2.15rem);
  font-weight:800;
}

/* ---------- Feature grid cards ---------- */
.feat-card{
  background:#fff;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 1.6rem 1.5rem;
  transition: all .2s ease;
}
.feat-card:hover{
  box-shadow: var(--shadow-card);
  transform: translateY(-3px);
  border-color: transparent;
}
.feat-card .ic-wrap{
  width:48px; height:48px;
  border-radius:12px;
  background: var(--mint-100);
  color: var(--teal-700);
  display:flex; align-items:center; justify-content:center;
  font-size:1.25rem;
  margin-bottom:1rem;
}
.feat-card h3{
  font-size:1.02rem;
  font-weight:800;
  margin-bottom:.4rem;
}
.feat-card p{
  color: var(--ink-600);
  font-size:.88rem;
  margin-bottom:.85rem;
}
.feat-card .learn{
  font-size:.82rem;
  font-weight:700;
  color: var(--navy-900);
  display:inline-flex;
  align-items:center;
  gap:.35rem;
}
.feat-card .learn i{ transition: transform .18s ease; font-size:.75rem; }
.feat-card:hover .learn i{ transform: translateX(3px); }

/* alternate palette accents for variety, matches mockup icon color rotation */
.feat-card:nth-child(4n+2) .ic-wrap{ background:#eaf1fb; color:#2563a8; }
.feat-card:nth-child(4n+3) .ic-wrap{ background:#fdf1e6; color:#c17a25; }
.feat-card:nth-child(4n+4) .ic-wrap{ background:#f2eefb; color:#6c4bc9; }

/* ---------- Outcomes / stat band ---------- */
.outcomes-band{
  background: var(--mint-050);
  padding: 3.2rem 0;
}
.stat-tile{
  text-align:center;
}
.stat-tile .ic{
  width:64px; height:64px;
  margin: 0 auto .9rem;
  border-radius:50%;
  background:#fff;
  border: 1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  color: var(--teal-700);
  font-size:1.4rem;
  box-shadow: var(--shadow-card);
}
.stat-tile .num{
  font-family: var(--font-display);
  font-weight:800;
  font-size: 2rem;
  color: var(--navy-900);
}
.stat-tile .lbl{
  color: var(--ink-600);
  font-size:.85rem;
  font-weight:600;
}

/* ---------- Stat bar (about page, dark) ---------- */
.stat-bar-dark{
  background: var(--navy-800);
  border-radius: var(--radius-md);
  padding: 1.8rem 1rem;
}
.stat-bar-dark .cell{
  display:flex; align-items:center; gap:.9rem;
  color:#fff;
  border-right: 1px solid rgba(255,255,255,.12);
}
.stat-bar-dark .cell:last-child{ border-right:none; }
.stat-bar-dark .ic{
  width:46px;height:46px;border-radius:10px;
  background: rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  color:#7fd8b8; font-size:1.15rem; flex-shrink:0;
}
.stat-bar-dark .num{ font-family: var(--font-display); font-weight:800; font-size:1.5rem; line-height:1; }
.stat-bar-dark .lbl{ font-size:.74rem; color:#b9c6d0; }

/* ---------- Checklist ---------- */
.check-list li{
  display:flex; align-items:flex-start; gap:.65rem;
  margin-bottom:.7rem;
  color: var(--ink-600);
  font-size:.92rem;
}
.check-list li i{
  color: var(--teal-600);
  margin-top: .2rem;
  flex-shrink:0;
}
.check-list li b{ color: var(--navy-900); }

/* ---------- Footer ---------- */
.mefims-footer{
  background: var(--navy-900);
  color: #c6d2da;
  padding: 3.2rem 0 1.4rem;
}
.mefims-footer h6{
  color:#fff;
  font-weight:800;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:1rem;
}
.mefims-footer a{ color:#c6d2da; }
.mefims-footer a:hover{ color:#7fd8b8; }
.mefims-footer .flink{ display:block; font-size:.88rem; margin-bottom:.55rem; }
.mefims-footer hr{ border-color: rgba(255,255,255,.1); margin: 2rem 0 1.2rem; }
.footer-social a{
  width:36px;height:36px; border-radius:8px;
  background: rgba(255,255,255,.06);
  display:inline-flex; align-items:center; justify-content:center;
  margin-right:.5rem;
}
.footer-social a:hover{ background: var(--teal-700); color:#fff; }

/* ---------- Page hero (interior pages) ---------- */
.page-hero{
  position: relative;
  background:
    linear-gradient(100deg, rgba(9,26,43,.90) 0%, rgba(9,26,43,.80) 55%, rgba(9,26,43,.72) 100%),
    url('../img/page-hero-bg.svg') center / cover no-repeat;
  border-bottom: none;
  padding: 4.5rem 0;
  overflow: hidden;
}
.page-hero .eyebrow{
  color: #7fd8b8;
  font-weight:800;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.page-hero h1{ color:#ffffff; }
.page-hero p{ color:#d7e0e6; }
.page-hero p.text-ink-600{ color:#d7e0e6 !important; }

/* ---------- Utility ---------- */
.rounded-xl{ border-radius: var(--radius-lg) !important; }
.shadow-pop{ box-shadow: var(--shadow-pop); }
.shadow-card{ box-shadow: var(--shadow-card); }

@media (max-width: 991.98px){
  .stat-bar-dark .cell{ border-right:none; border-bottom: 1px solid rgba(255,255,255,.12); padding-bottom:1rem; margin-bottom:1rem; }
  .stat-bar-dark .cell:last-child{ border-bottom:none; margin-bottom:0; padding-bottom:0;}
}