/* Pricing shares the homepage's typography, navigation and footer. */
.pricing-page { background: #fbfbf8; }
.pricing-page .desktop-nav a[aria-current="page"]::after { transform: scaleX(1); background: #d3c820; height: 2px; }
.pricing-plans { position: relative; isolation: isolate; overflow: hidden; padding: calc(var(--header-height) + 44px) 0 64px; }
.pricing-atmosphere { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse 44% 22% at 0 28%, #d1ddc17a, transparent 90%), radial-gradient(ellipse 32% 25% at 100% 31%, #f4e49b75, transparent 90%), linear-gradient(#fafaf6, #fbfbf8); }
.pricing-atmosphere::after { content: ''; position: absolute; inset: 0; opacity: .055; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.87' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); }
.pricing-container { max-width: 1100px; }
.pricing-intro { text-align: center; margin: 0 auto 40px; }
.pricing-intro h1 { font: clamp(64px, 6.9vw, 96px)/.96 var(--serif); letter-spacing: -.03em; }
.pricing-intro h1 em { display: inline-block; padding-bottom: .12em; }
.pricing-intro > p { color: #53615a; font-size: clamp(15px, 1.5vw, 19px); line-height: 1.65; margin-top: 22px; }
.pricing-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.billing-toggle { display: flex; width: fit-content; margin: -12px auto 32px; padding: 5px; gap: 3px; border: 1px solid #cbd3be; border-radius: 40px; background: #eef1e5; }
.billing-toggle label { position: relative; cursor: pointer; }
.billing-toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.billing-toggle label > span { display: flex; align-items: center; gap: 8px; padding: 11px 18px; border-radius: 30px; font-size: 13px; font-weight: 600; transition: background .2s, color .2s; }
.billing-toggle input:checked + span { background: var(--forest); color: white; }
.billing-toggle input:focus-visible + span { outline: 3px solid #998900; outline-offset: 3px; }
.billing-toggle small { padding: 2px 7px; border-radius: 20px; background: #fff039; color: #073d32; font-size: 10px; }
.plan-billing-detail { font-size: 12px; margin-top: 7px; }
.pricing-page .plan-card { position: relative; border: 1px solid #acb698; border-radius: 20px; padding: 42px 38px 30px; }
.pricing-page .plan-starter { background: #ffffff70; }
.pricing-page .plan-heading { min-height: 96px; }
.pricing-page .plan-heading h2 { font: 54px/1 var(--serif); letter-spacing: -.02em; margin: 0 0 12px; }
.pricing-page .plan-heading > p { font-size: 15px; line-height: 1.5; color: #53615a; }
.pricing-page .plan-price-block { margin: 12px 0 25px; }
.pricing-page .plan-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; }
.pricing-page .plan-price > span:not(.plan-period):not(.sr-only) { font: 66px/1 var(--serif); letter-spacing: -.035em; }
.pricing-page .plan-price .plan-period { color: #5b695d; font-size: 14px; }
.pricing-page .plan-price s { font: 26px/1 var(--serif); text-decoration-thickness: 1px; text-decoration-color: #e9e0b5; margin-right: 6px; color: #e3e7d7; }
.pricing-page .plan-price-note { margin-top: 10px; color: #53615a; font-size: 14px; }
.pricing-page .plan-action { width: 100%; min-height: 51px; justify-content: center; font-size: 14px; gap: 15px; }
.pricing-page .plan-action .icon { width: 19px; }
.pricing-page .plan-features { padding: 0; margin: 24px 0 0; list-style: none; }
.pricing-page .plan-features li { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 10px 0; font-size: 13px; line-height: 1.6; }
.pricing-page .plan-features li + li { border-top: 1px solid #143d3010; }
.pricing-page .plan-features .icon { flex-shrink: 0; width: 23px; height: 23px; border-radius: 50%; padding: 5px; background: #e2e6cf; stroke-width: 2; }
.pricing-page .plan-pro { color: #f4f7eb; border-color: #073d32; background: radial-gradient(ellipse at 108% -3%, #b7c46e75, transparent 45%), radial-gradient(ellipse at 12% 90%, #195a4455, transparent 65%), #063f31; }
.pricing-page .plan-pro .plan-heading > p { color: #edf2e7; }
.pricing-page .plan-pro .plan-price .plan-period { color: #d1ddbd; }
.pricing-page .plan-pro .plan-price-note { color: #e2e4a9; }
.pricing-page .plan-pro .plan-features li + li { border-top-color: #edf2e71c; }
.pricing-page .plan-pro .plan-features .icon { color: #173d2d; }
.pricing-page .plan-offer { position: absolute; left: 38px; top: 17px; background: #e4e8bb; color: #153e2e; font-size: 10px; font-weight: 700; padding: 4px 12px; border-radius: 20px; line-height: 1.3; }
.pricing-guidance { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; margin-top: 32px; font-size: 14px; }
.pricing-guidance .text-link { gap: 9px; text-decoration: underline; text-underline-offset: 5px; }
.pricing-section-heading { margin-bottom: 34px; }
.pricing-section-heading .eyebrow { margin-bottom: 12px; }
.pricing-comparison { padding-top: 65px; padding-bottom: 25px; }
.pricing-table { width: 100%; border-collapse: collapse; text-align: left; table-layout: fixed; font-size: 14px; }
.pricing-table th, .pricing-table td { padding: 23px 18px; border-bottom: 1px solid #d6ddc8; overflow-wrap: break-word; }
.pricing-table th:first-child { width: 39%; padding-left: 0; }
.pricing-table td:last-child, .pricing-table th:last-child { padding-right: 0; }
.pricing-table thead { font-size: 16px; }
.pricing-table th { font-weight: 600; }
.pricing-table tbody th { font-weight: 400; }
.pricing-table td { color: #4c5b51; }
.pricing-faq { padding-block: 85px; }
.pricing-faq h2 { line-height: 1.03; }
.pricing-closing { padding-bottom: 85px; }
.pricing-closing-inner { padding: 42px; border-radius: 18px; background: radial-gradient(ellipse at 90% 25%, #e0e8bd80, transparent 60%), #eef1e4; display: grid; grid-template-columns: 1.2fr 1fr; gap: 34px; align-items: center; }
.pricing-closing h2 { font-size: clamp(35px, 3.9vw, 54px); line-height: 1.02; }
.pricing-closing .actions { flex-wrap: wrap; gap: 12px; }
.pricing-closing .button { font-size: 13px; padding-inline: 22px; }
.pricing-page .pricing-reveal-pending { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .85s cubic-bezier(.22, 1, .36, 1); }
.pricing-page .pricing-reveal-pending.is-visible { opacity: 1; transform: none; }
@media (max-width: 1100px) {
  .pricing-page .plan-card { padding-inline: 28px; }
  .pricing-page .plan-offer { left: 28px; }
  .pricing-closing-inner { grid-template-columns: 1fr; text-align: center; }
}
@media (max-width: 800px) {
  .pricing-plans { padding-top: calc(var(--header-height) + 34px); }
  .pricing-plan-grid { gap: 16px; }
  .pricing-page .plan-card { padding-inline: 23px; }
  .pricing-page .plan-offer { left: 23px; }
  .pricing-page .plan-features li { font-size: 12px; align-items: start; }
  .pricing-page .plan-heading > p, .pricing-page .plan-price-note { font-size: 13px; }
  .pricing-page .plan-heading { min-height: 115px; }
  .pricing-page .plan-price { gap: 8px; }
  .pricing-page .plan-price > span:not(.plan-period):not(.sr-only) { font-size: 57px; }
  .pricing-page .plan-price .plan-period { font-size: 12px; }
  .pricing-page .plan-price s { font-size: 22px; margin-right: 0; }
  .pricing-table { font-size: 12px; }
  .pricing-table thead { font-size: 14px; }
  .pricing-table th, .pricing-table td { padding: 20px 12px; }
  .pricing-faq { padding-block: 65px; }
  .pricing-closing { padding-bottom: 65px; }
}
@media (max-width: 600px) {
  .pricing-intro h1 { font-size: clamp(58px, 12.8vw, 76px); }
  .pricing-intro { margin-bottom: 35px; }
  .pricing-intro > p { max-width: 270px; margin: 19px auto 0; font-size: 14px; }
  .pricing-plan-grid { grid-template-columns: 1fr; gap: 22px; }
  .pricing-page .plan-card { padding: 40px 26px 25px; border-radius: 16px; }
  .pricing-page .plan-pro { padding-top: 53px; }
  .pricing-page .plan-offer { left: 26px; top: 19px; }
  .pricing-page .plan-heading { min-height: 94px; }
  .pricing-page .plan-heading h2 { font-size: 49px; }
  .pricing-page .plan-price-block { margin-top: 6px; }
  .pricing-page .plan-price > span:not(.plan-period):not(.sr-only) { font-size: 66px; }
  .pricing-page .plan-features li { font-size: 13px; align-items: center; }
  .pricing-guidance { max-width: 270px; margin-inline: auto; font-size: 13px; gap: 8px; }
  .pricing-plans { padding-bottom: 42px; }
  .pricing-comparison { padding-top: 42px; padding-bottom: 12px; }
  .pricing-section-heading { margin-bottom: 22px; }
  .pricing-table { font-size: 11px; }
  .pricing-table thead { font-size: 12px; }
  .pricing-table th, .pricing-table td { padding: 17px 8px; line-height: 1.6; }
  .pricing-table th:first-child { width: 40%; }
  .pricing-closing-inner { padding: 34px 22px; gap: 28px; }
  .pricing-closing h2 { font-size: 38px; }
  .pricing-closing .actions { flex-direction: column; width: 100%; }
  .pricing-closing .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .pricing-page .pricing-reveal-pending { opacity: 1; transform: none; transition: none; }
}

.savings-panel { padding: 44px; border: 1px solid #cbd3be; border-radius: 20px; background: #eef1e4; }
.savings-intro { margin-top: 20px; max-width: 540px; color: #53615a; line-height: 1.7; }
.savings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.savings-grid > div { padding: 24px 20px; border-top: 1px solid #acb698; }
.savings-grid p, .savings-grid label { font-size: 13px; line-height: 1.6; }
.savings-grid strong, .savings-input { display: block; margin: 16px 0; font: 56px/1.1 var(--serif); overflow-wrap: anywhere; }
.savings-input { display: flex; align-items: center; gap: 4px; }
.savings-input input { width: 100%; min-width: 0; border: 0; border-bottom: 1px solid #8a977c; background: transparent; color: inherit; font: inherit; border-radius: 0; }
.savings-input input:focus-visible { outline: 2px solid #073d32; outline-offset: 4px; }
.savings-grid .savings-result { background: #073d32; color: #f4f7eb; border-radius: 14px; }
.savings-assumptions { margin-top: 26px; max-width: 850px; color: #53615a; font-size: 12px; line-height: 1.8; }
@media (max-width: 800px) { .savings-panel { padding: 28px; } .savings-grid { grid-template-columns: 1fr; gap: 12px; } }
@media (max-width: 600px) { .savings-panel { padding: 24px 18px; } }
