/* ══════════════════════════════════════════════════════════
   Заявка + подвал (id="contact") — финальный акт.
   Макет: Канвас — рабочие файлы/FinalStudiogram.dc.html (1440).
   Только var() из tokens.css; hex здесь не живёт.
   07.09 (дозировка красного, аудит): точка заголовка и иконки контактов
   больше не красные — красным в акте остаются кикер, кнопка и фокус поля.
   ══════════════════════════════════════════════════════════ */
.apply{
  border-top:1px solid var(--faint);   /* одна волосяная на графите */
  padding:clamp(56px,10vh,90px) var(--pad) 24px;
  background-image:linear-gradient(175deg,
    var(--graphite-2) 0%, var(--graphite-25) 55%, var(--graphite-3) 100%);
  color:var(--bone);
}
.apply__kicker{margin:0 0 38px}

/* ── две колонки: текст 5 / форма 6 ── */
.apply__cols{display:grid;grid-template-columns:1fr;gap:44px;align-items:start}
@media (min-width:900px){
  .apply__cols{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:80px}
}

/* ── левая колонка ── */
.apply__intro{display:flex;flex-direction:column;gap:20px}
.apply__h{
  font-family:var(--disp);font-weight:900;text-transform:uppercase;
  font-size:var(--fs-act);line-height:1;letter-spacing:-.015em;
  margin:0;text-wrap:balance;
}
.apply__dot{color:inherit}   /* точка — просто точка; красный дозируем */
.apply__lead{margin:0;font-size:var(--fs-body);line-height:1.6;color:var(--dim);max-width:42ch}

.apply__contacts{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:14px}
.apply__contact{
  display:inline-flex;align-items:center;gap:12px;
  font-size:var(--fs-body);color:var(--bone);text-decoration:none;
  transition:color var(--dur-s) var(--ease);
}
.apply__contact:hover{color:var(--signal-lift)}
.apply__ico{flex:0 0 auto;color:var(--signal-lift)}   /* красные иконки — Никите так нравится больше (07.09) */

/* ── форма ── */
.apply__form{display:flex;flex-direction:column;gap:28px}
.apply__pair{display:grid;grid-template-columns:1fr;gap:28px}
@media (min-width:560px){.apply__pair{grid-template-columns:repeat(2,minmax(0,1fr))}}

.apply__field{display:flex;flex-direction:column;gap:9px;margin:0;min-width:0}
.apply__label{
  font-size:var(--fs-kicker);font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dim-strong);
}
.apply__input{
  width:100%;margin:0;padding:6px 0 10px;
  font-family:var(--body);font-size:var(--fs-body);line-height:1.5;color:var(--bone);
  background:transparent;border:0;border-bottom:1px solid var(--faint-30);border-radius:0;
  transition:border-color var(--dur-s) var(--ease);
}
.apply__input::placeholder{color:var(--dim);opacity:1}
.apply__input:hover{border-bottom-color:var(--dim)}
.apply__input:focus{outline:none;border-bottom-color:var(--signal)}
.apply__input:focus-visible{outline:none}
.apply__area{padding-bottom:12px;min-height:120px;resize:vertical}   /* четыре строки: задачу описывают абзацем, не строкой */
/* автозаполнение браузера не должно выбивать белым прямоугольником */
.apply__input:-webkit-autofill,
.apply__input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--bone);
  -webkit-box-shadow:inset 0 0 0 1000px var(--graphite-25);
  caret-color:var(--bone);
}

.apply__send{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:4px}
/* посадка, шрифт и высота — от .cta (main.css); здесь только сброс кнопки */
.apply__btn{border:0;cursor:pointer}
.apply__note{font-size:var(--fs-caption);line-height:1.5;color:var(--dim);max-width:34ch}

/* ── вложение ──
   Нативный input спрятан визуально (не display:none — остаётся в фокусе
   и доступен с клавиатуры), кликабелен label со скрепкой. */
.apply__attach{gap:0}
.apply__file{
  display:inline-flex;align-items:center;gap:12px;cursor:pointer;
  font-size:var(--fs-body);color:var(--bone);
  transition:color var(--dur-s) var(--ease);
}
.apply__file:hover{color:var(--signal-lift)}
.apply__file-name{font-size:var(--fs-small);color:var(--dim)}
.apply__file-name:empty{display:none}
.apply__file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.apply__file-input:focus-visible + .apply__file,
.apply__file:has(+ .apply__file-input:focus-visible){outline:2px solid var(--signal);outline-offset:4px}

/* ── строка подвала ── */
.apply__foot{
  display:flex;justify-content:space-between;gap:10px 28px;flex-wrap:wrap;
  margin-top:56px;padding-top:16px;border-top:1px solid var(--faint);
  font-size:var(--fs-kicker);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);
}
.apply__foot p{margin:0}

/* ── бордовая плашка со связкой ABOUT YOU ── */
.apply__plate{
  position:relative;margin-top:22px;height:200px;overflow:hidden;
  background-image:linear-gradient(160deg,var(--bordeaux) 0%,var(--bordeaux-deep) 100%);
}
.apply__mark{
  position:absolute;left:0;bottom:-14px;width:100%;height:auto;display:block;
  color:var(--signal);
}

/* ── адаптив ── */
@media (max-width:900px){
  .apply__foot{margin-top:40px}
  .apply__plate{height:120px}
  .apply__mark{bottom:-4px}

  /* тач-ширины: мишень ссылки и высота поля — не меньше 44px */
  .apply__contacts{gap:2px;margin-top:10px}
  .apply__contact{min-height:44px;padding:4px 0}
  .apply__input{padding:11px 0 13px}
  /* большое нижнее поле десктопа не нужно: даём настоящую высоту в строках */
  .apply__area{min-height:120px;padding-bottom:12px}
}

@media (prefers-reduced-motion:reduce){
  .apply__contact,.apply__input{transition:none}
}

/* ── состояние отправки (14.09): честные сообщения, поля чистятся только после ответа сервера ── */
.apply__status{margin:12px 0 0;font-size:var(--fs-caption);line-height:1.5;max-width:52ch;color:var(--dim-strong)}
.apply__status--ok{color:var(--bone)}
.apply__status--error{color:var(--signal-lift)}
.apply__status--wait{color:var(--dim)}
.apply__btn:disabled{opacity:.6;cursor:progress}
/* ловушка для ботов — за пределами экрана, не display:none (некоторые боты его уважают) */
.apply__hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;margin:0}

/* ── 15.09: появление статуса отправки (отчёт по анимациям, № 2) ── */
.apply__status{transition:opacity .2s var(--ease),transform .2s var(--ease)}
@starting-style{.apply__status{opacity:0;transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){.apply__status{transition:opacity .15s var(--ease);transform:none!important}}
