/* ─── Frame 1440×832 ─── */

/* ─── Left content ─── */
.fp-left-content { top: 228px; gap: 32px; }
.fp-heading-wrap { padding-top: 8.7px; }

/* ─── Single illustration image ─── */
.page-illustration { left: 110px; top: 400px; width: 274px; }

/* ─── Illustrations ─── */
.fp-speech-bubble { left: 189px;  top: 360.6px; width: 101.8px; height: 104.2px; }
.fp-padlock       { left: 293px;  top: 392.4px; width: 90px;    height: 158.9px; }
.fp-character     { left: 110px;  top: 449.6px; width: 136.2px; height: 206.3px; }

/* ─── Panel title description width override ─── */
.fp-panel .panel-title p { width: 386px; }

/* ─── Panel ─── */
.fp-panel {
  position: absolute;
  left: calc(50% + 320px);
  top: calc(50% + 15.5px);
  transform: translate(-50%, -50%);
  width: 456px;
  display: flex;
  flex-direction: column;
  gap: 30px;
  max-height: calc(100vh - 30px);
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.fp-panel::-webkit-scrollbar { display: none; }

/* ─── Form ─── */
.fp-form { display: flex; flex-direction: column; gap: 50px; }
.fp-fields { display: flex; flex-direction: column; gap: 4px; }
.fp-field-group { display: flex; flex-direction: column; gap: 4px; }

/* ─── Button group ─── */
.fp-btn-group { display: flex; flex-direction: column; gap: 22px; }
.fp-sent-label {
  font-size: 14px; font-weight: 600;
  color: rgba(72,95,132,0.8);
  text-align: center;
  line-height: normal;
  margin: 0;
}

/* ─── Responsive ─── */
@media (max-width: 900px) {
  .fp-speech-bubble, .fp-padlock, .fp-character { display: none; }
  .fp-panel {
    position: relative; left: auto; top: auto; transform: none;
    width: 100%; max-width: 500px; margin: 0 auto; padding: 40px 24px 60px;
  }
  .fp-panel .panel-title p { width: auto; }
}
