/* v3 · слой «vacancies» — из шаблона 17 поверх 16 */
/* ================= Вакансии ================= */
.vfilters { margin-top: 40px; }
.vac[hidden] { display: none; }
.vacs--all { margin-top: 32px; }
.vhero h1 { margin: 20px 0 18px; font: 500 clamp(40px, 6vw, 92px)/1.02 var(--display); text-transform: uppercase; color: var(--fg); max-width: 16ch; text-wrap: balance; }
.vhero .hero__in { padding-block: 32px 0; }
.vhero__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.vhero__tags span { font: 500 12px/1 var(--mono); text-transform: lowercase; padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); color: var(--text); }
.vhero__tags span:first-child { background: var(--accent); border-color: var(--accent); color: var(--ink); }
.vhero .hero__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 36px; }
@media (max-width: 800px) { .vhero .hero__facts { grid-template-columns: minmax(0, 1fr); } }
.vbody { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: clamp(32px, 5vw, 72px); align-items: start; }
.vsec + .vsec { margin-top: 56px; }
.vsec h2 { margin: 0 0 24px; font: 500 clamp(28px, 3vw, 42px)/1.05 var(--display); text-transform: uppercase; color: var(--fg); }
.vsec h2 span { display: block; margin-bottom: 12px; font: 500 12px/1 var(--mono); letter-spacing: .12em; color: var(--accent); }
.vtasks { list-style: none; margin: 0; padding: 0; counter-reset: t; border-top: 1px solid var(--edge); }
.vtasks li { counter-increment: t; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--edge); font-size: 17px; line-height: 1.55; color: var(--text); }
.vtasks li::before { content: counter(t, decimal-leading-zero); font: 500 14px/1.8 var(--mono); color: var(--accent); }
.vreq { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.vreq li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 14px; font-size: 17px; line-height: 1.55; color: var(--text); }
.vreq svg { width: 26px; height: 26px; }
.vreq--plus li { color: var(--muted); }
.voffer { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.voffer li { padding: 20px 22px; font-size: 15px; line-height: 1.55; color: var(--text); }
.voffer li b { display: block; margin-bottom: 6px; font: 500 18px/1.2 var(--display); text-transform: uppercase; color: var(--fg); }
@media (max-width: 700px) { .voffer { grid-template-columns: minmax(0, 1fr); } }
.vnote { margin: 48px 0 0; padding: 26px 28px; border-radius: 20px; border: 1px solid rgba(128,210,7,.35); background: linear-gradient(100deg, rgba(128,210,7,.12), rgba(128,210,7,.02) 70%); font: 300 clamp(20px, 1.8vw, 24px)/1.45 var(--body); color: var(--fg); }
.vside { position: sticky; top: 104px; padding: 26px; display: grid; gap: 18px; }
.vside__pay { font: 500 30px/1.1 var(--display); color: var(--accent); }
.vside dl { margin: 0; display: grid; gap: 12px; padding-block: 16px; border-block: 1px solid var(--edge); }
.vside dl div { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.vside dt { color: var(--muted); }
.vside dd { margin: 0; color: var(--fg); text-align: right; }
.vside .btn { justify-content: center; }
.vside__mail { font-size: 14px; color: var(--muted); }
.vside__mail a { color: var(--fg); }
.vside__share { display: flex; align-items: center; gap: 10px; font: 500 12px/1 var(--mono); text-transform: uppercase; color: var(--muted); }
.vside__share a { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); display: grid; place-items: center; color: var(--fg); transition: border-color .2s, color .2s; }
.vside__share a:hover { border-color: var(--accent); color: var(--accent); }
.vside__share svg { width: 18px; height: 18px; }
@media (max-width: 960px) { .vbody { grid-template-columns: minmax(0, 1fr); } .vside { position: static; order: -1; } }
/* ---- сборка сайта: раскладка вместо инлайн-стилей макета, отклик в две ступени ---- */
.sec--list { padding-top: clamp(48px, 5vw, 80px); }
.sec--vbody { padding-top: clamp(56px, 6vw, 96px); }
.sec--flush { padding-top: 0; }
.final__head { margin-top: 18px; }
.vmore { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 24px; }
.vside__mail { margin: 0; }
.vrich { color: var(--text); line-height: 1.6; }
.vrich p { margin: 0 0 12px; }
.vrich ul { margin: 0 0 12px; padding-left: 20px; }
.vrich li + li { margin-top: 6px; }
.resume .rstep { display: grid; gap: 16px; }
.resume .rstep[hidden] { display: none; }
.resume .rstep__title { margin: 0; font: 500 clamp(22px, 2.2vw, 30px)/1.1 var(--display); text-transform: uppercase; color: var(--fg); }
.resume .file { margin: 0; }
.vheard { margin: 0; padding: 0; border: 0; display: grid; gap: 12px; }
.vheard legend { padding: 0; margin-bottom: 12px; font: 500 12px/1.4 var(--mono); text-transform: uppercase; letter-spacing: .08em; color: var(--text); }
.vheard legend small { text-transform: none; letter-spacing: 0; opacity: .7; }
.vheard__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; }
@media (max-width: 700px) { .vheard__list { grid-template-columns: minmax(0, 1fr); } }
.vchk { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.4; color: var(--text); cursor: pointer; }
.vchk input { flex: none; margin-top: 2px; accent-color: var(--accent); }
.vheard__own { width: 100%; }
.vheard.is-error legend { color: #ff6b6b; }
.vheard__own { font: 400 17px/1.4 var(--body); color: var(--fg); background: rgba(0,0,0,.45); border: 1px solid var(--edge); border-radius: 14px; padding: 16px 18px; }
.vheard__own:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px rgba(128,210,7,.18); }
.resume button.link { background: none; border: 0; padding: 0; cursor: pointer; }
.vsec--group h2 { margin-bottom: 0; }
.vsec--group + .vsec--sub, .vsec--sub + .vsec--sub { margin-top: 28px; }
.vsec--sub h3 { margin: 0 0 16px; font: 500 clamp(18px, 1.6vw, 22px)/1.2 var(--display); text-transform: uppercase; color: var(--fg); }

