.placement-layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 28px; align-items: start; }
.placement-card { min-width: 0; padding: clamp(22px, 3vw, 36px); border: 1px solid #dce2ea; border-radius: 12px; background: #fff; box-shadow: 0 6px 24px #202c450a; }
.placement-card h2 { margin: 12px 0 24px; font-size: var(--adoro-h3) !important; }
.placement-guidance ol { margin: 0; padding-left: 24px; }
.placement-guidance li { list-style: decimal; padding-left: 4px; margin-bottom: 18px; }
.placement-contact { border-top: 1px solid #dce2ea; margin-top: 28px; padding-top: 12px; }
.placement-contact h3 { font-size: var(--adoro-h4) !important; }
.placement-contact a { display: block; margin-top: 12px; color: var(--adoro-red); overflow-wrap: anywhere; }
.placement-notice { padding: 16px; background: #f4f6f9; border-radius: 8px; }
.placement-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 24px; }
.placement-field { min-width: 0; }
.placement-field-wide { grid-column: 1 / -1; }
.placement-field label { display: block; margin-bottom: 8px; color: var(--adoro-ink); font-weight: 600; }
.placement-page .form-control { display: block; box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; min-height: 48px; height: auto; padding: 12px; border: 1px solid #c8d0dc; border-radius: 6px; background: #fff; color: var(--adoro-ink); font: inherit; font-size: 16px; }
.placement-page textarea { resize: vertical; }
.placement-field small { display: block; margin-top: 8px; }
.placement-required { margin: 20px 0; font-size: var(--adoro-small) !important; }
.placement-page :is(input, textarea, select, button, a):focus-visible { outline: 3px solid var(--adoro-ink); outline-offset: 3px; }
@media (max-width: 991px) {
  .placement-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .placement-form-grid { grid-template-columns: minmax(0, 1fr); }
  .placement-layout { gap: 24px; }
  .placement-page button[type="submit"] { width: 100%; white-space: normal; }
}
