.capitol-pricing {
  background: var(--capitol-bg);
}

.capitol-pricing__article {
  width: min(100%, 1920px);
  margin: 0 auto;
  padding: clamp(52px, 5.2vw, 100px) var(--capitol-primary-gutter) clamp(66px, 6vw, 116px);
}

.capitol-pricing__header,
.capitol-pricing__content {
  width: min(100%, 1080px);
}

.capitol-pricing__header h1 {
  margin: 0 0 52px;
  font-size: clamp(calc(38px * var(--capitol-font-scale)), calc(3.1vw * var(--capitol-font-scale)), calc(58px * var(--capitol-font-scale)));
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
}

.capitol-pricing__content {
  color: #000000;
  font-size: clamp(calc(16px * var(--capitol-font-scale)), calc(1.04vw * var(--capitol-font-scale)), calc(20px * var(--capitol-font-scale)));
  line-height: 1.28;
}

.capitol-pricing__content a {
  position: relative;
  display: inline-block;
  max-width: 100%;
  padding-bottom: 0.16em;
  color: inherit;
  font-weight: 700;
  overflow-wrap: anywhere;
  text-decoration: none;
  vertical-align: baseline;
}

.capitol-pricing__content a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50%;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 340ms cubic-bezier(0.22, 1, 0.36, 1);
}

.capitol-pricing__content a:is(:hover, :focus-visible)::after {
  transform: scaleX(1);
}

.capitol-pricing__intro {
  margin-bottom: 38px;
  font-size: clamp(calc(16px * var(--capitol-font-scale)), calc(1.04vw * var(--capitol-font-scale)), calc(20px * var(--capitol-font-scale)));
  line-height: 1.25;
}

.capitol-pricing__intro p {
  margin: 0 0 18px;
}

.capitol-pricing__section {
  margin-top: 44px;
}

.capitol-pricing__section h2 {
  position: relative;
  margin: 0 0 16px;
  padding-left: 24px;
  font-size: clamp(calc(28px * var(--capitol-font-scale)), calc(2.2vw * var(--capitol-font-scale)), calc(42px * var(--capitol-font-scale)));
  line-height: 1.05;
  font-weight: 700;
  text-transform: uppercase;
}

.capitol-pricing__section h2::before {
  content: "";
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--capitol-dot-gradient);
  transform: rotate(-8deg);
}

.capitol-pricing__section h2.capitol-pricing__season {
  padding-left: 0;
  font-size: clamp(calc(28px * var(--capitol-font-scale)), calc(2vw * var(--capitol-font-scale)), calc(38px * var(--capitol-font-scale)));
  text-transform: none;
}

.capitol-pricing__section h2.capitol-pricing__season::before {
  display: none;
}

.capitol-pricing__section h3 {
  margin: 22px 0 10px;
  font-size: clamp(calc(26px * var(--capitol-font-scale)), calc(1.88vw * var(--capitol-font-scale)), calc(36px * var(--capitol-font-scale)));
  line-height: 1.08;
  font-weight: 700;
}

.capitol-pricing__section p,
.capitol-pricing__section ul,
.capitol-pricing__section ol {
  margin-top: 0;
  margin-bottom: 14px;
}

.capitol-pricing__plain-list {
  padding: 0;
  list-style: none;
}

.capitol-pricing__plain-list li + li {
  margin-top: 2px;
}

.capitol-pricing__section ol {
  padding-left: 22px;
}

.capitol-pricing__price-group {
  margin-top: 22px;
}

.capitol-pricing__price-group table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.capitol-pricing__price-group th,
.capitol-pricing__price-group td {
  width: 38%;
  padding: 10px 0;
  border-bottom: 1px solid #8f8f8f;
  vertical-align: top;
  text-align: left;
  font-weight: 400;
}

.capitol-pricing__price-group th {
  width: 62%;
  padding-right: 38px;
}

.capitol-pricing__plans {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 58px);
  width: 100%;
  margin-top: clamp(58px, 6vw, 112px);
}

.capitol-pricing__plans figure {
  margin: 0;
  background: #ffffff;
}

.capitol-pricing__plans picture {
  display: block;
}

.capitol-pricing__plans img {
  width: 100%;
  height: auto;
}

body.a11y-contrast .capitol-pricing,
body.a11y-contrast .capitol-pricing__plans figure {
  background: #000000;
}

body.a11y-contrast .capitol-pricing__content {
  color: #ffffff;
}

body.a11y-contrast .capitol-pricing__price-group th,
body.a11y-contrast .capitol-pricing__price-group td {
  border-color: #ffffff;
}

@media (max-width: 1500px) {
  .capitol-pricing-page .site-header__primary-nav {
    display: none;
  }

  .capitol-pricing-page .site-header--inner {
    padding-bottom: 0;
  }
}

@media (max-width: 800px) {
  .capitol-pricing__article {
    padding-top: 38px;
  }

  .capitol-pricing__header h1 {
    margin-bottom: 36px;
  }

  .capitol-pricing__content {
    font-size: calc(16px * var(--capitol-font-scale));
  }

  .capitol-pricing__intro {
    font-size: calc(16px * var(--capitol-font-scale));
  }

  .capitol-pricing__section h2 {
    font-size: calc(24px * var(--capitol-font-scale));
    overflow-wrap: anywhere;
  }

  .capitol-pricing__section h3 {
    font-size: calc(26px * var(--capitol-font-scale));
  }

  .capitol-pricing__price-group table,
  .capitol-pricing__price-group tbody,
  .capitol-pricing__price-group tr,
  .capitol-pricing__price-group th,
  .capitol-pricing__price-group td {
    display: block;
    width: 100%;
  }

  .capitol-pricing__price-group th {
    padding-right: 0;
    padding-bottom: 4px;
    border-bottom: 0;
    font-weight: 700;
  }

  .capitol-pricing__price-group td {
    padding-top: 4px;
  }

  .capitol-pricing__plans {
    grid-template-columns: 1fr;
  }
}
