.row-pricing-intro { padding-bottom: 2.5rem; }
.site-main > .row-calculator {
  --free-end: 15%; --minimum-end: 51.1%; --enterprise-start: 99.99%; --progress: 57.5%;
  width: min(72rem, calc(100% - clamp(1.5rem, 4vw, 3rem))); margin: 0 auto 5rem; padding: 0;
}
/* The card each tab opens: the tabs sit on its top edge, and the selected one
   is cut from the same cloth so the two read as one surface. */
.rc-card {
  position: relative; padding: clamp(1.5rem, 3vw, 2.5rem);
  background: #fff; border: 1px solid var(--border); border-radius: 0 20px 20px 20px;
  box-shadow: 0 1px 2px rgba(23,21,31,.04), 0 24px 60px -36px rgba(23,21,31,.25);
}
.rc-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(18rem, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: stretch; }
.rc-eyebrow { margin: 0 0 .75rem; font-size: .8125rem; letter-spacing: .02em; text-transform: uppercase; color: var(--muted); display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }

/* the number */
.rc-field { display: flex; align-items: baseline; gap: .75rem; flex-wrap: wrap; }
.row-quota {
  box-sizing: content-box; width: 7ch; max-width: 100%; margin: 0; padding: .1em .35em;
  border: 1px solid var(--border); border-radius: 12px; background: var(--band); color: var(--text);
  font: inherit; font-size: clamp(2.25rem, 4.5vw, 3.75rem); line-height: 1.15; letter-spacing: -.045em; text-align: left;
  appearance: textfield; cursor: text; transition: border-color .15s, box-shadow .15s, background .15s;
}
.row-quota::-webkit-inner-spin-button, .row-quota::-webkit-outer-spin-button { appearance: none; margin: 0; }
.row-quota:hover { border-color: #C9BCE8; }
.row-quota:focus-visible { outline: none; border-color: var(--brand); background: #fff; box-shadow: 0 0 0 4px #653DE91A; }
.row-quota-unit { font-size: 1.0625rem; color: var(--muted); }

/* the slider: one tinted track for the tiers, a saturated copy clipped to the
   thumb's position, and the native range sitting transparently on top */
.row-slider-wrap { position: relative; margin: 2rem 0 0; padding: 14px 0 0; }
.rc-track { position: absolute; left: 12px; right: 12px; top: 20px; height: 8px; border-radius: 999px; overflow: hidden; display: flex; }
.rc-seg { display: block; height: 100%; }
.rc-seg-free { width: var(--free-end); background: #DCEFE3; }
.rc-seg-min { width: calc(var(--minimum-end) - var(--free-end)); background: #E6DEF8; }
.rc-seg-metered { flex: 1; background: #E9E7EF; }
.rc-seg-enterprise { width: calc(100% - var(--enterprise-start)); background: #D9D6E3; }
.rc-track-fill { clip-path: inset(0 calc(100% - var(--progress)) 0 0); }
.rc-track-fill .rc-seg-free { background: var(--up); }
.rc-track-fill .rc-seg-min { background: #9C7EE0; }
.rc-track-fill .rc-seg-metered { background: var(--brand); }
.rc-track-fill .rc-seg-enterprise { background: var(--text); }
.row-slider { position: relative; z-index: 1; display: block; width: 100%; height: 20px; margin: 0; appearance: none; background: transparent; cursor: pointer; }
.row-slider::-webkit-slider-runnable-track { height: 20px; background: transparent; }
.row-slider::-moz-range-track { height: 20px; background: transparent; }
.row-slider::-webkit-slider-thumb { appearance: none; width: 26px; height: 26px; margin-top: -3px; border: 3px solid #fff; border-radius: 50%; background: var(--brand); box-shadow: 0 1px 4px rgba(23,21,31,.25), 0 0 0 1px #653DE933; }
.row-slider::-moz-range-thumb { width: 20px; height: 20px; border: 3px solid #fff; border-radius: 50%; background: var(--brand); box-shadow: 0 1px 4px rgba(23,21,31,.25), 0 0 0 1px #653DE933; }
.row-slider:focus-visible { outline: none; }
.row-slider:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 5px #653DE933; }
.row-slider:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 5px #653DE933; }
.row-markers { position: relative; height: 1.6rem; margin: .35rem 12px 0; }
.row-markers button { position: absolute; transform: translateX(-50%); padding: .2rem .45rem; border: 0; border-radius: 6px; background: transparent; color: var(--muted); font: inherit; font-size: .8125rem; font-variant-numeric: tabular-nums; cursor: pointer; }
.row-markers button:hover { color: var(--brand); background: #F1ECFD; }
.row-markers button:focus-visible { outline: 2px solid var(--brand); outline-offset: 1px; }

/* legend */
.rc-legend { list-style: none; margin: 1.25rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; font-size: .8125rem; color: var(--muted); }
.rc-legend li { display: flex; align-items: center; gap: .45rem; }
.rc-legend b { font-weight: 600; color: var(--text-soft); }
.rc-swatch { width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }
.rc-swatch-free { background: var(--up); }
.rc-swatch-min { background: #9C7EE0; }
.rc-swatch-metered { background: var(--brand); }
.rc-swatch-enterprise { background: var(--text); }

/* the quote panel */
.rc-quote { display: flex; flex-direction: column; padding: clamp(1.25rem, 2.5vw, 1.75rem); border-radius: 16px; background: linear-gradient(180deg, #F7F4FE 0%, #FAF9FD 100%); border: 1px solid #E9E2F8; }
.rc-tier { display: inline-flex; align-items: center; padding: .15rem .55rem; border-radius: 999px; font-size: .6875rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.rc-tier[data-tier="free"] { background: #DCEFE3; color: #14664B; }
.rc-tier[data-tier="minimum"] { background: #E6DEF8; color: #4E2FBE; }
.rc-tier[data-tier="metered"] { background: #653DE9; color: #fff; }
.rc-tier[data-tier="enterprise"] { background: var(--text); color: #fff; }
.row-price-line { display: block; }
.row-price-line output { display: block; font-size: clamp(2.5rem, 4.5vw, 3.75rem); line-height: 1.05; letter-spacing: -.045em; color: var(--text); font-variant-numeric: tabular-nums; }
.row-unit-rate { margin: .45rem 0 0; min-height: 1.4em; font-size: .9375rem; color: var(--muted); }
.rc-includes { list-style: none; margin: 1.25rem 0 0; padding: 1.1rem 0 0; border-top: 1px solid #E9E2F8; font-size: .9375rem; line-height: 1.5; color: var(--text-soft); }
.rc-includes li { position: relative; padding-left: 1.5rem; margin: 0 0 .5rem; }
.rc-includes li::before { content: ""; position: absolute; left: 0; top: .42em; width: .85em; height: .85em; border-radius: 50%; background: #DCEFE3; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='black'/%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-4.9' stroke='white' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='black'/%3E%3Cpath d='M4.5 8.2l2.3 2.3 4.7-4.9' stroke='white' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; background: var(--up); }
.rc-cta { margin-top: auto; align-self: flex-start; padding-top: 1.25rem; }
.rc-quote .rc-cta { margin-top: 1.5rem; padding: .8em 1.5em; }

/* the footnote */
.rc-foot { margin: 1.5rem 0 0; padding: 1rem 1.25rem; border-radius: 12px; background: var(--band); font-size: .9375rem; line-height: 1.6; color: var(--text-soft); }
.rc-foot strong { color: var(--text); }

@media (max-width: 820px) {
  .rc-grid { grid-template-columns: 1fr; }
  .rc-quote .rc-cta { align-self: stretch; text-align: center; justify-content: center; }
}
@media (max-width: 650px) {
  .rc-legend { gap: .35rem .9rem; }
}
@media (prefers-reduced-motion: reduce) { .row-quota { transition: none; } }

/* ---------- product tabs ---------- */
.rc-tabs { display: flex; align-items: flex-end; gap: .35rem; margin: 0; padding: 0 0 0 0; width: fit-content; max-width: 100%; position: relative; z-index: 1; }
.rc-tabs button { display: grid; grid-template-columns: auto 1fr; column-gap: .65rem; align-items: center; text-align: left; padding: .75rem 1.25rem .85rem .9rem; margin-bottom: -1px; border: 1px solid var(--border); border-bottom: 0; border-radius: 16px 16px 0 0; background: var(--band); color: var(--text-soft); font: inherit; cursor: pointer; transition: background .15s, color .15s, transform .15s; }
.rc-tabs button .sku-icon { grid-row: span 2; }
.rc-tabs button > span { display: flex; align-items: center; gap: .45rem; font-size: .9375rem; font-weight: 600; color: var(--text); line-height: 1.2; }
.rc-tabs button > span .available-badge, .rc-tabs button > span .enterprise-only-badge { font-style: normal; font-weight: 400; }
.rc-tabs button > small { font-size: .75rem; color: var(--muted); line-height: 1.2; }
.rc-tabs button:hover { background: #FCFBFE; }
.rc-tabs button[aria-selected="false"] { transform: translateY(4px); opacity: .85; }
.rc-tabs button[aria-selected="true"] { background: #fff; }
/* Close the seam: the selected tab paints over the card's top border. */
.rc-tabs button[aria-selected="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #fff; }
.rc-tabs button { position: relative; }
.rc-tabs button:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }
.rc-benchmark { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(16rem, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.rc-benchmark-copy h2 { font-size: clamp(1.75rem, 2.8vw, 2.5rem); font-weight: 400; line-height: 1.18; letter-spacing: -.035em; margin: .25rem 0 1rem; }
.rc-benchmark-copy p:not(.rc-eyebrow) { color: var(--text-soft); font-size: 1.0625rem; line-height: 1.6; margin: 0 0 .9rem; max-width: 56ch; }
.rc-benchmark-copy .intro-actions { margin-top: 1.5rem; }
.rc-benchmark-facts { list-style: none; margin: 0; padding: clamp(1.25rem, 2.5vw, 1.75rem); border-radius: 16px; background: linear-gradient(180deg, #F7F4FE 0%, #FAF9FD 100%); border: 1px solid #E9E2F8; display: grid; gap: .9rem; }
.rc-benchmark-facts li { display: flex; align-items: flex-start; gap: .85rem; padding-bottom: .9rem; border-bottom: 1px solid #E9E2F8; }
.rc-fact-icon { display: grid; place-items: center; flex: none; width: 2.1rem; height: 2.1rem; border-radius: 10px; background: #fff; border: 1px solid #E9E2F8; color: var(--brand); }
.rc-fact-icon .icon { width: 1.05rem; height: 1.05rem; }
.rc-benchmark-facts li:last-child { padding-bottom: 0; border-bottom: 0; }
.rc-benchmark-facts b { display: block; font-weight: 600; font-size: .9375rem; }
.rc-benchmark-facts span { font-size: .875rem; color: var(--text-soft); line-height: 1.5; }
@media (max-width: 820px) { .rc-benchmark { grid-template-columns: 1fr; } .rc-tabs { width: 100%; } .rc-tabs button { flex: 1; padding: .65rem .75rem .75rem .65rem; } .rc-tabs button > small { display: none; } }
@media (max-width: 650px) { .rc-card { padding: 1.25rem; border-radius: 0 16px 16px 16px; } }
.rc-eyebrow a { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }
