/* Presentation only. All selectors are limited to the existing signup form.
   Native signup, invitations, payment, consent and idempotency code are unchanged. */
.split-layout:has(> #signup-form) {
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
  max-width: 1184px;
  margin-inline: auto;
  gap: 48px;
  align-items: start;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}
.split-layout:has(> #signup-form) > .intro-panel { position: sticky; top: 28px; min-width: 0; }
.split-layout:has(> #signup-form) > .intro-panel h1 {
  font: 750 clamp(28px, 3vw, 40px)/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;
  letter-spacing: -.03em;
  max-width: 11em;
}
.split-layout:has(> #signup-form) > .intro-panel .lead { font-size: 16px; line-height: 1.85; }
.split-layout:has(> #signup-form) > .intro-panel .steps { margin-top: 24px; }
#signup-form { min-width: 0; padding: 32px; border-radius: 18px; box-shadow: 0 12px 40px #123a3408; }
#signup-form h2 { font: 750 26px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif; letter-spacing: 0; }
#signup-form h3 { font-size: 18px; line-height: 1.6; }
#signup-form label { min-width: 0; font-size: 14px; line-height: 1.7; }
#signup-form input, #signup-form select { min-width: 0; font-size: 16px; min-height: 48px; }
#signup-form input[type=checkbox], #signup-form input[type=radio] { min-height: 0; flex-shrink: 0; }
#signup-form button { min-height: 48px; padding-block: 12px; font-size: 16px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
#signup-form .checkout-progress { margin-bottom: 24px; }
#signup-form .checkout-progress li { font-size: 12px; }
#signup-form .checkout-step-actions { gap: 12px; margin-top: 24px; }
#signup-form .card-heading { margin-bottom: 22px; }
#signup-form .property-builder, #signup-form .checkout-step, #signup-form .payment-row, #signup-form .payjp-element { min-width: 0; }
#signup-form .subdomain-field { min-width: 0; }
#signup-form .subdomain-field input { flex: 1 1 0; width: 0; }
#signup-form .subdomain-field span { font-size: 12px; }
#signup-form .payment-heading { flex-wrap: wrap; }
#signup-form .price-preview, #signup-form .security-note, #signup-form .compact-copy { overflow-wrap: anywhere; }
@media (max-width: 850px) {
  .split-layout:has(> #signup-form) { grid-template-columns: 1fr; max-width: 640px; gap: 24px; padding: 28px 18px; }
  .split-layout:has(> #signup-form) > .intro-panel { position: static; }
  .split-layout:has(> #signup-form) > .intro-panel h1 { max-width: none; font-size: 28px; margin-bottom: 12px; }
  .split-layout:has(> #signup-form) > .intro-panel .steps { display: none; }
  #signup-form { padding: 24px; }
}
@media (max-width: 430px) {
  .split-layout:has(> #signup-form) { gap: 20px; padding-inline: 14px; }
  .split-layout:has(> #signup-form) > .intro-panel h1 { font-size: 26px; }
  .split-layout:has(> #signup-form) > .intro-panel .lead { font-size: 16px; }
  #signup-form { padding: 20px 16px; border-radius: 14px; }
  #signup-form h2 { font-size: 23px; }
  #signup-form .checkout-progress li { font-size: 11px; }
  #signup-form .payment-row { grid-template-columns: 1fr; }
  #signup-form .checkout-summary > div, #signup-form .coupon-pricing > div { grid-template-columns: 1fr; gap: 4px; }
  #signup-form .checkout-step-actions { flex-direction: column; }
  #signup-form .checkout-step-actions button { width: 100%; }
}
