@import url('/vacancy-figma.css');

/* Shared section styles; generated paint/geometry stays scoped to vacancies. */
/* Transparent closing sections share Figma’s background token with the page. */
.vacancy-page{--vacancy-unit:min(1px,.052083333333vw);position:relative;isolation:isolate;background:#08041a}
.vacancy-page h1,.vacancy-page h2,.vacancy-page p{font-family:Montserrat,Arial,sans-serif;margin:0}
.vacancy-page a{color:inherit}
.vacancy-page .home-nav a:any-link{color:#f0eafa}
.vacancy-page .vacancy-footer a:any-link{color:#7b7688}
.vacancy-copy{white-space:pre-line}
.vacancy-section{isolation:isolate}
.vacancy-section:not(.vacancy-hero){content-visibility:auto;contain-intrinsic-height:auto var(--vacancy-section-height,410px)}
.vacancy-baked-blur::before{content:'';position:absolute;inset:calc(-4 * var(--vacancy-blur-radius));background-image:var(--vacancy-blur-image);background-size:100% 100%;pointer-events:none}
.vacancy-page .vacancy-card>.vacancy-card-fade--bottom{left:0;bottom:0;width:100%;height:63%}
.vacancy-hero,.vacancy-advantages,.vacancy-requirements{clip-path:inset(0 round 0 0 calc(60 * var(--vacancy-unit)) calc(60 * var(--vacancy-unit)))}
.vacancy-page .vacancy-cta{
  border:1px solid transparent;outline:none;text-decoration:none;isolation:isolate;
  /* Native paint avoids Safari's filtered SVG/mask surface under the CTA. */
  background-image:radial-gradient(ellipse 50% 50% at 50% 0%,rgba(255,255,255,.39),transparent),linear-gradient(#781eff,#781eff),linear-gradient(rgba(255,255,255,.5),rgba(160,80,255,.45));
  background-origin:padding-box,padding-box,border-box;background-clip:padding-box,padding-box,border-box;
  filter:none;box-shadow:0 0 calc(14.85 * var(--vacancy-unit)) rgba(120,30,255,.66);
}
.vacancy-page .vacancy-cta::before{content:none}
.vacancy-cta::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:rgba(176,116,255,.18);opacity:0;transition:opacity 220ms ease}
.vacancy-cta>*{position:relative;z-index:1}
.vacancy-cta:focus-visible::after{opacity:1}
.vacancy-cta:focus-visible{outline:2px solid #c29aff;outline-offset:6px}
.vacancy-card{isolation:isolate;clip-path:inset(0 round calc(40 * var(--vacancy-unit)));transition:border-color 220ms ease}
.vacancy-page .vacancy-illustration-card{clip-path:inset(0 round calc(26 * var(--vacancy-unit)));border-color:transparent}
.vacancy-card:not(.vacancy-illustration-card)::after,.vacancy-hero::after,.vacancy-illustration-card::after{
  content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;padding:calc(var(--vacancy-stroke-width,1) * var(--vacancy-unit));
  background:var(--vacancy-stroke-gradient,white);border:0;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;
}
.vacancy-hero{--vacancy-stroke-width:2}
.vacancy-hero::after,.vacancy-illustration-card::after{mix-blend-mode:overlay}
.vacancy-page .vacancy-card a{position:relative}
.vacancy-page .vacancy-hero-person{pointer-events:none}
.vacancy-hero .vacancy-baked-blur{transition:scale 350ms ease,opacity 350ms ease}
.vacancy-hero.is-cta-active .vacancy-baked-blur{scale:1.08;opacity:.6}
.vacancy-footer a:hover{color:white}
.vacancy-page .vacancy-footer{min-height:calc(410 * var(--vacancy-unit))}
/* Figma's footer ornaments extend upward into the closing CTA section. Keep
   this pair out of paint containment, retaining cached (not live) blur layers. */
.vacancy-page :is(.vacancy-action,.vacancy-footer){content-visibility:visible;contain:none;overflow:visible;background:transparent;isolation:auto}
.vacancy-page .vacancy-action-copy{z-index:1}
.vacancy-page .vacancy-footer-content{z-index:1}
.vacancy-footer>div:not(.vacancy-footer-content),.vacancy-action-orb{pointer-events:none}
/* Keep the phone's top inside the card and preserve its aspect ratio on mobile. */
.vacancy-page[data-vacancy="courier"] [data-vacancy-image="requirements.image7"]{top:4%;height:auto}
.vacancy-heading{font-size:inherit;line-height:normal}
.vacancy-table-body{position:relative;display:flex;flex-direction:column;gap:inherit;width:100%;min-width:0}
.vacancy-page .vacancy-table-row{display:grid;grid-template-columns:repeat(var(--vacancy-table-columns,2),minmax(0,1fr));gap:calc(16 * var(--vacancy-unit));align-items:start}
.vacancy-page .vacancy-table-row>[data-vacancy-table-cell]{min-width:0;width:auto;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
.vacancy-table-row>[data-vacancy-table-cell]:last-child{text-align:right}
.vacancy-page .vacancy-table-heading>[data-vacancy-table-cell]{color:#c1c0c6;font-weight:500}
.vacancy-page .vacancy-rates.has-flexible-tables{content-visibility:visible;contain:none;height:auto;min-height:calc(var(--vacancy-design-height) * var(--vacancy-unit));padding:calc(80 * var(--vacancy-unit)) 0;display:flex;align-items:center;justify-content:center}
.vacancy-page .vacancy-rates.has-flexible-tables>.vacancy-content{position:relative;top:auto;left:auto;transform:none;width:calc(1440 * var(--vacancy-unit));margin:0 auto}
.vacancy-page .vacancy-rate-panels{height:auto;min-height:calc(var(--vacancy-panel-design-height) * var(--vacancy-unit));align-items:stretch}
.vacancy-page .vacancy-rate-panels>div{height:auto}
/* Keep the 1920px composition centered; only full-section paint grows wider. */
@media(min-width:1921px){
  .vacancy-page{--vacancy-wide-offset:calc((100vw - 1920px) / 2)}
  .vacancy-page .vacancy-section>:is(.vacancy-content,.vacancy-hero-copy,.vacancy-hero-person,.v1,.v4,.v7,.v9,.v28,.v70,.v82,.v86,.v186,.v187){
    margin-left:var(--vacancy-wide-offset);
  }
  .vacancy-page .vacancy-section>:is(.v12,.v16,.v37,.v89){width:100vw}
  .vacancy-page :is(.v13,.v84){width:calc(100vw - 1px)}
  .vacancy-page :is(.v15,.v85){height:calc(100vw - 1px)}
  .vacancy-page .vacancy-footer>.v174{right:var(--vacancy-wide-offset)}
}
@media(hover:hover) and (pointer:fine){
  .vacancy-card:hover{border-color:rgba(154,86,255,.35)}
  .vacancy-cta:hover::after{opacity:1}
}
/* No mobile vacancy frames were provided: reflow the original blocks, preserving assets. */
@media(max-width:700px){
  .vacancy-page{--vacancy-unit:.72px}
  .vacancy-page .vacancy-section{height:auto;min-height:0;padding:50px 20px;overflow:hidden}
  .vacancy-page .vacancy-section:not(.vacancy-hero){contain-intrinsic-height:auto var(--vacancy-mobile-height,600px)}
  .vacancy-page .vacancy-content{position:relative;left:auto;top:auto;width:100%;transform:none;gap:28px}
  .vacancy-page .vacancy-card-grid{display:grid;grid-template-columns:1fr;width:100%;gap:16px}
  .vacancy-page .vacancy-card{width:100%;min-width:0;min-height:185px;flex:none}
  .vacancy-page .vacancy-card .vacancy-copy{white-space:pre-line;max-width:100%}
  .vacancy-page .vacancy-benefits .vacancy-card .vacancy-copy{font-size:16px;line-height:1.4}
  .vacancy-page .vacancy-benefits .vacancy-card .vacancy-copy:first-child{font-size:20px}
  .vacancy-page .vacancy-heading{width:100%;font-size:30px;white-space:normal;text-align:center;line-height:1.2}
  .vacancy-page .vacancy-hero{min-height:530px;padding:120px 24px 52px;border-radius:0 0 32px 32px;clip-path:inset(0 round 0 0 32px 32px)}
  .vacancy-page .vacancy-hero-person{display:none}
  .vacancy-page .vacancy-hero-copy{position:relative;z-index:5;left:auto;top:auto;width:100%;transform:none;gap:36px}
  .vacancy-page .vacancy-hero-title{font-size:clamp(30px,9.5vw,38px);text-align:left;line-height:1.15}
  .vacancy-page .vacancy-hero-copy p{font-size:17px;line-height:1.5}
  .vacancy-page .vacancy-cta{width:100%;padding:16px 22px;min-height:56px;gap:10px}
  .vacancy-page .vacancy-cta .vacancy-copy{font-size:17px}
  .vacancy-page .vacancy-hero-copy>div{gap:24px}
  .vacancy-page .vacancy-requirements .vacancy-card,.vacancy-page .vacancy-advantages .vacancy-card{height:350px;justify-content:flex-end;padding:120px 24px 26px;gap:10px;overflow:hidden}
  .vacancy-page .vacancy-illustration-card>.vacancy-card-art{inset:0;width:100%;height:100%}
  .vacancy-page :is(.vacancy-requirements,.vacancy-advantages) .vacancy-card>.vacancy-copy{font-size:24px;line-height:1.25}
  .vacancy-page :is(.vacancy-requirements,.vacancy-advantages) .vacancy-card>.vacancy-copy:last-child{font-size:17px;line-height:1.45}
  .vacancy-page .vacancy-rates .vacancy-content{gap:24px}
  .vacancy-page .vacancy-rates .vacancy-content>div{width:100%;height:auto;flex-direction:column;align-items:stretch;gap:22px}
  .vacancy-page .vacancy-rates .vacancy-content>div>div{min-width:0;width:100%;height:auto;white-space:normal}
  .vacancy-page .vacancy-rates .vacancy-content>div>div>div{flex-wrap:wrap;gap:16px}
  .vacancy-page .vacancy-rates .vacancy-copy{white-space:normal;font-size:14px;max-width:100%;width:auto}
  .vacancy-page .vacancy-rates .vacancy-content>div:first-child .vacancy-copy{font-size:18px}
  .vacancy-page .vacancy-rates .vacancy-content>div:first-child>div .vacancy-copy:last-child{font-size:30px}
  .vacancy-page .vacancy-rates .vacancy-content>div:last-child>div:last-child{flex-direction:column;gap:20px}
  .vacancy-page .vacancy-rates .vacancy-content>div:last-child>div:last-child>div{width:100%;min-width:0}
  .vacancy-page .vacancy-action{min-height:260px;display:flex;align-items:center;justify-content:center}
  .vacancy-page .vacancy-action-copy{position:relative;top:auto;left:auto;transform:none;width:100%;gap:28px}
  .vacancy-page .vacancy-action-copy>.vacancy-copy{font-size:20px;text-align:center}
  .vacancy-page .vacancy-footer{gap:26px;padding:40px 24px 28px}
  .vacancy-page .vacancy-footer-content{width:100%;min-width:0;max-width:100%;overflow:visible}
  .vacancy-page .vacancy-footer-content[data-name="section"]{flex-direction:column;gap:32px}
  .vacancy-page .vacancy-footer-content>div{width:100%;flex:none;margin:0}
  .vacancy-page .vacancy-footer-content>div:last-child>div>div{margin-right:0;min-width:0}
  .vacancy-page .vacancy-footer-content>div:last-child>div{gap:12px}
  .vacancy-page .vacancy-footer-content a{font-size:12px}
  .vacancy-page .vacancy-footer-content .vacancy-copy{font-size:14px;line-height:1.4}
  .vacancy-page .vacancy-footer-content .vacancy-heading{font-size:36px;text-align:left}
  .vacancy-page .vacancy-footer-content:last-child{flex-wrap:wrap;gap:14px}
  .vacancy-page .vacancy-footer-content:last-child>div{width:auto;gap:18px}
  .vacancy-page .vacancy-footer-content:last-child .vacancy-copy{font-size:9px;white-space:normal;text-align:left}
  .vacancy-page :is(.vacancy-action,.vacancy-footer){overflow:visible}
  .vacancy-page .vacancy-action-orb--64{left:calc(100% - 5px);top:calc(100% - 70px)}
  .vacancy-page .vacancy-action-orb--66{left:12%;top:calc(100% - 85px)}
  .vacancy-page .vacancy-action-orb--65{left:-9px;top:calc(100% - 25px)}
  .vacancy-page .vacancy-action-orb--67{left:85%;top:calc(100% + 8px)}
  .vacancy-page .vacancy-action-orb--72{left:48%;top:calc(100% + 1px)}
  .vacancy-page .vacancy-rates.has-flexible-tables{min-height:0;padding:50px 20px;display:block}
  .vacancy-page .vacancy-rates.has-flexible-tables>.vacancy-content{width:100%}
  .vacancy-page .vacancy-rate-panels{min-height:0}
  .vacancy-page .vacancy-rates div:has(>div>.vacancy-table-body){flex-direction:column}
  .vacancy-page .vacancy-rates div:has(>.vacancy-table-body){width:100%;flex:auto}
  .vacancy-page .vacancy-table-body{overflow-x:auto;overscroll-behavior-x:contain}
  .vacancy-page .vacancy-table-row{column-gap:12px;min-width:max(100%,calc(var(--vacancy-table-columns,2) * 90px))}
}
@media(min-width:480px) and (max-width:700px){.vacancy-page .vacancy-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.vacancy-hero .vacancy-baked-blur,.vacancy-cta::after{transition:none}.vacancy-hero.is-cta-active .vacancy-baked-blur{scale:none}}
