/* Upright payment tiles give the plans a shared product identity. */
body.landing #pricing { background: #f0f4fc; padding: 72px 0 56px; }
#pricing .pricing-sheet { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.landing #pricing .pricing-grid { gap: 20px; }
body.landing #pricing .plan-card { padding: 28px 24px 24px; border: 1px solid #dce4f2; border-radius: 18px; background: #fff; box-shadow: 0 2px 3px #17243d03, 0 12px 26px -20px #24437c4d; }
body.landing #pricing .plan-card-featured { border: 2px solid #315cff; padding: 27px 23px 23px; background: #fbfcff; box-shadow: 0 0 0 4px #315cff0b, 0 16px 32px -24px #1d49ff80; }
#pricing .plan-summary { position: relative; padding-top: 2px; }
#pricing .plan-art { position: absolute; width: 62px; height: 64px; right: 0; top: 0; pointer-events: none; }
#pricing .plan-art-back { position: absolute; inset: 1px 5px 11px 5px; border: 1px solid #b7c9ef; border-radius: 14px; background: #e7efff; transform: rotate(12deg) translate(3px,-2px); }
#pricing .plan-art-face { position: absolute; inset: 7px 7px 4px 0; display: grid; place-items: center; border: 1px solid #fff9; border-radius: 14px; background: linear-gradient(145deg,#628aff 0%,#2351ff 55%,#1740dc 100%); box-shadow: inset 0 1px 1px #fff8, 0 3px 0 #c4d2f4, 0 9px 12px -7px #2454df75; transform: rotate(-5deg); transition: transform 220ms cubic-bezier(.2,.7,.2,1); }
#pricing .plan-art svg { width: 29px; height: 29px; fill: none; stroke: #fff; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
#pricing .plan-card-featured .plan-art-face { background: linear-gradient(145deg,#4277ff,#1d49ff 55%,#1437d0); }
#pricing .plan-position { min-height: 36px; margin: 0 68px 8px 0; }
#pricing .plan-audience, #pricing .plan-recommendation { font-size: 12px; line-height: 1.4; }
#pricing .plan-recommendation { background: none; padding: 0; color: #1d49ff; font-weight: 550; }
#pricing .plan-intro h3 { font-size: 25px; margin: 0 64px 20px 0; }
#pricing .plan-intro p { min-height: 42px; font-size: 13px; line-height: 1.6; color: #5c6980; }
#pricing .plan-rate { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 8px; margin-top: 24px; padding-bottom: 2px; }
#pricing .plan-price { margin: 0; gap: 5px; }
#pricing .plan-price strong { font-size: 26px; font-weight: 550; }
#pricing .plan-price > span { font-size: 14px; }
#pricing .plan-period { margin: 0; font-size: 12px; white-space: nowrap; }
#pricing .plan-limits { order: 1; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 8px; padding: 20px 14px; margin: 24px 0 0; border: 1px solid #e8edf7; border-radius: 12px; background: #f7f9fe; }
#pricing .plan-card-featured .plan-limits { background: #eef3ff; border-color: #dce6ff; }
#pricing .plan-limits > div { display: flex; flex-direction: column; align-items: start; gap: 4px; }
#pricing .plan-limits > div:first-child { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 0; padding: 0 0 12px; border-bottom: 1px solid #e0e7f4; }
#pricing .plan-limits > div:first-child dd { font-size: 21px; }
#pricing .plan-limits dd { font-size: 15px; font-weight: 550; color: #234cce; }
#pricing .plan-limits dt { font-size: 12px; }
#pricing .plan-included { order: 2; margin-top: 20px; font-size: 12px; font-weight: 500; }
#pricing .plan-features { order: 3; margin-top: 12px; margin-bottom: 28px; min-height: 80px; gap: 10px; align-content: start; font-size: 12px; }
#pricing .plan-base-note { display: none; }
#pricing .plan-select { order: 4; margin-top: auto; min-height: 46px; border-radius: 9px; color: #1d49ff; background: #eef3ff; border: 1px solid #dbe5ff; font-size: 12px; font-weight: 550; }
#pricing .plan-card-featured .plan-select { color: #fff; background: #1d49ff; border-color: #1d49ff; box-shadow: inset 0 1px #ffffff38, 0 5px 12px -8px #1d49ff; }
#pricing .plan-select > span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 6px; background: #fff9; font-size: 16px; }
#pricing .plan-card-featured .plan-select > span { background: #ffffff24; }
#pricing .pricing-common { background: transparent; border: 0; margin-top: 28px; padding: 12px 2px; }
#pricing .pricing-common h3 { font-size: 12px; }
#pricing .pricing-assurance { margin-top: 8px; }
@media(hover:hover) and (pointer:fine) {
  #pricing .plan-select:hover { background: #e2ebff; color: #1d49ff; }
  #pricing .plan-card-featured .plan-select:hover { background: #173dd4; color: #fff; }
}
@media(max-width:1100px) and (min-width:701px) {
  body.landing #pricing .plan-card { border: 1px solid #dce4f2; }
  body.landing #pricing .plan-card-featured { border: 2px solid #315cff; }
}
@media(max-width:700px) {
  body.landing #pricing { padding: 48px 0; }
  #pricing .pricing-sheet { background: #fff; border: 1px solid #d9e2f4; border-radius: 18px; box-shadow: 0 12px 30px -24px #36549666; }
  #pricing .phone-plan-selector { padding: 8px; gap: 2px; border-bottom: 1px solid #e8edf7; }
  #pricing .phone-plan-selector button { min-height: 44px; border: 0; border-radius: 9px; padding: 8px 3px; }
  #pricing .phone-plan-selector button[aria-pressed="true"] { background: #eef3ff; box-shadow: inset 0 0 0 1px #d8e3ff; }
  #pricing .phone-plan-selector strong { font-size: 12px; }
  body.landing #pricing .plan-card, body.landing #pricing .plan-card-featured { padding: 22px 20px; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
  #pricing .plan-summary { display: block; padding-top: 2px; }
  #pricing .plan-art { width: 66px; height: 68px; right: 1px; }
  #pricing .plan-position { min-height: 20px; margin: 0 78px 7px 0; }
  #pricing .plan-audience, #pricing .plan-recommendation { font-size: 12px; }
  #pricing .plan-intro { display: block; }
  #pricing .plan-intro h3 { margin: 0 78px 18px 0; font-size: 25px; }
  #pricing .plan-intro p { min-height: 42px; margin: 0; font-size: 14px; max-width: none; }
  #pricing .plan-rate { margin-top: 16px; gap: 8px; }
  #pricing .plan-price strong { font-size: 24px; }
  #pricing .plan-period { font-size: 12px; }
  #pricing .plan-limits { padding: 14px; margin-top: 18px; }
  #pricing .plan-limits > div:not(:first-child) { flex-direction: row; align-items: baseline; gap: 6px; }
  #pricing .plan-limits dt { font-size: 12px; }
  #pricing .plan-included { margin-top: 18px; font-size: 12px; }
  #pricing .plan-features { min-height: 0; margin-bottom: 0; font-size: 12px; }
  #pricing .plan-select { margin-top: 20px; min-height: 48px; color: #fff; background: #1d49ff; border-color: #1d49ff; font-size: 14px; }
  #pricing .plan-select > span { background: #ffffff24; }
  #pricing .pricing-common { margin: 0; padding: 20px; background: #f7f9fe; border-top: 1px solid #e4ebf7; border-radius: 0 0 18px 18px; }
  #pricing .pricing-assurance { margin-top: 16px; }
}
@media(prefers-reduced-motion:reduce) {
  #pricing .plan-art-face { transition: none; }
}

/* The card lifts as a unit; only its decorative tile follows the pointer. */
@media(hover:hover) and (pointer:fine) and (min-width:701px) and (prefers-reduced-motion:no-preference) {
  #pricing .plan-card { transition: translate 220ms cubic-bezier(.2,.7,.2,1); }
  #pricing .plan-card::after { content: ''; position: absolute; inset: -1px; border-radius: inherit; box-shadow: 0 16px 32px -16px #244dc94d, 0 0 0 1px #7293f766; opacity: 0; pointer-events: none; transition: opacity 220ms ease-out; }
  #pricing .plan-card.is-pointer-active { translate: 0 -5px; }
  #pricing .plan-card.is-pointer-active::after { opacity: 1; }
  #pricing .plan-art { transition: transform 180ms cubic-bezier(.2,.7,.2,1); }
  #pricing .plan-art-face { overflow: hidden; }
  #pricing .plan-art-face::after { content: ''; position: absolute; inset: -40%; pointer-events: none; background: linear-gradient(110deg,transparent 35%,#ffffff70 49%,transparent 63%); transform: translateX(-90%); opacity: 0; }
  #pricing .is-pointer-active .plan-art-face { transform: rotate(0deg) scale(1.04); }
  body.landing #pricing .is-pointer-active .plan-art-face::after { animation: plan-tile-shine 650ms ease-out both !important; }
  #pricing .plan-art-back { transition: transform 220ms cubic-bezier(.2,.7,.2,1); }
  #pricing .is-pointer-active .plan-art-back { transform: rotate(18deg) translate(5px,-4px); }
}
@keyframes plan-tile-shine {
  0% { transform: translateX(-90%); opacity: 0; }
  18% { opacity: .8; }
  100% { transform: translateX(90%); opacity: 0; }
}
