/* HelloWork — fit-check form (dark surfaces) */
.fit-form {
  background: rgba(255,255,255,0.02); border: 1px solid var(--dline);
  border-radius: 14px; padding: clamp(22px, 3vw, 30px);
}
.fit-form__tier {
  display: inline-flex; align-items: center; gap: 9px; margin-bottom: 16px;
  font-family: var(--mono); font-size: 0.72rem; color: var(--orange);
  border: 1px solid color-mix(in srgb, var(--orange) 45%, transparent);
  border-radius: 20px; padding: 5px 12px;
}
.fit-form__tier button { border: 0; background: none; color: inherit; cursor: pointer; font-size: 0.9rem; line-height: 1; padding: 0; }
.fit-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fit-form__field { display: flex; flex-direction: column; gap: 7px; }
.fit-form__field--full { grid-column: 1 / -1; }
.fit-form label {
  font-family: var(--mono); font-size: 0.66rem; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--snow-faint);
}
.fit-form input, .fit-form textarea {
  width: 100%; box-sizing: border-box;
  background: rgba(255,255,255,0.04); border: 1px solid var(--dline-2); border-radius: 8px;
  color: var(--snow); font-family: var(--sans); font-size: 0.95rem;
  padding: 12px 14px; transition: border-color .2s ease, background .2s ease;
}
.fit-form input::placeholder, .fit-form textarea::placeholder { color: rgba(255,255,255,0.28); }
.fit-form input:focus, .fit-form textarea:focus {
  outline: none; border-color: color-mix(in srgb, var(--coral) 65%, transparent);
  background: rgba(255,255,255,0.06);
}
.fit-form textarea { resize: vertical; min-height: 86px; }
.fit-form__submit {
  margin-top: 18px; width: 100%; border: 0; cursor: pointer;
  background: var(--coral); color: #fff;
  font-family: var(--mono); font-size: 0.84rem; letter-spacing: 0.04em;
  padding: 15px 20px; border-radius: 9px;
  transition: background .2s ease, transform .2s ease;
}
.fit-form__submit:hover { background: color-mix(in srgb, var(--coral) 88%, #000); transform: translateY(-1px); }
.fit-form__submit[disabled] { opacity: 0.6; cursor: default; transform: none; }
.fit-form__note {
  margin: 12px 0 0; text-align: center;
  font-family: var(--mono); font-size: 0.68rem; color: var(--snow-faint);
}
.fit-form__direct {
  margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--dline);
  display: flex; gap: 22px; flex-wrap: wrap;
  font-family: var(--mono); font-size: 0.76rem;
}
.fit-form__direct a { color: var(--snow-muted); transition: color .2s ease; }
.fit-form__direct a:hover { color: var(--coral); }

/* ---- contact modal ---- */
.hw-modal { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 20px; }
.hw-modal__back {
  position: absolute; inset: 0; background: rgba(8,8,9,0.72);
  backdrop-filter: blur(8px) saturate(0.9);
}
.hw-modal__card {
  position: relative; width: 100%; max-width: 520px; max-height: 92vh; overflow: auto;
  background: var(--void-2); border: 1px solid var(--dline-2); border-radius: 16px;
  padding: clamp(24px, 4vw, 34px);
  color: var(--snow);
  box-shadow: 0 50px 120px -30px rgba(0,0,0,.8);
  animation: hwModalIn .35s cubic-bezier(.2,.7,.2,1);
}
@keyframes hwModalIn { from { transform: translateY(16px) scale(0.985); } to { transform: none; } }
html[data-motion='0'] .hw-modal__card { animation: none; }
.hw-modal__rule { position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--grad); opacity: var(--accent-strength); border-radius: 16px 16px 0 0; }
.hw-modal__x {
  position: absolute; top: 14px; right: 16px; border: 0; background: none; cursor: pointer;
  color: var(--snow-faint); font-size: 1.5rem; line-height: 1; padding: 6px;
  transition: color .2s ease;
}
.hw-modal__x:hover { color: var(--snow); }
.hw-modal__head { margin-bottom: 20px; padding-right: 30px; }
.hw-modal__title { font-size: clamp(1.3rem, 2.4vw, 1.65rem); font-weight: 500; letter-spacing: -0.02em; margin: 0 0 8px; }
.hw-modal__sub { color: var(--snow-muted); font-size: 0.92rem; line-height: 1.5; margin: 0; }
.hw-modal .fit-form { border: 0; background: none; padding: 0; border-radius: 0; }

/* success state */
.fit-form__success { text-align: center; padding: 28px 10px; }
.fit-form__check {
  width: 58px; height: 58px; border-radius: 50%; margin: 0 auto 16px;
  background: var(--grad); display: grid; place-content: center;
}
.fit-form__check svg { width: 26px; height: 26px; }
.fit-form__success h4 { font-size: 1.2rem; font-weight: 500; margin: 0 0 6px; color: var(--snow); }
.fit-form__success p { color: var(--snow-muted); font-size: 0.9rem; margin: 0; }

@media (max-width: 560px) { .fit-form__grid { grid-template-columns: 1fr; } }
