.plans-main{max-width:1060px;margin:auto;padding:0 32px 64px}
.plans-main h1{max-width:760px;font-size:clamp(32px,5vw,54px);line-height:1.15}
.plans-main .ax-lead,.plan-boundary p{max-width:72ch}
.plan-intro-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:22px}

.plan-pricing{border-top:1px solid var(--ax-rule);padding-block:38px}
.plan-pricing h2{font-size:29px;margin-bottom:14px}
.plan-reference-note{max-width:64ch;color:var(--ax-muted);font-size:15px;line-height:1.55;margin-bottom:20px}
.plan-status{min-height:1.5em;font-size:14px;color:var(--ax-muted);margin:0 0 14px}
.plan-status:empty{min-height:0;margin:0}

.plan-filters{display:flex;flex-wrap:wrap;align-items:end;gap:24px;margin:0 0 30px}
.plan-filters label{display:grid;gap:8px}
.plan-filters label>span{font-size:14px;font-weight:600}
.plan-filters select{min-height:44px;padding:8px 12px;border:1px solid var(--ax-rule);background:var(--ax-page);color:inherit;font:inherit}
.plan-filters select:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.plan-filters-apply{min-height:44px;font:inherit;padding-inline:18px}

.plan-price-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:26px}
.plan-price-card{border:1px solid var(--ax-rule);padding:26px 24px;display:grid;align-content:start;gap:10px}
.plan-price-card h3{font-size:22px;margin:0}
.plan-price-badge{margin:0;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ax-muted)}
.plan-price-amount{margin:0;font-size:15px;color:var(--ax-muted)}
.plan-price-amount strong{display:block;font-size:34px;line-height:1.15;color:var(--ax-ink,inherit)}
.plan-price-amount.plan-price-absent{font-size:22px;font-weight:600;color:inherit}
.plan-price-equivalent{margin:0;font-size:14px;color:var(--ax-muted)}
.plan-price-closed{margin:6px 0 0;font-size:15px;font-weight:600;color:var(--ax-muted)}
.plan-price-note{margin:0;font-size:13px;line-height:1.55;color:var(--ax-muted);max-width:44ch}
.plan-price-note:empty{display:none}
.plan-price-card .ax-button{justify-self:start;margin-top:6px;min-height:44px}

.plan-comparison-section{border-top:1px solid var(--ax-rule);padding-block:38px}
.plan-comparison-section h2{font-size:29px;margin-bottom:18px}
.plan-comparison-scroll{overflow-x:auto}
.plan-comparison-scroll:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.plan-comparison{width:100%;border-collapse:collapse;min-width:44rem}
.plan-comparison caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.plan-comparison th,.plan-comparison td{text-align:left;vertical-align:top;padding:18px 14px;border-bottom:1px solid var(--ax-rule);font-size:15px;line-height:1.55}
.plan-comparison thead th{border-bottom-width:2px}
.plan-comparison th{font-weight:600}
.plan-comparison tbody th{width:14rem}
.plan-column-label{display:block}
.plan-column-note{display:block;margin-top:6px;font-weight:400;font-size:13px;color:var(--ax-muted)}
.plan-comparison td.is-unavailable,.plan-comparison td.is-unknown{color:var(--ax-muted)}
.plan-comparison td.is-planned{color:var(--ax-muted);font-style:italic}

.plan-boundary{border-top:1px solid var(--ax-rule);padding-top:34px}
.plan-boundary h2{margin-top:30px;font-size:24px}
.plan-boundary h2:first-child{margin-top:0}

@media(max-width:600px){
 .plans-main{padding:0 20px 44px}
 .plan-comparison{font-size:14px;min-width:38rem}
 .plan-comparison th,.plan-comparison td{padding:12px 10px}
 .plan-comparison tbody th{width:10rem}
 .plan-price-card{padding:22px 18px}
 .plan-price-amount strong{font-size:29px}
}

/* Keep the introduction and its next actions in one aligned, compact section. */
.ax-public .plans-main>.ax-section{padding-inline:0}
.ax-public .plans-main>.ax-page-intro{padding-top:44px;padding-bottom:30px}
.ax-public .plans-main h1{font-size:clamp(32px,4vw,54px);line-height:1.3;max-width:22em}
.ax-public .plans-main .ax-page-intro>.ax-lead{margin-top:18px;font-size:18px;line-height:1.75;max-width:none}
.ax-public .plans-main .ax-availability-callout{margin-top:24px;background:transparent}
.ax-public .plans-main .ax-availability-statement{margin:0 0 14px;line-height:1.6}
.ax-public .plans-main .ax-availability-note{margin-top:12px}
@media(max-width:600px){
 .ax-public .plans-main>.ax-page-intro{padding-top:30px;padding-bottom:26px}
 .ax-public .plans-main .ax-page-intro>.ax-lead{margin-top:16px;font-size:16px;line-height:1.75}
 .ax-public .plans-main .ax-availability-callout{margin-top:20px}
 .ax-public .plans-main .ax-availability-actions{gap:12px 20px}
}

/* Keep row names in view while comparing columns on narrow screens. */
@media(max-width:600px){
 .plan-comparison{table-layout:fixed}
 .plan-comparison thead th:first-child,.plan-comparison tbody th{position:sticky;left:0;z-index:1;width:6.5rem;min-width:6.5rem;max-width:6.5rem;background:var(--ax-reading);border-right:1px solid var(--ax-rule);overflow-wrap:break-word}
 .plan-comparison thead th:not(:first-child),.plan-comparison td{width:10.5rem;overflow-wrap:break-word}
 .plan-comparison thead th:first-child{z-index:2}
}
