/* Scoped presentation for the platform pricing presentation. */
.pricing { background: radial-gradient(ellipse at 8% 18%, #d5efec 0, transparent 64%), radial-gradient(ellipse at 95% 80%, #f3dce7 0, transparent 65%), linear-gradient(135deg, #e1f3f0, #f8e5ed); }
.pricing [data-pricing-description] { max-width: 920px; margin: 28px auto 42px; font: 500 clamp(28px, 3vw, 38px)/1.3 'Playfair Display', serif; letter-spacing: -.02em; text-wrap: balance; color: #315d61; }
@supports (background-clip: text) { .pricing [data-pricing-description] { background: linear-gradient(110deg, #286469 15%, #79516d 85%); background-clip: text; color: transparent; } }
@media (forced-colors: active) { .pricing [data-pricing-description] { background: none; color: CanvasText; } }
.pricing .price-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; width: 100%; max-width: 1280px; margin-inline: auto; align-items: stretch; padding-top: 14px; }
:is(.pricing .price-card,.admin-plan-badge,.tenant-card,.value-propositions,.setup-feature-timeline>li) { --plan-accent: #477851; --plan-wash: #edf5e9; }
.pricing .price-card { position: relative; min-width: 0; padding: 30px 26px 26px; border: 1px solid #dce5dc; border-radius: 22px; background: linear-gradient(155deg, var(--plan-wash), #fff 45%); box-shadow: 0 12px 32px #253e2d0a; transition: box-shadow .2s ease, border-color .2s ease; }
:is(.pricing .price-card,.plan-checkout,.admin-plan-badge,.tenant-card,.value-propositions,.setup-feature-timeline>li)[data-plan="studio"] { --plan-accent: #267c91; --plan-wash: #e8f3f7; }
:is(.pricing .price-card,.plan-checkout,.admin-plan-badge,.tenant-card,.value-propositions,.setup-feature-timeline>li)[data-plan="professional"] { --plan-accent: #ae4f38; --plan-wash: #fff0e5; }
:is(.pricing .price-card,.plan-checkout,.admin-plan-badge,.tenant-card,.value-propositions,.setup-feature-timeline>li)[data-plan="gallery"] { --plan-accent: #77529b; --plan-wash: #f2ebf8; }
.pricing .price-card.featured { transform: none; border: 2px solid var(--plan-accent); padding: 29px 25px 25px; box-shadow: 0 18px 45px #ad543313; }
.pricing .price-card:hover { border-color: var(--plan-accent); box-shadow: 0 18px 40px #253e2d14; }
.pricing .price-card > .popular { position: absolute; top: -15px; right: 24px; padding: 5px 13px; font-size: 11px; letter-spacing: .04em; background: var(--plan-accent); }
.pricing .price-card > * { position: relative; z-index: 1; }
.pricing .price-card > .plan-watermark { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; border-radius: inherit; container-type: inline-size; }
.pricing .plan-watermark .plan-art-icon { position: absolute; width: 247px; height: 247px; right: calc(5px - 25cqw); bottom: calc(12px + 20cqw); opacity: .13; margin: 0; transform: rotate(-9deg); }
.pricing .price-card h3 { text-align: center; font-size: 23px; letter-spacing: -.025em; margin: 0 0 15px; }
.pricing .price { display: flex; justify-content: center; align-items: baseline; gap: 2px; margin: 0 0 12px; font-size: clamp(42px, 4vw, 55px); line-height: 1.15; }
.pricing .price sup { font-size: 22px; align-self: flex-start; padding-top: 7px; }
.pricing .price small { font-size: 12px; margin-left: 3px; white-space: nowrap; }
.pricing .price-card > p:not(.price) { min-height: 88px; margin: 0 0 14px; font-size: 14px; line-height: 1.65; color: #59675f; }
.pricing .plan-highlights { display: grid; gap: 10px; list-style: none; padding: 0 0 24px; margin: 0 0 18px; border-top: 0; font-size: 13px; color: #394c40; }
.pricing .plan-highlights li { display: flex; gap: 9px; align-items: baseline; }
.pricing .plan-highlights li::before { content: "✓"; font-weight: 800; color: var(--plan-accent); }
.pricing .price-card .button { width: 100%; min-height: 48px; padding: 10px 12px; border-radius: 999px; font-size: 13px; line-height: 1.3; }
.pricing .price-card.featured .button { background: var(--plan-accent); }
.pricing .price-card .demo-link { margin-top: 15px; text-align: center; font-size: 12px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; color: var(--plan-accent); }
.pricing .button:focus-visible, .pricing .demo-link:focus-visible { outline: 3px solid var(--plan-accent); outline-offset: 4px; }
@media (min-width: 744px) and (max-width: 1100px) {
  .pricing { padding-inline: 24px; }
  .pricing .price-grid { gap: 12px; }
  .pricing .price-card { padding: 24px 12px 20px; border-radius: 16px; }
  .pricing .price-card.featured { padding: 23px 11px 19px; }
  .pricing .price-card h3 { font-size: clamp(17px, 2.1vw, 23px); }
  .pricing .price { font-size: clamp(32px, 4vw, 44px); gap: 1px; }
  .pricing .price sup { font-size: 16px; }
  .pricing .price small { font-size: 10px; margin-left: 1px; }
  .pricing .price-card > p:not(.price) { font-size: 13px; line-height: 1.5; }
  .pricing .plan-highlights { font-size: 12px; gap: 8px; }
  .pricing .plan-highlights li { gap: 5px; }
  .pricing .price-card .button { padding-inline: 6px; font-size: 12px; }
  .pricing .price-card > .popular { right: 8px; padding-inline: 8px; font-size: 10px; }
}
@media (max-width: 743px) { .pricing .price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 740px; gap: 28px; } }
@media (max-width: 580px) { .pricing .price-grid { grid-template-columns: minmax(0, 1fr); max-width: 390px; } .pricing .price-card > p:not(.price) { min-height: 0; } }
@media (prefers-reduced-motion: reduce) { .pricing .price-card { transition: none; } }
.pricing-switches{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:18px 36px;margin:24px auto}
.pricing-switch{position:relative;display:inline-flex;align-items:center;gap:10px;color:#314b3b;font-size:14px;font-weight:600;cursor:pointer}
.pricing-switch input{position:absolute;opacity:0;width:48px;height:28px;left:50%;margin:0}
.pricing-switch-track{position:relative;width:48px;height:28px;border:1px solid #819d88;border-radius:99px;background:#dbe7dc;flex-shrink:0}
.pricing-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #18362240;transition:transform .18s ease}
.pricing-switch input:checked+.pricing-switch-track{background:#356247;border-color:#356247}.pricing-switch input:checked+.pricing-switch-track::after{transform:translateX(20px)}
.pricing-switch input:focus-visible+.pricing-switch-track{outline:3px solid #356247;outline-offset:3px}
.pricing .pricing-unavailable{opacity:.45;pointer-events:none}.pricing [hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.pricing-switch-track::after{transition:none}}
.pricing .plan-features-link{display:flex;align-items:center;justify-content:center;min-height:44px;margin-top:auto;margin-bottom:8px;color:var(--plan-accent);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px;pointer-events:auto}
.pricing .plan-features-link:focus-visible{outline:3px solid var(--plan-accent);outline-offset:3px;border-radius:8px}
.pricing .plan-features-link+.button{margin-top:0}
