.prices-hero {
  padding: clamp(56px, 7vw, 106px) 0 clamp(52px, 6vw, 88px);
  background: #edf2ec;
  border-bottom: 1px solid var(--line);
}

.prices-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.62fr);
  gap: clamp(38px, 10vw, 150px);
  align-items: end;
}

.prices-hero .crumb {
  margin: 0 0 30px;
}

.prices-hero h1 {
  max-width: 700px;
  margin: 14px 0 0;
  font: 500 clamp(44px, 5.4vw, 78px) / 0.96 var(--display);
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.prices-intro {
  max-width: 35ch;
  margin: 0 0 5px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.75;
}

.prices-list-section {
  padding: clamp(66px, 9vw, 132px) 0;
}

.prices-list-layout {
  display: grid;
  grid-template-columns: minmax(220px, 0.64fr) minmax(0, 1.36fr);
  gap: clamp(44px, 9vw, 132px);
  align-items: start;
}

.prices-note {
  position: sticky;
  top: 106px;
}

.prices-note h2,
.price-group h2,
.prices-cta h2 {
  margin: 13px 0 0;
  font-family: var(--display);
  letter-spacing: -0.045em;
}

.prices-note h2 {
  max-width: 14ch;
  font-size: clamp(31px, 3.2vw, 44px);
  line-height: 1.02;
}

.prices-note > p:not(.eyebrow) {
  max-width: 30ch;
  margin: 21px 0 26px;
  color: var(--muted);
  line-height: 1.72;
}

.price-groups {
  border-top: 1px solid #bdc9bc;
}

.price-group {
  display: grid;
  grid-template-columns: minmax(180px, 0.67fr) minmax(0, 1.33fr);
  gap: clamp(32px, 6vw, 78px);
  padding: 31px 0 35px;
  border-bottom: 1px solid #bdc9bc;
}

.price-group h2 {
  font-size: clamp(27px, 2.6vw, 36px);
  line-height: 1.04;
}

.price-rows {
  margin: 0;
}

.price-rows > div {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  align-items: baseline;
  padding: 14px 0;
  border-bottom: 1px solid #e1e6df;
}

.price-rows > div:first-child {
  padding-top: 0;
}

.price-rows > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.price-rows dt {
  font-size: 16px;
  font-weight: 600;
}

.price-rows dd {
  flex: 0 0 auto;
  margin: 0;
  color: #55705b;
  font: 500 12px var(--mono);
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.prices-cta {
  padding: clamp(66px, 8vw, 110px) 0;
  background: var(--ink);
  color: var(--white);
}

.prices-cta .eyebrow {
  color: #a9bdab;
}

.prices-cta h2 {
  max-width: 19ch;
  font-size: clamp(37px, 4vw, 58px);
  line-height: 1;
}

.prices-cta .button {
  margin-top: 27px;
}

.prices-cta .button-light {
  color: var(--ink);
}

@media (max-width: 800px) {
  .prices-hero {
    padding: 42px 0 49px;
  }

  .prices-hero-layout,
  .prices-list-layout,
  .price-group {
    grid-template-columns: 1fr;
  }

  .prices-hero-layout {
    gap: 24px;
  }

  .prices-hero .crumb {
    margin-bottom: 24px;
  }

  .prices-hero h1 {
    font-size: clamp(40px, 10vw, 48px);
  }

  .prices-intro {
    margin: 0;
    font-size: 16px;
  }

  .prices-list-layout {
    gap: 42px;
  }

  .prices-note {
    position: static;
  }

  .price-group {
    gap: 19px;
    padding: 27px 0 30px;
  }

  .prices-note h2 {
    max-width: 16ch;
  }

  .prices-cta h2 {
    font-size: clamp(36px, 9vw, 43px);
  }
}
