.pricing-page { background: #fff; }
.pricing-hero { background: var(--ink); color: #fff; }
.pricing-hero__grid { min-height: 520px; display: grid; grid-template-columns: 1fr .9fr; gap: 7vw; align-items: center; padding-block: 60px; }
.pricing-hero h1 { max-width: 660px; margin: 0; font: 700 clamp(3rem, 5.5vw, 5.4rem)/1.05 var(--display); letter-spacing: -.055em; }
.pricing-hero h1 em { color: var(--lime); font-style: normal; }
.pricing-hero p:not(.eyebrow) { max-width: 590px; margin: 23px 0 27px; color: #d7ddd2; font-size: 1rem; }
.pricing-hero figure { height: 395px; margin: 0; overflow: hidden; border-radius: 20px; }
.pricing-hero img { width: 100%; height: 100%; object-fit: cover; object-position: center 80%; }
.pricing-page .pricing { background: #eef1e9; }
.pricing-page .section-heading--center > p:last-child { max-width: 660px; margin: 15px auto 0; color: var(--muted); }
.pricing-details { padding: 100px 0; }
.pricing-details__grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 85px; align-items: center; }
.pricing-details h2, .pricing-questions h2, .pricing-faq h2 { margin: 0; font: 700 clamp(2.3rem, 4vw, 3.7rem)/1.1 var(--display); letter-spacing: -.045em; }
.pricing-details p:not(.eyebrow), .pricing-questions p:not(.eyebrow) { color: var(--muted); }
.pricing-details__links { display: flex; flex-wrap: wrap; gap: 12px 26px; margin-top: 20px; }
.pricing-details__links a { color: var(--burgundy); font-size: .82rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.pricing-details figure { height: 455px; margin: 0; overflow: hidden; border-radius: 20px; }
.pricing-details img { width: 100%; height: 100%; object-fit: cover; }
.pricing-questions { padding: 95px 0; background: #f6f7f3; }
.pricing-questions__grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 90px; }
.pricing-questions .button { margin-top: 17px; }
.pricing-questions__list { border-top: 1px solid var(--line); }
.pricing-questions__list > div { padding: 18px 0; border-bottom: 1px solid var(--line); }
.pricing-questions__list strong { font-size: 1rem; }
.pricing-questions__list p { margin: 6px 0 0; font-size: .86rem; }
.pricing-faq { padding: 95px 0; }
.pricing-faq__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; }
.pricing-faq details { padding: 20px 0; border-bottom: 1px solid var(--line); }
.pricing-faq details:first-child { border-top: 1px solid var(--line); }
.pricing-faq summary { font-size: .95rem; font-weight: 700; cursor: pointer; }
.pricing-faq details p { margin: 13px 0 0; color: var(--muted); font-size: .86rem; }
@media (max-width: 820px) {
  .pricing-hero__grid, .pricing-details__grid, .pricing-questions__grid, .pricing-faq__grid { grid-template-columns: 1fr; gap: 35px; }
  .pricing-hero__grid { padding-block: 65px; }
  .pricing-hero figure { height: 350px; }
  .pricing-details, .pricing-questions, .pricing-faq { padding: 75px 0; }
  .pricing-details figure { height: 360px; }
}
@media (max-width: 600px) {
  .pricing-hero__grid { padding-block: 45px; }
  .pricing-hero h1 { font-size: clamp(2.8rem, 12vw, 4rem); }
  .pricing-hero figure { height: 250px; }
  .pricing-details, .pricing-questions, .pricing-faq { padding: 60px 0; }
  .pricing-details figure { height: 260px; }
}
