/* ==========================================================================
   Карьера - одна страница со списком вакансий в виде крупного аккордеона.
   Без фото, без формы отклика - отклик по email (см. текст в каждой вакансии).
   ========================================================================== */

/* --- Hero --- */
.careers-header {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: calc(var(--header-height) + 4rem) var(--container-padding) 3rem;
}
.careers-header h1 { font-size: clamp(2.4rem, 5vw, 3.6rem); margin: 0 0 1rem; max-width: 22ch; }
.careers-subtitle { font-size: 1.2rem; max-width: 55ch; margin: 0 0 0.75rem; color: #555; }
.careers-intro { font-size: 1rem; max-width: 55ch; margin: 0; color: #777; }

/* --- Вакансии: 40/60, слева общий текст, справа крупный аккордеон --- */
.careers-vacancies {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 1rem var(--container-padding) 5rem;
}
.careers-vacancies-grid {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 3rem;
}
.careers-vacancies-col-left { position: sticky; top: calc(var(--header-height) + 2rem); align-self: start; }
.careers-generic-text { font-size: 1.05rem; line-height: 1.75; color: #555; margin: 0; max-width: 42ch; }
.vacancies-accordion { display: flex; flex-direction: column; gap: 1rem; }
.vacancy-accordion-item {
    border: 1px solid var(--color-stone-line);
    border-radius: var(--radius);
    padding: 1.6rem 1.8rem;
}
.vacancy-accordion-item summary {
    cursor: pointer;
    list-style: none;
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--color-text);
}
.vacancy-accordion-item summary::-webkit-details-marker { display: none; }
.vacancy-accordion-item summary::after { content: '+'; float: right; color: var(--color-teal); font-size: 1.6rem; line-height: 1; }
.vacancy-accordion-item[open] summary::after { content: '\2212'; }
.vacancy-accordion-body { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--color-stone-line); }
.vacancy-accordion-block { margin-bottom: 1.3rem; }
.vacancy-accordion-block:last-of-type { margin-bottom: 1.5rem; }
.vacancy-accordion-block h4 { font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.04em; color: #999; margin: 0 0 0.5rem; }
.vacancy-accordion-block p { font-size: 1rem; line-height: 1.7; color: #555; margin: 0; }
@media (max-width: 820px) {
    .careers-vacancies-grid { grid-template-columns: 1fr; gap: 1.5rem; }
    .careers-vacancies-col-left { position: static; }
}
.vacancy-accordion-apply { font-size: 0.98rem; color: var(--color-text); margin: 0; }
.vacancy-accordion-apply a { color: var(--color-teal); font-weight: 600; }
.empty-state { color: #777; }

/* --- Преимущества --- */
.careers-benefits {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 1rem var(--container-padding) 5rem;
}
.careers-benefits h2 { font-size: clamp(1.8rem, 3.5vw, 2.4rem); margin: 0 0 2rem; }
.careers-benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.5rem;
}
.careers-benefit-card {
    border: 1px solid var(--color-stone-line);
    border-radius: var(--radius);
    padding: 1.5rem;
}
.careers-benefit-card h3 { font-size: 1.05rem; margin: 0 0 0.5rem; }
.careers-benefit-card p { font-size: 0.92rem; line-height: 1.55; color: #555; margin: 0; }
