/* ===== CONTACT US ===== */
.ct-hero { border-bottom: 1px solid var(--line); }
.ct-hero__in { display: flex; align-items: flex-start; gap: 40px; padding-top: 56px; padding-bottom: 56px; }
.ct-hero__left { flex: 1; display: flex; flex-direction: column; gap: 28px; }
.ct-hero__text { display: flex; flex-direction: column; gap: 12px; }
.ct-hero__text h1 { font: 700 64px/60px var(--f-narrow); color: #fff; }
.ct-hero__text p { max-width: 640px; font: 400 14px/22px var(--f-sans); color: var(--gray); }
.ct-topics { display: flex; align-items: center; gap: 12px; }
.ct-topic { position: relative; font: 700 11px var(--f-mono); letter-spacing: 1.2px; color: var(--gray); }
.ct-topic + .ct-topic { padding-left: 12px; border-left: 1px solid var(--line); }
.ct-topic:hover { color: var(--cream); }
.ct-topic.is-active { color: var(--red); }
.ct-progress { flex: none; width: 340px; display: flex; flex-direction: column; gap: 16px; padding: 24px; background: var(--bg-2); border: 1px solid var(--line); border-radius: 2px; }
.ct-progress h2 { font: 700 14px var(--f-narrow); letter-spacing: 1px; color: #fff; }
.ct-progress__steps { display: flex; flex-direction: column; gap: 10px; }
.ct-progress__steps li { display: flex; align-items: center; gap: 12px; font: 400 13px var(--f-sans); color: var(--cream); transition: color .2s; }
.ct-progress__steps li span { font: 700 12px var(--f-mono); color: var(--red); }
.ct-progress__steps li.is-done { color: var(--gray); text-decoration: line-through; text-decoration-color: var(--gray-2); }
.ct-progress__steps li.is-done span { color: var(--green); }
.ct-progress__steps li.is-current { color: #fff; font-weight: 700; }

.ct-core__in { display: flex; align-items: flex-start; gap: 48px; padding-top: 40px; padding-bottom: 40px; }
.ct-form { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 40px; }
.ct-form__intro { display: flex; flex-direction: column; gap: 6px; }
.ct-form__intro h2 { font: 700 22px var(--f-narrow); color: #fff; }
.ct-form__intro p { font: 400 14px var(--f-sans); color: var(--gray); }
.ct-form__req { font: 400 11px var(--f-sans); color: var(--red); }
.ct-sec { display: flex; flex-direction: column; gap: 16px; border: 0; }
.ct-sec__title { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.ct-sec__title span { font: 700 24px var(--f-mono); color: var(--red); }
.ct-sec__title b { font: 800 11px var(--f-sans); letter-spacing: .5px; color: var(--cream); }
.ct-sec hr { border-color: var(--line); }
.ct-sec .field { gap: 8px; }
.ct-sec .field label { display: flex; align-items: center; gap: 4px; font: 700 11px var(--f-sans); letter-spacing: .5px; color: var(--cream); }
.ct-sec .field label em { font-style: normal; color: var(--red); }
.ct-optional { margin-left: 4px; padding: 2px 6px; background: var(--line); border-radius: 1px; font: 700 9px var(--f-sans); letter-spacing: 0; color: var(--gray); }
.input--dark { background: var(--ink); border-color: var(--line); }
.input--dark input, .input--dark select, .input--dark textarea { color: var(--cream); }
.input--dark input::placeholder, .input--dark textarea::placeholder { color: var(--gray); }
.input--dark:focus-within { border-color: var(--gray-2); }
.input--dark.input--select .ico { color: var(--gray); }
.input--dark select option { background: var(--bg-2); color: var(--cream); }
.input--textarea { height: 160px; align-items: flex-start; padding: 16px; }
.input--textarea textarea { width: 100%; height: 100%; border: 0; background: transparent; outline: 0; resize: none; font: 400 14px/20px var(--f-sans); }
.ct-counter { display: flex; justify-content: space-between; font: 400 11px var(--f-mono); color: var(--gray-2); }
.ct-row { display: flex; gap: 20px; }
.ct-row .field { flex: 1; min-width: 0; }
.ct-upload { display: flex; align-items: center; gap: 12px; height: 60px; padding: 0 16px; background: var(--bg-2); border: 1px solid var(--line); border-radius: 2px; color: var(--cream); cursor: pointer; transition: border-color .15s; }
.ct-upload:hover { border-color: var(--gray-2); }
.ct-upload__text { display: flex; flex-direction: column; gap: 2px; }
.ct-upload__text b { font: 700 13px var(--f-sans); color: var(--cream); }
.ct-upload__text small { font: 400 11px var(--f-sans); color: var(--gray); }
.ct-submit { display: flex; flex-direction: column; gap: 14px; }
.ct-submit > span { font: 400 11px var(--f-sans); color: var(--gray); }
.ct-submit__btn { height: 48px; background: var(--red); border-radius: 2px; font: 700 14px var(--f-sans); letter-spacing: .5px; text-transform: uppercase; color: #fff; text-align: center; }
.ct-submit__btn:hover { background: #d42c28; }
.ct-success { display: flex; flex-direction: column; gap: 12px; padding: 32px; background: var(--bg-2); border: 1px solid var(--green); border-radius: 2px; }
.ct-success__tag { align-self: flex-start; padding: 2px 8px; background: rgba(16,185,129,.15); font: 700 10px var(--f-mono); letter-spacing: 1px; color: var(--green); }
.ct-success h3 { font: 700 28px var(--f-narrow); color: #fff; }
.ct-success p { font: 400 14px/22px var(--f-sans); color: var(--gray); }
.ct-success p b { color: var(--cream); }
.ct-success .btn { align-self: flex-start; margin-top: 8px; }
.ct-core__div { flex: none; width: 1px; align-self: stretch; background: var(--line); }
.ct-info { flex: none; width: 380px; display: flex; flex-direction: column; gap: 24px; padding: 32px; background: var(--bg-2); border: 1px solid var(--line); border-radius: 2px; }
.ct-info h2 { font: 700 16px var(--f-narrow); letter-spacing: .5px; color: #fff; }
.ct-info hr { border-color: var(--line); }
.ct-info__block { display: flex; flex-direction: column; gap: 8px; }
.ct-info__block--12 { gap: 12px; }
.ct-info__block--10 { gap: 10px; }
.ct-info__label { font: 700 11px var(--f-sans); letter-spacing: .5px; color: var(--gray); }
.ct-info__block p { font: 400 13px/18px var(--f-sans); color: var(--gray); }
.ct-info__mail { font: 700 14px var(--f-sans); color: #fff; }
.ct-info__mail--red { color: var(--red); }
.ct-info__help { display: flex; flex-direction: column; gap: 4px; }
.ct-info__help b { font: 700 14px var(--f-sans); color: #fff; }
.ct-info__help a { font: 700 28px var(--f-narrow); color: var(--red); }
.ct-info__help small { font: 400 11px var(--f-sans); color: var(--gray-2); }

@media (max-width: 1180px) {
  .ct-hero__text h1 { font-size: 52px; line-height: 50px; }
  .ct-info { width: 320px; }
}
@media (max-width: 1023px) {
  .ct-hero__in { flex-direction: column; }
  .ct-progress { width: 100%; }
  .ct-core__in { flex-direction: column; }
  .ct-core__div { display: none; }
  .ct-info { width: 100%; }
}
@media (max-width: 767px) {
  .ct-hero__in { gap: 24px; padding-top: 32px; padding-bottom: 32px; }
  .ct-hero__left { gap: 24px; }
  .ct-hero__text h1 { font-size: 38px; line-height: 38px; }
  .ct-hero__text p { font-size: 13px; line-height: 18px; }
  .ct-topics { flex-wrap: wrap; gap: 8px; }
  .ct-topic { padding: 4px 8px !important; background: var(--bg-2); border: 1px solid var(--line) !important; border-radius: 2px; font-size: 9px; letter-spacing: 1px; }
  .ct-progress { margin: 0 calc(-1 * var(--gutter)); border-left: 0; border-right: 0; border-radius: 0; }
  .ct-progress h2 { font-size: 13px; }
  .ct-progress__steps { flex-direction: row; flex-wrap: wrap; gap: 12px; }
  .ct-progress__steps li { flex: 0 0 calc(50% - 6px); gap: 6px; font-size: 12px; }
  .ct-progress__steps li span { font-size: 11px; }
  .ct-core__in { padding-top: 0; padding-bottom: 0; gap: 0; }
  .ct-info--m { margin: 0 calc(-1 * var(--gutter)) 32px; padding: 32px 16px; border-left: 0; border-right: 0; border-radius: 0; }
  .ct-info__block p { font-size: 12px; line-height: 16px; }
  .ct-info__label { font-size: 10px; }
  .ct-info__help b { font-size: 12px; }
  .ct-info__help a { font-size: 22px; }
  .ct-form { gap: 24px; padding-bottom: 40px; }
  .ct-form__intro { gap: 8px; }
  .ct-form__intro h2 { font-size: 24px; }
  .ct-form__intro p { font-size: 13px; }
  .ct-sec__title span { font-size: 20px; }
  .ct-sec .field { gap: 6px; }
  .ct-sec .field label { font-size: 10px; }
  .ct-row { flex-direction: column; gap: 16px; }
  .ct-sec .input { border-radius: 1px; padding: 0 12px; }
  .input--textarea { padding: 12px; }
  .ct-upload { border-radius: 1px; }
  .ct-submit { gap: 12px; }
  .ct-submit__btn { height: 52px; font-size: 13px; border-radius: 1px; }
  .ct-success { padding: 20px; }
  .ct-success h3 { font-size: 22px; }
}
