/* Shared service comparison layout. Loaded last on every comparison page. */
.provider-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:28px 0; }
.provider-grid > .provider-card { display:flex; flex-direction:column; min-width:0; padding:28px; border:1px solid #dfe3ec; border-radius:16px; background:#fff; box-shadow:0 6px 22px rgba(25,33,58,.04); }
.provider-card h3 { font-size:1.4rem; line-height:1.6; margin:14px 0 16px; overflow-wrap:anywhere; }
.provider-card > p { font-size:1rem; line-height:1.9; margin-bottom:16px; }
.provider-card dl { margin:4px 0 20px; }
.provider-card dt { font-weight:700; margin:16px 0 6px; }
.provider-card dd { margin:0; font-size:1rem; line-height:1.9; }
.provider-card .source-note { font-size:.85rem; line-height:1.8; color:var(--gray); margin:0 0 20px; }
.provider-card .cta-button { display:block; width:100%; max-width:none; margin:auto 0 0; padding:14px 18px; border-radius:12px; font-size:1rem; line-height:1.6; text-align:center; white-space:normal; box-sizing:border-box; box-shadow:none; }
.provider-jumps { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0; }
.provider-jumps a { display:block; padding:9px 14px; border:1px solid var(--light-gray); border-radius:8px; background:#fff; }
.table-scroll { overflow-x:auto; border:1px solid var(--light-gray); border-radius:12px; margin:18px 0 28px; }
.table-scroll .comparison-table { width:100%; min-width:680px; margin:0; border-collapse:collapse; background:#fff; table-layout:fixed; }
.table-scroll .comparison-table caption { padding:16px; text-align:left; font-weight:700; }
.table-scroll .comparison-table th, .table-scroll .comparison-table td { padding:16px; border:1px solid var(--light-gray); text-align:left; vertical-align:top; line-height:1.8; overflow-wrap:break-word; }
.table-scroll .comparison-table th:first-child { width:26%; }
.table-scroll .comparison-table thead th { background:#e8edf5; }
.table-scroll .comparison-table tbody th { background:#fff; }
.table-scroll .comparison-table tbody tr:nth-child(even) th, .table-scroll .comparison-table tbody tr:nth-child(even) td { background:#f8fafc; }
@media(max-width:640px) { .provider-grid { grid-template-columns:minmax(0,1fr); gap:20px; } .provider-grid > .provider-card { padding:22px; } .provider-card h3 { font-size:1.25rem; } }
