/* Hallmark · shape: Long Document by the join anatomy, the open role and the way into the team · genre: editorial · theme: custom (brand Kalinka, system B «Маршрут», tokens of css/shell.css) · job: apply, through the free course · hero: paper, the head, one sentence, two actions, the card of the role terms beside them (under them on the phone) · nav: guest bar with the language links · footer: the shared navy footer without the canvas band · imagery: none, the role card and the red line of the way carry the page · signature: the way into the team as four stations on one red line
 * axes: light/grotesk-sans/cool · posture: restrained · surface: absolute · contrast: pass · fold: pass · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R4 V3 · weakest: V, the owner gave no pictures of the office or the team; the first screen shows the terms of the role on a cabinet card instead of a picture (owner 11.11.2026), the red line of the way carries the rest */
/* Hallmark · waive 77 · the way into the team and the questions keep a reading measure of 52 to 62rem · four long steps and long answers read best in one column */
/* Решение координатора 11.11.2026, answered 58 (sloplint принимает answered только для Finish, поэтому строка без префикса Hallmark): the gate counts text inside closed <details> (Chrome gives it a real box), the eight questions of the application and seven answers are folded · visible words per 900px screen are measured on the channel after every layout change, the numbers live in waves/r6-plan.md sections 20 and 21 */
/* Hallmark · answered word budget · the job page carries every fact a candidate needs and nothing invented, the questions stay closed */
/* Вакансия «Работа в агентстве недвижимости на Пхукете» (волна Р6, черновик waves/r6-vacancy-draft.md редакция 2):
 * страницы RU и EN одной разметки на токенах css/shell.css. Путь в команду - четыре станции на красной линии,
 * как маршрут посадочной, но статичной: без скриптов. */

/* Низ первого экрана 64: вместе с отступом пути 96 пустая полоса под карточкой не больше 160 (sloplint REFLEX 79 на EN 1440 при 96). */
.job-hero { padding-block: var(--space-3xl) var(--space-2xl); }
.job-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--space-2xl); align-items: center; }
.job-hero h1 { font-size: var(--text-h1); max-width: 18ch; }
.job-hero__lead { max-width: 40ch; margin-block-start: var(--space-lg); font-size: 1.375rem; line-height: 1.42; color: var(--color-ink-2); }
.job-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-block-start: var(--space-xl); }

/* Условия роли в первом экране (решение владельца 11.11.2026): карточка кабинета, линия синий 12%, короткая красная
 * линия над списком, как в профиле. Только факты из ответов владельца; те же строки начинают описание JobPosting. */
.job-card { padding: var(--space-lg); border: 1px solid var(--color-rule); border-radius: var(--radius-card); background: var(--color-paper); box-shadow: var(--shadow-card); }
.job-card::before { content: ""; display: block; width: var(--space-xl); height: 3px; margin-block-end: var(--space-md); background: var(--color-accent); }
.job-card__row { display: grid; grid-template-columns: 8rem minmax(0, 1fr); column-gap: var(--space-md); align-items: baseline; padding-block: var(--space-sm); border-block-start: 1px solid var(--color-rule); }
.job-card__row:first-child { padding-block-start: 0; border-block-start: 0; }
.job-card dt { font-size: var(--text-label); color: var(--color-ink-2); }
.job-card dd { font-weight: 500; line-height: 1.4; }
.job-card__row--role dd { font-size: var(--text-h3); font-weight: 600; line-height: 1.25; }
.job-card__note { padding-block-start: var(--space-sm); border-block-start: 1px solid var(--color-rule); font-weight: 500; line-height: 1.4; }
.job-card__dates { margin-block-start: var(--space-xs); font-size: var(--text-label); color: var(--color-ink-2); }

.job-h2 { font-size: var(--text-h2); }
.job-way, .job-cols, .job-ask, .job-faq, .job-close { padding-block: var(--space-3xl); }
.job-ask { padding-block: var(--space-2xl); }
/* Полосы секций чередуются: первый экран и «К чему готовит курс» на белом, путь, анкета и закрытие на синем 5%. */
.job-way, .job-ask { background: var(--color-paper-2); }

/* Путь в команду: красная линия слева, станции кругами B. */
.way { position: relative; display: grid; gap: var(--space-xl); max-width: 52rem; margin-block-start: var(--space-xl); padding-inline-start: var(--space-2xl); }
.way::before { content: ""; position: absolute; inset-block: 12px; inset-inline-start: 9px; width: 3px; background: var(--color-accent); }
.way__stop { position: relative; }
.way__dot { position: absolute; inset-inline-start: calc(-1 * var(--space-2xl)); inset-block-start: 0.3em; width: 20px; height: 20px; border: 3px solid var(--color-accent); border-radius: 50%; background: var(--color-accent); }
.way__name { font-size: var(--text-h3); }
.way__n { color: var(--color-accent); font-variant-numeric: tabular-nums; margin-inline-end: var(--space-xs); }
.way__text { max-width: 62ch; margin-block-start: var(--space-xs); color: var(--color-ink-2); }

.job-cols__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--space-2xl); }
.job-text { max-width: 62ch; margin-block-start: var(--space-lg); color: var(--color-ink-2); }
.job-list { display: grid; gap: var(--space-sm); margin-block-start: var(--space-lg); }
.job-list li { position: relative; max-width: 62ch; padding-inline-start: var(--space-lg); color: var(--color-ink-2); }
.job-list li::before { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: 0.6em; width: 10px; height: 10px; border: 2px solid var(--color-accent); border-radius: 50%; }
.job-list--two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--space-2xl); }
.job-ask__more > summary { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-md); min-height: 44px; list-style: none; cursor: pointer; }
.job-ask__more > summary::-webkit-details-marker { display: none; }
.job-ask__more > summary::after { content: "+"; flex: none; color: var(--color-accent); font-size: var(--text-h2); font-weight: 600; line-height: 1; }
.job-ask__more[open] > summary::after { content: "\2212"; }

.faq__list { margin-block-start: var(--space-xl); max-width: 62rem; border-block-end: 1px solid var(--color-rule); }
.faq__list details { border-block-start: 1px solid var(--color-rule); }
.faq__list summary { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-md); min-height: 44px; padding-block: var(--space-md); list-style: none; cursor: pointer; }
.faq__list summary::-webkit-details-marker { display: none; }
.faq__list summary::after { content: "+"; flex: none; color: var(--color-accent); font-size: var(--text-h3); font-weight: 600; line-height: 1; }
.faq__list details[open] > summary::after { content: "\2212"; }
.faq__list summary h3 { font-size: 1.25rem; font-weight: 500; line-height: 1.3; transition: color var(--dur-short) var(--ease-out); }
.faq__list summary:hover h3 { color: var(--color-accent); }
.faq__list .answer { max-width: 62ch; padding-block-end: var(--space-lg); color: var(--color-ink-2); }
.faq__list .answer a { color: var(--color-accent); }

.job-close { background: var(--color-paper-2); }
.job-close__contact { margin-block-start: var(--space-lg); color: var(--color-ink-2); }
.job-close__contact .link { display: inline-flex; align-items: center; min-height: 44px; }

/* Путь в команду от 64rem: четыре станции в ряд на горизонтальной красной линии (сверка Fable P1.2). */
@media (min-width: 64.01rem) {
  .way { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--space-lg); max-width: none; padding-inline-start: 0; padding-block-start: var(--space-xl); }
  .way::before { inset-block: 9px auto; inset-inline: 10px; width: auto; height: 3px; }
  .way__dot { inset-inline-start: 0; inset-block-start: calc(-1 * var(--space-xl)); }
  .way__text { max-width: none; }
}
@media (max-width: 64rem) {
  .job-hero__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-xl); }
  .job-card { max-width: 40rem; }
}
@media (max-width: 48rem) {
  .job-hero { padding-block: var(--space-2xl); }
  .job-hero__lead { font-size: 1.125rem; }
  .job-actions { flex-direction: column; align-items: stretch; }
  .job-way, .job-cols, .job-ask, .job-faq, .job-close { padding-block: var(--space-2xl); }
  .job-cols__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-2xl); }
  .job-list--two { grid-template-columns: minmax(0, 1fr); }
  .way { padding-inline-start: var(--space-xl); }
  .way__dot { inset-inline-start: calc(-1 * var(--space-xl)); }
  .faq__list summary h3 { font-size: 1.125rem; }
}
@media (max-width: 30rem) {
  .job-card__row { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-3xs); }
}
