/* A dedicated comparison page in the existing Indigo palette. */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.pricing-section { padding: 54px 0 64px; }
.pricing-shell { max-width: 1220px; }
.pricing-heading { text-align: center; max-width: 850px; margin-inline: auto; }
.pricing-heading .eyebrow { justify-content: center; font-size: .875rem; margin-bottom: 20px; color: var(--blue); }
.pricing-heading h1 { font-size: clamp(2.5rem,4.4vw,4.15rem); line-height: 1.12; letter-spacing: -.06em; }
.pricing-heading h1 span { color: var(--blue); }
.pricing-intro { max-width: 720px; margin: 22px auto 0; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.billing-controls { margin-top: 25px; }
.billing-controls[hidden] { display: none; }
.billing-switch-row { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 12px; width: fit-content; max-width: 100%; margin-inline: auto; }
.billing-option { color: var(--muted); font-size: .9375rem; font-weight: 500; transition: color .2s; }
.billing-option.is-selected { color: var(--ink); }
.billing-switch { position: relative; display: inline-grid; place-items: center; min-width: 60px; min-height: 44px; padding: 0; border: 0; border-radius: 24px; background: transparent; }
.switch-track { display: block; width: 54px; height: 30px; padding: 4px; border-radius: 20px; background: var(--blue); transition: background .25s; }
.switch-thumb { display: block; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px #18253D33; transition: transform .3s var(--ease); }
.billing-switch[aria-checked="true"] .switch-track { background: var(--ink); }
.billing-switch[aria-checked="true"] .switch-thumb { transform: translateX(24px); background: var(--ice); }
.billing-saving { font-size: .8125rem; color: var(--ink); background: var(--ice); padding: 7px 11px; border-radius: 7px; line-height: 1.4; }
.billing-status { max-width: 720px; margin: 12px auto 0; min-height: 3.1em; text-align: center; font-size: .875rem; line-height: 1.55; color: var(--muted); }
.billing-particles { position: absolute; inset: 0; pointer-events: none; z-index: 3; }
.billing-particle { position: absolute; display: block; width: 6px; height: 6px; border-radius: 50%; }
.pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: var(--card-gap); margin-top: 40px; padding: 0; }
.plan-card { position: relative; padding: 27px 27px 0; }
.plan-badge { display:inline-flex; align-items:center; min-height:28px; border:1px solid #6FBAFF50; border-radius:30px; padding:4px 10px; font-size:.8125rem; line-height:1.4; background:#438DE51C; color:#C6E1FF; font-weight:500; }
.plan-top { display:flex; justify-content:space-between; align-items:center; gap:14px; min-height:48px; margin-bottom:25px; }
.plan-top .plan-tag { margin-bottom:0; }
.plan-heading { text-align:center; min-height:155px; }
.plan-badge-slot { min-height:38px; display:flex; align-items:center; justify-content:center; }
.plan-tag { color: var(--blue); font-size: .8125rem; line-height: 1.5; margin-bottom: 14px; }
.plan-card h2 { font-size: clamp(1.5rem,2.1vw,1.9rem); line-height: 1.2; letter-spacing: -.045em; overflow-wrap: anywhere; }
.plan-intro { font-size: .9375rem; line-height: 1.65; color: #C6D5E8; margin-top: 13px; }

.plan-featured .plan-intro,.plan-featured .plan-billing,.plan-featured .plan-note,.plan-featured .plan-price-label { color: #C6D5E8; }
.plan-price-block { padding: 21px 0; }
.plan-price-label { font-size: .8125rem; color: var(--muted); margin-bottom: 6px; }
.plan-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 8px; line-height: 1.15; }
.price-number { display: inline-block; font-size: clamp(2.45rem,3.8vw,3.4rem); line-height: 1.2; font-weight: 500; letter-spacing: -.065em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.price-unit { font-size: .875rem; white-space: nowrap; color: #C6D5E8; }
.plan-featured .price-unit { color: #C6D5E8; }
.plan-billing { min-height: 3.2em; font-size: .8125rem; line-height: 1.6; color: #C6D5E8; margin-top: 10px; }
.plan-features { list-style: none; padding: 21px 0 25px; border-top: 1px solid #74B9FF26; margin: 0; display: grid; align-content: start; gap: 13px; flex: 1; }
.plan-features li { display: flex; align-items: start; gap: 10px; font-size: .9375rem; line-height: 1.6; }
.plan-check { flex: 0 0 17px; color: var(--card-accent); font-weight: 600; }


.plan-bottom { padding:21px 23px 25px; margin:0 -27px; border-top:1px solid #74B9FF26; background:#09182D73; }
.plan-button { display:flex; align-items:center; justify-content:space-between; width:100%; margin:0; padding:9px 10px 9px 18px; min-height:56px; gap:12px; border-radius:32px; border:1px solid #FFFFFF1C; background:#FFFFFF0F; color:#F4F8FF; font-size:.9375rem; font-weight:500; line-height:1.45; transition:background .25s,box-shadow .25s; }
.plan-button>span:first-child { overflow-wrap:anywhere; }
.plan-button .inline-arrow { width:34px; height:34px; flex:0 0 34px; border-radius:50%; background:var(--card-accent); color:#10213F; }
.plan-button::before { display:none; }
.plan-note { margin-top: 17px; min-height: 3.2em; font-size: .8125rem; line-height: 1.6; color: #C6D5E8; }
.pricing-terms { max-width: 940px; margin: 34px auto 0; text-align: center; font-size: .875rem; color: var(--muted); line-height: 1.8; }
.pricing-custom { background: var(--ice); border-radius: 24px 24px 0 0; padding: 55px 0; }
.pricing-custom-inner { display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.pricing-custom h2 { font-size: clamp(1.75rem,2.8vw,2.5rem); line-height: 1.2; letter-spacing: -.045em; max-width: 700px; }
.pricing-custom p { font-size: 1rem; margin-top: 14px; max-width: 620px; }
.pricing-custom .button { flex-shrink: 0; margin-top: 0; }

/* Equal-size, separated cards. Entrance never closes the horizontal gaps. */
.motion-ready .pricing-grid [data-price-card] { transition:opacity .6s ease var(--delay),transform .7s var(--ease) var(--delay),translate .3s var(--ease),box-shadow .3s; }
.motion-ready .pricing-grid [data-price-card].is-visible { transform:none; }
.motion-ready .pricing-grid [data-price-card].reveal-pending { opacity:0; transform:translateY(24px); }
@media(hover:hover) and (pointer:fine) {
 .plan-button:hover { background:#FFFFFF1B; color:#fff; box-shadow:0 0 0 3px #74B9FF20; }
}
@media(max-width: 1150px) {

  .plan-heading { min-height: 190px; }
}
@media(max-width: 980px) {
  .pricing-grid { grid-template-columns: 1fr; max-width: 620px; padding: 0; gap: var(--card-gap); margin-inline: auto; margin-top: 32px; }

  .plan-heading { min-height: 0; }
  .plan-card h2 { font-size: 2rem; }
  .plan-price-block { padding: 22px 0; }
  .price-number { font-size: 3.25rem; }
  .plan-billing,.plan-note { min-height: 0; }
  .pricing-custom-inner { flex-direction: column; align-items: start; }
}
@media(max-width: 520px) {
  .pricing-section { padding-top: 35px; padding-bottom: 40px; }
  .pricing-heading h1 { font-size: clamp(2.2rem,8.4vw,2.8rem); }
  .pricing-heading .eyebrow { font-size: .8125rem; }
  .billing-saving { width: 100%; text-align: center; margin-top: 5px; }
  .billing-switch-row { max-width: 290px; }
  .billing-status { min-height: 4.65em; }
  .plan-card { padding: 24px 23px 0; }
  .plan-bottom { margin-inline:-23px; }
  .plan-card h2 { font-size: 1.85rem; }
  .plan-tag { font-size: .875rem; }
  .plan-price { gap: 4px 10px; }
  .price-number { font-size: 3rem; }
  .pricing-custom { padding: 38px 0; }
  .pricing-custom .button { max-width: 100%; gap: 15px; }
  .pricing-terms { text-align: left; margin-top: 25px; }
}
.motion-paused .pricing-grid [data-price-card] { opacity: 1; transform: none; transition: none; }
.motion-paused .billing-particles { display: none; }
@media(prefers-reduced-motion: reduce) {
  .pricing-grid [data-price-card] { opacity: 1!important; transform: none!important; transition: none!important; }
  .billing-particles { display: none; }
}

.plan-card .plan-tag,.plan-card .plan-price-label { color:#C6D5E8; font-size:.875rem; }
