.customer-system { background: var(--beige); border-top: 1px solid var(--rule); padding: 72px 0; }
.customer-system .customer-system-header { grid-template-columns: 1fr; margin-bottom: 24px; }
.customer-system .customer-system-header p { margin-top: 16px; font-size: 17px; line-height: 1.7; color: var(--body); }
.customer-system-figure { width: 100%; max-width: 840px; margin: 0 auto; }
.customer-system-video { display: block; width: 100%; height: auto; background: var(--beige); }
.customer-system-caption { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; border-top: 1px solid var(--rule); padding: 16px 0; color: var(--body); font-size: 14px; line-height: 1.6; }
.customer-system-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
.customer-system-actions a, .customer-system-actions button { color: var(--navy); font: inherit; text-decoration: underline; text-underline-offset: 4px; }
.customer-system-actions button { background: transparent; padding: 10px 0; min-height: 44px; }
.customer-system-actions a { display: inline-flex; align-items: center; min-height: 44px; }
.customer-system-actions [hidden] { display: none; }
.customer-system a:focus-visible, .customer-system button:focus-visible, .customer-system summary:focus-visible { outline: 2px solid var(--navy); outline-offset: 5px; }
.customer-system-text { max-width: 840px; margin: 0 auto; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.customer-system-text summary { padding: 18px 0; cursor: pointer; color: var(--ink); font-size: 16px; }
.customer-system-text-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding-bottom: 24px; }
.customer-system-text h3 { font-size: 23px; line-height: 1.3; margin: 20px 0 10px; }
.customer-system-text p { font-size: 16px; line-height: 1.7; margin-bottom: 12px; }
.customer-system-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 720px) {
  .customer-system { padding: 48px 0; }
  .customer-system .customer-system-header { margin-bottom: 16px; }
  .customer-system-text-grid { grid-template-columns: 1fr; gap: 0; }
  .customer-system-caption { gap: 8px; }
}
