.udisc-article #compare,
.udisc-article #group-title { scroll-margin-top: 100px; }
.udisc-matrix {
  margin: 20px 0 10px;
  overflow: hidden;
  border: 1px solid var(--border-strong);
  border-radius: 14px;
}
.udisc-matrix table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
}
.udisc-matrix .feature-label-column { width: 34%; }
.udisc-matrix .elox-column { background: rgb(0 213 201 / 6%); }
.udisc-matrix th, .udisc-matrix td {
  padding: 12px 8px;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
}
.udisc-matrix thead { background: var(--surface); }
.udisc-matrix thead tr:nth-child(2) th { color: var(--muted); padding-top: 6px; }
.udisc-matrix th[scope="row"], .udisc-matrix th:first-child[rowspan] { text-align: left; }
.udisc-matrix th[scope="row"] { font-weight: 600; }
.udisc-matrix tbody tr:last-child > * { border-bottom: 0; }
.udisc-matrix td small { display: block; color: var(--muted); font-size: 12px; }
.feature-mark { display: inline-block; font-size: 20px; font-weight: 700; line-height: 1; }
.feature-mark.yes { color: var(--teal); }
.feature-mark.no { color: #ff9d9e; }
.feature-mark.unknown { color: var(--muted); }
.comparison-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  clip-path: inset(50%);
}
@media (max-width: 520px) {
  .udisc-matrix table { font-size: 12px; }
  .udisc-matrix th, .udisc-matrix td { padding: 9px 5px; overflow-wrap: anywhere; }
  .udisc-matrix td small { font-size: 10px; }
  .feature-mark { font-size: 18px; }
}

.udisc-article .udisc-matrix,
.udisc-article .faq,
.udisc-article .detail-cta {
  max-width: 790px;
}
.udisc-matrix .comparison-price { font-weight: 700; }
.udisc-article .feature-mark.limited { color: #ffb45e; }
#comparison-legend .feature-mark { font-size: inherit; }

.udisc-article .group-round-flow { max-width: 790px; }
.group-round-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
}
.group-round-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
  text-align: center;
}
.group-round-step p { flex: 1; }
.group-round-step .reading-screen img { width: min(220px, 100%); }
.group-round-step > a { margin-top: 12px; font-size: 14px; }
@media (max-width: 520px) {
  .group-round-steps { gap: 8px; }
  .group-round-step { padding: 12px 8px; }
  .group-round-step h3 { font-size: 15px; }
  .group-round-step p, .group-round-step > a { font-size: 13px; }
}
