/* Shared volume pricing table + guide page layout */
.vp { max-width: 900px; min-width: 0; }
.vp-frame { border: 3px solid var(--ink); box-shadow: 8px 8px 0 var(--ink); background: var(--paper); max-width: calc(100% - 8px); overflow: hidden; }
.vp-table { width: 100%; border-collapse: collapse; table-layout: fixed; color: var(--ink); }
.vp-table thead th { background: var(--cream-2, var(--cream)); font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; text-align: left; padding: .9rem 1rem; border-bottom: 3px solid var(--ink); }
.vp-table th:last-child, .vp-table td:last-child { text-align: right; width: 9.5rem; }
.vp-table tbody th, .vp-table td { padding: .95rem 1rem; border-top: 2px dashed var(--line); vertical-align: top; overflow-wrap: anywhere; }
.vp-table tbody tr:first-child > * { border-top: 0; }
.vp-table tbody th { font-family: 'Archivo Black', sans-serif; font-weight: 400; text-transform: uppercase; letter-spacing: .03em; text-align: left; }
.vp-price { font-family: 'Anton', Impact, sans-serif; font-size: 1.5rem; line-height: 1; color: var(--red); }
.vp-call { font-family: inherit; font-family: system-ui, sans-serif; font-size: .82rem; color: var(--ink-2); opacity: .8; letter-spacing: .02em; }
.vp-note { margin: 1.75rem 0 .75rem; font-weight: 700; }
.vp-copy { margin: 0; }
.vp .vp-cta { margin-top: 1.75rem; }

@media (max-width: 640px) {
  .vp-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .vp-table, .vp-table tbody, .vp-table tr, .vp-table th, .vp-table td { display: block; width: auto !important; text-align: left !important; }
  .vp-table tbody tr { padding: 1rem; border-top: 2px dashed var(--line); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .35rem 1rem; }
  .vp-table tbody tr:first-child { border-top: 0; }
  .vp-table tbody th, .vp-table td { padding: 0; border: 0; }
  .vp-table tbody th { grid-column: 1; }
  .vp-price { grid-column: 2; grid-row: 1; text-align: right !important; }
  .vp-table td[data-label="What fits"] { grid-column: 1 / -1; color: var(--ink-2); }
  .vp-table td.vp-empty { display: none; }
  .vp-frame { box-shadow: 6px 6px 0 var(--ink); max-width: calc(100% - 6px); }
}
.price .amt .price-unapproved { font: 500 .9rem/1.5 Inter, sans-serif; color: var(--ink); opacity: .72; }
.service-item-block { margin-top: 2rem; }

/* Homepage-only compact layout; service and guide tables retain their layout. */
.home-load-pricing.section { padding: 3rem 0; }
.home-load-header { text-align: center; margin-bottom: 2rem; }
.home-load-header .eyebrow { background: var(--red); color: var(--paper); }
.home-load-header h2 { font-size: clamp(1.65rem, 3vw, 2.4rem); line-height: 1.08; margin: .9rem 0; }
.home-load-header p { max-width: 46rem; margin: 0 auto; }
.home-load-pricing .load-grid { align-items: stretch; gap: 2rem; }
.home-load-pricing .load-copy { order: 0; }
.home-load-pricing .load-photo { order: 1; position: relative; min-width: 0; }
.home-load-pricing .load-photo img { height: 100%; object-fit: cover; }
.home-load-pricing .load-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2rem; gap: 1rem; }
.home-load-pricing .load-steps li { font-size: .8rem; gap: .6rem; }
.home-load-pricing .load-steps .n { flex-shrink: 0; }
.home-load-pricing .load-facts { text-align: center; font-size: .9rem; margin-top: 1.25rem; }
.home-load-pricing .vp--compact { max-width: none; }
.vp--compact .vp-table { display: table; width: 100% !important; }
.vp--compact .vp-table thead { display: table-header-group; position: static; width: auto; height: auto; overflow: visible; clip: auto; }
.vp--compact .vp-table tbody { display: table-row-group; }
.vp--compact .vp-table tr { display: table-row; padding: 0; }
.vp--compact .vp-table th, .vp--compact .vp-table td { display: table-cell; padding: 12px; text-align: left !important; vertical-align: middle; }
.vp--compact .vp-table th:last-child, .vp--compact .vp-table td:last-child { width: 8rem !important; text-align: right !important; }
.vp--compact .vp-table tbody th { font-size: .8rem; line-height: 1.35; }
.vp--compact .vp-table tbody th, .vp--compact .vp-table tbody td { border-top: 1px solid var(--line); }
.vp--compact .vp-fits { display: block; font: 400 .78rem/1.4 Inter, sans-serif; text-transform: none; letter-spacing: 0; color: var(--ink-2); margin-top: .25rem; }
.vp--compact .vp-note { font-size: .8rem; margin: 1rem 0 .4rem; }
.vp--compact .vp-copy { font-size: .9rem; }
.vp--compact.vp .vp-cta { margin-top: .9rem; }
@media (min-width: 900px) {
  .home-load-pricing.section { padding: 3.5rem 0; }
  .home-load-pricing .load-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-load-pricing .load-photo { order: 0; margin-bottom: 8px; }
  .home-load-pricing .load-photo img { position: absolute; inset: 0; }
  .home-load-pricing .load-steps li { justify-content: center; font-size: .95rem; }
}
@media (max-width: 480px) {
  .home-load-pricing .load-steps { gap: .6rem; }
  .home-load-pricing .load-steps li { flex-direction: column; text-align: center; font-size: .67rem; }
}

.guide-intro-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; align-items: start; }
@media (min-width: 960px) { .guide-intro-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); } }
.guide-review-grid { grid-template-columns: minmax(0, 1fr) !important; max-width: 760px; }
.guide-page .service-steps p { font-size: 1.02rem; }
.guide-page .service-steps li { padding-top: 2.6rem; }
