.page-hero { padding: 8rem 0 4rem; background-color: var(--primary-color); color: white; text-align: center; }
.page-title { font-size: 3rem; font-weight: 700; margin-bottom: 1rem; }
.page-subtitle { font-size: 1.2rem; opacity: 0.9; letter-spacing: 0.2em; }
.content-wrapper { max-width: 900px; margin: 0 auto; }
@media (max-width: 768px) {
  .page-hero { padding: 6rem 0 3rem; }
  .page-title { font-size: 2.2rem; }
}
.recruit-intro { text-align: center; max-width: 800px; margin: 0 auto 4rem; }
.recruit-intro h2 { font-size: 2rem; margin-bottom: 1.5rem; color: var(--primary-color); }
.recruit-intro p { font-size: 1.1rem; color: var(--secondary-color); line-height: 1.9; }
.recruit-positions { display: grid; gap: 2rem; margin-bottom: 4rem; }
.position-card { background: white; padding: 2.5rem; border-radius: 10px; box-shadow: 0 5px 20px rgba(0,0,0,0.1); }
.position-card h3 { font-size: 1.8rem; margin-bottom: 1.5rem; color: var(--primary-color); padding-bottom: 1rem; border-bottom: 2px solid var(--accent-color); }
.position-details p { margin-bottom: 1rem; color: var(--secondary-color); line-height: 1.8; }
.recruit-contact { text-align: center; padding: 3rem; background: var(--light-bg); border-radius: 10px; }
.recruit-contact h3 { font-size: 1.8rem; margin-bottom: 1rem; color: var(--primary-color); }
.recruit-contact p { margin-bottom: 2rem; color: var(--secondary-color); }
