.price-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  gap: clamp(1.5rem, 4vw, 4.1rem);
  align-items: center;
  padding-bottom: clamp(2rem, 5vw, 4.6rem);
}
.price-hero h1 { font-size: clamp(2.55rem, 1.75rem + 3.25vw, 4.65rem); }
.price-hero .lead { max-width: 39rem; }
.price-source { padding: clamp(1.25rem, 3vw, 2.15rem); background: #fbf2dc; border: 1px solid #ddca9e; border-radius: var(--radius); }
.price-source h2 { max-width: 28ch; font-size: clamp(1.6rem, 1.25rem + 1.1vw, 2.15rem); }
.price-source > p:not(.eyebrow) { margin-top: .8rem; color: #3e473f; }
.price-source dl { display: grid; gap: .6rem; margin-top: 1rem; }
.price-source dl > div { border-top: 1px solid #ddca9e; padding-top: .55rem; }
.price-source dd small { font-weight: 500; }
.price-layout { display: grid; grid-template-columns: 13rem minmax(0, 1fr); gap: clamp(1.5rem, 3.5vw, 3rem); align-items: start; }
.price-index { position: sticky; top: 1rem; padding: 1rem; background: var(--white); border: 1px solid var(--line); border-radius: .8rem; }
.price-index p { font-size: .8rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.price-index ul { display: grid; list-style: none; padding: 0; margin-top: .35rem; }
.price-index a { display: flex; align-items: center; min-height: 2.35rem; font-size: .91rem; }
.price-content { min-width: 0; }
.price-section { margin-bottom: 2rem; padding: clamp(1.1rem, 2.6vw, 2rem); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.price-section h2 { font-size: clamp(1.55rem, 1.25rem + 1.4vw, 2.5rem); }
.price-section h3 { margin-top: 1.6rem; }
.price-section p, .price-section ul { color: var(--muted); margin-top: .75rem; }
.price-section ul { padding-inline-start: 1.2rem; }
.price-section li + li { margin-top: .25rem; }
.price-section strong { color: var(--ink); }
.price-equipment { margin-top: 1.25rem; }
.price-equipment img { display: block; inline-size: 100%; block-size: auto; border-radius: .65rem; background: #e6e8df; }
.price-table-scroll { max-inline-size: 100%; overflow: auto; margin-block: .95rem; border: 1px solid var(--line); border-radius: .65rem; }
.price-table-scroll:focus-visible { outline: 3px solid #137f63; outline-offset: 4px; }
.price-table-scroll table { inline-size: 100%; border-collapse: separate; border-spacing: 0; text-align: left; font-size: .9rem; }
.price-table-scroll caption { padding: .55rem .8rem; color: var(--muted); background: #f7f8f4; text-align: left; font-size: .78rem; font-weight: 700; }
.price-table-scroll th, .price-table-scroll td { padding: .6rem .8rem; border-bottom: 1px solid var(--line); }
.price-table-scroll thead th { position: sticky; inset-block-start: 0; z-index: 1; background: #edf0e9; color: var(--ink); }
.price-table-scroll tbody th { font-weight: 650; }
.price-table-scroll tbody tr:nth-child(even) { background: #f7f8f4; }
.price-table-scroll tbody tr:last-child > * { border-bottom: 0; }
.price-table-scroll .amount { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.price-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .7fr); gap: 1.4rem 2.3rem; padding: clamp(1.2rem, 4vw, 2.75rem); margin-block: .5rem 3rem; border-radius: var(--radius); background: var(--ink); color: white; }
.price-contact .eyebrow, .price-contact p { color: #cbd4cc; }
.price-contact h2 { margin-bottom: .75rem; }
.price-contact a:focus-visible { outline-color: var(--accent); }
.price-contact .contact-email { margin-top: .7rem; }
.price-branches { padding: 0; list-style: none; align-self: center; }
.price-branches li { padding: .8rem 0; border-top: 1px solid #68756c; }
.price-branches a { display: inline-block; margin-bottom: .2rem; font-weight: 750; }
.price-branches span { display: block; color: #cbd4cc; }
@media (max-width: 58rem) {
  .price-layout { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .price-index { position: static; }
  .price-index ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .2rem .8rem; }
}
@media (max-width: 44rem) {
  .price-hero, .price-contact { grid-template-columns: minmax(0, 1fr); }
  .price-table-scroll th, .price-table-scroll td { padding: .55rem .65rem; }
  .terms-table-scroll th, .terms-table-scroll td { padding-inline: .45rem; }
}
@media (max-width: 26rem) {
  .price-section { padding-inline: .85rem; }
  .terms-table-scroll th, .terms-table-scroll td { padding-inline: .35rem; }
}
