.jsqa-wrap,
.jsqa-wrap * { box-sizing: border-box; }

.jsqa-wrap {
  --jsqa-ink: #17233d;
  --jsqa-muted: #59657a;
  --jsqa-blue: #1358c8;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  color: var(--jsqa-ink);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.55;
}

.jsqa-subscribe {
  overflow: hidden;
  border: 1px solid rgba(19,88,200,.12);
  border-radius: 26px;
  background: linear-gradient(135deg,#0f4eae 0%,#176dd4 55%,#0785aa 100%);
  box-shadow: 0 18px 44px rgba(15,78,174,.18);
}

.jsqa-subscribe-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 28px 30px 22px;
  color: #fff;
}

.jsqa-subscribe-head h2,
.jsqa-intro h2,
.jsqa-card h3 { margin: 0; color: inherit; font-family: inherit; text-transform: none; }

.jsqa-subscribe-head h2 { font-size: clamp(28px,4vw,42px); line-height: 1.08; letter-spacing: -.035em; }
.jsqa-subscribe-head p { max-width: 500px; margin: 7px 0 0; color: rgba(255,255,255,.88); font-size: 16px; }

.jsqa-bell {
  display: grid;
  flex: 0 0 84px;
  width: 84px;
  height: 84px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 23px;
  background: rgba(255,255,255,.14);
}

.jsqa-bell svg,
.jsqa-visual svg { width: 48px; height: 48px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.jsqa-form { margin: 0 10px 10px; padding: 24px; border-radius: 20px; background: #fff; }
.jsqa-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.jsqa-fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.jsqa-fields label { display: grid; gap: 7px; margin: 0; }
.jsqa-fields label > span,
.jsqa-choice-columns legend { color: #263650; font-size: 14px; font-weight: 800; }

.jsqa-fields input {
  width: 100%;
  min-height: 48px;
  margin: 0;
  border: 1px solid #d8e0ec;
  border-radius: 12px;
  padding: 10px 13px;
  color: var(--jsqa-ink);
  background: #fbfdff;
  box-shadow: none;
  font: inherit;
}

.jsqa-fields input:focus { border-color: #2c72d2; outline: 0; box-shadow: 0 0 0 4px rgba(44,114,210,.11); }
.jsqa-choice-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 18px; }
.jsqa-choice-columns fieldset { min-width: 0; margin: 0; border: 0; padding: 0; }
.jsqa-choices { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 7px; }
.jsqa-choice { position: relative; margin: 0; cursor: pointer; }
.jsqa-choice input { position: absolute; opacity: 0; pointer-events: none; }

.jsqa-choice span {
  display: block;
  border: 1px solid #dce3ee;
  border-radius: 999px;
  padding: 7px 11px;
  color: #4b5870;
  background: #f7f9fc;
  font-size: 13px;
  font-weight: 700;
  transition: .16s ease;
}

.jsqa-choice small { color: inherit; font-size: 12px; opacity: .72; }
.jsqa-choice input:checked + span { border-color: #b9d5ff; color: #0f54b4; background: #e9f2ff; box-shadow: inset 0 0 0 1px #b9d5ff; }
.jsqa-choice input:focus-visible + span { outline: 3px solid rgba(19,88,200,.22); outline-offset: 2px; }
.jsqa-empty { margin: 0; color: #687386; font-size: 13px; }

.jsqa-form-bottom { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 22px; padding-top: 18px; border-top: 1px solid #edf0f5; }
.jsqa-consent { display: flex; align-items: flex-start; gap: 9px; max-width: 590px; margin: 0; color: var(--jsqa-muted); font-size: 13px; }
.jsqa-consent input { margin-top: 4px; accent-color: var(--jsqa-blue); }

.jsqa-form-bottom button {
  min-width: 210px;
  min-height: 50px;
  margin: 0;
  border: 0;
  border-radius: 13px;
  padding: 12px 20px;
  color: #fff;
  background: #0f8a61;
  box-shadow: 0 9px 20px rgba(15,138,97,.23);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.jsqa-form-bottom button:hover { color: #fff; background: #0b7653; }
.jsqa-notice { margin: 0 10px; border-radius: 12px; padding: 12px 16px; font-size: 14px; font-weight: 700; }
.jsqa-success { color: #096342; background: #e4f8ef; }
.jsqa-error { color: #a1263c; background: #fff0f3; }

.jsqa-menu { margin-top: 38px; }
.jsqa-intro { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 26px; padding: 0 4px; }
.jsqa-intro > div > span { display: block; margin-bottom: 6px; color: var(--jsqa-blue); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.jsqa-intro h2 { font-size: clamp(32px,5vw,54px); line-height: 1.05; letter-spacing: -.045em; }
.jsqa-intro p { max-width: 370px; margin: 0 0 4px; color: var(--jsqa-muted); font-size: 16px; }
.jsqa-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }

.jsqa-card {
  --card-bg: #eef5ff;
  --icon-bg: #dceaff;
  --accent: #1358c8;
  display: grid;
  grid-template-columns: 104px minmax(0,1fr);
  min-height: 256px;
  overflow: hidden;
  border: 1px solid rgba(23,35,61,.09);
  border-radius: 23px;
  background: var(--card-bg);
  box-shadow: 0 14px 38px rgba(35,55,92,.10);
}

.jsqa-visual { display: grid; place-items: center; margin: 18px 0 18px 18px; border-radius: 18px; color: var(--accent); background: var(--icon-bg); }
.jsqa-card-content { display: flex; flex-direction: column; min-width: 0; padding: 24px 24px 22px 22px; }
.jsqa-card h3 { font-size: clamp(21px,2.3vw,27px); line-height: 1.16; letter-spacing: -.025em; }
.jsqa-card p { margin: 7px 0 10px; color: var(--jsqa-muted); font-size: 15px; }
.jsqa-card ul { display: grid; gap: 4px; margin: 0 0 18px; padding: 0; color: #36445d; font-size: 14px; list-style: none; }
.jsqa-card li { display: flex; gap: 8px; margin: 0; padding: 0; }
.jsqa-card li::before { color: var(--accent); font-weight: 900; content: "✓"; }

.jsqa-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: fit-content;
  min-height: 44px;
  margin-top: auto;
  border-radius: 12px;
  padding: 11px 18px;
  color: #fff;
  background: var(--accent);
  box-shadow: 0 8px 18px color-mix(in srgb,var(--accent) 22%,transparent);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
}

.jsqa-card a:hover { color: #fff; filter: brightness(.95); transform: translateY(-1px); }
.jsqa-employer { --card-bg:#edf5ff; --icon-bg:#dbeaff; --accent:#155dc5; }
.jsqa-member { --card-bg:#eefbf6; --icon-bg:#d7f4e7; --accent:#0f8a61; }
.jsqa-ads { --card-bg:#fff8e9; --icon-bg:#ffedc5; --accent:#bd6b00; }
.jsqa-chat { --card-bg:#f6f0ff; --icon-bg:#e8dcff; --accent:#7048bd; }
.jsqa-ccb { --card-bg:#fff0f4; --icon-bg:#ffdce6; --accent:#be4165; }
.jsqa-jobs { --card-bg:#eef9ff; --icon-bg:#d8f1ff; --accent:#087aaf; }

@media (max-width: 760px) {
  .jsqa-wrap { width: calc(100% - 10px); font-size: 16px; }
  .jsqa-subscribe { border-radius: 19px; }
  .jsqa-subscribe-head { align-items: flex-start; padding: 22px 17px 17px; }
  .jsqa-bell { flex-basis: 60px; width: 60px; height: 60px; border-radius: 17px; }
  .jsqa-bell svg { width: 34px; height: 34px; }
  .jsqa-form { margin: 0 5px 5px; padding: 18px 13px; border-radius: 15px; }
  .jsqa-fields,
  .jsqa-choice-columns,
  .jsqa-grid { grid-template-columns: 1fr; }
  .jsqa-fields { gap: 11px; }
  .jsqa-choice-columns { gap: 15px; margin-top: 15px; }
  .jsqa-form-bottom { align-items: stretch; flex-direction: column; gap: 15px; }
  .jsqa-form-bottom button { width: 100%; }
  .jsqa-intro { align-items: flex-start; flex-direction: column; gap: 10px; padding: 0 7px; }
  .jsqa-grid { gap: 12px; }
  .jsqa-card { grid-template-columns: 82px minmax(0,1fr); min-height: 232px; border-radius: 18px; }
  .jsqa-visual { margin: 14px 0 14px 14px; border-radius: 14px; }
  .jsqa-visual svg { width: 42px; height: 42px; }
  .jsqa-card-content { padding: 20px 15px 18px; }
  .jsqa-card a { width: 100%; }
}

