/* =============================================
   CAREERS — hero (shared page-hero), EVP, join-team CTA,
   vacancies teaser (reuses .opportunity-card from
   opportunities.css, enqueued as a dependency)
   ============================================= */

/* ---------- Employee Value Proposition ---------- */
.careers-evp { padding-block: var(--space-16); }
.careers-evp__inner {
    display: grid;
    grid-template-columns: 1fr 0.85fr;
    gap: var(--space-12);
    align-items: center;
}
.careers-evp__eyebrow {
    display: inline-block;
    font-size: var(--text-sm);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-green);
    margin-bottom: var(--space-3);
}
.careers-evp__heading { margin-bottom: var(--space-4); }
.careers-evp__body {
    color: var(--color-text-secondary);
    line-height: 1.75;
}
.careers-evp__image {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    border-radius: var(--radius-xl);
}
.careers-evp__image--placeholder { background: var(--color-surface-mid); }

/* ---------- Join Our Team CTA ---------- */
.careers-join-team {
    /* Was --color-green-light — white text/body copy on that bright a
       green fell well under WCAG AA contrast. This dark pink (derived from
       the logo's pink) keeps white readable while staying on-brand. */
    background: var(--color-pink-dark);
    padding-block: var(--space-16);
}
.careers-join-team__inner {
    display: grid;
    grid-template-columns: 0.9fr 1fr;
    align-items: center;
    gap: var(--space-10);
}
.careers-join-team__heading { color: var(--color-white); margin-bottom: var(--space-4); }
.careers-join-team__body { color: rgba(255,255,255,0.9); margin-bottom: var(--space-6); line-height: 1.7; }
.careers-join-team__btn {
    background: var(--color-white);
    color: var(--color-pink-dark);
    border-color: var(--color-white);
}
.careers-join-team__btn:hover { background: rgba(255,255,255,0.9); }
.careers-join-team__image {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: var(--radius-xl);
}
.careers-join-team__image--placeholder { background: rgba(255,255,255,0.15); }

/* ---------- Open Vacancies ---------- */
.careers-vacancies { padding-block: var(--space-16); scroll-margin-top: var(--space-10); }
.careers-vacancies__header { margin-bottom: var(--space-8); }
.careers-vacancies__heading { margin-bottom: var(--space-3); }
.careers-vacancies__subheading { color: var(--color-text-secondary); }
.careers-vacancies__empty {
    color: var(--color-text-muted);
    padding-block: var(--space-10);
    text-align: center;
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    margin-bottom: var(--space-8);
}
.careers-vacancies__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-6);
    margin-bottom: var(--space-8);
}
.careers-vacancies__cta { display: inline-flex; }

@media (max-width: 1024px) {
    .careers-evp__inner { grid-template-columns: 1fr; gap: var(--space-8); }
    .careers-evp__media { order: -1; }

    .careers-join-team__inner { grid-template-columns: 1fr; gap: var(--space-8); text-align: center; }
    .careers-join-team__media { order: -1; }

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