/* ══════════════════════════════════════════ CAREERS — JOB BOARD ══════════════════════════════════════════ */ .careers-hero { background: var(--teal-pale); padding: 64px 64px 48px; text-align: center; } .careers-hero h1 { font-family: var(--display); font-weight: 900; font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -0.03em; color: var(--black); margin-bottom: 16px; } .careers-hero h1 span { color: var(--teal); } .careers-hero p { font-size: 17px; color: #555; font-weight: 300; max-width: 560px; margin: 0 auto; line-height: 1.7; } /* ── Filters ─────────────────────────────── */ .careers-filters { padding: 28px 64px; border-bottom: 1px solid var(--gray); display: flex; gap: 10px; flex-wrap: wrap; align-items: center; } .filter-label { font-size: 13px; font-weight: 600; color: #888; text-transform: uppercase; letter-spacing: .08em; margin-right: 6px; } .filter-chip { font-family: var(--body); font-size: 13px; font-weight: 600; padding: 7px 18px; border-radius: 100px; border: 1.5px solid var(--gray-3); color: #555; background: var(--white); cursor: pointer; transition: all .15s; text-decoration: none; } .filter-chip:hover { border-color: var(--teal); color: var(--teal); } .filter-chip.active { background: var(--teal); color: var(--white); border-color: var(--teal); } /* ── Job grid ─────────────────────────────── */ .jobs-grid { padding: 48px 64px; display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 24px; max-width: 1200px; margin: 0 auto; } .job-card { background: var(--white); border: 1.5px solid var(--gray); border-radius: 16px; padding: 28px; transition: border-color .2s, box-shadow .2s, transform .2s; display: flex; flex-direction: column; gap: 16px; } .job-card:hover { border-color: var(--teal); box-shadow: 0 8px 32px rgba(25, 112, 97, .12); transform: translateY(-2px); } .job-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; } .job-dept-badge { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 12px; border-radius: 100px; background: rgba(25, 112, 97, .1); color: var(--teal); } .job-contract { font-size: 12px; font-weight: 600; color: #888; padding: 4px 10px; border-radius: 100px; border: 1px solid var(--gray-3); } .job-card-title { font-family: var(--display); font-weight: 700; font-size: 18px; color: var(--black); line-height: 1.3; } .job-card-meta { display: flex; gap: 16px; font-size: 13px; color: #888; flex-wrap: wrap; } .job-card-meta span { display: flex; align-items: center; gap: 5px; } .job-card-meta .material-icons-round { font-size: 16px; color: var(--teal-light); } .job-card-footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; } .btn-apply { font-family: var(--body); font-size: 14px; font-weight: 700; padding: 10px 22px; border-radius: 100px; background: var(--teal); color: var(--white); transition: filter .15s, transform .12s; } .btn-apply:hover { filter: brightness(1.1); transform: translateY(-1px); } .job-deadline { font-size: 12px; color: #aaa; } .jobs-empty { grid-column: 1 / -1; text-align: center; padding: 80px 40px; color: #888; font-size: 16px; } /* ══════════════════════════════════════════ CAREERS — JOB DETAIL ══════════════════════════════════════════ */ .job-detail-hero { background: var(--teal-pale); padding: 64px 64px 48px; } .job-detail-breadcrumb { font-size: 13px; color: #888; margin-bottom: 24px; } .job-detail-breadcrumb a { color: var(--teal); } .job-detail-breadcrumb a:hover { text-decoration: underline; } .job-detail-title { font-family: var(--display); font-weight: 900; font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -0.03em; color: var(--black); margin-bottom: 20px; } .job-detail-tags { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 28px; } .job-tag { font-size: 13px; font-weight: 600; padding: 6px 16px; border-radius: 100px; border: 1.5px solid var(--gray-3); color: #555; display: flex; align-items: center; gap: 6px; } .job-tag .material-icons-round { font-size: 15px; color: var(--teal); } .btn-apply-lg { font-family: var(--display); font-size: 16px; font-weight: 800; padding: 14px 32px; border-radius: 100px; background: var(--teal); color: var(--white); display: inline-flex; align-items: center; gap: 8px; transition: filter .15s, transform .12s; } .btn-apply-lg:hover { filter: brightness(1.1); transform: translateY(-2px); } .job-detail-body { padding: 64px 64px; max-width: 860px; margin: 0 auto; } .job-section-title { font-family: var(--display); font-weight: 800; font-size: 1.3rem; color: var(--black); margin: 40px 0 16px; display: flex; align-items: center; gap: 10px; } .job-section-title::before { content: ''; display: block; width: 4px; height: 20px; background: var(--teal); border-radius: 4px; } .job-detail-body p, .job-detail-body li { font-size: 16px; line-height: 1.75; color: #444; font-weight: 300; margin-bottom: 8px; } .job-detail-body ul { list-style: disc; padding-left: 24px; } .job-closed-banner { background: #fff3cd; border: 1px solid #ffc107; color: #856404; padding: 16px 24px; border-radius: 12px; margin-bottom: 32px; font-size: 15px; display: flex; align-items: center; gap: 10px; } /* ══════════════════════════════════════════ CAREERS — APPLICATION FORM ══════════════════════════════════════════ */ .apply-wrapper { max-width: 700px; margin: 0 auto; padding: 64px 32px; } .apply-job-ref { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--teal); background: rgba(25, 112, 97, .1); padding: 6px 14px; border-radius: 100px; margin-bottom: 20px; } .apply-title { font-family: var(--display); font-weight: 900; font-size: clamp(1.8rem, 3vw, 2.4rem); letter-spacing: -0.03em; color: var(--black); margin-bottom: 8px; } .apply-subtitle { font-size: 16px; color: #666; font-weight: 300; margin-bottom: 40px; line-height: 1.6; } /* Form fields */ .form-group { margin-bottom: 24px; } .form-label { display: block; font-size: 14px; font-weight: 600; color: var(--black); margin-bottom: 8px; } .form-label.required::after { content: ' *'; color: #e53935; } .form-input, .form-textarea, .form-file-input { width: 100%; font-family: var(--body); font-size: 15px; font-weight: 400; padding: 12px 16px; border-radius: 12px; border: 1.5px solid var(--gray-3); outline: none; background: var(--white); transition: border-color .2s; color: var(--black); } .form-input:focus, .form-textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(25, 112, 97, .08); } .form-textarea { resize: vertical; min-height: 160px; } .form-file-input { padding: 10px 16px; cursor: pointer; } .form-help { font-size: 12px; color: #999; margin-top: 6px; } .form-error { font-size: 13px; color: #e53935; margin-top: 6px; } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } .btn-submit { font-family: var(--display); font-size: 16px; font-weight: 800; padding: 14px 36px; border-radius: 100px; background: var(--teal); color: var(--white); border: none; cursor: pointer; transition: filter .15s, transform .12s; display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; } .btn-submit:hover { filter: brightness(1.1); transform: translateY(-2px); } /* ── Success page ─────────────────────────── */ .success-wrapper { max-width: 560px; margin: 80px auto; padding: 0 32px; text-align: center; } .success-icon { width: 80px; height: 80px; border-radius: 50%; background: var(--teal-pale); display: flex; align-items: center; justify-content: center; margin: 0 auto 28px; } .success-icon .material-icons-round { font-size: 40px; color: var(--teal); } .success-title { font-family: var(--display); font-weight: 900; font-size: 2rem; letter-spacing: -0.03em; color: var(--black); margin-bottom: 16px; } .success-body { font-size: 16px; color: #666; line-height: 1.7; font-weight: 300; margin-bottom: 36px; } .btn-back { font-family: var(--body); font-size: 14px; font-weight: 700; padding: 12px 28px; border-radius: 100px; border: 1.5px solid var(--teal); color: var(--teal); transition: all .15s; display: inline-block; } .btn-back:hover { background: var(--teal); color: var(--white); } /* ── Responsive ──────────────────────────── */ @media (max-width: 768px) { .careers-hero, .careers-filters, .jobs-grid, .job-detail-hero, .job-detail-body { padding-left: 24px; padding-right: 24px; } .jobs-grid { grid-template-columns: 1fr; } .form-row { grid-template-columns: 1fr; } .apply-wrapper { padding: 40px 20px; } }