/* Competitor pricing pages (/compare/{rival}-pricing): extra pieces on top of vs.css, same editorial system. */
.pr-hero { position: relative; border-bottom: 1px solid var(--line); overflow: hidden; }
.pr-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(var(--line-2) 1px, transparent 1px), linear-gradient(90deg, var(--line-2) 1px, transparent 1px); background-size: 40px 40px; -webkit-mask-image: radial-gradient(at 20% 20%, #000 10%, transparent 65%); mask-image: radial-gradient(at 20% 20%, #000 10%, transparent 65%); opacity: .7; pointer-events: none; }
.pr-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 44px; padding-top: 34px; padding-bottom: 40px; align-items: start; }
.pr-crumbs { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-4); margin-bottom: 14px; }
.pr-crumbs a { color: var(--ink-3); text-decoration: none; } .pr-crumbs a:hover { color: var(--accent); }
.pr-hero .ed-h1 { font-size: 52px; }
.pr-lede { font-size: 17px; line-height: 1.55; color: var(--ink-2); margin: 6px 0 18px; max-width: 620px; text-wrap: pretty; }
.pr-lede b { color: var(--ink); }
.pr-stamp { display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-2); background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 6px 12px; }
.pr-stamp .live { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 3px var(--dem-tint); }
.pr-cta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
.pr-answer .big { font-size: 48px; }
.pr-answer .big small { font-size: .38em; letter-spacing: 0; color: #B7AC9E; margin-left: 4px; font-weight: 500; }
.pr-answer .dk-stats { margin: 16px 0 14px; }
.pr-answer .dk-stats b { font-size: 18px; }
.pr-answer .rf a { color: #F7A3B3; }
.pr-answer .ft2 { font-size: 13px; color: #B7AC9E; line-height: 1.5; }
.pr-answer .ft2 b { color: #fff; }
.pr .ed-tbl tbody tr { cursor: default; }
.pr .ed-tbl td.wrap { white-space: normal; min-width: 260px; line-height: 1.5; }
.pr .ed-tbl td.big { font-family: var(--mono); font-weight: 700; font-size: 14px; }
.pr .ed-tbl td.sub, .pr .ed-tbl small { color: var(--ink-3); font-size: 12px; }
.pr .ed-tbl tr.feat td.big { color: var(--accent); }
.pr .ed-tbl tr.bbrow td { background: #FFF8FA; }
.pr .ed-tbl tr.bbrow td:first-child b { color: var(--accent); }
.pr .ed-tbl tfoot td { background: var(--paper); font-size: 12.5px; color: var(--ink-3); white-space: normal; }
.pr-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.pr-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pr-fact { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; }
.pr-fact .k { font-family: var(--mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.pr-fact .v { font-size: 22px; font-weight: 800; letter-spacing: -.02em; margin: 6px 0 4px; color: var(--ink); }
.pr-fact p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--ink-2); }
.pr-fact.hl { background: var(--amber-bg); border-color: var(--amber-line); }
.pr-vs { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.pr-vs > .ed-tbl-wrap { align-self: start; }
.pr-vs .ed-mcard.dark .ed-btn { margin-top: 18px; align-self: flex-start; }
.pr-vs .ed-mcard.dark ul { margin: 14px 0 0; padding: 0 0 0 18px; color: #cbd5e1; font-size: 14.5px; line-height: 1.6; }
.pr-vs .ed-mcard.dark ul b { color: #fff; }
.pr-more { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.pr-more a { display: block; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; text-decoration: none; color: inherit; transition: border-color .15s, box-shadow .15s; }
.pr-more a:hover { border-color: var(--ink-4); box-shadow: 0 10px 24px -16px rgba(27,21,17,.25); }
.pr-more .k { font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-4); }
.pr-more b { display: block; font-size: 16px; margin: 6px 0 2px; }
.pr-more span { font-size: 13px; color: var(--ink-3); }
.pr-more a.on { border-color: var(--accent); background: var(--amber-bg); }
.pr-terms { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.pr-terms li { display: grid; grid-template-columns: 170px 1fr; gap: 16px; padding: 12px 18px; border-top: 1px solid var(--line-2); font-size: 14.5px; line-height: 1.5; color: var(--ink-2); }
.pr-terms li:first-child { border-top: 0; }
.pr-terms li b { color: var(--ink); font-size: 13px; font-family: var(--mono); letter-spacing: .06em; text-transform: uppercase; padding-top: 2px; }
#follow .ed-prep-body .ed-btn-dark { align-self: flex-start; }
@media (max-width: 1023px) {
  .pr-hero-grid, .pr-grid2, .pr-vs { grid-template-columns: minmax(0, 1fr); }
  .pr-hero .ed-h1 { font-size: 40px; }
  .pr-more { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .pr-hero-grid { padding-top: 22px; padding-bottom: 28px; gap: 24px; }
  .pr-hero .ed-h1 { font-size: 34px; }
  .pr-answer .big { font-size: 40px; }
  .pr-facts { grid-template-columns: minmax(0, 1fr); }
  .pr-more { grid-template-columns: minmax(0, 1fr); }
  .pr-terms li { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  /* phones: every price table stacks into one card per row, each value labelled from its column */
  .pr-stack thead { display: none; }
  .pr-stack, .pr-stack tbody, .pr-stack tfoot { display: block; }
  .pr-stack tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 12px; padding: 12px 14px; border-bottom: 1px solid var(--line-2); }
  .pr-stack tr.feat, .pr-stack tr.bbrow { background: var(--amber-bg); }
  .pr .pr-stack td { display: block; padding: 0; border: 0; white-space: normal; min-width: 0; text-align: left; background: none !important; }
  .pr .pr-stack td:first-child, .pr .pr-stack td.wrap, .pr .pr-stack td.full { grid-column: 1 / -1; }
  .pr .pr-stack td.wrap { min-width: 0; font-size: 13px; color: var(--ink-2); }
  .pr .pr-stack td[data-l]::before { content: attr(data-l); display: block; font: 500 9.5px/1.6 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-4); }
  .pr .pr-stack tfoot tr { display: block; }
  .pr .pr-stack tfoot td { background: var(--paper) !important; }
}
