/* Pricing preview: an editorial companion to the public landing page. */
.price-page { min-width: 0; }
.price-page a { text-underline-offset: 4px; }
.price-page a:focus-visible, .price-page summary:focus-visible { outline: 3px solid var(--sp-blue); outline-offset: 4px; }
.price-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .7fr); align-items: center; gap: clamp(36px, 7vw, 106px); padding: clamp(66px, 8vw, 112px) 0 clamp(78px, 9vw, 122px); }
body.sp-pricing .price-hero h1 { max-width: 780px; margin: 23px 0 22px; font-size: clamp(47px, 5.3vw, 79px); }
.price-hero h1 em { color: var(--sp-blue); font-style: normal; }
.price-lede { max-width: 640px; margin: 0; color: #4c5b5c; font-size: clamp(16px, 1.45vw, 19px); line-height: 1.68; }
.price-hero-foot { max-width: 550px; margin: 0; color: #657273; font-size: 11px; line-height: 1.5; }
.price-status { min-width: 0; border: 1px solid #3b4b50; background: var(--sp-nav); color: #f8f8f1; box-shadow: 13px 13px 0 #e1e8d5; }
.price-status-top { display: flex; align-items: center; gap: 8px; min-height: 43px; padding: 9px 21px; border-bottom: 1px solid #405057; color: #d0dad2; font: 700 9px ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .12em; }
.price-status-top > span:last-child { margin-left: auto; color: #83938e; }
.price-status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--sp-lime); box-shadow: 0 0 0 3px rgb(217 241 127 / 14%); }
.price-status-body { padding: clamp(25px, 3.8vw, 45px); }
.price-status-eyebrow { margin: 0 0 14px; color: var(--sp-lime); font: 700 10px ui-monospace, monospace; letter-spacing: .14em; }
.price-status-body > strong { display: block; font-size: clamp(31px, 3.5vw, 48px); font-weight: 650; line-height: 1.07; letter-spacing: -.055em; }
.price-status-body > p:not(.price-status-eyebrow) { max-width: 365px; margin: 18px 0 24px; color: #b9c7c0; font-size: 13px; line-height: 1.7; }
.price-status-row { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 13px 0; border-top: 1px solid #3c4b51; font-size: 11px; }
.price-status-row span { color: #b5c1bc; }
.price-status-row b { color: var(--sp-lime); font-size: 10px; font-weight: 700; text-align: right; }
.price-plans, .price-faq { padding: clamp(72px, 8.5vw, 118px) 0; border-top: 1px solid var(--sp-line-strong); scroll-margin-top: 84px; }
.price-section-heading { display: grid; grid-template-columns: 1fr .6fr; align-items: end; gap: 28px 60px; margin-bottom: 36px; }
.price-section-heading h2 { max-width: 700px; margin: 16px 0 0; }
.price-section-heading > p { max-width: 440px; margin: 0; color: #607072; font-size: 14px; line-height: 1.68; }
.price-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.price-plan { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 340px; padding: clamp(22px, 2.3vw, 32px); border: 1px solid var(--sp-line); background: var(--sp-surface); }
.price-plan-highlight { border-color: var(--sp-blue); box-shadow: inset 0 3px var(--sp-blue); }
.price-plan-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.price-plan-name { color: var(--sp-ink); font-size: 21px; font-weight: 750; letter-spacing: -.04em; }
.price-plan-badge { padding: 5px 7px; border: 1px solid #d8e2c0; background: #eef3df; color: #54702e; font: 700 9px ui-monospace, monospace; letter-spacing: .05em; white-space: nowrap; }
.price-plan-audience { min-height: 43px; max-width: 270px; margin: 16px 0 24px; color: #5d6d6e; font-size: 13px; line-height: 1.5; }
.price-plan-amount { display: flex; align-items: end; gap: 9px; margin: 0; }
.price-plan-amount strong { font-size: 54px; font-weight: 660; line-height: .9; letter-spacing: -.07em; }
.price-plan-amount span { padding-bottom: 5px; color: #647172; font-size: 12px; }
.price-plan-separator { height: 1px; margin: 26px 0 19px; background: var(--sp-line); }
.price-plan-description { min-height: 42px; margin: 0 0 16px; color: #536261; font-size: 12px; line-height: 1.6; }
.price-plan ul.price-plan-limits { flex-wrap: wrap; gap: 8px 15px; margin-bottom: 18px; font-size: 11px; }
.price-plan-limits li b { font-size: 15px; }
.paypal-subscribe-form { display: flex; align-items: center; justify-content: center; min-height: 48px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--sp-line); }
.paypal-subscribe-form input[type="image"]:disabled { opacity: .48; cursor: not-allowed; filter: grayscale(.2); }
.paypal-subscribe-form input[type="image"] { display: block; max-width: 100%; height: auto; border: 0; }
.price-plan-label { margin: 0 0 12px; color: #697878; font: 700 9px ui-monospace, monospace; letter-spacing: .13em; text-transform: uppercase; }
.price-plan ul { display: flex; align-items: baseline; gap: 22px; margin: 0; padding: 0; list-style: none; color: #4b5d59; font-size: 12px; }
.price-plan li { display: flex; align-items: baseline; gap: 5px; }
.price-plan li b { color: var(--sp-ink); font: 700 18px ui-monospace, monospace; letter-spacing: -.04em; }
.price-fineprint { max-width: 900px; margin: 19px 0 0; color: #6b7878; font-size: 11px; line-height: 1.65; }
.price-included { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(36px, 6vw, 92px); padding: clamp(47px, 6vw, 80px); background: #e8ecdf; }
.price-included-intro h2 { margin: 16px 0 17px; }
.price-included-intro > p:last-child { max-width: 470px; margin: 0; color: #536261; font-size: 14px; line-height: 1.68; }
.price-included-list { border-top: 1px solid #bcc7bb; }
.price-included-list > div { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 12px; min-height: 73px; border-bottom: 1px solid #bcc7bb; }
.price-included-list span { color: var(--sp-blue); font: 700 10px ui-monospace, monospace; }
.price-included-list p { margin: 0; color: var(--sp-ink); font-size: 15px; font-weight: 670; letter-spacing: -.02em; }
.price-trial { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: clamp(28px, 7vw, 95px); padding: clamp(54px, 8vw, 100px) clamp(38px, 6vw, 82px); background: var(--sp-nav); color: #f6f6ed; }
.price-trial .mkt-section-label { color: var(--sp-lime); }
body.sp-pricing .price-trial h2 { max-width: 680px; margin: 16px 0 18px; color: #f6f6ed; }
.price-trial > div:first-child > p:last-child { max-width: 650px; margin: 0; color: #b8c5c0; font-size: 14px; line-height: 1.72; }
.price-trial-note { width: min(280px, 100%); min-height: 244px; padding: 22px; border: 1px solid #708373; background: #24363c; }
.price-trial-note > span { display: inline-block; padding: 5px 7px; border: 1px solid #b0c780; color: var(--sp-lime); font: 700 9px ui-monospace, monospace; letter-spacing: .08em; }
.price-trial-note strong { display: block; margin: 14px 0 -12px; color: #f1f7dd; font-size: 89px; font-weight: 640; line-height: 1; letter-spacing: -.085em; }
.price-trial-note p { margin: 0; color: var(--sp-lime); font-size: 13px; font-weight: 700; }
.price-trial-note small { display: block; margin-top: 19px; color: #bccac4; font-size: 11px; line-height: 1.5; }
.price-faq { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(30px, 6vw, 90px); }
.price-faq-heading h2 { margin: 16px 0 15px; }
.price-faq-heading > p:last-child { max-width: 350px; margin: 0; color: #617072; font-size: 14px; line-height: 1.65; }
.price-faq .mkt-faq-list a { font-weight: 700; }
.price-cta { display: flex; align-items: end; justify-content: space-between; gap: 38px; padding: clamp(34px, 5vw, 64px); background: #e7eddb; }
.price-cta h2 { max-width: 700px; margin: 16px 0 15px; }
.price-cta > div:first-child > p:last-child { max-width: 620px; margin: 0; color: #536461; font-size: 14px; }
.price-cta-actions { display: flex; flex: 0 0 auto; align-items: flex-start; flex-direction: column; gap: 15px; }
.price-cta-actions .mkt-button-lime { background: var(--sp-nav); color: #fff; }
.price-cta-actions .mkt-button-lime:hover { background: #294048; color: #fff; }
.price-cta-actions > a:not(.mkt-button) { color: var(--sp-blue); font-size: 12px; font-weight: 750; }
.price-operator { max-width: 840px; margin: 20px 0 0; color: #758181; font-size: 11px; line-height: 1.6; }
.paypal-subscribe-form button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;padding:8px 0;cursor:pointer;min-height:48px}.paypal-subscribe-form button img{display:block;max-width:100%;height:auto}.paypal-subscribe-form button:disabled{opacity:.45;cursor:not-allowed}.paypal-subscribe-form button:focus-visible{outline:3px solid var(--sp-blue);outline-offset:4px}
@media (max-width: 1000px) {
  .price-hero { grid-template-columns: 1fr; }
  .price-hero-copy { max-width: 800px; }
  .price-status { max-width: 680px; }
  .price-included { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .price-hero { padding: 54px 0 68px; }
  body.sp-pricing .price-hero h1 { font-size: clamp(43px, 10vw, 64px); }
  .price-section-heading, .price-faq { grid-template-columns: 1fr; }
  .price-plan-grid { grid-template-columns: 1fr; }
  .price-plan { min-height: 0; }
  .price-plan-audience { min-height: 0; }
  .price-trial { grid-template-columns: 1fr; }
  .price-cta { flex-direction: column; align-items: stretch; }
  .price-cta-actions { flex-direction: row; align-items: center; flex-wrap: wrap; }
}
@media (max-width: 520px) {
  .price-hero .mkt-actions { align-items: stretch; }
  .price-status { box-shadow: 7px 7px 0 #e1e8d5; }
  .price-included, .price-trial { padding: 35px 23px; }
  .price-trial-note { width: 100%; }
  .price-cta-actions { align-items: stretch; flex-direction: column; }
}
