.psi-parent { max-width: 800px; margin: 0 auto; }
.psi-parent__title { margin: 0 0 8px; }
.psi-parent__notice { color: var(--e-global-color-secondary, #003568); }
.psi-parent__school { margin: 0 0 16px; }
.psi-parent__form { display: grid; gap: 16px; }
.psi-parent__grid { display: grid; gap: 16px; }
@media (min-width: 640px) { .psi-parent__grid { grid-template-columns: 1fr 1fr; } }
.psi-parent__field { display: flex; flex-direction: column; }
.psi-parent__field label { font-weight: 600; margin-bottom: 6px; }
.psi-parent__field input {
  padding: 10px; border: 1px solid var(--e-global-color-9327159, #B0C6DB);
  border-radius: 6px; font: inherit;
}
.psi-parent__consent { font-size: 14px; }
.psi-parent__consent label { display: flex; gap: 8px; align-items: flex-start; }
.psi-parent__actions button {
  padding: 10px 18px; border: 0; border-radius: 8px;
  background: var(--e-global-color-primary, #00478A); color: #fff;
  font-weight: 600; cursor: pointer;
}
/* Honeypot: visually and programmatically hidden from real users. */
.psi-parent__hp {
  position: absolute !important; left: -9999px !important;
  width: 1px; height: 1px; overflow: hidden;
}
.psi-parent__status { margin-top: 12px; font-size: 14px; }
.psi-parent__status--error   { color: #b32d2e; }
.psi-parent__status--success { color: #1a7f37; }
.psi-parent__status--info    { color: var(--e-global-color-secondary, #003568); }

/* Scroll fallback if JS offset is ever bypassed (e.g. anchor links). */
.psi-parent { scroll-margin-top: 90px; }