:root{
  --ilmi-bg:#031214;
  --ilmi-panel:#061A1D;
  --ilmi-line:#0E3A3F;
  --ilmi-text:#E6FFFB;
  --ilmi-muted:#CFFAF4;
  --ilmi-teal:#12B8A6;       /* UNCW-ish bright teal for CTAs */
  --ilmi-teal-soft:#2DD4BF;  /* softer accent */
  --ilmi-black:#000B0C;
}

.navbar{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(3,18,20,.72);
  backdrop-filter:saturate(140%) blur(6px);
  transition:all .25s ease;
}

.navbar.is-compact{
  transform:translateY(0); 
  box-shadow:0 8px 24px rgba(0,0,0,.25);
}

.navbar .nav-link{
  color:var(--ilmi-muted);
  transition:color .15s ease;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus{
  color:var(--ilmi-teal-soft);
}

.btn{
  transition:transform .08s ease, box-shadow .2s ease;
}

.btn:hover,
.btn:focus{
  transform:translateY(-1px);
  box-shadow:0 10px 26px rgba(0,0,0,.22);
}

.btn-primary{
  background:var(--ilmi-teal);
  color:#002A2D;
  font-weight:700;
  border:0;
}

.btn-secondary{
  border:1px solid var(--ilmi-line);
  color:var(--ilmi-muted);
  background:transparent;
}

.section-header h2{
  letter-spacing:.01em;
}

.card,
.service-card{
  background:var(--ilmi-panel);
  border:1px solid var(--ilmi-line);
  border-radius:16px;
}

.service-card:hover{
  transform:translateY(-2px);
  transition:transform .12s ease, box-shadow .2s ease;
  box-shadow:0 14px 36px rgba(0,0,0,.22);
}

.alt-row:nth-child(odd){
  background:rgba(255,255,255,.02);
}

.alt-row:nth-child(even){
  background:transparent;
}

.footer{
  border-top:1px solid var(--ilmi-line);
}

.hidden-on-load{
  opacity:0;
  transform:translateY(12px);
}

.revealed{
  opacity:1;
  transform:none;
  transition:opacity .5s ease, transform .5s ease;
}

