.prices-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, .75fr);
  gap: 100px;
  align-items: center;
  padding-block: 85px 65px;
}
.prices-intro h1 { font-size: clamp(3.1rem, 5.8vw, 5.8rem); }
.prices-intro .lead { max-width: 580px; }
.prices-welcome { max-width: 315px; margin-inline: auto; }
.prices-welcome > img { display: block; width: 80px; height: auto; margin-bottom: 22px; }
.prices-welcome-title { font: 1.85rem/1.25 var(--serif); color: var(--ink); margin-bottom: 18px; }
.prices-welcome > p:not(.prices-welcome-title) { font-size: .9375rem; }
.prices-index { padding-bottom: 12px; }
.prices-index nav { display: flex; flex-wrap: wrap; gap: 5px 35px; border-block: 1px solid var(--line); padding-block: 15px; }
.prices-index nav a { padding-block: 7px; text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--line); }
.prices-index nav a:hover { text-decoration-color: var(--rose); }
.prices-index > p { font-size: .8125rem; margin: 20px 0 0; }
.price-category { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.5fr); gap: 85px; padding-block: 70px; }
.price-category-intro h2 { font-size: clamp(2.4rem, 3.5vw, 3.4rem); }
.price-category-intro > p:not(.eyebrow) { font-size: .9375rem; max-width: 305px; }
.price-category-content { min-width: 0; }
.price-table { width: 100%; border-collapse: collapse; border-spacing: 0; text-align: left; }
.price-table thead th { color: var(--muted); font-size: .75rem; font-weight: 500; text-transform: uppercase; letter-spacing: .1em; padding: 0 0 16px; border-bottom: 1px solid var(--line); }
.price-table th:last-child, .price-table td { text-align: right; width: 125px; padding-left: 20px; }
.price-table tbody th, .price-table tbody td { padding-block: 22px; border-bottom: 1px solid var(--line); vertical-align: top; }
.price-table tbody th { font-size: 1rem; font-weight: 500; line-height: 1.6; padding-right: 10px; }
.price-table tbody th > a { text-decoration: none; }
.price-table tbody th > a:hover { color: var(--rose); text-decoration: underline; text-underline-offset: 5px; }
.price-detail { display: block; font-size: .8125rem; line-height: 1.7; font-weight: 400; color: var(--muted); margin-top: 5px; }
.price-amount { color: var(--rose); font: 1.5rem/1.3 var(--serif); font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.price-on-request { display: inline-block; color: var(--rose); font-size: .8125rem; line-height: 1.6; text-underline-offset: 4px; }
.price-note { margin-block: 24px; font-size: .8125rem; line-height: 1.8; }
.price-soft-section { background: linear-gradient(180deg, var(--paper), #faf4f6 12%, #faf4f6 88%, var(--paper)); }
.price-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.prices-journey { background: linear-gradient(180deg, var(--paper), #f1e6e9); }
.prices-journey-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: start; padding-block: 80px 85px; }
.prices-journey-grid h2 { font-size: clamp(2.5rem, 4vw, 4rem); }
.prices-contact { margin: 24px 0 0; font-size: .875rem; }
.prices-contact a { color: var(--rose); text-underline-offset: 4px; white-space: nowrap; }
@media (max-width: 1000px) {
  .prices-intro { gap: 55px; }
  .price-category { grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: 40px; }
}
@media (max-width: 750px) {
  .prices-intro { grid-template-columns: 1fr; gap: 24px; padding-block: 48px 38px; }
  .prices-intro h1 { font-size: clamp(3.1rem, 10vw, 4.5rem); }
  .prices-welcome { max-width: 100%; margin: 0; padding-top: 24px; border-top: 1px solid var(--line); }
  .prices-welcome > img { width: 58px; float: right; margin: 0 0 12px 18px; }
  .prices-welcome-title { font-size: 1.6rem; }
  .prices-welcome > p:not(.prices-welcome-title) { max-width: 440px; }
  .prices-index nav { gap: 2px 22px; }
  .prices-index nav a { font-size: .8125rem; }
  .price-category, .prices-journey-grid { grid-template-columns: 1fr; gap: 28px; padding-block: 48px; }
  .price-category-intro > p:not(.eyebrow) { max-width: 100%; }
  .price-category-intro .eyebrow { margin-bottom: 14px; }
  .price-category-intro h2 { margin-bottom: 18px; }
  .price-table tbody th { font-size: .9375rem; }
  .price-table tbody th, .price-table tbody td { padding-block: 19px; }
  .price-table th:last-child, .price-table td { width: 102px; padding-left: 12px; }
  .price-amount { font-size: 1.35rem; }
  .price-detail { font-size: .75rem; }
  .prices-journey-grid h2 { margin-bottom: 0; }
}
@media print {
  .prices-intro, .price-category, .prices-journey-grid { display: block; padding-block: 20px; }
  .prices-welcome, .prices-index, .prices-journey, header, footer, .price-category-content > .button { display: none; }
  .price-category-intro h2 { font-size: 24pt; }
  .price-category-intro br { display: none; }
  .price-table tr { break-inside: avoid; }
  .price-category-intro { break-after: avoid; }
}
