/* Batch B reuses approved foundation, card, form and CTA tokens. */
.lp-company-system { color: var(--lp-color-text); }
.lp-company-system > .lp-section,
.lp-company-system .lp-company-band > .lp-container { padding-block: var(--lp-space-2xl); }
.lp-company-system .lp-company-hero { background: var(--lp-color-primary-dark); }
.lp-company-system .lp-company-hero-copy { padding-block: clamp(4rem, 8vw, 7rem); }
.lp-company-system .lp-company-hero :where(.lp-eyebrow, h1, p) { color: var(--lp-color-white); }
.lp-company-system .lp-company-hero h1 { max-inline-size: 20ch; margin-block: var(--lp-space-sm) var(--lp-space-lg); font-size: var(--wp--preset--font-size--lp-h-1); }
.lp-company-system .lp-company-hero .lp-body-large { max-inline-size: 64ch; }
.lp-company-system .lp-company-copy { max-inline-size: var(--lp-container-narrow); }
.lp-company-system .lp-section--alt { background: var(--lp-color-bg-alt); }
.lp-company-system .lp-company-grid { display: grid; gap: var(--lp-space-lg); margin-block-start: var(--lp-space-xl); }
.lp-company-system .lp-company-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lp-company-system .lp-company-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lp-company-system .lp-company-card,
.lp-company-system .lp-company-step { min-inline-size: 0; padding: var(--lp-space-lg); border: 1px solid var(--lp-color-border); border-block-start: 3px solid var(--lp-color-secondary); background: var(--lp-color-white); }
.lp-company-system .lp-company-card h3,
.lp-company-system .lp-company-step h3 { margin-block-start: 0; }
.lp-company-system .lp-company-card .lp-card-link { margin-block-start: var(--lp-space-lg); }
.lp-company-system .lp-step-number { color: var(--lp-color-secondary); font-weight: 800; letter-spacing: .08em; }
.lp-company-system .lp-actions { display: flex; flex-wrap: wrap; gap: var(--lp-space-sm); margin-block-start: var(--lp-space-xl); }
.lp-company-system .lp-button--secondary { color: var(--lp-color-primary-dark); border-color: var(--lp-color-primary-dark); background: transparent; }
.lp-company-system .lp-company-hero .lp-button--secondary { color: var(--lp-color-white); border-color: var(--lp-color-white); }
.lp-company-system .lp-company-cta { max-inline-size: var(--lp-container); margin-inline: auto; margin-block: var(--lp-space-2xl); padding: var(--lp-space-xl); border-inline-start: 4px solid var(--lp-color-secondary); background: var(--lp-color-primary-dark); }
.lp-company-system .lp-company-cta :where(h2, p) { color: var(--lp-color-white); }
.lp-company-system .lp-company-cta .lp-button--secondary { color: var(--lp-color-white); border-color: var(--lp-color-white); }
.lp-company-system .lp-form-section { max-inline-size: var(--lp-container-narrow); }
.lp-company-system .lp-company-form { min-inline-size: 0; margin-block-start: var(--lp-space-xl); }
.lp-company-system .lp-company-form h2 { margin-block: var(--lp-space-xl) var(--lp-space-md); padding-block-end: var(--lp-space-sm); border-block-end: 1px solid var(--lp-color-border); font-size: var(--wp--preset--font-size--lp-h-3); }
.lp-company-system .lp-company-form .ff-el-group { margin-block-end: var(--lp-space-lg); }
.lp-company-system .lp-company-form .ff-el-input--label label { color: var(--lp-color-text); font-weight: 700; }
.lp-company-system .lp-company-form :where(input, select, textarea) { inline-size: 100%; max-inline-size: 100%; min-block-size: 48px; border-color: var(--lp-color-secondary); border-radius: var(--lp-radius-sm); color: var(--lp-color-text); }
.lp-company-system .lp-company-form textarea { min-block-size: 10rem; }
.lp-company-system .lp-company-form .ff-btn-submit { min-block-size: 48px; padding: var(--lp-space-sm) var(--lp-space-lg); border: 2px solid var(--lp-color-accent); border-radius: var(--lp-radius-sm); background: var(--lp-color-accent); color: var(--lp-color-white); font: inherit; font-weight: 700; }
.lp-company-system .lp-company-form :where(input, select, textarea, button):focus-visible,
.lp-company-system .lp-company-form .ff-btn-submit:focus-visible { outline: var(--lp-focus-ring); outline-offset: 4px; box-shadow: 0 0 0 3px var(--lp-color-white); }
.lp-company-system .lp-company-form :where(.error, .text-danger),
.lp-company-system .lp-form-failure { color: var(--lp-color-error); font-weight: 600; }
.lp-company-system .lp-company-form .ff-message-success { padding: var(--lp-space-lg); border: 2px solid var(--lp-color-success); background: var(--lp-color-bg-alt); color: var(--lp-color-text); }
.lp-company-system .lp-form-contract-copy { display: none; }
.lp-company-system .lp-form-privacy { margin-block-start: var(--lp-space-lg); }
.lp-company-system .lp-form-failure { padding: var(--lp-space-md); border: 2px solid var(--lp-color-error); background: var(--lp-color-bg-alt); }
.lp-company-system .lp-placeholder { padding: var(--lp-space-lg); border: 1px dashed var(--lp-color-secondary); background: var(--lp-color-bg-alt); color: var(--lp-color-text); }

@media (max-width: 1023px) {
  .lp-company-system .lp-company-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .lp-company-system > .lp-section,
  .lp-company-system .lp-company-band > .lp-container { padding-block: var(--lp-space-xl); }
  .lp-company-system .lp-company-hero-copy { padding-block: var(--lp-space-2xl); }
  .lp-company-system .lp-company-hero h1 { max-inline-size: none; font-size: clamp(2.25rem, 10vw, 3rem); }
  .lp-company-system .lp-company-grid--three,
  .lp-company-system .lp-company-grid--four { grid-template-columns: 1fr; }
  .lp-company-system .lp-actions { align-items: stretch; flex-direction: column; }
  .lp-company-system .lp-actions .lp-button { inline-size: 100%; text-align: center; }
  .lp-company-system .lp-company-cta { margin-inline: var(--lp-gutter); padding: var(--lp-space-lg); }
}
