.s-price-monthly-comparison {
  box-sizing: border-box;
  padding: clamp(68px, 7vw, 92px) 0;
  color: var(--price-ink);
  background: linear-gradient(180deg, #fcfaf4, #f8f3e8);
  scroll-margin-top: calc(var(--header-h, 72px) + 28px);
}
.s-price-monthly-comparison *,
.s-price-monthly-comparison *::before,
.s-price-monthly-comparison *::after { box-sizing: inherit; }
.s-price-monthly-comparison__head { max-width: 740px; }
.s-price-monthly-comparison__eyebrow {
  margin: 0;
  color: var(--price-gold);
  font-size: var(--price-fs-eyebrow);
  font-weight: var(--price-fw-label);
  letter-spacing: var(--price-ls-eyebrow);
}
.s-price-monthly-comparison__head h2 {
  margin: 0.55rem 0 0;
  color: var(--price-navy-deep);
  font-family: var(--price-font-serif);
  font-size: clamp(1.9rem, 3.5vw, 2.8rem);
  font-weight: var(--price-fw-display);
  letter-spacing: 0.035em;
  line-height: 1.3;
}
.s-price-monthly-comparison__head > p:last-child {
  margin: 0.75rem 0 0;
  color: var(--price-text-muted);
  font-size: var(--price-fs-section-lead);
  font-weight: var(--price-fw-body);
  line-height: var(--price-lh-section-lead);
}
.s-price-monthly-comparison__guide {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem clamp(0.9rem, 1.8vw, 1.45rem);
  margin: clamp(22px, 3vw, 32px) 0 0.85rem;
  color: rgba(23, 35, 61, 0.78);
  font-size: 0.78rem;
  font-weight: var(--price-fw-label);
  line-height: 1.45;
}
.s-price-monthly-comparison__guide p { display: flex; align-items: center; gap: 0.38rem; margin: 0; white-space: nowrap; }
.s-price-monthly-comparison__guide span {
  display: inline-grid;
  min-height: 1.42rem;
  padding: 0.14rem 0.4rem;
  place-items: center;
  border: 1px solid rgba(23, 49, 94, 0.25);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--price-navy);
  font-size: 0.68rem;
  line-height: 1.1;
}
.s-price-monthly-comparison__guide .s-price-monthly-comparison__guide-mark {
  width: 1.28rem;
  min-width: 1.28rem;
  height: 1.28rem;
  min-height: 1.28rem;
  padding: 0;
  border-radius: 50%;
  background: transparent;
  font-size: 0.9rem;
}
.s-price-monthly-comparison__guide .s-price-monthly-comparison__scroll-hint {
  margin-left: auto;
  color: var(--price-text-subtle);
  font-size: 0.7rem;
  font-weight: var(--price-fw-note);
}
.s-price-monthly-comparison__table-wrap {
  position: relative;
  overflow: auto;
  border: 1px solid rgba(173, 129, 57, 0.36);
  background: var(--price-table-surface);
  box-shadow: var(--price-table-shadow);
  -webkit-overflow-scrolling: touch;
}
.s-price-monthly-comparison__table-wrap:focus-visible { outline: 3px solid rgba(38, 61, 112, 0.3); outline-offset: 4px; }
.s-price-monthly-comparison__table { width: 100%; min-width: 900px; border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; }
.s-price-monthly-comparison__table th,
.s-price-monthly-comparison__table td {
  padding: 0.72rem;
  border-right: 1px solid var(--price-table-line);
  border-bottom: 1px solid var(--price-table-line);
  text-align: center;
  vertical-align: middle;
  line-height: var(--price-lh-table-cell);
}
.s-price-monthly-comparison__table th:last-child,
.s-price-monthly-comparison__table td:last-child { border-right: 0; }
.s-price-monthly-comparison__table thead th {
  position: sticky;
  top: 0;
  z-index: 5;
  min-width: 140px;
  color: #fff;
  background: var(--price-navy);
}
.s-price-monthly-comparison__table thead th.is-spot { color: var(--price-ink); background: #f7f0df; }
.s-price-monthly-comparison__service-head {
  position: sticky !important;
  left: 0;
  z-index: 7 !important;
  min-width: 235px !important;
  text-align: left !important;
  background: var(--price-navy-deep) !important;
  box-shadow: 8px 0 14px -14px rgba(12, 26, 54, 0.72);
}
.s-price-monthly-comparison__service-head > span { display: block; font-family: var(--price-font-serif); font-size: 1rem; font-weight: var(--price-fw-display); }
.s-price-monthly-comparison__service-head small { display: block; margin-top: 0.2rem; color: rgba(255, 255, 255, 0.62); font-size: 0.62rem; font-weight: var(--price-fw-note); }
.s-price-monthly-comparison__table thead strong { display: block; margin-top: 0.12rem; font-family: var(--price-font-serif); font-size: 1rem; font-weight: var(--price-fw-display); }
.s-price-monthly-comparison__table thead small { display: block; margin-top: 0.14rem; color: rgba(255, 255, 255, 0.7); font-size: 0.6rem; font-weight: var(--price-fw-note); line-height: 1.3; }
.s-price-monthly-comparison__table thead .is-spot small { color: rgba(23, 35, 61, 0.58); }
.s-price-monthly-comparison__spot-label { display: block; color: var(--price-gold); font-size: 0.6rem; font-weight: var(--price-fw-label); letter-spacing: 0.12em; }
.s-price-monthly-comparison__table tbody tr[data-price-row] > th {
  position: sticky;
  left: 0;
  z-index: 3;
  min-width: 235px;
  color: var(--price-ink);
  background: #fffefa;
  text-align: left;
  box-shadow: 8px 0 14px -16px rgba(12, 26, 54, 0.7);
  font-size: var(--price-fs-table-row-label);
  font-weight: var(--price-fw-label);
}
.s-price-monthly-comparison__table tbody td { min-width: 140px; color: var(--price-ink); background: #fff; font-size: var(--price-fs-table-cell); }
.s-price-monthly-comparison__table tbody tr.is-zebra > th,
.s-price-monthly-comparison__table tbody tr.is-zebra > td { background: var(--price-table-row-zebra); }
.s-price-monthly-comparison__table tbody tr[data-price-row] > td[data-price-col="3"] { background: var(--price-table-spot-surface); }
.s-price-monthly-comparison__table tbody tr.is-zebra > td[data-price-col="3"] { background: var(--price-table-spot-zebra); }
.s-price-monthly-comparison__category-row th {
  position: relative;
  z-index: 4;
  padding: 0.5rem 0.78rem;
  border-right: 0;
  color: var(--price-navy);
  background: #f4eee0;
  text-align: left;
  font-size: 0.7rem;
  font-weight: var(--price-fw-label);
  letter-spacing: 0.06em;
}
.s-price-monthly-comparison__category-icon { display: inline-grid; width: 1.08rem; height: 1.08rem; margin-right: 0.38rem; place-items: center; color: var(--price-gold); vertical-align: middle; }
.s-price-monthly-comparison__category-icon .tkg-icon { width: 0.92rem; height: 0.92rem; }
.s-price-monthly-comparison .p-price-mark { min-width: 1.38rem; min-height: 1.38rem; margin-inline: auto; color: var(--price-navy); font-size: 0.74rem; }
.s-price-monthly-comparison .p-price-mark--yes { border-width: 1px; background: transparent; }
.s-price-monthly-comparison .p-price-mark--consultOnly,
.s-price-monthly-comparison .p-price-mark--partialPaid {
  min-height: 1.45rem;
  padding: 0.16rem 0.42rem;
  border-color: rgba(23, 49, 94, 0.22);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.74);
  color: var(--price-ink);
  font-size: 0.66rem;
  font-weight: var(--price-fw-label);
  line-height: 1.2;
}
.s-price-monthly-comparison .p-price-value { color: var(--price-ink); font-size: 0.92rem; font-weight: var(--price-fw-price); }
.s-price-monthly-comparison .p-price-cell-note { font-size: 0.68rem; }
.s-price-monthly-comparison .p-price-table-link { color: var(--price-navy); }
.s-price-monthly-comparison__footnote { margin: 0.85rem 0 0; padding: 0.75rem 0 0; border-top: 1px solid rgba(173, 129, 57, 0.35); color: var(--price-text-muted); font-size: 0.72rem; line-height: 1.65; }
@media (max-width: 760px) {
  .s-price-monthly-comparison { padding: 56px 0 62px; }
  .s-price-monthly-comparison__head h2 { font-size: 1.9rem; }
  .s-price-monthly-comparison__head > p:last-child { margin-top: 0.6rem; font-size: 0.88rem; }
  .s-price-monthly-comparison__guide { display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); gap: 0.45rem 0.8rem; margin-top: 1.45rem; font-size: 0.71rem; }
  .s-price-monthly-comparison__guide .s-price-monthly-comparison__scroll-hint { grid-column: 1 / -1; margin: 0.1rem 0 0; }
  .s-price-monthly-comparison__table-wrap { max-height: min(70svh, 610px); margin-right: calc(50% - 50vw); border-right: 0; }
  .s-price-monthly-comparison__table { min-width: 720px; }
  .s-price-monthly-comparison__table th,
  .s-price-monthly-comparison__table td { padding: 0.64rem 0.56rem; }
  .s-price-monthly-comparison__table thead th { min-width: 110px; }
  .s-price-monthly-comparison__service-head,
  .s-price-monthly-comparison__table tbody tr[data-price-row] > th { min-width: 164px !important; max-width: 46vw; font-size: var(--price-fs-table-row-label-mobile); }
  .s-price-monthly-comparison__table thead strong { font-size: 0.88rem; }
  .s-price-monthly-comparison__table thead small { font-size: 0.55rem; }
  .s-price-monthly-comparison__table tbody td { min-width: 110px; font-size: var(--price-fs-table-cell-mobile); }
  .s-price-monthly-comparison__category-row th { padding: 0.46rem 0.65rem; }
  .s-price-monthly-comparison .p-price-value { font-size: 0.84rem; }
  .s-price-monthly-comparison__footnote { margin-top: 0.72rem; font-size: 0.68rem; }
}
@media (prefers-reduced-motion: reduce) {
  .s-price-monthly-comparison * { scroll-behavior: auto; }
}
