.comparison-section{
  background:var(--ivory);
  color:var(--ink);
}
.comparison-inner{
  max-width:var(--page);
  margin:0 auto;
  padding:118px 24px 0;
}
.comparison-heading{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:80px;
  align-items:start;
  margin-bottom:54px;
}
.comparison-heading .section-no{margin:12px 0 0}
.comparison-heading h2{
  margin:0;
  font-family:var(--serif);
  font-size:var(--type-h2);
  font-weight:500;
  line-height:1.24;
  letter-spacing:-.03em;
}
.comparison-heading>p:last-child{
  grid-column:2;
  max-width:32em;
  margin:-46px 0 0;
  color:var(--ink-soft);
  font-size:var(--type-lead);
  line-height:1.85;
}
.comparison-swipe-cue{
  display:none;
  margin:0 0 12px;
  color:var(--gold-deep);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-align:center;
}
.comparison-swipe-cue span{padding:0 5px}
.comparison-table-wrap{
  overflow-x:auto;
  white-space:nowrap;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  scrollbar-color:var(--gold) var(--paper-2);
  scrollbar-width:thin;
  overscroll-behavior-inline:contain;
}
.comparison-table-wrap:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:5px;
}
.comparison-table{
  width:100%;
  white-space:normal;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  font-size:13px;
}
.comparison-table caption{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.comparison-table .comparison-key-col{width:18%}
.comparison-table th,
.comparison-table td{
  padding:22px 20px;
  border-right:1px solid rgba(7,20,38,.18);
  border-bottom:1px solid rgba(7,20,38,.18);
  vertical-align:middle;
  text-align:left;
}
.comparison-table tr>*:last-child{border-right:0}
.comparison-table tbody tr:last-child>*{border-bottom:0}
.comparison-table thead th{
  height:90px;
  background:var(--paper-2);
  color:var(--ink);
  font-size:13px;
  font-weight:900;
  line-height:1.45;
}
.comparison-table thead th:first-child,
.comparison-table tbody th{
  background:var(--ivory);
  color:var(--ink);
}
.comparison-table tbody th{
  font-size:12px;
  font-weight:800;
  line-height:1.6;
}
.comparison-table tbody th small{
  display:block;
  color:var(--gold-deep);
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
}
.comparison-table td{
  background:#fffdf8;
  text-align:center;
}
.comparison-table td strong,
.comparison-table td span{
  display:block;
}
.comparison-table td strong{
  margin-bottom:8px;
  color:var(--ink);
  font-size:15px;
  font-weight:900;
  line-height:1.35;
}
.comparison-table td .comparison-mark{
  margin:0;
  color:#263b57;
  font-family:var(--sans);
  font-size:34px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.08em;
}
.comparison-table td span{
  color:#536176;
  font-size:11px;
  font-weight:700;
  line-height:1.4;
}
.comparison-table thead th:nth-child(4),
.comparison-table tbody td:nth-child(4){
  background:#f8e8ee;
  color:var(--ink);
  border-color:rgba(176,68,104,.28);
}
.comparison-table thead th:nth-child(4){
  color:#8c264b;
  box-shadow:inset 0 4px 0 #c65f7f;
}
.comparison-table tbody td:nth-child(4) strong{color:#a12e59}
.comparison-table tbody td:nth-child(4) span{color:#5d3344;font-weight:750}
.comparison-cost-row th,
.comparison-cost-row td{padding-top:27px;padding-bottom:27px}
.comparison-cost-row td strong{margin:0;font-size:21px;letter-spacing:-.025em;text-align:center;white-space:nowrap}
.comparison-cost-row td strong>span{display:inline;color:inherit;font-size:inherit;font-weight:inherit}
.comparison-cost-row td:nth-child(4) strong{font-size:32px;line-height:1.08}
.comparison-conclusion{
  width:100%;
  margin-top:88px;
  padding:92px max(24px,calc((100vw - var(--page))/2));
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  align-items:end;
  background:var(--navy);
  color:#fff;
  border-top:1px solid var(--gold);
  border-bottom:1px solid var(--gold);
}
.comparison-conclusion>div>p{
  max-width:none;
  margin:0 0 34px;
  font-family:var(--serif);
  font-size:clamp(36px,4.3vw,62px);
  line-height:1.38;
  letter-spacing:-.045em;
}
.comparison-conclusion>div>strong{
  display:block;
  color:var(--gold);
  font-family:var(--serif);
  font-size:clamp(60px,7.2vw,106px);
  font-weight:500;
  line-height:1;
  letter-spacing:-.055em;
}
@media(max-width:760px){
  .comparison-inner{padding:78px 18px 0}
  .comparison-heading{display:block;margin-bottom:38px}
  .comparison-heading .section-no{margin:0 0 15px}
  .comparison-heading h2{font-size:40px;line-height:1.3}
  .comparison-heading>p:last-child{margin:24px 0 0;font-size:13px;line-height:1.9}
  .comparison-swipe-cue{display:none}
  .comparison-table-wrap{margin:0;overflow:visible;white-space:normal;border:1px solid rgba(7,20,38,.22)}
  .comparison-table{display:block;width:100%;min-width:0;font-size:12px}
  .comparison-table colgroup{display:none}
  .comparison-table thead,.comparison-table tbody{display:block}
  .comparison-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .comparison-table thead tr{border-bottom:1px solid rgba(7,20,38,.22)}
  .comparison-table thead th:first-child{display:none}
  .comparison-table thead th{height:auto;min-height:72px;padding:14px 7px;display:grid;place-items:center;border-bottom:0;font-size:11px;line-height:1.45;text-align:center}
  .comparison-table tbody tr+tr{border-top:1px solid rgba(7,20,38,.22)}
  .comparison-table tbody th{grid-column:1/-1;position:static;padding:11px 13px;background:#ebe4d8;box-shadow:none;border-right:0;border-bottom:1px solid rgba(7,20,38,.16);font-size:12px;line-height:1.45;text-align:left}
  .comparison-table tbody th br{display:none}
  .comparison-table td{min-width:0;padding:14px 5px;border-bottom:0}
  .comparison-table td .comparison-mark{font-size:31px}
  .comparison-table td span{font-size:11px;line-height:1.4}
  .comparison-cost-row th,.comparison-cost-row td{padding-top:12px;padding-bottom:12px}
  .comparison-cost-row td{display:grid;place-items:center}
  .comparison-cost-row td strong{max-width:100%;font-size:clamp(11px,3.1vw,13px);line-height:1.35;white-space:normal}
  .comparison-cost-row td:nth-child(4) strong{font-size:clamp(13px,3.8vw,16px)}
  .comparison-conclusion{margin-top:58px;padding:72px 22px;display:block}
  .comparison-conclusion>div>p{margin-bottom:24px;font-size:31px;line-height:1.5}
  .comparison-conclusion>div>strong{font-size:72px}
}
@media(max-width:360px){
  .comparison-table thead th{padding-inline:4px;font-size:10px}
  .comparison-table td{padding-inline:3px}
  .comparison-heading h2{font-size:36px}
  .comparison-conclusion>div>p{font-size:33px}
  .comparison-conclusion>div>strong{font-size:64px}
}
@media(prefers-reduced-motion:reduce){
  .comparison-table-wrap{scroll-behavior:auto}
}
