/* =========================================================
   HUBAFRIKA — WORK WITH US PAGE
   Uses only the theme's own color variables (--red, --dark,
   --link, --gray-text, --border, --sidebar-bg). The mockup's
   cyan/blue hero and badge become the site's navy gradient
   (already used in .tv-ad / footer / topbar) and a red accent
   chip, and the blue submit button becomes the brand red.
   ========================================================= */
  .about-page{
  padding-bottom:10px;
  }

  .about-heading{
  font-family:var(--font-head);
  font-size:34px;
  font-weight:bold;
  color:var(--dark);
  margin-bottom:18px;
  }

.about-intro p{
  font-size:15px;
  line-height:1.7;
  color:var(--gray-text);
  margin-bottom:14px;
  max-width:640px;
  }

/* ---------------------------------------------------------
   OUR DEPARTMENTS
   --------------------------------------------------------- */

.departments-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
  margin-bottom:40px;
}

.department-card{
  background:#fff;
  border:1px solid var(--border);
}

.department-card .placeholder-img{
  aspect-ratio:16/11;
  color:#8a8a8a;
  font-size:12px;
  font-weight:600;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.department-card .department-body{
  padding:14px 16px 18px;
}

.department-card h3{
  font-size:15px;
  font-weight:bold;
  color:var(--dark);
  margin-bottom:6px;
}

.department-card p{
  font-size:12.5px;
  line-height:1.55;
  color:var(--gray-text);
}

@media (max-width:760px){
  .departments-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}

@media (max-width:520px){
  .departments-grid{
    grid-template-columns:1fr;
  }
}

/* ---------------------------------------------------------
   AVAILABLE POSITIONS
   --------------------------------------------------------- */

.position-card{
  background:var(--sidebar-bg);
  border:1px solid var(--border);
  border-left:4px solid var(--red);
  padding:26px 28px 28px;
  margin-bottom:30px;
}

.position-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:10px 16px;
  margin-bottom:14px;
}

.position-head h3{
  font-size:19px;
  font-weight:bold;
  color:var(--dark);
}

.position-tag{
  display:inline-block;
  background:rgba(255,79,18,.1);
  color:var(--red);
  font-size:12px;
  font-weight:bold;
  padding:5px 12px;
  border-radius:20px;
  white-space:nowrap;
}

.position-card > p{
  font-size:14px;
  line-height:1.65;
  color:var(--gray-text);
  margin-bottom:14px;
  max-width:760px;
}

.position-card ul{
  list-style:none;
  margin-bottom:22px;
}

.position-card ul li{
  position:relative;
  font-size:13.5px;
  line-height:1.6;
  color:var(--gray-text);
  padding-left:18px;
  margin-bottom:9px;
}

.position-card ul li::before{
  content:"";
  position:absolute;
  left:2px;
  top:8px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--red);
}

/* ---------------------------------------------------------
   APPLY FORM
   --------------------------------------------------------- */

.apply-block{
  background:#fff;
  border:1px solid var(--border);
  padding:22px 24px 26px;
}

.apply-block h4{
  font-size:16px;
  font-weight:bold;
  color:var(--dark);
  margin-bottom:18px;
}

.apply-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 20px;
}

.apply-form .field-full{
  grid-column:1 / -1;
}

.apply-form label{
  display:block;
  font-size:13px;
  font-weight:bold;
  color:var(--dark);
  margin-bottom:6px;
}

.apply-form input[type="text"],
.apply-form input[type="email"],
.apply-form input[type="tel"],
.apply-form input[type="url"],
.apply-form textarea{
  width:100%;
  border:1px solid #ccc;
  border-radius:3px;
  padding:9px 10px;
  font-size:13.5px;
  font-family:var(--font-body);
  color:var(--dark);
  background:#fff;
}

.apply-form textarea{
  resize:vertical;
  min-height:100px;
}

.apply-form input:focus,
.apply-form textarea:focus{
  outline:2px solid var(--red);
  outline-offset:-1px;
}

.apply-form .submit-btn{
  grid-column:1 / -1;
  background:var(--red);
  color:#fff;
  border:none;
  padding:12px 20px;
  font-size:14px;
  font-weight:bold;
  text-transform:uppercase;
  letter-spacing:.03em;
  cursor:pointer;
  border-radius:3px;
}

.apply-form .submit-btn:hover{
  background:#e0440f;
}

.apply-form-success{
  background:#e9f7ee;
  border:1px solid #bfe6cc;
  color:#1c6b3a;
  padding:12px 14px;
  font-size:13.5px;
  margin-bottom:18px;
}

.apply-form-error{
  background:#fdeceb;
  border:1px solid #f3bdb7;
  color:#a3261a;
  padding:12px 14px;
  font-size:13.5px;
  margin-bottom:18px;
}

@media (max-width:560px){
  .apply-form{
    grid-template-columns:1fr;
  }
  .apply-form .field-full{
    grid-column:1;
  }
  .position-head{
    flex-direction:column;
  }
}
