:root{--vacancy-red:#e31e2b;--vacancy-ink:#171714;--vacancy-muted:#69665f;--vacancy-line:#dedbd3;--vacancy-bg:#f4f2ed}
.vacancy-hero{padding:clamp(54px,7vw,100px) 0 clamp(42px,5vw,74px);background:var(--vacancy-bg)}
.vacancy-hero-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:clamp(30px,7vw,110px);align-items:end}
.vacancy-hero .breadcrumbs{margin-bottom:30px}
.vacancy-hero h1{max-width:820px;margin:0;color:var(--vacancy-ink);font-size:clamp(44px,6vw,86px);font-weight:500;line-height:.98;letter-spacing:-.04em;text-wrap:balance}
.vacancy-hero p{max-width:520px;margin:0;color:var(--vacancy-muted);font-size:clamp(16px,1.5vw,20px);line-height:1.6;text-wrap:pretty}
.vacancy-content{padding-top:clamp(46px,6vw,86px);padding-bottom:clamp(70px,8vw,120px)}
.vacancy-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--vacancy-line)}
.vacancy-section-head h2{margin:0;font-size:clamp(28px,3vw,42px);font-weight:600;letter-spacing:-.03em}
.vacancy-section-head span{color:var(--vacancy-muted);font-size:13px}
.vacancy-list{display:grid;gap:18px}
.vacancy-card{display:grid;grid-template-columns:minmax(240px,30%) minmax(0,1fr);min-height:250px;overflow:hidden;border:1px solid var(--vacancy-line);border-radius:14px;background:#fff}
.vacancy-card-no-image{grid-template-columns:1fr;min-height:0}
.vacancy-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 82px;gap:3px;min-height:250px;background:#ddd9d1}
.vacancy-gallery.single{display:block}
.vacancy-gallery img{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover}
.vacancy-gallery img:first-child{grid-column:1/-1}
.vacancy-card-body{min-width:0;padding:clamp(24px,3vw,38px)}
.vacancy-number{color:var(--vacancy-red);font-size:13px;font-weight:700;letter-spacing:.08em}
.vacancy-title-row{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}
.vacancy-details h2{margin:0;font-size:clamp(24px,2.2vw,34px);font-weight:600;line-height:1.12;letter-spacing:-.03em;overflow-wrap:anywhere;text-wrap:balance}
.vacancy-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,58px)}
.vacancy-columns h3{margin:0 0 14px;font-size:14px}
.vacancy-columns ul{display:grid;gap:8px;margin:0;padding:0;list-style:none;color:var(--vacancy-muted);font-size:14px;line-height:1.5}
.vacancy-columns li{position:relative;padding-left:20px}
.vacancy-columns li::before{position:absolute;top:.7em;left:0;width:6px;height:6px;border-radius:50%;content:"";background:var(--vacancy-red)}
.vacancy-manager-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;padding:18px 22px;border:1px solid var(--vacancy-line);border-radius:14px;background:#fff}
.vacancy-manager-contact span,.vacancy-manager-contact strong{display:block}.vacancy-manager-contact strong{margin-bottom:4px;font-size:16px}.vacancy-manager-contact span{color:var(--vacancy-muted);font-size:13px}.vacancy-manager-contact a{min-height:44px;display:inline-flex;align-items:center;padding:0 20px;border-radius:999px;color:#fff;background:var(--vacancy-red);font-size:16px;font-weight:700;text-decoration:none;white-space:nowrap}.vacancy-manager-contact a:hover{background:var(--vacancy-ink)}
.vacancy-empty{max-width:760px;padding:clamp(28px,5vw,54px);border:1px solid var(--vacancy-line);border-radius:16px}.vacancy-empty h2{margin:0 0 12px;font-size:30px}.vacancy-empty p{max-width:600px;margin:0 0 24px;color:var(--vacancy-muted);line-height:1.6}.vacancy-contact-button{min-height:48px;display:inline-flex;align-items:center;padding:0 22px;border-radius:999px;color:#fff;background:var(--vacancy-ink);font-weight:700;text-decoration:none}
@media(max-width:760px){.vacancy-hero-layout{grid-template-columns:1fr;gap:22px}.vacancy-hero h1{font-size:clamp(38px,12vw,58px)}.vacancy-card{grid-template-columns:1fr}.vacancy-gallery,.vacancy-gallery.single{display:block;min-height:0;aspect-ratio:16/9}.vacancy-gallery img{aspect-ratio:16/9}.vacancy-gallery img:nth-child(n+2){display:none}.vacancy-columns{grid-template-columns:1fr;gap:24px}.vacancy-manager-contact{align-items:stretch;flex-direction:column}.vacancy-manager-contact a{justify-content:center}}
@media(max-width:380px){.vacancy-card-body{padding:22px 18px}.vacancy-hero h1{font-size:38px}.vacancy-section-head{align-items:flex-start;flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){.vacancy-contact a{transition:none}}
