.seo-table { width: 100%; border-collapse: separate; border-spacing: 0; border-radius: 12px; overflow: hidden; color: var(--navy); }
.seo-table th, .seo-table td { padding: 20px 24px; font-size: var(--type-small); line-height: 1.6; vertical-align: middle; }
.seo-table thead { background: var(--navy); color: #fff; }
.seo-table th { font-weight: var(--weight-semibold); }
.seo-table tbody tr:nth-child(even) { background: var(--soft); }
.seo-table th:first-child { width: 40%; text-align: left; }
.seo-table td, .seo-table thead th:not(:first-child) { text-align: center; }
.seo-mobile-plans { display: none; }
@media (max-width: 767px) {
    .seo-table { display: none; }
    .seo-mobile-plans { display: block; }
    .seo-plan { margin-bottom: 12px; border-radius: 12px; overflow: hidden; background: var(--soft); }
    .seo-plan summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px; font-size: var(--type-title); line-height: 1.3; font-weight: var(--weight-semibold); cursor: pointer; list-style: none; }
    .seo-plan summary::-webkit-details-marker { display: none; }
    .seo-plan summary::after { content: '+'; font-size: 24px; font-weight: var(--weight-regular); }
    .seo-plan[open] summary::after { content: '−'; }
    .seo-plan[open] summary { background: var(--navy); color: #fff; }
    .seo-plan dl { margin: 0; padding: 8px 20px; }
    .seo-plan-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 105px); gap: 16px; padding: 14px 0; }
    .seo-plan dt, .seo-plan dd { font-size: var(--type-small); line-height: 1.6; margin: 0; }
    .seo-plan dt { font-weight: var(--weight-semibold); }
    .seo-plan dd { text-align: right; overflow-wrap: anywhere; }
    .seo-plan summary:hover { color: var(--blue); }
    .seo-plan[open] summary:hover { color: #fff; }
}
