:root{
  --bg:#0B0E12;
  --panel:#12161D;
  --panel-2:#171C24;
  --blue:#5AAEE0;
  --blue-soft:#3A6E92;
  --gold:#C9A667;
  --ink:#ECEAE4;
  --muted:#8B9099;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  font-weight:300;
  overflow-x:hidden;
}
h1,h2,h3,h4,.brand-font{
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  letter-spacing:-.01em;
}
.mono{font-family:'JetBrains Mono',monospace;}
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--gold);
  display:inline-flex;align-items:center;gap:.6rem;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--gold);display:inline-block;}

/* NAV */
.navbar{
  position:fixed;top:0;width:100%;z-index:999;
  padding:1.1rem 0;
  background:transparent;
  transition:.35s;
}
.navbar.scrolled{
  background:rgba(11,14,18,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.06);
  padding:.75rem 0;
}
.navbar-brand img{height:32px;}
.nav-link{
  color:var(--ink)!important;
  font-size:.82rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-family:'JetBrains Mono',monospace;
  margin:0 .7rem;
  opacity:.75;
  transition:.2s;
}
.nav-link:hover{opacity:1;color:var(--blue)!important;}
.nav-cta{
  border:1px solid var(--gold);
  color:var(--gold)!important;
  padding:.45rem 1.1rem!important;
  border-radius:1px;
  opacity:1!important;
}
.nav-cta:hover{background:var(--gold);color:var(--bg)!important;}
.navbar-toggler{border-color:rgba(255,255,255,.3);}

/* mobile dropdown menu needs its own solid backdrop, independent of scroll state */
@media(max-width:991px){
  .navbar-collapse{
    background:rgba(11,14,18,.97);
    backdrop-filter:blur(10px);
    margin-top:1rem;
    padding:1.1rem 1.3rem;
    border-radius:6px;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 16px 40px rgba(0,0,0,.4);
  }
  .navbar-collapse .nav-link{margin:.35rem 0;}
  .navbar-collapse .nav-cta{display:inline-block;margin-top:.5rem;}
}

/* HERO */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  background:#000;
}
.hero-bg{
  position:absolute;inset:0;
  background:url('images/hero-bg.jpg') center center/cover no-repeat;
  opacity:.55;
}
.hero-gradient{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(11,14,18,.55) 0%, rgba(11,14,18,.35) 40%, var(--bg) 100%);
}
.hero-mark{
  position:absolute;
  right:-6%;top:50%;transform:translateY(-50%);
  width:46vw;max-width:640px;
  opacity:.08;
  filter:drop-shadow(0 0 60px var(--blue));
  pointer-events:none;
}
.hero-content{position:relative;z-index:3;}
.hero-content h1{
  font-size:clamp(2.8rem,7vw,5.2rem);
  line-height:1.0;
  margin:1rem 0 .5rem;
  color:#fff;
}
.hero-content h1 .accent-word{color:var(--blue);}
.hero-content .sub{
  font-size:clamp(1.1rem,2vw,1.4rem);
  color:var(--muted);
  font-weight:300;
  max-width:600px;
  margin-bottom:2rem;
}
.btn-gold{
  background:transparent;
  border:1px solid var(--gold);
  color:var(--gold);
  padding:.9rem 2.1rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.8rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:.25s;
}
.btn-gold:hover{background:var(--gold);color:#000;}
.scroll-hint{
  position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);
  font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.2em;
  color:var(--muted);text-transform:uppercase;z-index:3;
}

/* SECTIONS */
.section{padding:7rem 0;position:relative;}
.section-title{
  font-size:clamp(2rem,3.6vw,3rem);
  color:#fff;
  margin:.8rem 0 1.2rem;
}
.lead-text{color:var(--muted);font-size:1.02rem;max-width:680px;font-weight:300;}

/* stat feature */
.stat-feature{
  text-align:center;
  padding:2.8rem 0;
}
.stat-feature b{
  display:block;font-family:'Space Grotesk',sans-serif;
  font-size:clamp(4rem,9vw,6.5rem);
  line-height:1;
  background:linear-gradient(135deg, var(--blue) 10%, var(--gold) 90%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 60px rgba(90,174,224,.25);
}
.stat-feature span{
  display:block;margin-top:.6rem;
  font-size:.82rem;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;font-family:'JetBrains Mono',monospace;
}

/* industries ticker */
.ticker-wrap{
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  padding:1.1rem 0;
  white-space:nowrap;
  position:relative;
}
.ticker-wrap::before,.ticker-wrap::after{
  content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;
}
.ticker-wrap::before{left:0;background:linear-gradient(90deg, var(--bg), transparent);}
.ticker-wrap::after{right:0;background:linear-gradient(270deg, var(--bg), transparent);}
.ticker-track{
  display:flex;
  width:max-content;
  animation:ticker-scroll 28s linear infinite;
  will-change:transform;
  backface-visibility:hidden;
}
.ticker-track span{
  font-family:'JetBrains Mono',monospace;
  font-size:.78rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
  padding:0 1.6rem;
  display:inline-flex;
  align-items:center;
  flex-shrink:0;
  white-space:nowrap;
}
.ticker-track span::after{
  content:"◆";
  color:var(--gold);
  margin-left:1.6rem;
  font-size:.6rem;
}
@keyframes ticker-scroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* ===== scroll reveal ===== */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s cubic-bezier(.22,.9,.32,1), transform .8s cubic-bezier(.22,.9,.32,1);
  will-change:opacity, transform;
}
.reveal.active{opacity:1;transform:translateY(0);}
.reveal-zoom{opacity:0;transform:scale(.94);transition:opacity .8s ease, transform .8s ease;}
.reveal-zoom.active{opacity:1;transform:scale(1);}

/* hero entrance */
.hero-anim{opacity:0;transform:translateY(26px);animation:heroIn .9s cubic-bezier(.22,.9,.32,1) forwards;}
.hero-anim.d1{animation-delay:.15s;}
.hero-anim.d2{animation-delay:.35s;}
.hero-anim.d3{animation-delay:.55s;}
.hero-anim.d4{animation-delay:.75s;}
@keyframes heroIn{
  to{opacity:1;transform:translateY(0);}
}

/* subtle floating for hero mark */
.hero-mark{animation:float 8s ease-in-out infinite;}
@keyframes float{
  0%,100%{transform:translateY(-50%) translateX(0);}
  50%{transform:translateY(-52%) translateX(-14px);}
}

/* scroll hint pulse */
.scroll-hint{animation:pulseFade 2.4s ease-in-out infinite;}
@keyframes pulseFade{
  0%,100%{opacity:.5;}
  50%{opacity:1;}
}

/* nav underline hover */
.nav-link{position:relative;}
.nav-link:not(.nav-cta)::after{
  content:"";position:absolute;left:0;bottom:-4px;width:0;height:1px;background:var(--blue);
  transition:width .25s ease;
}
.nav-link:not(.nav-cta):hover::after{width:100%;}

/* division grid (CSS Grid so the detail panel can slot between rows) */
.division-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:1.5rem;
  align-items:stretch;
}
@media(max-width:991px){
  .division-grid{grid-template-columns:repeat(2, 1fr);}
}
@media(max-width:575px){
  .division-grid{grid-template-columns:1fr;}
}

/* mission vision */
.glass-card{
  background:linear-gradient(160deg, rgba(255,255,255,.04), rgba(255,255,255,.01));
  border:1px solid rgba(255,255,255,.08);
  border-radius:4px;
  padding:2.4rem;
  height:100%;
  position:relative;
}
.glass-card::before{
  content:"";position:absolute;top:0;left:0;width:36px;height:2px;background:var(--gold);
}
.glass-card h3{color:var(--gold);font-size:1.3rem;margin-bottom:1rem;}

/* divisions */
.div-card{
  background:var(--panel);
  border:1px solid rgba(255,255,255,.06);
  border-radius:4px;
  overflow:hidden;
  height:100%;
  transition:.3s;
}
.div-card:hover{
  border-color:rgba(90,174,224,.4);
  transform:translateY(-5px);
  box-shadow:0 20px 40px rgba(0,0,0,.4);
}
.div-card .img-wrap{height:210px;overflow:hidden;}
.div-card .img-wrap img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.85);transition:.4s;}
.div-card:hover .img-wrap img{transform:scale(1.06);filter:saturate(1) brightness(.95);}
.div-card .body{padding:1.5rem 1.6rem 1.8rem;}
.div-card .num{
  font-family:'JetBrains Mono',monospace;color:var(--gold);font-size:.75rem;letter-spacing:.1em;
}
.div-card h3{color:#fff;font-size:1.15rem;margin:.4rem 0 .8rem;}
.div-card p{color:var(--muted);font-size:.9rem;font-weight:300;margin-bottom:.9rem;}

/* contact */
.contact-section{
  background:var(--panel-2);
  position:relative;
}
.contact-photo{
  position:relative;border-radius:4px;overflow:hidden;
}
.contact-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.8);}
.contact-photo::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(11,14,18,.7));
}
.contact-item{
  display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.4rem;
  padding-bottom:1.4rem;border-bottom:1px solid rgba(255,255,255,.07);
}
.contact-item .ic{color:var(--gold);font-family:'JetBrains Mono',monospace;font-size:.85rem;width:24px;}
.contact-item a{color:#fff;text-decoration:none;}
.contact-item a:hover{color:var(--blue);}

footer{
  background:var(--bg);
  border-top:1px solid rgba(255,255,255,.06);
  padding:3rem 0 1.6rem;
}
footer img{height:28px;opacity:.9;}
footer p{color:var(--muted);font-size:.85rem;}
.footer-bottom{
  margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.06);
  font-family:'JetBrains Mono',monospace;font-size:.72rem;color:#565b63;letter-spacing:.05em;
}

@media(max-width:767px){
  .hero-mark{display:none;}
}


/* ===== brand logos strip (bottom of page) ===== */
.brands-section{
  padding:3.5rem 0 2.5rem;
  background:var(--panel);
  border-top:1px solid rgba(255,255,255,.06);
}
.brands-heading{
  text-align:center;
  margin-bottom:2rem;
}
.logo-ticker-wrap{
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  padding:1.6rem 0;
  position:relative;
}
.logo-ticker-wrap::before,.logo-ticker-wrap::after{
  content:"";position:absolute;top:0;bottom:0;width:100px;z-index:2;pointer-events:none;
}
.logo-ticker-wrap::before{left:0;background:linear-gradient(90deg, var(--panel), transparent);}
.logo-ticker-wrap::after{right:0;background:linear-gradient(270deg, var(--panel), transparent);}
.logo-ticker-track{
  display:flex;
  align-items:center;
  width:max-content;
  animation:ticker-scroll 34s linear infinite;
  will-change:transform;
  backface-visibility:hidden;
}
.logo-ticker-track .logo-item{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 2.4rem;
}
.logo-ticker-track img{
  height:28px;
  width:auto;
  opacity:.75;
  transition:opacity .25s ease;
}
.logo-ticker-track .logo-item:hover img{
  opacity:1;
}
.logo-ticker-wrap:hover .logo-ticker-track{
  animation-play-state:paused;
}
@media(max-width:575px){
  .logo-ticker-track img{height:22px;}
  .logo-ticker-track .logo-item{padding:0 1.6rem;}
}