:root{
  --slate-900:#0f172a;
  --slate-800:#1e293b;
  --slate-700:#334155;
  --slate-600:#475569;
  --slate-400:#94a3b8;
  --slate-300:#cbd5e1;
  --blue-500:#3b82f6;
  --cyan-500:#06b6d4;
  --blue-400:#60a5fa;
  --blue-300:#93c5fd;
  --cyan-400:#22d3ee;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:120px;
}

@media (max-width: 991.98px) {
  html{
    scroll-padding-top:80px;
  }
}

body{
  background-color:var(--slate-900);
  color:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

/* Header */
.navbar-dark-custom{
  background-color:rgba(15,23,42,.95);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--slate-800);
}
.navbar-brand{
  background-color:rgba(255,255,255,0.95);
  padding:0.75rem 1.25rem;
  border-radius:0.5rem;
  transition:background-color 0.2s;
}
.navbar-brand:hover{
  background-color:rgba(255,255,255,1);
}
.brand-title{
  color:#2c3e50;
  font-size:1.75rem;
  font-weight:300;
  letter-spacing:0.15em;
  line-height:1.3;
  margin:0;
  font-family:'Trebuchet MS','Lucida Sans Unicode',Arial,sans-serif;
}
.brand-title .name-line{
  display:block;
  font-size:1rem;
  letter-spacing:0.2em;
}
.brand-title .ampersand{
  color:var(--blue-400);
  font-weight:400;
}
.brand-subtitle{font-size:.7rem;color:var(--slate-400);margin:0;margin-top:0.25rem;}
.nav-link{
  color:var(--slate-300)!important;
  font-weight:500;
  transition:color .2s;
  position:relative;
}
.nav-link:hover{color:#fff!important;}
.nav-link.active{
  color:#fff!important;
}
.nav-link.active::after{
  content:'';
  position:absolute;
  bottom:-4px;
  left:0;
  right:0;
  height:2px;
  background:linear-gradient(to right,var(--blue-500),var(--cyan-500));
  border-radius:1px;
}
@media (max-width: 991.98px) {
  .nav-link.active::after{
    bottom:0;
    left:8px;
    right:8px;
  }
}
.btn-gradient{
  background:linear-gradient(to right,var(--blue-500),var(--cyan-500));
  border:none;color:#fff;font-weight:600;padding:.625rem 1.5rem;border-radius:50px;transition:box-shadow .3s;
}
.btn-gradient:hover{box-shadow:0 10px 25px rgba(59,130,246,.5);color:#fff;}

/* Hero */
.hero-section{position:relative;min-height:700px;display:flex;align-items:center;overflow:hidden;}
.hero-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  filter:blur(1px) brightness(1.2);
}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(15,23,42,.5),rgba(15,23,42,.4),rgba(15,23,42,.3));z-index:1;}
.hero-overlay-2{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(15,23,42,.3),transparent,rgba(15,23,42,.7));z-index:2;}
.hero-pattern{
  position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(59,130,246,.1) 1px,transparent 0);
  background-size:40px 40px;z-index:3;
}
.hero-content{position:relative;z-index:4;}
.badge-veteran{
  background-color:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.3);color:var(--blue-400);
  backdrop-filter:blur(10px);padding:.75rem 1.25rem;border-radius:50px;display:inline-flex;align-items:center;
  font-size:.875rem;font-weight:600;white-space:normal;text-align:center;
}
@media (max-width: 991.98px) {
  .badge-veteran{
    padding:.875rem 1.5rem;
    font-size:.9rem;
  }
}
.hero-title{font-size:3.75rem;font-weight:700;line-height:1.1;margin-bottom:1.5rem;}
.gradient-text{
  background:linear-gradient(to right,var(--blue-400),var(--cyan-400));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-description{font-size:1.25rem;color:var(--slate-300);line-height:1.6;margin-bottom:2.5rem;}
.btn-hero-primary{
  background:linear-gradient(to right,var(--blue-500),var(--cyan-500));
  border:none;color:#fff;font-weight:600;padding:1rem 2rem;border-radius:.5rem;transition:box-shadow .3s;display:inline-block;text-decoration:none;
}
.btn-hero-primary:hover{box-shadow:0 10px 25px rgba(59,130,246,.5);color:#fff;}
.btn-hero-secondary{
  border:2px solid var(--slate-600);background-color:rgba(15,23,42,.5);backdrop-filter:blur(10px);
  color:#fff;font-weight:600;padding:1rem 2rem;border-radius:.5rem;transition:background-color .3s;display:inline-block;text-decoration:none;
}
.btn-hero-secondary:hover{background-color:rgba(30,41,59,.8);color:#fff;}

.stats-card{
  background-color:rgba(15,23,42,.6);backdrop-filter:blur(10px);
  border:1px solid rgba(51,65,85,.5);border-radius:1rem;padding:2rem;
}
.stat-number{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;}
.stat-label{font-size:.875rem;color:var(--slate-300);font-weight:500;}

/* About Section */
.section-dark{background-color:#020617;padding:5rem 0;}
.about-text{line-height:1.8;color:rgba(255, 255, 255, 0.85);font-size:1.05rem;}

/* Expertise */
.expertise-card{
  background-color:rgba(30,41,59,.5);border:1px solid var(--slate-700);border-radius:1rem;padding:2rem;transition:border-color .3s;height:100%;
}
.expertise-card:hover{border-color:rgba(59,130,246,.5);}
.icon-box{width:3.5rem;height:3.5rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;transition:transform .3s;}
.expertise-card:hover .icon-box{transform:scale(1.1);}
.icon-box-blue{background:linear-gradient(to bottom right,var(--blue-500),var(--cyan-500));}
.icon-box-cyan{background:linear-gradient(to bottom right,var(--cyan-500),var(--blue-500));}
.expertise-card h3{font-size:1.25rem;font-weight:700;margin-bottom:1rem;}
.expertise-card p{color:var(--slate-400);line-height:1.6;margin-bottom:1rem;}
.learn-more-link{color:var(--blue-400);font-weight:600;text-decoration:none;transition:color .2s;}
.learn-more-link:hover{color:var(--blue-300);}

.callout-card{
  background:linear-gradient(to bottom right,rgba(30,58,138,.2),rgba(6,78,59,.2));
  border:1px solid var(--slate-700);
  border-radius:1rem;
  padding:1.5rem;
  margin-top:2rem;
}

/* News (full-width) */
.section-news{background-color:var(--slate-900);padding:5rem 0;}
.news-panel{
  background-color:rgba(30,41,59,.5);
  border:1px solid var(--slate-700);
  border-radius:.75rem;
  overflow:hidden;
}
.news-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--slate-700);}
.news-item{padding:1.25rem 1.5rem;border-bottom:1px solid var(--slate-700);}
.news-item:last-child{border-bottom:none;}
.news-date{font-size:.875rem;color:var(--blue-400);margin-bottom:.25rem;}
/* Zebra stripe the news dates - alternating blue and cyan */
.news-item:nth-child(odd) .news-date{color:var(--blue-400);}
.news-item:nth-child(even) .news-date{color:var(--cyan-400);}
.news-title{font-size:1.125rem;font-weight:600;margin-bottom:.25rem;}
.news-description{font-size:.875rem;color:var(--slate-400);margin:0;}

/* Contact */
.contact-card{
  background:linear-gradient(to bottom right,rgba(30,58,138,.2),rgba(6,78,59,.2));
  border:1px solid var(--slate-700);
  border-radius:1rem;
  padding:3rem 2rem;
}
.contact-card .form-label{
  color:rgba(255, 255, 255, 0.9) !important;
  font-weight:500;
}
.contact-card p{
  color:rgba(255, 255, 255, 0.85);
}

/* Team Bios */
.accordion-body{
  color:rgba(255, 255, 255, 0.85) !important;
}
.accordion-body p{
  line-height:1.7;
}

/* Footer */
.footer{background-color:#020617;border-top:1px solid var(--slate-800);padding:3rem 0;}
.footer .brand-title{color:rgba(255, 255, 255, 0.95);font-size:1.5rem;}
.footer h4{font-weight:600;margin-bottom:1rem;}
.footer ul{list-style:none;padding:0;}
.footer ul li{margin-bottom:.5rem;}
.footer a{color:var(--slate-400);text-decoration:none;font-size:.875rem;transition:color .2s;}
.footer a:hover{color:var(--blue-400);}
.footer-bottom{border-top:1px solid var(--slate-800);padding-top:2rem;margin-top:2rem;text-align:center;color:#64748b;font-size:.875rem;}

/* Responsive */
@media (max-width: 991.98px){
  .hero-title{font-size:2.5rem;}
  .stats-card{margin-top:2rem;}
}
