/* ===========================================================
   NEXUS GLOBAL HR — Premium Design System (site-wide)
   Scoped to <main> only. Header & footer are untouched.
   Colors: Navy #0B3D91 / Blue #0E6BA8 / Gold #F5B301
   Warm cream/peach section accent per design reference.
   =========================================================== */
main{
  /* ---- Brand palette (scoped override) ---- */
  --nexus-blue:#0B3D91;
  --nexus-blue-lt:#0E6BA8;
  --nexus-blue-glow:rgba(11,61,145,.28);
  --nexus-gold:#F5B301;
  --nexus-gold-lt:#FFCB3D;
  --nexus-teal:#0E6BA8;
  --nexus-dark:#1F2937;
  --nexus-dark2:#111827;
  --nexus-gray:#4B5563;
  --nexus-gray-lt:#6B7280;
  --nexus-light:#FDF1E1;
  --nexus-light2:#FBE7CC;
  --nexus-cream:#FDF1E1;
  --nexus-cream-deep:#FBE7CC;
  --nexus-white:#ffffff;
  --nexus-border:#E5E7EB;
  --grad-primary: linear-gradient(135deg,#0B3D91 0%,#0E6BA8 100%);
  --grad-gold: linear-gradient(135deg,#F5B301 0%,#FFCB3D 100%);
  --shadow-sm: 0 1px 3px rgba(17,24,39,.06), 0 1px 2px rgba(17,24,39,.04);
  --shadow-md: 0 6px 20px rgba(17,24,39,.08), 0 2px 6px rgba(17,24,39,.05);
  --shadow-lg: 0 20px 44px rgba(11,61,145,.12), 0 6px 16px rgba(17,24,39,.06);
  --shadow-gold: 0 10px 28px rgba(245,179,1,.35);
  --radius: 12px;
  --radius-lg: 16px;
  --radius-xl: 22px;
  color:#1F2937;
}

/* ---- Typography ---- */
main{ font-family:'Inter',sans-serif; }
main h1, main h2, main h3, main h4, main h5{
  font-weight:800; letter-spacing:-.01em; color:#111827;
}
main .section-label{
  color:var(--nexus-gold); font-weight:700; letter-spacing:1.5px;
}
main .section-title{ font-weight:800; color:#111827; }
main .section-sub{ color:#4B5563; }
main p{ color:#374151; }

/* ---- Fix: dark navy page-hero banners must keep white text ---- */
main .page-hero h1,
main .page-hero h2,
main .page-hero p,
main .page-hero span{ color:#fff !important; }
main .page-hero p strong{ color:#fff !important; }

/* ---- Section rhythm ---- */
main section{ position:relative; }
main .section-pad{ padding:100px 0; }
@media(max-width:991px){ main .section-pad{ padding:72px 0; } }
@media(max-width:576px){ main .section-pad{ padding:52px 0; } }
main .container{ max-width:1260px; }

/* ---- Buttons: rounded 10-12px, navy primary, gold hover ---- */
main .btn-nexus,
main .btn-hero-primary,
main .hs-btn-primary,
main .sh-btn-primary{
  background:#CFE6F7 !important;
  color:#0B3D91 !important;
  border:none !important;
  border-radius:999px !important;
  font-weight:700;
  padding:12px 28px;
  box-shadow:0 6px 18px rgba(11,61,145,.15);
  transition:background .35s ease, transform .25s ease, box-shadow .25s ease;
}
main .btn-nexus:hover,
main .btn-hero-primary:hover,
main .hs-btn-primary:hover,
main .sh-btn-primary:hover{
  background:#F5B301 !important;
  color:#111827 !important;
  transform:translateY(-3px);
  box-shadow:var(--shadow-gold);
}
main .btn-nexus-outline,
main .btn-hero-outline,
main .hs-btn-outline,
main .sh-btn-outline{
  background:#fff !important;
  color:var(--nexus-blue) !important;
  border:1.5px solid var(--nexus-blue) !important;
  border-radius:999px !important;
  font-weight:700;
  padding:11px 27px;
  transition:all .3s ease;
}
main .btn-nexus-outline:hover,
main .btn-hero-outline:hover,
main .hs-btn-outline:hover,
main .sh-btn-outline:hover{
  background:#F5B301 !important;
  border-color:#F5B301 !important;
  color:#111827 !important;
  transform:translateY(-3px);
  box-shadow:var(--shadow-gold);
}
main button[type="submit"].btn{
  border-radius:999px !important;
  transition:all .3s ease;
}
main button[type="submit"].btn:hover{
  filter:brightness(1.06);
  transform:translateY(-2px);
  box-shadow:var(--shadow-gold);
}

/* ---- Cards: white, soft shadow, rounded, consistent padding, hover lift ---- */
main .nexus-card,
main .tm-card,
main .testi-card,
main .hp-client-card,
main .oo-card{
  background:#fff;
  border:1px solid var(--nexus-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  transition:transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, border-color .4s ease;
}
main .nexus-card:hover,
main .tm-card:hover,
main .testi-card:hover,
main .hp-client-card:hover,
main .oo-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-lg);
  border-color:#C3E1F2;
}
/* wcn/gc/jc/cs-counter cards are frosted-glass cards on dark image/gradient
   sections by design — keep them dark/translucent, don't force white. */
main .wcn-card,
main .gc-card,
main .jc-card,
main .cs-counter-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  transition:transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s ease, border-color .4s ease;
}
main .wcn-card:hover,
main .gc-card:hover,
main .jc-card:hover,
main .cs-counter-card:hover{
  transform:translateY(-8px) scale(1.01);
  border-color:rgba(245,179,1,.35);
}
/* wcn/gc/jc are LIGHT sections with white cards (already correctly styled
   by hp-redesign.css) — do NOT force card-internal text white, only the
   big section heading/subtitle that sits directly on the section background. */
main .wcn-title, main .wcn-sub,
main .gc-title, main .gc-sub,
main .jc-title, main .jc-sub{
  color:#111827 !important;
}
main .wcn-sub, main .gc-sub, main .jc-sub{ color:#4B5563 !important; }
main .wcn-title .highlight, main .wcn-gold,
main .gc-title .highlight, main .gc-gold,
main .jc-title .highlight, main .jc-gold{ color:var(--nexus-gold) !important; }

/* ---- Icon chips inside cards ---- */
main .wcn-card-icon,
main .gc-card-icon,
main .jc-card-icon,
main .cs-counter-icon,
main .tm-avatar,
main .pv-step-icon{
  border-radius:14px;
  box-shadow:var(--shadow-sm);
}

/* ---- Accent gold underline / labels ---- */
main .section-label::before{ background:var(--nexus-gold); }
main .wcn-gold, main .gc-gold, main .jc-gold, main .cs-gold,
main .pv-gold, main .td-gold, main .sh-gold{ color:var(--nexus-gold) !important; }

/* ---- Badges ---- */
main .badge-new, main .gc-badge, main .cs-badge, main .jc-badge,
main .pv-badge, main .td-badge, main .hp-cta-badge{
  border-radius:999px;
  font-weight:700;
  letter-spacing:.4px;
}

/* ---- Subtle gradient backgrounds on light sections ---- */
main .section-pad[style*="F8FAFC"],
main .section-pad[style*="f8fafc"]{
  background:linear-gradient(180deg,#FFFFFF 0%,#F8FAFC 100%) !important;
}

/* ---- Accordion (FAQ) polish ---- */
main .accordion-item{
  border-radius:var(--radius) !important;
  border-color:var(--nexus-border) !important;
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
main .accordion-button:not(.collapsed){
  background:linear-gradient(135deg,rgba(11,61,145,.06),rgba(14,107,168,.06)) !important;
  color:var(--nexus-blue) !important;
}
main .accordion-button:focus{ box-shadow:none; }

/* ---- Smooth professional scroll-reveal (uses existing .reveal system) ---- */
main .reveal{ transition-duration:.7s; transition-timing-function:cubic-bezier(.22,1,.36,1); }

/* ---- Testimonial / team stripes use gold accent ---- */
main .tm-card-stripe,
main .testi-stars{ color:var(--nexus-gold); }

/* ---- Job / opportunity cards ---- */
main .job-card{ border-radius:var(--radius-lg); }

/* ---- Responsive container polish ---- */
@media (max-width:1400px){ main .container{ max-width:1180px; } }

/* ---- Warm peach/cream section background (matches reference design) ---- */
main .bg-nexus-light,
main .section-pad[style*="nexus-light"],
main section[style*="F8FAFC"],
main section[style*="f8fafc"],
main section[style*="#f0f4ff"],
main section[style*="#F0F4FF"],
main section[style*="EEF3FC"]{
  background:var(--nexus-cream) !important;
}
main .nexus-cream-box,
main .info-box,
main .highlight-box{
  background:var(--nexus-cream-deep);
  border-radius:var(--radius-lg);
  padding:28px;
}