.capacity-section { padding-top: 56px; padding-bottom: 72px; }
.capacity-section h2 { font-size: clamp(34px, 4vw, 60px); line-height: 1.15; margin: 22px 0; }
.capacity-section > p { max-width: 850px; }
.capacity-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 32px; margin: 26px 0; }
.capacity-preview { display: block; max-width: 1100px; margin: 32px auto; border: 1px solid #dce4e8; }
.capacity-preview img { display: block; width: 100%; height: auto; }
.capacity-table-scroll { overflow-x: auto; border: 1px solid #dce4e8; }
.capacity-table-scroll:focus-visible { outline: 2px solid #1196a4; outline-offset: 4px; }
.capacity-section table { width: 100%; min-width: 840px; border-collapse: collapse; text-align: left; font-size: 14px; }
.capacity-section caption { text-align: left; padding: 20px; font-weight: 600; }
.capacity-section th, .capacity-section td { padding: 13px 15px; border-bottom: 1px solid #dce4e8; }
.capacity-section thead { background: #2f4c5b; color: white; }
.capacity-section tbody tr:nth-child(even) { background: #f3f7f8; }
.capacity-section tbody th { font-weight: 500; }
.capacity-section .capacity-note { font-size: 13px; margin-top: 20px; }
@media (max-width: 600px) { .capacity-section { padding-top: 36px; padding-bottom: 48px; } .capacity-actions { align-items: flex-start; flex-direction: column; } }
