/* ════════════════════════════════════════════════════════
   HUMAN iNTELEx RESOURCES — COMPONENTS
   Extracted from inline styles. Loaded after style.css.

   Palette (revised — no green, orange, or dark surfaces):
     Ivory    #F8F4EF  — light neutral ground (was dark navy)
     Red      #D2352B  — the accent color; CORPORATE / HIRING
     Blue     #3F6FB0  — primary brand color; CANDIDATE / JOB SEEKER
   The two-colour audience split is the core system: rose
   always means "employer", blue always means "candidate".
════════════════════════════════════════════════════════ */

:root {
  --terra-050: #FBE6E4;
  --terra-100: #F2B3AE;
  --blue-050:  #EAEEF9;
  --blue-100:  #8FA6DE;
  --ok:        #3F6FB0;
  --ok-bg:     #EAEEF9;
  --warn:      #7C6FD1;
  --warn-bg:   #EFEBFB;
  --danger:    #C53030;
  --danger-bg: #FFF5F5;
  --info:      #2B6CB0;
  --info-bg:   #EBF8FF;
}

/* ── ACCESSIBILITY ── */
.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 999;
  background: var(--terra); color: #fff; padding: 12px 20px;
  font-size: 14px; font-weight: 700; border-radius: 0 0 4px 0;
}
.skip-link:focus { left: 0; }

:where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid var(--terra);
  outline-offset: 2px;
  border-radius: 2px;
}

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ── ICONS ── */
.hi-icon { flex-shrink: 0; vertical-align: middle; display: inline-block; }

/* ── LOGO ── */

/* ── NAV ── */

/* ── HERO ── */
.hero {
  background: var(--midnight);
  min-height: 88vh;
  display: flex; align-items: center;
  padding: 80px 0;
  position: relative; overflow: hidden;
}
.hero-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.hero-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .18; }
.hero-glow {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 18% 78%, rgba(63,111,176,.14), transparent 52%),
    radial-gradient(circle at 82% 18%, rgba(210,53,43,.10), transparent 52%);
}
.hero-grid-lines {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse at center, #000 20%, transparent 78%);
}
.hero-inner { position: relative; z-index: 2; }
.hero-grid {
  display: grid; grid-template-columns: 1.1fr 1fr;
  gap: 60px; align-items: center;
}
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  font-size: 11px; font-weight: 700; letter-spacing: 3px;
  text-transform: uppercase; color: var(--terra); margin-bottom: 18px;
}
.hero-eyebrow::before {
  content: ''; display: block; width: 22px; height: 2px; background: var(--terra);
}
.hero h1 {
  font-family: 'Plus Jakarta Sans',sans-serif; font-weight: 800;
  font-size: clamp(38px, 5.4vw, 60px); line-height: 1.02;
  color: #fff; margin-bottom: 18px; letter-spacing: -1px;
}
.hero h1 .accent { color: var(--terra); }
.hero-lead {
  font-size: 15px; color: rgba(255,255,255,.62); line-height: 1.75;
  margin-bottom: 30px; max-width: 450px;
}
.hero-lead strong { color: #fff; font-weight: 600; }
.hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 38px; }
.hero-trust { display: flex; gap: 26px; flex-wrap: wrap; }
.hero-trust-item { display: flex; align-items: center; gap: 9px; }
.hero-trust-ico {
  width: 34px; height: 34px; background: rgba(255,255,255,.12);
  border: 1.5px solid rgba(255,255,255,.25);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 16px;
}
.hero-trust-label { color: #fff; display: block; font-size: 12px; font-weight: 700; }
.hero-trust-sub   { font-size: 11px; color: rgba(255,255,255,.45); }

/* ── HERO FORM PANEL ── */
.hero-panel {
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--radius-lg);
  padding: 26px;
  backdrop-filter: blur(8px);
}
.hero-panel h2 {
  font-size: 16px; font-weight: 700; color: #fff; margin-bottom: 4px;
  display: flex; align-items: center; gap: 8px;
}
.hero-panel-sub {
  font-size: 12px; color: rgba(255,255,255,.42); margin-bottom: 16px;
  padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,.08);
}

/* ── STATS ── */
.stats-bar { background: var(--midnight-md); border-top: 1px solid rgba(255,255,255,.06); }
.stats-inner { display: flex; }
.stat-item {
  flex: 1; text-align: center; padding: 26px 12px;
  border-right: 1px solid rgba(255,255,255,.07);
}
.stat-item:last-child { border-right: none; }
.stat-num {
  font-family: 'Plus Jakarta Sans',sans-serif; font-size: 34px; font-weight: 800;
  color: #fff; line-height: 1;
}
.stat-num .plus { color: var(--terra); }
.stat-label {
  font-size: 10.5px; font-weight: 600; letter-spacing: 1.2px;
  text-transform: uppercase; color: rgba(255,255,255,.42); margin-top: 7px;
}
.stat-note {
  text-align: center; font-size: 10.5px; color: rgba(255,255,255,.3);
  padding: 0 0 14px;
}

/* ── TRUST STRIP ── */
.trust-strip { background: var(--steel); padding: 14px 0; border-bottom: 1px solid var(--border); }
.trust-strip-inner { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.trust-strip-label {
  font-size: 11px; font-weight: 700; color: var(--text-light);
  text-transform: uppercase; letter-spacing: .5px;
}
.trust-chip {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--text-mid); font-weight: 500;
}

/* ── DUAL BAND ── */
.dual-band { display: grid; grid-template-columns: 1fr 1fr; }
.band-hire, .band-work { padding: 46px 44px; }
.band-hire { background: var(--terra); }
.band-work { background: var(--blue); }
.band-eyebrow {
  font-size: 10.5px; font-weight: 700; letter-spacing: 2.4px;
  text-transform: uppercase; color: rgba(255,255,255,.65); margin-bottom: 10px;
}
.band-title {
  font-family: 'Plus Jakarta Sans',sans-serif; font-size: 27px;
  font-weight: 700; color: #fff; margin-bottom: 11px; line-height: 1.15;
}
.band-desc {
  font-size: 14px; color: rgba(255,255,255,.82);
  line-height: 1.7; margin-bottom: 20px; max-width: 430px;
}
.band-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; padding: 12px 22px; border-radius: var(--radius-sm);
  font-size: 13.5px; font-weight: 700; transition: var(--transition);
}
.band-hire .band-btn { color: var(--terra); }
.band-work .band-btn { color: var(--blue); }
.band-btn:hover { transform: translateX(4px); box-shadow: 0 6px 20px rgba(0,0,0,.18); }

/* ── GRIDS ── */
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }

/* ── SERVICE CARDS ── */
.svc-card {
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 28px 24px;
  transition: var(--transition); position: relative; overflow: hidden;
}
.svc-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  transform: scaleX(0); transform-origin: left;
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}
.svc-card.hire::before { background: var(--terra); }
.svc-card.work::before { background: var(--blue); }
.svc-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.svc-card:hover::before { transform: scaleX(1); }
.svc-icon {
  width: 46px; height: 46px; border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center; margin-bottom: 16px;
  color:var(--ink); font-size: 22px;
}
.svc-icon.red  { background: var(--terra-050); color: var(--terra-dark); }
.svc-icon.blue { background: var(--blue-050); color: var(--midnight-md); }
.svc-card h3 { font-size: 16px; font-weight: 700; color:var(--ink); margin-bottom: 9px; }
.svc-card p  { font-size: 13.5px; color: var(--text-mid); line-height: 1.7; margin-bottom: 16px; }
.svc-link-hire, .svc-link-work {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 700; transition: var(--transition);
}
.svc-link-hire { color: var(--terra); }
.svc-link-work { color: var(--blue); }
.svc-link-hire:hover, .svc-link-work:hover { gap: 11px; }

/* ── PROCESS STEPS ── */
.process-section { background: var(--midnight); padding: 76px 0; }
.steps-track { display: flex; gap: 0; position: relative; }
.steps-track::before {
  content: ''; position: absolute; top: 22px; left: 8%; right: 8%;
  height: 1px; background: var(--border);
}
.step-item { flex: 1; text-align: center; padding: 0 12px; position: relative; z-index: 1; }
.step-num {
  width: 44px; height: 44px; margin: 0 auto 14px;
  background: var(--terra); border: 2px solid var(--terra);
  color: #fff; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 800; transition: var(--transition);
}
.step-item:hover .step-num { background: var(--terra-dark); border-color: var(--terra-dark); transform: scale(1.1); }
.step-title { font-size: 13.5px; font-weight: 700; color: var(--ink); margin-bottom: 6px; }
.step-desc  { font-size: 11.5px; color: var(--text-mid); line-height: 1.6; }

/* Dark-background fixes: process section text must be light on navy */
.process-section .eyebrow { color: #F3A8C0; }
.process-section .steps-track::before { background: rgba(255,255,255,.25); }
.process-section .step-title { color: #fff; font-size: 14.5px; }
.process-section .step-desc  { color: rgba(255,255,255,.82); font-size: 13px; line-height: 1.65; }

/* ── INDUSTRY CARDS ── */
.industry-card {
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 20px 16px;
  transition: var(--transition); text-align: center;
}
.industry-card:hover {
  border-color: var(--terra); transform: translateY(-3px); box-shadow: var(--shadow-md);
}
.industry-icon-wrap {
  width: 42px; height: 42px; margin: 0 auto 12px;
  background: var(--terra-050); border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center;
  transition: var(--transition);
}
.industry-card:hover .industry-icon-wrap { background: var(--midnight-md); }
.industry-card:hover .industry-icon-wrap svg { stroke: #fff; }
.ind-name { font-size: 13.5px; font-weight: 700; color:var(--ink); margin-bottom: 6px; }
.ind-desc { font-size: 11.5px; color: var(--text-light); line-height: 1.6; }

/* ── FORMS ── */
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.form-field {
  width: 100%; padding: 11px 13px; margin-bottom: 10px;
  border: 1px solid var(--border); border-radius: var(--radius-sm);
  font-size: 13.5px; background: var(--white); color: var(--text-dark);
  transition: var(--transition);
}
.form-field:focus {
  outline: none; border-color: var(--terra);
  box-shadow: 0 0 0 3px rgba(210,53,43,.11);
}
.form-textarea { resize: vertical; min-height: 76px; }
.hero-panel .form-field {
  background: var(--white);
  border-color: var(--border);
  color: var(--text-dark);
}
.hero-panel .form-field::placeholder { color: var(--text-light); }
.hero-panel .form-field:focus {
  border-color: var(--terra); background: var(--white);
  box-shadow: 0 0 0 3px rgba(210,53,43,.12);
}
.hero-panel select.form-field option { background: var(--white); color: var(--text-dark); }

.form-label {
  display: block; font-size: 12px; font-weight: 600;
  color: var(--text-mid); margin-bottom: 5px;
}
.form-label .req { color: var(--terra); }
.form-group { margin-bottom: 14px; }
.form-hint { font-size: 11px; color: var(--text-light); margin-top: -6px; margin-bottom: 10px; }

.form-divider {
  text-align: center; font-size: 11px; color: var(--text-light);
  position: relative; margin: 14px 0;
}
.form-divider::before, .form-divider::after {
  content: ''; position: absolute; top: 50%; width: 42%; height: 1px;
  background: var(--border);
}
.form-divider::before { left: 0; }
.form-divider::after  { right: 0; }
.hero-panel .form-divider { color: rgba(255,255,255,.3); }
.hero-panel .form-divider::before, .hero-panel .form-divider::after { background: rgba(255,255,255,.12); }

.form-msg {
  padding: 11px 14px; border-radius: var(--radius-sm);
  font-size: 13px; margin-top: 10px; line-height: 1.55;
}
.form-msg.ok    { background: var(--ok-bg);     color: var(--ok);     border: 1px solid #CBD8F0; }
.form-msg.error { background: var(--danger-bg); color: var(--danger); border: 1px solid #FED7D7; }

.form-note-fine {
  text-align: center; font-size: 11px;
  color: var(--text-light); margin-top: 8px;
}
.hero-panel .form-note-fine { color: rgba(255,255,255,.28); }

/* Honeypot — must stay invisible to humans, visible to bots. */
.hp-field {
  position: absolute !important; left: -9999px !important;
  opacity: 0 !important; height: 0 !important; width: 0 !important;
  pointer-events: none !important;
}

/* ── DPDP CONSENT ── */
.consent-box {
  display: flex; gap: 10px; align-items: flex-start;
  background: var(--steel); border: 1px solid var(--border);
  border-radius: var(--radius-sm); padding: 12px 14px; margin: 12px 0;
}
.hero-panel .consent-box {
  background: var(--steel); border-color: var(--border);
}
.consent-box input[type="checkbox"] {
  width: 16px; height: 16px; margin-top: 2px; flex-shrink: 0;
  accent-color: var(--terra); cursor: pointer;
}
.consent-box label {
  font-size: 11.5px; color: var(--text-mid); line-height: 1.6; cursor: pointer;
}
.hero-panel .consent-box label { color: var(--text-mid); }
.consent-box a { color: var(--terra); text-decoration: underline; }
.consent-box .req { color: var(--terra); font-weight: 700; }

/* ── FILE UPLOAD ── */
.file-drop {
  border: 1.5px dashed var(--border); border-radius: var(--radius-md);
  padding: 24px 18px; text-align: center; cursor: pointer;
  transition: var(--transition); background: var(--steel);
}
.file-drop:hover, .file-drop.is-over {
  border-color: var(--blue); background: var(--blue-050);
}
.file-drop.has-file { border-color: var(--ok); background: var(--ok-bg); border-style: solid; }
.file-drop input[type="file"] { display: none; }
.file-drop-icon { margin-bottom: 8px; }
.file-drop-text { font-size: 13px; font-weight: 600; color: var(--text-dark); margin-bottom: 3px; }
.file-drop-hint { font-size: 11px; color: var(--text-light); }
.file-drop-name {
  font-size: 12.5px; font-weight: 700; color: var(--ok);
  display: flex; align-items: center; justify-content: center; gap: 6px;
}

/* ── MULTI-STEP WIZARD ── */
.wizard-steps {
  display: flex; gap: 0; margin-bottom: 28px;
  border-bottom: 1px solid var(--border);
}
.wizard-step {
  flex: 1; padding: 0 0 14px; text-align: center; position: relative;
  font-size: 12px; font-weight: 600; color: var(--text-light);
  transition: var(--transition);
}
.wizard-step::after {
  content: ''; position: absolute; bottom: -1px; left: 0; right: 0;
  height: 2px; background: transparent; transition: var(--transition);
}
.wizard-step.is-active { color: var(--blue); }
.wizard-step.is-active::after { background: var(--blue); }
.wizard-step.is-done { color: var(--ok); }
.wizard-step.is-done::after { background: var(--ok); }
.wizard-step-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--border); color: var(--text-light);
  font-size: 11px; font-weight: 800; margin-right: 6px;
  transition: var(--transition);
}
.wizard-step.is-active .wizard-step-num { background: var(--blue); color: #fff; }
.wizard-step.is-done   .wizard-step-num { background: var(--ok);   color: #fff; }
.wizard-pane { display: none; }
.wizard-pane.is-active { display: block; animation: fadeUp .3s ease; }
.wizard-nav { display: flex; gap: 10px; justify-content: space-between; margin-top: 20px; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── JOB CARDS ── */
.jobs-layout { display: grid; grid-template-columns: 260px 1fr; gap: 28px; align-items: start; }

.job-filters {
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 20px; position: sticky; top: 92px;
}
.job-filters h3 {
  font-size: 13px; font-weight: 700; color:var(--ink);
  margin-bottom: 14px; display: flex; align-items: center; gap: 7px;
}
.filter-group { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--border); }
.filter-group:last-of-type { border-bottom: none; }
.filter-group-title {
  font-size: 10.5px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1px; color: var(--text-light); margin-bottom: 9px;
}
.filter-opt {
  display: flex; align-items: center; gap: 8px;
  font-size: 12.5px; color: var(--text-mid);
  padding: 4px 0; cursor: pointer;
}
.filter-opt input { accent-color: var(--blue); cursor: pointer; }
.filter-opt:hover { color: var(--blue); }
.filter-count { margin-left: auto; font-size: 11px; color: var(--text-light); }

.jobs-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin-bottom: 16px; flex-wrap: wrap;
}
.jobs-count { font-size: 13px; color: var(--text-mid); }
.jobs-count strong { color:var(--ink); }

.job-card {
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 20px 22px;
  margin-bottom: 12px; transition: var(--transition);
  position: relative; overflow: hidden;
}
.job-card::before {
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--blue); transform: scaleY(0); transform-origin: top;
  transition: transform .25s cubic-bezier(.4,0,.2,1);
}
.job-card:hover { border-color: var(--blue-100); box-shadow: var(--shadow-md); transform: translateY(-2px); }
.job-card:hover::before { transform: scaleY(1); }
.job-card.is-featured { border-color: var(--terra-100); background: linear-gradient(var(--terra-050), var(--white) 70px); }
.job-card.is-featured::before { background: var(--terra); }

.job-card-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.job-title { font-size: 16px; font-weight: 700; color:var(--ink); margin-bottom: 5px; line-height: 1.3; }
.job-title a:hover { color: var(--blue); }
.job-client { font-size: 12.5px; color: var(--text-light); margin-bottom: 11px; }
.job-client .blind { font-style: italic; }
.job-meta { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 11px; }
.job-meta-item {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 12px; color: var(--text-mid);
}
.job-summary { font-size: 12.5px; color: var(--text-mid); line-height: 1.65; margin-bottom: 13px; }
.job-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.job-tag {
  font-size: 10.5px; font-weight: 600; padding: 3px 9px;
  border-radius: 100px; background: var(--steel);
  color: var(--text-mid); border: 1px solid var(--border);
}
.job-tag.fn  { background: var(--blue-050);  color: var(--blue);  border-color: var(--blue-100); }
.job-tag.ind { background: var(--terra-050); color: var(--terra); border-color: var(--terra-100); }
.job-posted { font-size: 11px; color: var(--text-light); white-space: nowrap; }
.job-badge-new {
  background: var(--ok); color: #fff; font-size: 9.5px; font-weight: 800;
  padding: 2px 7px; border-radius: 100px; letter-spacing: .5px;
  text-transform: uppercase;
}
.job-badge-feat {
  background: var(--terra); color: #fff; font-size: 9.5px; font-weight: 800;
  padding: 2px 7px; border-radius: 100px; letter-spacing: .5px;
  text-transform: uppercase;
}
.job-card-foot {
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; margin-top: 14px; padding-top: 13px;
  border-top: 1px solid var(--border); flex-wrap: wrap;
}
.job-ctc {
  font-size: 13.5px; font-weight: 700; color:var(--ink);
  display: inline-flex; align-items: center; gap: 5px;
}
.job-ctc.hidden-ctc { color: var(--text-light); font-weight: 500; font-size: 12.5px; }

.jobs-empty {
  text-align: center; padding: 60px 24px;
  background: var(--steel); border: 1px dashed var(--border);
  border-radius: var(--radius-md);
}
.jobs-empty-icon { margin-bottom: 14px; opacity: .4; }
.jobs-empty h3 { font-size: 16px; font-weight: 700; color:var(--ink); margin-bottom: 8px; }
.jobs-empty p  { font-size: 13.5px; color: var(--text-mid); max-width: 420px; margin: 0 auto 18px; line-height: 1.7; }

/* ── JOB DETAIL ── */
.job-detail-layout { display: grid; grid-template-columns: 1fr 320px; gap: 32px; align-items: start; }
.job-detail-body h2 {
  font-size: 17px; font-weight: 700; color:var(--ink);
  margin: 26px 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--border);
}
.job-detail-body ul { margin: 0 0 16px; }
.job-detail-body li {
  font-size: 14px; color: var(--text-mid); line-height: 1.75;
  padding-left: 22px; position: relative; margin-bottom: 7px;
}
.job-detail-body li::before {
  content: ''; position: absolute; left: 0; top: 9px;
  width: 6px; height: 6px; border-radius: 50%; background: var(--blue);
}
.job-detail-body p { font-size: 14px; color: var(--text-mid); line-height: 1.8; margin-bottom: 13px; }

.job-apply-panel {
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 22px; position: sticky; top: 92px;
}
.job-apply-panel h3 { font-size: 15px; font-weight: 700; color:var(--ink); margin-bottom: 4px; }
.job-facts { margin: 16px 0; }
.job-fact {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 9px 0; border-bottom: 1px solid var(--border); font-size: 12.5px;
}
.job-fact:last-child { border-bottom: none; }
.job-fact-label { color: var(--text-light); font-weight: 600; }
.job-fact-val   { color:var(--ink); font-weight: 600; text-align: right; }

.job-confidential-note {
  background: var(--blue-050); border: 1px solid var(--blue-100);
  border-radius: var(--radius-sm); padding: 12px 14px; margin-top: 14px;
  font-size: 11.5px; color: var(--blue); line-height: 1.65;
  display: flex; gap: 8px; align-items: flex-start;
}

/* ── CALCULATOR ── */
.calc-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.calc-panel {
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 26px;
}
.calc-result {
  background: var(--blue); border-radius: var(--radius-lg);
  padding: 30px; position: sticky; top: 92px; overflow: hidden;
}
.calc-result-glow {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 70% 10%, rgba(210,53,43,.22), transparent 55%);
  pointer-events: none;
}
.calc-total-label {
  font-size: 11px; font-weight: 700; letter-spacing: 2.4px;
  text-transform: uppercase; color: #fff; opacity: .85; margin-bottom: 10px;
}
.calc-total {
  font-family: 'Plus Jakarta Sans',sans-serif; font-size: clamp(34px, 5vw, 50px);
  font-weight: 800; color: #fff; line-height: 1; margin-bottom: 8px;
  letter-spacing: -1px;
}
.calc-total-sub { font-size: 12.5px; color: rgba(255,255,255,.7); margin-bottom: 22px; }
.calc-breakdown { border-top: 1px solid rgba(255,255,255,.18); padding-top: 18px; }
.calc-line {
  display: flex; justify-content: space-between; gap: 12px;
  padding: 9px 0; font-size: 13px;
}
.calc-line-label { color: rgba(255,255,255,.75); }
.calc-line-val   { color: #fff; font-weight: 700; }
.calc-line.total {
  border-top: 1px solid rgba(255,255,255,.22); margin-top: 8px;
  padding-top: 13px; font-size: 14px;
}
.calc-line.total .calc-line-val { color: #fff; font-size: 16px; }

.calc-slider-row { margin-bottom: 20px; }
.calc-slider-head {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 8px;
}
.calc-slider-label { font-size: 13px; font-weight: 600; color: var(--text-dark); }
.calc-slider-val {
  font-size: 14px; font-weight: 800; color: var(--terra);
  font-variant-numeric: tabular-nums;
}
.calc-slider {
  width: 100%; height: 5px; border-radius: 100px;
  background: var(--border); appearance: none; outline: none; cursor: pointer;
}
.calc-slider::-webkit-slider-thumb {
  appearance: none; width: 19px; height: 19px; border-radius: 50%;
  background: var(--terra); cursor: pointer; border: 3px solid #fff;
  box-shadow: 0 1px 6px rgba(0,0,0,.22); transition: transform .15s;
}
.calc-slider::-webkit-slider-thumb:hover { transform: scale(1.15); }
.calc-slider::-moz-range-thumb {
  width: 19px; height: 19px; border-radius: 50%; background: var(--terra);
  cursor: pointer; border: 3px solid #fff; box-shadow: 0 1px 6px rgba(0,0,0,.22);
}
.calc-slider-hint { font-size: 11px; color: var(--text-light); margin-top: 5px; }
.calc-assumption {
  background: var(--steel); border-left: 3px solid var(--blue);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: 12px 14px; font-size: 11.5px; color: var(--text-mid);
  line-height: 1.65; margin-top: 18px;
}

/* ── PRICING ── */
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.price-card {
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius-lg); padding: 28px 24px;
  transition: var(--transition); position: relative;
}
.price-card.is-highlight {
  border-color: var(--terra); border-width: 2px;
  box-shadow: 0 8px 30px rgba(210,53,43,.13);
}
.price-badge {
  position: absolute; top: -11px; left: 50%; transform: translateX(-50%);
  background: var(--terra); color: #fff; font-size: 10px; font-weight: 800;
  padding: 4px 14px; border-radius: 100px;
  text-transform: uppercase; letter-spacing: 1px; white-space: nowrap;
}
.price-name { font-size: 16px; font-weight: 700; color:var(--ink); margin-bottom: 6px; }
.price-for  { font-size: 12px; color: var(--text-light); margin-bottom: 18px; }
.price-fig {
  font-family: 'Plus Jakarta Sans',sans-serif; font-size: 32px; font-weight: 800;
  color: var(--terra); line-height: 1; margin-bottom: 5px;
}
.price-fig-sub { font-size: 12px; color: var(--text-light); margin-bottom: 20px; }
.price-features { border-top: 1px solid var(--border); padding-top: 18px; margin-bottom: 20px; }
.price-feat {
  display: flex; gap: 9px; align-items: flex-start;
  font-size: 13px; color: var(--text-mid); line-height: 1.6; margin-bottom: 10px;
}

/* ── TESTIMONIALS ── */
.testi-card {
  background: var(--white); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 26px 24px;
  position: relative; transition: var(--transition);
}
.testi-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.testi-quote-mark { position: absolute; top: 18px; right: 20px; opacity: .10; }
.testi-stars { display: flex; gap: 2px; margin-bottom: 13px; }
.testi-text { font-size: 13.5px; color: var(--text-mid); line-height: 1.8; margin-bottom: 18px; font-style: italic; }
.testi-author { display: flex; gap: 11px; align-items: center; padding-top: 15px; border-top: 1px solid var(--border); }
.testi-avatar {
  width: 40px; height: 40px; border-radius: 50%; background: var(--steel);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  overflow: hidden;
}
.testi-avatar img { width: 100%; height: 100%; object-fit: cover; }
.testi-name { font-size: 13px; font-weight: 700; color:var(--ink); }
.testi-co   { font-size: 11.5px; color: var(--text-light); margin-bottom: 5px; }
.testi-tag-hire, .testi-tag-work {
  font-size: 9.5px; font-weight: 700; padding: 2px 8px;
  border-radius: 100px; text-transform: uppercase; letter-spacing: .5px;
}
.testi-tag-hire { background: var(--terra-050); color: var(--terra); }
.testi-tag-work { background: var(--blue-050);  color: var(--blue); }

/* ── TEAM ── */
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.team-card { text-align: center; }
.team-photo {
  width: 100%; aspect-ratio: 1; border-radius: var(--radius-lg);
  object-fit: cover; margin-bottom: 14px; background: var(--steel);
  filter: grayscale(1); transition: var(--transition);
}
.team-card:hover .team-photo { filter: grayscale(0); }
.team-name { font-size: 15px; font-weight: 700; color:var(--ink); margin-bottom: 3px; }
.team-role { font-size: 12px; color: var(--terra); font-weight: 600; margin-bottom: 8px; }
.team-bio  { font-size: 12px; color: var(--text-light); line-height: 1.65; margin-bottom: 10px; }

/* ── CTA STRIP ── */
.cta-strip { background: var(--terra); padding: 56px 0; text-align: center; }
.cta-strip h2 {
  font-family: 'Plus Jakarta Sans',sans-serif; font-size: clamp(24px, 3.5vw, 33px);
  font-weight: 700; color: #fff; margin-bottom: 11px;
}
.cta-strip p { font-size: 14.5px; color: rgba(255,255,255,.82); margin-bottom: 26px; max-width: 520px; margin-inline: auto; }
.cta-strip-buttons { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Ghost button on pink band: blue-on-pink was unreadable → white outline/text */
.cta-strip .btn-ghost { background: transparent; color: #fff; border: 2px solid #fff; }
.cta-strip .btn-ghost:hover { background: #fff; color: var(--terra); border-color: #fff; }
.cta-strip p { color: rgba(255,255,255,.95); }

/* ── ANSWER-FIRST BLOCK (AEO/GEO) ──
   The first extractable paragraph on a page. AI engines lift this. */
.answer-block {
  background: var(--blue-050); border-left: 4px solid var(--blue);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: 20px 24px; margin-bottom: 28px;
}
.answer-block p { font-size: 15px; color: var(--text-dark); line-height: 1.75; margin: 0; }
.answer-block p strong { color:var(--ink); }

/* ── FOOTER ── */
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 36px; }
.footer-logo { display: flex; align-items: center; gap: 11px; margin-bottom: 15px; }
.footer-logo img { border-radius: 50%; background: #fff; padding: 3px; }
.footer-logo-name { font-family: 'Plus Jakarta Sans',sans-serif; font-size: 19px; font-weight: 700; color: #fff; }
.footer-logo-name em { font-style: normal; color: var(--terra); }
.footer-desc { font-size: 12.5px; color: rgba(255,255,255,.45); line-height: 1.75; margin-bottom: 16px; }
.footer-desc.sm { font-size: 12px; margin-bottom: 12px; }
.footer-contact-item {
  display: flex; gap: 9px; align-items: flex-start;
  font-size: 12.5px; color: rgba(255,255,255,.55);
  margin-bottom: 9px; line-height: 1.6;
}
.footer-contact-item a { color: rgba(255,255,255,.55); transition: var(--transition); }
.footer-contact-item a:hover { color: var(--terra); }
.footer-socials { display: flex; gap: 8px; margin-top: 16px; }
.footer-social {
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.10);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.55); transition: var(--transition);
}
.footer-social:hover { background: var(--terra); border-color: var(--terra); color: #fff; transform: translateY(-2px); }
.footer-col-title {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 1.4px; color: #fff; margin-bottom: 13px;
}
.footer-col-title.mt { margin-top: 22px; }
.footer-links { display: flex; flex-direction: column; gap: 8px; }
.footer-link { display: flex; align-items: center; gap: 6px;
  font-size: 12.5px; color: rgba(255,255,255,.45);
  transition: var(--transition); display: inline-flex; align-items: center; gap: 6px;
}
/* footer-link::before arrow removed — HTML links already include → prefix */
.footer-link:hover { color: var(--terra); }
.footer-hours {
  margin-top: 12px; padding: 12px;
  background: rgba(255,255,255,.04); border-radius: var(--radius-sm);
  border: 1px solid rgba(255,255,255,.07);
}
.footer-hours-label { font-size: 10.5px; color: rgba(255,255,255,.35); margin-bottom: 4px; }
.footer-hours-val   { font-size: 12px; color: rgba(255,255,255,.6); }
.footer-legal { font-size: 11px; color: rgba(255,255,255,.3); }
.footer-credit { font-size: 11.5px; color: rgba(255,255,255,.3); }
.mb { margin-bottom: 10px; }

/* ── FLOAT WHATSAPP ── */
.float-whatsapp {
  position: fixed; bottom: 22px; right: 22px; z-index: 90;
  width: 54px; height: 54px; border-radius: 50%;
  background: var(--whatsapp); display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 18px rgba(63,111,176,.42); transition: var(--transition);
}
.float-whatsapp:hover { transform: scale(1.08); }
.float-whatsapp-tooltip {
  position: absolute; right: 64px; white-space: nowrap;
  background: var(--blue); color: #fff; font-size: 12px; font-weight: 600;
  padding: 7px 12px; border-radius: var(--radius-sm);
  opacity: 0; pointer-events: none; transition: var(--transition);
}
.float-whatsapp:hover .float-whatsapp-tooltip { opacity: 1; }

/* ── PAGE HERO ── */
.page-hero { background: var(--midnight); padding: 66px 0 56px; position: relative; overflow: hidden; }
.page-hero-inner { position: relative; z-index: 2; }
.page-hero h1 {
  font-family: 'Plus Jakarta Sans',sans-serif; font-weight: 800;
  font-size: clamp(30px, 4.4vw, 46px); color: #fff;
  line-height: 1.08; margin-bottom: 14px; letter-spacing: -.8px;
}
.page-hero p { font-size: 14.5px; color: rgba(255,255,255,.58); line-height: 1.75; max-width: 620px; }
.breadcrumb { display: flex; gap: 7px; align-items: center; margin-bottom: 16px; flex-wrap: wrap; }
.breadcrumb a, .breadcrumb span { font-size: 11.5px; color: rgba(255,255,255,.4); }
.breadcrumb a:hover { color: var(--terra); }
.breadcrumb .sep { opacity: .35; }
.breadcrumb .current { color: var(--terra); font-weight: 600; }

/* ── BADGES ── */
.badge {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 10.5px; font-weight: 700; padding: 3px 9px;
  border-radius: 100px; text-transform: uppercase; letter-spacing: .5px;
}
.badge-new     { background: var(--ok-bg);     color: var(--ok); }
.badge-open    { background: var(--ok-bg);     color: var(--ok); }
.badge-draft   { background: var(--steel);     color: var(--text-light); }
.badge-closed  { background: var(--danger-bg); color: var(--danger); }
.badge-filled  { background: var(--info-bg);   color: var(--info); }
.badge-warn    { background: var(--warn-bg);   color: var(--warn); }

/* ════════════════════════════════════════════
   RESPONSIVE — real breakpoints, no !important hacks
════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .hero-grid          { grid-template-columns: 1fr; gap: 36px; }
  .footer-grid        { grid-template-columns: 1fr 1fr; gap: 30px; }
  .grid-4, .team-grid { grid-template-columns: repeat(2, 1fr); }
  .jobs-layout        { grid-template-columns: 1fr; }
  .job-filters        { position: static; }
  .job-detail-layout  { grid-template-columns: 1fr; }
  .job-apply-panel    { position: static; }
  .calc-layout        { grid-template-columns: 1fr; }
  .calc-result        { position: static; }
  .pricing-grid       { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .hero               { min-height: auto; padding: 48px 0; }
  .hero-trust         { display: none; }
  .hero-ctas          { flex-direction: column; align-items: stretch; }
  .hero-ctas .btn     { justify-content: center; }
  .dual-band          { grid-template-columns: 1fr; }
  .band-hire, .band-work { padding: 32px 22px; }
  .grid-2, .grid-3    { grid-template-columns: 1fr; }
  .grid-4             { grid-template-columns: repeat(2, 1fr); }
  .footer-grid        { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom      { flex-direction: column; text-align: center; gap: 12px; }
  .form-row           { grid-template-columns: 1fr; }
  .steps-track        { flex-direction: column; gap: 18px; }
  .steps-track::before{ display: none; }
  .stats-inner        { flex-wrap: wrap; }
  .stat-item          { min-width: 50%; flex: none; }
  .stat-item:nth-child(2n) { border-right: none; }
  .cta-strip-buttons  { flex-direction: column; align-items: stretch; }
  .cta-strip-buttons .btn { justify-content: center; }
  .section            { padding: 48px 0; }
  .container          { padding: 0 16px; }
  .wizard-step        { font-size: 0; }
  .wizard-step-num    { margin-right: 0; }
  .job-card-head      { flex-direction: column; gap: 8px; }
  .jobs-toolbar       { flex-direction: column; align-items: stretch; }
  .float-whatsapp     { bottom: 16px; right: 16px; width: 48px; height: 48px; }
  .float-whatsapp-tooltip { display: none; }
}

@media (max-width: 480px) {
  .grid-4, .team-grid { grid-template-columns: 1fr; }
  .stat-item          { min-width: 100%; border-right: none; }
}

/* ── PRINT ── */
@media print {
  .nav, .footer, .float-whatsapp, .job-apply-panel, .cta-strip { display: none; }
  body { background: #fff; }
}

/* ── MOTION ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── Industries section background ── */
.industries-hero-bg {
  position: relative;
  background: var(--midnight);
  overflow: hidden;
}
.industries-hero-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../assets/hero.jpg') center/cover no-repeat;
  opacity: .08;
  mix-blend-mode: luminosity;
}
.industries-hero-bg .container { position: relative; z-index: 2 }

/* ── Team section hidden ── */
.team-section { display: none !important; }

/* ── Info bar link style ── */
.info-bar-item a { color: rgba(255,255,255,.7); transition: var(--transition); }
.info-bar-item a:hover { color: var(--terra); }

/* ── Favicon already set via logo.png ── */



/* ══ BRAND NAME + LOGO (letterhead colours, full company name) ══ */
:root{ --pink-light:#F0675D; --brand-red:#D2352B; --brand-blue:#3B6FB6; --brand-green:#2E9B3E; --brand-dark:#2B2B2B; }
.brand-name{font-family:'Inter',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.4px;line-height:1.1;white-space:nowrap;display:inline-block}
.brand-name--light{color:var(--brand-dark);font-size:21px}
.brand-name--light .b-red{color:var(--brand-red)}
.brand-name--light .b-blue{color:var(--brand-blue);text-transform:none}
.brand-name--light .b-green{color:var(--brand-green);text-transform:none}
.brand-name--dark{color:#fff;font-size:24px}
.brand-name--dark .b-pink{color:var(--pink-light)}
.brand-name--dark .b-sky{color:#7FB0F0;text-transform:none}
.brand-name--dark .b-lime{color:#62D474;text-transform:none}

.nav-inner{height:84px;gap:18px}
.nav-logo{gap:14px}
.nav-logo-mark{width:60px;height:60px;border-radius:50%}
.nav-link{padding:8px 10px}

.footer-logo{gap:16px;margin-bottom:20px;flex-wrap:wrap}
.footer-logo img{width:76px;height:76px;padding:4px}

.mobile-nav-brand{display:flex;align-items:center;gap:10px}
.mobile-nav-brand img{border-radius:50%;background:#fff;padding:2px}
.mobile-nav-brand .brand-name{font-size:15px;white-space:normal}

@media (max-width:1240px){
  .brand-name--light{font-size:16px;letter-spacing:.2px}
  .nav-logo-mark{width:52px;height:52px}
  .nav-logo{gap:10px}
  .nav-link{padding:8px 8px;font-size:13px}
}
@media (max-width:1024px){
  .brand-name--light{font-size:17px}
}
@media (max-width:560px){
  .nav-inner{height:72px}
  .nav-logo-mark{width:46px;height:46px}
  .brand-name--light{font-size:12.5px;letter-spacing:0}
  .brand-name--dark{font-size:18px;white-space:normal}
  .footer-logo img{width:64px;height:64px}
}
@media (max-width:360px){
  .brand-name--light{font-size:11px}
}

/* Ghost button on dark hero backgrounds: white outline/text */
.page-hero .btn-ghost { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.85); }
.page-hero .btn-ghost:hover { background: #fff; color: var(--midnight); border-color: #fff; }

.footer-credit a { color: rgba(255,255,255,.55); text-decoration: none; }
.footer-credit a:hover { color: #fff; text-decoration: underline; }

/* Footer highlight link: Public Forms Guide */
.footer-cheat-wrap { text-align: center; margin: 10px 0 4px; }
.footer-cheat { display: inline-block; padding: 8px 18px; border-radius: 999px; background: var(--terra); color: #fff !important; font-size: 13px; font-weight: 700; text-decoration: none; box-shadow: 0 2px 10px rgba(210,53,43,.4); transition: background .2s, transform .2s; }
.footer-cheat:hover { background: var(--terra-dark); transform: translateY(-1px); color: #fff; text-decoration: none; }


/* ══ 2026-10-10 FIXES ══════════════════════════════════════════ */

/* ── Footer logo = header logo (same emblem, same brand colours) ── */
.footer-logo img{width:84px;height:84px;padding:0;border-radius:50%;background:#fff;object-fit:contain}
.footer-logo{gap:14px}
.brand-name--footer{color:#fff;font-size:21px}
.brand-name--footer .b-red{color:var(--brand-red)}
.brand-name--footer .b-blue{color:var(--brand-blue);text-transform:none}
.brand-name--footer .b-green{color:var(--brand-green);text-transform:none}
@media (max-width:560px){ .brand-name--footer{font-size:17px;white-space:normal} .footer-logo img{width:68px;height:68px} }

/* ── Footer text visibility (all on navy #14213D, now ≥ 6:1) ── */
.footer-desc{color:rgba(255,255,255,.78)}
.footer-contact-item,.footer-contact-item a{color:rgba(255,255,255,.88)}
.footer-contact-item a:hover{color:#fff;text-decoration:underline}
.footer-link{color:rgba(255,255,255,.78);font-size:13px}
.footer-link:hover{color:#fff;text-decoration:underline}
.footer-hours{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.footer-hours-label{color:rgba(255,255,255,.65)}
.footer-hours-val{color:rgba(255,255,255,.92)}
.footer-legal,.footer-bottom p{color:rgba(255,255,255,.65)}
.footer-credit{color:rgba(255,255,255,.65)}
.footer-credit a{color:rgba(255,255,255,.9)}
.footer-bottom-link{color:rgba(255,255,255,.72)}
.footer-bottom-link:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14)}
.footer-grid{border-bottom-color:rgba(255,255,255,.14)}

/* ── Services dropdown: no dead gap between link and menu ── */
.nav-dropdown::after{content:'';position:absolute;left:-14px;right:-14px;top:100%;height:18px}
.dropdown-menu{top:100%;margin-top:4px;transition:opacity .18s,visibility 0s linear .18s}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{top:100%;transition-delay:0s}

/* ── Industry cards with images ── */
.industry-card.has-img{padding:0;overflow:hidden;display:block}
.industry-card .ind-img{aspect-ratio:8/5;overflow:hidden;background:#e9eef7}
.industry-card .ind-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.industry-card.has-img:hover .ind-img img{transform:scale(1.05)}
.industry-card .ind-body{padding:16px 16px 18px}

/* ── Brand red on dark: small text needs a lighter tint to stay readable on navy ── */
.page-hero-eyebrow,.page-hero .breadcrumb .current,.breadcrumb .current{color:#F26B61}
.page-hero-eyebrow::before{background:#F26B61}
.eyebrow-on-dark,.hero .eyebrow{color:#F26B61}

/* ══ TYPOGRAPHY — bold geometric headings (Plus Jakarta Sans) + Inter body ══ */
h1,h2,h3,.h1,.h2,.h3,.display,.page-hero h1,.cta-strip h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.025em;line-height:1.12}
h4,.step-title,.ind-name,.svc-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;letter-spacing:-.01em}
.h1,.hero h1,.page-hero h1{font-weight:800;letter-spacing:-.035em;line-height:1.05}
.eyebrow,.page-hero-eyebrow{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800}
.btn,.nav-link{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700}
.nav-link{font-weight:600}
.stat-num{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800}
body{font-size:16px}
.body-lg{font-size:16px;line-height:1.75;color:var(--text-mid)}

/* ══ INDUSTRY + SERVICE SECTIONS — consistent polish ══════════════ */
.grid-ind{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.industry-card.has-img{display:flex;flex-direction:column;text-align:left;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:var(--white)}
.industry-card.has-img:hover{box-shadow:var(--shadow-md)}
div.industry-card.has-img{cursor:default}
.industry-card .ind-img{aspect-ratio:16/10}
.industry-card .ind-body{flex:1;padding:18px 20px 22px}
.industry-card .ind-name{font-size:16.5px;margin-bottom:6px;color:var(--ink)}
.industry-card .ind-desc{font-size:13.5px;line-height:1.6;color:var(--text-mid)}

/* industries.php — 3 × 3 */
.ind-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ind-page-grid > div{box-shadow:var(--shadow-sm);border-radius:var(--radius-lg) !important;background:var(--white) !important}
.ind-page-grid > div:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.ind-page-grid > div h3{font-size:18px !important}
.ind-page-grid > div p{font-size:13.5px !important}
.ind-page-grid > div > div:last-child{display:flex;flex-direction:column}
.ind-page-grid > div > div:last-child > a:last-child{margin-top:auto !important;padding-top:14px}

/* homepage service cards with image */
.svc-card.has-img{padding:0;overflow:hidden;display:flex;flex-direction:column}
.svc-card .svc-img{aspect-ratio:16/10;overflow:hidden;background:#e9eef7}
.svc-card .svc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.svc-card.has-img:hover .svc-img img{transform:scale(1.05)}
.svc-card .svc-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.svc-card .svc-body p{flex:1}
.svc-card.has-img::before{z-index:2}

/* services.php — equal-height cards, buttons aligned */
.svc-page-card{display:flex;flex-direction:column;transition:var(--transition)}
.svc-page-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.svc-page-card > div:nth-child(2){flex:1}
.svc-page-card > div:nth-child(3){display:flex;flex-direction:column}
.svc-page-card > div:nth-child(3) ul{flex:1}

@media (max-width:1000px){
  .grid-ind,.ind-page-grid{grid-template-columns:repeat(2,1fr)}
  .grid-ind > :last-child:nth-child(odd),.ind-page-grid > :last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 11px);justify-self:center}
}
@media (max-width:640px){
  .grid-ind,.ind-page-grid{grid-template-columns:1fr}
  .grid-ind > :last-child:nth-child(odd),.ind-page-grid > :last-child:nth-child(odd){width:auto}
}

/* ── Nav: switch to the menu button before the wide brand name can overflow ── */
@media (max-width:1120px){
  .nav-links,.nav-ctas{display:none !important}
  .nav-toggle{display:flex !important}
  .nav-inner{justify-content:space-between}
}

/* ── Service detail pages: photo above the content ── */
.service-photo{margin-bottom:24px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);aspect-ratio:16/8;background:#e9eef7}
.service-photo img{width:100%;height:100%;object-fit:cover;display:block}
