/* ===================================================================
   INNEX MANPOWER TECHNICAL SERVICES LLC — Design tokens
   Palette derived from the brand logo: deep navy base, brushed-gold
   accent, steel blue-gray, teal secondary accent, warm off-white
   Type: Plus Jakarta Sans (display) / Inter (body) / Roboto Mono (data)
=================================================================== */
:root{
  --graphite:      #0E2A46;
  --graphite-2:    #163B5C;
  --steel:         #52708C;
  --steel-soft:    #EEF2F5;
  --off-white:     #F6F5F1;
  --accent:        #C9A227;
  --accent-dark:   #A9850E;
  --warn:          #E3C567;
  --teal:          #2E8C8C;
  --teal-dark:     #256F6F;
  --nav-line:      rgba(14,42,70,.1);
  --line:          rgba(255,255,255,.08);
  --radius:        10px;
  --shadow:        0 10px 30px rgba(14,22,30,.14);
  --font-display:  'Plus Jakarta Sans', sans-serif;
  --font-body:     'Inter', sans-serif;
  --font-mono:     'Roboto Mono', monospace;
}

*{ scroll-behavior:smooth; }
body{
  font-family:var(--font-body);
  color:#2B2E33;
  background:var(--off-white);
  overflow-x:hidden;
}
h1,h2,h3,h4,.brand-text,.hero-title,.process-num{ font-family:var(--font-display); letter-spacing:-.01em; }
h2{ font-weight:800; font-size:clamp(1.7rem,3vw,2.35rem); letter-spacing:-.02em; }
h3{ font-weight:700; }
p{ line-height:1.7; }
.text-accent{ color:var(--accent); }
a{ text-decoration:none; }


/* ---------- Buttons ---------- */
.btn-cta{
  background:var(--accent);
  color:#fff;
  font-weight:700;
  border-radius:4px;
  padding:.7rem 1.5rem;
  border:2px solid var(--accent);
  transition:.2s ease;
  text-transform:uppercase;
  font-size:.9rem;
  letter-spacing:.03em;
}
.btn-cta:hover{ background:var(--accent-dark); border-color:var(--accent-dark); color:#fff; transform:translateY(-2px); }
.btn-outline-light-cta{
  border:2px solid rgba(255,255,255,.5);
  color:#fff;
  font-weight:700;
  border-radius:4px;
  padding:.7rem 1.5rem;
  text-transform:uppercase;
  font-size:.9rem;
  letter-spacing:.03em;
  transition:.2s ease;
}
.btn-outline-light-cta:hover{ background:#fff; color:var(--graphite); }
.btn-dark-cta{
  background:var(--graphite);
  color:#fff;
  font-weight:700;
  border-radius:4px;
  padding:.7rem 1.5rem;
  text-transform:uppercase;
  font-size:.9rem;
  letter-spacing:.03em;
  transition:.2s ease;
}
.btn-dark-cta:hover{ background:var(--accent); color:#fff; transform:translateY(-2px); }
.btn-light-cta{
  background:#fff;
  color:var(--graphite);
  font-weight:700;
  border-radius:4px;
  padding:.8rem 1.8rem;
  text-transform:uppercase;
  font-size:.9rem;
  letter-spacing:.03em;
  transition:.2s ease;
}
.btn-light-cta:hover{ background:var(--graphite); color:#fff; }

/* ---------- Top bar ---------- */
.topbar{ background:var(--graphite); color:#C9CED6; font-size:.82rem; }
.topbar-inner{ display:flex; justify-content:space-between; align-items:center; padding:.45rem 0; }
.topbar-right{ display:flex; gap:1.4rem; align-items:center; }
.topbar-right a{ color:#C9CED6; }
.topbar-right a:hover{ color:var(--accent); }
.topbar-social a{ margin-left:.9rem; color:#C9CED6; }
.topbar-social a:hover{ color:var(--accent); }

/* ---------- Navbar ---------- */
.main-nav{
  background:#FFFFFF;
  padding:.55rem 0;
  border-bottom:1px solid var(--nav-line);
  transition:box-shadow .2s ease;
}
.main-nav.shadow{ box-shadow:0 6px 24px rgba(14,42,70,.1) !important; }
.navbar-brand{ display:flex; align-items:center; gap:.6rem; }
.brand-logo{ height:48px; width:auto; display:block; }
.main-nav .nav-link{ color:var(--graphite); font-weight:600; text-transform:uppercase; font-size:.85rem; letter-spacing:.03em; padding:.5rem 1rem; }
.main-nav .nav-link:hover{ color:var(--accent-dark); }
.main-nav .nav-link.active{ color:var(--accent-dark); }
.main-nav .navbar-toggler{ border-color:var(--nav-line); }
.main-nav .navbar-toggler:focus{ box-shadow:0 0 0 .2rem rgba(201,162,39,.25); }
.main-nav .navbar-toggler-icon{ filter:none; background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(14,42,70,0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
/* footer logo needs a light plate since the footer background is dark */
.footer-logo-badge{ display:inline-flex; background:#fff; padding:.6rem .9rem; border-radius:8px; }
.footer-logo-badge .brand-logo{ height:42px; }

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:linear-gradient(160deg,var(--graphite) 0%, var(--graphite-2) 55%, #2A2F38 100%);
  color:#fff;
  padding:5.5rem 0 3rem;
  overflow:hidden;
}
.hero-hazard{
  position:absolute; inset:auto 0 0 0; height:10px;
  background:repeating-linear-gradient(135deg,var(--accent) 0 22px, var(--warn) 22px 44px);
  opacity:.9;
}
.min-vh-hero{ min-height:56vh; }
.eyebrow-tag{
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(201,162,39,.16);
  border:1px solid rgba(201,162,39,.45);
  color:var(--accent);
  padding:.35rem .9rem;
  border-radius:30px;
  font-size:.8rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:1.3rem;
}
.hero-title{
  font-size:clamp(2.6rem,5.5vw,4.2rem);
  font-weight:800;
  line-height:1.02;
  margin-bottom:1.3rem;
}
.hero-sub{ color:#C9CED6; font-size:1.08rem; max-width:560px; margin-bottom:2rem; }

/* ID card motif */
.id-card{
  background:var(--graphite-2);
  border:1px solid var(--line);
  border-radius:14px;
  padding:1.6rem;
  box-shadow:var(--shadow);
  transform:rotate(3deg);
  max-width:340px;
  margin-left:auto;
  position:relative;
}
.id-card::before{
  content:"";
  position:absolute; top:-14px; left:36px;
  width:60px; height:14px;
  background:var(--steel);
  border-radius:4px 4px 0 0;
}
.id-card-head{
  display:flex; justify-content:space-between; align-items:center;
  font-family:var(--font-mono); color:var(--warn); font-size:.75rem; letter-spacing:.08em;
  border-bottom:1px dashed var(--line);
  padding-bottom:.8rem; margin-bottom:.8rem;
}
.id-chip{ width:26px; height:18px; background:linear-gradient(135deg,#C9CED6,#8A93A0); border-radius:3px; }
.id-row{ display:flex; justify-content:space-between; font-size:.9rem; padding:.4rem 0; color:#C9CED6; border-bottom:1px solid var(--line); }
.id-row b{ color:#fff; font-family:var(--font-mono); font-size:.85rem; }
.id-card-foot{ margin-top:.9rem; font-family:var(--font-mono); font-size:.68rem; letter-spacing:.1em; color:var(--steel); text-align:right; }

/* ---------- Hero banner slider ---------- */
.hero-carousel{ position:relative; }
.hero-carousel .carousel-item{ transition:transform .6s ease-in-out; }
.hero-carousel .carousel-control-prev,
.hero-carousel .carousel-control-next{
  position:absolute; top:50%; left:auto; right:auto;
  transform:translateY(-50%); width:auto; opacity:1;
}
.hero-carousel .carousel-control-prev{ left:-6px; }
.hero-carousel .carousel-control-next{ right:-6px; }
.hero-carousel .carousel-control-prev .carousel-nav-btn,
.hero-carousel .carousel-control-next .carousel-nav-btn{
  background:rgba(255,255,255,.08);
  border:1px solid var(--line);
  color:#fff;
}
.hero-carousel .carousel-control-prev:hover .carousel-nav-btn,
.hero-carousel .carousel-control-next:hover .carousel-nav-btn{ background:var(--accent); border-color:var(--accent); }
.hero-carousel .carousel-indicators{ position:static; margin:1.6rem 0 0; }
.hero-carousel .carousel-indicators [data-bs-target]{
  width:28px; height:4px; border-radius:2px;
  background:rgba(255,255,255,.25); opacity:1; border:0;
}
.hero-carousel .carousel-indicators .active{ background:var(--accent); }
@media (max-width:768px){
  .hero-carousel .carousel-control-prev, .hero-carousel .carousel-control-next{ display:none; }
}

/* Visual panel (slider banner graphic — no stock photos, on-brand illustration) */
.visual-panel{
  background:var(--graphite-2);
  border:1px solid var(--line);
  border-radius:14px;
  padding:2.6rem 1.6rem;
  box-shadow:var(--shadow);
  transform:rotate(3deg);
  max-width:340px;
  margin-left:auto;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.visual-panel::before{
  content:"";
  position:absolute; inset:0;
  background:repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 22px, transparent 22px 44px);
}
.visual-panel i{
  position:relative;
  font-size:4.2rem;
  color:var(--accent);
  display:block;
  margin-bottom:1rem;
}
.visual-panel-teal i{ color:var(--teal); }
.visual-panel-label{
  position:relative;
  display:block;
  font-family:var(--font-display);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#fff;
  font-size:1.2rem;
}
.visual-panel-sub{
  position:relative;
  display:block;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.05em;
  color:#C9CED6;
  margin-top:.5rem;
}

/* Hero stats */
.hero-stats{ margin-top:3rem; }
.stat-badge{
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  border-radius:8px;
  padding:1.1rem 1rem;
  text-align:center;
}
.stat-num{ font-family:var(--font-mono); font-size:1.9rem; font-weight:700; color:var(--accent); }
.stat-plus{ font-family:var(--font-mono); font-size:1.2rem; color:var(--accent); }
.stat-badge p{ margin:.3rem 0 0; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; color:#C9CED6; }

/* Stat badge variant for use on light sections (e.g. About page) */
.stat-badge-alt{
  background:var(--graphite);
  border:1px solid var(--graphite);
  border-radius:8px;
  padding:1.3rem 1rem;
  text-align:center;
}
.stat-badge-alt .stat-num, .stat-badge-alt .stat-plus{ color:var(--accent); }
.stat-badge-alt p{ margin:.3rem 0 0; font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; color:#C9CED6; }

/* ---------- Marquee ---------- */
.marquee-strip{
  background:var(--accent);
  overflow:hidden;
  white-space:nowrap;
  padding:.65rem 0;
}
.marquee-track{ display:inline-flex; animation:scroll-left 24s linear infinite; }
.marquee-track span{
  color:#fff; font-family:var(--font-display); font-weight:700;
  font-size:1rem; letter-spacing:.1em; padding:0 1.6rem;
  border-right:2px solid rgba(255,255,255,.4);
}
@keyframes scroll-left{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---------- Sections ---------- */
.section{ padding:5.5rem 0; }
.section-alt{ background:var(--steel-soft); }
.section-head{ max-width:640px; margin-bottom:3rem; }
.eyebrow{
  display:inline-block; font-family:var(--font-mono); font-size:.78rem;
  text-transform:uppercase; letter-spacing:.15em; color:var(--accent); font-weight:700; margin-bottom:.6rem;
}
.eyebrow-light{ color:var(--warn); }
.section-head p{ color:#5A6472; margin-top:.6rem; }

/* Industry cards */
.industry-card{
  background:#fff;
  border:1px solid #E7E4DB;
  border-radius:var(--radius);
  padding:2rem 1.6rem;
  height:100%;
  transition:.25s ease;
  position:relative;
  overflow:hidden;
}
.industry-card::after{
  content:"";
  position:absolute; right:-30px; top:-30px;
  width:80px; height:80px;
  background:var(--accent);
  transform:rotate(45deg);
  opacity:0;
  transition:.25s ease;
}
.industry-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
.industry-card:hover::after{ opacity:.08; }
.industry-card i{ font-size:2rem; color:var(--accent); margin-bottom:1rem; display:block; }
.industry-card h3{ font-size:1.25rem; margin-bottom:.5rem; }
.industry-card p{ color:#5A6472; font-size:.94rem; margin:0; }

/* About */
.about-frame{
  position:relative;
  background:var(--graphite);
  border-radius:var(--radius);
  min-height:360px;
  display:flex; align-items:flex-end;
  overflow:hidden;
}
.about-frame-strip{
  position:absolute; inset:0;
  background:repeating-linear-gradient(135deg, rgba(255,255,255,.03) 0 24px, transparent 24px 48px);
}
.about-card-float{
  position:relative;
  background:#fff;
  margin:1.4rem;
  padding:1.1rem 1.3rem;
  border-radius:8px;
  box-shadow:var(--shadow);
  width:calc(100% - 2.8rem);
}
.check-list{ list-style:none; padding:0; margin:1.4rem 0; }
.check-list li{ padding:.4rem 0; color:#3A404A; }
.check-list i{ color:var(--accent); margin-right:.6rem; }

/* Process */
.process-step{
  background:#fff;
  border:1px solid #E7E4DB;
  border-radius:var(--radius);
  padding:2rem 1.5rem;
  height:100%;
  position:relative;
}
.process-num{
  font-size:2.6rem; font-weight:800; color:var(--steel-soft);
  -webkit-text-stroke:1.5px var(--accent);
  display:block; margin-bottom:.5rem; line-height:1;
}
.process-step h3{ font-size:1.15rem; margin-bottom:.4rem; }
.process-step p{ color:#5A6472; font-size:.92rem; margin:0; }
.process-row .col-lg-3:not(:last-child) .process-step::after{
  content:"";
  display:none;
}
@media (min-width:992px){
  .process-row{ position:relative; }
}

/* Values band */
.values-band{ background:var(--graphite); padding:3.2rem 0; }
.value-item i{ font-size:1.9rem; color:var(--accent); margin-bottom:.6rem; display:block; }
.value-item h4{ color:#fff; font-family:var(--font-display); text-transform:uppercase; letter-spacing:.05em; font-size:1.05rem; margin:0; }

/* Testimonials */
.testimonial-card{
  max-width:680px;
  background:#fff;
  border:1px solid #E7E4DB;
  border-radius:var(--radius);
  padding:2.6rem;
  text-align:center;
}
.testimonial-card i{ font-size:2rem; color:var(--accent); }
.testimonial-card p{ font-size:1.15rem; color:#3A404A; margin:1rem 0 1.4rem; }
.testimonial-author{ font-weight:700; font-family:var(--font-mono); font-size:.85rem; color:var(--steel); text-transform:uppercase; letter-spacing:.05em; }
.carousel-control-prev, .carousel-control-next{ width:auto; opacity:1; }
.carousel-nav-btn{
  width:44px; height:44px; border-radius:50%;
  background:var(--graphite); color:#fff;
  display:flex; align-items:center; justify-content:center;
}
.carousel-control-prev{ left:-10px; }
.carousel-control-next{ right:-10px; }
@media (max-width:768px){
  .carousel-control-prev, .carousel-control-next{ position:static; display:inline-flex; margin-top:1.2rem; }
  .carousel-inner{ margin-bottom:0; }
}

/* Careers band */
.careers-band{
  background:linear-gradient(120deg,var(--accent) 0%, var(--accent-dark) 100%);
  padding:4rem 0;
}

/* Home page contact CTA band (full form lives on contact.html) */
.contact-cta-band{
  background:var(--graphite);
  color:#fff;
  border-radius:var(--radius);
  margin:0 auto;
}
.contact-cta-band .eyebrow{ color:var(--warn); }
.contact-cta-band h2{ color:#fff; }
.contact-cta-band p{ color:#C9CED6; }

/* Contact */
.contact-info-card{
  background:var(--graphite);
  color:#fff;
  border-radius:var(--radius);
  padding:2.2rem;
  height:100%;
}
.contact-info-row{ display:flex; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.contact-info-row:last-child{ border-bottom:none; }
.contact-info-row i{ color:var(--accent); font-size:1.2rem; margin-top:.2rem; }
.contact-info-row b{ display:block; text-transform:uppercase; font-size:.8rem; letter-spacing:.05em; color:var(--warn); }
.contact-info-row p{ margin:.15rem 0 0; color:#C9CED6; font-size:.92rem; }

.contact-form{ background:#fff; border:1px solid #E7E4DB; border-radius:var(--radius); padding:2rem; }
.contact-form .form-label{ font-weight:600; font-size:.88rem; }
.contact-form .form-control, .contact-form .form-select{
  border-radius:6px; border:1px solid #D8D4C8; padding:.6rem .8rem;
}
.contact-form .form-control:focus, .contact-form .form-select:focus{
  border-color:var(--accent); box-shadow:0 0 0 .2rem rgba(201,162,39,.18);
}
.form-success{ font-weight:600; }
.form-error{ font-weight:600; color:#B3261E; }
#formSubmitBtn:disabled{ opacity:.7; cursor:not-allowed; }

/* Footer */
.site-footer{ background:var(--graphite); color:#C9CED6; padding:4rem 0 1.6rem; }
.site-footer h5{ color:#fff; font-family:var(--font-display); text-transform:uppercase; letter-spacing:.05em; font-size:1.05rem; margin-bottom:1rem; }
.footer-about{ font-size:.9rem; color:#9AA2AD; margin:1rem 0; }
.footer-social a{ color:#C9CED6; font-size:1.2rem; margin-right:1rem; }
.footer-social a:hover{ color:var(--accent); }
.footer-links{ list-style:none; padding:0; margin:0; }
.footer-links li{ margin-bottom:.6rem; }
.footer-links a{ color:#C9CED6; font-size:.92rem; }
.footer-links a:hover{ color:var(--accent); }
.newsletter-form{ display:flex; }
.newsletter-form input{ flex:1; border:none; border-radius:6px 0 0 6px; padding:.6rem .8rem; font-size:.9rem; }
.newsletter-form button{ border:none; background:var(--accent); color:#fff; padding:0 1rem; border-radius:0 6px 6px 0; }
.site-footer hr{ border-color:var(--line); margin:2rem 0 1.2rem; }
.footer-bottom{ display:flex; flex-wrap:wrap; gap:.8rem; justify-content:space-between; font-size:.85rem; color:#8991A0; }
.footer-policies a{ color:#8991A0; }
.footer-policies a:hover{ color:var(--accent); }

/* Back to top */
.back-to-top{
  position:fixed; right:1.4rem; bottom:1.4rem;
  width:46px; height:46px; border-radius:50%;
  background:var(--accent); color:#fff;
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:.25s ease; z-index:999; box-shadow:var(--shadow);
}
.back-to-top.show{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover{ background:var(--accent-dark); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .marquee-track{ animation:none; }
  *{ scroll-behavior:auto; }
}

/* Focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px;
}

/* ---------- Inner page hero (About / Services / Contact) ---------- */
.page-hero{
  position:relative;
  background:linear-gradient(160deg,var(--graphite) 0%, var(--graphite-2) 55%, #2A2F38 100%);
  color:#fff;
  padding:3.4rem 0 3.8rem;
  overflow:hidden;
}
.page-hero .breadcrumb{ margin-bottom:1.1rem; }
.page-hero .breadcrumb-item, .page-hero .breadcrumb-item a{ color:#C9CED6; font-size:.85rem; }
.page-hero .breadcrumb-item.active{ color:var(--accent); }
.page-hero .breadcrumb-item + .breadcrumb-item::before{ color:#6C7A88; }
.page-hero-title{
  font-size:clamp(2.1rem,4vw,3rem);
  font-weight:800;
  line-height:1.08;
  margin-bottom:1rem;
}
.page-hero-sub{ color:#C9CED6; font-size:1.05rem; max-width:520px; margin-bottom:0; }
.page-hero-img{
  width:100%;
  height:auto;
  border-radius:14px;
  box-shadow:var(--shadow);
  border:1px solid var(--line);
}

/* Illustration image framing used across content sections (About/Services/Contact) */
.img-frame{
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  line-height:0;
}
.img-frame img{ width:100%; height:100%; object-fit:cover; display:block; }

/* Service card image thumbnail (duotone illustration standing in for photography) — used on services.html */
.service-thumb{
  position:relative;
  height:170px;
  border-radius:var(--radius) var(--radius) 0 0;
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--graphite) 0%, var(--graphite-2) 100%);
}
.service-thumb::before{
  content:"";
  position:absolute; inset:0;
  background:repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 18px, transparent 18px 36px);
}
.service-thumb i{ position:relative; font-size:3.4rem; color:var(--accent); }
.service-thumb.thumb-teal i{ color:var(--teal); }
.service-card{
  background:#fff;
  border:1px solid #E7E4DB;
  border-radius:var(--radius);
  height:100%;
  overflow:hidden;
  transition:.25s ease;
}
.service-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
.service-card-body{ padding:1.7rem 1.6rem 2rem; }
.service-card-body h3{ font-size:1.25rem; margin-bottom:.5rem; }
.service-card-body p{ color:#5A6472; font-size:.94rem; margin:0 0 1rem; }


@media (max-width:991.98px){
  .topbar{ display:none; }
  .hero{ padding-top:2.5rem; }
  .id-card{ margin:2rem auto 0; transform:rotate(0); }
  .section{ padding:3.6rem 0; }
}

