.gmr-benefits {
  --benefit-frame: url('/assets/godmode-benefits-bloody-frame-v1.png');
  margin-top: 40px;
  scroll-margin-top: 170px;
}
.gmr-benefits-heading { display: grid; grid-template-columns: minmax(0, 1fr); align-content: center; min-height: 290px; padding: 50px 12%; margin: 0 0 28px; background: var(--benefit-frame) center / 100% 100% no-repeat; text-align: center; }
.gmr-benefits-heading h3 { display: grid; justify-items: center; gap: 6px; min-width: 0; margin: 0 0 14px; color: #ffe0d5; font: 700 clamp(1.15rem, 2.2vw, 1.9rem)/1.35 'Cinzel', serif; text-shadow: 0 2px 10px #000, 0 0 22px #b0293566; text-wrap: balance; }
.gmr-benefits-heading .gmr-benefits-wordmark { display: block; width: min(100%, 450px); max-width: 100%; height: auto; filter: drop-shadow(0 4px 12px #000); }
.gmr-benefits-heading p { margin: 0; color: #cdb7b8; font-size: 1rem; line-height: 1.75; }
.gmr-rank-icon { display: block; flex: 0 0 auto; width: 20px; height: 24px; object-fit: contain; image-rendering: pixelated; filter: drop-shadow(0 2px 4px #000); }
.gmr-rank-diamond { color: #b4f7ff; font: 700 29px/24px Georgia, serif; text-shadow: 0 0 12px #69cbe8aa; }
.gmr-benefits-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin: 27px 0 20px; }
.gmr-benefits-actions .gmr-button { min-height: 48px; padding: 12px 17px; font-size: .8rem; }
.gmr-benefits-actions .gmr-text-link { min-height: 44px; font-size: .83rem; }
.gmr-benefits p.gmr-benefits-footnote { margin: 18px 0; color: #bda7af; font-size: .87rem; line-height: 1.8; }
.gmr-benefits-text { min-width: 0; margin-top: 28px; }
.gmr-benefits-text > p { margin: 20px 0 28px; color: #bda8b3; font-size: .92rem; line-height: 1.8; }
.gmr-benefits-table-wrap { width: 100%; min-width: 0; }
.gmr-rank-label { display: flex; flex-direction: column; align-items: center; gap: 9px; }
.gmr-benefits-table { display: block; width: 100%; border-spacing: 0; color: #dbccd2; font: 400 1rem/1.6 'Inter', sans-serif; }
.gmr-benefits-table colgroup { display: none; }
.gmr-benefits-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.gmr-benefits-table tbody { display: grid; gap: 20px; min-width: 0; margin-bottom: 28px; }
.gmr-benefits-table tbody > tr { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 12px; min-width: 0; padding: 10px 18px 15px; border: 20px solid transparent; border-image: var(--benefit-frame) 155 150 130 150 / 20px stretch; background: radial-gradient(ellipse at 50% 0%, #48132144, transparent 65%), #0d090e; }
.gmr-benefits-table th, .gmr-benefits-table td { min-width: 0; overflow-wrap: anywhere; }
.gmr-benefits-table th[scope="row"] { grid-column: 1 / -1; padding: 10px 0 18px; color: #f6d3c6; font: 600 1.1rem/1.55 'Cinzel', serif; text-align: center; }
.gmr-benefits-table td { display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 18px 5px; border-top: 1px solid #80454d50; color: #ffe0c2; font-weight: 600; font-variant-numeric: tabular-nums; text-align: center; }
.gmr-benefits-table td::before { content: attr(data-rank); display: block; width: 100%; padding-top: 30px; background: var(--rank-icon) center top / 18px 22px no-repeat; color: #cbb7b8; font: 500 .82rem/1.45 'Cinzel', serif; image-rendering: pixelated; }
.gmr-benefits-table td:nth-of-type(1) { --rank-icon: url('/assets/highscore-mode-regular.png'); }
.gmr-benefits-table td:nth-of-type(2) { --rank-icon: url('/assets/highscore-donator-donator.png'); }
.gmr-benefits-table td:nth-of-type(3) { --rank-icon: url('/assets/highscore-donator-super.png'); }
.gmr-benefits-table td:nth-of-type(4) { --rank-icon: url('/assets/highscore-donator-elite.png'); }
.gmr-benefits-table td:nth-of-type(5) { --rank-icon: url('/assets/highscore-donator-noble.png'); }
.gmr-benefits-table td:nth-of-type(6) { --rank-icon: url('/assets/highscore-donator-gold.png'); }
.gmr-benefits-table td:nth-of-type(7) { --rank-icon: url('/assets/highscore-donator-platinum.png'); }
.gmr-benefits-table td:nth-of-type(8) { --rank-icon: url('/assets/highscore-donator-legendary.png'); }
.gmr-benefits-table td:nth-of-type(9) { --rank-icon: url('/assets/highscore-donator-supreme.png'); }
.gmr-benefits-table td:nth-of-type(10)::before { --rank-icon: none; content: '\25c6\A' attr(data-rank); padding-top: 0; color: #baeaf2; line-height: 1.7; white-space: pre-line; }
.gmr-benefits-table tbody > .gmr-benefits-category { display: block; padding: 25px 9%; border: 0; background: var(--benefit-frame) center / 100% 100% no-repeat; }
.gmr-benefits-table .gmr-benefits-category th { display: block; color: #ffddcb; font: 700 clamp(1.05rem, 1.8vw, 1.5rem)/1.5 'Cinzel', serif; text-align: center; }
@media (min-width: 601px) and (max-width: 1100px) {
  .gmr-benefits-table tbody > tr { gap: 0 8px; padding: 10px 8px; border-width: 15px; border-image-width: 15px; }
  .gmr-benefits-table td { padding-inline: 2px; font-size: .9rem; }
  .gmr-benefits-table td::before { font-size: .74rem; }
}
@media (max-width: 600px) {
  .gmr-benefits { margin-top: 30px; }
  .gmr-benefits-heading { min-height: 270px; padding: 43px 11%; }
  .gmr-benefits-heading p { font-size: .9rem; }
  .gmr-benefits-actions { gap: 8px; }
  .gmr-benefits-actions .gmr-button { width: 100%; text-align: center; }
  .gmr-benefits-actions .gmr-text-link { justify-content: center; width: 100%; }
  .gmr-benefits-table tbody { gap: 16px; }
  .gmr-benefits-table tbody > tr { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; padding: 6px 8px 10px; border-width: 15px; border-image-width: 15px; }
  .gmr-benefits-table th[scope="row"] { padding: 11px 0 17px; font-size: 1rem; }
  .gmr-benefits-table td { padding: 16px 2px; font-size: .95rem; }
  .gmr-benefits-table td::before { font-size: .82rem; }
  .gmr-benefits-table tbody > .gmr-benefits-category { padding: 28px 11%; }
}

/* All ten ranks share one fixed-width comparison on wide screens. */
@media (min-width: 1200px) {
  .gmr-benefits-table-wrap { padding: 9px 5px; border: 20px solid transparent; border-image: var(--benefit-frame) 155 150 130 150 / 20px stretch; background: radial-gradient(ellipse at 50% 0%, #48132144, transparent 65%), #0d090e; }
  .gmr-benefits-table { display: table; table-layout: fixed; font-size: .79rem; line-height: 1.55; }
  .gmr-benefits-table colgroup { display: table-column-group; }
  .gmr-benefits-table col:first-child { width: 25%; }
  .gmr-benefits-table col:not(:first-child) { width: 7.5%; }
  .gmr-benefits-table thead { display: table-header-group; position: static; width: auto; height: auto; margin: 0; padding: 0; overflow: visible; clip-path: none; white-space: normal; }
  .gmr-benefits-table thead th { padding: 18px 3px 23px; color: #eed0c5; font: 600 .71rem/1.5 'Cinzel', serif; text-align: center; vertical-align: bottom; }
  .gmr-benefits-table thead th:first-child { padding-inline: 12px; font-size: .9rem; text-align: left; }
  .gmr-benefits-table tbody { display: table-row-group; }
  .gmr-benefits-table tbody > tr, .gmr-benefits-table tbody > .gmr-benefits-category { display: table-row; padding: 0; border: 0; background: transparent; }
  .gmr-benefits-table tbody > tr:not(.gmr-benefits-category):nth-child(odd) { background: #70273416; }
  .gmr-benefits-table th[scope="row"], .gmr-benefits-table td { display: table-cell; padding: 14px 5px; border-top: 1px solid #80454d50; vertical-align: middle; }
  .gmr-benefits-table th[scope="row"] { padding-inline: 12px; font: 500 .84rem/1.6 'Inter', sans-serif; text-align: left; }
  .gmr-benefits-table td { border-left: 1px solid #80454d25; }
  .gmr-benefits-table td::before { display: none; }
  .gmr-benefits-table td:last-child { color: #baeaf2; background: #43778c0a; }
  .gmr-benefits-table .gmr-benefits-category th { display: table-cell; padding: 24px 10%; background: var(--benefit-frame) center / 100% 100% no-repeat; font-size: 1.18rem; }
}
@media (min-width: 1200px) and (max-width: 1300px) {
  .gmr-benefits-table thead th { padding-inline: 1px; font-size: .68rem; }
  .gmr-benefits-table td { padding-inline: 2px; }
}
