/* ap-r.ru/rabota • v8 shared layer. Replaces design-common.css.
   Load AFTER rabota.css, BEFORE exactly one v8 theme.
   Theme rules affect body.design-ready; ?v=0 uses the base CSS. */
body.design-ready { --font-text:"Onest",system-ui,sans-serif; --focus:#087F87; --apply-focal-x:50%; }
body.design-ready :is(.hero-copy,.apply-aside,.form-card,.flow>*,.split>*,.a-group,.f2>*) { min-width:0; }
body.design-ready :is(button,input,textarea,select,.tr-opt,.ch,.ws-btn,.flat button,.src-i,.file-x) { font-family:var(--font-text); }
body.design-ready [hidden] { display:none!important; }
body.design-ready :is(a,button,input,textarea,summary):focus-visible { outline:3px solid var(--focus);outline-offset:3px; }
body.design-ready .dark :is(a,button):focus-visible { outline-color:#A3D977; }
body.design-ready .opt input:focus-visible+label { outline:3px solid var(--focus);outline-offset:3px; }
body.design-ready :is(.hf-row input,.fld input,.fld textarea) { font-size:16px; }
body.design-ready .hero-form .agree input[type="checkbox"] { width:22px;height:22px;min-height:22px;padding:0;box-shadow:none; }
body.design-ready :is(#apply,#applyForm) { scroll-margin-top:92px; }

/* Headline: explicit semantic lines, not a balanced four-line column. */
body.design-ready .hero-line { display:block; }
body.design-ready .hero .h1 { text-wrap:initial; }
body.design-ready .hero .lead { max-width:540px;font-size:20px;line-height:1.5;font-weight:400; }
body.design-ready .hero .income-plate { min-height:64px;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 18px;border-radius:12px;box-shadow:none;background:#A3D977; }
body.design-ready .hero .income-plate b { font-family:var(--font-text);font-size:32px;line-height:1.2;letter-spacing:-.035em;font-weight:700; }
body.design-ready .hero .income-plate span { font-family:var(--font-text);font-size:15px;line-height:1.2;font-weight:600; }
body.design-ready .hero .hero-photo img { object-position:76% 0!important;transform:none!important; }
body.design-ready .float-card { animation:none; }
body.design-ready .btn-lime { box-shadow:none; }
body.design-ready .btn-lime:hover { box-shadow:none; }
body.design-ready .hf-row { box-shadow:none; }
body.design-ready .hero .checks li { font-size:16px;font-weight:500; }
@media (min-width:861px) {
  body.design-ready .hero .hero-grid { grid-template-columns:minmax(0,580px) 1fr;min-height:min(calc(100svh - 72px),860px); }
  body.design-ready .hero .hero-photo { position:absolute;top:0;right:0;bottom:0;width:60vw;height:auto;min-height:0;max-height:none;margin:0;order:0; }
  body.design-ready .hero .hero-photo .ph { -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%); }
}

/* Scene photos stay intact. Stretch only captions, never the bitmap. */
body.design-ready #rabota .bento { grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:auto;gap:20px;align-items:stretch; }
body.design-ready #rabota .tile { display:flex;flex-direction:column;grid-column:span 2;grid-row:auto;min-width:0;align-self:stretch; }
body.design-ready #rabota :is(.t-big,.t-a,.t-e,.t-f) { grid-column:span 3; }
body.design-ready #rabota .tile img { position:static;display:block;width:100%;height:auto;flex:none;max-height:none;aspect-ratio:auto;object-fit:contain;transform:none!important;transition:none; }
body.design-ready #rabota .tile::after { display:none; }
body.design-ready #rabota .tile figcaption { flex:1;position:static;padding:14px 16px 17px;background:var(--caption-bg,#fff);color:var(--ink);font-size:14px;line-height:1.45;text-shadow:none;font-weight:400; }
body.design-ready #rabota .tile figcaption b { font-family:var(--font-text);font-size:17px;line-height:1.25;font-weight:600;margin-bottom:5px; }

/* APPLY: form sets the row height; the left column has intro + flexible image.
   A new class avoids old .photo/.tall height, max-width, flex and parallax rules.
   Image fills the remaining rectangle proportionally; top edge is retained.
   No artificial extension, blurred duplicate, fixed form height or height JS. */
body.design-ready #apply .apply { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(28px,3.5vw,48px);align-items:stretch; }
body.design-ready #apply .apply-aside { display:grid;grid-template-rows:auto minmax(360px,1fr);gap:24px;align-self:stretch; }
body.design-ready #apply .apply-intro .h2 { margin:14px 0 16px; }
body.design-ready #apply .apply-intro .lead { font-size:18px;line-height:1.5;margin:0;max-width:45ch;font-weight:400; }
body.design-ready #apply .apply-portrait { position:relative;display:block;margin:0;min-width:0;min-height:360px;overflow:hidden;border-radius:var(--r-l,24px);background:transparent;box-shadow:none; }
body.design-ready #apply .apply-portrait img { position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:var(--apply-focal-x) 0;transform:none!important;will-change:auto; }
body.design-ready #apply #applyForm { align-self:stretch;padding:28px;min-width:0;overflow:visible; }
body.design-ready #apply .fstep h3 { font-size:25px;line-height:1.25;font-weight:600;letter-spacing:-.025em;margin-bottom:18px; }
body.design-ready #apply .f2 { grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
body.design-ready #apply .fld { margin:0; }
body.design-ready #apply .fld>span { font-size:14px;line-height:1.35;font-weight:600; }
body.design-ready #apply .fld :is(input,textarea) { width:100%;min-height:50px;font-size:16px;padding:12px 14px; }
body.design-ready #apply .anketa { margin:20px 0;padding-top:18px; }
body.design-ready #apply .anketa-h { font-size:18px;line-height:1.35;font-weight:600;margin:0 0 16px; }
body.design-ready #apply .anketa-grid { display:grid;grid-template-columns:minmax(0,1fr);gap:18px; }
body.design-ready #apply .a-group { min-width:0; }
body.design-ready #apply .qq { font-family:var(--font-text);font-size:14px;line-height:1.4;font-weight:600;margin:0 0 8px; }
body.design-ready #apply .opts { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0; }
body.design-ready #apply .opts-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
body.design-ready #apply .opt label { min-height:46px;height:100%;padding:10px 11px;font-size:14px;line-height:1.3;font-weight:500; }
body.design-ready #apply .a-files { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start; }
body.design-ready #apply .a-files>div { min-width:0; }
body.design-ready #apply .a-files .fld>span { margin-bottom:8px;line-height:1.4; }
body.design-ready #apply .a-files .fld textarea { display:block;height:110px;min-height:110px;max-height:240px;resize:vertical; }
body.design-ready #apply .drop { position:relative;min-height:110px;padding:14px;gap:10px;margin:0;align-items:flex-start;font-size:14px;line-height:1.35; }
body.design-ready #apply .drop>svg { margin-top:2px;flex:0 0 22px;width:22px;height:22px; }
body.design-ready #apply .drop>span { min-width:0; }
body.design-ready #apply .drop small { font-size:12px;line-height:1.4;font-weight:400; }
body.design-ready #apply [data-file-name] { overflow-wrap:anywhere;font-weight:600; }
body.design-ready #apply .resume-input { position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap;opacity:0; }
body.design-ready #apply .drop:focus-within { outline:3px solid var(--focus);outline-offset:3px; }
body.design-ready #apply .file-x { display:inline-block;min-height:44px;margin:4px 0 0;padding:8px 0;font-size:14px;font-weight:600; }
body.design-ready #apply .agree { margin:0 0 16px;font-size:13px;line-height:1.45; }
body.design-ready #apply .agree input[type="checkbox"] { width:22px;height:22px;min-height:22px;flex:0 0 22px;padding:0;box-shadow:none; }
body.design-ready #apply .err.is-on { margin:8px 0 10px; }
body.design-ready #apply .submit-application { width:100%;min-height:54px; }
body.design-ready #apply .submit-application::after { content:"";display:block;flex:0 0 8px;width:8px;height:8px;border:solid currentColor;border-width:1.5px 1.5px 0 0;transform:rotate(45deg);margin-left:8px; }
body.design-ready #apply .done { padding:26px 0; }
/* Do not stretch the confirmation message to the previous long-form height. */
body.design-ready #apply.is-complete .apply-aside { grid-template-rows:auto;align-self:start; }
body.design-ready #apply.is-complete .apply-portrait { display:none; }
body.design-ready #apply.is-complete #applyForm { align-self:start; }

/* Direct contact links: retain the three theme treatments. */
body.design-ready .contact-ways { margin-top:20px; }
body.design-ready .contact-ways-label { margin:0 0 10px;font-size:14px;color:var(--ink-2); }
body.design-ready .channels { margin-top:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
body.design-ready .channels .channel { min-width:0;text-decoration:none; }
body.design-ready .channel-icon { display:grid;place-items:center;flex:0 0 auto; }
body.design-ready .channel-icon svg { width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
body.design-ready .channel-label { display:block;min-width:0; }
body.design-ready .channel-label b { display:block;font-size:14px;font-weight:600;line-height:1.25; }
body.design-ready .channel-label small { display:block;margin-top:3px;font-size:12px;font-weight:400;line-height:1.3;color:var(--ink-2); }
body.design-ready .channel-arrow { display:block;width:10px;height:10px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;position:relative; }
body.design-ready .channel-arrow::after { content:"";position:absolute;width:13px;height:1.5px;right:-1px;top:-1px;background:currentColor;transform-origin:right center;transform:rotate(-45deg); }

/* Tablet: no tall narrow portrait next to a multi-screen form. */
@media (min-width:641px) and (max-width:1000px) {
  body.design-ready #apply .apply { grid-template-columns:minmax(0,1fr);max-width:760px;gap:28px; }
  body.design-ready #apply .apply-aside { grid-template-columns:minmax(0,1fr) 180px;grid-template-rows:auto;gap:24px;align-items:start; }
  body.design-ready #apply .apply-portrait { aspect-ratio:4/5;min-height:0; }
  body.design-ready #apply.is-complete .apply-aside { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:860px) {
  body.design-ready .top .wrap { height:62px; }
  body.design-ready .hero .hero-grid { grid-template-columns:1fr;min-height:0; }
  body.design-ready .hero .hero-photo { position:relative;inset:auto;order:-1;width:auto;height:clamp(300px,46svh,400px);min-height:0;max-height:none;margin:0 calc(-1 * var(--gut)); }
  body.design-ready .hero .hero-photo .ph { -webkit-mask-image:none;mask-image:none; }
  body.design-ready .hero .hero-copy { margin-top:-86px;padding:0 0 40px; }
  body.design-ready .hero .lead { font-size:18px;line-height:1.48; }
  body.design-ready .hero .income { margin-block:20px 18px; }
  body.design-ready .hero .income-plate { min-height:60px;gap:6px;padding:12px 14px;flex-wrap:wrap; }
  body.design-ready .hero .income-plate b { font-size:clamp(22px,6.3vw,26px); }
  body.design-ready .hero .income-plate span { font-size:14px; }
  body.design-ready .hero .hf-row { padding:8px;gap:10px; }
  body.design-ready .hero .hf-row .btn { width:100%;min-height:52px;font-size:16px; }
  body.design-ready #rabota .bento { grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
  body.design-ready #rabota .tile { grid-column:span 1;grid-row:auto; }
  body.design-ready #rabota :is(.t-big,.t-e,.t-f) { grid-column:1/-1; }
  body.design-ready #rabota .tile figcaption { padding:11px 12px 14px; }
  body.design-ready #rabota .tile figcaption b { font-size:16px; }
  body.design-ready :is(#apply,#applyForm) { scroll-margin-top:78px; }
}
@media (max-width:640px) {
  body.design-ready #apply .apply { grid-template-columns:minmax(0,1fr);gap:24px; }
  body.design-ready #apply .apply-aside { display:block; }
  body.design-ready #apply .apply-portrait { display:none; }
  body.design-ready #apply #applyForm { padding:22px 18px; }
  body.design-ready #apply .f2 { grid-template-columns:minmax(0,1fr); }
  body.design-ready #apply .a-files { grid-template-columns:minmax(0,1fr);gap:18px; }
  body.design-ready #apply .drop { min-height:76px; }
  body.design-ready #apply .a-files .fld textarea { min-height:100px;height:100px; }
  body.design-ready #apply .opts-3 { grid-template-columns:minmax(0,1fr); }
  body.design-ready #apply .a-via .opts-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.design-ready #apply .opt label { min-height:48px; }
}
@media (max-width:360px) {
  body.design-ready .channels { grid-template-columns:minmax(0,1fr); }
  body.design-ready #apply .opts { grid-template-columns:minmax(0,1fr); }
  body.design-ready #apply .a-via .opt label { justify-content:center;padding-inline:6px;font-size:13px; }
  body.design-ready .hero .income-plate { gap:5px;padding-inline:12px; }
  body.design-ready .hero .income-plate b { font-size:21px; }
  body.design-ready .hero .income-plate span { font-size:13px; }
}
@media (max-width:420px) {
  body.design-ready .ws-foot { gap:6px;padding:12px 10px; }
  body.design-ready .ws-foot .ws-btn { padding-inline:12px;font-size:14px; }
  body.design-ready .ws-dots { gap:3px; }
  body.design-ready .ws-dots i { width:5px;height:5px; }
  body.design-ready .ws-dots i.on { width:15px; }
}
@media (prefers-reduced-motion:reduce) {
  body.design-ready *,body.design-ready *::before,body.design-ready *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
}
