:root{
  --cn-navy:#0b2a4a;
  --cn-red:#d6232f;
  --cn-bg:#0a1d33;
  --cn-soft:#f5f7fb;
  --cn-text:#0f172a;
  --cn-white:#ffffff;
}

*{ box-sizing:border-box; }
html, body{ height:100%; }
body{
  font-family:"Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--cn-text);
}

.topbar{
  background: linear-gradient(90deg, rgba(11,42,74,1), rgba(214,35,47,1));
}

.nav-glass{
  background: rgba(11, 42, 74, 0.90);
  backdrop-filter: blur(10px);
  transition: all .25s ease;
}

.nav-glass.shrink{
  background: rgba(11, 42, 74, 0.96);
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
}

.navbar .nav-link{
  color: rgba(255,255,255,.85);
}
.navbar .nav-link:hover,
.navbar .nav-link.active{
  color: #fff;
}

.btn-primary{
  background: var(--cn-red);
  border-color: var(--cn-red);
}
.btn-primary:hover{
  filter: brightness(0.95);
}

.btn-outline-primary{
  color: var(--cn-red);
  border-color: var(--cn-red);
}
.btn-outline-primary:hover{
  background: var(--cn-red);
  border-color: var(--cn-red);
}

.badge-soft{
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.95);
  border: 1px solid rgba(255,255,255,.18);
  padding: .5rem .75rem;
  border-radius: 999px;
}

.hero-section{
  padding: 5.5rem 0 3.5rem;
  background:
    radial-gradient(1100px 700px at 10% 15%, rgba(214,35,47,.25), transparent 60%),
    radial-gradient(900px 600px at 80% 10%, rgba(255,255,255,.10), transparent 55%),
    linear-gradient(180deg, rgba(11,42,74,1), rgba(6,16,28,1));
}

.text-white-75{ color: rgba(255,255,255,.75) !important; }

.check-pill{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.20);
  color: #fff;
  font-weight: 700;
  flex: 0 0 auto;
}

.hero-card{
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.hero-card img{
  width: 100%;
  height: auto;
  display: block;
}
.hero-card-badge{
  position:absolute;
  bottom: 14px;
  left: 14px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 16px;
  padding: .75rem .9rem;
  font-size: .9rem;
}

.hero-trust{
  display:flex;
  gap: 14px;
  flex-wrap: wrap;
}
.trust-item{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 18px;
  padding: .75rem .9rem;
  min-width: 140px;
}
.trust-num{
  color:#fff;
  font-weight: 800;
  letter-spacing: .5px;
}
.trust-label{
  color: rgba(255,255,255,.75);
  font-size: .85rem;
}

.section{
  padding: 4.5rem 0;
}
.section-muted{
  background: var(--cn-soft);
}
.section-title{
  font-weight: 800;
  letter-spacing: -0.5px;
}
.section-subtitle{
  color: rgba(15,23,42,.75);
  margin-top: .6rem;
}

.img-frame{
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(2,6,23,.10);
}

.feature-card{
  background:#fff;
  border: 1px solid rgba(2,6,23,.06);
  border-radius: 18px;
  padding: 1rem 1rem;
  box-shadow: 0 10px 30px rgba(2,6,23,.06);
}

.service-card{
  background:#fff;
  border: 1px solid rgba(2,6,23,.06);
  border-radius: 22px;
  padding: 1.25rem;
  box-shadow: 0 12px 35px rgba(2,6,23,.08);
}
.icon-bubble{
  width: 56px;
  height: 56px;
  border-radius: 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(214,35,47,.10);
  color: var(--cn-red);
  font-weight: 800;
  font-size: 1.2rem;
}

.vacancy-grid{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
}
.vacancy-pill{
  background: rgba(11,42,74,.06);
  border: 1px solid rgba(11,42,74,.10);
  color: var(--cn-navy);
  padding: .55rem .8rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: .92rem;
}

.step-card{
  background:#fff;
  border: 1px solid rgba(2,6,23,.06);
  border-radius: 22px;
  padding: 1.25rem;
  box-shadow: 0 12px 35px rgba(2,6,23,.08);
}
.step-num{
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(11,42,74,.10);
  color: var(--cn-navy);
  font-weight: 800;
  margin-bottom: .75rem;
}

.process-cta{
  background:#fff;
  border: 1px solid rgba(2,6,23,.06);
  border-radius: 24px;
  padding: 1.25rem 1.25rem;
  box-shadow: 0 14px 45px rgba(2,6,23,.08);
}

.testimonial-card{
  background:#fff;
  border: 1px solid rgba(2,6,23,.06);
  border-radius: 22px;
  padding: 1.25rem;
  box-shadow: 0 12px 35px rgba(2,6,23,.08);
}

.form-card{
  background:#fff;
  border: 1px solid rgba(2,6,23,.06);
  border-radius: 24px;
  padding: 1.4rem 1.4rem;
  box-shadow: 0 14px 45px rgba(2,6,23,.08);
}

.contact-box{
  background:#fff;
  border: 1px solid rgba(2,6,23,.06);
  border-radius: 22px;
  padding: 1.25rem;
  box-shadow: 0 12px 35px rgba(2,6,23,.08);
}

.contact-icon{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(11,42,74,.10);
}

.footer{
  background: linear-gradient(180deg, rgba(6,16,28,1), rgba(11,42,74,1));
  color:#fff;
}

.to-top{
  position: fixed;
  right: 18px;
  bottom: 18px;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(11,42,74,.92);
  color:#fff;
  display:none;
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}

/* Reveal animation */
.reveal{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s ease, transform .6s ease;
}
.reveal.in{
  opacity: 1;
  transform: translateY(0);
}
