/* Compare owns its layout; the shared .section grid is for editorial pages. */
.registration-comparison-page {
  --comparison-inset: clamp(20px, 3vw, 36px);
  min-width: 0;
  padding-top: 32px;
}

.registration-comparison-page > .hero.compact {
  margin-bottom: 0;
  padding: 28px var(--comparison-inset);
}

.registration-comparison-page > .hero.compact h1 {
  max-width: none;
  margin: 10px 0 14px;
  font-size: clamp(34px, 4.5vw, 54px);
  line-height: 1.08;
}

.registration-comparison-page .compare-form {
  max-width: 760px;
  margin-top: 24px;
}

.registration-comparison-page .form-hint {
  margin: 10px 0 0;
}

.registration-comparison-page .notice {
  margin: 20px 0 0;
  font-size: 14px;
  line-height: 1.5;
}

.registration-comparison-page .registration-comparison-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 20px;
  padding: 16px var(--comparison-inset);
}

.registration-comparison-page .registration-comparison-links h2 {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.registration-comparison-page .registration-comparison-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.registration-comparison-page .registration-comparison-links a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 6px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-size: 14px;
}

.registration-comparison-page .registration-comparison-links p {
  margin: 0;
  font-size: 14px;
}

.registration-comparison-page .registration-comparison-links noscript {
  flex-basis: 100%;
}

.registration-comparison-page .registration-comparison-result,
.registration-comparison-page .registration-comparison-record,
.registration-comparison-page .registration-comparison-scope {
  display: block;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

.registration-comparison-page .registration-comparison-result,
.registration-comparison-page .registration-comparison-scope {
  padding: 28px var(--comparison-inset);
}

.registration-comparison-page .registration-comparison-result h2,
.registration-comparison-page .registration-comparison-scope h2 {
  margin: 0 0 12px;
  font-size: clamp(24px, 3vw, 30px);
  line-height: 1.2;
}

.registration-comparison-page .registration-comparison-result > p,
.registration-comparison-page .registration-comparison-scope p {
  max-width: none;
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.6;
}

.registration-comparison-page .compare-matrix {
  width: 100%;
  min-width: 0;
  margin-top: 20px;
  overscroll-behavior-x: contain;
}

.registration-comparison-page .compare-matrix:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 3px;
}

.registration-comparison-page .compare-matrix table {
  table-layout: fixed;
  min-width: 640px;
}

.registration-comparison-page [data-record-count="3"] .compare-matrix table {
  min-width: 840px;
}

.registration-comparison-page .compare-matrix caption {
  padding: 14px 18px;
  text-align: left;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.registration-comparison-page .compare-matrix th,
.registration-comparison-page .compare-matrix td {
  padding: 16px 18px;
  line-height: 1.5;
}

.registration-comparison-page .compare-matrix thead th {
  font-size: 18px;
}

.registration-comparison-page .compare-matrix thead th:first-child {
  width: 190px;
}

.registration-comparison-page .compare-matrix td {
  min-width: 180px;
}

.registration-comparison-page .registration-comparison-records {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.registration-comparison-page .registration-comparison-records[data-record-count="3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.registration-comparison-page #registration-summary-compare-matrix:empty,
.registration-comparison-page .registration-comparison-records:empty {
  display: none;
}

.registration-comparison-page .registration-comparison-record {
  padding: 22px;
}

.registration-comparison-page .registration-comparison-record h2 {
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.2;
}

.registration-comparison-page .registration-comparison-record p,
.registration-comparison-page .registration-comparison-record a {
  font-size: 14px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.registration-comparison-page .registration-comparison-record p {
  margin: 0 0 12px;
}

.registration-comparison-page .report-detail {
  margin-top: 18px;
}

.registration-comparison-page .report-detail > summary {
  min-height: 44px;
  padding: 12px 0;
  font-size: 14px;
}

.registration-comparison-page .facts {
  grid-template-columns: minmax(0, 1fr);
}

.registration-comparison-page .facts div {
  padding: 12px 0;
}

.registration-comparison-page .facts dd {
  font-size: 13px;
}

.registration-comparison-page .registration-comparison-scope {
  margin-top: 20px;
}

.registration-comparison-page .registration-comparison-scope p {
  max-width: 76ch;
}

@media (max-width: 900px) {
  .registration-comparison-page .registration-comparison-records[data-record-count="3"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .registration-comparison-page .compare-matrix thead th:first-child {
    width: 160px;
  }
}

@media (max-width: 600px) {
  .registration-comparison-page {
    padding-top: 20px;
  }

  .registration-comparison-page .registration-comparison-records,
  .registration-comparison-page .registration-comparison-records[data-record-count="3"] {
    grid-template-columns: minmax(0, 1fr);
  }

  .registration-comparison-page .form-row {
    flex-direction: column;
  }

  .registration-comparison-page .registration-comparison-record {
    padding: 20px;
  }
}
