/* Homepage purchase choices: office editions and separate AI consumption. */
.sd-demo .pricing-section {
  padding: 106px 0 112px;
  background: #f6f7f8;
}
.sd-demo .pricing-section .section-heading { margin-bottom: 46px; }
.sd-demo .pricing-section .section-heading h2 {
  font-size: clamp(30px, 3.2vw, 46px);
  line-height: 1.3;
  letter-spacing: -.035em;
  margin-bottom: 14px;
}
.sd-demo .pricing-section .section-heading > p:last-child { color: #70777e; }
.sd-demo .pricing-section .section-heading > p > span { display: inline-block; }
.sd-demo .pricing-section .reveal { opacity: 1; transform: none; transition: none; }
.sd-demo .pricing-grid { gap: 20px; align-items: stretch; }
.sd-demo .pricing-section .pricing-card {
  min-width: 0;
  min-height: 0;
  padding: 30px;
  border: 1px solid #e2e6e8;
  border-radius: 24px;
  color: #20292c;
  background: #fff;
  box-shadow: 0 6px 24px #152d2410;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.sd-demo .pricing-section .pricing-card:hover {
  transform: translateY(-7px);
  border-color: #9fcdb4;
  box-shadow: 0 18px 38px #152d2420;
}
.sd-demo .pricing-section .pricing-card-points:hover { border-color: #aebfd2; }
.sd-demo .pricing-section .pricing-card:focus-within {
  border-color: #7eb998;
  box-shadow: 0 0 0 3px #1593691f, 0 15px 32px #152d2418;
}
.sd-demo .pricing-section .pricing-card-featured:hover { border-color: #8fc8a8; }
.sd-demo .pricing-section .pricing-card-featured {
  border-color: #b7d9c8;
  background: linear-gradient(155deg, #f3fbf7 0, #fff 55%);
}
@media (prefers-reduced-motion: reduce) {
  .sd-demo .pricing-section .pricing-card { transition: none; }
  .sd-demo .pricing-section .pricing-card:hover { transform: none; }
}
.sd-demo .pricing-section .pricing-card-points { background: #f0f4f8; border-color: #dce4ed; }
.sd-demo .pricing-section .pricing-label {
  color: #727c80;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: .03em;
}
.sd-demo .pricing-section .pricing-card h3 {
  margin: 10px 0 18px;
  font-size: 30px;
  line-height: 1.3;
  letter-spacing: -.025em;
}
.sd-demo .pricing-section .pricing-value {
  display: block;
  font-size: 27px;
  line-height: 1.5;
  letter-spacing: -.02em;
  font-weight: 650;
}
.sd-demo .pricing-value > span { font-size: 13px; font-weight: 400; color: #778087; letter-spacing: 0; }
.sd-demo .pricing-section .pricing-value-dynamic {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 10px;
  min-height: 48px;
  font-variant-numeric: tabular-nums;
}
.sd-demo .pricing-value-dynamic .pricing-sale {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  color: inherit;
  font-weight: 650;
}
.sd-demo .pricing-value-dynamic .pricing-currency { font-size: 22px; }
.sd-demo .pricing-value-dynamic .pricing-amount { font-size: 44px; line-height: 1.1; overflow-wrap: anywhere; }
.sd-demo .pricing-value-dynamic .pricing-unit { margin-left: 5px; font-size: 16px; font-weight: 400; white-space: nowrap; }
.sd-demo .pricing-value-dynamic .pricing-original { color: #858d91; font-size: 18px; font-weight: 400; white-space: nowrap; }
.sd-demo .pricing-section .pricing-card p {
  color: #717a80;
  font-size: 13px;
  line-height: 1.85;
  min-height: 0;
  margin: 9px 0 0;
}
.sd-demo .pricing-summary { min-height: 165px; }
.sd-demo .pricing-section .pricing-action {
  display: flex;
  justify-content: center;
  gap: 14px;
  min-height: 48px;
  padding: 10px 20px;
  margin-top: 18px;
  color: #283b34;
  border: 1px solid #b8c5be;
  border-radius: 100px;
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  transition: background .2s, border-color .2s, box-shadow .2s;
}
.sd-demo .pricing-section .pricing-action span { font-size: 18px; line-height: 1; }
.sd-demo .pricing-section .pricing-action:hover { background: #edf5f0; border-color: #6a9a80; }
.sd-demo .pricing-section .pricing-action:focus-visible { outline: 3px solid #1a916b; outline-offset: 4px; }
.sd-demo .pricing-card-featured .pricing-action {
  color: #fff;
  background: #13996a;
  border-color: #13996a;
}
.sd-demo .pricing-card-featured .pricing-action:hover { background: #0c8057; border-color: #0c8057; box-shadow: 0 4px 14px #13996a26; }
.sd-demo .pricing-card-points .pricing-action { background: #fff9; border-color: #bdc9d5; }
.sd-demo .pricing-features { margin-top: 26px; padding-top: 24px; border-top: 1px solid #e1e7e5; }
.sd-demo .pricing-features h4 { margin: 0 0 15px; font-size: 13px; font-weight: 600; line-height: 1.6; color: #3b464c; }
.sd-demo .pricing-features h4:not(:first-child) { margin-top: 22px; }
.sd-demo .pricing-section .pricing-feature-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 10px;
  row-gap: 13px;
  color: #677177;
  font-size: 13px;
  line-height: 1.55;
}
.sd-demo .pricing-section .pricing-feature-list li { position: relative; padding-left: 19px; }
.sd-demo .pricing-section .pricing-feature-list li::before {
  content: '';
  position: absolute;
  left: 2px;
  top: 5px;
  width: 6px;
  height: 10px;
  border: solid #159369;
  border-width: 0 1.6px 1.6px 0;
  transform: rotate(45deg);
  margin: 0;
}
.sd-demo .pricing-feature-wide { grid-column: 1 / -1; }
.sd-demo .pricing-section .pricing-note { padding-top: 25px; margin-top: auto; font-size: 12px; color: #818a90; }
.sd-demo .pricing-purchase-paths > div + div { margin-top: 28px; }
.sd-demo .pricing-purchase-paths h4 { font-size: 15px; margin-bottom: 6px; }
.sd-demo .pricing-section .pricing-purchase-paths p { margin: 0; font-size: 14px; }
@media (min-width: 901px) and (max-width: 1100px) {
  .sd-demo .pricing-grid { gap: 14px; }
  .sd-demo .pricing-section .pricing-card { padding: 25px 22px; }
  .sd-demo .pricing-section .pricing-feature-list { font-size: 12px; column-gap: 6px; }
}
@media (max-width: 900px) {
  .sd-demo .pricing-section { padding: 76px 0 80px; }
  .sd-demo .pricing-grid { max-width: 560px; margin: 0 auto; gap: 18px; }
  .sd-demo .pricing-summary { min-height: 0; }
  .sd-demo .pricing-section .pricing-card { padding: 28px; }
  .sd-demo .pricing-section .pricing-action { margin-top: 24px; }
  .sd-demo .pricing-section .pricing-note { margin-top: 25px; padding-top: 0; }
}
@media (max-width: 420px) {
  .sd-demo .pricing-section .section-heading { margin-bottom: 30px; }
  .sd-demo .pricing-section .section-heading h2 { font-size: 27px; letter-spacing: -.045em; }
  .sd-demo .pricing-section .section-heading > p:last-child { font-size: 13px; }
  .sd-demo .pricing-section .pricing-card { padding: 24px 21px; border-radius: 20px; }
  .sd-demo .pricing-section .pricing-card h3 { font-size: 28px; }
  .sd-demo .pricing-section .pricing-feature-list { font-size: 12px; column-gap: 8px; }
}
