.matrix-section { scroll-margin-top: 95px; }
.matrix-toolbar { display:flex; align-items:center; justify-content:space-between; gap:22px; margin:28px 0 16px; }
.matrix-toolbar label { display:flex; align-items:center; gap:12px; color:#18334c; font-size:14px; font-weight:750; }
.matrix-toolbar select { max-width:100%; padding:12px 38px 12px 14px; border:1px solid #afc9dc; border-radius:9px; background:#eaf3fc; color:#18334c; font:inherit; font-size:14px; font-weight:600; }
.matrix-hint { max-width:410px; color:#526b7b; font-size:13px; line-height:1.5; }
.matrix-scroll { width:100%; overflow:auto; border:1px solid #c9d9e5; border-radius:14px; background:#fff; scrollbar-color:#7697ac #ecf3f8; }
.matrix-scroll:focus-visible,.matrix-toolbar select:focus-visible { outline:3px solid #1b8583; outline-offset:4px; }
.competitor-table { width:100%; min-width:1260px; table-layout:fixed; border-collapse:separate; border-spacing:0; font-size:13px; color:#263e50; }
.competitor-table caption { padding:16px 18px; background:#f5f9fc; color:#536b7b; text-align:left; font-size:12px; }
.competitor-table th,.competitor-table td { padding:19px 15px; border-bottom:1px solid #dae5ed; border-right:1px solid #e4edf3; text-align:left; vertical-align:top; line-height:1.6; overflow-wrap:anywhere; }
.competitor-table thead th { background:#0b2035; color:#fff; font-size:15px; }
.competitor-table thead small { display:block; margin-top:5px; color:#c5d7e4; font-size:11px; font-weight:500; }
.competitor-table th:first-child { width:184px; position:sticky; left:0; z-index:1; }
.competitor-table thead th:first-child { z-index:2; }
.competitor-table tbody th { background:#f0f6fb; color:#18334c; font-weight:750; }
.competitor-table tbody tr:nth-child(even) td { background:#f8fbfd; }
.competitor-table tbody td.empire-column { background:#e9f5ee; color:#174b37; font-weight:600; }
.competitor-table thead .empire-column { background:#17583f; }
.competitor-table thead .empire-column small { color:#ddf3e5; }
.competitor-table tr:last-child>* { border-bottom:0; }
.competitor-table [hidden] { display:none!important; }
.matrix-yes { white-space:nowrap; color:#176044; font-weight:750; }
.matrix-yes span { margin-right:3px; }
.matrix-note { margin-top:20px; color:#526778; font-size:13px; line-height:1.75; max-width:1120px; }
.matrix-note a,.matrix-source-grid a { color:#126f66; text-decoration:underline; text-underline-offset:3px; }
.matrix-source-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.matrix-source-grid article { border:1px solid #d2e0e9; border-radius:12px; background:#f3f8fc; padding:25px; }
.matrix-source-grid h3 { font-size:21px; margin-bottom:12px; }
.matrix-source-grid a { display:block; margin-top:10px; font-size:14px; line-height:1.5; }
.matrix-cta { display:flex; gap:40px; align-items:center; justify-content:space-between; }
.matrix-cta>div { max-width:700px; }
.matrix-cta .button { flex-shrink:0; }
[data-competitor-matrix].matrix-focused .competitor-table { min-width:600px; }
@media(max-width:760px) {
 .matrix-toolbar,.matrix-cta { align-items:stretch; flex-direction:column; gap:14px; }
 .matrix-toolbar label { justify-content:space-between; }
 .matrix-toolbar select { width:65%; }
 .matrix-source-grid { grid-template-columns:1fr; }
 .competitor-table th:first-child { width:120px; }
 .competitor-table th,.competitor-table td { padding:15px 11px; }
 [data-competitor-matrix].matrix-focused .competitor-table { min-width:0; font-size:12px; }
 [data-competitor-matrix].matrix-focused .competitor-table th:first-child { width:29%; }
 .competitor-table thead th { font-size:13px; }
 .matrix-yes { white-space:normal; }
 .matrix-note { font-size:12px; }
}
